SlideShare a Scribd company logo
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.
MODUL
3
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;
}
}
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.
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
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");
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.
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());
}
}
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

More Related Content

DOCX
Passport automation system
DOC
Online blood bank management system
PPTX
Rpl 06 - proses rekayasa persyaratan
PPTX
Functional and non functional
PDF
A PROJECT REPORT ON Online Bus Reservation System
PPTX
Array of objects.pptx
PPTX
Object Oriented Programming using C++(UNIT 1)
PPTX
TAXI-GO (Taxi Booking System)
Passport automation system
Online blood bank management system
Rpl 06 - proses rekayasa persyaratan
Functional and non functional
A PROJECT REPORT ON Online Bus Reservation System
Array of objects.pptx
Object Oriented Programming using C++(UNIT 1)
TAXI-GO (Taxi Booking System)

What's hot (18)

DOCX
OPEN CABSTER PROJECT DOC
PPT
CASE STUDY - THE NEXTGEN POS SYSTEM (2).ppt
PPT
Pengertian ERD
PPTX
Online Shopping Agent in AI
PPTX
Data Designs (Software Engg.)
PDF
C programming_MSBTE_Diploma_Pranoti Doke
PDF
Analisis sistem
PPTX
Percabangan.pptx
PPTX
Waterfall model
PPTX
online bus ticket booking system
PPTX
Waterfall Model PPT in Software Engineering
PPTX
Function C programming
DOCX
[5114100051 5114100101-5114100143] - perencanaan proyek
DOCX
Blood donation
PDF
SOLUTION MANUAL OF OPERATING SYSTEM CONCEPTS BY ABRAHAM SILBERSCHATZ, PETER B...
PPTX
User defined functions
PPTX
C++ Project: Subject Registration System
PPTX
Prison management system
OPEN CABSTER PROJECT DOC
CASE STUDY - THE NEXTGEN POS SYSTEM (2).ppt
Pengertian ERD
Online Shopping Agent in AI
Data Designs (Software Engg.)
C programming_MSBTE_Diploma_Pranoti Doke
Analisis sistem
Percabangan.pptx
Waterfall model
online bus ticket booking system
Waterfall Model PPT in Software Engineering
Function C programming
[5114100051 5114100101-5114100143] - perencanaan proyek
Blood donation
SOLUTION MANUAL OF OPERATING SYSTEM CONCEPTS BY ABRAHAM SILBERSCHATZ, PETER B...
User defined functions
C++ Project: Subject Registration System
Prison management system
Ad

Similar to Modul pratikum pbo - Class dan Object (20)

PDF
Modul Pemrograman Berorientasi Objek
PDF
Bahan ajar pertemuan 1 Class & Object
PDF
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
PDF
02. prak.-pemrograman-berorientasi-objek
PDF
Pengantar Pemrograman Berorientasi Objek
PDF
[RPL2] Class Diagram dan Konsep Object Oriented (1)
PDF
Pemrograman berbasis Objek
PDF
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
PPT
1. konsep pbo
PPTX
03 java programming
PDF
Konsep-Object-dan-Class dalam pemrograman.pdf
PPTX
CLASS, OBJECK & ENKAPSULASI.pptx
PPT
Pert 4. class dan objek
PPT
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
PPTX
Object-Oriented-Programming-New-OOP.pptx
PPTX
Object-Oriented-Programming-New-OOP.pptx
PPTX
CCIT OOP Pertemuan 1
PDF
Presentation1.pdf
PPT
2. konsep Pemrograman Berorientasi Obyek
PDF
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Modul Pemrograman Berorientasi Objek
Bahan ajar pertemuan 1 Class & Object
[PBO] Pertemuan 3 - Pengenalan Pemrograman Berbasis Objek
02. prak.-pemrograman-berorientasi-objek
Pengantar Pemrograman Berorientasi Objek
[RPL2] Class Diagram dan Konsep Object Oriented (1)
Pemrograman berbasis Objek
[RPL2] Pertemuan 1 - Pendahuluan Rekayasa Perangkat Lunak 2
1. konsep pbo
03 java programming
Konsep-Object-dan-Class dalam pemrograman.pdf
CLASS, OBJECK & ENKAPSULASI.pptx
Pert 4. class dan objek
Lanjutan-Konsep-OOPLanjutan-Konsep-OOP.ppt
Object-Oriented-Programming-New-OOP.pptx
Object-Oriented-Programming-New-OOP.pptx
CCIT OOP Pertemuan 1
Presentation1.pdf
2. konsep Pemrograman Berorientasi Obyek
Pertemuan 1 konsep dasar pemrograman berorientasi objek
Ad

More from rahmantoyuri (20)

