Anda di halaman 1dari 58

LAPORAN HASIL PRAKTIKUM 13

ALGORITMA DAN PEMROGRAMAN EP


“Array Dimensi Satu”
Dosen Pengampu :
Rosalia Arum Kumalasanti M.T

Oleh
Nama : Marta Yulianti
NIM : 215314154

PROGRAM STUDI INFORMATIKA


FAKULTAS SAINS DAN TEKNOLOGI
UNIVERSITAS SANATA DHARMA
YOGYAKARTA
2021
A. TUJUAN

1. Mahasiswa menguasai konsep tentang data berindeks atau Array


2. Mahasiswa mampu menyelesaikan masalah konkrit sederhana memakai Array

B. DASAR TEORI
Array Dimensi Satu
7.1 Tujuan
Dalam bab ini, kita akan mendiskusikan mengenai array dalam Java. Pertama, kita
akan mendefinisikan apa yang dimaksud dengan array, kemudian kita juga akan
mendiskusikan bagaimana mendeklarasikannya dan menggunakannya dalam Java.
Pada akhir pembahasan, diharapkan pembaca dapat :

- Mendeklarasikan dan membuat array


- Mengakses elemen-elemen didalam array
- Menentukan jumlah element didalam sebuah array
- Mendeklarasikan dan membuat array multidimensi

7.2 Pengenalan Array


Pada Bab sebelumnya, kita telah mendiskusikan bagaimana cara pendeklarasian
berbagai macam variabel dengan menggunakan tipe data primitif. Dalam pendeklarasian
variabel, kita sering menggunakan sebuah tipe data beserta nama variabel atau identifier
yang unik. Apabila kita ingin menggunakan variabel tersebut, kita akan memanggil
dengan nama identifier-nya.

Sebagai contoh, kita memiliki tiga variabel dengan tipe data int yang memiliki identifier
berbeda untuk tiap variabel.

int number1;
int number2;
int number3;

number1 = 1;
number2 = 2;
number3 = 3;

Seperti yang dapat Anda perhatikan pada contoh diatas, kode tersebut akan sia-sia
karena harus menginisialisasi dan menggunakan setiap variabel padahal sebenarnya
variabel-variabel tersebut digunakan untuk tujuan yang sama. Pada bahasa pemrograman
Java maupun di bahasa pemrograman yang lain, terdapat sebuah kemampuan untuk
menggunakan satu variabel yang dapat menyimpan beberapa data dan memanipulasinya
dengan lebih efektif. Tipe variabel inilah yang disebut sebagai array.

Gambar 1: Contoh dari Integer Array


Sebuah array akan menyimpan beberapa item data yang memiliki tipe data sama
didalam sebuah blok memori yang berdekatan yang kemudian dibagai menjadi beberapa
ruang. Array adalah sebuah variabel/sebuah lokasi tertentu yang memiliki satu nama
sebagai identifier, namun identifier ini dapat menyimpan lebih dari sebuah nilai.

7.3 Pendeklarasian Array

Array harus dideklarasikan seperti layaknya sebuah variabel. Pada saat


mendeklarasikan array, anda harus membuat sebuah daftar dari tipe data, yang diikuti
oleh sepasang tanda kurung [], lalu diikuti oleh nama identifier-nya. Sebagai contoh,

int []ages;

atau Anda dapat menempatkan sepasang tanda kurung [] sesudah nama identifier. Sebagai
contoh,
int ages[];

Setelah pendeklarasian array , kita harus membuat array dan menentukan berapa
panjangnya dengan sebuah konstruktor. Proses ini di Java disebut sebagai instantiation
(istilah dalam Java yang berarti membuat). Untuk meng-instantiate sebuah obyek, kita
membutuhkan sebuah konstruktor. Kita akan membicarakan lagi mengenai instantiate
obyek dan pembuatan konstruktor pada bagian selanjutnya. Sebagai catatan bahwa ukuran
dari array tidak dapat diubah setelah anda menginisialisasinya. Sebagai contoh,

//deklarasi
int ages[];

//instantiate obyek
ages = new int[100];

atau bisa juga ditulis dengan,

//deklarasi dan instantiate


obyek
int ages[] = new
int[100];

Pada contoh diatas, pendeklarasian


tersebut akan memberitahukan kepada
compiler Java, bahwa identifier ages akan
digunakan sebagai nama array yang
berisi data bertipe integer, dan dilanjutkan
dengan membuat atau meng-instantiate
sebuah array baru yang terdiri dari 100
elemen.

Selain menggunakan sebuah pernyataan


new untuk meng-instantiate array, Anda
juga dapat mendeklarasikan, membangun,
Gambar 2: Inisialisasi Arrays
kemudian memberikan sebuah nilai pada
array sekaligus dalam sebuah pernyataan.
Sebagai contoh,

//membuat sebuah array yang berisi variabel-variabel


//boolean pada sebuah identifier. Array ini terdiri dari 4
//elemen yang diinisilisasikan sebagai value
//{true,false,true,false}
boolean results[] ={ true, false, true, false };

//Membuat sebuah array yang terdiri dari penginisialisasian


//4variabel double bagi value {100,90,80,75}
double []grades = {100, 90, 80, 75};

//Membuat sebuah array String dengan identifier days. Array


//ini terdiri dari 7 elemen.
String days[] = { “Mon”, “Tue”, “Wed”, “Thu”, “Fri”, “Sat”, “Sun”};

7.4 Pengaksesan sebuah elemen array


Untuk mengakses sebuah elemen dalam array, atau mengakses sebagian dari array,
Anda harus menggunakan sebuah angka atau yang disebut sebagai indeks atau
subscript.

Pada saat memasukkan nilai ke dalam array, sebuah nomor indeks atau subscript telah
diberikan kepada tiap anggota array, sehingga program dan programmer dapat
mengakses setiap nilai pada array apabila dibutuhkan. Nilai indeks selalu dalam tipe
integer, dimulai dari angka nol dan dilanjutkan ke angka berikutnya sampai akhir
array. Sebagai catatan bahwa indeks didalam array dimulai dari 0 sampai dengan
(ukuranArray-1).

Sebagai contoh, pada array yang kita deklarasikan tadi, kita mempunyai,

//memberikan nilai 10 kepada elemen pertama array


ages[0] = 10;

//mencetak elemen array yang terakhir


System.out.print(ages[99]);

Perlu diperhatikan bahwa sekali array dideklarasikan dan dikonstruksi, nilai


yang disimpan dalam setiap anggota array akan diinisialisasi sebagai nol. Oleh
karena itu, apabila Anda menggunakan tipe data seperti String, array tidak akan
diinisalisasi menjadi string kosong “”. Untuk itu Anda tetap harus membuat String array
secara eksplisit.

Berikut ini adalah contoh kode untuk mencetak seluruh elemen didalam array. Dalam
contoh ini digunakanlah pernyataan for loop, sehingga kode kita menjadi lebih pendek.

public class ArraySample{


public static void main( String[] args ){
int[] ages = new int[100];

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


System.out.print( ages[i] );
}
}
}

Petunjuk penulisan program:


Biasanya, lebih baik menginisialisasi atau meng-instantiate array setelah Anda
mendeklarasikannya. Sebagai contoh pendeklarasiannya

int []arr = new int[100]; lebih disarankan daripada,


int []arr;
arr = new int[100];

Elemen-elemen dalam n-elemen array memiliki indeks dari 0 sampai n-1. Perhatikan disini
bahwa tidak ada elemen array arr[n]. Hal ini akan menyebabkan array-index out-of-bounds
exception.

Anda tidak dapat mengubah ukuran dari sebuah array

7.5 Panjang Array


Untuk mengetahui berapa banyak elemen didalam sebuah array, Anda dapat
menggunakan atribut length dari array. Atribut ini akan mengembalikan ukuran dari
array itu sendiri. Sebagai contoh,

arrayName.length

Pada contoh sebelumnya, kita dapat menuliskannya kembali seperti berikut ini,

public class ArraySample


{
public static void main( String[] args ){

int[] ages = new int[100];

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


System.out.print( ages[i] );
}
}
}
Petunjuk penulisan program:

1. Pada saat pembuatan for loop untuk memproses elemen-elemen dalam array,
gunakanlah atribut length yang di letakkan di dalam bag ian pengkondisian
dari for loop. Hal ini akan menyebabkan loop secara otomatis menyesuaikan
diri terhada ukuran array yang berbeda-beda.
2. Pendeklarasian ukuran array di program Java, biasanya menggunakan sebuah
konstanta untuk mempermudah. Sebagai contoh,

final int ARRAY_SIZE = 1000; //pendeklarasian constant


...
int[] ages = new int[ARRAY_SIZE];

7.6 Array Multidimensi


Array multidimensi diimplementasikan sebagai array yan g te rl et ak di dalam array.
Array multidimensi dideklarasikan dengan menambahkan jumlah tanda kurung setelah
nama array. Sebagai contoh,

// Elemen 512 x 128 dari integer array


int[][] twoD = new int[512][128];

// karakter array 8 x 16 x 24
char[][][] threeD = new char[8][16][24];

// String array 4 baris x 2 kolom


String[][] dogs = {{ "terry", "brown" },
{ "Kristin", "white" },
{ "toby", "gray"},
{ "fido", "black"}
};

Untuk mengakses sebuah elemen didalam array multidimensi, sama saja dengan
mengakses array satu dimensi. Misalnya saja, untuk mengakses elemen pertama dari
baris pertama didalam array dogs, kita akan menulis,

System.out.print( dogs[0][0] );

Kode diatas akan mencetak String “terry” di layar.

C. ANALISIS

1. Soal_No1

a. Uraian soal

