You are on page 1of 8

Java Programming

Basic Java
Pemrograman Java IV - Pemrograman Berorientasi Obyek Class dan Method Enkapsulasi

STIKOMBALI2007

ClassdanMethod

A. Pemrograman Berorientasi Obyek


Java merupakan bahasa pemrograman yang murni berorientasi pada obyek. Konsep pemrograman berorientasi obyek atau obyek oriented programming (OOP) sudah mulai dimanfaatkan sejak tahun 1988. Di dalam OOP, Anda melihat program sebagai sekumpulan obyek yang memuat perintah, nilai, metode, dan banyak hal lainnya. Dengan memanfaatkan OOP, kita akan dimudahkan dalam pembuatan program yang kompleks dan dapat berkembang setiap saat. Selan itu, modifikasi program dapat dengan mudah dilakukan karena kita hanya cukup menambahkan obyek yang diinginkan, atau menghapus obyek yang tidak dibutuhkan.

Jika selama praktek ini kita hanya menngunakan satu class saja dalam setiap contoh yang dibuat, dengan adanya OOP dimungkinkan untuk membuat banyak class sesuai kebutuhan. Kedudukan class-class ini bisa sejajar ataupun membawahi class lainnya. Maksudnya, suatu class bisa saja digunakan oleh class lainnya dengan memanfaatkan data dan kode di dalamnya.

OOP mempunyai tiga pilar utama di dalamnya, yaitu Encapsulation, Inheritance, dan Polymorphism. Encapsulation atau Kapsulasi, membungkus berbagai data dan metode dalam satu class. Namun, tidak semua data/metode di dalamnya dapat dimanfaatkan. Anda bisa memilah-milah data/metode tertentu saja yang dapat

dipanggil oleh class lain (public) , sedangkan metode sisanya hanya dapat diakses dalam satu class (private). Dengan membuatnya tidak bisa diakses dari luar sama halnya dengan menyembunyikan proses dalam class. Class lain hanya mengetahui output yang dihasilkan dari class tersebut jika dijlankan proses input tertentu.

Inti dari konsep inheritance merupakan pewarisan sifat pada class-class di bawahnya (akan dibahas pada pertemuan selanjutnya) . Kelas di bawahya dapat menggunakan data dan metode yang dipakai pada kelas diatasnya.

Polymorphism yang dalam bahasa Yunani berarti benyak bentuk, merupakan konsep pembuatan obyek yang dapat digunakan untuk banyak hal. Misalnya metode

DasarPemrogramanJavaModulPertemuanIV+Praktikum 1

ClassdanMethod

penciuman pada seekor anjing dapat digunakan untuk mencari mangsa dan lain waktu dapat digunakan untuk mengenali majikanya.

B. Pengenalan Class
Sebetulnya, sejak awal praktek pembuatan program, Anda selalu memanfaatkan sebuah class dalam setiap programnya. Class tersebut merupakan class utama yang digunakan untuk memulai program. Namum, untuk memahami konsep OOP lebih mudah, dirasa perlu untuk menggunakan lebih dari satu class pada setipa programnya. Contoh : praktek41.java
class balok{ double panjang; double lebar; double tinggi; } class praktek41{ public static void main(String args[]){ balok a = new balok(); double volume; a.panjang=5; a.lebar=10; a.tinggi=7; volume =a.panjang * a.lebar * a.tinggi; System.out.println("Panjang = " + a.panjang + " cm"); System.out.println("Lebar = " + a.lebar + " cm"); System.out.println("Tinggi = " + a.tinggi + " cm"); System.out.println("Isi Balok = " + volume + " cm3"); } }

Pada bagian paling atas program, didefinisikan sebuah class dengan nama balok, yang nantinya akan menjadi sebuah objek jika sudah dideklarasikan dengan menggunakan keyword new. berikut:
Panjang = 5.0 cm Lebar = 10.0 cm Tinggi = 7.0 cm Isi Balok = 350.0 cm3

Hasil yang Anda lihat setelah program dieksekusi adalah sebagai

