sistem pencarian istilah dengan kaedah …ir.fsksm.utm.my/126/1/chuacheesengac010095d05ttp.pdf10...
Post on 02-Mar-2019
232 Views
Preview:
TRANSCRIPT
SISTEM PENCARIAN ISTILAH DENGAN KAEDAH PENGIMBANGAN
MUATAN
CHUA CHEE SENG
Laporan ini dikemukakan sebagai memenuhi sebahagian daripada syarat
penganugerahan ijazah Sarjana Muda Sains Komputer
Fakulti Sains Komputer Dan Sistem Maklumat
Universiti Teknologi Malaysia
MARCH 2005
7
8
Untuk ibu, ayah , datuk, nenek dan adik yang tersayang.
9
PENGHARGAAN
Saya ingin merakamkan penghargaan ikhlas kepada penyelia projek II saya,
Dr. Kamalrulnizam Bin Abu Bakar dan penyelia projek I saya Puan Anazida Binti
Zainal atas bimbingan dan dorongan yang telah diberi sepanjang tempoh penulisan
tesis ini.
Penghargaan juga ditujukan kepada semua pensyarah Jabatan Sistem
Komputer dan Komunikasi, FSKSM, UTM atas bimbingan yang telah diberi.
Akhir sekali tidak lupa juga diucapkan terima kasih kepada ibu bapa dan
rakan-rakan saya atas sokongan dan bantuan yang diberikan oleh mereka semasa saya
menulis tesis ini.
10
ABSTRAK
Kamus merupakan buku yang paling penting dalam proses pembelajaran kita.
Dengan perkembangan teknologi maklumat dan komputer yang pesat, kamus pada
hari ini telah dipindahkan dalam bentuk elektronik. Aplikasi-aplikasi kamus
elektronik yang berbentuk standalone dan berasaskan web telah lama diperkenalkan
tetapi aplikasi sedemikian masih kurang popular. Ini disebabkan aplikasi-aplikasi
tersebut tidak bersifat mudah alih. Projek ini akan membangunkan satu sistem kamus
elektronik yang dapat membantu pengguna membuat pencarian istilah komputer
dengan menggunakan teknik pengimbangan muatan. Sistem yang dibangunkan akan
membolehkan pengguna telefon cellular melakukan pencarian istilah komputer
dengan menggunakan kemudahan SMS. Ini menjadikan aplikasi kamus elektronik ini
bersifat mudah alih dan secara tidak langsung akan menjadikan aplikasi ini popular.
Dalam pembangunan aplikasi ini, bahasa pengaturcaraan Java digunakan. Ini adalah
kerana Java boleh dilarikan dalam pelbagai platform dan menyokong pembangunan
aplikasi telefon cellular dengan J2ME (Java 2 Micro Edition). Projek ini akan
meletakkan aplikasi kamus sebaris dengan aplikasi mudah alih lain yang biasanya
terdapat dalam telefon mudah alih. Dengan kemudahan yang disediakan oleh projek
ini pengguna dapat mencari makna istilah baru dengan mudah dan cepat, dan diharap
kemudahan ini dapat dimanfaatkan oleh pengguna-pengguna terutamanya para pelajar
dalam proses pembelajaran mereka.
11
ABSTRACT
Dictionary is the most important book in our learning process. With the
emergence of computer technologies and information technologies, dictionary today
is now available in electronic form. Standalone electronic dictionary applications and
web-based dictionary have been introduced for a long time but both of them are not
popular. This is due to the lack of mobility. This project will develop an electronic
dictionary system to help user in word searching task with load balancing technique.
The outcome system will allow cellular phone users to search for computer words by
using SMS service. Java programming language is used to develop this project
because Java is platform independent and supports development of cellular phone’s
applications with J2ME (Java 2 Micro Edition). This project puts dictionary
application at par with other mobile applications that is normally found in mobile
phones. With the services provided by this application, user can search meaning for
new words easily and quickly, and hopefully these services can benefit the users of
this system especially students in their learning process.
12
KANDUNGAN
BAB PERKARA HALAMAN
JUDUL i
PENGAKUAN ii
DEDIKASI iii
PENGHARGAAN iv
ABSTRAK/ABSTRACT v
KANDUNGAN vii
SENARAI JADUAL xii
SENARAI RAJAH xiii
SENARAI SINGKATAN xv
SENARAI ISTILAH xvii
SENARAI LAMPIRAN xix
1 PENGENALAN PROJEK 1
1.1 Pendahuluan 1
1.2 Latar Belakang Masalah 2
1.3 Maklamat Projek 3
1.4 Objektif Projek 3
1.5 Skop Projek 4
1.6 Kepentingan Projek 5
2 KAJIAN LITERATUR 6
2.1 Pengenalan 6
13
2.2 Pengenalan Kepada Domain 7
2.2.1 Kajian Sistem Pencarian Istilah 7
Konvensional
2.2.2 Kajian Sistem Sedia Ada 8
2.2.2.1 COD 9
2.2.2.2 FOLDOC 10
2.2.3 Cadangan Penyelesaian 11
2.3 Kajian Terhadap Konsep Dan Teknologi 12
Yang Digunakan
2.3.1 Sistem Teragih 13
2.3.2 Pengimbangan Muatan 14
2.3.2.1 Algoritma Pengimbangan 15
Muatan
2.3.2.2 Perbandingan Algoritma 16
2.3.2.3 Pemilihan Algoritma 17
2.3.3 Sistem Komunikasi Mudah Alih 17
Cellular
2.3.3.1 Senibina Sistem Secara Umum 18
2.3.3.2 Sistem Penghantaran Dan 19
Penerimaan SMS
2.3.4 Java 21
2.3.4.1 Servlets 23
2.3.4.2 JSP 23
2.3.4.3 RMI 24
2.3.4.4 J2ME 25
2.3.4.5 JDBC 25
2.3.4.6 EJB 27
2.4 Teknologi Lain Yang Wujud Pada Masa Kini 27
2.4.1 Teknologi .NET 28
2.4.2 Teknologi WAP 28
14
2.5 Justifikasi Pemilihan Teknologi-Teknologi 29
Java
2.6 Rumusan 29
3 METODOLOGI PROJEK 31
3.1 Pendahuluan 31
3.2 Metodologi Prototaip Berulang 31
3.2.1 Prototaip Berulang Berorientasikan 34
Objek
3.2.2 UML 34
3.3 Justifikasi Pemilihan Prototaip Berulang 35
Berorientasikan Objek
3.4 Metodologi Pembangunan Sistem 35
3.4.1 Fasa Analisis 35
3.4.2 Fasa Rekabentuk 36
3.4.3 Fasa Penghasilan Prototaip 36
3.4.4 Fasa Pengujian 37
3.4.5 Fasa Pembaikan 37
3.5 Analisis Keperluan Sistem 37
3.6 Keperluan Perkakasan 38
3.6.1 Telefon Cellular 38
3.6.2 Nod Master 38
3.6.3 Nod Slave 39
3.7 Keperluan Perisian 39
3.7.1 Microsoft Windows XP Professional 40
Edition
3.7.2 Jboss Application Server 4.0.0 40
3.7.3 Java 2 Standard Edition SDK 1.4.2 40
3.7.4 Java Runtime Environment 1.4.2 41
3.7.5 J2ME Wireless Toolkit 2.1 41
3.7.6 Mysql 4.0.18 41
15
3.7.7 Eclipse Platform 3.0 41
3.7.8 Rational Rose 2000 42
3.7.9 Microsoft Project 2000 42
3.8 Spesifikasi Input 42
3.9 Spesifikasi Output 43
3.10 Andaian Dam Kekangan 44
4 REKABENTUK 45
4.1 Pendahuluan 45
4.2 Rekabentuk Rangkaian 45
4.3 Rekabentuk Aplikasi Cadangan 46
4.3.1 Kes Guna Dan Gambarajah Jujukan 46
4.3.2 Rekabentuk Senibina Aplikasi Cadangan 49
4.4 Rekabentuk Antaramuka Pengguna 54
4.5 Rekabentuk Pangkalan Data 57
4.6 Algoritma Pengimbangan Muatan Yang 58
Digunakan
5 IMPLEMENTASI DAN PENGUJIAN 59
5.1 Pendahuluan 59
5.2 Penyediaan Persekitaran Pembangunan 59
5.2.1 Penyediaan Perkakasan 60
5.2.2 Penyediaan Perisian 61
5.3 Implementasi 62
5.3.1 Implementasi Modul Data 62
5.3.2 Implementasi Modul Aplikasi 64
5.3.2.1 Implementasi Submodul Master 64
5.3.2.2 Implementasi Submodul Slave 73
5.3.2.3 Implementasi Submodul 76
Pentadbiran
5.3.3 Implementasi Modul Pelanggan 77
16
5.3.4 Panduan Pengguna 78
5.3.5 Panduan Pentadbir 79
5.4 Data dan Hasil Input/Output 79
5.4.1 Perancangan Pengujian 79
5.4.2 Pengujian Unit 80
5.4.3 Pengujian Integrasi 80
5.4.4 Pengujian Sistem 81
5.4.5 Pengujian Kotak Hitam 81
5.4.6 Pengujian Keberkesanan Algoritma 87
Pengimbangan Muatan
5.5 Analisis Hasil Pengujian Dan Rumusan 92
6 PERBINCANGAN DAN KESIMPULAN 93
6.1 Pendahuluan 93
6.2 Hasil dan Pencapaian 93
6.3 Kelebihan Aplikasi 94
6.4 Cadangan Peningkatan Aplikasi 95
6.5 Rumusan 96
RUJUKAN 97
LAMPIRAN A-J 99-190
17
SENARAI JADUAL
NO. JADUAL TAJUK HALAMAN
4.1 Aktor-aktor Sistem 47
4.2 Kes Guna Sistem 47
4.3 Peranan Submodul 51
4.4 Peranan Kelas Submodul Nod Master 52
4.5 Peranan Kelas Submodul Nod Slave 53
4.6 Peranan Kelas Submodul Pentadbiran 54
4.7 Peranan Halaman Antaramuka Pengguna (Cellular) 55
4.8 Peranan Halaman Antaramuka Pengguna (Web) 55
4.9 Peranan Halaman Antaramuka Pentadbir 56
5.1 Hasil Pengujian Dengan Data Dummy 81
5.2 Hasil Pengujian Dengan Data Sebenar 84
5.3 Purata Masa Tindak Balas 91
18
SENARAI RAJAH
NO. RAJAH TAJUK HALAMAN
2.1 Algoritma Round Robin 15
2.2 Algoritma Least Connection 16
2.3 Infrastruktur Sistem Cellular 19
2.4 Sistem Penghantaran Dan Penerimaan SMS 20
2.5 Senibina Java 22
2.6 Komunikasi objek-objek remote menggunakan RMI 24
2.7 Rekabentuk Pangkalan Data JDBC 26
3.1 Carta Alir Metodologi Prototaip Berulang 33
4.1 Rekabentuk Rangkaian Sistem Pencarian Istilah 46
4.2 Senibina Sistem Pencarian Istilah 49
4.3 Modul-modul Utama Aplikasi 50
4.4 Rekabentuk Pangkalan Data 58
5.1 Arahan SQL untuk membina modul data 63
5.2 Keratan kod kelas Algoritma 65
5.3 Keratan kod untuk mengimplementasikan 66
algoritma Round Robin
5.4 Keratan kod untuk mengimplementasikan 66
algoritma Least Connection
5.5 Keratan kod untuk mengimplementasikan 67
algoritma gabungan
5.6 Implementasi fungsi getNodSeterusnya() 68
19
5.7 Contoh fail konfigurasi.xml 69
5.8 Keratan kod untuk membaca maklumat 69
daripada fail konfigurasi.xml
5.9 Keratan kod untuk memilih nod slave 70
dengan kelas SenaraiHos
5.10 Keratan kod untuk memilih memberi 70
kerja kepada nod slave dengan RMI
5.11 Keratan kod untuk memilih dan memberi 71
kerja kepada nod slave dengan HTTP
5.12 Keratan kod untuk menerima permintaan SMS 72
5.13 Keratan kod untuk membaca SMS daripada 73
baris gilir SMS dan menghantar SMS berkenaan
kepada pelanggan
5.14 Keratan kod untuk mencari makna istilah 74
5.15 Implementasi fungsi capaiURL() dan prosesHasil() 74
5.16 Keratan kod untuk mendaftar objek 75
PengurusPermintaanWebImpl ke dalam pepohon JNDI
5.17 Keratan kod untuk mencari istilah 75
5.18 Antaramuka Aturcara Pemantau Sistem 77
5.19 Keratan kod untuk menghantar SMS kepada pelayan 78
5.20 Keratan kod untuk menerima SMS daripada pelayan 78
5.21 Antaramuka Aturcara Penjana Permintaan HTTP 87
5.22 Rekabentuk Rangkaian LAN Untuk Pengujian 88
Keberkesanan Algoritma Pengimbanga Muatan
5.23 Graf Perbandingan Masa Tindak Balas (100 90
Permintaan Dijana Serentak)
5.24 Graf Perbandingan Masa Tindak Balas (150 90
Permintaan Dijana Serentak)
5.25 Graf Perbandingan Masa Tindak Balas (200 91
Permintaan Dijana Serentak)
20
SENARAI SINGKATAN
API - Application Programming InterfaceCOD - Concise Oxford DictionaryDBMS - Database Management SystemERD - Entity Relationship DiagramFOLDOC - Free On-Line Dictionary Of ComputingGB - GigabytesGUI - Graphical User InterfaceHTML - Hypertext Markup LanguageIDE - Intergrated Development EnvironmentIIS - Internet Information ServicesJ2EE - Java 2 Enterprise EditonJ2ME - Java 2 Micro EditionJ2SE - Java 2 Standard EditionLAN - Local Area NetworkMB - MegabytesMIDP - Mobile Information Device ProfileODBC - Open Database ConnectivityOMT - Object Modeling TechniqueOOSE - Object-Oriented Software EngineeringPC - Personal ComputerRAM - Random Access MemoryRMI - Remote Method InvocationRPC - Remote Procedure CallSMS - Short Message ServiceSMSC - Short Message Service CentreSQL - Structured Query LanguageUML - Unified Modeling LanguageURL - Uniform Resource LocatorWAN - Wide Area Network
21
WAP - Wireless Application ProtocolWML - Wireless Markup LanguageWWW - World Wide WebXML - eXtensive Markup Language
22
SENARAI ISTILAH
Adaptif - AdaptiveAktor - ActorAntaramuka Pengguna Bergrafik - Graphical User Interfaceatas-kepala - OverheadAutonomos - AutonomousBerasaskan Komponen - Component-BasedBerasaskan Web - Web-BasedBerorientasikan-Objek - Object-OrientedDinamik - DynamicE-Mel - E-MailGambarajah Kelas - Class DiagramGambarajah Kes-Guna - Use-Case DiagramGambarajah Kes-Guna - Sequence DiagramIngatan Utama - Main MemoryInterative - InteratifKebolehharapan - ReliabilityKerangka Utama - Main FrameKomunikasi - CommunicationKonsisten - consistantLapisan - TierLimitasi - LimitationMaklum Balas - FeedbackMesej - MessageMetodologi - MethodologyPangkalan Data - DatabasePelanggan - ClientPelbagai-Bebenang - MultiThreadingPemasangan - InstallationPencarian Binari - Binary Search
23
Pengendalian Ralat - Exception HandlingPengimbangan Muatan - Load BalancingPenjelajah Web - Web BrowserPerkakasan Masa-Nyata - Real-Time DevicesPerkakasan Pegangan Tangan - Handheld DevicesSambungan Paling Sedikit - Least ConnectionSel - CellSimpan-Dan-Kedepan - Store-And-ForwardSistem Pengoperasian - Operating SystemSistem Teragih - Distributed SystemStatik - StaticStation Kerja - WorkstationStoran Sekunder - Secondary StorageTetingkap - WindowTitik Capaian - Access Point
24
SENARAI LAMPIRAN
LAMPIRAN TAJUK HALAMAN
A Carta Gantt 99
B Kajian Sistem Sedia Ada 102
C Topologi Rangkaian 107
D Gambar Rajah Kes Guna Dan Jujukan 110
E Gambar Rajah Kelas 127
F Rekabentuk Antaramuka Pengguna 141
G Kamus Data 154
H Algoritma Dan Contoh Kod 158
I Panduan Pengguna 166
J Panduan Pentadbir 172
BAB I
PENGENALAN PROJEK
1.1 Pendahuluan
Kamus merupakan satu buku penting untuk kita memperolehi ilmu
pengetahuan. Pelbagai jenis kamus telah muncul dalam pasaran buku hari ini yang
berbeza dari segi bahasa, saiz, harga dan sebagainya. Istilah-istilah dalam kamus
biasanya disusun mengikut huruf untuk memudahkan proses pencarian. Namun
begitu, proses pencarian secara manual ini masih memakan masa. Proses pencarian
ini boleh diautomasikan dengan kemunculan teknologi komputer, antara contoh yang
popular ialah perisian berbentuk kamus yang diperkenalkan dalam platform PC
(Personal Computer). Walaubagaimanapun, masih terdapat banyak masalah dalam
penyelesaian menggunakan platform PC seperti saiz besar dan ketidakmudahalihan.
Membawa kamus bersama merupakan satu beban kerana biasanya saiz kamus
adalah besar dan berat. Kemunculan perkakasan mudah alih (mobile device) seperti
telefon cellular yang bersaiz kecil dan ringan telah membolehkan kita membawa alat
komputasi bersama dengan mudah. Projek ini akan memfokuskan kepada
pembangunan aplikasi kamus dalam platform telefon cellular.
2
1.2 Latar Belakang Masalah
Dalam kehidupan harian, kita sering menjumpai istilah-istilah yang tidak
difahami. Untuk memperolehi makna bagi perkataan tersebut kita boleh
menggunakan cara tradisional iaitu dengan merujuk kepada kamus. Proses pencarian
istilah secara manual mempunyai kelemahan dari segi peruntukan masa. Tambahan
pula, kamus traditional biasanya bersaiz besar dan berat, menyebabkannya tidak
mudah alih
Dengan kemunculan perisian kamus dalam platform PC, kita boleh mencari
istilah dengan menggunakan PC kita. Namun begitu, perisian sebegini tidak sesuai
untuk diimplemenkan dalam platform perkakasan mudah alih. Ini adalah kerana
perisian tersebut berjenis standalone dan menggunakan sumber data setempat
menyebabkan saiz aplikasi besar, manakala perkakasan mudah alih biasanya
mempunyai saiz ingatan dan keupayaan pemprosesan yang rendah.
Bertanya soalan merupakan sifat semula jadi manusia. Akan tetapi, kepada
siapakah yang patut ditanya mungkin menjadi satu masalah. Selain itu, sesetengah
orang juga berasa malu untuk bertanya. Kekangan-kekangan ini telah menyebabkan
sesetengah orang tidak suka bertanya.
Dengan wujudnya World Wide Web (WWW), orang ramai boleh
mengemukakan soalan mereka dalam web untuk meminta pertolongan daripada
seluruh dunia. Namun, masih terdapat golongan yang tidak tahu atau tidak mahir
menggunakan teknologi WWW dan internet. Jadi, aplikasi yang mudah guna harus
dibangunkan.
Aplikasi yang akan dibangunkan dijangka akan melayan permintaan yang
tinggi kerana pencarian istilah dan bertanya soalan merupakan aktiviti yang banyak
dilakukan oleh orang ramai. Oleh itu, untuk memberikan perkhidmatan yang cepat
3
dan berkesan kepada pelanggan, model Sistem Teragih (Distributed System) dipilih
untuk menyokong aplikasi yang bakal dibangunkan. Untuk memastikan sumber-
sumber dalam sistem digunakan secara berkesan, algorithma pengimbangan muatan
(load balancing) yang baik perlu diimplementasikan dalam aplikasi yang
dicadangkan.
1.3 Matlamat Projek
Projek ini bertujuan untuk membangunkan sistem pencarian istilah dengan
kaedah pengimbangan muatan untuk membantu pengguna membuat pencarian istilah
komputer.
1.4 Objektif Projek
Untuk mencapai maklamat projek seperti yang diterangkan di bahagian 1.3,
objektif-objektif berikut perlu dilaksanakan:-
i) Mengkaji sistem sedia ada dan teknologi-teknologi yang boleh digunakan
untuk membangunkan sistem pencarian istilah.
ii) Merekabentuk aplikasi pencarian istilah dengan teknik pengimbangan muatan
untuk mengimplementasikan teknik pengimbangan muatan bagi
mempercepatkan pencarian istilah.
iii) Membangunkan prototaip aplikasi pencarian istilah.
iv) Menjalankan pengujian terhadap sistem yang dibangunkan.
4
1.5 Skop Projek
Skop-skop projek berikut ditentukan untuk memastikan objektif-objektif
projek yang disebut di bahagian 1.4 dapat dicapai:-
a) Perkhidmatan melalui SMS:-
i) Kamus Sains Komputer
Pengguna telefon cellular boleh menghantar istilah Bahasa
Melayu dalam bidang Sains Komputer yang tidak difahami
melalui SMS untuk mendapatkan maksud bagi istilah tersebut.
ii) Saluran Soalan
Pengguna telefon cellular boleh menghantar soalan melalui
SMS untuk dikemukakan dalam WWW dan mendapat
jawapannya melalui SMS.
b) Perkhidmatan melalui Web:-
i. Kamus Sains Komputer
Pelawat di web boleh melakukan carian maksud untuk istilah
Bahasa Melayu dalam bidang Sains Komputer yang tidak
difahami.
ii. Saluran Soalan
Pelawat boleh mengeluarkan soalan mereka di web. Soalan
yang dikeluarkan akan dipaparkan di web dan dijawab oleh
pelawat yang lain.
5
c) Keupayaan sistem untuk melayan pelanggan yang ramai pada satu
masa yang sama:-
i. Sistem Teragih (Distributed System) dengan 3 pelayan (server)
akan dibangunkan untuk melayan pelanggan yang ramai.
ii. Algoritma Pengimbangan Pemuatan (load balancing) akan
diimplementasikan dalam aplikasi cadangan supaya kerja-kerja
dapat dibahagikan dengan sama rata di antara pelayan.
d) Topologi Sistem Teragih yang akan digunakan ditunjukkan di LAMPIRAN
C4.
1.6 Kepentingan Projek
Projek ini dibangunkan untuk memudahkan dan mempercepatkan proses
pencarian istilah sains komputer dengan menggunakan teknik pengimbangan muatan
dan kemudahan telefon bimbit (SMS). Projek ini membolehkan pengguna telefon
cellular untuk menghantar permintaan untuk mencari istilah tertentu kepada pelayan
dan jawapannya akan dibalas oleh pelayan kepada pengguna dengan cepat. Projek ini
dapat membantu pengguna untuk memahami makna istilah baru komputer sains
dengan mudah menggunakan SMS. Kemudahan yang boleh disediakan oleh projek
ini boleh digunakan oleh pengguna telefon cellular dan pengguna World Wide Web.
top related