Contoh Soal Praktikum Pemrograman Java

Oleh

admin


Jangan dicopas, tapi dipelajari dan dipahami

01


Buatlah program yang dapat menerima input dan menghasilkan output seperti berikut.
Gunakan tipe data yang tepat dalam menyimpan data yang diinputkan. Program harus bersifat
dinamis, artinya input dapat diubah-ubah dan output akan menyesuaikan, bukan hardcoded.

Pembahasan

package praktikum.pertama;
import java.util.Scanner;
public class PRAK101_2110817110008_AndriRahmadani {
public static void main(String[] args) {
//Scanner untuk menerima input dari user
Scanner keyboard = new Scanner(System.in);
//Deklerasi Variabel
String namaLengkap, tempatLahir;
int tanggalLahir, bulanLahir, tahunLahir;
float beratBadan, tinggiBadan;
String namaBulan = null;
//Nama
System.out.print("Masukkan Nama Lengkap: ");
namaLengkap = keyboard.nextLine();
//Tempat Lahir
System.out.print("Tempat Lahir: ");
tempatLahir = keyboard.nextLine();
//Tanggal Lahir:
System.out.print("Tanggal Lahir: ");
tanggalLahir = keyboard.nextInt();
//Bulan lahir
System.out.print("Bulan Lahir: ");
bulanLahir = keyboard.nextInt();
//Logika numerik ke nama bulan
if (bulanLahir == 1) namaBulan = "Januari";
else if (bulanLahir == 2) namaBulan = "Februari";
else if (bulanLahir == 3) namaBulan = "Maret";
else if (bulanLahir == 4) namaBulan = "April";
else if (bulanLahir == 5) namaBulan = "Mei";
else if (bulanLahir == 6) namaBulan = "Juni";
else if (bulanLahir == 7) namaBulan = "Juli";
else if (bulanLahir == 8) namaBulan = "Agustus";
else if (bulanLahir == 9) namaBulan = "September";
else if (bulanLahir == 10) namaBulan = "Oktober";
else if (bulanLahir == 11) namaBulan = "November";
else if (bulanLahir == 12) namaBulan = "Desember";
//Tahun lahir
System.out.print("Tahun Lahir: ");
tahunLahir = keyboard.nextInt();
//Tinggi badan
System.out.print("Tinggi badan: ");
tinggiBadan = keyboard.nextFloat();
//Berat badan
System.out.print("Berat badan: ");
beratBadan = keyboard.nextFloat();
keyboard.close();
//Output
System.out.println("Data Telah Ditambahkan,");
System.out.println("Nama Lengkap "+ namaLengkap + ", Lahir di "+ tempatLahir + " pada Tanggal " + tanggalLahir +" "+ namaBulan + " "+ tahunLahir +
"nTinggi Badan " + tinggiBadan + " cm dan Berat Badan " +beratBadan+ " kilogram");
}
}

02


Buatlah program yang dapat menampilkan deret bilangan sebanyak 7 baris menggunakan perulangan while. Jika bilangan pada deret tersebut habis dibagi 2, maka bilangan tersebut harus dibagi 2 kemudian dikurangi 1, dan ditampilkan. Input adalah angka awal memulai deret.

Pembahasan

package praktikum.pertama;
import java.util.Scanner;
public class PRAK102_2110817110008_AndriRahmadani {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int i = 0;
int input = keyboard.nextInt();
while (i <= 6) {
int t;
if (input % 2 == 0) {
//harus dibagi 2 kemudian dikurangi 1,
t = (input / 2) -1;
System.out.print(" " + t + " ");
} else {
System.out.print(input);
}
input++;
i++;
}
keyboard.close();
}
}

03


Buatlah program yang dapat menampilkan deret bilangan sebanyak 5 baris menggunakan perulangan do while. Jika bilangan pada deret tersebut merupakan bilangan kelipatan 7, maka bilangan tersebut tidak perlu ditampilkan. Input adalah angka awal memulai deret.Buatlah program yang dapat menampilkan deret bilangan sebanyak 7 baris menggunakan perulangan while. Jika bilangan pada deret tersebut habis dibagi 2, maka bilangan tersebut harus dibagi 2 kemudian dikurangi 1, dan ditampilkan. Input adalah angka awal memulai deret.

Pembahasan

package praktikum.pertama;
import java.util.Scanner;
public class PRAK103_2110817110008_AndriRahmadani {
public static void main(String[] args) {
Scanner keyboard = new Scanner (System.in);
int input = keyboard.nextInt();
int i = 1;
do {
if (input % 7 == 0) {
//Akan mengabaikan dan kembali ke atas
continue;
}
if (i == 5) System.out.print(input);
else System.out.print(input + ", ");
i++;
input--;
} while (i<=5);
}
}

