PELANGGAN E-MEL BERASASKAN WEB SERVICES-JAVA...
Transcript of PELANGGAN E-MEL BERASASKAN WEB SERVICES-JAVA...
PELANGGAN E-MEL BERASASKAN WEB SERVICES-JAVA SERTA
PENAPISAN SPAM
LEE BOON YAU
Ijazah Sarjana Muda Sains Komputer
Fakulti Sains Komputer dan Sistem Maklumat
MAC 2005
iiiPSZ 19:16 (Pind. 1/97)
UNIVERSITI TEKNOLOGI MALAYSIA
BORANG PENGESAHAN STATUS TESIS♦
JUDUL: SISTEM PENGURUSAN PENCETAKAN
PELAJAR FSKSM,UTM MENGGUNAKAN KAD PINTAR
SESI PENGAJIAN: 2004/2005
Saya _________________LEE BOON YAU________________________ (HURUF BESAR) mengaku membenarkan tesis (PSM/Sarjana/Doktor Falsafah)* ini disimpan di Perpustakaan Universiti Teknologi Malaysia dengan syarat-syarat kegunaan seperti berikut: 1. Tesis adalah hakmilik Universiti Teknologi Malaysia 2. Perpustakaan Universiti Teknologi Malaysia dibenarkan membuat salinan untuk tujuan
pengajian sahaja. 3. Perpustakaan dibenarkan membuat salinan tesis ini sebagai bahan pertukaran antara
institusi pengajian tinggi. 4. **Sila tandakan (√ ) SULIT (Mengandungi maklumat yang berdarjah keselamatan
___
Alam
2073Ne Tari
CATA
atau kepentingan Malaysia seperti yang termaktub di dalam AKTA RAHSIA RASMI 1972)TERHAD (Mengandungi maklumat TERHAD yang telah
ditentukan oleh organisasi/ badan di mana penyelidikan dijalankan)TIDAK TERHAD
Disahkan oleh
_______________________________ ____________________________________ (TANDATANGAN PENULIS) (TANDATANGAN PENYELIA)
at Tetap: Dr. Kamalrulnizam bin abu bakar
6, Jalan Seremban 000 Tampin, geri Sembilan
Nama Penyelia
kh: 1 FEBRUARI 2005 Tarikh:
√
TAN: * Potong yang tidak berkenaan. ** Jika tesis ini SULIT atau TERHAD, sila lampirkan surat daripada pihak
berkuasa/organisasi berkenaan dengan menyatakan sekali sebab dan tempoh tesis ini perlu dikelaskan sebagai SULIT atau TERHAD
♦ Tesis dimaksudkan sebagai tesis bagi Ijazah Doktor Falsafah dan Sarjana secara penyelidikan, atau disertai bagi pengajian secara kursus dan penyelidikan, atau Laporan Projek Sarjana Muda (PSM).
iv
“Saya akui bahawa telah membaca karya ini dan pada pandangan saya karya ini adalah
memadai dari segi skop dan kualiti untuk penganugerahan Ijazah Sarjana Muda Sains
Komputer
Tandatangan : ……………………………………………………………
Nama Penulis : DR. KAMALRULNIZAM BIN ABU BAKAR
Tarikh : ……………………………………………………………
v
“Saya akui karya ini adalah hasil kerja saya sendiri kecuali nukilan dan ringkasan yang
tiap-tiap satunya telah saya jelaskan sumbernya”.
Tandatangan : ……………………………………………………………
Nama Penulis : LEE BOON YAU
Tarikh : ……………………………………………………………
vi
Untuk ibu, ayah dan keluarga tersayang yang sentiasa menemai dan mendoakan
kejayaan ku
Terima kasih di atas didikan, kasih sayang dan sokongan yang diberikan selama ini.
vii
PENGHARGAAN
Dalam halaman ringkas ini, saya ingin merakamkan penghargaan ikhlas kepada
semua pihak yang memberi bantuan, sokongan dan bimbingan kepada saya sepanjang
tempoh ini.
Terlebih dahulu, saya inign mengucapkan jutaan terima kasih kepada penyelia
saya, Dr. Kamalrulnizam yang telah memberi banyak bimbingan dan bantuan kepada
saya dalam projek ini.
Sekalung budi dan terima kasih yang tidak terhingga juga ingin diucapkan
kepada ahli keluarga saya, terutamanya kepada ibu bapa yang dihormati. Dorongan
yang diberi oleh mereka merupakan pemangkin kepada saya dalam usaha menyiapkan
projek ini.
Akhir sekali, tidak lupa juga ribuan terima kasih kepada rakan-rakan
seperjuangan, pensyarah dan semua pihak yang terlibat secara langsung atau tidak dalam
menjayakan projek ini. Buat semua terima kasih diucapkan ke atas budi yang kalian
curahkan.
viii
ABSTRAK
E-mel atau mel elektronik merupakan satu alat komunikasi di mana pengguna
dapat berkomunikasi dengan pengguna yang lain dengan cara pertukaran e-mel.
Walaubagaimanapun pada masa kini, pelanggan e-mel telah dibangunkan dalam format-
format dan pelantar-pelantar yang berbeza di mana ia telah menyukarkan komunikasi di
antara satu sama lain. Selain daripada itu, perkembangan e-mel turut membawa kepada
pelbagai masalah lain. Salah satu daripada masalah tersebut ialah pengguna e-mel
mendapati mereka menerima e-mel yang tidak dikehendaki dengan jumlah yang banyak.
Kebanjiran e-mel yang tidak dikehendaki di dalam kotak mel telah berlaku. E-mel
sebegini dikenali sebagai e-mail spam. Oleh itu, tujuan projek ini adalah untuk
menghasilkan satu pelanggan e-mel yang berasaskan web services serta penapisan e-mel
spam yang efisien. Teknologi web services digunakan untuk memudahkan pelanggan e-
mel yang mempunyai format yang berbeza dan berbagai pelantar dikendalikan oleh satu
pelayan. Di samping itu, satu penapisan e-mel spam yang lebih efisien juga
diimplementasikan dalam pelanggan e-mel yang telah dibangunkan untuk menapis e-mel
spam dengan kesalahan positif yang sedikit.
ix
ABSTRACT
E-mail or electronic mail is an efficient and fast communication unit where user
can communicate with other user by changing their e-mail. Unfortunately e-mail
application has been built on different formats and platform this make communications
with each other become more difficult due to the different format and platform.
Furthermore, the enhancement of the e-mail has caused many problems, one of the
problems is the e-mail client will get a lot of the unwanted e-mails inside the mail box
from unknown person. All of these e-mails are called spam mails. Therefore, the main
purpose of this project is to build a web services e-mail client with a better spam mail
filtering. Web services technology is used to able the applications with different format
and different platform to be served more easily by a server. Besides that, a better spam
mail filtering will be implemented into the e-mail application so that it can filter the
spam mail with less false positives. As a result, the web services e-mail client with
better spam mail filtering is built where user can manage their e-mail faster and easier
with less spam mail.
x
KANDUNGAN
BAB PERKARA HALAMAN
PENGHARAGAAN ii
ABSTRAK iii
ABSTRACT iv
KANDUNGAN v
SENARAI JADUAL ix
SENARAI RAJAH x
SENARAI SINGKATAN xi
SENARAI ISTILAH xii
SENARAI LAMPIRAN xiii
BAB 1 PENGENALAN 1
1.1 Pengenalan 1
1.2 Latar Belakang Masalah 2
1.3 Matlamat 3
1.4 Objektif Projek 4
1.5 Skop Projek 4
1.6 Justifikasi/Kepentingan 5
xi
BAB 2 KAJIAN LITERATUR 6
2.1 Pengenalan 6
2.1.1 Internet Message Access Protocol 4 (IMAP4) 7
2.1.2 Post Office Protocol 3 (POP3) 7
2.1.3 Simple Mail Transfer Protocol (SMTP) 8
2.1.4 Hubungan Antara IMAP dan POP dengan SMTP 9
2.1.5 Struktur Mesej 10
2.1.6 Multipurpose Internet Mail Extensions (MIME) 11
2.1.6.1 Kepala Mesej 11
2.1.6.2 Badan Mesej 12
2.2 Kajian Terhadap Sistem Sedia Ada 13
2.2.1 Pelanggan POP3 Dengan Sistem Penapisan Spam
Berasaskan Teknologi Servis Web 13
2.2.1.1 Kelas Regex 13
2.2.1.2 Kelemahan 14
2.2.2 Hotmail 14
2.2.2.1 Keistimewa Tambahan 15
2.2.3 Mel Yahoo
2.2.3.1 Keistimewa Tambahan 16
2.2.4 Analisis Masalah Mengenai Laman Mel Sedia Ada 17
2.3 E-mel Berbentuk Spam 18
2.3.1 Bayesian Filtering 18
2.3.2 Patrick and Lin Filter 19
2.4 Teknologi Yang Digunakan 19
2.4.1 Teknologi World Wide Web (WWW) 20
2.4.1.1 Hypertext Transfer Protocol (HTTP) 20
2.4.1.2 Hypertext Markup Language (HTML) 20
2.4.2 Web Services 21
2.5.2.1 SOAP 21
2.5.2.2 JAXB 22
xii
2.5.2.3 JAXP 22
2.5.2.4 JAX-RPC 23
2.5.2.5 JAXM 23
2.5.2.6 JAXR 23
2.5.2.7 eXtensible Markup Language (XML) 24
2.4.3 Teknologi Servlet 24
2.4.4 JavaServer Pages (JSP) 25
2.4.5 J2ME 26
2.4.5.1 Seni Bina J2ME 26
2.4.5.2 Konfigurasi – Connected Limited Device
Configuration (CLDC) 26
2.4.5.3 Profil – Mobile Information Device Profile
(MIDP) 27
2.4.6 API JavaMail TM 28
2.4.6.1 Session 29
2.4.6.2 Store 29
2.4.6.3 Address 29
2.4.6.4 Message 30
2.4.6.5 Authenticator 30
2.4.6.6 Transport 30
2.4.7 Classifier4J 31
2.4.7.1 Classifier4J.bayesian 31
2.4.7.2 Classifier4J.summariser 32
2.5 Rumusan 32
BAB 3 METODOLOGI PEMBANGUNAN 33
3.1 Metodologi Model Air Terjun 33
xiii
3.1.1 Fasa Perancangan Sistem 34
3.1.2 Fasa Analisis Keperluan 35
3.1.3 Fasa Rekabentuk 36
3.1.4 Fasa Pengkodan dan Pengujian 37
3.1.5 Fasa Operasi dan Penyelenggaraan 37
3.2 Justifikasi Penggunaan Metodologi Model Air Terjun 37
3.3 Keperluan Perkakasan 38
3.4 Keperluan Perisian 39
BAB 4 REKABENTUK AWALAN 41
4.1 Pengenalan 41
4.2 Rekabentuk Senibina Sistem 42
4.3 Rekabentuk Senibina Pelayan Web Services 43
4.4 Rajah Kes Guna 44
4.4.1 Penerangan Aktor 46
4.4.2 Penerangan Kes Guna 47
4.5 Rajah Jujukan 48
4.5.1 Rajah Jujukan Bagi Pendaftaran 49
4.5.2 Rajah Jujukan Bagi Login 49
4.5.3 Rajah Jujukan Bagi LoginPetiMelElektronik 50
4.5.4 Rajah Jujukan Bagi Muat Turun E-mel 50
4.5.5 Rajah Jujukan Bagi Hantar E-mel 51
4.5.6 Rajah Jujukan Bagi Kemaskini Buku Alamat 51
4.5.7 Rajah Jujukan Bagi Kemaskini Buku Alamat
E-mel Spam 52
4.5.8 Rajah Jujukan Bagi Penapisan Spam 52
xiv
4.5.9 Rajah Jujukan Bagi Kemaskini Markah Spam 53
4.5.10 Rajah Jujukan Bagi Kemaskini Fail Hitam 53
4.6 Rajah Kelas 54
4.7 Rekabentuk Pangkalan Data 55
4.7.1 Jadual dbUserDetail 55
4.7.2 Jadual dbAddressBook 56
4.7.3 Jadual dbSpam 56
4.7.4 Jadual dbBlackList 57
4.8 Rekabentuk Antaramuka 58
4.9 Rekabentuk Modul 59
4.9.1 Modul Pendaftaran 59
4.9.2 Modul Mel 59
4.9.3 Modul Penapisan 60
4.9 Rumusan 60
BAB 5 IMPLEMENTASI DAN PENGUJIAN 61
5.1 Persekitaran Pembangunan 61
5.1.1 Ecplise 61
5.1.2 TextPad 62
5.1.3 Java, JDK 1.4.1 62
5.1.4 Pangkalan Data 63
5.1.5 Pelayan WebLogic 63
5.2 Implementasi 64
5.2.1 Penghantaran E-mel 64
5.2.1.1 Pengesahan SMTP 65
5.2.2 Muat Turun E-mel 66
5.2.3 Penapisan Mel Spam 67
xv
5.2.4 Proses Menambah Fail Lampiran 70
5.2.5 Memuat Turun Fail Lampiran 71
5.2.6 Proses Memanggil Servis 72
5.2.7 Proses Mendapatkan Data dari Pangkalan Data 73
5.3 Data dan Hasil Input/Output 74
5.4 Rumusan/Analisis 77
BAB 6 KESIMPULAN 78
6.1 Pengenalan 78
6.2 Hasil Pencapaian 78
6.3 Kebaikan Sistem 79
6.4 Kelemahan Sistem 80
6.5 Cadangan Pembaikan 80
6.6 Kesimpulan 81
RUJUKAN 82
LAMPIRAN 83
xvi
SENARAI JADUAL
NO. JADUAL TAJUK HALAMAN
2.1 Arahan-arahan SMTP 8
2.2 Ciri-ciri Am bagi Hotmail 15
2.3 Ciri-ciri Am bagi Mel Yahoo 17
4.1 Keterangan Aktor 46
4.2 Aktiviti-aktiviti yang dilaksanakan oleh kes guna 47
4.3 Jadual dbUserDetail 55
4.4 Jadual dbAddressBook 56
4.5 Jadual dbSpam 57
4.6 Jadual dbBlackList 57
xvii
SENARAI RAJAH
NO. RAJAH TAJUK HALAMAN
2.1 Hubungan antara IMAP dengan SMTP 10
2.2 Hubungan antara POP dengan SMTP 11
2.3 Fungsi kamus yang terdapat di dalam Hotmail 16
3.1 Kitar Hayat Pembangunan Sistem 34
4.1 Rekabentuk senibina sistem 43
4.2 Rekabentuk Senibina Pelayan Web Services 44
4.3 Rajah kes guna use case untuk sistem yang telah dibangunkan 45
4.4 Rajah kelas sistem 54
5.1 Keratan aturcara untuk menghantar e-mel 62
5.2 Keratan aturcara untuk membuat pengesahan 63
5.3 Keratan aturcara untuk memuat turun e-mel 64
5.4 Keratan aturcara untuk menukar format mesej 65
5.5 Keratan aturcara untuk membuat penapisan spam 66
5.6 Keratan aturcara untuk menghapuskan mesej 67
5.7 Keratan aturcara untuk menambah fail lampiran 68
5.8 Keratan aturcara untuk memuat turun fail lampiran 68
5.9 Keratan aturcara untuk memanggil servis 70
5.10 Keratan aturcara untuk menghubung dengan pangkalan data 71
5.11 Keratan aturcara untuk mendapatkan alamat dari jadual buku alamat 72
5.12 Input pengujian 1 72
5.13 Output pengujian 1 73
xix
SENARAI SINGKATAN
IMAP - Internet Message Access Protocol
POP - Post Office Protocol
SMTP - Simple Mail Transfer Protocol
MIME - Multipurpose Internet Mail Extensions
WWW - World Wide Web
HTTP - Hypertext Transfer Protocol
SOAP - Simple Object Access Protocol
JAXB - Java Architecture for XML Binding
JAXP - Java API for XML Processing
JAX-RPC - Java API for XML-base RPC
JAXM - Java API for XML Messaging
JAXR - Java API for XML Registries
HTML - Hypertext Markup Language
XML - eXtensible Markup Language
JSP - JavaServer Pages
J2ME - Java 2 Micro Edition
CLDC - Connected Limited Device Configuration
JVM - Java Virtual Machine
MIDP - Mobile Information Device Profile
UML - Unified Modeling Language
xx
SENARAI ISTILAH
Bahasa Melayu Bahasa Inggeris
Pelantar Platform
E-mel E-mail
Peranti Telefon Telephone Device
Pelanggan Client
Pelayan Server
Kepala Head
Badan Body
Aktor Actor
Rajah Jujukan Sequence Diagram
Rajah Kelas Class Diagram
Kata Laluan Password
Penapisan Filtering
Lampiran Attachment
Talian Tutup Offline
Muat Turun Download
Waspada Alert
xxi
SENARAI LAMPIRAN
LAMPIRAN TAJUK HALAMAN
A Carta Gantt 81
B Senarai Rajah Jujukan 84
C Pemasangan Perisian 92
D Manual Pengguna 95
BAB 1
PENGENALAN
1.1 Pengenalan
E-mel atau mel elektronik merupakan satu alat komunikasi di mana pengguna
dapat berkomunikasi dengan pengguna yang lain dengan cara menghantar e-mel dan
menerima e-mel. Sebagai contoh, pengguna A boleh menghantar mesej-mesej dan
fail-fail melalui e-mel kepada pengguna B. Kemudian pengguna A boleh menerima
mesej-mesej dan fail-fail melalui e-mel yang dihantar oleh pengguna B. Tambahan
pula, ia juga membenarkan komunikasi di antara satu atau ramai pengguna pada satu-
satu masa. Selain itu, e-mel membenarkan kita menghantar bukan sahaja mesej-
mesej biasa tetapi maklumat-maklumat lain seperti gambar-gambar atau fail-fail
data.
Selain daripada itu, e-mel boleh dihantar ke mana-mana sahaja dengan kos
yang rendah. E-mel juga boleh dicapai di mana-mana sahaja asalkan ada sambungan
kepada Internet. Oleh itu, e-mel merupakan satu alat komunikasi yang efisien dan
pantas. Ia juga menyokong format mesej atau pelantar yang pelbagai di mana ia
telah meningkatkan permintaan untuk mencapainya.
2
Walaubagaimanapun, pada masa kini, pelanggan e-mel yang dibangunkan
mempunyai format yang berbeza, ia telah menyukarkan komunikasi antara satu sama
lain. Oleh itu, satu teknologi web services dibangunkan untuk memperbaiki masalah
ini. Teknologi web services merupakan teknologi yang memudahkan aplikasi yang
mempunyai format yang berbeza dikendalikan oleh satu pelayan. Ia membenarkan
pengguna yang menggunakan teknologi ini memanggil objek atau servis yang berada
di dalam pelayan yang lain, walaupun senibina sistem-sistem dan pelayan-pelayan
tersebut terdiri daripada perkakasan dan perisian yang berlainan.
Selain daripada itu, perkembangan e-mel turut membawa kepada pelbagai
masalah. Pengguna mendapati mereka menerima e-mel yang tidak dikehendaki
dengan jumlah yang begitu banyak. E-mel sebegini dikenali sebagai e-mail spam.
Kebanjiran e-mel yang tidak dikehendaki di dalam kotak mel pengguna telah
mewujudkan satu keperluan untuk mengadakan satu penapisan e-mel yang berbentuk
spam di dalam aplikasi e-mel
Dengan mengambil kira teknologi, aplikasi sokongan dan masalah yang telah
dibincangkan di atas, projek ini dibangunkan dengan memfokuskan pada aplikasi e-
mel berasaskan web wervices berserta dengan kemudahan tambahan penapisan e-mel
berbentuk spam.
1.2 Latar Belakang Masalah
Berikutan dengan kemajuan dan perkembangan teknologi, keperluan
pengguna untuk menerima maklumat turut bertambah. Oleh itu, pengguna
memerlukan satu pelanggan e-mel yang dapat menerima dan menghantar maklumat
kepada pengguna yang lain dengan cara penukaran e-mel.
3
Tetapi pada masa kini, pelanggan e-mel telah dibangunkan dalam format-
format yang berbeza, dengan format-format yang berbeza ini telah menyukarkan
komunikasi antara satu sama lain. Oleh itu, teknologi web services digunakan untuk
memperbaiki masalah ini.
Selain daripada itu, perkembangan e-mel turut membawa kepada pelbagai
masalah. Salah satu masalah ialah pengguna e-mel mendapati mereka menerima e-
mel yang tidak dikehendaki dengan jumlah yang banyak. E-mel sebegini dikenali
sebagai e-mail spam. E-mel spam selalunya mengandungi iklan komersil atau
perkhidmatan yang menyalahi undang-undang. Kehadiran e-mel spam telah
membebankan pengguna dan telah menambahkan kos kepada pengguna. Walaupun
terdapat banyak penapisan e-mel spam yang cekap di pasaran sekarang namun,
disebabkan e-mel spam yang bertambah banyak, e-mel spam dapat terlepas dari
kebanyakan penapis spam yang ada. Contoh penapisan spam yang ada ialah
penapisan e-mel spam yang menggunakan teknik “Pantel” dan “Lin”. Penapisan e-
mel spam ini, cuma dapat menangkap e-mel spam sebanyak 92% dengan kesalahan
positif 1.16%[1] (kesalahan positif bermakna kesalahan yang dilakukan, di mana ia
telah menapis e-mel yang bukan e-mel spam).
1.3 Matlamat
Menghasilkan satu pelanggan E-Mel berasaskan teknologi web services serta
penapisan e-mel spam yang dapat dikendalikan oleh satu pelayan, walaupun
pelanggan e-mel mempunyai format yang berbeza dan mampu menapis e-mel yang
berbentuk spam
4
1.4 Objektif Projek
i. Mengkaji pelanggan E-Mel yang telah dibangunkan [7].
ii. Merekabentuk senibina sistem, pangkalan data yang diperlukan dan
antaramuka pelanggan e-mel.
iii. Membangunkan satu pelanggan e-mel yang mempunyai fungsi penapisan e-mel
berbentuk spam menggunakan teknik Bayesian Filtering.
1.5 Skop Projek
i. Membangunkan aplikasi e-mel menggunakan bahasa JAVA
ii. Membangunkan aplikasi e-mel yang membolehkan pengguna membaca,
menghantar dan menghapus e-mel.
iii. Mengimplementasikan penapisan e-mel spam menggunakan teknik “Bayesian
Filtering” ke dalam aplikasi.
iv. Membangunkan satu pelayan berasaskan web services yang menyediakan
fungsi-fungsi bagi aplikasi e-mel yang hendak dibangunkan.
v. Membangunkan aplikasi yang boleh menerima dan menghantar e-mel melalui
telefon mudah alih dengan menggunakan J2ME Wireless Toolkit 2.0
vi. Mengaplikasikan keselamatan minima dengan merujuk akaun pengguna dan
katalaluan sebagai kawalan capaian.
vii. Membangunkan satu aplikasi e-mel yang boleh memuat turun e-mel dari
pelayan IMAP (Internet Message Access Protocol)
5
1.6 Justifikasi/Kepentingan
Sistem yang dibangunkan adalah bertujuan untuk membantu pengguna
menghantar dan menerima mesej-mesej dari satu tempat ke tempat yang lain.
Dengan menggunakan sistem ini pengguna boleh menggunakan pelanggan e-mel
yang mempunyai format yang berbeza untuk menghantar dan menerima mesej.
Teknologi web services ini dapat memudahkan pelanggan yang mempunyai format
yang berbeza dikendalikan oleh satu pelayan. Walaupun senibina sistem-sistem dan
pelayan-pelayan tersebut terdiri daripada perkakasan dan perisian yang berlainan,
pengguna hanya perlu memanggil objek dan servis kepada pelayan tersebut untuk
mendapatkan output tertentu. Tambahan pula, dengan adanya sistem ini, e-mel yang
berbentuk spam dapat ditapis dengan lebih berkesan.
BAB 2
KAJIAN LITERATUR
2.1 Pengenalan
E-mel ialah singkatan bagi mel elektronik, iaitu penghantaran mesej-mesej
merentas rangkaian-rangkaian komunikasi. Mesej tersebut boleh jadi nota-nota yang
ditaip daripada papan kekunci atau fail-fail elektronik yang disimpan dalam cakera.
Kebanyakan kerangka utama, komputer mini dan rangkaian komputer mempunyai
sistem e-mel. Tambahan pula, syarikat-syarikat yang menggunakan komputer
sepenuhnya, telah menggunakan e-mel secara meluas kerana ciri-ciri e-mel yang
pantas, fleksibel dan boleh dipercayai.
E-mel telah wujud selama lebih dua dekad. Sistem e-mel yang pertama
terdiri daripada protokol-protokol pemindahan fail, dan baris pertama setiap mesej
mengandungi alamat-alamat penerima. Protokol-protokol seperti Post Office
Protocol (POP) dan Internet Message Access Protocol (IMAP) digunakan untuk
mencapai e-mel manakala protokol Simple Mail Transfer Protocol (SMTP)
digunakan untuk menghantar mesej-mesej e-mel antara satu hos kepada satu hos
yang lain.
7
2.1.1 Internet Message Access Protocol 4 (IMAP4)
Internet Message Access Protocol atau dahulunya dikenali sebagai Interactive
Mail Access Protocol mewakili mekanisme komunikasi untuk pelanggan-pelanggan
mel berinteraksi dengan pelayan-pelayan mel, dan seterusnya membolehkan
pengguna memanipulasikan kotak mel.
IMAP memberi tanggapan kepada pelanggan bahawa pelayan adalah gudang
simpanan mel yang utama dan mesej-mesej sentiasa disimpan pada pelayan. Oleh
itu, pelanggan boleh mengemukakan arahan-arahan untuk memuat turun atau
memadam mesej. Pelanggan juga boleh mencapai dan menetapkan maklumat
keadaan mesej manakala pelayan pula akan sentiasa mengemaskinikan kotak mel [3].
2.1.2 Post Office Protocol 3 (POP3)
Post Office Protocol adalah protokol yang digunakan untuk mencapai e-mel
yang diterima. POP adalah peti surat yang menyimpan e-mel pengguna. Program
pelanggan e-mel diperlukan untuk berhubung dan memuat turun e-mel dari pelayan
POP. Pelanggan e-mel yang terdapat di pasaran adalah seperti Netscape Mail,
Outlook Express dan Eudora.
Apabila pengguna menyemak e-mel, program ini akan berhubung dengan
pelayan POP. Kemudian, pelayan ini memerlukan identiti pengguna dan kata laluan
sebelum sesuatu akaun dapat dicapai [3].
8
2.1.3 Simple Mail Transfer Protocol (SMTP)
SMTP ialah protokol bagi menghantar mesej-mesej e-mel antara satu hos
kepada satu hos yang lain. Kebanyakan sistem e-mel yang menghantar mel merentas
internet menggunakan SMTP untuk menghantar mesej daripada satu pelayan ke
pelayan yang lain. Mesej-mesej tersebut boleh diperolehi oleh pengguna melalui
pelanggan e-mel yang menggunakan IMAP dan POP. Tambahan pula, SMTP secara
amnya digunakan untuk menghantar mesej dari pelanggan mel kepada pelayan mel.
Oleh itu, pengguna perlu menentukan pelayan IMAP apabila pengguna melakukan
konfigurasi terhadap aplikasi e-mel mereka. Jadual 2.1 menunjukkan arahan-arahan
yang diguna untuk melakukan operasi-operasi.
Jadual 2.1 Arahan-arahan SMTP
HELLO Memperkenalkan diri kepada pelayan
MAIL FROM: Alamat e-mel penghantar. Dikenali
sebagai SMTP penghantar.
RCPT TO: Alamat e-mel penerima. Jika penerima
lebih daripada satu, arahan ini akan
diulangi untuk setiap penerima.
DATA Arahan ini memberitahu pelayan bahawa
apa yang dihantar selepas ini adalah
bahagian kepala dan badan e-mel.
VRFY Arahan ini akan mengembalikan alamat e-
mel bagi seseorang pengguna yang
disertakan jika dijumpai
EXPN Arahan ini akan mengembalikan data-data
semua ahli bagi sesuatu senarai
QUIT Tamatkan komunikasi dengan pelayan
9
2.1.4 Hubungan Antara IMAP dan POP dengan SMTP
Pengguna menulis e-mel dengan menggunakan fungsi-fungsi yang disediakan
oleh pelanggan e-mel. Pelanggan e-mel akan menyampaikan mesej tersebut kepada
pelayan e-mel SMTP. Merujuk kepada rajah 2.1, pelanggan e-mel akan
menggunakan port 25 pada pelayan SMTP untuk menghantar mesej menggunakan
protokol SMTP. Pelanggan penerima akan menggunakan port 143 pada pelayan
IMAP untuk mendapatkan mesej dari IMAP bagi membolehkan penerima membaca
e-mel yang diterima. Rajah 2.2 merupakan cara yang biasa digunakan untuk
membaca e-mel dengan menggunakan POP pada port 110.
Rajah 2.1 Hubungan antara IMAP dengan SMTP
Pelayan E-mel Hotmail
Port 25
Pelayan E-mel UTM
Port 143
Baris Gilir
Fail Teks
SMTP
IMAP
Port 143
Baris Gilir
Fail Teks
SMTP
IMAP
Pelayan e-mel penghantar menghubungi pelayan penerima
Port 25
10
Rajah 2.2 Hubungan antara POP dengan SMTP
2.1.5 Struktur Mesej
Di dalam sistem e-mel pada masa kini terdapat dua jenis struktur mesej yang
sering digunakan. Jenis yang pertama adalah struktur mesej yang asal iaitu RFC 822
yang diwujudkan untuk menghantar data dalam bentuk ASCII. Dengan penambahan
di dalam penggunaan e-mel, e-mel digunakan untuk menghantar mesej-mesej
ringkas. Keperluan pengguna untuk menghantar mesej yang lebih komplek yang
Pelayan E-mel Hotmail
Port 25
Pelayan E-mel UTM
Port 110
Baris Gilir Fail Teks
SMTP
POP
Port 110
Baris Gilir
Fail Teks
SMTP
POP
Pelayan e-mel penghantar menghubungi pelayan penerima
Port 25
11
mengandungi beberapa badan e-mel telah menghasilkan satu protocol baru yang
dikenali sebagai Multipurpose Internet Mail Extensions (MIME).
2.1.6 Multipurpose Internet Mail Extensions (MIME)
MIME merupakan satu protokol yang membolehkan mesej yang lebih
komplek dihantar. MIME membahagikan mesej kepada dua bahagian iaitu badan dan
kepala. Kepala mesej mengandungi maklumat-maklumat seperti asal e-mel,
penghantar dan penerima. Bahagian badan mesej mengandungi isi kandungan e-mel
tersebut. MIME ditakrifkan dalam RFC 2045-2049, terutamanya RFC 2045 dan
RFC 2046 yang menerangkan struktur badan tersebut. Kepala Content-Type boleh
digunakan untuk menerangkan set aksara yang tertentu atau jenis data bukan teks.
Sebagai contoh:
Content-Type: text/plain; charset=us-ascii
Menunjukkan bahawa mesej tersebut mengandungi teks yang jelas di dalam set
aksara US-ASCII
2.1.6.1 Kepala Mesej
Kepala Mesej juga dikenali sebagai header. Bahagian kepala mesej ini
mengandungi maklumat-maklumat yang berkaitan dengan mesej. Bagi setiap
medan, terdapat nama medan diikuti dengan “:” dan nilai bagi medan tersebut.
Setiap medan akan diakhiri dengan CRLF.
12
2.1.6.2 Badan Mesej
MIME menyediakan senibina beberapa bahagian badan mesej yang
digunakan oleh SMTP untuk menghantar bahagian teks biasa dan bahagian binari di
dalam mesej yang sama. Bahagian-bahagian berlainan ini dibahagikan mengikut
sempadan yang diwakili oleh satu rentetan aksara. Rentetan aksara ini unik untuk
setiap mesej dan berada pada barisnya sendiri dan dimulai dengan dua tanda “--” dan
diakhir dengan penanda baris.
Jenis-jenis badan mesej yang disokong oleh MIME:
i. TEXT: Menyediakan data mesej ringkas seperti ASCII dan boleh dihantar
dengan menggunakan 7bit ASCII
ii. MULTIPAT: Bahagian badan ini menyokong beberapa bahagian badan
mesej. Bahagian badan mesej ini dipecahkan kepada beberapa bahagian iaitu:
a. MIXED: bahagian-bahagian yang berbeza
b. ALTERNATIVE: bahagian yang sama tetapi dalam bentuk
pengkodan yang berbeza
c. PARALLEL: sama seperti MIXED tetapi ditunjukkan pada masa yang
sama. Contoh: suara selari.
d. DIGEST: mesej yang dipecahkan kepada beberapa bahagian.
e. MESSAGE: bahagian badan mesej yang mengandungi mesej lain
seperti mesej yang dipanjangkan.
f. IMAGE: bahagian badan mesej yang mengandungi imej
g. AUDIO: bahagian badan mesej yang mengandungi bunyi atau muzik.
h. APPLICATION: bahagian badan aplikasi yang dihasilkan oleh
program aplikasi.
13
2.2 Kajian Terhadap Sistem Sedia Ada
Kajian terhadap sistem yang sedia ada dilakukan terhadap pelanggan mel
yang telah dibangunkan oleh Mohd Hanif bin Ibrahim pada sesi pengajian 2002/2003
dan laman mel (web mail) yang biasa dijumpai iaitu mel Hotmail dan mel Yahoo.
2.2.1 Pelanggan POP3 Dengan Sistem Penapisan Spam Berasaskan Teknologi
Servis Web
Pelanggan E-Mel ini telah dibangunkan oleh Mohd Hanif bin Ibrahim pada
sesi pengajian 2002/2003. Pelanggan e-mel ini dibangunkan dengan menggunakan
teknologi WebServices dan teknologi .NET. Ia juga menggunakan kelas Regex
untuk membuat penapisan e-mel berbentuk spam.
2.2.1.1 Kelas Regex
Regex merupakan kelas implementasi regular expression di dalam rangka
kerja .Net. Kelas ini digunakan untuk membuat pengesanan corak perkataan.
Dengan mengimplementasikan kelas ini ke dalam proses pengesanan spam, pelbagai
corak perkataan boleh dikesan. Contoh corak perkataan adalah “sales@” dan “order
now!”, apabila corak perkataan ini dikesan pada badan mesej atau subjek mesej, mel
ini akan dikenali sebagai mel spam.
14
2.2.1.2 Kelemahan
Berikut adalah kelemahan-kelemahan yang terdapat di dalam sistem yang
telah dibangunkan oleh Mohd Hanif bin Ibrahim.
i. Keupayaan penghantaran e-mel tidak boleh dilakukan melalui pelayan SMTP
dimana ia memerlukan pengesahan terlebih dahulu.
ii. Implementasi algoritma-algoritma di dalam proses penapisan
kebanyakkannya tidak optimum dan juga menjejaskan prestasi pelayan.
iii. Web services perlu dipanggil beberapa kali bagi menjalankan fungsi-fungsi
seperti pemindahan beberapa e-mel pada satu-satu masa. Ini menjejaskan
prestasi system.
iv. Sistem yang telah dibangunkan mengimplementasikan keselamtan yang
minimum.
2.2.2 Hotmail
Hotmail merupakan salah satu e-mel yang berasaskan web. Ciri-ciri am bagi
hotmail akan ditujukkan dalam jadual 2.2.
Jadual 2.2 Ciri-ciri Am bagi Hotmail
Kapasiti 2 MB
Buku Alamat Ada
Penyemak POP mel Ada, sebanyak 4 akaun
Penghantaran Secara Automatik Tiada
Penapisan Spam Ada
15
2.2.2.1 Keistimewaan Tambahan
Dalam halaman penulisan mesej, Hotmail mempunyai kamus pencarian dan
penyemakan perkataan. Rajah 2.3 menunjukkan fungsi kamus yang terdapat di dalam
Hotmail. Ia juga membenarkan pengguna menghias mesej-mesej dengan gaya yang
berbeza. Di samping itu, ia juga membenarkan pengguna mengimbaskan fail
lampiran menggunakan McAfee VirusScan. Tambahan pula, pengguna boleh
menyemak POP mel dari ISP pengguna.
Selain daripada itu, pengguna juga boleh menggunakan Outlook Express
untuk menghantar dan memuat turun mesej Hotmail.
Rajah 2.3 Fungsi kamus yang terdapat di dalam Hotmail
16
2.2.3 Mel Yahoo
Mel Yahoo juga merupakan satu mel yang berasaskan web yang popular dan
digemari oleh ramai pengguna. Ciri-ciri am bagi mel Yahoo adalah ditunjukkan
dalam jadual 2.3.
Jadual 2.3 Ciri-ciri Am bagi Mel Yahoo
Kapasiti 6 MB (boleh ditambahkan sehingga 20
MB dengan memberi bayaran setiap
tahun)
Buku Alamat Ada
Penyemak POP mel Ada, sebanyak 3 akaun
Penghantaran Secara Automatik Tiada
Penapisan Spam Ada
2.2.3.1 Keistimewaan Tambahan
Ia terdapat satu maklum balas yang dikenali sebagai Vacation
Autoresponders yang boleh memberitahu kepada semua orang bahawa pengguna
sedang bercuti. Selain itu, mel Yahoo juga membenarkan pengguna mengsetkan satu
pengingatan yang dipanggil sebagai Reminder. Pengguna boleh setkan sebarang
kejadian dengan menggunakan Reminder di mel Yahoo dan Yahoo Messenger. Mel
Yahoo juga dapat integrasi dengan Yahoo Calender.
17
2.2.4 Analisis Masalah Mengenai Laman Mel Sedia Ada
Walaupun kedua-dua aplikasi mel yang dibincangkan di atas merupakan e-
mel yang popular digunakan. Kedua-dua aplikasi mel tersebut juga mempunyai
kelemahannya sendiri.
Kelemahan Hotmail ialah terlalu banyak antaramuka. Ia akan mengambil
masa yang lebih panjang kerana ia perlu disambung kepada MSN terlebih dahulu
sebelum pengguna dapat mencapai ke dalam peti surat Hotmail.
Berbanding dengan Hotmail, mel Yahoo mempunyai kekuatannya dimana
pengguna boleh mengurus e-mel dengan lebih cepat dan mudah. Jika pengguna telah
menggunakan My Yahoo sebagai pemilihan e-mel utama, pengguna boleh menerima
mesej e-mel daripada Yahoo Companion. Mel Yahoo juga terdapat kelemahannya,
pengguna boleh menerima mel Yahoo di akaun POP dengan menggunakan Outlook
Express dan Eudora. Walau bagaimanapun, pengguna perlu mendaftarkan diri
sebagai Yahoo Delivers dan juga perlu menerima e-mel sasaran (dimana seakan-akan
e-mel spam yang sah)
Setelah perbincangan tentang kelemahan dan kekuatan sistem yang sedia ada,
projek yang dibangunkan telah menumpukan beberapa perkara:
i. Sistem yang dihasilkan mempunyai antaramuka yang sedikit tetapi sempurna
dan mudah diuruskan.
ii. Ia bukan sahaja boleh menyemak POP mel, ia juga boleh menyemak IMAP
mel.
iii. Implementasi teori Bayesian Filtering di dalam proses penapisan.
iv. Penghantaran e-mel dapat dilakukan melalui pelayan SMTP yang
memerlukan pengesahan terlebih dahulu.
18
2.3 E-mel Berbentuk Spam
E-mel berbentuk spam adalah e-mel yang dihantar kepada penerima di mana
penerima tidak memilih untuk menerima e-mel tersebut. E-mel spam selalunya
dihantar dalam jumlah yang banyak kepada ramai penerima pada sesuatu masa. E-
mel spam hanya memerlukan kos yang rendah utnuk dihantar dan kebanyakkanya
dibayar oleh pengendali rangkaian atau penerima. E-mel berbentuk spam selalunya
mengandungi iklan komersil atau perkhidmatan yang menyalahi undang-undang.
Kehadiran e-mel spam telah membebankan pengguna dan telah menambahkan kos
kepada pengguna.
Senarai e-mel pengguna selalunya diperolehi dengan mengimbas usenet,
mencuri senarai e-mel interner, atau carian melalui enjin pencari web untuk
mendapatkan alamat e-mel. E-mel selalunya membebankan pengguna untuk
diterima. Kebanyakkan pengguna yang menggunakan talian telefon untuk mencapai
internet dikenakan caj semasa menerima dan menghantar e-mel. Selain daripada itu,
spam juga menambahkan kos operasi ISP atau pengendali servis talian untuk
menghantar spam dan kos ini seterusnya perlu dibayar oleh pengguna.
2.3.1 Bayesian Filtering
Pada pasaran kini, disebabkan e-mel yang berbentuk spam bertambah banyak,
ia dapat menepaskan dirinya daripada kebanyakan penapisan e-mel spam yang cekap.
Teknik yang biasa digunakan ialah teknik penapisan “Pantel” dan “Lin” tetapi ia
cuma dapat menangkap spam sebanyak 92% dengan kesalahan positif 1.16% [1]
(kesalahan positif bermakna kesalahan yang dilakukan, di mana ia telah menapis e-
mel yang bukan spam e-mel). Oleh itu, perlu ada satu teknik penapisan spam yang
lebih cekap untuk diimplementkan ke dalam pelanggan e-mel.
19
Bayesian Filtering merupakan teknik penapisan spam yang baru. Penapisan
ini adalah satu subset bagi pengkelasan. Sebelum mengimplementasikannya ke
dalam aplikasi e-mel. Ia perlu dilatih dahulu dengan data yang banyak dimana data-
data terdiri daripada mel bentuk spam dan mel bukan berbentuk spam. Dengan
adanya penapisan spam ini, ia dapat menangkap e-mel berbentuk spam sebanyak
99.5% dengan kesalahan positif 0.03% [1].
2.3.2 Pantel and Lin Filter
Pantel and Lin Filter merupakan satu teknik penapisan e-mel spam yang
dihasilkan oleh Patrick Pantel dan Dekang Lin pada tahun 1998. Teknik ini
dinyatakan dalam program penapisan spam mereka yang dipanggil sebagai program
SpamCop[6]. Teknik ini menganggap satu mesej e-mel sebagai satu set perkataan
yang pelbagai. Oleh itu, untuk menentukan e-mel tersebut ialah e-mel spam atau
tidak, mesej e-mel tersebut akan dibanding dengan peraturan perkataan (keyword-
spotting rules) yang telah ditentukan. Akhirnya mereka mendapati bahawa dengan
teknik ini, ia dapat menapiskan e-mel spam sebanyak 92% dengan kesalahan positif
1.16% [6].
2.4 Teknologi Yang Digunakan
Dalam membangunkan sistem ini, pelbagai teknologi digunakan bagi
melengkapkan sistem ini. Di dalam bahagian ini, teknologi-teknologi ini dihuraikan
dan kepentingan di dalam projek ini diterangkan.
20
2.4.1 Teknologi World Wide Web (WWW)
WWW ialah satu gedung maklumat yang tersebar ke seluruh dunia dan
hubungkan bersama-sama. WWW pada hari ini ialah servis pelanggan-pelayan
teragih. Servis yang disediakan adalah diagihkan merentas pelbagai lokasi yang
dipanggil laman web. Dalam bahagian ini teknologi-teknologi yang terlibat dikenal
pasti.
2.4.1.1 Hypertext Transfer Protocol (HTTP)
HTTP merupakan protocol yang digunakan sebagai penghantaran untuk web.
HTTP ialah set syarat-syarat bagi penukaran fail-fail (teks, imej grafik, bunyi, video
dan fail-fail multimedia yang lain) pada WWW.
Konsep penting HTTP termasuklah idea yang fail boleh mengandungi
rujukan ke fail lain, yang jika dipilih, akan mendapatkan permintaan pindah
tambahan.
2.4.1.2 Hypertext Markup Language (HTML)
HTML bermula daripada Standard Generalized Markup Language atau
SGML. SGML digunakan utnuk memproses dan menformat dokumen komputer.
Namun SGML begitu kompleks. HTML begitu mudah digunakan. Setiap arahan
atau markup digunakan untuk menformat teks yang berada di antaranya. Salah satu
21
sifat yang paling penting adalah kebolehan utnuk mencapai dokumen lain dengan
mengklik pada sesuatu teks yang dikenali sebagai hiperteks.
2.4.2 Web Services
Kewujudkan web services bergantung kepada penerimaan XML dan piawai
internet yang lain bagi mewujudkan satu infrastruktur yang menyokong operasi di
antara aplikasi yang berlainan di atas platform yang berlainan. Web Service dibina
di atas Simple Object Access Protocol atau SOAP. SOAP membenarkan
penghantaran data melalui HTTP. SOAP juga membenarkan penghantaran data dan
struktur data tersebut dengan mudah melalui HTTP.
Fungsi utama web services adalah untuk membenarkan capaian ke atas fungsi
di dalam sesuatu objek web services. Ia bergantung kepada XML untuk menghantar
dan menerima data melalui HTTP. Pengguna XML membolehkan penghantaran
data-data primitive sehingga kepada keseluruhan kelas.
Di dalam projek ini, semua fungsi dan logik aplikasi di dalam sistem yang
dibangunkan ini telah diimplementasikan di dalam bentuk web services.
2.4.2.1 SOAP
SOAP merupakan satu protokol spesifikasi yang menakrifkan satu jalan
untuk menghantar data XML. Ia juga ditakrifkan sebagai satu jalan untuk
melaksanakan remote procedure calls (RPCs) dengan menggunakan HTTP sebagai
penyokong komunikasi protokol.
22
SOAP memerlukan satu pembalut WAN untuk menghantar data. SOAP
menghantar data dalam bentuk XML, ia membenarkan pertukaran komponen antara
dua lokasi.
2.4.2.2 JAXB
Java Architecture for XML Binding atau JAXB membenarkan pembangun
menghasilkan kelas Java daripada skema XML. Selain itu, teknologi JAXB
menyediakan modul untuk unmarshalling dokumen instance XML kepada
kandungan pokok objek Java dan seterusnya marshalling kandungan pokok kepada
dokumen XML. Ini akan memudahkan untuk mengikatkan skema XML kepada
perwakilan kod Java tanpa mengetahui lebih mengenai XML.
2.4.2.3 JAXP
Java API for XML Processing atau JAXP adalah amat mudah untuk
memproses data XML dengan menggunakan aplikasi yang dituliskan dalam bahasa
aturcara Java. JAXP boleh menghuraikan Simple API for XML Parsing atau SAX
dan Document Object Model atau DOM. Oleh itu, pemilihan untuk menghuraikan
data kepada satu golongan acara atau membangunkan satu perwakilan struktur
pokok boleh dijalankan. Pada versi baru JAXP, ia juga menyokong XML Stylesheet
Language Transformations atau XSLT yang membenarkan mengawal persembahan
data dan membenarkan untuk menukarkan data kepada dokumen XML yang lain
atau format yang lain seperti HTML.
23
2.4.2.4 JAX-RPC
RPC yang merujuk kepada servis web merupakan satu koleksi prosedur yang
boleh memanggil pelanggan melalui internet. Dalam Web Service, satu aplikasi
pelayan mengandungi prosedur yang membenarkan pelanggan untuk memanggilnya.
Prosedur tersebut terletak pada bekas pelayan. Bekas pelayan itu boleh dianggap
sebagai bekas servlet seperti Tomcat atau bekas web dalam pelayan Java 2 platform,
enterprise Edition (J2EE)
2.4.2.5 JAXM
Java API for XML Messaging atau JAXM menyediakan satu jalan yang
piawai untuk menghantar dokumen XML melalui internet daripada platform Java. Ia
adalah berdasarkan SOAP 1.1 dan SOAP yang mengandungi lampiran spesifikasi di
mana ia menakrifkan satu rangka asas untuk bertukaran mesej XML.
Apabila sesuatu pelayan menghantar satu mesej, mesej itu akan dihantar
kepada messaging provider penghantar, seterusnya ke messaging provider penerima
dan akhirnya ke penerima. Oleh sebab semua mesej melalui messaging provider, ia
boleh menjaga penyelenggaraan mesej seperti menentukan mesej, menyimpan mesej
dan memastikan mesej telah dihantar sebelumnya. Messaging provider boleh
menghantar semula mesej yang tidak sampai ke destinasi.
2.4.2.6 JAXR
Java API for XML Registries (JAXR) menyediakan satu jalan untuk
memasukan registries melalui internet. Registries perniagaan menjelaskan seperti
elektronik kertas kuning kerana ia mengandungi satu senarai perniagaan dan servis
24
atau barangan perniagaan itu ditawarkan. Perniagaan boleh mendaftarkan diri
mereka sendiri dan mereka boleh menghantar bahan untuk dikongsi bersama atau
mereka boleh mencari bahan yang telah dihantar oleh perniagaan yang lain.
2.4.2.7 eXtensible Markup Language (XML)
XML adalah subset kepada SGML. XML merupakan teknologi untuk
capaian data. XML menyediakan kaedah universal bagi penukaran data di antara
organisasi. Struktur XML menjadikannya mudah bagi sesuatu aplikasi untuk bekerja
dengan data yang berada setempat atau dari sumber yang berada di tempat lain.
XML berkembang dengan cepat untuk menjadi satu piawai dalam penukaran data
dalam aplikasi atas talian. XML membenarkan penggunaan tag khas yang
menjadikan lebih fleksibel berbanding HTML. Skema XML digunakan untuk
mentakrif dokumen XML dan memastikan sesuatu dokumen itu merupakan dokumen
XML yang sah untuk digunakan di dalam sesuatu aplikasi.
2.4.3 Teknologi Servlet
Servlet merupakan unit-unit kod Java yang kecil yang dapat dilaksanakan
dengan cepat pada pelayan sebagai maklum balas untuk permintaan yang dijanakan
oleh permintaan pelayar untuk sesuatu laman web. Ini adalah sangat berbeza dengan
applet yang mana ia merupakan unit-unit kod Java yang kecil yang dilaksanakan
pada pelayar dan biasanya mengambil masa yang lama menunggu pelayar memuat
turun applet tersebut.
Konsep Java bahagian pelayan adalah amat mudah. Sesuatu aplikasi boleh
wujud pada bahagian pelayan, pelanggan atau kedua-duanya. Teknologi servlet ini
25
merupakan teknologi yang dapat membekalkan pembangun web satu mekanisme
pembangunan yang bersepadu dan konsisten. Servlet dapat menambah lagi fungsi-
fungsi yang ada pada sesuatu pelayan web.
2.4.4 JavaServer Pages (JSP)
Java Server Pages atau JSP dikembangkan daripada teknologi servlet. JSP
merupakan satu teknologi berasaskan bahasa pengaturcaraan java dan membenarkan
pembangunan laman web dinamik. JSP ini dibangunkan oleh Sun Microsystems
untuk membenarkan pembangunan pada bahagian pelayan. Pengaturcara web boleh
menghasilkan kandungan yang dinamik dengan menggunakan semula komponen
yang sedia ada seperti JavaBeans.
Setiap laman JSP akan dikompil menjadi satu servlet yang spesifik. Fungsi
servlet tersebut adalah untuk menjana isi kandungan dinamik yang dinyatakan oleh
dokumen JSP yang asal. Pelayan mesti menggunakan JSP container seperti Tomcat
untuk menghantarkan JSP kepada pengguna. JSP container akan membaca JSP dan
menggunakannya sebagai satu templet untuk mencipta dan mengkompil satu servlet.
JSP container ini akan membangunkan satu servlet sementara yang akan mencipta
sesuatu laman secara dinamik dan dihantar kembali kepada pengguna. Teknologi ini
akan digunakan pada bahagian salah satu pelanggan.
26
2.4.5 J2ME
J2ME membawa fungsian merentas-pelantar untuk bahasa Java kepada
peranti yang lebih kecil, membenarkan peralatan bimbit tanpa wayar untuk berkongsi
aplikasi. Dengan J2ME, Sun telah mengadaptasi pelantar Java untuk produk-produk
pengguna yang diperbadankan atau yang berdasarkan peranti pengkomputeran yang
kecil.
2.4.5.1 Seni Bina J2ME
J2ME menggunakan konfigurasi dan profil untuk melazimkan Java Runtime
Environment (JRE). Sebagai JRE yang lengkap, J2ME mengandungi:
Konfigurasi
i. Menentukan JVM yang digunakan
ii. Mentakrifkan persekitaran larian-masa sebagai satu set kelas-kelas teras dan
mentakrif JVM tertentu yang dilarikan pada jenis peralatan yang tertentu.
Profil
i. Mentakrifkan tentang menambah kelas-kelas domain-tentu
ii. Menambahkan kelas-kelas domain-tentu kepada konfigurasi J2ME untuk
menetapkan penggunaan tertentu bagi peralatan-peralatan.
2.4.5.2 Konfigurasi – Connected Limited Device Configuration (CLDC)
CLDC adalah konfigurasi yang sesuai utnuk peranti-peranti kecil manakala
CDC untuk peranti-peranti yang lebih besar. Persekitaran J2ME bolih di konfigurasi
27
secara dinamik untuk menyediakan persekitaran yang diperlukan bagi melarikan
aplikasi, tidak kira sama ada perpustakaan berasakan teknologi Java yang diperlukan
untuk melarikan aplikasi tersebut wujud pada peranti atau tidak. Pelantar teras
menerima kedua-dua aplikasi dan perpustakaan. Konfigurasi dilaksanakan oleh
pelayan yang dilarikan pada rangkaian.
CLDC mentakrifkan keperluan-keperluan berikut:
i. Menyokong bahasa Java sepenuhnya (melainkan untuk sokongan penunjuk
apungan, penyudahan dan penangan ralat)
ii. Menyokong JVM sepenuhnya.
iii. Keselamatan untuk CLDC
iv. Menyokong pengantarabangsaan terhad
v. Kelas-kelas warisan – kesemua kelas yang tidak khusus untuk CLDC
haruslah subset kelas-kelas J2SE
vi. Kelas-kelas yang dikhususkan utnuk CLDC adalah dalam pakej dan subpakej
javax.microedition
Sebagai tambahan kepada pakej javax.microedition, CLDC API mengandungi
subset bagi pakej java.io, java.lang, dan java.util, CLDC API digunakan untuk
menghasilkan lukisan aplikasi.
2.4.5.3 Profil – Mobile Information Device Profile (MIDP)
Profil mentakrifkan jenis peranti yang disokong. MIDP sebagai contohnya
mentakrifkan kelas-kelas bagi telefon bimbit. Ia menambah kelas-kelas domain-
tentu kepada konfigurasi J2ME untuk mentakrif penggunaan bagi peranti yang sama.
Dua profil telah ditakrif untuk J2ME dan dibina di atas CLDC; KJava dan MIDP.
28
Kedua-dua KJava dan MIDP disatukan dengan CLDC dan dengan peranti yang lebih
kecil.
MIDP ialah profil yang biasa. MIDP mengandungi pakej-pakej (tiga pakej
yang terawal adalah pakej CLDC yang teras), termasuk tiga pakej MIDP-tentu:
i. java.lang
ii. java.io
iii. java.util
iv. javax.microedition.io
v. javax.microedition.lcdui
vi. javax.microedition.midlet
vii. javax.microedition.rms
2.4.6 API JavaMail TM
API JavaMail ialah lanjutan piawai java. Ia menyediakan kaedah yang terhad
dan bebas protokol untuk menerima dan menghantar e-mel. JavaMail membenarkan
penggunaan pelbagai protokol capaian mesej seperti POP3 dan IMAP dan protokol
SMTP untuk penghantaran e-mel. JavaMail berinterasi dengan kandungan mesej
menerusi JavaBeans Activation Framework(JAF). Ia menyediakan cara yang
seragam untuk menentukan jenis mesej dan memecahkannya.
API javaMail telah direka untuk menyediakan capaian bebas protocol bagi
penerimaan dan penghantaran mesej. Ia direka untuk berinteraksi dengan
menggunakan bahasa-bahasa yang berprotokol tertentu seperti SMTP, POP3 dan
29
IMAP seterusnya berinteraksi dengan pelayan. Kelas-kelas teras bagi API JavaMail
adalah sepert:
2.4.6.1 Session
Kelas Session mentakrifkan satu sesi mel yang asas. Menerusi sesi inilah
keseluruhan sistem boleh berfungsi. Objek Session mengambil kelebihan dari objek
java.util.Properties untuk mendapatkan maklumat seperti pelayan mel, nama
pengguna, kata laluan dan lain-lain maklumat yang boleh dikongsi oleh keseluruhan
aplikasi.
2.4.6.2 Store
Setelah mempunyai objek Session, sambungan dilakukan kepada suatu Store
dengan menggunakan nama pengguna dan kata laluan. Store harus diberitahu
tentang protokol yang digunakan untuk mencapai mesej (IMAP).
2.4.6.3 Address
Pengalamatan mesej dilakukan dengan menggunakan kelas Address. Tiga
jenis alamat yang telah ditakrif ialah:
i. Message.RecipientType.TO
ii. Message.RecipientType.CC
iii. Message.RecipientType.BCC
30
2.4.6.4 Message
Setelah mempunyai Session, mesej yang hendak dihantar atau diterima boleh
dicipta. Ini dilakukan dengan mentakrifkan jenis kelas Message. Message yang
biasa digunakan ialah MimeMessage, di mana ia merupakan satu mesej e-mel yang
memahami kapala dan jenis MIME. Kepala mesej dihadkan kepada aksara US-
ASCII sahaja, meskipun aksara bukan ASCII boleh id enkodkan dalam medan-
medan kepala yang tertentu.
2.4.6.5 Authenticator
Bagi sesetengah pelayan mel, ia memerlukan pengesahan terlebih dahulu
sebelum ia dapat menggunakan hostnya untuk manghantar e-mel. Oleh itu,
Authenticator digunakan untuk membuat pengesahan dan hantar kepada pelayan
tertentu yang dilindungi daripada nama pengguna dan kata laluan.
2.4.6.6 Transport
Bahagian yang terakhir untuk menghantar sesautu mesej ialah dengan
menggunakan kelas ini. Versi lalai bagi kelas tersebut boleh digunakan dengan
memanggil kaedah static send() atau sendMessage().
31
2.4.7 Classifier4J
Classifier4J merupakan perpustakaan Java sumber terbuka yang dicipta untuk
membuat pengelasan perkataan. Ia juga mempunyai satu pengimplementasian bagi
pekelasan Bayesian. Tambahan pula, pada versi Classifier4J terbaru, ia juga
mempunyai kelas-kelas yang boleh membuat rumusan terhadap perkataan-perkataan.
Ia mempunyai empat pakej. Iaitu: net.sf.classifier4J, net.sf.classifier4J.bayesian,
net.sf.classifier4J.summariser dan net.sf.classifier4J.util.
2.4.7.1 Classifier4J.bayesian
Pakej ini mempunyai kelas-kelas java yang direka dan dicipta mengikut teori
Bayes. Di mana teori Bayes merupakan satu teori yang dapat membuat penapisan
terhadap input perkataan. Kelas-kelas yang dipanggil adalah seperti:
… IWordsDataSource wds = new SimpleWordsDataSource(); IClassifier classifier = new BayesianClassifier(wds); System.out.println( "Matches = " + classifier.classify("This is a sentance") ); …
Di mana output yang dipapar adalah satu anggaran sepert 0.0 atau 0.99. Jika output
0.99 bermakna perkataan yang hendak dicari terdapat dalam perkataan itu. Dengan
cara ini, penapisan terhadap mel spam dapat dijalani.
32
2.4.7.2 Classifier4J.summariser
Pakej ini mempunyai kelas-kelas java yang dapat membuat rumusan terhadap
ayat-ayat tertentu. Di mana, cuma perlu menghantar ayat-ayat tersebut kepada kelas-
kelas java, kemudian ia akan dirumuskan mengikut permintaan pengguna berapakah
peranggan yang hendak dirumuskan.
2.5 Rumusan
Bab 2 ini menerangkan tentang pengenalan kepada kajian bagi sistem yang
akan dibangunkan. Kajian aplikasi e-mel termasuk kajian terhadap ciri-ciri yang ada
dalam aplikasi e-mel, protokol yang digunakan dan penapisan e-mel spam yang akan
diimplementasikan dalam sistem tersebut. Kajian juga melibatkan beberapa
teknologi yang akan digunakan dalam sistem tersebut, iaitu pelayan-pelanggan,
JAVA dan web services. Bab-bab yang seterusnya akan menerangkan metodologi
pembangunan dan juga akan menghasilkan rekabentuk awalan tentang sistem yang
akan dibangunkan.
BAB 3
METODOLOGI
3.1 Metodologi Model Air Terjun
Pembangunan mestilah dirancang dengan teliti dan sistematik untuk
menghasilkan satu sistem yang baik dan bermanfaat. Proses pembangunan bagi suatu
sistem melibatkan beberapa fasa yang dirangkumkan dalam satu kitar hayat yang
dikenali sebagai kitar hayat pembangunan. Di dalam bahagian ini, penerangan
mengenai proses-proses yang dilalui di dalam kegiatan pembangunan perisian projek
diterangkan. Metodologi yang digunakan untuk projek ini ialah model air terjun.
Model Air Terjun merupakan model yang mengikut langkah demi langkah di
mana sesuatu langkah dalam proses pembangunan sistem tidak boleh dilaksanakan
selagi langkah sebelumnya tidak dilaksanakan. Hasil bagi Model Air Terjun adalah
seperti dokumen keperluan, dokumen rekabentuk, dokumen kod dan dokumen
pengujian. Hasil output akan menunjukkan sama ada proses tersebut telah diikuti
mengikut perancangan ataupun tidak. Fasa-fasa umum yang terdapat dalam model ini
adalah Fasa Perancangan Sistem, Fasa Analisis Keperluan, Fasa Rekabentuk, Fasa
34
Pengkodan dan Fasa Pengujian serta Fasa Pengoperasian dan Penyelenggaraan. Rajah
3.1 menunjukkan kitar hayat pembangunan sistem mengikut fasa-fasa.
Fasa Perancangan
Sistem
Fasa Analisa Keperluan
Fasa Pengkodan dan Pengujian
Fasa Rekabentuk
Fasa Operasian dan
Penyelenggaran
Rajah 3.1 Kitar Hayat Pembangunan Sistem
3.1.1 Fasa Perancangan Sistem
Fasa Perancangan Sistem merupakan fasa permulaan yang perlu dilalui dalam
proses pembangunan sistem. Fasa ini merupakan subset kepada aktiviti pengurusan
pembangunan dan ia mungkin juga dilaksanakan di pertengahan perlaksanaan projek
jika sesuatu perkara yang tidak dijangka berlaku. Matlamat utama fasa ini ialah
menentukan objektif, skop, sumber dan peralatan yang akan terlibat dan perancangan
kerja. Perancangan memerlukan kepakaran dan pengalaman kerana ia merupakan satu
kerja yang rumit. Perancangan yang baik akan menghasilkan kerja yang memuaskan
sebagai mana yang dijangkakan.
35
Projek ini dijalankan mengikut masa yang telah disusun agar laporan awal dapat
disiapkan dalam masa yang telah ditetapkan dan pembentangan untuk projek ini dapat
dijalankan dengan lancar. Lampiran A (Carta Gantt) menunjukkan langkah-langkah
yang telah dijalankan untuk membangunkan sistem.
3.1.2 Fasa Analisis Keperluan
Di dalam fasa ini, analisis keperluan seperti proses mengumpul dan menganalisis
maklumat yang diperoleh daripada fasa perancangan dilaksanakan. Analisis dan kajian
dilakukan untuk mengenal pasti keperluan projek secara terperinci. Dalam fasa ini juga,
masalah dan kelemahan sistem-sistem e-mel yang sedia ada dikaji dan maklum balas
dari pengguna sistem e-mel sedia ada di internet juga dikumpulkan untuk membuat
pengajian.
Dalam projek ini, keperluan-keperluan dianalisa dari:
i. Modul E-mel
Di dalam modul ini, fungsi-fungsi yang telah disediakan untuk membentuk satu
sistem yang membolehkan pengguna mendapatkan e-mel dari IMAP4 dan POP3
kemudian menghantar e-mel melalui pelayan SMTP. Selain itu, ia juga
membentuk satu web services yang boleh dipanggil bagi melaksanakan fungsi-
fungsi tertentu yang melengkapkan sistem e-mel ini.
36
ii. Modul Penapisan
Modul ini akan bertindak untuk mengasingkan e-mel yang tidak dikehendaki
oleh pengguna. Pengguna juga boleh membentuk syarat-syarat bagi mengenal
pasti sama ada sesuatu e-mel tersebut boleh dianggap sebagai e-mel spam.
iii. Modul J2ME
Dalam menyediakan modul capaian melalui telefon mudah alih ini, keperluan
dan kekangan terhadap sambungannya harus diberi perhatian. Fungsi-fungsi
yang disediakan haruslah padat dan ringkas supaya tidak membebankan
sambungan dan dapat mengatasi kekangan mesej terlalu panjang, jenis alat
capaian yang berbeza dan lebar jalur capaian yang mudah.
Hasil yang diperoleh daripada fasa ini merangkumi keperluan terperinci sistem
dan pilihan penyelesaian. Rajah kes gunaan telah dibentuk dan diterangkan di dalam
bab IV.
3.1.3 Fasa Rekabentuk
Fasa rekabentuk menerangkan bagaimana keperluan-keperluan yang telah
ditentukan pada fasa analisis dipenuhi. Ia melibatkan paparan menu pada web,
hubungan antara menu-menu dan menu pilihan syarat-syarat pengisihan yang ditakrif
pengguna. Dalam rekabentuk seni bina, pembahagian modul adalah berdasarkan kepada
keperluan yang telah ditentukan sebelum ini. Huraian yang terperinci berkenaan dengan
setiap rekabentuk sistem telah dinyatakan dalam bab IV
37
3.1.4 Fasa Pengkodan dan Pengujian
Fasa ini melibatkan pengekodan dan pengujian aturcara yang mana
implementasinya adalah bergantung kepada fasa rekabentuk. Hasil untuk fasa ini diuji
untuk memastikan unit-unit program yang telah siap dikodkan bebas dari sebarang ralat.
3.1.5 Fasa Operasi dan Penyelenggaraan
Fasa ini telah melibatkan pengoperasian sistem yang telah dibangunkan dan
seterusnya penyelenggaraan terhadap sistem tersebut dijalani. Dokumentasi yang
dikeluarkan akan digunakan sebagai rujukan pada masa depan
3.2 Justifikasi Penggunaan Metodologi Model Air Terjun
Untuk menbangunkan satu aplikasi yang baik, metodologi yang digunakan perlu
dipilih dengan teliti. Metodologi model air terjun digunakan kerana projek yang akan
dibangunkan merupakan projek individu maka kompleksiti bagi sistem ini adalah
rendah. Selain itu semasa pembangunan projek ini, implementasi hanya boleh dijalankan
selepas perancangan dan rekabentuk sistem. Ia telah menunjukkan sifat model air terjun
di mana sesuatu langkah dalam proses pembangunan sistem tidak boleh dilaksanakan
selagi langkah sebelumnya tidak dilaksanakan. Di samping itu, masa pembangunan
projek ini juga adalah singkat maka semasa mula membuat implementasi, tiada masa
38
yang cukup lagi untuk membuat perancangan semula. Dengan sebab-sebab yang
dinyatakan ini, akhirnya metodologi model air terjun telah dipilih sebagai metodologi
yang digunakan untuk membangunkan projek ini.
3.3 Keperluan Perkakasan
Dalam membangunkan aplikasi sistem e-mel ini, perkakasan yang diperlukan
perlu dikenal pasti terlebih dahulu. Semasa memilih perkakasan, beberapa perkara perlu
dipertimbangkan iaitu kos dan juga keupayaan perkakasan yang dipilih. Kos yang
dinyatakan di sini adalah merujuk kepada kos peralatan yang akan digunakan dan
kebiasaannya kos adalah berkaitan dengan keupayaan sistem. Keboleh harapan pula
merujuk kepada pretasi sesuatu sistem itu. Oleh itu, ketiga-tiga perkara ini adalah saling
berkaitan dan akan menentukan kecekapan sistem yang akan dibina.
Keperluan perkakasan untuk pembangunan sistem adalah sekurang-kurang:
i. Komputer peribadi dengan pemproses Pentium III
ii. Cakera keras dengan saiz 20GB (minimum)
iii. Ingatan RAM sebanyak 128 MB
iv. Monitor SVGA
v. Papan kekunci dan tetikus
vi. Pemacu cakera liut 3.5 inci
39
3.4 Keperluan Perisian
Di dalam pembangunan projek ini, perkakasan serta perisian yang diperlukan
adalah seperti yang dinyatakan di bawah. Pemilihan perisian dibuat berdasarkan
kesesuaian dan kebolehan perisian tersebut untuk memenuhi keperluan projek ini.
Perkakasan pula dipilih berdasarkan perkakasan yang dicadangkan oleh perisian yang
digunakan.
Berikut adalah perisian yang diperlukan untuk pembangunan sistem:
i. Java2 SDK
Edisi Java ini perlukan untuk menulis aturcara dalam Java. Ia juga mengandungi
Java Runtime Environment (JRE) dan alatan-alatan serta kelas-kelas yang
digunakan untuk mengkompil, melakukan proses debug dan melarikan aplikasi-
aplikasi yang dibangunkan dengan menggunakan platform Java.
ii. Pelayan web (Jakarta Tomcat)
Pelayan web ini digunakan kerana ia menyokong teknologi Java. Selain itu, ia
boleh diperoleh secara percuma dari internet.
iii. TextPad
Menyediakan editor yang mudah untuk menulis kod aturcara. TextPad boleh
didapati secara percuma dari internet.
iv. Microsoft SQL Server 2000
40
Perisian pangkalan data hubungan. Ia adalah berdasarkan senibina
pelayan/pelanggan yang membahagikan pemprosesan kepada dua bahagian:
komponen pelanggan (front-end), yang dilaksanakan di dalam computer
pengguna, manakala pelayan (back-end) yang dilaksanakan di komputer pelayan.
v. Microsoft Word XP
Digunakan bagi tujuan pendokumentasian
vi. Rational Rose
Digunakan untuk menghasilkan rajah kes gunaan dan rajah jujukan
vii. Microsoft Project XP
Perisian sokongan bagi projek ini digunakan untuk membangunkan Carta Gantt.
BAB 4
REKABENTUK
4.1 Pengenalan
Rekabentuk sistem merupakan antara langkah yang sangat penting dalam proses
pembangunan sistem. Rekabentuk yang baik dapat menjamin bahawa sistem yang
dihasilkan memenuhi keperluan-keperluan pengguna dan mencapai semua objektif yang
ditetapkan. Selain itu, rekabentuk juga merupakan gambaran awal bagi aliran sistem
yang akan dibangunkan.
Oleh itu, bab ini akan menghuraikan dengan lebih terperinci tentang rekabentuk
pangkalan data dan rekabentuk modul mengenai sistem yang telah dibangunkan.
Rekabentuk sistem ini terdiri daripada rekabentuk berpandukan Unified Modelling
Language (UML). Oleh itu, rajah kes gunaan dan rajah jujukan telah dilukis dengan
notasi UML supaya memudahkan pemahaman pembaca terhadap perjalanan keseluruhan
sistem.
42
4.2 Rekabentuk Senibina Sistem
Sistem yang dibangunkan ini, dipecahkan kepada dua aras yang berlainan iaitu
aras Web Services dan aras aplikasi. Aras Web Services merupakan servis-servis yang
boleh dipanggil bagi melaksanakan fungsi-fungsi tertentu. Fungsi-fungsi inilah yang
melengkapkan sistem e-mel ini. Sebagai contoh, aras Web Services ini akan menerima
data daripada aras aplikasi dan seterusnya melaksanakan fungsi-fungsi tertentu. Selepas
fungsi-fungsi dilaksanakan, hasilnya akan dipulangkan kepada aras aplikasi semula.
Servis-servis yang ada pada aras Web Services adalah seperti manipulasi buku alamat,
konfigurasi penapis, memuat turun e-mel dan menghantar e-mel.
Aras aplikasi pula merupakan aplikasi yang menyediakan antaramuka pengguna
bagi membolehkan pengguna memasukkan data yang berkaitan. Kemudian data-data
tersebut akan dihantar kepada aras Web Services. Tambahan pula, aras aplikasi juga
akan memastikan data-data yang diperolehi memenuhi spesikasi sebelum memanggil
servis-servis yang ada pada aras Web Services. Contoh-contoh aras aplikasi ialah
aplikasi yang menyediakan antaramuka seperti senarai e-mel yang diterima, senarai
penapis dan kandungan buku alamat. Selain itu, antaramuka tersebut juga turut
menyediakan bahagian yang membolehkan pengguna memanipulasikan sesuatu data.
Kedua-dua aras ini berhubung dengan menggunakan protokol SOAP/HTTP.
Aras aplikasi akan menghantar permintaan kepada Web Services tertentu di dalam
bentuk dokumen XML. Rajah 4.1 menunjukkan hubungan di antara aras aplikasi dan
aras Web Services serta pangkalan data yang terlibat.
43
Pelayan Web Services: Sediakan Web Service E-mel
Rajah 4.1 : Rekabentuk Senibina sistem
4.3 Rekabentuk Senibina Pelayan Web Services
Rajah 4.2 merupakan rekabentuk senibina pelayan Web Services. Mula-mula,
pelayan akan memuat turun mesej dari peti surat elektornik, kemudian mesej tersebut
akan dihantar kepada pelayan untuk melaksanakan penapisan e-mel spam mengikut
teknik Bayesian yang telah diimplementasikan. Selepas penapisan e-mel spam
dijalankan, Mesej yang merupakan e-mel spam akan dihapuskan dan mesej yang bukan
e-mel spam akan dihantar kepada pelanggan e-mel.
Pangkalan Data
SOAP/HTTP INTERNET
Aras Atas: Web ServicesAras Bawah: Aplikasi Web Services
Pelayan Web: Sediakan Aplikasi E-mel
44
Rajah 4.2 : Rekabentuk Senibina Pelayan Web Services
4.4 Rajah Kes Guna
Kelakuan sistem menunjukkan bagaimana sesuatu sistem bertindak dan
bertindakbalas terhadap persekitarannya. Kelakuan sistem digambarkan dalam kes guna
di mana kes guna menerangkan tentang sistem dan persekitaran serta hubungan antara
sistem dengan persekitarannya.
Mesej yang berada di peti surat inbox
Pelayan web services
Pangkalan Data
Penapisan e-mel spam dijalankan
Memeriksa buku alamat
Mesej yang bukan spam dihantar kepada pelanggan e-mel
Pelayan IMAP
Peti Surat Inbox
Pelanggan e-mel
45
Rajah kes guna adalah terdiri daripada aktor (yang menunjukkan persekitaran
sistem) dan kes guna (yang menunjukkan fungsi bagi sistem). Rajah kes guna yang
sama boleh digunakan dalam fasa analisa keperluan, rekabentuk dan pengujian. Rajah
ini digunakan sebagai medium komunikasi antara pengguna dan pakar domain. Ia
digunakan untuk mengenalpasti siapa yang akan berinteraksi dengan sistem dan apa
yang boleh dilakukan oleh sistem.
Aktor yang terlibat dalam sistem ialah pelanggan e-mel. Rajah 4.3 berikut
menunjukkan rajah kes guna bagi sistem e-mel yang telah dibangunkan.
Kemasikini Buku Alamat E-mel Spam
Kemaskini Buku Alamat
LogIn
Pendaftaran
Pelanggan
(f rom Logical View)
Hantar E-mel
Peti Surat Elektronik
(f rom Logical View)
Penapisan E-mel
Muat Turun E-mel
Kemaskini Markah SpamPengurus
Pelayan Berasaskan WebServices
(f rom Logical View)
Kemaskini Fail Hitam
Rajah 4.3 : Rajah kes guna untuk sistem yang telah dibangunkan
46
4.4.1 Penerangan Aktor
Jadual 4.1 merupakan keterangan untuk aktor sistem yang terlibat. Terdapat tiga
aktor bagi sistem yang telah dikenalpasti. Keterangan seperti di bawah:
Jadual 4.1 : Keterangan Aktor
Aktor Peranan
Pengurus Pengurus ini akan berinteraksi dengan system melalui Internet.
Pengurus boleh mengemaskinikan markah spam dan fail hitam.
Pelanggan e-mel Pengguna ini akan berinteraksi dengan sistem melalui Internet.
Pengguna ini boleh melakukan proses menghantar e-mel,
memuat turun e-mel, mengemaskini buku alamat,
mengemaskini alamat e-mel spam dan mengemaskini data
pengguna sendiri.
Pelayan berasakan
WebServices
Pelayan ini akan berinterasi dengan pelanggan dan peti surat
elektronik. Oleh itu, untuk melakukan tugas ini, ia
menyediakan servis-servis yang melaksanakan fungsi-fungsi
tertentu. Sebagai contoh, ia akan menerima mesej dari
pelanggan dan seterusnya menghantar mesej tersebut ke peti
surat elektornik dengan menggunakan protokol SMTP.
Tambahan pula, ia juga digunakan untuk memuat turun mesej
dari peti surat elektornik dengan protokol IMAP. Kemudian
menghantar mesej tersebut kepada pelanggan selepas
penapisan spam dilakukan.
Peti surat elektronik Peti surat elektronik ialah pelayan yang menyimpan mesej-
mesej e-mel pelanggan.
47
4.4.2 Penerangan Kes Guna
Kes guna menunjukkan aktiviti yang boleh dilakukan oleh aktor dalam sistem.
Setiap kes guna akan menjanakan sekurang-kurangnya satu rajah jujukan. Jadual 4.2
menunjukkan aktiviti-aktiviti bagi setiap kes guna.
Jadual 4.2 : Aktiviti-aktiviti yang dilaksanakan oleh kes guna
Kes Guna Aktiviti
Pendaftaran Kes guna ini membolehkan pengguna baru
mendaftar satu akaun. Apabila pengguna
mempunyai akaun, beliau boleh mengunakan servis
yang disediakan oleh pelayan seperti menghantar e-
mel dan memuat turun e-mel. Selain itu, Id
pengguna dan katalaluan adalah unit.
LogIn Kes guna ini mengaplikasikan keselamatan minima
dengan merujuk id dan katalaluan pengguna sebagai
kawalan capaian.
Muat Turun E-mel Kes guna ini membolehkan pengguna memanggil
servis di pelayan supaya dapat mencapai dan
memuat turun e-mel.
Hantar E-mel Kes guna ini membenarkan pengguna menulis e-
mel. Seterusnya, e-mel tersebut akan dihantar
melalui pelayan kepada peti surat elektornik
tertentu. Status penghantaran sama ada berjaya atau
tidak akan dipulangkan kepada pengguna
Penapisan Spam Kes guna ini digunakan untuk menapis e-mel yang
berbentuk spam sebelum ia sampai ke kotak mel
pengguna.
48
Kemaskini Buku Alamat Kes guna ini membolehkan pengguna menambah
alamat e-mel dalam buku alamat yang disediakan.
Aktiviti lain seperti pengeditan dan penghapusan
juga boleh dilakukan
Kemaskini Buku Alamat E-mel
Spam
Kes guna ini membolehkan pengguna menambah
alamat e-mel berbentuk spam dalam buku alamat
yang disediakan. Aktiviti lain seperti pengeditan
dan penghapusan juga boleh dilakukan
Kemaskini Markah Spam Kes guna ini membolehkan pengurus mengubah
markah spam di mana jika markah pengesahan
lebih daripada markah spam tersebut, ia dikenali
sebagai e-mel spam
Kemaskini Fail Hitam Kes guna ini membolehkan pengurus menambah
dan menghapus perkataan-perkataan. Di mana
apabila perkataan tersebut dikesan, e-mel tersebut
dikenali sebagai e-mel spam.
4.5 Rajah Jujukan
Fokus utama rajah jujukan adalah masa. Ia menunjukkan jujukan masa yang
dihantar dan diterima dan juga objek yang terlibat dalam sesuatu transaksi. Suatu rajah
jujukan mengandungi objek dengan lifetime, pertukaran mesej antara objek dalam
tatasusunan dan fokus kawalan.
49
Sebanyak 8 rajah jujukan untuk setiap kes guna telah dihasilkan untuk
menggambarkan proses yang berlaku dalam sistem. Rajah jujukan boleh dirujuk dalam
Lampiran B.
4.5.1 Rajah Jujukan Bagi Pendaftaran
Sila rujuk Rajah B.1 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna membuat pendaftaran ke dalam sistem yang disediakan.
Maklumat yang perlu dimasukkan oleh pengguna ialah id pengguna, nama pangguna, ic
pengguna dan kata laluan. Selepas itu, maklumat tersebut akan dihantar kepada
pangkalan data. Kemudian, pengguna boleh menggunakan id dan kata laluan tersebut
untuk mencapai ke dalam sistem.
4.5.2 Rajah Jujukan Bagi Login
Sila rujuk Rajah B.2 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna memasuk ke dalam sistem yang disediakan. Maklumat yang perlu
dimasukkan oleh pengguna ialah id pengguna dan kata laluan. Kemudian pengguna
akan menekan butang Sign In untuk menghantar maklumat tersebut kepada pangkalan
data. Selepas itu, pangkalan data akan diperiksa untuk memastikan pengguna
memasukkan data yang sepadan. Dengan maklumat login yang sah, halaman pengguna
akan dipapar di mana pengguna boleh meneruskan urusan seterusnya.
50
4.5.3 Rajah Jujukan Bagi LoginPetiMelElektronik
Sila rujuk Rajah B.3 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna memasuk ke dalam peti surat elektronik beliau. Mula-mula
pengguna perlu memasukkan maklumat nama host, nama akaun pengguna bagi mel
elektronik beliau dan kata laluan. Maklumat tersebut akan dihantar kepada pelayan yang
berasaskan WebServices iaitu pelayan yang telah dibangun dalam sistem ini. Pelayan
akan menghantar meklumat tersebut ke peti surat elektronik mengikut nama host. Jika
login tidak sah bagi peti surat elektronik, pelayan akan hantar mesej kepada pengguna
supaya login sekali lagi atau menggunakan akaun peti surat elektronik yang lain.
4.5.4 Rajah Jujukan Bagi Muat Turun E-mel
Sila rujuk Rajah B.4 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna dapat memuat turun e-mel melalui pelayan. Selepas login, pelayan
akan memuat turun e-mel dari peti surat elektronik dengan menggunakan protokol
IMAP. Data-data e-mel tersebut akan disimpan dalam kelas-kelas tertentu di pelayan.
Kemudian, pelayan akan memaparkan kepala e-mel supaya pengguna boleh memilih
mana satu e-mel yang hendak dilihat terlebih dahulu. Apabila pengguna memilih e-mel
yang hendak dilihat, keseluruhan mesej e-mel akan dipaparkan di halaman yang lain.
Pengguna juga dapat memuat turun lampiran-lampiran bagi e-mel yang mempunyai
lampiran. Selepas itu, pengguna boleh meneruskan urusan seterusnya
51
4.5.5 Rajah Jujukan Bagi Hantar E-mel
Sila rujuk Rajah B.5 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna dapat menghantar e-mel melalui pelayan. Pengguna boleh
memilih dan memasuk ke dalam halaman hantar e-mel. Kemudian, pengguna boleh
menulis mesej dan juga membuat lampiran sebelum e-mel tersebut dihantar. Selain itu,
alamat e-mel yang hendak dihantar juga perlu dituliskan. Selepas pengguna menekan
butang send, mesej tersebut akan dihantar kepada pelayan dan seterusnya pelayan akan
membuat pengesahan terhadap pelayan SMTP tertentu supaya boleh menghantar e-mel.
Selepas pengesahan disahkan, e-mel tersebut akan dihantar.
4.5.6 Rajah Jujukan Bagi Kemaskini Buku Alamat
Sila rujuk Rajah B.6 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna mengemaskini buku alamat. Mula-mula, pengguna memilih dan
masuk ke halaman buku alamat, kemudian, pengguna boleh membuat aktiviti kemaskini
terhadap buku alamat tersebut seperti menambah alamat dan menghapus alamat.
Selepas aktiviti kemaskini dilakukan, maklumat-maklumat tersebut akan disimpan ke
dalam pangkalan data.
52
4.5.7 Rajah Jujukan Bagi Kemaskini Buku Alamat E-mel Spam
Sila rujuk Rajah B.7 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengguna mengemaskini buku alamat e-mel spam. Mula-mula, pengguna
memilih dan masuk ke halaman buku alamat e-mel spam, kemudian, pengguna boleh
membuat aktiviti kemaskini terhadap buku alamat tersebut seperti menambah alamat dan
menghapus alamat. Alamat yang dimasukkan adalah alamat e-mel spam, ia akan
digunakan dalam penapisan e-mel spam supaya e-mel yang mempunyai alamat tersebut
tidak akan masuk ke dalam peti surat elektronik pengguna. Selepas aktiviti kemaskini
dilakukan, maklumat-maklumat tersebut akan disimpan ke dalam pangkalan data.
4.5.8 Rajah Jujukan Bagi Penapisan Spam
Sila rujuk Rajah B.8 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana penapisan e-mel spam dilakukan. Selepas pelayan memuat turun e-mel dari
peti surat elektronik, ia akan menjalankan aktiviti penapisan e-mel spam sebelum e-mel
tersebut dipaparkan kepada pengguna. Terlebih dahulu, alamat di buku alamat dan
alamat di buku alamat e-mel spam akan diterima dari pangkalan data. Kemudian, e-mel
yang telah dimuat turun akan dipecahkan kepada beberapa bahagian iaitu alamat dari
mana, subjek mesej dan badan mesej. Seterusnya, ia akan disetkan dalam satu String,
String tersebut akan dibanding dengan alamat-alamat. Jika alamat spam, e-mel tersebut
akan dihapuskan.
53
4.5.9 Rajah Jujukan Bagi Kemaskini Markah Spam
Sila rujuk Rajah B.9 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengurus mengemaskini markah spam. Mula-mula, pengurus memilih dan
masuk ke halaman markah spam, kemudian, pengurus boleh membuat aktiviti mengubah
markah spam tersebut. Selepas aktiviti kemaskini dilakukan, markah spam tersebut akan
disimpan ke dalam fail
4.5.10 Rajah Jujukan Bagi Kemaskini Fail Hitam
Sila rujuk Rajah B.10 di Lampiran B. Rajah jujukan ini menggambarkan
bagaimana pengurus mengemaskini fail hitam. Mula-mula, pengurus memilih dan
masuk ke halaman fail hitam kemudian, pengurus boleh membuat aktiviti kemaskini
terhadap fail hitam tersebut seperti menambah dan menghapus perkataan. Perkataan
yang dimasukkan digunakan dalam penapisan e-mel spam di mana apabila perkataan
tersebut dikesan e-mel tersebut akan dikenali sebagai e-mel spam. Selepas aktiviti
kemaskini dilakukan, maklumat-maklumat tersebut akan disimpan ke dalam pangkalan
data.
54
4.6 Rajah Kelas
Rajah kelas adalah rajah yang terdiri dari kelas-kelas atau objek. Objek
mewakili suatu entiti secara fizikal atau konseptual yang mempunyai keadaan, kelakuan
dan identiti. Objek adalah instant kepada kelas. Kelas menerangkan sekumpulan objek
yang mempunyai atribut, kelakuan dan hubungan yang sama dengan objek-objek lain.
Kelas adalah suatu konsep pengabstrakan di mana ia hanya mementingkan ciri-ciri yang
bersesuaian dengan domain masalah. Dengan ini, kerumitan masalah dapat diatasi.
Rajah 4.4 menunjukkan rajah kelas bagi sistem.
Akaun Pengguna
Hantar E-mel
Muat Turun E-mel
Penapisan Spam
tapis
Pengguna
daftar
guna
guna
Buku Alamat
kemaskini
Rajah 4.4 : Rajah kelas sistem
55
4.7 Rekabentuk Pangkalan Data
Pangkalan Data berfungsi untuk menyimpan data-data yang terlibat dalam
sistem. Rekabentuk dan struktur data disimpan dalam bentuk jadual. Kesepaduan dapat
dibentuk melalui penyimpanan semua data-data secara berpusat di dalam koleksi fail
pangkalan data kerana ini memudahkan proses capaian bagi data yang tersimpan.
Perisian Microsoft Access 2000 telah digunakan bagi membina pangkalan data ini dalam
persekitraran tetingkap windows. Data-data yang akan disimpan ialah maklumat
pengguna, maklumat buku alamat dan maklumat buku alamat spam. Rajah B.9 dalam
Lampiran B menunjukkan hubungan antara jadual-jadual dalam rekabentuk pangkalan
data.
4.7.1 Jadual dbUserDetail
Jadual ini digunakan untuk menyimpan maklumat peribadi pengguna. Jadual 4.3
ini juga digunakan oleh pengguna untuk memperolehi maklumat peribadi dan membuat
pengemaskinian.
Jadual 4.3 : Jadual dbUserDetail
Nama Medan Jenis Data Keterangan
Name Text Nama pengguna
IC Text IC pengguna
Password Text Kata laluan
56
4.7.2 Jadual dbAddressBook
Jadual 4.4 ini digunakan untuk menyimpan maklumat alamat e-mel kawan
pengguna. Jadual ini digunakan oleh servis penapisan spam untuk membuat penapisan
Ia juga digunakan oleh pengguna untuk memperolehi maklumat alamat e-mel kawan dan
membuat pengemaskinian ke atasnya
Jadual 4.4 : Jadual dbAddressBook
Nama Medan Jenis Data Keterangan
Ic Text Ic pengguna
Address Text Alamat e-mel kawan
Name Text Nama kawan tersebut
Phone Text Nombor telefon kawan
4.7.3 Jadual dbSpam
Jadual 4.5 ini digunakan untuk menyimpan maklumat alamat e-mel kawan
pengguna. Jadual ini digunakan oleh servis penapisan spam untuk membuat penapisan
Ia juga digunakan oleh pengguna untuk memperolehi maklumat alamat e-mel kawan dan
membuat pengemaskinian ke atasnya
57
Jadual 4.5 : Jadual dbSpam
Nama Medan Jenis Data Keterangan
Address Text Alamat e-mel yang dikenali sebagai e-
mel berbentu spam
4.7.4 Jadual dbBlackList
Jadual 4.6 ini digunakan untuk menyimpan perkataan yang menunjukkan e-mel
tersebut ialah e-mel spam. Apabila perkataan tersebut dikesan dalam sesuatu e-mel, e-
mel tersebut dikenali sebagai e-mel spam. Jadual ini digunakan oleh servis penapisan
spam untuk membuat penapisan dan juga digunakan oleh pengurus untuk membuat
pengemaskinian ke atasnya
Jadual 4.6 : Jadual dbBlackList
Nama Medan Jenis Data Keterangan
KeyWord Text Perkataan yang dikenali sebagai e-mel
berbentu spam
58
4.8 Rekabentuk Antaramuka
Rekabentuk antaramuka merupakan ciri terpenting dalam sesuatu sistem. Dalam
fasa awal proses membangunkan sistem e-mel ini, beberapa antaramuka telah
direkabentuk untuk memberi gambaran awalan mengenai sistem yang akan dibangunkan
kepada pengguna. Antaramuka yang direkabentuk adalah bersifat Antaramuka
Pengguna Bergrafik (GUI) dan memenuhi ciri-ciri heuristik. Rajah-rajah antaramuka
dalam seperti di bawah adalah diletakkan dalam Lampiran D.
i) Kata Laluan
Antaramuka kata laluan merupakan permulaan bagi penggunaan sistem. Pengguna
perlu memasukkan alamat e-mel dan kata laluan supaya boleh mecapai ke kotak e-
mel sendiri.
ii) Kotak Mel
Antaramuka ini merupakan halaman selepas pengguna login ke dalam sistem. Di
sini, pengguna berupaya memuat turun e-mel, menghantar e-mel, mengemaskini
buku alamat dan sebagainya.
iii) Buku Alamat
Antaramuka ini disediakan kepada pengguna untuk memasukkan alamat e-mel bagi
kawan-kawan yang ingin dihubungi. Pengguna boleh mengemaskinikan buku alamat
seperti menambah alamat e-mel baru dan hapuskan alamat e-mel yang ada.
59
4.9 Rekabentuk Modul
Rekabentuk modul terdiri daripada beberapa modul utama di mana setiap modul
mempunyai kepentingnya sendiri. Terdapat banyak modul diperlukan untuk
melengkapkan sistem ini. Berikut merupakan modul-modul yang terdapat dalam sistem
ini.
4.9.1 Modul Pendaftaran
Modul ini membolehkan pengguna mendaftar sebagai pengguna sistem
WebServices. Setiap akaun mempunyai satu Id pengguna yang unit. Id pengguna
digunakan bersama kata laluan untuk membenarkan pengguna menggunakan
perkhidmatan penghantaran mel dan sebagainya. Tambahan pula, setiap akaun
mempunyai satu jadual buku alamat dan buku alamat e-mel spam yang berada di dalam
pangkalan data.
4.9.2 Modul Mel
Modul ini membolehkan pengguna mendapatkan e-mel dari peti surat elektronik
yang mempunyai protokol IMAP4. Selain itu, modul ini juga membenarkan pengguna
menghantar e-mel melalui pelayan SMTP ke peti surat elektronik tertentu. Selain itu, ia
juga membentuk satu Web Services yang boleh dipanggil bagi melaksanakan fungsi-
fungsi tertentu yang melengkapkan sistem e-mel ini.
60
4.9.3 Modul Penapisan
Modul ini akan bertindak untuk mengasingkan e-mel yang tidak dikehendaki
oleh pengguna. Pengguna juga boleh menambah alamat ke dalam buku alamat e-mel
spam supaya semasa penapisan dijalankan, ia dapat mengenal pasti bahawa e-mel
tersebut merupakan e-mel spam. Selain itu, modul ini telah meimplementasikan teknik
bayesian filtering dimana proses penapisan spam akan mengikut teknik tersebut.
4.10 Rumusan
Bab ini menerangkan tentang sistem yang dibangunkan bagi menyelesaikan
masalah-masalah yang dikenalpasti semasa kajian awalan dibuat. Rajah kes guna dan
rajah jujukan telah dihasil dan diterangkan. Tambahan pula, bab ini juga memberi
gambaran mengenai sistem yang bakal dibangunkan berdasarkan senibina sistem,
rekabentuk sistem, rekabentuk pangkalan data, modul-modul serta pergerakan data.
Secara tidak langsung, ini memudahkan pembaca untuk memahami tentang sistem ini
BAB 5
IMPLEMENTASI DAN PENGUJIAN
5.1 Persekitaran Pembangunan
Contoh-contoh persekitaran pembangunan adalah seperti sistem pengoperasian
yang digunakan, bahasa pengaturcaraan, rangkaian dan pangkalan data. Persekitaran
pembangunan yang sesuai membolehkan sistem diimplementasikan dengan lancar dan
sempurna. Oleh itu, untuk membentuk persekitaran ini, segala perisian yang diperlukan
haruslah disediakan dan dikonfigurasikan dengan teliti. Huraian mengenai persekitaran
pembangunan akan dinyatakan seterusnya.
5.1.1 Ecplise
Ecplise membenarkan pengaturcara membina kelas-kelas yang ditulis dalam
bahasa pengaturcaraan Java. Di samping itu, pengisian Eclipse boleh didapati daripada
62
laman web Eclipse iaitu www.eclipse.org. Eclipse 3.0.1 telah digunakan untuk menulis
kelas-kelas Java dalam sistem yang dibangunkan. Ia dipilih sebagai perisian untuk
membangunkan kelas-kelas sistem disebabkan persekitaran yang disediakan oleh
perisian ini sesuai dan mudah digunakan. Pengisian Eclipse memudahkan pengaturcara
Java memasukkan perpustakaan Java luaran (external library) ke dalam perisian.
Tambahan pula, ia juga mempunyai pelbagai fungsi yang memudahkan pengaturcara
menggunakan kelas-kelas yang terdapat dalam perpustakaan Java.
5.1.2 TextPad
TextPad 4.5 telah dipilih sebagai pengedit teks utama bagi fail-fail bukan kelas-
kelas Java. Ia digunakan untuk menulis halaman web berbentuk JSP dan HTML.
5.1.3 JDK 1.4.1
Java telah dipilih sebagai bahasa pengaturcaraan utama projek ini. Ini adalah
disebabkan ciri-ciri keistimewaannya iaitu ia berorientasikan objek dan bebas platform.
JDK 1.4.1 telah digunakan sebagai pengkompil utama bagi pembangunan sistem untuk
komputer pelayan dan pelanggan. Untuk membolehkan fail Java dikompil, classpath
perlu diset di persekitaran pembolehubah seperti :
set classpath = C:\j2sdk1.4.1_03\lib\tools.jar; untuk JDK 1.4.1
63
5.1.4 Pangkalan Data
Microsoft Access 2000 telah dipilih sebagai perisian untuk membina pangkalan
data untuk sistem yang dibangunkan. Perisian ini adalah ramah pengguna dan mudah
digunakan. Perisian ini adalah bersesuaian dengan keperluan sistem yang dibangunkan
kerana sistem yang dibangunkan tidak memerlukan pangkalan data yang kompleks dan
besar.
5.1.5 Pelayan WebLogic
WebLogic merupakan antara pelayan web yang terkenal. Pelayan web ini
berupaya mengkompil halaman web JSP dan memaparkannya. Selain itu, webLogic
juga mempunyai komponen yang menyokong WebServices iaitu ia diimplementasikan
dengan komponen J2EE (seperti Enterprise Java Beans and JMS) dan kelas Java.
Tambahan pula, ia juga menyediakan satu kaedah kepiawaian bagi penghantaran data
dan pemanggilan pemohonan WebServices (WebServices invocation call) di antara
pelayan WebServices dengan pengguna WebServices. Ia menggunakan Simple Object
Access Protocol (SOAP) 1.1 dan 1.2 sebagai format mesej dan menggunakan HTTP
sebagai protocol perhubungan. Selain daripada itu, WebLogic Web services
mengimplementasikan Java API bagi XML-based RPC (JAX-RPC) supaya applikasi
pelanggan dapat digunakan untuk memohon WebLogic dan non-WebLogic WebServices.
Dengan adanya kelebihan yang dinyatakan di atas, maka WebLogic dipilih sebagai salah
satu persekitaran pembanggunan untuk membangunkan sistem.
64
5.2 Implementasi
Bahagian ini menerangkan dengan mendalam tentang implementasi Pelanggan e-
mel berasaskan web services-Java serta penapisan spam.
5.2.1 Penghantaran E-mel
Penghantaran e-mel dilaksanakan oleh fungsi sendMail() yang disediakan di
dalam kelas Mail. Sebelum mesej dapat dihantar, objek properties perlu dinyatakan
dimana ia menunjukkan pelayan SMTP yang menghantar mel dan kemudian sesi akan
diciptakan. Rajah 5.1 menunjukkan keratan aturcara untuk menghantar e-mel.
...
Properties props = System.getProperties();
props.put("mail.smtp.from","[email protected]");
props.put("mail.smtp.host", smtpHost);
...
Session smtpSession = Session.getDefaultInstance( props,null);
smtpSession.setDebug(false);
....
Message msg = new MimeMessage(smtpSession);
msg.setSubject(subject);
msg.setFrom(new InternetAddress(from));
msg.setText(message);
65
msg.saveChanges();
t.sendMessage(msg,msg.getAllRecipients());
...
Rajah 5.1 : Keratan aturcara untuk menghantar e-mel
5.2.1.1 Pengesahan SMTP
Bagi sesetengah pelayan SMTP, ia memerlukan pengesahan terlebih dahulu
sebelum ia membenarkan kita menghantar e-mel melalui pelayan SMTP tersebut. Oleh
itu, fungsi pengesahan akan dihasilkan. Rajah 5.2 menunjukkan keratan aturcara untuk
membuat pengesahan.
...
Properties props = System.getProperties();
props.put("mail.smtp.from","[email protected]");
props.put("mail.smtp.auth", "true");
Authenticator auth = new SMTPAuthenticator();
Session smtpSession = Session.getDefaultInstance( props,null);
smtpSession.setDebug(false);
...
private class SMTPAuthenticator extends javax.mail.Authenticator{
public PasswordAuthentication getPasswordAuthentication() {
return new PasswordAuthentication(smtpUser, smtpPassword); }}
Rajah 5.2 : Keratan aturcara untuk membuat pengesahan
66
5.2.2 Muat Turun E-mel
Proses memuat turun e-mel bermula dengan memanggil fungsi openInbox() di
dalam kelas Mail(). Fungsi ini akan mengwujudkan satu hubungan dengan pelayan
IMAP. Jika sambungan berjaya dilaksanakan, fungsi ini akan memulangkan bilangan e-
mel yang terdapat di peti surat elektronik pengguna. Rajah 5.3 menunjukkan keratan
aturcara untuk memuat turn e-mel.
...
url = new URLName("imap", hostName, -1, "INBOX", userName, password);
mud = new MailUserData(url);
Properties props = System.getProperties();
props.put("mail.smtp.host", hostName);
session = Session.getDefaultInstance(props, null);
session.setDebug(false);
store = session.getStore(url);
store.connect();
Folder folder = store.getDefaultFolder();
folder = folder.getFolder("INBOX");
folder.open(Folder.READ_WRITE);
Message[] msgs = folder.getMessages();
...
Rajah 5.3 : Keratan aturcara untuk memuat turun e-mel
67
5.2.3 Penapisan Mel Spam
Fungsi penapisan spam ini akan dipanggil semasa proses memuat turun e-mel
dari pelayan IMAP. Fungsi penapisan spam ini akan memanggil kelas Bayesian() yang
telah mengimplemtasikan kaedah Bayesian. Dalam kelas tersebut, ia mempunyai satu
fungsi checkSpamMessage() untuk membuat perbandingan antara e-mel tersebut dengan
nama alamat sah dan nama alamat spam di pangkalan data. Selain daripada nama
alamat, ia juga akan membuat perbandingan antara mesej e-mel dengan kata-kata spam
di fail blackList tertentu. Selepas perbandingan dijalankan jumlah markah akan
dipulangkan, markah yang melebihi 0.7 akan dianggap sebagai e-mel spam. Kemudian
e-mel spam tersebut akan disetkan Flag Deleted dan akhirnya e-mel tersebut akan
dihapuskan. Rajah 5.4 menunjukkan keratan aturcara untuk mendapatkan kandungan
badan mesej dan kemudian menukarkan format mesej kepada format String. Rajah 5.5
menunjukkan keratan aturcara untuk penapisan spam.
String from = ((InternetAddress)msg.getFrom()[0]).getPersonal();
from = ((InternetAddress)msg.getFrom()[0]).getAddress();
...
strMessage += "FROM: " + from;
String subject = msg.getSubject();
strMessage += "SUBJECT: "+subject;
...
Part messagePart = msg;
Object content = messagePart.getContent();
if (content instanceof Multipart){
messagePart=((Multipart)content).getBodyPart(0);
strMessage += "[ Multipart Message ]";
}
68
String contentType=messagePart.getContentType();
strMessage += "CONTENT:"+contentType;
if (contentType.startsWith("text/plain") || contentType.startsWith("text/html"))
{
InputStream is = messagePart.getInputStream();
BufferedReader reader=new BufferedReader(new InputStreamReader(is));
String thisLine=reader.readLine();
while (thisLine!=null){
strMessage +=thisLine;
thisLine=reader.readLine();
}}
...
Rajah 5.4 : Keratan aturcara untuk menukar format mesej
...
BayesianClassifier classifier = new BayesianClassifier();
File file = new File("blackList.txt");
FileInputStream fis = new FileInputStream(file);
...
//Membanding dengan kata-kata spam dalam fail
classifier.teachMatch(ICategorisedClassifier.DEFAULT_CATEGORY, str);
...
Membanding dengan nama alamat bukan spam
classifier.teachNonMatch(ICategorisedClassifier.DEFAULT_CATEGORY,str);
...
// Membanding dengan nama alamat spam
classifier.teachMatch(ICategorisedClassifier.DEFAULT_CATEGORY,str);
69
...
//Dapatkan markah
dScore=classifier.classify(ICategorisedClassifier.DEFAULT_CATEGORY,str);
...
Rajah 5.5 : Keratan aturcara untuk membuat penapisan spam
Rajah 5.6 menunjukkan keratan aturcara untuk menghapuskan mesej. Mesej
yang hendak dihapuskan perlu setkan bendera mesej kepada Flag Deleted terlebih
dahulu, apabila objek folder.close(true) dipanggil mesej tersebut akan dihapuskan secara
automatik.
//Hapuskan mesej
msgs[nMsg].setFlag(Flags.Flag.DELETED, true );
....
folder.close(true);
Rajah 5.6 : Keratan aturcara untuk menghapuskan mesej
70
5.2.4 Proses Menambah Fail Lampiran
E-mel yang hendak dihantar juga boleh dihantar dengan menambah fail
lampiran. Untuk menambah fail lampiran dengan e-mel, MIMEBODYPART perlu
disetkan. Rajah 5.7 menunjukkan keratan aturcara untuk menambah fail lampiran.
...
BodyPart messageBodyPart = new MimeBodyPart();
BodyPart bp1 = new MimeBodyPart();
BodyPart bp2 = new MimeBodyPart();
bp1.setText(text);
File htmlFile = new File(fileName);
DataSource ds = new FileDataSource(htmlFile);
DataHandler dh = new DataHandler(ds);
bp2.setDataHandler(dh);
...
Multipart mp = new MimeMultipart();
mp.addBodyPart(bp1);
mp.addBodyPart(bp2);
Rajah 5.7 : Keratan aturcara untuk menambah fail lampiran
71
5.2.5 Memuat Turun Fail Lampiran
Untuk memuat turun fail lampiran, bodyPart perlu didapatkan terlebih dahulu.
Kemudian fail tersebut akan dimuat turun kepada pengguna. Rajah 5.8 menunjukkan
keratan aturcara untuk memuat turn fail lampiran.
...
part = mp.getBodyPart(num);
...
File folder = new File("c:" + File.separator + "DownloadFile");
folder.mkdir();
File file = new File(getFilename());
DataInputStream dis = new DataInputStream(
new BufferedInputStream(part.getInputStream()));
DataOutputStream dos = new DataOutputStream(
new BufferedOutputStream(new FileOutputStream(file)));
...
Rajah 5.8 : Keratan aturcara untuk memuat turun fail lampiran
72
5.2.6 Proses Memanggil Servis
Proses memanggil servis ialah proses di mana pelanggan web services
memanggil servis yang telah disediakan oleh pelayan. Rajah 5.9 merupakan keratan
aturcara untuk memanggil servis.
...
System.setProperty("javax.xml.soap.MessageFactory",
"weblogic.webservice.core.soap.MessageFactoryImpl");
System.setProperty("javax.xml.rpc.ServiceFactory",
"weblogic.webservice.core.rpc.ServiceFactoryImpl");
try
{
ServiceFactory factory = ServiceFactory.newInstance();
String targetNamespace =
"http://www.mymail.com/webservices/javamail";
QName serviceName = new QName(targetNamespace, "MailWS");
URL wsdlLocation = new
URL("http://localhost:7001/WebServices/MailWS?WSDL");
Service service = factory.createService(wsdlLocation, serviceName);
QName portName = new QName(targetNamespace, "MailWSPort");
QName operationName = new QName(targetNamespace,
"getUserDetail");
Call call = service.createCall(portName, operationName);
String result = (String) call.invoke(new Object[] {id, pas});
return result;
73
}catch (ServiceException e){ e.printStackTrace();return null;}
...
Rajah 5.9 : Keratan aturcara untuk memanggil servis
5.2.7 Proses Mendapatkan Data dari Pangkalan Data
Keratan aturcara untuk mendapatkan data dari pangkalan data adalah lebih
kurang sama. Oleh itu, hanya satu keratan aturcara sahaja yang akan ditunjukkan di
rajah 5.10 bahawa bagaimana berhubung dengan pangkalan data dan bagaimana
mendapatkan data dari jadaul tertentu. Rajah 5.10 merupakan keratan aturcara untuk
membuat perhubungan dengan pangkalan data. Rajah 5.11 merupakan keratan aturcara
untuk mendapatkan data alamat dari jadual buku alamat.
...
//initialized connectionPool class
String driver = "sun.jdbc.odbc.JdbcOdbcDriver";
String url = "jdbc:odbc:Project";
String userName = "";
String password = "";
ConnectionPool addressBookConnectionPool;
addressBookConnectionPool = new ConnectionPool(driver,url,userName,
password,10, 50, true); //wait if busy
Rajah 5.10 : Keratan aturcara untuk menghubung dengan pangkalan data.
74
...
con = addressBookConnectionPool.getConnection();
...
Vector v = jdbcUtility.jdbcMultipleColumnQuery("SELECT Address, Name,
Phone FROM addressBook " +
"WHERE IC = '" + ic + "'", con);
...
if (v.size() > 0)
{
for(int i=0; i<v.size();i++)
{
Vector vCol = (Vector)v.elementAt(i);
queryAddress = (String)vCol.elementAt(0);
queryName = (String)vCol.elementAt(1);
queryPhone = (String)vCol.elementAt(2);
}
}
...
Rajah 5.11 : Keratan aturcara untuk mendapatkan alamat dari jadual buku alamat
5.3 Data dan Hasil Input/Output
Pengujian merupakan proses yang mesti dilakukan untuk setiap pembangunan
sistem. Pengujian dilakukan bertujuan untuk mengenalpasti ralat yang ada pada sistem.
Dengan kata lain, ia bertujuan untuk mengenalpasti sistem bebas daripada ralat dan
memenuhi keperluan pengguna. Terdapat dua kaedah pengujian iaitu pengujian kekotak
75
hitam dan pengujian kekotak putih. Pengujian kekotak hitam fokus kepada pengujian
pada antaramuka atau luaran. Pengujian kekotak putih fokus kepada logik kod aturcara.
Pengujian kekotak hitam telah dipilih sebagai kaedah pengujian untuk projek ini.
Pengujian ini telah dijalankan untuk semua antaramuka tetapi dalam dokumen ini hanya
beberapa antaramuka yang penting difokuskan seperti antaramuka Sign In dan
antaramuka penghantaran e-mel.
Data yang digunakan untuk pengujian antaramuka Sign In adalah Id pengguna,
iaitu s001 dan kata laluan pengguna. Output pengujian ialah nama pengguna. Rajah
5.12 menunjukkan contoh input dan rajah 5.13 merupakan output iaitu nama pengguna.
Rajah 5.12 : Input pengujian 1
76
Nama pengguna
Rajah 5.13 : Output pengujian 1
Data yang digunakan untuk pengujian antaramuka penghantaran e-mel adalah
Nama host IMAP, nama akaun pengguna dan kata laluan. Rajah 5.14 menunjukkan
contoh input dan rajah 5.15 merupakan output kegagalan membuka kotak mel di mana
salah satu input adalah salah.
Rajah 5.14 : Input pengujian 2
77
Rajah 5.15 : Output gagal bagi pengujian 2
5.4 Rumusan/Analisis
Rumusan yang dapat dibuat pada bahagian implementasi ialah semua fungsi
utama telah dikodkan dan berjalan dengan lancar serta memenuhi objektif projek.
Implementasi yang telah dijalankan adalah berdasarkan rekabentuk yang telah
dinyatakan dalam Bab 4. Kesemua rekabentuk telah diterjemah kepada aturcara,
tetapi hanya sebahagian keratan kod yang penting sahaja yang didokumenkan ke dalam
bahagian implementasi.
BAB 6
KESIMPULAN
6.1 Pengenalan
Kesimpulan tentang sistem yang telah dibangunkan akan dibuat dalam bab ini.
Kebaikan dan kelemahan sistem juga dibincangkan. Cadangan masa depan
dikemukakan agar fungsi-fungsi sistem dapat diperbaiki serta ditambahkan pada masa
depan.
6.2 Hasil Pencapaian
Setelah menyiapkan projek ini, banyak perkara baru telah dipelajari dan difahami
akan penggunaannya. Di antaranya adalah seperti berikut : -
i. Mengetahui bahawa terdapat 2 jenis senibina mel yang berbeza di pasaran
iaitu laman mel dan aplikasi mel.
79
ii. Memahami konsep perlaksanaan teknologi WebServices.
iii. Memahami konsep perlaksanaan pelayan pelanggan.
iv. Mengetahui cara mengkodkan pelayan berasaskan WebServices serta cara
mengkodkan pelanggan e-mel untuk memanggil servis yang ada di pelayan.
v. Mengetahui cara mengawal kerja mencetak.
vi. Mengetahui dengan mendalam mengenai teknik membina halaman web
dengan menggunakan JSP, Javascript dan CSS.
6.3 Kebaikan Sistem
Kebaikan sistem yang telah dikenalpastikan adalah seperti berikut : -
i. Sistem yang dihasilkan adalah berasakan Web Services di mana servis yang
disediakan adalah mudah diguna oleh pelanggan lain.
ii. Ia bukan sahaja boleh menyemak POP mel, ia juga boleh menyemak IMAP
mel.
iii. Penggunaan penapisan e-mel spam yang lebih cekap dengan
mengimplementasi teori Bayesian Filtering di dalam proses penapisan spam
iv. Penghantaran e-mel dapat dilakukan melalui pelayan SMTP yang
memerlukan pengesahan terlebih dahulu.
v. Sistem yang dihasilkan mempunyai antaramuka yang sedikit tetapi sempurna
dan mudah diuruskan
vi. Sistem ini menyediakan antaramuka bergrafik yang ramah pengguna.
80
6.4 Kelemahan Sistem
Kelemahan sistem yang dikenalpastikan ialah : -
i. Sistem mengimplementasikan sistem keselamatan yang minimum dengan
merujuk akaun pengguna dan katalaluan sebagai kawalan capaian.
ii. Sistem yang dibangunkan tidak dapat menghantar fail lampiran lebih
daripada satu.
iii. Pelayan hanya melayan satu pelanggan pada satu masa sahaja.
iv. Tiada pengesanan virus bagi fail lampiran
6.4 Cadangan Pembaikan
Berikut adalah cadangan-cadangan bagi memperbaiki sistem yang telah
dihasilkan.
i. Mengimplementasikan sistem keselamatan yang lebih kompleks untuk sistem
seperti mengadakan kelas-kelas yang mengunakan teknik penyulitan
(encryption) untuk menyulit mesej-mesej e-mel.
ii. Mengadakan fungsi yang dapat menghantar fail lampiran lebih daripada satu.
iii. Mengadakan kelas yang dapat menciptakan Thread baru supaya dapat
melayan lebih daripada satu pelanggan pada satu masa.
iv. Mengadakan fungsi pengesanan virus bagi fail lampiran.
81
6.5 Kesimpulan
Tujuan pembangunan sistem ini adalah untuk meneroka teknologi Web Services
serta mengimplementasikan kaedah penapisan e-mel spam.
Secara keseluruhannya, hasil projek ini telah memenuhi objektif-objektif dan
skop-skop yang telah ditetapkan. Di mana projek ini telah menyediakan satu sistem e-
mel yang berasaskan web services supaya pelanggan e-mel yang mempunyai format
yang berbeza dapat dikendalikan dengan mudah oleh satu pelayan.
Di samping itu, projek ini juga telah menyediakan satu fungsi penapisan e-mel
spam yang lebih berkualiti. Iaitu dapat menangkap spam e-mel dengan kesalahan positif
yang minima.
Walaubagaimanapun, dengan melalui tenaga, pengetahuan dan masa yang terhad,
sistem yang dihasilkan mempunyai prestasi yang rendah dan tidak bebas ralat
sepenuhnya. Oleh itu, projek ini masih mempunyai kelemahan-kelemahan yang perlu
diperbaiki.
RUJUKAN
1. Paul Graham. ``A Plan for Spam.'' August 2002.
http://www.paulgraham.com
2. Core J2ME Technology and MIDP
http://www.corej2me.com
3. “IMAP vs. POP” Oregon State University College of Engineering revised: April
8, 2001. Accessed March 6,
http://www,engr.orst.edu/computing/email/imapvpop.html
4. Bilal Siddiqui, “Web Services Security for Java”, October 28, 2003
http://webservices.xml.com
5. “Java Web Services Tutorial”
http://java.sun.com/webservices/webservicestutorial.html
6. Patrick Pantel and Dekang Lin, “SpamCop-- A Spam Classification &
Organization Program.'' Proceedings of AAAI-98 Workshop on Learning for Text
Categorization.
http://www.isi.edu/~pantel/Download/Papers/aaai98.pdf
7. Ali Bahrami (1990). “Object Oriented Systems Development using the unified
modeling language” McGraw-Hill International Editions.
8. Mohd Hanif bin Ibrahim, “Pelanggan POP3 dengan Sistem Penapisan Spam
Berasaskan Teknologi Servis Web”, 2002/2003
ID Task Name Start Finish
1 Projek 1 Mon 12/1/03 Fri 2/20/042 Fasa Perancangan Mon 12/1/03 Wed 12/17/033 Mencari penyelia dan tajuk projek Mon 12/1/03 Mon 12/8/03
4 Menentukan objektif, skop dan masalah Tue 12/9/03 Wed 12/17/03
5
6 Fasa Analisa Keperluan Fri 12/19/03 Wed 12/31/037 Pencarian Maklumat dan Rujukan Fri 12/19/03 Thu 12/25/03
8 Pengajian Sistem Yang Ada Fri 12/26/03 Sun 12/28/03
9 Pengajian Keperluan Sistem Fri 12/26/03 Mon 12/29/03
10 Pengajian Modul-modul Sistem Sun 12/28/03 Wed 12/31/03
11
12 Fasa Rekabentuk Fri 1/2/04 Tue 1/20/0413 Menentukan Metodologi Fri 1/2/04 Mon 1/5/04
14 Menentukan Keperluan Sistem Tue 1/6/04 Thu 1/8/04
15 Menentukan Rekabentuk Sat 1/10/04 Thu 1/15/04
16 Rekabentuk Fri 1/16/04 Tue 1/20/0417
18 Laporan Thu 1/29/04 Fri 2/20/0419 Hantar Draf Laporan Thu 1/29/04 Thu 1/29/04
20 Penilaian Draf Laporan Oleh Penyelia Fri 1/30/04 Fri 2/6/04
21 Persembahan projek 1 Mon 2/16/04 Fri 2/20/04
11/16 11/23 11/30 12/7 12/14 12/21 12/28 1/4 1/11 1/18 1/25 2/1 2/8 2/15 2/22mber December January February
Task
Split
Progress
Milestone
Summary
Project Summary
External Tasks
External Milestone
Deadline
Page 1
Project: Project1Date: Mon 3/28/05
ID Task Name Duration Start
1 Fasa Rekabentuk Sistem 19 days Mon 11/22/042 Merekabentuk hirarki sistem 10 days Mon 11/22/04
3 Merekabentuk semula hirarki sistem 9 days Fri 12/3/04
4 Fasa Pembangunan Sistem 49 days Sun 12/12/045 Pembangunan pelayan web logic 7 days Sun 12/12/04
6 Pembangunan JavaMail - muat turun mesej 7 days Sun 12/19/04
7 Pembangunan JavaMail - hantar mesej 7 days Sun 12/26/04
8 Pembangunan penapisan SPAM mel, hantar bab2 14 days Sun 1/2/05
9 Pembangunan fungsi-fungsi pekakasan telefon, ha 7 days Sun 1/16/05
10 Hantar bab 5 7 days Sun 1/23/05
11 Fasa Perlaksanaan Dan Penilaian 7 days Sun 1/30/0512 Pegujian dan pembetulan sistem 7 days Sun 1/30/05
13 Penyediaan Laporan 2 days Sun 2/6/0514 Pengemas Laporan 1 day Sun 2/6/05
15 Hantar Draf 1 day Mon 2/7/05
16 Pembentangan Projek 31 days Sat 2/26/0517 Persediaan pembentangan 2 days Sat 2/26/05
18 Pembentangan 1 day Mon 2/28/05
19 Pembetulan draf laporan projek 10 days Thu 3/3/05
20 Penyerahan draf laporan selepas pembetulan 1 day Mon 3/14/05
21 Penyerahan laporan berjilid kepada fakulti 1 day Wed 3/30/05
11/7 11/21 12/5 12/19 1/2 1/16 1/30 2/13 2/27 3/13 3/27 4/10vember December January February March April
Task
Progress
Milestone
Summary
Rolled Up Task
Rolled Up Milestone
Rolled Up Progress
Split
External Tasks
Project Summary
Group By Summary
Page 83
Project: psm2Date: Mon 3/28/05
84
borangPendaftaran
menu pangkalanData(dbUser) : Pelanggan
2. masuk maklumat pengguna serta nama akaun dan katalaluan
3. Membuat pengesahan supaya tiada rekod yang sama wujud
4. paparkan mesej berjaya atau gagal
1. Pilih "Register" daripada Menu
Lampiran B.1 Rajah Jujukan Bagi Pendaftaran
85
menu pangkalanData(dbUser) : Pelanggan
2. mencari rekod
3. tidak sah, log masuk semula
1. masukkan nama akaun dan katalaluan
Lampiran B.2 Rajah Jujukan Bagi LogIn
86
menu petiMelElektronik
: Pelayan Berasaskan WebServices
: Pelanggan
1. masukkan nama host, nama akaun mel elektronik dan katalaluan
2. memanggil servis dari pelayan untuk login ke dalam petiMelElektornik
3. hantar nama akaun dan katalaluan kepada peti mel
4. tidak sah, log masuk semula
5. hantar mesej tidak sah, dan minta log masuk semula
Lampiran B.3 Rajah Jujukan Bagi LogInPetiMelElektronik
87
port 110 (POP)atau port 143 (IMAP)
halamanMelkotakMel
: Peti Surat Elektronik
: Pelayan Berasaskan
: Pelanggan
1. Selepas log masuk sah, muat turun mesej
2. hantar mesej
3. paparkan kepala mesej
4. pilih mesej yang hendak dilihat
5. dapatkan mesej yang dipilih
6. paparkan mesej yang dipilih
Lampiran B.4 Rajah Jujukan Bagi Muat Turun E-mel
88
kotakMel halamanHantarMel
: Pelayan Berasaskan : Peti Surat
Elektronik
port 25 (pelayan SMTP)
: Pelanggan
2. pilih dan masuk ke halaman hantar e-mel
1. log masuk sah, papar
3. mesej atau fail lampiran dihantar
4. membuat pengesahan terhadap pelayan SMTP tertentusupaya dapat gunakan port 25 untuk menghantar e-mel
5. hantar e-mel
Lampiran B.5 Rajah Jujukan Bagi Hantar E-mel
89
kotakMel bukuAlamat pangkalanData(dbAddressBook) : Pelanggan
2. pilih dan masuk ke buku alamat
3. lakukan aktiviti pengemaskinian
4. simpan
1. log masuk sah, papar
Lampiran B.6 Rajah Jujukan Bagi Kemaskini Buku Alamat
90
kotakMel bukuAlamatE-melSpam
pangkalanData(dbSpam) : Pelanggan
2. pilih dan masuk ke buku alamat
3. lakukan aktiviti pengemaskinian
4. simpan
1. log masuk sah, papar
Lampiran B.7 Rajah Jujukan Bagi Kemaskini Buku Alamat E-mel Spam
91
penapis pangkalanData(dbAddressBook) : Peti Surat
Elektronik
1. mesej dimuat turunkan
2. alamat e-mel yang bukan spam dihantar supaya tiada ralat bahawa e-mel yang sah juga ditapis
4. membuat penapisan
pangkalanData(dbSpam)
3. alamat e-mel spam dihantar supaya menapis e-mel spam
Lampiran B.8 Rajah Jujukan Bagi Penapisan Spam
92
kotakMel fail(spamScore) : Pengurus
markahSpam
1. Pengesahan sah, papar
2. pilih dan masuk, papar
3. lakukan aktiviti pengemaskinian
4. simpan
Lampiran B.9 Rajah Jujukan Bagi Kemaskini Markah Spam
93
kotakMel pangkalanData(dbBlackList) : Pengurus
1. Pengesahan sah, papar
failHitam
2. pilih dan masuk, papar
3. lakukan aktiviti pengemaskinian
4. simpan
Lampiran B.10 Rajah Jujukan Bagi Kemaskini Fail Hitam
94
i. Microsoft Windows XP Professional
Sistem yang dibangunkan akan dilarikan dalam persekitaran window XP
professional. Maka pemasangan sistem pengoperasian ini merupakan langkah yang
pertama untuk menbangunkan sistem.
ii. JDK 1.4.1
Java diperlukan untuk mengkompil fail java yang telah dibangunkan. JDK boleh
dimuat turun daripada halaman web http://java.sun.com. Selepas perisian ini dipasang,
satu direktori akan dicipta di lokasi C:\j2sdk1.4.1_03. Sebelum menggunakan perisian
ini, beberapa konfigurasi perlu dilakukan.
Mula-mula, pengguna perlu klik pada tetingkap Environment Variable, untuk
menambahkan PATH pada User Variable dengan C:\j2sdk1.4.1_03\bin. Ini akan
menyebabkan sistem yang dibangunkan mengetahui fail yang diperlukan untuk dikompil
terletak pada lokasi yang telah ditambah tersebut.
95
iii. Eclipse 3.0.1
Perisian ini merupakan satu penyunting untuk menuliskan bahasa pengaturcaraan
Java pada bahagian server. Perisian ini boleh dimuat turun secara percuma dari halaman
web http://www.eclipse.org. Fail yang dimuat turun merupakan satu zip fail. Untuk
memulakan persisan tersebut, ekstarkkkan fail tersebut dan kemudian klip pada .exe fail
yang terletak di dalam direktori eclipse.
iv. BEA Weblogic Platform 8.1
Peisian ini boleh didapati secara percuma dari halaman web
http://commerce.bea.com/ Selepas fail dimuat turun, klip pada exe fail yang ada dan
proses permasangan perisian akan dijalankan. Selepas berjaya memasang perisian BEA
Weblogic, konfigurasi terhadap perisian ini perlu dilakukan. Berikut merupakan langkah
untuk melakukan konfigurasi perisian ini:
i. Pergi ke Start -> All Programs -> BEA Weblogic Platform 8.1 ->
Configuration Wizard dan memilih create a new Weblogic Configuration.
Selepas itu, mengikut langkah yang diberikan untuk mencipta satu
persekitaran supaya menghasilkan satu pelayan berasaskan web services.
Nama bagi persekitaran baru ini, dinamakan sebagai mymail.
96
ii. Klip pada exe fail yang terletak pada
C:\bea\user_projects\domains\mymail\startWebLogic.exe untuk memulakan
server BEA Weblogic ini.
iii. Buka satu browse dan menaipkan http://localhost:7001/console untuk
memasukkan bahagian pengurusan BEA Weblogic.
iv. Masukkan semula username dan password yang telah dicipta semasa
pemasanga domain yang baru.
97
UNIVERSITI TEKNOLOGI MALAYSIA PELANGGAN E-MEL BERASASKAN WEB SERVICES-JAVA SERTA PENAPISAN SPAM
Manual Pengguna
98
1.0 Manual Pengguna
Lampiran C telah menerangkan cara pemasangan perisian sebelum menggunakan
pelanggan e-mel. Akhirnya lampiran D ini menerangkan langkah-langkah untuk
menggunakan pelanggan e-mel
1.0.1 Pendaftaran Akaun Baru
Rajah seterusnya merupakan antaramuka pendaftaran, iaitu pengguna perlu
mendaftarkan diri sebelum menggunakan pelanggan e-mel yang dihasilkan
i. Mencapai halaman web sistem.
ii. Daripada menu utama, pilih “Register”.
iii. Memasukkan data-data yang diperlukan seperti rajah C.1
99
Rajah C.1 Antaramuka Pendaftaran
1.0.2 Log Masuk
Selepas daftar, pengguna boleh memasukkan id pengguna dan kata laluan untuk
menggunakan pelanggan e-mel. Rajah C.2 merupakan antarmuka Log masuk
Rajah C.2 Antaramuka Log Masuk
100
1.0.3 Log Masuk Ke Dalam Akaun IMAP Mel
Rajah C.3 berikutnya merupakan antaramuka log masuk ke dalam akaun IMAP
mel pengguna dimana pengguna perlu memasukkan nama host IMAP, nama akaun
pengguna dan kata laluan.
Rajah C.3 Antaramuk LogIn ke dalam Akaun IMAP
101
1.0.4 Log Masuk Ke Dalam Akaun IMAP Mel
Rajah C.4 seterusnya merupakan buku alamat bagi pengguna tersebut, di mana
pengguna boleh memasukkan alamat yang baru, mengemaskini buku alamat dan
menghapuskan alamat.
i. Memasukkan data ke dalam kotak kosong yang ada untuk tujuan menambah
rekod alamat
ii. Menekan butang insert untuk menghantar data ke dalam pangkalan data.
iii. Pilih edit untuk tujuan kemaskini dan delete untuk menghapuskan rekod.
iv. Selepas pilih edit kotak kosong akan mempunyai data yang boleh
dikemaskinikan.
102
Rajah C.4 Antaramuk Buku Alamat
v. Menekan butang update untuk mengemakinikan data di dalam pangkalan
data. Rajah C.5 merupakan antaramuka semasa membuat kemaskini.
Rajah C.5 Antaramuka Mengemaskini Buku Alamat
1.0.5 Inbox
Selepas berjaya masuk ke dalam akaun IMAP pengguna, antaramuka seperti
rajah C.6 akan dipaparkan. Pengguna boleh menekan compose untuk menghantar e-mel
kepada orang lain. Pengguna juga dapat melihat kandungan mesej yang ada dengan
menekan perkataan yang berada dalam lajur subject. Kandungan mesej dipaparkan
seperti rajah C.7
104
Pengguna boleh memuat turun fail lampiran dengan menekan Download
Attachment. Apabila berjaya memuat turun, antaramuka seperti di rajah C.8 akan
dipaparkan.
Rajah C.8 Antaramuka Berjaya Memuat Turun Fail Lampiran
1.0.6 Antaramuka Pengurus
Pengurus boleh menekan butang untuk mengubah markah spam,
mengemaskinikan fail hitam dan melihat e-mel rekod. Rajah C.9 menunjukkan
antaramuka pengurus.
105
Rajah C.9 Antaramuka Pengurus
1.0.7 Antaramuka Kemaskini Fail Hitam
Pengurus boleh menambah dan menghapuskan perkataan. Apabila perkataan
tersebut dikesan oleh penapis spam, e-mel tersebut dikenalikan sebagai e-mel spam.
Rajah C.10 menunjukkan antaramuka kemaskini fail hitam.
Rajah C.10 Antaramuka Kemaskini Fail Hitam
106
1.0.8 Antaramuka Kemaskini Markah Spam
Pengurus boleh mengubah markah spam, supaya apabila markah pengesan spam
lebih daripada markah spam, e-mel tesebut akan dikenali sebagai e-mel spam. Rajah
C.11 menunjukkan antaramuka kemaskini markah spam
Rajah C.11 Antaramuka Kemaskini Markah Spam
1.0.9 Peranti Mudah Alih
1. Rajah seterusnya menunjukkan fungsi yang terdapat di dalam sistem e-mel
bagi peranti mudah alih yang boleh dicapai melalui pengguna.
2. Setelah login ke dalam sistem, pengguna boleh memilih samada untuk
membaca e-mel yang ada atau menulis e-mel. Rajah C.12 menunjukkan
antaramuka menu pilihan.
3. Jika pengguna memilih untuk membaca e-mel, rajah C.13 menunjukkan
senarai tajuk e-mel yang dipaparkan.
4. Jika pengguna memilih untuk menulis e-mel, rajah C.14 menunjukkkan
antaramuka untuk menulis mesej. Setelah menghantar e-mel, pengguna akan
dikembalikan kepada menu.