OOP adalah teknik untuk membuat program objek, yaitu program yang tersusun dari kelas dan objek yang saling berhubungan. Hubungan antar kelas/objek ini dapat dilihat baik saat program ditulis maupun saat program dieksekusi.
Karena OOP merupakan teknik pembuatan program, maka ada pendekatan yang digunakan. Ada aturan yang harus diikuti saat menyusun programnya, dan ada tools yang digunakan untuk menuliskan programnya.
Belajar
Belajar OOP adalah belajar pemrograman, pusing juga sih karena bahasa pemrograman yang dipakai adalah JAVA, sudah lama saya tidak menggunakan bahasa pemrograman OOP (VB, FoxPro dsb). Mengapa begitu, yah karena sekarang lagi mendalami bidang Desain Grafis, dan Editing Film/Animasi tapi saya akan berusaha Pa Rommi. Nah menurut materi yang saya terima, ruang lingkup pembahasan OOPnya mencakup:
1.Belajar ide atau pendekatan yang menjadi konsep dasar OOP.
2.Belajar bagaimana menerapkan konsep dasar itu menjadi berbagai bentuk OOP.
3.Belajar bahasa pemrograman yang akan digunakan untuk membuat berbagai bentuk
OOP, seperti struktur program, sintaks penulisan, atau mekanisme eksekusi program.
4.Belajar menggunakan tools bahasa pemrograman untuk menulis program, kompilasi, dan
eksekusi.
5.Belajar menemukan dan mengartikan kesalahan program, dan memperbaikinya.
Belajar bagaimana mengimplementasi 1 s.d. 5 untuk membuat sebuah aplikasi yang utuh. Ada tiga konsep utama yang ada di OOP.
1.Encapsulation atau enkapsulasi ( merupakan penyembunyian informasi melalui private
dan protected.
2.Inheritance atau inheriten (merupakan suatu kelas berasal dari turunan pertama
atau lebih kelas lainnya).
3.Polymorphism atau polimorpisme (merupakan kemampuan objek berubah menjadi objek
yang lain.
Dari tiga konsep di atas, berikut adalah beberapa kelebihan OOP (yang diambil dari materi Pak Rommi, dalam webnya http://romisatriawahono.net dan dirangkum), yaitu: Pendekatan berorientasi masalah, segala sesuatu masalah bisa dimodelkan dengan objek.
1.Penyembunyian informasi, hanya variabel-variabel tertentu saja yang bisa diakses
sesuai dengan haknya
2.Reusability dan Ekstensibility, kode yang sudah ada bisa digunakan ulang, dan
kemudahan dalam pengembangan kode
3.Meningkatkan maintenability, kesalahan atau kekurangan pada kode dapat langsung
diperbaiki di blok kode tersebut.
4.Satu lagi, program bakal lebih terstruktur dan terorganisasi. Selain itu
penghematan penulisan kode program (kelebihan polimorpisme).
Sekarang kita bahas tentang tiga konsep itu, sebelumnya saya kasih tau dulu yach bahwa OOP itu pasti menggunakan Class.
Enkapsulasi
Enkapsulasi atau pengkapsulan pada intinya adalah kita gak perlu tau apa sih yang ada dalam objek itu (class), yang kita butuhkan adalah apa kegunaan, bagaimana cara memakainya dan apa yang akan terjadi. Ilustrasinya adalah motor. Gimana cara ngidupin motor? masukin kunci, tekan tombol starter dan gas atau kalo gak ada dienkol aja. Mudah bukan? Kita gak perlu tahu apa sih yang terjadi sebenarnya pas kita mencet starter atau engkol, taunya motor hidup trus bisa dijalankan. Ilustrasi lainnya adalah remote control tanpa kabel pada mobil-mobilan. Kalian kan tidak perduli kerja remote control itu yang sebenarnya, yang penting begitu dihidupin dan stiknya digerakin ke atas dia bakal maju. Begitu digerakin ke kanan, dia bakal belok, dst.
Contoh terakhir adalah jam tangan. Ini juga penjelasan yang paling mudah dipahami. Taukan fungsi jam? betul, buat nunjukin waktu. Pas beli jam tangan kita hanya memilih tampilan dan kualitas yang bagus, itu yang terpenting. Masa bodo dengan cara mesin rangkaian digital yang bekerja di dalam jam itu.
Gimana ngertikan konsep enkapsulasi? intinya kita hanya perlu tau apa kegunaannya, gimana cara memakainya dan hasilnya apa.
Enheriten
Yang ini intinya adalah mengembangkan class yang sudah ada. Jadi kita gak perlu ngebentuk dari awal lagi, class yang sudah ada bisa dimodifikasi dan/atau ditambah fungsinya sesuai dengan kebutuhan. Ada yang bisa ditambah ada yang dimodifikasi. Sekarang ilustrasi yang ditambah dulu yach... Contohnya sama dengan enkapsulasi, dulu mobil remote kontrol tanpa kabel hanya ada satu tombol. bila dipencet mobilnya akan maju, dan kalo gak dipencet mobilnya muter-muter terus searah jarum jam. Sekarang bisa bergerak sesuai keinginan kita.
Contoh lain adalah tentang jam tangan. Dulu fungsi jam tangan hanya sebagai penunjuk waktu saja, tapi sekarang fungsinya sudah nambah, dari yang bisa nampilin tanggal sampe kalender.
Sekarang contoh yang dimodifikasi. Jika dulu perseneling mobil hanya manual sekarang sudah ada yang otomatis
Jadi, dengan inheriten semua perubahan itu gak ngerubah bulat-bulat objek yang ada, tetapi hanya menambah dan memodifikasi dengan mempertahankan objek (class) awalnya.
Polimorpisme
Ini adalah inti dari OOP. Sebab dengan satu baris perintah kita bisa menggunakannya untuk berbagai keperluan, fungsi itu akan menyesuaikan sendiri ke pemanggilnya. Ilustrasinya adalah tombol play. Dimana-mana tombol play fungsinya sama, untuk menjalankan. Coba liat, padahal kan beda cara kerja tombol play di vcd dan radio.
Bagaimana? gak ngerti? Saya gak nyalahin kok, saya aja untuk konsep terakhir ini juga masih bingung dan bingung (rada ribet dibuatnya). Melihat diberbagai referensi pun tidak ada yang memberikan contoh yang mudah dipahami. Hanya itu contoh klasik yang rada nyambung. Nanti bakal ngerti sendiri kok kalo udah paham dua konsep sebelumnya. Inti Polimorpisme adalah objek yang kita gunakan ini bisa berubah sesuai dengan kondisi yang terjadi. Jadi kita gak perlu menuliskan kode program panjang-panjang.
Pokoknya musti belajar banyak banyak deh untuk memahami OOP berbasis JAVA ini, teman teman penghuni PojokSpy mungkin hanya itu yang bisa saya jelaskan, saya juga lagi belajar lagi nih sama Pa Rommi. Sekian.
Langganan:
Posting Komentar (Atom)
0 Response to "Pengenalan / Konsep OOP"
Posting Komentar