JAVA
Kita akan membuat program untuk bebrapa proses yang dapat dilakukan pada matrix dengan tampilan menu pilihan. Kita akan membuat proses penjumlahan, pengurangan dan perkalian pada matrix. Berikut adalah listing yang kita gunakan beserta penjelasannya :
import javax.swing.*;
public class syn{
static int[][] HasilPerkalianMatrix = new int[10][10];
public static void main (String[]args){
String z = null;
z = JOptionPane.showInputDialog(null,
"=============================== \n " +
"masukkan pilihan oprasi matriks \n " +
"=============================== \n " +
"1. penjumlahan matriks \n " +
"2. pengurangan matriks \n " +
"3. perkalian matriks \n " +
"=============================== \n " +
"masukkan pilihan anda :");
int a = Integer.parseInt (z);
System.out.println("Matriks A :");
int baris = Integer.parseInt(JOptionPane.showInputDialog(null,
"Masukkan banyak baris untuk matriks : "));
int kolom = Integer.parseInt(JOptionPane.showInputDialog(null,
"Masukkan banyak kolom untuk matriks : "));
JOptionPane.showMessageDialog(null,"Matriks A :");
int A[][] = new int[baris][kolom];
for (int i = 0; i < baris; i++){
System.out.print("|");
for (int j = 0; j < kolom; j++){
A[i][j] = Integer.parseInt(JOptionPane.showInputDialog(null,
"Nilai A baris ke-"+(i+1)+", kolom ke-"+(j+1)+" : "));
System.out.print(" "+A[i][j]+" ");}
System.out.println("|");}
System.out.println("\n");
JOptionPane.showMessageDialog(null,"Matriks B :");
System.out.println("Matriks B : \n");
int B[][] = new int[baris][kolom];
for (int i = 0; i < baris; i++){
System.out.print("|");
for (int j = 0; j < kolom; j++){
B[i][j] = Integer.parseInt(JOptionPane.showInputDialog(null,
"Nilai B baris ke-"+(i+1)+", kolom ke-"+(j+1)+" : "));
System.out.print(" "+B[i][j]+" ");}
System.out.println("|");}
switch ( a ) {
case 1 :
System.out.println("=============================");
System.out.println("Operasi Matriks Penjumlahan :");
System.out.println("=============================");
for (int i = 0; i < baris; i++){
System.out.print(" | ");
for (int j = 0; j < kolom; j++){
System.out.print(" "+(A[i][j]+B[i][j])+" ");}
System.out.println("|");}
break;
case 2 :
System.out.println("=============================");
System.out.println("Operasi Matriks Pengurangan :");
System.out.println("=============================");
for (int i = 0; i < baris; i++){
System.out.print("|");
for (int j = 0; j < kolom; j++){
System.out.print(" "+(A[i][j]-B[i][j])+" ");}
System.out.println("|");}
break;
case 3:
System.out.println("=============================");
System.out.println("Operasi Matriks Perkalian :");
System.out.println("=============================");
for (int i=0; i < baris; i++){
System.out.print("|");
for (int j=0; j < kolom; j++){
int hasil = 0;
for (int k = 0; k < baris; k++){
hasil += (A[i][k] * B[k][j]);}
HasilPerkalianMatrix[i][j] = hasil;
System.out.print(HasilPerkalianMatrix[i][j] + " ");}
System.out.println("|");}
break;
}}
}
1. Karena kita akan menggunakan input melalui keyboard, dengan tapilan input berupa grafik, maka kita harus menggunakan package dari kelas javax swing, yaitu JOptionPane. Karena itu kita harus mendeklarasikannya terlebih dahulu.
2. Memuat class yang bisa diakses melalui kelas lain dengan perintah public class.Lalu menamai kelas tersebut dengan nama ’ syn’ .
3. Kita melaukuaan suatu pendeklarasikan method main() dengan statement,public static vaoid main(String[]args).
4. Membuat tampilan input dengan tampilan grafik.
- Mendeklarasikan var z dengan tipe data z dengan nilai awal kosong / null
- Kemudian var z tersebut kita gunakan sebagai var penyimpan data yang akan kita input nantinya. Karena kita ingin menampilkan grafik untuk peng input an, maka kita gunakan perintah JOptionPane.showInputDialog.
- Lalu kita menuliskan pilihan apa saja yang akan kita tampilkan pada tampilan input tersebut. Karena bentuk tampilan menu adalah memanjang kebawah, maka kita tambahkan perintah ‘ /n ‘ yang akan meyebabkan kata selanjutnya berada dibawah kata tersebut.
- Karena var z tadi bertype data string, maka var z tidak akan bisa dioprasikan untuk proses perbandingan yang akan kita gunakan dalam pemilihan statement case nantinya. Karena itu kita harus mengubahnya kedalam suatu var lain yang bertype data integer, dengan cara ‘‘int a = Integer.parseInt (z);’ artinya kita akan memasukkan data string pada var z tadi kedalam var a, yang type datanya akan kita rubah menjadi intger, agar dapat kita proses untuk oprasi perbandingan pada statement case nantinya.
5. Membuat coding untuk matrix pertama
- Kita akan menampilkan tulisan ‘ Matriks A :’di dalam box output. Karena itu kita hanya menggunakan perintah ‘System.out.print’ karena kita hanya ingin menampilkan tulisan ‘Matriks A tersebut.
- Kita akan menentukan jumlah baris pada untuk kedua matrix. Dengan melakukan input dengan tampilan grafik kembali, karena itu kita gunakan perintah ’JOptionPane.showInputDialog’ , lalu diikuti dengan kata – kata yang ingin ditampilkan dalam grafik tersebut. Data yang kita masukkan ini, akan kita simpan dalam var ‘ baris ‘, kita menggunakan harus type data interger agar data yang kita masukkan dapat diproses nantinya.
- Input jumlah kolom pun sama dengan input jumlah baris, hanya berbeda nama var yang kita gunakan saja, yaitu ‘kolom’.
- Kita akan menampilkan grafik dengan bertuliskan ‘ Matriks A’ hanya sebagai pemberitahu bahwa matrix A lah yang sedang akan kita isikan , karena kita hanya akan menampilkan grafik saja ( tanpa ingin melakukan input ) maka statement yang kita gunakan adalah’ JOptionPane.showMesaageDialog’ yang artinya hanya akan menampilkan grafik tersebut saja
- Untuk membuat suatu matrix, kita membutuhkan fungsi dari array, karena pada tiap element – element array memiliki index yang berbeda satu dengan yang lainnya, sama halnya dengan matrix. Untuk itu untuk melakukan oprasi – oprasi pada matrix kita harus memperhatikan index dari masing – masing element matrix tersebut. Kita mendeklarasikan array dengan nama ‘ A ‘ dan dengan index berdasarkan dari var ‘ baris ‘ dan ‘ kolom ‘ yang tadi kita masukkan data nya.
- Setelah itu kita akan memasukkan element – element pada matrix tersebut.
Untuk membuat suatu tampilan matrix yang benar, maka kita harus menggunakan statement ‘ for ‘ agar posisi element – element matrix tepat pada posisi nya masing –masing
a. kita mengunakan var ‘ i ‘ sebagai pembanding dengan var baris yang tealh kita masukkan tadi. artinya selama nilai dari var ‘i‘ masih kurang dari, dari nilai var baris, maka statement statement yang berada dibawahnya akan terus dilakukan. dengan nilai awal dari var ‘i’ adalh 0, dan jika semua statement di bawah statement ‘for’telah dilakukan, maka nilai dari var ‘i’ akan bertambah 1, dan akan dilakukan terus menerus sampai nilai var ’i’ tersebut tidak kurang dari, dari nilai var baris.
b. Didalam stement ‘for’ untuk var i, terdapat juga statement ‘for’ untuk var j, artinya jika stement for pada var i terpenuhi, maka stement for pada var j ini lah yang akan dilakaukan, dan akan kembali ke for pada var i lagi, jika for pada var j ini, sudah tidak terpenuhi lagi. Pada for untuk var j ini kita mengunakan var ‘ j ‘ sebagai pembanding dengan var ‘kolom’ yang tealh kita masukkan tadi. artinya selama nilai dari var ‘j‘ masih kurang dari, dari nilai var ‘kolom’, maka statement - statement yang berada dibawahnya akan terus dilakukan. dengan nilai awal dari var ‘j’ adalah 0, dan jika semua statement di bawah statement ‘for’ telah dilakukan, maka nilai dari var ‘j’ akan bertambah 1, dan akan dilakukan terus menerus sampai nilai var ’j’ tersebut tidak kurang dari, dari nilai var kolom
c. Statement yang akan di eksekusi pada stetement for untuk var j adalah kita akan memasukkan nilai dari var i tadi dan nilai pada var j ini sebagai indeks untuk array A. karena nilai dari var i adalh 0 dan nilai dari var j juga 0 maka index awal nya dalah [0,0]. Lalu kita akan memasukkan nilai pada index [0.0] ini, dengan tampilan input grafik. Karena pada matrix tidak ada element yang ke 0, maka agar seseuai dengan teori tersebut kita menggunakan perintah ‘ Nilai A baris ke-"+(i+1)+", kolom ke-"+(j+1)+" :’, pada tulisan tersebut ada statement ( i+1) dan (j+1). Artinya nilai var i dan j akan ditambahkan dengan 1, maka akan muncul tampilan. “nilai A baris ke 1, kolom ke1’.
d. Lalu setelah kita masukkan nilai di element tersebut, maka nilai element tersebut akan langsung tercetak pada kotak output. Statement memasukkan nilai untuk element ( pada penejelsan ‘c’) dan pencetakan nilia element tersebut, akan terus dilakukan hingga nilai dari var ‘j’ tidak kurang dari, dari nilai var kolom.
e. Setelah nilai var j tidak memenuhi lagi, maka akan tercetak tanda ‘|’ dan pencetakakan selanjutnya akan berada dibawahnya karena perintah “System.out.println” jika kita tidak menggunakan perintah ini, maka bentuk dari matrix tersebut tidak akan sesuai dengan index nya, karena akan terus tercetak kesamping. Setelah perintah ini, barulah kita kembali lagi ke statement for pada var i, namun nilia dair var i tersebut sudah ditambahkan dengan 1.
6. Memasukkan coding untuk matrix 2
Logika nya pun sama dengan matrix A tadi, yang bebeda hanyalah nama untuk var array nya, yaitu ‘B’.
7. Setalah semua data tentang matrix yang akan kita oprasikan telah terisi semua, maka kita sekarang kita akan membuat coding untuk oprasi – oprasi tersbut. Namun karena kita akan membuat program ini sebagai suatu program dengan tampilan menu, maka tiap – tiap oprasi harus kita pisahkan, agar jalannya program sesuai dengan menu oprasi yang diinginkan oleh user. Karena itu kita akan menggunakan stamtent percabangan, pada program ini kita menggunkaan statement ‘case’.
Karena var yang kita gunakan sebagai tempat untuk menyimpan nilia yang dimasukkan user saat memilih menu tadi adalh var a, maka var a inilah yang akan kitan gunkan sebagai parameter untuk statement ‘case’ini.
a. Penjumlahan
Jika kita memasukkan pilihan 1 pada saat memilih menu diawal program, maka program inilah yang akan dieksekusi.
Untuk penjumlahan matrix, kita hanya dapat menjumlahkan element matrix satu dengan yang lain, jika kedua element tersebut memiliki index yang sama. Karena itu, kita harus menuliskan ‘(A[i][j]+B[i][j])’,agar yang dijumlahkan oleh program kita adalah matrix dengan element array untuk var A yang ke [i.j] dengan element array untuk var B yang memeiliki index yang [i.j] juga. Karena itu kita membutuhkan statement for kembali, untuk mendapatkan kembali nilai pada index – index array yang sudah kita masukkan tadi.
Karena kita berada dalam statement case, kita hrus menambahkan statement ‘break’ pada akhir program, agar program yang berada di bawah case ini, tidak ikut di eksekusi juga.
b. Pengurangan
Jika kita memasukkan pilihan 2 pada saat memilih menu diawal program, maka program inilah yang akan dieksekusi.
Pada oprasi pengurangan matrix pun sama, kita hanya dapat megurangkan element matrix satu dengan yang lain, jika kedua element tersebut memiliki index yang sama. Karena itu, kita harus menuliskan ‘(A[i][j]-B[i][j])’,agar yang dikurangkan oleh program kita adalah matrix dengan element array untuk var A yang ke [i.j] dengan element array untuk var B yang memeiliki index yang [i.j] juga. Karena itu kita membutuhkan statement for kembali, untuk mendapatkan kembali nilai pada index – index array yang sudah kita masukkan tadi.
Karena kita berada dalam statement case, kita hrus menambahkan statement ‘break’ pada akhir program, agar program yang berada di bawah case ini, tidak ikut di eksekusi juga.
c. Perkalian
Proses perkalian pada matrix, tidak sama dengan proses perkalian pada angka biasa. Pada program ini, kita hanya membuat untuk perkalian matrix dengan ordo 2X2.
a. Kita harus menambahkan 1 var lagi untuk melakukan perulangan for, agar bisa membuat perkalian matrix 2X2. Pada program ini kita beri nama ‘k’.
b. Lalu kita juga menambahkan lagi sebagai temapat penyimpanan awal dari nilai perkalian, ketiga index tersebut. Pada program ini, kita beri nama ‘hasil’. Kita berikan nilai awalan 0 pada var hasil ini.
c. Jika nilai dari var k sudah tidak kurang dari var baris, lalu nilai var hasil, akan selalu ditambahkan dengan nilai, dari perkalian array A dengan index [i.k] dengan array B yang memiliki index [i.k] juga.
d. jika nilai var k sudah tidak terpenuhi, maka statement berikutnya adalah Var ‘HasilPerkalianMatrix ‘ akan kita gunakan sebagai tempat dari penyimpanan nilai untuk var hasil, maka var ’HasilPerkalianMatrix’inilah yang akan kita cetak.
e. Setalah tercetak, akan kembali lagi kedalam perulangan for untuk var j, dengan nilai var j yang telah bertambah 1, terus menerus diulang, samapi var j tidak kurang dai dari var kolom.
f. Setalah itu, barulah menctak “|”, artinya perkalian untuk baris pertama telah selseai, dan kursor akan langsung kebwah, karena perintah ‘println’, lalu kita akan mulai lagi, dari statement for untuk var i, dan akan terus menerus dilakukan, hingga var i tidak kurang dari nilai var baris, yang artinya perkalian element – element matrix pun telah dilakukan semua.
Thursday, May 27, 2010
Subscribe to:
Post Comments (Atom)
kalo GUI untuk matrik 3x3 gmn ya????
ReplyDelete