Jangan malas baca, ya Telusuri!

Contoh Soal Praktikum Pemrograman Java

Contoh Soal Praktikum Java Beserta Pembahasan
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);
    }
}

About the Author

Haus akan ilmu

Post a Comment

Nambah ilmu setelah membaca? Yuk, tulis komentar mu!
Cookie Consent
We serve cookies on this site to analyze traffic, remember your preferences, and optimize your experience.
Oops!
It seems there is something wrong with your internet connection. Please connect to the internet and start browsing again.
AdBlock Detected!
We have detected that you are using adblocking plugin in your browser.
The revenue we earn by the advertisements is used to manage this website, we request you to whitelist our website in your adblocking plugin.
Site is Blocked
Sorry! This site is not available in your country.