• Tidak ada hasil yang ditemukan

Praktikum Pemrograman Berorientasi Objek: Konstruktor dan Studi Kasus Perpustakaan

N/A
N/A
Rahma

Academic year: 2025

Membagikan "Praktikum Pemrograman Berorientasi Objek: Konstruktor dan Studi Kasus Perpustakaan"

Copied!
16
0
0

Teks penuh

(1)

PRAKTIKUM PEMROGRAMAN BERORIENTASI OBJEK

BAB : CONSTRUCTOR

NAMA : Rahma Sekti Femiliyana Kuncoro

NIM : 225150601111008

ASISTEN : SHOLEH AL FARYS

TGL PRAKTIKUM : 02/03/2022

Pertanyaan

Suatu perpustakaan di kampus X memiliki banyak koleksi buku, dan buku buku tersebut dikategorikan berdasarkan jenisnya. Ada 7 kategori dalam perpustakaan tersebut, yaitu teknologi, filsafat, sejarah, agama, psikologi, politik dan fiksi. Setiap kategori pastilah memiliki banyak buku. Setiap buku ditulis oleh setidaknya 1 penulis, walaupun tak menutup kemungkinan buku tersebut ditulis oleh banyak penulis. Dari studi kasus diatas, tentukan entitas-entitas yang terlibat beserta propertiesnya dan implementasikan kedalam kode program, serta tampilkan ke layar nilai dari properties dari entitas tersebut. (Minimal tiap kategori ada 5 buku)

Syntax

public class Perpustakaan {

private Kategori listKategori[];

public Perpustakaan(){

listKategori = new Kategori[1];

}

public void addKategori(Kategori kategori){

if (listKategori[0] == null){

listKategori[0] = kategori;

} else if(listKategori.length < 7){

Kategori tempKategori[] = new Kategori[listKategori.length + 1];

for (int i = 0; i < listKategori.length; i+

+) {

tempKategori[i] = listKategori[i];

(2)

}

tempKategori[listKategori.length] = kategori;

listKategori = tempKategori;

} else{

System.out.println("Kategori sudah mencapai batas");

} }

public void cetakList() {

for (int i = 0; i < listKategori.length; i++) {

System.out.println(listKategori[i].getNama());

} }

public Kategori[] getList(){

return listKategori;

}

}

Screenshot

(3)

Penjelasan

1. Kelas perpustakaan digunakan untuk membuat objek perpustakaan yang memiliki variable listKategori yang bertujuan untuk menyimpan ketujuh kategori yang sesuai ada di dalam soal.

2. Pada kelas perpustakaan memiliki method addKategori yang menerima argument objek dari kelas Kategori.Method ini bertujuan untuk mengisi Kategori ke dalam listKategori.Jika Kategori yang dimasukkan melebihi 7 maka akan memberikan output “Kategori sudah mencapai batas”

3. Pada kelas perpustakaan memiliki method cetakList yang bertujuan untuk menampilkan setiap nama Kategori yang ada pada listKategori.

4. Pada kelas perpustakaan memiliki method getList yang bertujuan untuk memberikan nilai dari variable listKategori saat digunakan.

Syntak

public class Kategori {

private String namaKategori;

private Buku listBuku[];

public Kategori(String namaKategori) {

(4)

this.namaKategori = namaKategori;

this.listBuku = new Buku[1];

}

public String getNama() { return this.namaKategori;

}

public void addBuku(Buku buku) { if(listBuku[0] == null){

listBuku[0] = buku;

}else {

Buku tempBuku[]= new Buku[listBuku.length +1];

for (int i = 0; i < listBuku.length; i++) { tempBuku[i] = listBuku[i];

}

tempBuku[listBuku.length] = buku;

listBuku = tempBuku;

}

}

public void cetakBuku(){

System.out.println("\nList Buku Pada Kategori "

+ this.namaKategori + " : ");

for (int i = 0; i < listBuku.length; i++) { System.out.println((i+1) + " : " + listBuku[i].getJudul());

String tempPenulis[] =

(5)

listBuku[i].getPenulis();

System.out.println("Penulis : ");

for (int j = 0; j < tempPenulis.length; j++) {

System.out.println("\t" + tempPenulis[j]);

}

// System.out.println("");

} } } Screenshoot

(6)

Penjelasan

1. Pada kelas kategori memiliki dua variable yang pertama namaKategori dan listBuku.

2. Konstruktor pada kelas Kategori menginisialisasi variable namaKategori dengan nilai String dari namaKategori yang diinginkan dan inisialisasi array listBuku untuk menyimpan objek objek buku yang masuk dalam Kategori tersebut.

3. Pada kelas Kategori terdapat method getNama yang berguna untuk mengembalikan namaKategori.

