Bahasa Pemograman II Object Oriented Programming
Pemograman Berorientasi Objek Salah satu paradigma pemograman Usaha untuk merepresentasikan perangkat lunak lebih dekat dengan cara pandang manusia terhadap kenyataan.
Berorientasi Objek Attribut Pedal, rantai, roda, sadel, rem, merek, jumlah gear, model sepeda, warna, kecepatan Behavior Bergerak maju Belok kiri Belok kanan Berhenti Ganti Gear
Latihan 4.1 Tentukan atribut dan behavior dari objek mobil
Konsep PBO Objects & Classes Inheritance Polymorphism State Encapsulation Information Hiding Behavior, Responsibilities Messages
Object - Class Classification : mengatur informasi dan tingkah laku ke dalam entitas yang berarti Semua mobil memiliki behavior dan attribute yang sama Digolongkan ke dalam class Mobil Objek adalah instance dari Class. Class merupakan cetak biru Class merupakan definisi dari sebuah tipe data, objek adalah instance dari tipe tersebut Class : Mobil Object : Mobilnya UNAND, Mobilnya Pak Dekan
Encapsulation Mekanisme menyembunyikan suatu proses dalam system untuk menghindari interferensi dan menyederhanakan penggunaan system itu sendiri. Membungkus variable-variable dalam objek agar terlindungi. Menyembunyikan data dan implementasi sebuah objek Saat dienkapsulasi, data dan code tersembunyi dari external view external observer hanya melihat sebaggai exterior interface. Contoh real : Mengganti transmisi (gigi) mobil Menghidupkan/mematikan AC
Message Suatu object berguna bila ada objek lain Objek berinteraksi dengan objek lainnya dengan cara mengirimkan message. Informasi dalam message dikenal dengan nama parameter. Komponen message: Object Message name Parameters
Message (2) Mengganti transmisi mobile Objek : Pengemudi : pengirim message Mobil : objek yang menerima message Message : GantiTransmisi Parameter : Transmisi Naik
Membuat dan Menggunakan Class
Access Level Class public The type or member can be accessed by any other code in the same assembly or another assembly that references it. private The type or member can be accessed only by code in the same class or struct. protected The type or member can be accessed only by code in the same class or struct, or in a class that is derived from that class. internal The type or member can be accessed by any code in the same assembly, but not from another assembly.
Saran Penaman Identifier yang bersifat public menggunakan notasi PascalCase. Huruf capital diawal Identifier yang bersifat private/protected menggunakan notasi camelcase Huruf kecil diawal kata.
Constructor Method special yang dijalankan pada saat instance dari sebuah kelas (objek) diciptakan. Method yang memiliki nama yang sama dengan nama class Memiliki access level public agar bias menciptakan objek.
Latihan 4.1 Buatlah sebuah class bernama Point2D yang digunakan untuk menampung data sebuah poin 2 dimensi (x, y). Method yang ada dalam class tersebut antara lain method DistanceFromZero() DistanceFrom(x, y).
Overloading Constructor Constructor bisa memiliki banyak bentuk, tergantung parameter yang diberikan.
Static Method/Data Method/Data yang dapat diakses tanpa harus instansiasi class terlebih dahulu Menggunakan keyword static Contoh : Console.WriteLine() Math.Sqrt()
Static Class Class yang hanya memiliki member bersifat static Class yang bertindak sebagai penampung utility method dan fields. Tidak bisa menciptakan objek dari static class
Latihan 4.2 Modifikasi program latihan 4.1 sehingga Class Point2D memiliki 2 buah constructor untuk inisialisasi objek dari class Point2D Jadikan method untuk menghitung jarak menjadi sebuah private static method sehingga bisa dipanggil oleh method DistanceFromZero() dan DistanceFrom(x, y)
Value Type dan Reference Type Class/Object merupakan elemen C# yang bertipe Reference
Value Type dan Reference Type (2)
Ref Keyword Ref : Passing reference rather than values
Out Keyword Out : Hampir sama dengan ref Parameter method yang berfungsi sebagai output
Referensi