Category Archives: College

Matrix dan Implementasinya dalam Pemrograman JAVA ( Part III )

11. Determinan ( Matrix ) adalah suatu fungsi tertentu yang menghubungkan suatu bilangan real dengan suatu matriks bujur sangkar ( Wikipedia ). Berikut contoh determinan dari suatu matrix

import java.util.Random;

public class MatrixDeterminan2{

	public static void main( String [] args ){
		int ordo = Integer.parseInt( args[0] );
		int[][] matrix = createMatrix( ordo );
		showMatrix( matrix, 2);
		System.out.println( "Determinan Is " + getDeterminan( matrix ) );
	}
	
	static int[][] createMatrix( int ordo ){
		int [][] result = new int[ordo][ordo];
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++){
				result[a][b] = new Random().nextInt(9) + 1;
			}
		}
		return result;
	}
		
	static int getDeterminan( int[][] matrixOrdo2 ){
		int result = ( matrixOrdo2[0][0] * matrixOrdo2[1][1]) - ( matrixOrdo2[0][1] * matrixOrdo2[1][0] );
		return result;
	}
	
	static void showMatrix( int [][] matrix, int ordo){
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++ ){
				System.out.print( matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
	
}


12. Matrix Invers ( Kebalikan ) adalah matrix yang jika A dan B matriks bujur sangkar sedemikian rupa sehingga A B = B A = I ( Matrix Identitas ), maka B disebut balikan atau invers dari A dan dapat dituliskan B = A(invers).

import java.util.Random;

public class MatrixInvers2{

	public static void main( String [] args ){
		int ordo = Integer.parseInt( args[0] );
		double [][] matrix = createMatrix( ordo );
		showMatrix( matrix, ordo );
		double determinan = getDeterminan( matrix );
		System.out.println( "Determinan Is " +  determinan );
		double [][] invers = createInvers ( ordo, determinan, matrix );
		System.out.println( "Invers is" );
		showMatrix( invers, ordo );
	}
	
	static double[][] createMatrix( int ordo ){
		double [][] result = new double[ordo][ordo];
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++){
				result[a][b] = new Random().nextInt(9) + 1;
			}
		}
		return result;
	}
		
	static double getDeterminan( double [][] matrixOrdo2 ){
		double result = ( matrixOrdo2[0][0] * matrixOrdo2[1][1]) - ( matrixOrdo2[0][1] * matrixOrdo2[1][0] );
		return result;
	}
	
	static void showMatrix( double [][] matrix, int ordo){
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++ ){
				System.out.print( matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
	
	static double[][] createInvers ( int ordo, double determinan, double[][] matrix ){
		double [][] result = new double[ordo][ordo];
		System.out.println( "Switching index position" );
		double temp = matrix[0][0];
		matrix[0][0] = matrix[1][1];
		matrix[1][1] = temp;				
		matrix[1][0] = -1 * matrix[1][0];
		matrix[0][1] = -1 * matrix[0][1];
		System.out.println( "After switching index position" );
		showMatrix( matrix, 2);
		double vector = 1/ determinan;
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++ ){
				result[a][b] = vector * matrix[a][b];
			}
		}
		return result;
	}
	
	
}

13. Matrix invers untuk matrix 3 x 3 harus diproses menggunakan proses pencarian adjoin/ kofator.

import java.util.Random;

public class MatrixInvers3{

	public static void main ( String [] args ){
		int ordo = 3;
		double [][] matrix = createMatrix( ordo );
		showMatrix( ordo, ordo, matrix );
		System.out.println("=====================");
		double [][] matrixToAdjunctionCramer = createMatrixToAdjunctionCramer( ordo, matrix );		
		showMatrix( ordo, 5,  matrixToAdjunctionCramer );
		System.out.println("=====================");
		double determinan = getDeterminan( 3, 5, matrixToAdjunctionCramer );
		System.out.println( "Determinant is : "+ determinan );
		double[][] transposedMatrix = createTransposeMatrix( matrix, ordo );
		System.out.println("TRANSPOSE MATRIX=====================");
		showMatrix( ordo, ordo, transposedMatrix );
		
		double [][] adjMatrix = getAdjunction( transposedMatrix, ordo );
		System.out.println("ADJ MATRIX=====================");
		showMatrix( ordo, ordo, adjMatrix );
		double[][] inversMatrix = getInvers( adjMatrix, determinan, 	ordo );
		System.out.println("INVERS MATRIX=====================");
		showMatrix( ordo, ordo, inversMatrix );
	}
	
