Anda di halaman 1dari 17

LAPORAN PRAKTIKUM

ALGORITMA DAN PEMROGRAMAN LANJUT

PERTEMUAN KE – 10

Disusun Oleh :

NAMA : Kharisma Satria Nindhita

NIM : 205410129

JURUSAN : TEKNIK INFORMATIKA

JENJANG : S1

LaboratoriumTerpadu

Sekolah Tinggi Management Informatika Komputer

AKAKOM

YOGYAKARTA

2020
PERTEMUAN KE – 10

(ITERASI SELEKSI DALAM METHOD)

A. Tujuan

• Mahasiswa dapat menyelesaikan kasus dengan menggabungkan konsep iterasi, seleksi


dalam method serta dapat memanggil method dari class lain

B. Pembahasan

PRAKTIK

Praktik 1

Cobalah program berikut, amati hasilnya dan jelaskan dalam laporan

import java.util.Scanner;

public class ProyekIterasiFungsi {


public static void cetakUlang(int nUlang) {
for (int i = 0; i < nUlang; i++) {
System.out.println("Cetak ke " + (i + 1));
}
}

public static void main(String[] args) {


int nUlang;
Scanner scan = new Scanner(System.in);
System.out.print("Akan dicetak berapa kali :?");
nUlang = scan.nextInt();
cetakUlang(nUlang);
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama cetakUlang dan main,
method main merupakan sebuah metode yang pertama kali akan di jalankan saat program di
eksekusi, di method main kita membuat variable tipe int dengan nama int nUlang; dan
setelah itu memasukkan isi var nUlang, nUlang di sini berfungsi sebagai parameter untuk
method cetakUlang, dan yang terakhir untuk mencetak / print out method cetakUlang dengan
cara cetakUlang(nUlang);

method dengan nama cetakUlang mempunyai parameter int nUlang, nilai parameter didapat
dari method main, di method ini fungsi utamanya adalah untuk melakukan pengulangan dengan
cara pengulangan for sebanyak i < nUlang yang dimulai dari int i = 0 , dan mencetaknya
atau print out System.out.println("Cetak ke " + (i + 1));.

Praktik 2

Modifikasi program 1 agar fungsi dapat mencetak kalimat : yang dimasukkan oleh pengguna
sebanyak jumlah yang diinginkan. Jelaskan hasil modifikasi pada laporan.

import java.util.Scanner;

public class ProyekIterasiFungsi2 {


public static void cetakUlang(int nUlang) {
Scanner scan = new Scanner(System.in);
String kalimat;
System.out.print(" Akan cetak Kalimat apa : ");
kalimat = scan.next();
System.out.println(" --------------------------------- ");
for (int i = 0; i < nUlang; i++) {
System.out.println(" kalimat anda : " + kalimat);
}
}
public static void main(String[] args) {
int nUlang;
Scanner scan = new Scanner(System.in);
System.out.println();
System.out.print(" Akan dicetak berapa kali : ");
nUlang = scan.nextInt();
cetakUlang(nUlang);
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama cetakUlang dan main,
method main merupakan sebuah metode yang pertama kali akan di jalankan saat program di
eksekusi, di method main kita membuat variable tipe int dengan nama int nUlang; dan
setelah itu memasukkan isi var nUlang, nUlang di sini berfungsi sebagai parameter untuk
method cetakUlang, dan yang terakhir untuk mencetak / print out method cetakUlang dengan
cara cetakUlang(nUlang);

method dengan nama cetakUlang mempunyai parameter int nUlang, nilai parameter didapat
dari method main, pertama membuat var dengan nama String kalimat; setelah itu memasukkan
nilai var kalimat tersebut yang kan di ulang, di method ini fungsi utamanya adalah untuk
melakukan pengulangan dengan cara pengulangan for sebanyak i < nUlang yang dimulai dari
int i = 0 , dan mencetaknya atau print out Var kalimat tersebut dengan cara
System.out.println(" kalimat anda : " + kalimat);.

Di sini saya intinya tinggal menambahkan bagaimana bisa mencetak kalimat yang kita
inginkan.
Praktik 3

Cobalah program untuk menghitung jumlah dari n buah bilangan (array) berikut, amati hasilnya
dan jelaskan pada laporan.

import java.util.Scanner;

public class ProyekHitungJumlah {


public static int hitungJumlah(int[] x) {
int jum = 0;
for (int i = 0; i < x.length; i++) {
jum += x[i];
}
return jum;
}

public static void main(String[] args) {


int data[] = new int[10];
int jumlah;
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.print("Masukkan data ke - " + (i + 1) + " : ");
data[i] = scan.nextInt();
}
jumlah = hitungJumlah(data);
System.out.println("Jumlah data = " + jumlah);
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama int hitungJumlah dan main,
method main merupakan sebuah metode yang pertama kali akan di jalankan saat program di
eksekusi, buat var tipe data int dengan panjang isi array 10 buah atau
int data[] = new int[10];, buat var int dengan nama jumlah, dan untuk mengisi array var
data[] kita melakukan pengulangan for sebanyak isi arraynya yaitu 10, setelah itu untuk
menghitung dan menampilkan jumlah nya kita tinggal memanggil method hitungJumlah(data);
setelah itu di setorkan var jumlah, setelah itu untuk menampilkan tinggal di print out
saja var jumlah tadi dengan cara System.out.println("Jumlah data = " + jumlah);
method dengan nama hitungJumlah dengan parameter yaitu array (int[] x), mempunyai fungsi
untuk menghitung isi array dari var int data[] yang ada di method main, dengan cara
pengulangan for lalu disetorkan divar bernama jum.
Praktik 4

Modifikasi program 3 agar fungsi dapat menghitung rata-rata dari n buah bilangan (array).
Jelaskan hasil modifikasi pada laporan

import java.util.Scanner;

public class ProyekHitungJumlah {


public static int hitungJumlah(int[] x) {
int jum = 0;
for (int i = 0; i < x.length; i++) {
jum += x[i];
}
return jum;
}

public static void main(String[] args) {


int data[] = new int[10];
int jumlah;
float rata;
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.print("Masukkan data ke - " + (i + 1) + " : ");
data[i] = scan.nextInt();
}
jumlah = hitungJumlah(data);
rata = jumlah / data.length;
System.out.println(" ------------------------------------ ");
System.out.println("Jumlah data = " + jumlah);
System.out.println("Rata - rata = " + rata);
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama int hitungJumlah dan main,
method main merupakan sebuah metode yang pertama kali akan di jalankan saat program di
eksekusi, buat var tipe data int dengan panjang isi array 10 buah atau
int data[] = new int[10];, buat var int dengan nama jumlah, buat var tipe float dengan
nama rata, dan untuk mengisi array var data[] kita melakukan pengulangan for sebanyak isi
arraynya yaitu 10, setelah itu untuk menghitung dan menampilkan jumlah nya kita tinggal
memanggil method hitungJumlah(data); setelah itu di setorkan var jumlah, untuk menghitung
rata – rata kita tinggal bagi saja var jumlah dengan data.length (banyaknya panjang array)
lalu di var rata, rata = jumlah / data.length; dan untuk menampilkan atau print out jumlah
dan rata – ratanya dengan cara

System.out.println("Jumlah data = " + jumlah);


System.out.println("Rata - rata = " + rata);

method dengan nama hitungJumlah dengan parameter yaitu array (int[] x), mempunyai fungsi
untuk menghitung isi array dari var int data[] yang ada di method main, dengan cara
pengulangan for lalu disetorkan divar bernama jum.

Di sini saya intinya tinggal bagaimana bisa membagi jumlah array dengan data.length
(banyaknya panjang array)
Praktik 5

Cobalah fungsi berikut ini yang digunakan untuk mengecek apakah suatu bilangan tersebut
ganjil atau genap. Amati hasilnya dan jelaskan pada laporan.

import java.util.Scanner;

public class ProyekCekGenap1 {


public static boolean cekGenap(int a) {
boolean status;
if ((a % 2) == 0) {
status = true;
} else {
status = false;
}
return status;
}

public static void main(String[] args) {


Scanner scan = new Scanner(System.in);
int x;
boolean genap;
System.out.print("Masukkan bilangan : ");
x = scan.nextInt();
genap = cekGenap(x);
if (genap) {
System.out.println("Bilangan yang dicek ternyata genap");
} else {
System.out.println("Bilangan yang dicek ternyata ganjil");
}
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama boolean cekGenap dan main,
Pada method main pertama buat var int x dan var Boolean genap, setelah itu untuk mengisi
var x dengan cara x = scan.nextInt();, setelah itu untuk mengecek isi var x itu genap atau
tidaknya isi var x tersebut di masukkan ke genap = cekGenap(x); , hasil cekgenap tersebut
di masukkan ke var genap dan jika isi dari var genap ini equel atau sama dengan genap
print out System.out.println("Bilangan yang dicek ternyata genap"); dan jika tidak atau
else maka System.out.println("Bilangan yang dicek ternyata ganjil");.
Pada method boolean cekGenap mempuyai parameter (int a), buat var dengan tipe Boolean
dengan nama status, fungsi utama dari method ini adalah untuk mengecek int x dari method
main genap atau tidaknya dengan cara if ((a % 2) == 0 maka status true atau sebaliknya
atau else status = false;.
Praktik 6

Cobalah program berikut yang digunakan untuk mengecek bilangan tersebut ganjil atau genap
dalam suatu array. Amati hasilnya dan jelaskan pada laporan.

import java.util.Scanner;

public class ProyekCekGanjilGenapArray {

public static boolean[] cekGanjilGenapArray(int[] x) {


boolean hasil[] = new boolean[10];
for (int i = 0; i < x.length; i++) {
if ((x[i] % 2) == 0) {
hasil[i] = true;
} else {
hasil[i] = false;
}
}
return hasil;
}

public static void main(String[] args) {


int data[] = new int[10];
boolean hasilCek[] = new boolean[10];
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("Masukkan data ke-" + (i + 1) + ":");
data[i] = scan.nextInt();
}
hasilCek = cekGanjilGenapArray(data);
System.out.println("==========================");
System.out.println("==Hasil Pengecekan========");
System.out.println("==========================");

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


System.out.print(" " + data[i]);
System.out.print(" " + hasilCek[i]);
System.out.println();
}
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama boolean[] cekGanjilGenapArray dan main,
Pada method main pertama kita membuat var bertipe int dan Boolean dan semua var itu
berbentuk array karena disini kita akan memasukkan Panjang array nya yaitu 10 buah,var int
data[] berfungsi untuk memasukkan angkanya dan var Boolean hasilcek[] untuk memvalidasi
nilainya setelah diproses true atau false, setelah itu untuk mengisi array data[] kita
melakukkan perulangan for seabnayak 10 kali sesuai Panjang array yang kita ingginkan tadi,
setelah itu untuk menggunakan proses mengecek genap atau tidaknya ada di method
cekGanjilGenapArray Degnan cara hasilCek = cekGanjilGenapArray(data); array data akan
dimasukkan di method tersebut lalu dilakukan penprosesan sesaui di method tersebut setelah
itu hasilnya akan disimpan di variable hasil cek, dan untuk melakukan print out atau
menampilkan hasilnya kita tinggal melakukan pengulangan sebanyak array nya yaitu 10 atau

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


System.out.print(" " + data[i]);
System.out.print(" " + hasilCek[i]);
System.out.println();
}
}

Pada method boolean[] cekGanjilGenapArray mempunyai parameter yaitu berupa array


(int[] x) int[] x ini di isi atau mendapatkan nilai dari var data[] dari method main tadi
yang sudah kita masukkan, setelah itu angka – angka dari var data[] tadi akan masuk ke
pengualang dan percabangan untuk menentukan angka tersebut genap atau tidaknya dengan cara
if ((x[i] % 2) == 0) maka var hasil[i] akan bernilai true dan apabila else maka hasil[i]
bernilai false, lalu dikembalikan di var hasil.
Praktik 7

Modifikasi program 6 tersebut agar jika hasil pengecekan berupa bilangan genap maka akan
tertulis genap, dan jika hasil pengecekan berupa bilangan ganjil maka akan tertulis ganjil.
Jelaskan hasil modifikasi pada laporan.

import java.util.Scanner;

public class ProyekCekGanjilGenapArray {

public static boolean[] cekGanjilGenapArray(int[] x) {


boolean hasil[] = new boolean[10];
for (int i = 0; i < x.length; i++) {
if ((x[i] % 2) == 0) {
hasil[i] = true;
} else {
hasil[i] = false;
}
}
return hasil;
}

public static void main(String[] args) {


int data[] = new int[10];
boolean hasilCek[] = new boolean[10];
Scanner scan = new Scanner(System.in);
for (int i = 0; i < 10; i++) {
System.out.println("Masukkan data ke - " + (i + 1) + ":");
data[i] = scan.nextInt();
}
hasilCek = cekGanjilGenapArray(data);
System.out.println("==========================");
System.out.println("==Hasil Pengecekan========");
System.out.println("==========================");

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


System.out.print(" " + data[i]);
if (hasilCek[i]) {
System.out.print(" Bilangan yang dicek ternyata genap ");
} else {
System.out.print(" Bilangan yang dicek ternyata ganjil ");
}
System.out.println();
}
}
}

Penjelasannya hampir sama seperti praktik nomor 6 tetapi di sini saya tinggqal
mengganti print outnya saja yang semula System.out.print(" " + hasilCek[i]); menjadi
percangbangan yaitu

if (hasilCek[i]) {
System.out.print(" Bilangan yang dicek ternyata genap ");
} else {
System.out.print(" Bilangan yang dicek ternyata ganjil ");
}

Jika var array hasilcek[i] bernilai true maka bilangan genap dan jika sebaliknya maka
bernilai ganjil.
c. LATIHAN

1. Cobalah program berikut yang digunakan untuk mengkonversi masukan berupa angka
menjadi huruf. Sedangkan ketentuan konversi adalah sebagai berikut :

import java.util.Scanner;

public class KonversiNilai {


public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double[] data = new double[10];
char[] keluar = new char[10];
for (int i = 0; i < 10; i++) {
System.out.print("data ke - " + (i + 1) + ":");
data[i] = scan.nextDouble();
}
System.out.println("=====================");
System.out.println("| Hasil Konversi |");
System.out.println("=====================");
keluar = konversiNilai(data);
// tampil hasil
for (int i = 0; i < 10; i++) {
System.out.println(data[i] + " " + keluar[i]);
}
}

public static char[] konversiNilai(double[] x) {


int n = x.length;
char hasil[] = new char[n];
for (int i = 0; i < n; i++) {
if ((x[i] > 80) && (x[i] <= 100)) {
hasil[i] = 'A';
} else if ((x[i] > 60) && (x[i] <= 80)) {
hasil[i] = 'B';
} else if ((x[i] > 40) && (x[i] <= 60)) {
hasil[i] = 'C';
} else if ((x[i] > 20) && (x[i] <= 40)) {
hasil[i] = 'D';
} else if (x[i] <= 20) {
hasil[i] = 'E';
}
}
return hasil;
}
}

Pertama import java.util.Scanner; fungsinya untuk memasukkan paket scanner,


Di sini ada 2 method yaitu method dengan nama char[] konversiNilai dan main,
Pada method main pertama kita buat var telebih dahulu, di kode tersebut ada 2 var utama
yaitu var dengan tipe data double dengan nama data dan kedua var dengan tipe data char
dengan nama var yaitu keluar keduanya mempunyai is yaitu berupa array, setelah itu kita
harus mengisi nilai array pada var data dengan cara menginputkannya dengan pengulangan for
sebanyak Panjang array yang kita buat di sini panjangnya yaitu 10 buah angka, setelah itu
untuk melanjutkannya ke bentuk konversinya kita memasukkan nilai dari var data tersebut ke
method keluar = konversiNilai(data); dan hasilnya dari method tersebut akan di simpan di
var keluar, dan untuk menampilkannya atau print out nya dengan cara

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


System.out.println(data[i] + " " + keluar[i]);
}

Pada method char[] konversiNilai mempunyai parameter double dalam bentuk array, setelah
itu kita buat var int dengan nama n yang isinya yaitu Panjang dari nilai array x, array x
ini didapat dari var data dari method main, setelah itu var hasil akan disetorkan ke var
array char hasil, pada setelah itu akan masuk ke proses penyeleksian mengguanakan
pengulangan for dan percabangan if sesuai pada kode diatas dan hasilnya disetorkan /
dikembalikan di var hasil.
D. TUGAS

1. Modifikasi program latihan tersebut dengan menggunakan while dan switch....case.


Jelaskan hasil modifikasi pada laporan.

import java.util.Scanner;

public class pandaaa {


public static void main(String[] args) {
Scanner scan = new Scanner(System.in);
double[] data = new double[10];
char[] keluar = new char[10];
int i = 0;
while (i < 10) {
System.out.print("data ke - " + (i + 1) + ":");
data[i] = scan.nextDouble();
i++;
}
System.out.println("=====================");
System.out.println("| Hasil Konversi |");
System.out.println("=====================");
keluar = konversiNilai(data);
// tampil hasil
i = 0;
while (i < 10) {
System.out.println(data[i] + " = " + keluar[i]);
i++;
}
}

public static char[] konversiNilai(double[] x) {


int n = x.length;
char hasil[] = new char[n];
int i = 0;
while (i < n) {
if ((x[i] > 80) && (x[i] <= 100)) {
hasil[i] = 'A';
} else if ((x[i] > 60) && (x[i] <= 80)) {
hasil[i] = 'B';
} else if ((x[i] > 40) && (x[i] <= 60)) {
hasil[i] = 'C';
} else if ((x[i] > 20) && (x[i] <= 40)) {
hasil[i] = 'D';
} else if (x[i] <= 20) {
hasil[i] = 'E';
}
i++;
}
return hasil;
}
}

Penjelasannya hamper sama seperti pada kode Latihan, di sini saya tinggal mengganti
pengulangan for menjadi while saya tidak menggati percabangan if – else karena
Struktur SWITCH CASE ini terlihat lebih rapi daripada struktur IF ELSE IF, dan kadang kala
bisa lebih efisien. Namun SWITCH CASE juga memiliki batasan, dimana tidak bisa dipakai
untuk kondisi yang lebih kompleks seperti perbandingan dengan tanda lebih besar
dari ” > “, maupun penggabungan kondisi,

karena Kondisi perbandingan di atas hanya bisa ditulis menggunakan struktur IF,

Sehingga jika kondisi yang diperiksa cukup rumit, maka terpaksa harus menggunakan
struktur IF ELSE IF. Struktur SWITCH CASE yang kita pelajari kali ini hanya cocok
untuk operasi perbandingan sederhana, dimana nilai yang diperiksa hanya terdiri dari
nilai yang tetap.

2. Diberikan oleh dosen pengampu pada saat praktikum


E. Kesimpulan

Pada pertemuan kali ini kita belajar tentang bagaimana menyelsesaikan sebuah kasus dengan
menggabungkan konsep iterasi, seleksi dalam method serta dapat memanggil method dari class
lain, yang tujuannya untuk mengasah pemahaman kita tentang Bahasa pemprograman JAVA

Anda mungkin juga menyukai