Anda di halaman 1dari 14

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]; benar
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 : b. double d[] = new double[20];

2. Apa yang terjadi apabila program mencoba untuk mengakses sebuah element array
dengan index yang salah / invalid ?

Jawaban :

Jika suatu program mencoba mengakses sebuah element array dengan invalid index maka
akan terjadi error. Error ini berupa runtimme exception yang biasanya dikeluarkan oleh
JVM. JVM ini berisi “IndexOutBoundsException”

3. Sebutkan 3 cara untuk menduplikasi array dan berikan contohnya

Jawaban :

Tiga cara untuk menduplikasi array :

1. Menggunakan loop untuk menduplikasi element satu per satu.


Contoh code :

public class Latarray1 {


public static void main(String[] args){
// Copy Using loop

int[] sourceArray = {1,4,7,10,13};


int[] destinationArray = new int [sourceArray.length];

for (int i = 0; i< sourceArray.length; i++){


destinationArray[i] = sourceArray[i];
//Menampilkan Array
System.out.println(destinationArray[i]);
}
}

COMP6598 – Introduction to Programming


//Output yang dikeluarkan {1, 4, 7,10, 13}

2. Menggunakan arraycopy() yang terdapat dalam class System, syntax yang digunakan
: arraycopy(sourceArray,src_pos,destinationArray, dest_post,length).
Contoh code :

public class Latarray1 {


public static void main(String[] args){
//Copy using arraycopy() method
int[] value1 = {2,3,7,8,-2,-3};
int[] value3 = new int[5];

//membuat array dengan length dari value1


int[] value2 = new int[value1.length];

//copy array value1 ke value2 menggunakan arraycopy


System.arraycopy(value1,0,value2,0,value1.length);
System.out.println("value2 = " +Arrays.toString(value2));

//Copy element dari index 2 pada value1


//copy element ke index 1 dar value3
System.arraycopy(value1, 2, value3, 1, 2);
System.out.println("value3 = " +Arrays.toString(value3));

//programiz.com/java-programming/copy-arrays

//output :

//value2 = [2, 3, 7, 8, -2, -3]

//value3 = [0, 7, 8, 0, 0]

}
}

COMP6598 – Introduction to Programming


3. Menggunakan method clone

public class Latarray1 {

public static void main(String[] args){

//copy using clone method

int[] newArray = {3,4,20,12,5};

int[] cloneArray = (int[]) newArray.clone();

//value yang akan di clone

cloneArray[0] = 100;

System.out.println(“newArray = ” +newArray[0]);

System.out.println(“cloneArray = ” +cloneArray[0]);

//Lecture Notes week 8

// Output :

// newArray = 3

//cloneArray = 100

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

Tampilan Awal

Menu 1 : Pendataan Matakuliah

COMP6598 – Introduction to Programming


Menu 2 : Perhitungan IPS

Menu 3 : Update Grade

COMP6598 – Introduction to Programming


Code Studi Kasus

Class Program IPS

package Latihannew;

import java.util.ArrayList;

import java.util.Scanner;

public class ProgramIPS {

public static void main(String[] args){

Scanner input = new Scanner(System.in);

ProgramIPS ips = new ProgramIPS();

int stop = 0;

while (stop == 0){

ips.gradeIPS();

private final Scanner input = new Scanner(System.in);

private final ArrayList<Matakuliah> matakuliah = new ArrayList();

//Input menu

public void gradeIPS() {

System.out.println("\nPendataan dan perhitungan IPS (Indeks Presrasi Semester) : \n"

+ "1. Pendataan Mata Kuliah \n"

+ "2. Perhitungan IPS \n"

+ "3. Update Grade \n"

+ "4. Keluar \n"

+ "Masukan Pilihan Anda : ");

int gradeMenu = input.nextInt();

if(gradeMenu == 1){

pendataan();

}else if(gradeMenu == 2){

COMP6598 – Introduction to Programming


perhitunganIPS();

}else if(gradeMenu == 3){

updateGrade();

}else if(gradeMenu == 4){

System.exit(0);

}else{

System.out.println("Masukan Nomor Menu yang Sesuai!");

//pendataan

private void pendataan() {

System.out.println("Masukan Jumlah Mata Kuliah : ");

int v = input.nextInt();

for(int i = 0; i < v; i++){

System.out.println("\nMasukan Kode Matakuliah : ");

String kode = input.next();

System.out.println("Masukan Nama Matakuliah : ");

String nama = input.next();

System.out.println("Masukan Grade Matakuliah : ");

String grade = validationGrade();

System.out.println("Masukan Jumlah SKS : ");

int sks = input.nextInt();

matakuliah.add(new Matakuliah(kode, nama, grade, sks));

System.out.println("\n Pendataan Sukses !");

// Validation Grade

COMP6598 – Introduction to Programming


private String validationGrade() {

Scanner in = new Scanner(System.in);

while (!in.hasNext("[abcdeABCDE]")){

System.out.println("Masukan Grade Mata Kuliah (A,B,C,D,E) : ");

in.next();

String grade = in.next();

return grade.toUpperCase();

//Perhitungan IPS

private void perhitunganIPS() {

if(matakuliah.size() <=0 ){

System.out.println("Lakukan Proses Pendataan Mata Kuliah Terlebih Dahulu ! ");

return;

int totalSKS = 0;

int totalGrade = 0;

System.out.println("Mata Kuliah yang Anda Ambil Adalah : ");

for(Matakuliah obj : matakuliah){

//Menampilkan hasil inputan

System.out.println(obj.getKode()+ "\t" +obj.getNama()+ "\t" +obj.getGrade()+ "\t"


+obj.getSKS());

String grade = obj.getGrade().toUpperCase();

switch(grade){

case "A" :

totalGrade += (obj.getSKS() * 4 );

break;

COMP6598 – Introduction to Programming


case "B" :

totalGrade += (obj.getSKS() * 3);

break;

case "C" :

totalGrade += (obj.getSKS() * 2);

break;

case "D" :

totalGrade += (obj.getSKS() * 1);

break;

case "E" :

totalGrade += (obj.getSKS() * 0);

break;

totalSKS += obj.getSKS();

double nilaiIPS = (double)totalGrade/(double)totalSKS;

System.out.println("Nilai IPS Anda Adalah : " + String.format("%.2f", nilaiIPS));

System.out.println();

private void updateGrade() {

System.out.println("\nMasukan Kode Matakuliah : ");

String kode = input.next();

Matakuliah matkul = null;

for (Matakuliah obj : matakuliah){

if(obj.getKode().equalsIgnoreCase(kode))

COMP6598 – Introduction to Programming


{

matkul = obj;

break;

if(matkul != null){

System.out.print("Masukan Grade Baru : ");

String grade1 = validationGrade();

matkul.setGrade(grade1);

System.out.println("\nUpdate Sukses !");

else{

System.out.println("Kode Matakuliah Tidak Ada");

Class Matakuliah

package Latihannew;

public class Matakuliah {

private String kode;

private String nama;

private String grade;

private int sks;

String getGrade;

public void setKode(String newKode){kode = newKode;}

public void setNama(String newNama){nama = newNama;}

COMP6598 – Introduction to Programming


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;

Output

Tampilan Awal

COMP6598 – Introduction to Programming


COMP6598 – Introduction to Programming
Menu 1 Pendataan Matakuliah

Menu 2 Perhitungan IPS

COMP6598 – Introduction to Programming


Menu 3 Update Grade

Sumber & Referensi :


[1] Lecture Notes Week 8 - Array , Arraylist, Vector
[2] programiz.com/java-programming/copy-arrays

COMP6598 – Introduction to Programming

Anda mungkin juga menyukai

  • Forum 4
    Forum 4
    Dokumen1 halaman
    Forum 4
    Cakra Wardana
    Belum ada peringkat
  • Forum 3
    Forum 3
    Dokumen1 halaman
    Forum 3
    Cakra Wardana
    Belum ada peringkat
  • Forum 1
    Forum 1
    Dokumen2 halaman
    Forum 1
    Cakra Wardana
    Belum ada peringkat
  • Forum 2
    Forum 2
    Dokumen2 halaman
    Forum 2
    Cakra Wardana
    Belum ada peringkat
  • Financial Statement Analysis
    Financial Statement Analysis
    Dokumen2 halaman
    Financial Statement Analysis
    Cakra Wardana
    Belum ada peringkat
  • Forum 5
    Forum 5
    Dokumen1 halaman
    Forum 5
    Cakra Wardana
    Belum ada peringkat
  • Analytical CRM
    Analytical CRM
    Dokumen2 halaman
    Analytical CRM
    Cakra Wardana
    Belum ada peringkat