Dinda Mutiara Sukmaningrum - 4.33.22.1.07 [PDF]

  • Author / Uploaded
  • dind
  • 0 0 0
  • Suka dengan makalah ini dan mengunduhnya? Anda bisa menerbitkan file PDF Anda sendiri secara online secara gratis dalam beberapa menit saja! Sign Up
File loading please wait...
Citation preview

LAPORAN JENI



Disusun Oleh : Nama



:



Dinda Mutiara Sukmaningrum



NIM



:



4.33.22.1.07



Kelas



:



TI-1B



Mata Kuliah



:



Pemrograman Berorientasi Objek



Program Studi Teknologi Rekayasa Komputer Jurusan Teknik Elektro POLITEKNIK NEGERI SEMARANG 2023



LATIHAN JENI BAB 1 Menyusun Algoritma Dari permasalahan–permasalahan di bawah ini, susunlah sebuah algoritma untuk menyelesaikannya. Anda dapat menyusunnya dengan menggunakan pseudocode ataupun flowchart. 1.



Memasak Roti Pseudocode : Siapkan roti yang ada didapur, siapkan wajan, nyalakan api, taruh roti kedalam wajan tunggu beberapa saat hingga kecoklatan, jika dirasa sudah matang angkat roti dari wajan.



2.



Menggunakan Komputer di Laboratorium Tekan tombol power pada computer, nyalkan monitor, tunggu hingga loading screen sampai gambar windows



3.



Menghitung rata–rata dari 3 buah bilangan Siapkan 3 bilangan, jumlahkan ketiganya, lalu bagi 3



Konversi Sistem Bilangan Konversikan bilangan – bilangan berikut ini : 1.



198010 ke sistem bilangan Biner, Heksadesimal dan Oktal Konversi bilangan2 berikut Biner : 1980 /2 = 0 990 /2 = 0 495 /2 = 1 247 /2 = 1 123 /2 = 1 61 /2 = 1 30 /2 = 0 15 /2 = 1 7 /2 = 1 3 /2 = 1 1 /2 = 1 Biner : 111101111002 Heksadesimal : 0111 =7 1011 = B 1100 = C = 7 B C



Oktal : 011 = 3 110 = 6 111 = 7 100 = 4 3G674 2.



10010011012 ke sistem bilangan Desimal, Heksadesimal dan Oktal



Heksadesimal : 1001001101 = 0010 = 2 0100 = 4 1101 = D = 2 4 D Oktal : 001 = 1 001 = 1 001 = 1 101 = 5 = 1115 Desimal : 1 + 4 + 8 + 64 +512 = 589 3.



768 ke sistem bilangan Biner, Heksadesimal dan Desimal



768 ke bilangan biner, heksadesimal, dan decimal Oktal : 111 = 7 110 = 6 = 768 Biner : 111110 Heksadesimal : 0011 = 3 1110 = E = 3 E Desimal : 2+8+16+4+32 = 62



4.



43F16 ke sistem bilangan Biner, Desimal dan Oktal



Biner : 0100 = 4 0011 = 3 1111 = F =3 4 F = 010000111111 Oktal : 010 = 2 000 = 0 111 = 7 111 = 7 =2077 Desimal : 1+2+4+16+8+32+1024 = 108



LATIHAN JENI BAB 3 Mengenali Lingkup Pemrograman Anda Hello World! Menggunakan NetBeans, membuat class dengan nama : [NamaAnda]. Hasil dari program yang harus tampil di layar : Welcome to Java Programming [NamaAnda]!!! Kode program : package com.tutorial;



public class hello{ public static void main(String[] args){ String name = "Dinda Mutiara SUkmaningrum"; System.out.println("Welcome to Java Programming : " + name); } }



Hasil Program :



The Tree Menggunakan NetBeans, membuat class dengan nama : TheTree. Hasil dari program yang harus tampil dilayar : I think that I shall never see, a poem as lovely as a tree. A tree whose hungry mouth is pressed Against the Earth’s sweet flowingbreast. Kode program : package com.tutorial;



Hasil program public class: TheTree



