Pages

Monday, April 29, 2013

learning java...?!

java menurut saya sebenernya pemrograman yang cukup ribet :'( karena sepenuhnya mendukung object oriented programming dimana ketika kita membuat sebuah program maka kita harus bermain-main dengan yang namanya object. Makanan yang tak lazim dicerna untuk pemula seperti saya.


Setelah melalui beratus2  semester... akhirnya saya sedikit mulai paham dengan pemrograman berbasis object. Kenapa saya bilang ribet? coz sebelum memulai menjalankan program utama kita terlebih dahulu diwajibkan untuk membuat/ memikirkan kerangka sebuah object. Namun dikarenakan wajib menggunakan pemrograman berorientasi object maka program akan menjadi lebih rapi dan dapat reuseable.


Dalam pemrograman berorientasi object semisal kita membangun sebuah object manusia, maka kita dapat membangun object kuku, tangan, kaki , kepala, badan terlebih dahulu, dimana tiap kelas merupakan warisan dari kelas kelas sebelumnya. Jadi membentuk dari sebuah object yang kecil, di extend/ diwariskan menjadi suatu object baru yang lebih padat. Membesar membesar MEMBESARRRRRRRRrrrrrrr   hingga mencapai object tujuan. Sehingga object yang sebelumnya telah ditulis (misal : kuku) tidak perlu ditulis ulang untuk membentuk object kaki dan tangan.


berbeda dengan pemrograman prosedural dimana kita membangun langsung keseluruhan program. apabila terdapat perubahan / kesalahan maka kita harus membongkar ulang program. Hal ini tidak masalah jika program yang dibuat merupakan program yang kecil namum apabila program telah mencapai ribuan baris, akan cukup melelahkan untuk mencari dan memperbaiki kesalahan tersebut.



dibawah ini merupakan
sebuah contoh program awal yang telah saya buat agar dapat mencerna lebih lanjut pemrograman java  ( dikarenakan tgs akhir saya ada hubungannya dengan java ).




package toro.test.app;

public class MenuObject {
int angka1;
int angka2;

public MenuObject(int angka1,int angka2){         //pembuatan sebuah konstruktor untuk                  menginisialisasi isi variabel awal object


this.angka1=angka1;                // -> this digunakan ketika nama variabel global sama persis dengan  nama variabel local  (memberikan statement yang jelas pada kompiler).

this.angka2=angka2;
}


public int tambahkan(){                        //-> method penambahan
return angka1+angka2;
}


public int kurangkan(){                      //-> method pengurangan
return angka1-angka2;
}

public int bagi(){                            //-> method pembagian
return angka1/angka2;
}

public int kali(){                             //-> method pengalian
return angka1*angka2;
}

public void cetak(){                               //-> method cetak seluruh method diatas
System.out.println(kurangkan());
System.out.println(tambahkan());
System.out.println(bagi());
System.out.println(kali());
}

}













package toro.test.app;

import java.io.BufferedReader;
import java.io.InputStreamReader;



//program utama untuk mendeklarasikan dan menggunakan object serta membuat menu awal program...


public class start {                                    

/**
* program utama
*/
public static void main(String[] args) {                               //-> program utama (yg ada main() )
// TODO Auto-generated method stub
MenuObject startup = new MenuObject(5,3);          //-> pembuatan variabel startup yang digunakan untuk "mewadahi" class yang mereferensi ke object bernama MenuObject


startup.cetak()        // ->  memanggil metode cetak()  dari object MenuObject.


BufferedReader in = new BufferedReader(new InputStreamReader(System.in));     //-> membaca input dari command line.  (untuk keterangan lebih lanjut baca API yang berkaitan dengan input / output stream)


while(true){                                                                   //   -> looping while
System.out.print("\n menu anda hari ini : \n");
System.out.print("1: tambahkan \n");
System.out.print("2: kurangkan \n");
System.out.print("3: kali \n");
System.out.print("4: bagi \n");
System.out.print("5: exit \n");

try{
String a=in.readLine();                            //-> memanggil method readLine yang   menyebabkan buffer terisi dan variable dapat ditangkap oleh variabel a (tipenya string)



if(a.equals("1")){                                      //->  if then else
System.out.println("anda memilih menu ke =" +a);

}else

if(a.equals("2")){
System.out.println("anda memilih menu ke =" +a);

}else


if(a.equals("3")){
System.out.println("anda memilih menu ke =" +a);

}else

if(a.equals("4")){
System.out.println("anda memilih menu ke  =" +a);


}else

if(a.equals("5")){
System.out.println("anda memilih exit :p");
break;       // -> command yang digunakan untuk exit dari loop (disini infinite loop diakhiri dengan break apabila user memilih 5)

}








}
catch(Exception e){
System.out.println(e);
}



}























}

}







No comments:

Post a Comment