Memahami Proses Pada Array Dua Dimensi Java

Bagaimana Melakukan Proses Pada Array Dua Dimensi?

Seperti halnya pada proses array satu dimensi (array biasa), penggunaan for loop dalam hal ini menjadi aspek yang sangat penting dan harus dikuasai terlebih dahulu. Oleh karena itu, bagi para pemula terlebih dahulu harus memahami mengenai for loop ini.
Proses Pada Array Dua Dimensi - Belajar Java Pemula

Untuk proses pada array dua dimensi, for loop bersarang sering digunakan. Penggunaan for loop bersarang ini dapat melakukan proses untuk insialisasi array oleh user secara manual, inisialisasi array secara random, penjumlahan array,  dan sebagainya.


Berikut ini adalah beberapa fundamental pengoperasian array dua dimensi dengan menggunakan for loop bersarang (nested for loop) :
  • Menginisialisasi array dengan input dari user.
    Untuk menginisialisasi array dua dimensi kita bisa menggunakan for loop bersarang, sementara itu, untuk memperoleh input dari user kita bisa menggunakan class Scanner.

    import java.util.Scanner;
    
    public class ArrayDuaDimensi {
     
     public static void main (String [] args){
      
      //Membuat array dua dimensi 5 baris dan 4 kolom tipe int
      int[][] array = new int[5][4];
      
      // membuat objek dari class Scanner
      Scanner input = new Scanner(System.in);
      
      //Membuat prompt user untuk memasukkan elemen array
      System.out.println("Masukkan " + array.length + " baris dan " +
      array[0].length + " kolom: ");
      
      
      //For loop bersarang untuk inisialisasi array
      //outer loop
      for (int baris = 0; baris < array.length; baris++) {
       //inner loop
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
         array[baris][kolom] = input.nextInt();
       }
      }
      
      System.out.println("Array telah diinisialisasi");
      
      /*
                0   1  2   3
               --------------
       0---     1   2   3    4
       1---     5   6   7    8
       2---     9   10  11  12
       3---     13  14  15  16
       4---     17  18  19  20
    
       */
      
      //Cek elemen array di index [0][0]
      System.out.println("Elemen array di index [0][0] adalah " + array[0][0]);
      
      //Cek elemen array di index [3][2]
      System.out.println("Elemen array di index [3][2] adalah " + array[3][2]);
      
      //Cek elemen array di index [4][3]
      System.out.println("Elemen array di index [4][3] adalah " + array[4][3]);
      
      //Cek length array
      System.out.println("Length array adalah " + array.length);
      
      System.out.println("Length array[0] adalah " + array[0].length);
      System.out.println("Length array[1] adalah " + array[1].length);
      System.out.println("Length array[2] adalah " + array[2].length);
      System.out.println("Length array[3] adalah " + array[3].length);
      System.out.println("Length array[4] adalah " + array[4].length);
      
     } 
    }
    

    Contoh Output :
    Masukkan 5 baris dan 4 kolom: 
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    Array telah diinisialisasi
    Elemen array di index [0][0] adalah 1
    Elemen array di index [3][2] adalah 15
    Elemen array di index [4][3] adalah 20
    Length array adalah 5
    Length array[0] adalah 4
    Length array[1] adalah 4
    Length array[2] adalah 4
    Length array[3] adalah 4
    Length array[4] adalah 4
    
  • Menginisialisasi Array Dengan Angka Random Dan Kemudian Menampilkan Array Tersebut.
Disini array diinisialisasi secara random dengan elemen int antara 0 - 99. Untuk membuat angka random menggunakan method static yaitu random( ) dari class Math.

public class ArrayDuaDimensiRandom {
 