{ public static void main(String[] args) { System.out.println("I Think that I shall never see"); System.out.println("a poem as lovely as a tree"); System.out.println("A tree whose hungry mouth is pressed"); System.out.println("Againts the Erath's sweet flowing breast"); }



Output :



LATIHAN JENI BAB 4 Dasar-Dasar Pemrograman



Mendeklarasikan dan mencetak variabel Diberikan tabel dibawah ini, deklarasikan variabel yang terdapat didalamnya dengan tipe data yang sesuai dan berikan nilai inisialisasi. Tampilkan hasil outputnya yaitu nama variabel dan nilainya. Nama Variabel



Tipe Data



Nilai Awal



number



integer



10



letter



character



a



result



boolean



true



str



String



hello



Berikut ini merupakan tampilan yang diharapkan sebagai hasil eksekusi program, Number = 10 letter = a result = true str = hello Kode program : int number = 10; char letter = 'a'; boolean result = true; String str = "Hello"; System.out.println("Number : " + number); System.out.println("Letter : " + letter); System.out.println("result : " + result); System.out.println("str : " + str);



Hasil program :



Mendapatkan nilai rata-rata dari tiga angka



Buatlah program yang menghasilkan output nilai rata-rata dari tiga angka. Nilai dari masingmasing tiga angka tersebut adalah 10, 20 dan 45. Tampilan Output yang diharapkan adalah, number 1 = 10 number 2 = 20 number 3 = 45 Rata-rata = 25 Kode proram : int number_1 = 10; int number_2 = 42; int number_3 = 32; int rata_rata = (number_1 + number_2 + number_3) /3; System.out.println("Nomer 1 : " System.out.println("Nomer 1 : " System.out.println("Nomer 1 : " System.out.println("Rata - rata



+ + + :



number_1); number_2); number_3); " + rata_rata);



Hasil program :



Menampilkan nilai terbesar Diberikan tiga angka, tuliskan program yang menghasilkan output angka dengan nilai terbesar diantara tiga angka tersebut. Gunakan operator kondisi ?: yang telah kita pelajari sebelumnya (PETUNJUK: Anda akan perlu menggunakan dua set operator ?: untuk memecahkan permasalahan ini). Sebagai contoh, diberikan angka 10, 23 dan 5, Program Anda akan menghasilkan output, number 1 = 10 number 2 = 23 number 3 = 5 Nilai tertingginya adalah angka = 23



Kode program : int a = 10; int b = 24; int c = 42;



int x = (a > b) ? (a > c ? a : b) : (b > c ? b : c); System.out.println("Nilai terbesar : " + x);



Hasil program :



Operator precedence Diberikan pernyataan berikut ini, tulis kembali soal tersebut dengan menambahkan tanda kurung pada urutan sesuai dengan bagaimana pernyataan tersebut akan dievaluasi. 1. a / b ^ c ^ d – e + f – g * h + i Jawab : ((a / ((b ^ c) ^ d)) - e + f) - (g * h) + i 2. 3 * 10 *2 / 15 – 2 + 4 ^ 2 ^ 2 Jawab : (((3 * 10 * 2) / 15) - 2) + (4 ^ (2 ^ 2)) 3. r ^ s * t / u – v + w ^ x – y++ Jawab : (((r ^ s) * t) / u) - v + (w ^ x) - y++



9



LATIHAN JENI BAB 5 Mendapatkan Input dari Keyboard Kata Terakhir (versi BufferedReader) Menggunakan BufferedReader, tanyakan tiga kata dari user dan tampilkan output dari input user tersebut ke layar. Contoh, Enter word1:Goodbye Enter word2:and Enter word3:Hello Goodbye and Hello Kode program : import java.io.BufferedReader; import java.io.InputStreamReader; import java.io.IOException; public class Main { public static void main(String[] args) {



BufferedReader datain = new BufferedReader(new InputStreamReader(System.in)); String name1 = ""; String name2= ""; String name3= ""; System.out.println("Masukan word 1 : "); try{ name1 = datain.readLine(); } catch(IOException e){ System.out.println("Error!"); } System.out.println("Masukan word 2 : "); try{ name2 = datain.readLine(); } catch(IOException e){ System.out.println("Error!"); } System.out.println("Masukan word 3 : "); try{



10



name3 = datain.readLine(); } catch(IOException e){ System.out.println("Error!"); } System.out.println(name1+ " " +name2+ " " + name3);



Hasil program :



Kata Terakhir (versi JOptionPane) Menggunakan JOptionPane, tanyakan tiga kata dari user dan tampilkan output dari input user tersebut ke layar. Contoh



Gambar 1: Input Pertama



Gambar 2: Input Kedua



11



Gambar 3: Menampilkan Pesan Kode program : package com.tutorial; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { String word1 = ""; word1 = JOptionPane.showInputDialog("masukan kata ke - 1"); String word2 = ""; word2 = JOptionPane.showInputDialog("masukan kata ke - 2");



String msg = word1+" and " + word2; JOptionPane.showMessageDialog(null, msg); } }



Hasil program :



12



13



LATIHAN JENI BAB 6 Nilai Ambil tiga nilai ujian dari user dan hitung nilai rata-rata dari nilai tersebut. Berikan output rata-rata dari tiga ujian. Berikan juga smiley face pada output jika nilai rata-rata lebih besar atau sama dengan 60, selain itu beri output :-(. 1. Gunakan BufferedReader untuk mendapat input dari user, dan System.out untuk output hasilnya. Kode program : import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; public class Main { public static void main(String[] args) { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); try { System.out.println("Masukkan nilai ujian ke-1: "); int nilai1 = Integer.parseInt(reader.readLine()); System.out.println("Masukkan nilai ujian ke-2: "); int nilai2 = Integer.parseInt(reader.readLine()); System.out.println("Masukkan nilai ujian ke-3: "); int nilai3 = Integer.parseInt(reader.readLine()); int rataRata = (nilai1 + nilai2 + nilai3) / 3; System.out.println("Nilai rata-rata: " + rataRata); if (rataRata >= 60) { System.out.println(":-)"); // Smiley face } else { System.out.println(":-("); // Sad face } } catch (IOException e) { e.printStackTrace(); } catch (NumberFormatException e) { System.out.println("Input tidak valid. Harap masukkan angka."); } } }



Hasil Smiley Face :



14



Hasil ☹ :



2. Gunakan JOptionPane untuk mendapat input dari user dan output hasilnya. Kode program : import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { try { String input1 = JOptionPane.showInputDialog("Masukkan nilai ujian ke-1: "); int nilai1 = Integer.parseInt(input1); String input2 = JOptionPane.showInputDialog("Masukkan nilai ujian ke-2: "); int nilai2 = Integer.parseInt(input2); String input3 = JOptionPane.showInputDialog("Masukkan nilai ujian ke-3: "); int nilai3 = Integer.parseInt(input3); int rataRata = (nilai1 + nilai2 + nilai3) / 3; JOptionPane.showMessageDialog(null, "Nilai rata-rata: " + rataRata); if (rataRata >= 60) { JOptionPane.showMessageDialog(null, ":-)"); // Smiley face } else { JOptionPane.showMessageDialog(null, ":-("); // Sad face } } catch (NumberFormatException e) { 15



JOptionPane.showMessageDialog(null, "Input tidak valid. Harap masukkan angka."); } } }



Hasil 😊 :



Hasil Sad face :



Membaca Bilangan Ambil sebuah angka sebagai input dari user, dan outputnya berupa kata yang sesuai dengan angka. Angka yang dimasukkan antara 1-10. Jika user memasukkan nilai yang tidak sesuai berikan output “Invalid number”.



16



1.



Gunakan statement if-else untuk menyelesaikan Kode program :



import java.util.Scanner; public class Main{ public static void main(String[] args) { Scanner scanner = new Scanner(System.in); System.out.println("Masukkan sebuah angka (1-10): "); int angka = scanner.nextInt(); String kata; if (angka == 1) { kata = "Satu"; } else if (angka == 2) { kata = "Dua"; } else if (angka == 3) { kata = "Tiga"; } else if (angka == 4) { kata = "Empat"; } else if (angka == 5) { kata = "Lima"; } else if (angka == 6) { kata = "Enam"; } else if (angka == 7) { kata = "Tujuh"; } else if (angka == 8) { kata = "Delapan"; } else if (angka == 9) { kata = "Sembilan"; } else if (angka == 10) { kata = "Sepuluh"; } else { kata = "Invalid number"; } System.out.println("Output: " + kata); } }



Hasil :



17



2.



Gunakan statement switch untuk menyelesaikan



Kode program : Scanner scanner = new Scanner(System.in); System.out.println("Masukkan sebuah angka (1-10): "); int angka = scanner.nextInt(); String kata; switch (angka) case 1: kata = break; case 2: kata = break; case 3: kata = break; case 4: kata = break; case 5: kata = break; case 6: kata = break; case 7: kata = break; case 8: kata = break; case 9: kata = break; case 10: kata = break; default: kata = break; }



{ "Satu";



"Dua";



"Tiga";



"Empat";



"Lima";



"Enam";



"Tujuh";



"Delapan";



"Sembilan";



"Sepuluh";



"Invalid number";



System.out.println("Output: " + kata); }



18



Hasil :



Cetak Seratus Kali Buat sebuah program yang mencetak nama Anda selama seratus kali. Buat tiga versi program ini menggunakan while loop, do while dan for-loop. While loop : public class Main { public static void main(String[] args) { int count = 0; while (count < 100) { System.out.println("Dinda Mutiara"); count++; } } }



Do while : public class Main { public static void main(String[] args) { int count = 0; do{ System.out.println("Dinda"); count++; }while(count == 100){ break; } } }



Hasil : 19



For loop : public class Main { public static void main(String[] args) { for (int count = 0; count < 100; count++) { System.out.println("Dinda Mutiara"); } } }



Hasil :



Perpangkatan Hitung pangkat sebuah nilai berdasarkan angka dan nilai pangkatnya. Buat tiga versi dari program ini menggunakan while loop, do-while dan for-loop. While loop : public class Main { public static void main(String[] args) { int base = 2; int exponent = 5; int result = 1; int i = 0; while (i < exponent) { result *= base; i++; } System.out.println(base + " pangkat " + exponent + " = " + result); } } 20



Do while : public class Main { public static void main(String[] args) { int base = 2; int exponent = 5; int result = 1; int i = 0; do { result *= base; i++; } while (i < exponent); System.out.println(base + " pangkat " + exponent + " = " + result); } }



For loop : public class Main { public static void main(String[] args) { int base = 2; int exponent = 5; int result = 1; for (int i = 0; i < exponent; i++) { result *= base; } System.out.println(base + " pangkat " + exponent + " = " + result); } }



21



LATIHAN JENI BAB 7 Hari dalam seminggu Buatlah sebuah String array yang akan menginisialisasi 7 hari dalam seminggu. Sebagai contoh, String days[] = {“Monday”, “Tuesday”….}; Gunakan while-loop, kemudian print semua nilai dari array (Gunakan juga untuk do- while dan for-loop)Using a while-loop. While loop : public class Main { public static void main(String[] args) { String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; int i = 0; do { System.out.println(days[i]); i++; } while (i < days.length); } }



Hasil :



Do while : public class Main { public static void main(String[] args) { String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; for (int i = 0; i < days.length; i++) { System.out.println(days[i]); } } } 22



Hasil :



For loop : public class Main { public static void main(String[] args) { String[] days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}; int i = 0; while (i < days.length) { System.out.println(days[i]); i++; } } }



Hasil :



Nomor terbesar Gunakanlah BufferedReader dan JoptionPane, tanyakan kepada user untuk 10 nomor. Kemudian gunakan array untuk menyimpan 10 nomor tersebut. Tampilkan kepada user,input terbesar yang telah diberikan user. Kode program : import java.io.BufferedReader; 23



import java.io.IOException; import java.io.InputStreamReader; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) throws IOException { BufferedReader reader = new BufferedReader(new InputStreamReader(System.in)); int[] numbers = new int[10]; for (int i = 0; i < 10; i++) { String input = JOptionPane.showInputDialog(null, "Masukkan nomor ke-" + (i + 1)); numbers[i] = Integer.parseInt(input); } int maxNumber = numbers[0]; for (int i = 1; i < 10; i++) { if (numbers[i] > maxNumber) { maxNumber = numbers[i]; } } JOptionPane.showMessageDialog(null, "Input terbesar yang Anda berikan adalah: " + maxNumber); } }



Hasil program :



24



Buku Alamat Berikut ini adalah array multidimensi yang menyatakan isi dari sebuah buku alamat: String entry = {{"Florence", "735-1234", "Manila"}, {"Joyce", "983-3333", "Quezon City"}, {"Becca", "456-3322", "Manila"}}; Cetak buku alamat tersebut dalam format berikut ini: Name : Florence Tel. # : 735-1234 Address : Manila Name : Joyce Tel. # : 983-3333 Address : Quezon City Name : Becca Tel. # : 456-3322 Address : Manila Kode program : public class Main { public static void main(String[] args) { String[][] entries = { {"Florence", "735-1234", "Manila"}, {"Joyce", "983-3333", "Quezon City"}, {"Becca", "456-3322", "Manila"} }; for (int i = 0; i < entries.length; i++) { System.out.println("Name : " + entries[i][0]); System.out.println("Tel. # : " + entries[i][1]); 25



System.out.println("Address : " + entries[i][2]); System.out.println(); } } }



