0% menganggap dokumen ini bermanfaat (0 suara)
104 tayangan

Modul 2 PBO - Class, Object, Method, Atribut

1. Modul ini membahas konsep-konsep dasar pemrograman berorientasi objek seperti class, object, method, dan atribut. 2. Tujuannya adalah agar mahasiswa memahami dan menerapkan OOP serta mengimplementasikan class diagram sederhana. 3. Modul ini memberikan penjelasan teori tentang konsep-konsep tersebut beserta contoh kode program.

Diunggah oleh

mochyazidf1
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
0% menganggap dokumen ini bermanfaat (0 suara)
104 tayangan

Modul 2 PBO - Class, Object, Method, Atribut

1. Modul ini membahas konsep-konsep dasar pemrograman berorientasi objek seperti class, object, method, dan atribut. 2. Tujuannya adalah agar mahasiswa memahami dan menerapkan OOP serta mengimplementasikan class diagram sederhana. 3. Modul ini memberikan penjelasan teori tentang konsep-konsep tersebut beserta contoh kode program.

Diunggah oleh

mochyazidf1
Hak Cipta
© © All Rights Reserved
Format Tersedia
Unduh sebagai PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 19

Laboratorium Informatika

VERSION 1.2
14 Februari 2024

PEMROGRAMAN BERORIENTASI OBJEK


MODUL 2 – OOP, CLASS, OBJECT, METHOD, ATRIBUT

DISUSUN OLEH:
TAUFIQ RAMADHAN
SUTRISNO ADIT PRATAMA

DIAUDIT OLEH:
Ir. Galih Wasis Wicaksono, S.Kom, M.Cs.

PRESENTED BY: TIM LAB. IT


UNIVERSITAS MUHAMMADIYAH MALANG

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 1


Laboratorium Informatika

PEMROGRAMAN BERORIENTASI OBJEK

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

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 2


Laboratorium Informatika

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

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 3


Laboratorium Informatika

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:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 4


Laboratorium Informatika

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:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 5


Laboratorium Informatika

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.

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 6


Laboratorium Informatika

▪ 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 mengemudi(String arah){


return "Mobil bergerak ke arah" + arah;
}

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 7


Laboratorium Informatika

String mengerem(){
return "Berhenti";
}

int topSpeed(int topSpeed){


return topSpeed;
}

public static void main(String[] args) {


Mobil mobil = new Mobil();
}
}
Ketika kita jalankan programnya maka tidak akan ada sesuatu yang terjadi, karena kita
hanya membuat sebuah instance objek saja dari class Mobil dengan nama objek mobil.
Setelah kita membuat sebuah objek, kita bisa memanggil method yang sudah dibuat
dengan cara seperti ini pada main method:
public static void main(String[] args) {
Mobil mobil = new Mobil();
mobil.menyalakanMesin();
}
Maka output program akan seperti ini:

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:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 8


Laboratorium Informatika

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.merk = "F1 Red Bull";


mobilPertama.model = "RB-8";
mobilPertama.spekMesin = "2.400 cc V8, limited to 18.000 RPM";
mobilPertama.transmisi = "Red Bull 7-speed, hydraulic power shift";

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 9


Laboratorium Informatika

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();

mobilPertama.merk = "F1 Red Bull";


mobilPertama.model = "RB-8";
mobilPertama.spekMesin = "2.400 cc V8, limited to 18.000 RPM";
mobilPertama.transmisi = "Red Bull 7-speed, hydraulic power shift";
mobilPertama.tahun = 2012;

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();

mobilPertama.merk = "F1 Red Bull";


mobilPertama.model = "RB-8";
mobilPertama.spekMesin = "2.400 cc V8, limited to 18.000 RPM";
mobilPertama.transmisi = "Red Bull 7-speed, hydraulic power shift";
mobilPertama.tahun = 2012;

System.out.println("Mobil " + mobilPertama.merk + " " + mobilPertama.model);


mobilPertama.menyalakanMesin();
System.out.println("Dan " + mobilPertama.mengemudi("Kedepan") + " Setelah melihat
jalan buntu " + mobilPertama.mengerem());
}
Contoh lain untuk yang lebih kompleks:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 10


