pengembangan sistem pengecekan format skripsi dan ejaan

advertisement
PENGEMBANGAN SISTEM PENGECEKAN FORMAT
SKRIPSI DAN EJAAN BAHASA INDONESIA
OTRI DELVI
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
ABSTRACT
OTRI DELVI. System Development for checking thesis format and Indonesian spelling.
Supervised by MUSHTHOFA.
One of the requirements for an undergraduate degree at Bogor Agricultural University is that
every student is required to write the thesis of in a form scientific paper using a predefined format.
Currently, Bogor Agricultural University designed a new format of thesis writing. A system is
needed to provide a thesis template and check the thesis according to the defined format to
simplify the task of the student in writing the thesis and to ease the burden of the lecturers in
examining the students writing. This research creates a Microsoft Office Word add-in that has
three main functions: Generate New Thesis Template, Spell Checking, and Format Check. The
Generate New Template function can give a new example of a thesis, user can add their need to
write on the template’s file. The Spell Checking process uses Kamus Besar Bahasa Indonesia
database to check the spelling of the thesis. The system marks any spelling or format error using
the Microsoft Office Word comments. After that, the user can choose to correct or ignore the
comments. This add-in application has two advantages, firstly it can simplify and shorten the
student’s time for checking the format and spelling; secondly it can ease the burden of the lecturer
in examining the students writing. The running time for the Spell Checking process is 20.08
seconds for 5000 words of thesis, and the Format Checking is 1.16 seconds for 20 pages of thesis.
Keyword : Add-ins, Spell Check, Template, Thesis Correction,VSTO.
PENGEMBANGAN SISTEM PENGECEKAN FORMAT
SKRIPSI DAN EJAAN BAHASA INDONESIA
OTRI DELVI
Skripsi
sebagai salah satu syarat untuk memperoleh gelar
Sarjana Komputer pada
Departemen Ilmu Komputer
DEPARTEMEN ILMU KOMPUTER
FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM
INSTITUT PERTANIAN BOGOR
BOGOR
2012
Judul Skripsi
Nama
NIM
: Pengembangan Sistem Pengecekan Format Skripsi dan Ejaan Bahasa Indonesia
: Otri Delvi
: G64070086
Menyetujui:
Pembimbing,
Mushthofa, S.Kom, M.Sc
NIP. 19820325 300912 1 003
Mengetahui:
Ketua Departemen Ilmu Komputer,
Dr. Ir. Agus Buono, M.Si, M.Kom
NIP. 19660702 199302 1 001
Tanggal Lulus:
RIWAYAT HIDUP
Penulis dilahirkan di Lintau Buo, Sumatera Barat pada tanggal 12 Oktober 1989 dari
pasangan Bapak Yufrizal dan Ibu Arnida. Penulis adalah putra pertama dari tiga bersaudara.
Penulis lulus dari Sekolah Menengah Atas (SMA) Negeri 1 Padang Panjang pada tahun 2007 dan
pada tahun yang sama diterima sebagai mahasiswa Institut Pertanian Bogor melalui jalur Seleksi
Penerimaan Mahasiswa Baru (SPMB).
Selama mengikuti perkuliahan, penulis aktif sebagai staf Departemen Sosial dan
Lingkungan BEM FMIPA IPB pada tahun ajaran 2009/2010, serta staf Kementerian Sosial
Kemasyarakatan BEM KM IPB pada tahun ajaran 2010/2011. Penulis juga pernah menjadi
pengajar mata kuliah TPB di bimbingan belajar dan privat mahasiswa. Pada bulan Juli dan
Agustus 2011, penulis melaksanakan Praktik Lapangan di Pusat Teknologi Pengembangan Sumber
Daya Alam Badan Pengkajian dan Penerapan Teknologi (BPPT) Jakarta dengan judul Pergeseran
Nilai Tepi Kanal Merah (REP) Data Hyperspectral dengan Metode Polynomial Fitting. Penulis
juga pernah mengikuti Program Kreativitas Mahasiswa pada tahun 2011.
PRAKATA
Puji dan syukur penulis panjatkan kepada Allah Subhanahu wa-ta'ala atas segala karuniaNya sehingga skripsi ini dapat diselesaikan. Skripsi yang berjudul Pengembangan Sistem
Pengecekan Format Skripsi dan Ejaan Bahasa Indonesia ini merupakan penelitian yang dilakukan
oleh penulis dari bulan September 2011 sampai bulan Juli 2012.
Penulis mengucapkan terima kasih kepada Bapak Mushthofa, S.Kom, M.Sc sebagai
pembimbing yang telah memberi saran, masukan, dan ide-ide kepada penulis dalam menyusun
skripsi ini. Penulis juga mengucapkan terima kasih kepada seluruh staf pengajar Departemen Ilmu
Komputer atas ilmu yang telah diberikan, serta tidak lupa kepada staf tata usaha yang membantu
administrasi selama kuliah di Institut Pertanian Bogor.
Ungkapan terima kasih juga disampaikan kepada ayah, ibu, serta seluruh keluarga atas doa
dan kasih sayang dan semangat yang terus diberikan kepada penulis. Begitu juga kepada Rina
yang selalu senantiasa memberi semangat kepada penulis dalam menyelesaikan skripsi ini,
kemudian kepada Vai, Gamma, Mustafa, Yanta, Aco, Bangun, Rilan, Ridwan, Rifqi, Sayed, Kaka
dan seluruh teman-teman Ilmu Komputer 44 atas bantuan, semangat, motivasi dan
kebersamaannya selama penyusunan skripsi ini.
Semoga penelitian ini dapat memberikan manfaat kepada pembaca sebagai referensi
penelitian lanjutan dan pengembangan ilmu pengetahuan.
Bogor, September 2012
Otri Delvi
DAFTAR ISI
Halaman
DAFTAR TABEL ...................................................................................................................... vi
DAFTAR GAMBAR .................................................................................................................. vi
DAFTAR LAMPIRAN ............................................................................................................... vi
PENDAHULUAN
Latar Belakang.................................................................................................................. 1
Tujuan .............................................................................................................................. 1
Manfaat Penelitian ............................................................................................................ 1
Ruang Lingkup ................................................................................................................. 1
TINJAUAN PUSTAKA
Visual Studio Tools for Office (VSTO) ............................................................................. 2
Model Objek Office .......................................................................................................... 2
Model Objek Word ........................................................................................................... 2
Regular Expression (RegEx) ............................................................................................. 2
Levenshtein Distance ........................................................................................................ 3
Stemming ......................................................................................................................... 3
METODE PENELITIAN
Studi Pustaka .................................................................................................................... 4
Perancangan Template Skripsi .......................................................................................... 4
Perancangan Pengecekan Ejaan Penulisan Skripsi.............................................................. 4
Perancangan Pengecekan Format Penulisan Skripsi ........................................................... 5
Pengembangan .................................................................................................................. 6
Pengujian dan Evaluasi ..................................................................................................... 6
HASIL DAN PEMBAHASAN
Analisis Kebutuhan dan Batasan Sistem ............................................................................ 6
Lingkungan Pengembangan Sistem ................................................................................... 6
Pengembangan Sistem....................................................................................................... 7
Fungsi Generate Template Skripsi ..................................................................................... 7
Pemeriksaan Ejaan Bahasa Indonesia ................................................................................ 7
Fungsi Pengecekan Format Skripsi .................................................................................... 7
Implementasi Regular Expression dan Levenshtein Distance pada Sistem .......................... 8
Perancangan Antarmuka.................................................................................................... 9
Pengujian dan Evaluasi ................................................................................................... 10
Persyaratan Minimum Sistem .......................................................................................... 11
Kekurangan Sistem ......................................................................................................... 11
KESIMPULAN ......................................................................................................................... 12
SARAN ..................................................................................................................................... 12
DAFTAR PUSTAKA ................................................................................................................ 12
LAMPIRAN .............................................................................................................................. 13
v
DAFTAR TABEL
Halaman
1
2
3
4
5
6
7
8
Aturan section .......................................................................................................................... 5
Contoh pola string daftar pustaka ............................................................................................. 8
Indikator string peubah............................................................................................................. 9
Aturan string pattern daftar pustaka .......................................................................................... 9
Daftar pengujian black box pada sistem .................................................................................. 10
Hasil pengecekan format dengan metode Black box testing ..................................................... 11
Hasil pengujian waktu pengecekan ejaan skripsi ..................................................................... 11
Hasil pengujian tingkat keberhasilan sistem ............................................................................ 11
DAFTAR GAMBAR
1
2
3
4
5
6
7
8
9
10
Halaman
Hierarki model objek. ............................................................................................................... 2
Tahapan penelitian. .................................................................................................................. 4
Flowchart pengecekan ejaan bahasa Indonesia. ......................................................................... 4
Grafik waktu pengecekan ejaan bahasa Indonesia. .................................................................... 7
Grafik waktu pengecekan format skripsi. .................................................................................. 8
Antarmuka add-in sistem pengecekan skripsi. ......................................................................... 10
Form progress bar pada saat pengecekan ejaan. ...................................................................... 10
Komentar kesalahan pada pengecekan ejaan bahasa Indonesia. ............................................... 10
Komentar kesalahan pada pengecekan format skripsi. ............................................................. 10
Form masukan kata pada Ignore Words. ................................................................................. 10
DAFTAR LAMPIRAN
1
2
3
4
5
6
Halaman
Rancangan ketentuan penulisan skripsi dengan format baru..................................................... 14
Datar pengecekan pada tiap section......................................................................................... 16
Hasil pengujian pengecekan ejaan........................................................................................... 21
Daftar string Regular Expression pengecekan daftar pustaka ................................................... 20
Hasil pengujian pengecekan format ........................................................................................ 22
Pengujian White Box pada Sistem ........................................................................................... 23
vi
1
PENDAHULUAN
Latar Belakang
Skripsi atau tugas akhir merupakan salah
satu kewajiban bagi setiap mahasiswa jenjang
pendidikan sarjana sebagai persyaratan
akademis untuk mendapatkan gelar sarjana
(S1). Tugas akhir disusun dalam sebuah
laporan berbentuk karya ilmiah. Institut
Pertanian Bogor (IPB) memiliki format
tertentu dalam penulisan skripsi.
Masalah
kesalahan-kesalahan
dalam
penulisan format skripsi dan ejaan merupakan
kendala yang sering terjadi selama proses
penulisan skripsi. Dosen dan mahasiswa harus
memeriksa ulang skripsi untuk mencari letak
kesalahan format dan penulisan pada laporan
tugas
akhir
secara
manual.
Proses
pemeriksaan secara manual ini tentunya akan
menyita banyak waktu, sehingga proses
penulisan skripsi menjadi lama.
Salah satu aplikasi yang digunakan dalam
menulis skripsi ialah Microsoft Office Word.
Sebelumnya sudah dibangun sebuah sistem
pengecekan format skripsi oleh Olimpiyanto
(2011) dalam bentuk sebuah add-in pada
Microsoft Office Word 2007 yang memiliki
fungsi pemeriksaan format penulisan dan
fungsi pemeriksaan ejaan pada dokumen
skripsi.
Fungsi pengecekan ejaan pada sistem
tersebut menggunakan fungsi spell checker
Microsoft Office 2007 dengan tambahan
kamus Bahasa Indonesia dari aplikasi
StarDict. Tidak semua kata pada dokumen
diperiksa, hanya kata-kata yang masuk dalam
spelling error Microsoft Office Word saja.
Dengan demikian kata-kata dalam bahasa
asing yang tidak disalahkan dalam spelling
error akan dianggap benar. Waktu
pengecekan pada sistem ini juga masih lama.
Untuk pemeriksaan ejaan bahasa Indonesia
yang baik diperlukan stemming pada kata-kata
yang akan diperiksa. Nazief dan Andriani
telah membuat sebuah algoritme stemming
untuk pengecekan ejaan dalam bahasa
Indonesia dengan hasil yang sangat baik
(Asian 2007). Algoritme ini dapat digunakan
sebagai
langkah
pendukung
dalam
memperbaiki metode pengecekan ejaan yang
sebelumnya.
Fungsi pemeriksaan format skripsi pada
sistem sebelumnya hanya terbatas pada format
aturan penulisan Departemen Ilmu Komputer
IPB. Pada saat ini telah dirancang sebuah
aturan format penulisan skripsi yang baru.
Format penulisan ini akan dipakai secara
menyeluruh di Institut Pertanian Bogor. Oleh
karena itu fungsi pengecekan format yang
dibangun oleh sistem sebelumnya tidak bisa
digunakan lagi.
Oleh karena itu, perlu dikembangkan
sebuah sistem pengecekan bahasa indonesia
yang mampu mengatasi permasalahan di atas
dan juga melakukan pengecekan format dan
penulisan skripsi Institut Pertanian Bogor
yang sesuai dengan aturan format yang baru
(2012).
Tujuan
Tujuan penelitian ini yaitu:
1 Mengimplementasikan sebuah sistem
pengecekan format skripsi sesuai dengan
aturan format IPB yang baru (2012).
2 Memperbaiki metode pengecekan ejaan
bahasa
Indonesia
yang
telah
diimplementasikan sebelumnya dengan
menggunakan KBBI sebagai acuan katakata
yang
baku
dan
stemming
menggunakan algoritme Nazief dan
Andriani.
3 Mengukur efisiensi waktu pada sistem
yang dibangun dalam melakukan proses
pengecekan format dan ejaan.
Manfaat Penelitian
Penelitian ini diharapkan dapat bermanfaat
bagi mahasiswa dalam memeriksa skripsi
sesuai dengan format yang berlaku dan ejaan
yang benar serta juga meringankan beban
dosen dalam memeriksa tulisan mahasiswa
Institut Pertanian Bogor.
Ruang Lingkup
Ruang lingkup penelitian ini yaitu:
1 Format penulisan skripsi yang digunakan
merupakan
format
skripsi Institut
Pertanian Bogor rancangan tahun 2012.
2 Sistem diimplementasikan dalam add-in
Microsoft Office Word 2007 dan 2010.
3 Pengecekan ejaan hanya dilakukan untuk
bahasa Indonesia.
4 Pengecekan ejaan yang dilakukan hanya
sebatas kata-kata yang digunakan, tidak
melakukan pengecekan pada tanda baca
dan istilah.
2
TINJAUAN PUSTAKA
Visual Studio Tools for Office (VSTO)
Visual Studio Tools for Office (VSTO)
merupakan sebuah fungsi tambahan pada
Visual Studio yang digunakan untuk
memanfaatkan kekuatan dan fungsionalitas
teknologi Microsoft Office. Pada intinya,
VSTO hanyalah sebuah platform yang
memungkinkan dokumen Microsoft Office
untuk mengeksekusi kode yang ada pada
pemrograman .NET. Hal ini bukan berarti
bahwa teknologi VSTO satu-satunya media
yang tersedia untuk mengembangkan aplikasi
berbasis Microsoft Office. VSTO telah
dirancang untuk membuat aplikasi tersebut
lebih mudah dan lebih handal daripada
pendekatan yang tersedia (Bruney 2006).
VSTO menambahkan dukungan .NET
untuk pemrograman Word, Excel, Outlook
dan InfoPath untuk Visual Studio. VSTO
mengubah dokumen Word atau Excel menjadi
sebuah kelas .NET (.NET class) penuh
dengan data pendukung yang mengikat,
kontrol yang dapat dikodekan seperti
Windows Forms Control, dan keistimewaan
.NET lainnya. Hal ini memungkinkan
pengembang untuk menempatkan kode .NET
di dalam bentuk InfoPath. Pengembang
bahkan dapat memprogram kunci objek Office
tanpa harus melalui seluruh model objek
Office (Carter & Lippert 2005).
Model Objek Office
Hampir semua program Office melibatkan
penulisan kode yang menggunakan model
objek dari aplikasi Office. Model Objek
Office adalah sekumpulan objek yang
disediakan aplikasi Office yang dapat
digunakan untuk mengontrol aplikasi Office.
Model objek memiliki tingkatan pengaksesan.
Model objek yang disediakan bergantung dari
jenis aplikasi Office yang digunakan.
Application
Documents
Tiap model objek aplikasi Office terdiri
atas banyak objek yang digunakan untuk
mengontrol aplikasi Office. Word memiliki
248 objek yang berbeda, Excel 196 objek, dan
Outlook sebanyak 67 objek. Objek yang
paling penting dan paling sering digunakan
dalam model objek adalah sesuatu yang sesuai
dengan aplikasi itu sendiri, dokumen, dan
elemen kunci dalam dokumen seperti berbagai
teks di Word. Sebagai contoh, Gambar 1
merupakan hierarki sederhana model objek
yang ada pada Word (Carter & Lippert 2005).
Model Objek Word
Langkah pertama dalam mempelajari
model objek Word ialah dengan mendapatkan
ide-ide dari struktur dasar hierarki model
objek (Gambar 1). Objek Application
digunakan untuk mengakses pengaturan dan
opsi application-level. Application merupakan
akar dari objek model dan menyediakan akses
ke objek lain dalam model objek. Objek
Document merupakan sebuah Word dokumen.
Objek Paragraph memungkinkan pengembang
untuk mengakses sebuah paragraf dalam
dokumen Word. Objek Range merupakan
sebuah barisan dari text yang berada pada
dokumen. Objek Shape merupakan sebuah
gambar, grafik atau objek lain yang ada pada
dokumen Word (Carter & Lippert 2005).
Regular Expression (RegEx)
Regular Expression atau sering dikenal
dengan istilah RegEx adalah sebuah fungsi
yang menggambarkan pola-pola karakter
dalam string, deskripsi karakter berulang,
penggantian, dan pengelompokan karakter.
RegEx dapat digunakan untuk mencari dan
mengubah string (McMillan 2007).
RegEx sendiri merupakan pola string yang
ingin dicari pada string lain. RegEx juga
menggunakan pola karakter khusus atau
dikenal dengan istilah metacharacters.
Metacharacters digunakan untuk menandakan
pengulangan,
penggantian
atau
pengelompokan. RegEx juga didukung oleh
pola substitusi, set karakter, quantifier, dan
lainnya.
Document
Paragraphs
Paragraph
Shape
Range
Gambar 1 Hierarki model objek.
Regular Expression atau RegEx pada
sistem ini digunakan pada proses stemming
pada fungsi pengecekan ejaan bahasa
Indonesia. Syntax yang digunakan dalam
RegEx menggunakan syntax yang sederhana
dari set karakter, pernyataan posisi, dan
quantifier.
3
Regex memiliki syntax yang terdiri dari
delimiter, pattern, dan modifier. Delimiter
digunakan untuk menentukan tempat pattern
berawal dan berakhir. Pada Javascript, hanya
bisa digunakan sebagai delimiter. Pattern
adalah pola string yang ingin ditemukan atau
dicocokkan. Modifier adalah mode RegEx
meng-handle hasil pencarian string atau teks.
Levenshtein Distance
Levenshtein distance digunakan untuk
mengukur kesamaan atau kemiripan antara
dua buah kata. Jarak Levenshtein diperoleh
dengan mencari cara termudah untuk
mengubah suatu string. Secara umum, operasi
yang diperbolehkan untuk keperluan ini ialah:
 memasukkan karakter ke dalam string,
 menghapus sebuah karakter dari suatu
string,
 mengganti karakter string dengan karakter
lain (Manning et al. 2008).
Operasi perhitungan dua string meliputi
tiga operasi string seperti di bawah ini. Untuk
contoh yang digunakan, diasumsikan S adalah
string sumber pencarian dan T adalah string
yang ingin dicari.
1 Operasi penghapusan
Misalnya S = memori dan T = meri.
Penghapusan dilakukan untuk karakter m pada
lokasi ke-3 dan o pada lokasi ke-4. Dua
operasi penghapusan tersebut menunjukkan
transformasi S ke T yang diilustrasikan
sebagai berikut.
1
2
T= m e
S= m e
3 4 5
6
-
-
r
i
m o
r
i
2 Operasi penyisipan
Misalnya S = brian dan T = barisan.
Operasi penyisipan dilakukan dengan
menyisipkan a dan s pada posisi 2 dan 5 yang
dapat ditunjukkan sebagai berikut.
1
2
3 4 5
6
T= b a
r
i
s
a n
S= b
r
i
-
a n
-
3 Operasi Penggantian
7
Misalnya S = perasa dan T = pewara.
String T ditransformasikan menjadi S dengan
melakukan penggantian (substitusi) pada
posisi ke-3 dan ke-5. Huruf r dan s pada S
digantikan dengan w dan r pada T. Prosesnya
1
2
3
4
5
6
T= p
e
w
a
r
a
S= p
e
r
a
s
a
dapat ditunjukkan sebagai berikut.
Nilai jarak Levenshtein dapat dihitung dari
jumlah operasi perhitungan string yang
digunakan untuk menghitung jarak kedua
string yang dibandingkan. Kemudian, untuk
menghitung nilai kemiripan digunakan rumus:
Sim = 1 – ( Dis / MaxLegth)
Sim = Similarity atau nilai kemiripan
Dis = jarak Levenshtein
MaxLength = nilai jarak terpanjang.
Rentang nilai similarity berkisar dari 0
sampai 1. Semakin besar nilai similarity,
semakin tinggi juga kemiripan antara kedua
string tersebut.
Stemming
Stemming merupakan suatu proses yang
terdapat dalam sistem Information Retrieval
(IR) yang mentransformasikan kata-kata yang
terdapat dalam suatu dokumen ke kata-kata
akarnya (root word) dengan menggunakan
aturan-aturan tertentu. Sebagai contoh, kata
bersama, kebersamaan, dan menyamai akan
ditransformasikan ke akar katanya yaitu
“sama”. Proses stemming pada teks berbahasa
Indonesia berbeda dengan stemming pada teks
berbahasa Inggris. Pada teks berbahasa
Inggris, proses yang diperlukan hanya proses
menghilangkan sufiks, sedangkan pada teks
berbahasa Indonesia, selain sufiks, prefiks dan
konfiks juga dihilangkan (Agusta 2009).
Imbuhan (afiks) adalah suatu bentuk
linguistik di dalam suatu kata yang merupakan
unsur langsung yang bukan kata dan bukan
pokok kata. Mengubah leksem menjadi kata
kompleks, artinya mengubah leksem itu
menjadi kata yang mempunyai arti lebih
lengkap, seperti mempunyai subjek, predikat
dan objek. Sementara itu prosesnya sendiri di
sebut afiksasi. Imbuhan (afiks) adalah bentuk
(morfem) terikat yang dipakai untuk
menurunkan kata.
4
Prefiks (awalan) adalah afiks (imbuhan)
yang ditempatkan di bagian muka dasar
(mungkin kata dasar atau kata kompleks atau
jadian), contohnya: ber-, di-, ke-, me-, meng-,
mem-, meny-, pe-, pem-, peng-, peny-, per-,
se-, dan ter-. Sufiks (akhiran) adalah morfem
terikat yang digunakan di bagian belakang
kata atau dilekatkan pada akhir dasar,
contohnya: -an, -kan, -i, -pun, -lah, -kah, dan nya. Konfiks adalah gabungan prefiks dan
sufiks yang dilekatkan sekaligus pada awal
dan akhir dasar, contoh : ke - an, ber - an, pe an, peng - an, peny - an, pem - an, per - an,
dan se - nya.
METODE PENELITIAN
Secara umum, metode penelitian yang
dilakukan terdiri atas beberapa tahap.
Tahapan-tahapan ini terlihat pada Gambar 2.
Studi Pustaka
Pada tahap ini dilakukan pembelajaran
mengenai kasus atau permasalahan yang akan
diselesaikan. Selain itu, studi pustaka juga
dilakukan dengan mencari referensi-referensi
yang mendukung dalam menyelesaikan
masalah. Referensi yang digunakan dapat
berupa buku, buku elektronik (e-book),
maupun literatur-literatur yang ada di jaringan
Internet dan lainnya.
Perancangan Template Skripsi
Tahap perancangan template akan
menampilkan sebuah contoh skripsi yang
sudah dilengkapi dengan format sesuai aturan
yang baru (Lampiran 1). Contoh skripsi yang
ditampilkan juga telah disertai
petunjuk umum tentang isi tulisan.
dengan
Perancangan Pengecekan Ejaan Penulisan
Skripsi
Tahap perancangan ini akan memeriksa
semua kata pada dokumen skripsi ke dalam
database KBBI dan list pengecualian. List
pengecualian adalah daftar kata-kata yang
benar tetapi tidak terdapat dalam database
KBBI. Pada pemeriksaan ejaan bahasa
Indonesia, digunakan database KBBI sebagai
sumber kata-kata baku dan menggunakan satu
list yang berisi kata-kata pengecualian. Kata
pengecualian didapat dari masukan user.
Database KBBI yang dipakai adalah database
dari penelitian Iqbal (2010). Proses
pemeriksaan ejaan dapat dilihat dari flowchart
(Gambar 3).
Proses ini diawali dengan mengambil
setiap kata pada dokumen, kemudian setiap
kata disaring. Ada beberapa kata yang tidak
akan diperiksa dalam proses ini, yaitu:
1 Kata yang ditulis memiliki huruf kapital,
karena kata tersebut dianggap sebagai
suatu nama objek.
2 Kata yang mengandung angka atau
simbol-simbol.
3 Kata yang ditulis dengan huruf miring
(italic), karena kata tersebut dianggap
sebagai bahasa asing.
Kata yang sudah melalui
penyaringan akan diperiksa ke
proses
dalam
Mulai
Kata
Mulai
Terpenuhi
Studi Pustaka
Penyaringan
kata
Perancangan
Template Skripsi
Pengecekan Ejaan
Pengecekan Format
Cek KBBI
dan List
Pengecualian
Tidak terpenuhi
Ada
Tidak ada
Database
KBBI
List
Pengecualian
Aturan
Section - section
Pengembangan
Pengujian dan
Evaluasi
Proses Stemming
Cek KBBI
dan List
Pengecualian
Ada
Tidak ada
Berikan Komentar
kesalahan & kata
yang mirip
Selesai
Selesai
Gambar 2 Tahapan penelitian.
Gambar 3 Flowchart pengecekan ejaan
bahasa Indonesia.
5
database KBBI dan list pengecualian. Ketika
kata-kata itu tidak ada di dalam database,
selanjutnya dilakukan proses stemming.
Algoritme stemming yang digunakan ialah
algoritme Nazief dan Adriani (Asian 2007).
Setelah kata tersebut melewati proses
stemming yang menghasilkan kata dasar,
dilakukan pengecekan ulang ke dalam
database. Ketika kata yang telah melewati
proses stemming tidak ditemukan dalam
database, diberikan komentar kesalahan ejaan
pada kata tersebut dan diberikan beberapa
saran kata mirip dengan kata tersebut.
awalan kedua sama dengan awalan
pertama, algoritme berhenti.
5 Melakukan Recoding.
6 Jika semua langkah telah selesai tetapi
tidak juga berhasil maka kata awal
diasumsikan sebagai root word.
Tipe awalan ditentukan melalui langkahlangkah berikut:
1 Jika awalannya: “di-”, “ke-”, atau “se-”,
tipe awalannya secara berturut-turut adalah
“di-”, “ke-”, atau “se-”.
Menurut
Asian
(2007),
algoritme
stemming yang digunakan Nazief dan Adriani
memiliki tahapan-tahapan sebagai berikut:
2 Jika awalannya adalah “te-”, “me-”, “be-”,
atau “pe-”, dibutuhkan sebuah proses
tambahan
untuk
menentukan
tipe
awalannya.
1 Pencarian kata ke dalam kamus yang
digunakan.
Jika
ditemukan
maka
diasumsikan bahwa kata tersebut adalah
root word dan algoritme berhenti.
3 Jika dua karakter pertama bukan “di-”,
“ke-”, “se-”, “te-”, “be-”, “me-”, atau “pe”, berhenti.
2 Inflection Suffixes (“-lah”, “-kah”, “-ku”,
“-mu”, atau “-nya”) dibuang. Jika berupa
particles (“-lah”, “-kah”, “-tah” atau “pun”), langkah ini diulangi lagi untuk
menghapus Possesive Pronouns (“-ku”, “mu”, atau “-nya”) jika ada.
3 Hapus Derivation Suffixes (“-i”, “-an” atau
“-kan”). Jika kata ditemukan di kamus,
algoritme berhenti. Jika tidak, berlanjut ke
langkah 3a
a Jika “-an” telah dihapus dan huruf
terakhir dari kata tersebut adalah “-k”,
“-k” juga ikut dihapus. Jika kata
tersebut ditemukan dalam kamus
algoritme berhenti.
Jika
tidak
ditemukan, lakukan langkah 3b.
b Akhiran yang dihapus (“-i”, “-an” atau
“-kan”) dikembalikan, kemudian
dilanjutkan ke langkah 4.
4 Hapus Derivation Prefix. Jika pada
langkah 3 ada sufiks yang dihapus,
dilanjutkan ke langkah 4a. Jika tidak ada,
dilanjutkan ke langkah 4b.
a Periksa tabel kombinasi awalanakhiran yang tidak diizinkan. Jika
ditemukan, algoritme berhenti. Jika
tidak, dilanjutkan ke langkah 4b.
b Untuk i = 1 sampai 3, tentukan tipe
awalan kemudian hapus awalan. Jika
root word belum juga ditemukan
lakukan langkah 5. Jika sudah,
algoritme berhenti. Catatan: jika
4 Jika tipe awalan adalah “none” maka
berhenti.
Perancangan Pengecekan Format
Penulisan Skripsi
Tahap perancangan pemeriksaan format
skripsi dengan menggunakan aturan section.
Setiap section terdiri atas bagian-bagian dan
aturan tertentu. Sistem ini bekerja pada
section-section yang telah ditetapkan. Setiap
section terdiri atas bagian-bagian tertentu
dalam laporan tugas akhir. Jumlah section
yang dipakai pada sistem sebanyak sebelas
Tabel 1 Aturan section
Section
Aturan
Section 1
Bagian sampul
Section 2
Bagian abstrak
Section 3
Bagian halaman judul
Section 4
Bagian lembar pengesahan
Section 5
Bagian prakata
Section 6
Bagian riwayat hidup
Section 7
Bagian daftar isi
Section 8
Bagian daftar tabel,
gambar dan lampiran
Section 9
Bagian isi
Section 10
Bagian daftar pustaka
Section 11
Bagian lampiran
6
section. Aturan-aturan section yang harus
diperhatikan dapat dilihat pada Tabel 1.
bermanfaat bagi seorang penguji perangkat
lunak dalam menentukan:
Fungsi lain pada sistem ini ialah
pengecekan
format
penulisan
skripsi.
Pengecekan yang dilakukan pada sistem ini
berbeda-beda pada setiap section-nya dan
berdasarkan pada bagian-bagian yang menjadi
aturan dari tiap section. Lampiran 2
merupakan daftar pengecekan yang dilakukan
pada sistem tiap section. Secara garis besar,
ada 3 pemeriksaan yang dilakukan pada setiap
section, yaitu :
1 Ukuran kompleksitas logika dari suatu
struktur program, prosedur dan fungsi.
1 Format umum seperti ukuran kertas, jenis
tulisan, margin halaman, dan orientasi.
2 Judul dan header yang diperiksa ialah
ukuran tulisan, cetak tebal dan alignment
tulisan.
3 Body tulisan atau paragraf yang diperiksa
ialah ukuran tulisan, alignment, baris
pertama paragraf, jarak antar baris.
Pengembangan
Pengembangan sistem merupakan tahap
implementasi dari tahap perancangan sistem.
Pada tahap ini dilakukan pembuatan
antarmuka pengguna dan pengembangan kode
program.
Pengujian dan Evaluasi
Pengujian dilakukan untuk mencari dan
memperbaiki
kesalahan-kesalahan
yang
terjadi pada sistem sehingga menyebabkan
hasil yang dikeluarkan tidak sesuai dengan
hasil yang diinginkan pengguna. Ada 2 kelas
dasar dari pengujian perangkat lunak, yaitu:
1 Black Box Testing
Pengujian dilakukan menggunakan pada
sistem menggunakan metode Black Box
Testing. Black-Box Testing berfokus pada
spesifikasi fungsional dari perangkat lunak.
2 White Box Testing
White box testing merupakan strategi
pengujian yang diterapkan pada mekanisme
internal suatu sistem atau komponen.
Strategi ini digunakan untuk
melihat
mekanisme internal dari suatu produk
perangkat
lunak, khususnya
untuk
mengamati struktur dan logika kode-kode
program yang ditulis. Pendekatan yang
digunakan ialah struktur kontrol dari desain
prosedural.
Basis path testing merupakan suatu
metode yang digunakan dalam teknik white
box testing. Metode basis path sangat
2 Menggunakan nilai kompleksitas untuk
menentukan basis set (himpunan dasar)
alur logika yang akan dieksekusi.
Metode
basis
path
testing
ini
memerlukan masukan berupa source code
atau algoritme dari suatu perangkat lunak.
HASIL DAN PEMBAHASAN
Analisis Kebutuhan dan Batasan Sistem
Add-in Microsoft Office Word (Ms Word)
mengenai pengecekan format skripsi ini
bertujuan memeriksa laporan tugas akhir
mahasiswa. Masukan pada sistem ini adalah
dokumen format Ms Word (*.doc atau *.docx)
dengan keluaran berupa penandaan (highlight)
dan pemberian komentar pada bagian yang
terdapat kesalahan di dalam dokumen.
Fungsi-fungsi yang disediakan pada sistem
ini terbagi menjadi 3 bagian, yaitu :
1 Fungsi untuk menampilkan suatu template
contoh sebuah skripsi yang sudah
menggunakan
format
yang
benar.
Template ini juga sudah dilengkapi dengan
bagian masing-masing section dan
ditampilkan dalam mode read only.
2 Fungsi untuk melakukan pemeriksaan
terhadap ejaan. Fungsi ini menggunakan
database KBBI dan sebuah list
pengecualian dengan asumsi kata-kata
pada kedua sumber database tersebut
sudah baku dan benar. List Pengecualian
adalah sebuah list sementara yang isinya
dimasukkan sendiri oleh user ketika user
menemukan sebuah kata yang benar, tetapi
kata tersebut masih salah menurut KBBI.
Fungsi pemeriksaan ejaan ini akan
memberikan peringatan kepada user ketika
dalam dokumen ada kata-kata yang tidak
baku atau salah penulisan.
3 Fungsi untuk melakukan pemeriksaan
terhadap format. Fungsi ini menggunakan
aturan section untuk mempermudah
pemeriksaan. Masing-masing section juga
memiliki fungsi pengecekan yang berbeda.
Lingkungan Pengembangan Sistem
Spesifikasi perangkat keras dan perangkat
lunak untuk pengembangan add-in ini yaitu:
7
1 Perangkat keras
Intel Core i5 (@2.53 GHz), 2 GB RAM,
hard disk berkapasitas 500 GB, mouse,
keyboard, dan monitor.
2 Perangkat lunak
Sistem Operasi Windows 7 Professional,
Visual Studio 2010 digunakan untuk
membuat kode program (C#), dan
Microsoft Office Word 2007 untuk melihat
hasil program.
Pengembangan Sistem
Sistem
ini
menggunakan
bahasa
pemrogram
C#
(C-Sharp)
dengan
menggunakan Visual Studio Tools for Office
sebagai salah satu bagian dari Visual Studio
dalam mengembangkan dan meningkatkan
fungsionalitas dari Microsoft Office.
dimasukkan ke dalam CUSTOM.DIC pada
Microsoft Office. Waktu yang dibutuhkan
pada pengecekan ejaan ini dipengaruhi oleh
jumlah kata. Dari 10 kali pengujian, dapat
dilihat perbandingan antara waktu yang
dibutuhkan dengan jumlah kata yang diuji
memperlihatkan fungsi linear. Gambar 4
menunjukkan grafik perbandingan kata
dengan waktu yang dibutuhkan pada fungsi
pengecekan ejaan.
Dengan menggunakan persamaan regresi
linear sederhana dapat dilihat hubungan antara
jumlah kata yang akan diperiksa (n) dan
waktu yang diperlukan (t dalam satuan detik)
dengan persamaan t = 0.0057 + 0.05148, dan
nilai koefisien determinasi (R) = 0.9907.
35.00
Pembuatan kode program dibagi menjadi
beberapa fungsi utama, yakni:
2 Fungsi yang bertugas memeriksa ejaan
bahasa Indonesia dalam penulisan laporan
tugas akhir.
3 Fungsi pemeriksaan format
dalam laporan tugas akhir.
penulisan
25.00
t (detik)
1 Fungsi pembuatan template skripsi yang
berupa satu dokumen contoh laporan tugas
akhir yang sudah benar format dan
penulisannya.
t = 0.0057n + 0.5148
R = 0.9907
30.00
20.00
15.00
10.00
5.00
0.00
0
1000 2000 3000 4000 5000 6000
Jumlah kata (n)
Gambar 4 Grafik waktu pengecekan ejaan
bahasa Indonesia.
Fungsi Generate Template Skripsi
Fungsi ini akan memanggil suatu dokumen
contoh skripsi yang sudah benar formatnya
dan dimunculkan dalam mode read only,
sehingga user tidak bisa mengubah isi dan
format dokumen yang asli. Dokumen yang
sudah diubah akan disimpan seperti dokumen
yang baru, tidak menimpa dokumen contoh
yang dihasilkan fungsi.
Pemeriksaan Ejaan Bahasa Indonesia
Pengecekan ejaan bahasa Indonesia pada
sistem ini menggunakan database KBBI
sebagai acuan utama kata baku, dan list
pengecualian untuk kata-kata pengecualian
yang tidak ada dalam KBBI tetapi kata
tersebut dipastikan benar penulisannya. Katakata yang dimasukkan dalam list pengecualian
ini akan disimpan dalam metadata dokumen
itu sendiri. Untuk kata-kata yang salah eja
diberikan komentar kesalahan dan beberapa
kata yang benar dan mirip dengan kata
tersebut. Pemberian beberapa kata ini
menggunakan
database
KBBI
yang
Fungsi Pengecekan Format Skripsi
Fungsi ini memeriksa aturan-aturan pada
setiap section dalam dokumen skripsi. Aturan
yang digunakan dapat dilihat pada Lampiran
2. Ketidaksesuaian format dokumen dengan
aturan yang telah ditentukan akan ditandai
dengan pemberian komentar pada bagian yang
salah.
Waktu pengecekan format skripsi ini
dipengaruhi oleh banyaknya halaman skripsi.
Dari 10 kali pengujian dengan penambahan
jumlah halaman pada gambar di atas (Gambar
5) dapat dilihat hubungan waktu yang
diperlukan (t dalam satuan detik) dan jumlah
halaman skripsi (n) yang akan diperiksa.
Dengan
menggunakan
regresi
linear
sederhana, didapatkan persamaan antara
waktu dan halaman yang diperiksa yaitu
t = 0.1206n - 0.0233 dan nilai koefisien
determinasi (R) = 0.9718.
8
1.40
y = 0.1206x - 0.0233
R = 0.9718
Waktu (detik)
1.20
1.00
0.80
0.60
0.40
0.20
0.00
2
4
6
8 10 12 14 16 18 20
Jumlah halaman
Gambar 5 Grafik waktu pengecekan format
skripsi.
Implementasi Regular Expression dan
Levenshtein Distance pada Sistem
RegEx juga digunakan dalam mendeteksi
jenis-jenis string yang ada pada daftar
pustaka. Misalkan dalam sebuah daftar
pustaka terdiri atas nama, tahun, judul buku,
dan penerbit, maka bagian-bagian tersebut
akan dideteksi dengan RegEx sehingga
diperoleh string pattern. String pattern
dibangun dengan menggunakan karakter
khusus tambahan yang ada pada RegEx.
Karakter khusus yang digunakan terdiri
atas beberapa jenis fungsi seperti set karakter,
pernyataan posisi, dan quantifier. Quantifier
berguna untuk memberikan optional-optional
tambahan untuk memberikan pernyataan dari
sebuah string. Contoh beberapa pola-pola
RegEx yang digunakan untuk membangun
sebuah string pattern dapat dilihat pada Tabel
2, Daftar yang lebih lengkap dapat dilihat
pada Lampiran 4.
Dalam pembentukan string pattern
menggunakan RegEx pada daftar pustaka,
setiap bagian dalam daftar pustaka diubah
menjadi sebuah string untuk mewakili jenis
Tabel 2 Contoh pola string daftar pustaka
Topik
Pola string
Tahun
"[0-9]{4}[-.$]"
Link/url
@"http(s)?://([\w-]+\.)+
[\w-]+(/[\w- ./?%&=]*)?"
Nama
"^[a-zA-Z','-'\\s]{1,100} [.$]"
Judul
"^[a-zA-Z+\\s(.$)]
{1,1000}"
Nama Jurnal
@"^[\w\s]*[0-9\s]{1,4}
[:\s][0-9-\s]{1,10}[\.$]"
bagian tersebut. Daftar peubah string daftar
pustaka dapat dilihat pada Tabel 3.
Pada Tabel 3, terdapat beberapa format
string pattern yang dapat terjadi bersamaan,
seperti nama penerbit (F) dengan tempat
penerbit (L) dan nama jurnal (E) dengan
halaman (D). Dengan demikian, ketika nama
penerbit terdeteksi, maka langkah selanjutnya
yang diperiksa ialah tempat terbit. Begitu pula
jika nama jurnal telah dideteksi, halaman
jurnal akan dicek terlebih dahulu.
Sebagai contoh, sebuah daftar pustaka
yang diambil dari sebuah buku sebagai
berikut:
Bruney A. 2006. Professional VSTO 2005:
Visual Studio 2005 Tools for Office.
Indiana: Wiley Publishing, Inc.
Pada contoh ini, daftar pustaka memiliki 4
buah bagian, antara lain:
 nama pengarang (Bruney A),
 tahun terbit (2006),
 judul buku (Professional VSTO 2005:
Visual Studio 2005 Tools for Office), dan
 tempat terbit dan nama penerbit (Indiana:
Wiley Publishing, Inc).
Dengan demikian, dari keempat bagian
tersebut dicari kemungkinan string yang dapat
dibentuk. String pattern yang terbentuk yaitu,
ABCFL, ABCIO, ABCO, ABCQ, ABCS.
Setelah itu string yang terbentuk dicari
kemiripannya dengan konstanta aturan string
pattern
setiap
jenis
daftar
pustaka
menggunakan algoritme Levenshtein.
Pada dasarnya, algoritme ini menghitung
jumlah minimum transformasi suatu string
menjadi
string
lain
yang
meliputi
penggantian, penghapusan dan penyisipan.
Dalam algoritme ini dilakukan penyeleksian
panjang kedua string terlebih dahulu. Jika
salah satu kedua string merupakan string
kosong, jalannya algoritme ini berhenti dan
memberikan hasil edit distance yang bernilai
nol.
Konstanta string pattern daftar pustaka
yang sesuai dengan Buku Panduan Karya
Ilmiah IPB dapat dilihat pada Tabel 4. Jika
string input daftar pustaka telah terbentuk,
selanjutnya dilakukan penghitungan jarak
terhadap setiap string pattern yang ada pada
Tabel 4. Jika nilai kemiripannya 1, kedua
string yang dibandingkan sama.
9
Tabel 3 Indikator string peubah
String
pattern
String yang diubah
Tabel 4 Aturan string pattern daftar pustaka
Sumber pustaka
String pattern
A
Nama
Jurnal
ABCED
B
Tahun
Buku
ABCFL
C
Judul buku
Prosiding
ABCGHIJFLD
D
Halaman
Abstrak
ABCGHIJFLDN
E
Nama jurnal
ABCKIO
F
Tempat terbit
Skripsi, Tesis dan
Disertasi
G
Nama editor
Bibliografi
ABCFL
H
Judul publikasi
Paten
AOJCS
I
Lokasi
Surat Kabar
AJCOTU
J
Tanggal
Peta
VBCWFLM
K
Jenis media pada (skripsi, tesis
atau disertasi)
Dokumen
ABCIO
Kaset Audio /Video
ABCPLFLMO
L
Nama penerbit
Situs web Elektronik
ABCEDPRJ
M
Deskripsi (peta atau sumber
audio/video)
Situs web Abstrak
ABCEPRJ
Nomor abstrak
Situs web Pertemuan
ilmiah
ABCRJ
N
O
Jenis media
Q
Keterangan
R
Url
S
Nomor paten
T
Nomor halaman
U
Nomor kolom (media koran)
V
Area (peta)
W
Jenis peta
Perancangan Antarmuka
Antarmuka add-in berada pada tabulasi
khusus add-in pada Microsoft Office Word
2007 (Gambar 6). Pembuatan tombol pada
tabulasi add-in menggunakan ribbon buatan
yang dapat dikembangkan pada Microsoft
Visual Studio. Perancangan antarmuka pada
sistem ini memiliki lima tombol, yaitu:
1 New Skripsi Template digunakan untuk
menampilkan sebuah dokumen Microsoft
Office Word contoh skripsi yang sudah
dilengkapi dengan aturan dan format yang
benar.
2 Spelling Check merupakan tombol untuk
mengaktifkan fungsi pemeriksaan ejaan
bahasa Indonesia pada Microsoft Office
Word 2007. Fungsi pemeriksaan ejaan ini
bisa dilakukan pada section tertentu saja
atau keseluruhan dokumen. Selama proses
pengecekan berjalan, muncul form
Progress Bar sebagai keterangan proses
sedang berjalan (Gambar 7) serta
penandaan kesalahan dengan komentar
ketika ditemukan kata yang salah (Gambar
8).
3 Format Check adalah tombol untuk
mengaktifkan pemeriksaan format skripsi
sesuai dengan aturan-aturan yang sudah
ditentukan (Gambar 9). Tombol ini bisa
diaktifkan ketika total section berjumlah
11. Apabila jumlah section kurang atau
lebih dari 11 diberikan peringatan dan
proses pengecekan format tidak akan
dilakukan.
4 Delete Comment adalah tombol untuk
menghapus hasil koreksi berupa komentar
di samping halaman dokumen.
10
5 Ignore
Words
digunakan
untuk
memasukkan kata-kata oleh user yang
dinilai sebagai kata benar. Kata yang
dimasukan ke dalam list pengecualian ini
Gambar 6 Antarmuka add-in sistem
pengecekan skripsi.
akan disimpan pada dokumen itu sendiri
(Gambar 10).
Pengujian dan Evaluasi
Pengujian yang telah dilakukan yaitu
pengujian black box dan white box. Pengujian
dengan metode black-box testing dilakukan
pada setiap format yang dipakai. Pengujian
black box dibagi menjadi dua bagian, yaitu
pengujian fungsi-fungsi pada sistem yang
dapat dilihat pada Tabel 5 dan pengujian
efisiensi waktu yang digunakan sistem dalam
menjalankan fungsinya. Daftar hasil pengujian
dengan metode black box pada fungsi
pengecekan ejaan Bahasa Indonesia pada
sistem dapat dilihat pada Lampiran 4, dan
daftar hasil pengujian pengecekan format pada
sistem dapat dilihat pada Lampiran 5.
Tabel 5 Daftar pengujian black box pada
sistem
Gambar 7 Form progress bar pada saat
pengecekan ejaan.
Gambar 8 Komentar kesalahan pada
pengecekan ejaan.
No
Pengujian sistem
1
Pengujian tombol-tombol antarmuka
pada sistem
2
Kata yang masuk dalam batasan sistem
3
Pengujian pengecekan kata ke dalam
database
4
Pengujian stemming pada kata
5
Pengujian format umum
6
Pengujian format judul dan header
7
Pengujian format body atau paragraf
Dalam pengujian white box, fungsi-fungsi
yang diujikan hanya fungsi-fungsi yang
dianggap perlu mendapat perhatian. Hasil
pengujian dengan metode white box dapat
dilihat pada Lampiran 6.
Gambar 9 Komentar kesalahan pada
pengecekan format skripsi.
Gambar 10 Form masukan kata pada Ignore
Words.
Fungsi-fungsi yang diuji secara white box
hanya fungsi penting dalam penelitian ini
yaitu fungsi pemeriksaan ejaan, stemming dan
pemeriksaan format skripsi. Hasil pengujian
white box pada fungsi pemeriksaan ejaan dan
stemming menghasilkan proses pengecekan
ejaan yang benar dan memberikan komentar
kesalahan pada kata yang salah eja. Baris
program
yang
memiliki
kesalahan
mengakibatkan fungsi tidak berjalan dengan
baik dan menimbulkan adanya kesalahan pada
hasil proses pemeriksaan ejaan. Hasil
pengujian white box pada fungsi pengecekan
format akan menghasilkan pemeriksaan
format yang sesuai dengan aturan format
11
Tabel 6 Hasil pengecekan format
No
Jumlah Halaman
Waktu (detik)
1
2
0.18
2
4
0.21
3
6
0.30
4
8
0.43
5
10
0.53
6
12
0.60
7
14
0.92
8
16
0.99
9
18
1.08
10
20
1.16
penulisan. Baris program yang memiliki
kesalahan akan mengakibatkan program tidak
bisa berjalan dengan baik dan menimbulkan
kesalahan pada hasil pemeriksaan format.
Pengujian efisiensi waktu yang digunakan
sistem dapat dilihat dari hasil pengujian waktu
dalam pengecekan format (Tabel 6) dan hasil
pengujian waktu pengecekan ejaan (Tabel 7).
Hasil pengujian waktu ini memperlihatkan
sistem sudah mampu mengerjakan dengan
waktu yang singkat. Waktu yang diperlukan
sistem dalam melakukan pengecekan format
dan ejaan berbanding lurus dengan banyaknya
kata dan halaman yang ada pada dokumen.
dokumen yang sudah ditentukan kesalahankesalahan format maupun ejaan kemudian
diperiksa oleh sistem. Hasil pengujian tingkat
keberhasilan sistem ini dapat dilihat pada
Tabel 8. Dari 5 kali pengujian dapat
disimpulkan rata-rata tingkat keberhasilan
sistem ini sebesar 96.5%.
Tabel 8 Pengujian tingkat keberhasilan sistem
Jumlah Jumlah hasil
No kesalahan pemeriksaan
dokumen oleh sistem
1
2
3
4
5
25
20
25
25
20
Tingkat
keberhasilan
sistem
25
19
24
25
18
100%
95%
96%
100%
90%
Beberapa kesalahan sistem yang terjadi
pada saat pengujian yaitu:
1 Ketidakmampuan
sistem
dalam
membedakan imbuhan di- dengan awalan
di-.
2 Kesalahan eja pada awal kalimat yang
menggunakan huruf kapital.
3 Source code yang ditulis dengan font yang
berbeda akan disalahkan.
4 Format yang salah ketika gambar atau
tabel dibuat dalam text box.
Persyaratan Minimum Sistem
Selain itu, dilakukan juga pengujian
tingkat keberhasilan sistem. Pengujian ini
dilakukan dengan cara menguji beberapa
Spesifikasi perangkat lunak minimum
untuk menjalankan aplikasi add-in ini yaitu:
Tabel 7 Hasil pengujian waktu pengecekan
ejaan skripsi
2 Microsoft Office Word 2007 dan 2010.
1 Sistem Operasi Windows 7 x86.
3 .NET Framework 4 Client Profile.
No
Jumlah kata
Waktu (detik)
1
500
3.05
4 Microsoft Visual Studio 2010 Tools for
Office Runtime.
2
1000
6.07
Kekurangan Sistem
3
1500
9.03
4
2000
12.08
5
2500
14.96
6
3000
18.10
Dari hasil pengujian masih terdapat
berbagai kesalahan sistem. Kekurangan
tersebut disebabkan sistem masih memiliki
beberapa
kekurangan
dalam
proses
pengecekan. Kekurangan yang ada pada
sistem antara lain:
7
3500
21.19
8
4000
22.61
9
4500
24.24
10
5000
20.08
1 sistem belum mampu membedakan
imbuhan di- dengan awalan di-,
2 sistem tetap melakukan pengecekan untuk
bagian skripsi yang menggunakan bahasa
12
asing
yang
penulisannya, dan
tidak
dimiringkan
3 sistem belum bisa memeriksa gambar atau
grafik yang ada di dalam Text Box,
KESIMPULAN
Dari penelitian yang telah dilakukan, dapat
disimpulkan:
1 Telah dilakukan pengembangan sistem
pengecekan format skripsi sesuai dengan
format baru penulisan skripsi Institut
Pertanian Bogor 2012.
2 Telah dilakukan perbaikan pengecekan
ejaan bahasa Indonesia pada sistem.
3 Efisiensi waktu yang diperlukan dalam
memeriksa dokumen skripsi sudah baik,
waktu pemeriksaan dipengaruhi oleh
jumlah kata atau jumlah halaman pada
dokumen.
SARAN
Pada penelitian selanjutnya, disarankan
agar program add-in ini:
1 Dikembangkan lebih lanjut mengenai
pengecekan tata bahasa (grammar) pada
dokumen berbahasa Indonesia sehingga
sistem memiliki nilai fungsionalitas yang
bertambah, dan
2 Adanya pengecualian pengecekan pada
abstrak berbahasa Inggris dan source code
program yang menggunakan font berbeda.
DAFTAR PUSTAKA
Agusta L. 2009. Perbandingan algoritme
stemming Porter dengan algoritme Nazief
& Adriani untuk stemming dokumen teks
bahasa Indoneia. Di dalam: Konferensi
Nasional Sistem dan Informatika; Bali, 14
November 2009. Bali: STIKOM KNS&I
2009. hlm 196-201.
Asian J. (2007). Effective techniques for
Indonesian text [tesis]. Melbourne :
School of Computer Science and
Information
Technology
Science,
Engineering, and Technology Portfolio,
RMIT University
Bruney A. 2006. Professional VSTO 2005:
Visual Studio 2005 Tools for Office.
Indiana: Wiley.
Carter E, Lippert E. 2005. Visual Studio Tools
for Office: Using C# with Excel, Word,
Outlook, and InfoPath. Massachusetts:
Addison-Wesley.
Iqbal R. 2010. Pengembangan stemmer
berbasis Kamus Besar Bahasa Indonesia
[skripsi]. Bogor: Fakultas Matematika dan
Ilmu Pengetahuan Alam, Institut Pertanian
Bogor.
Manning CD, Raghavan P, Schütze H. 2008.
Introduction to Information Retrieval.
England: Cambridge University Press.
McMilan M. 2007. Data Structures and
Algorithms Using C#. New York:
Cambridge University Press.
Olimpiyanto S. 2011. Pengembangan
framework dan fungsionalitas dasar add-in
Microsoft Office Word 2007 untuk
pengecekan format skripsi [skripsi].
Bogor: Fakultas Matematika dan Ilmu
Pengetahuan Alam, Institut Pertanian
Bogor.
LAMPIRAN
14
Lampiran 1 Rancangan ketentuan penulisan skripsi dengan format baru
Bahan dan Ukuran Kertas
 Jenis kertas: HVS 80 gram;
 Warna kertas: putih;
 Ukuran kertas: A4 (21.0 cm  29.7 cm);
 Peta, gambar, foto, diagram, sketsa, cetak biru (blue print), surat keputusan dan lainnya
dapat menggunakan jenis, warna, dan ukuran berbeda sesuai dengan kebutuhan.
Ketentuan pengetikan
 Pias (margin) kiri dari bidang tulisan adalah 4 cm, sedangkan batas kanan, atas, dan bawah
masing-masing 3 cm.
 Nomor halaman diketik di pojok atas kanan dengan batas kanan 3 cm dan batas atas 2 cm.
 Naskah diketik pada halaman bolak-balik, termasuk bagian awal kecuali lembar
pengesahan dan halaman penguji luar komisi harus saling berhadapan.
 Jarak baris diketik 1 spasi.
 Baris pertama dari paragraf menjorok 1 cm dari bidang tulisan sebelah kiri dan dibuat rata
kanan (justified).
 Paragraf yang bertingkat, bernomor atau merupakan uraian dari paragraf sebelumnya,
ditulis dengan menjorok 0.5 cm dari paragraf di atasnya. Untuk paragraf bertingkat
berikutnya, baris pertama lebih menjorok lagi 0.5 cm dari paragraf di atasnya.
 Pemberian nomor pada paragraf bertingkat adalah dengan (1), (2), (3), dan seterusnya;
tingkat kedua dengan a, b, c, dan seterusnya, tidak lebih dari 3 tingkatan.
 Di tubuh tulisan, setiap bab baru tidak harus ditulis di halaman baru, termasuk penulisan
Daftar Pustaka.
 Jarak dari judul ke kalimat pertama sebesar 2 spasi, jarak kalimat terakhir di Bab terakhir
ke Bab baru berikutnya sebesar 3 spasi.
 Jenis huruf: Times New Roman dengan ukuran 12 poin untuk teks, judul bab 14 poin. Ada
pilihan jenis huruf lain untuk tampilan hasil komputer yaitu Courier New dengan ukuran 11
poin.
 Nomor halaman dimulai dari Abstrak sampai Daftar Lampiran dinyatakan dengan i, ii, iii,
iv, dan seterusnya.
 Penomoran halaman dimulai dari bab Pendahuluan dengan menggunakan angka arab 1, 2,
3, 4, dan seterusnya.;
 Judul bab diketik dengan menggunakan huruf kapital, dicetak tebal (bold), tidak ada titik,
tidak digarisbawahi, boleh menggunakan angka arab tanpa titik, dan terletak di tengahtengah (centered).
 Judul subbab diketik dengan huruf kapital pada setiap awal kata, kecuali kata hubung
(seperti: dan, serta, oleh, dengan, untuk) dan kata depan (seperti: di, ke, dari, pada). Judul
subbab berjarak 2 spasi dari judul bab atau dari paragraf di atasnya dan 1 spasi dengan
paragraf di bawahnya. Judul subbab diketik di tengah.
 Judul bagian diketik dengan huruf kapital pada setiap awal kata. Judul bagian berjarak 2
spasi dari judul subbab atau paragraf di atasnya dan 1 spasi dengan paragraf di bawahnya,
tidak diakhiri dengan titik, dan tidak digarisbawahi. Jika panjang judul bagian melebihi
lebar bidang tulisan, jadikan 2 baris atau lebih dengan jarak 1 spasi.
 Menempatkan Tabel atau Gambar di posisi paling atas atau paling bawah halaman.
Warna Sampul
 Warna sampul (cover) untuk skripsi berbeda-beda, yakni untuk Faperta: hijau, FKH: ungu,
FPIK: biru, Fapet: cokelat, Fahutan: abu-abu, Fateta: merah, FMIPA: putih, FEM: jingga,
FEMA: hijau khas;
 Sampul tesis: merah tua;
 Sampul disertasi: hitam.
15
Lanjutan
Jumlah Maksimum Kata dan Halaman
 Skripsi tidak lebih dari 5000 kata;
 Tesis tidak lebih dari 20 000 kata;
 Disertasi sekurang-kurangnya 3 artikel atau publikasi;
 Jumlah kata maksimum ini sudah mencakup lampiran;
 Jika diperlukan, data mentah dimuat dalam CD untuk ditunjukkan kepada pembimbing dan
penguji dan tidak disertakan dalam karya tugas akhir untuk menghindari penyalahgunaan
data oleh pihak yang tidak bertanggung jawab.
Lembar Sampul
 Jenis huruf Times New Roman dengan huruf kapital ukuran font 14;
 Susunan kata pada judul membentuk segitiga terbalik dan tidak lebih dari 3 baris dengan
jarak 1 spasi;
 Panjang judul tidak lebih dari 15 kata;
 Jarak antara judul karya tulis dengan nama lengkap mahasiswa, dengan logo dan nama
departemen (atau Sekolah Pascasarjana) harus sesuai contoh lampiran;
 Logo IPB berdiameter 2.5 cm, warna hitam.
16
Lampiran 2 Datar pengecekan pada tiap section
Section
1. Halaman Sampul
Bagian
Umum
Judul
Nama penulis
2. Halaman Abstrak
Logo IPB
Nama
Departemen,
fakultas, institut,
kota dan tahun
Umum
Header
Paragraf pertama
Paragraf kedua
dan ketiga
3. Halaman judul
Umum
Judul
Pengecekan yang
dilakukan
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alignment
Bold
Allcaps
Ukuran tulisan
Alignment
Bold
Allcaps
Ukuran logo
Ukuran tulisan
Alignment
Bold
Allcaps
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Alignment
Indentation first line
Spasi antar kalimat
Ukuran tulisan
Alignment
Indentation first line
Spasi antar kalimat
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alignment
Bold
Allcaps
Aturan yang dipakai
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
14 pt
Center
True
True
2,5 cm x 2,5 cm
13 pt
Center
True
True
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
12 pt
Justified
0 cm
Single
12 pt
Justifed
1 cm
Single
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
17
Lanjutan
Section
Bagian
Nama penulis
“Skripsi… “
4. Halaman
Pengesahan
5. Halaman Riwayat
Hidup
Nama
Departemen,
fakultas, institut,
kota dan tahun
Umum
Umum
Header
Paragraf
6. Halaman Prakata
Umum
Header
Paragraf
Pengecekan yang
dilakukan
Ukuran tulisan
Alignment
Bold
Allcaps
Ukuran tulisan
Alignment
Bold
Ukuran tulisan
Alignment
Bold
Allcaps
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Spasi antar kalimat
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Alignment
Indentation first line
Spasi antar kalimat
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Alignment
Indentation first line
Spasi antar kalimat
Aturan yang dipakai
14 pt
Center
True
True
12 pt
Centre
false
13 pt
Center
True
True
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
12 pt
Single
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
12 pt
Justified
1 cm
Single
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
12 pt
Justified
1 cm
Single
18
Lanjutan
Section
7. Daftar Isi
Bagian
Umum
Header
Body
8. Daftar Gambar,
Tabel, Lampiran
Umum
Header
Body
9. Tubuh Tulisan
Umum
Header level 1
Header level 2
Paragraf
Gambar dan
Tabel
Pengecekan yang
dilakukan
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Bold
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Bold
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Alligment
Bold
Allcaps
Ukuran tulisan
Alignment
Spasi antar kalimat
Posisi dan format
keterangan gambar
Posisi dan format
keterangan tabel
Ukuran tulisan
Aturan yang dipakai
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
12 pt
False
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
12 pt
False
A4
Times New Romance
12 cm
12 cm
12 cm
12 cm
Portrait
14 pt
Center
True
True
12 pt
Center
True
True
12 pt
Justified
Single
Bawah
Atas
12 pt
19
Lanjutan
Section
10. Daftar Pustaka
Bagian
Umum
Header level 1
Daftar Pustaka
Pengecekan yang
dilakukan
Ukuran kertas
Jenis tulisan
Margin atas
Margin bawah
Margin dalam
Margin luar
Orientasi kertas
Ukuran tulisan
Alligment
Bold
Allcaps
Aturan-aturan
penulisan daftar
pustaka
Aturan yang dipakai
A4
Times New Romance
13 cm
13 cm
13 cm
13 cm
Portrait
14 pt
Center
True
True
20
Lampiran 3 Daftar string Regular Expression pengecekan daftar pustaka
Pattern
Keterangan
Regular Expressions
A
B
C
E -D
Nama
Tahun
Judul
Nama jurnal &
halaman
Tempat terbit &
nama penerbit
"^[a-zA-Z','-'\\s]{1,100}[-.$]"
"[0-9]{4}[-.$]"
"^[\\w\\W+\\s(.$)]{1,1000}"
"^[\w\W\s]*[0-9\s]{1,4}[:\s][0-9\s]{1,10}[\.$]"
"^[\\w\\W+\\s]{1,1000}[':'][\\w\\W+\\s]{1,1000}
[-.$]"
G
Nama editor
H-I-J
Judul publikasi,
tempat, tanggal
I:O
Tempat : nama
institusi
"^[a-zA-Z''''{''}''('')'','';'':''\\/''\\'\\s]{0,400}[','?
] editor[-.$]"
"^[\\w\\W+\\s]{1,1000}[';'?]
[\\w\\W+\\s]{1,100}[','?][0-9'-'\\s]{1,7}[a-zAZ\\s]{1,15}[0-9]{4}[-.$]"
"^[\\w\\W+\\s]{1,1000}[':'][\\w\\W+\\s]{1,1000}
[-.$]"
J
Tanggal
M
N
O
Q
R
S
Deskripsi
Nomor abstrak
Nama Institusi
Keterangan
Url
Nomor paten
F -L
"^[0-9'-'\\s]{1,7}[A-Za-z\\s]{1,17}[0-9]{4}[.$]"
"^[\\w\\W+\\s]{1,1000}[-.$]"
"^[A-Za-z\\s]{1,20}[0-9]{1,5}[-.$]"
"^[\\w\\W+\\s]{1,500}[-.$]"
"^[\\w\\W+\\s]{1,1000}[-.$]"
"http(s)?://([\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?"
"^[\\w\\W+\\s]{1,400}[-.$]"
21
Lampiran 4 Hasil pengujian pengecekan ejaan
No
1
2
3
Daftar pengujian
Pengecekan kata yang disaring
- Huruf kapital
- Angka
- Simbol
- Huruf miring
Pengecekan kata dalam KBBI dan
list Pengecualian
- Kata yang ada dalam KBBI
- Kata yang ada dalam list
Pengecualian
- Kata yang ada dalam KBBI tetapi
tidak ada dalam list Pengecualian
- Kata yang ada dalam list
Pengecualian tetapi tidak ada
dalam KBBI
Pengecekan stemming
- me-, me- kan, me-i
- di-, di-kan, di-i
- diper-kan, diper-i
- ke-an, ke-i
- memper-kan, memper-i
- se-, se-nya
- ter-, ter-an
- -nya, -ku, -mu, -an
- -lah, -kah, -kan
- Kata yang memiliki 2 akhiran
- Kata yang memiliki 2 awalan
- Dua kata yang digabung
- Kata dasar yang meluruh ketika
diberi awalan
Hasil yang diharapkan
Keberhasilan
sistem
Tidak ada komentar
Tidak ada komentar
Tidak ada komentar
Tidak ada komentar
Benar
Benar
Benar
Benar
Tidak ada komentar
Tidak ada komentar
Benar
Benar
Tidak ada komentar
Benar
Tidak ada komentar
Benar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Menghasilkan kata dasar
Tidak ada komentar
Menghasilkan kata dasar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
22
Lampiran 3 Hasil pengujian pengecekan format
No
1
2
3
4
5
Daftar pengujian yang
dilakukan
Pengujian Umum
- Ukuran kertas harus A4
-
Margin kertas
-
Jenis tulisan
-
Orientasi kertas
Judul dan Header
- Ukuran tulisan
-
Cetak tebal
-
Alignment tulisan
Body tulisan atau paragraf
- Ukuran tulisan
-
Alignment tulisan
-
Baris pertama paragraf
-
Jarak antar baris
Pengecekan logo IPB
- Ukuran logo
Pengecekan gambar dan tabel
- Posisi keterangan
-
Format penulisan
keterangan
Hasil yang diharapkan
Hasil dari sistem
Memberikan komentar
kesalahan ketika ukuran salah
Memberikan komentar
kesalahan ketika margin salah
Memberikan komentar
kesalahan ketika jenis tulisan
salah
Memberikan komentar
kesalahan ketika orientasi
kertas salah
Benar
Memberikan komentar
kesalahan ketika ukuran
tulisan salah
Memberikan komentar
kesalahan ketika tidak cetak
tebal
Memberikan komentar
kesalahan ketika alignment
salah
Benar
Memberikan komentar
kesalahan ketika ukuran
tulisan salah
Memberikan komentar
kesalahan ketika alignment
salah
Memberikan komentar
kesalahan ketika baris pertama
tidak menjorok ke dalam
Memberikan komentar
kesalahan ketika jarak antar
baris salah
Benar
Memberikan komentar
kesalahan ketika ukuran logo
salah
Benar
Memberikan komentar
kesalahan jika posisi
keterangan tidak berada di
bawah gambar atau di atas
tabel
Memberikan komentar
kesalahan pada format
penulisan keterangan tabel
atau keterangan gambar yang
salah
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
Benar
23
Lampiran 4 Pengujian White Box pada Sistem
1.
Tabel Pengujian white box fungsi SpellCheck
Flow Graph
Source Code
internal void SpellCheckPerSection(Word.Range
ranget){
(1) ProcessBar UIProcess = new ProcessBar();
(1) StemmingWord stemming = new StemmingWord();
(1) object missing =
System.Reflection.Missing.Value;
(1) int count = ranget.Words.Count;
(1) readTextIgnore();
(1) readKBBIwordList();
(1) UIProcess.setMax(count);
(1) UIProcess.Visible = true;
(1) int NextWord = 0;
(2) foreach (Word.Range range in ranget.Words){
(3) if (range.Text != null){
(4) string kata = range.Text.Trim();
(4) NextWord++;
(4) UIProcess.progressBar(NextWord);
(4) UIProcess.messageBoxProses(range.Text);
(5) if (kata != "" && range.Font.Italic != -1
&& wordCheck(kata) == 0 && kata.Length >
2){
(6) if (CheckToKBBIlistWord(kata) == 0) {
(7) if (CheckToIgnoreList(kata) != 1){
(8) kata = stemming.NAZIEF(kata);
(9) if (CheckToKBBIlistWord(kata) == 0) {
(10) Word.Comment komentar =
ranget.Comments.Add(range, ref missing);
(10) string[] suggestWord = { "tidak ada", "",
"" };
(10) suggestWord = SpellCheckSuggestWord(range);
(10) komentar.Range.Text = "Periksa kembali
ejaan ! " +suggestWord[0] + " "+
suggestWord [1] + " " +
suggestWord[2];}}}}}}
(11) UIProcess.Visible = false;}
Base path
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
1-2-3-2-11
1-2-3-4-5-2-11
1-2-3-4-5-6-2-11
1-2-3-4-5-6-7-2-11
1-2-3-4-5-6-7-8-9-2-11
1-2-3-4-5-6-7-8-9-10-2-11
1-2-3-2-11
1-2-3-4-5-2-11
1-2-3-4-5-6-2-11
1-2-3-4-5-6-7-2-11
1-2-3-4-5-6-7-8-9-2-11
1-2-3-4-5-6-7-8-9-10-2-11
24
Lanjutan
2.
Tabel Pengujian white box pada fungsi stemming Nazief
Flow Graph
Source Code
public string NAZIEF(string kata){
(1) string kataAsal = kata;
(1) readKBBIwordList();
(2) kata = DelInflectionSuffixes(kata);
(3) kata = DelDerivationSuffixes(kata);
(4) kata = DelDerivationPrefix(kata);
(5) return kata;}
Base path
1.
3.
1-2-3-4-5
Tabel pengujian white box pada fungsi DelInflectionSuffixes
Flow Graph
Source Code
public string DelInflectionSuffixes(string kata){
(1) string kataAsal = kata;
(2) if (Regex.IsMatch(kata,
"([km]u|nya|[kl]ah|pun)$")) {
(3) string _kata = Regex.Replace(kata,
"([km]u|nya|[kl]ah|pun)$", "");
(4) if (Regex.IsMatch(kata, "([klt]ah|pun)$")) {
(5) if (Regex.IsMatch(_kata, "([km]u|nya)$")) {
(6) string _kata_ = Regex.Replace(_kata,
"([km]u|nya)$", "");
(7) return _kata_;}}
(8) return _kata;}
(9) return kataAsal;}
Base path
1.
2.
3.
1-2-9
1-2-3-4-8
1-2-3-4-5-6-7
25
Lanjutan
4.
Tabel Pengujian white box pada fungsi CekPrefixDissalowedSuffixes
Flow Graph
Source Code
public bool CekPrefixDisallowedSuffixes(string kata){
(1) if (Regex.IsMatch(kata,
"^(be)[[:alpha:]]+(i)")) {
(5) return true;}
(2) if (Regex.IsMatch(kata,
"^(di)[[:alpha:]]+(an)")) {
(5) return true;}
(3) if (Regex.IsMatch(kata,
"^(ke)[[:alpha:]]+(i|kan)")) {
(5) return true;}
(4) if (Regex.IsMatch(kata,
"^(se)[[:alpha:]]+(i|kan)")) {
(5) return true;}
(6) return false;}
Base path
1.
2.
3.
4.
5.
5.
1-6
1-2-6
1-2-3-6
1-2-3-4-5
1-2-3-4-6
Tabel Pengujian white box pada fungsi DelDerivationSuffixe
Flow Graph
Source Code
public string DelDerivationSuffixes(string kata){
(1) string kataAsal = kata;
(2) if (Regex.IsMatch(kata, "(i|an)$")) {
(3) string _kata = Regex.Replace(kata, "(i|an)$", "");
(4) if (CheckToKBBIlistWord(_kata) != 0) {
(5) return _kata;}
(6) if (Regex.IsMatch(kata, "(kan)$")) {
(7) string _kata_ = Regex.Replace(kata, "(kan)$", "");
(8) if (CheckToKBBIlistWord(_kata_) != 0){
(9) return _kata_;}}
(10) if (CekPrefixDisallowedSuffixes(kata)){
(11) return kataAsal;}}
(12) return kataAsal;}
Base path
1.
2.
3.
4.
1-2-12
1-2-3-4-5
1-2-3-4-6-7-8-9
1-2-3-4-6-10-11
26
Lanjutan
6.
Tabel Pengujian white box pada fungsi SectionCheck
Flow Graph
Source Code
public void CheckEachSection(){
(1)
int totalSection =
Globals.ThisAddIn.Application.ActiveDocument.Sections.Count
;
(2)
if (totalSection != 11){
(3)
MessageBox.Show("Total section harus lengkap (11), Proses
dihentikan !");}
(4)
else{
(4)
object startIndex = 0;
(4)
object endIndex = 0;
(4)
int kesalahan = 0;
(4)
object missingValue = System.Reflection.Missing.Value;
(4)
Word.Document wordDocument =
Globals.ThisAddIn.Application.ActiveDocument;
(4)
Word.Range Range =
Globals.ThisAddIn.Application.ActiveDocument.Range(ref
missingValue, ref missingValue);
(4)
Word.Range Range2 =
Globals.ThisAddIn.Application.ActiveDocument.Range(ref
startIndex, ref endIndex);
(4)
Range2.Select();
(4)
Word.Range PageRange =
Globals.ThisAddIn.Application.ActiveDocument.Range(ref
missingValue, ref missingValue);
27
Lanjutan
(4)
(4)
(4)
(4)
(4)
(4)
(5)
(6)
(6)
(6)
(6)
(7)
(8)
(8)
(8)
(8)
(8)
(9)
(9)
(9)
(9)
(9)
(10)
(10)
(10)
(10)
(10)
(11)
(11)
(11)
(11)
(11)
(12)
(12)
(12)
(12)
(12)
(13)
(13)
(13)
(13)
(13)
(14)
(14)
(14)
(14)
(14)
Word.Bookmark PageBookmark;
object EndOfPage = @"\page";
object wdWhat = WdGoToItem.wdGoToPage;
object wdWhich = Word.WdGoToDirection.wdGoToNext;
int TotalPages =
Range.ComputeStatistics(WdStatistic.wdStatisticPages);
int currentPage, NumberOfSection;
for (currentPage = 1; currentPage <= TotalPages;
currentPage++){
object count = (object)currentPage;
Range = wordDocument.Bookmarks.get_Item(ref
EndOfPage).Range;
PageBookmark = wordDocument.Bookmarks.get_Item(ref
EndOfPage);
NumberOfSection =
(int)PageBookmark.Range.get_Information(WdInformation.wdActi
veEndSectionNumber);
switch (NumberOfSection){
case 1:
SectionOneCheck sOneCheck = new SectionOneCheck();
sOneCheck.SectionOne(PageBookmark, kesalahan, currentPage);
kesalahan = sOneCheck.jumlahKesalahan();
break;
case 2:
SectionTwoCheck sTwoCheck = new SectionTwoCheck();
sTwoCheck.SectionTwo(PageBookmark, kesalahan, currentPage);
kesalahan = sTwoCheck.jumlahKesalahan();
break;
case 3:
SectionThreeCheck sThreeCheck = new SectionThreeCheck();
sThreeCheck.SectionThree(PageBookmark, kesalahan,
currentPage);
kesalahan = sThreeCheck.jumlahKesalahan();
break;
case 4:
SectionFourCheck sFourCheck = new SectionFourCheck();
sFourCheck.SectionFour(PageBookmark, kesalahan,
currentPage);
kesalahan = sFourCheck.jumlahKesalahan();
break;
case 5:
SectionFiveCheck sFiveCheck = new SectionFiveCheck();
sFiveCheck.SectionFive(PageBookmark, kesalahan,
currentPage);
kesalahan = sFiveCheck.jumlahKesalahan();
break;
case 6:
SectionSixCheck sSixCheck = new SectionSixCheck();
sSixCheck.SectionSix(PageBookmark, kesalahan, currentPage);
kesalahan = sSixCheck.jumlahKesalahan();
break;
case 7:
SectionSevenCheck sSevenCheck = new SectionSevenCheck();
sSevenCheck.SectionSeven(PageBookmark, kesalahan,
currentPage);
kesalahan = sSevenCheck.jumlahKesalahan();
break;
28
Lanjutan
(15)
(16)
(15)
(15)
(15)
(16)
(16)
(16)
(16)
(16)
(17)
(17)
(17)
(17)
(18)
(18)
case 8:
SectionEightCheck sEightCheck = new SectionEightCheck();
sEightCheck.SectionEight(PageBookmark, kesalahan,
currentPage);
kesalahan = sEightCheck.jumlahKesalahan();
break;
case 9:
SectionNineCheck sNineCheck = new SectionNineCheck();
sNineCheck.SectionNine(PageBookmark, kesalahan,
currentPage);
kesalahan = sNineCheck.jumlahKesalahan();
break;
case 10:
SectionTenCheck sTenCheck = new SectionTenCheck();
sTenCheck.SectionTen(PageBookmark, kesalahan, currentPage);
break;}
Range = PageRange.GoTo(ref wdWhat, ref wdWhich, ref count,
ref missingValue);
Range.Select();}}}
Base Path:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
1-2-3
1-2-4-5-6-7-8-18
1-2-4-5-6-7-9-18
1-2-4-5-6-7-10-18
1-2-4-5-6-7-10-18
1-2-4-5-6-7-11-18
1-2-4-5-6-7-12-18
1-2-4-5-6-7-13-18
1-2-4-5-6-7-14-18
1-2-4-5-6-7-15-18
1-2-4-5-6-7-16-18
1-2-4-5-6-7-17-18
Download