Dasar Dasar Pemrograman Gambar 2.1 Pemro

Dasar-Dasar Pemrograman

Bab 2
Pemrograman Berorientasi Obek
Java adalah bahasa pemrograman berorientasi objek murni, artinya bahwa struktur penulisan
program Java selalu memakai struktur pemrograman berorientasi objek walaupun
pemrograman yang dibuat adalah terstruktur seperti pada contoh-contoh program pada bab
sebelumnya, yaitu semua program harus ditulis dalam blok kelas dan perintah/ instruksi
program di tulis di dalam metode.

Kelas

Metode bernama main

Pemrograman
terstruktur

Gambar 2.1 Pemrograman terstruktur menghitung luas segi empat dengan bahasa Java
Contoh program di atas merupakan cara pemrograman terstruktur, yaitu program ditulis secara
berurutan (sekuensial) dan akan dkerjakan mulai baris pertama hingga baris terakhir. Deklarasi
kelas (bernama LuasSegiEmpat) maupun metode (prosedur bernama main) pada program

tersebut tidak pernah dimanfaatkan (tidak pernah dipanggil), namun karena kita memakai
bahasa Java cara penulisan struktur program seperti ini harus dilakukan. Nama-nama tersebut
baru berguna ketika program dibuat dalam paradigma berorientasi objek.
Berbeda dengan pemrograman terstruktur, pemrograman berorientasi objek mempunyai
konsep pikir bahwa data (variabel) dan program (metode) merupakan satu kesatuan yang
disebut objek, dalam hal seperti contoh program di atas, yaitu misalnya untuk membuat
program menghitung Luas Segi Empat, maka data panjang dan lebar merupakan anggota kelas
objek tersebut, kemudian untuk mendapatkan informasi luas dibuat program pada metode
getLuas(), sehingga dengan paradigma pemrograman berorientasi objek program menghitung
luas segi empat ditulis dalam bentuk kelas seperti Gambar 2.2.
Pada Pemrograman Berorientasi Objek (PBO), program dibuat dalam bentuk kelas yang tidak
ada metode main-nya seperti Gambar 2.2. Karena tidak ada metode main maka program di atas
tidak bisa dieksekusi, kelas seperti ini masih dalam bentuk konsep/gambaran/blue print dari
program (objek) yaitu berupa kelas (Class).

Katon Wijana, S.Kom., M.T.
10
Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta

Dasar-Dasar Pemrograman


Variabel anggota
Variabel lokal
Kelas SegiEmpat
Metode anggota

Gambar 2.2 Pemrograman Berorientasi Objek menghitung luas segi empat
Cara pemakaian program di atas adalah dengan cara menciptakan suatu Objek atau yang dikenal
dengan istilah instansiasi. Membuat kelas berarti membuat tipe data, sehingga bisa dikatakan
bahwa kelas merupakan tipe data non primitive, artinya kita bisa membuat berbagai macam tipe
data sendiri dalam bentuk kelas, dengan demikian cara pemakaian kelas di atas mirip dengan
cara pemakaian tipe data pada umumnya, yaitu sebelum digunakan harus dideklarasikan
terlebih dahulu, namun untuk variabel bertipe kelas cara pemberian nilainya harus melalui
proses yang dinamakan instansiasi yang dapat dilakukan dengan perintah new. Berikut ini
contoh program utama (main) yang memakai kelas tersebut.

Deklarasi variabel
Instansiasi

Gambar 2.3 Cara memakai kelas SegiEmpat

Tampak pada contoh program utama di atas, pertama dilakukan deklarasi variabel terlebih
dahulu (baris 8), kemudian dilakukan instansiasi (membuat instan/ objek) dengan perintah new
(baris 9), setelah menjadi objek (instan) baru kemudian anggota-anggota kelas tersebut dapat
diakses, seperti misalnya variabel anggota panjang dan lebar diberi nilai dari keyboard yaitu
dengan cara menyebutkan nama variabelnya (tanahku) kemudian diikuti dengan operator titik
lalu nama variabel anggotanya yaitu panjang atau lebar (baris 11 dan 13). Dengan demikian
objek tersebut menyimpan nilai yang dimasukkan melalui keyboard yang merupakan kondisi/
status/ state dari objek tersebut. Hal ini bisa diilustrasikan seperti berikut:

Katon Wijana, S.Kom., M.T.
11
Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta

Dasar-Dasar Pemrograman

tanahku

panjang
lebar


10
12

getLuas()

Gambar 2.4 Objek dalam keadaan menyimpan nilai panjang = 10 dan lebar = 12

Perlu diketahui bahwa anggota pada kelas tersebut yang bernama panjang dan lebar tersebut
dinamakan variabel anggota, sedangkan anggota yang berupa metode yaitu pada contoh di atas
getLuas() disebut metode anggota. Karena keduanya merupakan anggota maka anggota
tersebut juga bisa dipanggil, pada contoh program Utama di atas metode getLuas() akan
memeriksa menghasilkan nilai perkalian antara panjang dan lebar.