4. Pada kelas Kategori terdapat method addBuku yang berguna untuk memasukkan objek buku ke dalam array listBuku dengan mengirimkan argument berupa objek dari kelas Buku.

5. Pada kelas Kategori terdapat method cetakBuku yang berguna untuk mencetak setiap buku yang ada pada kelas Kategori.Data yang dicetak adalah judul buku dan semua penulis pada buku.

Syntax

public class Buku {

private String judul;

private String penulis[];

(7)

public Buku(String judul, String penulis[]){

this.judul = judul;

this.penulis = penulis;

}

public String getJudul(){

return this.judul;

}

public String[] getPenulis(){

return this.penulis;

}

}

Screenshoot

(8)

Penjelasan

1. Pada kelas buku terdapat dua variable yaitu judul dan array penulis .

2. Method konstruktor pada kelas buku menginisialisasi judul buku yang bersifat String dan penulis yang bertipe String array yang dapat diisi lebih dari satu penulis.

3. Pada kelas buku terdapat method getJudul yang berguna untuk mengembalikan nilai dari variable judul

4. Pada kelas buku terdapat method getPenulis yang berguna untuk mengembalikan nilai dari variable array penulis

Syntax

public class Main {

public static void main(String[] args) {

Perpustakaan objPerpus = new Perpustakaan();

objPerpus.addKategori(new Kategori("Teknologi"));

objPerpus.addKategori(new Kategori("Filsafat"));

objPerpus.addKategori(new Kategori("Sejarah"));

objPerpus.addKategori(new Kategori("Agama"));

objPerpus.addKategori(new Kategori("Psikologi"));

objPerpus.addKategori(new Kategori("Politik"));

objPerpus.addKategori(new Kategori("Fiksi"));

// objPerpus.addKategori(new Kategori("Novel"));

objPerpus.cetakList();

// objPerpus.addKategori(new Kategori("Novel"));

// Input Buku Ke kategori Teknologi index 0

String penulis[] = {"Penulis 1", "Penulis 2"};

objPerpus.getList()[0].addBuku(new Buku("Belajar Java", penulis));

(9)

String penulis2[] = {"Penulis 1", "Penulis 2",

"Penulis 3"};

objPerpus.getList()[0].addBuku(new Buku("Belajar Python", penulis2));

String penulis3[] = {"Penulis 1"};

objPerpus.getList()[0].addBuku(new Buku("Belajar C", penulis3));

String penulis4[] = {"Penulis 1","Penulis 2",

"Penulis 3", "Penulis 4"};

objPerpus.getList()[0].addBuku(new Buku("Belajar C++", penulis4));

String penulis5[] = {"Penulis 1","Penulis 2"};

objPerpus.getList()[0].addBuku(new Buku("Belajar Javascript", penulis5));

objPerpus.getList()[0].cetakBuku();

// Input Buku Ke kategori Filsafat index 1 String filSatu[] = {"Penulis 1", "Penulis 2"};

objPerpus.getList()[1].addBuku(new Buku("Filsafat Satu", filSatu));

String filDua[] = {"Penulis 1", "Penulis 2",

"Penulis 3"};

objPerpus.getList()[1].addBuku(new Buku("Filsafat Dua", filDua));

String filTiga[] = {"Penulis 1"};

objPerpus.getList()[1].addBuku(new Buku("Filsafat 3", filTiga));

(10)

objPerpus.getList()[1].cetakBuku();

// Input Buku Ke kategori Sejarah index 3 String sejSatu[] = {"Penulis 1", "Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Sejarah Indonesia", sejSatu));

String sejDua[] = {"Penulis 1", "Penulis 2",

"Penulis 3"};

objPerpus.getList()[2].addBuku(new Buku("Sejarah Pancasila", sejDua));

String sejTiga[] = {"Penulis 1"};

objPerpus.getList()[2].addBuku(new Buku("Sejarah manusia purba", sejTiga));

String sejEmpat[] = {"Penulis 1","Penulis 2",

"Penulis 3", "Penulis 4"};

objPerpus.getList()[2].addBuku(new Buku("Sejarah proklamasi Indonesia", sejEmpat));

String sejLima[] = {"Penulis 1","Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Sejarah perjuangan Boedi Utomo", sejLima));

objPerpus.getList()[2].cetakBuku();

// Input Buku Ke Kategori Agama

String AgamaSatu[] = {"Penulis 1", "Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Agama1", AgamaSatu));

(11)

String AgamaDua[] = {"Penulis 1", "Penulis 2",

"Penulis 3"};

objPerpus.getList()[2].addBuku(new Buku("Agama2", AgamaDua));

String AgamaTiga[] = {"Penulis 1"};

objPerpus.getList()[2].addBuku(new Buku("Agama 3", AgamaTiga));