Tulis, jalankan dan pahami program berikut:

import java.util.Scanner;
public class CobaArray1 {
public static void main(String[] args) {
int[] nilai;
nilai = new int[5];
Scanner Keyboard = new Scanner(System.in);
System.out.println("Masukkan 5 data bulat");
//Menyimpan 5 data bulat ke array nilai
nilai[0] = 45;
nilai[1] = 75;
nilai[2] = 80;
nilai[3] = 78;
nilai[4] = 93;

//Menampilkan data dari akhir ke awal


for(int i=0; i <= 4; i++) System.out.println("Data ke "+ (i+1) +" adalah "+nilai[4-i]);
}
}

b. Rancangan program
Output

Masukkan 5 data bulat


Data ke 1 adalah 93
Data ke 2 adalah 78
Data ke 3 adalah 80
Data ke 4 adalah 75
Data ke 5 adalah 45

Proses

Menampilkan tulisan "Masukkan 5 data bulat "

Menyimpan 5 data bulat ke array nilai


nilai [0] = 45
nilai [1] = 75
nilai [2] = 80
nilai [3] = 78
nilai [4] = 93

Menampilkan data dari akhir ke awal


for(int i = 0 ; i <= 4; i++)
Cetak "Data ke " +(i + 1)+ " adalah " +nilai[4 - i]

Input

Memesan memori bernama nilai yang akan digunakan


sebagai nama array yang berisi data bertipe integer, dan
dilanjutkan dengan membuat atau meng-instantiate array
nilai yang terdiri dari 5 elemen.

Scanner input

c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel int [] nilai


2. Instantiate obyek
nilai = new int [5]
3. Scanner input
4. println("Masukkan 5 data bulat")
5. Menyimpan 5 data bulat ke array nilai
nilai [0] = 45
nilai [1] = 75
nilai [2] = 80
nilai [3] = 78
nilai [4] = 93
6. Menampilkan data dari akhir ke awal
for(int i = 0 ; i <= 4; i++)
println("Data ke " +(i + 1)+ " adalah " +nilai[4 - i])

