Iterasi 1 : hitung item-item dari support(transaksi yang memuat seluruh item) dengan men-
scan database untuk 1-itemset, setelah 1-itemset didapatkan, dari 1-itemset apakah diatas
minimum support, apabila telah memenuhi minimum support, 1-itemset tersebut akan
menjadi pola frequent tinggi,
Tetapkan nilai k-itemset dari support yang telah memenuhi minimum support dari k-itemset
lakukan proses untuk iterasi selanjutnya hingga tidak ada lagi k-itemset yang memenuhi
minimum support.
Iterasi 1
untuk 1-itemset hitung dan scan database untuk mendapatkan pola frequent dari support
Gambar 2 : 1-itemset
dapatkan k-itemset dari support yang memenuhi minimum support, kemudian pilih k-itemset
sebagai pola frequent tinggi
Iterasi 2
pada iterasi sebelumnya pola frequent dari support telah didapatkan dari 1-itemset, untuk 2-
itemset, generate k-itemset dari k-itemset iterasi sebelumnya, dengan melakukan kombinasi dari
k-itemset tersebut.
Gambar 4: kombinasi dari k-itemset
C2 adalah itemset dari kombinasi k-itemset dari iterasi sebelumnya, setelah didapatkan k-itemset
tersebut, hitung masing-masing item frequent dan scan database dan dapatkan frequent item dari
support
Gambar 5: 2-itemset
pengembangan algoritma apriori dengan memangkas k-itemset dengan menghitung suppport dari
itemset, salah satu itemset yang tidak muncul dalam database {telur,buncis} dari C2, sehingga
dipangkas menjadi lebih menghemat memory.
berikut table Pola frequent tinggi diatas minimum support untuk 2-itemset
Gambar 6: Pola frequent tinggi
Iterasi 3
kandidat 3-itemset yang telah memenuhi minimum support, itemset tersebut akan menjadi acuan
untuk k-itemset selanjutnya
scan dabatase untuk mendapatkan itemset dari support, itemset yang memenuhi minimum support
dipilih sebagai pola frequent tinggi
tidak ada lagi kombinasi yang bisa dibentuk untuk k-itemset berikutnya, proses berhenti, pola
frequent tinggi yang ditemukan adalah “roti,mentega,telur,susu”.
Mari kita bentuk association rules yang memenuhi syarat minimum dengan menghitung
confidence association rules A->B
pembentukan aturan assosiatif cukup penting untuk mendapatkan dan menghitung nilai
confidence. perlu diketahui algoritma apriori cukup boros dalam penggunaan memory dan paling
banyak menghabiskan waktu saat scanning.
Algoritma Binary Search (Pencarian Biner)
Penerapan terbanyak dari pencarian biner adalah untuk mencari sebuah nilai tertentu dalam
sebuah list terurut. Jika dibayangkan, pencarian biner dapat dilihat sebagai sebuah permainan
tebak-tebakan, kita menebak sebuah bilangan, atau nomor tempat, dari daftar (list) nilai.
Pencarian diawali dengan memeriksa nilai yang ada pada posisi tengah list; oleh karena nilai-
nilainya terurut, kita mengetahui apakah nilai terletak sebelum atau sesudah nilai yang di
tengah tersebut, dan pencarian selanjutnya dilakukan terhadap setengah bagian dengan cara
yang sama. Berikut ini adalah pseudocode sederhana yang menentukan indeks (posisi) dari
nilai yang diberikan dalam sebuah list berurut, a berada antara left dan right . Karena
pemanggilan fungsi di samping adalah rekursif ekor, fungsi tersebut dapat dituliskan sebagai
sebuah pengulangan (loop), hasilnya adalah algoritma in-place. Pada kedua kasus, algoritma
akan berakhir karena pada setiap pemanggilan rekursif atau pengulangan, jangkauan indeks
right dikurang left akan selalu mengecil, dan akhirnya pasti akan menjadi negatif.
Pencarian biner adalah sebuah algoritma logaritmik dan bekerja dalam waktu O(log n). Secara
khusus, 1 + log2N pengulangan yang diperlukan untuk menghasilkan jawaban. Hal ini dianggap
lebih cepat dibandingkan sebuah pencarian linear. Pencarian biner dapat diimplementasikan
dengan rekursi atau iterasi, seperti yang terlihat di atas, walaupun pada kebanyakan bahasa
pemrograman akan lebih elegan bila dinyatakan secara rekursif. Pada intinya, algoritma ini
menggunakan prinsip divide and conquer, dimana sebuah masalah atau tujuan diselesaikan
dengan cara mempartisi masalah menjadi bagian yang lebih kecil. Algoritma ini membagi
sebuah tabel menjadi dua dan memproses satu bagian dari tabel itu saja. Algoritma ini bekerja
dengan cara memilih record dengan indeks tengah dari tabel dan membandingkannya dengan
record yang hendak dicari. Jika record tersebut lebih rendah atau lebih tinggi, maka tabel
tersebut dibagi dua dan bagian tabel yang bersesuaian akan diproses kembali secara rekursif.
memperkecil jumlah operasi pembandingan yang harus dilakukan antara data yang dicari
dengan data yang ada di dalam tabel, khususnya untuk jumlah data yang sangat besar
ukurannya. Prinsip dasarnya adalah melakukan proses pembagian ruang pencarian secara
berulang-ulang sampai data ditemukan atau sampai ruang pencarian tidak dapat dibagi lagi
(berarti ada kemungkinan data tidak ditemukan). Syarat utama untuk pencarian biner adalah
data di dalam tabel harus sudah terurut, misalkan terurut menaik.
Untuk melakukan pembagian list tersebut, diperlukan sebuah angka tengah, bila angka yang dicari lebih kecil
daripada angka ditengah list, maka algoritma ini akan fokus ke serangkaian index yang berada di sebelah kiri
list, begitu juga sebaliknya.
Untuk menjalankan algoritma ini, kita harus mengurutkan terlebih dahulu value dari array yang ingin kita cari
secara ascending. untuk masalah ini, kita bisa menggunakan algoritma sorting seperti bubble sort,insertion sort
atau quick sort.
Contoh :
a) Mencari bilangan 4 dari bilangan 1,2,3,4,5,6,7
1) Mencari titik tengah dari bilangan 1,2,3,4,5,6,7
2) Nilai titik tengah dari bilangan 1,2,3,4,5,6,7 adalah 4, maka nilai yang dicari bisa langsung di
temukan dan proses di hentikan.
b) Mencari bilangan 6 dari bilangan 1,2,3,4,5,6,7
1) Mencari nilai titik tengah dari bilangan yang tersedia yaitu 1,2,3,4,5,6,7
2) Nilai titik tengahnya adalah 4
3) Dari nilai yang dicari (6) apakah sama, kurang dari, atau lebih dari, dari nilai titik tengah
4) Karena nilai yang di cari adalah 6, yaitu lebih dari dari nilai titik tengah (4) maka proses
dilanjutkan kekanan/keatas yaitu mencari titik tengah dari 5,6,7
5) Dari bilangan 5,6,7 nilai titik tengahnya adalah 6, maka bilangan yang dicari ditemukan dan
proses dihentikan
6) Apabila nilai yang dicari belum ditemukan maka proses akan dilanjutkan sampai bilngan
tersebut sudah dicari titik tengahnya semua kemudian proses berhenti.
learning Vector Quantization (LVQ) adalah sebuah metode klasifikasi dimana
setiap unit output mempresentasikan sebuah kelas. LVQ digunakan untuk
pengelompokkan dimana jumlah kelompok sudah ditentukan arsitekturnya
(target/kelas sudah ditentukan).
LVQ salah satu jaringan syaraf tiruan yang merupakan algoritma pembelajaran
kompetitif terawasi versi dari algoritma Kohonen Self-Organizing Map (SOM).
Tujuan dari algoritma ini adalah untuk mendekati distribusi kelas vektor untuk
meminimalkan kesalahan dalam pengklasifikasian.
Algoritma diusulkan oleh Kohonen pada tahun 1986 sebagai perbaikan dari Vector
Quantization. Model pembelajaran LVQ dilatih secara signifikan agar lebih cepat
dibandingkan algoritma lain seperti Back Propagation Neural Network. Hal ini dapat
meringkas atau mengurangi dataset besar untuk sejumlah kecil vektor.
1. Input : x(m,n);
2. Target : T(1,n)
Tetapkan kondisi awal:
1. Epoch = 0;
2. Eps = 1;
1. Epoch = Epoch + 1
2. Kerjakan untuk i = 1 sampai n
Kurangi nilai α