bab iv analisis, perancangan, dan implementasi perangkat lunak · object-oriented dengan...

19
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.

Upload: nguyenkhanh

Post on 07-May-2018

216 views

Category:

Documents


3 download

TRANSCRIPT

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-10

IV.4.2.2 Diagram Sekuens Analisis

Gambar 18. Sequence diagram analisis

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-13

IV.5.2 Sequence diagram perancangan

Gambar 20. Sequence diagram perancangan

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