Laboratorium Informatika

● Static dan non-static method


Static method adalah method yang dapat dieksekusi atau dipanggil tanpa harus
membuat sebuah instance objek. Sedangkan method non-static adalah method yang
harus membuat instance objek untuk menggunakan atau memanggilnya, di mana method
ini yang akan berkaitan erat dengan konsep OOP.
Cara mendeklarasikan sebuah method static di Java adalah dengan menambahkan
keyword static. Contohnya seperti ini:
static returnType namaMethod(){
// body dari method
}
Contoh implementasi dari static method kita akan coba ubah method mengerem
dengan static menjadi seperti ini:

Untuk cara pemanggilannya seperti ini pada main method:


public static void main(String[] args) {
// tidak perlu membuat instance objek mobil
System.out.println(mengerem());
}
Pada kode di atas kita bisa langsung memanggil atau menggunakan method
mengerem() tanpa membuat sebuah instance objek dari class Mobil.
Untuk proses mendeklarasikan sebuah method static sebenarnya pada materi di
atas sudah kita buat sebuah method non-static. Untuk pembuatan method static
dideklarasikan tanpa menggunakan kata kunci static seperti ini:
returnType namaMethod(){
// body method
}
Untuk implementasinya bisa cek lagi pada class Mobil yang sudah kita buat
sebelumnya seperti ini:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 11


Laboratorium Informatika

public class Mobil{


String merk;
String model;

void menyalakanMesin(){
System.out.println("Mesin mobil menyala");
}

String mengemudi(String arah){


return "Mobil bergerak ke arah" + arah;
}

String mengerem(){
return "Berhenti";
}

int topSpeed(int topSpeed){


return topSpeed;
}
}
Pada kode class Mobil di atas, semua method yang ada bentuknya adalah non-static. Hal
yang utama dari method non-static adalah pemanggilan menggunakan ‘.’ setelah nama
objek.
Catatan untuk static method, bisa dipanggil langsung dengan nama method selama
masih di lingkup class tersebut (satu file) dan jika dari class lain kita bisa memanggil
dengan nama kelas lalu nama method. Contohnya:

Output program:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 12


Laboratorium Informatika

● 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

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 13


Laboratorium Informatika

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:

▪ Hubungan antar class


Asosiasi, yaitu hubungan statis antar class yang biasanya menggambarkan class
yang memiliki atribut berupa class lain. Terdapat beberapa jenis asosiasi, seperti:
1) Asosisasi Sederhana: Bentuk asosiasi sederhana ( )
2) Agregasi yaitu hubungan yang menyatakan bagian, biasanya hubungan data
master dan detailnya. Misal satu pembelian terdiri dari sejumlah item barang (
).
3) Navigability : menunjukan arah query/komunikasi antar objek, bisa satu atau dua

arah, terlihat pada tanda panahnya ( )

4) Campuran / Composit : campuran asosiasi ( )


Manfaat dari class diagram:
1) Memahami struktur sistem: Class diagram membantu kita melihat gambaran besar
sistem dan bagaimana berbagai bagiannya saling terhubung.
2) Meningkatkan komunikasi: Class diagram membantu tim developer untuk
berkomunikasi dengan lebih efektif tentang desain sistem.

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 14


Laboratorium Informatika

3) Mempermudah pengembangan: Class diagram membantu developer untuk membuat


kode yang lebih terstruktur dan mudah dipahami

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:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 15


Laboratorium Informatika

Contoh output:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 16


Laboratorium Informatika

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

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 17


Laboratorium Informatika

- displayStudent() : digunakan untuk menampilkan daftar mahasiswa yang terdaftar

Contoh output program:

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 18


Laboratorium Informatika

RUBRIK PENILAIAN

Aspek Penilaian Poin

Codelab 20

Tugas 30

Pemahaman 50

Total 100%

14 Februari 2024 PEMROGRAMAN BERORIENTASI OBJEK 19

Anda mungkin juga menyukai