. .

TUGAS & LATIHAN: Bahasa Pemrograman JAVA Netbeans IDE Matriks Pengurangan, Penjumlahan Dan Perkalian  

Posted by CHRISTIANTO D,WIBOWO | D3MI-2016 STMIK BUMI GORA On Minggu, Desember 11, 2016 No comments

TUGAS dan LATIHAN
Buatlah 3 Java Program yang mampu memproses :

  1. Matriks Penjumlahan - Java Program
  2. Matriks Pengurangan - Java Program
  3. Matriks Perkalian - Java Program
Matriks Penjumlahan - Java Program
Sebuah matriks dapat direpresentasikan di Java sebagai array dua dimensi dengan panjang array 2D sama dengan jumlah baris matriks dan panjang sub array sama dengan jumlah kolom dari matriks. Misalnya, matriks order 3 * 7 akan direpresentasikan sebagai matriks 2D array matrix[3][7]. Dua tingkatan bersarang -  nested for loop akan digunakan untuk membaca matriks input dari keyboard. outer loop counter, berkisar dari 0 sampai jumlah baris dari matriks sementara inner loop counter, j berkisar dari 0 sampai jumlah kolom dari matriks. Dalam inner loop, bilangan bulat masukan akan dibaca menggunakan metode nextInt() scanner class dan disimpan pada posisi [i][j] dari array.

Setelah dua matriks dibaca, kita menggunakan Dua tingkatan bersarang -  nested for loop dengan counter lingkaran mirip dengan yang digunakan untuk menambahkan matriks. Unsur-unsur di [i] [j] dari dua matriks masukan ditambahkan dan hasilnya disimpan pada posisi [i] [j] dari matriks hasil. Untuk pengurangan, prosedur yang sama diikuti kecuali bahwa kita kurangi unsur di [i] [j] bukannya menambahkan mereka.

Akhirnya, kami mencetak matriks menggunakan bersarang -  nested for loop. Kita ingin mencetak array dalam bentuk matriks persegi panjang. Untuk tujuan ini, kita menggunakan print () bukan println () untuk menampilkan nilai-nilai dalam loop batin. Pada akhir inner loop, kita menggunakan statement println () tanpa argumen untuk pindah ke baris berikutnya.

Maka Program Java lengkap untuk penambahan dua matriks adalah :
//@uthor Christianto "GEMBLONG" Dharma Wibowo
package matrikspenjumlahan;
import java.util.Scanner;
public class MatriksPenjumlahan {
public static void main(String[] args) {
       System.out.println("MATRIKS PENJUMLAHAN");
       System.out.println("-------------------");
       Scanner s = new Scanner(System.in);
       System.out.print("Masukkan Jumlah Baris Nomor: ");
       int rows = s.nextInt();
       System.out.print("Masukkan Jumlah Kolom Nomor: ");
       int columns = s.nextInt();
       int[][] a = new int[rows][columns];
       int[][] b = new int[rows][columns];
       System.out.println("Masukkan Angka-angka Matriks Pertama");
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               a[i][j] = s.nextInt();
           }
       }
       System.out.println("Masukkan Angka-angka Matriks Kedua");
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               b[i][j] = s.nextInt();
           }
       }
       int[][] c = new int[rows][columns];
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               c[i][j] = a[i][j] + b[i][j];
           }
       }
       System.out.println("Hasil Penjumlahan Dari Kedua Matriks Adalah");
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               System.out.print(c[i][j] + " ");
           }
           System.out.println();
       }
   }
}
Matriks Pengurangan - Java Program
Untuk pengurangan, tanda plus dalam baris kode 'c [i] [j] = a [i] [j] + b [i] [j];' harus diubah menjadi tanda minus.
  c[i][j] = a[i][j] - b[i][j];
Dalam program di atas, banyak kode berulang-ulang. Kita telah menggunakan kode yang sama untuk membaca dua matriks. Jika kedua penambahan dan pengurangan yang harus dilakukan, kode untuk mencetak matriks juga akan digandakan dua kali. Daripada menulis kode yang sama beberapa kali, kita dapat menggunakan metode. Diberikan di bawah adalah versi modifikasi yang mengambil dua masukan Matriks A dan B dan melakukan tiga operasi, A + B, A-B, B-A.

Maka Program Java lengkap untuk pengurangan dua matriks dengan mengunakan metode adalah :
//@uthor Christianto "GEMBLONG" Dharma Wibowo
package matrikspengurangan;
import java.util.Scanner;
public class MatriksPengurangan {
public static void main(String[] args) {
        System.out.println("MATRIKS PENGURANGAN");
        System.out.println("-------------------");
       Scanner scanner = new Scanner(System.in);
       System.out.print("Masukkan Jumlah Baris Nomor : ");
       int rows = scanner.nextInt();
       System.out.print("Masukkan Jumlah Kolom Nomor: ");
       int columns = scanner.nextInt();
       System.out.println();
       System.out.println("Masukkan Angka-angka Matriks Pertama");
       int[][] a = readMatrix(rows, columns);
       System.out.println();
       System.out.println("Masukkan Angka-angka Matriks Kedua");
       int[][] b = readMatrix(rows, columns);
       int[][] sum = add(a, b);
       int[][] difference1 = subtract(a, b);
       int[][] difference2 = subtract(b, a);
       System.out.println();
       System.out.println("A + B =");
       printMatrix(sum);
       System.out.println();
       System.out.println("A - B =");
       printMatrix(difference1);
       System.out.println();
       System.out.println("B - A =");
       printMatrix(difference2);
   }

