IV-1
BAB IV
ANALISIS, PERANCANGAN, DAN IMPLEMENTASI PERANGKAT LUNAK
Pada bab ini akan dibahas berbagai hal yang terkait analisis dan perancangan
perangkat lunak web mining yang diusulkan sebagai solusi permasalahan.
Bahasan mencakup analisis metodologi pengembangan yang akan digunakan,
analisis perangkat lunak, serta perancangan perangkat lunak.
IV.1 Analisis Metodologi Pengembangan
Dikarenakan besarnya kemungkinan prototipe aplikasi ini akan disempurnakan
dan dikembangkan di kemudian akhir untuk keperluan akademik, maka
metodologi yang digunakan harus mendukung pengembangan yang berbasis
objek. Hal ini penting mengingat pengembangan yang berbasis objek bersifat
moduler sehingga akan memudahkan proses enhancement di kemudian hari. Oleh
karena itu, metodologi yang akan digunakan adalah metodologi Rational Unified
Process (RUP) yang mendukung pengembangan berbasis objek dengan
pemodelan UML. Seluruh bab ini akan berisi dokumentasi analisis berorientasi
object-oriented dengan menggunakan metodologi RUP terhadap perangkat lunak
yang dikembangkan. Analisis meliputi pendefinisian deskripsi fungsional dan
non-fungsional, pendefinisian diagram use case, pendefinisian skenario untuk
setiap use case, pendefinisian class diagram, serta pendefinisian sequence
diagram.
IV-2
IV.2 Analisis Perangkat Lunak
IV.2.1 Deskripsi Umum
Perangkat lunak web mining yang dikembangkan mencakup preprocessing data
dan pemrosesan hasil preprocessing serta visualisasinya. Oleh karena itu,
prototipe perangkat lunak yang dikembangkan harus mencakup kedua fungsi
utama tersebut. Prototipe perangkat lunak akan menerima masukan berupa data
content email seperti yang telah dijelaskan pada bagian III.3.2, melakukan
preprocessing terhadap data mentah tersebut, menerapkan teknik BN terhadap
data siap pakai hasil preprocessing serta melakukan visualisasi hasil pemrosesan
tersebut. Seperti telah dijelaskan pada bagian III.3.3, pada Tugas Akhir ini,
pemrosesan data dan visualisasinya akan ditangani oleh modul perangkat lunak
yang telah dihasilkan dalam tugas akhir sebelumnya. Sementara untuk bagian
preprocessing akan ditangani oleh sebuah modul tambahan yang akan
dikembangkan untuk keperluan ini.
IV.2.2 Fitur Utama Perangkat Lunak
Pada bagian ini akan dideskripsikan seluruh fitur utama yang dibutuhkan
perangkat lunak yang dikembangkan dalam bentuk deskripsi fungsional dan
deskripsi non-fungsional.
IV.2.2.1 Deskripsi fungsional
Berikut akan didefinisikan seluruh daftar kebutuhan fungsional pada perangkat
lunak yang dikembangkan.
IV-3
Tabel 6. Daftar kebutuhan fungsional
Kode Use Case
Nama Kebutuhan Deskripsi
BN-F-01 Read E-mail Membaca content e-mail dari seluruh dokumen e-mail yang diberikan
BN-F-02 Filter Term Menyaring kata-kata pada content e-mail yang dianggap stopwords.
BN-F-03 Write DBFile Menuliskan output preprocessing ke dalam sebuah file basis data dengan format Microsoft Access
BN-F-04 Write ARFFFile Menuliskan output preprocessing ke dalam sebuah file teks dengan format ARFF
BN-F-05 Write TXTFile Menuliskan output preprocessing ke dalam sebuah file teks dengan format .txt
BN-F-06 Process DBFile Memroses file database yang telah dihasilkan BN-F-07 Build BN Structure Membangun struktur BN berdasarkan hasil pemrosesan
file database yang diberikan
IV.2.2.2 Deskripsi non-fungsional
Berikut akan didefinisikan seluruh daftar kebutuhan non-fungsional pada
perangkat lunak yang dikembangkan.
Tabel 7. Daftar kebutuhan fungsional
No Nama Kebutuhan Deskripsi BN-N-01 User Friendly Menyediakan interface yang user-friendly BN-N-02 Activity Logging Mencatat aktivitas sistem
IV.2.3 Model Use Case
Pada bagian ini akan dibangun pemodelan usecase berdasarkan kebutuhan
fungsional dan kebutuhan non-fungsional yang telah didefinisikan sebelumnya.
IV-4
IV.2.3.1 Diagram Use Case
Diagram use case untuk perangkat lunak yang dikembangkan berdasarkan
kebutuhan fungsional dan non-fungsional yang telah didefinisikan sebelumnya
diperlihatkan pada gambar 15.
Gambar 15. Diagram Use Case
IV.2.3.2 Definisi Aktor
Pada tabel 8, dapat dilihat seluruh definisi aktor yang terlibat dalam perangkat
lunak yang dikembangkan untuk melakukan preprocessing.
Tabel 8. Definisi Aktor
Kode Aktor Deskripsi BN-A-01 User Merupakan klien yang akan mengakses perangkat lunak
IV.2.3.3 Definisi Use Case
Pada Tabel 9, dapat dilihat seluruh definisi use case yang terdapat pada perangkat
lunak yang dikembangkan untuk kebutuhan preprocessing.
IV-5
Tabel 9. Definisi Use Case
Kode Use Case Deskripsi Cakupan Fitur
BN-U-01 Preprocessing Menerima file teks berisi data e-mail, mengolahnya, dan menuliskan file output dalam direktori output.
BN-F-01 BN-F-02 BN-F-03 BN-F-04 BN-F-05 BN-N-01 BN-N-02
BN-U-02 Membangun Struktur BN
Membangun struktur BN berdasarkan data masukan yang diberikan
BN-F-06 BN-F-07
IV.2.3.4 Skenario Use Case Preprocessing
Nama Use Case : BN-US-1 Preprocessing
Pengguna : Aktor User
Prekondisi : File input telah tersedia pada direktori input
Postkondisi : File output telah tertulis pada direktori output Aksi Aktor Reaksi Sistem
Skenario Normal (BN-SN-01-01) 1. User memasukkan data input yang
diperlukan : a. Path direktori input b. Tipe file output c. Partisi d. Jumlah maksimal kata Kemudian klik tombol “preprocessing”
2. Sistem membaca seluruh file yang terdapat pada direktori input yang dipilih dan melakukan pemrosesan untuk seluruh kata yg ditemukan berdasarkan jumlah partisi & maksimal kata yang ditentukan.
3. Sistem menuliskan hasil pemrosesan dalam sebuah file output dengan tipe file yang telah ditentukan user
4. User membuka file output pada Program TPDA
Skenario Alternatif (BN-SA-01-01): Data masukan tidak lengkap
1. User memasukkan data input namun tidak lengkap. Kemudian mengklik tombol “preprocessing”
2. Sistem memeriksa kelengkapan data input dan kemudian memberikan pesan bahwa data input tidak lengkap.
IV-6
IV.2.3.5 Skenario Use Case Membangun Struktur BN
Nama Use Case : BN-US-2 Membangun Struktur BN
Pengguna : Aktor User
Prekondisi : Program TPDA telah siap dijalankan, File output telah
tersedia
Postkondisi : Program TPDA menampilkan struktur BN yang
dihasilkan Aksi Aktor Reaksi Sistem
Skenario Normal (BN-SN-02-01) 1. User membuka file output pada Program
TPDA dan menjalankan algoritma pembangunan struktur BN
2. Sistem menjalankan algoritma pembangunan struktur BN dan menvisualisasikan hasilnya dalam bentuk struktur BN.
IV.3 Analisis Use Case Membangun Struktur BN
Untuk membangun menjalankan use case ini akan digunakan sebuah perangkat
lunak yang telah dikembangkan pada Laboratorium Basis Data ITB yang bernama
Program TPDA. Berikut merupakan analisis yang dilakukan terhadap Program
TPDA.
IV.3.1 Deskripsi Umum Perangkat Lunak Program TPDA
Perangkat lunak yang akan digunakan merupakan perangkat lunak pengkonstruksi
struktur BN bernama Program TPDA. Program TPDA mengimplementasikan
Algoritma TPDA, yaitu algoritma pengkonstruksi struktur BN dengan pendekatan
analisis dependensi. Sebagai input, Program TPDA menerima dua bentuk file
masukan yaitu dengan format .mdb dan .csv. Perangkat lunak dapat menampilkan
IV-7
hasil setiap tahapan konstruksi ke layar. Untuk penjelasan lebih lanjut mengenai
algoritma pendukung Program TPDA dapat dilihat pada lampiran E. Tampilan
dari program TPDA dapat dilihat pada Gambar 16.
Gambar 16. Tampilan Program TPDA
IV.3.2 Batasan Umum Perangkat Lunak
Batasan perangkat lunak yang mencakup lingkup pekerjaan, representasi masukan
dan format arsip log yang dihasilkan, yaitu :
1. Program TPDA hanya bisa menerima data masukan berupa file .mdb atau file
.csv
2. Bayesian network yang dihasillkan belum menampilkan CPT
IV-8
IV.4 Analisis Use Case Preprocessing
Modul yang dikembangkan untuk melakukan preprocessing akan diberi nama
Ageha. Ageha bertanggung jawab untuk menjalankan kebutuhan pada use case
preprocessing.
IV.4.1 Deskripsi Umum
Ageha memiliki fungsi utama melakukan preprocessing terhadap dokumen e-
mail. Masukan dari Ageha adalah sebuah dokumen teks. Sedangkan keluaran
Ageha berbentuk dokumen dalam format yang telah terstruktur (dapat berupa file
teks atau file Microsoft Access).
IV.4.2 Realisasi Use Case Tahap Analisis AGEHA
IV.4.2.1 Diagram Kelas Analisis
Pada bagian ini akan digambarkan diagram kelas analisis. Diagram kelas analisis
secara umum dapat dilihat pada Gambar 17.
Gambar 17. Diagram kelas analisis
IV-9
Deksripsi detil daftar tanggung jawab dan atribut untuk setiap kelas analisis
tersebut dapat dilihat pada Tabel 10.
Tabel 10. Daftar Tanggung Jawab dan Atribut Setiap Kelas Analisis
Nama Kelas Daftar Tanggung-Jawab Daftar Atribut Boundary 1. Menampilkan interface perangkat
lunak yang user-friendly - preprocessor
Preprocessor 1. Mengolah data masukan user yang diterima
2. Menjalankan metode pada indexer sesuai dengan tipe file output yang diinginkan user
-indexer
Indexer 1. Membangun pohon kata berdasarkan seluruh kata pada e-mail
2. Memerintahkan filter terhadap setiap kata yang diterima
3. Memotong kata sejumlah yang diberikan sebagai masukan oleh user
4. Memanggil fungsi menuliskan file output sesuai dengan tipe file output yang diinginkan user
Filter 1. Melakukan filter terhadap setiap kata Document 1. Menuliskan data output dalam bentuk
file teks 2. Menuliskan header file teks yang
dibutuhkan
DBCreator 1. Menuliskan data output dalam bentuk file basis data
2. Menuliskan header file basis data yang dibutuhkan
Termnode 1. Mendefinisikan sebuah kata 2. Mendefinisikan frekuensi
kemunculan kata pada seluruh dokumen
IV-11
IV.5 Perancangan Perangkat Lunak
Dikarenakan untuk modul pembangun struktur BN akan menggunakan perangkat
lunak Program TPDA, maka pada bagian perancangan ini akan lebih difokuskan
kepada perancangan AGEHA. Berikut adalah diagram kelas serta diagram
sekuens tahap perancangan dari AGEHA. Untuk perancangan antarmuka dari
AGEHA dapat dilihat pada Lampiran F.
IV.5.1 Class diagram perancangan
Pada bagian ini akan digambarkan diagram kelas perancangan. Diagram kelas
perancangan secara umum dapat dilihat pada Gambar 19.
Gambar 19. Diagram kelas perancangan
Deksripsi detil daftar tanggung jawab dan atribut untuk setiap kelas perancangan
tersebut dapat dilihat pada Tabel 11.
IV-12
Tabel 11. Daftar Tanggung Jawab dan Atribut Setiap Kelas Perancangan
Nama Kelas Daftar Tanggung-Jawab Daftar Atribut Boundary 2. Menampilkan interface perangkat
lunak yang user-friendly - preprocessor
Preprocessor 3. Mengolah data masukan user yang diterima
4. Menjalankan metode pada indexer sesuai dengan tipe file output yang diinginkan user
-indexer
Indexer 5. Membangun pohon kata berdasarkan seluruh kata pada e-mail
6. Memerintahkan filter terhadap setiap kata yang diterima
7. Memotong kata sejumlah yang diberikan sebagai masukan oleh user
8. Memanggil fungsi menuliskan file output sesuai dengan tipe file output yang diinginkan user
Filter 2. Melakukan filter terhadap setiap kata Document 3. Menuliskan data output dalam bentuk
file teks 4. Menuliskan header file teks yang
dibutuhkan
DBCreator 3. Menuliskan data output dalam bentuk file basis data
4. Menuliskan header file basis data yang dibutuhkan
Termnode 3. Mendefinisikan sebuah kata 4. Mendefinisikan frekuensi
kemunculan kata pada seluruh dokumen
IV-14
IV.6 Implementasi Perangkat Lunak
IV.6.1 Batasan Perangkat Lunak
Perangkat lunak yang dikembangkan untuk melakukan preprocessing memiliki
batasan sebagai berikut :
1. Data masukan yang dapat diolah berbentuk content e-mail dengan format
dokumen .txt
2. Data keluaran yang dapat diperoleh adalah dalam bentuk file teks yang
dapat diproses oleh Weka dan file database dalam format .mdb yang dapat
diproses oleh Program TPDA
IV.6.2 Lingkungan Pengembangan
Spesifikasi lingkungan perangkat lunak yang digunakan dalam implementasi
yaitu:
1. Sistem operasi Microsoft Windows XP Professional
2. Microsoft Visual Studio.NET 2005 dalam bahasa C#
3. DBMS Mirosoft Access 2002
IV.6.3 Lingkungan Perangkat Keras
Perangkat lunak Program TPDA dikembangkan dalam sebuah PC standalone.
Spesifikasi PC yang digunakan adalah sebagai berikut:
1. Processor Pentium III 533 MHz
IV-15
2. Memori SDRAM 256 MB
3. Harddisk IDE 40.0GB
4. Monitor SVGA 15”
Sementara perangkat masukan yang digunakan berupa mouse dan keyboard.
IV.6.4 Input Data
Seperti telah dijelaskan pada bagian III.3.2, data yang tersedia untuk digunakan
oleh Program TPDA berbentuk kumpulan file teks dalam format .txt yang telah
terkategorisasi menjadi 20 direktori. Masing-masing file teks tersebut berisi
sebuah content e-mail. Contoh content dokumen e-mail yang diterima dapat
dilihat pada lampiran A. Karena format data awal tidak mungkin dimasukkan
secara langsung ke dalam Program TPDA, maka masing-masing file harus diubah
ke dalam bentuk yang dapat diolah oleh Program TPDA. Oleh karena itu, data
harus di-preprocessing terlebih dahulu agar sesuai dengan karakteristik Program
TPDA.
IV.6.5 Output Data
Karena Program TPDA menerima masukan dalam bentuk basis data yang
memiliki minimal satu tabel basis data, output dari perangkat lunak yang
dikembangkan untuk melakukan preprocessing tersebut haruslah sebuah file basis
data dengan minimal satu tabel basis data. Kata-kata pada content e-mail akan
direpresentasikan sebagai atribut, sedangkan direktori akan direpresentasikan
sebagai kelas. Secara umum, ada dua puluh kelas yang mungkin, seperti dapat
dilihat pada Tabel 4.
V-1
BAB V PENGUJIAN PERANGKAT LUNAK
Pada bagian ini akan didefinisikan tujuan, lingkungan, data pengujian, dan
skenario pengujian dan kriteria keberhasilan dari skenario pengujian yang
diberikan.
V.1 Tujuan Pengujian
Terdapat beberapa hal yang menjadi tujuan pelaksanaan pengujian terhadap
prototipe perangkat lunak web mining yang dibangun, yaitu :
1. Memeriksa kesesuaian hasil implementasi perangkat lunak dengan
spesifikasi kebutuhannya
2. Memeriksa dan membandingkan akurasi graf yang dihasilkan oleh
prototipe yang dibangun dengan graf pada perangkat lunak yang telah ada
3. Memeriksa apakah BN cocok diterapkan pada kasus web mining yang
digunakan
V.2 Lingkungan Pengujian
Pengujian prototipe perangkat lunak dilakukan pada lingkungan yang sama
dengan lingkungan implementasi. Keterangan rinci mengenai lingkungan
implementasi dapat dilihat pada subbab V.1.
V.3 Data Pengujian
Data awal yang dimiliki berupa file arsip yang berisi 19,998 buah file e-mail
mentah (raw) dalam bahasa Inggris. E-mail-e-mail ini berasal dari arsip kelompok
diskusi (discussion group) / berita (newsgroup) – sejenis milis yang membahas
V-2
topik-topik tertentu (misalnya talk.politics.guns yang membahas tentang masalah
senjata api, umumnya di Amerika Serikat), atau melayani kepentingan tertentu
(misalnya, misc.forsale yang berfungsi sebagai bursa informasi jual beli). File-file
e-mail mentah ini dinamai dengan sebuah nomor identifikasi urut tanpa ekstensi
file, dan diorganisasi menurut topik yang dibahas oleh kelompok diskusi tersebut
ke dalam direktori-direktori yang bersesuaian, di mana terdapat 20 direktori untuk
20 kelompok diskusi. Informasi detail mengenai klasifikasi direktori tersebut
dapat dilihat pada subbab III.3. Contoh content dokumen e-mail yang diterima
dapat dilihat pada lampiran A.
V.4 Skenario Pengujian
Pengujian yang dilaksanakan pada tugas akhir ini terdiri dari dua bagian sebagai
berikut:
1. Pengujian fungsionalitas perangkat lunak
Sesuai dengan tujuan pengujian yang pertama, pengujian ini ditujukan untuk
memeriksa kesesuaian hasil implementasi perangkat lunak dengan spesifikasi
kebutuhan yang telah disebutkan pada subbab IV.3.
2. Pengujian tingkat akurasi
a. Tujuan
Memeriksa tingkat akurasi dari struktur BN yang dihasilkan oleh
perangkat lunak dengan struktur BN yang dihasilkan dari perangkat lunak
yang sudah ada.
b. Skenario
Dilakukan lima kali eksperimen dengan kumpulan dataset yang berbeda-
beda (diambil secara acak dari kumpulan data yang dimiliki). Kriteria
akurasi adalah kesesuaian pola kata yang ada pada dataset dengan struktur
BN yang dihasilkan.
V-3
V.5 Hasil Pengujian
Hasil pengujian fungsionalitas perangkat lunak dapat dilihat secara lengkap pada
Lampiran H. Hasil AGEHA dapat dilihat pada Lampiran G, sedangkan hasil
Program TPDA dapat dilihat pada Lampiran I.
Evaluasi Tingkat Akurasi
Pengujian dilakukan dengan menggunakan lima buah dataset hasil preprocessing
AGEHA yang masing-masing terdiri dari 5000 buah dokumen. Masing-masing
dataset kemudian diujicobakan kepada Program TPDA yang hasilnya dapat dilihat
pada lampiran I. Pada hasil pengujian seluruh dataset tersebut, akan diambil satu
pola yang paling sering muncul, yaitu hubungan antara variabel ”first”, ”people”
dan ”time”. Hubungan diantara ketiga variabel ini berbentuk hubungan divergen
seperti pada Gambar 21.
Gambar 21. Sequence diagram perancangan
Dari hubungan ini dapat dilihat, bahwa jika pada sebuah dokumen ditemukan
adanya kata “first” maka hal ini akan meningkatkan keperccayaan akan
kemunculan kata ”people” pada dokumen yang sama. Disini dapat dilihat bahwa
informasi dapat mengalir pada seluruh anak “time”. Namun jika diketahui pada
dokumen tersebut ternyata tidak mengandung kata “time”, maka kemunculan
“first” pada dokumen tersebut tidak akan mempengaruhi kepercayaan akan
kemunculan kata “people”. Disini “first” dan “people” menjadi d-seperated saat
diberikan “time”.
time
first people
V-4
Untuk menguji akurasi dari hasil graf ini, akan diambil sampel 2069 buah
dokumen email. Setiap dokumen akan diperiksa apakah sesuai dengan pola diatas.
Hasil pengujian menunjukkan bahwa dari 2069 dokumen tersebut, 47 buah
dokumen diantara nya mengandung kata “first”. Dengan demikian, pada awalnya,
dapat dianggap bahwa pada 97 buah dokumen tersebut juga mengandung kata
“people”. Dari 97 dokumen tersebut, hasil pengujian menunjukkan bahwa 57 buah
dokumen ternyata juga mengandung kata “people” dan “time”. Lebih lanjut, 18
buah dokumen ternyata tidak mengandung kata “time” tapi mengandung kata
“people”. 21 dokumen lainnya tidak mengandung kata “time” dan “people”. Hal
ini sesuai dengan hasil analisis yang telah dilakukan pada hasil Program TPDA.
Sedangkan sisanya, sejumlah 14 buah dokumen, tidak sesuai dengan hasil
analisis. Dengan demikian dapat dilihat tingkat akurasi dari hasil prototipe
aplikasi web mining yang dikembangkan adalah seperti pada persamaan dibawah.
%100% ×=∑
∑dokumen
ardokumenbenaccuration
sehingga :
%1009786% ×=accuration
%7,88% =accuration
Jadi, hasil tingkat akurasinya adalah 88,7%.
V.6 Kesimpulan Hasil Pengujian
Beberapa kesimpulan yang didapatkan dari hasil pengujian adalah sebagai
berikut:
1. Perangkat lunak berhasil mengimplementasikan seluruh fungsionalitas
sesuai spesifikasi kebutuhannya.
2. Akurasi prototipe perangkat lunak yang dihasilkan cukup baik yaitu
sebesar 88,7