0
Konsep Array dalam operasi matrix di Framework Accord dan Aforge
Posted by jujur
on
9:55 AM
A=[1 2 3]
B= 2 3
4 5
1 2
Matrix A[1 x 2] dan Matrix B[3 x 2]. JIka dua matrix ini dikalikan hasilnya adalah matrix C
= [(1 x 2)+(2 x 4)+(3 x 1)] [(1 x 3)+( 2 x 5)+(3 x 2)]
= [(2+8+3)] [(3+10+6)]
= [ 13 19]
Hasil perkalian matrix A dan Matrix B menghasilkan matrix C yang berukuran [1 x 2]. perlu diperhatikan bahwa tidak sembarangan matrix bisa dikalikan, syarat utama agar dua buah matrix dapat dikaliakan adalah panjang kolom dari matrix pertama harus sama dengan panjang baris dari matrix kedua.
Ukuran matrix A=(X,Y)
Ukuran matrix B=(Z,Q)
Syarat agar dapat dilakukan proses perkalian nilai Y dan Z harus sama
Ukuran Matrix C/hasil perkalian=(X,Q)
Perhatikan contoh diatas,
Matrix A mempunyai Ukuran 1x3, dan
matrix B mempunyai ukuran 3x2, maka
hasil dari perkalian tersebut adalah 1 x 2
Sekarang
mari buat projectnya, seperti biasanya buka IDE Visual studio. Pada
contoh kali ini IDE yang digunakan adalah Visual studio 2013. Muncul
kotak dialog name, silahkan diisi nama dari project yang akan kita buat.
Setelah itu klik OK. tambahkan beberapa komponen seperti label,
menuStrips, dan dataGridView. atur dan tata sedemikian rupa sehingga
tampilan interfacenya seperti pada gambar dibawah ini
klik pada menu file, selanjutnya pilih matrix A x matrix B, perhatikan gambar dibawah ini
tambahkan code berikut ini
private
void
perkalianMatrix()
{
data1 =
new
double
[dataGridView1.Rows.Count, dataGridView1.Columns.Count];
data2 =
new
double
[dataGridView2.Rows.Count, dataGridView2.Columns.Count];
for
(
int
x = 0; x < dataGridView1.Rows.Count; x++)
{
for
(
int
y = 0; y < dataGridView1.Columns.Count; y++)
{
data1[x, y] = Convert.ToDouble(dataGridView1[y, x].Value);
}
}
for
(
int
x = 0; x < dataGridView2.Rows.Count; x++)
{
for
(
int
y = 0; y < dataGridView2.Columns.Count; y++)
{
data2[x, y] = Convert.ToDouble(dataGridView2[y, x].Value);
}
}
var hasil = data1.Multiply(data2);
for
(
int
x = 0; x < 3; x++)
{
for
(
int
y = 0; y < 4; y++)
{
dataGridView3[x, y].Value = hasil[y, x].ToString();
}
}
}
jangan lupa untuk menambahkan add reference pada project file dll accord.math.dll dan aforge.dll. Perhatikan gambar dibawah ini
ada beberapa hal yang harus diperhatikan dalam mengimplementasikan framework accord dalam operasi-operasi matrix. hal yang terpenting adalah format array yang akan kita gunakan mempunyai standar seperti berikut
dalam perkalian di framework accord yang harus diperhatikan adalah format array, dimana A(x,y). koordinat pertama(x) mewakili baris, sedangkan koordinat kedua (y) mewakili kolom. jika proses penulisan ini terbalik tidak akan selalu error, akan tetapi hasil yang dihasilkan pasti tidak sesuai. Bandingkan dengan beberapa penulisan array pada datagirdview sebagai berikut ini
dan berikut ini adalah koordinat yang digunakan di citra digital
Jika kita sudah memahami konsep diatas, akan membantu memudahkan kita dalam mengimplementasikan framework accord dan aforge dalam proses operasi-operasi matrix. banyak sekali yang dapat dilakukan dengan accord yang berkaitan dengan matrix, berikut ini adalah beberapa function yang dapat dilakukan dengan accord dari sekian banyak fitur-fitur yang disediakannya
X dan Y adalah sebuah matrix, maka
Operasi penambahan matrix ------>> X.Add(Y)
Operasi pengurangan matrix ------>> X.Subtract(Y)
Operasi perkalian matrix ------->> X.Multiply(Y)
Operasi pembagian matrix -------->> X.Divide(Y)
Operasi Determinan matrix -------->> X.Determinant()
Dan masih banyak lagi operasi-operasi yang bisa dilakukan. Untuk lebih jelasnya silahkan baca doc dari framework Accord
Berikut ini adalah screen shot saat pertamakali project dijakalan
Berikut ini adalah screen shot saat matrix A dan matrix B diisi dengan nilai dan dilakukan proses perkalian matrix
Untuk lebih memudahkan dalam mempelajari project, silahkan download full project nya di link berikut ini
4shared.com download disini
Mediafire.com download disini
ziddu.com download disini
sumber : http://www.csharp-indonesia.com