Bukan satu objek saja yang dapat dibuat dari class tersebut. Jumlah obyek yang dibuat bergantung pada deklarasi Anda dalam mendefinisikan obyek tersebut.

DasarPemrogramanJavaModulPertemuanIV+Praktikum 2

ClassdanMethod

Program berikut ini menciptakan dua objek balok dengan nama a dan b. Contoh prakteklab42
class balok{ double panjang; double lebar; double tinggi; } class prakteklab42{ public static void main(String args[]){ balok a= new balok(); balok b= new balok(); double volume; a.panjang=5; a.lebar=10; a.tinggi=7; volume=a.panjang * a.lebar * a.tinggi; System.out.println(Balok A); System.out.println(============================); System.out.println(Panjang = + a.panjang + cm); System.out.println(Lebar = + a.lebar + cm); System.out.println(Tinggi = + a.tinggi + cm); System.out.println(Isi Balok = + volume + cm3); b.panjang=10; b.lebar=20; b.tinggi=15; volume=b.panjang * b.lebar * b.tinggi; System.out.println(Balok B); System.out.println(============================); System.out.println(Panjang = + b.panjang + cm); System.out.println(Lebar = + b.lebar + cm); System.out.println(Tinggi = + b.tinggi + cm); System.out.println(Isi Balok = + volume + cm3); } }

Output program diatas akan menghasilkan volume dari dua objek balok yang mempunyai panjang, lebar dan tinggi yang berbeda.
Balok A ======================= Panjang = 5.0 cm Lebar = 10.0 cm Tinggi = 7.0 cm Isi Balok =350.0 cm3 Balok B ======================= Panjang = 10.0 cm Lebar = 20.0 cm Tinggi = 15.0 cm Isi Balok =3000.0 cm3

DasarPemrogramanJavaModulPertemuanIV+Praktikum 3

ClassdanMethod

C. Menambahkan Metode dalam Class


Bukan hanya data yang dapat dibuat dalam class, tetapi juga program. Metode yang ditambahkan dalam class dapat juga difungsikan sebagai alat penghitung, seperti contoh dibawah ini :
class balok{ double double double double panjang; lebar; tinggi; volume;

void hitung() { volume = panjang * lebar * tinggi; System.out.println(isi balok = + volume + cm3); } }

class praktek44{ public static void main(String args[]) balok a = new balok(); balok b = new balok(); a.panjang = 5; a.lebar = 10; a.tinggi = 7; System.out.println(Balok A); System.out.println(====================); System.out.println(Panjang = + a.panjang + cm); System.out.println(Lebar = + a.lebar + cm); System.out.println(Tinggi = + a.tinggi + cm); a.hitung(); b.panjang = 10; b.lebar = 20; b.tinggi = 15; System.out.println(Balok B); System.out.println(====================); System.out.println(Panjang = + b.panjang + cm); System.out.println(Lebar = + b.lebar + cm); System.out.println(Tinggi = + b.tinggi + cm); b.hitung(); } }

DasarPemrogramanJavaModulPertemuanIV+Praktikum 4

ClassdanMethod

Meskipun jika program dieksekusi akan menghasilkan output yang sama dengan contoh sebelumnya, proses didalam program terdapat perbedaan. Jika sebelumnya masing-masing volume dihitung sendiri-sendiri oleh masing-masing objek, pada program ini, volume dihitung melalui metode hitung, dalam class box.

Pada saat a.hitung diproses, semua nilai yang dimiliki oleh balok a akan dihitung oleh volumenya berdasarkan panjang, lebar, dan tinggi dari balok a. Begitu pula yang terjadi pada balok B. Penggunaan keyword void pada metode hitung menunjukan bahwa metode tersebut tidak menghasilkan nilai ke class semua,namun hanya memprose nilai yang masuk ke metode.

Cara mencetak volume pada metode hitung mirip dengan pembuatan procedure pada bahasa pemrograman lain seperti Basic, Pascal, dan sebagainya.

