Contoh Program Penerapan GaussJordan pada Java

Contoh Program Penerapan GaussJordan pada Java –


Yoo gais , jadi pada artikel kali ini kang zain akan memberikan contoh program penerapan gaussjordan pada Java. Program ini sebenarnya tercipta karena sebuah tugas dari dosen, lumayan juga gais mikirnya buat selesein program ini (maklum newbie).


Secara umum komponen dari program ini cukup simple, hanya membutuhkan array 2 dimensi , looping (for) , looping (do, while) dan yaa tentunya sebuah input dan object.

Berikut Algoritma nya gais :
- Program menerima input dari pengguna mengenai banyaknya garis dan kolom yang akan dibuat pada matriks.
- Program akan meminta input sesuai dengan jumlah baris dan kolom yang dibuat, dan meminta user untuk memasukkan  angka 1 persatu, (bebas mau per baris atau per kolom) Tapi disini saya pakai per baris.
- Kemudian program akan melakukan perhitungan sesuai dengan rumus pada GaussJordan.
- Program akan menginputkan hasil dari perhitungan.

Nah, yang jadi pertanyaan tentu “Bagaimana programnya?

Ini contoh Method pada waktu perhitungan gais,

public void gaussjordan(){
        System.out.println("Program GaussJordan");
        int a=0;
        do{
                for(int j=0; j<matrik_c[a].length; j++){
                        matrik_c[a][j] = Math.abs(matrik_c[a][j]/matrik_c[a][a]);
                }
                  
                for(int i=0; i<matrik_c.length; i++){
                    for(int z=0; z<matrik_c[a].length; z++){
                        if(a==i){
                            matrik_c[i][z] = matrik_c[i][z];
                        }
                        else{
                            matrik_c[i][z] = matrik_c[i][z]-(matrik_c[i][z]*matrik_c[a][z]);
                        }
                    }
                }
            a++;
        }while(a<matrik_c.length);
    }

Setelah dilihat sekilas ada gambaran tentang bagaimana method tersebut bekerja?

Jika belum, mari kita bahas pelan-pelan.

Penggunaan :
int a=0;
do{
a++
}while(a<matrik_c.length);

do , while disini fungsinya untuk apa?
Nah, do while disini digunakan untuk menampilkan matriks per baris, oleh karena nya digunakan kondisi a<matrik_c.length .
Sedangkan a++ digunakan agar proses looping berjalan ke baris berikutnya.


Penggunaan :
for(int j=0; j<matrik_c[a].length; j++){
                        matrik_c[a][j] = Math.abs(matrik_c[a][j]/matrik_c[a][a]);
                }

for disini fungsinya untuk apa?
for disini berfungsi untuk melakukan perhitungan pada bilangan yang terletak pada baris yang sama (karena terletak didalam do , while).
Bisa diperhatikan melalui kondisi j<matrik_c[a].length.
Kemudian, kita sama-sama tahu bahwa setiap baris harus memiliki satu bilangan 1 (ambigu yaa, tapi yaa kalian pahamlah maksudnya). Dan kita sama-sama tahu bahwa angka 1 tersebut terletak pada koordinat dimana nilai baris dan kolomnya sama ({0,0} , {1,1} , {2,2} , {3,3}, dst) itulah kenapa terdapat rumus :
matrik_c[a][j] = Math.abs(matrik_c[a][j]/matrik_c[a][a]);

Dimana matrik_c[a][a] akan menunjuk matrik yang nilai baris dan kolomnya sama.

Selanjutnya Penggunaan :
for(int i=0; i<matrik_c.length; i++){
                    for(int z=0; z<matrik_c[a].length; z++){
                        if(a==i){
                            matrik_c[i][z] = matrik_c[i][z];
                        }
                        else{
                            matrik_c[i][z] = matrik_c[i][z]-(matrik_c[i][z]*matrik_c[a][z]);
                        }  }  }

Looping kaya gitu buat apa?
Nah, setelah kita melakukan perubahan satu baris, selanjutnya kita melakukan perubahan pada baris-baris yang lainnya (berdasarkan pada baris yang telah diubah sebelumnya).

Program :
for(int i=0; i<matrik_c.length; i++){ //digunakan untuk baris
               for(int z=0; z<matrik_c[a].length; z++){ //digunakan untuk kolom
Digunakan untuk menampilkan data yang akan diproses.

Program :
if(a==i){
      matrik_c[i][z] = matrik_c[i][z];
}
Digunakan untuk mencegah pemrosesan ulang, baris yang sebelumnya telah diproses

Program :
else{
                            matrik_c[i][z] = matrik_c[i][z]-(matrik_c[i][z]*matrik_c[a][z]);
                        }  }  }
Digunakan untuk memproses baris lainnya dan mengubah nilai tiap kolom pada baris tersebut berdasarkan baris yang lain (untuk menciptakan nilai 0).

Bagaimana? Sudah ada gambarang mengenai membuat GaussJordan menggunakan Java?
Baiklah .. Sekian artikel kali ini, semoga bermanfaat. Sampai bertemu diartikel selanjutnya yang inshaallah akan lebih bermanfaat.


This Is The Newest Post


EmoticonEmoticon