KELAS 10 PERUBAHAN LINGKUNGAN SMA KURIKULUM MERDEKA
Sistem Basis Data
1. SISTEM BASIS DATA
ALGORITMA ECLAT
KELOMPOK 3
SERTI LONDONGALLO (H12110003)
KRISTI W. SAIYA (H12110255)
BRYAN NAWANJAYA ARTIKA (H12110275)
ABADI GUNAWAN AZIS (H12110287)
JURUSAN MATEMATIKA
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
UNIVERSITAS HASANUDDIN
2013
2. ALGORITMA ECLAT
Algoritmaeclatdigunakanuntukmenampilkanitemset mining.Polafrekuensiitemset mining
dapatditemuipada data sepertijikaseorangpelangganmembeli roti,
pastijugaakanmembelisusu.Jenispolasepertiinidisebutkaidahasosiasi (association rules)
danbanyakdigunakanpadaberbagaiaplikasi.
Ide dasardarialgoritmaeclatialahmeggunakaninterseksi (titikpotong) tid set (tid =
transaksi id) untukmenghitungsupport daricalonitemset yang jauhdari subset generasi yang
tidakterdapatpadaprefix tree.
Berbedapadaapriori yang metodepencarianitemsetnyadariumumkekhususdanmenyebar,
metodepencarianalternatifpadaalgoritmaeclatialahdarikhususkeumum.Artinya proses
pencarianitemsetnyadimulaidari yang paling seringdikunjungike yang paling
jarangdikunjungitanpaharusmeperhatikanurutan. Selainitu proses
pencariannyajugasecaramendalam (depth). Perbedaannyadapatdigambarkansepertiberikut.
Frequent
itemset
border null
{a1,a2,...,an}
(a) General-to-specific
null
{a1,a2,...,an}
Frequent
itemset
border
(b) Specific-to-general
..
..
..
..
Frequent
itemset
border
null
{a1,a2,...,an}
(c) Bidirectional
..
..
APRIORI ECLAT
(a) Breadth first (b) Depth first
APRIORI ECLAT
3. Dalamprosesnya, eclatjugadidefinisikansecararekursif.Artinya proses pencarianitemset yang
diinginkanakanterjadisecaraberkesinambungansepanjangmasihadaitemset yang tersisa. Ada 2
poinutamadalamalgoritmaeclat, yakni :
1. Menemukanitemset yang frequent (paling seringdikunjungi) dan
2. Melibatkansemuaitemset yang tersediadalamartiansecararekursif.
Metodepembentukanitemsetpadaalgoritmaeclat :
1. nyatakansetiap item dalamtabeltransaksi id (tid) secara vertical
2. menentukansupport (pendukung) darisetiap k-itemsetdenganmenyilangkantid-list
darikedua (k-1) subset. Pendekatanpenyilangannyadapatdimulaidariatas-bawah, bawah-
atasataugabungankeduanya. Untuklebihjelasnyadapatdilihatpadagambarberikutini.
A
1
4
5
6
7
8
9
B
1
2
5
7
8
10
AB
1
5
7
8
TID Items
1 A,B,E
2 B,C,D
3 C,E
4 A,C,D
5 A,B,C,D
6 A,E
7 A,B
8 A,B,C
9 A,C,D
10 B
Horizontal
Data Layout
A B C D E
1 1 2 2 1
4 2 3 4 3
5 5 4 5 6
6 7 8 9
7 8 9
8 10
9
Vertical Data Layout
4. Dari pemaparan di atasdapatdilihatbahwakeuntungandarialgoritmaeclatialah proses
perhitungansupport lebihcepatdibandingkandenganapriori. Haiinidikarenakan proses
pencarianitemsetnyasecaramendalamdanketikatelahditemukanitemset yang
seringdikunjungimaka proses berakhir.
Berbedapadaapriori yang proses
pencariannyasecaramelebarsehinggahalinimembutuhkanwaktu yang cukup lama
untukmenentukanitemset yang seringdikunjungikarenametodepencariannyasecaramenyeluruh
(satu-satu). Meskipuntelahditemukanitemset yang seringdikunjunginamunjikamasihadaitemset
yang belumdieksekusimaka proses akandilanjutkan. Hal inilah yang menyebabkan proses
perhitungansupportpadaeclatjauhlebihcepatdibandingkanapriori.
Namun di sisilain,
eclatjugamemilikikekuranganyaitupenggunaanmemorinyajauhlebihbesardibandingkanapriori.
Pada proses pembentukanitemsetpadaeclatdigambarkansecaravertikal. Artinyajikatransaksi yang
terjadimisalkan 10 kali, danterdapat20 itemset, maka proses eksekusi yang
terjadiialahsebanyakitemset yang adayaitusebanyak 20 kali eksekusi.
Kalauaprioritidaklahdemikian, eksekusiterjadisebanyaktransaksi yang adayaitu 10 kali
eksekusi.Hal inilah yang menyebabkanukuranmemoripadaeclatlebihbesardibandingkanapriori.
Akan tetapi, akanmemudahkanuntukmengetahuiitemset yang
seringdikunjungipadaalgoritmaeclat.
Untukmemperjelas proses kerjadarialgoritmaeclat,
berikutcontohimplementasinyamenggunakan FP-Tree.
TID Items
1 A B C E F O
2 A C G
3 E I
4 A C D E G
5 A C E G L
6 E J
7 A B C E F P
8 A C D
9 A C E G M
10 A C E G N
Header
Supp. Count ≥ 2
Item Pointer
A 8
C 8
E 8
G 5
B 2
D 2
F 2
Transaksi
TID Items
1 A B C E F
2 A C G
3 E
4 A C D E G
5 A C E G
6 E
7 A B C E F
8 A C D
9 A C E G
10 A C E G
Itemset yang
barusetelahpemangka
san
5. Dari data di atasterdapatitemset yang tidakmemenuhisupport count yang
telahditentukanyaitu I, J, L, M, N, O dan P karenahanyamuncul 1 kali padatransaksi yang terjadi.
Item-item tersebutdiabaikansajasehinggadiperolehitemset yang baru.
FP-Tree padatransaksipertama
FP-Tree padatransaksike-dua
FP-Tree padatransaksike-tiga
8. FP-Tree padatransaksike-sepuluh
FP-Tree bersyaratuntuk F
Sekarangakandilakukaneksekusimulaidari item yang memilikifrekuensiterendahyaitu F.
DarigambarFP-Tree padatransaksike-sepuluhterlihatjelasbahwahanyaterdapatsatucabang yang
mempunyaiending F. Sehinggadiperolehgambarseperti di atas.
Padatahapinihanyadifokuskanpadacabang yang memilikiending F danmengabaikancabang yang
tidakmemilikiending F. Kemungkinankombinasi subset itemset yang megandung item F
yaitu{F} {A,F} {C,F} {E,F} {B,F} {A,C,F}, …, {A,C,E,F}
9. Pada header baru di atasdapatdilihatbahwa item A, B, C dan E termasuk item yang
frekuenatauseringdikunjungi. Namunmasihada item yang jugafrekuen yang
belumdieksekusiyaitu item D sehingga proses rekursifdilanjutkan.
FP-Tree bersyaratuntuk D
Padatahapinihanyadifokuskanpadacabang yang memilikiending D
danmengabaikancabanglainnyatanpaending D. Sesuaidengan support count yang
telahditentukanpadapohon di atasterdapatbeberapa item yang tidakfrekuenyaitu D, G dan E. Pada
header baruterlihatjelas item A dan C merupakan item yang paling frekuendarisemua item yang
ada. Kemungkinankombinasi subset itemset yang megandung item D yaitu{D} {A,D} {C,D}
{A,C,D}.
Berikutinimerupakancontohimplementasidarialgoritmaeclatmenggunakan program R.
10. Implementasi
## 1041 transaksiyang terjadi, list di bawahmerupakanpotongandari data
## beberapatransaksi yang diduplikasidimasukkanuntukmenghasilkan output
darialgoritma
data = list(
c("2","3","4","6","7","8","10","12","13","14","16","20","23","32","39","41","
46","52","55","60","64","66","73","75","77"),
c("11","42","72"),
c("14","51"),
c("41","51","65"),
c("22","57","65"),
...)
itemsets<- eclat(data, parameter = list(support = 0.1, minlen=2, tidLists =
TRUE, target="frequent itemsets"))
parameter specification:
tidLists support minlenmaxlen target ext
TRUE 0.1 2 5 frequent itemsets FALSE
algorithmic control:
sparse sort verbose
7 -2 TRUE
eclat - find frequent item sets with the eclat algorithm
version 2.6 (2004.08.16) (c) 2002-2004 Christian Borgelt
createitemset ...
set transactions ...[78 item(s), 1041 transaction(s)] done [0.00s].
sorting and recoding items ... [3 item(s)] done [0.00s].
creating bit matrix ... [3 row(s), 1041 column(s)] done [0.00s].
writing ... [4 set(s)] done [0.00s].
Creating S4 object ... done [0.00s].
Output data :
inspect(itemsets)
items support
1 {11,
42,
72} 0.1940442
11. 2 {42,
72} 0.1940442
3 {11,
42} 0.1940442
4 {11,
72} 0.1959654
Analisis
Dari hasil di atasdapatdilihatbahwaterdapat 4 itemset yang
frekuensebagaihasildarialgoritmaeclat.Hasiloutputnyamerujukpadareplikasidaritransaksi {11, 42,
72} yang seringmunculpada data.Hasiloutputnyamenunjukkanbahwahimpunantransaksi {11, 42,
72},{42, 72}, {11, 42} mempunyaisupportsebesar 19,40 % dantransaksi {11, 72}
mempunyaisupportsebesar 19.60%. Produk id 11, 42 dan 72 secaraberturut-
turutmewakiliprodukQuesoCabrales, Singaporean Hokkien Fried Mee and Mozzarella di
Giovanni.