Tugas Personal ke-2
(Minggu 7 / Sesi 11)
Tugas Personal 2
1. Manakah dari statement berikut ini yang benar
a. int i = new int(20);
b. double d[] = new double[20];
c. char[] r = new char(1..20);
d. int i[] = (3,4,5,2);
e. float f [] = {2.1, 3.4, 5.6};
f. char[] c = new char();
Jawaban :
a. SALAH
b. BENAR
c. SALAH
d. SALAH
e. SALAH
f. BENAR
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"
[Link]
3. Sebutkan 3 cara untuk menduplikasi array dan berikan contohnya
Menggunakan loop untuk menduplikasi element satu per satu.
Contoh:
Menggunakan arraycopy yang terdapat dalam class System, syntax yang digunakan :
arraycopy(sourceArray,src_pos,targetArray, tar_post, length);
Contoh:
Menggunakan method clone
Contoh:
COMP6598 – Introduction to Programming
Kasus :
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. User akan memasukan jumlah matakuliah yang akan didata
b. Data yang didata adalah nama matakuliah, kode matakuliah, grade , jumlah
sks
c. Grade yang dimasukkan harus divalidasi dan hanya bisa berupa A, B, C , D
dan E
2. Perhitungan IPS
a. Perhitungan IPS sebagai berikut :
IPS =∑(sks x grade) / ∑sks
b. Perhitungan Grade sebagai berikut
A=4
B=3
C=2
D=1
E=0
3. Update Grade
a. User akan memasukan kode matakuliah yang akan diupdate gradenya
b. Grade yang dimasukkan harus divalidasi dan hanya bisa berupa A, B, C , D
dan E
4. Keluar
a. Program akan berhenti
Perhatikan contoh tampilan berikut ini
COMP6598 – Introduction to Programming
Tampilan Awal
Menu 1 : Pendataan Matakuliah
Menu 2 : Perhitungan IPS
Menu 3 : Update Grade
Jawaban :
package tugaspersonal2;
import [Link];
import [Link];
import [Link];
/**
*
* @author Ade Luzern
*/
public class TugasPersonal2 {
static Scanner in= new Scanner([Link]);
static ArrayList<String[]> lstMataKuliah = new ArrayList<String[]>();
/**
* @param args the command line arguments
*/
COMP6598 – Introduction to Programming
public static void main(String[] args) {
int iMenu=0;
while (iMenu!=4){
[Link] ( "Pendataan dan Perhitungan IPS (Indeks Prestasi
Semester):\n"
+ "1. Pendataan Mata Kuliah\n"
+ "2. Perhitungan IPS\n"
+ "3. Update Grade\n"
+ "4. Keluar\n"
+ "MASUKKAN PILIHAN ANDA: ");
iMenu=[Link]();
switch (iMenu){
case 1:
pendataanMataKuliah();
break;
case 2:
perhitunganIPS();
break;
case 3:
updateGrade();
break;
case 4:
break;
}
}
}
static boolean isValidGrade(String grade){
if ("A".equals([Link]()) || "B".equals([Link]())
|| "C".equals([Link]()) ||
"D".equals([Link]())
|| "E".equals([Link]()) )
return true;
else [Link] ("Masukan Grade Mata Kuliah yang
benar(A,B,C,D,E)!");
return false;
}
static void pendataanMataKuliah(){
[Link] ("\nMasukan Jumlah Mata Kuliah: ");
int iJumlahMk=[Link]();
//String arrMk[]= new String[4];
[Link]();
for (int i=0;i<iJumlahMk;i++){
String arrMk[]= new String[4];
[Link] ("Masukan Kode Mata Kuliah: ");
arrMk[0]=[Link]();
[Link] ("Masukan Nama Mata Kuliah: ");
arrMk[1]=[Link]();
//validasi grade
do {
[Link] ("Masukan Grade Mata Kuliah: ");
arrMk[2]=[Link]().toUpperCase();
}
while (!isValidGrade(arrMk[2]));
[Link] ("Masukan Jumlah SKS: ");
arrMk[3]=[Link]();
[Link](arrMk);
COMP6598 – Introduction to Programming
[Link]();
}
}
static int getGradeFromAlphabet(String alphabet){
switch(alphabet){
case "A":
return 4;
case "B":
return 3;
case "C":
return 2;
case "D":
return 1;
case "E" :
return 0;
} return 0;
}
static void perhitunganIPS(){
[Link] ("\nMata kuliah yang anda ambil adalah: ");
int iSks=0;
int iGradeSks=0;
for (int i=0; i< [Link]() ;i++){
//ambil mata kuliah dan tampilkan
String str=[Link]("%s %s \t\t%s \t%s", [Link](i)[0],
[Link](i)[1],
[Link](i)[2],
[Link](i)[3]);
[Link](str) ;
int iNumGrade= getGradeFromAlphabet([Link](i)[2]);
int iNumSks= [Link]([Link](i)[3]);
iGradeSks=iGradeSks + (iNumGrade*iNumSks);
iSks=iSks+iNumSks;
}
// hitung nilai IPS
double dIPS=iGradeSks/iSks;
[Link]([Link]("Nilai IPS anda adalah %s \n",dIPS ));
}
static void updateGrade(){
[Link]("\nMasukan Kode Mata Kuliah: ");
String sKodeMk=[Link]();
[Link]("Masukan Grade Baru: ");
String sGrade=[Link]();
updateGrade(sKodeMk,sGrade);
}
static void updateGrade(String matakuliah,String newGrade){
for (int i=0;i< [Link](); i++) {
if
([Link](i)[0].toLowerCase().equals([Link]()) )
[Link](i)[2]=[Link]();
}
// tampilkan
for (int i=0; i< [Link]() ;i++){
String str=[Link]([Link](i)).replace("["," ");
str=[Link]("]","");
str=[Link](",","");
str=[Link](",","\t");
[Link]([Link](str)) ;
COMP6598 – Introduction to Programming
}
}
}
OUTPUT :
COMP6598 – Introduction to Programming