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 ite
mset. 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 ite mset tersebut
lalu bandingkan dengan nilai minimum support
threshold sistem
yang sudah diubah nilainya menjadi 0. Jika
support candidate itemset
=0.0 maka masukkan candidate items
et tersebut dalam ArrayList
itemArraylist. getLidouble
Melakukan proses prunning
candidate itemset
untuk mendapatkan
frequent ite mset
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 ite mset tersebut
lalu bandingkan dengan nilai maximum support
. Jika support
candidate itemset minimum support
dan =0.0 maka masukkan candidate
items et 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
ArrayLis
t 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