1. Modul PBO – Teknokrat
21
Kelas Objek
instansiasi
Gambar 3. 1 Pembuatan objek dari kelas dengan
instansiasi
Gambar 3. 2 Objek bayi
dalam kehidupan nyata
KELAS & OBJEK
Tujuan
Praktikan dapat memahami konsep kelas dan objek dan dapat membuat contoh kelas
dan objek dengan bahasa pemrograman Java.
KELAS DAN OBJEK
Dua konsep paling utama dalam pemrograman berorientasi objek (object-oriented programming)
adalah kelas dan objek. Kelas merupakan cetak biru (blue print) dari objek-objek yang akan dibuat.
Sebuah kelas menggambarkan ciri-ciri objek secara umum. Sebagai contoh Andi, Budi, Cita, dan Dina
merupakan objek dari kelas mahasiswa. Andi dan ketiga objek lainnya memiliki kesamaan attribute
(npm, nama, jenis kelamin, jurusan, dan ipk) dan method untuk mengakses data pada atributnya
(misalnya fungsi untuk menginputkan data npm, nama, jenis kelamin, dsb).
Objek merupakan segala sesuatu yang ada di dunia ini, seperti manusia, hewan, tumbuhan, rumah,
kendaraan, dan sebagainya. Contoh objek yang telah disebutkan di atas merupakan contoh objek
nyata dalam kehidupan sehari-hari. Pada pemrograman berorientasi objek akan diajarkan
bagaimana membawa konsep objek dalam dunia nyata menjadi objek dalam dunia pemrograman.
Analogi kelas dan objek seperti rancangan
model mobil dan pembuatan mobil-mobil.
Proses pembuatan objek dari kelas disebut
dengan instance (Gambar 3.1).
Setiap objek dalam dunia nyata terdiri dari dua elemen penyusunnya,
yaitu keadaan (state) dan perilaku/sifat (behavior). Sebagai contoh, bayi
(Gambar 3.2) memiliki keadaan yaitu nama, berat badan, panjang
badan, dan jenis kelamin, serta memiliki perilaku/sifat seperti menangis,
tertawa, bicara, dan merangkak. Ketika objek diterjemahkan ke dalam
konsep PBO (Tabel 3.1), maka elemen penyusun juga terdiri dari dua
bagian, yaitu:
§ Atribut (attribute), merupakan ciri-ciri yang melekat pada suatu objek (state).
§ Metode (method), merupakan fungsi-fungsi yang digunakan untuk
memanipulasi nilai-nilai pada atribut atau melakukan hal-hal yang
dapat dilakukan oleh suatu objek (behavior).
Objek-objek yang memiliki kesamaan atribut dan metode dapat dikelompokan menjadi sebuah
kelas, sehingga objek-objek tersebut disebut dengan instance of class. Untuk membuat
(menginstansi) objek dari kelas dengan menggunakan kata kunci new.
3
BAB
2. Modul PBO – Teknokrat
22
Tabel 3. 1 Implementasi kelas bayi berdasarkan representasi dunia nyata
Representasi dunia nyata Kelas dalam PBO
Ciri
§ Nama
§ BeratBadan
§ PanjangBadan
§ JenisKelamin
Kelakuan
§ Menangis
§ Tertawa
§ Bicara
§ Merangkak
Atribut
§ String nama
§ int beratBadan
§ int panjangBadan
§ char jenisKelamin
Metode
§ void menangis()
§ void tertawa()
§ void bicara()
§ void merangkak()
Java merupakan bahasa pemrograman tingkat tinggi yang diciptakan berdasarkan turunan dari C++.
Target utama dari penggunaan bahasa Java adalah pengkodingan berarah objek yang simpel
(tidak memerlukan header), menghindari pemanipulasian pointer secara manual (otomatis), dan
lainnya. Kini, penggunaan Java sudah sangat banyak di perusahaan mengingat Java adalah cross-
platform dan bahkan cross-device.
PENDEFINISIAN KELAS
Struktur sebuah kelas terdiri atas dua bagian, yaitu kepala dan badan kelas. Bagian kepala
merupakan baris awal yang mendefinisikan nama kelas. Bagian badan kelas didefinisikan didalam
tanda kurung kurawal buka “{“ dan kurung kurawal tutup “}”. Berikut adalah strukturnya:
class <nama_kelas>
{
// Pendefinisian anggota kelas:
// Attribute
// Method
}
Program 3-1
public class Mobil {
private String noPlat;
private String warna;
private String manufaktur;
private int kecepatan;
public void setNoPlat(String noPlat) {
this.noPlat = noPlat;
}
public String getNoPlat() {
return noPlat;
}
}
3. Modul PBO – Teknokrat
23
Kelas dapat digambarkan dalam bentuk notasi grafik UML (unified modeling language) seperti pada
Gambar 3.3 berikut.
Gambar 3. 3 Notasi UML diagram kelas
OBJEK
Objek merupakan segala sesuatu yang ada di dunia ini, yaitu manusia, hewan, tumbuhan, rumah,
kendaraan, dan lain sebagainya. Contoh-contoh objek yang telah disebutkan di atas merupakan
contoh objek nyata pada kehidupan kita. Pada pemrograman berorientasi objek, kita akan belajar
bagaimana membawa konsep objek dalam kehidupan nyata menjadi objek dalam dunia
pemrograman. Setiap objek dalam dunia nyata pasti memiliki 2 elemen penyusunnya, yaitu keadaan
(state) dan perilaku/sifat (behaviour). Sebagai contoh, sepeda memiliki keadaan yaitu warna, merk,
jumlah roda, ukuran roda. Sedangkan perilaku/sifat sepeda adalah berjalan, berhenti, berbelok,
menambah kecepatan, mengerem. Pada saat objek diterjemahkan ke dalam konsep PBO, maka
elemen penyusunannya juga terdiri atas 2 bagian, yaitu:
• Atribut, merupakan ciri-ciri yang melekat pada suatu objek (state).
• Method, merupakan fungsi-fungsi yang digunakan untuk memanipulasi nilai-nilai pada atribut
atau untuk melakukan hal-hal yang dapat dilakukan suatu objek (behaviour).
Sintaks membuat objek dari suatu class:
namaClass namaObjek = new namaClass();
Contoh:
Program 3-2
public class MobilMain {
public static void main(String [] args) {
Mobil avanza = new Mobil();
avanza.setNoPlat("BE 212 WI");
System.out.println("Mobil dengan plat " + avanza.getNoPlat());
}
}
Hasil Output
Mobil dengan plat BE 212 WI
Perhatikan kelas MobilMain di atas, nama objek (instant of class) dari kelas Mobil adalah avanza.
Proses ini dapat digambarkan dalam bentuk notasi UML seperti pada Gambar 3.4 berikut.
4. Modul PBO – Teknokrat
24
+setNoPlat(in noPlat : String) : void
+getNoPlat() : String
-noPlat : String
-warna : String
-manufaktur : String
-kecepatan : int
Mobil
noPlat : String = "BE 212 WI"
warna : String = "Hitam"
manufaktur : String = "Toyota"
kecepatan : int = 60
avanza : Mobil
new Mobil()
noPlat : String = "BE 333 MO"
warna : String = "Kuning"
manufaktur : String = "Honda"
kecepatan : int = 120
jazz : Mobil
Class diagram
Object diagram
Gambar 3. 4 Notasi UML untuk kelas dan objek
DEKLARASI ATRIBUT
Dalam pendeklarasian atribut, kita tuliskan:
<modifier> <type> <name> [= <default_value>];
Langkah selanjutnya adalah mengurutkan atribut yang akan diisikan pada class. Untuk setiap
informasi, urutkan juga tipe data yang yang tepat untuk digunakan. Contohnya, Anda tidak mungkin
menginginkan untuk menggunakan tipe data integer untuk nama siswa, atau tipe data string pada
nilai siswa.
Berikut ini adalah contoh informasi yang akan diisikan pada class StudentRecord :
name - String
address - String
age - Int
math grade - double
english grade - double
science grade - double
average grade - double
DEKLARASI METHOD
Sebelum kita membahas method apa yang akan dipakai pada class, mari kita perhatikan penulisan
method secara umum.
Dalam pendeklarasian method, kita tuliskan:
<modifier> <returnType> <name>(<parameter>*) {
<statement>*
}
dimana,
<modifier> dapat menggunakan beberapa modifier yang berbeda
<returnType> dapat berupa seluruh tipe data, termasuk void
5. Modul PBO – Teknokrat
25
<name> identifier atas class
<parameter> ::= <tipe_parameter> <nama_parameter>[,]
Contoh:
Program 3-3
public class Mobil {
private String noPlat;
private String warna;
private String manufaktur;
private int kecepatan;
public void setNoPlat(String noPlat) {
this.noPlat = noPlat;
}
public String getNoPlat() {
return noPlat;
}
public String getWarna() {
return warna;
}
public void setWarna(String warna) {
this.warna = warna;
}
public String getManufaktur() {
return manufaktur;
}
public void setManufaktur(String manufaktur) {
this.manufaktur = manufaktur;
}
public int getKecepatan() {
return kecepatan;
}
public void setKecepatan(int kecepatan) {
this.kecepatan = kecepatan;
}
public void infoMobil() {
System.out.println("Informasi Kendaraan:");
System.out.println("--------------------");
System.out.println("No Plat : "+getNoPlat());
System.out.println("Kecepatan: "+getKecepatan());
}
}
Program 3-4
public class MobilMain {
public static void main(String [] args) {
Mobil avanza = new Mobil();
avanza.setNoPlat("BE 212 WI");
6. Modul PBO – Teknokrat
26
avanza.setManufaktur("Toyota");
avanza.setWarna("Putih");
avanza.setKecepatan(220);
System.out.println("Mobil dengan plat " + avanza.getNoPlat() +
" yang dibuat oleh " + avanza.getManufaktur() +
" berwarna " + avanza.getWarna() +
" memiliki kecepatan maksimal " + avanza.getKecepatan() +
" Km/jam.");
}
}
Hasil Output
Mobil dengan plat BE 212 WI yang dibuat oleh Toyota berwarna Putih
memiliki kecepatan maksimal 220 Km/jam.
7. Modul PBO – Teknokrat
27
Lembar Kerja Praktikum: Modul 3
NPM: Asisten:
Nama: Nilai:
Kelas: Tanggal:
Soal
[Score: 100] Buat sebuah class Pelajar dengan ketentuan sebagai berikut:
· Memiliki atribut: npm, nama, nilaiUjian1, nilaiUjian2, dan tugas
· Memiliki method:
o Accessor dan mutator
o nilaiAkhir à untuk menghitung nilai akhir dari pelajar tersebut dengan
rumus:
( ) ( ) ( )
%
25
*
%
40
*
2
%
35
1 nTugas
nUjian
nUjian
nA +
+
*
=
o isLulus à digunakan untuk mengecek apakah seorang siswa lulus atau tidak,
dinyatakan lulus bila nilai akhirnya sama dengan 60 ke atas.
Berikut ini adalah class pelajarMain yang digunakan untuk memanggil class Pelajar.
Program Utama
public class pelajarMain {
public static void main(String [] args) {
Pelajar p = new Pelajar();
p.setNpm("0517032014");
p.setNama("Ardiansyah");
p.setNilaiUjian1(66.5);
p.setNilaiUjian2(80);
p.setNilaiTugas(85.5);
System.out.println("Data Pelajar: ");
System.out.println("NPM: "+p.getNpm());
System.out.println("Nama: "+p.getNama());
System.out.println("Ujian 1: "+p.getNilaiUjian1());
System.out.println("Ujian 2: "+p.getNilaiUjian2());
System.out.println("Tugas: "+p.getNilaiTugas());
System.out.println("Nilai Akhir: "+p.nilaiAkhir());
System.out.println("Status: "+p.isLulus());
}
}
8. Modul PBO – Teknokrat
28
Hasil Output
Data Pelajar:
NPM: 0517032014
Nama: Ardiansyah
Ujian 1: 66.50
Ujian 2: 80.00
Tugas: 85.50
Nilai Akhir: 76.65
Status: Lulus