Anda di halaman 1dari 30

Tujuan Pembelajaran

1. Mahasiswa memahami struktur program berorientasi obyek dengan java


2. Mahasiswa dapat mengubah contoh program yang ada dengan beberapa
perintah sederhana.

Pertemuan Pembelajaran ke : 1

1
1.1.Mengapa Pemrograman Berorientasi Obyek (PBO)

Selama ini kita telah banyak membuat program dengan pendekatan terstuktur dimana
dalam pendekatan ini kita lebih banyak merancang program dengan pendekatan
proses yang merupakan karakteristik suatu sistem. Dengan pendekatan ini dalam
membuat aplikasi, anda melakukan pendekatan sistem untuk sedekat mungkin
memodelkan sistem aplikasi yang hendak dibuat dengan model DFD (Data Flow
Diagram) dan ERD (Entity Relation Diagram).

Muncul paradigma yang lebih maju dalam mengembangkan aplikasi yaitu dengan
analisis berbasis obyek, desain berbasis obyek dan pemrograman atau implementasi
berbasis obyek atau berorientasi obyek. Dalam pendekatan ini, kita melakukan
perancangan dan implementasi aplikasi berdasarkan asumsi obyek-obyek apa saja
yang muncul dalam aplikasi yang hendak kita bangun. Obyek adalah kesatuan entitias
yang memiliki sifat dan tingkat laku atau kapasitas yang dapat dia perbuat. Obyek ini
seperti halnya obyek di dunia nyata atau seringkali kita sebut sebagai benda baik
berupa benda berbentuk fisik seperti mobil, rumah, meja, papan tulis, handphone, alat
tulis ataupun benda yang tak berbentuk sepreti kota, rekening bank, window, nilai,
dan lain-lain.

Jadi obyek dalam pemrograman berorientasi obyek adalah kesatuan terkecil bagian
atau unit program yang mempunyai sifat/karakteristik/atribut dan tingkat laku/fungsi
atau disebut metoda yang menggambarkan kemampuan obyek tersebut untuk
melakukan sesuatu. Contoh obyek mobil harus mempunyai kapasitas untuk bergerak
maju, mundur, ganti persneling, berbelok kiri ataupun berbelok kanan. Obyek-obyek
ini nanti akan berinteraksi dalam program utama (main program) sehingga obyek-
obyek tersebut dapat berinteraksi dengan obyek lain dengan cara bertukar pesan dan
memanggil metoda dari suatu obyek

1.2. Mengapa Java

Dari uraian di atas tampak bahwa pemrograman terstuktur akan sangat berbeda
dengan pemrograman berorientasi obyek, Dalam pemrograman terstruktur kita
diharuskan melakukan kegiatan analisis, desain dan pemrograman mulai dari tahapan
awal atau kegaitan-kegiatan pengembangan aplikasi selalu dimulai dari kondisi awal
atau nol lagi. Coba anda bayangkan setiap pengembangan aplikasi selalu dimulai dari
tahapan awal yang sederhana. Hal ini dilakukan karena kegiatan pengembangan
aplikasi tidak mampu untuk mendaur ulang bagian atau unit dari aplikasi yang ada.

Terdapat enam keuntungan jika kita mengembangkan aplikasi dengan pendekagtan


Pemrograman Berorientasi Obyek yaitu :
1. Lebih alami (natural) dalam arti kita mengasumsikan bahwa kita dalam
mengembangkan aplikasi seperti dibawa pada kondisi untuk memikirkan obyek
yang ada di sekitar kita.

2
2. Aplikasi yang kita kembangkan diharapkan akan dapat lebih handal karena kita
lebih fokus pada pemikiran untuk menemukan obyek yang mempunyai
karakteristik dan metoda tertentu.
3. Dapat didaur ulang (Reusble) dalam arti obyek yang kita bangun dapat kita daur
ulang pada aplikasi yang lain.
4. Dapat dipelihara (maintainable)
5. Dapat diperluas (extendable)
6. Efisiensi waktu pengembangan aplikasi.

Aplikasi yang kita kembangkan menggunakan bahasa pemrograman Java. Selain Java
ada beberapa bahasa pemrograman yang dapat digunakan untuk mendukung
Pemrograman Berorientasi Obyek yaitu Bahasa C, SmallTalk dan Bahasa Pascal.
Kuunggulan bahasa Java adalah karena ;
1. Java bersifat sederhana dan mudah.
2. Java adalah bahasa pemrograman yang berorientasi pada obyek
3. Java bersifat terdistribusi
4. java bersifat multipFlatform
5. java bersifat multipThread