Hasil program :



26



LATIHAN JENI BAB 8 Mencetak Argumen Dapatkan input dari user dengan menggunakan argumen command line dan cetak semua argumen ke layar. Sebagai contoh, jika user memasukkan java Hello world that is all program Anda haruslah mencetak Hello world thatis All Kode program : public class Main { public static void main(String[] args) { if (args.length > 0) { for (int i = 0; i < args.length; i++) { System.out.println(args[i]); } } else { System.out.println("Tidak ada argumen yang diberikan."); } } }



Pertama buka terminal Masukan kode java namaClass.java java hello world that is all



27



Operasi Aritmatik Dapatkan dua buah bilangan yang diinputkan user dari command line dengan argumen command line, kemudian cetak hasil penjumlahannya, hasil pengurangannya, hasil perkalian, dan juga hasil pembagiannya. java ArithmeticOperation 20 4 program anda akan mencetak sum = 24 difference = 16 product = 80 public class ArithmeticOperation { public static void main(String[] args) { if (args.length != 2) { System.out.println("Harap berikan dua bilangan sebagai argumen command line."); return; } int num1 = Integer.parseInt(args[0]); int num2 = Integer.parseInt(args[1]); int int int int



sum = num1 + num2; difference = num1 - num2; product = num1 * num2; quotient = num1 / num2;



System.out.println("sum = " + sum); System.out.println("difference = " + difference); System.out.println("product = " + product); System.out.println("quotient = " + quotient); } }



