Thursday, October 9, 2014

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.

Wednesday, September 24, 2014

Gerbang Logika

Gerbang logika

Gerbang logika atau gerbang logik adalah suatu entitas dalam elektronika dan matematika Boolean yang mengubah satu atau beberapa masukan logik menjadi sebuah sinyal keluaran logik. Gerbang logika terutama diimplementasikan secara elektronis menggunakan diode atau transistor, akan tetapi dapat pula dibangun menggunakan susunan komponen-komponen yang memanfaatkan sifat-sifat elektromagnetik (relay), cairan, optik dan bahkan mekanik.

Gerbang elektronika

Untuk membangun sistem logika yang berfungsi secara penuh, relay, tabung hampa, atautransistor dapat digunakan. Contoh gerbang logika yaitu logika resistor-transistor (resistor-transistor logic / RTL), logika diode–transistor (diode-transistor logic / DTL), logika transistor-transistor (transistor-transistor logic / TTL), dan logika complementary metal–oxide–semiconductor(CMOS).

Jenis-jenis gerbang logika

NamaFungsiLambang dalam rangkaianTabel kebenaran
IEC 60617-12US-NormDIN 40700 (sebelum 1976)
Gerbang-AND
(AND)
Y = A \wedge B

Y = A\cdot B

Y = A\,B
IEC AND label.svgLogic-gate-and-us.svgLogic-gate-and-de.png
ABY
000
010
100
111
Gerbang-OR
(OR)
Y = A \vee B

Y = A + B\!
IEC OR label.svgLogic-gate-or-us.pngLogic-gate-or-de.png
ABY
000
011
101
111
Gerbang-NOT
(NOT, Gerbang-komplemen, Pembalik(Inverter))
Y = \overline{A}

Y = \neg A
IEC NOT label.svgLogic-gate-inv-us.pngLogic-gate-inv-de.png\
AY
01
10
Gerbang-NAND
(Not-AND)
Y = \overline{A \wedge B}

Y = A \overline{\wedge} B

Y = \overline{A\,B}
IEC NAND label.svgLogic-gate-nand-us.pngLogic-gate-nand-de.png
ABY
001
011
101
110
Gerbang-NOR
(Not-OR)
Y = \overline{A \vee B}

Y = A \overline{\vee} B

Y = \overline{A + B}
IEC NOR label.svgLogic-gate-nor-us.pngLogic-gate-nor-de.png
ABY
001
010
100
110
Gerbang-XOR
(Antivalen, Exclusive-OR)
Y = A \,\underline{\lor}\, B

Y = A \oplus B
IEC XOR label.svgLogic-gate-xor-us.pngLogic-gate-xor-de.png
atau
Logic-gate-xor-de-2.png
ABY
000
011
101
110
Gerbang-XNOR
(Ekuivalen, Not-Exclusive-OR)
Y = \overline{A \,\underline{\lor}\, B}

Y = A \,\overline{\underline{\lor}}\, B

Y = \overline{A \oplus B}
IEC XNOR label.svgLogic-gate-xnor-us.pngLogic-gate-xnor-de.png
atau
Logic-gate-xnor-de-2.png
ABY
001
010
100
111