Wednesday, October 22, 2014

PCA

Analisis komponen utama

Dalam statistikaanalisis komponen utama (disingkat AKUbahasa Inggrisprincipal component analysis/PCA) adalah teknik yang digunakan untuk menyederhanakan suatu data, dengan cara mentransformasi data secara linier sehingga terbentuk sistem koordinat baru dengan varians maksimum.[1]Analisis komponen utama dapat digunakan untuk mereduksi dimensi suatu data tanpa mengurangi karakteristik data tersebut secara signifikan.[2] Analisis komponen utama juga sering digunakan untuk menghindari masalah multikolinearitas antar peubah bebas dalam model regresi berganda.[3][4]
Analisis komponen utama merupakan analisis antara dari suatu proses penelitian yang besar atau suatu awalan dari analisis berikutnya, bukan merupakan suatu analisis yang langsung berakhir.[butuh rujukan] Misalnya komponen utama bisa merupakan masukan untuk regresi berganda atau analisis faktor atau analisis gerombol.
AKU juga dikenal dengan Transformasi Karhunen-Loève (dinamakan untuk menghormati Kari Karhunen danMichel Loève) atau Transformasi Hotelling (dinamakan untuk menghormati Harold Hotelling).[5][6]
Analisis komponen utama juga merupakan salah satu teknik statistika multivariat yang dapat menemukankarakteristik data yang tersembunyi.[2] Dalam penerapannya, Analisis komponen utama, justru dibatasi oleh asumsi-asumsinya,[7] yaitu asumsi kelinearan model regresi, asumsi keorthogonalan komponen utama, dan asumsi varians yang besar memiliki struktur yang penting.[7]
Secara keseluruhan, metode Analisis komponen utama tampaknya hanya mempunyai penerapan yang sempit dalam ilmu-ilmu fisis, kerekayasaan, dan biologis.[5] Kadang-kadang, dalam ilmu-ilmu pengetahuan sosial, metode analisis komponen utama bermanfaat untuk mencari peubah kombinasi yang efektif.[5]

SEJARAH

PCA adalah teknik statistik yang sudah digunakan secara luas baik dalam hal pengolahan data, pembelajaran mesin, maupun pengolahan citra atau pemrosesan signal. Metode Principal Component Analysis (PCA) dibuat pertama kali oleh para ahli statistik dan ditemukan oleh Karl Pearson pada tahun 1901 yang memakainya pada bidang biologi. Pada tahun 1947 teori ini ditemukan kembali oleh Karhunen, dan kemudian dikembangkan oleh Loeve pada tahun l963, sehingga teori ini juga dinamakan Karhunen-Loeve transform pada bidang ilmu telekomunikasi.

Teknik PCA

PCA adalah sebuah transformasi linier yang biasa digunakan pada kompresi data. PCA juga merupakan teknik yang umum digunakan untuk menarik fitur-fitur dari data pada sebuah skala berdimensi tinggi. PCA memproyeksikan data ke dalam subspace. PCA adalah transformasi linear untuk menentukan sistem koordinat yang baru dari data. Teknik PCA dapat mengurangi dimensi dari data tanpa menghilangkan informasi penting dari data tersebut.

Dimensionality Reduction

Salah satu masalah yang sering terjadi dalam suatu machine learning adalah “Curse of Dimensionality problem”, di mana mesin kesulitan dalam menangani sejumlah masukan data dengan dimesi yang sangat tinggi. Salah satu cara yang paling umum digunakan untuk menangani proses ini adalah dengan mengurangi dimensi dari data masukan dengan tetap menjaga informasi yang terkandung didalamnya. Salah satu cara yang paling sering digunakan adalah PCA (Principal Component Analysis), karena PCA dapat mereduksi dimensi seminimal mungkin dengan tetap mempertahankan informasi yang terkandung di dalamnya.
Contoh proses Dimensionality Reduction dari suatu data secara sederhana
Terdapat sekumpulan data dengan penyebaran sebagai berikut (untuk kasus 2 dimesi):
1. Untuk proyeksi terhadap sumbu X, didapat sebaran data antara -2.8 sampai +2.7
2. Untuk proyeksi terhadap sumbu Y, didapat sebaran data antara -9.6 sampai +9.5
Dapat dilihat bahwa varians yang dihasilkan proyeksi data terhadap sumbu Y lebih besar dari pada proyeksi tehadap sumbu X, maka apabila kita ingin mereduksi data tersebut menjadi 1 dimensi saja maka proyeksi sumbu Y yang akan digunakan sebagai principal component data tersebut. Untuk data dengan dimensi lebih banyak, kita dapat menyimpan lebih dari 1 principal componet (urutan principal component yang dipilih untuk membentuk dimensi yang diinginkan berdasarkan banyaknya varians yang dihasilkan oleh principal component tersebut), hal ini dilakukan agar varians yang hasilkan lebih banyak() sehingga informasi yang dihasilkan dapat lebih terjaga(sesuai).
Hal yang perlu diperhatikan juga adalah sumbu dari setiap principal component harus saling tegak lurus satu sama lain (Orthogonal Vectors).
Principal Components dapat ditemukan dengan cara melakukan Eigenvalue Decomposition dari Covariance Matrix (atau correlation matrix) dari suatu data atau menggunakan metode Singular Value Decomposition (SVD).
Contoh Menentukan Mencari Principal Component dari Suatu Data
1. Transformasi Mean-Centering
Proses memindahkan semua data kebagian tengah, guna mendapatkan data yang lebih stabil.
Berikut langkah-langkah mean-centering:
A. Cari mean data
B. Pindahkan setiap posisi data kebagian tengah, dengan cara mengurangi nilai setiap data dengan nilai mean data
Berikut contoh proses mean-centering pada suatu data:
2. Menghitung Covariance-Matrix
Covariance-Matrix berisi seluruh pasangan covariance dari semua himpunan varians data yang ada. Secara umum, berikut bentuk matrixnya:
3. Mencari Eigenvalue dan Eigenvector dari Covariance-Matrix (Principal Component) Eigenvector dari suatu matriks A (berukuran n x n) adalah suatu vektor v, yang jika dikalikan dengan matriks A menghasilkan kelipatan dari vektor v tersebut. Nilai kelipatan tersebut merupakan Eigenvalue.
4. Urutkan principal components tersebut secara menurun
5. Transformasi Data ke Sumbu Principal Components
Untuk mentransformasi data ke sumbu principal components yang ada, cukup mengalikan data  tersebut dengan invers dari principal components yang telah didapat sebelumnya.

Referensi

  1. ^ A. A. Miranda, Y. A. Le Borgne, and G. Bontempi. New Routes from Minimal Approximation Error to Principal Components, Volume 27, Number 3 / June, 2008, Neural Processing Letters, Springer
  2. ^ a b Johnson, Richard A & Wichern, Dean W. Applied Multivariate Statistical Analysis (New Jersey: Prentice-Hall International Inc, 1998). ISBN 0-13-080084-8.
  3. ^ Juanda, Bambang. Ekonometrika : Pemodelan dan Pendugaan (Bogor: IPB Press, 2009). ISBN 978-979-493-177-6.
  4. ^ Iriawan, Nur , Astuti, Septin Puji. Mengolah Data Statistik dengan mudah menggunakan Minitab 14 (Yogyakarta: ANDI, 2006). ISBN 979-763-111-7.
  5. ^ a b c Draper, Norman & Smith, Harry. Analisis Regresi Terapan (Jakarta: PT Gramedia Pustaka Utama, 1992). ISBN 979-511-146-9.
  6. ^ Harvey Mudd College (3 November 2009). Karhunen-Loeve Transform (KLT) (html) (dalam bahasa Inggris). Siaran pers. Diakses pada 10 Mei 2010.
  7. ^ a b Jonathon Shlens, A Tutorial on Principal Component Analysis.

TEMPLATE MATCHING

Template matching adalah sebuah teknik dalam pengolahan citra digital untuk menemukan bagian-bagian kecil dari gambar yang cocok dengan template gambar. Template matching merupakan salah satu ide yang digunakan untuk menjelaskan bagaimana otak kita mengenali kembali bentuk-bentuk atau pola-pola. Template dalam konteks rekognisi pola menunjuk pada konstruk internal yang jika cocok (match ) dengan stimulus penginderaan mengantar pada rekognisi suatu objek. Atau pengenalan pola terjadi jika terjadi kesesuaian antara stimulus indera dengan bentuk mental internal. Gagasan ini mendukung bahwa sejumlah besar template telah tercipta melalui pengalaman hidup kita. Tiap-tiap template berhubungan dengan suatu makna tertentu.

Contoh proses identifikasi bentuk geometri :
Energi cahaya yang terpancar dari suatu bentuk mengena pada retina mata dan diubah menjadi energi neural yang kemudian dikirim ke otak. Selanjutnya terjadi pencarian di antara templatetemplate yang ada. Jika sebuah template ditemukan sesuai (match ) dengan pola tadi, maka subjek dapat mengenal bentuk tersebut. Setelah kecocokan antara objek dan template terjadi, proses lebih lanjut dan interpretasi terhadap objek bisa terjadi.
Teori Template matching memiliki keunggulan dan kelemahan, yaitu :
Keunggulan :
(1) Jelas bahwa untuk mengenal bentuk, huruf atau bentuk-bentuk visual lainnya diperlukan kontak dengan bentuk-bentuk internal.
(2) Template matching adalah prosedur pengenalan pola yang sederhana yang didasarkan pada ketepatan konfigurasi informasi penginderaan dengan “konfigurasi” pada otak. (Contohnya : barcode)
Kelemahan :
Jika perbandingan eksternal objek dgn internal objek 1:1, maka objek yang berbeda sedikit saja dengan template tidak akan dikenali. Oleh karena itu, jutaan template yang spesifik perlu dibuat agar cocok dengan berbagai bentuk geometri yang kita lihat dan kenal. Jika memang penyimpanan memori di otak seperti ini, otak tentu seharusnya sangat kewalahan dan pencarian informasi akan memakan waktu, padahal pada kenyataannya tidak demikian.
    Template Matching dapat dibagi antara dua pendekatan, yaitu : pendekatan berbasis fitur dan pendekatan berbasis template. Pendekatan berbasis fitur menggunakan fitur pencarian dan template gambar seperti tepi atau sudut, sebagai pembanding pengukuran matrik untuk menemukan lokasi template matching yang terbagus di sumber gambar.

Pendekatan Berbasis Fitur

Sebuah pendekatan berbasis fitur dapat dianggap; pendekatan dapat membuktikan lebih berguna, jika template gambar memiliki fitur yang kuat jika pencocokan di pencarian gambar bisa diubah dengan cara tertentu. Karena pendekatan ini tidak mempertimbangkan keseluruhan dari template gambar, komputasi dapat lebih efisien ketika bekerja dengan sumber gambar beresolusi lebih besar, sebagai pendekatan alternatif, berbasis template, mungkin memerlukan pencarian titik – titik yang berpotensi untuk menentukan lokasi pencocokan yang terbaik.

Pendekatan Berbasis Template

    Untuk template tanpa fitur yang kuat, atau ketika sebagian besar template gambar merupakan gambar yang cocok, sebuah pendekatan berbasis template mungkin efektif. Seperti disebutkan di atas, karena berbasis template, template matching berpotensi memerlukan sampling dari sejumlah besar poin, untuk mengurangi jumlah sampling poin dengan mengurangi resolusi pencarian dan template gambar oleh faktor yang sama dan melakukan operasi pada perampingan gambar yang dihasilkan (multiresolusi, atau piramida, pengolahan citra), menyediakan pencarian titik data dalam pencarian gambar sehingga template tidak harus mempunyai pencarian titik data, atau kombinasi keduanya.

Motion dan Oklusi

    Dalam kasus di mana template tidak dapat memberikan pencocokan langsung, mungkin lebih cocok untuk menerapkan penggunaan eigenspaces – template objek yang lebih detail yang sesuai dengan sejumlah kondisi yang berbeda, seperti berbagai perspektif, iluminasi, warna kontras, atau objek yang cocok diterima "pose". Misalnya, jika pengguna mencari seraut wajah, eigenspaces dapat terdiri dari gambar (template) wajah dalam posisi yang berbeda ke kamera, dalam kondisi pencahayaan yang berbeda, atau dengan ekspresi yang berbeda.
Hal ini juga memungkinkan gambar yang cocok untuk menjadi dikaburkan, atau oklusi oleh obyek, dalam kasus ini, memungkinkan untuk menyediakan banyak template untuk menutupi kemungkinan setiap oklusi. Dalam kasus di mana objek lunak atau poseable, motion juga menjadi masalah, dan masalah yang melibatkan motion dan oklusi menjadi ambigu. Dalam kasus ini, salah satu solusi yang mungkin adalah membagi template gambar ke dalam beberapa sub-foto dan melakukan pencocokan pada setiap subdivisi.

Pencocokan berbasis Template dan konvolusi

    Sebuah metode dasar template matching menggunakan konvolusi bayangan (template), disesuaikan dengan fitur tertentu dari template matching, yang ingin kita deteksi. Teknik ini dapat dengan mudah dilakukan pada gambar abu-abu atau tepi gambar. Hasil konvolusi akan di tempat tertinggi di mana struktur gambar sesuai dengan struktur bayangan, di mana nilai-nilai gambar besar dapat dikalikan dengan nilai-nilai bayangan besar.
Metode ini biasanya diimplementasi dengan terlebih dahulu memilih sebuah bagian dari pencarian gambar untuk digunakan sebagai template: Kita akan memanggil pencarian gambar S (x, y), dimana (x, y) mewakili koordinat setiap pixel dalam pencarian gambar. Kita akan memanggil template T (x t, y t,), dimana (x t, t y) merupakan koordinat dari setiap pixel dalam template. Kemudian kita hanya memindahkan pusat (atau asal) dari template T (x t, x t,) atas setiap titik (x, y) dalam pencarian gambar dan menghitung jumlah produk antara koefisien dalam S (x, y) dan T (x t, y t,) atas seluruh wilayah dari template. Karena semua kemungkinan posisi dari template yang berkenaan dengan pencarian gambar dianggap posisi terbaik. Metode ini kadang-kadang disebut sebagai 'Linear Spasial Filtering' dan template disebut masker penyaring.

Mempercepat Proses

Di masa lalu, tipe spasial filtering biasanya hanya digunakan dalam solusi hardware khusus karena kompleksitas komputasi operasi, namun kita dapat mengurangi kompleksitas ini dengan penyaringan dalam domain frekuensi dari gambar itu, disebut sebagai ' frekuensi domain filtering', hal ini dilakukan melalui penggunaan teorema konvolusi.
Cara lain untuk mempercepat proses pencocokan adalah melalui penggunaan dari suatu gambar piramida. Ini adalah serangkaian gambar, pada skala yang berbeda, yang terbentuk dengan berulang kali menyaring dan subsampling gambar asli agar menghasilkan gambar resolusi berkurang berurutan. Gambar resolusi lebih rendah dapat dicari untuk template (dengan mengurangi resolusi yang sama), untuk menghasilkan posisi semula yang memungkinkan untuk mencari pada skala yang lebih besar. Foto yang lebih besar kemudian dapat dicari dalam jendela kecil di sekitar posisi mulai menemukan lokasi template terbaik. Metode lain yang dapat menangani masalah seperti ini antara lain terjemahan, skala dan rotasi gambar.

Implementasi

Dalam implementasi sederhana ini, diasumsikan bahwa metode yang dijelaskan di atas diterapkan pada gambar abu-abu: karena abu-abu digunakan sebagai intensitas piksel.

minSAD = VALUE_MAX;

// loop through the search image
for ( int x = 0; x <= S_rows - T_rows; x++ ) {
    for ( int y = 0; y <= S_cols - T_cols; y++ ) {
        SAD = 0.0;

    // loop through the template image
    for ( int i = 0; i < T_rows; i++ )
        for ( int j = 0; j < T_cols; j++ ) {

                pixel p_SearchIMG = S[x+i][y+j];

                pixel p_TemplateIMG = T[i][j];

                SAD += abs( p_SearchIMG.Grey - p_TemplateIMG.Grey );
            }
    }

        // save the best found position
    if ( minSAD > SAD ) {
        minSAD = SAD;
            // give me VALUE_MAX
        position.bestRow = x;
        position.bestCol = y;
        position.bestSAD = SAD;
    }
}

Salah satu cara untuk melakukan template matching pada gambar warna adalah dengan menguraikan piksel ke dalam komponen warna mereka dan mengukur kualitas pertandingan antara warna template dan pencarian gambar dengan menggunakan jumlah SAD dihitung secara terpisah untuk setiap warna.

Contoh Aplikasi
“PENGGUNAAN METODE TEMPLETE MATCHING UNTUK IDENTIFIKASI KECACATAN PADA PCB”

Penerapan metode template matching pada identifikasi kecacatan PCB dapat dilakukan dengan langkah utama sbb:
1. Pengepasan posisi: Dilakukan dengan mencuplik 80% area citra untuk mendapatkan posisi ideal.
2. Hitung nilai korelasi silang : Untuk mengklasifikasikan suatu citra PCB adalah baik dan tanpa cacat sedikitpun, maka nilai korelasi adalah 1 dan cacat total maka nilai korelasinya adalah -1. Rumus yang digunakan adalah :
Dengan :

3. Deteksi akhir : Dari nilai korelasi yang didapat, nilai tersebut kemudian di konversikan dalam rentang 0 sampai 255 pada channel red untuk digambarkan dalam bentuk segiempat pada titik koordinat citra PCB yang mengalami cacat.
Prinsip metode ini adalah membandingkan antara image objek yang akan dikenali dengan image template yang ada. Image objek yang akan dikenali mempunyai tingkat kemiripan sendiri terhadap masing-masing image template.
Pengenalan dilakukan dengan melihat nilai tingkatkemiripan tertinggi dan nilai batas ambang pengenalan dari image objek tersebut. Bila nilai tingkat kemiripan berada di bawah nilai batas ambang maka image objek tersebut dikategorikan sebagai objek tidak dikenal.
Selanjutnya untuk dapat mengimplementasikan metode templete matching maka perlu dilakukan sejumlah operasi pengolahan citra digital, antara lain:
•    Penapisan Citra (Filtering) : dilakukan bila citra yang akan dianalisis memiliki derau sehingga perlu dihaluskan dengan tapis citra. Perancangan tapis dengan memanipulasi piksel-piksel tetangga membuat citra lebih halus, bentuk sudut, dan tepi citra tetap terjaga. Pada proses perekaman citra digital dapat terjadi gangguan yang bersifat frekuensi rendah, dimana terjadi proses pemerataan intensitas cahaya pada suatu titik sampel dengan titik-titik tetangganya. Gangguan lain yang sering terjadi pada proses perekaman citra digital adalah terjadinya gangguan berbentuk garis-garis akibat adanya kerusakan pada sebagian detektor sensor. Juga sering dijumpai gangguan lain dalam bentuk bercak hitam yang acak.
•    Pengambangan (Tresholding) : digunakan untuk mengubah citra dengan format keabuan yang mempunyai nilai lebih dari dua ke format citra biner yang hanya memiliki dua nilai (0 atau 1). Dalam hal ini titik dengan rentang nilai keabuan tertentu diubah menjadi warna hitam dan sisanya menjadi warna putih atau sebaliknya.
Aplikasi yang akan dibangun adalah sebuah simulasi sederhana untuk proses AOI (Automated Optical Inspection), dalam hal ini diasumsikan PCB master dan PCB input deteksi telah tersedia dalam bentuk file bitmap.
Secara umum implementasi dari identifikasi kecacatan PCB dengan menggunakan metode Templete Matching ini dapat digambarkan sebagaimana pada Gambar 1. Pada Gambar 1 tersebut :
• Grayscale digunakan untuk merubah citra warna menjadi citra keabuan.
• Median Filter : Digunakan untuk melakukan proses penapisan jika citra dianggap masih mengandung derau.
• Batas Ambang : Digunakan untuk mengatur tingkat proses pengambangan pada citra


Gambar 1 Penerapan Templete Matching pada Identifikasi Cacat PCB
Pada penelitian sejenis, umumnya output dari penggunaan templete matching adalah berupa prosentase kemiripan antara image master dengan image input. Untuk permasalahan identifikasi kecacatan pada PCB ini, maka outputnya adalah posisi blok pada PCB input yang tidak sesuaidengan PCB master. Posisi blok itulah yang diidentifikasi terdapat kecacatan.
Pada penelitian ini dilakukan upaya untuk mendeteksi kecacatan pada PCB RAM. Dalam hal ini digunakan dua buah model PCB, yaitu PCB acuan (master) dan PCB RAM yang cacat. Aplikasi akan berusaha untuk mendeteksi kecacatan yang terjadi dalam bentuk output yang menunjukkan letak titik kecacatan pada PCB RAM tersebut. Masing-masing PCB yang digunakan adalah sebuah citra berkarakteristik bitmap.
Sebelum digunakan sebagai acuan pada pada proses templete matching ini,maka PCB master terlebih dahulu dibuatkan model grayscalenya. Pembentukan model grayscale ini dilakukan setelah sebelumnya menerapkan pemrosesan penapisan dan pengambangan citra. Gambar 2 menunjukkan pola grayscale dari PCB master.
Hal yang serupa juga dilakukan pada model PCB yang akan diidentifikasi. Gambar 3 menunjukkan pola PCB masukan yang siap diidentifikasi. Terlihat secara sekilas antara dua pola gambar tersebut tidak nampak perbedaan. Dengan demikian apabila inspeksi kecacatan dilakukan secara manual maka tidak akan mudah terdeteksi.
Setelah dua buah citra tersebut diproses dengan menggunakan aplikasi templete matching, maka terlihat hasil identifikasinya berupa lokasi dimana terdapat ketidak cocokan pola dan diasumsikan bahwa pada lokasi tersebut terdapat kecacatan PCB.Dalam hal ini titik-titik yang dianggap cacat karena tidak sesuai dengan citra pada master akan ditandai dengan blok korelasi berwarna merah dimana ukuran blok korelasi tersebut telah ditentukan sebelumnya oleh user. Gambar 4 menunjukkan output hasil template matching pada PCB input. Pada Gambar 4 tersebut terlihat adanya blok korelasi pada titik yang dianggap cacat karena memiliki kesalahan berupa putusnya jalur sirkuit PCB.


Gambar 2 Pola Grayscale PCB Master












Gambar 3 Pola PCB Yang siap diidentifikasi











Gambar 4 Hasil Identifikasi Kecacatan Pada PCB

Dalam penelitian ini PCB master dan PCB input diasumsikan telah tersedia dalam bentuk file bitmap. Proses penting untuk mendapatkan kedua jenis file tersebut adalah tahap pemindaian / scanning. Bila proses ini tidak dilakukan dengan teliti akan berakibat pada proses deteksi kecacatan yang tidak akurat.

Thursday, October 9, 2014

Pengertian AHP


Prinsip Kerja AHPPrinsip kerja AHP adalah penyederhanaan suatu persoalan kompleks yang tidak terstruktur, strategik, dan dinamik menjadi bagian-bagiannya, serta menata dalam suatu hierarki. Kemudian tingkat kepentingan setiap variabel diberi nilai numerik secara subjektif tentang arti penting variabel tersebut secara relatif dibandingkan dengan variabel lain. Dari berbagai pertimbangan tersebut kemudian dilakukan sintesa untuk menetapkan variabel yang memiliki prioritas tinggi dan berperan untuk mempengaruhi hasil pada sistem tersebut (Marimin, 2004).

Prosedur AHP

Pada dasarnya langkah-langkah dalam metode AHP meliputi :
1. Menyusun hirarki dari permasalahan yang dihadapi.
Persoalan yang akan diselesaikan, diuraikan menjadi unsur-unsurnya, yaitu kriteria dan alternatif, kemudian disusun menjadi struktur hierarki 
2. Penilaian kriteria dan alternatif
Kriteria dan alternatif dinilai melalui perbandingan berpasangan. Menurut Saaty (1988), untuk berbagai persoalan, skala 1 sampai 9 adalah skala terbaik dalam mengekspresikan pendapat. Nilai dan definisi pendapat kualitatif dari skala perbandingan 
Perbandingan dilakukan berdasarkan kebijakan pembuat keputusan dengan menilai tingkat kepentingan satu elemen terhadap elemen lainnya Proses perbandingan berpasangan, dimulai dari level hirarki paling atas yang ditujukan untuk memilih kriteria, misalnya A, kemudian diambil elemen yang akan dibandingkan, misal A1, A2, dan A3. Maka susunan elemen-elemen yang dibandingkan tersebut akan tampak 
Untuk menentukan nilai kepentingan relatif antar elemen digunakan skala bilangan dari 1 sampai 9 seperti pada Tabel 1., Penilaian ini dilakukan oleh seorang pembuat keputusan yang ahli dalam bidang persoalan yang sedang dianalisa dan mempunyai kepentingan terhadapnya.
Apabila suatu elemen dibandingkan dengan dirinya sendiri maka diberi nilai 1. Jika elemen i dibandingkan dengan elemen j mendapatkan nilai tertentu, maka elemen j dibandingkan dengan elemen i merupakan kebalikannya.
Dalam AHP ini, penilaian alternatif dapat dilakukan dengan metode langsung (direct), yaitu metode yang digunakan untuk memasukkan data kuantitatif. Biasanya nilai-nilai ini berasal dari sebuah analisis sebelumnya atau dari pengalaman dan pengertian yang detail dari masalah keputusan tersebut. Jika si pengambil keputusan memiliki pengalaman atau pemahaman yang besar mengenai masalah keputusan yang dihadapi, maka dia dapat langsung memasukkan pembobotan dari setiap alternatif.

3. Penentuan prioritas
Untuk setiap kriteria dan alternatif, perlu dilakukan perbandingan berpasangan (pairwise comparisons). Nilai-nilai perbandingan relatif kemudian diolah untuk menentukan peringkat alternatif dari seluruh alternatif.
Baik kriteria kualitatif, maupun kriteria kuantitatif, dapat dibandingkan sesuai dengan penilaian yang telah ditentukan untuk menghasilkan bobot dan proritas. Bobot atau prioritas dihitung dengan manipulasi matriks atau melalui penyelesaian persamaan matematik.
Pertimbangan-pertimbangan terhadap perbandingan berpasangan disintesis untuk memperoleh keseluruhan prioritas melalui tahapan-tahapan berikut:
a. Kuadratkan matriks hasil perbandingan berpasangan.
b. Hitung jumlah nilai dari setiap baris, kemudian lakukan normalisasi matriks.

4. Konsistensi Logis
Semua elemen dikelompokkan secara logis dan diperingatkan secara konsisten sesuai dengan suatu kriteria yang logis.
Matriks bobot yang diperoleh dari hasil perbandingan secara berpasangan tersebut harus mempunyai hubungan kardinal dan ordinal. Hubungan tersebut dapat ditunjukkan sebagai berikut (Suryadi & Ramdhani, 1998):
Hubungan kardinal : aij . a¬jk = aik¬
Hubungan ordinal : Ai¬ > Aj, Aj > Ak maka Ai > Ak
Hubungan diatas dapat dilihat dari dua hal sebagai berikut :
a. Dengan melihat preferensi multiplikatif, misalnya bila anggur lebih enak empat kali dari mangga dan mangga lebih enak dua kali dari pisang maka anggur lebih enak delapan kali dari pisang.
b. Dengan melihat preferensi transitif, misalnya anggur lebih enak dari mangga dan mangga lebih enak dari pisang maka anggur lebih enak dari pisang.
Pada keadaan sebenarnya akan terjadi beberapa penyimpangan dari hubungan tersebut, sehingga matriks tersebut tidak konsisten sempurna. Hal ini terjadi karena ketidakkonsistenan dalam preferensi seseorang.
Penghitungan konsistensi logis dilakukan dengan mengikuti langkah-langkah sebagai berikut :
a. Mengalikan matriks dengan proritas bersesuaian.
b. Menjumlahkan hasil perkalian per baris.
c. Hasil penjumlahan tiap baris dibagi prioritas bersangkutan dan hasilnya dijumlahkan.
d. Hasil c dibagi jumlah elemen, akan didapat λ maks. 
e. Indeks Konsistensi (CI) = (λmaks-n) / (n-1)
f. Rasio Konsistensi = CI/ RI, di mana RI adalah indeks random konsistensi. Jika rasio konsistensi ≤ 0.1, hasil perhitungan data dapat dibenarkan.

AHP

Analytic Hierarchy Process (AHP) dan Perhitungan Contoh Kasus AHP

Sambil mencari trik-trik magic (sulap) yang rencananya akan saya implementasikan dalam kode php dan buat ebooknya, saya akan mencoba memberikan pemahaman saya mengenaialgoritma analytic hierarchy process (AHP). Sebenarnya saya telah memberikan link belajar untuk memahami algoritma AHP pada postingan artikel saya sebelumnya. Namun, disini saya akan mencoba mengulas sedikit tentang AHP berdasarkan pemahaman saya, bagaimana cara kerja AHP dalam pengambilan keputusan multi kriteria dan implementasi algoritma AHP pada contoh kasus pemilihan mobil.
Dalam kehidupan sehari-hari, kita tidak terlepas dari permasalahan dan kita dituntut untuk dapat mengambil keputusan yang tepat. Dari mulai yang sederhana, seperti menentukan jenis jajanan yang ekonomis tapi sehat, sampai untuk menyelesaikan permasalahan-permasalahan industri. Untuk pengambilan keputusan dengan satu kriteria saja mungkin tidak terlalu sulit untuk dilakukan. Namun, bagaimana dengan permasalahan yang melibatkan multipilihan dengan multikriteria penilaian?
Disinilah algoritma AHP berperan. Analytic Hierarchy Process atau AHP dikembangkan oleh Prof. Thomas L. Saaty sebagai algoritma pengambilan keputusan untuk permasalahan multikriteria (Multi Criteria Decision Making atau MCDM). Permasalahan multikriteria dalam AHP disederhanakan dalam bentuk hierarki yang terdiri dari 3 komponen utama. Yaitu tujuan atau goal dari pengambilan keputusan, kriteria penilaian dan alternatif pilihan. Adapun gambar dari hierarki tersebut adalah sebagai berikut.
Hierarki AHP
Setelah permasalahan multikriteria dimodelkan dalam hierarki seperti gambar diatas, maka dapat dimulai tahapan perbandingan berpasangan (pairwise comparison) untuk menentukan bobot kriteria. Tahap perbandingan berpasangan ini akan digunakan pada saat mencari/menghitung bobot kriteria dan bobot alternatif untuk setiap kriteria penilaian.  Misal ada sejumlah m kriteria M dan sejumlah n alternatif N. Maka perbandingan berpasangan dilakukan antar anggota kriteria M pada tahap mencari bobot kriteria. Dan perbandingan berpasangan dilakukan antar anggota alternatif N untuk setiap anggota kriteria M.
Perbandingan berpasangan dilakukan berdasarkan preferensi subyektif dari pengambil keputusan. Untuk penilaiannya menggunakan Skala Perbandigan 1-9 Saaty seperti terlihat pada gambar berikut.
Skala 1-9 Saaty
Setelah bobot kriteria didapatkan, selanjutnya dilakukan pengecekan konsistensi untuk matrik perbandingan berpasangan-nya. Jika lebih dari 0.1 maka harus dilakukan perbandingan berpasangan kembali sampai didapat ratio kurang dari atau sama dengan 0.1 (konsisten). Hal yang serupa dilakukan juga terhadap masing-masing matrik perbandingan antar alternatif.
Setelah bobot kriteria dan bobot alternatif didapatkan maka dihitung total dari perkalian antara bobot alternatif dengan bobot kriteria yang bersesuaian. Untuk lebih memperjelas lagi cara/alur kerja AHP ini, saya akan membahas contoh kasus pengambilan keputusan pemilihan mobil menggunakan algoritma AHP.
Problem : Andi ingin membeli mobil. Adapun alterntif pilihan mobil yang akan dibeli Andi adalah Civic Coupe, Saturn Coupe, Ford Escort, dan Mazda Miata. Sedangkan kriteria penilaian yang dipertimbangkan Andi untuk membeli mobil adalah style, reliability, fuel economy.
Dari kasus yang dihadapi Andi, maka buat hierarki permasalahannya terlebih dahulu. Tujuan atau Goal adalah Memilih Mobil. Kriterianya gaya, mesin handal, hemat bahan bakar. Alternatif pilihan Andi adalah Civic Coupe, Saturn Coupe, Ford Escort dan Mazda Miata. Selanjutnya berikut ini hierarki yang didapat melalui 3 komponen tersebut.
Hierarki Kasus AHP
Selanjutnya lakukan perbandingan berpasangan dengan Skala Saaty untuk mendapatkan bobot kriteria:
  1. Perbandingan Berpasangan Dengan Skala Saaty
  2. Perbandingan Kriteria
  3. Hitung bobot kriteria (priority vector) dengan cara : 1) normalisasi nilai setiap kolom matrik perbandingan berpasangan dengan membagi setiap nilai pada kolom matrik dengan hasil penjumlahan kolom yang bersesuaian. 2) Hitung nilai rata-rata dari penjumlahan setiap baris matrik
  4. Pairwise Comparison
  5. Cek Konsistensi Ratio (CR) dari matrik perbandingan berpasangan kriteria. Jika CR > 0.1 maka harus diulang kembali perbandingan berpasangan sampai didapat CR <= 0.1.
  6. Hitung CI
    CI
    Tabel IR
    IR
    Sehingga CR = CI/IR = 0.03/0.58 = 0.05 (<=0.1, sehingga konsisten)
  7. Susunan hierarki yang baru (lengkap dengan bobot kriteria)
  8. Perhitungan bobot alternatif untuk kriteria Style
  9. Perhitungan bobot alternatif untuk kriteria Reliablity
  10. Perhitungan bobot alternatif untuk kriteria Fuel Economy
  11. Susunan Hierarki yang baru (lengkap dengan bobot kriteria dan bobot alternatif)
  12. Perangkingan Alternatif ( hasil penjumlahan dari perkalian setiap bobot alternatif dengan bobot kriteria yang bersesuaian)
Demikianlah uraian artikel mengenai Analytic Hierarchy Process (AHP) ini. Semoga dapat bermanfaat dan membantu memberikan pemahaman bagi Anda yang sedang mempelajari algoritma AHP. Berikut ini juga ditambahkan beberapa referensi yang dijadikan acuan sumber dalam penulisan artikel ini. Dan juga dapat menjadi referensi lebih lanjut bagi Anda untuk memahami lebih dalam mengenai algoritma AHP.

Wednesday, October 8, 2014

Segmentasi Citra

Segmentasi citra merupakan suatu proses pengelompokkan citra menjadi beberapa region berdasarkan kriteria tertentu.
Secara umum ada beberapa pendekatan yang banyak digunakan dalam proses segmentasi antara lain :
a) teknik threshold, yaitu pengelompokan citra sesuai dengan distribusi properti pixel penyusun citra.
b) teknik region-based, yaitu pengelompokkan citra kedalam region-region tertentu secara langsung berdasar persamaan karakteristik suatu area citranya.
c) edge-based methods, yaitu pengelompokkan citra kedalam wilayah berbeda yang terpisahkan karena adanya perbedaan perubahan warna tepi dan warna dasar citra yang mendadak.
Pendekatan pertama dan kedua merupakan contoh kategori pemisahan image berdasarkan kemiripan area citra, sedangkan pendekatan ketiga merupakan salah satu contoh pemisahan daerah berdasarkan perubahan intensitas yang cepat terhadap suatu daerah.
Contoh segmentasi dapat dilihat dalam gambar berikut :  Tiap piksel dalam suatu wilayah mempunyai kesamaan karakteristik atau propeti yang dapat dihitung (computed property), seperti : warna(color), intensitas (intensity),dan tekstur (texture).

CBIR
Pada dasarnya CBIR (Content-Based Image Retrieval) merupakan suatu teknik pencarian suatu data gambar yang diinginkan oleh pengguna terhadap beberapa data gambar, dalam skala yang besar.



Gambaran umum CBIR adalah sebagai berikut,
User terlebih dahulu memasukkan formasi query yang berupa gambar --> kemudian query tersebut di ekstraksi --> sehingga menghasilkan vektor ciri (ciri khusus suatu gambar), begitu pula data-data gambar yang tersimpan dalam database akan mengalami struktur yang sama seperti formasi query sehingga ditemukan vektor ciri --> kemudian akan dibandingkan satu sama lain untuk mencari kesamaannya.

Setelah proses pembandingan tersebut, maka akan terpilih beberapa gambar yang memiliki nilai-nilai vektor yang sama atau hampir sama --> kemudian dilakukan indexing dan retrieval data yang telah terpilih tadi --> sehingga ditemukan urutan gambar yang (dalam database) yang memiliki kesamaan dengan formasi gambar (sesuai keinginan user).

Key word :
Indexing : merupakan proses pengelompokan data-data sehingga dapat mempermudah penggalian dan pemanggilan data dalam proses pencarian.
Retrieval : pengambilan kembali.

misal
image bebek yang memiliki ciri bentuk yang sebagaimana bebek, dan memiliki ciri warna dimana bebek memiliki warna putih serta memiliki tekstur bulu.


Cara Menghitung Euclidean Distance
Euclidean distance adalah perhitungan jarak dari 2 buah titik dalam Euclidean space. Euclidean space diperkenalkan oleh seorang matematikawan dari Yunani sekitar tahun 300 B.C.E. untuk mempelajari hubungan antara sudut dan jarak.  Euclidean ini biasanya diterapkan pada 2 dimensi dan 3 dimensi. Tapi juga sederhana jika diterapkan pada dimensi yang lebih tinggi.

1 dimensi
Semisal ingin menghitung jarak Euclidean 1 dimensi. Titip pertama adalah 4, titik kedua adalah -10. Caranya adalah kurankan -10 dengan 4. sehingga menghasilkan -14. Cari nilai absolut dari nilai -14 dengan cara mempangkatkannya sehingga mendapat nilai 196. Kemudian diakarkan sehingga mendapatkan nilai 14. Sehingga jarak euclidean dari 2 titik tersebut adalah 14.


2 dimensi
Caranya hampir sama. Misalkan titik pertama mempunyai kordinat (3,5). Titik kedua ada di kordinat (5,-3). Caranya adalah kurangkan setiap kordinat titik kedua dengan titik yang pertama. Yaitu, (5-3,-3-5) sehingga menjadi (2,-8). Kemudian pangkatnya sehingga memperoleh (4,64). Kemudian tambahkan semuanya sehingga memperoleh nilai 64+4 = 68. Hasil ini kemudian diakarkan menjadi 8.25. Sehingga jarak euclideannya menjadi 8.25.