quotient = 5 Hasil program : Ketik “ java namaClass.java 20 4 “



28



LATIHAN JENI BAB 9 Latihan Mendefinisikan Istilah Dengan kata-kata Anda sendiri, definisikan istilah-istilah berikut ini : 1. 2. 3. 4. 5. 6. 7.



Class Object Instantiate Instance Variable Instance Method Class Variables atau static member variables Constructor



1. Class:



Class adalah sebuah blueprint atau cetak biru yang mendefinisikan atribut (variabel) dan perilaku (metode) dari objek. Class berfungsi sebagai template atau rancangan untuk menciptakan objek-objek yang memiliki karakteristik yang sama.



2. Object:



Object adalah sebuah instansi konkret atau perwujudan nyata dari sebuah class. Object memiliki atribut dan perilaku yang ditentukan oleh class yang menjadi dasarnya. Object juga dapat disebut sebagai variabel yang memiliki tipe data class.



3. Instantiate:



Instantiate adalah proses menciptakan sebuah objek baru dari sebuah class. Saat kita meng-instantiate sebuah class, kita menciptakan sebuah objek yang berbeda dan memori yang terpisah untuk objek tersebut.



4. Instance Variable: Instance Variable adalah variabel yang dideklarasikan di dalam



sebuah class, dan setiap objek yang di-instantiate dari class tersebut akan memiliki salinan individu dari variabel tersebut. Instance variable berisi data yang unik untuk setiap objek dan nilainya bisa berbeda antar objek. 5. Instance