d. Teks program memakai tabel berikut


Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No1 { Deklarasi class Soal_No1
public static void main(String [] args) { Deklarasi metode main

int [] nilai; Memesan tempat untuk bilangan bulat dengan nama


nilai sebagai nama array
nilai = new int [5]; Membuat atau meng-instantiate array nilai yang
terdiri dari 5 elemen.
Scanner input = new Scanner (System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard

System.out.println("Masukkan 5 data bulat"); Menampilkan tulisan "Masukkan 5 data bulat" pada


output dengan menambahkan baris baru.
nilai [0] = 45; Mengisi nilai 45 untuk elemen pertama array nilai
[0] = 45
nilai [1] = 75; Mengisi nilai 75 untuk elemen kedua array nilai [1] =
75
nilai [2] = 80; Mengisi nilai 80 untuk elemen ketiga array nilai [2] =
80
nilai [3] = 78; Mengisi nilai 78 untuk elemen keempat array nilai
[3] = 78
nilai [4] = 93; Mengisi nilai 93 untuk elemen kelima array nilai [4]
= 93
for(int i = 0 ; i <= 4; i++) int i  Memesan tempat untuk bilangan bulat dengan
nama i

Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
System.out.println("Data ke " +(i + 1)+ " Menampilkan tulisan “Data ke” + menampilkan isi
adalah " +nilai[4 - i]); variabel i + 1, lalu menampilkan tulisan “adalah” +
menampilkan isi variabel nilai data dari akhir ke awal
pada output dengan menambahkan baris baru.
}
}

e. Screenshot Program dan Output


Screenshot Program

Screenshot Output

2. Soal_No2

a. Uraian soal
Tulis, jalankan dan pahami program berikut:
import java.util.Scanner;
public class CobaArray2 {
public static void main(String[] args) {
int[] skor;
skor = new int[5];
Scanner Keyboard = new Scanner(System.in);
System.out.println("Masukkan 5 data bulat");
//Membaca 5 data bulat
for(int i = 0; i <=4; i++){
System.out.print("Data ke "+(i+1)+" : ");
skor[i] = Keyboard.nextInt();
}
//Menampilkan data dari akhir ke awal
for(int i=0; i <= 4; i++) System.out.println("Data ke "+ (i+1) +" adalah "+skor[4-i]);
}
}

b. Rancangan program
Output

Masukkan 5 data bulat


Data ke 1 : 80
Data ke 2 : 85
Data ke 3 : 90
Data ke 4 : 95
Data ke 5 : 100

Data ke 1 adalah 100


Data ke 2 adalah 95
Data ke 3 adalah 90
Data ke 4 adalah 85
Data ke 5 adalah 80

Proses

Menampilkan tulisan "Masukkan 5 data bulat "

Membaca 5 data bulat


for(int i = 0; i <= 4; i++){
Cetak "Data ke "+(i + 1)+" : "
skor[i] = Keyboard.nextInt()
}
println()

Menampilkan data dari akhir ke awal


for(int i=0; i <= 4; i++)
Cetak "Data ke "+ (i+1) +" adalah "+skor[4-i]
Input

Memesan memori bernama skor yang akan digunakan


sebagai nama array yang berisi data bertipe integer, dan
dilanjutkan dengan membuat atau meng-instantiate array
skor yang terdiri dari 5 elemen.

Scanner Keyboard

c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel int [] skor


2. Instantiate obyek
skor = new int [5]
3. Scanner Keyboard
4. println("Masukkan 5 data bulat")
5. Membaca 5 data bulat
for(int i = 0; i <= 4; i++){
print("Data ke "+(i + 1)+" : ")
skor[i] = Keyboard.nextInt()
}
6. println()
7. Menampilkan data dari akhir ke awal
for(int i=0; i <= 4; i++)
println("Data ke "+ (i+1) +" adalah "+skor[4-i])

d. Teks program memakai tabel berikut


Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No2 { Deklarasi class Soal_No2
public static void main(String [] args) { Deklarasi metode main

int[] skor; Memesan tempat untuk bilangan bulat dengan nama


skor sebagai nama array
skor = new int[5]; Membuat atau meng-instantiate array skor yang
terdiri dari 5 elemen.
Scanner Keyboard = new Membaca variable Keyboard agar bisa mengaktifkan
Scanner(System.in); kemampuan input dari keyboard

System.out.println("Masukkan 5 data bulat"); Menampilkan tulisan "Masukkan 5 data bulat" pada


output dengan menambahkan baris baru.
for(int i = 0; i <= 4; i++){ int i  Memesan tempat untuk bilangan bulat dengan
nama i

Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print("Data ke "+(i + 1)+" : "); Menampilkan tulisan “Data ke” + menampilkan isi
variabel i + 1, lalu menampilkan “ : “ pada output
tanpa menambahkan baris baru.
skor[i] = Keyboard.nextInt(); Perintah untuk mengisi data ke array (dalam bilangan
bulat) yang diinput sendiri oleh user
} End for
System.out.println(); Perintah untuk memindahkan cursor ke baris baru
for(int i = 0 ; i <= 4; i++) int i  Memesan tempat untuk bilangan bulat dengan
nama i

Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
System.out.println("Data ke "+ (i+1) +" adalah Menampilkan tulisan “Data ke” + menampilkan isi
"+skor[4-i]); variabel i + 1, lalu menampilkan tulisan “adalah” +
menampilkan isi variabel skor data dari akhir ke awal
pada output dengan menambahkan baris baru.
}
}
e. Screenshot Program dan Output
Screenshot Program

Screenshot Output

3. Soal_No3

a. Uraian soal
Modifikasilah program di atas sehingga semua isi array skor dikopikan ke array yang
bernama cadangan. Cetaklah isi array skor dan array cadangan untuk melihat apakah
isinya sama.
b. Rancangan program
Output

Masukkan 5 data bulat


Data ke 1 : 5
Data ke 2 : 10
Data ke 3 : 15
Data ke 4 : 20
Data ke 5 : 25

--- Data Skor ---


Data ke 1 adalah 25
Data ke 2 adalah 20
Data ke 3 adalah 15
Data ke 4 adalah 10
Data ke 5 adalah 5

-- Data Cadangan --
Data ke 1 adalah 25
Data ke 2 adalah 20
Data ke 3 adalah 15
Data ke 4 adalah 10
Data ke 5 adalah 5

Proses

Menampilkan tulisan "Masukkan 5 data bulat "

Membaca 5 data bulat


for(int i = 0; i <= 4; i++){
Cetak "Data ke "+(i + 1)+" : "
skor[i] = Keyboard.nextInt()
cadangan[i]  skor[i]
}
println()

Menampilkan data dari akhir ke awal


Cetak ("--- Data Skor ---")
for(int i = 0; i <= 4; i++)
Cetak "Data ke "+ (i + 1) +" adalah " +skor[4-i]

println()

Menampilkan data dari akhir ke awal


Cetak "-- Data Cadangan --"
for(int i = 0; i <= 4; i++)
Cetak "Data ke "+ (i + 1) +" adalah " +cadangan[4-i]

Input

Memesan memori bernama skor dan cadangan yang akan


digunakan sebagai nama array yang berisi data bertipe
integer, dan dilanjutkan dengan membuat atau meng-
instantiate array skor dan array cadangan yang terdiri dari
5 elemen.
c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel int [] skor dan


Instantiate obyek
skor = new int [5]
2. Buat variabel int [] cadangan dan
Instantiate obyek
cadangan = new int [5]
3. Scanner input
4. println("Masukkan 5 data bulat")
5. Membaca 5 data bulat
for(int i = 0; i <= 4; i++){
print("Data ke "+(i + 1)+" : ")
skor[i] = input.nextInt()
cadangan[i]  skor[i]
}
6. println()
7. Menampilkan data dari akhir ke awal
println("--- Data Skor ---")
for(int i = 0; i <= 4; i++)
println("Data ke "+ (i + 1) +" adalah " +skor[4-i])
8. println()
9. Menampilkan data dari akhir ke awal
println("-- Data Cadangan --")
for(int i = 0; i <= 4; i++)
println("Data ke "+ (i + 1) +" adalah " +cadangan[4-i])

d. Teks program memakai tabel berikut


Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No3 { Deklarasi class Soal_No3
public static void main(String [] args) { Deklarasi metode main

int[] skor = new int[5]; Memesan tempat untuk bilangan bulat dengan nama
skor sebagai nama array dan membuat atau meng-
instantiate array skor yang terdiri dari 5 elemen.
int [] cadangan = new int [5]; Memesan tempat untuk bilangan bulat dengan nama
cadangan sebagai nama array dan membuat atau
meng-instantiate array cadangan yang terdiri dari 5
elemen.
Scanner input = new Scanner(System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard

System.out.println("Masukkan 5 data bulat"); Menampilkan tulisan "Masukkan 5 data bulat" pada


output dengan menambahkan baris baru.
for(int i = 0; i <= 4; i++){ int i  Memesan tempat untuk bilangan bulat dengan
nama i

Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print("Data ke "+(i + 1)+" : "); Menampilkan tulisan “Data ke” + menampilkan isi
variabel i + 1, lalu menampilkan “ : “ pada output
tanpa menambahkan baris baru.
skor[i] = input.nextInt(); Perintah untuk mengisi data ke array skor (dalam
bilangan bulat) yang diinput sendiri oleh user
cadangan[i] = skor[i]; cadangan[i]  skor[i]
} End for
System.out.println(); Perintah untuk memindahkan cursor ke baris baru
System.out.println("--- Data Skor ---"); Menampilkan tulisan “--- Data Skor ---“ pada output
dengan menambahkan baris baru.
for(int i = 0 ; i <= 4; i++) int i  Memesan tempat untuk bilangan bulat dengan
nama i

Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
System.out.println("Data ke "+ (i+1) +" adalah Menampilkan tulisan “Data ke” + menampilkan isi
"+skor[4-i]); variabel i + 1, lalu menampilkan tulisan “adalah” +
menampilkan isi variabel skor data dari akhir ke awal
pada output dengan menambahkan baris baru.
System.out.println(); Perintah untuk memindahkan cursor ke baris baru
System.out.println("-- Data Cadangan --"); Menampilkan tulisan “--- Data Cadangan ---“ pada
output dengan menambahkan baris baru.
for(int i = 0; i <= 4; i++) int i  Memesan tempat untuk bilangan bulat dengan
nama i

Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
System.out.println("Data ke "+ (i + 1) +" Menampilkan tulisan “Data ke” + menampilkan isi
adalah " +cadangan[4-i]); variabel i + 1, lalu menampilkan tulisan “adalah” +
menampilkan isi variabel cadangan data dari akhir ke
awal pada output dengan menambahkan baris baru.
}
}

e. Screenshot Program dan Output


Screenshot Program

Screenshot Output
4. Soal_No4

a. Uraian soal

Modifikasilah program no 2 di atas sehingga tidak hanya menampilkan isi array tetapi
juga bisa menampilkan rata-rata, nilai maksimum dan nilai minimum isi array tersebut.

b. Rancangan program
Output

Masukkan 5 data bulat


Data ke 1 : 95
Data ke 2 : 80
Data ke 3 : 90
Data ke 4 : 88
Data ke 5 : 92

Data ke 1 adalah 92
Data ke 2 adalah 88
Data ke 3 adalah 90
Data ke 4 adalah 80
Proses
Data ke 5 adalah 95
Menampilkan tulisan "Masukkan 5 data bulat "
Rata-rata : 89.0
Max : 95
Membaca 5 data bulat
Min : 80
for(i = 0; i <= 4; i++){
Cetak "Data ke "+(i + 1)+" : "
skor[i] = input.nextInt()
}
println()

Menampilkan data dari akhir ke awal


for(i = 0; i <= 4; i++)
Cetak "Data ke "+ (i+1) +" adalah "+skor[4-i]
Input

Memesan memori bernama skor yang akan digunakan


sebagai nama array yang berisi data bertipe integer, dan
dilanjutkan dengan membuat atau meng-instantiate array
skor yang terdiri dari 5 elemen.

Memesan memori bernama max, min, i, jumlah dengan


tipe data bilangan bulat.

Memesan memori bernama ratarata dengan tipe data


bilangan real.

Scanner input
c. Algoritma memakai
pseudocode informal (input, proses, output)

1. Buat variabel int [] skor dan


Instantiate obyek
skor = new int [5]
2. Buat variabel max, min, i, jumlah : integer
3. Buat variabel ratarata : double
4. Scanner input
5. println("Masukkan 5 data bulat")
6. for(i = 0; i <= 4; i++){
print("Data ke "+(i + 1)+" : ")
skor[i] = input.nextInt()
}
7. println()
8. Menampilkan data dari akhir ke awal
9. for(i = 0; i <= 4; i++)
println("Data ke "+ (i+1) +" adalah "+skor[4-i])
10. println()
11. Menghitung nilai rata rata nya
for(i = 0; i <= 4; i++){
jumlah  jumlah + skor[i]
}
12. ratarata  jumlah / 5
13. Menentukkan nilai maksimum dan minimum
max = 0
min = skor[1]
for(i = 0; i <= 4; i++){
if(max < skor[i])
max = skor[i]
else if(min > skor[i])
min = skor[i]
}
14. println("Rata-rata : " +ratarata)
15. println("Max : " +max)
16. println("Min : " +min)

d. Teks program memakai tabel berikut


Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No4 { Deklarasi class Soal_No4
public static void main(String [] args) { Deklarasi metode main

int[] skor = new int[5]; Memesan tempat untuk bilangan bulat dengan nama
skor sebagai nama array dan membuat atau meng-
instantiate array skor yang terdiri dari 5 elemen.
int max, min, i, jumlah = 0; Memesan tempat untuk bilangan bulat dengan nama
max, min, i, jumlah dan menyimpan bilangan bulat
nol (0) ke variable jumlah.
double ratarata; Memesan tempat untuk bilangan real dengan nama
ratarata.
Scanner input = new Scanner(System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard
System.out.println("Masukkan 5 data bulat"); Menampilkan tulisan "Masukkan 5 data bulat" pada
output dengan menambahkan baris baru.
for(i = 0; i <= 4; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print("Data ke "+(i + 1)+" : "); Menampilkan tulisan “Data ke” + menampilkan isi
variabel i + 1, lalu menampilkan “ : “ pada output
tanpa menambahkan baris baru.
skor[i] = input.nextInt(); Perintah untuk mengisi data ke array skor (dalam
bilangan bulat) yang diinput sendiri oleh user
} End for
System.out.println(); Perintah untuk memindahkan cursor ke baris baru
for(i = 0 ; i <= 4; i++) Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
System.out.println("Data ke "+ (i+1) +" adalah Menampilkan tulisan “Data ke” + menampilkan isi
"+skor[4-i]); variabel i + 1, lalu menampilkan tulisan “adalah” +
menampilkan isi variabel skor data dari akhir ke awal
pada output dengan menambahkan baris baru.
System.out.println(); Perintah untuk memindahkan cursor ke baris baru
for(i = 0; i <= 4; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
jumlah = jumlah + skor[i]; Menghitung jumlah  jumlah + skor[i]
} End for
ratarata = jumlah / 5; Menghitung nilai rata rata nya
max = 0; max  0
min = skor[1]; min  skor [i]
for(i = 0; i <= 4; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

i <= 4 artinya selama nilai i lebih kecil atau sama


dengan 4, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak 4 kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
if(max < skor[i]){ Jika kondisi (max < skor[i]) bernilai true maka max =
max = skor[i]; skor[i].
}
else if(min > skor[i]){ Jika kondisi (min > skor[i]) bernilai true maka min =
min = skor[i]; skor[i]
}
} End for
System.out.println("Rata-rata : " +ratarata); Menampilkan tulisan "Rata-rata : " beserta nilai nya
pada output dengan menambahkan baris baru.
System.out.println("Max : " +max); Menampilkan tulisan "Max : " beserta nilai nya pada
output dengan menambahkan baris baru.
System.out.println("Min : " +min); Menampilkan tulisan "Min : " beserta nilai nya pada
output dengan menambahkan baris baru.
}
}

e. Screenshot Program dan Output


Screenshot Program
Screenshot Output

5. Soal_No5

a. Uraian soal

Modifikasilah program soal no 4, sehingga dapat dipakai untuk menyimpan data


bertipe double sejumlah N buah di mana besarnya N dimasukkan lewat keyboard.
Tentu program tetap dapat juga menghitung rata-rata, nilai maksimum dan nilai
minimum dengan benar.
b. Rancangan program
Output

Masukkan Jumlah Data : 3


Data ke 1 : 90.8
Data ke 2 : 95.1
Data ke 3 : 89.5

Rata-rata : 91.8
Max : 95.1
Min : 89.5

Proses

Menampilkan tulisan "Masukkan Jumlah Data : " dan


input angka/nilai yang akan diinput sendiri oleh user

Memesan memori bernama skor yang akan digunakan


sebagai nama array yang berisi data bertipe double,
dan dilanjutkan dengan membuat atau meng-instantiate
array skor yang terdiri dari n elemen.

Membaca n data dan menghitung nilai rata rata nya


for(i = 0; i < n; i++){
Cetak “Data ke " + (i+1) + " : "
skor [i] = input.nextDouble()
jumlah  jumlah + skor[i]
}
ratarata  jumlah / n

Menentukkan nilai maksimum dan minimum


max = 0
min = skor[1]
for(i = 0; i < n; i++){
if(max < skor[i])
max = skor[i]
else if(min > skor[i])
min = skor[i]
}
println()

Cetak “Rata-rata : " +ratarata


Cetak "Max : " +max
Cetak "Min : " +min
Input

Memesan memori bernama n, i dengan tipe data


bilangan bulat.

Memesan memori bernama ratarata, max, min, jumlah


dengan tipe data bilangan real.

Scanner input

c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel n, i : integer


2. Buat variabel ratarata, max, min, jumlah : double
3. Scanner input
4. print("Masukkan Jumlah Data : ")
n = input.nextInt()
5. Buat variabel double [] skor dan
Instantiate obyek
skor = new double [5]
6. for(i = 0; i < n; i++){
print("Data ke " + (i+1) + " : ")
skor [i] = input.nextDouble()
jumlah  jumlah + skor[i]
}
7. Hitung ratarata  jumlah / n
8. Menentukkan nilai maksimum dan minimum
max = 0
min = skor[1]
for(i = 0; i < n; i++){
if(max < skor[i])
max = skor[i]
else if(min > skor[i])
min = skor[i]
}
9. println()
10. println("Rata-rata : " +ratarata)
11. println("Max : " +max)
12. println("Min : " +min)

d. Teks program memakai tabel berikut


Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No5 { Deklarasi class Soal_No5
public static void main(String [] args) { Deklarasi metode main

int n, i; Memesan tempat untuk bilangan bulat dengan nama


n, i
double ratarata, max, min, jumlah = 0; Memesan tempat untuk bilangan real dengan nama
ratarata, max, min, jumlah dan menyimpan bilangan
real nol (0) ke variable jumlah.
Scanner input = new Scanner(System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard

System.out.print("Masukkan Jumlah Data : Menampilkan tulisan "Masukkan Jumlah Data" pada


"); output tanpa menambahkan baris baru.
n = input.nextInt(); Perintah untuk membaca angka/nilai (dalam bilangan
bulat) yang diinput sendiri oleh user
double [] skor = new double[n]; Memesan tempat untuk bilangan real dengan nama
skor sebagai nama array dan membuat atau meng-
instantiate array skor yang terdiri dari n elemen.
for(i = 0; i < n; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

i < n artinya selama nilai i lebih kecil dari n, maka


pengulangan akan terus dilakukan. Dengan kata lain,
perulangan ini akan mengulang sebanyak n kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print("Data ke "+(i + 1)+" : "); Menampilkan tulisan “Data ke” + menampilkan isi
variabel i + 1, lalu menampilkan “ : “ pada output
tanpa menambahkan baris baru.
skor [i] = input.nextDouble(); Perintah untuk mengisi data ke array skor (dalam
bilangan real) yang diinput sendiri oleh user
jumlah = jumlah + skor[i]; Menghitung jumlahnya
} End for
ratarata = jumlah / n; Menghitung nilai rata rata nya
max = 0; max  0
min = skor[1]; min  skor [i]
for(i = 0; i < n; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

i < n artinya selama nilai i lebih kecil dari n, maka


pengulangan akan terus dilakukan. Dengan kata lain,
perulangan ini akan mengulang sebanyak n kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
if(max < skor[i]){ Jika kondisi (max < skor[i]) bernilai true maka max =
max = skor[i]; skor[i].
}
else if(min > skor[i]){ Jika kondisi (min > skor[i]) bernilai true maka min =
min = skor[i]; skor[i]
}
} End for
System.out.println(); Perintah untuk memindahkan cursor ke baris baru
System.out.println("Rata-rata : " +ratarata); Menampilkan tulisan "Rata-rata : " beserta nilai nya
pada output dengan menambahkan baris baru.
System.out.println("Max : " +max); Menampilkan tulisan "Max : " beserta nilai nya pada
output dengan menambahkan baris baru.
System.out.println("Min : " +min); Menampilkan tulisan "Min : " beserta nilai nya pada
output dengan menambahkan baris baru.
}
}

e. Screenshot Program dan Output


Screenshot Program

Screenshot Output
6. Soal_No6

a. Uraian soal

Buatlah sebuah program yang dapat mencari posisi sebuah nilai dalam array berikut
ini!
A = {2,7,3,9,4,1,34,25,76,80,90,54,21,78}
Nilai yang dicari: 34 -------------------------- dimasukkan lewat keyboard
Berada di index : 6

Jika yang dicari tidak ada di array maka program menampilkan pesan ‘Tidak ada’

b. Rancangan program
Output

Nilai yang dicari : 90


Berada di index : 10

Proses

Menampilkan tulisan "Nilai yang dicari : " dan input


angka/nilai yang akan diinput sendiri oleh user

boolean benar = false

for(int i = 1; i < A.length; i++){


if(A [i] == nilai)
Cetak "Berada di index : " + i
benar = true
}
if(benar == false){
Cetak "Tidak Ada"

Input

Memesan memori bernama A yang akan digunakan


sebagai nama array yang berisi data bertipe integer, dan
dilanjutkan dengan membuat atau meng-instantiate array
A yang terdiri dari index {2, 7, 3, 9, 4, 1, 34, 25, 76, 80, 90,
c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel int A [] dan


Instantiate obyek
int A [] = {2, 7, 3, 9, 4, 1, 34, 25, 76, 80, 90, 54, 21, 78}
2. Scanner input
3. print("Nilai yang dicari : ")
int nilai = input.nextInt()
4. boolean benar = false
5. for(int i = 1; i < A.length; i++){
if(A [i] == nilai)
println("Berada di index : " + i)
benar = true
}
6. if(benar == false)
println("Tidak Ada")

d. Teks program memakai tabel berikut


Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No6 { Deklarasi class Soal_No6
public static void main(String [] args) { Deklarasi metode main

int A [] = {2, 7, 3, 9, 4, 1, 34, 25, 76, 80, 90, Memesan tempat untuk bilangan bulat dengan nama
54, 21, 78}; A sebagai nama array dan membuat atau meng-
instantiate array A yang terdiri dari index {2, 7, 3, 9,
4, 1, 34, 25, 76, 80, 90, 54, 21, 78}
Scanner input = new Scanner(System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard

System.out.print("Nilai yang dicari : "); Menampilkan tulisan "Nilai yang dicari : " pada
output tanpa menambahkan baris baru.
int nilai = input.nextInt(); Int nilai  memesan tempat untuk bilangan bulat
dengan nama nilai.

Perintah untuk membaca angka/nilai (dalam bilangan


bulat) yang diinput sendiri oleh user
boolean benar = false; boolean benar  false

for(int i = 1; i < A.length; i++){ Int i  memesan tempat untuk bilangan bulat dengan
nama i.

Variable i tugasnya untuk menyimpan i pengulangan.

A.length untuk mengambil panjang array-nya. Jadi,


perulangan akan dilakukan sebanyak isi array-nya.

i < A.length artinya selama nilai i lebih kecil dari


A.length, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak isi array nya.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
if(A [i] == nilai){ Jika kondisi (A [i] == nilai) bernilai true, maka
System.out.println("Berada di index : " + Cetak "Berada di index : " + menampilkan isi
i); variabel i pada output dengan menambahkan baris
benar = true; baru.
} benar  true
} End for
if(benar == false){ Jika kondisi (benar == false) bernilai true maka
System.out.println("Tidak Ada") Cetak "Tidak Ada" pada output dengan
} menambahkan baris baru.
}
}

e. Screenshot Program dan Output


Screenshot Program
Screenshot Output

7. Soal_No7

a. Uraian soal

Diberikan 2 buah array dengan isi sudah terurut berikut


int[] usia1 = { 18, 39, 45, 50, 65, 70, 90 }
int[] usia2 = { 20, 32, 54, 66, 75, 80, 85, 89, 90, 95, 96 }
Buat program yang menggabung dua array tersebut ke dalam array usiaGabung sehingga
isinya juga sudah terurut dari kecil ke besar. (Program Anda tidak/belum perlu memakai
algoritma pengurutan)

b. Rancangan program
Output

Hasil Usia Gabung : 18 39 45 50 65 70 90 70 70 90 90 90


90 90 90 90 95 96
Hasil Pengurutan : 18 20 32 39 45 50 54 65 66 70 75 80
85 89 90 90 95 96

Proses

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


usiaGabung[i] = usia1[i]
jumlah++
}
for(j = 0; j < usia2.length; j++){
Input

Memesan memori bernama usia1, usia2, usiaGabungg


yang akan digunakan sebagai nama array yang berisi
data bertipe integer, dan dilanjutkan dengan membuat
atau meng-instantiate array :
 usia1 yang terdiri dari index {18, 39, 45, 50, 65, 70,
90}
 usia2 yang terdiri dari index {20, 32, 54, 66, 75, 80, 85,
89, 90, 95, 96}
 usiaGabung yang terdiri dari elemen [usia1.length +
usia2.length]

Memesan memori bernama jumlah, index, counter, max,


min, temp, i, j dengan tipe data bilangan bulat.

Scanner input

c. Algoritma memakai pseudocode informal (input, proses, output)


1. Buat variabel int[] usia1 dan
Instantiate obyek
int[] usia1 = {18, 39, 45, 50, 65, 70, 90}
2. Buat variabel int[] usia2 dan
Instantiate obyek
int[] usia2 = {20, 32, 54, 66, 75, 80, 85, 89, 90, 95, 96}
3. Buat variabel int[] usiaGabung dan
Instantiate obyek
int[] usiaGabung = new int [usia1.length + usia2.length]
4. Buat variabel jumlah, index, counter, max, min, temp, i, j : integer
5. for(i = 0; i < usia1.length; i++){
usiaGabung[i] = usia1[i]
jumlah++
}
6. for(j = 0; j < usia2.length; j++){
usiaGabung[jumlah++] = usia2[j]
}
7. print("Hasil Usia Gabung : ")
8. for(i = 0; i < usiaGabung.length; i++){
print(usiaGabung[i]+ " ")
max  usiaGabung[i]
9. for (j = i + 1; j < usiaGabung.length; j++){
if (usiaGabung[j] < max)
max  usiaGabung[j]
index  j
counter++
}
10. if (counter > 0)
temp  usiaGabung[index]
usiaGabung[index]  usiaGabung[i]
usiaGabung[i]  temp
}
11. println()
12. print("Hasil Pengurutan : ")
13. for (i = 0; i < usiaGabung.length; i++){
print(usiaGabung[i]+ " ")
}

d. Teks program memakai tabel berikut


Perintah Arti
public class Soal_No7 { Deklarasi class Soal_No7
public static void main(String [] args) { Deklarasi metode main

int[] usia1 = {18, 39, 45, 50, 65, 70, 90}; Memesan tempat untuk bilangan bulat dengan nama
usia1 sebagai nama array dan membuat atau meng-
instantiate array usia1 yang terdiri dari index {18, 39,
45, 50, 65, 70, 90}
int[] usia2 = {20, 32, 54, 66, 75, 80, 85, 89, Memesan tempat untuk bilangan bulat dengan nama
90, 95, 96}; usia2 sebagai nama array dan membuat atau meng-
instantiate array usia2 yang terdiri dari index {20, 32,
54, 66, 75, 80, 85, 89, 90, 95, 96}
int[] usiaGabung = new int [usia1.length + Memesan tempat untuk bilangan bulat dengan nama
usia2.length]; usiaGabung sebagai nama array dan membuat atau
meng-instantiate array usiaGabung yang terdiri dari
elemen [usia1.length + usia2.length]
int jumlah = 0, index = 0, counter = 0, max, Memesan tempat untuk bilangan bulat dengan nama
min, temp, i, j; jumlah, index, counter, max, min, temp, i, j dan
menyimpan bilangan bulat 0 ke variabel jumlah,
index dan counter.

for(i = 0; i < usia1.length; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

usia1.length untuk mengambil panjang array-nya.


Jadi, perulangan akan dilakukan sebanyak isi array-
nya.

i < usia1.length artinya selama nilai i lebih kecil dari


usia1.length, maka pengulangan akan terus
dilakukan. Dengan kata lain, perulangan ini akan
mengulang sebanyak isi array nya.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
usiaGabung[i] = usia1[i]; usiaGabung[i]  usia1[i]
jumlah++; Tampilkan nilai jumlah, lalu tambah jumlah
sebanyak 1 angka.
} End for
for(j = 0; j < usia2.length; j++){ Variable j tugasnya untuk menyimpan j pengulangan.

usia2.length untuk mengambil panjang array-nya.


Jadi, perulangan akan dilakukan sebanyak isi array-
nya.

j < usia2.length artinya selama nilai j lebih kecil dari


usia2.length, maka pengulangan akan terus
dilakukan. Dengan kata lain, perulangan ini akan
mengulang sebanyak isi array nya.

j++ fungsinya untuk menambah satu (+1) nilai j pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
usiaGabung[jumlah++] = usia2[j]; usiaGabung[jumlah++]  usia2[j]
} End for
System.out.print("Hasil Usia Gabung : "); Menampilkan tulisan “Hasil Usia Gabung : " pada
output tanpa menambahkan baris baru.
for(i = 0; i < usiaGabung.length; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

usiaGabung.length untuk mengambil panjang array-


nya. Jadi, perulangan akan dilakukan sebanyak isi
array-nya.

i < usiaGabung.length artinya selama nilai i lebih


kecil dari usiaGabung.length, maka pengulangan
akan terus dilakukan. Dengan kata lain, perulangan
ini akan mengulang sebanyak isi array nya.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print(usiaGabung[i]+ " "); Menampilkan isi dari variable array usiaGabung pada
output tanpa menambahkan baris baru.
max = usiaGabung[i]; max  usiaGabung[i]
for (j = i + 1; j < usiaGabung.length; j++){ Variable j tugasnya untuk menyimpan j pengulangan
i + 1.

usiaGabung.length untuk mengambil panjang array-


nya. Jadi, perulangan akan dilakukan sebanyak isi
array-nya.

j < usiaGabung.length artinya selama nilai j lebih


kecil dari usiaGabung.length, maka pengulangan
akan terus dilakukan. Dengan kata lain, perulangan
ini akan mengulang sebanyak isi array nya.

j++ fungsinya untuk menambah satu (+1) nilai j pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
if (usiaGabung[j] < max){ Jika kondisi (usiaGabung[j] < max) bernilai true
max = usiaGabung[j]; maka.
index = j; max  usiaGabung[j]
counter++; index  j
} Tampilkan nilai counter, lalu tambah counter
sebanyak 1 angka.
} End for
if (counter > 0){ Jika kondisi counter > 0) bernilai true maka
temp = usiaGabung[index]; temp  usiaGabung[index]
usiaGabung[index] = usiaGabung[i]; usiaGabung[index]  usiaGabung[i]
usiaGabung[i] = temp; usiaGabung[i]  temp
}
} End for
System.out.println(); Perintah untuk memindahkan cursor ke baris baru.
System.out.print("Hasil Pengurutan : "); Menampilkan tulisan “Hasil Pengurutan : " pada
output tanpa menambahkan baris baru.
for (i = 0; i < usiaGabung.length; i++){ Variable i tugasnya untuk menyimpan i pengulangan.

usiaGabung.length untuk mengambil panjang array-


nya. Jadi, perulangan akan dilakukan sebanyak isi
array-nya.

i < usiaGabung.length artinya selama nilai i lebih


kecil dari usiaGabung.length, maka pengulangan
akan terus dilakukan. Dengan kata lain, perulangan
ini akan mengulang sebanyak isi array nya.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print(usiaGabung[i]+ " "); Menampilkan isi dari variable array usiaGabung pada
output tanpa menambahkan baris baru.
} End for
}
}

e. Screenshot Program dan Output


Screenshot Program
Screenshot Output

8. Soal_No8

a. Uraian soal

Terdapat sebuah array integer sebagai berikut


Bil ={ 23, 26, 30, 32, 33, 69, 50, 70, 80, 55, 76, 53, 21}
Pisahkan anggota yang genap dan ganjil dalam array yang terpisah dan tampilkan
isinya!

b. Rancangan program

Output

Bilangan Genap : 26 30 32 50 70 80 76
Bilangan Ganjil : 23 33 69 55 53 21

Proses

Menampilkan tulisan "Bilangan Genap : "


for(int i = 0; i < Bil.length; i++){
if(Bil [i] % 2 == 0)
Cetak (Bil [i] + " ")
}
println()

Menampilkan tulisan "Bilangan Ganjil : "


for(int i = 0; i < Bil.length; i++){
if(Bil [i] % 2 != 0){
Cetak(Bil [i] + " ")
}
Input

Memesan memori bernama Bil yang akan digunakan


sebagai nama array yang berisi data bertipe integer, dan
dilanjutkan dengan membuat atau meng-instantiate array
Bil yang terdiri dari index {23, 26, 30, 32, 33, 69, 50, 70,
80, 55, 76, 53, 21}

c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel int[] Bil dan


Instantiate obyek
int [] Bil = {23, 26, 30, 32, 33, 69, 50, 70, 80, 55, 76, 53, 21}
2. print("Bilangan Genap : ")
3. for(int i = 0; i < Bil.length; i++){
if(Bil [i] % 2 == 0)
print(Bil [i] + " ")
}
4. println()
5. print("Bilangan Ganjil : ")
6. for(int i = 0; i < Bil.length; i++){
if(Bil [i] % 2 != 0)
print(Bil [i] + " ")
}

d. Teks program memakai tabel berikut


Perintah Arti
public class Soal_No8 { Deklarasi class Soal_No8
public static void main(String [] args) { Deklarasi metode main

int [] Bil = {23, 26, 30, 32, 33, 69, 50, 70, 80, Memesan tempat untuk bilangan bulat dengan nama
55, 76, 53, 21}; Bil sebagai nama array dan membuat atau meng-
instantiate array Bil yang terdiri dari index {23, 26,
30, 32, 33, 69, 50, 70, 80, 55, 76, 53, 21}

System.out.print("Bilangan Genap : "); Menampilkan tulisan “Bilangan Genap : ” pada


output tanpa menambahkan baris baru.
for(int i = 0; i < Bil.length; i++){ int i  memesan tempat untuk bilangan bulat dengan
nama i.

Variable i tugasnya untuk menyimpan i pengulangan.

Bil.length untuk mengambil panjang array-nya. Jadi,


perulangan akan dilakukan sebanyak isi array-nya.

i < Bil.length artinya selama nilai i lebih kecil dari


Bil.length, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak isi array nya.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
if(Bil [i] % 2 == 0){ Jika kondisi (Bil [i] % 2 == 0) bernilai true maka
System.out.print(Bil [i] + " "); cetak isi dari variable array Bil pada output tanpa
} menambahkan baris baru.
} End for
System.out.println(); Perintah untuk memindahkan cursor ke baris baru.
System.out.print("Bilangan Ganjil : "); Menampilkan tulisan “Bilangan Ganjil : ” pada
output tanpa menambahkan baris baru.
for(int i = 0; i < Bil.length; i++){ int i  memesan tempat untuk bilangan bulat dengan
nama i.

Variable i tugasnya untuk menyimpan i pengulangan.

Bil.length untuk mengambil panjang array-nya. Jadi,


perulangan akan dilakukan sebanyak isi array-nya.

i < Bil.length artinya selama nilai i lebih kecil dari


Bil.length, maka pengulangan akan terus dilakukan.
Dengan kata lain, perulangan ini akan mengulang
sebanyak isi array nya.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
if(Bil [i] % 2 != 0){ Jika kondisi (Bil [i] % 2 != 0) bernilai true maka
System.out.print(Bil [i] + " "); cetak isi dari variable array Bil pada output tanpa
} menambahkan baris baru.
} End for
}
}

e. Screenshot Program dan Output


Screenshot Program

Screenshot Output

9. Soal_No9

a. Uraian soal

Buatlah sebuah program yang yang dapat mengurutkan isi sebuah array dari yang
terkecil sampai yang terbesar memakai algoritma bubble sort !
Banyak elemen : 5
Elemen-1 : 4
Elemen-2 : 3
Elemen-3 : 2
Elemen-4 : 5
Elemen-5 : 1
Hasil Pengurutan : 1 2 3 4 5
b. Rancangan program

Output

Banyak Elemen : 5
Elemen Ke- 1 : 9
Elemen Ke- 2 : 6
Elemen Ke- 3 : 10
Elemen Ke- 4 : 8
Elemen Ke- 5 : 7
Hasil Pengurutan : 6 7 8 9 10

Proses

Menampilkan tulisan "Banyak Elemen : " dan input


angka/nilai yang akan diinput sendiri oleh user

Memesan memori bernama bil yang akan digunakan


sebagai nama array yang berisi data bertipe integer,
dan dilanjutkan dengan membuat atau meng-instantiate
array bil yang terdiri dari n elemen.

for(i = 0; i < n; i++){


Cetak "Elemen Ke- " + (i + 1) + " : "
bil[i] = input.nextInt()
}
for(i = 0; i < (n -1); i++){
for(j = 0; j < n-i-1; j++){
if (bil[j] > bil[j + 1])
swap  bil[j]
bil[j]  bil[j + 1]
bil[j + 1]  swap
}
}
Cetak "Hasil Pengurutan : "
for(i = 0; i < n; i++)
Cetak (bil[i] +" ")

Input

Memesan memori bernama a, n, i, j, swap dengan tipe


data bilangan bulat.

Scanner input
c. Algoritma memakai pseudocode informal (input, proses, output)

1. Buat variabel a, n, i, j, swap : integer


2. Scanner input
3. print("Banyak Elemen : ")
4. n = input.nextInt()
5. Buat variabel int[] bil dan
Instantiate obyek
int bil [] = new int [n]
6. for(i = 0; i < n; i++){
print("Elemen Ke- " + (i + 1) + " : ")
bil[i]  input.nextInt()
}
7. for(i = 0; i < (n -1); i++){
for(j = 0; j < n-i-1; j++){
if (bil[j] > bil[j + 1])
swap  bil[j]
bil[j]  bil[j + 1]
bil[j + 1]  swap
}
}
8. print("Hasil Pengurutan : ")
9. for(i = 0; i < n; i++)
print(bil[i] +" ")

d. Teks program memakai tabel berikut

Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan fungsi-
fungsi untuk mengambil input dari keyboard. Agar
kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No9 { Deklarasi class Soal_No9
public static void main(String [] args) { Deklarasi metode main

int a, n, i, j, swap; Memesan tempat untuk bilangan bulat dengan nama


a, n, i, j, swap.
Scanner input = new Scanner(System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard

System.out.print("Banyak Elemen : "); Menampilkan tulisan "Banyak Elemen : " pada


output tanpa menambahkan baris baru.
n = input.nextInt(); Perintah untuk membaca angka/nilai (dalam bilangan
bulat) yang diinput sendiri oleh user
int bil [] = new int [n]; Memesan tempat untuk bilangan bulat dengan nama
bil sebagai nama array dan membuat atau meng-
instantiate array bil yang terdiri dari n elemen.
for(i = 0; i < n; i++){ Variable i tugasnya untuk menyimpan i pengulangan.
i < n artinya selama nilai i lebih kecil dari n, maka
pengulangan akan terus dilakukan. Dengan kata lain,
perulangan ini akan mengulang sebanyak n kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
System.out.print("Elemen Ke- " + (i + 1) + " : Menampilkan tulisan “Elemen Ke-” + menampilkan
"); isi variable i + 1, lalu menampilkan “ : ” pada output
tanpa menambahkan baris baru.
bil[i] = input.nextInt(); Perintah untuk membaca array bil (dalam bilangan
bulat) yang diinput sendiri oleh user
} End for
for(i = 0; i < (n -1); i++){ Variable i tugasnya untuk menyimpan i pengulangan.

i < (n – 1) artinya selama nilai i lebih kecil dari (n -


1), maka pengulangan akan terus dilakukan. Dengan
kata lain, perulangan ini akan mengulang sebanyak
(n – 1) kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
for(j = 0; j < n-i-1; j++){ Variable j tugasnya untuk menyimpan j pengulangan.

j < n-i-1 artinya selama nilai i lebih kecil dari n-i-1,


maka pengulangan akan terus dilakukan. Dengan
kata lain, perulangan ini akan mengulang sebanyak
n-i-1 kali.

j++ fungsinya untuk menambah satu (+1) nilai j pada


setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan diakhiri


dengan ‘}’
if (bil[j] > bil[j + 1]) { Jika kondisi (bil[j] > bil[j + 1]) bernilai true maka,
swap = bil[j]; swap  bil[j]
bil[j] = bil[j + 1]; bil[j]  bil[j + 1]
bil[j + 1] = swap; bil[j + 1]  swap
}
} End for
} End for
System.out.print("Hasil Pengurutan : "); Menampilkan tulisan “Hasil Pengurutan : ” pada
output tanpa menambahkan baris baru.
for(i = 0; i < n; i++) Variable i tugasnya untuk menyimpan i pengulangan.
i < n artinya selama nilai i lebih kecil dari n, maka
pengulangan akan terus dilakukan. Dengan kata lain,
perulangan ini akan mengulang sebanyak n kali.

i++ fungsinya untuk menambah satu (+1) nilai i pada


setiap pengulangan.
System.out.print(bil[i] +" "); Menampilkan isi dari variabel array bil pada output
tanpa menambahkan baris baru.
}
}

e. Screenshot Program dan Output


Screenshot Program

Screenshot Output
10. Soal_No10

a. Uraian soal

Buat program untuk merekam NIM, nama, us1, us2dan uas dari sejumlah mahasiswa memakai
array yang masing-masing bertipe String, String, double, double, dan double. Selanjutnya buat
juga array totalNil dan finalNil yang masing-masing bertipe double dan char. Array totalNil
digunakan untuk merekam nilai total dengan rumus
totalNil = 30 % us1 + 30 % us2 + 40 % uas

sedang finalNil untuk merekam konversi nilai total ke nilai huruf memakai rumus

A: 80 ≤ nilai total ≤ 100


B: 65 ≤ nilai total < 80
C: 55 ≤ nilai total < 65
D: 45 ≤ nilai total < 55
E : nilai total < 45

Setelah merekam data sejumlah (minimal 10) data nilai,selanjutnya program menampilkan
daftar Nim, nama dan semua nilai memakai format berikut:

Daftar Nilai Mahasiswa TI USD


No. NIM Nama US1 US2 UAS Total Final
1. 164315010 Hartani 60 70 75 ….. B
2. 164315002 Bambang 75 80 76 …. B
3.

==================================================================
Selanjutnya program menampilkan daftar Nim, nama dan semua nilai urut dari nilai total
yang paling tinggi memakai format berikut:

Daftar Nilai Mahasiswa TI USD Urut Terbaik


No. NIM Nama US1 US2 UAS Total Final
4. 164315002 Bambang 75 80 76 …. B
5. 164315010 Hartani 60 70 75 ….. B
6.
b. Rancangan program
Output

Masukan Jumlah Siswa : 10

Daftar Nilai Mahasiswa TI USD


No. Nama NIM US1 US2 UAS Total Final
--------------------------------------------------------------------------------------------------------
1. Nina 211614163 80 85 80
81.5 A
2. Tata 215314154 100 95 90
94.5 A
3. Bobi 216735648 70 80 85
79.0 B
4. Kiko 213672747 60 65 65
63.5 C
5. Loli 217837839 50 60 70
61.0 C
6. Cici 217825637 80 85 85
83.5 A
7. Titi 216778896 90 80 85
85.0 A
8. Lili 217685389 80 75 80
78.5 B
9. Nino 21673o299 90 85 75
82.5 A
10. Kiki 217798989 75 65 70
70.0 B
=====================================================================

Daftar Nilai Mahasiswa TI USD Urut Terbaik


No. Nama NIM US1 US2 UAS Total Final
---------------------------------------------------------------------------------------------------------
1. Tata 215314154 100.0 95.0 90.0 94.5 A

2. Titi 216778896 90.0 80.0 85.0 85.0 A

3. Cici 217825637 80.0 85.0 85.0 83.5 A


Proses
4. Nino 21673o299 90.0 85.0 75.0 82.5 A
Menampilkan tulisan "Masukan Jumlah Siswa : " dan input angka/nilai yang akan
5. diinput
Nina 211614163
sendiri oleh user 80.0 85.0 80.0 81.5 A

6. Menampilkan
Bobi 216735648
tulisan "\t\t\t 70.0
Daftar Nilai 80.0 TI 85.0
Mahasiswa USD" 79.0 B

7. Lili 217685389 80.0 75.0 80.0 78.5 B


Menampilkan tulisan "No.\t" + "Nama\t\t" + "NIM\t\t" + "US1\t" + "US2\t" + "UAS\
8. t" + "Total\t"
Kiki + "Final" 217798989 75.0 65.0 70.0 70.0 B

9. Cetak Kiko
"--------------------------------------------------------------------------------------------"
213672747 60.0 65.0 65.0 63.5 C

10.for (intLoli
i = 0; i < n; i++) 217837839
{ 50.0 60.0 70.0 61.0 C
Cetak ((i+1) + ".") dan input nama[i]
Cetak ("\t\t") dan input nim[i]
========================================================
Cetak ("\t\t") dan us1[i]
Cetak ("\t") dan input us2[i]
Cetak ("\t") dan input uas[i]
Cetak ("\t\t")
}
Hitung total[i] = hitungtotal(us1[i], us2[i], uas[i])
for (int a = 0; a < n; a++){
for (int j = 0; j < n - a - 1; j++){
if (total[j] < total[j + 1]){
swap = total[j]
total[j] = total[j + 1] Mengurutkan nilai total
total[j + 1] = swap

nilaius1 = us1[j]
us1[j] = us1[j + 1] Mengurutkan nilai us1
us1[j + 1] = nilaius1

nilaius2 = us2[j]
us2[j] = us2[j + 1] Mengurutkan nilai us2
us2[j + 1] = nilaius2

nilaiuas = uas[j]
uas[j] = uas[j + 1] Mengurutkan nilai uas
uas[j + 1] = nilaiuas

namaa = nama[j]
nama[j] = nama[j + 1] Mengurutkan nama
nama[j + 1] = namaa

nim1 = nim[j]
nim[j] = nim[j + 1] Mengurutkan nim
nim[j + 1] = nim1
Input

Memesan memori bernama n, no dengan tipe data bilangan bulat.

Memesan memori bernama swap, nilaius1, nilaius2, nilaiuas dengan tipe data
bilangan real.

Memesan memori bernama namaa, nim1 dengan tipe data String.

Memesan memori bernama huruf dengan tipe data char

Scanner input

Memesan memori bernama nim dan nama yang akan digunakan sebagai nama
array yang berisi data bertipe String, dan dilanjutkan dengan membuat atau meng-
instantiate array nim dan nama yang terdiri dari n elemen.

Memesan memori bernama us1, us2, uas, total yang akan digunakan sebagai
nama array yang berisi data bertipe double, dan dilanjutkan dengan membuat
atau meng-instantiate array us1, us2, uas, total yang terdiri dari n elemen.

Memesan memori bernama akhir yang akan digunakan sebagai nama array yang
berisi data bertipe char, dan dilanjutkan dengan membuat atau meng-instantiate
array akhir yang terdiri dari n elemen.
c. Algoritma memakai pseudocode informal (input, proses, output)

Pseudocode metode main


1. Scanner input
2. Buat variabel n, no : integer
3. Buat variabel swap, nilaius1, nilaius2, nilaiuas : double
4. Buat variabel namaa, nim1 : String
5. Buat variabel huruf : char
6. print("Masukan Jumlah Siswa : ") dan input nilai n
7. println()
8. Buat variabel String[] nim dan
Instantiate obyek
String[] nim = new String [n]
9. Buat variabel String[] nama dan
Instantiate obyek
String[] nama = new String [n]
10. Buat variabel double[] us1 dan
Instantiate obyek
double[] us1 = new double [n]
11. Buat variabel double[] us2 dan
Instantiate obyek
double[] us2 = new double [n]
12. Buat variabel double[] uas dan
Instantiate obyek
double[] uas = new double [n]
13. Buat variabel double[] total dan
Instantiate obyek
double[] total = new double [n]
14. Buat variabel char[] akhir dan
Instantiate obyek
char[] akhir = new char [n]
15. println("\t\t\t Daftar Nilai Mahasiswa TI USD")
16. println("No.\t" + "Nama\t\t" + "NIM\t\t" + "US1\t" + "US2\t" + "UAS\t" +
"Total\t" + "Final")
17. println("-------------------------------------------------------------------------------")
18. for (int i = 0; i < n; i++) {
print((i+1) + ".") dan input nama[i]
print("\t\t") dan input nim[i]
print("\t\t") dan input us1[i]
print("\t") dan input us2[i]
print("\t") dan input uas[i]
print("\t\t")
19. Hitung total[i] = hitungtotal(us1[i], us2[i], uas[i])
20. if (total[i] >= 80){
akhir[i] = 'A'
} else if (65 <= total[i] && total[i] < 80) {
akhir[i] = 'B'
} else if (55 <= total[i] && total[i] < 65) {
akhir[i] = 'C'
} else if (50 <= total[i] && total[i] < 55) {
akhir[i] = 'D'
} else {
akhir[i] = 'E'
}
21. print(total[i] + "\t")
22. print(akhir[i]);
23. println()
24. } end for
25. println("=================================================")
26. println()
27. println("\t\t Daftar Nilai Mahasiswa TI USD Urut Terbaik")
28. println("No.\t" + "Nama\t\t" + "NIM\t\t" + "US1\t" + "US2\t" + "UAS\t" +
"Total\t" + "Final")
29. println("-------------------------------------------------------------------------------")

30. for (int a = 0; a < n; a++){


for (int j = 0; j < n - a - 1; j++){
if (total[j] < total[j + 1]){
swap = total[j]
total[j] = total[j + 1]
total[j + 1] = swap

nilaius1 = us1[j]
us1[j] = us1[j + 1]
us1[j + 1] = nilaius1

nilaius2 = us2[j]
us2[j] = us2[j + 1]
us2[j + 1] = nilaius2

nilaiuas = uas[j]
uas[j] = uas[j + 1]
uas[j + 1] = nilaiuas

namaa = nama[j]
nama[j] = nama[j + 1]
nama[j + 1] = namaa

nim1 = nim[j]
nim[j] = nim[j + 1]
nim[j + 1] = nim1
huruf = akhir[j];
akhir[j] = akhir[j + 1]
akhir[j + 1] = huruf
}
}
}
31. for (int x = 0; x < n; x++) {
println isi array dari ((x+1) + "." + "\t" + nama[x] + "\t\t" + nim[x] + "\t" +
us1[x] + "\t" + us2[x] + "\t" + uas[x] + "\t" + total[x] + "\t " + akhir[x])
32. println()
33. } end for
34. println("=================================================")
35. } end metode main

Pseudocode metode hitungtotal


1. Hitung totalNil  (0.3 * us1) + (0.3 * us2) + (0.4 * uas)
2. return totalNil

d. Teks program memakai tabel berikut

Perintah Arti
import java.util.Scanner; Scanner merupakan kelas yang menyediakan
fungsi-fungsi untuk mengambil input dari keyboard.
Agar kita dapat menggunakan Scanner, kita perlu
mengimpornya ke dalam code import
java.util.Scanner
public class Soal_No10 { Deklarasi class Soal_No10
public static void main(String [] args) { Deklarasi metode main
Scanner input = new Scanner(System.in); Membaca variable input agar bisa mengaktifkan
kemampuan input dari keyboard
int n, no; Memesan tempat untuk bilangan bulat dengan nama
n, no.
double swap = 0, nilaius1 = 0, nilaius2 = 0, Memesan tempat untuk bilangan real dengan nama
nilaiuas = 0; swap, nilaius1, nilaius2, nilaiuas dan menyimpan
bilangan real 0 ke variabel swap, nilaius1, nilaius2,
nilaiuas.
String namaa, nim1; Memesan tempat untuk variabel namaa, nim1
dengan tipe data String.
char huruf; Memesan tempat untuk variable huruf dengan tipe
data char.

System.out.print("Masukan Jumlah Siswa : "); Menampilkan tulisan "Masukan Jumlah Siswa : "
pada output tanpa menambahkan baris baru.
n = input.nextInt(); Perintah untuk membaca angka/nilai (dalam
bilangan bulat) yang diinput sendiri oleh user.
System.out.println(); Perintah untuk memindahkan cursor ke baris baru.
String[] nim = new String[n]; Memesan tempat untuk array nim dengan tipe data
String dan membuat atau meng-instantiate array
nim yang terdiri dari n elemen.
String[] nama = new String[n]; Memesan tempat untuk array nama dengan tipe data
String dan membuat atau meng-instantiate array
nama yang terdiri dari n elemen.
double[] us1 = new double[n]; Memesan tempat untuk bilangan real dengan nama
us1 sebagai nama array dan membuat atau meng-
instantiate array us1 yang terdiri dari n elemen.
double[] us2 = new double[n]; Memesan tempat untuk bilangan real dengan nama
us2 sebagai nama array dan membuat atau meng-
instantiate array us2 yang terdiri dari n elemen.
double[] uas = new double[n]; Memesan tempat untuk bilangan real dengan nama
uas sebagai nama array dan membuat atau meng-
instantiate array uas yang terdiri dari n elemen.
double[] total = new double[n]; Memesan tempat untuk bilangan real dengan nama
total sebagai nama array dan membuat atau meng-
instantiate array total yang terdiri dari n elemen.
char[] akhir = new char[n]; Memesan tempat untuk array akhir dengan tipe data
char dan membuat atau meng-instantiate array akhir
yang terdiri dari n elemen.

System.out.println("\t\t\t Daftar Nilai Mahasiswa Menampilkan tulisan "\t\t\t Daftar Nilai Mahasiswa
TI USD"); TI USD" pada output dengan menambahkan baris
baru. \t\t\t digunakan untuk memberikan jarak 3 kali
spasi seperti hanya fungsi tab.
System.out.println("No.\t" + "Nama\t\t" + "NIM\t\ Menampilkan tulisan "No.\t" + "Nama\t\t" + "NIM\
t" + "US1\t" + "US2\t" + "UAS\t" + "Total\t" + t\t" + "US1\t" + "US2\t" + "UAS\t" + "Total\t" +
"Final"); "Final" pada output dengan menambahkan baris
baru. \t digunakan untuk memberikan jarak
beberapa spasi seperti hanya fungsi tab.
System.out.println("------------------------------------- Menampilkan garis putus-putus pada output dengan
------------------------------------------"); menambahkan baris baru.

for (int i = 0; i < n; i++) { int i  memesan tempat untuk bilangan bulat
dengan nama i

Variable i tugasnya untuk menyimpan i


pengulangan.

i < n artinya selama nilai i lebih kecil dari n, maka


pengulangan akan terus dilakukan. Dengan kata
lain, perulangan ini akan mengulang sebanyak n
kali.

i++ fungsinya untuk menambah satu (+1) nilai i


pada setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan


diakhiri dengan ‘}’
System.out.print((i+1) + "."); Menampilkan nilai i + 1, lalu menampilkan “.” pada
output tanpa menambahkan baris baru.
nama[i] = input.next(); Perintah untuk membaca array nama (tipe data
String) yang diinput sendiri oleh user
System.out.print("\t\t"); Memberikan jarak 2 kali spasi seperti hanya
fungsi tab untuk mengisi nim nya pada output tanpa
menambahkan baris baru.
nim[i] = input.next(); Perintah untuk membaca array nim (tipe data
String) yang diinput sendiri oleh user
System.out.print("\t\t"); Memberikan jarak 2 kali spasi seperti hanya
fungsi tab untuk mengisi nim nya pada output tanpa
menambahkan baris baru.
us1[i] = input.nextDouble(); Perintah untuk membaca array us1 (dalam bilangan
real) yang diinput sendiri oleh user
System.out.print("\t"); Memberikan jarak 1 kali spasi seperti hanya
fungsi tab untuk mengisi nim nya pada output tanpa
menambahkan baris baru.
us2[i] = input.nextDouble(); Perintah untuk membaca array us2 (dalam bilangan
real) yang diinput sendiri oleh user
System.out.print("\t"); Memberikan jarak 1 kali spasi seperti hanya
fungsi tab untuk mengisi nim nya pada output tanpa
menambahkan baris baru.
uas[i] = input.nextDouble(); Perintah untuk membaca array uas (dalam bilangan
real) yang diinput sendiri oleh user
System.out.print("\t\t"); Memberikan jarak 2 kali spasi seperti hanya
fungsi tab untuk mengisi nim nya pada output tanpa
menambahkan baris baru.

total[i] = hitungtotal(us1[i], us2[i], uas[i]); Menghitung nilai total nya.

if (total[i] >= 80) { Jika kondisi (total[i] >= 80) bernilai true maka, nilai
akhir[i] = 'A'; akhir = 'A'
}
else if (65 <= total[i] && total[i] < 80) { Jika kondisi (65 <= total[i] && total[i] < 80)
akhir[i] = 'B'; bernilai true maka, nilai akhir = 'B'
}
else if (55 <= total[i] && total[i] < 65) { Jika kondisi (55 <= total[i] && total[i] < 65)
akhir[i] = 'C'; bernilai true maka, nilai akhir = 'C'
}
else if (50 <= total[i] && total[i] < 55) { Jika kondisi (50 <= total[i] && total[i] < 55)
akhir[i] = 'D'; bernilai true, maka nilai akhir = 'D'
}
else { Jika semua kondisi di atas bernilai false maka nilai
akhir[i] = 'E'; akhir = ‘E’
}

System.out.print(total[i] + "\t"); Menampilkan isi dari array total pada output tanpa
menambahkan baris baru.
System.out.print(akhir[i]); Menampilkan isi dari array akhir pada output tanpa
menambahkan baris baru.
System.out.println(); Perintah untuk memindahkan cursor ke baris baru.
} End for
System.out.println("====================” Menampilkan “=========================”
) pada output dengan menambahkan baris baru.
System.out.println(); Perintah untuk memindahkan cursor ke baris baru.
System.out.println("\t\t Daftar Nilai Mahasiswa Menampilkan tulisan "\t\t Daftar Nilai Mahasiswa
TI USD Urut Terbaik"); TI USD Urut Terbaik" pada output dengan
menambahkan baris baru.
System.out.println("No.\t" + "Nama\t\t" + "NIM\t\ Menampilkan tulisan “No.\t" + "Nama\t\t" + "NIM\
t" + "US1\t" + "US2\t" + "UAS\t" + "Total\t" + t\t" + "US1\t" + "US2\t" + "UAS\t" + "Total\t" +
"Final"); "Final") pada output dengan menambahkan baris
baru.
System.out.println("------------------------------------- Menampilkan garis putus-putus pada output dengan
------------------------------------------"); menambahkan baris baru.

for (int a = 0; a < n; a++){ int a  memesan tempat untuk bilangan bulat
dengan nama a

Variable a tugasnya untuk menyimpan a


pengulangan.

a < n artinya selama nilai a lebih kecil dari n, maka


pengulangan akan terus dilakukan. Dengan kata
lain, perulangan ini akan mengulang sebanyak n
kali.

a++ fungsinya untuk menambah satu (+1) nilai a


pada setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan


diakhiri dengan ‘}’
for (int j = 0; j < n - a - 1; j++){ int j  memesan tempat untuk bilangan bulat
dengan nama j

Variable j tugasnya untuk menyimpan j


pengulangan.

j < n-a-1 artinya selama nilai j lebih kecil dari n-a-1,


maka pengulangan akan terus dilakukan. Dengan
kata lain, perulangan ini akan mengulang sebanyak
hasil n-a-1 kali.

j++ fungsinya untuk menambah satu (+1) nilai j


pada setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan


diakhiri dengan ‘}’
if (total[j] < total[j + 1]){ Jika kondisi (total[j] < total[j + 1]) bernilai true
maka,
Kita akan mengurutkan elemen array menggunakan
Bubble sort untuk melintasi dari elemen awal ke
elemen terakhir dengan membandingkan elemen
swap = total[j]; yang berdekatan dan menukarnya jika tidak dalam
total[j] = total[j + 1]; urutan tertentu.
total[j + 1] = swap;
Mengurutkan nilai total nya
nilaius1 = us1[j];
us1[j] = us1[j + 1];
us1[j + 1] = nilaius1;
Mengurutkan nilai us1 nya
nilaius2 = us2[j];
us2[j] = us2[j + 1];
us2[j + 1] = nilaius2;
Mengurutkan nilai us2 nya
nilaiuas = uas[j];
uas[j] = uas[j + 1];
uas[j + 1] = nilaiuas;
Mengurutkan nilai uas nya
namaa = nama[j];
nama[j] = nama[j + 1];
nama[j + 1] = namaa; Mengurutkan nama nya
nim1 = nim[j];
nim[j] = nim[j + 1];
nim[j + 1] = nim1; Mengurutkan nim nya

huruf = akhir[j];
akhir[j] = akhir[j + 1];
akhir[j + 1] = huruf Mengurutkan hasil akhir nya
}
} End for
} End for
for (int x = 0; x < n; x++) { int x  memesan tempat untuk bilangan bulat
dengan nama x

Variable x tugasnya untuk menyimpan x


pengulangan.

x < n artinya selama nilai j lebih kecil dari n, maka


pengulangan akan terus dilakukan. Dengan kata
lain, perulangan ini akan mengulang sebanyak hasil
n kali.

x++ fungsinya untuk menambah satu (+1) nilai x


pada setiap pengulangan.

Blok kode For dimulai dengan tanda ‘{’ dan


diakhiri dengan ‘}’
System.out.println((x+1) + "." + "\t" + nama[x] + Menampilkan isi dari array ((x+1) + "." + "\t" +
"\t\t" + nim[x] + "\t" + us1[x] + "\t" + us2[x] + "\t" nama[x] + "\t\t" + nim[x] + "\t" + us1[x] + "\t" +
+ uas[x] + "\t" + total[x] + "\t " + akhir[x]); us2[x] + "\t" + uas[x] + "\t" + total[x] + "\t " +
akhir[x]) pada output dengan menambhakan baris
baru.
System.out.println(); Perintah untuk memindahkan cursor ke baris baru.
} End for
System.out.println("===================”); Menampilkan “=========================”
pada output dengan menambahkan baris baru.
} End metode main
static double hitungtotal(double us1, double Membuat metode untuk menghitung nilai totalnya
us2, double uas) { dengan parameter double us1, double us2, double
uas.
double totalNil = (0.3 * us1) + (0.3 * us2) + (0.4 Menghitung totalNil nya.
* uas);
return totalNil; Hasil dari totalNil akan disimpan ke variabel total
yang merupakan nilai balikan dari method
hitungtotal.
} End metode hitungtotal
}

e. Screenshot Program dan Output


Screenshot Program
Screenshot Output
D. DAFTAR PUSTAKA

Modul XIII “Array Dimensi 1”

Pusat Ilmu Secara Detil, Program Bubble Sort Dengan Menggunakan Java, https://ilmu-
detil.blogspot.com/2016/09/algoritma-bubble-sort-pada-java.html, diakses pada 27 November
2021, 13:24 WIB

Anda mungkin juga menyukai