Belajar konsep OOP (Object Oriented Programming).
Pada tutorial kali ini kita akan belajar konsep object oriented programming (OOP). Di sini kita akan mendalami bagaimana pengertian oop dalam dunia programming. Dalam pemograman OOP programmer memandang aplikasi perangkat lunak sebagai suatu kumpulan object yang saling berkaitan satu dengan yang lainnya. Jadi di sini dapat kita katakan programmer membagi program ke dalam beberapa fungsi, yang mana tiap-tiap fungsi memiliki tugasnya masing-masing. Konsep OOP ini memberikan keuntungan pada programmer berupa kemudahan dalam mengelola suatu aplikasi yang komplek.
Dengan adanya konsep OOP dalam programming, para programmer jadi mudah untuk berkomunikasi satu dengan lainnya dalam mengerjakan suatu project programming. Pada pemograman OOP, pemograman dibuat dalam bentuk class-class, yang mana masing-masing class tersebut dibuat dengan melengkapinya dengan interface sehingga class tersebut bisa dihubungi dari class lainnya. Interface yang melengkapi class tersebut standarnya harus memiliki:
- Nama
- Tugas interface
- Cara menggunakannya
- Hasil yang didapatkan
Dari teknik OOP ini, akan dihasilkan suatu aplikasi yang memiliki struktur pemograman yang baik, tersusun rapi, data hanya dapat diubah menggunakan fungsi-fungsi yang disediakan di dalam class tersebut. Dan jika dalam suatu class terjadi kesalahan atau bug, programmer dapat lebih mudah mencari kesalahan tersebut, memperbaikinya sehingga tidak mengakibatkan terjadinya kesalahan pada class lainnya.
Tujuan sebenarnya dari OOP adalah memisahkan antara tampilan dan implementasi. Dengan adanya hal tersebut tingkat ketergantungan antar modul akan menjadi kecil. sehingga jika kita merubah satu modul, maka modul yang lain tidak akan terganggu dengan adanya perubahan tersebut.
Dalam pemograman berbasis object oriented programming terdapat konsep dasar dalam melakukan pemograman. Adapun konsepnya adalah:
- Abstraction
- Object
Adalah suatu teknik pemograman untuk menentukan ciri,sifat, atau informasi yang penting dari suatu object, mana yang akan disembunyikan atau ditampilkan. Sebagai contoh dalam kanehidupan sehari-hari misalnya adalah mengendarai sebuah motor. Sewaktu kita mengendarai sepeda motor. Kita hanya tahu, rem, tombol starter, pemutar kecepatan motor lampu-lampu indikator dan klakson. Kita tidak pernah tahu bagaimana mesin dari motor tersebut bekerja. Jadi kurang lebih abstraction itu seperti yang telah saya contohkan barusan
Adalah merupakan elemen dasar dari pemograman berorientasi objek. Bisa juga dikatakan bahwa objek adalah abstraksi sesuatu dalam dunia nyata.Contoh-contoh objek dalam dunia nyata adalah manusia, benda, bussiness system dan lainnya. Yang akan kita gunakan sebagai contoh adalah buku rekening tabungan. Buku rekening tabungan memiliki atribut dan metoda. Beberapa atribut yang terdapat pada buku tabungan antara lain nomor tabungan, nama pemilik rekening serta saldo tabungan yang terdapat dalam buku tabungan. sedangkan metoda dari objek rekening yaitu informasi data rekening, melihat jumlah saldo, penarikan uang serta penyetoran uang.
- Detail dari implementasi, seperti bagaimana proses logika serta seperti apa struktur data di dalam objek tidak akan diketahui dari luar objek tersebut, prinsip seperti ini dinamakan dengan enscapsulation. Jadi dari penjelasan tentang abstract dan enscapsulation sangat erat hubungannya. Jadi letak perbedaan antara abstract dan enscapsulation adalah di dalam abstract dilakukan pemilihan mana informasi yang akan ditampilkan dan mana informasi yang akan disembunyikan, sedangkan enscapsulation adalah teknik menyembunyikan informasi yang seharusnya disembunyikan dan mana yang akan ditampilkan.
- Class
Contoh dari class ini adalah misalnya kita ambil contoh rekening tabungan, objek rekening tabungan saya, objek rekening tabungan adik saya, objek rekening tabungan istri saya merupakan instance(contoh) dari sebuah class dengan nama rekening tabungan. Di dalam objek rekening tabungan tersebut terdapat beberapa attribut seperti nomor rekening, nama pemilik rekening, jumlah saldo dan lain sebagainya.
- Attribut-attribut di dalam class ini disebut dengan nama instance variabel.
- Inheritance
Inheritance adalah pembuatan class baru berdasarkan pada class yang telah ada sebelumnya. Jadi class baru yang kita buat ini mewarisi sifat-sifat class sebelumnya disebut subclass. Dan class baru yang mewariskan sifat-sifatnya sebelumnya disebut superclass. Class baru bisa memodifikasi metoda-metoda class yang ada diclass sebelumnya (override). Bahkan dapat menambahkan metoda-metoda baru yang belum ada pada superclass.
- Penggunaan inheritance ini membuat adanya tingkatan-tingkatan pada class yang dinamakan dengan class hierarchy. Class hierarchy ini tidak dibatasi dua tingkatan tapi bisa juga banyak tingkatan. Tingkatan yang paling atas dari class hierarchy dinamakan base class
- Polymorphism
Adalah suatu objek yang dapat mempunyai berbagai macam bentuk yaitu sebagai objek dari classnya sendiri maupun sebagai objek dari superclassnya.Polymorphism ini terdiri dari dua bentuk yaitu overloading dan overriding.
- overloading adalah penggunaan satu nama pada beberapa metoda yang berbeda dalam sebuah class. Jadi metoda yang namanya sama akan dibedakan satu sama lain berdasarkan parameter yang disediakan oleh masing-masing metoda
- overriding adalah membuat sebuah metoda yang mempunyai metoda dan parameter yang sama sehingga metoda yang ada di superclass akan ditimpa oleh metoda yang ada di sub class.
- Hubungan antar class
Pada saat anda membuat pemograman berorientasi objek akan terlihat bahwa satu class akan berhubungan dengan class-class lainnya. Hubungan antar class ini terdapat dalam tiga macam bentuk antara lain:
- Generalization adalah hubungan antar class di mana class yang satu merupakan generalization dari class yang lebih spesifik. Class yang general dinamakan superclass dan class yang lebih spesifik dinamakan subclass. Biasanya Generalization disebut juga dengan inheritance seperti yang sudah dijelaskan sebelumnya. Contohnya adalah: Class Tabungan memiliki subclass tabungan haji, tabungan pendidikan dan tabungan pensiun. Class yang memiliki satu superclass dinamakan single inheritance. Class yang memiliki lebih dari satu superclass dinamakan multiple inheritance. Class yang tidak memiliki superclass dinamakan baseclass.
- Dependency adalah ketergantungan antara satu class dengan class lainnya. Contoh disini misalnya class mesin memiliki dependency dengan class motor. Jadi apabila class mesin diubah maka kondisi dari class motor akan berubah
- Association adalah hubungan secara struktural yang mengkhususkan bahwa objek dari sebuah class berhubungan dengan objek class lainnya atau sebaliknya. Contoh class dosen memiliki hubungan many to many dengan class universitas yang artinya dosen bisa mengajar di universitas dan universita bisa memiliki banyak dosen. Jadi hubungan Association ini tidak memiliki class yang superior. Tiap classnya memiliki hubungan yang setara satu dengan yang lainnya.
Demikianlah artikel saya
0 komentar:
Post a Comment
Note: Only a member of this blog may post a comment.