Anda di halaman 1dari 39

BAB I

PENGENALAN BAHASA PEMROGRAMAN BERORIENTASI OBJEK


( JAVA )

I.

II.

III.

IV.

Tujuan
-

Memperkenalkan java

menunjukkan cara meng-compile dan menjalankan program pada java

Menunjukkan perintah-perintah dasar Java

Alat dan Bahan


-

Jdk1.5

Notepad

Skill yang diharapkan


-

Mahasiswa mengenal Java

Mahasiswa mampu menggunakan java untuk membuat program

Mahasiswa mampu membuat program sederhana

Teori
1. Tipe Data
Apabila anda mendeklarasikan variabel pada Java, anda harus menentukan tipe
datanya. Tipe data ini menentukan nilai yang dapat disimpan oleh variable tersebut
dan operator operator yang dapat dikenakan padanya. Java memiliki tipe data yang
dapat dikategorikan menjadi dua
kelompok, yaitu tipe data primitif dan referensi.
1.

Tipe data primitif

Ada 8 tipe data primitif dalam bahasa Java.


a. Integer (Bilangan Bulat)
Integer merupakan tipe data numerik yang digunakan apabila tidak
berurusan dengan pecahan atau bilangan desimal. Tipe data numerik yang
termasuk integer ditunjukkan pada table 1.1.
1

Table 1.1 : Tipe data bilangan Bulat


Jenis Data

Ukuran Minimum

Maksimum

byte

8-bit

-127

128

short

16-bit

-32768

32767

int

32-bit

-2147483648

2147483647

long

64-bit

-9223372036854775808

9223372036854775807

b. Floating Point (Bilangan Pecahan)


Floating Point digunakan untuk menangani bilangan decimal atau
perhitungan yang lebih detail dibanding integer. Tipe data ini ada dua
macam, yaitu float dan double, seperti yang ditunjukkan pada table 2.3.

Tabel 2.3 : Tipe Data Pecahan


Jenis Data

Ukuran

Minimum

Maksimum

float

32-bit

1.40129846432481707e-45

3.40282346638528860e+38

double

64-bit

4.94065645841246544e-324

1.79769313486231570e+308

c. Char (Karakter)
Char adalah Char adalah karakter tunggal yang didefinisikan dengan diawali
dan diakhiri dengan tanda ( petik tunggal ). Tipe ini memiliki ukuran 16
bit. Tipe char mengikuti aturan unicode, sehingga dapat menggunakan kode
/u kemudian diikuti bilangan dari 0 sampai 65535, tetapi yang biasa
digunakan adalah bilangan heksadesimal dari 0000 sampai FFFF.

d. Boolean
Boolean adalah tipe data yang hanya mempunyai dua kemungkinan, yaitu
true dan false. Biasanya tipe data ini digunakan untuk perbandingan.
Boolean sangat penting dalam mengevaluasi suatu kondisi, dan sering
digunakan untuk menentukan alur program.

2. Percabangan
Dalam Java, disediakan dua buah struktur percabangan :
1. Struktur IF ELSE
Sintaks penggunaannya adalah :
if (kondisi)
{statement yang dijalankan jika kondisi bernilai benar}
atau :
if (kondisi)
{ statement1, yang dijalankan jika kondisi bernilai benar }
else
{ statement2, yang dijalankan jika kondisi bernilai salah }
atau :
if (kondisi1)
{ statement1, yang dijalankan jika kondisi1 bernilai benar }
else if (kondisi2)
{ statement2, yang dijalankan jika kondisi1 bernilai salah dan kondisi 2
bernilai benar }
else if (kondisi3)
{ statement3, yang dijalankan jika kondisi1 dan kondisi 2 bernilai salah,
kondisi 3 bernilai benar}
else if (kondisi4)
{ statement4, yang dijalankan jika kondisi1, kondisi2, kondisi 3 bernilai
salah dan kondisi 4 bernilai benar }

2. Struktur SWITCH CASE


SWITCH CASE merupakan peluasan dari struktur IF. Karena kalau dalam
struktur IF hanya disediakan dua pilihan (berdasarkan kondisi logikanya) maka
dalam struktur ini dimungkinkan untuk memilih satu pilihan di antara banyak
pilihan yang ada. Sintaks penggunaannya adalah :