D. Membuat Konstruktor
class balok{ double panjang; double lebar; double tinggi; balok(double p, double l, doble t) { panjang=p; lebar=l; tinggi=t; } double hitung() { return panjang*lebar*tinggi; } } class praktek45 public static void main(String args[]) { balok a = new balok(5, 10, 7); balok b = new balok(10, 20, 15); System.out.println(Balok A); System.out.println(============================); System.out.println(Panjang = + a.panjang + cm); System.out.println(Lebar = a.lebar + cm); System.out.println(Tinggi = a.tinggi + cm); System.out.println(Isi Balok = a.hitung() +cm3); System.out.println(Balok B); System.out.println(============================);

DasarPemrogramanJavaModulPertemuanIV+Praktikum 5

ClassdanMethod

System.out.println(Panjang = + b.panjang + cm); System.out.println(Lebar = b.lebar + cm); System.out.println(Tinggi = b.tinggi + cm); System.out.println(Isi Balok = b.hitung() +cm3); } }

Pada saat deklrasi obyek balok, setiap obyeknya disertai dengan nilai panjang, lebar, dan tinggi. Nilai nilai tersebut akan diterima oleh konstruktor balok dan menyimpannya ke dalam masing-masing variabel. Selanjutnya, Anda hanya tinggal mencetak volume-nya dengan memanggil metode hitung.

E. Tingkatan Akses Antar Class


Java mempunyai keyword yang dapat menyebabkan suatu metode dapat ataupun tidak dapat diakses oleh class lain. Keyword tersebut adalah private, public, dan protected. Jika diinginkan, penulisan keyword selalu ada diawal baris dari suatu metode. Keberadaan keyword tersebut mempunyai pengaruh: Private : hanya dapat diakses dari dalam satu class yang sama, Public : dapat diakses dari class manapun Protected : hanya tidak dapat diakses dari luar paket Penggunaan keyword ini, dapat Anda temukan pada materi selanjutnya.

F. Enkapsulasi
Seperti yang telah dibahas, encapsulation merupakan kapsulisasi (pembungkusan) data dan metode dalam suatu class. Masing-masing class dengan isinya, mempunyai otonomi untuk memperbolehkan hal-hal tertentu saja yang dapat diakses oleh class. Pada contoh program di bawah ini bercerita tentang mobilku yang merupakan objek dari class mobil. Objek mobilku mempunyai merk Toyota dan bertipe Kijang. Ketika program meminta nama lengkap (fullname) dari objek mebilku, metode public String get_fullname() akan menghasilkan gabungan dari merk dan tipe. Hal yang perlu diamati adalah hanya metode merk, tipe, dan get_fullname (di dalam class mobil) yang dapat diakses oleh class utama (base class). Dengan kata lain, class utama hanya dapat memasukan input merk dan tipe, serta memperoleh outputnya

DasarPemrogramanJavaModulPertemuanIV+Praktikum 6

ClassdanMethod

berupa nama lengkap dari objek mobilku. Namun, proses untuk menghasikan output tidak dapat diakses langsung dari class utama. Pemberian dan pembatasan akses dalam class mobil tersebut diakibatkan karena penggunaan keyword publik dan private. Metode dan data yang menggunakan keyword public dapat diakses dari class lain. Sedangkan yang menggunakan keyword private hanya dapat diakses dari dalam class. Kebijakan suatu class untuk mengatur hak dan pembatasan akses terhadap metode dan data yang dimiliki menjadi satu kapsul inilah yang dimaksudkan encapsulation. oop_encaps.java
class oop_encaps{ public static void main(String args[]){ mobil mobilku=new mobil(); mobilku.setMerk("Toyota"); mobilku.setTipe("Kijang"); System.out.print("Mobilku:"); String fullname=mobilku.get_fullname(); System.out.println(fullname); } } class mobil{ private String merk; private String tipe; public void setMerk(String isian){ merk=isian; } public void setTipe(String isian){ tipe=isian; } public String getMerk(){ return merk; } public String getTipe(){ return tipe; } public String get_fullname(){ return (getMerk().concat(getTipe())); } }

DasarPemrogramanJavaModulPertemuanIV+Praktikum 7

You might also like