ngetik

Dalam konsep pemrograman modern dikenal sesuatu yang disebut dengan Pemrograman Berorientasi Objek atau Objrct oriented Programming (OOP). OOP adalah cara pemrograman yang mendasar segala sesuatunya pada objek. Sebuah aplikasi disusun oleh rangkaian berbagai macam objek, bahkan aplikasi itu sendiri bisa juga merupakan sebuah objek.

Objek dan kelas
Kelas (class) dan objek seringkali rancu, karena banyak orang menganggapnya sama saja. Kelas sebenarnya neruoakan sesuatu yang kebih bersifat abstrak, sesuatu yang menjelaskan struktur dari objek, sedangkan objek adalah sesuatu yang lebih rill, sesuatu yang merupakan perwujudan (instance) dari kelas. Pembuatan objek baru berarti membuat sebauh instance baru dari sebuah kelas, oleh karena itu pembuatan sebuah objek sering disebut dengan instantiation atau instantiating.
Sebagai analogi sederhana, kendaraan dapat digunakan sebagai pembanding. Katakanlah kendaraan adalah sebuah kelas. Kelas kendaraan ini tentunya memiliki sifat-sifat tertentu, seperti memiliki roda, memiliki pintu, memiliki mesin, dan lain-lain. Selain memiliki sifat, kelas kendaraan juga dapat “mengarjakan” sesuatu, seperti berjalan maju, berjalan mundur, dan belok. Semua yang disebutkan diatas merupakan setruktur daris ebuh kelas kendaraan.

Dengan adanya kelas kendaraan tersebut, Anda dapat membuat sebuah instance dari kelas kendaraan, misalnya sedan. Seluruh setruktur yang dimiliki kelas kendaraan aakn dimiliki pula oleh objek sedan, sehingga sedan akan memiliki roda, memiliki pintu, memiliki mesin, dapar berjalan maju, mundur, belok, dan lain-alin.

Demikian pula seandainya didefinisikan sebuah instance lain dari kelas kendaraan, misalnya minibus, jeep, dan truk. Secara struktural semua objek-objek tersebut akan memiliki sifat-sifat yang sama, sekalipun mungkin nilainya berbeda. Misalnya, truk dan mobil sebagai sesama instance dari kelas kendaraan akan sama-sama memiliki roda, tapi jumlahnya bisa beda, truk memiliki 6 ban sedangkan sedan 4. Minibus dan jeep mungkin sama-sama memiliki tempat duduk, tapi yang satu memiliki 10 tempat duduk sedangkan yang lain hanya 5.

Properti, Metode, dan Event
Properti, metode, dan event merupakan komponen-komponen yang menyusun sebuah kelas (seringkali disebut juga anggota kelas). Properti merupakan suatu informasi yang dapat disimpan oleh sebuah objek, metode merupakan sebuah aksi yang dapat dilakukan oleh objek, dan event merupakan semacam pemberitahuan yang dapat diterima oleh objek atau diberikan oleh objek kepada objek lain untuk kemudian melakukan aksi tertentu berdasarkan “pemberitahuan” tadi.

Sekali lagi kita akan menggunakan analogi kendaraan untuk membahas masalah ini. Properti yang dimiliki oleh kendaraan adalah roda, pintu, tempat duduk, mesin, dan lain-lain. Metode yang dimiliki kendaraan adalah maju, mundur, belok, berhenti, dan lain-lain. Event yang dapat dimiliki oleh kendaraan adalah apa yang akan dilakukan kendaraan apabila pintu dibuka, apabila telah mencapai 100.000 km, atau apabila mesin dimatikan.

Dengan analogi tersebut, mari kita buat sebuah instance kendaraan yaitu sedan. Properti dari sedan adalah roda berjumlah 4, 4 pintu, 4 tempat duduk, mesin 1500 cc, dan lain-lain. Metode yang dimiliki sedan adalah dapat maju, mundur, belok, berhenti, dan lain-lain. Event yang dapat dimiliki oleh sedan misalnya adalah pintu sedan dibuka, maka event buka pintu tadi akan memicu tindakan misalnya lampu indikator akan menyala.