1.3. Contoh Program

   Setiap program Java mempunyai bentuk seperti di bawah , yaitu: 

main()

   // Batang Tubuh Program Utama

      Melihat bentuk seperti itu dapat kita ambil kesimpulan bahwa batang tubuh program
utama berada didalam fungsi main(). Berarti dalam setiap pembuatan program utama,
maka dapat dipastikan seorang pemrogram menggunakan minimal sebuah fungsi.
Pembahasan lebih lanjut mengenai fungsi akan diterangkan kemudian. Yang sekarang
coba ditekankan adalah kita menuliskan program utama kita didalam sebuah fungsi
main(). Jangan lupa bahwa Java bersifat case sensitive artinya penulisan huruf kecil dna
huruf besar berbeda artinya, sehingga, nama kotak dan Kotak berbeda artinya. 

Format penulisan dalam coding harus memperhatikan kaidah tertentu, terutama untuk
penulisan :

1. Komentar

3
Seringkali dalam source code kita membutuhkan penulisan komentar. Yang penting
dipahami adalah bahwa komentar tidak pernah dicompile oleh compiler. Dalam Java
terdapat 2 jenis komentar, yaitu:

Jenis 1 :  /* Komentar anda diletakkan di dalam ini

                      Bisa mengapit lebih dari satu baris    */

Jenis 2 : // Komentar anda diletakkan disini ( hanya bisa perbaris ) 

1. Semicolon

     Tanda semicolon “;” digunakan untuk mengakhiri sebuah pernyataan. Setiap
pernyataan harus diakhiri dengan sebuah tanda semicolon.

Berikut adalah beberapa contoh program yang sederhana dengan tujuan untuk
memberi pemahaman kepada anda tentang bagaimana struktur program dalam Java
dan bagaimana cara melakukan kompilasi. Berikut adalah langkah-langkah yang
mesti anda lakukan dalam membuat program dalam java :

Langkah ke-1
Tulis program salam.java, simpan di directory yang sudah dipersiapkan.

Langkah ke-2 Lakukan kompilasi


$ javac salam.java
akan dihasilkan salam.class dan MyDouble.clas

Langkah ke-3 jalankan program


$ java salam

LISTING PROGRAM KE-1

/**
* Title : Salam-program pertama
*Deskripsi : Menampilkan tulisan salam ke console
* Author : Ketik nama anda disini
* Tanggal : isi tanggal dibuat
* nama file : salam.java, huruf besar kecil sangat berbeda

*/ Nama file sesuai dengan nama


kelas di sini baik huruf besar atau
huruf kecil harus sama

4
class salam
{
/**Main Method*/
public static void main(String[] args)
{
System.out.println("Saya sedang belajar Java"); //mencetak ke layar
monitor
}
}

Output :

LISTING PROGRAM KE-2


/**
* Title : Salam GUI program kedua
* Deskripsi : Modifikasi Listing Program 1untuk mode GUI
* Author : tulis nama anda
* nama file : salamgui.java
*/

// Mengimport kelas JOptionPane dari package javax.swing


import javax.swing.JOptionPane;
Nama file sesuai dengan nama
public class salamgui { kelas di sini baik huruf besar atau
huruf kecil harus sama
/**Main Method*/
public static void main( String args[] )
{
// Menampilkan pesan dengan Message Dialog dari
// kelas JOptionPane
JOptionPane.showMessageDialog(
null, "Saya sedang belajar Java","Salam", 1);

5
System.exit( 0 ); // Keluar dari program
}
}

Output :

LISTING PROGRAM KE-3

/**
* Title : binatang program ketiga
* Deskripsi : Mendemonstrasikan bagan dan deklarasi kelas,
* data dan method sederhana, dari Mamalia Darat.
* Author : tulis nama anda
* nama file : binatang.java
*/

public class binatang{

public static void main(String[] args){

// Mendeklarasikan dan menginisialisasi data


String suaraHewan = "";

System.out.println("\nDEMO KELAS, METHOD DAN DATA");


System.out.println("---------------------------\n");

Kucing pussy = new Kucing();


suaraHewan = pussy.mengeong();
System.out.println("Pussy sedang : " + suaraHewan);

}
}

