Rabu, 07 Juli 2010

PEMROGRAMAN BERORIENTASI OBYEK DENGAN JAVA

8.1. KONSEP PEMROGRAMAN BERORIENTASI OBYEK
Pemrograman Berorientasi Obyek (Object Oriented Programming – OOP)
adalah programming paradigm yang menggunakan obyek dan interaksinya untuk
merancang aplikasi dan program komputer. OOP tidak banyak digunakan
sebelum awal tahun 1990an. Tapi sekarang menjadi sesuatu yang sudah lumrah
digunakan. Bahasa-bahasa pemrograman seperti keluarga dotNet dari Microsoft
(Visual Basic.Net, Visual C#, dan Visual J), Borland Delphi, Java, Phyton, PHP
versi 5 ke atas, C++ dan banyak lainnya merupakan bahasa pemrograman yang
mendukung konsep OOP.
Apakah obyek itu? Semua benda yang ada didunia ini dapat kita sebut
sebagai obyek. Guru mata pelajaran RPL kalian adalah suatu obyek. Buku yang
kalian pegang ini juga suatu obyek. Bahkan mata pelajaran RPL adalah juga
sebuah obyek. Setiap obyek akan mempunyai karakteristik dan tingkah laku
tertentu. Karakteristik disebut attribute dan tingkah laku disebut sebagai
behavior atau method.
Dalam difinisi pemrograman berorientasi obyek dikenal adanya kelas dan
obyek. Class atau kelas mendefinisikan karakteristik abstrak dari sesuatu
termasuk atribut atau sifat-sifat dari sesuatu dan apa yang dapat dikerjakan oleh
sesuatu (method). Sebagai contoh, mobil adalah sebuah kelas yang memiliki
attribut warna, merek, tipe dan lain-lain. Mobil juga punya method antara lain,
maju, mundur dan berhenti.
Obyek adalah contoh dari kelas yang sudah didefinisikan. Atribut dan
method dari kelas secara otomatis akan menurun pada obyek namun dengan
kekhususan. Sebagai ilustrasi kita perhatikan Gambar 8.2. Pada gambar
tersebut, kita bisa identifikasi kelasnya adalah mobil dengan atribut dan
methodnya. Obyeknya adalah sebuah mobil sedan dengan merk Toyota, dan
warnanya adalah merah. Sedan itu juga memiliki method maju, mundur dan
berhenti. Pada kasus ini mobil sedan disebut sebagai instance atau turunan dari
kelas mobil.
Ada beberapa konsep penting yang kalian harus pahami dalam
pemrograman berorientasi yaitu, abstraksi, enkapsulasi, inheritance dan
polymorphism.

> Abstraksi
Abstraction atau disebut juga composition merupakan prinsip
penyederhanaan dari sesuatu yang kompleks dengan cara memodelkan kelas
sesuai dengan masalahnya. Untuk lebih memperjelas pengertian coba
perhatikan Gambar 8.3. Pada gambar tersebut terlihat sebuah mobil jika
dipecah-pecah bagian-bagiannya kita akan dapatkan seperti ban, mesin, rangka
mobil, kaca, dan lain-lain dan hal in berlaku sebaliknya. Jika kita gabungkan
bagian-bagian tersebut maka kita akan mendapatkan sebuah kelas mobil. Pada
pemrograman berorientasi obyek biasanya kalau kita menjumpai beberapa kelas
atau obyek yang kalau diidentifikasi memiliki banyak kesamaan atribut dan
method maka kita akan menggabungkan kelas-kelas tersebut menjadi satu super
class

> Enkapsulasi
Prinsip encapsulation adalah prinsip penyembunyian detil dari sebuah
kelas terhadap obyek yang berinteraksi terhadapnya. Sebagai contoh ketika kita
menjalankan mobil, sebenarnya kita sedang berinteraksi dan kita meminta
kepada mobil untuk menjalankan methodnya seperti maju, mundur atau
berhenti. Kita berinteraksi hanya dengan beberapa bagian dari mobil (interface)
seperti persneling, setir, pijakan gas, pijakan rem dan bagian lain. Tapi detil
proses yang terjadi didalam mobil bagaimana bisa maju, mundur atau berhenti
kita tidak perlu tahu.

> Inheritance
Inheritance atau pewarisan adalah prinsip pewarisan sifat dari orang tua
ke anak atau turunannya yang diterapkan pada kelas. Orang tua memiliki atribut
dan method yang lebih umum dibandingkan dengan anak atau turunannya.
Pada Gambar 8.4. kita bisa tahu bahwa mobil memiliki atribut dan method yang
lebih umum dibandingkan dengan sedan , truk atau bus. Mobil sebagai kelas
yang mewarisi disebut sebagai super class, sedangkan sedan, truk dan bus
sebagai kelas yang diwarisi disebut sub class.

> Polymorphism
Polymorphism mungkin merupakan konsep pemrograman beroerientasi
obyek yang paling sulit dimengerti. Arti dari polymorphism adalah kemampuan
dari suatu obyek untuk mempunyai lebih dari satu bentuk. Atau dalam
pengertian lain adalah kita dapat menerapkan sesuatu hal yang berbeda melalui
suatu cara yang sama. Sebagai contoh kalau ada empat ekor hewan berbeda
yaitu burung, ular, katak, dan singa kemudian kita minta untuk bergerak, maka
burung akan terbang, ular akan melata, katak melompat, singa mungkin akan
berlari. Jadi suatu method yang sama mungkin bisa diterapkan secara lain jika
obyek yang menerapkan adalah berlainan.


8.2. PENGENALAN PADA JAVA
Bahasa pemrograman Java pertama lahir dari The Green Project, yang
berjalan selama 18 bulan, dari awal tahun 1991 hingga musim panas 1992.
Proyek tersebut menggunakan versi yang dinamakan Oak. Nama Oak ini tidak
dipakai untuk versi release Java karena sebuah perangkat lunak sudah terdaftar
dengan merek dagang tersebut, sehingga diambil nama penggantinya menjadi
"Java". Nama ini diambil dari kopi murni yang digiling langsung dari biji (kopi
tubruk). Saat ini Java berada dibawah lisensi Sun Microsystems
Menurut definisi dari Sun, Java adalah nama untuk sekumpulan teknologi
untuk membuat dan menjalankan perangkat luinak pada komputer standalone
ataupun pada lingkungan jaringan. Orang orang yang berkecimpung dalam
dunia pemrograman lebih suka menyebut Java sebagai sebuah teknologi
dibanding hanya sebuah bahasa pemrograman, karena Java lebih lengkap
dibanding sebuah bahasa pemrograman konvensional.
8.2.1. Kebutuhan Perangkat Lunak
Untuk membuat program Java paling tidak harus tersedia dua buah
software yaitu:
􀁸 Java 2 SDK Standard Edition (J2SE).
Perangkat lunak ini merupakan yang akan kita gunakan untuk
mengkompilasi kode program Java yang kita buat. Selain itu pada perangkat
lunak ini tersedia kelas-kelas yang dapat kita gunakan untuk membangun
aplikasi desktop, grafis, keamanan, konektivitas basis data dan jaringan.
Perangkat lunak ini dapat di-download gratis di situs Sun Microsystem. Setelah
itu perangkat lunak ini harus diinstal pada system operasi yang kita pakai.
􀁸 Text Editor.
Perangkat lunak ini berfungsi untuk menuliskan kode-kode program.
Notepad, Vi, Gedit, merupakan contoh-contoh teks editor yang dapat
digunakan. Namun menggunakan teks editor agak menyulitkan karena tidak
tersedia fasilitas bantu yang memudahkan dalam menuliskan kode program.
Saat ini beberapa IDE tersedia gratis di internet. IDE tersebut telah
menyediakan banyak fasilitas seperti syntax coloring, auto completion, dan
template untuk memudahkan membuat aplikasi berbasis Java. NetBeans
(www.netbeans.org) dan Eclipse (www.eclipse.org) merupakan dua buah IDE
yang sangat terkenal dan sangat kuat.

> Kompilasi Kode Program
Sebelum kita membuat program dan mengkompilasinya kita harus
mengatur ClassPath. ClassPath adalah suatu sistem variabel yang
digunakan untuk mengatakan pada program yang ditulis dengan bahasa Java
tempat lokasi-lokasi yang akan digunakan. Misalkan kita meletakkan kode
program kita di direktori d:\TestCode\Java, maka kita perlu mengatur path
agar kita bisa menggunakan compiler java dari direktori ini. Berikut ini langkahlangkah
membuat classpath:
􀁸 Buka command-prompt di Windows kemudian setelah terbuka ketikkan :
Set PATH=C:\progra~1\java\jdk1.5.0\bin;%PATH%
Set CLASSPATH=.;D:\TestCode\Java
Path di atas adalah jika kita menggunakan JDK versi 1.5, jika versi yang
lain maka tinggal menyesuaikan.
􀁸 Periksa apakah setting sudah benar dengan mengetikkan perintah java
pada direktori manapun dari command prompt.
Setelah classpath terbentuk, coba buka Notepad kemudian ketikkan kode
berikut ini.
public class Main {
//isi blok
public static void main(String[] args) {
System.out.println("Hallo ini Java lho");
}
}
Kemudian simpan file kode tersebut dengan nama yang sama dengan
class yang ada pada kode tersebut yaitu Main dan diakhiri dengan ekstensi
.java. Simpan di lokasi yang telah kita tetapkan di atas (lihat Gambar 8.6).
Aturan penulisan nama file di Java sangat ketat, sehingga jika kalian member
nama file tidak sama dengan nama kelasnya, maka program akan menolak untuk
dieksekusi.
Pada kode program di atas, baris pertama menunjukkan nama class yaitu
Main. Pada Java semua kode seharusnya ditempatkan didalam deklarasi class.
Kita melakukannya dengan menggunakan kata kunci class. Sebagai tambahan,
class menggunakan akses khusus public, yang menunjukkan bahwa class kita
mempunyai akses bebas ke class yang lain dari package yang lain pula (package
merupakan kumpulan class-class).
Setelah deklarasi class kemudian diikuti tanda { yang menunjukkan awal
blok kode. Tanda ini harus ditutup dengan tanda } sebagai akhir blok.
Baris yang dimulai dengan tanda // adalah komentar. Kemudian baris
berikutnya adalah deklarasi nama method. Dalam hal ini nama method-nya adalah main (method utama). Kita dapat membuat method-method lainnya
diluar main ini. Setelah deklarasi ini diikuti juga dengan blok kode. Pada blok
kode berisi pernyataan System.out.println("Hallo ini Java lho");.
Perintah System.out.println(), menampilkan teks yang diapit oleh tanda petik
ganda (“ ”) pada layar.
Sekarang buka command prompt dan arahkan ke direktori tempat file java
kalian simpan. Perhatikan cara penulisan
dan hasil yang diperoleh. Sebelum dapat dieksekusi, maka kode program (Main.java) harus
dikompilasi dengan menggunakan perintah javac
Setelah kompilasi berhasil, maka program dapat kita eksekusi dengan menggunakan perintah java. Proses kompilasi akan menghasilkan file dengan
nama Main.class (periksa direktori kalian dengan perintah dir, dan cari file
dengan akhiran .class). Yang kita panggil pada perintah java adalah file
dengan akhiran class ini dan bukan lagi kode sumber yang berakhiran .java.

TIPE DATA, VARIABEL, DAN PERNYATAAN INPUT/OUTPUT (I/O)

> Tipe Data
Ada 8 tipe data dasar pada Java yaitu boolean (untuk bentuk logika), char
(untuk bentuk tekstual), byte, short, int, long (integral), double and float
(floating point). Tabel 8.1 berikut menunjukkan penjelasan tentang tipe data
tersebut.

Tipe Data Penjelasan
logika (boolean) diwakili oleh dua pernyataan : true dan false
tekstual (char) harus memiliki ciri berada dalam tanda single quotes(’
’)
Integral (byte, short,
int & long)
Tipe data bilangan bulat, default tipe data yaitu int.
byte = 8 bits dengan range -27 s/d 27-1
short = 16 bits dengan range -215 s/d 215-1
int = 32 bits dengan range -231 s/d 231-1
long = 64 bits dengan range -263 s/d 263-1
Floating Point (float
dan double)
Tipe data bilangan asli (boleh ada pecahan). Default
tipe datanya adalah double.
float = 32 bits dengan range -231 s/d 231-1
double= 64 bits dengan range -263 s/d 263-1

Pada Java, String bukan merupakan tipe data primitif (namun merupakan
suatu Class). String mewakili tipe data yang terdiri atas beberapa karakter.
String ditulis dengan menggunakan tanda petik ganda (“”).
Contoh-contoh berikut menunjukkan bagaimana menggunakan tipe-tipe
data di atas. Ketikkan kode pada contoh-contoh berikut kemudian kompilasi dan
jalankan. Perhatikan output dari program.
Contoh: Penggunaan tipe data integral.
public class ContohPerhitungan {
public static void main(String[] args) {
byte a = 1;
short b = 12;
int c = 300, d, e;
d = a + b + c;
e = a * b * c;
System.out.println("Hasil penjumlahan = " + d);
System.out.println("Hasil perkalian = " + e);
Rekayasa Perangkat Lunak 177
}

Contoh : Penggunaan tipe data float.
public class LuasLingkaran {
public static void main(String[] args) {
double pi = 3.1416;
double r = 2.12;
double luas;
luas = pi * r * r;
System.out.println("Luas Lingkaran = " + luas);
}
}
Contoh : Penggunaan tipe data char.
public class tipeChar {
public static void main(String[] args) {
char ch = 'A';
System.out.println("ch = " + ch);
ch++;
System.out.println("ch = " + ch);
}
}
Prinsip Pokok Pemrograman Berbasis GUI
Secara prinsip ada dua bagian pokok dalam pengembangan aplikasi
dengan menggunakan VB, yaitu: visual design dan event-driven programming.
Visual Design
Dalam lingkungan Windows, User-interface sangat memegang peranan
penting, karena dalam pemakaian aplikasi yang kita buat, pemakai senantiasa
berinteraksi dengan User-interface tanpa menyadari bahwa dibelakangnya
berjalan instruksi-instruksi program yang mendukung tampilan dan proses yang
dilakukan. Pada pemrograman Visual, pengembangan aplikasi selalu dimulai
dengan pembentukkan user interface. Untuk mendisain user interface,
pengetahuan yang paling dibutuhkan hanyalah pemahaman dasar tentang jenis
dan kegunaan dari control dan dasar-dasar bagaimana menggambar sebuah
object.
Form dan control merupakan elemen-elemen dasar dalam user interface
pada aplikasi-aplikasi berbasis Windows. Dalam VB, elemen-elemen ini disebut
obyek karena dapat dimanipulasi seperti sebuah obyek. Obyek merupakansuatu kombinasi dari kode dan data yang dapat diperlakukan sebagai satu
kesatuan. Sebuah obyek memiliki sejumlah property dan sejumlah method,
dan akan bereaksi terhadap sejumlah event eksternal seperti halnya obyek
fisik.
Sebagai ilustrasi (gambar 7.6), sebuah mobil adalah sebuah obyek fisik
yang memiliki property, method dan event. Salah satu property adalah warna.
Biasanya property warna dari mobil ditetapkan ketika sebuah mobil dibuat.
Tetapi kalau kita tidak suka dengan warna mobil yang kita beli, kita masih
dapat merubahnya, misalnya dengan mengecat ulang. Demikian juga dalam
VB, property dari sebuah control biasanya ditentukan ketika object dibuat
(pada saat ditempatkan pada sebuah form), tetapi kita dapat merubah property
ini dengan memberikan nilai baru. Kita dapat merubah nilai property pada saat
disain (dengan menggunakan jendela Properties) atau pada saat runtime
(melalui kode program). Beberapa property hanya tersedia pada saat disain,
dan beberapa property hanya tersedia pada saat runtime.
Event-Driven Programming
Pemrograman suatu aplikasi bukanlah sesuatu yang mudah, namun ada
sebuah metodologi yang tidak boleh kita tinggalkan. Aplikasi yang dibuat
dengan VB bukanlah sebuah program yang monolithic (hanya ada satu urutan
jalannya program aplikasi). Ketika kita membuat program dengan VB, pertama
kita harus menentukan bagaimana aplikasi akan berinteraksi dengan pengguna.
Atau dengan kata lain, kita harus menentukan bagaimana setiap control
bereaksi terhadap aksi yang dilakukan pengguna (misalnya: click mouse,
double-click mouse, penekanan salah satu tombol pada keyboard, dan lainlain).
Konsep ini biasa disebut sebagai Event-Driven Programming, karena
bukan aplikasi yang menentukan alur namun kejadian (event) yang disebabkan
oleh pengguna yang menentukan alur dari aplikasi. Program aplikasi yang kita
buat bereaksi terhadap kondisi eksternal (event), dan aksi dari pengguna yang
menentukan bagaimana alur dari aplikasi.
Tipe Data, Variabel dan Konstanta
Secara umum tipe data, variabel dan konstanta dalam Visual Basic tidak
banyak berbeda dengan apa yang disampaikan pada Bab 5. Coba buka kembali
Bab tersebut untuk mengingat kembali bagian ini. Yang berbeda adalah bentuk
pendeklarasian variabel dan konstanta. Perhatikan contoh berikut.
Contoh 7.1. Contoh pendeklarasian variabel, konstanta dan tipe data.
Dim speed As Double
Dim timeElapsed As Double
Dim NumberStudent as Integer = 10
Dim velocity as Single
Dim Nama as String
Const phi as Single = 3.14