III. 3.4. Detail Algoritma Tiap
Method Pada Tiap Kelas
No Nama Kelas Jenis
Keterangan No. Tabel
1 Itemset Entity
Kelas ini digunakan untuk mencari dan menampung
subset dari
setiap candidate itemset, serta
digunakan untuk
menyimpan itemset baru. Tabel 3.1
2 Candidate Entity
kelas ini digunakan untuk menghasilkan candidate
itemset yang sudah bisa dipertimbangkan menjadi
itemset baru. Tabel 3.2
3 LargeItemset Entity
Kelas ini digunakan untuk membentuk
candidate itemset.
Tabel 3.3
4 Ls Entity
Kelas ini digunakan untuk menghasilkan
large itemset dari setiap itemset
pada setiap iterasi. Itemset dari Large itemset terakhir
yang dihasilkan dari kelas ini akan dijadikan sebagai
Tabel 3.4
centroid untuk klaster. 5 ProsesAPIC
controller Kelas ini digunakan untuk melakukan proses inti dari
penambangan aturan
asosiasi langka. Tabel 3.5
6 Centroid Entity
Kelas ini digunakan untuk menyimpan centroid dari
setiap klaster. Tabel 3.6
8 DataBaseConnection Entity Kelas ini digunakan untuk
mengatur koneksi basis data antara sistem dengan
basis data sql. Tabel 3.7
9 BarChart Entity
Kelas ini digunakan untuk menampilkan
grafik diagram batang dari detil
isi setiap atribut. Tabel 3.8
10 Grafik Entity
Kelas ini digunakan untuk menyimpan data detil dari
atribut yang
akan ditampilkan dalam grafik
diagram batang Tabel 3.9
a. Detil Algoritma Pada Method di kelas Itemset
Tabel 3.1 Tabel Kelas Itemset.
Nama method
Fungsi method
Algoritma method
getElements Membaca element data
dari dataset yang ada dan memasukkannya ke
dalam ArrayList. Inisialisasi i=0. Selama i
elements.length, masukkan elements[i] ke
dalam ArrayList result.
getSubsetint,int Untuk membuat
kombinasi subset dari itemset yang telah
dijoinkan. 1. Untuk k=1, masukkan
elements[i] dalam ArrayList item, dan
masukkan item ke dalam ArrayList subSet.
Lakukan langkah ini hingga tidak ada
elements[i] lagi. 2. Jika k 1, cari subset
itemset untuk k-1, masukkan ke dalam
ArrayList subSubset. Inisialisasi j=0, dan
selama j subSubset.size, ambil
nilai itemset pada subSubset.getj
masukkan dalam ArrayList item lalu
lakukan seperti pada langkah 1.
similarToItemset Untuk membandingkan
apakah itemset pertama sama dengan itemset
kedua, jika tidak sama maka kedua itemset
tersebut akan dijoinkan untuk menghasilkan
candidate itemset yang baru
1. Jika elements.length =1 maka dicek apakah
elements[0] tidak sama dengan itemset yang
ingin dibandingkan. Jika tidak sama akan
dijoinkan. 2. Jika elements.length
1 dilakukan looping selama elements.length -
1 dan dilakukan pengecekkan seperti pada
langkah 1.
JoinItemset Untuk melakukan
proses penggabungan join antar itemset atau
frequent itemset guna mendapatkan
kombinasi candidate itemset yang baru.
1. Jika elements[i] dan dan elements[i+1] tidak
sama maka gabungkan kedua elements tersebut
menjadi satu elements baru.
2. Masukkan elements baru ke dalam ArrayList
yang baru. Lakukan langkah 1 dan 2 hingga
tidak ada lagi elements yang akan dibandingkan.
clone Untuk menyalin itemset
yang ada dalam suatu ArrayList baru.
Inisialisasi i =0. Selama i elements.length
masukkan elements[i] ke dalam ArrayList yang
baru.
toString Untuk menampilkan
itemset dan supportnya. 1. Jika elements = null
atau elements.length = 0 maka kembalikan nilai
string kosong yang menyatakan bahwa tidak
ada itemset dari dataset inputan.
2. Jika elements.length =1, maka kembalikan 1
string elements data elements[0], dan
3. Jika elements.length 1 maka lakukan
perulangan untuk mengambil string
elements data selama i elements.length.
b. Detil Algoritma Pada Method di kelas Candidate
Tabel 3.2 Tabel Kelas Candidate.
Nama method
Fungsi method
Algoritma method
getLdouble Melakukan
proses prunning 1. Baca nilai minimum
support threshold system
candidate itemset untuk
mendapatkan frequent itemset.
yang dimasukkan pengguna. 2. Baca semua candidate k-
itemset yang telah dihasilkan dengan method aprioriGen.
3. Inisialisasi nilai i=0. Selama i panjang data
candidate k
–itemset, maka ambil nilai support dari
candidate itemset tersebut lalu bandingkan dengan nilai
minimum support threshold sistem yang sudah diubah
nilainya menjadi 0. Jika support candidate itemset
=0.0 maka masukkan candidate itemset tersebut
dalam ArrayList itemArraylist.
getLidouble Melakukan
proses prunning candidate itemset
untuk mendapatkan
frequent itemset dalam klaster.
1. Baca nilai minimum support threshold system
yang dimasukkan pengguna. 2. Baca semua candidate k-
itemset yang telah dihasilkan dengan method aprioriGen.
3. Inisialisasi nilai i=0. Selama i panjang data
candidate k
–itemset, maka ambil nilai support dari
candidate itemset tersebut lalu bandingkan dengan nilai
maximum support. Jika support candidate itemset
minimum support dan =0.0 maka masukkan candidate
itemset tersebut dalam ArrayList itemArraylist.
c. Detil Algoritma Pada Method di kelas Largeitemset
Tabel 3.3 Tabel Kelas Largeitemset.
Nama method
Fungsi method
Algoritma method
aprioriGen Membuat
kombinasi candidate k- itemset
1. Inisialisasi nilai i=0 dan j=i+1. Baca frequent k-
itemset pada iterasi sebelumnya.
2. Selama i panjang data frequent k-itemset dan j
panjang data frequent k- itemset maka lakukan
pengujian apakah item [i] sama dengan item[j]
dengan memanggil method similarToItemset.
3. Jika tidak sama lakukan proses join dengan
memanggil method JoinItemset untuk
mendapatkan candidate k- itemset yang baru.
4. Panggil method hasInfrequentSubsetItemse
t untuk mengecek apakah itemset hasil proses join
tersebut merupakan subset dari frequent itemset pada
iterasi sebelumnya. Jika benar maka itemset tersebut
akan dimasukkan ke dalam ArrayList sebagai candidate
itemset yang baru.
hasInfrequentSubset Itemset
Mengecek apakah itemset yang telah
dijoinkan merupakan subset
dari frequent itemset pada iterasi
sebelumnya. 1. Inisialisasi nilai
flag=false, i=0,j=0 dan l=0. Selama i k tingkat
frequent itemset panggil method getSubsetint,int
untuk mendapatkan subset dari parameter Itemset .
Lakukan langkah 2.
2. Selama j panjang data subset maka lakukan
langkah 3. 3. Selama l panjang data
itemset pada tingkat k maka bandingkanlah apakah
itemset tersebut mengandung subset dari
parameter Itemset. Jika benar kembalikan nilai flag
= true.
d. Detil Algoritma Pada Method di kelas Ls
Tabel 3.4 Tabel Kelas Ls.
Nama method
Fungsi method
Algoritma method
putLargeItemset Menampung semua
frequent itemset yang dihasilkan ke
dalam ArrayList ls. Baca frequent k-itemset
yang dihasilkan, masukkan ke dalam ArrayList.
e. Detil Algoritma Pada Method di kelas ProsesAPIC
Tabel 3.5 Tabel Kelas ProsesAPIC.
Nama method
Fungsi method
Algoritma method
pilihFileFile Membaca data dari
file excel dan menampilkannya
ke dalam tabel. 1. Inisialisasi nilai i=0, j=0,
banyakBaris, dan banyakKolom pada sheet
pertama. 2. Selama i banyakBaris
dan j banyakKolom maka getCellj,i dari sheet
pertama. 3. Masukan data ke dalam
ArrayList Data.
bacaDataClusterFile Membaca data dari file excel dan
menampilkannya ke dalam tabel.
1. Inisialisasi nilai i=0, j=0, banyakBaris, dan
banyakKolom pada sheet pertama.
2. Selama i banyakBaris dan j banyakKolom
maka getCellj,i dari sheet pertama.
3. Masukan data ke dalam ArrayList Data.
Cetak Menampilkan
output dari sistem SDAAL.
1. membaca nilai dari setiap atribut penambangan
data. 2. membaca jumlah klaster
yang dihasilkan oleh sistem.
3. membaca aturan langka yang dihasilkan oleh setiap
klaster 4. menampilkannya
kedalam textarea yang disediakan.
Factoriallong i Menghitung nilai
factorial dari setiap jumlah item.
1. membaca jumlah dari setiap item yang akan
dihitung nilai factorialnya. 2. menghitung nilai
factorial
twoDecPlacesdouble number
Untuk menyederhanakan
nilai dari bilangan decimal.
1. membaca nilai decimal yang akan disederhanakan
2. menyederhanakan nilai decimal nya.
exportTableJTable table, File file
Mengeksport tabel dalam JTable
kedalam file excel 1. membaca nilai dari
setiap isi tabel dalam JTable.
2. membuka koneksi kedalam file excel
3. menuliskan setiap isi dari JTable kedalam file
excel. 4. menutup koneksi ke file
excel
deleteString fileName
Melakukan penghapusan file
yang sesuai dengan nama file
yang dimasukan 1. mendeklarasikan file
yang akan dihapus. 2. mengecek keberadaan
file, jika ada maka lakukan penghapusan file, jika tidak
sistem mengeluarkan pesan bahwa file tidak ada.
deleteFiles String d, String e
Melakukan penghapusan file
dengan ekstensi 1. mendeklarasikan
ekstensi file yang akan dihapus.
tertentu. 2. mengecek keberadaan
file dengan ekstensi yang sesuai masukan, jika ada
maka lakukan penghapusan file, jika tidak sistem
mengeluarkan pesan bahwa file tidak ada.
findCandidate1Itemse ts
Menemukan semua candidate
1-itemset dari dataset yang ada,
serta hitung count dan support untuk
tiap candidate 1- itemset.
Untuk cari candidate 1- itemset :
1. Inisialisasi nilai i=1 dan j=1, jumlahKolom, dan
jumlahBaris pada tabel view.
2. Selama jumlahBaris = j dan jumlahKolom = i
lakukan langkah 3. 3. Jika ArrayList Data
mengandung nilai data j,i,
dan data j,i ≠ data j-1,i- 1 masukkan nilai data j,i
ke dalam ArrayList data1. Untuk hitung count
candidate 1-itemset : 1. Inisialisasi nilai x=0,
dan vv=0. Selama ukuran ArrayList data1 x maka
lakukan langkah 2. 2. Selama jumlahBaris = j
dan jumlahKolom = i lakukan langkah 3.
3. Jika data1.getx = nilai dataj,i maka vv di-
increment ditambah 1 4. Masukkan nilai vv
dalam ArrayList temp. Untuk hitung support
candidate 1-itemset :
1. Inisialisasi nilai htng = 0, Selama ukuran ArrayList
temp x, ambil temp.getx dibagi
jumlahBaris. 2. Masukkan nilai htng ke
dalam ArrayList temp1.
findFrequent1Itemsets Menemukan
semua frequent 1- itemset.
1. Inisialisasi nilai x=0, sup1=0 dan minsup =0.
Selama ukuran ArrayList temp1 x maka ambil nilai
temp1.getx dan masukkan dalam variabel
sup1. Lakukan langkah 2. 2. Jika sup1 = minsup,
ambil itemset dari data1.getx. Lalu
masukkan itemset dan sup1 ke dalam ArrayList temp2.
findCandidate1Itemse tsCentro
Menemukan semua candidate
1-itemset dari dataset yang ada,
serta hitung count dan support untuk
tiap candidate 1- itemset.
Untuk cari candidate 1- itemset :
1. Inisialisasi nilai i=1 dan j=1, jumlahKolom, dan
jumlahBaris pada tabel view.
2. Selama jumlahBaris = j dan jumlahKolom = i
lakukan langkah 3. 3. Jika ArrayList Data
mengandung nilai data j,i,
dan data j,i ≠ data j-1,i- 1 masukkan nilai data j,i
ke dalam ArrayList data1. Untuk hitung count
candidate 1-itemset : 1. Inisialisasi nilai x=0,
dan vv=0. Selama ukuran ArrayList data1 x maka
lakukan langkah 2. 2. Selama jumlahBaris = j
dan jumlahKolom = i lakukan langkah 3.
3. Jika data1.getx = nilai dataj,i maka vv di-
increment ditambah 1 4. Masukkan nilai vv
dalam ArrayList temp. Untuk hitung support
candidate 1-itemset : 1. Inisialisasi nilai htng =
0, Selama ukuran ArrayList temp x, ambil
temp.getx dibagi jumlahBaris.
2. Masukkan nilai htng ke dalam ArrayList temp1.
findFrequent1Itemsets Centro
Menemukan semua frequent 1-
itemset. 1. Inisialisasi nilai x=0,
sup1=0 dan minsup =0. Selama ukuran ArrayList
temp1 x maka ambil nilai temp1.getx dan
masukkan dalam variabel sup1. Lakukan langkah 2.
2. Jika sup1 = minsup, ambil itemset dari
data1.getx. Lalu masukkan itemset dan sup1
ke dalam ArrayList temp2.
findCandidate1Itemse tsCluster
Menemukan semua candidate
1-itemset dari dataset yang ada,
serta hitung count dan support untuk
tiap candidate 1- itemset yang ada
dalam klaster. Untuk cari candidate 1-
itemset : 1. Inisialisasi nilai i=1 dan
j=1, jumlahKolom, dan jumlahBaris pada tabel
view. 2. Selama jumlahBaris = j
dan jumlahKolom = i lakukan langkah 3.
3. Jika ArrayList Data mengandung nilai data j,i,
dan data j,i ≠ data j-1,i- 1 masukkan nilai data j,i
ke dalam ArrayList data1. Untuk hitung count
candidate 1-itemset : 1. Inisialisasi nilai x=0,
dan vv=0. Selama ukuran ArrayList data1 x maka
lakukan langkah 2. 2. Selama jumlahBaris = j
dan jumlahKolom = i lakukan langkah 3.
3. Jika data1.getx = nilai dataj,i maka vv di-
increment ditambah 1 4. Masukkan nilai vv
dalam ArrayList temp. Untuk hitung support
candidate 1-itemset : 1. Inisialisasi nilai htng =
0, Selama ukuran ArrayList temp x, ambil
temp.getx dibagi jumlahBaris.
2. Masukkan nilai htng ke dalam ArrayList temp1.
findFrequent1Itemsets Cluster
Menemukan semua frequent 1-
itemset. 1. Inisialisasi nilai x=0,
sup1=0 dan minsup =0. Selama ukuran ArrayList
temp1 x maka ambil nilai temp1.getx dan
masukkan dalam variabel sup1. Lakukan langkah 2.
2. Jika sup1 maxsup dan lebih dari 1.0jumlah baris,
ambil itemset dari data1.getx. Lalu
masukkan itemset dan sup1 ke dalam ArrayList temp2.
getLs Menemukan
semua frequent k- itemset.
Untuk mendapatkan semua frequent k-itemset :
1. Mulai k=2 dan selama ls.getk-1 tidak kosong
maka akan dibentuk candidate k-itemset dengan
memanggil method aprioriGen. Masukkan
candidate.getItems ke dalam items[].
2. Inisialisasi nilai i =0 , dan selama i
items.length, hitung count dan support untuk itemset
tersebut. 3. Panggil method
getLminsup untuk mendapatkan semua
candidate item. 4. Simpan setiap candidate
k-itemset dalam ArrayList dengan memanggil method
putLargeItemset. 5. dari setiap candidate k-
itemset cari subsetnya dan hitung support dari setiap
subsetnya 6. setelah itu simpan subset
dan supportnya kedalam ArrayList
7. hitung nilai relative support dari setiap
candidate k-itemset dengan cara mebagai nilai support
candidate k-itemset dengan nilai support maximum dari
subset yang dimiliki candidate k-itemset
tersebut. 8. kemudian simpan nilai
relative support ini sebagai pengganti nilai support dari
candidate k-itemset. 9. Hitung nilai koefisien
chisquare dari masing
– masing candidate k-
itemset. 10. kemudian lakukan
pengecekan relative support dan koefisien
chisquare dari masing
– masing item agar bisa
menghasilkan large itemset yang nantinya digunakan
sebagai titik awal klaster. Pengecekannya berdasar
persamaan sebagai berikut:
Database Mengambil data
dari tabel dalam basis data.
1. Baca query yang dimasukan oleh pengguna.
2. lakukan eksekusi query 3. mengambil data dari
dalam tabel database dan menyimpannya dalam table
yang tersedia dalam Halaman Deteksi Data
Tampilgrafik Menampilkan
grafik diagram 1. Baca atribut yang dipilih
pengguna untuk dilihat
batang dari setiap atribut data.
statistik datanya. 2. ambil semua data yang
masuk dalam atribut yang telah dipilih oleh
pengguna. 3. hitung setiap data yang
ada, data yang sama dijadikan satu dan jumlah
dari data tersebut ditambah satu.
4. tampilkan keseluruhan data kedalam tabel yang
sudah disediakan dalam Halaman Lihat Grafik
5. tekan tombol view chart, maka data yang
ditampilkan dalam tabel akan di konversi kedalam
bentuk diagram batang bar chart.
cekKoneksi Melakukan cek
koneksi atnara basis data dengan
sistem untuk memastikan sistem
sudah terhubung dengan basis data.
1. baca masukan port, nama basis data, username,
password, yang sudah dimasukan oleh pengguna.
2. lakukan koneksi kedalam basis data
menggunakan data masukan tersebut
3. jika koneksi berhasil maka akan menampilkan
pesan “ koneksi berhasil”. Similarity
Menghasilkan klaster dari
transaksi dalam basis data.
1. dapatkan centroid yang terbentuk dari method
getLs; 2. masukan kumpulan item
dalam setiap transaksi kedalam linklist kemudian
hitung nilai similarity dari setiap transaksi terhadap
centroid klaster yang ada. 3.cara menghitung
menggunakan persamaan di bawah ini:
4. setalah semua similarity transaksi dihitung langkah
berikutya adalah membandingkan setiap
nilai similarity dari setiap transaksi terhadap klaster
5. transaksi dialokasikan pada klaster yang memiliki
centroid dengan nilai similarity tertinggi
terhadap transaksi . 6. hitung nilai optimum
kluster dengan menjumlah rata
– rata dari nilai similarity transaksi pada
setiap klaster dikalikan dengan 1 jumlah klaster.
7. inisialisasi nilai optimum klaster awal = 0,
dan bandingkan nilai optimum sekarang dengan
nilai optimum sebelumnya, jika nilai optimum
sekarang dari nilai optimum sebelumnya
lakukan iterasi berikutnya, tapi jika sebaliknnya maka
iterasi berhenti. 8. setiap iterasi berjalan
maka akan dibentuk
centroid baru yang berasal dari large itemset dari
setiap transaksi yang dialokasikan kedalam
klaster, jadi setiap klaster memiliki centroid baru.
9. method similarity berhenti ketika syarat nilai
optimum klaster sebelumnya nilai
optimum klaster sekarang. 10. simpan setiap klaster
kedalam excel file.
APIC Menghasilkan
aturan asosiasi langka.
Untuk menghasilkan aturan asosiasi langka maka
diperlukan langkah sebagai berikut:
1. baca setiap klaster yang terbentuk dan tersimpan
dalam format excel file. 2. baca per klaster, cari 1-
large itemset dengan menggunakan method
findFrequent1ItemsetsAI .
3. cari k-large itemset berikutnya dengan
tambahan batasan perluasan item yaitu nilai
pcc dari tem. 4. hitung nilai pcc dari item
yang di gabungkan, dengan persamaan dibawah ini:
5. simpan nilai pcc dari setiap candidate itemset
yang akan digabung dan gunakan untuk menghitung
nilai MinAbsSup. MinAbsSup dihitung
sebagai berikut:
6. setelah itu saring semua candidate itemset dengan
menggunakan batasan setiap
candidate itemset yang memiliki nilai support
MinAbsSup Maximum support menjadi k-large
itemset, sedangkan yang lain dipangkas dari
pembentukan aturan langka.
7. setelah semua k-large itemset terbentuk cari nilai
confidence setiap large itemset untuk mencari
aturan asosiasi langka dari setiap large itemset.
8. itemset yang memiliki nilai confidence =
maximum confidence, merupakan itemset yang
dapat menghasilkan aturan asosiasi langka
9. tampilkan aturan asosiasi langka kedalam
JTextArea yang sudah disediakan.
f. Detil Algoritma Pada Method di kelas Centroid
Tabel 3.6 Tabel Kelas Centroid.
Nama method
Fungsi method
Algoritma method
setCentroid Untuk melakukan
pengaturan pada nilai centroid
1. mengambil masukan cetroid dari
sistem 2. mengatur centroid
tersebut menjadi centroid baru milik
setiap klaster
getCentroid Mendapatkan nilai
centroid dari klaster 1. membaca id
centroid 2. dapatkan nilai
centroid yang ada dalam setiap klaster
g. Detil Algoritma Pada Method di kelas DataBaseConnection
Tabel 3.7 Tabel Kelas DataBaseConnection.
Nama method
Fungsi method
Algoritma method
DataBase Melakukan koneksi
kedalam basis data 1. baca masukan
jdbcURL, username, password, yang
sudah dimasukan oleh pengguna.
2. lakukan koneksi kedalam basis data
menggunakan inputan tersebut
isConnected Mengecek koneksi
antara sistem dan basis data.
1. baca masukan jdbcURL, username,
password, yang sudah dimasukan
oleh pengguna. 2. lakukan koneksi
kedalam basis data menggunakan data
masukan tersebut
3. jika koneksi berhasil maka akan
menampilkan pesan “ koneksi berhasil”.
h. Detil Algoritma Pada Method di kelas BarChart
Tabel 3.8 Tabel Kelas BarChart.
Nama method
Fungsi method
Algoritma method
Tampil Menampilkan grafik
diagram batang 1. baca inputan
parameter dari Halaman Lihat
Grafik. 2. konversi kedalam
JFreeChart format 3. tampilkan dalam
bentuk diagram batang
i. Detil Algoritma Pada Method di kelas Grafik
Tabel 3.9 Tabel Kelas Grafik.
Nama method
Fungsi method
Algoritma method
viewGrafik Mengirim data yang
ada dalam tabel ke kelas
BarChart sehingga
bisa tertampil
dalam bentuk
grafik diagram batang.
1. melakukan inisialisasi variable :
String ass [][]; String pars[][];
int jum[][]; int
a=jTable1.getRowCount; int b=
jTable1.getColumnCount; ass= new String[a][b];
pars= new String[a][b]; jum= new int[a][b];
2. menyimpan data dalam tabel ke dalam variable
ass[][] dan jum[][]. Ass untuk kolom 0, dan
jum untuk kolom 1 3. membuat object baru
dari kelas BarChart. 4. memanggil method
tampil dari kelas BarChart.
inputulang Konversi data detil
atribut kedalam tabel 1. membaca data yang
tersimpan dalam excel file dengan nama results1.xls
2. menyimpan data yang dibaca kedalam variable
data dengan tipe data Object.
3. memasukan Object data kedalam tabel dalam
Halaman Lihat Grafik. 4. set tabel RowSorter pada
tabel.
setConn Mengatur
koneksi kedalam basis data.
1. melakukan set jdbcURL, set username, set password.
2.
melakukan koneksi
kedalam basis
data menggunakan
jdbcURL, set username, set password
yang diset sebelumnya. 3. melakukan cek terhadap
koneksi basis data, apakah berhasil atau tidak.
checkMissingData Mengecek data yang kosong atau tidak
sesuai dengan
format isi
data 1. membaca data dalam
tabel 2. mencari missing data
yaitu data yang memiliki nilai ?, null, atau data
kosong. 3. menghitung jumlah
keseluruhan. missing data dan
menghitung prosentasenya dalam data keseluruhan.
III. 3.5. Sequence Diagram