Format Penulisan
Dalam menuliskan hubungan antara objek dengan komponen-komponennya seperti properti, metode, dan event terdapat format baku yang harus diikuti.
Untuk menuliskan sebuah properti objek, format penulisan yang digunkan adalah objek properti.
Contohnya adalah berikut ini.
Sedan.roda =4
Minibus.kursi = 10
Bus.bahanbakar = ”solar”

Untuk menulisakan metode sebuah objek, format penulisan yang digunakan adalah Objek.metode ([argumet]).

Argumen adalah nilai tertentu yang butuhkan agar sebuah metode dapat dieksekusi. Argumen bersifat opsional, artinya ada metode yang membutuhkan argumen ada yang tidak.

Contohny seperti berikut ini.
Sedan.maju()
Jeep.belok(kiri)
Jeep.belok(kanan)
Truk.berhenti()

Untuk menuliskan event sebuah objek, format penulisanya agak sedikit rumit. Pada hampir semua baha pemrograman, event harus ditulis di ”dalam” sebuah objek. Jadi mula-mula objek akan diberi event harus ditunjuk atau dikaitkan terlebih dahulu, kemudian di tempat yang disediakan untuk menuliskan kode pemrograman ditambahkan event dengan format sebagai berikut ini.

[On] namaevent([argument])
Peintah

Contoh:

On bukapintu()
{
If (lock =”on”)
{
Alarm.nyala();
Lampu.nyala();
}else{
Alarm.mati();
Lampu.mati();
}
}

Beberapa istilah OOP
Dalam memahami konsep OOP ada beberapa macam istilah yang harus diketahui, diantaranya adalah:

  1. Inheritance
  2. Polymorphism
  3. Interface
  4. Encapsulation

Inheritance
Inheritance adalah suatu hubungan antar kelas di mana sebauh kelas diturunkan (intherits) dari kelas lainya. Kelas hasil turunan disebut dengan derivend class atau subclass, sedangkan kelas yang merupakan induk disebut dengan base class atau superclass. Derived class atau subclass akan mewarisi seluruh anggota kelas (propertis dan metode) dari base class-nya (subperclass-nya), bahkan dapat menambah bila perlu.

Polymorphism
Polymorphism atau overrides adalah proses penulisan ulang sebuah properti atau metode di subclass sehingga memiliki tugas yang berbeda dengan properti atau metode dengan nama yang sama pada superclass-nya.
Satu lagi fitur yang didukung oleh polymorphism adalah penggunaan metode dengan nama sama tapi dengan argumen yang berbeda. Ini disebut dengan overloading. Hal ini sangat berguna untuk menghindari pendeklarasian metode dengan nama yang berbeda-beda (padahal sebenarnya tujuanya sama) hanya karena mengolah argumen dengan tipe berbeda.

Interface
Interface adalah sebuah kelas yang metodenya tidak diimplementasikan atau didefinisikan. Interface biasanya bergunan untuk membatasi adanya multiple inheritance atau proses inherit ganda.

Encapsulation
Encapsulation adalah kemampuan untuk mendapatkan atau mengatur sekelompok item yang memiliki hubungan satu sama lain. Encapsulation jika diterjemahkan apa adanya adalah memasukkan sesuatu ke dalam kapsul. Hal ini bisa diartikan bahwa mengatur sekelompok item yang memiliki hubungan satu sama lain ke dalam suatu ”kapsul” (dalam lingkup pembicaraan kita berarti kelas). Jadi encapsulation bisa dikatakan sebagai manajemen sebuah kelas.
Dengan manajemen tersebut, Anda bisa mengatur hak akses-terhadap properti atau metode dalam kelas. Misalnya sebuah metode dideklarasikan sedemikian rupa agar tidak bisa diakses oleh prosedur di luar kelas (hal ini sering disebut dengan data hiding tau penyembuyian data).

sumber : PC+