• Tidak ada hasil yang ditemukan

Atribut dan Method

BAB III: ANALISA DAN PERANCANGAN

3.4 Model Desain

3.4.2 Atribut dan Method

Berikut ini merupakan method method penting yang digunakan dalam kelas dari kelas desain

1.

a. Nama kelas :LoginController

b. Nama method :Login(String Username,String Password,Object Frame)

c. Fungsi method : berfungsi sebagai verifikasi terhadap user d. Algoritma Method

1. If(User.getUser(username,password) Then Login Sukses

2. If (Frame.user.getUser().==admin Then enter admin page

3. Else

Enter super admin page 4. Endif

5. endif

2.

a. Nama kelas : bobotController

b. Nama method : pembobotan(String namafile,string judul,String path)

c. Fungsi method : berfungsi untuk meakukan pembotan term dalam dokumen

d. Algoritma Method

1. !isCekFile(namafile,judul)

2. Baca file dan tamping dalam variable(mis :word) 3. Potong kata dengan kelas tokenizer

Token.setdata(word)

Membuat token->token.maketoken() 4. Buat objek termtrm bertipe list untuk mendapatkan

hasil token yang disimpan dalam parsing->token.getparsing()

5. Deklarasi objek term dari kelas list untuk menghitung TF

6. For x=0 to termtmp.getsize() Buat trm dari kelas term()

Buat kata untk menyimpan term dari termtmp

If(!token.isstoplist(kata)->jika bukan stoplist kata = word.stemToIndonesian();

trm.setTerm(kata); trm.setTf(1); trm.setDf(1); trm.setDoc(judul);

skrip.setJudul(judul);

skrip.setNamaFile(namafile); term.add(trm);

endIF

7. Deklarasi hitung dari kelas indek untuk menghitung Tf

8. term=hitung.hitungTF(term)

9. masukkan judul dan namafile ke dalam skripsi-> cod=Skripsi.insertSkripsi(judul,namafile)-> bertipe bolean 10.if(cod) then for x=0 to termsize() trm.insertterm()->proses pembobotan end for message sukses 11.else message gagal 12.endif

13.endif

3.

a. Nama kelas : MatrikCluster

c. Fungsi method : berfungsi untuk melakukan pengelompokkan dokumen

d. Algoritma Method

1. Hitung jumlah skipsi 2. If jumlah skripsi< 3 then

3. Message jumlah skripsi terlalu sedikit 4. Else

5. Skripsi.Clust(jumlahK);

4.

a. Nama kelas : InsertUserController

b. Nama method : InsertUser( String nama, String password, Sring confirmpassword)

c. Fungsi method : berfungsi untuk memasukkan user baru d. Algoritma Method

1. If password.matches(confpassword)

2. Ins=User.insertuser(username,password)->Boolean 3. If ins==true

4. Then insert sukses 5. Else insert gagal 6. Endif

7. Endif

a. Nama kelas : DeleteUserController b. Nama method : deleteUser( String nama)

c. Fungsi method : berfungsi untuk menghapus user d. Algoritma Method

1. If nama.equal(“”)->kososng 2. Message klik table user 3. Else

4. User.deleteuser(nama) 5. Message sukses 6. End if

6.

a. Nama kelas : InserStoplistController b. Nama method : insertstoplist(String kata)

c. Fungsi method : berfungsi untuk memasukkan stoplist baru d. Algoritma Method

1. If nama.equal(“”)->kosong 2. Message isi field

3. Ins= stoplist.insertstoplist(kata) 4. If ins==true

5. Then insert sukses 6. Else insert gagal 7. Endif

7.

a. Nama kelas : UpdateStoplistController

b. Nama method : updatetstoplist(int id,String kata) c. Fungsi method : berfungsi untuk mengedit stopword d. Algoritma Method

1. If kata.equal(“”)->kosong 2. Message isi field

3. Elses toplist.update(id,kata) 4. Endif

8.

a. Nama kelas : DeleteStoplistController b. Nama method : deletestoplist(int id,string kata)

c. Fungsi method : berfungsi untuk menghapus stopword d. Algoritma Method

1. If kata.equal(“”)->kosong 2. Message kata kososng 3. Elses stoplist.delete(kata) 4. Endif

9.

b. Nama method : insertKatadasar(String kata)

c. Fungsi method : berfungsi untuk memasukkan katadasar baru baru

d. Algoritma Method

1. If kata.equal(“”)->kosong 2. Message isi field

3. else 4. Ins= kamus.insertkatadasar(kata) 5. If ins==true 6. Then 7. setDictionaries(); 8. insert sukses 9. Else insert gagal 10.Endif

11.Endif

10.

a. Nama kelas : UpdateKatadasarController b. Nama method : updateKatadasar(String kata)

c. Fungsi method : berfungsi untuk mengubah katadasar d. Algoritma Method

1. If kata.equal(“”)->kosong 2. Message isi field

4. kamus.updateKatadasar(kata) 5. message sukses

6. setDictionaries(); 7. Endif

11.

a. Nama kelas : DeleteKatadasarController b. Nama method : deleteKatadasar(String kata)

c. Fungsi method : berfungsi untuk menghapus kata dasar

d. Tipe : void

e. Algoritma Method

1. If kata.equal(“”)->kosong 2. Message isi field

3. else 4. kamus.deletekatadasar(kata) 5. message sukses 6. setDictionaries(); 7. Endif 12.

a. Nama kelas : User

b. Nama method : insertUser (String username,String password)

c. Fungsi method : berfungsi untuk memasukkan user baru d. Tipe : boolean

e. Algoritma Method

1. Buat Koneksi

2. QueryÆpanggil spInsertuser(?,?,?) 3. Tampung hasil query dengan cara

statement.setString(1,username), statement.setString(2,password)

Dan registeroutparameter(3,varchar)->karena variable bertipe OUT

4. Tamping dalam hasil untuk register out parameter 5. executeQuery();

6. If hasil==sukses then 7. Kembalian berupa true 8. Else if hasil ==gagal then 9. False

10.End if

13.

a. Nama kelas : User

b. Nama method : isUserExixt (String username,String password)

c. Fungsi method : berfungsi untuk memverivikasi user

e. Algoritma Method

1. Buat Koneksi

2. QueryÆpanggil spIsUserExist(?,?,?) 3. Tampung hasil query dengan cara

statement.setString(1,username), statement.setString(2,password)

Dan registeroutparameter(3,varchar)->karena variable bertipe OUT

4. executeQuery();

5. Tampung dalam hasil untuk register out parameter 6. If hasil==sukses then

7. Kembalian berupa true 8. Else if hasil ==gagal then 9. False

10.End if

14.

a. Nama kelas : User

b. Nama method : getUser(String username,String password) c. Fungsi method : berfungsi untuk mendapatakan role user

d. Tipe : user

e. Algoritma Method

2. Buat objek result bertipe user set

3. Masukkan usaername dan password ke object result 4. Buat Koneksi

5. QueryÆpanggil spGetUser_role(?,?,?) 6. Tampung hasil query dengan cara

statement.setString(1,username), statement.setString(2,password)

Dan registeroutparameter(3,varchar)->karena variable bertipe OUT

7. executeQuery();

8. Set result.setrole( statement.getstring(3)) 9. Return result

15.

a. Nama kelas : User

b. Nama method : deleteUser(String username) c. Fungsi method : berfungsi untuk menghapus user

d. Tipe : int

e. Algoritma Method

1. Buat koneksi

2. Buat SQL-> delete from user where username like username

3. Int i=Kon.updateData(SQL) 4. Tutup koneksi

5. Return i

16.

a. Nama kelas : Kamus

b. Nama method : Insertkatadasar(String kata)

c. Fungsi method : berfungsi untuk memasukkan kata dasar baru

d. Tipe : boolean

e. Algoritma Method

1. Buat Koneksi

2. QueryÆpanggil spInsertkatadasar(?,?) 3. Tampung hasil query dengan cara

statement.setString(1,kata),

Dan registeroutparameter(2,varchar)->karena variable bertipe OUT

4. executeQuery();

5. Tampung dalam hasil untuk register out parameter 6. If hasil==sukses then

7. Kembalian berupa true 8. Else then

9. False 10.End if

a. Nama kelas : Kamus

b. Nama method : updatekatadasar(String katalama,String katabaru)

c. Fungsi method : berfungsi untuk mengubah kata dasar

d. Tipe : int

e. Algoritma Method

1. Buat koneksi

2. Buat SQL-> update kamus set kata dasar= katabaru where kata dasar = katalama

3. Int i=Kon.updateData(SQL) 4. Tutup koneksi

5. Return i

18.

a. Nama kelas : kamus

b. Nama method : deleteKatadasar(String kata)

c. Fungsi method : berfungsi untuk menghapus kata dasar

d. Tipe : int

e. Algoritma Method

1. Buat koneksi

2. Buat SQL-> delete from kamus where katadasar= kata

4. Tutup koneksi 5. Return i

19.

a. Nama kelas : Skripsi

b. Nama method : Insertskripsi(String judul,string namafile) c. Fungsi method : berfungsi untuk memasukkan atribut

dokumen skripsi seperti judul dan nama file

d. Tipe : boolean

e. Algoritma Method

1. Buat Koneksi

2. QueryÆpanggil spInsert_judul(?,?,?) 3. Tampung hasil query dengan cara

statement.setString(1,judul), 4. statement.setString(2,namafile),

Dan registeroutparameter(3,varchar)->karena variable bertipe OUT

5. executeQuery();

6. Tampung dalam hasil untuk register out parameter 7. If hasil==sukses then

8. Kembalian berupa true 9. Else then

11.End if

20.

a. Nama kelas : Skripsi

b. Nama method : isCekFile(String judul,string namafile) c. Fungsi method : berfungsi untuk mengecek apakah file

dengan nama file dan jusul sudah ada di database

d. Tipe : boolean

e. Algoritma Method

1. Buat Koneksi 2. Buat variable result

3. QueryÆpanggil spIsCekFile(?,?,?) 4. Tampung hasil query dengan cara

statement.setString(1,judul), 5. statement.setString(2,namafile),

Dan registeroutparameter(3,boolean)->karena variable bertipe OUT dan boolean

6. statement.executeQuery(); 7. If statemen.getboolean(3)==true then 8. Set result=true 9. Else then 10.Result=False 11.End if

12.Return result

21.

a. Nama kelas : Skripsi

b. Nama method : Clust(int jumlah K)

c. Fungsi method : berfungsi untuk melakukan pengelompokkan dokumen

d. Algoritma Method

1. Dapatkan jumlahtotalskripsi 2. Dapatkan jumlah total term 3. Masukkan bobot kedalam matrik

4. Buat variable bertipe matrik 2 D->clustering[][] For x=1to jumlah skripsi

For y=1to jumlah termt dari database Ambil bobot dari table indek

If clustering[x][y]==null Then set clustering[x][y]=0 Else

Set clustering[x][y]=bobot

endIf

endFor

endFor

5. Hitung jarak antar obyek dengan menggunakan cosine similarity

6. Mencari inisialisasi medoid awal For q=1 to jumlah skripsi

For w=1 to jumlah skripsi->mencari CosSim antar skripi

For e=1 to jumlah term

Hitung variable pengukuran jarak (cossim) antar dokumen(term)

Endfor

Hitung CosSim lalu cari P->sesuai algoritma K medoid

Masukkan semua jarak beserta idskripsi ke tabel jarak_temp;

Urutkan secara desc;

Ambil sebanyak k dengan perintah sql select dan limit;

7. Buat perulangan sebanyak k

8. Simpan hasil resultset sejumlah k tertinggi kedalam array

9. Buat variable bertipe arraylist[k] sebanyak k untuk menampung anggota cluster [k]

10.Mulai melakukan pengklusteran: 11.While proses =true

12.For z=1 to jumlahskripsi For z==1 to k

For x=1 to jumlah term

Hitung jarak perobjek dengan k medoid awal Simpan dalam variable jarak bertipe array Endfor

Enfor

Buat perulangan sebanyak k Cari jarak yang terbesar(jarak[k])

Ketemu jarak yang terbesar,masukkan z kedalam cluster[k]

13.Cari medoid baru

14.Buat perualangan sebanyak k kluster 15.Cek dimasing masing kluster objek yang

mempunyai nilai maks

16.Jadikan objek tersebut sebagai medoid baru 17.Jika medoid baru != medoid sebelumnya, ulangi

langkah12

18.Jika sama maka selesai

22.

a. Nama kelas : Stoplist

c. Fungsi method : berfungsi untuk memasukkan stoplist baru

d. Tipe : boolean

e. Algoritma Method

1. Buat Koneksi

2. QueryÆpanggil spInsert_stoplist(?,?) 3. Tampung hasil query dengan cara

statement.setString(1,kata),

Dan registeroutparameter(2,varchar)->karena variable bertipe OUT

4. execute();

5. Tampung dalam hasil untuk register out parameter 6. If hasil==sukses then

7. Kembalian berupa true 8. Else then

9. False 10.End if

23.

a. Nama kelas : Stoplist

b. Nama method : updatestoplist(int id,String katabaru) c. Fungsi method : berfungsi untuk mengubah stoplist

d. Tipe : int

1. Buat koneksi

2. Buat SQL-> update stoplist set stoplist= katabaru where idstoplist =id

3. Int i=Kon.updateData(SQL) 4. Tutup koneksi

5. Return i

24.

a. Nama kelas : Stoplist

b. Nama method : deletestoplist(String kata)

c. Fungsi method : berfungsi untuk menghapus stoplist

d. Tipe : int

e. Algoritma Method

1. Algoritma Method Buat koneksi

2. Buat SQL-> delete from stoplist where stoplist= kata

3. Int i=Kon.updateData(SQL) 4. Tutup koneksi

5. Return i

a. Nama kelas : Term

b. Nama method : insertTerm()

c. Fungsi method : berfungsi untuk mengecek apakah file dengan nama file dan jusul sudah ada di database

d. Tipe : void

e. Algoritma Method

1. Buat koneksi 2. Buat perintah SQL

3. String sql = "insert into term(term,df,idf) values(?,?,?)";

4. .PreparedStatement prs =

kon.getKoneksi().prepareStatement(sql); 5. prs.setString(1, getTerm());

6. prs.setInt(2, getDf());

7. Cek apakah kata sudah ada di tabel term

8. stmt.executeQuery("select * from term where term = '" + getTerm() + "'");

9. Jika sudah ada maka melakukan proses update DF 10.if (rs.next()) {

11. Statement stmtUpd =

12. stmtUpd.executeUpdate("Update term set df = " + (rs.getInt(3) + 1) + " where idterm = " +

rs.getInt(1)); 13. stmtUpd.close();

14.Jika belum ada makan cuma langsung insert 15. CallableStatement clsTmp = kon.getKoneksi().prepareCall("call SpHitungIDF(?,?)"); 16. clsTmp.setString(1, getTerm()); 17.clsTmp.registerOutParameter(2, java.sql.Types.DOUBLE); 18. clsTmp.execute();

19.Double idf = clsTmp.getDouble(2); 20. prs.setDouble(3, idf);

21.prs.execute(); 22. rs.close(); 23.rs.close(); 24.Update nilai IDF 25.UpdateIDF_test(term); 26.insertIndex();

27.UpdateBobot_test(term);

26.

b. Nama method : insertindex()

c. Fungsi method : berfungsi untuk memasukkan indek ke dalam database

d. Tipe : void

e. Algoritma Method

1. Buat konoeksi 2. Buat perintah SQL

3. String sql = " "insert into indeks(idterm,idskripsi,tf )" + "values( (select idterm from term where term = ?),(select idskripsi from skripsi where judul = ?),?)"; 4. Buat prepared statement

5. PreparedStatement stmt = (PreparedStatement) kon.getKoneksi().prepareStatement(sql); 6. stmt.setString(1, getTerm()); 7. stmt.setString(2, getDoc()); 8. stmt.setInt(3, getTf()); 9. stmt.execute(); 10.tutup statement 27.

a. Nama kelas : Term

b. Nama method : updateIDF()

c. Fungsi method : berfungsi mengupdate idf

e. Algoritma Method

1. Buat konoeksi 2. Buat SQL statement

3. String sql = "Select * from term"; 4. Execute

5. Selama ada hasil(rs.next()) 6. CallableStatement clsTmp = kon.getKoneksi().prepareCall("call SpHitungIDF(?,?)"); 7. clsTmp.setString(1, rs.getString(2)); 8. clsTmp.registerOutParameter(2, java.sql.Types.DOUBLE); 9. clsTmp.execute();

10.Double idf = clsTmp.getDouble(2); 11. clsTmp.close();

12.Statement stmtUpd =

kon.getKoneksi().createStatement();

13. stmtUpd.executeUpdate("Update term set idf = " + idf + " where idterm = " + rs.getInt(1));

14.stmtUpd.close(); 15.rs.close();

a. Nama kelas : Term

b. Nama method : updatebobot()

c. Fungsi method : berfungsi mengupdate idf

d. Tipe : void

e. Algoritma Method

1. Buat konoeksi 2. Buat SQL statement

3. String sql = String sql = "select i.idindeks, (i.tf * t.idf) bobot from indeks i " + "inner join term t on i.idterm = t.idterm";

4. Execute

5. Selama ada hasil(rs.next()) 6. Statement stmtUpd =

kon.getKoneksi().createStatement();

7. stmtUpd.executeUpdate("update indeks set bobot = " + rs.getDouble(2) + " where idindeks = " + rs.getInt(1));

8. stmtUpd.close();

29.

a. Nama kelas : Term

b. Nama method : updateIDF_test(String term)

c. Fungsi method : berfungsi mengupdate idf sesuai dengan term masukan

d. Tipe : void e. Algoritma Method

1. Buat konoeksi 2. Buat SQL statement

3. String sql = String sql = " "Select * from term where term='"+term+"';"

4. Execute

5. Selama ada hasil(rs.next())

6. Panggil spUpdateIdf untuk menghitung idf 7. Setelah didapat idf, update idf sesuai dengan term

masukan 8. close

30.

a. Nama kelas : Term

b. Nama method : updatebobot_test(String term)

c. Fungsi method : berfungsi mengupdate bobot sesuai term masukan

d. Tipe : void

e. Algoritma Method

1. Buat konoeksi 2. Buat SQL statement

3. String sql = String sql = " select i.idindeks, (i.tf * t.idf) bobot from indeks i,term t where i.idterm = t.idterm and t.term='"+term+"' ";

4. Execute

5. Selama ada hasil(rs.next()) 6. Statement stmtUpd =

kon.getKoneksi().createStatement();

7. stmtUpd.executeUpdate("update indeks set bobot = " + rs.getDouble(2) + " where idindeks = " + rs.getInt(1));

8. stmtUpd.close();

31.

a. Nama kelas : IndekTerm b. Nama method : hitingTF(List list) c. Fungsi method : berfungsi menghitung tf

d. Tipe : List

e. Algoritma Method

1. Buat templist dari kelas arraylist 2. Buat variable term bertipe kelas Term 3. Buat dan termTmp = null bertipe Term 4. Set term=list.get(0);->indek ke 0 5. Set term.setTf(1);

6. Boolean kode ==true

7. Masukkan term tersebut ke termTmp 8. For i=1 to list.size()-.ukuran masukan 9. term = list.get(i)

10.For j=0 to termlist.size()-.ukuran masukan 11.termTmp=templist.get(j);

12.if term equal termTmp then

13.set termTmp.setTF(termTmp.getTf()+1) 14.temrList.remove(j) 15.termList.add(j,term) 16.kode false 17.end if 18.end for 19. if (kode == true) 20.term.setTf(1); 21.tmpList.add(term); 22.end if 23.end for 24.return termlist 25.Buat SQL statement

Dokumen terkait