   public static int[][] readMatrix(int rows, int columns) {
       int[][] result = new int[rows][columns];
       Scanner s = new Scanner(System.in);
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               result[i][j] = s.nextInt();
           }
       }
       return result;
   }

   public static int[][] add(int[][] a, int[][] b) {
       int rows = a.length;
       int columns = a[0].length;
       int[][] result = new int[rows][columns];
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               result[i][j] = a[i][j] + b[i][j];
           }
       }
       return result;
   }

   public static int[][] subtract(int[][] a, int[][] b) {
       int rows = a.length;
       int columns = a[0].length;
       int[][] result = new int[rows][columns];
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               result[i][j] = a[i][j] - b[i][j];
           }
       }
       return result;
   }

   public static void printMatrix(int[][] matrix) {
       int rows = matrix.length;
       int columns = matrix[0].length;
       for (int i = 0; i < rows; i++) {
           for (int j = 0; j < columns; j++) {
               System.out.print(matrix[i][j] + " ");
           }
           System.out.println();
       }
    }
 
}
Matrix Perkalian - Java Program
Saatnya menyelesaikan Tugas Matriks Perkalian - Java Program dan belajar bagaimana menulis sebuah program perkalian matriks di Java. Tiga tingkat bersarang loop - three level nested loop digunakan untuk melakukan perkalian.

Tempatkan dua matriks dikalikan  A dan B. Misalkan A matriks d*e d baris dan e kolom dan B adalah matriks kedua e*f. Perhatikan bahwa jumlah kolom dalam matriks pertama harus sama dengan jumlah baris dalam matriks kedua. Matriks hasil akan menjadi berurutan d * f. Sekarang, tugas kita adalah untuk menemukan nomor apa yang  masuk ke masing-masing posisi matriks C dengan baris d dan kolom f. Kita menggunakan loop luar dengan lingkaran counter - outer loop with loop counter, kita mulai dari 0 sampai d. inner loop memiliki counter loop j mulai dari 0 sampai f. Pada setiap iterasi dari loop, kita mengacu pada jumlah baris dan j dengan jumlah kolom dari posisi dalam matriks C yang sedang kita usahakan terisi. Sekarang, dalam tubuh inner loop, kita harus menulis beberapa kode yang akan menghitung nilai yang akan diisi. Bagian ini pada gilirannya akan terdiri dari satu lingkaran. Ketika kita memperoleh nilai di C [i] [j], baris i dari matriks A dan kolom j dari matriks B adalah elemen yang akan dikalikan. Maka formulasi operasi matriks perkalian ini menjadi seperti ini :
C[i][j] = A[i][0] * B[0][j] + A[i][1] * B[1][j] + A[i][2] * B[2][j] + .... A[i][e-1] * B[e-1][j
Kedua baris i dan kolom j memiliki elemen e. Loop yang digunakan counter k, berkisar dari 0 sampai e-1. Dalam loop, A [i] [k] dan B [k] [j] dikalikan dan hasil yang diperoleh ditambahkan ke nilai yang ada dari C [i] [j]. Kita juga dapat mendeklarasikan jumlah variabel sebelum dimulainya loop terdalam - inner loop, menambahkan elemen hasil untuk variabel ini dan menetapkan jumlah yang dihasilkan ke C [i] [j].
Maka Program Java lengkap untuk matriks perkalian adalah :
//@uthor Christianto "GEMBLONG" Dharma Wibowo
package matriksperkalian;
import java.util.Scanner;
public class MatriksPerkalian {
public static void main(String[] args) {
    System.out.println("MATRIKS PERKALIAN");
    System.out.println("-----------------");
       Scanner s = new Scanner(System.in);
       System.out.print("Masukkan Jumlah Baris Matriks A: ");
       int rowsInA = s.nextInt();
       System.out.print("Masukkan Jumlah Dari Kolom Matriks A / Baris Matriks B: ");
       int columnsInA = s.nextInt();
       System.out.print("Masukkan Jumlah Dari Kolom Matriks B: ");
       int columnsInB = s.nextInt();
       int[][] a = new int[rowsInA][columnsInA];
       int[][] b = new int[columnsInA][columnsInB];
       System.out.println("Masukkan Nilai Matriks A");
       for (int i = 0; i < a.length; i++) {
           for (int j = 0; j < a[0].length; j++) {
               a[i][j] = s.nextInt();
           }
       }
       System.out.println("Masukkan Nilai Matriks B");
       for (int i = 0; i < b.length; i++) {
           for (int j = 0; j < b[0].length; j++) {
               b[i][j] = s.nextInt();
           }
       }
       int[][] c = multiply(a, b);
       System.out.println("Hasil Perkalian Matriks A and B Adalah");
       for (int i = 0; i < c.length; i++) {
           for (int j = 0; j < c[0].length; j++) {
               System.out.print(c[i][j] + " ");
           }
           System.out.println();
       }
   }

   public static int[][] multiply(int[][] a, int[][] b) {
       int rowsInA = a.length;
       int columnsInA = a[0].length; // same as rows in B
       int columnsInB = b[0].length;
       int[][] c = new int[rowsInA][columnsInB];
       for (int i = 0; i < rowsInA; i++) {
           for (int j = 0; j < columnsInB; j++) {
               for (int k = 0; k < columnsInA; k++) {
                   c[i][j] = c[i][j] + a[i][k] * b[k][j];
               }
           }
       }
       return c;
    }
 
}
Rumit, itu pasti...!!! tetapi dengan mempelajarinya dengan sepenuh hati pasti akan mudah mengerti.
TAMPIASIH

0 komentar:

Posting Komentar