Loading documents preview...
Tugas Personal ke-2 (Minggu 7 / Sesi 11) Nama : Ida Sulistiana NIM : 2201837522 Sistem Informasi Binus Online
1.
2.
Berikut Statement yang benar a.
int i = new int(20); Salah Seharusnya: int i = 20;
b.
double d[] = new double[20]; Benar Bisa juga: double[] d = new double[20];
c.
char[] r = new char(1..20); Salah Seharusnya: char[] r = new char[20];
d.
int i[] = (3,4,5,2); Salah Seharusnya: int[] i = {3,4,5,2};
e.
float f [] = {2.1, 3.4, 5.6}; Salah Seharusnya: float[] f = {2.1f, 3.4f, 5.6f};
f.
char[] c = new char(); Salah Seharusnya: char[] c = new char[20];
Apa yang terjadi apabila program mencoba untuk mengakses sebuah element array dengan index yang salah / invalid ? Menurut saya jika program mengakses elemen array dengan index yang salah maka akan terjadi error seperti: Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: 4 Maka secara otomatis akan dilempar sebuah object yang disebut dengan exception.Exception dapat diproses lebih lanjut oleh fungsi-fungsi yang siap menangani kesalahan.Proses pelemparan exception disebut dgn throwing exception.Proses penerimaan exception disebut dengan catch exception.
COMP6598 – Introduction to Programming
Contoh penggunaan handling exception:
3.
Berikut 3 cara untuk menduplikasi array dan berikan contohnya Terdapat 3 cara untuk menduplikasi array :
Dengan Loop untuk menduplikasi element satu per satu //Array Copy Using Loop int[] sourceArray = {2,3,1,5,10}; int[] targetArray = new int[sourceArray.length]; for (int i = 10; i < sourceArray.length; i++) { targetArray[i] = sourceArray[i]; }
Pada Arraycopy yang terdapat dalam class System, syntax yang digunakan : arraycopy(sourceArray, src_pos, targetArray, tar_post, length); //Array Copy Using arrayCopy System.arraycopy(sourceArray, 0, targetArray, 0, sourceArray.length);
Dapat menggunakan method clone //Array copy Using Clone Method
COMP6598 – Introduction to Programming
int [] numbers = {2,3,4,5}; int [] numbersClone = (int[]) numbers.clone();
Studi kasus terdapat 2 Class yaitu IPS dan mataKuliah import java.util.ArrayList; import java.util.Scanner; public class IPS{ static public void main(String[] args){ Scanner scan = new Scanner(System.in); IPS ips = new IPS(); int stop = 0; while(stop == 0){ ips.hitungIPS(); } } private final Scanner input = new Scanner(System.in); private final ArrayList<mataKuliah> matakuliah = new ArrayList(); public void hitungIPS(){ System.out.println("Pendataan dan Perhitungan IPS (Indeks Prestasi Semester) :"); System.out.println("1. Pendataan Mata Kuliah"); System.out.println("2. Perhitungan IPS"); System.out.println("3. Update Grade"); System.out.println("4. Keluar"); System.out.print("Masukkan pilihan anda : "); int menu = input.nextInt(); if(menu == 1){ pendataan(); }else if(menu == 2){ perhitunganIPS(); }else if(menu == 3){ updateGrade(); }else if(menu == 4){ System.exit(0); }else{ System.out.println("Menu tidak tersedia."); } } public void pendataan(){ System.out.print("Masukan Jumlah Matakuliah : "); int n = input.nextInt(); for (int i = 0; i < n; i++) {
COMP6598 – Introduction to Programming
System.out.print("Masukan Kode Matakuliah : "); String kode = input.next(); System.out.print("Masukan Nama Matakuliah : "); String nama = input.next(); System.out.print("Masukan Grade Matakuliah : "); String grade = validateGrade(); System.out.print("Masukan Jumlah SKS : "); int sks = input.nextInt(); matakuliah.add(new mataKuliah(kode, nama, grade, sks)); System.out.println(); } } public String validateGrade(){ Scanner sc = new Scanner(System.in); while (!sc.hasNext("[abcdeABCDE]")) { System.out.print("Masukan Grade Matakuliah (A,B,C,D,E) : "); sc.next(); } String grade = sc.next(); return grade.toUpperCase(); } public void perhitunganIPS(){ if(matakuliah.size() <= 0) { System.out.println("Lakukan pendataan mata kuliah terlebih dahulu."); return; } int totalSKS = 0; int totalGradeSKS = 0; System.out.println("Matakuliah yang Anda ambil adalah :"); for(mataKuliah obj : matakuliah) { System.out.println(obj.getKode()+"\t"+obj.getNama()+"\t"+obj.getGrade()+"\t"+obj.getSks()); String grade = obj.getGrade().toUpperCase(); switch (grade) { case "A": totalGradeSKS += (obj.getSks() * 4); break; case "B": totalGradeSKS += (obj.getSks() * 3); break; case "C": totalGradeSKS += (obj.getSks() * 2); break; case "D": totalGradeSKS += (obj.getSks() * 1);
COMP6598 – Introduction to Programming
break; case "E": totalGradeSKS += (obj.getSks() * 0); break; } totalSKS += obj.getSks(); } double nilaiIPS = (double)totalGradeSKS/(double)totalSKS; System.out.println("Nilai IPS anda adalah : "+ String.format("%.2f", nilaiIPS)); System.out.println(); } public void updateGrade(){ System.out.print("Masukan Kode Matakuliah : "); String kode = input.next(); mataKuliah matkul = null; for(mataKuliah obj : matakuliah) { if(obj.getKode().equalsIgnoreCase(kode)){ matkul = obj; break; } } if(matkul != null){ System.out.print("Masukan Grade Baru : "); String _grade = validateGrade(); matkul.setGrade(_grade); matakuliah.stream().forEach((obj) -> { System.out.println(obj.getKode()+"\t"+obj.getNama()+"\t"+obj.getGrade()+"\t"+obj.getSks()); }); }else{ System.out.println("Kode matakuliah tidak tersedia."); } } } public class mataKuliah{ private String kode; private String nama; private String grade; private int sks; public void setKode(String newKode){kode = newKode;} public void setNama(String newNama ){nama = newNama;} public void setGrade(String newGrade){grade = newGrade;} public void setSks(int newSks){sks = newSks;} public String getKode(){return kode;} public String getNama(){return nama;}
COMP6598 – Introduction to Programming
public String getGrade(){return grade;} public int getSks(){return sks;} public mataKuliah(){ kode = ""; nama = ""; grade = ""; sks = 0; } public mataKuliah(String newKode, String newNama, String newGrade, int newSks){ kode = newKode; nama = newNama; grade = newGrade; sks = newSks; } }
Gambar 1. Menu
Gambar 2. Pendataan Mata Kuliah
Gambar 3. Perhitungan IPS
COMP6598 – Introduction to Programming
Gambar 4. Update Grade
Gambar 5. Penjagaan input Grade
COMP6598 – Introduction to Programming