class Kucing {
// Method yang mengembalikan suara kucing
public String mengeong() {
String suara = new String("Meoong...");
return suara;

6
}
}

1.4. Latihan

1. Buat kelas kambing, kelas macan, kelas anjing dan kelas kuda. Deklarasikan kelas
dan method seperti halnya kelas kucing.
2. Modifikasi kelas binatang sehingga suara kambing, macan, anjing dan kuda juga
tampil di kelas binatang. Contoh output adalah sbb :

3. Modifikasi kelas binatang menjadi binatangGUI sehingga teks suarahewan akan


muncul dalam bentuk GUI. Contoh output adalah sbb :

7
Tujuan Pembelajaran
1. Mahasiswa memahami pengertian suatu kelas, obyek dan instance
2. Mahasiswa dapat memodifikasi atribut dan metoda yang terdapat dalam
suatu kelas.
3. Mahasiswa mampu membuat program yang teridri suatu kelas, obyek dan
instance

Pertemuan Pembelajaran ke : 2 dan 3

8
2.1. Obyek

Di dalam Pemrograman Berorientasi Obyek (PBO) dengan Java, modul program


dimodelkan, dirancang dan ditulis sebagai obyek. Kerangka berpikirnya berbeda
dengan pemrograman prosedural. Pemrograman prosedural memisahkan antara data,
dan prosedur yang mengolah data tersebut. Sedangkan di dalam Java, data dan
prosedur ini dipadukan sebagai sebuah obyek. Praosedur disini sering disebut dengan
berbagai istilah seperti kapasitas, kemampuan, fungsi, metoda, perilaku dan lain
sebagainya yang menggambarkan kemampuan kelas atau kelas untuk melakukan
sesuatu tindakan.
Hal ini akan terasa lebih alami. Di alam, berbagai benda, baik yang real maupun abstrak,
mempunyai dua hal yang terpadu yaitu ukuran dan tingkah laku. Sebuah perusahaan
mempunyai ukuran seperti jumlah karyawan, dan mempunyai tingkah laku seperti
mengangkat karyawan. Seekor burung yang sedang terbang mempunyai ukuran seperti
ketinggian, dan bisa menukik sebagai tingkah laku. Sebuah windows pada layar komputer
mempunyai ukuran, warna, letak koordinat sebagaid data dan mempunyai tingkah laku
seperti mengubah warna, mengubah posisi, mengubah ukuran dan lain sebagainya.

Sebagaimana obyek di alam yang mempunyai ukuran dan tingkah laku, sebuah obyek
di dalam program juga bisa mempunyai data dan prosedur. Di dalam Java, rancangan
sebuah obyek ditulis dalam sebuah class. Di dalam class data diimplementasikan
sebagai member variable, sedangkan prosedur yang mengolah data tersebut
diimplementasikan dalam method.

2.2. Kelas

Dalam konsep PBO, kelas adalah merupakan wadah yang berisi absraksi atau model
dari suatu obyek atau kelas dapat dikatakan sebagai kumpulan obyek yang
mempunyai data/atribut dan metoda yang sama. Contoh yang menjelaskan hubungan
antara kelas dan obyek secara sederhana adalah misal karyawan adalah suatu kelas,
sedangkan Tono, Tini, Tina adalah nama-nama anggota atau obyek dari kelas
karyawan.

Di Java terdapat dua macam kelas yaitu :


1. Kelas dan method yang standard atau dasar/fundamental, artinya kelas-kelas ini
telah dibuatkan (built-in) oleh Java sehingga kita tinggal menggunakannya,
contoh kelas String, kelas Panel, kelas Jframe terutama kelas-kelas untuk aplikasi
GUI sudah ada sehingga dapat digunakan langsung pada aplikasi yang kita
kembangkan. Method yang dapat langsung kita panggil yang terdapat pada kelas
standard tersebut dinamakan API (Application Programming Interface).
2. Kelas dan method yang didefinisikan dan dikembangkan oleh pemrogram sendiri
yaitu kelas-kelas yang dibuat oleh pemrogram sendiri. Ekstensi file dalam kelas di
Java adalah .java yang selanjutnya jika dikompilasi dengan benar hasilnya akan
berubah dengan berekstensi file .class