Method: Instance Method adalah metode yang didefinisikan di dalam sebuah class dan dijalankan pada objek-objek yang di-instantiate dari class tersebut. Instance method biasanya digunakan untuk melakukan operasi atau tindakan yang berhubungan dengan objek tersebut.



6. Class



Variables atau static member variables: Class Variables atau static member variables adalah variabel-variabel yang dideklarasikan di dalam sebuah class dan memiliki nilai yang sama untuk semua objek yang di-instantiate dari class tersebut. Class variables biasanya digunakan untuk menyimpan data yang bersifat umum atau bersama antara objek-objek yang terkait dengan class tersebut. 29



7. Constructor: Constructor



adalah sebuah metode khusus yang memiliki nama yang sama dengan nama class dan digunakan untuk menginisialisasi objek baru yang diinstantiate dari class tersebut. Constructor biasanya digunakan untuk memberikan nilai awal pada atribut-atribut objek dan melakukan tindakan lain yang dibutuhkan saat objek dibuat.



Java Scavanger Hunt Pipoy adalah suatu anggota baru dalam bahasa pemrograman Java. Dia hanya memperdengarkan bahwa telah ada APIs siap pakai dalam Java yang salah satunya dapat digunakan dalam program mereka, dan ia ingin sekali untuk mengusahakan mereka keluar. Masalahnya adalah, Pipoy tidak memiliki copy dari dokumentasi Java, dan dia juga tidak memiliki acces internet, jadi tidak ada jalan untuknya untuk menunjukkan Java APIs. Tugas Anda adalah untuk membantu Pipoy memperhatikan APIs (Application Programming Interface). Anda harus menyebutkan class dimana seharusnya method berada, deklarasi method dan penggunaan contoh yang dinyatakan method. Sebagai contoh, jika Pipoy ingin untuk mengetahui method yang mengknversisebuah String ke integer,jawaban Anda seharusnya menjadi: Class: Integer Method Declaration: public static int parseInt( String value ) Sample Usage: String strValue = "100"; int value = Integer.parseInt( strValue ); yakinkan bahwa snippet dari kode yang Anda tulis dalam contoh Anda menggunakan compiles dan memberi output jawaban yang benar, jadi tidak membingungkan Pipoy.(Hint: Semua methods adalah dalam java.lang package). Dalam kasus dimana Anda dapat menemukan lebih banyak methods yang dapat menyelesaikan tugas, berikan hanya satu. Kode program : class Main{ public static void main(String[] args) { String strValue = "100"; int value = Integer.parseInt(strValue); System.out.println(value); } }



30



Hasil :



