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