switch <variabel> of {
case nilai1 : statement1; break;
case nilai2 : statement2; break;
case nilai3 : statement3; break;
case nilai4 : statement4; break;
.
default : statement_default;

3. Perulangan
Dalam Java, disediakan tiga buah struktur perulangan :
1. For
Sintaks penggunaannya adalah :
For (inisialisasi ; kondisi; step)
{statement yang dijalankan secara berulang selama kondisi bernilai benar}

2. While
Sintaks penggunaannya adalah :
while (kondisi)
{statement yang dijalankan secara berulang selama kondisi bernilai benar}

3. Do-while
Sintaks penggunaannya adalah :
do
{statement yang dijalankan secara berulang selama kondisi bernilai benar}
while (kondisi);

V.

Kegiatan / Aktivitas
1. Program Sederhana

Dalam pembuatan program dengan bahasa Java, kita harus tahu dimana akan
menuliskan code program, bagaimana meng-compile code tersebut dan bagaimana
cara menjalankannya.
Langkah-langkah pembuatan program sederhana
1.

Buka Notepad pada computer.

2.

Salinlah listing program berikut, kemudian simpanlah di C:\Program


Files\Java\jdk1.6.0\bin dengan nama SelamatBelajar.java
public class SelamatBelajar
{
public static void main (String [] args)
{
System.out.println ("Selamat Belajar Java");
}
}

3. klik tombol start dan kemudian pilih Run. Setelah itu akan muncul kotak
dialog Run seperti ditunjukkan pada gambar 1.1. Dalam kotak dialog Run,
ketikkan cmd kemudian klik tombol OK.

Gambar 1.1 : Run

4. Ketika prompt DOS muncul, maka berikan perintah untuk masuk menuju tempat
file SelamatBelajar.java berada, seperti ditunjukkan gambar 1.2

Gambar 1.2 : cmd

5. Kemudian anda lakukan proses kompile. Dalam hal ini, kompiler javac akan
menghasilkan berkas bernama SelamatBelajar.class. Berkas inilah yang
dimaksud berkas bytecode. Jika tidak ada kesalahan, anda akan menjumpai pesan
seperti ditunjukkan pada gambar 1.3.

Gambar 1.3 : Kompile berhasil

Jika anda menjumpai kesalahan (akan muncul pesan kesalahan pada layar) maka
bukalah kembali program SelamatBelajar.java dengan menggunakan editor yang
anda sukai dan kemudian betulkan serta simpanlah. Selanjutnya kompilasi
kembali sampai tidak ada kesalahan.

6. Berkas SelamatBelajar.class dapat segera dijalankan dengan menggunakan


interpreter java. Perintah yang perlu diberikan:
Java <nama-class-java>
dalam hal ini,
java SelamatBelajar

Gambar 1.4 : output SelamatBelajar.java


Latihan :
6

Buatlah program untuk menampilkan tulisan SAYA BELAJAR JAVA

2. Deklarasi Variabel dan Tipe Data


Penggunaan variabel dengan tipe data yang tepat sangat penting dalam pembuata
program.
Salinlah program dibawah ini, kemudian compile-lah.
public class penjumlahan
{
public static void main (String [] args)
{
a = 4;
b = 6;
c = a + b;
System.out.println ("Hasil penjumlahannya adalah "+c);
}
}

Apakah program tersebut dapat ter-compile dengan sukses?


Cobalah tambahkan deklarasi variabel berikut di atas baris a = 4; yaitu dengan
int a, b, c;

kemudian compile dan jalankan program tersebut.

Latihan
-

Buatlah program untuk menghitung volume balok dengan panjang = 58, lebar =
88 dan tinggi =7.

Buatlah program untuk menghitung luas segitiga dengan panjang alas = 98 dan
tinggi 57. (gunakan tipe data yang tepat, lihat daftar tipe data pada bagian teori
bab ini).

3. Penggunaan percabangan
Cermatilah contoh kasus berikut dan program untuk menyelesaikan kasus tersebut :

Disuatu supermarket terdapat aturan sebagai berikut :

Jika pembeli berbelanja lebih dari 100.000, maka mendapat diskon 10%, jika
pembeli berbelanja antara 75.001 dan 100.000, maka maka mendapat diskon 8%, jika
pembeli berbelanja antara 50.001 dan 75.000, maka maka mendapat diskon 5%, jika
pembeli berbelanja antara 25.001 dan 50.000, maka maka mendapat diskon 3%, jika
pembeli berbelanja kurang dari atau sama dengan 25.000 maka pembeli

tidak

mendapatkan diskon

Penyelesaian programnya :
public class ContohIfBersarang
{
public static void main (String [] args)
{
int belanja = 90000;
int diskon = 0;
if ( belanja >100000)
{diskon = belanja/10;}
else if ( belanja >75000)
{diskon = belanja*8/100;}
else if ( belanja >50000)
{diskon = belanja*5/100;}
else if ( belanja >25000)
{diskon = belanja*3/100;}
else
{diskon = 0;}
System.out.println("diskon = "+diskon);
}
}

Dari contoh di atas, buatlah program konversi nilai :


Nilai angka
nilai >= 90
80<= nilai < 90
60<= nilai < 80
40<= nilai < 60
40<= nilai

Nilai
A
B
C
D
E

4. Penggunaan perulangan
Cermatilah contoh kasus berikut dan program untuk menyelesaikan kasus tersebut :
Kasus :
Mengetahui hasil factorial dari suatu nilai, misalkan 5.

Program penyelesaiannya :
Dengan Menggunakan perulangan For
public class faktorialFor
{
public static void main (String [] args)
{
int nilai = 5;
long hasil=1;
for ( int i=1; i<= nilai; i++)
{
hasil = hasil * i;
}
System.out.println (nilai+" faktorial adalah "+hasil);
}
}

Dengan Menggunakan perulangan while


public class faktorialwhile
{
public static void main (String [] args)
{
int nilai = 5;
long hasil=1;
int i = 1;
while ( i <= nilai)
{
hasil = hasil * i;
i += 1;
}
System.out.println (nilai+" faktorial adalah "+hasil);
}
}

Dengan Menggunakan perulangan do-while


public class faktorialdo
{
public static void main (String [] args)
9

{
int nilai = 5;
long hasil=1;
int i = 1;
do {
hasil = hasil * i;
i += 1;
} while (i <= nilai);
System.out.println (nilai+" faktorial adalah "+hasil);
}
}

Latihan :
Dari contoh kasus diatas, buatlah program, Buat program perpangkatan dengan
menggunakan perulangan for, while dan do..while.

10

BAB II
PENGGUNAAN NETBEANS ( JAVA )

I.

II.

Tujuan
-

Memperkenalkan Netbeans

menunjukkan cara meng-compile dan menjalankan program pada netbeans

Alat dan Bahan


-

III.

IV.

V.

netbeans

Skill yang diharapkan


-

Mahasiswa mengenal netbeans

Mahasiswa mampu menggunakan netbeans untuk membuat program

Teori

Aktivitas / Kegiatan
1. Memulai menggunakan Netbeans
Langkah-langkah :
1.1.Membuka Netbeans
Untuk membuka Netbeans, silahkan anda mencari shortcut Netbeans yang ada
pada computer anda.

1.2.Membuat project baru


1.2.1. Klik File | New Project setelah itu, akan muncul kotak dialog seperti pada
gambar 2.1.

11

Gambar 2.1 Choose project

1.2.2. Pilih General pada Categories dan Java application pada Project, kemudian
pilih tombol next, sehingga muncul kotak dialog seperti pada gambar 2.2.

Gambar 2.2

1.2.3. Isi Project Name sesuai dengan kebutuhan, misalkan kita isi dengan
latihan_pertama (tidak diperbolehkan menggunakan spasi atau karakter
simbul lain selain garis bawah ( _ ).

1.2.4. Klik Finish, maka akan muncul halaman seperti pada gambar 2.3.

12

Gambar 2.3 Halaman Main

1.3.Menuliskan program
Penulisan program bisa dilakukan ditempat yang sudah disediakan, seperti
ditunjukkan pada gambar 2.4.

13

Gambar 2.4 Tempat penulisan program

Latihan :
Coba anda buat program penjumlahan dan tulis pada bagian tersebut :

1.4.Meng-compile
Setelah selesai menulis program, cara meng-compilenya adalah sebagai berikut :
Klik kanan pada nama class, kemudian pilih compile seperti ditunjukkan pada
gambar 2.5.

Bila compile sukses dijalankan, makan akan muncul pesan seperti pada gambar
2.6.

14

Gambar 2.5 tempat nama class

Gambar 2.6 Compile sukses

15

1.5.Menjalankan program
Untuk menjalankan program, caranya hampir sama dengan cara meng-compile,
perbedaannya adalah, setelah klik kanan pada nama klas, kemudian pilih run.

2. Membuat class baru


2.1.Klik File | New File setelah itu, akan muncul kotak dialog seperti pada gambar
2.7.

Gambar 2.7 Choose File Type

2.2.Pilih Java Classes pada Categories dan Java Class pada Project, kemudian pilih
tombol next, sehingga muncul kotak dialog seperti pada gambar 2.8.

Gambar 2.8 Name and Location

16

2.3.Isi Class Name sesuai dengan kebutuhan, misalkan kita isi dengan class_pertama
(tidak diperbolehkan menggunakan spasi atau karakter simbul lain selain garis
bawah ( _ ).
2.4.Klik Finish, maka akan muncul halaman seperti pada gambar 2.9. Class sudah
terbentuk

Gambar 2.9 Class

17

BAB III
CLASS ( JAVA )
I.

II.

Tujuan
-

Memperkenalkan class

Memperkenalkan membuat suatu class

Alat dan Bahan


-

III.

IV.

Netbeans

Skill yang diharapkan


-

Mahasiswa mampu menentukan attribute dan method pada suatu class

Mahasiswa mampu membuat class

Teori
Class merupakan konsep pokok di bahasa pemrograman berorientasi objek. Class
merupakan bentukan yang menjadi landasan bangun seluruh bahasa berorientasi objek.
Class mendefinisikan bentuk dan perilaku objek. (Objek adalah entitas dalam system
yang mewakili suatu entitas dalam dunia nyata).
Penggunaan terpenting class adalah dalam pendefinisian type baru, class adalah
template/protototype yang mendefinisikan type objek. Class merupakan sarana
pengkapsulan kumpulan data dan method-method yang beroperasi pada kumpulan data.
Data dan method digunakan untuk mendefinisikan isi dan kemampuan objek. Dalam kata
lain, class adalah cetakan objek. Objek-objek dari class yang sama mempunyai data
sendiri namun berbagi implementasi method dengan objek-objek lain di satu class.
Class tersusun atas attribute dan method. Attribut merupakan pembeda antara objek satu
dengan objek yang lain pada class yang sama, sedangkan method merupakan prilaku
yang dapat dilakukan oleh setiap objek.

18

V.

Kegiatan / Aktivitas
Kegiatan/Aktifitas di bawah ini akan dilakukan berdasar studi kasus berikut ini:
Studi kasus :
Buatlah program untuk menghitung luas dan keliling lingkaran bila diketahui jari-jarinya!
Gunakan konsep Pemrograman Berorientasi Objek!

1. Membuat Class
Dalam sebuah class, kata kunci class harus selalu digunakan, baru kemudian diikuti
oleh nama class. Nama class tidak boleh menggunakan spasi. Sebagai pengganti
spasi, bisa digunakan huruf besar untuk mengawali setiap kata atau menggantinya
dengan menggunakan garis bawah ( _ ).

Langkah-langkah pembuatan class :


1. Tentukan objeknya.
Bila

terdapat

suatu

permasalahan,

jangan

terburu-buru

berfikir

untuk

menyelesaikan permasalahan tersebut, namun pikirkan dulu apa objek dari


permasalahan tersebut. Dari studi kasus di atas, dapat didapatkan bahwa objek
yang dibutuhkan di dalam program adalah objek Lingkaran.
2. Tentukan attributnya
Setiap lingkaran pasti memiliki jari-jari. Oleh karena itu atribut dari objek
lingkaran adalah jari-jari lingkaran.
3. Tentukan methodnya
Sebuah objek lingkaran dapat diketahui luas dan kelilingnya dari perhitungan
menggunakan jari-jari lingkaran. Maka kita dapatkan 2 method yaitu getLuas dan
getKeliling. Kedua method di atas sekaligus dapat memenuhi requirement dari
kasus yang ada, yaitu mencari luas dan keliling lingkaran dari jari-jari lingkaran.
Selain kedua method di atas, diperlukan method tambahan untuk menampilkan
objek lingkaran saat dipanggil menggunakan perintah System.out.println, yaitu
method toString.
4. Dari langkah 1-3 dapat diambil kesimpulan bahwa akan dibangun kelas sesuai
dengan tabel berikut.
19

Tabel Objek Lingkaran


Lingkaran
jari2
getLuas()
getKeliling()
toString()

5. Coding
a. Membuat class baru bernama sama dengan nama objek, yaitu class
Lingkaran.
b. Deklarasikan atribut-atribut milik Lingkaran. Karena Lingkaran hanya
memiliki satu atribut yaitu jari-jari yang memiliki tipe double, maka
syntax berikut ini digunakan untuk mendeklarasikan atribut milik
Lingkaran.
double jari2;

c. Membuat constructor
Constructor adalah method yang dipanggil saat sebuah instance class
diciptakan. Nama constructor harus sama dengan nama class. Constructor
bisa memiliki parameter input (berupa atribut objek yang harus
dimasukkan ketika membuat instance baru), bisa tidak memiliki parameter
input, bisa keduanya. Hal itu dimungkinkan karena dalam satu class bisa
memiliki lebih dari 1 constructor, asalkan tiap constructor memiliki
parameter input yang berbeda-beda.
Dari studi kasus ini, constructor yang akan dibuat memiliki 1 buah
parameter input yaitu jari2 yang bertipe double. Oleh karena itu, dibuatlah
syntax pembuatan constructor seperti di bawah ini.
public lingkaran (double jari2){
this.jari2 = jari2;
}
20

d. Membuat method
Method getKeliling dan getLuas merupakan method yang melakukan
penghitungan keliling dan luas lingkaran. Hasil dari penghitungan tersebut
dijadikan nilai return. Maka dibuatlah method getKeliling dan getLuas
sebagai berikut.
public double getKeliling(){
return 2 * 3.14 * jari2;
}
public double getLuas(){
return 3.14 * jari2 * jari2;
}

Method toString digunakan untuk menampilkan objek saat perintah


System.out.println dijalankan, maka tampilkan informasi mengenai objek
seperlunya. Method toString untuk objek Lingkaran dituliskan sebagai
berikut.
public String toString(){
return segiempat ini memiliki:+
panjang +panjang+
lebar +lebar+
keliling +this.getKeliling()+
luas +this.getLuas();
}

Hasil dari keseluruhan langkah 5 (coding) menghasilkan syntax berikut ini.


class Lingkaran{
double jari2;
public lingkaran (double jari2){
this.jari2 = jari2;
}
public double getKeliling(){
return 2 * 3.14 * jari2;
}

21

public double getLuas(){


return 3.14 * jari2 * jari2;
}
public String toString(){
return segiempat ini memiliki:+
panjang +panjang+
lebar +lebar+
keliling +this.getKeliling()+
luas +this.getLuas();
}
}

2. Menciptakan Instance baru


Instance baru diciptakan dengan cara memanggil constructor yang sudah dibuat di
dalam class. Di dalam kasus ini, instance baru akan dibuat di dalam method public
static void main (String [] args) pada class Main. Pembuatan instance baru dilakukan
dengan syntax berikut:
Lingkaran L1 = new lingkaran (4);

Syntax di atas berarti, kita membuat instance dari class Lingkaran bernama L1
dengan jari-jari 4.

3. Menampilkan objek atau atribut objek


Untuk menampilkan informasi/mencetak instance yang baru saja dibuat, dilakukan
dengan syntax berikut:
System.out.println(L1);

Syntax di atas secara otomatis memanggil method toString yang sudah dioverride
oleh class Lingkaran. Jadi jika method toString belum dibuat, syntax tersebut tidak
akan berjalan dengan baik. Sebagai penggantinya, dapat digunakan syntax seperti di
bawah ini.
System.out.println(lingkaran L1 memiliki:);
System.out.println(jari-jari: L1.jari2);
System.out.println(keliling: L1.getKeliling());
System.out.println(luas: L1.getLuas());
22

Perintah di atas secara langsung memanggil atribut jari2 milik Lingkaran. Walaupun
secara syntax itu benar, tapi secara konsep itu tidak benar karena beresiko terhadap
keamanan data (dalam hal ini data jari2 lingkaran). Untuk lebih jelasnya akan
dijelaskan pada bab encapsulation.

Latihan : buatlah class untuk persegi panjang, segitiga, balok dan tabung.

23

BAB IV
ENCAPSULATION

I.

Tujuan
-

Memperkenalkan teori mengenai encapsulation

Memperkenalkan pengaplikasian encapsulation pada pemrograman berorientasi


objek

II.

Alat dan Bahan


-

III.

Netbeans

Skill yang diharapkan


-

Mahasiswa mampu menerapkan encapsulation dalam pembuatan program


berorientasi objek

IV.

Teori
Encapsulation adalah proses pemaketan data bersama metode-metodenya. Manfaat
utama encapsulation adalam menyembunyikan rincian-rincian implementasi dari
pemakai. Penyusunan seperti ini menjaga bagian internal objek dari pengaksesan
eksternal yang tidak diinginkan.
Encapsulation memiliki 2 manfaat utama, antara lain
1. Penyembunyian informasi (information hiding)
Penyembunyian implementasi mengacu pada perlindungan implementasi
internal objek. Objek disusun dari antarmuka public dan bagian private yang
merupakan kombinasi data dan metode internal. Hal ini memungkinkan bagian
internal dapat berubah tanpa mempengaruhi bagian-bagian program lain.
2. Modularitas (modularity)
Modularitas berarti objek dapat dikelola secara independen. Karena kode sumber
bagian internal objek dikelola secara terpisah dari antarmuka, maka modifikasi
24

dapat dilakukan tanpa menyebabkan maslaah pada bagian-bagian lain pada


program.
Encapsulation pada Java dilakukan dengan pembentukan class. Sedangkan
penyembunyian informasi dilakukan dengan kendali pengaksesan berupa modifier
default, private, protected dan public.
V.

Kegiatan
Kegiatan/Aktifitas di bawah ini akan dilakukan berdasar studi kasus pada bab class
(pembuatan class Lingkaran).
1. Melindungi atribut dari pengaksesan di luar kelas dengan menggunakan modifier.
Cobalah tulis syntax berikut pada Main.java kemudian jalankan Main.java.
L1.jari2 += 5;
System.out.println(jari-jari L1 menjadi + L1.jari2);

Yang baru saja dilakukan oleh syntax di atas adalah merubah data jari-jari milik
objek lingkaran. Bagaimana bila data tersebut adalah data penting yang bila terjadi
perubahan nilai sedikit saja bisa merusak jalannya system? Dari situlah pentingnya
ada perlindungan data. Salah satu cara untuk melindungi data (dalam hal ini atribut
milik objek) dari pengaksesan di luar kelas adalah dengan memberikan modifier
private pada atribut tersebut. Dengan modifier private, hanya class tempat atribut itu
berada lah yang dapat mengakses atribut tersebut. Modifier private dapat dituliskan
pada saat deklarasi variabel pada class seperti pada syntax berikut ini.
private double jari2;

setelah atribut diberi modifier seperti di atas, cobalah kembali mengakses atribut
tersebut dari Main.java dengan perintah berikut ini.
L1.jari2 += 5;
System.out.println(jari-jari L1 menjadi + L1.jari2);

Pesan error apakah yang ditampilkan pada baris pertama di atas?


Kesimpulan apakah yang dapat Anda buat berdasarkan percobaan di atas?
25

2. Mengakses data yang sudah dilindungi dari luar kelas


Cobalah tampilkan data jari-jari milik L1 dengan syntax berikut:
System.out.println(lingkaran L1 memiliki:);
System.out.println(jari-jari: L1.jari2);

Apakah program tetap dapat dijalankan?


Perintah di atas tidak bermaksud untuk merubah data jari2 milik L1, hanya sebatas
ingin menampilkan nilainya saja. Bagaimana hal tersebut dapat dilakukan?
Permasalahan di atas adalah salah satu contoh bahwa data yang sudah dilindungi
dengan modifier seperti di atas sangat mungkin masih dibutuhkan di class lain. Hal
ini masih bisa diatasi dengan membuat method yang memungkinkan data dilihat,
namun tidak dapat diubah. Method seperti ini berfungsi sebagai interface atau
perantara objek. Dengan demikian, objek masih bisa berinteraksi dengan objek lain,
saling memberi informasi, dan lain sebagainya namun objek luar masih tetap
memiliki akses yang terbatas. Contoh method yang dapat digunakan adalah sebagai
berikut.
public double getJari2(){
return jari2;
}

Dengan adanya method di atas, jika ada class lain yang ingin sebatas menampilkan
data saja bisa dilakukan dengan syntax sebagai berikut.
System.out.println(lingkaran L1 memiliki:);
System.out.println(jari-jari: L1.getJari2);

Dengan demikian, class di luar class Lingkaran masih memungkinkan melihat data
jari2 miiik objek Lingkaran namun tetap terbatas hanya melihat, tidak dapat
melakukan perubahan data, sehingga keamanan data terhadap perubahan yang tidak
diinginkan dapat terjaga.
26

BAB V
PEWARISAN

I.

II.

Tujuan
-

Memperkenalkan konsep pewarisan

Menunjukkan cara penulisan sintak pewarisan

Alat dan Bahan


-

III.

IV.

Notepad

Skill yang diharapkan


-

Mahasiswa mengerti konsep pewarisan

Mahasiswa mampu mengimplementasikan konsep pewarisan

Teori
Inheritance merupakan pewarisan attribut dan method pada sebuah class yang
diperoleh dari superclass-nya. Setiap subclass akan mewarisi atribut dan behaviour (
method-method) dari superclass-nya. Subclass kemudian dapat menambahkan attribute
dan behaviour baru yang spesifik dan dapat pula memodifikasi ( override ) attribute dan
behaviour yang diturunkan oleh superclass-nya.
Dalam hirarki kelas, jika kelas C merupakan turunan kelas B, dan kelas B
merupakan turunan kelas A, maka otomatis attribute dan method kelas A juga diwariskan
kelas C.
Bentukpewarisan :
[modifier] class namaSubKelas extends namaKelasSuper {
// classBody
}

27

Manfaat pewarisan
Subclass menyediakan attribute/behaviour yang spesifik yang membedakannya dengan
superclass, hal ini akan memungkinkan programmer Java untuk menggunakan ulang
source code dari superclass yang telah ada. Programmer Java dapat mendefinisikan
superclass khusus yang bersifat generik, yang disebut abstract class, untuk
mendefinisikan class dengan behaviour dan attribute secara umum.

Istilah dalam inheritance yang perlu diperhatikan :


Extends
Keyword ini harus kita tambahkan pada definisi class yang menjadi
subclass.
Superclass
Superclass digunakan untuk menunjukkan hirarki class yang berarti
class dasar dari subclass/class anak.
Subclass
Subclass adalah class anak atau turunan secara hirarki dari superclass.
Super
Keyword ini digunakan untuk memanggil konstruktor dari superclass
atau menjadi variabel yang mengacu pada superclass.

Methode Overriding
Pendefinisian ulang method yang sama pada subclass. Dalam inheritance, method
overriding berbeda dengan method overloading. Overriding adalah mendefinisikan
28

kembali method yang sama, baik nama method maupun signature atau parameter yang
diperlukan dalam subclass, sedangkan overloading adalah mendefinisikan method yang
memiliki nama yang sama, tetapi dengan signature yang berbeda dalam definisi class
yang sama.

V.

Kegiatan
1. Mengimplementasikan pewarisan
Buatlah class Lingkaran, yang memiliki attribute jari-jari method getLuas() dan
getKeliling(). Kemudian dari class tersebut akan dibuat class Tabung yang
merupakan turunan dari class Lingkarang dengan attribute jari-jari, tinggi, dan
method getVolume.
Pertama anda harus membuat class Lingkaran yang menjadi superclass. Kode class
Lingkaran seperti dibawah ini
public class Lingkaran{
private int jari;

public Lingkaran(int r){


this.jari = r;
}

public int getJari(){


return this.jari;
}

public double getLuas(){


return this.jari * this.jari * 3.14;
}
}

Selanjutnya buatlah class Tabung. Kode untuk class Tabung seperti berikut.
public class Tabung extends Lingkaran{

29

private int tinggi;

public Tabung(int r , int t){


super(r);
this.tinggi = t;
}

public double getVolume(){


return super.getLuas() * this.tinggi;
}
}

Selanjutnya buatlah program utama, untuk mencoba class Tabung dan class
Lingkarang yang telah dibuat sebelumnya. Misal kita namakan class Driver, berikut
kodenya.

public class Driver{


public static void main(String args[]){
Tabung x = new Tabung(10,7);

System.out.println("Volume Tabung adalah "+ x.getVolume());


}
}

Apabila kode diatas dijalankan apakah yang akan tercetak pada layar?

VI.

Latihan

1.

Keuntungan apa yang diperoleh dengan melakukan pewarisan dan kapan digunakan ?

2.

Buatlah method getKeliling pada class Tabung!

30

BAB VI
POLIMORFISME

I.

Tujuan

Memperkenalkan konsep Polimorfisme

Menunjukkan contoh program yang menerapkan Polimorfisme

II.

Alat dan Bahan

III.

IV.

Netbeans

Skill yang diharapkan

Mahasiswa mengerti konsep Polimorfisme

Mahasiswa mampu mengimplementasikan konsep Polimorfisme

Teori
Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah
konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti
kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method
yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya.

V.

Kegiatan
1. Mengimplementasikan Polimorfisme
Kita akan membuat program ekspresi wajah, dimana class EkspresiWajah sebagai
superclass nya. Berikut kode dari class Ekspresi wajah.

31

Sebagai subclass nya adalah class Sedih, Marah dan Gembira. Berikut adalah kode
dari masing-masing subclass.

Selain superclass dan subclass masih terdapat satu class lagi, yaitu class
MainEkspresiWajah yang berperan sebagai class client untuk mencoba program
ekspresi wajah yang kita buat.

32

Apabila kode diatas dijalankan apakah yang akan tercetak pada layar?

VI.

Latihan
1. Berikan contoh program yang dapat mewakili penjelasan tentang Polimorfisme dan
jelaskan program tersebut ?

33

BAB VII
KELAS ABSTRACT DAN INTERFACE

I.

Tujuan

Memperkenalkan kelas abstract dan interface

Menunjukkan contoh program yang menggunakan kelas abstract dan interface

II.

Alat dan Bahan

III.

IV.

Netbeans

Skill yang diharapkan

Mahasiswa mengerti kelas abstract dan interface

Mahasiswa mengerti perbedaan kelas abstract dan interface

Mahasiswa mampu mengimplementasikan kelas abstract dan interface

Teori
Kelas abstract adalah kelas murni yang tidak boleh memiliki objek, dan satu/lebih
method-methodnya yang abstract harus diimplementasikan (override) oleh kelas
turunannya.
Bentuk umum :
[modifier] abstract class NamaKelas {
// deklarasi attribute
// definisi/prototype method
}

34

Pada Java juga dikenal konsep interface, yang merupakan device yang digunakan untuk
komunikasi antar objek berbeda yang tidak memiliki hubungan apapun. Interface bisa
dikatakan sebagai protokol komunikasi antar objek tersebut.

[modifier] interface NamaInterface {


// deklarasi konstanta
// deklarasi method
} // catatan : modifier static tidak boleh digunakan dalam interface

Interface vs Abstract Class


Interface dan kelas abstract memilki kesamaan sama-sama tidak boleh instansiasi objek.
Perbedaan interface dangan kelas abstract adalah sebagai berikut :
komponen

interface

abstract class

attribute

hanya berupa konstanta

bebas memilki tipe


data apa saja

method

berupa deklarasi

boleh

deklarasi,

boleh berupa method


lengkap
syntax

seluruhnya abstract (berupa

sebagian abstract

deklarasi)

V.

Kegiatan
1. Penggunaan kelas abstract

35

Abstract class merupakan class yang memiliki minimal satu method abstract. Contoh
kasusnya adalah class Hewan. Class Hewan memiliki method abstract bersuara ,
Method bersuara dibuat sebagai method abstract karena method bersuara ini tidak
dapat ditentukan oleh class Hewan, dikarenakan bersuara Hewan tergantung dari jenis
hewannya. Tentunya bersuaranya sapi tidak sama dengan bersuaranya perkutut
bukan.
Untuk lebih jelasnya ikutilah langkah-langkah berikut ini. Pertama kita buat dulu
class Hewan sebagai abstract class nya. Berikut adalah kode dari class Hewan.

Perhatikan class Hewan diatas, terdapat abstract void bersuara yang tidak ada isinya.
Method bersuara inilah yang dikenal dengan absctract method. Method bersuara ini
wajib di implementasikan oleh turunan dari class Hewan. Contoh kita akan membuat
class Perkutut, maka class Perkutut harus mengimplementasikan method bersuara.
Tulis dan perhatikan class Perkutut dibawah ini.

36

Selain class Perkutut sebagai turunan class Hewan, misal kita akan membuat satu
turunan dari class Hewan lagi. Yaitu class Sapi. Seperti halnya class Perkutut class
Sapi juga harus mengimplementasikan method bersuara, dan tentunya implementasi
method bersuara pada class Perkutut dan class Sapi tidak sama. Berikut adalah class
Sapi.

Untuk mencoba dari class-class yang telah kita buat. Maka kita harus membuat
sebuah program utama sebagai tester. Misal class Utama nya sebagai berikut ini

37

Apabila program diatas dijalankan, apakah keluaran yang tercetak pada layar?

2. Penggunaan interface
Interface merupakan abstract class yang paling abstract, karena dia tidak boleh
memiliki attribute selain konstanta dan tidak boleh memiliki method yang memiliki
implementasi. Dengan kata lain semua method yang terdapat pada interface adalah
abstract.
Pada kasus ini, misal kita akan membuat interface manusia dimana manusia memiliki
abstract method menyanyi dan ketawa. Berikut adalah contoh interface manusia.

Selanjutnya kita buat class SpongeBob yang merupakan implements dari interface
Manusia. Class SpongeBob harus mengimplementasikan semua abstract method yang
ada pada interface manusia. Pada kasus ini adalah method menyanyi dan ketawa.
Berikut adalah contoh kode dari class SpongeBob.

38

Setelah class SpongeBob selesai kita harus membuat program utama yang digunakan
untuk mengetes dari interface Manusia dan class SpongeBob yang merupakan
implements dari class manusia. Berikut adalah contoh kode dari class Utama .

Class utama diatas hanya membuat object SpongeBob, kemudian hanya menjalankan
abstract method yang telah diimplementasikan oleh class SpongeBob. Apabila program
diatas dijalankan, apakah keluaran yang tercetak pada layar?

Latihan
1. Berikan contoh sebuah program yang mengimplementasikan kelas abstract

dan

interface ?
2. Apakah sebuah class dimungkinkan untuk menjadi implements lebih dari 1 interface?
Jika mungkin, maka buatlah sebuah program yang mengimplementasikan hal
tersebut.

39

Anda mungkin juga menyukai