2. Apa yang terjadi apabila program mencoba untuk mengakses sebuah element array
dengan index yang salah / invalid ?
Jawaban :
Akan muncul error dengan pesan Exception in thread "main"
java.lang.ArrayIndexOutOfBoundsException
Menggunakan arraycopy yang terdapat dalam class System, syntax yang digunakan :
arraycopy(sourceArray,src_pos,targetArray, tar_post, length);
Contoh:
Buatlah sebuah program Pendataan dan Perhitungan IPS (Indeks Prestasi Semester) .
Gunakan Arraylist / vector. Program akan berhenti saat dipilih menu keluar . Program terdiri
atas 4 menu yaitu :
1. Pendataan Matakuliah :
A=4
B=3
C=2
D=1
E=0
3. Update Grade
4. Keluar
Tampilan Awal
Jawaban :
package tugaspersonal2;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Scanner;
/**
*
* @author Ade Luzern
*/
/**
* @param args the command line arguments
*/
iMenu=in.nextInt();
switch (iMenu){
case 1:
pendataanMataKuliah();
break;
case 2:
perhitunganIPS();
break;
case 3:
updateGrade();
break;
case 4:
break;
}
}
}
//validasi grade
do {
System.out.print ("Masukan Grade Mata Kuliah: ");
arrMk[2]=in.next().toUpperCase();
}
while (!isValidGrade(arrMk[2]));
System.out.print ("Masukan Jumlah SKS: ");
arrMk[3]=in.next();
lstMataKuliah.add(arrMk);
System.out.println();
}
}
System.out.println(str) ;
int iNumGrade= getGradeFromAlphabet(lstMataKuliah.get(i)[2]);
int iNumSks= Integer.parseInt(lstMataKuliah.get(i)[3]);
iGradeSks=iGradeSks + (iNumGrade*iNumSks);
iSks=iSks+iNumSks;
}
updateGrade(sKodeMk,sGrade);
}
// tampilkan
for (int i=0; i< lstMataKuliah.size() ;i++){
String str=Arrays.toString(lstMataKuliah.get(i)).replace("["," ");
str=str.replace("]","");
str=str.replaceFirst(",","");
str=str.replace(",","\t");
System.out.println(String.format(str)) ;
}
}
}
OUTPUT :