• Tidak ada hasil yang ditemukan

4.1 Gambaran Sistem

Dalam bab ini akan dibahas tentang analisis dan rancangan sistem untuk me-lakukan pengelompokan email dari basis data arsip email pengguna. Pada bab ini juga dibahas tentang rancangan sistem prototipe aplikasi pengelompokan email dari basis data arsip email untuk membuktikan bahwa metode pengelompokan dapat di-implementasikan. Dengan adanya sistem pengelompokan email, email dalam basis data arsip email dapat ditelusuri oleh pengguna. Kemudian hasil penelusuran terse-but akan ditampilkan oleh aplikasi dalam sebuah hirarki, hirarki ini merupakan hasil pengelompokan email sesuai dengan label/kategori pada hirarki tersebut.

4.2 Analisis Kebutuhan Sistem

Sebelum sistem dibuat, terlebih dahulu dilakukan analisis kebutuhan sistem. Analisis kebutuhan sistem merupakan proses identifikasi dan evaluasi permasalahan-permasalahan yang ada, sehingga dapat dibangun sebuah sistem yang sesuai dengan yang diharapkan. Sistem aplikasi pengelompokan email, dibuat untuk kebutuhan se-bagai berikut:

1. Dapat melakukan proses pengumpulan data email, yaitu email masuk dan email keluar dan menyimpannya sebagai suatu arsip basis data email.

2. Dapat melakukan proses pengindeksan (indexing) termasuk didalamnya pra pemrosesan data, yaitu stemming untuk bahasa Indonesia, dan penghilangan daftar stopwords untuk setiap email yang akan diproses lebih lanjut.

3. Sistem hanya bisa diakses oleh pengguna yang terdaftar/telah memiliki email. 4. Dapat dilakukan proses penemuan kembali informasi dari basis data arsip

ema-il, sesuai dengan masukan dari pengguna, dengan penerapan pengelompokan orthogonal.

5. Dapat dilakukan penelusuran terhadap arsip email terhadap judul dan isi email.

6. Email dikelompokkan secara semantik yang dapat memberikan label sutu kata atau frase yang bermakna.

4.3 Analisis Masukan

