Rabu, 05 Desember 2012

Contoh Array 2 Dimensi (2D) pada Java

Hello kawan bloggers...
Sudah lama saya tidak posting di blog ini. Maklum, 2 minggu yang lalu laptop saya rusak. Alhamdulillah ada teman sekelas saya yang mau membantu saya untuk menyerviskan laptop saya, jadi sekarang sudah betul dan bisa posting lagi. 

Pada kesempatan kali ini saya mau berbagi ilmu tentang Programming Language (Bahasa Pemrograman) Java dengan menggunakan software Neatbeans. Saya tidak perlu menulis panjang lebar apa itu bahasa pemrograman, karena saya yakin anda pasti sudah tahu apa itu Bahasa Pemrograman kalau anda memang seorang mahasiswa yang mengambil jurusan TI, SI, atau lainnya yang memang mempunya mata kuliah Bahasa Pemrograman.

Di sini saya akan menggunakan Array 2 Dimensi (2D). Perintahnya adalah 
1. Buatlah program untuk menghitung jumlah matriks A dan B

jawab :
import java.util.Scanner;

/**
 * @author user
 */
public class Array2DExample {

 /**
  * @param args the command line arguments
  */
 public static void main(String[] args) {
  Scanner input = new Scanner(System.in);

  int[][] x = {{1, 2, 3}, {4, 5, 6}};
  int[][] y = {{3, 6, 1}, {-4, 7, 9}};

  int baris = 2;
  int kolom = 3;
  int[][] z = new int[baris][kolom];

  System.out.println("ini adalah matrix x");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    System.out.print(x[i][j] + " ");
   }
   System.out.println();
  }

  System.out.println("ini adalah matrix y");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    System.out.print(y[i][j] + " ");
   }
   System.out.println();
  }
  // rumus pengurangan
  System.out.println("Hasil Pengurangan");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    z[i][j] = x[i][j] - y[i][j];
    System.out.print(z[i][j] + " ");
   }
   System.out.println();
  }
 }
}


2. Buatlah program untuk menghitung perkalian matriks A ordo 3x3 dengan matriks B ordo 3x3
jawab:
/**
 * @author user
 */
public class s {

 /**
  * @param args the command line arguments
  */
 public static void main(String[] args) {
  int[][] a = {{2, 0, -1}, {1, 1, 1}, {-1, 0, 2}};
  int[][] b = {{3, 1, 0}, {0, 1, 1}, {-2, 2, 2}};
  int baris = 3;
  int kolom = 3;

  System.out.println("=======MATRIKS A========");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    System.out.print(a[i][j] + " ");
   }
   System.out.println();
  }
  System.out.println("=======MATRIKS B========");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    System.out.print(b[i][j] + " ");
   }
   System.out.println();
  }
  // menghitung matriks C = A*B
  /*
   *  c[0][0] = a[0][0]*b[0][0]+a[0][1]*b[1][0]+a[0][2]*b[2][0] --> DASAR PERHITUNGANNYA
   */
  int[][] c;
  c = new int[baris][kolom];

  // cara 9 kali looping
  c[0][0] = 0;
  for (int k = 0; k < kolom; k++) {
   c[0][0] = c[0][0] + a[0][k] * b[k][0];
  }

  c[0][1] = 0;
  for (int k = 0; k < kolom; k++) {
   c[0][1] = c[0][1] + a[0][k] * b[k][1];
  }

  c[0][2] = 0;
  for (int k = 0; k < kolom; k++) {
   c[0][2] = c[0][2] + a[0][k] * b[k][2];
  }

  c[1][0] = 0;
  for (int k = 0; k < kolom; k++) {
   c[1][0] = c[1][0] + a[1][k] * b[k][0];
  }

  c[1][1] = 0;
  for (int k = 0; k < kolom; k++) {
   c[1][1] = c[1][1] + a[1][k] * b[k][1];
  }

  c[1][2] = 0;
  for (int k = 0; k < kolom; k++) {
   c[1][2] = c[1][2] + a[1][k] * b[k][2];
  }

  c[2][0] = 0;
  for (int k = 0; k < kolom; k++) {
   c[2][0] = c[2][0] + a[2][k] * b[k][0];
  }

  c[2][1] = 0;
  for (int k = 0; k < kolom; k++) {
   c[2][1] = c[2][1] + a[2][k] * b[k][1];
  }

  c[2][2] = 0;
  for (int k = 0; k < kolom; k++) {
   c[2][2] = c[2][2] + a[2][k] * b[k][2];
  }

  // cara 3 kali looping
  for (int j = 0; j < kolom; j++) {
   c[0][j] = 0;
   for (int k = 0; k < kolom; k++) {
    c[0][j] = c[0][j] + a[0][k] * b[k][j];
   }
  }
  for (int j = 0; j < kolom; j++) {
   c[1][j] = 0;
   for (int k = 0; k < kolom; k++) {
    c[1][j] = c[1][j] + a[1][k] * b[k][j];
   }
  }
  for (int j = 0; j < kolom; j++) {
   c[2][j] = 0;
   for (int k = 0; k < kolom; k++) {
    c[2][j] = c[2][j] + a[2][k] * b[k][j];
   }
  }

  // cara 1 kali looping
  for (int i = 0; i < kolom; i++) {
   for (int j = 0; j < kolom; j++) {
    c[i][j] = 0;
    for (int k = 0; k < kolom; k++) {
     c[i][j] = c[i][j] + a[i][k] * b[k][j];
    }
   }
  }
  System.out.println("=======HASIL PERKALIAN MATRIKS AB========");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    System.out.print(c[i][j] + " ");
   }
   System.out.println();
  }
 }
}


KETERANGAN :
Anda bisa menggunakan salah satu program di atas dengan cara dikunci menggunakan simbol "/*.....*/"
misal anda ingin menggunakan cara dengan menggunakan 9 looping, berarti yang anda kunci adalah

/*
  // cara 3 kali looping
  for (int j = 0; j < kolom; j++) {
   c[0][j] = 0;
   for (int k = 0; k < kolom; k++) {
    c[0][j] = c[0][j] + a[0][k] * b[k][j];
   }
  }
  for (int j = 0; j < kolom; j++) {
   c[1][j] = 0;
   for (int k = 0; k < kolom; k++) {
    c[1][j] = c[1][j] + a[1][k] * b[k][j];
   }
  }
  for (int j = 0; j < kolom; j++) {
   c[2][j] = 0;
   for (int k = 0; k < kolom; k++) {
    c[2][j] = c[2][j] + a[2][k] * b[k][j];
   }
  }

  // cara 1 kali looping
  for (int i = 0; i < kolom; i++) {
   for (int j = 0; j < kolom; j++) {
    c[i][j] = 0;
    for (int k = 0; k < kolom; k++) {
     c[i][j] = c[i][j] + a[i][k] * b[k][j];
    }
   }
  }
  System.out.println("=======HASIL PERKALIAN MATRIKS AB========");
  for (int i = 0; i < baris; i++) {
   for (int j = 0; j < kolom; j++) {
    System.out.print(c[i][j] + " ");
   }
   System.out.println();
  }
  */
Selamat mencoba....
Semoga bermanfaat ^_^   

Tidak ada komentar:

Posting Komentar