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); } }