Logo OOP Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 1               Selama hampir sepuluh tahun belakangan ini te...

Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 1

http://historyrahmat.blogspot.com/2016/08/mengenal-pemrograman-berorientasi-objek.html
Logo OOP

Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 1

              Selama hampir sepuluh tahun belakangan ini telah di perkenalkan paradigma pemrograman baru yang di kenal dengan konsep Pemrograman Berorientasi Object (PBO) atau Object Oriented Programming (PBO). Konsep ini, membagi program menjadi objek-objek yang saling berinteraksi satu sama lain.


Keuntungan Menggunakan Paradigma Pemrograman Berorientasi Objek:
Ada 6 keuntungan yang dapat di peroleh apabila seorang pengembang perangkat lunak menggunakan Paradigma OOP :
1.      Alami (Natural)
2.      Dapat diandalkan (Reliable)
3.      Dapat digunakan kembali (Reusable)
4.      Mudah untuk di-pelihara (Maintainable)
5.      Dapat di-perluas (Extendable)
6.      Efisiensi waktu

Berikut ini beberapa bahasa pemrograman yang mendukung konsep paradigma OOP :
1.      C++
2.      Visual C++
3.      Delphi
4.      Visual Basic
5.      JAVA

Berikut adalah pembahasan mengenai komponen-komponen dasar pemrograman berorientasi objek :

Objek

            Objek adalah benda, baik yang berwujud nyata seperti di jumpai dalam kehidupan kita, maupun yang tidak berwujud nyata, seperti halnya yang berupa sistem maupun konsep. Dalam Object Oriented Programming (OOP), objek adalah unit terkecil pemrograman yang masih memiliki data (sifat karakteristik) dan fungsi.


           Seperti halnya sepatu yang kita pakai, buku yang kita baca, mobil yang kita kendarai, kacamata yang kita gunakan, nasi yang kita makan, dan Smartphone yang digunakan untuk mencari informasi di dunia maya, semuanya adalah benda yang merupakan objek. Pembayaran tagihan internet telkom, sistem antrian pembayaran spp di akademik, penyimpanan uang di bank, sampai mengirim data melalui bluetooth, meskipun bukan benda nyata, namun kesemuanya juga merupakan objek.
               Bagi teman-teman yang pernah mempelajari bahasa pemrograman lain seperti Delphi, Visual Basic, atau Visual C++, pada saat mendesain layout grafis user interface tentulah tidak asing lagi denga komponen COMMAND BUTTON, EDITTEXT, LABEL, MESSAGEBOX, PROGRESSBAR, dan sebagainya yang merupakan objek. Masing-masing komponen memiliki data atau yang biasa dikenal sebagai sifat(properties), dan juga fungsi (method).
http://historyrahmat.blogspot.com/2016/08/mengenal-pemrograman-berorientasi-objek.html
Objek Pena
Kelas
            Kelas adalah wadah yang berisi abstraksi (pemodelan) dari suatu objek (benda), yang mendeskripsikan data (sifat karakteristik) dan fungsi yang dimiliki oleh objek tersebut. Karena kelas merupakan wadah yang akan digunakan untuk menciptakan objek, maka jelaslah bahwa ketika akan membuat suatu objek sebelum nya terlebih dahulu membuat suatu kelas.


            
             Hubungan antar kelas dan objek dapat diilustrasikan sebagai resep kue dengan kuenya, dimana resep kue adalah kelas dan kue adalah objeknya. Sebelum membuat kue, kita harus membaca dan mempelajari resep kue terlebih dahulu. Dalam resep disebutka data mengenai kue, yaitu bahan-bahan yang diperlukan serta fungsi-fungsi yaitu bagaimana cara mengolah bahan tersebut hingga menjadi kue yang siap disajikan. Pada OOP, kita tidak hanya menggunakan resep kue yang sudah ada untuk membuat kue, namun juga menciptakan resep-resep kue yang yang baru sesuai selera kita. Oleh sebab itu, yang menjadi fokus dalam OOP adalah bagaimana menciptakan dan mendefinisikan kelas yang kelak menjadi wadah untuk membuat objek-objek.
http://historyrahmat.blogspot.com/2016/08/mengenal-pemrograman-berorientasi-objek.html
Illustrasi Kelas Kue
Instance (Instans)
            Objek dapat juga di katakan sebagai instans (instance) dari suatu kelas. Maksudnya, objek merupakan perwujudan dalam bentuk benda; baik berupa benda nyata, maupun konsep, sesuai dengan deskripsi yang telah di definisikan oleh kelas. Proses pembentukan objek dari suatu kelas disebut instansiasi (instantiation).


               Dari ilustrasi sebelumnya, Speaker merupakan instans dari kelas Alat Musik yang memiliki data (sifat karakteristik) pengubah gelombang lstrik menjadi gelombang suara, memiliki fungsi sebagai pengeras suara, memiliki bentuk yang beragam : ada yang berbentuk tabung, persegi, balok, dll. Smartphone merupakan instans dari kelas Alat Elektronik yang memiliki data mudah di bawa, berbentuk unik sesuai selera pengguna, dan memiliki fungsi sebagai pengirim pesan,  pemberitahu pesan, pemutar musik, pengambil gambar, dll. AC merupakan instans dari kelas Alat Rumah Tangga, dan seterusnya.

