Matrix dan Implementasinya dalam pemrograman JAVA ( PART I )

Matrik adalah sekumpulan informasi yang setiap datanya mengacu pada dua buah indeks. Matrik disebut juga tabel lajur yang memiliki indeks baris dan indeks kolom. Karena adanya dua buah indeks tersebut, matrik juga disebut larik dua dimensi. Istilah dua dimensi karena data tersebut ada pada pertamuan baris dan kolom.
Dalam pemrograman, matrix bisa dibuat dengan 2 cara, yaitu :
1. menentukan elemen dan isi yang ditetapkan di awal
2. menentukan elemen baris dan kolom berdasarkan nilai perulangan

Contoh matrix yang isinya ditetapkan di awal :

public class MatrixStatis{
    public static void main(String [] args){
        String matrix[][] = {{"a","b"}, {"a","b"}, {"a","b"}};
        for(int a=0; a<3; a++){
            for(int b=0; b<2; b++){
                System.out.print( matrix[a][b] + " ");
            }
            System.out.println();
        }
    }
}


Contoh matrix yang berdasarkan nilai perulangan :

import java.util.Scanner;

public class MatrixDinamis{    

    private static Scanner scan;
    
    private static int [][]matrix;
    
    public static void main(String [] args){
        int bar = Integer.parseInt(args[0]);
        int kol = Integer.parseInt(args[1]);
        /*System.out.println("Baris = "+bar);
        System.out.println("Kolom = "+kol);*/
        matrix = new int[bar][kol];
        inputValueMatrix(bar, kol);
        displayMatrix(bar, kol);
    }
    
    public static void inputValueMatrix(int bar, int kol){
        scan = new Scanner(System.in);
        for (int a=0; a<bar; a++){
            for(int b=0; b<kol; b++){
                System.out.print("input index ["+a+","+b+"] =");
                matrix[a][b] = scan.nextInt();
            }
        }
    }
    
    public static void displayMatrix(int bar, int kol){
        for(int a=0; a<bar; a++){
            for(int b=0; b<bar; b++){
                System.out.print(matrix[a][b] + " ");
            }
            System.out.println();
        }
    }
}


Beberapa jenis matrix khusus dan implementasinya :
1. Matriks dengan banyak baris = banyak kolom = n disebut matriks bujur sangkar berukuran (berordo n)

import java.util.Scanner;

public class MatrixOrdo{

    private static Scanner scan;
    
    private static int [][]matrix;
    
    public static void main(String [] args){
        int ordo = Integer.parseInt(args[0]);
        matrix = new int[ordo][ordo];
        inputValueMatrix(ordo, ordo);
        displayMatrix(ordo, ordo);
    }
    
    public static void inputValueMatrix(int bar, int kol){
        scan = new Scanner(System.in);
        for (int a=0; a<bar; a++){
            for(int b=0; b<kol; b++){
                System.out.print("input index ["+a+","+b+"] =");
                matrix[a][b] = scan.nextInt();
            }
        }
    }
    
    public static void displayMatrix(int bar, int kol){
        for(int a=0; a<bar; a++){
            for(int b=0; b<bar; b++){
                System.out.print(matrix[a][b] + " ");
            }
            System.out.println();
        }
    }    
}


2. Matriks nol ialah matriks yang semua elemennya 0 (ditulis matriks 0).

public class MatrixNol{

    private static int [][]matrix;
    
    public static void main(String [] args){
        int bar = Integer.parseInt(args[0]);
        int kol = Integer.parseInt(args[1]);
        matrix = new int[bar][kol];
        inputValueMatrix(bar, kol);
        displayMatrix(bar, kol);
    }
    
    public static void inputValueMatrix(int bar, int kol){
        for (int a=0; a<bar; a++){
            for(int b=0; b<kol; b++){
                matrix[a][b] = 0;
            }
        }
    }
    
    public static void displayMatrix(int bar, int kol){
        for(int a=0; a<bar; a++){
            for(int b=0; b<bar; b++){
                System.out.print(matrix[a][b] + " ");
            }
            System.out.println();
        }
    }    
    
}


3. Matriks diagonal adalah matriks bujur sangkar yang semua elemen di luar diagonal utama adalah nol

/*
	Created by Achmad Fauzi
	8 September 2014
*/

import java.util.Random;

public class MatrixDiagonal{

	private static int [][]matrix;
	
	public static void main(String [] args){
		int ordo = Integer.parseInt(args[0]);
		matrix = new int[ordo][ordo];
		createDiagonalMatrix(ordo , ordo);
		displayMatrix(ordo , ordo);
	}
	
	public static void createDiagonalMatrix(int bar, int kol){
		for(int a=0; a<bar; a++){
			for(int b=0; b<kol; b++){
				if( a == b ){
					matrix[a][b] = new Random().nextInt(9) + 1;
				}else{
					matrix[a][b] = 0;
				}
			}
		}
	}	
	public static void displayMatrix(int bar, int kol){
		for(int a=0; a<bar; a++){
			for(int b=0; b<bar; b++){
				System.out.print(matrix[a][b] + " ");
			}
			System.out.println();
		}
	}	
	
}


4. Matriks identitas (satuan) ialah matriks diagonal yang elemen-elemen diagonal utamanya adalah = 1. Matriks identitas biasa ditulis I atau In dimana n menunjukkan ukuran matriks bujur sangkar tersebut.
Contoh : MatrixIdentitas.java


import java.util.Random;

public class MatrixIdentitas{
private static int [][]matrix;

public static void main(String [] args){
int ordo = Integer.parseInt(args[0]);
matrix = new int[ordo][ordo];
createIdentityMatrix(ordo , ordo);
displayMatrix(ordo , ordo);
}

public static void createIdentityMatrix(int bar, int kol){
for(int a=0; a<bar; a++){
for(int b=0; b<kol; b++){
if( a == b ){
matrix[a][b] = 1;
}else{
matrix[a][b] = new Random().nextInt(9) + 1;
}
}
}
}

public static void displayMatrix(int bar, int kol){
for(int a=0; a<bar; a++){
for(int b=0; b<bar; b++){
System.out.print(matrix[a][b] + " ");
}
System.out.println();
}
}

}

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: