DAFTAR REFERENSI [MIT97]
Mitchell, Tom M. Machine Learning. McGraw-Hill, 1997.
[TEL07]
situs http://www.telkomsel.com/web/corporate_news?cnid=MzE3 diakses pada tanggal 10 Februari 2007 pukul 12.17 am.
[IBM07]
situs
http://publib.boulder.ibm.com/infocenter/db2luw/v9/index.jsp?topic=/com .ibm.datatools.datamining.doc/c_decision_tree_calssification.html diakses pada tanggal 11 Februari 2007 pukul 8.07 [MAG95]
David M. Magerman. Statistical Decision-Tree Models for Parsing. Bolt Beranek and Newman Inc.
[HEA05]
Matt Healy, Sarah Jane Delany, Anton Zamolothskikh. An Assesment of
Case Base Reasoning for Short Text Message Classification. Dublin Institue of Technology. [TON07]
situs www.polyphonic-ringtones-ring-tones.co.uk/glossary.html diakses pada tanggal 26 Juni 2007 pukul 15.40
xi
LAMPIRAN A ALUR PROSES A.1 Gambar alur proses keseluruhan SMSRenderer
Jaringan SMS Provider Telepon Seluler
sms
sms
sms
Server Perpustakaan
Legenda: Proses atau Sub Proses Data
Aplikasi
Telepon Seluler
Komputer Server
A-1
Pengubahan Pesan Singkat Oleh SMSRenderer
Sms hasil pengubahan
Aplikasi NLP
LAMPIRAN B POHON KEPUTUSAN B.1 Algoritma Pohon Keputusan ID3 Berikut ini adalah algoritma pohon keputusan ID3 function ID3 (R: a set of non-categorical attributes, C: the categorical attribute, S: a training set) returns a decision tree; begin If S is empty, return a single node with value Failure; If S consists of records all with the same value for the categorical attribute, return a single node with that value; If R is empty, then return a single node with as value the most frequent of the values of the categorical attribute that are found in records of S; [note that then there will be errors, that is, records that will be improperly classified]; Let D be the attribute with largest Gain(D,S) among attributes in R; Let {dj| j=1,2, .., m} be the values of attribute D; Let {Sj| j=1,2, .., m} be the subsets of S consisting respectively of records with value dj for attribute D; Return a tree with root labeled D and arcs labeled d1, d2, .., dm going respectively to the trees ID3(R-{D}, C, S1), ID3(R-{D}, C, S2), .., ID3(R-{D}, C, Sm); end ID3;
Tabel berikut ini merupakan data contoh untuk kasus Weather Day
Outlook
Temperature
Humidity
Wind
PlayTennis
D1
Sunny
Hot
High
Weak
No
D2
Sunny
Hot
High
Strong
No
D3
Overcast
Hot
High
Weak
Yes
D4
Rain
Mild
High
Weak
Yes
D5
Rain
Cool
Normal
Weak
Yes
D6
Rain
Cool
Normal
Strong
No
D7
Overcast
Cool
Normal
Strong
Yes
D8
Sunny
Mild
High
Weak
No
D9
Sunny
Cool
Normal
Weak
Yes
D10
Rain
Mild
Normal
Weak
Yes
D11
Sunny
Mild
Normal
Strong
Yes
D12
Overcast
Mild
High
Strong
Yes
B-1
Day
Outlook
Temperature
Humidity
Wind
PlayTennis
D13
Overcast
Hot
Normal
Weak
Yes
D14
Rain
Mild
High
Strong
No
Gambar pohon keputusan yang dihasilkan dapat dilihat pada subbab 2.4.
Pohon keputusan tersebut mengklasifikasikan apakah hari Sabtu pagi tersebut cocok untuk bermain tenis.Sebagai contoh, instans ini {Outlook = Sunny, Temperature = Hot, Humidity = High, Wind = Strong}
akan diurutkan ke cabang pohon yang paling kiri dari pohon keputusan diatas, dan karenanya akan diklasifikasikan sebagai instans negatif (pohon memprediksikan bahwa nilai Play Tennis = no).
Secara umum, pohon keputusan merepresentasikan disjungsi dari konjungsi nilai atribut dari instans. Setiap jalur dari akar pohon ke daun adalah konjungsi dari nilai atribut, sedangkan pohon keputusan itu sendiri adalah disjungsi dari konjungsi-konjungsi tersebut. Sebagai contoh, untuk pohon keputusan pada gambar, dapat ditulis sebagai ekspresi berikut: (Outlook = Sunny AND Humidity = Normal) OR (Outlook = Overcast) OR (Outlook = Rain AND Wind = Weak)
B.2 Pohon keputusan di C4.5 Keluaran program pembentukan pohon keputusan dapat dilihat pada gambar berikut ini: C4.5 [release 8] decision tree generator
Sun Feb 25 17:33:27 2007
----------------------------------------
Options: File stem
Read 14 cases (4 attributes) from tennis.data
Decision Tree:
Outlook = Overcast: Yes (4.0) Outlook = Sunny:
B-2
|
Humidity = High: No (3.0)
|
Humidity = Normal: Yes (2.0)
Outlook = Rain: |
Wind = Weak: Yes (3.0)
|
Wind = Strong: No (2.0)
Tree saved
Evaluation on training data (14 items):
Before Pruning
After Pruning
----------------
---------------------------
Size
Errors
Size
Errors
Estimate
8
0( 0.0%)
8
0( 0.0%)
(38.5%)
<<
Keluaran program pembentukan aturan produksi dari pohon keputusan dapat dilihat pada gambar berikut ini: C4.5 [release 8] rule generator Sun Feb 25 17:35:32 2007 -------------------------------
Options: File stem
Read 14 cases (4 attributes) from tennis
-----------------Processing tree 0
Final rules from tree 0:
Rule 1: Outlook = Sunny Humidity = High ->
class No
[63.0%]
Rule 5: Outlook = Rain Wind = Strong ->
class No
[50.0%]
Rule 3: Outlook = Overcast
B-3
->
class Yes
[70.7%]
Rule 2: Humidity = Normal ->
class Yes
[66.2%]
Rule 4: Outlook = Rain Wind = Weak ->
class Yes
[63.0%]
Default class: Yes
Evaluation on training data (14 items):
Rule
Size
Error
Used
Wrong
Advantage
----
----
-----
----
-----
---------
1
2
37.0%
3
0 (0.0%)
3 (3|0)
No
5
2
50.0%
2
0 (0.0%)
2 (2|0)
No
3
1
29.3%
4
0 (0.0%)
0 (0|0)
Yes
2
1
33.8%
4
0 (0.0%)
0 (0|0)
Yes
4
2
37.0%
1
0 (0.0%)
0 (0|0)
Yes
Tested 14, errors 0 (0.0%)
(a)
(b)
<<
<-classified as
---- ---9
(a): class Yes 5
(b): class No
B-4
LAMPIRAN C DATA CONTOH SMS No Kalimat Lengkap 1 siapa nama anggota yang bernomor id 009? 2 dimana alamat anggota yang bernomor id 009? 3 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009? 4 apakah anggota bernomor id 009 sedang meminjam buku? 5 kapan terakhir anggota bernomor id 009 meminjam buku? 6 kapan buku Physics seharusnya dikembalikan oleh anggota bernomor id 009? 7 berapa jumlah anggota saat ini? 8 berapa nomor id ? 9 apakah buku Physics sedang dipinjam? 10 apakah judul buku yang bernomor id 1001? 11 berapa jumlah koleksi buku saat ini? 12 berapa nomor rak buku Physics? 13 apakah ada ISBN buku yang duplikat? 14 berikan daftar buku yang bergenre fiksi? 15 berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini? 16 apa saja buku yang paling tua di perpustakaan ini? 17 apa saja buku terbaru yang dikoleksi oleh perpustakaan ini? 18 sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan? 19 buku‐buku apa saja yang diterbitkan tahun 1930? 20 buku apa saja yang dikarang oleh ? 21 dimana tempat seharusnya menaruh buku Machine Learning? 22 sebutkan pengarang‐pengarang buku yang berasal dari Belanda?
Kalimat SMS 1 syp nm anggt yg brnmr id 009? dmn almt aggt yg bernmr id 009 bk2 ap yg sdg dipinjam anggt yg brnmr id 009? dmn tmpt shrsny mnaruh bk Modern Operating System? kpn trkhr angg brnmr id 009 mmnjm bk? kpn bk Matematika Diskrit shrsny dkmblkn oleh angg brnmr id 009? brp jmlh angg saat 1n1? brp nmr id Rian Hadisaputra? apkh bk Machine Learning sdng dpnjm? apkh jdl bku yg brnmr id 1001? brp jmlh kleks bk saat 1ni? brp no rak bk Modern Information Retrieval? apkh ad ISBN bk yg dplkt? berikn dftr bk yg brgnre fiksi? berikn dftr pnrbt bk yg diklks olh prpstkn ini? ap sj bk yg plg tua di prpstkn ini? ap sj bk yg trbr yg dkolks oleh prpstkn ini? sbtkn pnrbt yg bkny plg bnyk dklks oleh perpustakaan 1n1? bk2 apa sj yg ditrbitkan thn 1930? bk ap sj yng dikarng olh Tanembaum? dmn tmpt shrsnya menruh bk Enterprise Information System? sbtkn pengrng2 bk yang berasl dr Blnd?
C-1
No Kalimat Lengkap 23 apakah buku Database Concepts and Technique akan dikembalikan pada jam 9 hari ini ? 24 pengarang: 25 sebutkan penulis jurnal yang bidang ilmunya adalah Fisika? 26 berapa banyak penulis jurnal yang institusinya adalah MIT? 27 apa saja genre majalah yang dikoleksi? 28 sebutkan majalah tertua yang menjadi koleksi? 29 sebutkan nama majalah yang tidak terbit pada tahun 1997? 30 sebutkan koran tertua yang dikoleksi perpustakaan? 31 sebutkan koran yang baru mulai terbit pada tahun 2003? 32 tahun berapa koleksi koran yang tertua yang dimiliki oleh perpustakaan?
No Kalimat Lengkap 1 siapa nama anggota yang bernomor id 009? 2 dimana alamat anggota yang bernomor id 009? 3 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009? 4 apakah anggota bernomor id 009 sedang meminjam buku? 5 kapan terakhir anggota bernomor id 009 meminjam buku? 6 kapan buku Physics seharusnya dikembalikan oleh anggota bernomor id 009? 7 berapa jumlah anggota saat ini? 8 berapa nomor id ? 9 apakah buku Physics sedang dipinjam? 10 apakah judul buku yang bernomor id 1001? 11 berapa jumlah koleksi buku saat ini? 12 berapa nomor rak buku Physics? 13 apakah ada ISBN buku yang duplikat?
Kalimat SMS 1 apkh bk Data Mining: Concepts and Techniques akn dikemblkn pd j9 hr 1n1? ap spesialisasi pngrng ? sbtkn penls jrnl yg bdg ilmuny adlh Fisika? b3rp bnyk p3nls jrnal yg instsny adlh MIT? ap sj 9enr3 mjlh yg dikolksi? s3btkn mjlah trtua yg menjd k0l3ks1? sbtkn nm mjlh yg tdk trbt pd thn 1997? sbtkn k0rn t3rtua yg d1kOl3ks1 p3rpstkaan? sbtkn krn yg br mule trbt pd thn 2003? thn brp klks1 korn KOMPAS yg trtua yg d1m1l1k1 olh perpstkaan?
Kalimat SMS 2 syp nm an99t y9 brnmr id 009? dmn almt an99t y9 brnmr id 009? bku2 ap y9 sd9 dpnjm an99t yg brnmr id 009? dmn t4 shrsny mnaruh bk Calculus? kpn t3rakhr angg0ta b3rn0 id 009 m3m1njm bk? kpn bk Physics s3hrsnya d1k3mbl1kn 0lh an66t b3rnmr id 009? b3rp jmlh an66 saat ini? b3rp n0 id ? apkh bk Physics s3dng d1p1njm? apkh jdl bk yang b3rn0 id 1001? b3rp jmlh k0l3ksi bk saat in? brpa n0m0r rak bk Physics ? apakh ada ISBN bk y6 dupl1kt?
C-2
No Kalimat Lengkap 14 berikan daftar buku yang bergenre fiksi? 15 berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini? 16 apa saja buku yang paling tua di perpustakaan ini? 17 apa saja buku terbaru yang dikoleksi oleh perpustakaan ini? 18 sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan? 19 buku‐buku apa saja yang diterbitkan tahun 1930? 20 buku apa saja yang dikarang oleh ? 21 dimana tempat seharusnya menaruh buku Machine Learning? 22 sebutkan pengarang‐pengarang buku yang berasal dari Belanda? 23 apakah buku Database Concepts and Technique akan dikembalikan pada jam 9 hari ini ? 24 pengarang: 25 sebutkan penulis jurnal yang bidang ilmunya adalah Fisika? 26 berapa banyak penulis jurnal yang institusinya adalah MIT? 27 apa saja genre majalah yang dikoleksi? 28 sebutkan majalah tertua yang menjadi koleksi? 29 sebutkan nama majalah yang tidak terbit pada tahun 1997? 30 sebutkan koran tertua yang dikoleksi perpustakaan? 31 sebutkan koran yang baru mulai terbit pada tahun 2003? 32 tahun berapa koleksi koran yang tertua yang dimiliki oleh perpustakaan?
Kalimat SMS 2
No Kalimat Lengkap 1 siapa nama anggota yang bernomor id 009? 2 dimana alamat anggota yang bernomor id 009?
Kalimat SMS 3
brkn dftr bk yg ber6enr3 fiksi? brkn dftr p3nrbt y6 d1k0l3ks1 0l3h p3rpustakaan 1n1? apa sj bk y6 pln9 tua d prpstkaan ini? ap sja bku yan6 t3rbr yg diklks olh prpstkn ini? sbtkn p3n3rbt y6 bkny pl9 bnyk dik0lksi oleh p3rpus ini? bk‐bk ap sj yn6 dit3rbtkn thn 1930? bk ap sj yn9 d1karn9 ol3h ? d1mn t4 s3hrsny mnaruh bk Machine Learning? sbtkn p3ngarng2 bk yan6 brasl dr B3landa? apkh bk Database Concepts and Technique akn d1k3mblkn pd jm 9 hr ini?? ap sp3s1al1sas1 pengrng ? s3btkn p3nuls jurnl y6 bd9 1lmuny adlh F1sika? brp bnyk pnls jrnl yn9 1nst1tus1ny adlah MIT? ap sj gnr3 mjlh yn9 d1k0lksi? sbtkn majlh t3rtua y6 mnjd klks1? sbtkn nm majlh yg t1dk t3rbt pad thn 1997? s3btkn krn trtua yan6 dk0leks1 prpstkaan? sbtkn k0rn yg bru mlai t3rb1t pd thn 2003? thn brp k0lks1 k0rn KOMPAS yg t3rtua yan6 dimlk1 oleh prpstkn?
sp nm angta y6 brno id 009? dimn almt ang yg b3rn0m0r id 009?
C-3
No Kalimat Lengkap 3 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009? 4 apakah anggota bernomor id 009 sedang meminjam buku? 5 kapan terakhir anggota bernomor id 009 meminjam buku? 6 kapan buku Physics seharusnya dikembalikan oleh anggota bernomor id 009? 7 berapa jumlah anggota saat ini? 8 berapa nomor id ? 9 apakah buku Physics sedang dipinjam? 10 apakah judul buku yang bernomor id 1001? 11 berapa jumlah koleksi buku saat ini? 12 berapa nomor rak buku Physics? 13 apakah ada ISBN buku yang duplikat? 14 berikan daftar buku yang bergenre fiksi? 15 berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini? 16 apa saja buku yang paling tua di perpustakaan ini? 17 apa saja buku terbaru yang dikoleksi oleh perpustakaan ini? 18 sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan? 19 buku‐buku apa saja yang diterbitkan tahun 1930? 20 buku apa saja yang dikarang oleh ? 21 dimana tempat seharusnya menaruh buku Machine Learning? 22 sebutkan pengarang‐pengarang buku yang berasal dari Belanda? 23 apakah buku Database Concepts and Technique akan dikembalikan pada jam 9 hari ini ? 24 pengarang: 25 sebutkan penulis jurnal yang bidang ilmunya adalah Fisika? 26 berapa banyak penulis jurnal yang institusinya adalah MIT? 27 apa saja genre majalah yang dikoleksi? 28 sebutkan majalah tertua yang menjadi koleksi?
C-4
Kalimat SMS 3 bk‐bk ap yg s3dng d1pnjm an66ta y6 b3rnmr 1d 009? d1mn t4 s3hrsny m3naruh bk Calculus? kpn t3rakh1r an660ta b3rn0mr id 009 mm1njm bk? kpn bk Physics s3hrsnya d1kmblkn ol3h an990ta brn0m0r id 009? brp jumlh an960t saat ini? b3rap nomr id ? apkh bk Modern Operating System sdn6 dp1njm? apkh jdl bk yng brno 1d 1001? brp jmlh k0lks1 bk saat 1n1? b3rp n0 rk bk Machine Learning ? apkh ad 1SBN bk yn6 duplkt? b3r1kn dftr bk y9 br93nr3 f1ks1? berkn dftr pnrbt yn6 dk0l3ks1 0lh p3rpstkaan in? ap sj bk yn9 plng tua d1 prpstkaan in? ap sj bk yag t3rbr yg d1k0l3ks1 oleh p3rpstkaan in1? s3btkn p3nrbt yn9 bkny plng bnyk dklksi oleh prpustkn ini? bk2 ap sj yn6 dtrbtkan thn 1930? bk ap sj yn9 dkrng olh Michael Cheng? dmn tmpt s3hrsny mnruh bk Modern Operating System? sbtkn p3ngrng2 bk yn6 brasl dr Blnd? apkh bk Database Concepts and Technique akn dkmbl1kn pd jm 9 hr ini? ap spesialisasi p3ngrng Andrew Tanembaum? sbtkan pnulis jrnl yn6 bdn9 1lmny adlh Fisika? brp bnyk penls jurnl yng inst1tus1ny adlh MIT? ap sj gnr mjlh yn9 d1k0lksi? sbtkn mjlh tertw yn6 mnjd klks1?
No Kalimat Lengkap 29 sebutkan nama majalah yang tidak terbit pada tahun 1997? 30 sebutkan koran tertua yang dikoleksi perpustakaan? 31 sebutkan koran yang baru mulai terbit pada tahun 2003? 32 tahun berapa koleksi koran yang tertua yang dimiliki oleh perpustakaan?
Kalimat SMS 3
No Kalimat Lengkap 1 siapa nama anggota yang bernomor id 009? 2 dimana alamat anggota yang bernomor id 009? 3 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009? 4 apakah anggota bernomor id 009 sedang meminjam buku? 5 kapan terakhir anggota bernomor id 009 meminjam buku? 6 kapan buku Physics seharusnya dikembalikan oleh anggota bernomor id 009? 7 berapa jumlah anggota saat ini? 8 berapa nomor id ? 9 apakah buku Physics sedang dipinjam? 10 apakah judul buku yang bernomor id 1001? 11 berapa jumlah koleksi buku saat ini? 12 berapa nomor rak buku Physics? 13 apakah ada ISBN buku yang duplikat? 14 berikan daftar buku yang bergenre fiksi? 15 berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini? 16 apa saja buku yang paling tua di perpustakaan ini? 17 apa saja buku terbaru yang dikoleksi oleh perpustakaan ini? 18 sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan? 19 buku‐buku apa saja yang diterbitkan tahun 1930? 20 buku apa saja yang dikarang oleh ?
Kalimat SMS 4
sbtkn nm mjlah yn6 t1dk t3rbt pd thn 1997? s3btkn k0rn trtua yn6 dk0leks1 p3rpstkaan? s3butkn k0ran yn9 br mlai t3rb1t pd thn 2003? thn brp kolks1 kran KOMPAS yg trtua yn6 dmlk1 oleh prpstkn?
sp nm an66t y9 brn0 1d 009? dmn almt anggt yng brno id 009? buku2 ap yn6 sdn9 d1pjm an99t yng brno id 009? dimn tmpt shrsna menrh buku Calculus? kpn trakhr anggt berno id 009 mmnjm bk? kpn bk Physics shrsna dkmblikn olh anggt brno id 009? b3rapa jmlh an9g0ta saat ini? berp no id ? apkh buku Physics sd9 dp1njm? apkah jdul bku yan9 bern0 1d 1001? brpa jmlah kleksi bk saat ini? brp no rak buk Machine Learning ? apkh ad ISBN bku y6 dpl1kt? b3rkn dftar bku yn9 b3r63nr3 f1ks? berkn daftr pn3rb1t yn6 dklsi olh ppstakaan 1n? ap sja buk y6 pl9 tw d prpstkaan ini? ap sja bk yg t3rbru yg dk0lks1 0lh perpus 1n? sebtkan pn3rbit y6 bkuny pln9 bnyk dk0lks1 olh p3rpus ini? bku2 ap saj yan6 dtrb1tkan thn 1930? bku ap saj y9 dikarn9 oleh Tom Micthel?
C-5
No Kalimat Lengkap 21 dimana tempat seharusnya menaruh buku Machine Learning? 22 sebutkan pengarang‐pengarang buku yang berasal dari Belanda? 23 apakah buku Database Concepts and Technique akan dikembalikan pada jam 9 hari ini ? 24 pengarang: 25 sebutkan penulis jurnal yang bidang ilmunya adalah Fisika? 26 berapa banyak penulis jurnal yang institusinya adalah MIT? 27 apa saja genre majalah yang dikoleksi? 28 sebutkan majalah tertua yang menjadi koleksi? 29 sebutkan nama majalah yang tidak terbit pada tahun 1997? 30 sebutkan koran tertua yang dikoleksi perpustakaan? 31 sebutkan koran yang baru mulai terbit pada tahun 2003? 32 tahun berapa koleksi koran yang tertua yang dimiliki oleh perpustakaan?
Kalimat SMS 4
No Kalimat Lengkap 1 siapa nama anggota yang bernomor id 009? 2 dimana alamat anggota yang bernomor id 009? 3 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009? 4 apakah anggota bernomor id 009 sedang meminjam buku? 5 kapan terakhir anggota bernomor id 009 meminjam buku? 6 kapan buku Physics seharusnya dikembalikan oleh anggota bernomor id 009? 7 berapa jumlah anggota saat ini? 8 berapa nomor id ? 9 apakah buku Physics sedang dipinjam? 10 apakah judul buku yang bernomor id 1001? 11 berapa jumlah koleksi buku saat ini? 12 berapa nomor rak buku Physics?
Kalimat SMS 5
dmn tmp s3hrsny mn3aruh bku Modern Operating System? sbtkn p3ngarng2 bk yan6 brasl dr B3landa? apkah buk Database Concepts and Technique akan dkmbl1kn pda j 9 hr 1n1? ap sp3s1aliss pngarng Johny Andrean? sbtkan penul1s jrnal yn6 bdn9 ilmny adlah Fisik? brpa bnyk penls jrnal yan9 institutny adlah MIT? ap sja g3nr majlh yn9 dklks1? sbtkn majlh trtw y6 mnjad klks? s3btkn nm mjalh y6 tdk terbt pd thn 1997? sbtkan korn trtw yn6 dklks1 prps? sbtkn kran yag bru mulai trbt pd th 2003? thn brpa klksi kran KOMPAS yng trtw yn9 dmlk oleh perps?
syapa nm an99ta yan6 b3rn0m0r 1d 009? di mn almt an99ta y9 b3rnmr id 009? bk2 ap yn6 sdn6 d1 p1njm an66t y6 b3rno id 009? d1 mn t4 shrsny mnruh bk Calculus? kpn t3rakh1r an690ta b3rn0mor id 009 m3m1njm bk? kpn bk Physics s3hrsnya d1 k3mbl1kn olh an66t b3rnomor id 009? brpa jmlah an69ota saat ini? b3rp n0m0r 1d ? apkah bku Physics sdan9 dpnjam? apakh jud bk yan9 brnmr id 1001? brp jmlh ko13ksi buk saat in? b3rpa n0mr rk bku Machine Learning ?
C-6
No Kalimat Lengkap 13 apakah ada ISBN buku yang duplikat? 14 berikan daftar buku yang bergenre fiksi? 15 berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini? 16 apa saja buku yang paling tua di perpustakaan ini? 17 apa saja buku terbaru yang dikoleksi oleh perpustakaan ini? 18 sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan? 19 buku‐buku apa saja yang diterbitkan tahun 1930? 20 buku apa saja yang dikarang oleh ? 21 dimana tempat seharusnya menaruh buku Machine Learning? 22 sebutkan pengarang‐pengarang buku yang berasal dari Belanda? 23 apakah buku Database Concepts and Technique akan dikembalikan pada jam 9 hari ini ? 24 pengarang: 25 sebutkan penulis jurnal yang bidang ilmunya adalah Fisika? 26 berapa banyak penulis jurnal yang institusinya adalah MIT? 27 apa saja genre majalah yang dikoleksi? 28 sebutkan majalah tertua yang menjadi koleksi? 29 sebutkan nama majalah yang tidak terbit pada tahun 1997? 30 sebutkan koran tertua yang dikoleksi perpustakaan? 31 sebutkan koran yang baru mulai terbit pada tahun 2003? 32 tahun berapa koleksi koran yang tertua yang dimiliki oleh perpustakaan?
C-7
Kalimat SMS 5 apakh ada ISBN bk yn9 dplkt? brkn dftar bk yg br6nr fks1? brkan dftar pen3rb1t y9 d1klks 0lh prpstkaan in? ap sja bku y6 pln9 tua dprpstkn ini? ap sj bk yng trbru yan6 d1kolksi oleh p3rps 1n1? sbtkn pnrbt y6 bkny pl9 bnyk diklks oleh prpus ini? bk‐bku ap sj y9 dtrbtkn thn 1930? buk apa sj yn9 dkrn9 olh Tom Mitchel? d1man t4 s3hrsny mnrh bk Modern Operating System? sbtkn pngarng2 bku yn6 b3rsl dr1 Blnd? apakh buk Database Concepts and Technique akn d1kblkn pd jam 9 hr 1n1? apa spsialisas1 pngrang Jiawei Han? sbtkan pnls jurnl yn6 b1d9 1lmny adalh Fisika? brpa bnyak pnlis jrnl y9 insttsny adlah MIT? ap saj g3nr mjalh y6 d1klks? sbtkn mjlh ttua y9 mjd klks? sbtkan nma mjalh yan9 tdk trb1t pd th 1997? s3btkn koran ttw y9 dklks perpus? sbtkan krn yng br mlai trbt pd thn 2003? th brpa klks1 k0rn KOMPAS y6 ttua yan6 dimlk 0lh prpst?
LAMPIRAN D DOKUMEN SPESIFIKASI SMSRenderer I. Pendahuluan a. Deskripsi Masalah Pesan singkat (SMS) telepon seluler saat ini semakin banyak digunakan sebagai sarana komunikasi. Pesan singkat yang panjangnya hanya 160 karakter ini mampu menggantikan sarana komunikasi yang lain. Namun, karena keterbatasan panjang pesan yang dapat dikirimkan itu, penggunapengguna pesan singkat ini melakukan modifikasi penulisan kata dalam pesan singkatnya. Modifikasi inilah yang nantinya akan menimbulkan suatu kesulitan jika akan dikembangkan suatu aplikasi yang menerima masukan dari pesan singkat (SMS Text To Speech atau SMS Natural Language Processing). Karena itu, SMSRenderer ini dibangun. Aplikasi ini berisi pengetahuan mengenai modifikasi pesan singkat sehingga SMSRenderer dapat dilakukan pengubahan terhadap pesan singkat menjadi sebuah pesan singkat dengan kalimat yang penulisannya tidak termodifikasi lagi. b. Profil Pengguna Secara umum pengguna dari SMSRenderer ini adalah aplikasi lain yang membutuhkan masukan berupa pesan singkat yang tidak termodifikasi, yaitu SMS Natural Language Processing, atau SMS Text To Speech. c. Tujuan Proyek Dapat dilihat dari keterangan dua subbab di atas bahwa SMSRenderer memiliki satu tujuan yaitu untuk melakukan pengubahan pesan singkat yang dimodifikasi untuk selanjutnya akan digunakan sebagai input oleh aplikasi lain.
II. Fungsi SMSRenderer a. Keluaran Sistem SMSRenderer ini akan mengeluarkan output berupa pesan singkat yang telah diubah penulisannya dari sebelumnya termodifikasi. Pesan singkat yang dikeluarkan oleh aplikasi ini akan berupa teks biasa saja.
D-1
b. Masukan Sistem Case-Specific Knowledge Base Input yang akan diterima oleh SMSRenderer adalah berupa pesan singkat yang dimofikasi cara penulisannya. Domain-Specific Knowledge Base SMSRenderer menggunakan basis pengetahuan yang berisi : 1. Daftar kata yang digunakan dalam pesan singkat 2. Korelasi antara setiap kata dengan kelas jenis modifikasinya (misal. Kata A merupakan kelas kata yang dimodifikasi dengan substitusi fonetik) c. Fitur-fitur tambahan Fitur utama yang direncanakan akan disediakan oleh SMSRenderer ialah fitur pengubahan pesan singkat dan penghitungan akurasi perubahan pesan singkat. Masukan pengguna hanyalah berupa pesan singkat yang berupa teks biasa, demikian juga keluarannya. Dengan demikian implementasi sistem tidak memerlukan adanya suatu aplikasi atau library lain yang digunakan untuk membaca pesan singkat langsung dari telepon seluler.
d. Prioritas Implementasi Hasil dari sistem SMSRenderer lebih menekankan prioritasnya pada pengubahan kata pada pesan singkat sebagai solusi berdasarkan basis pengetahuan sistem SMSRenderer. Selain itu, fitur menambah basis pengetahuan kata yang sering digunakan pada pesan singkat akan diimplementasikan.
III. Batasan-batasan a. Perangkat Keras SMSRenderer tidak memerlukan inferensi dan/atau komputasi yang kompleks sehingga tidak menimbulkan constraint di sisi hardware. Sebuah personal computer standar sudah cukup. b. Antarmuka SMSRenderer direncanakan untuk berjalan pada sebuah PC biasa sehingga antarmuka standar yang dimiliki oleh PC dirasa cukup memadai. D-2
c. Kompatibiltas dengan produk sebelumnya Pembangunan aplikasi SMSRendere tidak didasarkan pada suatu aplikasi sejenis yang mungkin telah ada saat ini sehingga SMSRenderer tidak harus kompatibel dengan aplikasi-aplikasi semacam itu. d. Kecepetan Eksekusi SMSRenderer bukanlah sistem yang dirancang untuk menagani critical
task. Oleh sebab itu, SMSRenderer tidak memiliki persyaratan khusus mengenai lamanya eksekusi program, kecuali batasan kenyamanan pengguna. e. Reliabilitas Keandalan SMSRenderer
bergantung
pada
keandalan
algoritma
preprocessing dan postprocessing yang dibahas pada tugas akhir ini di bab 3. Karena domain SMSRenderer adalah kata atau bahasa, maka efek kesalahan sistem bolehjadi akan mempengaruhi makna pesan singkat yang nantinya akan diubah oleh aplikasi ini.
f. Keterawatan Domain pengetahuan yang ditangani SMSRenderer adalah bidang yang sedang mengalami perkembangan pesat. Sehingga proses update terhadap basis pengetahuan akan cukup sering dilakukan. g. Keamanan SMSRenderer direncanakan untuk bekerja secara offline. Selain itu, masukan-masukan untuk sistem bukanlah data yang bersifat sensitif (private and confidential). Dua hal di atas menjadikan SMSRenderer tidak perlu memiliki aspek security terhadap data. Untuk aspek keamanan basis pengetahuan, SMSRenderer memakai asumsi bahwa basis pengetahuannya tidak bisa dan tidak boleh diakses oleh user. h. Identifikasi Error Kami mengidentifikasikan kata error disini sebagai no solution yang dihasilkan oleh sistem. no solution yang dimaksud disini adalah SMSRenderer mengembalikan kata yang tidak diubah dari pesan singkat
D-3
masukan. Sistem SMSRenderer tidak akan menangani hasil no solution ini.
IV. Isu-isu Lain a. Metode Verifikasi dan Validasi Verifikasi yang dimaksudkan di sini adalah suatu usaha analisis testing untuk menemukan apakah fungsionalitas sistem pakar ini sudah sesuai dengan requirements awal sistem. Jadi untuk melakukan testing verifikasi ini dijalankan suatu simulasi dengan pengguna dari SMSRenderer ini. Validasi yang dimasudkan di sini adalah usaha testing untuk mengetahui kevalidan basis pengetahuan yang digunakan oleh SMSRenderer. Untuk melakukan validasi ini, kami menggunakan metode dengan membuat suatu kasus atau skenario uji yang berisi tentang beberapa jalan pengujian sistem. Dari hasil-hasil sistem SMSRenderer akan dicek oleh pengguna dengan cara menghitung akurasi pengubahan pesan singkat.
b. Dokumentasi Direncanakan untuk disertakan dokumen teknis yang berisi struktur basis pengetahuan (terdapat pada bahasan utama tugas akhir) dan teknik yang digunakan dalam pembangunan sistem.
D-4
LAMPIRAN E USE CASE SMSRenderer E.1 Use Case Melakukan Pengubahan SMS Melakukan Pengubahan SMS
Aktor
Pengguna
Tujuan
Mengubah teks sms yang dimasukkan oleh pengguna
Initial State
Teks SMS masih ditulis dengan gaya penulisan pesan singkat
Final State
Teks SMS telah menjadi teks yang penulisannya baku
Skenario Pengguna
Sistem
Memasukkan teks SMS di area teks, kemudian melakukan
aksi pengubahan
Membaca teks SMS, kemudian mentransformasikannya
menjadi teks dengan tata penulisan baku Skenario Alternatif
Membuka berkas yang berisi sms teks
Mengambil isi berkas dan menampilkannya di teks SMS
Melakukan aksi pengubahan
Membaca teks SMS, kemudian mentransformasikannya
menjadi teks dengan tata penulisan baku
E-1
E.2 Use Case Melakukan Penghitungan Akurasi Perubahan SMS Melakukan Penghitungan Akurasi Perubahan SMS
Aktor
Pengguna
Tujuan
Menghitung akurasi perubahan teks SMS yang dilakukan oleh perangkat lunak
Initial State
Teks SMS telah ditransformasikan
Final State
Nilai akurasi ditampilkan kepada pengguna Skenario Pengguna
Sistem
Memasukkan teks SMS Pembanding di area teks,
kemudian melakukan aksi perhitungan
Membaca teks SMS hasil transformasi dan SMS Pembanding , membandingkannya dan kemudian menghitung nilai akurasi
hasil perbandingan
Menampilkan hasil akurasi kepada pengguna Skenario Alternatif
Membuka berkas yang berisi sms teks pembanding
Mengambil isi berkas dan menampilkannya di teks SMS
Pembanding
Melakukan aksi pengubahan
Membaca teks SMS hasil transformasi dan SMS Pembanding , membandingkannya dan kemudian menghitung nilai akurasi
hasil perbandingan
Menampilkan hasil akurasi kepada pengguna
E-2
E.3 Use Case Menambahkan kosakata baru dalam daftar kata Menambahkan kosakata baru dalam daftar kata
Aktor
Pengguna
Tujuan
Menambahkan kosakata baru dalam daftar kata
Initial State
Daftar kata telah siap untuk diisikan
Final State
Kosakata baru berhasil ditambahkan
Skenario Pengguna
Sistem
Memasukkan kosakata baru di area teks, kemudian
melakukan aksi penambahan
Membaca kosakata di area teks, mengeceknya apakah sudah ada dalam daftar, jika tidak maka kosakata ditambahkan ke dalam daftar kata, jika terdapat dalam daftar kata maka
sebaliknya Skenario Alternatif
Membuka berkas yang berisi sms teks
Membuka berkas sms teks
Melakukan aksi penambahan
Membaca berkas, menambahkan kosakata yang terdapat
pada berkas satu persatu ke dalam daftar kata
E-3
E.4 Use Case Menambahkan kosakata baru dalam Kamus Fonetik Menambahkan kosakata baru dalam Kamus Fonetik
Aktor
Pengguna
Tujuan
Menambahkan kosakata baru dalam daftar fonetik
Initial State
Daftar fonetik telah siap untuk diisikan
Final State
Kosakata baru berhasil ditambahkan
Skenario Pengguna
Sistem
Memasukkan kosakata baru di area teks, kemudian
melakukan aksi penambahan
Membaca kosakata di area teks, mengeceknya apakah sudah ada dalam daftar, jika tidak maka kosakata ditambahkan ke dalam daftar kata, jika terdapat dalam daftar fonetik maka
sebaliknya
E.5 Use Case Menambahkan kosakata baru dalam Kamus Nama Menambahkan kosakata baru dalam Kamus Nama
Aktor
Pengguna
Tujuan
Menambahkan kosakata baru dalam daftar nama
Initial State
Daftar nama telah siap untuk diisikan
Final State
Kosakata baru berhasil ditambahkan
Skenario Pengguna
Sistem
Memasukkan kosakata baru di area teks, kemudian
melakukan aksi penambahan
Membaca kosakata di area teks, mengeceknya apakah sudah ada dalam daftar, jika tidak maka kosakata ditambahkan ke dalam daftar kata, jika terdapat dalam daftar nama maka sebaliknya
E-4
LAMPIRAN F DIAGRAM KELAS SMSRenderer PhoneticDictionaryLoader -br: BufferedReader -fileKamus: FileReader -phonetic: Vector<String> -size: int
SMSClassification +SMSClassification() +klasifikasi(index: int, SP: SMSParser, SMSPrep: SMSPreprocessor, NDL: NameDictionaryLoader, PDL: PhoneticDictionaryLoader)
+PhoneticDictionaryLoader() +getPhonetic() +getSize() +loadPhoneticDict() +setPhonetic(name: Vector) +setSize(size: int)
SMSDictionary
NameDictionaryLoader -br: BufferedReader -fileKamus: FileReader -name: Vector<String> +NameDictionaryLoader() +getName() +loadNameDict() +setName()
-br: BufferedReader -fileKamus: FileReader -namaFile: String[] -word: Vector <String> +SMSDictionary() +getNamaFile(c: char) +getWord() +isStrAngka(str: String) +isStrNama(name: String, NDL: NameDictionaryLoader) +loadSmsDict(str: String, NDL: NameDictionaryLoader) +setWord(word: Vector)
SMSPreprocessor -SMSWord: String -angka: String -fonetik: String -index: String -kelas: String -maknaAngka: String -processed: boolean -trueWord: String -word: String
SMSAccuracyTester +SMSAccuracyTester() +compareSMS(SMSHasilRender: String, SMSPembanding: String) +main(args: String)
+SMSPreprocessor() +getIndex() +getKelas() +getMaknaAngka() +getSMSWord() +getTrueWord() +isAdaAngka(str: String) +isAdaImbuhan(str: String) +isAngka() +isAngka2(str: String) +isAngka4(str: String) +isAngkaIdentical(str: String) +isFonetik() +isPhonetic(name: String, PDL: PhoneticDictionaryLoader) +isProcessed() +isStrAngka(str: String) +isStrNama(name: String, NDL: NameDictionaryLoader) +main(args: String) +preprocessor(sms: String, NDL: NameDictionaryLoader, PhoneticDictionaryLoader: PDL) +setAngka(angka: boolean) +setFonetik(fonetik: boolean) +setIndex(index: int) +setKelas(kelas: int) +setMaknaAngka(maknaAngka: String) +setProcessed(processed: boolean) +setSMSWord(SMSWord: String) +setTrueWord(trueWord: String) +setWord(word: String)
SMSPostprocessor -word: String +SMSPostprocessor() +angkaToFonem(c: char) +angkaToHuruf(c: char) +getWord() +hurufToFonem(c: char) +main(args: String) +postprocessor(index: int, SMSPrep: SMSPreprocessor) +prosesKelasEmpat(sms: String) +prosesKelasLima(sms: String) +prosesKelasSatu(sms: String) +prosesKelasTiga(sms: String) +setWord(word: String)
SMSParser -sms: String[] +SMSParser() +getSms() +main(args: String) +parser(smsText: String) +setSms(sms: String[])
SMSRendererUI PhoneticDictionaryMaker -br: BufferedReader -bw: BufferedWriter -fileKamus: FileReader -file_kamus: FileWriter -name: Vector <String> +size: int +PhoneticDictionaryMaker() +getName() +getSize() +loadPhoneticDict() +main(args: String) +makePhoneticDict(nameToInsert: String) +setPhonetic(phonetic: Vector) +setSize(size: int)
F-1
SMSDictionaryMaker -br: BufferedReader -bw: BufferedWriter -fileKamus: FileReader -file_kamus: FileWriter -namaFile: String -word: Vector<String> +SMSDictionaryMaker() +getNamaFile() +getWord() +isStrAngka() +isStrNama() +loadSmsDict() +makeSmsDict()
NameDictionaryMaker -br: BufferedReader -bw: BufferedWriter -fileKamus: FileReader -file_kamus: FileWriter -name: Vector<String> +NameDictionaryMaker() +getName() +getSize() +loadNameDict() +makeNameDict(nameToInsert: String) +setName()
LAMPIRAN G SEQUENCE DIAGRAM G.1 Pengubahan SMS
G.2 Penghitungan Akurasi Perubahan SMS
G-1
G.3 Penambahan kosakata baru dalam daftar kata
G.4 Penambahan kosakata baru dalam kamus fonetik
G.5 Penambahan kosakata baru dalam kamus nama
G-2
LAMPIRAN H DETAIL KELAS PERANCANGAN H.1 Kelas SMSParser Kelas ini merupakan kelas yang mengimplementasikan fungsi pemecahan SMS menjadi tabel kata. Operasi utama yang dimiliki kelas ini adalah sebagai berikut: Function parser(input smsText : String) : Array of String Masukan : String yang berisi teks sms Keluaran : Array of String yang berupa kata-kata dalam sms Proses : Memecah String SMS menjadi array dari String kata dalam SMS
H.2 Kelas SMSPreprocessor Kelas ini merupakan kelas yang mengimplementasikan algoritma preprocessing yang dibahas pada subbab 3.4. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Function isAdaAngka(input str : String) : Boolean Masukan : String yang berisi satu kata Keluaran : Boolean Proses
:
Memberikan
nilai
True
jika
dalam
String
str
mengandung
karakter,
dan
imbuhan,
dan
sebaliknya Function isAdaImbuhan(input str : String) : Boolean Masukan : String yang berisi satu kata Keluaran : Boolean Proses
:
Memberikan
nilai
True
jika
dalam
String
str
mengandung
sebaliknya Function isPhonetic(input str : String, PDL : PhoneticDictionaryLoader) : Boolean Masukan : String yang berisi satu kata,dan Kamus Kata Substitusi Fonetik Keluaran : Boolean Proses : Memberikan nilai True jika String str adalah kata substitusi fonetik, dan sebaliknya Function isStrAngka(input str : String) : Boolean Masukan : String yang berisi satu kata Keluaran : Boolean Proses : Memberikan nilai True jika String str berupa string yang merepresentasikan angka (misal: 123, 999, 777), dan sebaliknya.
H-1
Function isStrName(input str : String, NDL : NameDictionaryLoader) : Boolean Masukan : String yang berisi satu kata Keluaran : Boolean Proses : Memberikan nilai True jika String str berupa nama (nama orang, judul buku), dan sebaliknya Procedure preprocessor() Keluaran : Nilai-nilai atribut pada kelas SMSPreprocessor telah diset sesuai Proses : Jika nilai atribut processed bernilai true maka atribut yang lain akan diset
H.3 Kelas SMSClassification Kelas ini merupakan kelas yang mengimplementasikan aturan produksi yang dibentuk oleh pohon keputusan. Kelas ini bertugas melakukan klasifikasi dari masing-masing kata yang terdapat dalam pesan singkat. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Procedure klasifikasi(input/output spr : SMSPreprocessor) Masukan : Kelas SMSPreprocessor Keluaran : Kelas SMSPreprocessor yang telah diset atribut kelasnya Proses : Melakukan pengesetan atribut kelas SMSPreprocessor
H.4 Kelas SMSPostprocessor Kelas ini merupakan kelas yang mengimplementasikan algoritma postprocessor pada subbab 3.5. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut:
Function angkaToFonem(input c : char) : String Masukan : Karakter angka (0-9) Keluaran : String yang merepresentasikan bunyi dari angka (0-9) Proses : Melakukan pergantian karakter angka menjadi String yang merepresentasikan bunyinya. Function angkaToHuruf(input c : char) : String Masukan : Karakter angka (0-9) Keluaran : String yang bentuknya mirip dengan angka Proses : Melakukan pergantian karakter angka menjadi String yang bentuknya mirip dengan angka Function hurufToFonem(input c : char) : String Masukan : Karakter yang menggantikan fonem Keluaran : String yang merepresentasikan fonem yang digantikan oleh karakter masukan Proses : Melakukan pergantian karakter menjadi String yang merepresentasikan fonem
H-2
Procedure prosesKelasSatu(input sms : String) Masukan : String Kata dalam SMS Keluaran : Atribut word dari kelas ini Proses : Melakukan pemrosesan String kata untuk kata yang berkelas satu (telah didefinisikan di Preprocessor) Procedure prosesKelasTiga(input sms : String) Masukan : String Kata dalam SMS Keluaran : Atribut word dari kelas ini Proses : Melakukan pemrosesan String kata untuk kata yang berkelas tiga (telah didefinisikan di Preprocessor) Procedure prosesKelasEmpat(input sms : String) Masukan : String Kata dalam SMS Keluaran : Atribut word dari kelas ini Proses : Melakukan pemrosesan String kata untuk kata yang berkelas empat (telah didefinisikan di Preprocessor) Procedure prosesKelasSatu(input sms : String) Masukan : String Kata dalam SMS Keluaran : Atribut word dari kelas ini Proses : Melakukan pemrosesan String kata untuk kata yang berkelas lima (telah didefinisikan di Preprocessor) Procedure postprocessor(input spr :SMSPreprocessor) Masukan : Kelas SMSPreprocessor Keluaran : Kelas SMSPreprocessor yang telah diset atribut kelasnya Proses : Melakukan pengesetan atribut word dari SMSPreprocessor
H.5 Kelas SMSDictionary Kelas ini merupakan kelas yang mengimplementasikan algoritma daftar kata pada subbab 3.5. Kelas ini bertugas mencari padanan kata yang paling tepat dari daftar kata yang dimiliki oleh program. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Function isStringSama(input sms : String, dict : String):Boolean Masukan : String pada SMS dan String pada daftar kata Keluaran : Boolean Proses : True jika sms cukup cocok dengan dict Procedure openFileDict(input namaFile :File) Masukan : nama file yang menyimpan daftar kata Keluaran : Proses : Membuka file daftar kata Procedure searchDictionary(input spr : SMSPreprocessor) Masukan : Kelas SMSPreprocessor Keluaran : List CandidateWord yang terisi dengan kata yang cocok Proses : CandidateWord telah terisi dengan kata-kata yang cocok
H-3
Procedure searchWordInDictionary(input spr : SMSPreprocessor) Masukan : Kelas SMSPreprocessor Keluaran : Kelas SMSPreprocessor yang telah diset atribut trueWord Proses : Mengeset atribut trueWord dari kelas SMSPreprocessor dengan kata yang paling cocok dari daftar kata
H.6 Kelas SMSAccuracyTester Kelas ini merupakan kelas yang berfungsi membandingkan pesan singkat hasil transformasi dengan pesan singkat pembanding yang didapatkan dari pengguna perangkat lunak. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut:
Function compareSMS(input sms : String, smsPembanding : String) : Real Masukan : String yang akan dibandingkan (sms dan smsPembanding) Keluaran : nilai akurasi Proses : Membandingkan kesamaan dua buah String untuk kemudian dihitung perbandingan kebenarannya
H.7 Kelas NameDictionaryLoader Kelas ini berfungsi untuk mengambil kata-kata yang berupa nama dari sebuah file eksternal yang merupakan kamus nama. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Procedure loadNameDict(input namaFile :File) Masukan : nama file yang menyimpan kamus nama Keluaran : atribut Vector dari kelas ini telah diisi dengan kata-kata dari kamus nama Proses : Membuka file daftar nama, kemudian mengambil nama-nama yang ada di daftar nama tersebut dan kemudian mengisikannya ke Vector
H.8 Kelas PhoneticDictionaryLoader Kelas ini berfungsi untuk mengambil kata-kata yang berupa kata substitusi fonetik dari sebuah file eksternal yang merupakan kamus fonetik. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Procedure loadNameDict(input namaFile :File) Masukan : nama file yang menyimpan kamus fonetik Keluaran : atribut Vector dari kelas ini telah diisi dengan kata-kata dari kamus
H-4
fonetik Proses : Membuka file daftar fonetik, kemudian mengambil nama-nama yang ada di daftar fonetik tersebut dan kemudian mengisikannya ke Vector
H.9 Kelas SMSDictionaryMaker Kelas in berfungsi untuk menambahkan kata-kata yang selain nama ke dalam file eksternal daftar kata. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Procedure loadSmsDict(input namaFile :File) Masukan : nama file yang menyimpan daftar kata Keluaran : Proses : Membuka file daftar kata Procedure makeSmsDict(input wordToInsert : String) Masukan : String kata yang akan dimasukkan Keluaran : File yang telah diisi dengan wordToInsert Proses : Memasukkan wordToInsert ke File Procedure cleanVector() Masukan : Vector dari kelas ini Keluaran : Vector dari kelas ini yang telah dikosongkan Proses : Mengosongkan Vector dari kelas ini
H.10 Kelas NameDictionaryMaker Kelas in berfungsi untuk menambahkan kata-kata yang berupa nama ke dalam file eksternal kamus daftar nama. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Procedure loadNameDict(input namaFile :File) Masukan : nama file yang menyimpan daftar nama Keluaran : Proses : Membuka file daftar nama Procedure makeNameDict(input nameToInsert : String) Masukan : String nama yang akan dimasukkan Keluaran : File yang telah diisi dengan nameToInsert Proses : Memasukkan nameToInsert ke File
H-5
H.11 Kelas PhoneticDictionaryMaker Kelas in berfungsi untuk menambahkan kata-kata yang berupa kata subtitusi fonetik ke dalam file eksternal kamus daftar fonetik. Operasi-operasi utama yang dimiliki kelas ini adalah sebagai berikut: Procedure loadNameDict(input namaFile :File) Masukan : nama file yang menyimpan daftar nama Keluaran : Proses : Membuka file daftar nama Procedure makeNameDict(input fonetikToInsert : String) Masukan : String nama yang akan dimasukkan Keluaran : File yang telah diisi dengan fonetikToInsert Proses : Memasukkan fonetikToInsert ke File
H.12 Kelas SMSRendererUI Kelas ini berfungsi sebagai antarmuka perangkat lunak yang memungkinkan terjadinya interaksi antara perangkat lunak dengan pengguna. Kelas ini selanjutnya akan memanggil kelas yang lainnya untuk melakukan operasi utama dari perangkat lunak ini.
H-6
LAMPIRAN I RENCANA PENGUJIAN DAN KASUS UJI I.1 Rencana Pengujian
No
Use Case
Pengujian
Jenis Pengujian
1
Melakukan Pengubahan Skenario normal
Black box
SMS 2
Melakukan Penghitungan
Skenario normal
Black box
Skenario normal
Black box
Skenario normal
Black box
Skenario normal
Black box
Akurasi
Perubahan SMS 3
Menambahkan Kosakata Baru dalam Daftar Kata
4
Menambahkan Kosakata Baru dalam Kamus Fonetik
5
Menambahkan Kosakata Baru dalam Kamus Nama
I-1
I.2 Kasus Uji
1. Pengujian Use Case Melakukan Pengubahan SMS Deskripsi
Prosedur Pengujian
Masukan
Keluaran
yang Kriteria
Diharapkan
Evaluasi
Hasil
yang
Didapat
Hasil Pengujian pengubaha n
o Isi area teks untuk - Teks sms
Perangkat
area teks sms dengan yang lunak
teks sms
SMS o Tekan
berhasil, Sesuai
o Jika
hasil
tombol
diharapkan
mampu
transformasi
melakukan
mengakses
akan
pengubahan
area
dengan
change sms
dengan
teks
terisi sms
singkatan
pada
yang
telah
perangkat
berhasil
nilai akurasi
lunak untuk
ditransformasik
tertentu.
mengisikan
an
teks sms
masukan
dari
SMS dengan
sms
2. Pengujian Use Case Melakukan Penghitungan Akurasi Perubahan SMS Deskripsi
Prosedur Pengujian
Masukan
Keluaran
yang Kriteria
Diharapkan
Evaluasi
Hasil
yang
Didapat
Hasil Pengujian fungsi
perubahan
Perangkat
SMS o Jika
hasil
nilai
akurasi dengan yang lunak
akan
diharapkan
Pembanding
menghitung o Tekan Tombol cek transformasi akurasi
berhasil, Sesuai
o Isi teks area SMS Teks
akurasi
mampu
, Teks SMS
ditampilkan
menghitung
Pembanding
kepada
akurasi
pengguna
pengubahan
SMS
SMS
yang
tela dilakukan
I-2
3. Pengujian Use Case Menambahkan Kosakata Baru dalam Daftar Kata Deskripsi
Prosedur Pengujian
Masukan
Keluaran
yang Kriteria
Diharapkan
Evaluasi
Hasil
yang
Didapat
Hasil Pengujian
o Mengisi field teks String
o Kosakata baru Sesuai
Perangkat
penambaha
dengan kosakata kosakata
akan
dengan yang lunak mampu
n kosakata
baru
ditambahkan di diharapkan
menambahka
baru dalam o Tekan tombol Add
berkas
n kata dalam
daftar kata
kata
daftar yang
daftar kata.
bersesuaian
4. Pengujian Use Case Menambahkan Kosakata Baru dalam Kamus Fonetik Deskripsi
Prosedur Pengujian
Masukan
Keluaran
yang Kriteria
Diharapkan
Evaluasi
Hasil
yang
Didapat
Hasil Pengujian
o Kosakata baru Sesuai
o Mengisi field teks String
Perangkat
dengan yang lunak mampu
penambaha
dengan kosakata kosakata
akan
n kosakata
baru
ditambahkan di diharapkan
menambahka
baru dalam o Tekan tombol Add
berkas
n kata dalam
kamus
Fonetik
fonetik
bersesuaian
I-3
Kamus yang
kamus fonetik
5. Pengujian Use Case Menambahkan Kosakata Baru dalam Kamus Nama Deskripsi
Prosedur Pengujian
Masukan
Keluaran
yang Kriteria
Diharapkan
Evaluasi
Hasil
yang
Didapat
Hasil Pengujian
o Kosakata baru Sesuai
o Mengisi field teks String
Perangkat
dengan yang lunak mampu
penambaha
dengan kosakata kosakata
akan
n kosakata
baru
ditambahkan di diharapkan
menambahka
baru dalam o Tekan tombol Add
berkas
Kamus
n kata dalam
Kamus
Nama
yang
kamus nama.
Nama
bersesuaian akan
I-4
I.3 Tabel hasil penghitungan akurasi pengubahan SMS
No.
Teks SMS input
Teks SMS Hasil Transformasi
Teks SMS Pembanding
Nilai Akurasi
1
syp nm anggt yg brnmr id 009
siapa nama anggota yang bernomor id 009
siapa nama anggota yang bernomor id 009
100.00%
2
dmn almt aggt yg bernmr id 009 bk2 ap yg sdg dipinjam anggt yg brnmr id 009
dimana alamat anggota yang bernomor id 009 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009
100.00%
3 4 5
kpn trkhr angg brnmr id 009 mmnjm bk kpn bk Matematika Diskrit shrsny dkmblkn oleh angg brnmr id 009
dimana alamat anggota yang bernomor id 009 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009 kapan terakhir anggota bernomor id 009 meminjam buku‐ buku kapan buku‐buku Matematika Diskrit seharusnya dikembalikan oleh anggota bernomor id 009
6
brp jmlh angg saat 1n1
berapa jumlah anggota saat ini
berapa jumlah anggota saat ini
100.00%
7
brp nmr id Rian Hadisaputra
berapa nomor id Rian Hadisaputra
berapa nomor id Rian Hadisaputra
100.00%
8
apkh bk Machine Learning sdng dpnjm
apakah buku‐buku Machine Learning sedang dipinjam
apakah buku Machine Learning sedang dipinjam
50.00%
9
apkh jdl bku yg brnmr id 1001
apakah judul buku‐buku yang bernomor id 1001
apakah judul buku yang bernomor id 1001
85.71%
10
brp jmlh kleks bk saat 1ni
berapa jumlah koleksi buku‐buku saat ini
berapa jumlah koleksi buku saat ini
83.33%
11
brp no rak bk Modern Information Retrieval
berapa nomor rak buku‐buku Modern Information Retrieval
berapa nomor rak buku Modern Information Retrieval
50.00%
12
apkh ad ISBN bk yg dplkt
apakah ada isbn buku‐buku yang duplikat
apakah ada ISBN buku yang duplikat
16.67%
13
berikn dftr bk yg brgnre fiksi berikn dftr pnrbt bk yg diklks olh prpstkn ini
berikan daftar buku yang bergenre fiksi berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini
83.33%
14
berikan daftar buku‐buku yang bergenre fiksi berikan daftar penerbit buku‐buku yang dikoleksi oleh perpustakaan ini
15
ap sj bk yg plg tua di prpstkn ini
apa saja buku yang paling tua di perpustakaan ini
88.89%
16
apa saja buku terbaru yang dikoleksi oleh perpustakaan ini sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan
22.22%
17
ap sj bk yg trbr yg dkolks oleh prpstkn ini sbtkn pnrbt yg bkny plg bnyk dklks oleh perpustakaan 1n1
apa saja buku‐buku yang paling tua di perpustakaan ini apa saja buku‐buku yang terbaru yang dikoleksi oleh perpustakaan ini sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan ini
100.00%
18
bk2 apa sj yg ditrbitkan thn 1930
buku‐buku apa saja yang diterbitkan tahun 1930
buku‐buku apa saja yang diterbitkan tahun 1930
100.00%
19 20
bk ap sj yng dikarng olh Tanenbaum dmn tmpt shrsnya menruh bk Enterprise Information System
21
sbtkn pengrng2 bk yang berasl dr Belanda
buku‐buku apa saja yang dikarang oleh Tanenbaum dimana tempat seharusnya menaruh buku‐buku Enterprise Information System sebutkan pengarang‐pengarang buku‐buku yang berasal daftar Belanda
buku apa saja yang dikarang oleh Tanenbaum dimana tempat seharusnya menaruh buku Enterprise Information System sebutkan pengarang‐pengarang buku yang berasal dari Belanda
I-5
kapan terakhir anggota bernomor id 009 meminjam buku kapan buku Matematika Diskrit seharusnya dikembalikan oleh anggota bernomor id 009
100.00% 87.50% 90.90%
88.89%
85.71% 87.50% 71.42%
No.
Teks SMS input
Teks SMS Hasil Transformasi
Teks SMS Pembanding
22
apkh bk Data Mining Concepts and Techniques akn dikemblkn pd j9 hr 1n1
apakah buku‐buku Data Mining Concepts and Techniques akan dikembalikan pada jg hari ini
23
ap spesialisasi pngrng Tom Mitchel
apa spesialisasi pengarang‐pengarang Tom Mitchel
apa spesialisasi pengarang Tom Mitchel
24
sbtkn penls jrnl yg bdg ilmuny adlh Fisika
sebutkan penulis jurnal yang bidang ilmunya adalah Fisika
sebutkan penulis jurnal yang bidang ilmunya adalah Fisika
100.00%
25
b3rp bnyk p3nls jrnal yg instsny adlh MIT
berapa banyak penulis jurnal yang institusinya adalah MIT
berapa banyak penulis jurnal yang institusinya adalah MIT
100.00%
26
ap sj 9enr3 mjlh yg dikolksi
apa saja genre majalah yang dikoleksi
apa saja genre majalah yang dikoleksi
100.00%
27
s3btkn mjlah trtua yg menjd k0l3ks1
sebutkan majalah tertua yang menjadi koleksi
sebutkan majalah tertua yang menjadi koleksi
100.00%
28
sbtkn nm mjlh yg tdk trbt pd thn 1997
sebutkan nama majalah yang tidak terbit pada tahun 1997
sebutkan nama majalah yang tidak terbit pada tahun 1997
100.00%
29
sbtkn k0rn t3rtua yg d1kOl3ks1 p3rpstkaan
sebutkan koran tertua yang dikoleksi perpustakaan
sebutkan koran tertua yang dikoleksi perpustakaan
100.00%
30 31
sbtkn krn yg br mule trbt pd thn 2003 thn brp klks1 korn Kompas yg trtua yg d1m1l1k1 olh perpstkaan
sebutkan koran yang bernomor mule terbit pada tahun 2003 tahun berapa koleksi koran KOMPAS yang tertua yang dimiliki oleh perpustakaan
sebutkan koran yang baru mulai terbit pada tahun 2003 tahun berapa koleksi koran Kompas yang tertua yang dimiliki oleh perpustakaan
32
syp nm an99t y9 brnmr id 009
siapa nama anggota yang bernomor id 009
siapa nama anggota yang bernomor id 009
100.00%
33
dmn almt an99t y9 brnmr id 009
36
bku2 ap y9 sd9 dpnjm an99t yg brnmr id 009 kpn t3rakhr angg0ta b3rn0 id 009 m3m1njm bk kpn bk Matematika Diskrit s3hrsnya d1k3mbl1kn 0lh an66t b3rnmr id 009
dimana alamat anggota yang bernomor id 009 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009
100.00%
34
dimana alamat anggota yang bernomor id 009 buku‐buku apa yang sedang dipinjam anggota yang bernomor id 009 kapan terakhir anggota bernomor id 009 meminjam buku‐ buku kapan buku‐buku Matematika Diskrit stigahrsnya dikembalikan oleh anggota bernomor id 009
37
b3rp jmlh an66 saat ini
berapa jumlah anggota saat ini
berapa jumlah anggota saat ini
100.00%
38
b3rp n0 id Rian Hadisaputra
berapa nomor id Rian Hadisaputra
berapa nomor id Rian
100.00%
39
apkh bk Machine Learning s3dng d1p1njm
apakah buku‐buku Machine Learning sedang dipinjm
apakah buku Oracle sedang dipinjam
83.33%
40
apkh jdl bk yang b3rn0 id 1001
apakah judul buku‐buku yang bernomor id 1001
apakah judul buku yang bernomor id 1001
85.71%
41
b3rp jmlh k0l3ksi bk saat in
berapa jumlah koleksi buku‐buku saat ini
berapa jumlah koleksi buku saat ini
83.33%
42
brpa n0m0r rak bk Machine Learning
berapa nomor rak buku‐buku Machine Learning
berapa nomor rak buku Oracle
83.33%
43
apakh ada ISBN bk y6 dupl1kt
apakah ada isbn buku‐buku yang duplikat
apakah ada ISBN buku yang duplikat
83.33%
44
brkn dftr bk yg ber6enr3 fiksi brkn dftr p3nrbt y6 d1k0l3ks1 0l3h p3rpustakaan 1n1
berikan daftar buku‐buku yang berenamenrtiga fiksi
berikan daftar buku yang bergenre fiksi berikan daftar penerbit buku yang dikoleksi oleh perpustakaan ini
66.66%
35
45
berikan daftar penerbit yang dikoleksi oleh perpustakaan ini
I-6
apakah buku Data Mining Concepts and Techniques akan dikembalikan pada jam 9 hari ini
Nilai Akurasi
kapan terakhir anggota bernomor id 009 meminjam buku kapan buku Oracle seharusnya dikembalikan oleh anggota bernomor id 009
57.42% 80.00%
77.79% 100.00%
100.00% 87.50% 81.81%
33.33%
No.
Teks SMS input
46
apa sj bk y6 pln9 tua d prpstkaan ini
47
Teks SMS Hasil Transformasi
Teks SMS Pembanding
Nilai Akurasi
apa saja buku yang paling tua di perpustakaan ini
77.78%
apa saja buku terbaru yang dikoleksi oleh perpustakaan ini sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan
22.22%
48
ap sja bku yan6 t3rbr yg diklks olh prpstkn ini sbtkn p3n3rbt y6 bkny pl9 bnyk dik0lksi oleh p3rpus ini
apa saja buku‐buku yang paling tua d perpustakaan ini apa saja buku‐buku yang terbaru yang dikoleksi oleh perpustakaan ini sebutkan penerbit yang bukunya paling banyak dikoleksi oleh perpustakaan ini
100.00%
49
bk‐bk ap sj yn6 dit3rbtkn thn 1930
buku‐buku apa saja yang diterbitkan tahun 1930
buku‐buku apa saja yang diterbitkan tahun 1930
100.00%
50
bk ap sj yn9 d1karn9 ol3h Tanenbaum
buku‐buku apa saja yang dikarang oleh Tanenbaum
buku apa saja yang dikarang oleh Tom Mitchel
85.71%
Rata‐rata akurasi
83.63%
I-7