Sekarang mari memulai pencarian! 1. Perhatikan sebuah method yang diuji jika String pasti diakhiri suffix yang pasti. Sebagai contoh, jika diberikan string "Hello", Method harus mengembalikan nilai true suffix yang diberikan adalah "lo", dan false jika suffix yang diberikan adalah "alp". Kode program : class Main{ public static void main(String[] args) { String str = "Hello"; boolean returnTrue = str.endsWith("lo"); // returns true boolean returnFalse = str.endsWith("alp"); // returns false



System.out.println(returnTrue); System.out.println(returnFalse); } }



Hasil :



2. Perhatikan untuk method yang mengenali character yang mewakili sebuah digit yangspesifik dalam radix khusus. Sebagai contoh, jika input digit adalah 15, dan the radix adalah 16, method akan mengembalikan Character F, sejak F adalah representasi hexadecimal untuk angka 15 (berbasis 10). Kode :



31



int digit = 10; int radix = 15; char result = Character.forDigit(digit, radix); System.out.println(result);



Hasil :



3. Kode untuk mengakhiri program java yang sedang berjalan :



Maka tidak ada hasil : 4. Mengembalikan nilai 3 dari 3,3 Kode program : class Main{ public static void main(String[] args) { double value = 3.13; int result = (int) Math.floor(value); System.out.println(result);



Hasil :



5. Method yang mengenali jika charackter yang dipakai adalh sebuah digit, jika say ainput '3' maka akan true kode program : char ch = '3'; boolean result2 = Character.isDigit(ch); System.out.println(result2); } }



Hasil :



32



LATIHAN JENI BAB 10 •



Entry Buku Alamat



Tugas Anda adalah membuat sebuah class yang memuat data-data pada buku alamat.Tabel berikut mendefinisikan informasi yang dimiliki oleh buku alamat.



Attribut Nama Alamat Nomor Telepon Alamat E-Mail



Deskripsi Nama Lengkap perseorangan Alamat Lengkap Nomor telepon personal Alamat E-Mail personal



Tabel 1: Atribut dan Deskripsi Atribut



Buat implementasi dari method sebagai berikut : 1. Menyediakan accessor dan mutator method terhadap seluruh atribut 2. Constructor 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33



