Kalkulator Matriks Sederhana Berbasis JOptionPane

Table of Contents
Salah satu materi dasar pemrograman yang wajib dikuasai mahasiswa adalah larik, atau lebih dikenal sebagai array, baik array 1 dimensi maupun array multi dimensi. Materi ini tidak perlu dihafalkan, melainkan wajib dipahami. Ingat, memahami, bukan berarti menghafalkan. Siapa yang mau menghafalkan bahasa pemrograman yang ruwet itu? Proses pemahaman terhadap array meliputi, deklarasi variabel array, pengisian data pada tiap elemen array, cetak data array, hingga mampu memecahkan masalah pemrograman menggunakan array dengan membuat studi kasus tertentu. Dengan proses pemahaman ini, mahasiswa boleh saja mencari dan menganalisis dari berbagai sumber untuk menyelesaikan masalahnya sendiri. Mahasiswa dapat dikatakan paham manakala ia mampu menjelaskan apa yang telah dikerjakannya. Itu saja. Simpel kan?

Nah, pada artikel ini, saya mencoba untuk membuat studi kasus yang sekiranya dapat dipecahkan dengan array multi dimensi. Studi kasus tersebut adalah KALKULATOR MATRIKS. Pada dasarnya, masukan yang diperlukan oleh pengguna adalah 2 matriks. Sebut saja Matrik A dan Matriks B. Kedua matriks dibatasi ordonya menjadi matriks berordo 2x2. Jika menengok Gambar 1, matriks berordo 2x2 memiliki 4 elemen yang harus diisi oleh pengguna, yaitu:
  1. A[baris 0, kolom 0]
  2. A[baris 0, kolom 1]
  3. A[baris 1, kolom 0]
  4. A[baris 1, kolom 1]
Gambar 1. Array 2 Dimensi

Karena ada 2 matriks yang bakal dideklarasikan, maka pengguna mengentrikan 2x4 elemen matriks, menjadi 8 kali entri elemen. 4 elemen untuk Matriks A dan 4 elemen untuk Matriks B. Setelah itu, ada fitur khusus dalam aplikasi yang dibuat untuk membantu pengguna memilih operator perhitungan matriks, antara lain (1) Penjumlahan matriks ; (2) Pengurangan matriks ; (3) Perkalian matriks. Logikanya, jika pengguna langsung memilih operator perhitungan sebelum elemen matriks terisi, maka hasil perhitungan selalu bernilai 0. Dalam hal ini, 0 adalah nilai default kedua matriks jika belum terisi nilai apapun dari pengguna.

Maka, secara sederhana Algoritma Kalkulator Matriks adalah
  1. Menampilkan menu kalkulator matriks
  2. Input elemen Matrik 1 dan Matrik 2
  3. Memilih Operasi Perhitungan
  4. Menampilkan hasil perhitungan
Gambar 2 menunjukkan tampilan Kalkulator matriks yang dibuat menggunakan JOptionPane pada java. Kalkulator matriks tersebut memiliki 6 pilihan fitur yang dapat digunakan oleh pengguna. Tampilan JOptionPane ini sangat direkomendasikan untuk mahasiswa yang belum mendapatkan materi Pemrograman Visual namun tetap menggunakan Graphical User Interface sebagai basis tampilan program.
  
Gambar 2. Kalkulator Matriks Berbasis JOptionPane

Namun, jika sudah mendapatkan materi Pemrograman Visual, Java GUI Builder menjadi acuan utama untuk membuat tampilan program yang ergonomis bagi pengguna. Contoh tampilan Java GUI Builder untuk Kalkulator matriks adalah Gambar 3 berikut:

Gambar 3. Kalkulator Matriks menggunakan Java GUI Builder


Berikut ini saya lampirkan source code tampilan antar muka kalkulator matriks menggunakan JOptionPane. Namun, bukan source code untuk seluruh fitur kalkulator matriks, melainkan hanya pondasi dasar aplikasi saja. Silakan teman-teman lengkapi sambil belajar. Simak penjelasan dasar perhitungan matriks java melalui tulisan saya yang lain di Array Multidimensi: Teori Pengantar dan Contoh Permasalahan. Jangan menyerah, survive to learn java programming.

Penjelasan via Youtube



Lampiran source code:
import javax.swing.JOptionPane;

/**
 *
 * @author CHARIS
 */
public class matriks {

    public static void main(String[] args) {
        int matriks1[][] = new int[2][2];
        int matriks2[][] = new int[2][2];

        boolean benar = true;
        while (benar) {
            int pilih = Integer.parseInt(JOptionPane.showInputDialog("Kalkulator Matrik" + "\n"
                    + "1. Input Matrik 1" + "\n"
                    + "2. Input Matrik 2" + "\n"
                    + "3. Jumlahkan" + "\n"
                    + "4. Kurangkan" + "\n"
                    + "5. Kalikan " + "\n"
                    + "6. Keluar"));
         
            if (pilih == 1) {
                for (int baris = 0; baris < matriks1.length; baris++) {
                    for (int kolom = 0; kolom < matriks1[0].length; kolom++) {
                        matriks1[baris][kolom] = Integer.parseInt(JOptionPane.showInputDialog("Input Matriks Baris ke " + baris
                                + " Kolom ke " + kolom));
                    }
                }
                JOptionPane.showMessageDialog(null, matriks1[0][0] + " " + matriks1[0][1] + "\n"
                        + matriks1[1][0] + " " + matriks1[1][1]);
                
            } else if (pilih == 2) {
                for (int baris = 0; baris < matriks2.length; baris++) {
                    for (int kolom = 0; kolom < matriks2[0].length; kolom++) {
                        matriks2[baris][kolom] = Integer.parseInt(JOptionPane.showInputDialog("Input Matriks Baris ke " + baris
                                + " Kolom ke " + kolom));
                    }
                }
                JOptionPane.showMessageDialog(null, matriks2[0][0] + " " + matriks2[0][1] + "\n"
                        + matriks2[1][0] + " " + matriks2[1][1]);
                
            } else if (pilih == 6) {
                benar = false;
            }
        }

    }

}

"Jika kau tak tahan lelahnya belajar, bersiaplah menanggung perihnya kebodohan"

Post a Comment