 public static void main (String [] args){
  
  //Membuat array dua dimensi
  int[][] array = new int[5][4];
  
  //For loop bersarang untuk inisialisasi array
  
  //outer loop
  for (int baris = 0; baris < array.length; baris++) {
   
   //inner loop
   for (int kolom = 0; kolom < array[baris].length; kolom++) {
     //Membuat elemen array dengan angka random
     array[baris][kolom] = (int)(Math.random()*100);
     System.out.print(array[baris][kolom] + "\t");
   }
   System.out.println();
  }
  
  System.out.println("Array telah diinisialisasi secara random");
  System.out.println();
  //Cek elemen array di index [0][0]
  System.out.println("Elemen array di index [0][0] adalah " + array[0][0]);
  
  //Cek elemen array di index [3][2]
  System.out.println("Elemen array di index [3][2] adalah " + array[3][2]);
  
  //Cek elemen array di index [4][3]
  System.out.println("Elemen array di index [4][3] adalah " + array[4][3]);
  System.out.println();
  //Cek length array
  System.out.println("Length array adalah " + array.length);
  
  System.out.println("Length array[0] adalah " + array[0].length);
  System.out.println("Length array[1] adalah " + array[1].length);
  System.out.println("Length array[2] adalah " + array[2].length);
  System.out.println("Length array[3] adalah " + array[3].length);
  System.out.println("Length array[4] adalah " + array[4].length);
  
 } 
}

Contoh Output:

54 38 40 48 
51 13 5  1 
50 1  98 49 
29 83 45 75 
0  60 61 81 
Array telah diinisialisasi secara random

Elemen array di index [0][0] adalah 54
Elemen array di index [3][2] adalah 45
Elemen array di index [4][3] adalah 81