	public static double [][] createMatrix( int ordo ){
		double [][] result = new double[ordo][ordo];
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++ ){
				result[a][b] = new Random().nextInt(9)+1;
			}
		}
		return result;
	}
	
	public static void showMatrix( int bar, int kol, double [][] matrix ){
		for( int a=0; a<bar; a++ ){
			for( int b=0; b<kol; b++ ){
				System.out.print( matrix[a][b] + " ");
			}
			System.out.println("");
		}
	}
	
	public static double[][] createMatrixToAdjunctionCramer( int ordo, double [][] matrix ){
		int newOrdo = ordo+2;
		double[][] result = new double[ordo][newOrdo];
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<newOrdo; b++ ){
				if( b < 3 ){
					result[a][b] = matrix[a][b];
				}else{
					result[a][b] = matrix[a][b-3];					
				}
			}
		}
		return result;
	}
	
	public static double getDeterminan( int bar, int kol, double[][] matrix ){
		double result = 0.0;		
		result = ( ( matrix[0][0] * matrix[1][1] * matrix[2][2] ) + 
					( matrix[0][1] * matrix[1][2] * matrix[2][3] ) + 
					( matrix[0][2] * matrix[1][3] * matrix[2][4] ) ) - 
				 ( ( matrix[2][0] * matrix[1][1] * matrix[0][2] ) +
					( matrix[2][1] * matrix[1][2] * matrix[0][3] ) +
					( matrix[2][2] * matrix[1][3] * matrix[0][4] ) );				
		return result;
	}

	public static double [][] createTransposeMatrix( double[][] matrix, int ordo ){
		double [][] result = new double[ordo][ordo];
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++ ){
				result[a][b] = matrix[b][a];
			}
		}
		return result;
	}
	public static double [][] getInvers( double[][] adjMatrix, double determinan, int ordo ){
		double multiplier = 1/determinan;
		double[][] result = new double[ordo][ordo];
		for ( int a=0; a<ordo; a++ ){
			for ( int b=0; b<ordo; b++ ){
				result[a][b] = multiplier * adjMatrix[a][b];
			}
		}
		return result;
	}
	
	public static double [][] getAdjunction( double [][] transposedMatrix, int ordo ){
		double[][] adjunction = new double[ordo][ordo];
		adjunction[0][0]=transposedMatrix[1][1]*transposedMatrix[2][2]-(transposedMatrix[2][1]*transposedMatrix[1][2]);
		adjunction[0][1]=(-1)*(transposedMatrix[1][0]*transposedMatrix[2][2]-(transposedMatrix[2][0]*transposedMatrix[1][2]));
		adjunction[0][2]=transposedMatrix[1][0]*transposedMatrix[2][1]-(transposedMatrix[2][0]*transposedMatrix[1][1]);
		
		adjunction[1][0]=(-1)*(transposedMatrix[0][1]*transposedMatrix[2][2]-transposedMatrix[2][1]*transposedMatrix[0][2]);
		adjunction[1][1]=transposedMatrix[0][0]*transposedMatrix[2][2]-transposedMatrix[2][0]*transposedMatrix[0][2];
		adjunction[1][2]=(-1)*(transposedMatrix[0][0]*transposedMatrix[2][1]-transposedMatrix[2][0]*transposedMatrix[0][1]);

		adjunction[2][0]=transposedMatrix[0][1]*transposedMatrix[1][2]-transposedMatrix[1][1]*transposedMatrix[0][2];
		adjunction[2][1]=(-1)*(transposedMatrix[0][0]*transposedMatrix[1][2]-transposedMatrix[1][0]*transposedMatrix[0][2]);
		adjunction[2][2]=transposedMatrix[0][0]*transposedMatrix[1][1]-transposedMatrix[1][0]*transposedMatrix[0][1];
		
		return adjunction;
	}	
}

Program Angka Terbilang dalam bahasa JAVA

Program angka terbilang ini merupakan program yang dapat mentranslasikan angka masukan dari user untuk menjadi bilangan alphabet. misal : 1217 terbilang ” seribu dua ratus tujuh belas”. Proses translasi program ini, menggunakan proses matematika yang mudah yakni hanya operasi division ( pembagian ) dan modulus ( sisa bagi ). Berikut contoh programnya :

public class AngkaTerbilang{