String AgamaEmpat[] = {"Penulis 1","Penulis 2",

"Penulis 3", "Penulis 4"};

objPerpus.getList()[2].addBuku(new Buku("Agama 4", AgamaEmpat));

String AgamaLima[] = {"Penulis 1","Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Agama 5", AgamaLima));

objPerpus.getList()[2].cetakBuku();

//Input buku ke kategori Psikologi

String PsikologiSatu[] = {"Penulis 1", "Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi1", PsikologiSatu));

String PsikologiDua[] = {"Penulis 1", "Penulis 2", "Penulis 3"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi2", PsikologiDua));

String PsikologiTiga[] = {"Penulis 1"};

objPerpus.getList()[2].addBuku(new

(12)

Buku("Psikologi 3", PsikologiTiga));

String PsikologiEmpat[] = {"Penulis 1","Penulis 2", "Penulis 3", "Penulis 4"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 4", PsikologiEmpat));

String PsikologiLima[] = {"Penulis 1","Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 5", PsikologiLima));

objPerpus.getList()[2].cetakBuku();

//input buku ke kategori politik

String PolitikSatu[] = {"Penulis 1",

"Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Politik1", PolitikSatu));

String PolitikDua[] = {"Penulis 1", "Penulis 2",

"Penulis 3"};

objPerpus.getList()[2].addBuku(new Buku("Politik2", PolitikDua));

String PolitikTiga[] = {"Penulis 1"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 3", PolitikTiga));

String PolitikEmpat[] = {"Penulis 1","Penulis 2", "Penulis 3", "Penulis 4"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 4", PolitikEmpat));

String PolitikLima[] = {"Penulis 1","Penulis

(13)

2"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 5", PolitikLima));

//input buku ke kategori Fiksi

String FiksiSatu[] = {"Penulis 1", "Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi1", FiksiSatu));

String FiksiDua[] = {"Penulis 1", "Penulis 2",

"Penulis 3"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi2", FiksiDua));

String FiksiTiga[] = {"Penulis 1"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 3", FiksiTiga));

String FiksiEmpat[] = {"Penulis 1","Penulis 2",

"Penulis 3", "Penulis 4"};

objPerpus.getList()[2].addBuku(new Buku("Psikologi 4", FiksiEmpat));

String FiksiLima[] = {"Penulis 1","Penulis 2"};

objPerpus.getList()[2].addBuku(new Buku("Fiksi 5", FiksiLima));

} }

Screenshoot

(14)
(15)

Penjelasan

1. Kelas Main berfungsi untuk menjalankan system dari perpustakaan dengan memanfaatkan kelas kelas yang sudah dibuat sebelumnya.

2. Pada baris dua belas melakukan pembuatan objek dari kelas perpustakaan

(16)

3. Pada baris 14-20 adalah proses penambahan Kategori pada objek Perpustakaan yang sebelumnya dibuat dengan mengirimkan objek dari kelas Kategori

4. Pada baris 23 memanggil method cetakList yang berguna untuk menampilkan setiap kategori yang ada pada objek Perpustakaan

5. Dari baris 27-40 terdapat dua proses yang utama adalah pembuatan array penulis yang diisi dengan nama penulis yang diinginkan.proses kedua adalah penambahan buku pada kategori teknologi/indeks ke 0 dengan mengirimkan argument berupa objek dari kelas Buku yang berisi judul buku dan array penulis yang sebelumnya dibuat.

6. Pada baris 42 terdapat proses mencetak semua data buku pada kategori teknologi/indeks 0

Referensi

Dokumen terkait

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan

Penelitian ini menggunakan perangkat lunak berorientasi objek dengan bahasa pemrograman Java sehingga tidak ada multiple inheritance dalam implementasinya..

Apabila Method tidak akan mengembalikan nilai kepada objek yang memanggilnya, maka bisa dituliskan didepan nama Method dengan perintah void... Karakteristik

Aplikasi ini dapat melakukan pendeteksian plagiarisme pada program hasil assessment dan tugas mata kuliah Pemrograman Berorientasi Objek dengan menggunakan fitur Check

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan

Perbandingan elemen alternatif level III berdasarkan sasaran- kriteria-sub kriteria: pemilihan software Bahasa Pemrograman Berorientasi Objek di Pangkalpinang kriteria

ULANGAN TENGAH SEMESTER PEMROGRAMAN BERORIENTASI OBJEK abstract class Karakter { protected String nama; protected int level; protected int pointkekuatan; public KarakterString

PENILAIAN AKHIR SEMESTER TAHUN PELAJARAN 2022/2023 Mata Pelajaran : Pemrograman Berorientasi Objek Kelas : XII RPL Alokasi Waktu : 90 Menit Buatlah sebuah program interface