Diskusi penyelesaian masalah kimia dengan Matrix

Koreksi Kesalahan pada Jurnal Eliminasi Gauss

Koreksi Kesalahan pada Jurnal Eliminasi Gauss

by M0319082_Yudi Setiawan -
Number of replies: 0

Koreksi Jurnal Eliminasi Gauss

Saya Yudi Setiawan dan teman saya Iqbal serta Alifiananda, menemukan jurnal internasional yang menarik karena terdapatnya kesalahan pada perhitungan. Pada jurnal dijelaskan bahwa ada beberapa senyawa kimia yang tidak dapat diselesaikan dengan eliminasi Gauss. Dijurnal dijabarkan senyawa

C4H10 + O2 --> CO2 + H2O belum setimbang

Penulis menjelaskan bahwa dari perhitungan eliminasi gauss maupun jordan, persamaan kimia tersebut tidak dapat diselesaikan. Dalam jurnal tersebut dijelaskan perhitungan sebagai berikut:

x1C4H10 + x2O2 --> x3CO2 + x4H2O

Sehingga didapatkan persamaan sebagai berikut:





Penulis menyimpulkan bahwa persamaan tersebut tidak dapat diselesaikan menggunakan eliminasi gauss. Maka dari itu saya ingin mencoba membuktikan apakah benar eliminasi gauss tidak dapat menyelesaikan beberapa persamaan reaksi dalam kimia. Setelah melalui banyak perhitungan, ternyata terdapat kesalahan pada eliminasi dalam jurnal yaitu kesalahan dalam proses penyederhanaan diagonalnya. Memang, jika dihitung menggunakan eliminasi gauss dengan nilai yang tertera pada jurnal akan menghasilkan nilai tersebut. Berikut adalah perhitungan yang seharusnya:

Dari array


Buat pivot di kolom 1 dengan membagi baris 1 dengan 4 sehingga menghasilkan


Kemudian dengan mengeliminasi kolom pertama sebagai berikut


Buat pivot pada kolom ke-2 dengan membagi baris ke-3 dengan 2 dan menukar baris ke-3 dan ke-2 sehingga menghasilkan sebagai berikut


Buat pivot pada kolom ke-3 dengan membagi baris ke-3 dengan 5/2 sehingga menghasilkan sebagai berikut


Setelah didapatkan array tersebut, dilakukanlah perhitungan menggunakan algoritma python sebagai berikut:

1. Mulai
2. Baca Jumlah Tidak Diketahui: n
3. Baca Matriks Augmented (A) dari n dengan n+1 Ukuran
4. Transformasi Matriks Diperbesar (A)
ke Matriks Diagonal dengan Operasi Baris.
5. Dapatkan Solusi dengan Membuat Semua Elemen Diagonal menjadi 1.
6. Tampilan Hasil.
7. Berhenti



Didapatkan nilai x1,x2,x3,x4 berturut – turut adalah sebagai berikut

0,1       1,3       0,8       1

2          13        8          10

Sehingga dari perbandingan tersebut didapatkan persamaan reaksi kimia yang setara sebagai berikut

2C4H10 + 13O2 -> 8CO2 + 10H2O

Dapat disimpulkan bahwa eliminasi gauss dapat menyelesaikan semua penyetaraan persamaan reaksi kimia.

Berbeda dengan yang dijurnal, melalui perhitungan gauss didapatkan nilai x1,x2,x3,x4 berturut turut sebagai berikut:

2          3          8          10

2C4H10 + 3O2 -> 8CO2 + 10H2O

Sehingga dijurnal menyimpulkan bahwa reaksi kimia tersebut tidak dapat terselesaikan menggunakan persamaan gauss. Harapannya teman – teman lebih berhati – hati lagi untuk memilih sumber terpecaya meskipun sudah ditaraf internasional.


LAMPIRAN :

Jurnal terlampir (pdf)

Berikut source code python yang saya gunakan

# Importing NumPy Library
import numpy as np
import sys

# Reading number of unknowns
n = int(input('Masukan number matriks: '))

# Making numpy array of n x n+1 size and initializing
# to zero for storing augmented matrix
a = np.zeros((n,n+1))

# Making numpy array of n size and initializing
# to zero for storing solution vector
x = np.zeros(n)

# Reading augmented matrix coefficients
print('Enter Augmented Matrix Coefficients:')
for i in range(n):
    for j in range(n+1):
        a[i][j] = float(input( 'a['+str(i)+']['+ str(j)+']='))

# Applying Gauss Jordan Elimination
for i in range(n):
    if a[i][i] == 0.0:
        sys.exit('Divide by zero detected!')
       
    for j in range(n):
        if i != j:
            ratio = a[j][i]/a[i][i]

            for k in range(n+1):
                a[j][k] = a[j][k] - ratio * a[i][k]

# Obtaining Solution

for i in range(n):
    x[i] = a[i][n]/a[i][i]

# Displaying solution
print('\nRequired solution is: ')
for i in range(n):
    print('X%d = %0.2f' %(i,x[i]), end = '\t')