Tutorial pemrograman berorientasi objek [PBO] #2 - Abstraksi - Galih Laras Prakoso

Senin, 10 Desember 2018

Tutorial pemrograman berorientasi objek [PBO] #2 - Abstraksi
tutorial-pemrograman-berorientasi-objek-pbo-abstraksi-cover
Abstraksi adalah kelanjutan dari enkapsulasi yang sudah di jelaskan pada bagian sebelumnya dari tutorial ini.

Dalam design berorientasi objek, ketika kebutuhan program menjadi semakin kompleks, program juga akan menjadi semakin besar dan kompleks. Seperti yang sudah dijelaskan sebelumnya bahwa dalam PBO setiap tugas yang spesifik akan diberikan kepada tiap-tiap objek yang saling berkomunikasi satu sama lain. Sehingga mengurusi kode sebanyak ini terkadang menjadi sebuah masalah yang rumit dalam PBO.

Boom! abstraksi adalah solusi dari permasalahan tersebut!
Dengan menerapkan konsep abstraksi, itu berarti program hanya akan memperlihatkan mekanisme penggunaan paling sederhana untuk menggunakannya.
Konsep abstraksi menyembunyikan mekanisme yang rumit yang ada di dalam sebuah objek dan hanya akan memperlihatkan mekanisme / operasi yang relevant kepada objek yang lain.

tutorial-pemrograman-berorientasi-objek-pbo-abstraksi-ilustrasi

Sebagai ilustrasi, kita semua pasti tahu mesin pencari yang paling populer digunakan saat ini. Ketika kita mengakses halaman utama dari mesin pencari tersebut, hanya terdapat tampilan yang sangat-sangat sederhana. Cuma ada logo, input teks dan dua tombol. Tapi, apakah cara kerjanya juga sesederhana itu?

Tidak!, mesin pencari bekerja dengan sangat rumit. Banyak algoritma yang bekerja di dalam mesin pencari tersebut. Namun, untuk berinteraksi dengan pengguna, tentunya mesin pencari tidak perlu memperlihatkan kerumitan kerjanya yang ada di balik layar. Cukup memperlihatkan antarmuka sederhana yang relevan dengan penggunanya. Karena pengguna memang tidak perlu tahu secara detail bagaimana cara kerjanya yang sangat rumit itu. Yang pengguna butuhkan hanyalah hasil pencarian yang sesuai dengan keinginannya.

Oke, sangat sederhana dan mudah dipahami bukan? sekarang, supaya lebih nyantol, yuk kita main kotor-kotoran karena berani kotor itu baik :D. Mari ngoding!

Menurutku, paling enak menjelaskan PBO adalah dengan menggunakan bahasa pemrograman Java. Jadi, perhatikan contoh implementasinya berikut ini :

Contoh diatas tentunya sudah sangat menjelaskan bagaimana implementasi dari konsep Abstraksi. Pada contoh di atas terdapat class Paijo dan Ratna yang adalah turunan dari class Manusia.

Class abstrak Manusia memiliki 2 atribut private, 2 method protected (hanya bisa diakses oleh class turunannya) dan 1 method public bertipe abstract yang harus diimplementasikan oleh class turunannya, implementasinya boleh berbeda. Kita imanjinasikan bahwa memang keduanya sama-sama manusia tetapi karena daerah asal mereka berbeda tentunya cara menyapanya juga akan berbeda.

Kesimpulannya...
Class Paijo dan Ratna memanggil 2 method yang ada di Parent class yaitu getNamaLengkap() dan getUmur(). Mereka tidak perlu tahu bagaimana kedua method tersebut bekerja, begitupun objek yang berada di luar class Paijo dan Ratna tidak perlu tahu kedua method tersebut bekerja, yang diketahui oleh objek di luar Paijo dan Ratna adalah bahwa keduanya memiliki method menyapa() yang dapat dipanggil dari luar class karena method tersebut public.
Jadi, abstraksi adalah tentang memperlihatkan mekanisme pada level tertinggi untuk menggunakannya dengan menyembunyikan kompleksitas yang terjadi ketika mekanisme pada level tertinggi tersebut bekerja.
Gimana? sangat mudah dipahami bukan? atau masih bingung? Jangan malu untuk bertanya! Tinggalkan pertanyaanmu pada kolom komentar yang ada di bawah.

Tutorial selanjutnya :

Web App Developer, Mobile App Developer and Startup Enterpreneur.

0 komentar:

Posting Komentar

GALIH LARAS PRAKOSO
-
Yogyakarta, Indonesia

SEND ME A MESSAGE