Setelah dilakukan analisis kebutuhan sistem, maka diperlukan analisis masuk-an untuk memenuhi kebutuhmasuk-an sistem. Untuk masukmasuk-an ymasuk-ang diperlukmasuk-an adalah semua lalu-lintas dari surat elektronik pada suatu organisasi dan pada domain tertentu. Ada beberapa hal yang perlu dipertimbangkan dalam menangani surat elektronik tersebut, yaitu: alamat pengirim, almat tujuan, waktu pengiriman, judul dan isi serta bahasa yang digunakan. Isi email pun memiliki beberapa jenis, antara lain jenis plain text dan html (hyper text markup language maupun campuran (multipart). Dalam sistem ini yang diproses dan dikelompokkan adalah isi surat elektronik yang berupa text.

4.4 Analisis Keluaran

Setelah diketahui analisis kebutuhan sistem dan analisis masukan, kemudian dilakukan analisis keluaran. Analisis keluaran berguna untuk mengetahui keluaran apa saja yang akan dihasilkan dari suatu sistem serta untuk mengetahui kesesuaian antara kebutuhan dan metode yang digunakan. Keluaran dari sistem ini yaitu berupa temu kembali informasi yang telah dikelompokkan sesuai dengan relevansinya. Ke-luaran ini kemudian akan diukur apakah sesuai dengan masukan yang diberikan oleh pengguna. Pengukuran atau pengujian dilakukan dengan cara menghitung tingkat precision dan F-Masure hasil temu kembali informasi. Analisis terhadap proses pe-ngelompokan hasil temu kembali informasi dilakukan dengan cara membandingkan nilai F-Measure berdasarkan input kata kunci yang diberikan.

4.5 Rancangan Arsitektur Sistem

Rancangan arsitektur sistem yang akan dikembangkan tampak seperti Gambar 4.1. Sistem dimulai dari pengumpulan data, data ini berasal dari sebuah basis data ar-sip email. Setiap email dari internet yang dialamatkan untuk suatu alamat email yang akan dikelompokkan akan diterima oleh server email masuk atau server email kelu-ar yang kemudian akan disimpan pada basis data kelu-arsip email. Server email masuk maksudnya server yang bertugas menerima email dari server luar, sedangkan server email keluar maksudnya server email yang digunakan untuk mengirim email keluar

28

yang akan diterima server email lain. Email-email yang disimpan dalam basis data arsip email telah dalam bentuk terurai dalam tabel yang berelasi, sehingga memu-dahkan proses lebih lanjut. Setelah tahap pengumpulan data, selanjutnya proses pra pengolahan data. Proses pra pengolahan data dilakukan agar data yang akan diproses lebih lanjut lebih efisien. Proses selanjutnya adalah ekstraksi ciri yang akan meng-hasilkan kata/frase kunci dalam bentuk vector space model. Setelah proses ekstraksi ciri, baru kemudian dilakukan proses pengelompokan dengan menggunakan metode latent semantic indexingsekaligus menentukan pelabelan kelompok. Proses terakhir yaitu pembentukan hirarki agar email mudah ditelusuri. Proses-proses mulai dari pra pengolahan data sampai pembentukan hirarki dilakukan pada server web yang kemu-dian akan disajikan ke pengguna dengan antarmuka web.

Gambar 4.1: Arsitektur sistem

4.6 Pengumpulan data

Tahap pengumpulan data email disini dilakukan melalui sebuah server basis data email yang diperoleh dari MTA (Mail Transfer Agent) yang ada, yaitu berupa server email masuk dan server email keluar. Proses ini menggunakan LMTP (Local Mail Transport Protocol) atau program mail delivery, yang akan meneruskan email yang datang ke sebuah program. Program ini selanjutnya melakukan penguraian/par-sing email dan menyimpannya pada sebuah basis data. Dari basis data ini, kemudian akan diambil email yang sesuai dengan pencarian pengguna untuk diproses lebih lan-jut.

4.7 Rancangan Algoritma

Ketika merancang sebuah algoritma pengelompokan email, perlu diperhatikan untuk memastikan isi dan label dari hasil pengelompokan memiliki arti bagi penggu-na. Ada dua pendekatan algoritma pengelompokan text pada umumnya, yaitu: per-tama, mendapatkan isi pengelompokan terlebih dahulu kemudian berdasarkan isi pe-ngelompokan baru ditentukan labelnya. Kedua, mendapatkan label/deskripsi terlebih dahulu, kemudian berdasarkan label menentukan isi pengelompokan. Pada penelitian ini akan dilakukan pendekatan yang pertama, yaitu menentukan isi baru kemudian ditentukan labelnya.

Untuk mendapatkan algoritma pengelompokan yang lebih baik, maka proses pengelompokan diawali dengan sebuah pra pengolahan data, tahap ini meliputi text filteringdan stemming. Selanjutnya dilakukan ekstraksi ciri sekaligus dilakukan pe-ngelompokan. Kemudian dilakukan tahap pasca pengolahan data yang akan membuat suatu hirarki. Tahapan utama dari algoritma pengelompokan email seperti terlihat pa-da Gambar 4.2

/∗ ∗ Tahap 1 : Pra P e n g o l a h a n Data ∗ / f o r e a c h d o c u m e n t { do t e x t f i l t e r i n g ; a p p l y s t e m m i n g ; } /∗ ∗ Tahap 2 : E k s t r a k s i C i r i ∗ / d i s c o v e r f r e q u e n t t e r m s and p h r a s e s ; /∗ ∗ Tahap 3 : P e n g e l o m p o k a n dan l a b e l ∗ / g u n a k a n LSI u n t u k p e n g e l o m p o k a n ; f o r e a c h c l u s t e r { t e n t u k a n l a b e l ; } /∗ ∗ Tahap 4 : Tahap a k h i r p e n g e l o m p o k a n ∗ / f o r e a c h l a b e l { t e n t u k a n h i r a r k i ; }

30

4.7.1 Pra pengolahan data

Pada sistem pengelompokan email ini, sesuai analisis masukan, yang bertin-dak sebagai masukan adalah berupa isi email yang berupa text. Karena isi email terdiri dari beberapa bagian dan jenis, maka perlu dipilih bagian isi email yang beje-nis text. Meskipun sudah ada seleksi terhadap masukan yang berupa text, tahap pra pengolahan data ini masih perlu dilakukan untuk mengurangi data yang tidak perlu. Jika tahap pra pengolahan data ini tidak dilakukan, maka Latent Semantic Indexing yang akan dipakai untuk pengelompokan akan menghasilkan istilah-istilah yang tidak memiliki arti, dan akan mengakibatkan label-label kelompok yang tidak berguna. Ja-di, tujuan utama dari tahap pra pengolahan data adalah untuk menghilangkan semua karakter dan istilah pada masukan yang akan mempengaruhi kualitas pengelompokan email.

Dalam algoritma ini terdapat dua tahap pra pengolahan data, yaitu text filtering dan stemming.

Text filtering

Pada tahap text filtering, dilakukan proses penghapusan kata yang memiliki jumlah huruf sedikit, kata yang sering muncul, dan simbol khusus. Tahap ini sering juga disebut stopping. Selain untuk meningkatkan kualitas pengelompokan email, text filtering juga akan meningkatkan performa dari proses pengolahan data karena data yang diolah akan sedikit berkurang.

Stemming

Stemmingmerupakan proses pencarian akar kata yang dapat mengurangi di-mensi kata. Stemming yang akan digunakan adalah algoritma Nazief dan Adriani yang disempurnakan (Asian dkk., 2003). Pada tahap ini perlu pengumpulan kata dasar dalam bahasa Indonesia sebanyak mungkin dan dimasukkan dalam suatu ka-mus kata dasar. Data ini akan memberikan keakuratan lebih berdasarkan Asian dkk. (2003). Selain itu juga perlu dilakukan penentuan stop word yang ada dalam baha-sa Indonesia. Pemilihan stop word yang tepat dan maksimal akan baha-sangat membantu dalam mengurangi dimensi data.

Dengan proses stemming ini, karena mengurangi dimensi data, maka proses pengolahan data juga akan lebih cepat tanpa mengurangi kualitas dari hasil penge-lompokan. Alur proses yang akan diimplementasikan untuk tahap pra pengolahan data ditunjukkan dalam diagram alir Gambar 4.3.

Gambar 4.3: Diagram alir pra pengolahan data 4.7.2 Ekstraksi ciri

Tujuan dari tahap ekstraksi ciri yaitu untuk memperoleh frase atau kata tung-gal yang akan meningkatkan kualitas pengelompokan melalui peningkatan informasi yang terdapat dalam email. Selain itu, dengan ekstraksi ciri akan membantu untuk membuat label yang ringkas dan akurat untuk kelompok yang dihasilkan. Untuk me-milih frase atau kata tersebut, maka beberapa hal yang dipertimbangkan antara lain:

32

kali dalam jumlah yang ditentukan. Hal ini sesuai dengan asumsi temu kembali informasi, bahwa ciri yang sering muncul pada masukan akan memiliki penje-lasan yang lebih kuat. Sebaliknya, dengan mengabaikan kata atau frase yang jarang akan meningkatkan secara drastis efisiensi waktu untuk algoritma secara keseluruhan (Osinki, 2003).

2. frase atau kata dibatasi hanya yang terdapat dalam sebuah kalimat/dokumen. Hal ini dikarenakan batasan kalimat/dokumen biasanya mengindikasikan topik tertentu (Zhang dan Dong, 2001).

3. frase atau kata harus lengkap (Zhang dan Dong, 2001). Dibandingkan frase tidak lengkap, frase yang lengkap akan memiliki makna dan deskripsi yang lebih baik pada sebuah dokumen.

Untuk ekstraksi ciri pada tesis ini digunakan algoritma menemukan frase yang telah dimodifikasi yang diusulkan oleh Zhang dan Dong (2001). Algoritma ini menggu-nakan varian suffix array yang ditambahkan struktur data tambahan, yaitu array LCP (Longest Common Prefix). Array ini terdiri dari N +1 bilangan bulat sementara setiap elemen LCP [i] berisi panjang prefiks umum terpanjang antara akhiran yang berde-katan S [i-1] dan S [i]. Untuk menyederhanakan algoritma, array LCP ditambahkan dengan nol sehingga LCP [0] = LCP [N] = 0.

Algoritma penemuan frase bekerja dalam dua tahap. Pada tahap pertama, frase kanan dan kiri-lengkap ditemukan, dan pada tahap kedua, mereka digabungkan men-jadi satu set frase lengkap. Selanjutnya dipilih frase yang melebihi dari batas yang ditentukan untuk menjadi sebagai ciri yang akan dikelompokkan. Menurut Osinki (2003), untuk akurasi pengelompokan terbaik, nilai batas yang ditentukan berada an-tara 2 dan 5. Untuk penelitian ini diambil nilai terendah 2 yang berarti frase yang muncul 2 kali atau lebih dianggap sebagai frase yang dipakai ciri. Untuk ringkasan algoritma tahap ekstraksi ciri diperlihatkan pada Gambar 4.4.

Untuk mempermudah implementasi penemuan frase yang akan menghasilkan kata/frase yang akan menjadi ciri, maka dibuatlah diagram alir seperti ditunjukkan da-lam Gambar 4.5. Tahapan dari diagram alir penemuan frase dapat dijelaskan sebagai berikut:

1. Pertama inisiasi awal variabel alldoc dan alldocr yang akan menampung ga-bungan semua dokumen asal dan semua dokumen kebalikannya.

/∗ ∗ ∗ Tahap 2 : E k s t r a k s i C i r i ∗ / /∗ ∗ Penggabungan dokumen ∗ / g a b u n g semua dokumen ; b u a t v e r s i i n v e r s i d a r i dokumen y a n g t e l a h d i g a b u n g ; /∗ ∗ penemuan f r a s e l e n g k a p ∗ / t e m u k a n f r a s e k a n a n l e n g k a p ; t e m u k a n f r a s e k i r i l e n g k a p ; u r u t k a n f r a s e k i r i l e n g k a p s e c a r a a b j a d ; g a b u n g k a n f r a s e k i r i dan k a n a n l e n g k a p k e d a l a m s e b u a h f r a s e l e n g k a p ; /∗ ∗ S e l e k s i a k h i r ∗ / u n t u k p r o s e s s e l a n j u t n y a , p i l i h f r a s e dan k a t a y a n g f r e k u e n s i n y a m e l e b i h i b a t a s y a n g d i t e n t u k a n ;

Gambar 4.4: Pseudo-code ringkasan tahap ekstraksi ciri

2. Selanjutnya lakukan penggabungan dokumen sampai selesai dan disimpan pada variabel alldoc.

3. Setelah digabung, buat dokumen kebalikannya yang disimpan pada variabel alldocr.

4. Kemudian secara berturut-turut, cari suffix array dari alldoc dan simpan dalam variabel sa, hitung lcp dari alldoc dan simpan dalam variabel lcp, cari frase kanan lengkap atau rcs (right complete substring) dari alldoc dan simpan dalam variabel rcs.

5. Setelah rcs diketahui, kemudian rcs diurutkan.

6. Lakukan hal yang sama untuk alldocr untuk mencari lcs (left complete subs-tring).

7. Langkah terakhir untuk mendapatkan frase yaitu dengan mencari irisan antara lcsdan rcs. Hasil dari irisan rcs dan lcs ini yang akan digunakan sebagai ciri.

4.7.3 Identifikasi dan pembuatan kelompok

Pada tahap identifikasi dan pembuatan kelompok ini akan didasarkan dari de-komposisi SVD dari matrik kata-dokumen. Tahap ini terdiri dari pembuatan matrik kata-dokumen, selanjutnya yaitu menentukan latent semantic dari dokumen-dokumen

34

Gambar 4.5: Diagram alir penemuan frase

dengan menganalisa hubungan antara kata dan dokumen. Tahap ini melakukan de-komposisi nilai singular pada matrik kata-dokumen yang telah dibuat pada tahap se-belumnya untuk mendapatkan matrik U , S, dan V . Kemudian dihitung jumlah ke-lompok yang yang akan dibuat. Jumlah keke-lompok dihitung dengan menggunakan parameter q (ambang batas yang dianggap wajar) dan menggunakan matrik S hasil dari dekomposisi nilai singular. Pembuatan matrik kata-dokumen dan perhitungan dekomposisi nilai singular ditunjukkan pada diagram alir Gambar 4.6. Diagram alir pada Gambar 4.6 dapat dijelaskan sebagai berikut:

1. Pembuatan matrik kata-dokumen dibutuhkan tiga masukan yaitu jumlah doku-men dan dokudoku-men dan keyf rase atau frase kunci hasil dari proses ekstraksi ciri tahap sebelumnya.

2. Selanjutnya, lakukan perulangan sejumlah dokumen.

dan lcp.

4. Lakukan perulangan sebanyak keyf rase. Perulangan ini digunakan untuk meng-etahui apakah frase/kata kunci ada di dokumen atau tidak.

5. Lakukan pencarian frase di dokumen dengan data variabel sa dan lcp.

6. Apakah ditemukan frase didokumen? jika tidak, lanjutkan ke frase selanjutnya. 7. Jika frase ditemukan, cek apakah frase sudah ada di matrik kata-dokumen? jika tidak, tambahkan frase ke matrik-dokumen. Jika ada, tambahkan dokumen ke matrik matrik kata-dokumen yang sesuai.

8. Lanjutkan sampai frase kunci habis. 9. Lanjutkan sampai jumlah dokumen habis.

10. Setelah pembentukan matrik kata-dokumen selesai, lakukan penghitungan de-komposisi nilai singular dan simpan pada variabel U , S, V t.

11. Hasil akhir dari tahap ini yaitu matrik U , S, V t, dan matrk kata-dokumen. Untuk menghitung jumlah kelompok, berdasarkan Formula 3.2, maka dibu-atlah diagram alir seperti ditunjukkan pada Gambar 4.7. Tahapan dari diagram alir dapat dijelaskan sebagai berikut:

1. Untuk menghitung jumlah kelompok, diperlukan dua masukan, yaitu matrik S hasil dari fungsi svd dan paramater q.

2. Tentukan variabel awal i, yaitu 1.

3. Periksa apakah variabel i kurang dari atau sama dengan panjang matrik S. Jika benar lakukan langkah selanjutnya, jika salah, proses selesai.

4. Selanjutnya lakukan penghitungan formula dengan menggunakan fungsi yang sesuai dan simpan hasilnya dalam variabel qa.

5. Selanjutnya dilakukan pengecekan, apakah nilai qa lebih besar sama dengan parameter q?

6. Jika salah, lakukan penambahan variabel i, dan ulangi langkah nomor 3. 7. Jika benar, simpan nilai i. Nilai i ini yang menjadi hasil jumlah kelompok.

36

Gambar 4.6: Diagram alir pembuatan matrik kata-dokumen dan dekomposisi nilai singular

4.7.4 Penentuan label dan hirarki

Penentuan label untuk tiap kelompok dibuat berdasarkan pengelompokan or-thogonal. Label ditentukan terhadap kata/frase kunci yang memiliki nilai terbesar

Gambar 4.7: Diagram alir menghitung jumlah kelompok

dalam kelompok vektor. Penentuan kelompok dan label dapat dilihat pada diagram alir Gambar 4.8. Pada diagram alir Gambar 4.8 dapat dijelaskan sebagai berikut:

1. Penentuan kelompok dan label memiliki 5 masukan, yaitu k yang merupakan jumlah kelompok hasil dari proses penentuan jumlah kelompok. Variabel t yang merupakan variabel untuk ambang batas apakah suatu dokumen dapat dimasukkan ke kelompok tertentu atau tidak. Tiga variabel matrik U , V t hasil dari perhitungan dekomposisi nilai singular pada tahap sebelumnya dan matrik A yaitu matrik kata-dokumen. V t adalah matrik transpose dari matrik V . 2. Langkah berikutnya adalah inisiasi awal kelompok yang akan menyimpan hasil

pengelompokan dan label yang akan menyimpan label kelompok. Variabel kolomkatamengambil kolom matrik U sebanyak k, dan variabel barisdokumen yang mengambil baris matrik V t sebanyak k.

3. Lakukan perulangan sejumlah kelompok dimulai dari i=1.

4. Lakukan inisialisasi awal, yaitu kelompok ke-i kosong, max=-9999 dan index=-1

38

5. Lakukan perulangan sejumlah baris matrik A dimulai dari j=1. Perulangan ini digunakan untuk mengetahui label apa yang cocok untuk kelompok ke-i. 6. Lakukan pengecekan, apakah max < kolomkata[j,i]? Jika benar, maka index

diisi j dan max diganti dengan kolomkata[j,i]. Jika salah, lanjutkan perulang-an.

7. Hasil perulangan menghasilkan index yang menyimpan nilai posisi kata yang akan dijadikan label untuk kelompok ke i dan disimpan dalam variabel label[i]. 8. Langkah selanjutnya yaitu lakukan perulangan sejumlah kolom matrik A dimu-lai dari m=1. Perulangan ini digunakan untuk menentukan dokumen masuk ke kelompok ke-i atau tidak.

9. Lakukan pengecekan, apakah barisdokumen[i,m] > t? Jika benar, berarti do-kumen lebih dari ambang batas, maka masukkan dodo-kumen m ke dalam ke-lompok ke-i. Jika salah, lanjutkan perulangan.

10. Hasil akhir proses ini yaitu array dari kelompok yang berisi nomor kelompok dan nomor dokumen serta label yang berisi nomor kelompok dan index label.

Untuk pembuatan hirarki dilakukan dengan membandingkan tiap pasangan kelompok untuk melihat apakah dapat dilakukan penggabungan kelompok atau di-perlakukan sebagai relasi induk-anak, seperti terlihat pada Gambar 4.9.

Dalam pseudo-code pada Gambar 4.9 dapat dijelaskan sebagai berikut: 1. Untuk tiap kelompok yang akan dijadikan relasi, misalnya X dan kelompok

Y , tentukan apakah panjang irisan kelompok X dan kelompok Y dibanding dengan panjang gabungan kelompok X dan kelompok Y lebih besar daripada parameter t1?

2. Jika konfirmasi langkah 1 benar, maka kelompok X dan kelompok Y digabung menjadi satu kelompok.

3. Jika konfirmasi pada langkah 1 salah, maka dilakukan pengecekan, apakah pan-jang kelompok X lebih besar daripada panpan-jang kelompok Y ?

4. Jika konfirmasi pada langkah 3 benar, maka lakukan pengecekan, apakah pan-jang irisan kelompok X dan kelompok Y dibanding dengan panpan-jang kelompok Y lebih besar daripada paramater t2?

Gambar 4.8: Diagram alir penentuan kelompok dan label

5. Jika konfirmasi pada langkah 4 benar, maka kelompok Y akan menjadi anak kelompok X.

6. Jika konfirmasi pada langkah 3 salah, maka lakukan pengecekan, apakah pan-jang irisan kelompok X dan kelompok Y dibanding dengan panpan-jang kelompok X lebih besar daripada paramater t2?

40

7. Jika konfirmasi pada langkah 6 benar, maka kelompok X akan menjadi anak kelompok Y . /∗ ∗ /∗ ∗ ∗ Tahap 4 : P e n e n t u a n h i r a r k i ∗ / i f ( | X ∩ Y | / | X ∪ Y | > t 1 ) { X dan Y d i g a b u n g m e n j a d i s a t u kelompok } e l s e { i f ( | X | > | Y | ) { i f ( | X ∩ Y | / | Y | > t 2 ) { Y M e n j a d i a n a k X ; } } e l s e { i f ( | X ∩ Y | / | X | > t 2 ) { X m e n j a d i a n a k Y ; } } }

Gambar 4.9: Pseudo-code penentuan hirarki

Ketika dua kelompok dasar digabung menjadi satu, label-label kelompok ter-sebut juga digabung menjadi satu, seperti terlihat pada prosedur pada Gambar 4.10

i f ( l a b e l _ x b a g i a n d a r i l a b e l _ y ) { l a b e l _ x y = l a b e l _ y ; } e l s e i f ( l a b e l _ y b a g i a n d a r i l a b e l _ x ) { l a b e l _ x y = l a b e l _ x ; } e l s e { l a b e l _ x y = " l a b e l _ x + l a b e l _ y " ; }

4.8 Rancangan Diagram Alir Data untuk Implementasi Aplikasi

Untuk membuat prototipe aplikasi, selanjutnya pada bagian ini akan dijelask-an alirdijelask-an data ydijelask-ang terjadi di dalam prototipe aplikasi ke dalam bentuk diagram alir data.

4.8.1 Diagram kontek

Diagram ini menggambarkan aliran data secara umum pada sistem aplikasi yang akan dibuat. Pada diagram context ini terdapat dua entitas, yaitu entitas peng-guna dan entitas pemasok data. Aliran data yang terjadi pada diagram kontek seperti terlihat pada Gambar 4.11 dijelaskan sebagai berikut:

1. Pemasok data dalam hal ini adalah mail transfer agen (MTA), melakukan pengi-riman data yang berupa seluruh email yang keluar ataupun email yang masuk. 2. Pengguna yang telah terautentikasi melakukan penelusuran email ke sistem

aplikasi, kemudian sistem akan memberikan hasil penelusurannya.

Gambar 4.11: Diagram kontek

4.8.2 Diagram alir data level 1

Pada diagram alir data level 1 dijelaskan proses-proses yang terjadi pada sis-tem aplikasi yang lebih rinci sebagai berikut (Gambar 4.12):

1. Proses pemasukan data untuk email keluar

Proses ini dilakukan oleh sistem MTA atau server email yang keluar. Setiap ada email dari pengguna ke alamat lain (email keluar), sistem akan meneruskannya ke sistem aplikasi dan selanjutnya diproses untuk diurai dan dimasukkan ke basis data arsip email.

42

2. Proses pemasukan data untuk email masuk

Proses ini dilakukan oleh sistem MTA atau server email yang masuk. Setiap ada email untuk pengguna dari alamat lain (email masuk), sistem akan meneruskan-nya ke sistem aplikasi dan selanjutmeneruskan-nya diproses untuk diurai dan dimasukkan ke basis data arsip email.

3. Proses penelusuran arsip email

Proses penelusuran arsip email adalah proses penelusuran arsip email berda-sarkan kata kunci tertentu. Proses ini dilakukan oleh pengguna dengan me-masukkan kata kunci terhadap judul atau isi email dan kemudian sistem akan memprosesnya dan menampilkan hasil pencarian yang sudah dikelompokkan. Pada proses ini dilakukan pra pemrosesan data, ekstraksi ciri, dan pengelom-pokan email terhadap hasil pencarian.

Gambar 4.12: Diagram alir data level 1

4.9 Rancangan Antarmuka untuk Implementasi Aplikasi

Agar prototipe aplikasi dapat dimanfaatkan pengguna, maka perlu dibuat sua-tu antarmuka sistem yang akan menghubungkan pengguna dengan sistem. Rancangan antarmuka sistem terdiri dari halaman pencarian dan halaman hasil pencarian.

4.9.1 Rancangan halaman pencarian

1. Kotak masukan pencarian akan diletakkan di atas sedikit panjang dengan tom-bol pencarian disampingnya.

2. dibawah kotak pencarian adalah kotak kosong tempat untuk menampilkan hasil pencarian.

Rancangan antarmuka halaman pencarian diperlihatkan seperti Gambar 4.13

Gambar 4.13: Rancangan halaman pencarian

4.9.2 Rancangan halaman hasil pencarian

Hasil pencarian akan ditempatkan dibawah baris kotak pencarian. Hasil pen-carian akan ditampilkan secara hirarki pada halaman hasil penpen-carian.

Pada halaman hasil pencarian terdiri dari dua bagian, yaitu:

1. Bagian sebelah kiri, merupakan bagian yang menampilkan label dari penge-lompokan pencarian,

2. Bagian sebelah kanan, bagian yang menampilkan hasil pencarian yang telah dikelompokkan meliputi judul email, tanggal email, email pengirim serta email penerima.

Rancangan antarmuka halaman hasil pencarian diperlihatkan seperti Gambar 4.14

44

5.1 Implementasi Sistem

Tahap implementasi sistem dibuat disesuaikan dengan analis dan rancangan

Dokumen terkait