public class Main{ public class AddressBook { private String name; private String address; private String phoneNumber; private String email; public AddressBook(String name, String address, String phoneNumber, String email) { this.name = name; this.address = address; this.phoneNumber = phoneNumber; this.email = email; } public String getName() { return name; } public void setName(String name) { this.name = name; } public String getAddress() { 33



34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55







return address; } public void setAddress(String address) { this.address = address; } public String getPhoneNumber() { return phoneNumber; } public void setPhoneNumber(String phoneNumber) { this.phoneNumber = phoneNumber; } public String getEmail() { return email; } public void setEmail(String email) { this.email = email; }



Buku Alamat



Buat sebuah class buku alamat yang dapat menampung 100 data. Gunakan class yang telah dibuat pada nomor pertama. Anda harus mengimplementasikan method berikut pada buku alamat : 1. Memasukkan data 2. Menghapus data 3. Menampilkan seluruh data 4. Update data 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74



public class BukuAlamat { private AddressBook[] daftarAddressBook; private int jumlahAddressBook; public BukuAlamat() { daftarAddressBook = new AddressBook[100]; jumlahAddressBook = 0; } public void tambahAddressBook(AddressBook AddressBook) { if (jumlahAddressBook < 100) { daftarAddressBook[jumlahAddressBook] = AddressBook; jumlahAddressBook++; } else { System.out.println("Buku alamat sudah penuh!"); } } public void hapusAddressBook(int indeks) { 34



75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117



if (indeks >= 0 && indeks < jumlahAddressBook) { for (int i = indeks; i < jumlahAddressBook - 1; i++) { daftarAddressBook[i] = daftarAddressBook[i + 1]; } daftarAddressBook[jumlahAddressBook - 1] = null; jumlahAddressBook--; } else { System.out.println("Indeks AddressBook tidak valid!"); } }



public void tampilkanSemuaAddressBook() { if (jumlahAddressBook == 0) { System.out.println("Buku alamat kosong."); } else { System.out.println("Daftar AddressBook:"); for (int i = 0; i < jumlahAddressBook; i++) { System.out.println("AddressBook " + (i + 1)); System.out.println("Nama: " + daftarAddressBook[i].getName()); System.out.println("Alamat: " + daftarAddressBook[i].getAddress()); System.out.println("Nomor Telepon: " + daftarAddressBook[i].getPhoneNumber()); System.out.println("Alamat Email: " + daftarAddressBook[i].getEmail()); System.out.println(); } } } public void updateAddressBook(int indeks, AddressBook AddressBookBaru) { if (indeks >= 0 && indeks < jumlahAddressBook) { daftarAddressBook[indeks] = AddressBookBaru; } else { System.out.println("Indeks AddressBook tidak valid!"); } } public AddressBook[] getDaftarAddressBook() { return daftarAddressBook; } public int getJumlahAddressBook() { return jumlahAddressBook; } }



Main : public static void main(String[] args) { Main main = new Main(); 35



AddressBook orang1 = main.new AddressBook("Dinda", "Kendal", "089652616158", "[email protected]"); AddressBook orang2 = main.new AddressBook("Naila", "Pati", "087784303525", "[email protected]"); AddressBook orang3 = main.new AddressBook("Bambang", "Pati", "087784303525", "[email protected]");



BukuAlamat bukuAlamat = main.new BukuAlamat(); bukuAlamat.tambahAddressBook(orang1); // menambahkan orang tersebut di daftar kontak bukuAlamat.tambahAddressBook(orang2); bukuAlamat.updateAddressBook(1, orang3);



bukuAlamat.tampilkanSemuaAddressBook();



}



Output :



36



QUIZ 1 Mencetak piramida nomor public class Main { public static void main(String[] args) { int a = 1; for (int i = 1; i max3) ? z[i] : max3; } int nilaiMaxSemua = nilai[0]; System.out.println("Nilai maksimum x adalah " + max); nilai[0] = max; System.out.println("Nilai maksimum y adalah " + max2); nilai[1] = max2; System.out.println("Nilai maksimum z adalah " + max3); nilai[2] = max3; for (int i = 0; i < n; i++) { nilaiMaxSemua = (nilai[i] > nilaiMaxSemua) ? nilai[i] : nilaiMaxSemua; } System.out.println("Nilai dari max dari semuanya adalah : " + nilaiMaxSemua) 39



Output :



40



QUIZ 3 : Membuat kalkulator dengan menggunakan JoptionPane package com.tutorial; import javax.swing.JOptionPane; public class Main { public static void main(String[] args) { double x; double y; String msg = "Gagal menampilkan hasil"; double Hasil; String kalkulator; // KODE PENJUMLAHAN kalkulator = JOptionPane.showInputDialog("KALKULATOR SEDERHANA\n1. Penjumlahan\n2. Pengurangan\n3. Pembagian\n4. Perkalian"); if (kalkulator.equals("1")) { x = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 1 : ")); y = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 2 : ")); int dialogButton = JOptionPane.showConfirmDialog(null, "Apakah anda ingin melihat hasil ?", "WARNING", JOptionPane.YES_NO_OPTION); if (dialogButton == JOptionPane.YES_OPTION) { Hasil = x + y; JOptionPane.showMessageDialog(null, "Hasil dari penjumlahan antara\n " + x + " + " + y + " = " + Hasil); } else { JOptionPane.showMessageDialog(null, msg); } } // KODE PENGURANGAN if (kalkulator.equals("2")) { x = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 1 : ")); y = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 2 : ")); int dialogButton = JOptionPane.showConfirmDialog(null, "Apakah anda ingin melihat hasil ?", "WARNING", JOptionPane.YES_NO_OPTION); 41



if (dialogButton == JOptionPane.YES_OPTION) { Hasil = x - y; JOptionPane.showMessageDialog(null, "Hasil dari pengurangan antara\n" + x + " - " + y + " = " + Hasil); } else { JOptionPane.showMessageDialog(null, msg); } } // KODE PEMBAGIAN if (kalkulator.equals("3")) { x = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 1 : ")); y = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 2 : ")); int dialogButton = JOptionPane.showConfirmDialog(null, "Apakah anda ingin melihat hasil ?", "WARNING", JOptionPane.YES_NO_OPTION); if (dialogButton == JOptionPane.YES_OPTION) { Hasil = x / y; JOptionPane.showMessageDialog(null, "Hasil dari pembagian antara\n" + x + " / " + y + " = " + Hasil); } else { JOptionPane.showMessageDialog(null, msg); } } // KODE PERKALIAN if (kalkulator.equals("4")) { x = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 1 : ")); y = Double.parseDouble(JOptionPane.showInputDialog(null, "Masukan variabel 2 : ")); int dialogButton = JOptionPane.showConfirmDialog(null, "Apakah anda ingin melihat hasil ?", "WARNING", JOptionPane.YES_NO_OPTION); if (dialogButton == JOptionPane.YES_OPTION) { Hasil = x * y; JOptionPane.showMessageDialog(null, "Hasil dari perkalian antara\n" + x + " * " + y + " = " + Hasil); } else { JOptionPane.showMessageDialog(null, msg); } } 42



Output :



43



QUIZ 4 : mencetak bilangan terbesar dari tiga bilangan : package quiz; class quiz { private int bilangan1 = 37; private int bilangan2 = 2 ; private int bilangan3 = 10; public void tampilBilangan(){ System.out.println("Bilangan 1 : " + bilangan1); System.out.println("Bilangan 2 : " + bilangan2); System.out.println("Bilangan 3 : " + bilangan3); } public double nilaiRataRata(){ double rata_rata; rata_rata = this.bilangan1+this.bilangan2+this.bilangan3 / 3; return rata_rata; } public int nilaiTerbesar(){ int terbesar; terbesar = (this.bilangan1 > this.bilangan2) ? ((this.bilangan1 > this.bilangan3) ? this.bilangan1 : this.bilangan3) : ((this.bilangan2 > this.bilangan3) ? this.bilangan2 : this.bilangan3); return terbesar; } } public class Main { public static void main(String[] args) { quiz quiz1 = new quiz(); System.out.println("----------- OUTPUT --------------"); quiz1.tampilBilangan(); System.out.println("Nilai Rata - rata dari bilangan adalah : " + quiz1.nilaiRataRata()); System.out.println("Nilai yang terbesar adalah angka : " + quiz1.nilaiTerbesar());



} }



Contoh : 44



45



QUIZ 5 : Class Student record : class StudentRecord { private String name; private String address; private int age; private double mathGrade; private double englishGrade; private double scienceGrade; private double average; private double rataRataMurid; private double rataRataKelas; private static int studentCount;



StudentRecord(){ studentCount++; } public void getRataaRataMurid(double average) { average = (englishGrade + scienceGrade + mathGrade) / 3; } public void setName(String temp) { name = temp; } public String getName() { return name; } public void getRataRataKelas(double average) { getRataRataMurid(average); } public void setEnglishGrade(double englishGrade) { this.englishGrade = englishGrade; } public double getEnglishGrade() { return englishGrade; } public void setScienceGrade(double scienceGrade) { this.scienceGrade = scienceGrade; } public double getScienceGrade() { return scienceGrade; 46



} public void setMathGrade(double mathGrade) { this.mathGrade = mathGrade; } public double getMathGrade() { return mathGrade; } public double getRataRataMurid() { double result = 0; result = (mathGrade + englishGrade + scienceGrade) / 3; return result; }



public int setAge(int temp){ age = temp; return age; } public int getAge() { return age; } public void setAddress(String address) { this.address = address; } public String getAddress() { return address; } /** * Menghasilkan jumlah instance StudentRecord */ public static int getStudentCount() { return studentCount; } }



Main : class Main { public static void main(String[] args) { // membuat 3 object StudentRecord StudentRecord annaRecord = new StudentRecord(); StudentRecord beahRecord = new StudentRecord(); StudentRecord crisRecord = new StudentRecord(); // Memberi nama siswa annaRecord.setName("Anna");



47



annaRecord.setEnglishGrade(8); annaRecord.setMathGrade(8); annaRecord.setScienceGrade(9); double annaRata2 = annaRecord.getRataRataMurid(); beahRecord.setName("Beah"); beahRecord.setEnglishGrade(9); beahRecord.setMathGrade(7); beahRecord.setScienceGrade(5.5); double beahRata2 = beahRecord.getRataRataMurid();



crisRecord.setName("Cris"); crisRecord.setMathGrade(4.5); crisRecord.setEnglishGrade(6); crisRecord.setScienceGrade(6.5); double crisRata2 = crisRecord.getRataRataMurid();



System.out.println("Nama | Matematika | Rata-rata |"); System.out.printf(annaRecord.getName()+" | | "+annaRecord.getEnglishGrade()+" | " | %.2f\n",annaRecord.getRataRataMurid()); System.out.printf(beahRecord.getName()+" | | "+beahRecord.getEnglishGrade()+" | " | %.2f\n",beahRecord.getRataRataMurid()); System.out.printf(crisRecord.getName()+" | | "+crisRecord.getEnglishGrade()+" | " | %.2f\n",crisRecord.getRataRataMurid());



English



|



Sciene



|



"+annaRecord.getMathGrade()+" "+annaRecord.getScienceGrade()+ "+beahRecord.getMathGrade()+" "+beahRecord.getScienceGrade()+ "+crisRecord.getMathGrade()+" "+crisRecord.getScienceGrade()+



double rataRataKelas = (annaRata2+beahRata2+crisRata2) / 3; System.out.printf("Nilai rata-rata dari ketiga siswa adalah = %.2f",rataRataKelas); } }



Output :



48