Belajar konsep OOP (Object Oriented Programming) pada Java - Part 1

Java - Belajar Object Oriented Programming (OOP) (Part 1 - Class, Method, Getter, Setter)

Di sini saya akan mengajarkan Object Oriented Programming atau sering disebut OOP. OOP adalah ilmu fundamental yang wajib dikuasai programmer. Karena dengan menguasai OOP, programmer dapat mempelajari bahasa apapun. Konsep-konsep OOP pada semua bahasa umumnya sama, sehingga ketika programmer menguasai OOP suatu bahasa, maka dia akan mengerti struktur OOP pada bahasa lain. Kita akan belajar OOP Java. Karena konsep-konsep OOP pada Java lengkap dan ada di hampir semua pemogramman. Langsung saja... 

Pertama-tama, download Eclipse : 
http://www.eclipse.org/downloads/packages/eclipse-ide-java-developers/keplersr1

Setelah installasi nya berhasil, buat project java dengan cara ke File > New > Java Project. Lalu namai project nya. Setelah diberi nama, klik folder src di sebelah kiri...
Gambar Pertama

Lalu klik kanan di folder src, lalu ke New > Class. Lalu beri nama Class tersebut 'Main' dan centang checkbox yang tulisan nya 'public static void main' , seperti ini : 

Gambar Kedua

Di situ kamu akan melihat code.... 

public class Main {

	public static void main(String[] args) {
		// TODO Auto-generated method stub

	}

}

Ketika aplikasi di run, sistem hanya akan membaca kode-kode yang ada di dalam public static void main(String[] args) { }. 

Lalu, kita membuat class dengan nama 'AlatKomputer'. Klik class 'Main.java' di sebelah kiri, lalu klik kanan klik New > Class. Lalu isi Class 'AlatKomputer' dengan di bawah ini....

public class AlatKomputer {
	public String brand = "Samsung";
	private int harga = 820000;
	
	public void mengaturData(String namaBaru, int hargaBaru) {
		brand = namaBaru;
		harga = hargaBaru;
	}
	
	public int mendapatkanHarga() {
		return harga;
	}
}

OK, Class adalah cetakan sedangkan Object / Instance adalah produk dari cetakan atau class. Jika class nya adalah Alat Komputer, maka object nya adalah Komputer, Mouse, RAM, dan lain-lain. Untuk membuat object cara nya seperti ini :

AlatKomputer komputer = new AlatKomputer();

Lalu pasang kode di atas di dalam public static void main agar kode tersebut dapat dibaca sistem. Lalu kita print variabel String 'brand' yang sudah dibuat di dalam class 'AlatKomputer' seperti ini :

public class Main {

	public static void main(String[] args) {
		
		//Membuat objek komputer
		AlatKomputer komputer = new AlatKomputer();
		//Mengisi kata dengan variabel brand dari objek komputer
		String kata = komputer.brand;
		//Kode dari Java untuk ngeprint
		System.out.print(kata);	
	}

}

Lalu kita akan run kode ini. Cara nya klik project kamu, lalu klik kanan Run As > Java Application seperti di bawah ini :

Gambar Ketiga

Di bawah kamu akan melihat hasilnya yaitu kata SAMSUNG

Gambar Keempat

Jadi seperti itu cara mengakses variabel di dalam class. Misalkan, kita coba ganti objek dengan class nya langsung untuk ngeprint varibel 'brand' seperti ini :

String kata = AlatKomputer.brand;

Maka kode tersebut akan error, kan ? Karena class adalah cetakan sehingga kamu akan mengalami error. 

Lalu kamu heran apa sih arti Public dan Private. Sesuatu yang bersifat Public adalah sesuatu yg bisa diakses di mana saja. Sedangkan sesuatu yg bersifat Private hanya bisa diakses di dalam class itu sendiri. Coba kamu ketik kode ini :

int harga = komputer.harga;

Kamu akan mengalami error karena variabel 'harga' bersifat Private dan diakses di class lain. Sedangkan variabel 'brand' bersifat Public sehingga variabel 'brand' dapat diakses di mana saja. 

Sekarang sy akan menjelaskan Method. Method adalah nama lain fungsi. Jika kamu pernah belajar C++ atau C, maka method sama seperti fungsi. Contoh Method seperti ini :

public void mengaturData(String namaBaru, int hargaBaru) {
	brand = namaBaru;
	harga = hargaBaru;
}
	
public int mendapatkanHarga() {
	return harga;
}

Fungsi mengaturData merubah isi variabel brand dan variabel harga. Dan fungsi mendapatkanHarga menghasilkan value variabel harga. Sekarang kita akan coba method mengaturData dan method mendapatkanHarga. Buat code seperti ini :

komputer.mengaturData("Dell", 640000);
String nama = komputer.brand;
int harga = komputer.mendapatkanHarga();
System.out.print("Nama Merek : " + nama + "\n");
System.out.print("Harga komputer : " + harga);

Lalu kode kamu hasil nya akan seperti ini :
SS

Jadi itu penjelasan Method. Sekarang saya akan menjelaskan apa itu Getter dan Setter. Seharusnya variabel di suatu class bersifat private dan tidak dapat diakses di class lain. Sekarang rubah variabel brand menjadi private.

private String brand = "Samsung";

Setter adalah istilah method yang mengatur nilai-nilai variabel suatu class. Getter adalah istilah method yang menghasilkan nilai suatu variabel. Method ini...

public void mengaturData(String namaBaru, int hargaBaru) {
	brand = namaBaru;
	harga = hargaBaru;
}

Method di atas adalah setter method. Karena method di atas mengatur nilai variabel 'brand' dan 'harga'. Sedangkan, method di bawah ini :

public int mendapatkanHarga() {
	return harga;
}

Method ini adalah getter method. Karena method di atas menghasilkan nilai variabel harga. Lebih baik, kita mengakses variabel suatu class lewat method bukan menjadikan variabel tersebut public. Di class Alat Komputer terdapat method yang kurang yaitu kode :

public String mendapatkanBrand() {
	return brand;
}

Lalu, di main buat kode ini :

komputer.mengaturData("Dell", 640000);
String nama = komputer.mendapatkanBrand();
int harga = komputer.mendapatkanHarga();
System.out.print("Nama Merek : " + nama + "\n");
System.out.print("Harga komputer : " + harga);

Kode di atas adalah kode yang benar sesuai aturan. Ketika di run, maka hasil nya sama yaitu :

Nama Merek : Dell
Harga komputer : 640000

Sekian dari saya, di part 2 saya akan menjelaskan materi seperti Constructor, Polymorphism, Interface dan lain-lain. Stay following...


About Author

Andika Kurniawan


Comment & Discussions

  • restika
    gan mohon bantuan jdk untuk eclipenya tipe berapa

  • Aepsa ZymbilanSatu
    kang bisa bantu koding gaa untuk java saay peka netbeans

  • Bonanza
    Thanks Kang atas penjelasan materi diatas

  • Maskay Sipecinta BootLoop
    Thanks mastah ccok buat yg newbi kbtulan saya blom trlalu paham oop
    Jd bisa saya pelajari ... success always mastah

  • Please LOGIN before if you want to give the comment.