Modul 2 PBO - Class, Object, Method, Atribut
Modul 2 PBO - Class, Object, Method, Atribut
VERSION 1.2
14 Februari 2024
DISUSUN OLEH:
TAUFIQ RAMADHAN
SUTRISNO ADIT PRATAMA
DIAUDIT OLEH:
Ir. Galih Wasis Wicaksono, S.Kom, M.Cs.
TUJUAN
1. Mahasiswa mampu memahami konsep oop
2. Mahasiswa mampu memahami konsep java class dan objects, methods (static dan non-
static)
3. Mahasiswa mampu memahami konsep dasar class diagram
4. Mahasiswa mampu membangun aplikasi sederhana menggunakan paradigma object
oriented.
TARGET MODUL
1. Mahasiswa mampu memahami & menerapkan Object Oriented Programming
2. Mahasiswa mampu menggunakan syntax java class dan objects, methods (static dan non-
static)
3. Mahasiswa mampu mengimplementasikan dasar class diagram
PERSIAPAN
1. Java Development Kit.
2. Text Editor / IDE (Visual Studio Code, Netbeans, Intellij IDEA, atau yang lainnya).
KEYWORDS
● OOP java
● Class
● Methods
● Object
● Static method
● Non-static method
TEORI
● Konsep PBO
Pemrograman Berorientasi Objek (OOP) adalah paradigma pemrograman yang
berfokus pada objek. Objek adalah entitas yang menggabungkan data dan fungsi yang
terkait. OOP membantu kita membuat program yang lebih terstruktur, mudah dipahami,
dan mudah diubah. Program-program yang telah ada merupakan gabungan dari beberapa
komponen-komponen kecil yang sudah ada sebelumnya. Hal itu dapat mempermudah
pekerjaan seorang programmer dalam melakukan pengembangan program. Objek-objek
yang saling berkaitan dan disusun kedalam satu kelompok ini disebut dengan class.
Nantinya, objek-objek tersebut akan saling berinteraksi untuk menyelesaikan masalah
program yang rumit.
● Class
Class adalah “blueprint” atau “cetakan biru” untuk menciptakan suatu object yang
mendefinisikan struktur dan perilaku suatu objek dalam object oriented programming
(OOP). Class sebenarnya bertugas untuk mengumpulkan fungsi/method dan variabel
dalam suatu tempat. Dalam contoh di sini kita ibaratkan class dengan sebuah mobil, yang
artinya Mobil bisa memiliki sebuah variabel warna, nama, kecepatan dan juga bisa
memiliki sebuah method untuk melakukan sesuatu seperti bergerak maju, mundur, dan
berbelok. Contoh jika kita membuat sebuah class Mobil:
Class sebenarnya berisi variabel yang disebut sebagai atribut atau properti dan
fungsi yang disebut sebagai method. Sebuah class berbeda dengan sebuah fungsi, class
tidak memerlukan sebuah () tetapi langsung pada body class yang dimulai dengan ”{” dan
dikhiri dengan ”}”.
● Atribut
Atribut merupakan identitas data atau informasi dari object class yang sudah kita buat,
atau di bahasa C sebelumnya disebut sebagai variabel. Ada beberapa hal yang terkait
dengan atribut yaitu:
1. Atribut adalah data atau properti yang dimiliki oleh sebuah class
2. Atribut dapat berupa variabel seperti nama, usia, warna, dan lain sebagainya
3. Atribut mendefinisikan keadaan suatu objek
Misalnya pada suatu mobil memiliki spesifikasi seperti merk, tahun, kecepatan, warna.
Maka kita bisa menulis pada class Mobil seperti ini:
Atau bisa juga dengan cara seperti gambar di bawah, hal ini juga bisa dilakukan
untuk mengurangi pengulangan kode:
● Method
Method atau bisa juga disebut sebagai behavior adalah tindakan atau perilaku yang
dapat dilakukan oleh sebuah objek yang menjadi instance dari sebuah class. Method
merepresentasikan cara kerja atau bagaimana suatu objek dapat berjalan atau beroperasi.
Contoh:
Sebenarnya method sama dengan fungsi (di bahasa C) yang dapat melakukan sesuatu.
Untuk contoh kode di atas method adalah sesuatu yang dapat dilakukan oleh instance
objek mobil nantinya, berikut penjelasannya:
▪ menyalakanMesin() : adalah sebuah method yang dimana membuat sebuah instance
nantinya bisa menyalakan mesin
▪ mengemudi() : menggerakkan mobil ke depan, belakang, dan juga berbelok
▪ mengerem() : menghentikan mobil
Karakteristik method:
▪ Nama : nama method sama dengan nama fungsi yang bisa digunakan untuk melakukan
sesuatu. Dalam contoh di sini adalah sebuah mobil bisa melakukan mengemudi(),
mengerem(), dan menyalakanMesin().
▪ Parameter : parameter adalah sebuah data yang dilakukan input ketika sebuah method
itu dipanggil. Dalam contoh di sini terdapat pada method mengemudi(String arah),
yang dimana String arah adalah sebuah parameter.
▪ Return type: return type menentukan data yang dihasilakn oleh sebuah method. Dalam
contoh di sini adalah method topSpeed(int topSpeed), yang dimana method ini me-
return sebuah nilai integer.
▪ Body: body berisi kode yang akan dijalankan oleh sebuah method. Body dari sebuah
method diawal dengan “{“ dan diakhiri dengan “}”.
Manfaat menggunakan method:
▪ Meningkatkan reusability kode. Contoh fungsi mengemudi() yang dapat digunakan
berulang kali untuk menggerakkan mobil.
▪ Mingkatkan readability kode. Kode akan lebih terstruktur dengan baik sehingga
membuat kode lebih mudah dibaca dan dipahami.
▪ Membantu membagi program menjadi bagian-bagian yang lebih kecil. Hal ini membuat
program lebih mudah dikelola dan diubah.
▪ Meningkatkan maintainability. Proram yang menggunakan method akanlebih mudah
diperbaiki dan dipelihara pada waktu yang mendatang.
● Object
Object atau objek adalah hasil dari deklarasi atau instance dari sebuah class. Dalam
objek, kita dapat mengakses dan memanipulasi isi dari sebuah class yang sudah kita buat
sebelumnya. Sebagai contoh jika kita memiliki class Mobil sebelumnya, maka kita bisa
membuat sebuah objek dari class tersebut di dalam method main seperti ini:
public class Mobil{
String merk;
String model;
String spekMesin;
int tahun;
void menyalakanMesin(){
System.out.println("Mesin mobil menyala");
}
String mengerem(){
return "Berhenti";
}
Selain itu, jika kita mengubah isi dari atribut pada class Mobil seperti ini:
String merk = "Honda";
String model = "X100";
Maka kita juga bisa memanggil isi dari masing-masing atribut dengan cara seperti ini:
public static void main(String[] args) {
Mobil mobil = new Mobil();
mobil.menyalakanMesin();
System.out.println(mobil.merk);
System.out.println(mobil.model);
}
Output dari program ketika dijalankan:
Apakah ketika kita membuat sebuah class, kita hanya bisa membuat 1 instance objek?
Jawabannya tidak. Kita bisa membuat sebuah instance objek sebanyak yang kita
butuhkan, contohnya disini kita akan coba untuk membuat 3 instance objek dari class
Mobil, maka bisa kita tulis kodenya seperti ini pada main method:
public static void main(String[] args) {
Mobil mobil1 = new Mobil();
Mobil mobil2 = new Mobil();
Mobil mobil3 = new Mobil();
}
Masing-masing instance objek terpisah satu sama lain dan berbeda, maksudnya
adalah objek mobil1 berdiri sendiri begitupun dengan objek mobil2 dan mobil3. Untuk cara
memanggil method dan atribut pada masing-masing objek ialah sama dengan cara
sebelumnya.
Selain kita bisa mengakses pada nilai atribut yang sudah kita inisialisasikan, kita
bisa memanipulasi nilai pada atribut yang sudah kita deklarasikan sebelumnya. Contoh
jika kita memiliki sebuah atribut seperti ini di class Mobil:
String merk;
String model;
String spekMesin;
String transmisi;
int tahun;
Dan kita memiliki 1 objek mobil pada main method, maka kita bisa memanipulasi
nilai pada masing-masing atribut seperti ini:
public static void main(String[] args) {
Mobil mobilPertama = new Mobil();
mobilPertama.tahun = 2012;
}
Untuk cara akses pada masing-masing atribut bisa satu-satu seperti ini:
public static void main(String[] args) {
Mobil mobilPertama = new Mobil();
System.out.println(mobilPertama.merk);
System.out.println(mobilPertama.model);
System.out.println(mobilPertama.spekMesin);
System.out.println(mobilPertama.transmisi);
System.out.println(mobilPertama.tahun);
}
Atau bisa juga dengan cara seperti ini:
public static void main(String[] args) {
Mobil mobilPertama = new Mobil();
void menyalakanMesin(){
System.out.println("Mesin mobil menyala");
}
String mengerem(){
return "Berhenti";
}
Output program:
● Diagram class
Class dapat diibaratkan sebagai cetakan untuk membuat objek. Cetakan ini
mendefinisikan karakteristik dan kemampuan yang dimiliki oleh semua objek yang
dibuatnya. Class diagram adalah sebuah gambar yang menunjukkan struktur dan
hubungan antar class. Ibarat denah rumah, diagram ini membantu kita memahami
bagaimana berbagai bagian sistem saling terhubung.
Bagian-bagian penting class diagram:
1. Nama (dan stereotype) : Identitas dan jenis class
2. Atribut : karakteristik yang dimiliki oleh class
3. Method : kemampuan yang dimiliki oleh class
Contoh:
Penjelasan:
▪ Tipe data setelah nama method adalah tipe pengembalian (return type) dari
function/method
▪ Access modifier
Fungsi dari akses modifier pada java adalah untuk membatasi scope dari
sebuah class, constructor , atribut, method, atau anggota data lain yang terdapat
dalam sebuah class Java. Selengkapnya tentang modifier akan dijelaskan di modul
selanjutnya.
Contoh:
CODELAB
Buatlah program input data mahasiswa yang dimana terdapat 2 class yaitu class Main
dan class Mahasiswa. Untuk data mahasiswa disimpan di class Mahasiswa, dengan spesifikasi
berikut:
- method tampilUniversitas() merupakan static method
- method tampilDataMahasiswa() digunakan untuk menampilkan detail mahasiswa
- panjang nim harus tidak kurang dan tidak lebih dari 15 angka
Class diagram:
Contoh output:
TUGAS
Melanjutkan tugas pada modul 1 sebelumnya yang hanya memanfaatkan class Main saja, pada
tugas ini pecah method-method yang ada di class main menjadi class Student dan Admin
seperti pada diagram berikut:
Penjelasan
Class Main:
- Attribut array bookList berisi data data buku seperti stok buku ,author,id_buku,dan juga
judul
- Attribut array userStudent berisi data data user yang akan menjadi role user
- Menu() : sebagai tampilan awal pilihan login sebagai admin / student
- inputNim() : sebagai Inputan user jika memilih user student
- checkNim() : merupakan method untuk menjadi validator apakah user yang di inputkan
oleh user ada atau tidaknya
- menuAdmin() : method untuk menampilkan dashboard admin
- menuStudent() : untuk menampilkan dashboard student
Class Student
- displayBooks() : menampilkan daftar buku yang ada
- logout() : untuk keluar dari program
Class Admin
- addStudent() : digunakan untuk menambahkan student, ketika proses penambahannya
terdapat input nama, nim, fakultas, dan program studi. Terdapat pengecekan jika input
nim memiliki panjang tidak sama dengan 15 maka nim tidak valid
RUBRIK PENILAIAN
Codelab 20
Tugas 30
Pemahaman 50
Total 100%