Data ↔ Variabel ↔ Property

            Data adalah sifat karakteristik atau kondisi yang dimiliki oleh suatu objek. Ketiga istilah tersebut (data, variable, property) memiliki pegertian yang sama, dan dapat digunakan/dianalogikan secara bergantian untuk lebih memperjelas suatu konsep. Di dalam berbagai pengertian ada yang menggunakan istilah atribut (attribute). Dalam OOP, istilah data lebih cenderung diartikan sebagai variable yang membentuk sifat karakteristik dari suatu kelas. 

   Sebagai illustrasi, teman-teman ingin  membuat kelas SepatuSport, yang memiliki objek diantaranya : sepatu futsal, sepatu sepakbola, sepatu tennis, sepatu basket, dan sebagainya. Karena kelas merupakan abstraksi dari objek, maka pemilihan data haruslah yang dapat mempresentasikan objek secara umum. Beberapa data yang dapat di gunakan, yaitu ukuran, berat, bahan pembuat sepatu(kulit,  sintetis, canvas, karet, denim), warna, dan tekstur.
            Dari kelas MamaliaLaut, dapat diinstans objek-objek paus, lumba-lumba, pesut, anjing laut, singa laut, gajah laut dan dugong[ikan duyung]). Data dari kelas ini adalah :  bentuk sirip, jenis makanan, ekor, mulut, dan sebagainya.

Method ↔ Prosedur/Fungsi ↔ Behavior
            Method adalah prosedur/fungsi yang dimiliki oleh sebuah objek. Karena pada dasarnya merupakan prosedur/fungsi, maka method ini akan mengolah atau mengubah data/variabel yang ada di dalam objek sesuai dengan operasi yang telah ditentukan. Dari proses tersebut akan terjadi tiga kemungkian, yaitu :
1.      Menghemat suatu nilai akhir.
2.      Mengembalikan nilai yang bersifat sementara untuk kemudian diumpamakan ke method lain.
3.      Tidak mengembalikan nilai sama sekali.

          Seperti halnya data, keempat istilah method/prosedur/fungsi/behavior memiliki pengertian yang sama, namun teman-teman akan lebih banyak menggunakan istilah method


Dari kelas MamaliaLaut, selain data yang telah didefinisikan sebelumnya, teman-teman juga dapat menentukan method yang telah dimiliki oleh kelas tersebut. Ambilah method cara mamalia-mamalia bersuara, sehingga untuk paus akan bernilai ”mengaung”, anjing laut “menggaug”, singa laut “aaarrrrg”. Data dan method ini harusdideklarasikan dan didefinisikan di dalam ClassBody.

Hierarki Kelas
            Suatu kelas dapat dibuat sebagai kelas yang benar-benar baru atau dapat dibentuk dari kelas yang sudah ada. Baru disini dalam pengertian, semua data dan method yang dimiliki oleh kelas tersebut dideskripsikan dan dibuat sendiri, sedangkan bila membentuk dari kelas yang sudah ada bermakna menggunakanan data dan method yang telah dideskripsikan dalam suatu kelas acuan (fundamen). Proses pembentukan kelas baru dari kelas yang sudah adadisebut sebagai pewarisan (inheritance). Kelas yang menjadi basis bagi pembentukan kelas lainnya disebut sebagai Super Class (Kelas Super / Kelas Induk), sedangkan kelas yang terbentuk dinamakan Sub Class (Kelas Sub / Kelas Anak).
            Proses pewarisan ini akan menghasilkan suatu hierarki kelas. Kelas yang terletak pada puncak hierarki disebut sebagai Abstract Class (Kelas Abstrak). Sifat dari kelas abstrak adalah hanya berisi deskripsi data dan method yang sangat umum, sehingga tidak mungkin diimplementasikan secara terperinci. Oleh sebab itu, kelas abstrak ini tidak dapat langsung diinstansiasi menjadi objek.

http://historyrahmat.blogspot.com/2016/08/mengenal-pemrograman-berorientasi-objek.html
Hirarki Kelas Mamalia Laut


Sebagai ilustrasi, tinjaulah hierarki kelas dari kelas MamaliaLaut, yang memiliki objek (instans) berupa ­­­ paus, lumba-lumba, pesut, anjing laut, singa laut, gajah laut dan dugong[ikan duyung]). Kelas tersebut dihasilkan dari pewarisan kelas Mamalia, yang merupakan Kelas Sub dari Kelas Hewan, dan seterusnya sampai ke puncak kelas, yaitu Kelas Mahluk Hidup. Dalam ilustrasi, Kelas Mahluk Hidup adalah kelas abstrak. Kita tidak mungkin menginstans objek-objek tersebut langsung dari Kelas Mahluk Hidup karena hanya mengandung deskripsi data dan method yang sangat umum. Data bisa berupa organ-organ tubuh, sedangkan method berupa bernafas, makan, berkembang biak, dan sebagainya.

Sekian sharing pengetahuan mengenai Pemrograman Berorientasi Objek pada bagian 1 ini dari saya. Semoga Bermanfaat :D

Sumber : Menguasai Java 2 & Object Oriented Programming (Benny Hermawan)


Baca Juga : Mengenal Pemrograman Berorientasi Objek (PBO) Bagian 2

2 komentar: