Anda di halaman 1dari 6

Pemrograman Berorientasi Objek Menggunakan Bahasa Pascal dan Java

Oleh : Eko Sugiharto, S.Kom


Pemrograman Berorientasi Objek Konsep pemrograman berorientasi objek adalah konsep pemrograman yang menggabungkan data (property) dan fungsi/prosedur (method) menjadi suatu kesatuan di dalam suatu Class. Class dapat didefinisikan sebagai prototipe/blue print yang mendefinisikan variabelvariabel dan method-method secara umum. Sedangkan Object adalah perwujudan dari suatu Class. Deklarasi variabel/data atau dalam istilah OOP adalah property/state dalam Pascal kita bisa menggunakan tipe data Record. Sedangkan method/behavior dalam bahasa Pascal kita kenal dengan Procedure ataupun Function. Untuk lebih memahami konsep pemrograman berorientasi objek menggunakan Pascal, mari kita bandingkan 3 kode program berikut ini : 1. Pemograman Dasar dasar Pascal
program LuasSegitiga; uses wincrt; {Deklarasi variabel} var alas:integer; tinggi:integer; luas:real; {Blok awal program utama} begin write(alas : ); readln(alas); Write(Tinggi : ); readln(tinggi); luas:=0.5*alas*tinggi; write(Luas : ,luas:0:2); end. {Blok akhir program utama}

2.

Pemrograman Terstruktur dan Prosedural dengan Pascal


program LuasSegitiga; uses wincrt; {Deklarasi variabel menggunakan record} type Segitiga = record alas:integer; tinggi:integer; luas:real; end; var sg : Segitiga; {Pembuatan prosedur untuk menghitung luas} procedure hitungLuas; begin sg.luas:=0.5*sg.alas*sg.tinggi; write('Luas : ',sg.luas:0:2); end; {Blok awal program utama} Begin write('Alas : '); readln(sg.alas); write('Tinggi : '); readln(sg.tinggi); hitungLuas; {Pemanggilan prosedur} end. {Blok akhir program utama}

3.

Pemrograman Berorientasi Objek dengan Pascal


program LuasSegitiga; uses wincrt; {Awal blok class Segitiga} type Segitiga = object alas:integer; tinggi:integer; luas:real; procedure hitungLuas; end; procedure Segitiga.hitungLuas; begin luas := 0.5 * alas * tinggi; writeln('Luas : ',luas:0:2); end; {Akhir blok class Segitiga} {Blok Awal Program Utama} var sg : Segitiga; begin write('Alas : '); readln(sg.alas); write('Tinggi : '); readln(sg.tinggi); sg.hitungLuas; end. {Blok Akhir Program Utama}

Dari ketiga contoh kode program diatas. Jika kita perhatikan contoh kode program pertama, ini adalah contoh program sederhana menggunakan bahasa Pascal. Berbeda dengan contoh kode program kedua. Program dibuat lebih terstruktur dengan penggunaan struktur data record, artinya variabel yang dideklarasikan dibuat menjadi satu kesatuan unit yaitu Segitiga. Kemudian proses perhitungan luas menggunakan prosedur, berbeda dengan contoh kode program pertama dimana proses perhitungan dikerjakan di bagian program utama. Selanjutnya jika kita bandingkan antara contoh kedua dengan contoh ketiga ada sedikit kemiripan dalam struktur program. Perbedaan yang sangat mendasar adalah, pada contoh kedua; struktur data record masih terpisah dengan prosedur hitungLuas. Artinya dalam suatu struktur record tidak dapat langsung di deklarasikan prosedur yang bisa dikerjakan oleh record tersebut. Tetapi jika kita lihat pada contoh ketiga, prosedur hitungLuas adalah bagian dari struktur data object (khusus pada bahasa Pascal, kata kunci Class menjadi Object).
type Segitiga = object alas:integer; tinggi:integer; luas:real; procedure hitungLuas; end;

Sehingga pada deklarasi tipe data object Segitiga, kita juga bisa menambahkan prosedur yang dapat dikerjakan oleh tipe data object Segitiga, meskipun di dalam Bahasa Pascal, struktur lengkap procedure hitungLuas terpisah di bawah struktur data object. Tetapi dalam penulisan struktur prosedur, di sana tertulis procedure Segitiga.hitungLuas; pada bagian Segitiga.hitungLuas mengisyarakatkan bahwa prosedur hitungLuas adalah benar-benar bagian dari Segitiga. Karena pada bagian procedure Segitiga.hitungLuas tertuliskan secara lengkap struktur algoritma prosedur hitungLuas yang telah dideklarasikan pada tipe data object Segitiga diatas. Sekilas kita bisa melihat ada persamaan antara struktur tipe record dengan struktur tipe object (class), perbedaannya adalah jika pada tipe record kita tidak bisa menambahkan prosedur di dalamnya, sedangkan menggunakan tipe object kita dapat menambahkan prosedur di dalamnya. Sehingga kalau kita simpulkan dengan bahasa yang sederhana, bahasa pemrograman berorientasi objek adalah konsep pemrograman yang dikembangkan dari bahasa prosedural, dimana suatu record mampu mempunyai prosedur untuk dikerjakan, atau suatu pendekatan pemrograman yang menggabungkan antara data dan fungsi menjadi suatu kesatuan. Sehingga istilah yang digunakan dalam bahasa pemrograman berorientasi objek adalah konsep pemrograman dengan pendekatan seperti halnya di dunia nyata, dimana suatu objek memiliki properti/state dan juga method/behaviour. Dan satu hal lagi jika ada pertanyaan besar, saat ini kita sedang membahas pemrograman berorientasi objek. Tetapi manakah sesungguhnya yang disebut dengan objek? Jika pada contoh program diatas, yang dimaksud dengan objek adalah sg.
var sg : Segitiga;

Dimana sg adalah perwujudan dari suatu class Segitiga yang mempunyai referensi terhadap class Segitiga yang telah dideklarasikan sebelumnya diatas.

Selanjutnya kita akan bahas pemrograman berorientasi objek menggunakan Java dimana bahasa Java adalah bahasa pemrograman yang mendukung sepenuhnya konsep pemrograman berorientasi objek. Editor yang digunakan pada contoh ini adalah Netbeans IDE, dengan tujuan agar penulisan kode program lebih cepat dan mudah. Langkah-langkah yang harus dilakukan adalah : 1. Aktifkan Netbeans IDE 2. Tambahkan New Project bertipe Java Application 3. Ketik LuasSegitiga pada Project Name 4. Tentukan Project Location untuk menyimpan Project yang kita buat 5. Non aktifkan ceklis pada Create Main Class, kemudian klik Finish

6.

Tambahkan New Java Class pada project yang telah kita buat dengan cara klik kanan pada project LuasSegitiga, pilih New Java Class

7.

Ketik Segitiga pada Class Name dan main pada Package, kemudian klik Finish

8.

Kemudian ketik program berikut ini :

9.

Kemudian tambahkan 1 New Java Class untuk membuat perwujudan atau implementasi dari class Segitiga yang telah dibuat sebelumnya 10. Ketik tester pada Class Name dan main pada Package, kemudian klik Finish 11. Kemudian ketik kode program berikut ini :

12. Untuk menjalankan kode tersebut tekan tombol Shift + F6 Penjelasan Kode Program Jika kita perhatikan file pertama adalah class Segitiga, class tersebut hanya mendefinisikan variabel-variabel atau properti dari segitiga dan juga prosedur atau method hitungLuas untuk proses hitung luas segitiga. Kemudian pada file yang kedua yaitu class tester, class tester tersebut akan menciptakan sebuah objek bernama sg, dimana objek sg tersebut akan memegang referensi atau member dari class Segitiga. Kode tersebut adalah proses pembuatan objek bernama sg, sebagaimana yang telah dijelaskan di paragrap sebelumnya. Sehingga objek sg tersebut dapat memiliki variabel yang dimiliki oleh class Segitiga dengan menuliskan sg.alas dan sg.tinggi, begitupun jika kita ingin menggunakan prosedur/method yang dimiliki oleh class Segitiga yaitu hitungLuas(), dengan cara menuliskan sg.hitungLuas(); Cukup mudahkan konsep pemrograman berorientasi objek dari dua contoh diatas? Baik menggunakan bahasa Pascal maupun menggunakan bahasa Java. Meskipun kalau kita lihat, bila kita menggunakan bahasa Pascal semua kode program ditulis pada file yang sama. Sedangkan menggunakan bahasa Java kita bisa membuat pada file yang berbeda. Sehingga pemrograman tersebut betul-betul menggunakan konsep modular, artinya kode program dapat dipecah menjadi modul-modul yang sesuai dengan spesifikasi pekerjaannya. Meskipun sebenarnya dalam Java kita juga dapat menulis kode program dalam satu file. Sehingga inti dari pemrograman berorientasi objek adalah konsep pemrograman yang memfokuskan pada pembuatan Class sebagai deklarasi awal dari variabel-variabel dan juga prosedur-prosedur atau method-method yang dibutuhkan, setelah pembuatan Class selesai baru kita membuat Object atau implementasi dari suatu Class yang telah dibuat sebelumnya. Dan akhirnya semoga dengan bahasan singkat ini, konsep pemrograman berorientasi objek dapat dipahami, sehingga sebelum kita mengkaji lebih dalam tentang keunggulan dan karakteristik pemrograman berorientasi objek seperti Encapsulation, Inheritance dan Polymorphism, kita sudah memahami konsep dasar dari pemrograman berorientasi objek. Terima kasih dan semoga bermanfaat.