Bermain Dengan Array, Kembangkan Imajinasi

Untuk mempelajari array dalam pemrograman memang mutlak diperlukan. Namun, tanpa contoh yang bisa dipahami atau yang menyenangkan, bagi pemula tentunya akan menjadi hal yang sulit.

Oke, misalnya didalam sebuah kotak terdapat 50 bola kecil tercampur, bola itu terdiri dari :
  • 10 bola berwarna merah dengan tanda nomor 1 sampai 10 terdapat pada bola
  • 10 bola berwarna hijau dengan tanda nomor 1 sampai 10 terdapat pada bola
  • 10 bola berwarna kuning dengan tanda nomor 1 sampai 10 terdapat pada bola
  • 10 bola berwrna putih dengan tanda nomor 1 sampai 10 terdapat pada bola
  • 10 bola berwarna hitam dengan tanda nomor 1 sampai 10 terdapat pada bola
Bagaimanakah cara membuat program dengan array, untuk dapat menunjukkan bola apa saja yang muncul pada pengambilan 5 bola secara acak?




Karena terdapat total bola sebanyak 50 buah, maka keseluruhan bola dapat direpesentasikan dengan array dengan variabel misalnya bola, kemudian dengan nilai inisial 0 sampai 49, seperti di bawah ini:

int bola [] = new int [50];

//inisialisasi bola
for (int i = 0; i < bola.length; i++){
bola[i] = i;
}

Dari array tersebut, indexBola 0 - 9 akan merepresentasikan 10 bola merah, indexBola 10-19 merepresentasikan 10 bola hijau, indexBola 20-29 merepresentasikan 10 bola kuning, indexBola 30-39 merepresentasikan 10 bola putih dan indexBola 40 - 49 merepresentasikan 10 bola hitam.

Terus misalkan jumlah nomor dari 5 bola yang terambil tersebut akan disesuaikan dengan hadiah, contohnya nih:
  • Jumlah nomor dari 5 bola > 40, mendapatkan hadiah A
  • Jumlah nomor dari 5 bola > 30, mendapatkan hadiah B
  • Jumlah nomor dari 5 bola > 20, mendapatkan hadiah C
  • Jumlah nomor dari 5 bola > 10, mendapatkan hadiah D
  • Jumlah nomor dari 5 bola < 10, mendapatkan zonk!
Berikut ini adalah contoh programnya:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
public class BolaAcak {
 
 public static void main (String args []){
  
  int bola [] = new int [50];
  String warnaBola[] = {"Merah", "Hijau", "Kuning", "Putih", "Hitam"};
  int nomorBola []= {1,2,3,4,5,6,7,8,9,10};
  
  //inisialisasi bola dengan index 0 - 49
  for (int i = 0; i < bola.length; i++){
  bola[i] = i;
  }
  
  //Melakukan pengacakan bola di dalam kotak
  for (int i = bola.length-1; i > 0; i--) {
      // Membuat index j secara random dengan 0 <= j <= i
      int j = (int)(Math.random()* (i + 1));
      // Tukar bola[i] dengan bola[j]
      int temp = bola[i];
      bola[i] = bola[j];
      bola[j] = temp;
  }
  
  //Menampilkan 5 bola yang terambil
  int jumlahTotal = 0;
  for (int i = 0; i < 5; i++){
   String warnaBolaKu = warnaBola[bola[i] / 10];
   int nomorBolaKu = nomorBola[bola[i] % 10];
   
   System.out.println ("Terambil bola dengan index ke " + bola[i] +
     " dengan nomor bola "+ nomorBolaKu + " berwarna " 
     + warnaBolaKu);
   jumlahTotal = jumlahTotal + nomorBola[bola[i] % 10];
   
  }
  
  System.out.println("Jumlah total nomor bola terambil adalah " 
    + jumlahTotal);
  
  if(jumlahTotal > 40)
   System.out.print("Selamat anda mendapatkan hadiah A");
    else if (jumlahTotal > 30)
     System.out.print("Selamat anda mendapatkan hadiah B");
     else if (jumlahTotal > 20)
      System.out.print("Selamat anda mendapatkan hadiah C");
      else if (jumlahTotal > 10)
       System.out.print("Selamat anda mendapatkan hadiah D");
       else
        System.out.print("Nasib anda mendapatkan zonk!");
 }

}

Output:
Terambil bola dengan index ke 13 dengan nomor bola 4 berwarna Hijau
Terambil bola dengan index ke 47 dengan nomor bola 8 berwarna Hitam
Terambil bola dengan index ke 36 dengan nomor bola 7 berwarna Putih
Terambil bola dengan index ke 5 dengan nomor bola 6 berwarna Merah
Terambil bola dengan index ke 0 dengan nomor bola 1 berwarna Merah
Jumlah total nomor bola terambil adalah 26
Selamat anda mendapatkan hadiah C


Tidak ada komentar

Bahasa Java. Diberdayakan oleh Blogger.