9
Untuk dapat menciptakan anggota atau obyek suatu kelas, maka kelas harus dapat
diinstansiasikan dengan kata kunci new atau memanggil konstruktor kelas tersebut.
Class ini bisa di-“instantiate”, dengan memanggil constructor-nya. Instance dari
sebuah class disebut sebagai obyek. Kelas (Class) adalah inti dan hal yang penting
didalam java. class adalah konstruksi logika dimana seluruh program java akan dibuat
karena class mendefinisikan bentuk dan sifat dari sebuah objek.

Bentuk umum deklarasi suatu kelas TANPA konstruktor adalah sbb ;

Class nama_class {

//deklarasi atribut atau data atau variabel


Type instance_variabel1;
Type instance_variabel2;
Type instance_variabeln;

//deklarasi method yang dimiliki kelas


Type nama_method1(daftar_parameter) {
// isi method
}

//deklarasi method yang dimiliki kelas


Type nama_method2(daftar_parameter) {
// isi method
}

Data atau variable-variabel yang didefinisikan dalam class disebut instance variable.
Kode program dimuat atau ditulis dalam sebuah method. Variabel dan method yang
didefinisikan di dalam class disebut anggota class. Semua method memiliki bentuk
umum yang sama seperti main() yang telah sering kita gunakan di modul 1 Tetapi
class java tidak harus selalu memakai method main() sebab kelas-kelas java yang
tidak memakai method main() nantinya akan dipanggil dalam main().

Berikut adalah contoh kelas sederhana yang hanya terdiri 2 atribut atau variabel tanpa
disertai deklarasi method :
Class balok {
double panjang;
double lebar;

1
}

Untuk Membuat Objek digunakan statement sebagai berikut:

balok baloksaya = new balok();

Nama kelas variabel bebas instansiasi dengan new

ATAU

balok baloksaya; // Mendeklarasikan referensi ke objek


baloksaya new balok (); // mengalokasikan ke sebuah objek

2.3. Scope
Class modifier adalah keyword yang digunakan untuk menentukan sifat dari suatu class.
Ada tiga buah class modifier, yaitu public, final, dan abstract.

public
Class Person dideklarasikan dengan menggunakan class modifier public. Jika sebuah
class dideklarasikan dengan menggunakan keyword public (public class), class tersebut
akan bisa diakses dari luar package-nya. Jika tidak, maka class tersebut hanya bisa
diakses oleh class-class lain yang berada di package-nya sendiri. Pada suatu unit
kompilasi (file) hanya boleh ada satu public class.

Tiga buah jenis akses terhadap class :

1. Deklarasi reference variable yang bertipe class tersebut


2. Melakukan instansiasi terhadap class tersebut
3. Meng-extends class tersebut

final
Jika sebuah class dideklarasikan sebagai final, maka class tersebut tidak akan bisa di-
extend. Class yang mempunyai class modifier final akan menjadi daun pada pohon
hierarki class.

abstract
Class yang bersifat abstract biasanya digunakan untuk menentukan behaviour umum dari
class-class lain yang akan menjadi subclass-nya. Class yang bersifat abstract adalah
sebuah class yang belum lengkap (ada begian yang belum diimplementasikan), dan tidak

1
bisa diinstansiasi. Class yang abstract menandai behaviour (method) yang sudah
diperkirakan muncul pada subclass-nya melalui deklarasi abstract methods. Method
abstract ini harus diimplementasikan terlebih dahulu sebelum kita menggunakan class
abstract tersebut. Hanya class yang bersifat abstract yang diperbolehkan untuk
mempunyai abstract methods

2.4. Contoh program

LISTING PROGRAM KE-1

class balok
{
double panjang;
double lebar; Atribut yang dimiliki oleh
double tinggi; Kelas balok
}

class demobalok
{
public static void main(String[] args)
{
balok baloksaya = new balok(); Proses instansiasi dimana
double volume; Baloksaya adalah obyek
baloksaya.panjang = 20; YANG instansiasi/dicipta dari
baloksaya.lebar = 12; kelas balok
baloksaya.tinggi = 25;
volume = baloksaya.panjang * baloksaya.lebar * baloksaya.tinggi;
System.out.println ("Volume adalah " + volume);
}
}

LISTING PROGRAM KE-2

1
class balok
{
double panjang ;
double lebar ;
double tinggi ;
}

class demobalok2
{
public static void main(String[] args)
{
balok baloksaya1 = new balok();
balok baloksaya2 = new balok(); Proses instansiasi dimana
double volume; Baloksaya1 dan baloksaya2 adalah
obyek YANG instansiasi/dicipta
baloksaya1.panjang = 20; dari kelas balok
baloksaya1.lebar = 12;
baloksaya1.tinggi = 25;

baloksaya2.panjang = 100;
baloksaya2.lebar = 120;
baloksaya2.tinggi = 250;

volume = baloksaya1.panjang * baloksaya1.lebar * baloksaya1.tinggi;


System.out.println ("volume adalah: " + volume);

volume = baloksaya2.panjang * baloksaya2.lebar * baloksaya2.tinggi;


System.out.println ("volume adalah : " + volume);
}
}

1
LISTING PROGRAM KE-3

class balok
{
double panjang ;
double lebar ;
double tinggi ;

void volume()
{
System.out.print ("Volume adalah : ");
System.out.println (panjang*lebar*tinggi);
}
}

class demobalok3
{
public static void main(String[] args)
{
balok baloksaya1 = new balok();
balok baloksaya2 = new balok();
balok baloksaya3 = new balok();

baloksaya1.panjang = 20;
baloksaya1.lebar = 12;
baloksaya1.tinggi = 25;

baloksaya2.panjang = 100;
baloksaya2.lebar = 120;
baloksaya2.tinggi = 250;

1
baloksaya3.panjang = 70;
baloksaya3.lebar = 30;
baloksaya3.tinggi = 40;

baloksaya1.volume();
baloksaya2.volume();
baloksaya3.volume();
}
}

LISTING PROGRAM KE-4

class balok
{
double p;
double l;
double t;
String warna;
double volume ()
{
return p*l*t;
}
void setDimensi (double p,double l,double t)
{
p = p;
l = l; Suatu method untuk mengisi
t = t; Atau mengeset
} dimensi/ukuran balok sesuai
void ubahwarna(String warnabaru) dengan parameter p, l dan t
{
warna = warnabaru;
}

class demobalok
{
public static void main(String [] args)
{
balok baloksaya = new balok();
double volume;
String warna;
String warnabaru = "biru";
baloksaya.p = 20;
baloksaya.l = 15;

1
baloksaya.t = 25;
baloksaya.warna = "coklat";
volume = baloksaya.p*baloksaya.l*baloksaya.t;
System.out.println("Volume adalah : " + volume);
baloksaya.setDimensi(10,15.5,20);
volume = baloksaya.volume();
System.out.println("Volume = " + volume);
baloksaya.ubahwarna("biru");
System.out.println("Warna = " + baloksaya.warna);
}
}
OUTPUT :

LISTING PROGRAM KE-5

class Manager2
{
String nama;
String jabatan;
double gaji_pokok;
double tunjangan;

double hitung_gaji(double gp , double tj )


{
return gp+tj;
}
void inputdata(String nm , String jbt , double gp , double tj)
{
nama = nm;
jabatan = jbt;
gaji_pokok = gp;
tunjangan = tj;
}
void cetakData()
{
System.out.println("Nama anda :" +nama);
System.out.println("Jabatan anda :" +jabatan);
System.out.println("Gaji pokok anda :" +gaji_pokok);
System.out.println("Tunjangan anda :" +tunjangan);

1
}
}

class Test1
{
public static void main(String[] args)
{
Manager2 managersaya = new Manager2 ();
double total_gaji;

managersaya.inputdata("Ayu","Sekretaris",1500000,1000000);

total_gaji = managersaya.hitung_gaji(managersaya.gaji_pokok ,
managersaya.tunjangan);
managersaya.cetakData();
System.out.println("Total gaji anda :" +total_gaji);
}
}

OUTPUT :

LISTING PROGRAM KE-6

class Buruh2
{
String nama;
double upah;
double jumlah_hadir;
double hitung_gaji(double up , double jh )
{
return up*jh;
}
void inputdata(String nm , double up , double jh)
{
nama = nm;
upah = up;
jumlah_hadir = jh;

1
}
void cetakData()
{
System.out.println("Nama anda :" +nama);
System.out.println("Upah anda :" +upah);
System.out.println("Jumlah hadir anda :" +jumlah_hadir);
}
}

class Test3
{
public static void main(String[] args)
{
Buruh2 buruhsaya = new Buruh2 ();
double total_gaji;

buruhsaya.inputdata("Panji",500000,10);

total_gaji = buruhsaya.hitung_gaji(buruhsaya.upah ,
buruhsaya.jumlah_hadir);
buruhsaya.cetakData();
System.out.println("Total gaji anda :" +total_gaji);
}
}

OUTPUT :

2.5. Latihan
1. Buat kelas segitiga dengan atribut ; ALAS dan TINGGI dan buatlah satu metoda
(method) dengan nama hitung luas segitiga
2. Buat kelas lingkaran dengan atribut ;Jari-jari dan dua buah method dengan nama
hitung luas lingkaran dan hitung keliling.
3. Buat kelas bujursangkar dengan atribut sisi dan dua buah method dengan nama
hitung luas bujursangkar dan hitung bujursangkat
4. Perhatikan source code di bawah ini, buat method main() untuk memanggil kelas
Pegawai, konstruktornya dan beberapa method yang dimilikinya. Isilah main()
dengan kode sebebas anda.

1
public class Pegawai {
// Deklarasi variable-variable
private String nama;
private int umur;

// Deklarasi method-method
public String getNama() {
return nama;
}

public int getUmur() {


return umur;
}

public String toString() {


return name + " (" + umur + " yrs old)";
}
}
}

1
Tujuan Pembelajaran
1. Mahasiswa memahami pengertian suatu kelas, obyek dan instance
2. Mahasiswa dapat mendeklarasikan suatu kelas dengan menggunakan
konstruktor dan mengakses atributnya dengan statement this.
3. Mahasiswa dapat membuat dan memodifikasi kelas dengan menggunakan
kontruktor.

Pertemuan Pembelajaran ke : 4

2
3.1 Konstruktor

Anda dapat membayangkan misalkan ada suatu metoda dengan anama initialize( ) untuk
melakukan penciptaan setiap kelas yang anda buat. Ini berarti pada setiap penciptaan
obyek maka kita harus memanggil metoda initialize( ). Di dalam Java hal ini tidak
diperlukan lagi sebab di Java sudah disiapkan mekanisme constructor. Jika suatu kelas
mempunyai method constructor, maka secara otomatis akan memanggil konstruktor
tersebut bilamana suatu obyek diciptakan atau diinstansiasi. Sehingga inisialisasi dalam
Java dijamin dengan cara mekanisme konstruktor, tinggal bagaimana kita mengisi code
pada method konstruktor tersebut.

Bentuk umum deklarasi suatu kelas DENGAN konstruktor adalah sbb ;

Class nama_class {

//deklarasi atribut atau data atau variabel


Type instance_variabel1;
Type instance_variabel2;
Type instance_variabeln;

//deklarasi konstruktor kelas;


//nama method ditulis sama dengan nama class
Type nama_method (daftar_parameter) {
// isi method konstruktor
}
//deklarasi method yang dimiliki kelas
Type nama_method1(daftar_parameter) { dengan nama kelas
Tulis
// isi method
}

//deklarasi method yang dimiliki kelas


Type nama_method2(daftar_parameter) {
// isi method
}

2
Berikut adalah contoh penulisan sebuah class. Class berikut adalah sebuah class yang
digunakan untuk merepresentasikan orang-orang pegawai yang tergabung dalam kelas
pegawai atau Pegawai (boleh huruf besar atau kecil yang penting konsistensi)

class Pegawai {
// Deklarasi variable-variable
private String nama;
private int umur;

//deklarasi kelas konstruktor dari kelas pegawai

public Pegawai (String namaPegawai, int umurPegawai) {

nama = namaPegawai; ‘
umur = umurPegawai;
}
// Deklarasi method-method
public String getNama() { Nama konstruktor=nama
return nama; kelas
}

public int getUmur() { Variabel dalam parameter sehingga


return umur; main() dapat berkomunikasi dengan
} konstruktor

public String toString() {


return nama + " (" + umur + " yrs old)";

}
} //akhir class Pegawai

Coba anda bandingkan antara deklarasi kelas yang TANPA Konstrukor dengan kelas
yang dideklarasikan DENGAN Konstruktor. Dengan adanya mekanisme konstruktor,
penciptaan obyek dalam main() akan otomatis memanggil konstruktor kelas.

2
Berikut adalah kode main() untuk memanggil kelas Pegawai

public static void main(String [] args)


{
Pegawai karyawan1 = new Pegawai("Candra",31);
Pegawai karyawan2 = new Pegawai("Hartono",41);

String namaCandra = karyawan1.getNama();


int umurCandra = karyawan1.getUmur();

String namaHartono = karyawan2.getNama();


int umurHartono = karyawan2.getUmur();

System.out.println("Nama Karyawan 1" + "\t" + ":" + namaCandra);


System.out.println("Umur Karyawan 1" + "\t" + ":" + umurCandra);

// dan seterusnya
}
}

Pada main() di atas, tampak bahwa adanya mekanisme instansiasi obyek Pegawai dan
sekaligu pemanggilan konstruktor Pegawai dengan kode sbb :

Pemanggilan konstruktor

Pegawai karyawan1 = new Pegawai("Candra",31);


Pegawai karyawan2 = new Pegawai("Hartono",41);

Data dikirim melalui parameter konstruktor

Langkah selanjutnya adalah pemanggilan method getNama() dan getUmur sehingga ada
nilai yang dikembalikan (return) dari method tersebut yang dipanggil di kelas Pegawai
dan dikembalikan di main() kepada variabel yang ditunjuk sesuai dengan tipe
variabelnya.

String namaCandra = karyawan1.getNama();

Nama (kelas Pegawai) dikembalikan ke


namaChandra di main() dengan
memanggil method getNama()
int umurChandra = karyawan1.getUmur();

umur (kelas
2 Pegawai) dikembalikan ke
umurChandra di main() dengan
memanggil method getUmur()
3.2. Fungsi Konstruktor

Konstruktor adalah method yang dipanggil pada saat pembentukan (instansiasi) suatu
obyek dan berfungsi untuk memberi nilai awal atau inisial pada atribut atau variabel
obyek. Biasanya tidak semua atribut obyek perlu diinisialisasi, namun dapat dipilih
atribut yang penting saja yang nilainya perlu diisi pada saat penciptaan obyek. Jadi
konstruktor merupakan method yang berfungsi untuk menginisialisasi atribut instans
yang akan dimiliki suatu obyek terlebih pada saat obyek itu dibentuk dengan mekanisme
instansiasi. Sehingga setelah anda mengenal cara melakukan instansiasi dengan
kontruktor, anda tidak perlu lagi menggunakan instansiasi dengan perintah new.

Berikut adalah beberapa karakteristik yang dimiliki suatu konstruktor :


1. Method konstruktor harus memiliki nama method yang sama dengan nama kelas.
2. Tidak mempunyai mekanisme untuk mengembalikan suatu nilai.
3. Satu kelas dapat memiliki lebih dari satu konstruktor baik dengan parameter
maupun tidak. Hal ini selanjutnya disebut dengan overloading method
konstruktor.
4. Dapat didahului dengan modifier seperti public, private atau protected.
5. Suatu konstruktor dapat dipanggil oleh konstruktor lain dalam satu kelas.

3.3. Contoh Program

LISTING PROGRAM KE-1

public class Latihan1


//nama kelas boleh diganti mahasiswa tapi seluruh satu source ini juga harus diganti
{
//atribut yang dimiliki oleh kelas ini
private String nim;
private String nama;
private String alamat;
private String kota;
//konstruktor kelas Latihan1
public Latihan1( String nim, String nama, String alamat, String kota)
{
this.nim = nim;
this.nama = nama;

2
this.alamat = alamat;
this.kota = kota;
}

public String getNim()


{
return nim;
}

public String getNama()


{
return nama;
}

public String getAlamat()


{
return alamat;
}

public String getKota()


{
return kota;
}

public static void main(String [] args)


{
Latihan1 Candra = new Latihan1("1402004001","Candra","Tanjung
priok","Jakut");
Latihan1 Devia = new
Latihan1("1402004002","Devia","Warakas","Priok");
Latihan1 Ningrum= new
Latihan1("1402004003","Ningrum","Bahari","Jakbar");

String nimCandra = Candra.getNim();


String nimDevia = Devia.getNim();
String nimNingrum = Ningrum.getNim();

String namaCandra = Candra.getNama();


String namaDevia = Devia.getNama();
String namaNingrum = Ningrum.getNama();

String alamatCandra = Candra.getAlamat();


String alamatDevia = Devia.getAlamat();
String alamatNingrum = Ningrum.getAlamat();

String kotaCandra = Candra.getKota();

2
String kotaDevia = Devia.getKota();
String kotaNingrum = Ningrum.getKota();

System.out.println("\nLATIHAN MEMBUAT KELAS DENGAN


KONSTRUKTOR DAN STATEMENT THIS");
System.out.println("-----------------------------------------------------------\n");

System.out.println("Nama Mahasiswa" + "\t" + ":" + namaCandra);


System.out.println("NIM Mahasiswa" + "\t" + ":" + nimCandra);
System.out.println("Alamat Mahasiswa " + ":" + alamatCandra);
System.out.println("Kota Mahasiswa" + "\t" + ":" + kotaCandra + "\n");

System.out.println("Nama Mahasiswa" + "\t" + ":" + namaDevia);


System.out.println("NIM Mahasiswa" + "\t" + ":" + nimDevia);
System.out.println("Alamat Mahasiswa " + ":" + alamatDevia);
System.out.println("Kota Mahasiswa" + "\t" + ":" + kotaDevia + "\n");

System.out.println("Nama Mahasiswa" + "\t" + ":" + namaNingrum);


System.out.println("NIM Mahasiswa" + "\t" + ":" + nimNingrum);
System.out.println("Alamat Mahasiswa " + ":" + alamatNingrum);
System.out.println("Kota Mahasiswa" + "\t" + ":" + kotaNingrum + "\n");

}
}

OUTPUT :

2
LISTING PROGRAM KE-2

public class Latihan2


{

private double panjang;


private double lebar;
private double tinggi;
private double volume;

public Latihan2( double panjang, double lebar, double tinggi)


{
this.panjang = panjang;
this.lebar = lebar;
this.tinggi = tinggi;
this.volume = volume;
}

public double getPanjang()


{
return panjang;
}

public double getLebar()


{
return lebar;
}

public double getTinggi()


{
return tinggi;
}

public double getVolume()


{
double volume = panjang*lebar*tinggi;
return volume;
}

public static void main(String [] args)


{
Latihan2 Balok = new Latihan2(50, 25, 20);

double panjangBalok = Balok.getPanjang();


double lebarBalok = Balok.getLebar();

2
double tinggiBalok = Balok.getTinggi();
double volumeBalok = Balok.getVolume();

System.out.println("Panjang Balok" + "\t" + ":" + panjangBalok);


System.out.println("Lebar Balok" + "\t" + ":" + lebarBalok);
System.out.println("Tinggi Balok" + "\t" + ":" + tinggiBalok);
System.out.println("Volume Balok" + "\t" + ":" + volumeBalok + "\n");

}
}

OUTPUT :

3.4. Latihan

1. Buatlah kelas Window lengkap dengan konstruktornya yang mempunyai atribut


sbb : warna, panjang, lebar, posisi, IDWindow dan mempunyai method :
getIDWindow(), getPanjang(), ubahWarna(), ubahPosisi(), ubahPanjang(),
UbahLebar().

2. Buatlah kelas Mobil lengkap dengan konstruktornya yang mempunyai atribut


sbb : warna, tahun produksi, CC, jumlah roda, bobot, Nopol, besarPajak dan
mempunyai method : ubahWarna(), ubahNopol(), ubahCC(), UbahBesarPajak().

3. Buatlah kelas BukuTeks lengkap dengan konstruktornya yang mempunyai atribut


sbb : judulbuku, tahun produksi, jumlah halaman, namapenerbit, dan mempunyai
method : ubahJudulBuku(), ubahTahunProduksi(), ubahJumlahHalaman(),
UbahNamaPenerbit().

4. Buatlah kelas Televisi lengkap dengan konstruktornya yang mempunyai atribut


sbb : warna, tahun produksi, panjang, lebar, berat, harga dan mempunyai method :
getHarga(), getTahunProduksi(), ubahharga(), UbahBerat().

2
5. Buatlah kelas Rumah lengkap dengan konstruktornya yang mempunyai atribut
sbb : alamat, kota, panjang, lebar, tahunDiBangun, Notelpon, harga dan
mempunyai method : getHarga(), getTahunDiBangun(), ubahharga(),
UbahAlamat().

Buatlah 1 buah soal dari LATIHAN BAB 2 (pilih satu


dari 5 soal) dan 1 buah soal dari LATIHAN BAB 3 (pilih
satu dari 5 soal)
Kumpulkan Minggu depan berupa print source codenya
dan kalau bias code diberi komentar
MINGGU DEPAN jam 10.15-12.00 diadakan UTS
berupa URAIAN dengan materi semua yang telah
diajarkan + tugas2

2
3

Anda mungkin juga menyukai