Length array adalah 5
Length array[0] adalah 4
Length array[1] adalah 4
Length array[2] adalah 4
Length array[3] adalah 4
Length array[4] adalah 4



  • Membuat elemen array secara random kemudian menjumlahkannya.

    Untuk menjumlahkan semua elemen array dua dimensi, maka kita pertama-tama menginisialisasi variabel  jumlahTotal ke 0. Kemudian setelah elemen ditetapkan secara random, melalui for loop bersarang kita bisa  menghitung jumlah total elemen array.


  • public class PenjumlahanArrayDuaDimensi {
      
      public static void main (String [] args){
       
       //Membuat array dua dimensi
       int[][] array = new int[5][4];
       
       //For loop bersarang untuk inisialisasi array
       
       //Inisialisasi jumlah total di nol
       int jumlahTotal = 0;
       
       //outer loop
       for (int baris = 0; baris < array.length; baris++) {
        //inner loop
        for (int kolom = 0; kolom < array[baris].length; kolom++) {
         
          //Membuat elemen array dengan angka random
          array[baris][kolom] = (int)(Math.random()*100);
          
          //Menampilkan elemen-elemen array tersebut
          System.out.print(array[baris][kolom] + "\t");
          
          //Menjumlahkan total elemen array
          jumlahTotal += array[baris][kolom];
          
        }
        
        System.out.println();
        
       }
       System.out.println("Array telah diinisialisasi secara random");
       System.out.println();
       
       //menampilkan jumlah total elemen array
       System.out.println("Jumlah total elemen array adalah " + jumlahTotal);
       
       
       System.out.println();
       //Cek elemen array di index [0][0]
       System.out.println("Elemen array di index [0][0] adalah " + array[0][0]);
       
       //Cek elemen array di index [3][2]
       System.out.println("Elemen array di index [3][2] adalah " + array[3][2]);
       
       //Cek elemen array di index [4][3]
       System.out.println("Elemen array di index [4][3] adalah " + array[4][3]); 
       
      } 
    }
    

    Contoh output:
    58 63 72 89 
    97 48 91 78 
    7  85 90 72 
    19 57 82 26 
    52 40 75 11 
    Array telah diinisialisasi secara random
    
    Jumlah total elemen array adalah 1212
    
    Elemen array di index [0][0] adalah 58
    Elemen array di index [3][2] adalah 82
    Elemen array di index [4][3] adalah 11
    



  • Membuat elemen array secara random kemudian menghitung jumlah elemennya per-kolom.
    Di bawah ini adalah contoh menghitung elemen array dalam setiap kolom, di mana array telah diinisialisasi secara random terlebih dahulu.


  • public class PenjumlahanKolomArrayDuaDimensi {
     
     public static void main (String [] args){
      
      //Membuat array dua dimensi
      int[][] array = new int[5][4];
      
      //For loop bersarang untuk inisialisasi array
    
      //outer loop
      for (int baris = 0; baris < array.length; baris++) {
       
       //inner loop
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
        
        //Membuat elemen array dengan angka random
        array[baris][kolom] = (int)(Math.random()*100);
        
         System.out.print(array[baris][kolom] + "\t");
        
       }  
       
       
       System.out.println();
      }
      System.out.println();
      System.out.println("Array telah diinisialisasi secara random");
      System.out.println();
      
      System.out.println("Sekarang jumlah tiap kolom akan di hitung :");
      
      //Nested loop untuk menghitung jumlah elemen per-kolom
      
      for (int kolom = 0; kolom < array[0].length; kolom++) {
       int total = 0;//inisialisasi jumlah total elemen per-kolom
       
       for (int baris = 0; baris < array.length; baris++)
        total += array[baris][kolom];
        System.out.println("Jumlah untuk kolom " + kolom + " adalah "
          + total);
       
      }
     } 
    }
    

    Contoh output:
    54 78 32 74 
    53 67 97 88 
    36 48 45 77 
    93 25 83 86 
    51 47 76 39 
    
    Array telah diinisialisasi secara random
    
    Sekarang jumlah tiap kolom akan di hitung :
    Jumlah untuk kolom 0 adalah 287
    Jumlah untuk kolom 1 adalah 265
    Jumlah untuk kolom 2 adalah 333
    Jumlah untuk kolom 3 adalah 364
    

    • Membuat elemen array secara random dan menghitung jumlah elemen setiap baris.
    Di bawah ini adalah contoh menghitung elemen array dalam setiap baris, di mana array telah diinisialisasi secara random terlebih dahulu.

    public class PenjumlahanBarisArrayDuaDimensi {
     
     public static void main (String [] args){
      
      //Membuat array dua dimensi
      int[][] array = new int[5][4];
      
      //For loop bersarang untuk inisialisasi array
    
      //outer loop
      for (int baris = 0; baris < array.length; baris++) {
       
       //inner loop
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
        
        //Membuat elemen array dengan angka random
        array[baris][kolom] = (int)(Math.random()*100);
        
         System.out.print(array[baris][kolom] + "\t");
        
       }  
       
       
       System.out.println("");
      }
      System.out.println();
      System.out.println("Array telah diinisialisasi secara random");
      System.out.println();
      
      System.out.println("Sekarang jumlah tiap baris akan di hitung :");
      
      //Nested loop untuk menghitung jumlah elemen per-baris
      
      for (int baris = 0; baris < array.length; baris++) {
       int total = 0;//inisialisasi jumlah total elemen per-baris
       
       for (int kolom = 0; kolom < array[baris].length; kolom++)
        total += array[baris][kolom];
        System.out.println("Jumlah untuk baris " + baris + " adalah "
          + total);
       
      }
     } 
    }
    

    Contoh output:
    80 87 51 21 
    74 47 90 78 
    54 45 77 47 
    28 3  81 78 
    64 44 64 24 
    
    Array telah diinisialisasi secara random
    
    Sekarang jumlah tiap baris akan di hitung :
    Jumlah untuk baris 0 adalah 239
    Jumlah untuk baris 1 adalah 289
    Jumlah untuk baris 2 adalah 223
    Jumlah untuk baris 3 adalah 190
    Jumlah untuk baris 4 adalah 196
    
    • Menentukan baris dengan jumlah elemen terbesar pada array.
      Di bawah ini adalah contoh untuk menentukan pada baris di mana jumlah maksimum array berada,  setelah array telah diinisialisasi secara random terlebih dahulu.

    public class BarisMax {
     
    public static void main (String [] args){
      
      //Membuat array dua dimensi
      int[][] array = new int[5][4];
      
      //For loop bersarang untuk inisialisasi array
    
      //outer loop
      for (int baris = 0; baris < array.length; baris++) {
       
       //inner loop
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
        
        //Membuat elemen array dengan angka random
        array[baris][kolom] = (int)(Math.random()*100);
        
         System.out.print(array[baris][kolom] + "\t");
        
       }  
       
       System.out.println("");
      }
      System.out.println();
      System.out.println("Array telah diinisialisasi secara random");
      System.out.println();
      
      System.out.println("Sekarang jumlah tiap baris akan di hitung :");
      
      /*
       Menggunakan variabel barisMaximum dan indexBarisMaximum
       untuk melacak jumlah terbesar dan index baris tersebut.
       Untuk setiap baris, hitung jumlah elemennya dan update
       barisMaximum dan indexBarisMaximum jika jumlah baris yang
       baru lebih besar.
      */
      
      int barisMaximum = 0;
      int indexBarisMaximum = 0;
      
      //Mendapatkan jumlah dari baris pertama dalam barisMaximum
      for (int kolom = 0; kolom < array[0].length; kolom++) {
       barisMaximum += array[0][kolom];
       }
      
      for (int baris = 1; baris < array.length; baris++) {
       int totalBarisIni = 0;//Inisialisasi jumlah total baris ini di nol
       
       //Menghitung jumlah total baris ini
       for (int kolom = 0; kolom < array[baris].length; kolom++)
        totalBarisIni += array[baris][kolom];
       
       //update barisMaximum dan indexBarisMaximum jika jumlah
       //baris yang baru lebih besar
       if (totalBarisIni > barisMaximum) {
        barisMaximum = totalBarisIni;
        indexBarisMaximum = baris;
        }
       }
      
      System.out.println("Baris " + indexBarisMaximum
        + " memiliki jumlah maksimum yaitu " + barisMaximum);
      }
    
    }
    

    Contoh output:
    54 52 89 87 
    13 53 23 27 
    87 74 65 39 
    18 23 54 12 
    80 21 54 66 
    
    Array telah diinisialisasi secara random
    
    Sekarang jumlah tiap baris akan di hitung :
    Baris 0 memiliki jumlah maksimum yaitu 282
    
    • Random shuffling pada array dua dimensi.
      Random shuffling untuk array dua dimensi dilakukan menggunakan for loop yaitu untuk setiap elemen array[baris][kolom] menghasilkan index barisl dan koloml, kemudian menukar array[baris][kolom] dengan array[barisl][koloml], sebagai berikut :

    public class RandomShufflingArrayDuaDimensi {
     
     public static void main (String [] args){
      
      //Membuat array dua dimensi
      int[][] array = new int[5][4];
      
      //For loop bersarang untuk inisialisasi array
      
      //outer loop
      for (int baris = 0; baris < array.length; baris++) {
       
       //inner loop
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
         
        //Membuat elemen array dengan angka random
         array[baris][kolom] = (int)(Math.random()*100); 
         System.out.print(array[baris][kolom] + "\t");
    
       }
       System.out.println();
      }
      
      System.out.println("Setelah dilakukan random shuffling: ");
      
      //for loop bersarang untuk random shuffling element array
      for (int baris = 0; baris < array.length; baris++) {
       
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
        
        int baris1 = (int)(Math.random() * array.length);
        int kolom1 = (int)(Math.random() * array[baris].length);
        int temp = array[baris][kolom];
        array[baris][kolom] = array[baris1][kolom1];
        array[baris1][kolom1] = temp;
        
        }
       
       }
      
      //Menampilkan array setelah elemennya di random shuffling 
      for (int baris = 0; baris < array.length; baris++) {
       
       //inner loop
       for (int kolom = 0; kolom < array[baris].length; kolom++) {
         //Membuat elemen array dengan angka random
        
         System.out.print(array[baris][kolom] + "\t");
    
       }
       System.out.println();
      }
       
     }
    }
    

    Contoh output:
    86 69 89 1 
    86 64 71 92 
    39 0  15 65 
    94 19 39 81 
    1  59 83 8 
    Setelah dilakukan random shuffling: 
    65 92 94 1 
    89 1  69 86 
    15 19 64 39 
    8  83 81 59 
    39 71 86 0
    

    No comments

    Bahasa Java. Powered by Blogger.