Beranda > Algoritma, Pemrograman Java > Sampel Aplikasi Java untuk Konsep OOP

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

Comments

comments

  1. 10/08/2010 pada 0:02 | #1
    via Mozilla Firefox Mozilla Firefox 3.6.3 pada Ubuntu Linux Ubuntu Linux

    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…….

  2. bethem
    17/09/2012 pada 9:41 | #2
    via Mozilla Firefox Mozilla Firefox 12.0 pada Windows Windows 7

    pak, tolong artikel n contoh2 tentang java diperbanyak
    masalahnya pelajaran pemrograman saya tentang java pak
    plissssss paaakkkk!!!

  3. 25/09/2012 pada 16:11 | #3
    via Google Chrome Google Chrome 21.0.1180.89 pada Windows Windows 7

    kalo bikin game mobile pake java bagusnya pake game engine apa ya ??

  1. Belum ada tautan balik

%d blogger menyukai ini: