67
3.2.4.6 Detail
Algoritma pada
method di
kelas DatabaseConnection
Pada sub bab ini akan dijelaskan method dan atribut yang terdapat dalam kelas DatabaseConnection.
Atribut : private String jdbcURL = jdbc:mysql:localhost:3306dataskripsi;
private String user = ; private String password = ;
public Connection connection = null;
Method : 1. public DatabaseConnectionkonstruktor
Input : - Output : koneksi ke database
Algoritma : a. set connector ke mysql databaseClass.forNamecom.mysql.jdbc.Driver
b. tes koneksi setConnectionDriverManager.getConnectionjdbcURL, user, password;
2. public void toConnectedSQLString url, String user, String pass
Input : database url, username, password Output : koneksi ke database Mysql
Algoritma : a. set connector ke mysql databaseClass.forName
org.gjt.mm.mysql.Driver; b. tes koneksi setConnectionDriverManager.getConnectionurl, user,
pass;
3. public void toConnectedOracleString server, String user, String pass,
68
String database
Input : server, username, password, database Output : koneksi ke database Oracle
Algoritma : a. set connector ke mysql databaseClass.forName
oracle.jdbc.driver.OracleDriver; b. tes koneksi setConnectionDriverManager.getConnectionurl, user,
pass;
3.2.4.7 Detail Algoritma pada method di kelas Database
Pada sub bab ini akan dijelaskan method dan atribut yang terdapat dalam kelas Database.
Atribut : private String username, password, url, server, database, user;
private static String query; private static int jumlahdb, jumlahdb1, jumlahbaris, jumlahkolom;
private JTextArea DBArea; private static JTable table, table1;
private static JTextField DBSup, DBConf, nama_file, jumlhdata, jumlhdata1;
int i = 1, x = 0, vv = 0; double htng, minsup = 0.0, minconf = 0.0, supsub = 0.0, supfreq = 0.0, conf
= 0.0; static List data1 = new ArrayList;
List temp = new ArrayList; List temp1 = new ArrayList;
List temp2 = new ArrayList; List temp3 = new ArrayList;
List temp4 = new ArrayList; List tempp = new ArrayList;
List temppp = new ArrayList; ArrayList supsubset = new ArrayList;
69
private Itemset[] itemset; static LargeItemset largeitemset = new LargeItemset;
static ArrayList ada = new ArrayList; static ArrayList tampung = new ArrayList;
static ArrayList isirule = new ArrayList; static Vector subset = new Vector;
static ArrayList remain = new ArrayList; static Vector coba = new Vector;
static LinkedList list;
Method : 1. public static int loginString in_url, String usernme, String passwr
Input : database url, username, password Output : koneksi ke database
Algoritma : a. int status = 0;
b. try { Buat object baru DatabaseConnection;
Panggil method toConnectedSQL pada DatabaseConnection; Buat statement baru;
Buat queri; Jalankan queri;
Buat ResultSet baru; Buat ResultSetMetaData baru;
Inisialisasi columns = md.getColumnCount; Buat objek Vector untuk menyimpan data kolom;
Buat objek Vector untuk menyimpan datanya; Jika i columns+1; i++
columnNames.addElementmd.getColumnNamei Selama datanya ada maka :
status = rs.getInt1; Buat objek Vector;
Jika i = columns; row.addElementrs.getObjecti;
70
datanya.addElementrow; Tampilkan data pada jtable;
Jika c datanya.size; jumlahdb++;
rs.close; s.close;
c. catch Exception e System.out.printlne;
d. return status;
2. public static int loginString server, String user, String pass, String database
Input : database url, username, password Output : koneksi ke database
Algoritma : a. int status = 0;
b. try { Buat object baru DatabaseConnection;
Panggil method toConnectedOracle pada DatabaseConnection; Buat statement baru;
Buat queri; Jalankan queri;
Buat ResultSet baru; Buat ResultSetMetaData baru;
Inisialisasi columns = md.getColumnCount; Buat objek Vector untuk menyimpan data kolom;
Buat objek Vector untuk menyimpan datanya; Jika i columns+1; i++
columnNames.addElementmd.getColumnNamei Selama datanya ada maka :
status = rs.getInt1; Buat objek Vector;
Jika i = columns; row.addElementrs.getObjecti;
71
datanya.addElementrow; Tampilkan data pada jtable;
Jika c datanya.size; jumlahdb++;
rs.close; s.close;
c. catch Exception e System.out.printlne;
d. return status;
3. public void simpanDataDB
Input : - Output : data tersimpan dalam bentuk file .txt atau .doc
Algoritma : a. Buat object baru FileOutputStream;
b. Buat object baru JFileChooser; int returnValue = fileChooser.showSaveDialogfileArea;
Jika returnValue == JFileChooser.APPROVE_OPTION maka Buat object baru File;
Buat file output stream try
ambil teks dari Jteksarea DBArea.getText; ukuran teks dalam byte strwrite.length;
buat buffer byte bufOut[] = strwrite.getBytes; tulis data ke dalam file stream fos.writebufOut, 0, fsize;
tutup stream fos.close; catch IOException ie
JOptionPane.showMessageDialognull, Gagal Menyimpan Data;
JOptionPane.showMessageDialognull, Data Berhasil Disimpan di + filename;
4. public void Candidate1Itemsets
72
Input : - Output : candidate 1 itemset
Algoritma : a. while jumlahkolom=ii
while jumlahbaris=j Buat objek baru value dengan mengambil data pada tabel getValue
Jika isi data tidak sama dengan value Maka tambahkan data value ke data1
5. public LargeItemset Rare1Itemsets
Input : - Output : rare 1 itemset
Algoritma : a. while jumlah data1 xx
while jumlahkolom = i while jumlahbaris=j
Buat objek baru value dengan mengambil data pada tabel Jika isi data tersebut sama dengan value
Maka nilai vvv tambah satu Tambahkan data vvv ke temp
b. While jumlah temp xx Maka buat objek baru htng
Tambahkan htng ke temp1 c. While jumlah temp1 xx
Maka buat objek baru sup1 Maka ambil data dari data1
Tambahkan item0,sup1 ke dalam temp5 Jika sup10 dan sup1minsup
Maka ambil data dari data1 Tambahkan item,sup1 ke dalam temp2
Tambahkan item ke dalam temp4 Jika sup1=minsup
73
Maka ambil data dari data1 Tambahkan item1,sup1 ke dalam temp6
Jika sup1==0.0 Maka ambil data dari data1
Tambahkan item1,sup1 ke dalam temp7 Jika sup10.0
Maka ambil data dari data1 Tambahkan item1,sup1 ke dalam temp8
d. Buat objek baru Itemset e. Jika z temp2
Maka theItems[z] = Itemset temp2.getz; f. Jika k temp5
Maka theItems1[k] = Itemset temp5.getk; g. return LargeItemsettheItems, theItems1, 1
6. public LargeItemset RareItemsetsFile
Input : - Output : mRI i-itemset
Algoritma : a. Buat objek baru Itemset
b. Jika temp2.size Maka theItems0[mri] = Itemset temp2.getmri;
Tampilkan\n + mri + 1 + . + theItems0[mri]; c. z=temp2.size;
d. Buat objek baru Itemset e. Jika temp5.size
Maka theItems1[k] = Itemset temp5.getk; f. return LargeItemsettheItems0, theItems1, 1
7. public LargeItemset Zero1ItemsetsFile
Input : - Output : mZG i-itemset
74
Algoritma : a. Buat objek baru Itemset
b. Jika temp8.size Maka theItems00[y] = Itemset temp8.gety;
c. Buat objek baru Itemset d. Jika temp6.size
Maka theItems1[k] = Itemset temp6.getk; e. return LargeItemsettheItems1, theItems00, 1
8. public Rule Arima
Input : - Output : aturan asosiasi langka
Algoritma : a. Buat objek baru Rule
b. Buat objek baru Itemset c. Buat objek baru LargeItemset
d. Panggil method put pada Itemset e. Jika itemset tidak kosong maka
Buat objek baru Candidate Buat objek baru Itemset
Jika ii jumlah items maka Jika iterator.hasNext maka
Buat objek baru Vector Jika elements.containsAllitems[ii].getElements
Count++ setSupport dengan countjumlahbaris
Buat objek baru Largeitemset Panggil method put di itemset
Buat itemset baru dengan largeitemset.getItems; f. Panggil method toString
g. Jika itemset tidak kosong maka Buat objek baru Candidate
Buat objek baru Itemset
75
Jika ii jumlah items maka Jika iterator.hasNext maka
Buat objek baru Vector Jika elements.containsAllitems[ii].getElements
Count++ setSupport dengan countjumlahbaris
Buat objek baru Largeitemset Panggil method put di itemset
Buat itemset baru dengan largeitemset.getItems; Jika zz kurang dari jumlah Itemset
Maka mRI.addkus[zz]; h. Jika z=0 dan mRI=0
Maka tampilkan EMPTY i. Jika zzz mRI.size
Maka tampilkan \n + zzz + z + 1 + . + + mRI.getzzz j. Jika itemset tidak kosong maka
Buat objek baru Candidate Buat objek baru Itemset
Jika ii jumlah items maka Jika iterator.hasNext maka
Buat objek baru Vector Jika elements.containsAllitems[ii].getElements
Count++ setSupport dengan countjumlahbaris
Buat objek baru Largeitemset Panggil method put di itemset
Buat itemset baru dengan largeitemset.getItems; Jika zz kurang dari jumlah Itemset
Maka mZG.addkus[zz].clone; k. Jika y=0 dan mZG=0
Maka tampilkan EMPTY l. Jika y mZG.size
Maka tampilkan \n + y + 1 + . + + mZG.gety m. Jika k mRI.size
Maka itemArray[k] = Itemset mRI.getk; n. Jika aa itemset.length
Maka ada.additemset[aa];
76
o. Jika aaa jumlah ada maka Jika b1 jumlah ls maka
Buat objek ArrayList Tambahkan element pada Arraylist
Buat objek baru coba dengan s.getSubSet1b1 + 1; Jika bb jumlah coba maka
Jika bbb jumlah itemset maka Jika itemset ke bbb sama dengan coba ke bb maka
Flag = true Buat objek subset dengan Vector coba.getbb;
Buat objek remain dengan s.getElements; remain.removeAllsubset;
Jika iterator.hasNext maka Buat objek Vector
Jika isi coba.getbb sama dengan vector maka Jum++
Set supsubset dengan jumjumlahbaris Jika jumlah remain 0 maka
Jika ab jumlah supsubset maka Set supsub dengan supsubset.getab
supfreq = s.getSupport; conf = twoDecPlacessupfreq supsub;
Jika conf = minconf maka Tambahkan pada isirule
subset.clear; remain.clear;
supsubset.clear; p. Jika jumlah isirule = 0 maka
System.out.printlnEMPTY; Jika jumlah isirule tidak sama dengan 0 maka
Jika r jumlah isirule System.out.printlnr + 1 + . + + isirule.getr;
q. return rule
9. public void cetak
Input : -
77
Output : - Algoritma :
a. System.out.printlnHasil Asosiasi Langka; b. System.out.printlnJumlah data + jumlahbaris;
c. System.out.printlnMinimum support : + minsup; d. System.out.printlnMinimum confidence : + minconf;
e. DBArea.append\nJumlah Data : + jumlahdb; f. DBArea.append\nMinimum Support: + minsup;
g. DBArea.append\nMinimum Confidence: + minconf + \n;
8. public void tes
Input : - Output : -
Algoritma : a. temp = new ArrayList;
b. temp1 = new ArrayList; c. temp2 = new ArrayList;
d. temp3 = new ArrayList; e. temp4 = new ArrayList;
f. largeitemset = new LargeItemset; g. ada = new ArrayList;
h. tampung = new ArrayList; i. isirule = new ArrayList;
j. subset = new Vector; k. remain = new ArrayList;
l. coba = new Vector; m. supsubset = new ArrayList;
n. Candidate1Itemsets; o. cetak;
p. Arima;
3.2.4.8 Detail Algoritma pada method di kelas DataFile