Academia.eduAcademia.edu

Laporan2_165150201111168_RahmanRulliA_Revisi.docx

Silahkan Dipelajari dengan baik dan jangan dicopas terima kasih. ^-^

DEFINISI MASALAH Dari soal bab 1, dalam class-class yang terlibat di studi kasus tersebut, implementasikan penggunaan constructor dan tambahkan beberapa method untuk melakukan operasi dibawah: pencarian buku berdasarkan kategori, penulis, maupun judul buku dan tampilkan hasil pencariannya (tangani jika data tidak ditemukan); input detail buku kedalam kategori tertentu, dan tidak boleh ada judul buku yang sama dalam satu kategori; menambahkan kategori buku di sistem perpustakaan, dan tidak ada kategori yang sama; tampilkan semua kategori buku beserta buku-buku yang ada dalam kategori tersebut. SOURCE CODE Tugas2.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 package tugas2; public class Tugas2 { public String[] judul1={"how to convert yout car to run on water membuat","perangkat mobile", "biogas potensi dari limbah cair","perpustakaan digital" ,"aplikasi mobile dengan qt", "sejarah tuhan","the case for good","buku saku filsafat islam","peran paradigma revolusi", "sains","filsafat hukum","perintah soekarno","sejarah kemerdekaan minangkabau", "semua untuk cirebon","memoar hario kecik II","perang eropa","aliran dalam islam", "memahami hakikat penciptaan","dzikir dan doa setelah sholat","pengantar ilmu nahwu dan shorof", "agama","psikologi remaja","the science of mind and behaviour ","the secret","the female brain", "handbook of psycologi","Candi, Cakrabirawa, dan Cinta Segitiga","perahu kertas ", "hafalan shalat delisa","matilda", "filosofi kopi","dasar ilmu politik", "testament of adolft hitler","teori tentang keadilan","memahami ilmu politik", "inteligensia muslim dan kuasa"}; public String[]penulis1={"anonymous","admin buku1000","muhammad rifai","mahmud hasan","mohammad iqbal", "karen armstrong","karen armstrong","haidar bagir","thomas ","theo huijber","himawan soetanto","ahmad husein", "marhayono","soehario","p.k.ojon","M.yusuf amin nugroho","arid zainal effendi","ummu abdillah al-buthoniyyah", "bois", "farid zainal effendi","KH As'ad Humam","sarlito wirawan sarwono","richard gross", "rhonda byrn","louan brize","gary groth","ayu tami","dewi dee lestari","tere liye","ronald dahl", "dewi lestari","miriam budiarjo","adolft hitler","john rawls","ramlan","yudi latief"}; public String[]kategori1={"Teknologi","Teknologi","Teknologi","Teknologi", "Teknologi", "Filsafat","Filsafat","Filsafat","Filsafat","Filsafat", "Sejarah","Sejarah","Sejarah","Sejarah","Sejarah","agama", "agama","agama","agama","agama","psikologi","psikologi","psikologi", "psikologi","psikologi","fiksi","fiksi","fiksi","fiksi", "fiksi","politik","politik","politik","politik","politik"}; public String []kategori2=new String[100]; public String []judul2=new String[100]; public String []penulis2=new String[100]; public void Isi(){ System.arraycopy(judul1, 0, judul2, 0, 35); System.arraycopy(penulis1, 0, penulis2, 0, 35); System.arraycopy(kategori1, 0, kategori2, 0, 35);} String judul,penulis,kategoribuku; static int jumlah = 35; public void buatBuku(String judul, String penulis, String kategoribuku) { this.judul2[jumlah] = judul; this.penulis2[jumlah] = penulis; this.kategori2[jumlah]=kategoribuku; this.jumlah++; } public Tugas2(String judul, String penulis,String kategoribuku) { this.judul = judul; this.penulis = penulis; this.kategoribuku=kategoribuku;} public Tugas2(){ } public void Melihat(){ System.out.println("======================================== ================================================================"); System.out.printf("|%-50s|%-20s|%-30s|\n", "Judul", "Kategori", "Penulis"); System.out.println("==================================== ====================================================================="); for (int i = 0; i < jumlah; i++) { System.out.printf("|%-50s|%-20s|%-30s|\n", judul2[i], kategori2[i], penulis2[i]); System.out.println("--------------------------------------------------------------------------------------------------------"); } } } KategoriTugas.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 35 37 38 package tugas2; public class KategoriTugas { String Kategori; String[][]Lanjut=new String[100][3]; int jumlah =0; public KategoriTugas(String Kategori) { this.Kategori = Kategori; } public void tambahbuku(Tugas2 Buku){ boolean buku=false; int i=0; while (i < jumlah){ if (this.Lanjut[i][0].equalsIgnoreCase(Buku.judul)){ buku=true; System.out.println("buku yang anda cari sudah ada"); }i++; } if (!buku) { this.Lanjut[jumlah][0]=Buku.judul; this.Lanjut[jumlah][1]=Buku.penulis; this.Lanjut[jumlah][2]=Buku.kategoribuku; jumlah++; } } public void setKategori(String ab) { this.Kategori = ab; } public void DisplayBuku(){ int i=0; while (i<jumlah){ System.out.print("Judul : " + Lanjut[i][0]); System.out.print("||Penulis : " + Lanjut[i][1]); System.out.println("||Kategori : " + Lanjut[i][2]); i++; } } } MainTugas.Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 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 package tugas2; import java.util.Scanner; public class MainTugas { public static void main(String[] args) { Tugas2 p1=new Tugas2(); p1.Isi(); Scanner man= new Scanner(System.in); int JumlahBuku = 0; KategoriTugas[] daftar = new KategoriTugas[100]; daftar[0] = new KategoriTugas("Teknologi"); daftar[1] = new KategoriTugas("Filsafat"); daftar[2] = new KategoriTugas("Sejarah"); daftar[3] = new KategoriTugas("Agama"); daftar[4] = new KategoriTugas("Psikologi"); daftar[5] = new KategoriTugas("Politik"); daftar[6] = new KategoriTugas("Fiksi"); int jumlah = 7; int pilih = 0; String sementara, judul, penulis,kategoribuku; do { System.out.println("SELAMAT DATANG DI PERPUSTAKAAN"); System.out.println("Silahkan pilih layanan : "); System.out.println("1. Pencarian buku"); System.out.println("2. Input detail buku"); System.out.println("3. Tambah kategori buku"); System.out.println("4. Tampilkan katalog"); System.out.println("5. Tampilkan Buku Ada Diperpustakaan"); System.out.println("6. Keluar"); System.out.print("Pilihan anda :"); pilih = man.nextInt(); man.nextLine(); switch (pilih) { case 1: System.out.println("1. Kategori"); System.out.println("2. Judul"); System.out.println("3. Penulis"); System.out.print("Cari berdasarkan : "); pilih = man.nextInt(); man.nextLine(); System.out.print("Input kata kunci :"); sementara = man.nextLine(); switch (pilih) { case 1: int i=0; while (i < jumlah) { if (daftar[i].Kategori.equalsIgnoreCase(sementara)) { daftar[i].DisplayBuku(); }i++; }break; case 2: int d = 0; while ( d < JumlahBuku) { if (p1.judul2[d].equalsIgnoreCase(sementara)) { System.out.print("Judul : " + p1.judul2[d]); System.out.println("|| Penulis : " + p1.penulis2[d]); }d++; };break; case 3: int c=0; while ( c < JumlahBuku) { if (p1.penulis2[c].equalsIgnoreCase(sementara)) { System.out.print("Judul : " + p1.penulis2[c]); System.out.println("|| Penulis : " + p1.penulis2[c]); }c++; };break;}break; case 2: System.out.println("Tambah Buku"); System.out.print("Judul : "); judul = man.nextLine(); System.out.print("Penulis : "); penulis = man.nextLine(); System.out.print("Kategori :"); kategoribuku=man.nextLine(); p1.buatBuku(judul, penulis,kategoribuku); Tugas2 temp = new Tugas2(judul, penulis,kategoribuku); System.out.print("Masukkan Kategori : "); sementara = man.nextLine(); int i=0; while ( i < jumlah) { if (daftar[i].Kategori.equalsIgnoreCase(sementara)) { daftar[i].tambahbuku(temp); }i++; }JumlahBuku++;break; case 3: System.out.println("Input kategori yang ingin ditambah : "); daftar[jumlah] = new KategoriTugas(man.nextLine()); jumlah++;break; case 4: int b =0; while ( b < jumlah ) { System.out.println(daftar[b].Kategori); daftar[b].DisplayBuku();b++; }break; case 5: p1.Melihat(); System.out.println(""); break; case 6: System.out.println("Keluar dari program"); break; default: System.out.println("Input salah"); } }while (pilih != 6); } } PEMBAHASAN Tugas2.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 Deklarasi package Deklarasi Class Tugas2 Deklarasi array judul1 dan inisialisai nilai array judul1 Deklarasi array penulis1 dan inisialisai nilai array penulis1 Deklarasi array kategori1 dan inisialisai nilai array kategori1 Instansiasi array kategori2 Instansiasi array judul2 Instansiasi array penulis2 Deklarasi method void isi Method arraycopy judul Method arraycopy penulis Method arraycopy kategori Deklarasi variable judul,penulis,kategoribuku dan tipe datanya Deklarasi method static variable jumlah dan tipe data nya int Deklarasi method void dan parameternya Menyimpan nilai array judul dan indeksnya Menyimpan array judul dan indeksnya Variable untuk menambah nilai Deklarasi konstruktor tugas2 dan parameternya Menyimpan nilai judul Menyimpan nilai penulis Menyimpan nilai kategori Deklarasi konstruktor dan pembuka bloknya Penutup bloknya Deklarasi method melihat Mencetak “============” Mencetak “judul”,”Kategori”,’Penulis”. Dengan system format Mencetak “=============” Deklarasi perulangan for Mencetak judul2”,”Kategori2”,’Penulis2”. Dengan system format Mencetak “------------------------------------------“ Penutup blok method Penutup classmethod Penutup blok class Kategoritugas.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 Deklarasi package Deklarasi class kategoritugas Deklarasi variable dan tipe datanya Instansi array dan nilainya Deklarasi variable jumlah dan tipe datanya Deklarasi method kategori tugas dan pembuka blok Menyimpan nilai kategori Penutup blok Deklarasi method void tambahbuku dan parameternya Deklarasi variable buku dan tipe data Boolean serta nilainya Deklarasi variable I dan tipe datanya Perulangan while Seleksi kondisi dan deklarasi syaratnya Instansi nilai buku Mencetak “Buku Yang anda cari sudah ada “ Deklarasi Increment Penutup blok perulangan Seleksi kondisi dan syaratnya Menyimpan nilai lanjut dan indeksnya sama dengan judul Menyimpan nilai lanjut dan indeksnya sama dengan penulis Menyimpan nilai lanjut dan indeksnya sama dengan kategoribuku Deklarasi increment jumlah Penutuk blok seleksi kondisi Penutup perulangan while Penutup method Deklarasi method void setter kategori dan parameternya Menyimpan nilan kategori sama dengan nilai parameternya Penutup method Deklarasi method void Displaybuku dan pembuka bloknya Deklarasi variable i dan tipe datanya Perulangan while Mencetak “judul” dan memanggil nilai lanjut dan indeks ke 0 Mencetak “penulis” dan memanggil nilai lanjut dan indeks ke 1 Mencetak “kategori” dan memanggil nilai lanjut dan indeks ke 2 Deklarasi increment variable i Penutup blok perulangan Penutup blok method Penutup blok class Maintugas.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 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 Deklarasi package Deklarasi class Scanner Deklarasi class maintugas Deklarasi mthod main Instansiasi objek Pemanggilan method isi dari objek p1 Deklarasi scanner input Deklarasi variable jumlah Instansiasi array objek kategori tugas Instansiasi objek indeks ke 0 kategori tugas dengan nilai arraynya teknologi Instansiasi objek indeks ke 1 kategori tugas dengan nilai arraynya filsafat Instansiasi objek indeks ke 2 kategori tugas dengan nilai arraynya sejarah Instansiasi objek indeks ke 3 kategori tugas dengan nilai arraynya agama Instansiasi objek indeks ke 4 kategori tugas dengan nilai arraynya psikologi Instansiasi objek indeks ke 5 kategori tugas dengan nilai arraynya fiksi Instansiasi objek indeks ke 6 kategori tugas dengan nilai arraynya politik Deklarasi variable jumlah dan tipe datanya Deklarasi variable pilih dan tipe datanya Deklarasi variable sementara,judul,penulis,kategoribuku dan tipe datanya Perulangan do Mencetak “SELAMAT DATANG DI PERPUSTAKAAN” Mencetak “Silahkan pilih layanan” Mencetak“Pencarian buku" Mencetak“Input detail buku" Mencteak”Tambah kategori buku" Mencetak”Tampilkan katalog” Mencetak”Tampilkan Buku Ada Diperpustakaan" Mencetak”Keluar" Mencetak”Pilihan anda : Input pilih Input spasi buat newline Seleksi kondisi switch Case 1 Mencetak “1.kategori” Mencetak “2.judul” Mencetak “3.penulis” Mencetak “cari berdasarkan ” Input pilih Input spasi untuk newline Mencetak “input kata kunci” Input sementara Seleksi kondisi pilih Case 1 Deklarasi variable I dan tipe datanya Perulangan while Seleksi kondisi if Pemanggilan method displaybuku melalui objek daftar dengan indek i Increment variable I penutup blok Break untuk keluar dari case 1 Case 2 Deklarasi variable d dan tipe datanya Perulangan while Seleksi kondisi if Mencetak “judul” dan pemanggilan judul2 dengan indeks d melalui objek p1 Mencetak “judul” dan pemanggilan penulis2 dengan indeks d melalui objek p1 Increment variable d penutup blok Break untuk keluar dari case 2 Case 3 Deklarasi variable c dan tipe datanya Perulangan while Seleksi kondisi if Mencetak “judul” dan pemanggilan judul2 dengan indeks c melalui objek p1 Mencetak “judul” dan pemanggilan penulis2 dengan indeks c melalui objek p1 Increment variable c penutup blok Break untuk keluar dari case 3 dan memberhentikan switch case bercabang Case 2 Mencetak “Tambah Buku” Mencetak “Judul” Input judul Mencetak “penulis” Input penulis Mencetak “kategori ” Input kategori Pemanggilan method buku melalui p1 Instansiasi objek dan parameternya Mencetak “Masukkan kategori” Input sementara Deklarasi variable I dan tipe datanya Perulangan while Seleksi kondisi if Pemanggilan method tambahbuku parameternya temp melalu pemanggilan objek Increment i Increment jumlah buku dan keluar dari case2 Case 3 Mencetak “input kategori yang ingin ditambah” Instansi objek daftar dan indeksnya jumlah Increment jumlah dan statement keluar case 3 Case 4 Deklarasi variable b Perulangan while Mencetak dan memanggil method kategori melalui objek Memanggil method diskplayBuku melalui objek dan increment statement keluar case4 Case 5 Memanggil method melihat melalui objel Mencetak “” breakUntuk keluar dari case 6 case 6 mencetak “keluar dari program” break untuk keluar dari case 6 default mencetak “input salah” penutup blok switch case perulangan while penutup perulangan do penutup class SCREENSHOT PROGRAM Gambar1.MainTugas.Java PRAKTIKUM Constructor Lakukan percobaan constructor diatas dan benahi jika menemukan kesalahan! Jawaban: Terdapat kesalahan pada sourcode tersebut karena penulisan nama methodnya hari huruf kepital diawalnya Tambahkan constructor pada class Student dengan parameter yang mempunyai parameter masing masing nilai dari mata pelajaran yang ada! Kemudian buat contoh objeknya pada main Class! Jawaban : Student.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 public class Student { private String name; private String address; private int age; private double mathGrade; private double englishGrade; private double scienceGrade; private double average; public Student(double mathGrade, double englishGrade, double scienceGrade) { this.mathGrade = mathGrade; this.englishGrade = englishGrade; this.scienceGrade = scienceGrade; } public Student(){ name = ""; address = ""; age = 0; } public Student(String n, String a, int ag){ name = n; address = a; age = ag; } public void setName(String n){ name = n; } public void setAddress(String a){ address = a; } public void setAge(int ag){ age = ag; } public void setMath(int math){ mathGrade = math; } public void setEnglish(int english){ englishGrade = english; } public void setScience(int science){ scienceGrade = science; } private double getAverage(){ double result = 0; result = (mathGrade+scienceGrade+englishGrade)/3; return result; } public void displayMessage(){ System.out.println("Siswa dengan nama "+name); System.out.println("beramalat di "+address); System.out.println("berumur "+age); System.out.println("mempunyai nilairata "+getAverage()); } } Tambahkan method dengan nilai balikan berupa boolean pada class student bernama statusAkhir untuk menentukan apakah siswa tersebut remidi atau tidak. Ketentuannya adalah jika nilai lebih dari atau sama dengan 61 adalah lolos sedangkan nilai kurang dari atau sama dengan 60 adakah remidi. Nilai yang di cari adalah nilai rata rata untuk semua mapel. Kemudian nilai pada method statusAkhir tampilkan pada method displayMessage! Jawaban : Student.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 26 27 28 29 30 31 32 33 34 35 36 37 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 public class Student { private String name; private String address; private int age; private double mathGrade; private double englishGrade; private double scienceGrade; private double average; private double statusakhir; public Student(double mathGrade, double englishGrade, double scienceGrade) { this.mathGrade = mathGrade; this.englishGrade = englishGrade; this.scienceGrade = scienceGrade; } public Student(){ name = ""; address = ""; age = 0; } public Student(String n, String a, int ag){ name = n; address = a; age = ag; } public void setName(String n){ name = n; } public void setAddress(String a){ address = a; } public void setAge(int ag){ age = ag; } public void setMath(int math){ mathGrade = math; } public void setEnglish(int english){ englishGrade = english; } public void setScience(int science){ scienceGrade = science; } private double getAverage(){ double result = 0; result = (mathGrade+scienceGrade+englishGrade)/3; return result; } public boolean Statusakhir(){ if (getAverage()<= 60) { return false; }else { return true; } } public void displayMessage(){ System.out.println("Siswa dengan nama "+name); System.out.println("beramalat di "+address); System.out.println("berumur "+age); System.out.println("mempunyai nilairata "+getAverage()); if (Statusakhir()==true) { System.out.println("Siswa dinyatakan lolos"); } else { System.out.println("Siswa tidak dinyatakan lolos"); } } } MainStudent.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 public class MainStudent { public static void main(String[] args) { Student anna = new Student(); anna.setName("Anna"); anna.setAddress("Malang"); anna.setAge(20); anna.setMath(100); anna.setScience(89); anna.setEnglish(80); anna.displayMessage(); //menggunakan constructor lain System.out.println("==================="); Student chris = new Student("Chris", "Kediri", 21); chris.setMath(70); chris.setScience(60); chris.setEnglish(90); chris.displayMessage(); //siswa dengan nama anna dirubah informasi alamat dan umurnya melalui constructor System.out.println("==================="); anna = new Student("anna", "Batu", 18); anna.displayMessage(); //siswa denagan nama chris dirubah informasi alamat dan umurnya melalui method System.out.println("==================="); chris.setAddress("Surabaya"); chris.setAge(22); chris.displayMessage(); System.out.println("=============="); Student rahman = new Student(); rahman.setName("Rahman"); rahman.setAddress("Malang"); rahman.setAge(19); rahman.setMath(100); rahman.setScience(95); rahman.setEnglish(90); rahman.displayMessage(); } } Bagaimana cara memasukkan jumlah siswa sesuai dengan keinginan user? Tuliskan kodenya dengan inputan user yang interaktif! (key : menggunakan array) Jawaban: MainStudent.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 import java.util.Scanner; public class MainStudent { public static void main(String[] args) { Scanner rahman =new Scanner (System.in); int jumlah; System.out.print("Masukkan jumlah mahasiswa :"); jumlah=rahman.nextInt(); Student[] Std= new Student[jumlah]; for (int r = 0; r < jumlah; r++) { System.out.print("Masukkan Nama :"); String nama=rahman.next(); System.out.print("Masukkan Alamat :"); String alamat=rahman.next(); System.out.print("Masukkan Umur :"); int umur=rahman.nextInt(); Std[r] =new Student (nama,alamat,umur); System.out.print("Masukkan nilai Math :"); int math=rahman.nextInt(); Std[r].setMath(math); System.out.print("Masukkan nilai English :"); int english=rahman.nextInt(); Std[r].setEnglish(english); System.out.print("Masukkan nilai Science :"); int science=rahman.nextInt(); Std[r].setScience(science); System.out.println("======================="); Std[r].displayMessage(); System.out.println("======================="); } } } Bagaimana cara menghitung banyaknya objek yang kita buat dari sebuah menginstance objek dari mein class? Tuliskan kodenya kemudian tampilkan informasinya dengan memanggil method jumlahObjek() bertipe void! Jawaban : Student.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 package student; public class Student { private String name; private String address; private int age; private double mathGrade; private double englishGrade; private double scienceGrade; private double average; private double statusakhir; static int jumobjek; public Student(double mathGrade, double englishGrade, double scienceGrade) { this.mathGrade = mathGrade; this.englishGrade = englishGrade; this.scienceGrade = scienceGrade; this.jumobjek++; } public Student(){ jumobjek++; } static void getjumlahobjek(){ System.out.println("Jumlah Objeknya adalah :"+Student.jumobjek); } public Student(String n, String a, int ag){ name = n; address = a; age = ag; this.jumobjek++; } public void setName(String n){ name = n; } public void setAddress(String a){ address = a; } public void setAge(int ag){ age = ag; } public void setMath(int math){ mathGrade = math; } public void setEnglish(int english){ englishGrade = english; } public void setScience(int science){ scienceGrade = science; } private double getAverage(){ double result = 0; result = (mathGrade+scienceGrade+englishGrade)/3; return result; } public boolean Statusakhir(){ if (getAverage()<= 60) { return false; }else { return true; } } public void displayMessage(){ System.out.println("Siswa dengan nama "+name); System.out.println("beramalat di "+address); System.out.println("berumur "+age); System.out.println("mempunyai nilairata "+getAverage()); if (Statusakhir()==true) { System.out.println("Siswa dinyatakan lolos"); } else { System.out.println("Siswa tidak dinyatakan lolos"); } } } MainStudent.Java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 import java.util.Scanner; public class MainStudent { public static void main(String[] args) { Scanner rahman =new Scanner (System.in); int jumlah; System.out.print("Masukkan jumlah mahasiswa :"); jumlah=rahman.nextInt(); Student[] Std= new Student[jumlah]; for (int r = 0; r < jumlah; r++) { System.out.print("Masukkan Nama :"); String nama=rahman.next(); System.out.print("Masukkan Alamat :"); String alamat=rahman.next(); System.out.print("Masukkan Umur :"); int umur=rahman.nextInt(); Std[r] =new Student (nama,alamat,umur); System.out.print("Masukkan nilai Math :"); int math=rahman.nextInt(); Std[r].setMath(math); System.out.print("Masukkan nilai English :"); int english=rahman.nextInt(); Std[r].setEnglish(english); System.out.print("Masukkan nilai Science :"); int science=rahman.nextInt(); Std[r].setScience(science); System.out.println("======================="); Std[r].displayMessage(); System.out.println("======================="); } Student.getjumlahobjek(); } Instance Method Lakukan percobaan Instance Method diatas dan benahi jika menemukan kesalahan! Jawaban: tidak ada kesalahan pada sourcode tersebut. Tambahkan method untuk operator <, <=, >= ! Jawaban: Rasional.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 public class Rasional { private int pembilang, penyebut; public Rasional(){ pembilang=0; penyebut=0; } public Rasional(int pbl, int pyb){ pembilang=pbl; penyebut=pyb; } //mengecek suatu bilangan adalah rasional atau bukan public boolean isRasional(){ return (penyebut!= 0); } //menyederhanakan bilangan rasional public void Sederhana(){ int temp, A, B; if (penyebut ==0){ return; } A = (pembilang<penyebut) ? penyebut:pembilang; B = (pembilang<penyebut) ? pembilang:penyebut; while (B != 0){ temp= A % B; A = B; B = temp; } pembilang /=A; penyebut /=A; } public double Cast(){ return (penyebut==0.0) ? 0.0 : (double)pembilang / (double)penyebut; } //oprator > public boolean moreThan (Rasional A){ return (pembilang * A.penyebut > penyebut * A.pembilang); } public boolean operator1 (Rasional A){ return (pembilang * A.penyebut < penyebut * A.pembilang); } public boolean operator2 (Rasional A){ return (pembilang * A.penyebut <= penyebut * A.pembilang); } public boolean operator3 (Rasional A){ return (pembilang * A.penyebut >= penyebut * A.pembilang); } public boolean operator4 (Rasional A){ return (pembilang * A.penyebut != penyebut * A.pembilang); } //operator Unary- ---> A = -A public void negasi(){ pembilang = - pembilang; } //operator unary += \ public void unaryPlus(Rasional A){ pembilang = pembilang * A.penyebut + penyebut *A.pembilang;penyebut *=A.penyebut; } public void cetak(){ System.out.println(pembilang + "/" + penyebut); } } Ubah method sederhana pada baris 25 – 30 yang awalnya adalah menggunakan while menjadi for! Jawaban : Rasional.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 40 41 public class Rasional { private int pembilang, penyebut; public Rasional(){ pembilang=0; penyebut=0; } public Rasional(int pbl, int pyb){ pembilang=pbl; penyebut=pyb; } //mengecek suatu bilangan adalah rasional atau bukan public boolean isRasional(){ return (penyebut!= 0); } //menyederhanakan bilangan rasional public void Sederhana(){ int temp, A, B; if (penyebut ==0){ return; } A = (pembilang<penyebut) ? penyebut:pembilang; B = (pembilang<penyebut) ? pembilang:penyebut; for (;B != 0;){ temp= A % B; A = B; B = temp; } pembilang /=A; penyebut /=A; } public double Cast(){ return (penyebut==0.0) ? 0.0 : (double)pembilang / (double)penyebut; } //oprator > public boolean moreThan (Rasional A){ return (pembilang * A.penyebut > penyebut * A.pembilang); } //operator Unary- ---> A = -A public void negasi(){ pembilang = - pembilang; } //operator unary += \ public void unaryPlus(Rasional A){ pembilang = pembilang * A.penyebut + penyebut *A.pembilang;penyebut *=A.penyebut; } public void cetak(){ System.out.println(pembilang + "/" + penyebut); } } Tambahkan method untuk operasi -, * , / ! Jawaban: Rasional.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 public class Rasional { private int pembilang, penyebut; public Rasional(){ pembilang=0; penyebut=0; } public Rasional(int pbl, int pyb){ pembilang=pbl; penyebut=pyb; } //mengecek suatu bilangan adalah rasional atau bukan public boolean isRasional(){ return (penyebut!= 0); } //menyederhanakan bilangan rasional public void Sederhana(){ int temp, A, B; if (penyebut ==0){ return; } A = (pembilang<penyebut) ? penyebut:pembilang; B = (pembilang<penyebut) ? pembilang:penyebut; while (B != 0){ temp= A % B; A = B; B = temp; } pembilang /=A; penyebut /=A; } public double Cast(){ return (penyebut==0.0) ? 0.0 : (double)pembilang / (double)penyebut; } //oprator > public boolean moreThan (Rasional A){ return (pembilang * A.penyebut > penyebut * A.pembilang); } public boolean operator1 (Rasional A){ return (pembilang * A.penyebut < penyebut * A.pembilang); } public boolean operator2 (Rasional A){ return (pembilang * A.penyebut <= penyebut * A.pembilang); } public boolean operator3 (Rasional A){ return (pembilang * A.penyebut >= penyebut * A.pembilang); } public boolean operator4 (Rasional A){ return (pembilang * A.penyebut != penyebut * A.pembilang); } //operator Unary- ---> A = -A public void negasi(){ pembilang = - pembilang; } //operator unary += \ public void unaryPlus(Rasional A){ pembilang = pembilang * A.penyebut + penyebut *A.pembilang;penyebut *=A.penyebut; } public void unarykurang(Rasional A){ pembilang = pembilang * A.penyebut + penyebut -A.pembilang;penyebut *=A.penyebut; } public void unarykali(Rasional A){ pembilang = pembilang * A.penyebut + penyebut *A.pembilang;penyebut *=A.penyebut; } public void unarybagi(Rasional A){ pembilang = pembilang * A.penyebut + penyebut /A.pembilang;penyebut *=A.penyebut; } public void cetak(){ System.out.println(pembilang + "/" + penyebut); } } KESIMPULAN Konstruktor adalah layaknya sebuah method yang secara otomatis akan dijalankan ketika object dibuat (diinstansiasi) dengan menggunakan perintah new. Atau dengan kata lain konstruktor adalah method yang pertama kali dijalankan pada saat sebuah objek pertama kali diciptakan. Jika didalam java tidak terdapat konstruktor maka java akan membuat konstruktor secara otomatis yaitu default. Konstruktor adalah sebuah method yang secara otomatis akan dijalankan ketika objek dibuat (diinstansiasi) dengan menggunakan perintah new. Sedangkan method adalah sekumpulan statement program yang disatukan menjadi sebuah subprogram atau fungsi atau Method merupakan suatu operasi berupa fungsi-fungsi yang dapat dikerjakan oleh suatu object. Perbedaanya adalah konstruktor tidak memiliki nilai (void, String, int, dll) dan juga namanya sama persis dengan nama kelas sedangkan method itu memiliki nilai (void, String,int dll) dan juga namanya bebas tidak harus sama dengan nama kelas Untuk mendeklarasikan sebuah constructor dapat kita tuliskan dengan sintaks berikut : <modifier> <classname>(parameter){ <statement> } Contoh : misalnya dibuat constructor pada class mahasiswa : public mahasiswa(){ //statement } } Instance method adalah adalah fungsi yang beroperasi pada objek untuk memanipulasi state objek lewat pesan objek yang diterima dari objek lain.Untuk memanggil sebuah instance metho itu yanitu dengan cara kita menuliskan : namaObjek.nama method(); LABORATORIUM PEMBELAJARAN ILMU KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS BRAWIJAYA BAB : CONSTRUCTOR DAN INSTANCE METHOD NAMA : RAHMAN RULLI ARJIANSA NIM : 165150201111168 TANGGAL : 16/03/2016 ASISTEN : AHMAD KAMIL ALMASYHUR