0

Konsep Array dalam operasi matrix di Framework Accord dan Aforge

Posted by Jujur Sitanggang on 9:55 AM

Pada tutorial sebelumnya pernah dibahas tentang operasi-operasi matrix. pada tutorial kali ini juga akan membahas tentang matrix, hanya saja bedanya pada kali ini akan menggunakan framework yang sangat familiar didalam dunia .Net (baca : dot net) yaitu framework Accord.net dan juga Aforge. pada dasarnya bagaimana cara menggunakan framework ini sudah ada di dokumen help. pada kesempatan kali ini akan dibahas tentang bagaimana cara menggunakannya, kebanyakan dari kita kurang memahami format variabel maupun standart type data yang digunakan oleh framework accord maupun aforge, sehingga tidak jarang sering terjadi error ketika sebuah project dijalankan. Sebelum memulai project alangkah baiknya jika dipahami dulu proses perkalian didalam matrix, misalnya terdapat dua buah matrix A dan B,

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

Jika langkah demi langkah membuat project diatas dilakukan dengan benar, kurang lebih hasilnya seperti berikut.
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

 

 

 

0 Comments

Copyright Jujur Soaloon Sitangang Lipan All rights reserved. Theme by Sitanggang. | Bloggerized by Soalparna.