Selasa, 20 Juli 2010

Object Oriented Program

1. Pandangan Umum
Sebelum adanya program yang berorientasi atau berbasis pada Windows, pada umumnya pemograman rata-rata merupakan berbasis Teks, seperti PASCAL, BASIC, Cobol, Dbase, Bahasa C dll yang mempunyai kriteria penulisannya yaitu dari atas ke bawah, dan cara eksekusi programnya dilakukan dari atas ke bawah juga secara linier atau segaris, sehingga pemograman semacam ini disebut dengan istilah Linier Programming.
Dengan berkembangnya evolusi komputer dalam sistem operasi Windows, maka diikuti pula dengan perkembangan Bahsa Pemograman yang ditekankan pada tampilannya baik berupa visual maupun grafis yang merupakan metode baru untuk melakukan perancangan lunak, sehingga dikenal dengan istilah Object Oriented Program (OOP).
Didalam pemograman OOP memiliki sifat Abstrak, dalam artian bahwa pemakai (User) tidak perlu mengetahui kerumitan dari sebuah Objek tetapi pemakai hanya perlu mengetahui apa yang bisa dilakukan oleh objek dan bukan mengetahuibagaimana cara objek tersebut melakukannya. Contohnya adalah seperti
  1. Visual Fox Pro
  2. Visual C ++
  3. Visual Delphi
  4. Visual Basic
Definisi Linier Programming adalah Bahsa Pemograman yang berbasiskan teks yang penulisannya dan eksekusi programnya dilakukan dari atas ke bawah dengan sistem Operasi Non Windows.

Definisi Object Oriented Programming (OOP) adalah Bahasa Programming berbasiskan Visual atau bersifat Grafis yang penulisan programnya dilakukan dengan sistem Modul dengan sistem Operasi Windows.
Kelebihan OOP, yaitu:

  • Memiliki sarana yang bersifat Virtual (grafis)
  • berorientasi Objek
  • bekerja didalam OS Windows
  • menghasilkan program aplikasi berbasis Windows
  • dapat memanfaatkan Windows untuk aspek Grafis, multimedia, multitasking.

2. Tujuan OOP

Tujuan utama dari pengembangan perangkat keras dan lunak atau OOP yaitu:
  1. Untuk mempersingkat waktu dan menurunkan biaya pengembangan perangkat lunak. Yaitu program dapat didaur ulang, karena setiap objeknya dapat digunakan berulang-ulag dalam program yang sama ataupun program yang berlainan.
  2. Menurunkan biaya perawatan perangkat lunak, karena setiap objeknya berdiri sendiri maka bila ada perubahan atau perbaikan yang dilakukan pada objek tidak akan mempengaruhi komponen lain dalam modul yang digunakannya.
  3. Meningkatkan produktifitas program yaitu dengan meningkatkan extensibilitas dan kreatifitas program.
  4. Berguna untuk pembuatan sistem secara cepat. Yaitu tidak perlu membuat atau pengetikan kode program untuk menampilkan suatu objek akan tetapi cukup hanya menekan tombol Mouse (meng-klik) pilihan suatu objek.
3. Klasifikasi Objek
Ada 3 konsep dasar klasifkasi objek, yaitu:
  • Pengkapsulan (Encapsulation)
Yaitu penggabungan data dan metode kedalam satu kesatuan yang disebut kelas, atau merupakan gabungan beberapa tipe data dengan prosedur dan fungsi yang membentuk suatu tipe data baru.

Pada konsep Pengkapsulan juga terdapat penyembunyian informasi di dalam objek, baik berupa data maupun fungsi atau prosedur, sehingga hanya dengan Interface maka kita dapat mengakses datanya, contoh :

Kelas Mobil mempunyai metode menghidupkan Mesin dan kita sebagai Pengendara mobil, tidak perlu tahu bagaimana metode kerja menghidupkan mesin mobil dan tidak perlu tahu komponen data apa saja yang ada dalam mesin, Yang kita boleh tahu hanya memutar kunci dah menghidupkan Mesin Mobil.

Didalam suatu program yang berhubungan dengan Penyembunyian Informasi yaitu dengan Kontrol Akses yang dapat membatasi hak akses kelas atau fungsi lain terhadap data dan metode dari suatu kelas. Sebagai contoh yang berhubungan dengan Kontrol Akses yaitu dengan Instruksi Publik dan Private.

Public : berarti anggota kelas tersebut hanya dapat diakses dari kelas atau prosedur lain.
Private: berarti anggota kelas tersebut hanya dapat diakses dari kelas atau prosedur pada unit yang sama.
  • Pewarisann (Inheritance)
Yaitu Penurunan sifat yang dapat membuat sebuah Objek baru yang sama dengan Objek sebelumnya yang telah didefinisikan.

Atau Pewarisan dapat didefinisikan membuat kelas baru yang memiliki data dan metode dari kelas lain, tetapi juga memiliki data dan metode sendiri.

Karakteristik suatu Objek diturunkan atau diwariskan ke Objek lain, sehingga Objek yang baru akan memiliki karakteristik yang sama dengan Induknya. dimana setiap Objek baru atau Objek turunannya dapat mengakses semua data dan program yang dimiliki oleh Objek Induknya.

Sebagai Contoh :
Kelas binatang bisa diturunkan atau diwariskan menjadi kelas mamalia, akan tetapi kelas mamalia juga memiliki data dan metode sendiri yang tidak dimiliki kelas binatang lainnya. Begitu juga untuk kelas mamalia memiliki keturunan kelas, seperti Kelas Kerbau, Sapi, Kera dan sebagainya.
Selain kelas mamalia, kelas binatang juga masih memiliki keturunan kelas lain, seperti kelas Ikan, Burung, Serangga, Reptil dan sebagainya.
  • Polimorphism (Banyak Bentuk)
Dengan Polimorphism dapat membuat sebuah Objek baru yang menunjukkan fungsi yang sama dengan Objek Induknya. Namun Fungsi yang sama tersebut memiliki Bentuk Operasi yang berbeda-beda, dalam artian bahwa Objek atau kelas yang diturunkan atau diwariskan menjadi beberapa kelas yang sama tetapi Implementasinya berbeda.

Sebagai contoh :
Kelas Binatang Mamalia, seperti kelas Kerbau mempunyai metode berjalan dan Kelas Kera mempunyai metode berjalan juga, tetapi cara berjalan antara kerbau dan kera tentu tidak sama (Kerbau berjalan dengan empat kaki, sedangkan Kera berjalan dengan dua kaki).