Sabtu, 11 Oktober 2008

Pemrograman Berorientasi Objek “Objec Oriented Programming” (OOP)

Pemrograman berorientasikan objek adalah suatu implementasi bahasa pemrograman yang berorientasikan pada suatu objek. Dimana semua data dan fungsi pada program tersebut dibungkus dalam kelas – kelas atau objek – objek. Jika dibandingkan dengan bahasa pemrograman sebelumnya yaitu bahasa procedural murni jika akan membuat suatu program tentunya kita harus berkosentrasi dengan pembuatan variable, konstanta, dan fungsi – fungsi untuk mendukung proses yang akan dijalankan betapa rumitnya jika di dalam program tersebut terdapat puluhan fungsi yang harus kita buat. Dari kerumitan itu muncul metode pemrograman baru yang mempermudah dalam proses implementasinya karena suatu masalah dalam pemrograman itu diorientasikan pada suatu objek. Model data berorientasi objek dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik piranti lunak skala besar. Keuntungan lain menggunakan metode OOP adalah program lebih terstruktur, dapat digunakan ulang, dan lebih mudah dikembangkan.
Suatu bahasa pemrograman dapat mendukung OOP apabila mengimplementasikan :
• Kelas
• Objek
• Abstraksi (Abstraction)
• Pembungkusan (Encapsulation)
• Pewarisan (Inheritance)
• Polimorfisme / kebanyakrupaan (Polymorphism)

Anggapan lain yang membuat metode OOP lebih menonjol yaitu OOP lebih mudah dipelajari oleh para pemula di bandingkan dengan bahasa murni atau prosedural yang lebih menawarkan kerumitan.

Abstraksi (Abstraction) : abstraksi dapat dikatakan sebagai penyembunyian detail atau kerumitan program pada suatu kelas sehingga user tidak perlu memahami secara lebih jauh tentang pembuatan kelas itu sendiri. Sebagai contoh asumsikan sebuah Sepeda Motor pabrikan sepeda motor tentunya tidak akan memberitahukan pada pemakai motor bagaimana cara kerja komponen motor tersebut sehingga user hanya mengetahui bagaimana motor tersebut berfungsi sebagaimana mestinya.

Pembungkusan (Encapsulation) : Proses dan data – data pada Abstraksi pada nantinya akan di bungkus ke dalam sebuah kelas. Contohnya, umur, nama, usia, id dibungkus dalam sebuah kelas tersendiri yaitu dengan nama kelas TMahasiswa.

Pewarisan (Inheritance) :

dalam pemrograman berorientasi objek dikenal istilah pewarisan yaitu, suatu kelas dapat diturunkan menjadi kelas lain sehingga dapat membentuk suatu hirarki. Kelas yang menjadi sumber kelas disebut kelas induk sedangkan kelas hasil dari proses penurunan disebut dengan kelas turunan. Dalam prosesnya kelas turunan akan mewarisi sifat dari kelas induknya. Contohnya apabila kita membuat suatu form baru pada Delphi maka pada unit1 akan dihasilkan :
TForm1 = class (TForm)

End;
Dari contoh diatas dapat kita lihat bahwa telah terbentuk kelas turunan dengan nama TForm1 yang akan mewarisi sifat induknya TForm.

Polimorfisme (polymorphism) : konsep kebanyakrupaan dalam sebuah program disebut dengan polymorfisme, maksud dari polymorfisme yaitu dapat diperbaharui pada kelas – kelas turunannya. Dapat diartikan lagi polymorfisme yaitu membentuk sesuatu yang berbeda dengan cara atau method yang sama. Fungsi atau prosedur yang terdapat pada kelas turunan dapat juga memiliki implementasi yang berbeda dari kelas induknya proses pembaharuan seperti ini disebut dengan Override (penimpaan). Contoh kodenya :
TInstansi = class

procedure kerja; virtual;

end;

TProgramer = class (TInstansi)

procedure kerja; override;

end;
TStaf = class (TInstansi)

procedure kerja; override;

end;
dari kode diatas terdapat satu kelas induk dengan nama TInstansi dan dua buah kelas turunan dengan nama TProgramer dan TStaf. Bila kita jalankan method kerja maka TProgramer dan TStaf akan memberikan hasil yang berbeda meskipun cara pemanggilannya sama.

Inti dari konsep OOP yaitu kelas dan objek, kelas (class) adalah suatu type data yang didefinisikan oleh user, yang memiliki data dan beberapa operasi didalamnya. Data merupakan bentuk representasi dari sebuah kelas dan operasi merupakan perilaku – perilaku yang dimiliki oleh kelas tersebut. Data di dalam kelas dapat berupa field maupun properti sedangkan operasi dapat berupa prosedur maupun fungsi. Contoh kode sebuah class :

TMahasiswa = class
Private
FUmur: integer;
FNama: string;
FId: string;
Procedure SetUmur (const Value: integer);
Procedure SetNama (const value: string);
Procedure SetId (const value: string);
Public
Property Umur : integer read FUmur write SetUmur;
Prorerty Nama : string read FNama write SetNama;
Property Id : string read FId write SetId;
end;
dari kelas TMahasiswa FUmur, FNama, FId disebut dengan field sedangkan Id, Nama, dan Umur disebut dengan properti. Prosedur dari kelas TMahasiswa yaitu SetUmur, SetNama, dan SetId.

Objek adalah sebuah wujud nyata dari suatu kelas atau variable dari tipe kelas yang telah didefinisikan. Dapat diartikan hubungan antara objek dan kelas seperti variable dengan type datanya.

Pemrograman Prosedural

Pemrograman prosedural yaitu mekanisme menyeleasikan suatu masalah dengan prosedural memandang penyelesaian masalah sebagai hasil dari serangkaian langkah yang menyelesaikan sub masalah. Dalam pemrograman prosedural masalah diselesaikan dengan menggunakan langkah-langkah yang berurutan yang disebut sebagai suatu algoritma. Selain sangat intuitif bagi programmer, cara penyelesaian prosedural ini juga merupakan cara yang paling alami bagi komputer.

Konsep Pemrograman Prosedural :
Elemen bahasa pemrograman prosedural yang penting adalah:
1. Program utama
2. Tipe
3. Konstanta
4. Variabel
5. Ekspresi, operator, dan operand
6. Struktur Data
7. Instruksi dasar
8. Program Moduler
9. File eksternal
10. Rekurens

jika kita lihat elemen di atas merupakan sebuah rangkaian yang harus dilakukan dalam prosedural, berbeda dengan OOP yang keseluruhan elemen terbungkus dalam suatu objek. Namun adakalanya kita wajib memahami konsep prosedural sebelum melangkah ke OOP, dengan prosedural kita akan lebih mudah dan terarah dalam pengembangan objek.

Tidak ada komentar: