Menurut Bjane Stroustrup dalam sebuah papernya yang berjudul What is “Object Oriented Programing”? paradigma dalam OOP adalah “Tentukan kelas yang kita inginkan; lengkapi sederetan operasi untuk setiap kelas; tentukan struktur secara eksplisit dengan pewarisan”. Sedangkan procedural programming berparadigma “Tentukan procedur yang kita inginkan; Gunakan algoritma terbaik yang bias ditemukan”. Procedural programming berorientasi pada aksi, sedangkan object oriented programming berorientasi pada objek.
A. Procedural Programing
Pemrograman terstruktur tradisional terdiri atas perancangan struktur data dan memanipulasinya dengan fungsi-fungsi dengan suatu cara tertentu yang secara teori bias berhenti. Fungsi-fungsi ini yang biasa dikenal dengan algoritma. Niklaus Wirth, memberikan judul bukunya Algorithms + Data Structures = programs. Dari judulnya secara tidak langsung beliau mengatakan bahwa algoritma dahulu struktur data kemudian. Pada awalnya, pikirkan dahulu bagaimana memanipulasi data, baru menentukan struktur data apa yang tepat digunakan agar manipulasinya menjadi mudah.
Pada pemrograman tradisional atau procedural (disebut process oriented mode), semua data dan kode digabung menjadi satu bagian dalam satu program. Untuk program-program sederhana yang hanya membutuhkan beberapa buah baris kode, penggunaan model ini tentu tidak begitu menjadi masalah. Permasalahan akan timbul pada saat program tersebut berkembang ke arah yang lebih besar dan kompleks, yang mungkin membutuhkan ratusan atau bahkan ribuan baris kode.
B. Object Oriented Programing(OOP)
Dalam pemrograman berorientasi objek, setiap objek akan memilih data (sifat berupa variable atau konstanta) dan method (perilaku atau kemampuan melakukan sesuatu dengan fungsi). Jadi Objek dapat di defenisikan sebagai suatu entitas yang memiliki data dan method.
Contoh:
Manusia adalah suatu objek yang memiliki data-data:
a. Nama
b. Jenis kelamin
c. Tinggi badan
d. Berat badan
e. Golongan darah
Manusia memiliki method:
a. Cara bicara
b. Cara berjalan
c. Cara marah
d. Sifat
Kata kunci procedural programming adalah dekomposisi masalah menjadi banyak fungsi. Cara ini cukup efektif untuk masalah kecil dan sederhana, namun masalah yang jauh lebih besar, pendekatan dengan Kelas/Objek memberikan manfaat lebih. Pertama, Kelas menyediakan mekanisme pengelompokan yang memudahkan bagi kita. Sebab program yang membutuhkan 2000 fungsi mungkin hanya membutuhkan 100 kelas dengan masing-masing kelas rata-rata memiliki 20 operasi. Kelas menyembunyikan (mengengkapsulasi) representasi data dari semua kode program kecuali operasinya saja. Jika sebuah bug program mengacaukan sebuah item data, lebih mudah mencari penyebabnya di antara 20 operasi daripada di antara 2000 fungsi.
Object Oriented Programing
Tidak ada komentar:
Posting Komentar