	public static void main( String [] args ){
		int angka = Integer.parseInt( args[0] );
		System.out.println( angka +" terbilang : "+ terbilang( angka ) );
	}
	
	public static String terbilang(int value){
		String terbilang = "";			
		if ( value <12 ) {
			terbilang = " "+ bilang( value );
		}else if ( value<20 ){
			terbilang = terbilang( value - 10 )+" belas ";
		}else if ( value<100 ){
			terbilang = terbilang( value/10 )+" puluh "+terbilang( value % 10 );
		}else if ( value<200 ){
			terbilang = " seratus "+terbilang( value - 100 );
		}else if ( value<1000 ){
			terbilang = terbilang( value/100 )+" ratus "+terbilang(value % 100);
		}else if ( value<2000 ){
			terbilang = " seribu "+ terbilang(value-1000);
		}else if ( value<1000000 ){
			terbilang = terbilang( value/1000 )+" ribu "+terbilang(value % 1000);
		}else if ( value< 1000000000 ){
			terbilang = terbilang( value/1000000)+" juta "+ terbilang( value % 1000000);
		}else {
			terbilang = terbilang( value/1000000000)+ " milyar "+ terbilang( value%1000000000 );
		}
		return terbilang;
	}
	
	static String bilang(int value){
		String bilang = "";
			switch ( value ){
				case 0 : bilang = ""; break;
				case 1 : bilang = "satu"; break;
				case 2 : bilang = "dua"; break;
				case 3 : bilang = "tiga"; break;
				case 4 : bilang = "empat"; break;
				case 5 : bilang = "lima"; break;
				case 6 : bilang = "enam"; break;
				case 7 : bilang = "tujuh"; break;
				case 8 : bilang = "delapan"; break;
				case 9 : bilang = "sembilan"; break;
				case 10 : bilang = "sepuluh"; break;
				case 11 : bilang = "sebelas"; break;
				default : bilang = "tidak terdefinisi";
			}
		return bilang;
	}		
}

Matrix dan Implementasinya dalam pemrograman JAVA ( PART II )

5. Matrix Skalar adalah matrix yang mengalami proses perkalian dengan 1 angka konstanta.

public class matrixScalar1{
	
	public static void main( String [] args ){
		int value = Integer.parseInt( args[0] );
		int [][] matrix = { {1,2,3}, {1,2,3} };
		processMultiply( value, matrix );
		displayMatrix( matrix );
	}
	
	public static void processMultiply( int value, int [][] matrix){		
		for (int a=0; a<2; a++){
			for(int b=0; b<3; b++){
				matrix[a][b] = matrix[a][b] * value;
			}
		}
	}
	