Gambar 2.5 Contoh hasil eksekusi program utama

Variabel Anggota
Variabel dapat dideklarasikan di dalam metode dan di luar metode tetapi di dalam kelas. Variabel yang
dideklarasikan di dalam metode disebut variabel lokal, sedangkan variabel yang dideklarasikan di luar
metode tetapi di dalam kelas disebut Variabel Anggota. Pada program Gambar 2.6 baris 4 dan 5, yaitu
deklarasi panjang dan lebar merupakan variabel Anggota, sedangkan baris 8 merupakan variabel lokal.

Nilai yang tersimpan dalam variabel anggota akan bersifat permanen selama objek yang bersangkutan
masih ada, jadi sekali diberi nilai maka nilai tersebut akan tetap tersimpan selama objek masih ada.
Sedangkan variabel lokal hanya dapat menyimpan nilai selama metode tempat variabel tersebut
dideklarasikan sedang bekerja setelah selesai bekerja maka variabel loka tersebut akan hilang.
Variabel anggota (member variable) disebut juga field sebab variabel ini dapat dipergunakan untuk
mengenali (membedakan) suatu objek, sebagai contoh misalnya sebuah kelas Mahasiswa yang
mempunyai variabel anggota nim, nama dan kota seperti Gambar 2.6.

Gambar 2.6 Kelas Mahasiswa dengan field nim, nama dan kota

Metode Anggota
Sebenarnya metode adalah kumpulan program yang diberi nama, pada pemrograman
terstruktur metode ini disebut procedure dan function. Pada Pemrograman Berorientasi Objek
dise ut etode kare a erupaka
ara
etode u tuk e dapatka i for asi. “e agai
contoh misalnya program Gambar 2.2 cara untuk mendapatkan informasi luas adalah getLuas().

Katon Wijana, S.Kom., M.T.
12

Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta

Dasar-Dasar Pemrograman

Deklarasi Metode
Sama seperti variabel, sebelum dapat dipergunakan harus dideklarasikan terlebih dahulu, pada
prinsipnya, metode terdiri dari 2 bagian, yaitu :



Method Declaration
Method Body

class
{
................
................

}


Daftar parameter formal

[static] void | (, ,...)
{
................
................
Method body
................
[return ;]
}
Jika metode bertipe void, maka tanpa return

Method
Declaration

Gambar 2.7 Bentuk umum deklarasi metode

Metode bisa mengembalikan nilai atau tidak mengembalikan nilai, untuk metode yang tidak
mengembalikan nilai pada bagian harus diganti void (kosong), sedangkan jika
metode tersebut mengembalikan suatu nilai, maka bagian tersebut harus diisi dengan tipe data

yang dikembalikan (return). Jika metode tidak mengembalikan nilai, maka baris perintah return
tidak ditulis.
Method Declaration
Deklarasi metode adalah merupakan bagian yang digunakan untuk memberikan identitas (nama)
dari kumpulan program, menentukan apakah metode berupa fungsi (mengembalikan nilai) atau
berupa prosedur (tidak mengembalikan nilai), menentukan apakah metode tersebut statis (tidak
perlu instansiasi) dan menentukan parameter-parameter fomal yang dapat digunakan untuk
menerima nilai dari luar metode.
Method Body
Bagian ini merupakan implementasi dari sebuah fungsi/method. Dalam method body ini dikenal
dua kata kunci penting, yakni this yang mengacu ke objek yang sedang diproses (objek yang
bersangkutan) dan super yang mengacu pada objek induk dari objek yang sedang diproses.
Untuk sementara masalah tersebut dikesampingkan terlebih dahulu, kali ini akan dibahas
mengenai metode-metode yang digunakan untuk melakukan proses terhadap variabel anggota.
Parameter
Selain dapat mengelola data yang ada di dalam kelas, yaitu variabel anggota kelas, metode juga
dapat menerima data dari luar kelas dengan cara menerimanya melalui parameter. Bentuk
umum Deklarasi metode yang mengembalikan nilai dan yang tidak mengembalikan nilai jika
dibedakan adalah sebagai berikut:


Katon Wijana, S.Kom., M.T.
13
Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta

Dasar-Dasar Pemrograman
void (){

}

Metode yang tidak
mengembalikan niai

(){

return
}

Metode yang
mengembalikan niai


Sebagai contoh misalnya program Gambar 2.2 metode getLuas() akan mengembalikan nilai
bertipe double, yaitu nilai yang tersimpan pada variabel luas. Pada contoh ini metode getLuas()
tidak mempunyai parameter, sehingga tidak dapat menerima nilai dari luar objek.
Metode Berparameter
Parameter adalah variabel lokal yang dapat menerima nilai dari luar objek, variabel ini
dideklarasikan di dalam tanda kurung di sebelah kanan nama metode. Sebagai contoh misalnya
kelas Mahasiswa pada Gambar 2.8 berikut ini:

Parameter
formal

Gambar 2.8 Metode tidak mengembalikan nilai berparameter

Baris 8 hingga 10 merupakan metode yang tidak mengembalikan nilai (void) dan mempunyai
sebuah parameter. Perhatika ahwa pada progra di atas tidak ada aris progra
retur
karena tidak mengembalikan nilai. Gambar 2.9 berikut ini contoh program Utama yang
memanggil metode tersebut dan mengirimkan nilai yang bisa diterima oleh metode
SalamKenal(String).


Parameter aktual

Gambar 2.9 Mengirimkan nilai dari luar objek
Katon Wijana, S.Kom., M.T.
14
Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta

Dasar-Dasar Pemrograman

Parameter yang digunakan untuk menerima nilai, yaitu deklarasi variabel pada metode disebut
parameter formal, sedangkan parameter yang digunakan untuk mengirimkan nilai, yaitu
parameter yang ditulis pada saat memanggil metode disebut parameter aktual.
Kelas
Kelas adalah bagian paling luar dari program yang membungkus variabel dan metode, dengan
tujuan agar Kelas tersebut dapat digunakan sebagai blue print yang dapat dibuat menjadi suatu
objek yang siap dipergunakan. Java mengharuskan penulisan metode berada didalam suatu
Kelas.
Mungkin dalam suatu proses perhitungan kita pernah digunakan metode sqrt(), yaitu square
root/ akar) misalnya untuk menghitung sisi miring dengan rumus Phytagoras yang sisi sikusikunya adalah a dan b adalah seperti berikut:
sisi_miring = Math.sqrt((a*a)+(b*b));

Pada contoh tersebut ada pemanggilan metode sqrt() dengan parameter aktual berupa
ekspresi jumlah kuadrat sisi siku-sikunya, akan menghasilkan (mengembalikan) nilai akar dari
ekspresi tersebut dan nilai tersebut disimpan pada variabel sisi_miring. Contoh tersebut
merupakan metode yang mengembalikan nilai bertipe double. Tampak pada contoh tersebut
bahwa pemakaian metode sqrt() yang ada di dalam kelas Math tidak diperlukan instansiasi
terlebih dahulu karena metode tersebut adalah static.
Membuat Metode Statis untuk Membaca Keyboard
Berikut ini contoh kelas yang menyediakan metode statik untuk membaca satu baris data dari
keyboard, nama kelasnya misalnya Console dan nama metodenya adalah ReadLine()
mengembalikan nilai bertipe String dan readDouble() mengembalikan nilai bertipe double.

Gambar 2.9 Mengirimkan nilai dari luar objek

Katon Wijana, S.Kom., M.T.
15
Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta

Dasar-Dasar Pemrograman
Catatan :
 Berbeda dengan metode non statis yang baru dialokasikan ke memori setelah diinstansiasi (menjadi objek),
metode statis akan langsung berada di memori dan siap dieksekusi ketika dipanggil.
 Hanya metode statis yang dapat dipanggil secara langsung dari dalam metode statis (mialnya main) tanpa
instansiasi.
 Pemanggilan metode tidak statis, harus dilakukan dengan mekanisme instansiasi.
 Metode statis disebut juga metode kelas, yang dapat dipanggil tanpa perlu melakukan instansiasi namun harus
dengan cara menyebutkan nama kelasnya.

Latihan :
1. Buatlah kelas bernama Lingkaran yang mempunyai variabel anggota radius bertipe double.
Kelas ini mempunyai metode getKliling() dan getLuas() yang mengembalikan tipe double
sbb.
a. getKeliling()
b. getLuas()

: 2 * Math.PI * radius

: Math.PI * radius * radius

2. Buatlah program Utama01 yang mendemonstrasikan pemakaian kelas Lingkaran di atas.
3. Buatlah kelas bernama Silinder yang mempunyai variabel anggota radius dan tinggi bertipe
double. Kelas ini mempunyai metode getKlilingAlas(), getLuasAlas(), getVolume() dan
getLuasPermukaan() yang mengembalikan tipe double sbb.
a. getKelilingAlas()

: 2 * Math.PI * radius

b. getLuasAlas()

: Math.PI * radius * radius

c. getLuasVolume()

: getLuasAlas() * tinggi

d. getLuasPermukaan()

: 2 * getLuasAlas() + getKelilingAlas() * tinggi

4. Buatlah program Utama02 yang mendemonstrasikan pemakaian kelas Lingkaran di atas.

Lingkaran

Silinder

Gambar 2.10 Lingkaran adalah bagian dari Silinder

Katon Wijana, S.Kom., M.T.
16
Program Studi Sistem Informasi Fakultas Teknologi Informasi Universitas Kristen Duta Wacana Yogyakarta