BAB 3 ANALISIS DAN PERANCANGAN SISTEM
3.1
BINUS UNIVERSITY 3.1.1
Sejarah BINUS UNIVERSITY BINUS UNIVERSITY bermula sebagai suatu lembaga jangka pendek yang berdiri pada tanggal 21 Oktober 1974 dengan nama Modern Computer Course. Berkat landasan yang kuat dan visi yang jelas, lembaga ini terus berkembang. Pada tanggal 1 Juli 1981, karena banyaknya peminat dan pesatnya pertumbuhan, berkembang menjadi Akademi Teknik Komputer (ATK) dengan Jurusan Manajemen Informatika. Pada tanggal 13 Juli 1984, ATK mendapat Status terdaftar dan berubah menjadi AMIK Jakarta. Setahun kemudian, tepatnya tanggal 1 Juli 1985, dibuka Jurusan Komputerisasi Akuntansi, dan pada tanggal 21 September 1985, AMIK Jakarta berganti nama menjadi AMIK Bina Nusantara. Dalam usia mudanya, sebuah prestasi emas ditoreh AMIK Bina Nusantara dengan terpilih sebagai Akademi Komputer terbaik oleh Depdikbud melalui Kopertis Wilayah III Jakarta pada tanggal 17 Maret 1986. Peningkatan kebutuhan akan tenaga-tenaga handal dalam bidang teknologi informasi mendorong dikembangkan AMIK menjadi STMIK (Sekolah Tinggi Manajemen Informatika dan Komputer) Bina Nusantara sejak tanggal 1 Juli 1986, STMIK Bina Nusantara didirikan dengan Program
Strata1
(S1)
Jurusan
Manajemen
Informatika dan Jurusan Teknik Komputer (S1). 65
Informatika,
Teknik
66
Pada tanggal 9 November 1987, AMIK Bina Nusantara dilebur ke dalam STMIK Bina Nusantara hingga terbentuk sebuah lembaga yang menyelenggarakan Program Diploma III (DIII) dan Strata1 (S1). STMIK Bina Nusantara berhasil memperoleh status Disamakan untuk semua Jurusan dan Jenjang pada tanggal 18 Maret 1992, dan pada tanggal 10 Mei 1993 membuka Program Pascasarjana Magister Manajemen Sistem Informasi, salah satu program pascasarjana pertama di Indonesia dalam bidang ini. Pada tanggal 8 Agustus 1996, BINUS UNIVERSITY berdiri dan secara sah diakui oleh Pemerintah. STMIK Bina Nusantara kemudian melebur ke dalam BINUS UNIVERSITY pada tanggal 20 Desember 1998, dan hingga sekarang BINUS UNIVERSITY terdiri dari Fakultas Ilmu Komputer, Fakultas Ekonomi; Fakultas Teknik, Fakultas Sastra, Fakultas MIPA, dan Program Ganda serta Program Pascasarjana. Pada akhir tahun 1997, BINUS UNIVERSITY memperoleh Sertifikasi Manajemen
Mutu
Internasional.
Sejak
tahun
2007,
BINUS
UNIVERSITY bekerja sama dengan Curtin University of Technology, Australia;
Murdoch
Unversity,
Australia;
Macquarie
University,
Australia; The Royal Melbourne of Technology (RMIT), Australia; Limkokwing University of Creative Technology, Malaysia, dan Cologne Business School, Jerman, dengan 5 jurusan, yaitu Computer Science, Information Systems, marketing, Accounting, dan Art & Design. Pada
67
tahun 2007, BINUS UNIVERSITY membuka 2 fakultas baru yaitu Fakultas Psikologi dan Fakultas Komunikasi dan Multimedia.
3.1.2
Visi dan Misi BINUS UNIVERSITY 3.1.2.1 Visi “A World-class UNIVERSITY … In continuous pursuit of innovation and enterprise” Menjadi institusi pengetahuan dengan praktek terbaik yang dikenal secara internasional. Dengan cara menciptakan nilai ekonomi melalui perbedaan kemampunan, menciptakan inovasi dan kemampuan organisasi untuk dapat melakukan perubahan positif pada pasar global dan lingkungan.
3.1.2.2 Misi 9 Menyelenggarakan
program
studi
berkelanjutan
yang
ditunjang oleh hal yang terkait dengan teknologi informasi, kemampuan berbahasa asing, komunikasi, kepemimpinan, kemampuan berinovasi dan berwirausaha serta berkarakter baik. 9 Menjadi model sarana penelitian antara dosen, mahasiswa dan pihak-pihak yang terkait. 9 Menjadi penyedia sumber daya IT yang mumpuni dan mampu bersaing di tingkat global.
68
9 Menjadi model kerjasama antara dunia pendidikan dengan dunia industri khususnya yang terkait dengan aplikasi terapan. 9 Membangun kebanggaan para pihak yang terlibat baik langsung maupun tidak langsung dalam proses pendidikan.
69
3.1.3
Struktur Organisasi BINUS UNIVERSITY
Gambar 3.1 Struktur Organisasi BINUS UNIVERSITY
70
Gambar 3.2 Struktur Organisasi Computer Science BINUS UNIVERSITY
3.2
Analisis Masalah 3.2.1
Wawancara terhadap Objek Penelitian Untuk memperoleh informasi mengenai sistem yang sedang berjalan pada BINUS UNIVERSITY terutama cara kerja pengkoreksian jawab dari mahasiswa/i oleh dosen, maka penulis pun menerapkan metode wawancara pada objek penelitian, yaitu pada pihak dosen di BINUS UNIVERSITY. Penulis hanya melakukan wawancara kepada Kepala Jurusan Computer Science dari BINUS UNIVERSITY dan beberapa dosen matakuliah Pengantar Teknologi Informasi (PTI) untuk mendapatkan informasi yang diperlukan. Dengan melakukan wawancara terhadap beberapa dosen dirasa penulis sudah dapat mewakili keseluruhan kebutuhan dari dosen PTI, yaitu dapat langsung melihat nilai ujian dari
71
mahasiswa/i tanpa harus mengkoreksi jawaban tersebut secara manual. Adapun data hasil wawancara adalah sebagai berikut:
Tabel 3.1 Hasil Wawancara 1 Narasumber : Narasumber 1 Jabatan : Kepala Jurusan Computer Science Metode : Wawancara 1. P : Bagaimana cara Bapak dalam mengoreksi soal esai? J : Dalam mengkoreksi soal esai saya membuat keyword atau kunci jawaban terlebih dahulu untuk setiap soal. Tetapi untuk soal esai harus dilihat juga jawaban dari mahasiswa/i tidak harus terfokus dengan kunci jawaban yang sudah dibuat karena ada mahasiswa/i dalam menjawab soal dengan bobot yang lebih dari yang seharusnya. 2. P : Pernahkan Bapak menggunakan aplikasi yang dapat langsung mengkoreksi tanpa perlu dibaca? J : Belum pernah menemukan aplikasi tersebut sehingga belum pernah menggunakan. 3. P : Apa saran Bapak terhadap aplikasi yang akan kami buat? J : Saran saya terhadap aplikasi ini yaitu dalam mengkoreksi jawaban dari mahasiswa/i menggunakan rubrik sehingga hasil yang dicapai dapat lebih akurat.
72
Tabel 3.2 Hasil Wawancara 2 Narasumber : Dosen 1 Jabatan : Dosen Pengantar Teknologi Informasi Metode : Wawancara 1. P : Bagaimana cara Ibu dalam mengoreksi soal esai? J : Dalam mengoreksi soal esai ada keyword atau kunci jawaban yang sudah ditentukan kemudian dikaitkan menjadi kalimat - kalimat, kemudian baru dilihat lagi penalaran dari mahasiswa/i dalam menjawab soal. Penalaran tersebut akan menjadi nilai tambahan. 2. P : Pernahkan Ibu menggunakan aplikasi yang dapat langsung mengkoreksi tanpa perlu dibaca? J : Belum pernah menggunakan. 3. P : Apa saran Ibu terhadap aplikasi yang akan kami buat? J : Saran saya terhadap aplikasi ini yaitu dalam mengkoreksi jawaban dari mahasiswa/i aplikasi ini dapat merangkai kata-kata yang menjadi inti dari jawaban sehingga hasil yang diperoleh dapat lebih akurat.
Tabel 3.3 Hasil Wawancara 3 Narasumber : Dosen 2 Jabatan : Dosen Pengantar Teknologi Informasi Metode : Wawancara 1. P : Bagaimana cara Bapak dalam mengoreksi soal esai? J : Dalam mengoreksi soal esai mencocokan point-point penting yang ada pada jawaban dari mahasiswa/i. Kemudian melihat kembali bagaimana cara mahasiswa/i dalam menjawab, sehingga dapat dilihat pemahaman mahasiswa/i tentang soal yang diberikan 2. P : Pernahkan Bapak menggunakan aplikasi yang dapat langsung mengkoreksi tanpa perlu dibaca? J : Belum pernah menggunakan 3. P : Apa saran Bapak terhadap aplikasi yang akan kami buat? J : Saran saya terhadap aplikasi ini yaitu dalam mengkoreksi jawaban dari mahasiswa/i aplikasi ini sangat berguna dan membantu dosen dalam mengkoreksi soal ujian.
73
Dari wawancara yang dilakukan oleh penulis untuk mendapatkan informasi dapat disimpulkan bahwa dalam mengkoreksi soal esai, dosen menggunakan kunci analisis dosen dari sendiri sehingga pengkoreksian dapat berjalan dengan baik dan cepat. Dosen juga menyarankan agar analisis yang dibuat oleh penulis dapat merangkai kalimat inti dari jawaban yang diberikan oleh mahasiswa/i.
3.2.2
Sistem yang Sedang Berjalan BINUS UNIVERSITY merupakan salah satu universitas swasta di Indonesia yang memiliki banyak mahasiswa/i yang terbagi atas beberapa fakultas. Dalam penyusunan karya tulis ini, penulis memfokuskan pada mata kuliah Pengantar Teknologi Informasi pada jurusan Computer Science yang berada dibawah naungan Fakultas Ilmu Komputer. Pada Fakultas Ilmu Komputer BINUS UNIVERSITY dalam mempelajari mata kuliah Pengantar Teknologi Informasi (PTI) terdapat silabus atau pedoman mengajar yang diberikan kepada dosen mata kuliah tersebut, sehingga dalam mengajar dosen tidak keluar dari tujuan-tujuan yang harus dicapai oleh mahasiswa/i pada setiap pertemuan. Untuk menguji
kemampuan
mahasiswa/i
secara
informal
dosen
dapat
memberikan kuis atau tugas mandiri kepada mahasiswa/i tersebut, dan secara formal mahasiswa/i diuji dengan diadakannya Ujian Tengah Semester (UTS) dan Ujian Akhir Semater (UAS) untuk memperoleh nilai akhir dari mahasiswa/i.
74
Secara garis besar, sistem yang dijalankan oleh dosen untuk mengkoreksi jawaban dari mahasiswa/i saat ini dapat di gambarkan melalui alur berikut ini:
Jawaban Mahasiswa
masuk
Akademis
di nilai
Dosen
nilai di kembalikan
Gambar 3.3 Alur Sistem Pengkoreksian Jawaban Mahasiswa/i
Cara yang digunakan oleh dosen dalam mengkoreksi jawaban ujian dari mahasiswa/i saat ini adalah dengan cara manual, jadi dosen mata kuliah tersebut langsung mengkoreksi tanpa melalui suatu aplikasi. Dalam mengkoreksi jawaban dari mahasiswa dosen menerapkan dengan dua langkah yaitu dengan melihat kunci jawaban yang dibuat oleh dosen sendiri dan menganalisis jawaban dari mahasiswa/i.
3.2.3
Identifikasi Masalah Pada saat mahasiswa telah selesai mengerjakan soal ujian, maka lembar jawab tersebut akan diperiksa oleh dosen yang mengajar kelas tersebut. Jika pada soal ujian terdapat soal pilihan ganda (PG) maka dosen dapat menggunakan suatu aplikasi untuk mengecek apakah semua jawaban tersebut benar atau salah, maka dengan mudah suatu aplikasi tersebut memberikan nilai pada pilihan ganda tersebut. Tetapi jika pada
75
soal ujian terdapat esai yang mengharuskan mahasiswa untuk mendeskripsikan, mendefinisikan, menjelaskan, menyebutkan , dan menganalisis sesuatu, maka dosen sekarang ini harus membaca, menelaah, dan menganalisis apakah jawaban dari mahasiswa/i tersebut sudah sesuai dengan point-point yang sudah di sepakati oleh tim pembuat soal. Dengan menggunakan cara manual tersebut banyak ditemui kendala-kendala yaitu : -
Membutuhkan waktu lama untuk menganalisis jawaban.
-
Jika mata kuliah yang di koreksi merupakan matakuliah yang wajib diambil oleh semua fakultas pada semester yang sama, maka peng-input-an nilai akan memakan proses yang lama.
-
Dosen dapat tidak secara maksimal mengkoreksi jawaban karena
tidak
teraturnya
tulisan
mahasiswa/i
sehingga
menyulitkan dosen untuk menganalisa jawaban.
3.2.4
Usulan Pemecahan Masalah Berdasarkan kendala-kendala yang ditemui dari sistem berjalan tersebut, diperlukan suatu aplikasi yang dapat membantu mempercepat pengkoreksian jawaban sehingga dosen yang banyak mengajar kelas yang banyak tidak perlu lagi membaca dan menganalisis jawaban dari mahasiswa/i terlalu lama. Maka penulis mengusulkan perancangan aplikasi sistem koreksi ini sebagai solusi atas kendala tersebut.
76
Aplikasi ini akan membantu dosen-dosen yang mengajar banyak kelas dan kelas tersebut merupakan kelas yang ada pada sepuluh jurusan. Pada aplikasi sistem koreksi ini, diterapkan metode Natural Language Processing (NLP) dan diproses oleh internal kampus, sehingga data yang digunakan tidak mudah disalah gunakan oleh pihak luar. Proses analisis dimulai pada saat mahasiswa/i menjawab soal, kemudian dari jawaban mahasiswa/i akan dicari jawaban yang tepat dan sesuai dengan yang ada pada database. Dengan demikian akan meringankan pekerjaan dosen dalam mengkoreksi jawaban dari mahasiswa/i.
3.3
Perancangan Sistem yang Diusulkan 3.3.1
Gambaran Umum Sistem yang diusulkan Aplikasi analisis sistem koreksi soal esai ini akan membantu dosen dalam mengkoreksi dan memberi penilaian terhadap jawaban dari mahasiswa/i. Jawaban dari mahasiswa/i akan langsung dianalisis oleh sistem yaitu dengan cara mencocokan jawaban tersebut dengan database kata kunci yang sudah disediakan, sehingga dapat membantu dosen dalam memberikan nilai terhadap jawaban. Sistem dimulai pada saat mahasiswa/i meng-input jawaban ke dalam aplikasi. Agar dapat memberikan penilaian dan evaluasi terhadap jawaban dengan optimal, maka pada proses analisis ini diterapkan metode Natural Language Processing (NLP). Dengan adanya metode NLP, akan berusaha untuk memahami inti dari jawaban mahasiswa/i dalam
77
menjawab soal. Pada perancangan analisis ini, proses NLP hanya akan sampai pada tahapan analisis semantik. Sistem akan mencari kata kunci pada database yang ada dan menyusun katakunci tersebut menjadi kalimat inti, kemudian kalimat tersebut dicocokan dengan inti dari jawaban mahasiswa/i.
3.3.2
Perancangan Natural Language Processing Seperti yang telah penulis uraikan sebelumnya, dalam analisis dan perancangan sistem koreksi ini, penulis menerapkan metode NLP terutama pada saat mahasiswa/i memasukkan jawaban pada aplikasi. Sebagai contoh untuk menunjukan proses dalam perancangan NLP, penulis menggunakan kalimat berikut. Tanda petik dua disini hanya sebagai penanda awal dan akhir kalimat, bukan bagian dari contoh kalimat yang di-input oleh mahasiswa/i. Contoh kalimat Input Jawaban dari mahasiswa/i: “Aplikasi software adalah aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah, atau sekedar mencari hiburan. Aplikasi tersebut terdiri atas program-program.”
3.3.2.1 Analisis Morfologi Tahap awal dari proses NLP pada pengembangan aplikasi analisis sistem koreksi esai ini adalah analisis morfologi. Pada tahap analisis ini akan dilakukan pengecekan awal pada kalimat
78
input-an. Inti dari proses analisis ini adalah mencari bentuk morfem dari kata-kata yang di-input oleh mahasiswa/i. Penulis membedakan morfem menjadi morfem imbuhan dan morfem dasar. Misalnya menemukan kata “mengerjakan”, maka morfem imbuhannya adalah “meng-kan”, dan morfem dasarnya adalah “kerja”. Kemudian hasil dari penemuan morfem tersebut, ditentukan jenis kata atau kelas katanya agar dapat dilakukan pemrosesan analisis sintaksis. Dalam menentukan morfem dari kalimat yang di-input oleh mahasiswa/i, penulis melakukan tahap berikut: 1. Memecah paragraf menjadi kalimat Pada tahap ini kalimat-kalimat atau paragraf input-an mahasiswa/i
akan
dipecah
menajdi
kalimat
tunggal.
Pemecahan didasarkan pada tanda baca titik (.), tanda seru (!), dan tanda tanya (?). Jadi jika pada saat pengecekan paragraf ditemukan salah satu dari ketiga tanda baca tersebut, maka sistem akan memecahnya paragraf tersebut menjadi kalimatkalimat tunggal. Dari contoh paragraf input-an yang dijabarkan diatas, maka sistem akan memecah paragraf menjadi kalimat berdasarkan tanda titik (.) yang ada. “Aplikasi software adalah aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah, atau sekedar mencari hiburan. (terdapat
79
tanda titik, maka kalimat ini dipecah), dan aplikasi tersebut terdiri atas program-program.” Sehingga terbentuk menjadi dua kalimat: (1) Aplikasi software adalah aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah, atau sekedar mencari hiburan. (2) Aplikasi tersebut terdiri atas program-program.
2. Menghapus karakter-karakter yang tidak perlu Pada tahap ini, untuk setiap kalimat tunggal yang telah terbentuk setelah melewati tahap pertama, maka dilakukan penghapusan karakter-karakter tertentu yang tidak diperlukan dalam menganalisis kalimat, yaitu karakter-karakter yang apabila dihapus, tidak akan mengubah makna kalimat awal. Misalnya karakter ~!@#$%^&*()-_+={}[]:;”’?><,.|\/. Proses penghapusan karakter tersebut dilakukan berulang kali sampai semua karakter yang tidak diperlukan telah dihapus. Karakter yang dihapus tersebut akan digantikan oleh karakter spasi kosong (whitespace). Penghapusan karakter juga dimaksudkan untuk memudahkan proses tahap selanjutnya. Pada contoh kalimat input-an, karakter yang dihapus adalah karakter titik (.), dan karakter koma (,).
80
(1) Aplikasi software adalah aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah, atau sekedar mencari hiburan. (karakter titik, dan koma dihapus) (2) Aplikasi tersebut terdiri atas program-program. (karakter titik dan strip dihapus) Sehingga menghasilkan kalimat sebagai berikut: (1) Aplikasi software adalah aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah, atau sekedar mencari hiburan (2) Aplikasi tersebut terdiri atas program program
3. Memecah kalimat menjadi kata Pada tahap ini, kalimat tunggal yang telah melewati tahap ke-dua yaitu penghapusan karakter akan dipecah menjadi katakata. Pemecahan didasarkan pada karakter spasi kosong yang ditemukan selama sistem membaca kalimat tersebut. Jadi jika ditemukan karakter spasi kosong pada saat pengecekan kalimat, maka sistem akan memecahnya menjadi kata-kata. Maka contoh kalimat yang dipecah berdasar pada hasil dari tahap ke-dua adalah sebagai berikut: (1,1) Aplikasi
(2,1) Aplikasi
(1,2) software
(2,2) tersebut
(1,3) adalah
(2,3) terdiri
81
(1,4) aplikasi
(2,4) atas
(1,5) yang
(2,5) program
(1,6) membuat
(2,6) program
(1,7) kita (1,8) bisa (1,9) mengerjakan (1,10) tugas (1,11) tertentu (1,12) memecahkan (1,13) masalah (1,14) atau (1,15) sekedar (1,16) mencari (1,17) hiburan
4. Mencari bentuk morfem dari kata Pada tahap ini, hasil dari pemecahan kata yang dihasilkan berupa kata-kata tunggal. Pada setiap kata tunggal ini, dilakukan pencarian bentuk morfem dari kata tersebut, yang merupakan satuan gramatikal terkecil. Untuk menemukan bentuk morfem tersebut penulis menggunakan algoritma stemming Nazief dan Adriani. Dari algoritma stemming ini, akan ditemukan morfem imbuhan dan morfem dasar. Morfem imbuhan seolah-olah
82
dihapus sehingga akan menghasilkan morfem dasar. Morfem imbuhan tidak benar-benar dihapus karena akan digunakan untuk proses penentuan jenis kata pada analisis sintaksis. Proses pertama kali yang dilakukan oleh sistem adalah pengecekan tiap kata ke dalam database. Jika kata tersebut berada di database dan sudah merupakan morfem dasar, maka tidak akan dilakukan proses stemming. Tetapi jika kata tersebut berada dalam database dan ternyata memiliki imbuhan maka proses stemming dilakukan untuk memperoleh morfem dasar, dan jika kata tersebut tidak ditemukan dalam database, maka kata tersebut akan dihapus dan digantikan oleh spasi kosong. Untuk itu, penulis berusahan membuat kamus data selengkap mungkin. Berdasar pada proses ke-tiga ini, maka kata-kata yang tidak dilakukan proses stemming karena sudah merupakan morfem dasar adalah sebagai berikut: (1,1) Aplikasi
(2,1) Aplikasi
(1,2) software
(2,4) atas
(1,3) adalah
(2,5) program
(1,4) aplikasi
(2,6) program
(1,5) yang (1,7) kita (1,8) bisa (1,10) tugas
83
(1,13) masalah (1,14) atau (1,15) sekedar (1,17) hiburan
Kata-kata ini yang akan diproses lebih lanjut untuk mendapatkan bentuk morfem dasarnya adalah sebagai berikut: (1,6)
membuat
(2,2) tersebut
(1,9)
mengerjakan
(2,3) terdiri
(1,11) tertentu (1,12) memecahkan (1,16) mencari
Setelah mendapatkan kata yang masih memiliki imbuhan, maka kata-kata tersebut harus diproses lebih lanjut yaitu dengan menggunakan algoritma stemming Nazief dan Adriani. Penulis hanya mengambil contoh pada kata “mengerjakan”. Tahapan yang dilakukan untuk kata “mengerjakan”, dikerjakan dengan langkahlangkah berikut: a. Membuang inflection suffix Pada kata “mengerjakan” akan dicek apakah memiliki inflection suffix, yaitu akhiran -lah, -kah, -ku, -mu, -nya, -pun,
84
-tah. Ternyata tidak terdapat inflection suffix pada kata “mengerjakan”, maka proses selanjutnya dijalankan.
b. Membuang derivation suffix Kemudian kata “mengerjakan” dicek apakah memiliki derivation suffix, yaitu akhiran -i, -an, -kan. Ternyata ditemukan akhiran -kan. Maka akhiran -kan , sehingga kata “mengkerja”.Kemudian sistem mengerjakan pencarian ke database, dan ternyata kata “mengkerja” tidak terdapat dalam database.
c. Membuang derivation prefix Dari proses sebelumnya setelah dilakukan pengecekan ternyata kata “mengerjakan” manjadi “mengerja”. Maka pada kata “mengerja” akan dilakukan pengecekan apakah terdapat awalan pada kata tersebut. Ternyata ditemukan pola awalan meng- pada kata “mengerja”, maka dilakukan pemotongan awalan pada kata tersebut. Sehingga kata “mengerja” menjadi “erja”, kemudian sistem mencari kata tersebut dalam database. Dan ternyata kata “erja” tidak terdapat dalam database, maka sistem untuk kata “erja” ditambah dengan huruf “k”. Karena huruf awal pada kata “mengerja” adalah huruf “e”, maka kata
85
“mengerja” menjadi “kerja”. Kemudian dilakukan pengecekan ke database, dan ternyata ditemukan kata “kerja”.
d. Setelah sampai pada tahap berhasil menemukan kata di dalam database, maka diasumsikan bahwa pada kata “mengerjakan” memiliki morfem dasar “kerja” dan morfem imbuhan adalah “meng”, dan morfem akhiran adalah “kan”.
3.3.2.2 Analisis Sintaksis Pada tahap analisis sintaksis, input-an jawaban dari mahasiswa/i berupa kalimat jawab, pola, dan struktur bahasa Indonesia yang baik dan benar akan di analisis oleh sistem. Terdapat beberapa tahapan analisis yang dilakukan pada tahap analisis sintaksis ini, yaitu: 1. Analisis Pola Kalimat Pada tahap analisis pola kalimat ini, sistem akan menganalisis apakah pola kalimat yang digunakan oleh mahasiswa/i dalam menjawab soal sudah sesuai dengan tata bahasa Indonesia. Tata bahasa yang diterima oleh sistem akan disusun dalam bentuk grammar yang dibangun oleh penulis. Sebelum membuat grammar, penulis mendefinisikan katakata yang dapat diterima berdasarkan grammar terlebih dahulu, atau yang disebut dengan lexicon. Lexicon ini akan
86
lebih diutamakan pada hal yang berkaitan dan sering digunakan dalam permasalahan Teknologi Informasi dan istilah-istilah seputar Terknologi Informasi. Lexicon juga berisi
beberapa
kata
dalam
bahasa
Inggris
yang
penggunaannya berkaitan dengan Teknologi Informasi. Berikut terdapat beberapa kata yang merupakan lexicon untuk digunakan pada sistem ini: KB
Æ saya | anda | monitor | printer | komputer | CPU | hardware | software | memori | program | kesalahan | layar | user | pengguna | karyawan | motherboard | parallel | serial | port | CD-ROM | CDRW | hasil | modem
KK
Æ menjalankan | menerima | menulis | membaca
KS
Æ rusak | cepat | lambat | baik | benar | salah | panas | sukses
KTunjuk Æ ini | itu KBil
Æ satu | sepuluh | tiga | pertama
KDep
Æ di | dalam | atas | antara | dari | ke | kepada | akan | terhadap | oleh | tentang | mengenai | hingga | sampai | dengan
87
KHub
Æ dan | serta | atau | tetapi | namun | sedangkan | sebaiknya | melainkan | hanya | bahkan | malah | lagipula | apalagi | jangankan | kecuali | lalu | kemudian | selanjutnya | yaitu | yakni | bahwa | adalah | ialah | kalau | jikalau | jika | bila | apabila | asal | untuk | buat | guna | seperti | sebagai | laksana
KKet
Æ memang | pasti | tertentu | barangkali | mungkin | kiranya | rasanya | agaknya | rupanya | semoga | hendaknya | seringkali | jarang | sudah | telah | sedang | lagi | tengah | akan | belum | masih | pernah | sempat | ingin | mau | hendak | suka | sangat | amat | sekali | tidak | tak | tiada | bukan
Berdasarkan lexicon tersebut, misalnya pada KK Æ menjalankan, terkesan seolah-olah kata yang akan diperiksa oleh sistem adalah “menjalankan”. Namun penulisan lexicon ini hanya untuk menjelaskan bahwa kata “menjalankan” merupakan kata kerja (KK). Proses yang dilakukan oleh sistem adalah pengecekan morfem dasar “jalan” dan morfem imbuhan
“men-kan”.
Pada
saat
pengecekan
kalimat
88
berdasarkan grammar, akan diperiksa apakah kata “jalan” yang memiliki imbuhan “men-kan” merupakan kata kerja. Jika ya, maka kata tersebut lolos dalan proses parsing.
Setelah lexicon dibuat, makan selanjutnya akan dibuat grammar untuk memeriksa kalimat input-an dari mahasiswa/i: KALIMAT Æ Klausa KH1 Klausa | KH1 Klausa | Klausa Klausa
Æ S P Opel Ket
S
Æ FB S2 | ε
P
Æ FB3 | FK | FS | FN | FP
O
Æ FB | FB KH Klausa | ε
Ket
Æ Ket1 Ket2 Klausa | ε
S2
Æ S3 KT1| ε
S3
Æ KH2 Klausa | ε
FB
Æ FB1 KH1 FB2 | ε
FB1
Æ KS FB | FBil KB FB
FB2
Æ KS FB | FBil KB FB | ε
FBil
Æ Kbil FN2| ε
FN2
Æ KKet2 FBil KKet2 | ε
KT1
Æ KT | ε
KH1
Æ KHn | ε
KH2
Æ KHs
FB3
Æ Kket2 FB
89
FK
Æ FK2 FK3
FK2
Æ KKet2 FK4
FK4
Æ KK KKet2 | KK KH KKet2 KK KKet2
FK3
Æ FK2 | ε
FS
Æ KKet2 FS2 KKet2
FS2
Æ KS | KS KH KS
FN
Æ KKet2 KBil FB KKet2
FP
Æ KDep FP2 FB
FP2
Æ FP | ε
Ket1
Æ FN1
FN1
Æ KKet2 Kbil KKet2 | ε
Ket2
Æ KH Ket3 | ε
Ket3
Æ KDep | ε
KKet2
Æ KKet KKet2 | ε
KB
Æ KB | Pe Kata | Pem Kata | Pen Kata | Peng Kata | Peny Kata | Kata an | Kata nya | Pe Kata an | Per Kata an | Ke Kata an | Ter kata
KK
Æ KK | Me Kata | Mem Kata | Men Kata | Meng Kata | Meny Kata | Ber Kata | Per Kata | Per Kata an | Kata kan | Kata i | Ber Kata kan | Ber Kata an | Per Kata i | Me Kata kan |Me Kata i | Memper kata | Memper kata kan | Memper kata i | Di kata | Di kata kan | Di kata
90
i | Diper kata |Diper Kata kan | Diper Kata i | Ter Kata kan | Ter kata i Kata
Æ KB | KK | KS | KBil | KKet
KB
Æ Kata Benda
KK
Æ Kata Kerja
KS
Æ Kata Sifat
KBil
Æ Kata Bilangan
KH
Æ Kata Hubung
KHn
Æ Kata Hubung (selain yang)
KHs
Æ Kata Hubung (khusus yang)
KDep
Æ Kata Depan
KKet
Æ Kata Keterangan
KT
Æ Kata Tunjuk
Berdasar pada grammar diatas, maka sistem dapat memeriksa kalimat dalam bentuk: a. Kalimat sederhana b. Kalimat majemuk rapatan c. Kalimat majemuk bersisipan d. Kalimat majemuk bertingkat Kemudian, dari keseluruhan proses tahap morfologi pada contoh kalimat input-an diawal, dilakukan pengecekan berdasarkan grammar yang telah dibuat. Input-an yang
91
diperiksa oleh sistem mulai dari kalimat sampai dengan morfem dari kalimat tersebut.
2. Penerapan Algoritma Earley Pada tahap analisis sintaksis, penulis tidak hanya menganalisis pola kalimat saja tetapi juga menggunakan algoritma Earley untuk menentukan apakah kalimat input-an dari mahasiswa/i bisa diproses berdasarkan grammar yang telah dibangun pada analisis pola kalimat. Untuk membut parser-nya penulis menggunakan Jerly (J-Earley), yaitu sebuah implementasi Java dari parser sintaksis berdasarkan algoritma Earley. Jerly ini bersifat open source sehingga penulis memutuskan untuk menggunakan Jerly ke dalam sistem ini (reuse code). Sistem akan membaca input-an kalimat mahasiswa/i, kemudian memeriksanya berdasarkan pada grammar yang ada. Grammar berupa Context Free Grammar (CFG) dengan G=(VN, VT, S, H). Matriks F akan dikompilasi per kolom dari kiri ke kanan dengan setiap kolom dikomputasi bottom up kecuali sel Fi,j dalam diagonal utama, yang akan dikomputasi terakhir pada tiap kolom. Pertama kali sel dari F bernilai kosong dan akan diisi dengan algoritma berikut:
92
1. j Å 0 SÆWЄH Ö S Æ .W Є F0,0 Penjelasan : aturan S Æ W Є H ditulis ke sel (0,0) sebagai Î S Æ .W Є F0,0 2. B Æ U Є H k≤j
A Æ X. BY Є Fi,k
Ö B Æ .U Є Fi,j (dimana B Є VN ; U Є (VN U VT) + ; X,Y Є (VN U VT)x) Penjelasan: Ulangi selama k ≤ j (misalnya dalam kolom j, proses bergerak ke bawah sel demi sel) { Pada sel A Æ X. BY Є Fi,k, dicari aturan dimana ada sebuah non-terminal setelah tanda dot. Non-terminal ini dianggap sebagai B (disimpan ke dalam sebuah variable). Jika ada aturan B Æ U Є H, maka tambahkan B Æ .U Є Fi,j yang merupakan sel bawah kolom. } 3. Jika j = n, maka komputasi selesai Jika j < n, maka j Å j+1, iÅ i-1 Penjelasan:
93
Jika j = n, maka komputasi selesai. Jika j < n, maka tambahkan j dan kurangi i. Variabel j menunjuk pada kolom saat ini. Dengan j, proses bergerak satu kolom ke kanan . Variabel i menunjuk pada sel saat ini, terbawah, dan proses bergerka maju dengan i pada langkah berikutnya. 4. A Æ X.aj Y Є Fi,j-1 Ö A Æ X.aj Y Є Fi,j Penjelasan: Pada satu sel di sebleh kiri sel (i,j), jika ada aturan yang memiliki terminal setelah dot, maka cocokan pada database: terminal tersebut dengan kata ke-j dari input-an kalimat. Jika hasilnya cocok, maka salin aturan ini ke sel (i,j), dan pindahkan dot ke satu posisi ke kanan. 5. I ≤ k < j:
A Æ X. BY Є Fi,k B Æ U. Є Fk,j Ö A Æ XB.Y Є Fi,j
(dimana U Є (VN U VT)x) Penjelasan: Simpan sel pada posisi (k,j) ke dalam variable E. Kemudian simpan sel pada posisi (i,k) ke dalam variable G. Jika ada aturan dalam E yang letak dot paling akhir
94
(seperti B Æ U. Є Fk,j), maka simpan B. Kemudian liat G. Jika ada aturan dimana B berada disebelah kanan dari dot, maka salin aturan ini ke sel (i,j), lalu pindahkan dot tersebut ke satu posisi kanan. Setelah itu, bergerak dengan E satu sel ke bawah, dan dengan G satu sel ke kanan, dan proses dimulai lagi. Perulangan akan berhenti ketika mencapai F pada sel, yang di sebelah (i,j) Jika ada aturan baru pada B Æ U. Є Fi,j, maka harus dipasangkan antara sel (0,j) dengan (0,0) lagi. 6. Jika i > 0: Jika i = 0:
i Å i-1, goto 4 goto 2
Penjelasan: Jika i > 0:
i Å i-1, goto 4, maka kurangi i dan
menuju ke langkah 4. Artinya jika proses belum sampai ke atas dengan i, maka bergerak dengan i ke satu posisi ke atas, dan melompat ke langkah 4. Jika i = 0:
goto 2, maka menuju ke langkah 2.
Artinya jika proses sudah di atas dengan i, maka melompat ke langkah 2. Berikut contoh simulasi penerapan algoritma Earley pada contoh grammar sederhana untuk kalimat “Aplikasi menjalankan komputer”.
95
Grammar contoh: KALIMAT Æ S P O S Æ KBenda (KB) P Æ KKerja (KK) O Æ KBenda (KB)
Tabel 3.4 Proses Simulasi Algoritma Earley 0 0 1 2 3 1 0,0 0,1 0,2 0,3 KALIMAT Æ .S P S Æ KBenda . KÆ S P. O KÆ S P O. O K Æ S. P O S Æ .KBenda P Æ .KKerja O Æ .KBenda 2
1,1 1,2 P Æ .KKerja P Æ KKerja.
3
1,3
3,2 3,3 O Æ .KBenda O Æ KBenda.
Sel (0,3) memiliki aturan dot dari bentuk SÆ U. , oleh karena itu, kalimat “Aplikasi menjalankan komputer” dapat diterima oleh sistem berdasarkan contoh grammar sederhana diatas. Untuk mempermudah dalam melihat prose yang terjadi di sistem, maka penulis membangun parser tree berdasar contoh kalimat diatas. Parser tree ini hanya sekedar bentuk
96
representasi visual dari proses parsing yang terjadi pada sistem.
Klausa
S
FB
P
S2
O
FK
Ket
O
Ket1
ε FB
ε
KH1 FB2 ε
F.Bil KB
Klausa5
FK2
FK3
ε
KH2 Klausa2 ε
FB
K.Ket
ε
Ket2
FB
FK4
KH
Ket3
ε Aplikasi
KH1 FB2 FB1
ε
ε KK K.Ket2 F.Bil
ε
ε Adalah
KB
ε
FB ε
Aplikasi
FB1 KB FB
ε
ε
Software
Gambar 3.4 Parse Tree Pada Kalimat Jawaban
Atau
97
Klausa2
S
P
ε
FK
O
Ket
FB
Ket1
Klausa3
ε FK2
FK3 ε
K.Ket2
KH2 FB
FB2
Ket2
ε
ε
ε
FK4
ε KK K.Ket2 ε Membuat
F.Bil KB ε
FB ε
Anda
Gambar 3.5 Parser Tree Klausa 2 Pada Kalimat Jawaban
98
Klausa3
S
P
ε
FK
O
Ket
FB
Ket1
Klausa4
ε FK2
FK3
KH1
FB2
Ket2
ε
ε
ε
FB1 FK4
K.Ket2
FK2
ε KK K.Ket2
F.Bil KB
ε K.Ket2 Bisa
FK4
ε
FB
ε Tugas FB1
KK
K.Ket2 ε
Mengerjakan
KS
FB
Tertentu
ε
KH1
FB2
ε
ε
Gambar 3.6 Parser Tree Klausa 3 Pada Kalimat Jawaban
99
Klausa4
S
P
ε
FK
FK2
Ket
FB
FK3 ε
K.Ket2
O
ε
KH1
FB2
ε
ε
FB1
FK4
ε KK K.Ket2 ε Memecahkan
F.Bil KB ε
FB ε
Masalah
Gambar 3.7 Parser Tree Klausa 4 Pada Kalimat Jawaban
100
Klausa5
S
P
ε
FK
FK2
O
FB
FK3 ε
Ket
ε
KH1
FB2
ε
ε
FB1
FK4
K.Ket2 Sekedar
KK K.Ket2 ε Mencari
F.Bil KB ε
FB ε
Hiburan
Gambar 3.8 Parser Tree Klausa 5 Pada Kalimat Jawaban
101
Jika dilihat dari hasil parsing pada Gambar 3.4 sampai dengan Gambar 3.8. Parsing dibuat berdasarkan pada grammar yang dibuat, kalimat input-an dinyatakan Benar (True) jika kalimat tersebut dianggap sesuai dengan tata bahasa Indonesia atau diterima oleh grammar. Sebaliknya, kalimat dinyatakan Salah (False) maka sistem akan menolak kalimat tersebut. Hal ini disebabkan oleh kalimat input-an jawaban yang memang tidak sesuai dengan grammar yang ada, terjadi kesalahan mengetikan kata sehingga tidak ditemukan pada database pada saat pencarian. Saat ini sistem parser yang dibangun penulis hanya bisa menerima kalimat input-an yang sesuai dengan grammar dan yang tiap katanya terdapat di dalam database.
3.3.2.3 Analisis Semantik Setelah berhasil melewati tahap morfologi, dan sintaksis, maka penulis dapat menyimpulkan bahwa kalimat input-an mahasiswa/i sudah sesuai dengan tata bahasa Indonesia yang dirumuskan
melalui
grammar
yang
dibuat.
Maka
dapat
dilanjutkan ke tahap berikutnya yaitu analisis semantik. Pada perancangan analisis semantik ini, sistem hanya akan dibuat melalui tahapan analisis semantik kata dari input-an mahasiswa/i dari beberapa kalimat yang di-input, sistem akan
102
mencoba untuk membangun konsep atau intisari dari kalimat tersebut berdasarkan arti tiap kata. Hal yang sama dilakukan oleh dosen dalam menganalisis jawaban dari mahasiswa/i yaitu dengan membuat rubrik, tetapi masih dengan cara manual dan tidak diresmikan oleh tim pembuat soal. Kalimat intisari yang diperoleh dari sistem oleh penulis akan dicocokan dengan database jawaban yang
sudah
disediakan.
Hasil
dari
pencocokan
atau
pengevaluasian dari sistem akan ditampilkan pada layar beserta nilai yang dapat diperoleh mahasiswa setelah menjawab soal Untuk mendapatkan evaluasi yang diinginkan maka penulis dalam rancangannya mengerjakan beberapa tahapan yaitu: 1. Mendapatkan kedudukan kalimat S-P-O Berdasarkan hasil parsing pada analisis sintaksis, maka sistem akan dapat mengenali kedudukan kata pada kalimat. Contohnya dapat diliat pada kalimat diawal, maka kedudukan kaliat tersebut yaitu: Aplikasi software adalah aplikasi yang membuat kita bisa S
P
O
mengerjakan tugas tertentu, memecahkan masalah, atau
sekedar mencari hiburan. Ket
103
Pada perancangan ini, sistem akan mengambil pola kalimat Subjek, Predikat, Objek, dan Keterangan (S-P-O-K). Pada kalimat “Aplikasi software adalah aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah, atau sekedar mencari hiburan.” memiliki perluasan Objek yaitu pada frase “aplikasi yang membuat kita bisa mengerjakan tugas tertentu, memecahkan masalah” dan perluasan Keterangan yaitu “atau sekedar mencari hiburan”. Dari perluasan Objek tersebut dapat ditelaah menjadi: aplikasi yang membuat kita bisa mengerjakan tugas S
P
O
P
tertentu, memecahkan masalah O
P
O
dan dari perluasan Keterangan ditelaah menjadi: atau sekedar mencari hiburan Ket
P
O
2. Membandingkan kalimat input-an mahasiswa/i dengan database Setelah mendapatkan konsep kalimat dari input-an, maka sistem akan membandingkan intisari dari kalimat dengan database. Dengan adanya perbandingan dari database dapat dilihat kemiripan dengan konsep kalimat yang sudah
104
didapat. Nilai dan hasil dari perbandingan tersebut akan ditampilkan pada layar, sehingga analisis yang dilakukan oleh sistem sampai dengan tahap semantik kata dapat terlihat jelas. Pada penambahan kalimat jawab pada database juga menggunakan motode NLP, untuk mendapatkan hasil yang maksimal dalam menganalisis jawaban dari mahasiswa/i.
3.4
Perancangan Unified Modelling Language 3.4.1
Class Diagram
kata_pertanyaan -pertanyaan_id : int -pertanyaan_isi : string -pertanyaan_tipe : string kata_dasar -dasar_id : int -dasar_kata : string -dasar_tipe : string -dasar_sinonim : string +mencek_kata()
1..1
1..* kata_jawab -jawaban_id : int -jawaban_kunci : string -jawaban_tipe : string -jawaban_nilai : string -jawaban_struktur : string
kata_nondasar -nondasar_id : int -nondasar_kata : string -nondasar_tipe : string -nondasar_sinonim : string +mencek_kata()
Gambar 3.9. Class Diagram
105
3.4.2
Use Case Diagram
Analisis Sistem Koreksi Soal Esai
Melihat Soal
Menjawab Soal Dosen
Mahasiswa/i
Mengetahui nilai dan evaluasi
Gambar 3.10 Use Case Diagram
3.4.3
Sequence Diagram untuk Mengkoreksi Jawaban Mahasiswa/i
Database
Jawaban
Mahasiswa/i Menjawab
Memeriksa Jawaban
Tampilkan Nilai dan Evaluasi
Kembalikan Nilai dan Evaluasi
Gambar 3.11 Sequence Diagram untuk Mengkoreksi Jawaban Mahasiswa/i
106
Tabel 3.5 Penjelasan Sequence Diagram
Penjelasan Singkat Actor Preconditions Main Flow Post-conditions
3.4.4
Mengkoreksi Jawaban Menggambarkan proses pengkoreksian jawaban Mahasiswa/i Mahasiswa/i tidak menjawab soal / tidak mengerjakan kegiatan apapun Mahasiswa/i menjawab soal pada kotak yang sudah disediakan Jawaban dari mahasiswa/i di analisis menggunakan database yang ada, dan mengembalikan nilai dari hasil analisis pada layar.
Activity Diagram Natural Language Processing
Menerima Kalimat
Analisis Morfologi
Kata Kunci
Analisis Sintaktis
Analisis Semantik
Kembalikan Hasil
Gambar 3.12 Activity Diagram Proses NLP
107
Memecah Paragraf menjadi Kalimat
Menghapus karakter-karakter yang tidak perlu
Memecah kalimat menjadi kata
Mencari bentuk morfem dari kata
Kembalikan Kata dasar dan imbuhannya secara terpisah
Gambar 3.13 Activity Diagram Analisis Morfologi
Analisis pola kalimat
Perancangan Algoritma Earley
Kembalikan kalimat dan kedudukannya
Gambar 3.14 Activity Diagram Analisis Sintaksis
108
Mendapatkan kedudukan kalimat S-P-O
Membentuk konsep kalimat
Membentuk konsep kalimat yang memiliki persamaan arti
Membandingkan kalimat inputan dengan database kata kunci
Kembalikan database jawaban yang sesuai
Gambar 3.15 Activity Diagram Analisis Semantik
109
3.5
Perancangan Layar
Gambar 3.16 Rancangan Layar User untuk Soal Esai Tipe Sebutkan Pada rancangan layar ini, mahasiswa/i dapat langsung membaca soal yang sudah disediakan oleh sistem, kemudian mahasiswa/i dapat menjawab pada kotak yang sudah disediakan. Pada soal sebutkan akan terdapat beberapa kotak jawaban yang menunjukan jumlah jawaban yang harus diberikan oleh mahasiswa/i dalam menjawab soal. Setelah mahasiswa yakin dengan jawaban, mahasiswa/i dapat mengklik tombol ‘submit’, kemudian sistem akan menganalisis jawaban dari mahasiswa/i dan sistem akan mengeluarkan evaluasi yang berupa analisis pengecekan dengan database dan nilai yang sesuai dengan jawaban yang diberikan. Evaluasi dari sistem akan ditampilkan pada kotak evaluasi.
110
Gambar 3.17 Rancangan Layar User untuk Soal Esai Tipe Jelaskan Pada rancangan layar ini, mahasiswa/i dapat langsung membaca soal yang sudah disediakan oleh sistem, kemudian mahasiswa/i dapat menjawab pada kotak yang sudah disediakan. Pada soal jelaskan hanya terdapat satu kotak jawaban yang dapat digunakan oleh mahasiswa/i untuk meng-input jawaban yang ditanyakan. Setelah mahasiswa yakin dengan jawaban, mahasiswa/i dapat mengklik tombol ‘submit’, kemudian sistem akan menganalisis jawaban dari mahasiswa/i dan sistem akan mengeluarkan evaluasi yang berupa analisis pengecekan dengan database dan nilai yang sesuai dengan jawaban yang diberikan. Evaluasi dari sistem akan ditampilkan pada kotak evaluasi.
111
Gambar 3.18 Rancangan Layar User untuk Soal Esai Tipe Bedakan Pada rancangan layar ini, mahasiswa/i dapat langsung membaca soal yang sudah disediakan oleh sistem, kemudian mahasiswa/i dapat menjawab pada kotak yang sudah disediakan. Pada soal bedakan akan terdapat dua kotak jawaban yang digunakan untuk menjelaskan perbedaan dari suatu hal. Setelah mahasiswa yakin dengan jawaban, mahasiswa/i dapat mengklik tombol ‘submit’, kemudian sistem akan menganalisis jawaban dari mahasiswa/i dan sistem akan mengeluarkan evaluasi yang berupa analisis pengecekan dengan database dan nilai yang sesuai dengan jawaban yang diberikan. Evaluasi dari sistem akan ditampilkan pada kotak evaluasi.
112
3.6
Pseudocode Analisis Aplikasi Sistem Koreksi Soal Esai Mulai Baca jawab JIKA ada karakter . atau ! atau ? MAKA pecah paragraf jadi kalimat AKHIR JIKA Inisialisasi variabel SELAMA posisi < panjang kalimat JIKA ditemukan karakter ~ ! @ # $ % ^ & * ( ) _ + - = [ ] { } ` \ | ; : ‘ “ , < . > / ? pada kalimat MAKA ganti karakter dengan spasi AKHIR JIKA AKHIR PERULANGAN Kembalikan kalimat Inisialisasi variabel1 SELAMA posisi < jumlah kalimat JIKA ditemukan karakter spasi Maka pecah kalimat menjadi kata AKHIR JIKA AKHIR PERULANGAN Inisialisasi variabel JIKA ditemukan akhiran “lah”, “kah” ”, “pun”, “tah” MAKA potong akhiran “lah, “kah” ”, “pun”, “tah” JIKA ditemukan akhiran “ku”, “mu”, “nya” MAKA potong akhiran “ku”, “mu”, “nya”
113
AKHIR JIKA AKHIRJIKA JIKA ditemukan akhiran “ku”, “mu”, “nya” MAKA potong akhiran “ku”, “mu”, “nya” AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database JIKA tidak ditemukan di database JIKA ditemukan awalan “di”, “ke”, “se”, “te”, “me”, “be”, “pe” MAKA potong awalan “di”, “ke”, “se”, “te”, “me”, “be”, “pe” AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database JIKA tidak ditemukan di database JIKA ditemukan awalan “di”, “te”, “me” JIKA ditemukan akhiran“i”, “kan” MAKA potong akhiran “i”, “kan” AKHIR JIKA AKHIR JIKA JIKA ditemukan awalan “ke”, “se”, “pe” JIKA ditemukan akhiran“an” MAKA potong akhiran “an” AKHIR JIKA AKHIR JIKA JIKA ditemukan awalan “be” JIKA ditemukan akhiran“an”, “kan”
114
MAKA potong akhiran “an”, “kan” AKHIR JIKA AKHIR JIKA AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database JIKA ditemukan awalan “be”, “te” JIKA ditemukan awalan1 “r” MAKA potong awalan1 “r” AKHIR JIKA AKHIR JIKA JIKA ditemukan awalan “me” JIKA ditemukan awalan1 “m”,”n” MAKA potong awalan1 “m”, “n” AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database JIKA tidak ditemukan di database JIKA ditemukan awalan1 “n” JIKA ditemukan awalan2 “g” MAKA potong awalan2 “g” SELAIN ITU JIKA ditemukan awalan2 “y” MAKA ubah awalan2 “y” menjadi “s” SELAIN ITU MAKA ubah awalan1 “n” menjadi “t” AKHIR JIKA
115
AKHIR JIKA AKHIR JIKA AKHIR JIKA JIKA ditemukan awalan “pe” JIKA ditemukan awalan1 “r” MAKA potong akhiran “r” AKHIR JIKA JIKA ditemukan awalan1 “m”,”n” MAKA potong awalan1 “m”, “n” AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database JIKA tidak ditemukan di database JIKA ditemukan awalan1 “n” JIKA ditemukan awalan2 “g” MAKA potong awalan2 “g” SELAIN ITU JIKA ditemukan awalan2 “y” MAKA ubah awalan2 “y” menjadi “s” SELAIN ITU MAKA ubah awalan1 “n” menjadi “t” AKHIR JIKA AKHIR JIKA AKHIR JIKA AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database
116
JIKA tidak ditemukan di database Kembalikan akhiran AKHIR JIKA Periksa hasil pemotongan akhiran ke dalam database JIKA tidak ditemukan di database Kembalikan nilai salah SELAIN ITU Kembalikan nilai benar AKHIR JIKA AKHIR JIKA
3.7
Spesifikasi Database kata_dasar PK
dasar_id
kata_pertanyaan PK
pertanyaan_id pertanyaan_isi pertanyaan_tipe
dasar_kata dasar_tipe dasar_sinonim
1..1 dimiliki 1..*
kata_nondasar PK
nondasar_id nondasar_kata nondasar_tipe nondasar_sinonim
kata_jawab PK
FK1
jawab_id jawab_kunci pertanyaan_id jawab_tipe jawab_nilai jawab_struktur
Gambar 3.19 ERD Analisis Database
117
Dalam perancangan untuk membuat analisis sistem koreksi soal esai yang menggunakan metode Natural Language Processing ini telah dijabarkan oleh penulis pada subbab di atas. Perancangan terhadap web tidak dilakukan karena web hanya digunakan sebagai perantara agar analisis dapat berjalan dengan benar dan penulis juga tidak berfokus pada tampilan dari web tersebut. Perancangan terhadap metode NLP yang terintegrasi di dalam sistem juga dilakukan oleh penulis untuk merancang alur tahapan NLP mulai dari tahap pertama yaitu analisis tahap morfologi, kemudian tahap ke-dua yaitu analisis tahap sintaksis, dan yang terakhir yaitu analisis tahap semantik kata. Selain itu penulis juga menyertakan rancangan layar dan spesifikasi fungsi agar semakin memperjelas gambaran tentang analisis yang akan dibuat oleh penulis. Dengan demikian, penerapan dan pengevaluasian terhadap analisis dapat dilakukan.