UTS pemrograman java bagian 5

by

helmy

1. Buat program untuk menghasilkan 4 bilangan acak (random), kemudian tampilkan pada layar. Simpan 4 bilangan tsb pada sebuah Array

Source code:

package uts_tebakangka;
import java.util.Random;
public class UTS_Tebakangka {
public static void main(String[] args) {
 
 Random angkaRandom = new Random();

 int angkacak[]= new int[4];
 for ( int i = 0; i < 4; i++ ){

  angkacak[i] = angkaRandom.nextInt( 20 );
  if ( i % 4 == 0 )
   System.out.println();
    System.out.print(angkacak[i]+” “);
  }
 System.out.println();
}
}

Hasilnya:

4 bilangan acak

2. Modifikasi program sehingga bilangan acak yang dihasilkan antara 0 s.d 9 (perlihatkan hasilnya di layar).

Source code:

package uts_tebakangka;
import java.util.Random;
public class UTS_Tebakangka {
public static void main(String[] args) {
 
 Random angkaRandom = new Random();

 int angkacak[]= new int[4];
 for ( int i = 0; i < 4; i++ ){

  angkacak[i] = angkaRandom.nextInt( 9 );
  if ( i % 4 == 0 )
   System.out.println();
    System.out.print(angkacak[i]+” “);
  }
 System.out.println();
}
}

Hasilnya:

antara 0 s.d 9

3. Modifikasi program sehingga 4 bilangan acak yang dihasilkan tidak ada yang sama satu dengan yang lain (perlihatkan hasilnya di layar)

Source code:

package uts_tebakangka;
import java.util.Random;
import java.util.Collections;
import java.util.ArrayList;
public class UTS_Tebakangka {
 
public static void main(String[] args) {
 
  ArrayList<Integer> Nilai_Random = new ArrayList<>();
    int angkacak, i=9;
    Random angkaRandom = new Random();
    while(Nilai_Random.size() < i) {
        boolean sama = false;
        angkacak = angkaRandom.nextInt(i);
        if (Nilai_Random.size() > 0) {
            for (int j = 0; j < Nilai_Random.size(); j++) {
                if (angkacak == Nilai_Random.get(j)) {
                    sama = true;
                    break;
                }
            }
            if(sama==false){
                Nilai_Random.add(angkacak);
            }
        } else {
            Nilai_Random.add(angkacak);
        }
    }
    for (int j = 0; j < 4; j++) {
            System.out.print(Nilai_Random.get(j)+” “);
        }
    System.out.println();
}
}

Hasilnya:

bilangan acak yang dihasilkan tidak ada yang sama

4. Tambahkan pada program, perintah untuk input 4 bilangan, sebelum inputan beri keterangan “ANGKA KE-x”, dimana x adalah indeksnya. Simpan 4 bilangan tsb pada sebuah Array. (Array ke-1 untuk 4 bilangan acak, Array ke-2 untuk 4 bilangan yg diinputkan).

Source code:

package uts_tebakangka;
import java.util.Random;
import java.util.Scanner;
public class UTS_Tebakangka {
public static void main(String[] args) {
        int[] data= new int[4];
        int i, jumdata;
        Scanner scan= new Scanner(System.in);
        int cacah=1;
        for(i = 0; i<data.length; i++){
            System.out.print(“Masukkan bilangan ke-“+cacah+”= “);
            data [i]= scan.nextInt();
            scan.nextLine(); //buang data sisa
            cacah+=1;
        }
            System.out.println(” Angka Input =”);
          for (i=0; i<data.length ; i++)
          System.out.print(data[i]+” “);
 Random angkaRandom = new Random();

 int angkacak[]= new int[4];
 System.out.println();
           System.out.print(” Angka Acak =”);
 for ( i = 0; i < 4; i++ ){

  angkacak[i] = angkaRandom.nextInt( 9 );
  if ( i % 4 == 0 )
   System.out.println();
   System.out.print(angkacak[i]+” “);
  }
 System.out.println();
}
}

Hasilnya:

ANGKA KE-x

5. Modifikasi program sehingga tiap bilangan yg diinputkan hanya antara 0 s.d 9. Bila ada yang kurang dari 0 atau lebih dari 9 maka program meminta input kembali hanya untuk posisi bilangan tersebut dengan pesan “ANGKA YANG DINPUTKAN HANYA ANTARA 0 S.D 9, SILAKAN MASUKKAN KEMBALI ANGKA KE-x” dimana x adalah indeksnya.

Source code:

package uts_tebakangka;
import java.util.Random;
import java.util.Scanner;
public class UTS_Tebakangka {
public static void main(String[] args) {
        int[] data= new int[4];
        int i, jumdata;
        Scanner scan= new Scanner(System.in);
        int cacah=1;
        for(i = 0; i<data.length; i++){
            System.out.print(“Masukkan bilangan ke-“+cacah+”= “);
            data [i]= scan.nextInt();       
     
            if(data[i]<0||data[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + “masukkan lagi angka ke-“+cacah+”= “);
            data [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((data[i]>0)||(data[i]<9)){
                    }
            cacah+=1;
}
     
            System.out.println(” Angka Input =”);
          for (i=0; i<data.length ; i++)
          System.out.print(data[i]+” “);
 Random angkaRandom = new Random();

 int angkacak[]= new int[4];
 System.out.println();
           System.out.print(” Angka Acak =”);
 for ( i = 0; i < 4; i++ ){

  angkacak[i] = angkaRandom.nextInt( 9 );
  if ( i % 4 == 0 )
   System.out.println();
   System.out.print(angkacak[i]+” “);
  }
 System.out.println();
}
}

Hasilnya:

ANGKA YANG DINPUTKAN HANYA

6. Tambahkan pada program, perintah untuk menghitung banyak pasangan elemen Array ke-1 & 2 yang memenuhi kondisi Alpha. Kemudian tampilkan pada layar “M ANGKA TEPAT” dmn M adalah banyak pasangan. Kondisi Alpha : Jika x == y dan elemen ke-x == elemen ke-y, dimana x indeks Array ke-1 dan y indeks Array ke-2

Source code:

package uts_tebakangka;
import java.util.Random;
import java.util.Scanner;
public class UTS_Tebakangka {
public static void main(String[] args) {
     Random angkaRandom = new Random();
        int[] x= new int[4];
        int y[]= new int[4];
        int i, jumdata;
        Scanner scan= new Scanner(System.in);
        int cacah=1;
        for(i = 0; i<x.length; i++){
            System.out.print(“Masukkan bilangan x ke-“+cacah+”= “);
            x [i]= scan.nextInt();       
     
            if(x[i]<0||x[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + ” masukkan lagi angka x ke-“+cacah+”= “);
            x [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((x[i]>0)||(x[i]<9)){
                    }
            cacah+=1;
}
         cacah=1;
         for(i = 0; i<y.length; i++){
            System.out.print(“Masukkan bilangan y ke-“+cacah+”= “);
            y [i]= scan.nextInt();       
     
            if(y[i]<0||y[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + ” masukkan lagi angka y ke-“+cacah+”= “);
            y [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((y[i]>0)||(y[i]<9)){
                    }
            cacah+=1;
}
            System.out.println(“X=”);
          for (i=0; i<x.length ; i++)
          System.out.print(x[i]+” “);
 System.out.println();
            System.out.println(“Y=”);
           for (i=0; i<y.length ; i++)
           System.out.print(y[i]+” “);
 System.out.println();
int sama=0;
      System.out.println(“Data yang sama”);
      for ( i=0 ; i <x.length; i++){
          for( int j=0 ; j <y.length; j++)
              if (x[i]==y[j]) {
              sama=sama+1;
              i++;
              }
          }     
System.out.print(sama+” Angka Tepat”);
}
}

Hasilnya:

menghitung banyak pasangan

7. Tambahkan pada program, perintah untuk menghitung banyak pasangan elemen Array ke-1 & 2 yang memenuhi kondisi Betha

Source code:

package uts_tebakangka;
import java.util.Random;
import java.util.Scanner;
public class UTS_Tebakangka {
public static void main(String[] args) {
     Random angkaRandom = new Random();
        int[] x= new int[4];
        int y[]= new int[4];
        int i, jumdata;
        Scanner scan= new Scanner(System.in);
        int cacah=1;
        for(i = 0; i<x.length; i++){
            System.out.print(“Masukkan bilangan x ke-“+cacah+”= “);
            x [i]= scan.nextInt();       
     
            if(x[i]<0||x[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + ” masukkan lagi angka x ke-“+cacah+”= “);
            x [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((x[i]>0)||(x[i]<9)){
                    }
            cacah+=1;
}
         cacah=1;
         for(i = 0; i<y.length; i++){
            System.out.print(“Masukkan bilangan y ke-“+cacah+”= “);
            y [i]= scan.nextInt();       
     
            if(y[i]<0||y[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + ” masukkan lagi angka y ke-“+cacah+”= “);
            y [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((y[i]>0)||(y[i]<9)){
                    }
            cacah+=1;
}
// angka tepat
            System.out.println(“X=”);
          for (i=0; i<x.length ; i++)
          System.out.print(x[i]+” “);
 System.out.println();
            System.out.println(“Y=”);
           for (i=0; i<y.length ; i++)
           System.out.print(y[i]+” “);
 System.out.println();
int sama=0, sama1=0, no=0;
      System.out.println(“Betha:”);
      for ( i=0 ; i <x.length; i++){
          for( int j=0 ; j <y.length; j++)
              if (x[i]==y[j]) {
              System.out.println(“indeks ke-“+no+” X==Y X=”+x[i]+” Y=”+y[j]); 
              sama=sama+1;
              i++;
              no++;
              }
              else {
              System.out.println(“indeks ke-“+no+” X!=Y X=”+x[i]+” Y=”+y[j]);
              no++;
              sama1=sama1+1;
              i++;
              }
          }     
System.out.println(sama+” Angka Tepat”);
System.out.println(sama1+” Angka Salah”);
}
}

Hasilnya:

banyak pasangan elemen

8. Modifikasi program sehingga hasil “4 ANGKA TEPAT DAN 0 ANGKA SALAH POSISI” berubah menjadi “ANDA MENANG”.

Tinggal di edit system.out.printnya menjadi :

package uts_tebakangka;
import java.util.Random;
import java.util.Scanner;
public class UTS_Tebakangka {
public static void main(String[] args) {
     Random angkaRandom = new Random();
        int[] x= new int[4];
        int y[]= new int[4];
        int i, jumdata;
        Scanner scan= new Scanner(System.in);
        int cacah=1;
        for(i = 0; i<x.length; i++){
            System.out.print(“Masukkan bilangan x ke-“+cacah+”= “);
            x [i]= scan.nextInt();       
     
            if(x[i]<0||x[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + ” masukkan lagi angka x ke-“+cacah+”= “);
            x [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((x[i]>0)||(x[i]<9)){
                    }
            cacah+=1;
}
         cacah=1;
         for(i = 0; i<y.length; i++){
            System.out.print(“Masukkan bilangan y ke-“+cacah+”= “);
            y [i]= scan.nextInt();       
     
            if(y[i]<0||y[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + ” masukkan lagi angka y ke-“+cacah+”= “);
            y [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((y[i]>0)||(y[i]<9)){
                    }
            cacah+=1;
}
// angka tepat
            System.out.println(“X=”);
          for (i=0; i<x.length ; i++)
          System.out.print(x[i]+” “);
 System.out.println();
            System.out.println(“Y=”);
           for (i=0; i<y.length ; i++)
           System.out.print(y[i]+” “);
 System.out.println();
int sama=0, salah1=0, no=0;
      System.out.println(“Pesan:”);
      for ( i=0 ; i <x.length; i++){
          for( int j=0 ; j <y.length; j++)
              if (x[i]==y[j]) { 
              sama=sama+1;
              i++;
              no++;
              }
              else {
              no++;
              salah1=salah1+1;
              i++;
              }
          }     
if (sama==4 && salah1==0)
System.out.println(“ANDA MENANG”);
}
}

Hasilnya:

anda menang

9. Input untuk 4 Bilangan (soal nomor 5) akan terus diulang jika hasilnya bukan “ANDA MENANG”

Source code:

package uts_tebakangka;
import java.util.Random;
import java.util.Scanner;
public class UTS_Tebakangka {
public static void main(String[] args) {
     Random angkaRandom = new Random();
        int[] data= new int[4];
        int angkacak[]= new int[4];
        int i, jumdata=0;
        Scanner scan= new Scanner(System.in);
     
        // angka acak
        System.out.print(“Angka acak:”);
        for ( i = 0; i < 4; i++ ){

  angkacak[i] = angkaRandom.nextInt( 9 );
 
  if ( i % 4 == 0 )
   System.out.println();
   System.out.print(angkacak[i]+” “);
  }
           System.out.println();
        do {
            jumdata++;
        int cacah=1;
        for(i = 0; i<data.length; i++){
            System.out.print(“Masukkan bilangan ke-“+cacah+”= “);
            data [i]= scan.nextInt();       
     
            if(data[i]<0||data[i]>9) {
            System.out.print(“Angka yang di input berkisar 0-9”
                    + “masukkan lagi angka ke-“+cacah+”= “);
            data [i]= scan.nextInt();       
            scan.nextLine(); 
            }
            else if ((data[i]>0)||(data[i]<9)){
                    }
            if (data[i]==angkacak[i]){
                 System.out.println(“benar”);
            }
            else if (data[i]!=angkacak[i]){
                System.out.println(“salah”);
            }
            else {
                System.out.println(“Anda kalah”);
            }
 cacah++; } 
                 }
     
             while ( angkacak[0]!=data[0] || angkacak[1]!=data[1]||
                angkacak[2]!=data[2]|| angkacak[3]!=data[3]);
        System.out.print(“Anda menang”);
               
     
}
}

Hasilnya:

ANDA MENANG

Related Post