1. A.
Class: merupakan penggambaran dari sebuah object atau
benda,sifat objek, dan juga apa yang bisa dilakukan oleh objek tersebut.
Sebagai
contoh adalah pengambaran yang real dalam kehidupan kita adalah tentang dunia
transportasi. Tentunya kita semua mengetahui bahwa sangatlah banyak jenis
alat transportasi yang ada seperti motor, mobil,pesawat terbang,kapal laut, dan
lain sebagainya.Kemudian marilah kita anggap berbagai alat transportasi
tersebut sebagai suatu class. Maka motor tentunya mempunyai no
polisi,tahun pembuatan,merk dll, demikian juga dengan alat transportasi yang
lainnya, oleh karenanya hal ini bisa disebut sebagai properties. Selanjutnya
motor itu sendiri bisa berjalan maju, berjalan mundur,belok kiri, belok kanan yang
mana kegiatan ini disebut method.
·
contoh:
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
public class ApaMotormu {
public static void main(String[] args){
Motor punyaku=new Motor();
punyaku.motorku();
}
}
B. Attribute: merupakan
segala sesuatu yang melekat pada Object. Didalam
penerapan didalam program, atribut adalah Variabel.
C. Method: sarana bagi programmer untuk memecah program
kompleks menjadi bagian yang kecil-kecil,sehingga nantinya dapat digunakan
berulang-ulang. Contoh : pada object mangga : terdapat method ambil Rasa , kupas
Kulit dll. Metode menentukan perilaku objek, yakni apa yang terjadi ketika
objek itu dibuat serta berbagai operasi yang dapat dilakukan objek sepanjang
hidupnya.
2.
Object
Object adalah
merupakan suatu bentuk dari class. Kalau kita mengikuti analogi di
atas, maka object dari class Hewan adalah Burung, Kambing,
Ayam, Kuda.. Mereka adalah contoh dari class Hewan. Semua dari mereka adalah
Hewan yang mempunyai nama, kaki, Jenis makanan dst. Dan bisa berlari,
bersuara, berkembang biak dll.
o contoh :
public class
Peliharaanmu{
public static void
main(String[] args){
Hewan punyaku=new
Hewan();
punyaku.hewanku();
}
}
3.
Konstruktor
Kontruktor merupakan
suatu method yang
akan memberikan nilai
awal pada saat
suatu objek dibuat.
Pada saat program
dijalankan, konstruktor akan langsung memberikan nilai
awal pada saat perintah new, membuat suatu objek
Pada saat kita bekerja dengan konstruktor, hal mendasar yang perlu diperhatikan, yaitu :
Pada saat kita bekerja dengan konstruktor, hal mendasar yang perlu diperhatikan, yaitu :
1. Nama
konstruktor sama dengan nama Class.
2. Tidak
ada return type yang diberikan kedalam konstruktor Signature.
3. Tidak
ada return stetement, didalam tubuh konstruktor.
4.
Private
5. Karakteristik
OOP dan contohnya:
A. Inheritance: Inherintence
atau pewarisan adalah merupakan konsep dimana suatu object memiliki sejumlah
perilaku yang dimiliki oleh object lain dalam suatu hirarki tertentu.
Hal
ini memungkinkan satu kelas (sub-class) harus didasarkan atas
yang lain (kelas super) dan mewarisi semua
fungsi secara otomatis. Kode tambahan kemudian dapat ditambahkan untuk
membuat versi yang lebih khusus dari kelas. Dalam contoh kendaraan,
sub-kelas untuk mobil atau motor dapat dibuat. Masing-masing masih akan
memiliki semua perilaku kendaraan tetapi dapat menambahkan metode khusus dan
properti.
Beberapa bahasa pemrograman
memungkinkan untuk multiple inheritance mana sub-kelas yang
berasal dari dua atau lebih super-kelas. C # tidak mengizinkan ini, tetapi
tidak memungkinkan kelas untuk mengimplementasikan beberapa interface. Sebuah
antarmuka mendefinisikan kontrak untuk metode dan properti dari kelas yang
mengimplementasikan hal itu. Namun, tidak mencakup fungsi yang sebenarnya.
B. Polymorphisme: Polymorphism adalah konsep dimana beberapa object dapat
memiliki metode yang sama dengan aksi yang berbeda. Hal ini mengakibatkan
adanya kemampuan
untuk sebuah objek untuk mengubah perilakunya sesuai dengan bagaimana itu
digunakan. Dimana kelas obyek mewarisi dari kelas super atau
mengimplementasikan satu atau lebih interface , dapat disebut dengan kelas
atau interface nama-nama. Jadi jika kita memiliki metode yang mengharapkan
sebuah objek dari tipe 'kendaraan' untuk diteruskan sebagai parameter, kita
dapat melewati setiap kendaraan, mobil atau motor objek untuk metode yang meskipun
tipe data mungkin secara teknis berbeda.
Dalam
Polymorphism suatu object bisa bertindak lain terhadap message/method yang
sama. Misalkan kita punya satu class hewan dan diturunkan menjadi dua
class hewan berkaki dua dan hewan berkaki empat. Ketika hewan
berkaki dua melakukan method makan maka yang dilakukan adalah makan
dengan paruhnya, dan ketika hewan berkaki empat juga makan maka dia
akan menggunakan mulutnya. Keduanya melakukan aksi yang sama
yaitu makan akan tetapi perlakuannya lain.
C. Encapsulation: Encapsuation
adalah penyatuan antara proses-proses yang terjadi dan sejumlah data yang
dikelola kedalam suatu bentuk kelompok tertentu. Pengelompokan tersebut adalah
dengan dibentuknya suatu object secara abstrak (abstraction). Akibatnya, obyek dapat bekerja sama
dalam banyak hal dalam sistem. Dalam beberapa situasi, kelas dan objek
dapat erat bersama-sama untuk menyediakan fungsionalitas yang lebih kompleks. Dalam
contoh mobil, roda, panel, mesin, gearbox, dll dapat dianggap sebagai kelas
individu. Untuk membuat mobil sekelasnya, perlumenghubungkan semua
benda-benda bersama, mungkin dapat menambahkan fungsionalitas
lebih lanjut. Kerja internal masing-masing kelas yang tidak penting karena
enkapsulasi sebagai komunikasi antara obyek masih melalui lewat pesan ke
antarmuka publik mereka.
Encapsulation mengemas
suatu objek sehingga pada saat kita akan memakai objek tersebut kita tidak
perlu lagi tahu tentang detail bagaimana suatu action itu terjadi. Contoh dalam
hal ini, misal siswa (suatu object) sedang menulis (method).
Maka detail dari tentang cara siswa itu menulis (bagaimana otot tangan
itu bekerja untuk menulis, bagaimana sistem saraf pusat
memerintahkan untuk menulis) kita tidak perlu mengerti. Kita hanya melihat si
siswa sedang menulis.
Contoh
:
class Siswa
{
String nama;
String nim;
void isiData ( String
namaku,String nimku )
{
nama = namaku;
nim = nimku;
}
String ambilNama()
{
return nama;
}
String ambilNim()
{
return nim;
}
}
public class Mahasiswa
{
public static void main ( String
[] args)
{
Siswa mahasiswa_itn = new Siswa();
//membuat variable instant
mahasiswa_itn.isiData(“Dina
Damayanti”,”0412585″);
System.out.println( “Nama : ” +
mahasiswa_itn.ambilNama());
System.out.println( “Nim : ” +
mahasiswa_itn.ambilNim());
}
}
D. Absraction: Pesawat yang telah dicontohkan masuk dalam kelas kendaraan, kelas kendaraan
merupakan contoh abstraction.Abstraction adalah proses yang mewakili versi yang
disederhanakan dari objek dunia nyata dalam kelas dan objek. Hal ini berarti dalam pengembangan perangkat lunak seorang programmer
akan menggunakan atau menciptakan sejumlah object dimana object tersebut akan
ada dan berperilaku pada sistem.
E. Aggregation:
5. Over loading: Overloading adalah suatu cara membuat
lebih dari constructor pada suatu class. Supaya pengaksesan constructor
tersebut lancar, maka sebagai pembedanya adalah tipe parameter dan atau jumlah
parameternya.
6. membuat program oop untuk hitung nilai mata
kuliah dan konversinya.
namespace ConsoleApplication1
{
classProgram
{
staticvoid Main(string[] args)
{
//Isi data Mahasiswa Satu
Mahasiswa mhs1 = newMahasiswa();
mhs1.Nama = “Sismantoro”;
mhs1.Nim = “12.12.0036″;
mhs1.Jurusan = “Sistem Informasi”;
mhs1.Tgl_lahir = DateTime.Parse(“1992-04-02″);
mhs1.Nilai_algoritma = “90″;
mhs1.Nilai_pbo = “86″;
mhs1.Nilai_spbd = “89″;
mhs1.Ipk = 3.25;
//Menampilkan Profil Mahasiswa Satu
mhs1.tampilProfilNonVrble();
mhs1.menghitung_Jumlah_NilaiNonVariable();
mhs1.menhitungRataRataNonVariable();
Console.WriteLine(“\n”);
//Isi data Mhs Kedua
Mahasiswa mhs2 = newMahasiswa();
mhs2.Nama = “Laurendra”;
mhs2.Nim = “12.12.3636″;
mhs2.Jurusan = “Sistem Informasi”;
mhs2.Tgl_lahir = DateTime.Parse(“1994-04-02″);
mhs2.Nilai_algoritma = “95″;
mhs2.Nilai_pbo = “98″;
mhs2.Nilai_spbd = “78″;
mhs2.Ipk = 3.45;
//Menampilkan Profil Mahasiswa Kedua
mhs2.tampilProfil(mhs2);
mhs2.menghitung_Jumlah_Nilai(mhs2);
mhs2.menhitungRataRata(mhs2);
Console.WriteLine(“\n”);
//Isi data Mhs Ketiga
Mahasiswa mhs3 = newMahasiswa(“12.12.0063″, “Eka
Putri Pertiwi”,
“Sistem Informasi”,DateTime.Parse(“1993-12-18″),
3.53, “97″, “88″, “93″);
//Menampilkan Profil Mahasiswa Ketiga
mhs3.tampilProfil(mhs3);
mhs3.menghitung_Jumlah_Nilai(mhs3);
mhs3.menhitungRataRata(mhs3);
Console.WriteLine(“\n”);
Console.WriteLine(“###############################”);
Console.Read();
}
}
}
Tampilan Untuk Class Mahasiswa (Class Child)
namespace ConsoleApplication1
{
classMahasiswa
{
//Daftar Field
string nim, nama,jurusan, nilai_algoritma,
nilai_spbd, nilai_pbo;
publicstring Nilai_pbo
{
get { return nilai_pbo; }
set { nilai_pbo = value; }
}
publicstring Nilai_spbd
{
get { return nilai_spbd; }
set { nilai_spbd = value; }
}
publicstring Nilai_algoritma
{
get { return nilai_algoritma; }
set { nilai_algoritma = value; }
}
publicstring Jurusan
{
get { return jurusan; }
set { jurusan = value; }
}
publicstring Nama
{
get { return nama; }
set { nama = value; }
}
publicstring Nim
{
get { return nim; }
set { nim = value; }
}
DateTime tgl_lahir;
publicDateTime Tgl_lahir
{
get { return tgl_lahir; }
set { tgl_lahir = value; }
}
double ipk;
publicdouble Ipk
{
get { return ipk; }
set { ipk = value; }
}
//tampilan umum Constructor
public Mahasiswa()
{
}
//Constructor Tugas tambahan…DI aplikasikan
untuk mahasiswa Ketiga di class utama
public Mahasiswa(string nim, string nama, string
Jurusan,
DateTime tglLahir, double ipk, string
nilai_algoritma, string nilai_spbd, string nilai_pbo)
{
this.nilai_algoritma = nilai_algoritma;
this.nilai_spbd = nilai_spbd;
this.nilai_pbo = nilai_pbo;
this.nim = nim;
this.nama = nama;
jurusan = Jurusan;
tgl_lahir = tglLahir;
this.ipk = ipk;
}
//overloading Constructor dari tugas di atas
public Mahasiswa(string nim, string nama, string
jurusan,
DateTime tgl_lahir, double ipk)
{
this.nim = nim;
this.nama = nama;
this.jurusan = jurusan;
this.tgl_lahir = tgl_lahir;
this.ipk = ipk;
}
//Method Untuk Menampilkan Profil dan Nilai mata
kuliah
//(Diaplikasikan untuk mahasiswa kedua dan
ketida di class utama)
publicvoid tampilProfil(Mahasiswa mhs)
{
Console.WriteLine(“”);
Console.WriteLine(mhs.nim);
Console.WriteLine(mhs.nama);
Console.WriteLine(mhs.jurusan);
Console.WriteLine(mhs.tgl_lahir);
Console.WriteLine(mhs.ipk);
Console.WriteLine(“Nilai Algoritma\t\t=
“+mhs.nilai_algoritma);
Console.WriteLine(“Nila spbd \t\t=
“+mhs.nilai_spbd);
Console.WriteLine(“Nilai pbo \t\t=
“+mhs.nilai_pbo);
}
//Method ‘tidak’ menggunakan variable
//(Digunakan untuk mhs pertama pada class utama)
publicvoid tampilProfilNonVrble()
{
Console.WriteLine(“”);
Console.WriteLine(“########################################”);
Console.WriteLine(nim);
Console.WriteLine(nama);
Console.WriteLine(jurusan);
Console.WriteLine(tgl_lahir);
Console.WriteLine(ipk);
Console.WriteLine(“Nilai Algoritma\t\t= ” +
nilai_algoritma);
Console.WriteLine(“Nilai spbd \t\t= ” +
nilai_spbd);
Console.WriteLine(“Nilai pbo \t\t= ” +
nilai_pbo);
}
//Method Menampilkan hanya Nilai Makul
// (Method ini tidak diaplikasikan, tapi bisa di
panggil pada class utama)
publicvoid aksesnilai()
{
Console.WriteLine(nim);
Console.WriteLine(nilai_spbd);
Console.WriteLine(nilai_algoritma);
Console.WriteLine(nilai_pbo);
}
//Method untuk menghitung Nilai Rata-rata dari
nilai mata kuliah
//(Diaplikasikan pada mhs kedua dan ketida)
publicvoid menhitungRataRata(Mahasiswa mhs)
{
int algo, pbo, spbd;
algo = int.Parse(mhs.nilai_algoritma);
pbo = int.Parse(mhs.nilai_pbo);
spbd = int.Parse(mhs.nilai_spbd);
double hasil = (algo + pbo + spbd) / 3;
Console.Write(“Nilai Rata-rata adalah \t=
“+hasil);
}
//Method untuk menghitung Nilai Rata-rata Tanpa
variable
//(Diaplikasikan pada mhs pertama)
publicvoid menhitungRataRataNonVariable()
{
int algo, pbo, spbd;
algo = int.Parse(nilai_algoritma);
pbo = int.Parse(nilai_pbo);
spbd = int.Parse(nilai_spbd);
double hasil = (algo + pbo + spbd) / 3;
Console.Write(“Nilai Rata-rata adalah \t= ” +
hasil);
}
//Method Menghitung jumlah Nilai
//(Diaplikasikan pada mhs kedua dan ketida)
publicvoid menghitung_Jumlah_Nilai(Mahasiswa
mhs)
{
int algo, pbo, spbd;
algo = int.Parse(mhs.nilai_algoritma);
pbo = int.Parse(mhs.nilai_pbo);
spbd = int.Parse(mhs.nilai_spbd);
int hasil = algo + pbo + spbd;
Console.WriteLine(“”);
Console.WriteLine(“Jumlah Nilainya adalah \t=
“+hasil);
}
//Method Mengitung Jumlah Nilai Tanpa Variabl
//(Diaplikasikan pada mhs pertama)
publicvoid menghitung_Jumlah_NilaiNonVariable()
{
int algo, pbo, spbd;
algo = int.Parse(nilai_algoritma);
pbo = int.Parse(nilai_pbo);
spbd = int.Parse(nilai_spbd);
int hasil = algo + pbo + spbd;
Console.WriteLine(“”);
Console.WriteLine(“Jumlah Nilainya adalah \t= ”
+ hasil);
}
}
}