PELANGGAN E-MEL BERASASKAN WEB SERVICES-JAVA...

135
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

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

ii

Penilai 1 En. Saiful

Penilai 2 PM Dr Shamsul

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

xviii

5.14 Input pengujian 2 73

5.15 Output gagal bagi pengujian 2 74

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

LAMPIRAN A

CARTA GANTT

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

LAMPIRAN B

SENARAI RAJAH JUJUKAN

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

LAMPIRAN C

PEMASANGAN PERISIAN

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.

LAMPIRAN D

MANUAL PENGGUNA

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

103

Rajah C.6 Antaramuka Folder Inbox

Rajah C.7 Antaramuka Kandungan mesej

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.

107

Rajah C.12 Antaramuka Menu

Rajah C.13 Antaramuka Senarai Tajuk E-mel

108

Rajah C.14 Antaramuka Menulis E-mel