04


Andi dan Budi sedang bermain kartu remi. Kartu yang digunakan hanya kartu 2 s.d 10. 

Aturan permainan kartu yang dimainkan adalah sebagai berikut.

1. Terdapat tiga ronde dalam sekali permainan. Masing-masing pemain mendapatkan 3 kartu dalam satu kali permainan.

2. Setiap ronde akan ditentukan pemenang berdasarkan kartu pemain yang dikeluarkan yang paling besar. Jika pemain menang maka akan mendapatkan satu poin. Jika seri maka kedua pemain tidak akan mendapatkan poin.

3. Pemain yang mendapatkan poin paling banyak dia lah pemenangnya.

Buatlah program yang dapat membantu Andi dan Budi untuk menentukan siapa pemenangnya. Input baris pertama adalah kartu Andi yang dikeluarkan tiap rondenya, urut dari kiri ke kananadalah ronde 1, ronde 2, ronde 3. Input baris kedua adalah kartu Budi yang dikeluarkan tiap rondenya. Output adalah nama pemenang.

Pembahasan

package praktikum.pertama;
import java.util.Scanner;
public class PRAK104_2110817110008_AndriRahmadani {
public static void main(String[] args) {
Scanner keyboard = new Scanner(System.in);
int andiRondePertama, budiRondePertama, andiRondeKedua, budiRondeKedua, andiRondeKetiga, budiRondeKetiga, pointAndi = 0, pointBudi=0;
System.out.print("Kartu Andi: ");
andiRondePertama = keyboard.nextInt();
andiRondeKedua = keyboard.nextInt();
andiRondeKetiga = keyboard.nextInt();
keyboard.nextLine();
//Array
int [] andi = {andiRondePertama,andiRondeKedua,andiRondeKetiga};
System.out.print("Kartu Budi: ");
budiRondePertama = keyboard.nextInt();
budiRondeKedua = keyboard.nextInt();
budiRondeKetiga = keyboard.nextInt();
//Mencek
//Array
//Pengkodndisian Kartu yang digunakan hanya kartu 2 s.d 10.
if ((budiRondePertama >= 2 && budiRondePertama <=10) && (budiRondeKedua >= 2 && budiRondeKedua <=10) && (budiRondeKetiga >= 2 && budiRondeKetiga <=10) &&
(andiRondePertama >= 2 && andiRondePertama <= 10) && (andiRondeKedua >= 2 && andiRondeKedua <=10) && (andiRondeKetiga >=2 && andiRondeKetiga <=10)) {
int [] budi = {budiRondePertama, budiRondeKedua, budiRondeKetiga};
//Pertandingan dimulai
//        if (andi[0] > budi[0]) {
//            pointAndi++;
//        } else  if (budi[0] > andi[0]) {
//            pointBudi++;
//        }
//
//        if(andi[1] > budi[1]) {
//            pointAndi++;
//        } else if (budi[1] > andi[1]) {
//            pointBudi++;
//        }
//
//        if (andi[2] > budi[2]) {
//            pointAndi++;
//        } else if (budi[2] > andi[2]) {
//            pointBudi++;
//        }
//Dapat disingkat menjadi
int i = 0;
while (i <= 2) {
if (andi[i] > budi[i]) {
pointAndi++;
} else  if (budi[i] > andi[i]) {
pointBudi++;
}
i++;
}
//Menentukan pemenang
if (pointAndi > pointBudi) {
System.out.println("Andi");
} else if(pointBudi > pointAndi) {
System.out.println("Budi");
} else {
System.out.println("Seri");
} 
}
else {
System.out.println("Invalid input kartu must be lebih dari 2 dan kurang dari 10 :)");
}
keyboard.close();
}
}

05


Buatlah program yang dapat menghitung volume tabung. Buatlah phi menjadi konstanta dengan aturan penulisan Bahasa pemrograman java.

Pembahasan

package praktikum.pertama;
import java.util.Scanner;
public class PRAK105_2110817110008_AndriRahmadani {
public static void main(String[] args) {
final float PHI = 3.14f;
float r, t, volume;
Scanner keyboard = new Scanner(System.in);
System.out.print("Masukan jari-jari: ");
r = keyboard.nextFloat();
System.out.print("Masukan tinggi: ");
t = keyboard.nextFloat();
//Rumus volume tabung
volume = PHI * r * r * t;
//Output
System.out.printf("Volume tabung dengan jari-jari %.1f cm dan tinggi %.1f cm adalah %.3f m3",r,t,volume);
}
}

Artikel Terkait

Bagikan: