• Tidak ada hasil yang ditemukan

Pelajari tentang Tugas Personal ke-2

N/A
N/A
Joli Hp

Academic year: 2023

Membagikan "Pelajari tentang Tugas Personal ke-2"

Copied!
7
0
0

Teks penuh

(1)

Tugas Personal ke-2 (Minggu 7 / Sesi 11)

Nama : Ida Sulistiana NIM : 2201837522

Sistem Informasi Binus Online

1. 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];

2. 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.

Contoh penggunaan handling exception:

(2)

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

int [] numbers = {2,3,4,5};

int [] numbersClone = (int[]) numbers.clone();

Studi kasus terdapat 2 Class yaitu IPS dan mataKuliah

(3)

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++) {

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

}

(4)

}

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

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

(5)

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;}

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

(6)

Gambar 2. Pendataan Mata Kuliah

Gambar 3. Perhitungan IPS

Gambar 4. Update Grade

(7)

Gambar 5. Penjagaan input Grade

Referensi

Dokumen terkait

Terjemahkan setiap kalimat berikut menjadi formula logika predikat dalam 3 (tiga) cara yang berbeda, yaitu dengan menentukan masing-masing domain yang sesuai menggunakan 1 buah

Algoritma Pencarian Linear ( Linear Search ) adalah algoritma yang digunakan untuk mencari nilai pada sebuah array atau daftar nilai dengan cara memeriksa satu per satu [9]..

Perusahaan CPS dan Lloyd’s menggunakan smartphone untuk membuat proses pekerjaan mereka lebih efisien. Contohnya untuk perusahaan CPS membantu perusahaan dengan tiga

Contohnya, jika dalam suatu relasi terdapat dua multivalued atribut, kita harus mengulang setiap nilai dari satu atribut dengan setiap nilai dari atribut lain, untuk menjaga

jika nun sukun/ tanwin bertemu dengan salah satu dari 6 huruf berikut, cara membacanya adalah (nun terdengar) dengan jelas. Contohnya adalah sebagai berikut;.. dibawah

Rapit rood : Salah satu hormon tanaman yang ditambahkan pada sistem perbanyakan stek untuk memicu pertumbuhan Compressed Band : Salah satu cara penanaman tanaman kacangan pada areal

Jeffrey Preston Bezos adalah salah satu pengusaha terkaya didunia. Ia adalah pendiri, ketua,ceo, presiden dan pemilik saham mayoritas perusahan teknologi terbesar di dunia Amazon.com. Bezos pernah menjadi anggota Phi Beta Kappa, bekerja sebagai analis keuangan untuk D.E. Shaw & Co. sebelum mendirikan Amazon pada tahun 1994. Ia pernah dipilih sebagai person of the year oleh majalah

Contohnya sebagai berikut >>> int3.4 3 >>> float3 3.0 >>> str2.72 ‘2.72’ Konversi dari tipe string menjadi tipe angka hanya akan berfungsi jika masuk akal, misalnya string adalah