PDF
new Chapter 10 - Report Kwitansi.pdf
PDF
new Chapter 9 - Coding Form Transaksi Penjualan.pdf
PDF
new Chapter 8 - Coding Form Master Pelanggan (Customer).pdf
PDF
new Chapter 7 - Coding Form Master Barang.pdf
PDF
new Chapter 6 - Kelas Koneksi dan Form Login.pdf
PDF
new Chapter 5 - Coding Form Menu Utama.pdf
PDF
new Chapter 4 - Form Transaksi.pdf
PDF
new Chapter 3 - Form Master.pdf
PDF
new Chapter 2 - New Project Visual Studio C#.pdf
PDF
new Chapter 1 - Membuat Database.pdf
PDF
Slide Ngajar E-Filing cover.pdf
PDF
e filing.pdf
PDF
ELECTRONIC FILING (E-FILING).pdf
PDF
Materi Kearsipan Manual.pdf
PPTX
PRAKTEK JOIN.pptx
PPTX
VIEW.pptx
PPTX
JOIN.pptx
PPTX
Fungsi Agregat.pptx
PPTX
SELECT.pptx
PPTX
Data Manipulation language (DML).pptx
new Chapter 10 - Report Kwitansi.pdf
new Chapter 9 - Coding Form Transaksi Penjualan.pdf
new Chapter 8 - Coding Form Master Pelanggan (Customer).pdf
new Chapter 7 - Coding Form Master Barang.pdf
new Chapter 6 - Kelas Koneksi dan Form Login.pdf
new Chapter 5 - Coding Form Menu Utama.pdf
new Chapter 4 - Form Transaksi.pdf
new Chapter 3 - Form Master.pdf
new Chapter 2 - New Project Visual Studio C#.pdf
new Chapter 1 - Membuat Database.pdf
Slide Ngajar E-Filing cover.pdf
e filing.pdf
ELECTRONIC FILING (E-FILING).pdf
Materi Kearsipan Manual.pdf
PRAKTEK JOIN.pptx
VIEW.pptx
JOIN.pptx
Fungsi Agregat.pptx
SELECT.pptx
Data Manipulation language (DML).pptx

Recently uploaded (20)

DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
DOCX
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
PDF
KELOMPOK 4 LK Modul 4 KP4 Asesmen PM (3).pdf
PDF
Materi Seminar AITalks AI dan Suku Digital
PPTX
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PDF
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PPTX
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
PDF
lembar kerja LMS tugas pembelajaran mendalam
DOCX
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PDF
PPT Resources Seminar AITalks: AI dan Konseling GPT
PDF
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
PPTX
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
PPTX
Slide PPT Metode Ilmiah Kelas 7 SMP.pptx
PPTX
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
PDF
Gangguan Penglihatan Mata - presentasi biologi
PDF
Pengenalan Undang-undang pengakap laut.pdf
DOCX
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
DOCX
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
PPTX
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
PPTX
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN
Modul Ajar Pembelajaran Mendalam Senbud Seni Teater Kelas 12 Terbaru 2025
Modul Ajar Deep Learning PAI & BP Kelas 12 SMA Terbaru 2025
KELOMPOK 4 LK Modul 4 KP4 Asesmen PM (3).pdf
Materi Seminar AITalks AI dan Suku Digital
PPT MATERI KODING DAN KECERDASAN ARTIFISIAL UNTUK PEMBELAJARAN
PPT IPS Geografi SMA Kelas X_Bab 1 Pengantar Geografi_May.pdf
PPT SURAT AL FIL LOMBA MAPSI SEKOLAH DASAR
lembar kerja LMS tugas pembelajaran mendalam
Modul Ajar Deep Learning PKN Kelas 10 SMA Terbaru 2025
PPT Resources Seminar AITalks: AI dan Konseling GPT
Digital Statecraft Menuju Indonesia Emas 2045: Diplomasi Digital, Ketahanan N...
Modul 2. Berpikir Komputasional sebagai Dasar Koding untuk Kecerdasan Artifis...
Slide PPT Metode Ilmiah Kelas 7 SMP.pptx
Pancasila: fondasi peradaban dan kebudayaan berkelanjutan
Gangguan Penglihatan Mata - presentasi biologi
Pengenalan Undang-undang pengakap laut.pdf
Modul Ajar Pembelajaran Mendalam Senbud Seni Musik Kelas XII Terbaru 2025
Modul Ajar Deep Learning Bahasa Inggris Lanjutan Kelas 11 SMA Terbaru 2025
9ICP - Hubungan antara Pancasila dengan UUD 1945Bhinneka Tunggal Ika.pptx
MATERI MPLS TENTANG KURIKULUM DAN KEGIATAN PEMBELAJARAN

Modul pratikum pbo - Class dan Object

  • 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. MODUL 3
  • 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