1.
Pengertian:
a.
Class dapat
dianalogikan sebagai sebuah template, sebuah struktur yang meliputi method dan
property. Pada sebuah class, property yang mendeskripsikan object merupakan
variabel dan method yang merupakan aksi dari object adalah function. Property
dan method yang didefinisikan pada class disebut dengan members.
b.
Atribut karakteristik yang dimiliki
object, atribut menampilkan propertis dari komponen yang sedang aktif.
c.
Method adalah sesuatu
yang dapat dilakukan oleh objek. Method dalam implementasi program ditulis
dalam bentuk fungsi. Misalkan pada kelas binatang dideklarasikan method bersuara.
Maka untuk setiap objek pada kelas binatang bisa bersuara.
2.
Object adalah
membungkus data dan fungsi menjadi suatu unit dalam sebuah program komputer. Objek
merupakan dasar dari modularitas dan
struktur
dalam sebuah program komputer berorientasi objek.
3.
Cara membuat
object
public class Time
{
// private variables atau field
private int year;
private int month;
private int date;
private int hour;
private int minute;
private int second;
// public methods
public void DisplayCurrentTime()
{
Console.WriteLine("Menampilkan Waktu..");
}
}
class Program
{
static void Main(string[] args)
{
Time timeObject = new Time(); //membuat instan class
timeObject.DisplayCurrentTime(); //memanggil
method dalam class
}
25: }
4.
Konstruktor
adalah methode yang namanya sama dengan nama class-nya. Konstruktor digunakan
untuk inisialisasi variabel ketika membuat instan class / objek baru.
Sebenarnya setiap kali kita membuat instant class / objek baru maka konstruktor
dijalankan. Jika kita tidak mendefinisikan konstruktor secara eksplisit maka
tetap dianggap membuat konstruktor kosong.
5.
Pengertian:
a.
Private adalah
anggota publik dari kelas dasar dan dapat diakses oleh anggota yang kelas
dasar,anggota kelas turunan serta anggota yang berada di luar kelas dasar dan
kelas turunan.
b.
Protected
adalah anggota dilindungi dari kelas dasar dapat diakses oleh anggota kelas
dasarserta anggota kelas turunan.
c.
Public adalah
variabel dapat di akses pada semua kelas yang menggunakan kelas yang berisi
variabel tersebut.
6.
Karakteristik
oop dan contohnya
a.
Inheritance
Mengatur polimorfisme dan enkapsulasi dengan mengizinkan objek didefinisikan
dan diciptakan dengan jenis khusus dari objek yang sudah ada. Objek-objek ini
dapat membagi dan memperluas perilaku mereka tanpa harus mengimplementasi ulang
perilaku tersebut (bahasa berbasis objek
tidak selalu memiliki inheritas.)
Contoh programnya:
public class Window
{
//objek
konstruktor
public
Window(int top, int
left)
{
this.top
= top;
this.left
= left;
}
// simulasi
menggambar pada windows
public void DrawWindow()
{
Console.WriteLine("Drawing Window at {0}, {1}",
top, left);
}
//variabel
didefinisikan private sehingga
//tidak dapat
digunakan pada kelas turunannya
private
int top;
private
int left;
}
// ListBox
diturunkan dari class Window
public class ListBox : Window
{
//
menambahkan parameter pada konstruktor
public
ListBox(int top, int
left, string theContents) :
base(top,
left) // call base constructor
{
mListBoxContents = theContents;
}
// new
version (new keyword) karena
// pada
method di kelas turunan dirubah isinya
public new void DrawWindow()
{
base.DrawWindow();
// memanggil dari base class
Console.WriteLine("Writing string to the listbox: {0}",
mListBoxContents);
}
private
string mListBoxContents; // member variabel baru
}
public class Tester
{
static void Main()
{
{
//
membuat instan class baru
Window
w = new Window(5,
10);
w.DrawWindow();
//
membuat instan dari class turunan
ListBox
lb = new ListBox(20,
30, "Hello world");
lb.DrawWindow();
}
Console.ReadKey();
b.
Polymorphism melalui
pengiriman pesan tidak bergantung kepada pemanggilan subrutin, bahasa orientasi
objek dapat mengirim pesan, metode tertentu yang berhubungan dengan sebuah
pengiriman pesan tergantung kepada objek tertentu di mana pesan tersebut
dikirim. misalnya jika seekor burung menerima pesan gerak cepat, dia akan
menggerakan sayapnya dan terbang. Bila seekor singa menerima pesan yang sama,
dia akan menggerakkan kakinya dan berlari. Keduanya menjawab sebuah pesan yang
sama, namun yang sesuai dengan kemampuan hewan tersebut. Ini disebut
polimorfisme karena sebuah variabel tungal dalam program dapat memegang
berbagai jenis objek yang berbeda selagi program berjalan, dan teks program
yang sama dapat memanggil beberapa metode yang berbeda di saat yang berbeda
dalam pemanggilan yang sama. Hal ini berlawanan dengan bahasa fungsional
yang mencapai polimorfisme melalui penggunaan fungsi kelas-pertama.
Contoh programnya:
public class Window
{
//deklarasi
konstruktor dengan dua parameter
public
Window(int top, int
left)
{
this.top
= top;
this.left
= left;
}
//method
untuk draw window
public virtual void
DrawWindow()
{
Console.WriteLine("Window: drawing Window at {0}, {1}",
top, left);
}
//member
variabel dideklarasikan protected
//berarti
dapat diakses dari class turunannya
protected
int top;
protected
int left;
} // end Window
// class ListBox
diturunkan dari class Window
public class ListBox : Window
{
//konstruktor
yang menmanggil konstruktor dari base class nya
public
ListBox(int top, int
left, string contents)
: base(top,
left)
{
listBoxContents = contents;
}
//method yang
di override dari base class-nya
//karena
mempunyai implementasi yang berbeda
public override void
DrawWindow()
{
base.DrawWindow();
// invoke the base method
Console.WriteLine("Writing string to the listbox: {0}",
listBoxContents);
}
private
string listBoxContents; // member variabel baru
} // end ListBox
public class Button : Window
{
public
Button(int top, int
left)
: base(top,
left)
{ }
// an
overridden version (note keyword) because in the
// derived
method we change the behavior
public override void
DrawWindow()
{
Console.WriteLine("Drawing a button at {0}, {1}\n", top,
left);
}
}
public class Tester
{
static void Main()
{
Window
win = new Window(1,
2);
ListBox
lb = new ListBox(3,
4, "Stand alone list box");
Button
b = new Button(5,
6);
win.DrawWindow();
lb.DrawWindow();
b.DrawWindow();
Window[]
winArray = new Window[3];
winArray[0] = new Window(1, 2);
winArray[1] = new ListBox(3, 4, "List box in array");
winArray[2] = new Button(5, 6);
for
(int i = 0; i < 3; i++)
{
winArray[i].DrawWindow();
}
// end for
Console.ReadKey();
c.
Encapsulation
adalah Memastikan pengguna sebuah objek tidak dapat mengganti keadaan dalam
dari sebuah objek dengan cara yang tidak layak, hanya metode dalam objek
tersebut yang diberi ijin untuk mengakses keadaannya. Setiap objek mengakses interface
yang menyebutkan bagaimana objek lainnya dapat berinteraksi dengannya. Objek
lainnya tidak akan mengetahui dan tergantung kepada representasi dalam objek
tersebut.
Contohnya:
class hitung
{
private
double a = 0;
private
double b = 0;
public double nilaiA
{
set
{a=value;}
get
{ return a; }
}
public double nilaiB
{
set
{ b = value; }
get
{ return b; }
}
public double hasil_tambah()
{
return
a + b;
}
public double hasil_kurang()
{
return
a - b;
}
}
class Program
{
static void Main(string[]
args)
{
hitung
htg = new hitung();
Console.Write("Masukkan Nilai a=");
htg.nilaiA = Convert.ToDouble(Console.ReadLine());
Console.Write("Masukkan Nilai b=");
htg.nilaiB = Convert.ToDouble(Console.ReadLine());
Console.WriteLine("Hasil Penjumlahan=" +
htg.hasil_tambah());
Console.WriteLine("Hasil Pengurangan=" +
htg.hasil_kurang());
Console.ReadKey();
d.
Abstraction
adalah kemampuan sebuah program untuk melewati aspek informasi yang diproses olehnya,
yaitu kemampuan untuk fokus pada inti. Setiap objek dalam sistem melayani
sebagai model dari pelaku abstrak yang dapat melakukan kerja, laporan dan
perubahan keadaannya, dan berkomunikasi dengan objek lainnya dalam sistem,
tanpa mengungkapkan bagaimana kelebihan ini diterapkan. Proses, fungsi atau
metode dapat juga dibuat abstrak, dan beberapa teknik digunakan untuk
mengembangkan sebuah pengabstrakan.
Contoh programnya:
using System;
namespace oop_abstractclass
{
class Program
{
public static void Main(string[]
args)
{
Implementasi
imple = new Implementasi();
string nama
= "Imamoto Deputi";
string almt
= "Banyuwangi";
string telp
= "08775556923";
string NIM
= "1111100740";
string Jurusan
= "Teknik Informatika";
imple.ShowKTP(nama,almt,telp);
imple.ShowMHS(nama,NIM,Jurusan,telp);
Console.ReadKey(true);
}
}
abstract class Abstract
{
public abstract void ShowKTP(string nama,string almt,string tlp);
public void ShowMHS(string nama,string nim,string jur,string tlp)
{
Console.WriteLine("KTM(Kartu
Tanda Mahasiswa)");
Console.WriteLine();
Console.WriteLine("Nama
: {0}",nama);
Console.WriteLine("NIM
: {0}",nim);
Console.WriteLine("Jurusan
: {0}",jur);
Console.WriteLine("No
Telp : {0}",tlp);
Console.WriteLine();
}
}
class Implementasi
: Abstract
{
public override void ShowKTP(string nama,
string almt, string
tlp)
{
Console.WriteLine("KTP(Kartu
Tanda Penduduk)");
Console.WriteLine();
Console.WriteLine("Nama
: {0}",nama);
Console.WriteLine("Alamat
: {0}",almt);
Console.WriteLine("No
Telp : {0}",tlp);
Console.WriteLine();
Console.WriteLine();
}
}
}
|
e.
Aggregation adalah
kondisi ketika object berisi gabungan dari object-object yang berbeda
dan bekerja bersama. Misalnya mesin pemotong rumput terdiri dari object roda,
objects mesin, object pisau dan lain-lain.Object mesinpun merupakan gabungan
dari berbagai object. Kemampuan untuk menggunakan aggregation dalam OOP adalah
satu feature yang powerful yang memungkinkan model menjadi akurat.
7.
Over loading merupakan suatu function yang
memiliki parameter , dan function tersebut dapat memiliki nama function yang
sama dengan yang lainnya dengan syarat jumlah parameter mesti berbeda atau bisa
kita bilang Situasi di mana beberapa rutin dalam sebuah program dapat mempunyai
nama sama tetapi berbeda jenis parameter dan/utau jenis return value.
Contoh programnya:
using
System;
namespace
overloading1
{
class
Program
{
private
static void
perkalian(int a,
int b, int c){
Console.WriteLine("perkalian
3 tipe dalam parameter");
int
x=0;
x
= Convert.ToInt32(a*b*c);
Console.WriteLine("{0}
= {1} * {2} * {3} ",x,a,b,c);
}
private
static void
perkalian(int a,
int b){
Console.WriteLine("perkalian
2 tipe dalam parameter");
int
x=0;
x
= Convert.ToInt32(a*b);
Console.WriteLine("{0}
= {1} * {2}",x,a,b);
}
public
static void
Main(string[] args)
{
Console.WriteLine("contoh
overloading method dengan nama method perkalian");
Console.WriteLine();
perkalian(3,4);
Console.WriteLine();
perkalian(3,4,5);
Console.ReadKey(true);
}
}
}
8.
Program oop
untuk hitung nilai mata kuliah dan konversinya
namespace
konversinilai
{
class nilai
{
private
double _ntugas;
private
double _nuts;
private
double _npartisipasi;
private
double _nuas;
public double ntugas
{
get
{ return _ntugas; }
set
{ _ntugas = value; }
}
public double nuts
{
get
{ return _nuts; }
set
{ _nuts = value; }
}
public double npartisipasi
{
get
{ return _npartisipasi; }
set
{ _npartisipasi = value; }
}
public double nuas
{
get
{ return _nuas; }
set
{ _nuas = value; }
}
public double akhir()
{
return
0.3 * _npartisipasi + 0.2 * _ntugas + 0.3 * _nuts + 0.2 * _nuas;
}
public string huruf()
{
string
huruf = "";
if
(0.3 * _npartisipasi + 0.2 * _ntugas + 0.3 * _nuts + 0.2 * _nuas >= 85)
{
huruf = "A";
}
else
if (0.3 * _npartisipasi + 0.2 * _ntugas + 0.3 *
_nuts + 0.2 * _nuas <= 85 && 0.3 * _npartisipasi + 0.2 * _ntugas +
0.3 * _nuts + 0.2 * _nuas >= 65)
{
huruf = "B";
}
else
{
huruf = "C";
}
return
huruf;
}
public void tampil()
{
Console.WriteLine("Nilai Tugas=" + _ntugas);
Console.WriteLine("nilai partisipasi=" + _npartisipasi);
Console.WriteLine("nilai UTS=" + _nuts);
Console.WriteLine("nilai UAS=" + _nuas);
Console.WriteLine("nilai Akhir = " + akhir());
Console.WriteLine("nilai Huruf = " + huruf());
}
}
class Program
{
static
void Main(string[]
args)
{
nilai
n1 = new nilai();
n1.ntugas = 89;
n1.npartisipasi = 80;
n1.nuts = 78;
n1.nuas = 86;
n1.tampil();
Console.ReadKey();
}
}
}
http://maz-agus.blogspot.com/2011/06/memahami-istilah-object-property-method.html
http://blog.unsri.ac.id/userfiles/Konsep%20OOP.pdf