Sampel Aplikasi Java untuk Konsep OOP
Belajar pemrograman Java memang tidak mudah, terlebih saat kita terbiasa dengan pemrograman prosedural dari saat awal kita mengenal pemrograman. Konsep OOP (Object Oriented Programming) atau Pemrograman Berorientasi Objek selalu dipelajari pada bagian awal dari setiap modul pemrograman Java, karena Java memiliki kedekatan konsep dengan OOP.
Biasanya, kesulitan yang dihadapi adalah memahami konsep OOP pada pemrograman Java ditambah dengan minimnya contoh kode program yang mendemokan pembuatan class, serta pemanfaatan object yang telah dibuat.
Pada artikel ini dipaparkan contoh pembuatan class Lift, dilengkapi dengan pemanfaatannya pada class LiftDemo yang masing-masing terdapat pada file terpisah.
Source code Lift.java mendefinisikan mengenai class Lift, berisi deklarasi atribut dan method-method yang dimilikinya :
public class Lift { // deklarasi atribut / properties private int kapasitas_maks = 15; private int isi = 0; private int lt_min = 1; private int lt_maks = 5; private int lantai = 1; private boolean pintuTerbuka = false; // deklarasi method void buka() { if (!this.pintuTerbuka) { this.pintuTerbuka = true; } } void tutup() { if (this.pintuTerbuka) { this.pintuTerbuka = false; } } void mengisi(int jmlOrang) { if (this.pintuTerbuka) { int i; i = (jmlOrang+this.isi); if (i > this.kapasitas_maks) { this.isi = this.kapasitas_maks; System.out.println("Lift tidak muat, ada "+(i-this.kapasitas_maks)+" orang tdk dapat masuk lift"); } else { this.isi = i; } } else { System.out.println("Tidak bisa mengisi, pintu masih tertutup"); } } void mengeluarkan(int jmlOrang) { if (this.pintuTerbuka) { if (this.isi < jmlOrang) { System.out.println("Tidak ada orang sebanyak itu di lift. Mengeluarkan "+this.isi+" orang saja"); this.isi = 0; } else { this.isi -= jmlOrang; } } else { System.out.println("Tidak bisa mengeluarkan, pintu masih tertutup"); } } void keLantai(int lt) { if (!this.pintuTerbuka) { if ((lt > this.lt_maks) || (lt < this.lt_min)) { System.out.println("Lantai yang dituju belum ada atau belum dibuat"); } else { if (this.lantai < lt) { System.out.println("Lift naik.... "+(lt-this.lantai)+" lantai"); this.lantai = lt; } else if (this.lantai > lt) { this.lantai = lt; System.out.println("Lift turun.... "+(this.lantai-lt)+" lantai"); } else { System.out.println("Lift tidak ke mana-mana"); } } } else { System.out.println("Pintu masih terbuka, bisa mencelakakan orang jika naik/turun"); } } String statusPintu() { if (this.pintuTerbuka) { return "terbuka"; } else { return "tertutup"; } } void printStatus() { System.out.println("Di lantai: "+this.lantai+", Isi lift: "+this.isi+" orang, Kondisi pintu: "+this.statusPintu()); } }
Sedangkan source code LiftDemo.java berguna untuk mendemokan kemampuan dari class yang sudah dibuat pada file sebelumnya, dan Anda masih dapat membuat variasi lebih lanjut pada pemanfaatannya, dengan melakukan variasi seperti:
- Mengganti nama object yang di-instantiate, dan menambah object yang diinstantiate sebanyak yang dibutuhkan
- Urutan method yang dijalankan dan variasi method yang dimanfaatkan
- Nilai parameter/argument yang dimasukkan pada saat method dijalankan
class LiftDemo { public static void main(String[] args) { // ciptakan/instantiate dua lift yang berbeda Lift L1 = new Lift(); Lift LiftGue = new Lift(); // menjalankan method pada kedua objek lift tersebut L1.buka(); L1.printStatus(); L1.mengisi(5); L1.printStatus(); L1.tutup(); L1.keLantai(5); L1.buka(); L1.mengeluarkan(4); L1.printStatus(); LiftGue.buka(); LiftGue.printStatus(); LiftGue.tutup(); LiftGue.keLantai(2); LiftGue.buka(); LiftGue.printStatus(); LiftGue.mengisi(8); LiftGue.tutup(); LiftGue.keLantai(5); LiftGue.mengeluarkan(3); LiftGue.buka(); LiftGue.mengeluarkan(3); LiftGue.printStatus(); } }
Output dari LiftDemo.java setelah di-compile dan di-run adalah kurang lebih sebagai berikut :
Di lantai: 1, Isi lift: 0 orang, Kondisi pintu: terbuka Di lantai: 1, Isi lift: 5 orang, Kondisi pintu: terbuka Lift naik.... 4 lantai Di lantai: 5, Isi lift: 1 orang, Kondisi pintu: terbuka Di lantai: 1, Isi lift: 0 orang, Kondisi pintu: terbuka Lift naik.... 1 lantai Di lantai: 2, Isi lift: 0 orang, Kondisi pintu: terbuka Lift naik.... 3 lantai Tidak bisa mengeluarkan, pintu masih tertutup Di lantai: 5, Isi lift: 5 orang, Kondisi pintu: terbuka
Tentunya jika Anda sudah memodifikasi dan bereksperimen dengan LiftDemo.java versi Anda sendiri, outputnya akan berbeda-beda. Di sinilah sebenarnya letak keasyikan belajar konsep OOP di Java. Tidak bisa menemukan keasyikannya ? Maka mungkin Anda masih perlu belajar lebih banyak lagi, atau memang contoh yang ada ini masih kurang menantang. Jika memang demikian kondisinya, maka mulailah membuat contoh serupa dengan objek yang lain di dunia nyata, dan beranilah untuk membuat sendiri class dan implementasinya.
Selamat mencoba !
Link download source code:
Lift.zip
Pye kie rek,nek Gag diterangno scara langsung teg sajake ANGEL……..
Pengen skolah neh aQ jadinya…..pengen blajar java,neng ndi2 kog java……..ti”k kog java…….
pak, tolong artikel n contoh2 tentang java diperbanyak
masalahnya pelajaran pemrograman saya tentang java pak
plissssss paaakkkk!!!
kalo bikin game mobile pake java bagusnya pake game engine apa ya ??