	public static void displayMatrix( int [][] matrix ){
		for(int a=0; a<2; a++){
			for(int b=0; b<3; b++){
				System.out.print(matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
}

6. Matrix Scalar kedua, yaitu perkalian antar matrix dengan syarat baris x kolom = kolom x baris

import java.util.Scanner;

public class matrixScalar2{
	
	private static Scanner scan;
	
	public static void main( String [] args ){
		int bar1 = Integer.parseInt( args[0] );
		int kol1 = Integer.parseInt( args[1] );
		int bar2 = Integer.parseInt( args[2] );
		int kol2 = Integer.parseInt( args[3] );
		if ( kol1 != bar2 ){
			System.out.println ("Kolom matrix 1 != Baris matrix 2");
		}else{
			scan = new Scanner( System.in );
			System.out.println( "Input Matrix 1" );
			int [][] matrix1 = inputMatrix( bar1, kol1 );
			System.out.println( "Input Matrix 2" );
			int [][] matrix2 = inputMatrix( bar2, kol2 );
			System.out.println ( "Matrix 1:");
			displayMatrix( matrix1, bar1, kol1 );
			System.out.println ( "Matrix 2:");
			displayMatrix( matrix2, bar2, kol2 );
			int [][] result = processMultiply ( matrix1, matrix2, bar1, kol1, kol2 );
			System.out.println ( "Result Matrix Scalar :");
			displayMatrix( result, bar1, kol1 );
		}		
	}
	
	public static int [][] inputMatrix( int bar, int kol ){		
		int[][] matrix = new int[bar][kol];
		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();
			}
		}
		return matrix;
	}
	
	public static int [][] processMultiply( int [][] matrix1, int [][] matrix2, int bar, int kol, int kol2 ){
		int [][] result = new int[bar][kol];
		for ( int a=0; a<bar; a++ ){
			for ( int b=0; b<kol2; b++ ){
				for ( int c=0; c<kol; c++){
					result[a][b] = result[a][b] + matrix1[a][c] * matrix2[c][b];
				}
			}
		}
		return result;
	}
	
	public static void displayMatrix( int [][] matrix, int bar, int kol ){
		for(int a=0; a<bar; a++){
			for(int b=0; b<kol; b++){
				System.out.print(matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
}


7. Matrix Segitiga Bawah adalah matrix yang semua elemen dibawah dialonal utamanya adalah 0

import java.util.Random;
public class matrixSegitigaBawah{	
	public static void main( String [] args ){
		int ordo = Integer.parseInt( args[0] );
		int [][] matrix = createMatrix( ordo );
		displayMatrix( matrix, ordo );
	}
	
	public static int[][] createMatrix( int ordo ){
		int [][] result = new int[ordo][ordo];
		for(int a=0; a<ordo; a++){
			for(int b=0; b<ordo; b++){
				if ( ( b<a ) ){
					result[a][b] = 0;
				}else{
					result[a][b] = new Random().nextInt(9) + 1;
				}
			}
		}
		return result;
	}
	
	public static void displayMatrix( int [][] matrix, int ordo ){
		for(int a=0; a<ordo; a++){
			for(int b=0; b<ordo; b++){
				System.out.print(matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
}


8. Matrix Segitiga Atas adalah matrix yang semua elemen diatas diagonal utamanya adalah nol

import java.util.Random;
public class MatrixSegitigaAtas{
	
	public static void main( String [] args ){
		int ordo = Integer.parseInt( args[0] );
		int [][] matrix = createMatrix( ordo );
		displayMatrix( matrix, ordo );
	}
	
	public static int[][] createMatrix( int ordo ){
		int [][] result = new int[ordo][ordo];
		for(int a=0; a<ordo; a++){
			for(int b=0; b<ordo; b++){
				if ( ( a<b ) ){
					result[a][b] = 0;
				}else{
					result[a][b] = new Random().nextInt(9) + 1;
				}
			}
		}
		return result;
	}
	
	public static void displayMatrix( int [][] matrix, int ordo ){
		for(int a=0; a<ordo; a++){
			for(int b=0; b<ordo; b++){
				System.out.print(matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
}


9. Matrix Transpose adalah matrix yang mana posisi elemen baris ditukar dengan posisi elemen kolom

import java.util.Scanner;
public class MatrixTranspose{
	private static Scanner scan;
	
	public static void main( String [] args ){
		int bar = Integer.parseInt( args[0] );
		int kol = Integer.parseInt( args[1] );

		scan = new Scanner ( System.in );
		
		int [][] initMatrix = createInitMatrix( bar, kol );
		int [][] transposedMatrix = doTranspose( initMatrix, bar, kol );		
		System.out.println ( "Origin Matrix is :" );
		displayMatrix ( initMatrix, bar, kol );
		System.out.println ( "Transposed Matrix is :" );
		displayMatrix ( transposedMatrix, kol, bar );
	}
	
	public static int[][] createInitMatrix ( int bar, int kol ){
		int [][] result = new int [bar][kol];
		for (int a=0; a<bar; a++){
			for ( int b=0; b<kol; b++){
				System.out.print("input index ["+a+","+b+"] =");
				result[a][b] = scan.nextInt();
			}
		}
		return result;
	}
	
	public static int[][] doTranspose ( int[][] matrix, int bar, int kol ){
		int[][] result = new int[kol][bar];
		for ( int a=0; a< bar; a++ ){
			for ( int b=0; b< kol; b++ ){
				result[b][a] = matrix[a][b];
			}
		}
		return result;
	}
	
	public static void displayMatrix( int [][] matrix, int bar, int kol ){
		for(int a=0; a<bar; a++){
			for(int b=0; b<kol; b++){
				System.out.print(matrix[a][b] + " ");
			}
			System.out.println();
		}
	}
	
}


10. Matrix Simetris adalah matrix yang jumlah baris dan kolomnya sama.

public class MatrixSimetris{

	public static void main(String [] args)	{
		int ordo = Integer.valueOf(args[0]);
		int [][] matrix = createMatrixSimetris(ordo);
		displayMatriSimetris( matrix, ordo);
	}
	
	public static int[][] createMatrixSimetris(int ordo){
		int [][] result = new int[ordo][ordo];
		for (int a=0; a<ordo; a++){
			for (int b=0; b<ordo; b++){
				result[a][b] = new Random().nextInt(9)+1;
			}
		}
		return result;
	}
	
	public static void displayMatriSimetris(int [][] matrix, int ordo){
		for (int a=0; a<ordo; a++){
			for (int b=0; b<ordo; b++){
				System.out.print(matrix[a][b]+"  ");
			}
			System.out.println("");
		}
	}
	
}

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();
}
}

}

Final Assignment [It’s All About Coincidence] PART I

What A Coincidence

Image taken from http://nonglish.com/comic/173/What-a-Coincidence.html

Memang semua yang kejadian yang ada di muka bumi ini  bukan tidak terjadi secara tiba- tiba || kebetulan (Coincidence). But, recently banyak kejadian yang terjadi seolah- olah itu merupakan suatu kebetulan. Skripsi || Tugas akhir mahasiswa adalah hal yang paling krusial dalam kehidupan mahasiswa khususnya teknik informatika. Pada awalnya, sangat sulit untuk menentukan bidang minat apa sih, yang cocok buat ane, sudah pilih bidang minat A, tapi setelah dijalani ternyata tidak sesuai dengan keinginan ataupun kemampuan. Tapi untunglah bagi mahasiswa yang bisa mendapatkan bidang minatnya yang langsung pas dengan kemampuan dan keinginan, sehingga dia bisa ber- explorasi + ber- improvisasi sampai optimal. Yah, tugas akhir ini, saya bisa mendapatkan jati diri saya di jurusan teknik informatika. Selain sebagai engineer, project manager sekaligus bisa jadi researcher. Cocok banget buat orang yang punya ambisius tinggi + menganut aturan idealisme. Awalnya, ingin konsentrasi di bidang minat Computational and Artificial intelligence, but tak banyak dosen yang pure konsentrasi di bidang itu artinya harus di kombinasikan dengan objek- objek yang akhirnya gak jelas endingnya .yah, katakanlah semisal image processing etc. Memang penelitian tersebut terkesan sangat keren + sulit pengerjaannya, tapi akhir- akhirnya juga gak akan jadi barang yang berguna, karna peng-ejawantanya tidak langsung bermanfaat untuk kehidupan manusia. Maka dari itu, mau tidak mau saya harus pindah haluan ke bidang minat lain yang bisa merangkul ketiga elemen itu (Researcher, engineer, and project manager). Coincidence lagi, saya ketemu dengan teman- teman informatika lainnya yang lumayan galau cari- cari judul. pertama si aldrin alias pram dengan motivasi pengen dapet tambahan finansial dari TA yang bermanfaat. Kebetulan juga sebelum meluncur ke dosen yang bersangkutan, ada teman- teman lainnya yang cukup galau juga cari- cari judul TA, ada yang ditolak dosen, gak ketemu dosen, bahkan ada yang putus asa cari jalan keluar. And then, kita ngobrol- ngobrol saling curhat masalah TA, “bisa nggak ya, TA itu dikerjakan kelompok ?”, nah dari celetukan itu muncul ide lagi “wah, sepertinya kita harus kelompokan ini, kita bikin TIM TA, gimana keren kan ?!”. Then, setelah temen2 setuju, sorenya kita langsung ngadep ke dosen yang bersangkutan ,akhirnya kita dapat domain(topik) TA masing- masing. dengan bibit- bobot dan bebetnya yang sesuai dengan kemampuan masing- masing. Nah, dari sini kita mulai perjuangan menjadi TIM ERP Project Management, dengan topik penelitian terbaru di bidang teknik informatika.

Final Execution Semester

final_1340290267

Semester 7th, finally i reach it. I used to dream that in top semester will be easier work to do and i just need to pay focus on my field of study. Hmmm, it doesn’t work well, i have to bury that dream in the deepest of my mind. All the job frequently come day by day. Actually i have already limit that kind of work offer. well it’s okay i think that this is the time to find out how to reach the new world before finishing my study. So that, i’ll be ready to face the next challenge.

In 7th semester, i’ve been starting it by looking including the final task for my study, then some subjects also as usually become practicum assistant in laboratory. This semester has been started very well and good preparation. Here is my target list :

  1. PKM
  2. Graduate this semester
  3. Awesome IPK
  4. Getting a lot of money from projects
  5. move on

That list is not too many, but i think it is hard enough to get it.

A Journey To National Mawapres