Anda di halaman 1dari 6

LATIHAN

• Buat lah sebuah algoritma yang digunakan unutk membaca masukan ( sejumlah nilai
IP mahasiswa) Sebuah angkatan, sampai pengguna ( mengetikan nilai -999 )
• Nilai IP harus di periksa apakah berada pada (range) yang benar, yaitu ( 0<=IP=4 )
• Jika ada ( Data IP ) yang salah, maka data tersebut di abaikan . selanjutnya program
menuliskan berapa banyak mahasiswa, beberapa banyak yang lulus, berapa yang
tidak lulus ( lulus>2.75), dan rata – rata IP di kelas tersebut ( data IP salah di
abaikan).
• Jika tidak ada IP yang valid, keluarkan pesan ^^ tidak ada data ^^.

PROGRAM

import java.util.Scanner;

public class Main {

public static void main(String[] args) {

Scanner input = new Scanner(System.in);

double totalIP = 0.0;

int jumlahMahasiswa = 0;

int jumlahLulus = 0;

int jumlahTidakLulus = 0;

System.out.println("Masukkan nilai IP mahasiswa (hentikan dengan 999):");

while (true) {

double ip = input.nextDouble();

if (ip == 999) {

break; // Keluar dari loop jika pengguna memasukkan 999

if (ip >= 0.0 && ip <= 4.0) {

totalIP += ip;

jumlahMahasiswa++;
if (ip >= 2.75) {

jumlahLulus++;

} else {

jumlahTidakLulus++;

if (jumlahMahasiswa > 0) {

double rataRataIP = totalIP / jumlahMahasiswa;

System.out.println("Jumlah mahasiswa: " + jumlahMahasiswa);

System.out.println("Jumlah yang lulus: " + jumlahLulus);

System.out.println("Jumlah yang tidak lulus: " + jumlahTidakLulus);

System.out.println("Rata-rata IP: " + rataRataIP);

} else {

System.out.println("Tidak ada data.");

input.close();

Penjelasan:

1. `import java.util.Scanner;`: Mengimpor kelas Scanner untuk menerima masukan dari pengguna.

2. `public class Main {`: Mendefinisikan kelas utama.

3. `public static void main(String[] args) {`: Mendefinisikan metode utama.

4. `Scanner input = new Scanner(System.in);`: Membuat objek Scanner untuk menerima masukan dari
pengguna.
5. Deklarasi variabel `totalIP`, `jumlahMahasiswa`, `jumlahLulus`, dan `jumlahTidakLulus` untuk
melacak data yang diperlukan.

6. `System.out.println("Masukkan nilai IP mahasiswa (hentikan dengan 999):");`: Menampilkan pesan


kepada pengguna.

7. Memulai loop `while (true)` untuk membaca nilai IP sampai pengguna memasukkan 999.

8. `double ip = input.nextDouble();`: Membaca nilai IP dari pengguna.

9. Memeriksa apakah nilai IP berada dalam rentang yang benar (0 hingga 4).

10. Menghitung totalIP, jumlahMahasiswa, jumlahLulus, dan jumlahTidakLulus sesuai dengan kondisi.

11. Jika pengguna memasukkan 999, keluar dari loop.

12. Setelah loop selesai, hitung rata-rata IP jika ada data yang valid dan tampilkan statistik sesuai
permintaan.

13. `input.close();`: Menutup objek Scanner setelah selesai digunakan.

PSEUDOCODE
Buka program

Inisialisasi totalIP = 0.0

Inisialisasi jumlahMahasiswa = 0

Inisialisasi jumlahLulus = 0

Inisialisasi jumlahTidakLulus = 0

Tampilkan pesan "Masukkan nilai IP mahasiswa (hentikan dengan 999):"

Selama benar:

Baca ip dari pengguna

Jika ip sama dengan 999:

Keluar dari loop

Jika ip >= 0.0 dan ip <= 4.0:

Tambahkan ip ke totalIP

Tambahkan 1 ke jumlahMahasiswa

Jika ip >= 2.75:

Tambahkan 1 ke jumlahLulus
Lainnya:

Tambahkan 1 ke jumlahTidakLulus

Jika jumlahMahasiswa > 0:

Hitung rataRataIP = totalIP / jumlahMahasiswa

Tampilkan "Jumlah mahasiswa: " + jumlahMahasiswa

Tampilkan "Jumlah yang lulus: " + jumlahLulus

Tampilkan "Jumlah yang tidak lulus: " + jumlahTidakLulus

Tampilkan "Rata-rata IP: " + rataRataIP

Lainnya:

Tampilkan "Tidak ada data."

Tutup program

PENYEDERHANAAN ALGORITMA

1. Inisialisasi totalIP, jumlahMahasiswa, jumlahLulus, dan jumlahTidakLulus menjadi 0.

2. Tampilkan pesan "Masukkan nilai IP mahasiswa (hentikan dengan 999):"

3. Selama benar:

a. Baca nilai IP dari pengguna.

b. Jika nilai IP sama dengan 999, keluar dari loop.

c. Jika nilai IP berada dalam rentang 0 hingga 4:

i. Tambahkan nilai IP ke totalIP.

ii. Tambahkan 1 ke jumlahMahasiswa.

iii. Jika nilai IP lebih besar atau sama dengan 2.75, tambahkan 1 ke jumlahLulus. Lainnya,
tambahkan 1 ke jumlahTidakLulus.

4. Jika jumlahMahasiswa lebih besar dari 0:

a. Hitung rataRataIP sebagai totalIP dibagi oleh jumlahMahasiswa.

b. Tampilkan jumlahMahasiswa, jumlahLulus, jumlahTidakLulus, dan rataRataIP.

5. Lainnya, tampilkan "Tidak ada data."

6. Selesai.
Algoritma ini tetap melakukan fungsi yang sama seperti program sebelumnya, tetapi lebih sederhana dan
mudah dipahami. Ini mengizinkan pengguna untuk memasukkan nilai IP mahasiswa, menghitung statistik
sederhana, dan menampilkan hasilnya sesuai permintaan.

Anda mungkin juga menyukai