Sistem Pemeriksaan Jawaban Esai Otomatis Menggunakan Metode Rabin Karp Dengan Stemming Dan Synonym Recognition Sebagai Pengembangan Learning Management System SMAN 2 Tasikmalaya
FOR DEVELOPMENT LEARNING MANAGEMENT SYSTEM OF SMAN 2 TASIKMALAYA
By
HARRY PERMADI SURANTO 10111430
SMAN 2 Tasikmalaya is one of the schools that have used information technology in education using online examination system. Exam is one form of evaluation is needed in each learning process. Based on the type, the test can be done with a multiple choice test and an essay exam. At SMAN 2 Tasikmalaya, in the form of a multiple choice test is a type of test that is often used in the test online, the reason is the easiness in correction and assessment process. For essay exams still done manually, so in practice the test must be carried out in the classroom, and in the assessment process requires enough time because the inspection process is done manually, besides the results are sometimes less objective assessment.
The automatic examination system for essay answer is an application built using Rabin Karp method with stemming and synonym recognition. Rabin Karp method is a method that uses a matching string hash function as a comparison between the search string with the string in the text. In this system, the method Rabin Karp will find the value of the percentage of similarity between the students' answers with the answer key previously exist in the system. This application is built with the aim of helping teachers to give essay tests and correcting essay automatically.
Application testing done using whitebox and blackbox testing. Based on test results, there is no fault functionality and logic flow in the system, and the output of the inspection system essay using Rabin Karp is the value of similarity between the students' answers with the answer key. In addition, based on research using questionnaires, the average scores of each answer agreed that this application can be used to assist in providing essay exam and make the process of correcting answers automatically.
(2)
i
SEBAGAI PENGEMBANGAN LEARNING MANAGEMENT SYSTEM SMAN 2 TASIKMALAYA
Oleh
HARRY PERMADI SURANTO 10111430
SMAN 2 Tasikmalaya merupakan salah satu sekolah yang telah memanfaatkan teknologi informasi dalam bidang pendidikan dengan menggunakan
sistem ujian online.Ujian merupakan salah satu bentuk evaluasi yang dibutuhkan
pada setiap proses pembelajaran. Berdasarkan jenisnya, ujian dapat dilakukan dengan ujian pilihan ganda dan ujian esai. Di SMAN 2 Tasikmalaya, ujian dalam bentuk pilihan ganda merupakan jenis ujian yang sering digunakan dalam ujian
online, alasannya adalah kemudahan dalam proses pengoreksian dan penilaiannya. Untuk ujian esai tetap dilakukan secara manual, sehingga dalam pelaksanaannya ujian harus dilaksanakan di dalam kelas, dan dalam proses penilaiannya membutuhkan waktu yang tidak singkat karena proses pemeriksaan dilakukan secara manual, selain itu hasil penilaian terkadang bersifat kurang objektif.
Sistem pemeriksaan jawaban esai otomatis ini merupakan aplikasi yang
dibangun dengan menggunakan metode Rabin Karp dengan stemming dan synonym
recognition. Metode Rabin Karp adalah sebuah metode pencocokan string yang menggunakan fungsi hash sebagai pembanding antara string yang dicari dengan
string pada teks. Di dalam sistem ini, metode Rabin Karp akan mencari nilai prosentase kemiripan antara jawaban siswa dengan kunci jawaban yang sebelumnya telah ada di dalam sistem. Aplikasi ini dibangun dengan tujuan membantu para guru untuk memberikan ujian esai dan mengoreksi jawaban esai tersebut secara otomatis.
Pengujian aplikasi dilakukan dengan menggunakan pengujian whitebox dan
blackbox. Berdasarkan hasil pengujian, tidak ada kesalahan fungsionalitas dan alur logika pada sistem, dan hasil keluaran dari sistem pemeriksaan jawaban esai dengan menggunakan metode Rabin Karp ini adalah nilai kemiripan antara jawaban siswa dengan kunci jawaban. Selain itu, berdasarkan penelitian dengan menggunakan kuesioner, rata-rata skor dari setiap jawaban menyatakan setuju bahwa aplikasi ini dapat digunakan untuk membantu dalam memberikan ujian esai dan melakukan proses pengoreksian jawaban secara otomatis.
(3)
2.
BAB II
TINJAUAN PUSTAKA
Tinjauan pustaka menjelaskan beberapa konsep dan dasar teori yang berkaitan dengan permasalahan yang akan dibahas sebagai dasar pemahaman dalam mengimplementasikan konsep-konsep tersebut ke dalam semua kegiatan
pengembangan sistem, yaitu profil sekolah, learning management system,
algoritma Rabin Karp, synonym recognition serta stemming.
2.1 Profil SMA Negeri 2 Tasikmalaya
Profil SMA Negeri 2 Tasikmalaya meliputi sejarah, visi, misi dan struktur organisasi sebagai berikut :
2.1.1 Sejarah
Tanggal 22 Maret 1966 dengan surat bernomor 350/C.4/Id.SMA/K.66, inspeksi daerah SMA Jawa Barat menganjurkan kepada SMA Negeri 1 Tasikmalaya untuk mendirikan SMA Negeri 2 Tasikmalaya. Hal ini dikarenakan kapasitas SMA Negeri 1 Tasikmalaya sudah tidak memadai lagi untuk menampung semua lulusan SMP yang berminat melanjutkan pendidikan di SMA. sebagai tindak lanjut dari hal tersebut, pemerintah Daerah Tasikmalaya dengan suratnya bernomor 334/6/66 tanggal 11 Oktober 1966 mengusulkan kepada Inspeksi Daerah SMA Provinsi Jawa Barat untuk mendirikan SMA Negeri 2 Tasikmalaya.
Surat ini juga dilampiri susunan panitia pendiri SMA Negeri 2 Tasikmalaya :
Ketua : Husen Wangsaatmaja (Bupati)
Wakil Ketua : R. Mustopa (Kepala SMA Negeri 1 Tasikmalaya)
Sekretaris : Engkus Subarman, BA. (Ipdap Tasikmalaya)
Anggota :
(4)
2. Rs. Kastama (Kepala SMP Negeri 1 Tasikmalaya)
3. Totong Rusmana (Wa. Kepala SMA Negeri 1 Tasikmalaya)
4. Drs. Tirio (Guru SMA Negeri 1 Tasikmalaya)
5. Dodo Sahoman (Guru SMA Negeri 1 Tasikmalaya)
6. O. Hardipraja (Koordinator PGRI Tasikmalaya)
7. Mastur (Camat Indihiang)
8. Sugaman (Wakil Kepala SMP Negeri 2 Tasikmalaya)
Setelah itu didirikanlah kelas jauh SMA Negeri 2 Tasikmalaya dengan harapan pada tahun 1968 dapat menjelma menjadi SMA Negeri 2 Tasikmalaya. Hal ini sesuai dengan balasan Kepala Ipdap SMA Provinsi Jawa Barat dengan suratnya bernomor 573/D.2a/K.66 tanggal 26 Oktober 1966 yang isinya mendukung usul Pemda Tasikmalaya serta berjanji meneruskan usul tersebut ke Direktorat Pendidikan Umum di Jakarta. Langkah selanjutnya yang diambil oleh Ipdap SMA Provinsi Jawa Barat yaitu menunjukan Bapak Totong Rusmana menjadi pimpinan kelas jauh tersebut sejak tanggal 1 Desember 1966 ditandai dengan keluarnya surat tugas sementara no. 521/b.3/K.66 tanggal 10 Januari 1966.
Pada bulan September 1975 diterima tembusan surat dari Kassubag penyusunan anggaran Direktorat Jendral Pendidikan Dasar dan Menengah di Jakarta dengan surat Nota Dinas tanggal 4 September 1975 kepada bagian Efesiensi Tata Laksana Dirjen Pendidikan Dasar dan Menengah di Jakarta bahwa pada prinsipnya menyetujui dengan sepenuhnya kelas jauh SMA Negeri 2 Tasikmalaya menjadi SMA Negeri 2 Tasikmalaya seutuhnya.
Sejak tanggal 1 Nopember 1975 sesuai dengan SK Mendikbud No. 018/01/1976 status kelas jauh SMAN 2 tasikmalaya berubah menjadi SMAN 2 Tasilmalaya yang tetap dipimpin oleh Bapak Totong Rusmana. Kemudian pada tanggal 16 September 1976 bertepatan pada hari Kamis diadakan peresmian SMA Negeri 2 Tasikmalaya sekaligus serah terima pimpinan dari Bapak Totong Rusmana kepada R. Siti Aisyah Wahyu. Sesuai dengan perubahan nama SMA menjadi SMU, maka nama SMAN 2 Tasikmalaya pun berubah menjadi SMU Negeri 2 Tasikmalaya.
(5)
Berdasarkan Surat Keputusan Walikota Tasikmalaya Nomor 420/Kep. 81-Disdik/2002, tanggal 1 Agustus tentang Perubahan Nama, Nomor Urut dan Nomor Statistik SD, SLTP, SMU dan SMK Negeri/Swasta di Kota Tasikmalaya, maka nama SMU Negeri 1 Indihiang berubah menjadi SMU Negeri 2 Tasikmalaya. Kemudian berdasarkan SK Walikota no. 421/Kep. 7A Disdik/2004 tanggal 21 Januari 2004 nama SMU Negeri 2 Tasikmalaya berubah lagi menjadi SMA Negeri 2 Tasikmalaya.
2.1.2 Visi
Visi SMA Negeri 2 Tasikmalaya adalah “mewujudkan sekolah yang
unggul, kompetitif dengan dilandasi akhlak mulia”.
2.1.3 Misi
Misi SMA Negeri 2 Tasikmalaya adalah sebagai berikut :
1. Mewujudkan pengelolaan sekolah secara efektif, inovatif dan akuntabel
2. Mengembangkan potensi dan minat siswa secara optimal sehingga
mampu hidup mandiri ,
3. unggul, terampil dan memiliki akhlak mulia
4. Meningkatkan mutu tenaga pendidik dan tenaga kependidikan secara
berkelanjutan
5. Mengupayakan perluasan dan peningkatan mutu sarana prasarana.
6. Mengoptimalkan kemitraan dengan alumni, dunia usaha dan
masyarakat.
2.1.4 Struktur Organisasi
Struktur organisasi menunjukan pola hubungan jalur komunikasi antara fungsi-fungsi, bagian-bagian atau orang-orang yang ada dalam suatu organisasi sehingga dapat diketahui bagaimana wewenang dan tanggung jawab mengalir diantara bagian tersebut.
(6)
Bagan struktur organisasi SMA Negeri 2 Tasikmalaya dan struktur organisasi ICT SMA Negeri 2 Tasikmalaya ditunjukan pada gambar 2.1 dan gambar 2.2.
(7)
Gambar 2.2 Struktur Organisasi ICT SMAN 2 Tasikmalaya
Rincian tugas pengelolaan ICT SMA Negeri 2 Tasikmalaya berdasarkan gambar 2.2.
1. Penanggung Jawab ( Kepala sekolah)
Penanggung jawab (kepala sekolah) memiliki tugas-tugas sebagai berikut:
a) Bertanggung jawab atas seluruh kegiatan dalam pengelolaan ICT di SMA
Negeri 2 Tasikmalaya, mulai dari tahap persiapan, pelaksanaan sampai pelaporan.
b) Mengarahkan dan membimbing seluruh pengurus dan pengelola ICT
dalam melaksanakan tugasnya.
(8)
2. Pengawas ICT
Pengawas ICT memiliki tugas-tugas sebagai berikut:
a) Ikut mengawasi jalannya pengelolaan ICT di SMA Negeri 2 Tasikmalaya
b) Memberikan motivasi dalam memanfaatkan potensi guru dan peserta didik
untuk mengembangkan website, e- learning dan digital library.
c) Ikut mengawasi dan/atau memberi bantuan dalam pemeliharaan dan
perawatan sarana / prasarana yang berkaitan dengan kepentingan ICT
3. Petugas Keuangan Labkom
Petugas keuangan labkom memiliki tugas-tugas sebagai berikut:
a) Membukukan biaya pengelolaan ICT dan laboratorium komputer yang
bersumber dari iuran peserta didik
b) Pemegang keuangan ICT
c) Membuat laporan pertanggungjawaban keuangan pengelolaan ICT
4. Koordinator ICT dan Teknisi a. Koordinator ICT
Koordinator ICT memiliki tugas-tugas sebagai berikut:
1) Membuat Program Kerja dan anggaran tahunan yang diusulkan kepada
Kepala Sekolah
2) Mengusulkan, mengubah (berdasarkan masukan IT Advisor), dan
mengevaluasi kebijakan-kebijakan dan rencana strategis TIK, setiap tahun
3) Menjalankan kebijakan dan rencana strategis TIK
4) Pengelolaan infrastruktur (hardware, software, network) dibantu oleh teknisi/guru TIK.
5) Koordinasi dengan wakasek dan koordinator perpustakaan guna
memberikan pelayanan ICT setiap diperlukan
6) Membuat laporan atau evaluasi pengelolaan ICT pada akhir tahun
(9)
b. Teknisi-1
Teknisi 1 memiliki tugas-tugas sebagai berikut:
1) Menjalankan, dan mengevaluasi kebijakan-kebijakan ICT yang
berhubungan dengan pengelolaan infrastruktur jaringan internet.
2) Menjalankan dan mendokumentasikan prosedur-prosedur, setiap saat
diperlukan.
3) Mengelola network yang efisien dan tepat guna, setiap hari.
4) Menjaga keamanan network (firewall, network policy, security policy,
etc.), setiap hari.
5) Mengelola server yang efisien dan tepat guna.
6) Menjaga keamanan server.
7) Instalasi aplikasi di operational environment (note: developer sistem informasi tidak boleh memiliki akses di operational environment), setiap saat diperlukan
8) Mengelola account yang ada, setiap hari
9) Perawatan software website, E-learning, digital library dan e-mail
sekolah (www.sman2-tsm.sch.id)
c. Teknisi-2
Teknisi 2 memiliki tugas-tugas sebagai berikut:
1) Menjalankan, dan mengevaluasi kebijakan-kebijakan ICT yang
berhubungan dengan pengelolaan infrastruktur jaringan.di area sekolah
2) Menjalankan dan mendokumentasikan prosedur-prosedur, setiap saat
diperlukan
3) Mengelola network yang efisien dan tepat guna, setiap hari
4) Menjaga keamanan network (firewall, network policy, security policy,
etc.), setiap hari
5) Mengelola server yang efisien dan tepat guna
6) Menjaga keamanan server
(10)
8) Perawatan dan pemeliharaan jaringan internet ke ruangan kelas XII Ruang Laboratorium Komputer, Lab. Kimia. Lab. Fisika, Lab. Biologi , ruang perpustakaan, ruang OSIS
d. Teknisi-3
Teknisi 3 memiliki tugas-tugas sebagai berikut:
1) Menjalankan, dan mengevaluasi kebijakan-kebijakan ICT yang
berhubungan dengan pengelolaan infrastruktur jaringan.di area sekolah
2) Menjalankan dan mendokumentasikan prosedur-prosedur, setiap saat
diperlukan
3) Mengelola network yang efisien dan tepat guna, setiap hari
4) Menjaga keamanan network (firewall, network policy, security policy,
etc.), setiap hari
5) Mengelola server yang efisien dan tepat guna
6) Menjaga keamanan server
7) Penanggung jawab Kegiatan ekstra Pembelajaran Internet
8) Perawatan dan pemeliharaan jaringan internet ke ruangan kelas X danm
XI, ruang Wakasek. Ruang TU, ruang Guru dan ruang BP
5. Petugas Website, Digilib dan PAS
Petugas website, diglib dan PAS memiliki tugas-tugas sebagai berikut:
1) Petugas website bertanggung jawab dalam menampilkan berita-berita
dari hasil liputan di website smandatas
2) Petugas website dapat memberikan bimbingan kepada guru mata
pelajaran tentang cara upload bahan pembelajaran di situs e-learning
3) Petugas digilib mengoperasionalkan web digital library sesuai dengan
aturan standar internasional
4) Petugas digilib bekerjasama dengan koordinator perpustakaan dan
stafnya
5) Penanggung Jawab PASmelengkapi data sekolah, yang terdiri dari:
a. Data Kepegawaian dan keuangan
(11)
c. Bidang Kesiswaan, seperti Absensi Sidik Jari Siswa, absensi Sidik Jari guru dan Pegawai
d. Bidang Humas, seperti: data Alumni,
e. Bidang Sarana, seperti: data sarana dan prasarana yang ada di sekolah
2.2 Landasan Teori
Landasan teori yang mendukung dalam mengembangkan Learning
Management System SMA Negeri 2 Tasikmalaya, diantaranya adalah sebagai berikut:
2.2.1 Learning Management System
Learning Management System (LMS) adalah suatu perangkat lunak yang digunakan secara online untuk mendukung kegiatan pembelajaran dalam pengelolaan materi dan bahan ajar, dokumentasi, keperluan administrasi, pemberian dan pengumpulan tugas, serta pelatihan dan laporan kegiatan belajar mengajar.
LMS juga menyediakan fitur-fitur yang dapat memenuhi semua kebutuhan dari pengguna dalam hal proses pembelajaran. Saat ini ada banyak jenis LMS yang ditawarkan, setiap jenis LMS memiliki fitur-fiturnya masing-masing sesuai dengan fasilitas yang telah diberikan. LMS dapat berisi materi-materi yang dikemas dalam
bentuk multimedia (teks, animasi, video, sound), yang diberikan sebagai
supplement dan enrichment bagi pengembangan kompetensi pembelajar. LMS menawarkan sistem pembelajaran inovasi yang mencakup dalam bidang teknologi
informasi, khususnya yang berbasis virtual melalui web online learning,
multimedia dan videoconference. LMS pembelajaran berbasis web dikembangkan secara dinamis (dynamic e-learning).
Fungsi secara umum yang harus dimiliki Learning Management System
(LMS) antara lain:
a. Uploading and sharing material: LMS menyediakan layanan untuk mempermudah proses publikasi material proses pembalajaran. Instruktur
(12)
akan mengunggah materi ajar sesuai dengan silabus yang telah dibuat, bisa berupa catatan materi, artikel-artikel quiz, penilaian dan lainnya.
b. Forum and chart: forum dan chatting online merupakan komunikasi dua arah antara instruktur/dosen dengan mahasiswanya, baik dilakukan secara sinkron (char), maupun asinkron (forum, email). Dengan fasilitas yang ada ini memungkinkan peserta didik untuk menulis tanggapannya, dan mendiskusikannya dengan teman-temannya yang lain.
c. Quizzes and surveys: kuis dan survey secara online dapat memberikan grade
secara instan bagi peserta didik. Hal ini merupakan tool yang sangat baik
digunakan untuk mendapatkan respon (feedback) langsung dari peserta
didik yang sesuai dengan kemampuan dan daya serap yang mereka miliki. d. Gathering and reviewing assignment: hasil yang diperoleh dari evaluasi/
monitoring keberhasialan pembelajaran yaitu pemberian nilai atau skor
kepada peserta didik dilakukan secara otomatis dan online.
e. Recording grades: untuk evaluasi peserta didik dalam LMS telah ada fasilitas untuk pemantauan dan perekaman data grade dari peserta didik secara otomatis. [6]
2.2.2 Algoritma Rabin Karp
Algoritma yang digunakan dalam pembangunan aplikasi pemeriksaan jawaban esai otomatis sebagai pengembangan LMS SMA Negeri 2 Tasikmalaya,
adalah algoritma Rabin Karp yang ditambahkan teknik stemming dan synonym
recognition.
Algoritma Rabin-Karp adalah algoritma pencocokan string yang
menggunakan fungsi hash sebagai pembanding antara string yang dicari (m)
dengan substring pada teks (n). Algoritma Rabin-Karp didasarkan pada fakta jika
dua buah string sama maka harga hash value-nya pasti sama. Akan tetapi ada dua
masalah yang timbul dari hal ini, masalah pertama yaitu ada begitu banyak string
yang berbeda, permasalahan ini dapat dipecahkan dengan meng-assign beberapa
string dengan hash value yang sama. Masalah yang kedua belum tentu string yang
(13)
string yang di-assign dilakukan pencocokan string secara Brute-Force. Kunci agar
algoritma Rabin Karp efisien, terdapat pada pemilihan hash value-nya. Salah satu
cara yang terkenal dan efektif adalah memperlakukan setiap substring sebagai suatu
bilangan dengan basis tertentu. [1]
Tahap-tahap yang dilakukan di dalam sistem untuk proses pemeriksaan dan
penilaian jawaban esai otomatis yang akan dibangun adalah tahap preprocessing
(parsing, filtering), synonym recognition, stemming dan algoritma Rabin Karp yang terdiri dari tahap menentukan k-gram, hashing dan similarity.
1. Parsing
Tahap parsing adalah tahap mengubah semua huruf dalam dokumen menjadi
huruf kecil dimana hanya huruf “a” sampai dengan “z” yang diterima serta karakter selain huruf dan spasi dihilangkan.
Contoh Parsing
Kalimat awal : Mudah-mudahan hari ini libur
dan semoga hari ini cerah.
Hasil proses parsing : mudah-mudahan hari ini libur
dan semoga hari ini cerah.
2. Filtering
Filtering adalah tahap mengambil kata-kata penting dari hasil token, dengan menggunakan stoplist / stopword (membuang kata yang kurang penting). Stoplist /
stopword adalah kata-kata yang tidak deskriptif.
Contoh Filtering
Beberapa kata yang termasuk dalam daftar stoplist:
saya, aku, kamu, kau, kita, mereka, dia, ke, ini, untuk, dimana, dan, yang - Huruf ‘M’ kapital
berubah menjadi huruf ‘m’ kecil
- Tanda titik ‘.’ dihilangkan
(14)
Hasil proses parsing : mudah-mudahan hari ini libur dan semoga hari ini cerah Hasil proses filtering : mudah-mudahan hari ini libur
dan semoga hari ini cerah
Kedua kalimat dipisahkan untuk melihat perbedaan, sehingga menjadi ‘
mudah-mudahan hari libur’dan ‘semoga hari cerah’ 3. Synonym Recognition
Synonym Reognition atau pengenalan sinonim adalah cara yang digunakan untuk membandingkan suatu dokumen dengan dokumen lainnya dengan mencari kata-kata yang mengandung sinonim untuk mendapatkan tingkat kemiripan yang lebih akurat.
Proses pencocokan sinonim yang dilakukan merupakan keterkaitan antara isi dokumen dengan kamus sinonim yang terdapat di dalam basisdata, dimana proses
synonym recognition tidak akan dilakukan jika kata tidak tersedia pada kamus sinonim. Seluruh isi dokumen akan discan dan dicocokkan dengan kata yang ada dalam kamus, jika kata tersedia maka akan diubah berdasarkan isi kamus sinonim tersebut. [7]
Contoh Synonym Recognition
Data pada kamus sinonim:
mudah-mudahan = semoga
Hasil proses filtering :
Kalimat 1 : mudah-mudahan hari libur
Kalimat 2 : semoga hari cerah
Hasil proses synonym recognition :
Kalimat 1 : semoga hari libur
Kalimat 2 : semoga hari cerah
-Kata ‘ini’ dan
kata ‘dan’
dihilangkan karena termasuk dalam daftar
stoplist
- Kata ‘mudah
-mudahan’ diganti menjadi ‘semoga’
karena terdapat pada kamus sinonim
(15)
4. Stemming
Stemming merupakan proses yang digunakan untuk menemukan kata dasar dari
sebuah kata dengan menghilangkan semua imbuhan (affixes) baik yang merupakan
awalan (prefixes), sisipan (infixex), akhiran (suffixes), dan kombinasi dari awalan serta akhiran (confixes) pada kata turunan.
Algoritma Enhanced Confix Stripping (ECS) merupakan algoritma untuk
melakukan proses Stemming. Algoritma ini diperkenalkan oleh Jelita Asian sebagai pengembangan dari algoritma Nazief dan Adriani (1996).
[DP+[DP + [DP+]]] Kata Dasar [[+DS][+PP][+P]]
Keterangan :
DP (Derivation Prefixes) : kumpulan awalan yang diberikan langsung pada kata dasar
DS (Derivation Suffixes) : kumpulan akhiran yang ditambahkan langsung pada kata dasar
PP (Possessive Pronoun) : kata ganti kepunyaan
Particle : partikel
Algoritma Enhanched Confix Stripping ini mempunyai tahapan proses sebagai
berikut :
1) Kata yang hendak di-stemming dicari terlebih dahulu pada kamus. Jika
ditemukan, berarti kata tersebut adalah kata dasar, jika tidak maka langkah 2 dilakukan.
2) Cek rule precedence. Apabila suatu kata memiliki pasangan awalan-akhiran “be-lah”, “be-an”, “me-i”, “di-i”, “pe-i”, atau “te-i” maka langkah stemming selanjutnya adalah (5, 3, 4, 6). Apabila kata tidak memiliki pasangan awalan- akhiran tersebut, langkah stemming berjalan normal (3, 4, 5, 6).
3) Hilangkan inflectional particle P (“-lah”, “-kah”, “-tah”, “-pun”) dan kata ganti kepunyaan atau possessive pronoun PP (“-ku”, “-mu”, “-nya”).
(16)
5) Hilangkan Derivational Prefixes DP {“di-”,“ke-”,“se-”,“me-”,“be-”,“pe”, “te-”}.
a) Identifikasikan tipe awalan dan hilangkan. Awalan ada dua tipe:
1. Standar: “di-”, “ke-”, “se-” yang dapat langsung dihilangkan dari kata. 2. Kompleks: “me-”, “be-”, “pe”, “te-” adalah tipe-tipe awalan yang dapat
bermorfologi sesuai kata dasar yang mengikutinya.
b) Cari kata yang telah dihilangkan awalannya ini di dalam kamus. Apabila
tidak ditemukan, maka langkah 5 diulangi kembali. Apabila ditemukan, maka keseluruhan proses dihentikan.
6) Jika semua gagal, maka masukan kata yang diuji pada algoritma ini dianggap sebagai kata dasar. [8]
Contoh Stemming
Hasil proses filtering :
Kalimat 1 : semoga hari libur
Kalimat 2 : semoga hari cerah
Hasil proses stemming :
Kalimat 1 : semoga hari libur
Kalimat 2 : semoga hari cerah
5. K-gram
K-gram adalah rangkaian terms dengan panjang K. Kebanyakan yang digunakan
sebagai terms adalah kata. K-gram merupakan sebuah metode yang diaplikasikan untuk pembangkitan kata atau karakter. Metode k-grams ini digunakan untuk mengambil potongan-potongan karakter huruf sejumlah k dari sebuah kata yang secara kontinuitas dibaca dari teks sumber hingga akhir dari dokumen. [9]
-Kedua kalimat tidak berubah karena tidak ditemukan kata bentukan yang akan diubah ke dalam bentuk kata dasarnya setelah proses
(17)
Contoh K-gram
Misalkan nilai k-gram adalah 4.
Hasil proses stemming:
Kalimat 1 : semoga hari libur
Kalimat 2 : semoga hari cerah
Hasil proses synonym recognition:
Kalimat 1 : { e o}
,
{e o },
{ o },
{o },
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ },
{ u},
{ u }Terdapat 14 k-grams.
Kalimat 2 : { e o}
,
{e o },
{ o },
{o },
{ },
{ },
{ },
{ },
{ }
,
{ },
{ e},
{ e },
{ e },
{e }Terdapat 14 k-grams.
6. Hashing
Hashing adalah suatu cara untuk mentransformasi sebuah string menjadi suatu nilai yang unik dengan panjang tertentu (fixed-length) yang berfungsi sebagai penanda string tersebut. Fungsi untuk menghasilkan nilai ini disebut fungsi hash, sedangkan nilai yang dihasilkan disebut nilai hash. Contoh sederhana hashing
adalah:
Firdaus, Hari Munir, Rinaldi Rabin, Michael Karp, Richard
(18)
menjadi :
7864 = Firdaus, Hari 9802 = Munir, Rinaldi 1990 = Rabin, Michael 8822 = Karp, Richard
Contoh di atas adalah pengunaan hashing dalam pencarian pada database.
Apabila tidak di-hash, pencarian akan dilakukan karakter per karakter pada
nama-nama yang panjangnya bervariasi dan ada 26 kemungkinan pada setiap karakter. Namun pencarian akan menjadi lebih efisien setelah di-hash karena hanya akan membandingkan empat digit angka dengan hanya 10 kemungkinan setiap angka. Nilai hash pada umumnya digambarkan sebagai fingerprint, yaitu suatu string
pendek yang terdiri atas huruf dan angka yang terlihat acak (data biner yang ditulis dalam heksadesimal). [1]
Rolling hash merupakan fungsi yang digunakan untuk menghasilkan nilai hash
dari rangkaian gram. Fungsi ini digunakan pada algoritma Rabin Karp untuk
membandingkan nilai hash dari semua k-gram, dimana setiap nilai hash yang sama
mempunyai isi string yang sama. Akan tetapi proses hashing pada setiap string
sepanjang k akan menghabiskan waktu komputasi yang lama jika nilai k besar.
Rabin Karp menggunakan Rolling Hash dimana H(c1...ck) didefinisikan pada
Persamaan 2.1.
�� = ∗ �− + ∗ �− ∗ … + �− ∗ + � (2.1)
Keterangan:
c : nilai ascii karakter b : basis (11)
k : banyak karakter
Untuk mendapatkan nilai hash gram berikutnya H(c2...ck+1) dapat dilakukan
(19)
(2.2)
Dengan begitu tidak perlu melakukan iterasi dari indeks pertama sampai
terakhir untuk menghitung nilai hash untuk gram ke-2 sampai terakhir, sehingga
dapat menghemat waktu komputasi saat menghitung nilai hash dari sebuah gram.
[10]
Contoh penggunaan persamaan 2.1 dan persamaan 2.2 untuk menentukan gram pertama dan gram kedua dari kalimat pertama.
a. K-grams : {semo}, {emog}
b. Banyak karakter : 4 (sesuai nilai k-gram)
c. Basis yang digunakan : 11
d. Nilai ASCII : ‘s’ = 115
‘e’ = 101
‘m’ = 109
‘o’ = 111
‘g‘ = 103
Untuk menghitung nilai hash k-gram pertama, digunakan Persamaan 2.1.
K-gram : {kami}
c = 115, 101, 109, 111, 103 b = 11
k = 4
∗ − + ∗ − + 9 ∗ − + = 166596
Untuk menghitung nilai hash k-gram kedua sampai k-gram ke-n, dapat digunakan
(20)
K-gram : {ami }
c = 115, 101, 109, 111, 103 b = 11
k = 4
9 − ∗ − ∗ + 3 = 148944
Contoh Hashing
Hasil proses k-gram :
Kalimat 1: { e o}
,
{e o },
{ o },
{o },
{ },
{ },
{ },
{ },
{ }
,
{ },
{ },
{ },
{ u},
{ u }Kalimat 2 : { e o}
,
{e o },
{ o },
{o },
{ },
{ },
{ },
{ },
{ },
{ },
{ e},
{ e },
{ e },
{e }Hasil proses hashing:
Kalimat 1 :
,
,
,
,
,
,
,
,
,
,
,
,
,
Terdapat 14 nilai hash.
Kalimat 2 :
,
,
,
,
,
,
,
,
,
,
,
,
,
(21)
7. Similarity
Similarity adalah proses menghitung tingkat kemiripan dua objek dengan
merepresentasikan dua set objek yang dibandingkan dalam bentuk probability.
Pengukuran nilai similarity dilakukan menggunakan fungsi Dice’s Similarity
Coefficients yang menggunakan pendekatan k-gram yang ditunjukan pada persamaan 2.3. [11]
(2.3)
Keterangan :
S : nilai similarity
C : banyak nilai hash yang sama dari teks yang
dibandingkan
A : banyak nilai hash pada teks 1
B : banyak nilai hash pada teks 2
Contoh Similarity
Berdasarkan nilai hash kedua kalimat dari hasil proses hashing sebelumnya, dapat
dicari nilai hash yang sama.
1. Nilai hash kalimat pertama (14 nilai) :
166596, 148944, 159740, 161303, 149286, 134220, 56357, 151520, 144088 164899, 144920, 56913, 157648, 153014
2. Nilai hash kalimat kedua (14 nilai) :
166596, 148944, 159740, 161303, 149286, 134220, 56357, 151520, 144088 164890, 144817, 55796, 145341, 149396
3. Nilai hash yang sama (9 nilai) :
,
,
,
,
,
,
,
(22)
4. Nilai kemiripan antara kalimat pertama dan kedua dapat dicari dengan menggunakan Persamaan 2.3.
C = 9 A = 14 B = 14
(23)
2.2.3 Analisis dan Perancangan Terstruktur
Analisis dan perancangan terstruktur menurut Whitten dan Bentley [12] adalah suatu teknik analisis sistem yang menekankan pada proses yang terjadi dalam sistem, dan digunakan untuk memodelkan kebutuhan-kebutuhan sistem.
Model analisis terstruktur menggambarkan proses, input, output dan dokumen-
dokumen yang diperlukan pada suatu proses dalam sistem.
Pemodelan sistem menggunakan analisis terstruktur menurut Mynatt [13]
terdiri dari tiga komponen yaitu, data flow diagram (DFD), kamus data dan
spesifikasi proses.
2.2.3.1 Data Flow Diagram (DFD)
Data Flow Diagram menurut Kendal [14] adalah grafik yang
menggambarkan pandangan sejauh mungkin mengenai input, proses dan output
sistem, yang berhubungan dengan input, proses dan output dari model sistem secara
umum. Ketentuan-ketentuan dalam penggambaran DFD yaitu :
a. Di antara entitas-entitas luar tidak diperbolehkan ada aliran data secara Langsung
b. Tidak diperbolehkan adanya aliran data secara langsung antara entitas luar
dengan penyimpanan data
c. Tidak diperbolehkan suatu proses hanya memiliki aliran data masuk atau
aliran data keluar saja. Proses-proses harus memiliki sedikitnya satu aliran data masuk dan satu aliran data keluar
d. Setiap proses harus dapat mentransformasikan data. Pada setiap proses
harus dapat menerima input dan mengeluarkan output
e. Di antara penyimpanan-penyimpanan data tidak diperbolehkan adanya
aliran data secara langsung.
2.2.3.2 Kamus Data
Kamus data menurut Kendall [14] adalah suatu aplikasi khusus dari jenis kamus-kamus yang digunakan sebagai referensi kehidupan setiap hari. Sebagai suatu dokumen, kamus data berguna untuk mengumpulkan dan mengkoordinasi
(24)
istilah-istilah tertentu, dan menjelaskan apa arti setiap istilah yang ada. DFD
merupakan satu titik awal yang baik untuk mengumpulkan elemen-elemen data.
2.2.3.3 Spesifikasi Proses
Spesifikasi proses menurut Kendall [14] berfungsi untuk menjelaskan logika pembuatan keputusan dan rumusan yang mentransformasikan proses data
input menjadi data output.
Salah satu metode untuk menyusun spesifikasi proses menurut Mynatt [13]
adalah menggunakan pseudocode terstruktur. Pseudocode memiliki format mirip
dengan sintaks bahasa pemrograman, tetapi dengan aturan penulisan tidak formal.
Pseudocode dibangun menggunakan proses-proses dasar dari bahasa terstruktur. Bahasa terstruktur yang digunakan adalah :
a. Urutan, menyatakan urutan kegiatan pada suatu proses. Setiap baris urutan
menyatakan satu kegiatan.
b. Keputusan, dinyatakan dalam kalimat bersyarat.
2.2.4 Dreamweaver
Macromedia dreamweaver merupakan program editor HTML professional
untuk mendesain, mengkode, dan mengembangkan situs, halaman situs, serta
aplikasi situs. Dreamweaver juga dapat membantu dalam membangun database
untuk aplikasi situs dengan menggunakan server seperti ASP, ASPNet, ColdFusion
Markup Language (CFML), JSP dan PHP.
2.2.5 XAMPP
XAMPP adalah perangkat lunak bebas, yang mendukung banyak sistem operasi, merupakan kompilasi dari beberapa program. Fungsinya adalah sebagai
server yang berdiri sendiri (localhost), yang terdiri atas program Apache HTTP Server, MySQL database, dan penerjemah bahasa yang ditulis dengan bahasa
pemrograman PHP dan Perl. Nama XAMPP merupakan singkatan dari X (empat
sistem operasi apapun), Apache, MySQL, PHP dan Perl. Program ini tersedia dalam
(25)
digunakan yang dapat melayani tampilan halaman web yang dinamis. Untuk mendapatkanya dapat mendownload langsung dari web resminya.
2.2.6 Microsoft Visio 2013
Microsoft Visio (atau sering disebut Visio) merupakan sebuah program aplikasi komputer yang sering digunakan untuk membuat diagram, diagram alir (flowchart), brainstorm, dan skema jaringan yang dirilis oleh Microsoft Corporation. Aplikasi ini menggunakan grafik vektor untuk membuat diagram-diagramnya.
Microsoft Visio 2013 terdiri dari 3 versi, yaitu Microsoft Visio Standar 2013, Microsoft Visio Professional 2013, Visio Premium 2013. Microsoft Visio
Standar 2013merupakan edisi visio yang standar dari semua versi visio yang ada.
Fitur pada visio standar dan dimiliki oleh edisi Visio 2013 lainnya membawa
tampilan yang baru dengan sudah menggunakan Microsoft Fluent UI dan
shape-shape yang didesain lebih menarik. Selain itu fitur Visio standar 2013 yang juga dimiliki oleh edisi Visio lainnya antara lain Quick Shapes, Page Auto Size, Dynamic Grid, Improved Cross Functional Flowchart.
Microsoft Visio Professional 2013 merupakan edisi Visio yang dibangun
dari Visio standar. Semua fitur yang ada di Visio standar dimiliki juga oleh Visio Professional ini. Penambahan edisi professional dari sisi template, data feature dan Visio service. Penambahan template antara lain adanya detailed network diagram,
engineering diagram, software and database diagram, wireframe diagram, ITIL diagram, website mapping and documentation diagram, dan building architecture
dan service diagram.
Microsoft Visio Premium 2013 merupakan edisi dari Visio yang sudah
mencakup Visio versi standar dan Visio Professional dengan menambahkan fitur
advance proccess management seperti template untuk SharePoint Workflow,
Business Process Modelling Notation (BPMN) dan Six Sigma. SharePoint Workflow dapat diekspor ke SharePoint Designer yang dapat disesuaikan.fitur lainnya yaitu diagram validation, dengan diagram validation dapat memastikan bahwa diagram yang kita buat dapat di validasi.
(26)
2.2.7 Pengujian White-Box
Menurut Rizky [15], White Box Testing merupakan jenis testing yang lebih
berkonsentrasi terhadap “isi” dari perangkat lunak itu sendiri. Jenis ini lebih banyak
berkonsentrasi kepada source code dari perangkat lunak yang dibuat. Pada White
Box Testing, menurut Lewis [16] kondisi pengujian dirancang dengan menguji alur dari logika. Penguji menguji struktur internal dari program atau sistem. Data pengujian dilakukan berdasarkan pengujian logika dari program atau sistem, tanpa
memperhatikan persyaratan program atau sistem. Dari definisi tersebut, white box
testing adalah pengujian terhadap cara kerja sebuah sistem secara internal dan struktural untuk mengidentifikasikan kesalahan alur dari logika yang mungkin terhadi ketika sistem dijalankan.
White Box Testing dapat dilakukan dengan menggunakan pengujian Basis Path. Basis Path memungkinkan perancang kasus uji untuk mengukur kompleksitas logis dari rancangan prosedural dan menggunakannya sebagai
pedoman untuk menetapkan sekumpulan jalur eksekusi dasar (basis set). BasisPath
menggunakan flowchart atau notasi flowgraph yang menggambarkan aliran kontrol
logika seperti yang ditunjukan pada gambar 2.3 dan gambar 2.4.
(27)
Gambar 2.4 Flowgraph Pengujian Basis Path
Untuk menentukan banyaknya jalur independen pada Basis Path dapat
digunakan “Kompleksitas Siklomatis”. Jalur independen adalah jalur yang melalui program yang menghasilkan sedikitnya satu rangkaian statemen proses baru atau suatu kondisi baru. Contoh serangkaian jalur independen untuk flowgraph yang
ditunjukanpada gambar 2.4.
Jalur 1 : 1-11
Jalur 2 : 1-2-3-4-5-10-1-11 Jalur 3 : 1-2-3-6-8-9-10-1-11 Jalur 4 : 1-2-3-6-7-9-10-1-11
Dapat dilihat bahwa masing-masing jalur baru memperkenalkan sebuah edge baru,
misalkan jalur 5.
Jalur 5 : 1-2-3-4-5-10-1-2-3-6-8-9-10-1-11
Jalur 5 tidak dianggap jalur independen karena merupakan gabungan dari jalur-jalur yang telah ditentukan dan tidak melewati edge baru.
Kompleksitas siklomatis dihitung menggunakan salah satu dari ketiga cara berikut ini:
(28)
2. Kompleksitas siklomatis V(G) untuk flowgraph G dihitung sebagai “V(G)
= E-N+2” di mana E adalah jumlah edge dan N adalah jumlah node.
Untuk membantu pengujian Basis Path, dapat digunakan struktur data
berbentuk matriks yang disebut sebagai matriks graph. Matriks graph merupakan
matriks bujur sangkar yang ukurannya sesuai dengan jumlah node pada flow graph. Masing-masing baris dan kolom sesuai dengan node masing-masing. Contoh
gambaran dari matriks graph ditunjukan oleh gambar 2.5.
Gambar 2.5 Matriks Graph
Jika isi dari matriks diganti dengan link weight, dan direpresentasikan dengan angka
1 dan 0 atau kosong, dimana angka 1 jika ada link dan 0 atau kosong jika tidak ada
(matriks dengan bentuk seperti ini sering disebut matriks koneksi), maka akan didapatkan metode lain untuk menghitung kompleksitas siklomatis. Contoh matriks koneksi ditunjukan gambar 2.6.
(29)
Gambar 2.6 Matriks Graph (Matriks Koneksi)
2.2.8 Pengujian Black-Box
Menurut Rizky [15], Black Box Testing adalah tipe pengujian yang
memperlakukan perangkat lunak yang tidak diketahui kinerjanya pada bagian
internal. Para testermemandang perangkat lunak sebagai “kotak hitam” yang tidak
penting di lihat isinya, tapi cukup dikenali proses testing di bagian luar, dimana
testing ini banyak berkonsentrasi pada bagaimana proses berjalannya perangkat lunak. Menurut Lewis [16], pada black box testing atau pengujian fungsional, kondisi pengujian dikembangkan berdasarkan fungsionalitas dari program atau sistem yang akan diuji, oleh karena itu, penguji membutuhkan informasi mengenai data input dan output yang diamati, tetapi tidak mengetahui bagaimana program atau sistem tersebut bekerja atau tidak perlu mengetahui bagaimana struktur internal dari program tersebut melakukan eksekusi. Penguji berfokus pada pengujian fungsionalitas dari program terhadap spesifikasi.
(30)
2.3 State of The Art
Pada state of the art ini, diambil contoh penelitian terdahulu sebagai panduan ataupun contoh untuk penelitian yang dilakukan yang nantinya akan menjadi acuan dan perbandingan dalam melakukan penelitian ini. Dalam state of the art ini terdapat 5 contoh penelitian sebelumnya yang ditunjukan tabel 2.1 hingga tabel 2.12.
Tabel 2.1 State of The Art (1)
Judul Sistem Koreksi Soal Essay Otomatis dengan Menggunakan
Metode Rabin Karp
Penulis Sahriar Hamza, M. Sarosa, Purnomo Budi Santoso
Hasil Pengujian
Uji coba yang dilakukan di dalam penelitian ini dilakukan sebanyak tiga kali untuk membandingkan hasil jawaban sistem dan jawaban guru dalam mengoreksi jawaban ujian siswa. Hasil yang didapat dari tiga uji coba ini, menunjukan perbedaan nilai rata-rata hasil ujian sistem dan guru masing-masing adalah 0,05%, 0,07% dan 0,01%. Berdasarkan hasil uji coba tersebut, dapat disimpulkan bahwa sistem mampu mengoreksi jawaban siswa dengan baik, dengan range perbedaan rata-rata nilai dan guru antara 0,01%-0,07 %.
Kesimpulan
Kesimpulan yang dapat diambil dari penelitian tersebut adalah metode Rabin Karp dapat melakukan proses pengoreksian jawaban dengan cukup baik karena dapat menemukan kecocokan jawaban antara jawaban siswa dan jawaban guru berdasarkan nilai k-gram dan hashing dari proses metode Rabin Karp tersebut, dimana range perbedaan rata-rata nilai dan giru adalah 0,01%-0,07%. Kekurang dari penelitian ini adalah tidak dijelaskannya proses stemming yang dilakukan, apakah menggunakan sebuah algoritma stemmer atau hanya menggunakan kamus kata stem pada database,
(31)
Tabel 2.2 State of The Art (1) (Lanjutan)
Judul Sistem Koreksi Soal Essay Otomatis dengan Menggunakan
Metode Rabin Karp
Kesimpulan
kemudian dalam proses pengoreksiannya tidak digunakan bobot nilai untuk setiap jawaban. Dalam penelitian ini juga tidak dilakukan proses pengenalan sinonim (synonym recognition) yang dapat digunakan untuk mencari persamaan kata dari kedua jawaban berdasarkan kamus sinonim kata pada database. Saran yang dapat diberikan adalah pada proses stemming-nya untuk digunakan suatu algoritma stemmer yang ada, kemudian diberikan bobot nilai untuk setiap jawaban siswa dan ditambahkan proses atau tahap synonym recognition untuk pengenalan kata dari jawaban siswa pada kamus sinonim.
Tabel 2.3 State of The Art (2)
Judul Deteksi Duplikat Dokumen Menggunakan Algoritma Rabin
Karp
Penulis Hari Bagus Firdaus
Hasil Pengujian
Uji coba yang dilakukan di dalam penelitian ini dilakukan dengan membandingkan dua buah, yaitu dokumen mahasiswa dengan sebuah dokumen dari suatu situs untuk mengetahui apakah dokumen mahasiswa tersebut plagiat atau tidak. Proses yang dilakukan yaitu dengan melakukan proses filtering terhadap kedua dokumen, kemudian dilanjutkan dengan pencarian nilai hash dengan pemenggalan teks sebanyak 4 karakter. Hasil dari pengujian yang dilakukan menunjukan bahwa sebagian besar isi pada dokumen mahasiswa mengambil dari dokumen asli dari suatu situs tersebut.
(32)
Tabel 2.4 State of The Art (2) (Lanjutan)
Judul Deteksi Duplikat Dokumen Menggunakan Algoritma Rabin
Karp
Kesimpulan
Kesimpulan yang dapat diambil dari penelitian tersebut adalah Rabin Karp dapat digunakan untuk mencari kemiripan dari dua dokumen atau lebih, sehingga dapat dimanfaatkan untuk melakukan pendeteksian terhadap tindak plagiat dokumen. Kekurang dari penelitian ini adalah tidak ada tahap preprocessing untuk parsing yang berfungsi untuk mengubah semua huruf kapital menjadi huruf kecil dan menghilangkan karakter selain huruf, dan tidak adanya tahap stemming yang dapat mengubah kata bentukan ke dalam bentuk kata dasarnya, sehingga hasil yang diberikan tidak terlalu optimal. Dalam penelitian ini juga tidak dilakukan proses pengenalan sinonim (synonym recognition) yang dapat digunakan untuk mencari persamaan kata berdasarkan kamus sinonim kata pada database yang dapat memberikan hasil akurasi kemiripan yang lebih baik untuk membandingkan dua buah dokumen atau lebih. Saran yang dapat diberikan adalah dilakukannya proses parsing pada tahap preprocessing dan proses stemming agar hasil berupa tingkat kemiripan yang diberikan antara dua dokumen lebih optimal, dan dengan menambahkan proses atau tahap synonym recognition untuk pengenalan kata di dalam dokumen berdasarkan kamus sinonim.
Tabel 2.5 State of The Art (3)
Judul Implementasi Algoritma Rabin Karp untuk Pendeteksian
Plagiat Dokumen Teks Menggunakan Konsep Similarity
(33)
Tabel 2.6 State of The Art (3) (Lanjutan)
Judul Implementasi Algoritma Rabin Karp untuk Pendeteksian
Plagiat Dokumen Teks Menggunakan Konsep Similarity
Hasil Pengujian
Uji coba yang dilakukan di dalam penelitian ini dilakukan dengan membandingkan empat buah file uji, dengan melakukan empat empat kali jenis pengujian yang berbeda, yaitu untuk mendapatkan hasil uji berdasarkan banyaknya konten file, hasil uji tanpa menggunakan stemming, hasil uji modul pada algoritma Rabin Karp, dan hasil uji k-gram pada algoritma Rabin Karp . Hasil dari pengujian yang pertama adalah bahwa semakin banyak konten file, maka semakin lama waktu proses, hasil dari pengujian kedua adalah jika tanpa menggunakan proses stemming akan mempercepat waktu proses, tetapi akurasi yang diberikan rendah, hasil pengujian yang ketiga menunjukan bahwa modulo tidak berpengaruh pada prosentase similarity, tetapi berpengaruh pada waktu proses, dan hasil pengujian yang keempat menunjukan bahwa semakin kecil k-gram, akurasi similarity-nya semakin tinggi.
Kesimpulan
Kesimpulan yang dapat diambil dari penelitian tersebut adalah Rabin Karp dapat digunakan untuk membandingkan file dan memberikan hasil berupa prosentase similarity, dan terdapat beberapa faktor yang dapat mempengaruhi performansi algoritma Rabin Karp dalam membandingkan file, yaitu banyaknya konten file akan memperpanjang waktu prosesnya, stemming dan preprocessing membuat waktu proses yang lebih lama, tetapi akurasi yang diberikan lebih tinggi, modulo hanya berpengaruh pada waktu proses, dan semakin kecil nilai k-gram akan menghasilkan tingkat kemiripan (similarity) yang lebih baik. Kekurang dari penelitian ini adalah tidak dijelaskannya proses stemming yang dilakukan,
(34)
Tabel 2.7 State of The Art (3) (Lanjutan)
Judul Implementasi Algoritma Rabin Karp untuk Pendeteksian
Plagiat Dokumen Teks Menggunakan Konsep Similarity
Kesimpulan
apakah menggunakan sebuah algoritma stemmer atau hanya menggunakan kamus kata stem pada database. Dalam penelitian ini juga tidak dilakukan proses pengenalan sinonim (synonym recognition) yang dapat digunakan untuk mencari persamaan kata berdasarkan kamus sinonim kata pada database yang dapat memberikan hasil akurasi kemiripan yang lebih baik untuk membandingkan dua buah dokumen atau lebih. Saran yang dapat diberikan adalah pada proses stemming-nya untuk digunakan suatu algoritma stemmer yang ada, dan menambahkan proses atau tahap synonym recognition untuk pengenalan kata di dalam dokumen dengan menggunakan kamus sinonim.
Tabel 2.8 State of The Art (4)
Judul
Sistem Pengukuran Tingkat Similaritas Dokumen
Menggunakan Algoritma Rabin Karp dan Enhanched Confix Stripping Stemmer
Hasil Pengujian
Uji coba yang dilakukan di dalam penelitian ini dilakukan dengan membandingkan beberapa dokumen dan teks, dengan melakukan empat empat kali jenis pengujian yang berbeda, yaitu untuk mendapatkan hasil uji menggunakan modulo, hasil uji k-gram, hasil uji banyaknya konten dengan k-gram 4, dan hasil uji akurasi dokumen. Hasil dari pengujian yang pertama adalah bahwa modulo tidak berpengaruh pada prosentase similarity, tetapi berpengaruh pada waktu proses, hasil dari pengujian kedua adalah jika semakin kecil k-gram,
(35)
Tabel 2.9 State of The Art (4) (Lanjutan)
Judul
Sistem Pengukuran Tingkat Similaritas Dokumen
Menggunakan Algoritma Rabin Karp dan Enhanched Confix Stripping Stemmer
Hasil Pengujian
akurasi similarity semakin tinggi, dimana penggunaan k-gram yang dipakai antara k-gram 3 sampai k-gram 8. Pada uji coba hasil pengujian ini, k-gram 1 dan k-gam 2 memberikan hasil similarity melebihi 100%, sedangkan kedua dokumen yang dibandingkan berbeda, kemudian tidak digunakannya k-gram 9 dan seterusnya adalah karena hasil similarity yang diberikan terlalu kecil, sehingga k-gram yang digunakan pada sistem pengecekan similaritas ini adalah k-gram 4. Hasil pengujian yang ketiga menunjukan bahwa semakin banyak konten, maka semakin lama waktu proses yang dibutuhkan, dan jika tanpa stemming, waktu pemrosesan akan lebih cepat, tetapi hasil similarity kurang akurat. Hasil pengujian yang keempat menunjukan bahwa hasil similarity sudah menunjukan nilai yang sesuai dengan dokumen uji sebenarnya.
Kesimpulan
Kesimpulan yang dapat diambil dari penelitian tersebut adalah metode Rabin Karp dapat digunakan untuk membandingkan file dan memberikan hasil berupa prosentase similarity yang cukup akurat, performansi similaritas dokumen dengan k-gram 4 sudah cukup untuk memproses dan menjalankan fungsinya dengan baik, Rabin Karp mempunyai waktu proses similaritas yang lebih baik karena tidak melakukan pengulangan proses, dan stemming dengan menggunakan ECS Stemmer dapat menangani perbedaan kata dengan kata dasar yang sama sehingga dapat meningkatkan keakuratan prosentase similarity, meskipun waktu proses yang dibutuhkan sedikit lebih lama.
(36)
Tabel 2.10 State of The Art (4) (Lanjutan)
Judul
Sistem Pengukuran Tingkat Similaritas Dokumen
Menggunakan Algoritma Rabin Karp dan Enhanched Confix Stripping Stemmer
Kesimpulan
Selain itu, terdapat beberapa faktor yang dapat mempengaruhi performansi algoritma Rabin Karp dalam membandingkan file, yaitu banyaknya konten file akan memperpanjang waktu prosesnya, penggunaan stemming akan berpengaruh pada waktu proses dan keakuratan nilai similarity, modulo hanya berpengaruh pada waktu proses. Kekurang dari penelitian ini adalah tidak adanya proses pengenalan sinonim (synonym recognition) yang dapat digunakan untuk mencari persamaan kata berdasarkan kamus sinonim kata pada database yang dapat memberikan hasil akurasi kemiripan yang lebih baik untuk membandingkan dua buah dokumen atau lebih. Saran yang dapat diberikan adalah dengan menambahkan proses atau tahap synonym recognition untuk pengenalan kata di dalam dokumen dengan menggunakan kamus sinonim.
Tabel 2.11 State of The Art (5)
Judul Sistem Penilaian Otomatis Jawaban Esai Menggunakan
Algoritma Levenshtein Distance
Penulis Muhammad Zakiya Nafik, Indriati, S.T., M.Kom, Achmad
Ridok M.Kom
Hasil Pengujian
Uji coba yang dilakukan di dalam penelitian ini dilakukan dengan mengujikan lima buah soal kepada dua puluh siswa dengan menggunakan preprocessing, dengan hasil rata-rata kesalahan proses sistem yang didapat mencapai 38,50% untuk penilaian di dalam sistem dengan penilaian manual.
(37)
Tabel 2.12 State of The Art (5) (Lanjutan)
Judul Sistem Penilaian Otomatis Jawaban Esai Menggunakan
Algoritma Levenshtein Distance
Kesimpulan
Kesimpulan yang dapat diambil dari penelitian tersebut adalah selisih yang jauh dari hasil yang diberikan dikarenakan beberapa faktor, yaitu sistem tidak dapat mendeteksi sinonim kata, sistem masih belum bias mendeteksi makna kalimat negatif dan positif dengan menggunakan antonim, selain itu dikarenakan algoritma Levenshtein Distance yang digunakan pada sistem pemeriksaan jawaban esai ini menggunakan konsep mencari keyword dari kunci jawaban dan jawaban siswa dan kemudian mencocokannya, maka kata yang ada pada kunci jawaban dan jawaban siswa tersebut harus mempunyai kemiripan kata 100%. Kekurang dari penelitian ini salah satunya adalah tidak adanya proses pengenalan sinonim (synonym recognition) yang dapat digunakan untuk mencari persamaan kata dari kedua jawaban berdasarkan kamus sinonim kata pada database yang dapat memberikan hasil akurasi kemiripan yang lebih baik untuk membandingkan dua buah jawaban. Saran yang dapat diberikan adalah dengan menambahkan proses atau tahap synonym recognition untuk pengenalan kata di dalam setiap jawaban dengan menggunakan kamus sinonim sehingga diharapkan dapat memberikan hasil kemiripan jawaban yang lebih baik.
(38)
(39)
3.
BAB III
ANALISIS DAN PERANCANGAN SISTEM
Bab ini memberikan penjelasan mengenai analisis dan perancangan dari sistem yang akan dibangun. Analisis dan perancangan merupakan dua tahap awal dalam membangun suatu perangkat lunak. Dua tahap ini merupakan landasan untuk berlanjut ke tahap implementasi.
3.1 Analisis Sistem
Analisis sistem adalah kegiatan yang dilakukan untuk melihat sistem yang sedang berjalan, yaitu untuk melihat sistem yang telah ada dengan maksud untuk mengidentifikasikan permasalahan dan kebutuhan yang diharapkan, dan kemudian mendokumentasikan kebutuhan yang akan dipenuhi sehingga dapat diusulkan perbaikan pada sistem tersebut. Di dalam analisis sistem terdapat analisis masalah, analisis sistem yang sedang berjalan, spesifikasi kebutuhan perangkat lunak, analisis kebutuhan non-fungsional, analisis data, analisis kebutuhan fungsional,
spesifikasi proses, dan kamus data DFD (Data Flow Diagram).
3.1.1 Analisis Masalah
Analisis masalah adalah kegiatan yang dilakukan untuk mengetahui permasalahan berdasarkan latar belakang masalah yang ada, dimana yang menjadi titik permasalahan adalah pada LMS yang telah ada, sistem pelatihan atau ujian yang tersedia hanya sebatas pada bentuk pilihan ganda dan belum tersedianya sistem yang dapat digunakan oleh guru untuk memberikan pelatihan atau ujian dalam bentuk esai, sehingga setiap pelatihan atau ujian esai yang akan diberikan harus selalu dilaksanakan di dalam kelas. Selain itu, pada proses pengoreksian jawabannya masih dilakukan secara manual, sehingga membutuhkan waktu yang tidak singkat. Berdasarkan permasalahan tersebut, maka akan dikembangkan LMS yang telah ada dengan membangun sistem yang dapat digunakan untuk memberikan pelatihan atau ujian esai serta dapat melalukan proses pengoreksian
(40)
jawaban esai tersebut secara otomatis, sehingga pelatihan atau ujian esai yang akan diberikan tidak selalu harus dilaksanakan di kelas, tetapi dapat dilaksanakan juga dengan menggunakan LMS, serta proses pengoreksian jawabannya dilakukan otomatis di dalam LMS, bukan secara manual.
3.1.2 Analisis Sistem yang Sedang Berjalan
Sistem yang sedang berjalan pada LMS di SMA Negeri 2 Tasikmalaya ditunjukan pada gambar 3.1 dan gambar 3.2.
Guru Siswa 1 Login 2 Forum guru siswa forum materi ujian data_ujian nilai jawaban Data login Data login Data login Data login Data login Info login Info login Data login Data forum Info forum Data forum Info forum 3 Pembelajaran Info ujian, data_ujian, nilai, materi
Data ujian, jawaban, materi, data_ujian, nilai Info ujian, data_ujian, nilai, materi
Data ujian, jawaban, materi, data_ujian, nilai
Data forum Data forum Data ujian Data ujian Data data_ujian Data data_ujian Data jawaban Data jawaban Data materi Data materi Data nilai Data nilai
(41)
Guru Siswa 3.1
Manajemen Ujian
3.2 Manajemen Materi Data ujian, data_ujian, jawaban, nilai
Info ujian, data_ujian, jawaban, nilai
Info materi Data materi
ujian data_ujian jawaban nilai
materi Data ujian
Data ujian
Data data_ujian
Data data_ujian Data jawaban Data jawaban
Data nilai Data nilai
Data ujian, data_ujian, jawaban, nilai Info ujian, data_ujian, jawaban, nilai
Data materi Data materi
Data materi
Info materi
Gambar 3.2 DFD Level 2 LMS SMA Negeri 2 Tasikmalaya
Ujian yang dapat diberikan hanya sebatas pada ujian pilihan ganda yang terdapat pada proses 3.1 (Manajemen Ujian), sehingga prosedur sistem ujian yang sedang berjalan di SMA Negeri 2 Tasikmalaya terbagi ke dalam ujian pilihan ganda dengan menggunakan LMS yang ada, dan ujian esai yang dilaksanakan di dalam kelas.
1. Ujian Pilihan Ganda
Prosedur sistem ujian pilihan ganda dapat digambarkan ke dalam bentuk flowmap diagram yang ditunjukan gambar 3.3 untuk proses kelola data ujian dan soal oleh guru, dan gambar 3.4 untuk proses pelaksanaan ujian oleh siswa.
(42)
Mulai
Login user
Sukses Tidak
Kelola ujian
Tambah, ubah, hapus ujian
Simpan data ujian
Database (data ujian)
Ya
Ya Tidak
Tambah, ubah, hapus soal
Simpan data soal
Tampil ujian
Menampilkan daftar ujian
Selesai
Database (data soal)
Tampil soal
Menampilkan daftar soal
(43)
Mulai
Login user
Sukses Tidak
Tampil ujian Ya
Melaksanakan ujian
Simpan jawaban
Database (nilai)
Tampil nilai
Menampilkan data nilai ujian
Selesai
Gambar 3.4 Pelaksanaan ujian pilihan ganda
2. Ujian Esai
Prosedur sistem ujian esai dapat digambarkan ke dalam bentuk flowmap diagram yang ditunjukan gambar 3.5, gambar 3.6 dan gambar 3.7 berdasarkan setiap prosesnya, sebagai berikut:
a) Proses Pembuatan Soal
Proses pembuatan soal adalah proses awal sebelum ujian dilaksanakan dimana guru membuat soal beserta kunci jawabannya.
(44)
1. Guru membuat soal ujian.
2. Guru membuat kunci jawaban berdasarkan soal yang dibuat.
3. Guru memberikan lembar soal ujian ke bagian sekertariat untuk
digandakan.
4. Bagian sekertariat menggandakan lembar soal ujian.
5. Bagian sekertariat memberikan lembar soal ujian yang telah digandakan
dan lembar jawaban ke guru.
Lembar soal Membuat soal dan
kunci jawaban
A1
Menggandakan
lembar soal Lembar kosong
Kunci jawaban
Lembar soal
Lembar jawaban Lembar soal yang telah digandakan Lembar jawaban
Lembar soal yang telah digandakan
A2
Gambar 3.5 Flowmap proses pembuatan soal
Keterangan:
A1 = lembar kunci jawaban
(45)
b) Proses Pelaksanaan Ujian
Proses pelaksanaan ujian adalah proses ketika ujian dilaksanakan dimana siswa mengerjakan soal-soal yang diujikan.
1. Guru memberikan lembar soal ujian dan lembar jawaban kepada siswa.
2. Siswa mulai mengerjakan soal ujian yang telah diberikan guru pada lembar jawaban.
3. Siswa menyerahkan lembar soal ujian dan lembar jawaban yang telah dikerjakan.
4. Guru mengumpulkan lembar soal ujian dan lembar jawaban siswa
Mengerjakan soal ujian Lembar soal
Lembar jawaban
Lembar soal
Lembar jawaban
Lembar soal Lembar jawaban
yang sudah dikerjakan Lembar soal
Lembar jawaban yang sudah dikerjakan
A1
Gambar 3.6 Flowmap proses pelaksanaan ujian
Keterangan:
(46)
c) Proses Pemeriksaan dan Penilaian Jawaban
Proses pemeriksaan dan penilaian jawaban adalah proses terakhir dari pelaksanaan ujian. Pada proses ini, guru melakukan pemeriksaan dan penilaian terhadap jawaban siswa berdasarkan ujian yang diikuti.
1. Guru mengoreksi dan menilai lembar jawaban ujian siswa yang sudah dikumpulkan.
2. Guru membuat daftar nilai siswa berdasarkan ujian yang telah diberikan.
3. Guru memberikan lembar hasil jawaban yang telah diperiksa dan dinilai
pada siswa
Lembar jawaban siswa
Mengoreksi jawaban siswa
Hasil ujian siswa
Membuat daftar nilai
A1
Hasil ujian siswa Daftar nilai
Hasil ujian siswa
Gambar 3.7 Flowmap proses pemeriksaan dan penilaian jawaban
Keterangan:
(47)
3.1.3 Aturan Bisnis
Aturan bisnis adalah prosedur yang berlaku di suatu instansi yang merujuk kepada kebijakan-kebijakan yang berlaku untuk ketertiban sebuah sistem.
Aturan bisnis dalam pelaksanaan ujian yang dilaksanakan di sekolah adalah sebagai berikut:
1. Seluruh siswa wajib mengikuti setiap ujian yang diberikan
2. Setiap siswa wajib membawa peralatan ujian masing-masing
3. Setiap siswa dipersilahkan mengikuti dan melaksanakan ujian sesuai
waktu yang diberikan
4. Bagi siswa yang telah menyelesaikan atau mengerjakan soal ujian
sebelum batas waktu yang diberikan berakhir, diperkenankan meninggalkan ruang kelas atas ijin guru atau pengawas ujian
Aturan bisnis dalam pelaksanaan ujian yang dilaksanakan di dalam sistem yang akan dibangun adalah sebagai berikut:
1. Seluruh siswa wajib mengikuti setiap ujian yang diberikan
2. Setiap siswa dapat melaksanakan ujian sesuai waktu yang diberikan
3. Setiap siswa diperkenankan menyelesaikan ujian sebelum batas waktu
ujian yang diberikan berakhir.
4. Guru tidak dapat mengubah atau menghapus jawaban atau nilai ujian siswa.
5. Data ujian untuk ujian yang telah dilaksanakan tidak dapat diubah atau
dihapus.
3.1.4 Analisis Metode
Sistem yang akan dikembangkan merupakan sistem pemeriksaan jawaban esai yang bertujuan untuk memberikan pelatihan dan ujian dalam bentuk esai kepada siswa serta melakukan pemeriksaan dan penilaian otomatis terhadap jawaban esai terebut. Pengoreksian esai yang dikembangkan hanya sebatas soal dengan jawaban definitive, bukan soal dengan jawaban opini ataupun deskriptif.
(48)
Gambaran alur kerja sistem secara umum berdasarkan metode yang digunakan ditunjukan oleh gambar 3.8.
Siswa Guru
Database Database
Ja waban siswa Ja waban guru
Simpa n jawaban Simpa n jawaban
Preprocessing (Parsing, Filtering)
Preprocessing (Pars ing, Filtering)
Synonym Recognition
Stemming Stemming
K-gram K-gram
Hashing Similarity Hashing
Pembobotan nilai
Simpa n nilai
Database
(49)
Contoh kasus 1
Guru memberikan sebuah soal yang diberi bobot nilai 40 kepada siswanya sebagai perbaikan untuk menambah nilai dengan menggunakan sistem pemeriksaan jawaban esai otomatis.
Soal
Apa dampak terjadinya hujan asam bagi lingkungan hidup?
Kunci jawaban
Merusak butir klorofil pada tanaman yang dapat mengganggu aktifitas fotosintesis.
Guru tersebut menambahkan data ke dalam kamus sinonim sebagai berikut:
kata : tanaman
sinonim : tumbuhan
Seorang siswa memberikan jawabannya berdasarkan soal yang diberikan oleh guru.
Jawaban siswa
Merusak klorofil suatu tumbuhan dan mengganggu pertumbuhan tanaman tersebut.
Proses-proses yang dilakukan berdasarkan gambaran alur kerja sistem pada gambar 3.8.
Tabel 3.1 Proses pengoreksian jawaban contoh kasus (1)
Proses Kunci Jawaban Jawaban Siswa
Jawaban Awal
Merusak butir klorofil pada tanaman yang dapat
mengganggu aktifitas fotosintesis.
Merusak klorofil suatu tumbuhan dan mengganggu pertumbuhan tanaman tersebut.
(50)
Tabel 3.2 Proses pengoreksian jawaban contoh kasus (1) (Lanjutan)
Proses Kunci Jawaban Jawaban Siswa
Parsing
merusak butir klorofil pada tanaman yang dapat
mengganggu aktifitas fotosintesis
merusak klorofil suatu tumbuhan dan mengganggu pertumbuhan tanaman tersebut
Filtering
merusak butir klorofil tanaman mengganggu aktifitas fotosintesis
merusak klorofil tumbuhan mengganggu pertumbuhan tanaman
Synonym
Recognition -
merusak klorofil tanaman mengganggu pertumbuhan tanaman
Stemming rusak butir klorofil tanam
ganggu aktifitas fotosintesis
rusak klorofil tanam ganggu tumbuh tanam
1. Parsing (Kunci jawaban dan jawaban siswa)
Proses parsing berdasarkan tabel 3.2, huruf kapital ‘M’ pada kata ‘merusak’
yang terdapat dalam kunci jawaban dan jawaban siswa diubah menjadi huruf ‘m’
kecil. Tanda titik di akhir kalimat pada masing-masing jawaban dihilangkan.
2. Filtering (Kunci jawaban dan jawaban siswa)
Proses filtering berdasarkan tabel 3.2, kata ‘pada’, ‘yang’, dan ‘dapat’ pada kunci jawaban, serta kata ‘suatu’, ‘dan’ dan ‘tersebut’ pada jawaban siswa dihilangkan
karena termasuk ke dalam daftar kata stoplist/stopword yang terdapat dalam
(51)
3. Synonym Recognition (Jawaban siswa)
Proses synonym recoginition berdasarkan tabel 3.2, kata ‘tumbuhan’ diganti menjadi kata ‘tanaman’ karena kata ‘tumbuhan’ ditemukan di dalam kamus
sinonim pada basisdata, yang memiliki sinonim ‘tanaman’.
4. Stemming (Kunci jawaban dan jawaban siswa)
Proses stemming berdasarkan tabel 3.2, kata ‘merusak’, ‘tanaman’ dan
‘mengganggu’ pada kunci jawaban diubah ke dalam bentuk kata dasarnya.
merusak -> rusak
tanaman -> tanam
mengganggu -> ganggu
Kata ‘merusak’, ‘tanaman’, ‘mengganggu’ dan ‘pertumbuhan’ pada jawaban siswa diubah ke dalam bentuk kata dasarnya.
merusak -> rusak
tanaman -> tanam
mengganggu -> ganggu
pertumbuhan -> tumbuh
5. K-gram (Kunci jawaban dan jawaban siswa)
Hasil proses stemming:
Kunci jawaban
rusak butir klorofil tanam ganggu aktifitas fotosintesis
Jawaban siswa
rusak klorofil tanam ganggu tumbuh tanam
Hasil k-grams dengan nilai gram yang digunakan dalam sistem, yaitu 4.
Kunci jawaban (53 k-grams)
{rusa}
(52)
{ klo}
,{klor},{loro}, {orof},{rofi},{ofil}, { � },{il t},{l ta},{ tan}, {tana},
{anam}
,{nam },{am g},{m ga},{ gan},{gang},{angg},{nggu},{ggu },{gu a},
{u ak}
, { akt},{akti},{ktif},{tifi},{� � },{fita}, {itas},{tas },{as f},{s fo},{ fot},
{foto}
,{otos},{tosi},{ � },{sint},{� },{ },{tesi},{esis}
Jawaban siswa (37 k-grams)
{ }
,{ },{ },{ },{ }, { }, { },{ }, { },{ �},
{ � }
,{ � }, {� },{ },{ },{ }, { },{ }, { },{ },
{ }
,{ },{ }, { },{ }, { },{ }, { },{ },
{ }
,{ ℎ}, { ℎ },{ ℎ },{ℎ },{ },{ }, { }
6. Hashing (Kunci jawaban dan jawaban siswa)
Nilai hash yang didapatkan berdasarkan hasil k-grams pada proses sebelumnya
adalah sebagai berikut:
Kunci jawaban (53 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
, { }, { },{ },{ },{ },
{ }
(53)
{ }
, { },{ },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
,{ },{ }, { },{ },{ },
{ }
,{ },{ },{ },{ }, { },
{ }
, { }, { },{ },{ },{ },
{ }
, { }, { }, { }, { }
Jawaban siswa (37 nilai hash)
{ }
,{ },{ },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
,{ },{ }, { }, { }, { },
{ }
,{ },{ },{ },{ },{ },
{ }
,{ },{ },{ },{ },{ },
{ }
,{ }, { },{ },{ },{ },
{ }
Setelah didapatkan nilai hash dari masing-masing jawaban, maka dicari
fingerprint (pencarian nilai unik) baik dari kunci jawaban maupun jawaban siswa.
Pada kunci jawaban, dikarenakan tidak ada nilai hash yang mempunyai nilai yang
sama satu sama lain, maka fingerprint kunci jawaban tetap atau sama dengan nilai
(54)
hash yang mempunyai nilai hash yang sama, yaitu {57805}, {167440} dan
{143593}. Sehingga hasil fingerprint nilai hash untuk masing-masing jawaban
adalah sebagai berikut:
Kunci jawaban (53 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
,{ }, { },{ }, { },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
, { },{ },{ },{ },{ },
{ }
,{ }, { }, { }, { },{ },
{ }
,{ },{ }, { },{ },{ },
{ }
,{ },{ },{ },{ }, { },
{ }
, { }, { },{ },{ },{ },
{ }
, { }, { }, { }, { }
Jawaban siswa (34 nilai hash)
{ }
,{ },{ },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
,{ },{ }, { }, { }, { },
{ }
,{ },{ },{ },{ },{ },
{ }
(55)
{ }
,{ }, { },{ }
7. Similarity dan Pembobotan Nilai
Berdasarkan hasil dari proses hashing sebelumnya, maka didapatkan nilai hash
yang sama antara kunci jawaban dan jawaban siswa.
Kunci jawaban (53 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
,{ }, { },{ }, { },{ },
{ }
,{ },{ }, { },{ },{ },
{ }
, { },{ }, { },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
,{ },{ }, { },{ },{ },
{ }
,{ },{ },{ },{ }, { },
{ }
, { }, { },{ },{ },{ },
{ }
,{ }, { }, { }, { }
Jawaban siswa (34 nilai hash)
{ }
,{ },{ },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
(56)
{ }
,{ },{ },{ },{ },{ },
{ }
,{ },{ },{ },{ },{ },
{ }
,{ }, { },{ }
Nilai hash yang sama (23 nilai hash)
{ }
, { },{ },{ },{ },{ },
{ }
,{ }, { },{ }, { },{ },
{ }
,{ },{ },{ }, { },{ },
{ }
,{ },{ },{ },{ }
Maka, dapat diketahui:
a. Kunci jawaban : 53 nilai hash
b. Jawaban siswa : 34 nilai hash
c. Nilai hash yang sama : 23 nilai hash
Nilai similarity antara kunci jawaban dengan jawaban siswa dapat dicari dengan
menggunakan persamaan 2.3.
�
+ � % = . %
Nilai similarity yang didapat kemudian dikalikan dengan bobot soal yang
diberikan oleh guru untuk mendapatkan nilai jawaban siswa berdasarkan soal yang diberikan, yaitu 40.
. % � = .
(57)
Contoh kasus 2
Guru memberikan sebuah soal yang diberi bobot nilai 40 kepada siswanya sebagai perbaikan untuk menambah nilai dengan menggunakan sistem pemeriksaan jawaban esai otomatis.
Soal
Apa yang dimaksud dengan “Global Warming”?
Kunci jawaban
Peningkatan suhu di permukaan bumi.
Guru tersebut menambahkan data ke dalam kamus sinonim sebagai berikut:
kata : suhu
sinonim : temperatur
Seorang siswa memberikan jawabannya berdasarkan soal yang diberikan oleh guru.
Jawaban siswa
Meningkatnya temperatur permukaan bumi.
Proses-proses yang dilakukan berdasarkan gambaran alur kerja sistem pada gambar 3.8.
Tabel 3.3 Proses pengoreksian jawaban contoh kasus (2)
Proses Kunci Jawaban Jawaban Siswa
Jawaban Awal
Peningkatan suhu di permukaan bumi.
Meningkatnya temperatur permukaan bumi
Parsing peningkatan suhu di permukaan
bumi
meningkatnya temperatur permukaan bumi
(58)
Tabel 3.4 Proses pengoreksian jawaban Contoh kasus (2) (Lanjutan)
Filtering peningkatan suhu permukaan
bumi
meningkatnya temperatur permukaan bumi
Synonym
Recognition -
meningkatnya suhu permukaan bumi
Stemming tingkat suhu muka bumi tingkat suhu muka bumi
1. Parsing (Kunci jawaban dan jawaban siswa)
Proses parsing berdasarkan tabel 3.3, huruf kapital ‘P’ pada kata ‘Peningkatan’
yang terdapat dalam kunci jawaban diubah menjadi huruf ‘p’ kecil dan huruf kapital
‘M’ pada kata ‘Meningkatnya’ yang terdapat pada jawaban siswa diubah menjadi
huruf ‘m’ kecil. Tanda titik di akhir kalimat pada kunci jawaban dihilangkan.
2. Filtering (Kunci jawaban dan jawaban siswa)
Proses filtering berdasarkan tabel 3.4, kata ‘di’ pada kunci jawaban dihilangkan
karena termasuk ke dalam daftar kata stoplist/stopword yang terdapat dalam
database yang diambil berdasarkan hasil penelitian-penelitian sebelumnya [17], sedangkan pada jawaban siswa tidak ada kata yang dihilangkan karena tidak
ditemukan kata yang termasuk ke dalam daftar kata stoplist/stopword.
3. Synonym Recognition (Jawaban siswa)
Proses synonym recoginition berdasarkan tabel 3.4, kata ‘temperatur’ diganti
menjadi kata ‘suhu’ karena kata ‘temperatur’ ditemukan di dalam kamus sinonim pada basisdata, yang memiliki sinonim ‘suhu’ berdasarkan input guru pada saat menambahkan data ujian.
4. Stemming (Kunci jawaban dan jawaban siswa)
Proses stemming berdasarkan tabel 3.4, kata ‘peningkatan’ dan ‘permukaan’ pada kunci jawaban diubah ke dalam bentuk kata dasarnya.
peningkatan -> tingkat
(59)
Kata ‘meningkatnya’ dan ‘permukaan’ pada jawaban siswa diubah ke dalam bentuk kata dasarnya.
meningkatnya -> tingkat
permukaan -> muka
5. K-gram (Kunci jawaban dan jawaban siswa)
Hasil proses stemming:
Kunci jawaban
tingkat suhu muka bumi
Jawaban siswa
tingkat suhu muka bumi
Hasil k-grams dengan nilai gram yang digunakan dalam sistem, yaitu 4.
Kunci jawaban (19 k-grams)
{ � }
,{� },{ },{ },{ }, { }, { },{ ℎ}, { ℎ },{ ℎ },
{ℎ }
,{ }, { },{ },{ },{ }, { },{ }, { �}
Jawaban siswa (19 k-grams)
{ � }
,{� },{ },{ },{ }, { }, { },{ ℎ}, { ℎ },{ ℎ },
{ℎ }
,{ }, { },{ },{ },{ }, { },{ }, { �}
6. Hashing (Kunci jawaban dan jawaban siswa)
Nilai hash yang didapatkan berdasarkan hasil k-grams pada proses sebelumnya
(60)
Kunci jawaban (19 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
, { }, { },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
Jawaban siswa (19 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
, { }, { },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
Setelah didapatkan nilai hash dari masing-masing jawaban, maka dicari
fingerprint (pencarian nilai unik) baik dari kunci jawaban maupun jawaban siswa.
Dikarenakan tidak ada nilai hash yang mempunyai nilai yang sama satu sama lain
pada kunci jawaban dan jawaban siswa, maka fingerprint kunci jawaban tetap atau
sama dengan nilai hash-nya, sehingga hasil fingerprint nilai hash untuk masing-masing jawaban adalah sebagai berikut:
Kunci jawaban (19 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
, { }, { },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
(61)
Jawaban siswa (19 nilai hash)
{ }
,{ },{ },{ }, { }, { },
{ }
, { }, { },{ },{ },{ },
{ }
,{ }, { }, { },{ },{ },
{ }
7. Similarity dan Pembobotan Nilai
Berdasarkan hasil dari proses hashing sebelumnya, dapat dilihat bahwa seluruh
nilai hash pada kunci jawaban sama dengan seluruh nilai hash pada jawaban siswa
Maka, dapat diketahui:
a. Kunci jawaban : 19 nilai hash
b. Jawaban siswa : 19 nilai hash
c. Nilai hash yang sama : 19 nilai hash
Nilai similarity antara kunci jawaban dengan jawaban siswa dapat dicari dengan
menggunakan persamaan 2.3.
�
+ � % = %
Nilai similarity yang didapat kemudian dikalikan dengan bobot soal yang
diberikan oleh guru untuk mendapatkan nilai jawaban siswa berdasarkan soal yang diberikan, yaitu 20.
% � =
(62)
3.1.5 Analisis Kebutuhan Non Fungsional
Analisis kebutuhan sistem non fungsional menjelaskan keadaan atau kondisi yang ada di SMA Negeri 2 Tasikmalaya pada bagian sistem ujian, diantaranya berupa keadaan perangkat keras, perangkat lunak, serta pengguna sebagai bahan analisa kekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yang akan diterapkan.
3.1.5.1 Analisis Perangkat Keras
Alat pendukung perangkat keras (hardware) diperlukan dalam
implementasi sistem. Analisis perangkat keras dibutuhkan dari pihak SMA Negeri 2 Tasikmalaya yang akan menerapkan LMS dengan pengembangan pada bagian ujian soal esai.
Analisis kebutuhan minimum perangkat keras yang dibutuhkan dan perangkat keras yang tersedia di SMA Negeri 2 Tasikmalaya ditunjukan pada tabel 3.5.
Tabel 3.5 Kebutuhan perangkat keras
Perangkat Keras
Terpenuhi Kebutuhan Minimum Di SMA Negeri 2 Tasikmalaya
Processor Dual Core 2,1 GHz Processor Dual Core 2,4 GHz. Ya
RAM 1 GB RAM 1 GB Ya
Resolusi Monitor 1024 x 768 Resolusi Monitor 1024 x 768 Ya
Spesifikasi perangkat keras yang tersedia sudah memenuhi standar untuk penerapan aplikasi LMS yang akan dikembangkan.
3.1.5.2 Analisis Perangkat Lunak
Alat pendukung perangkat lunak (software) diperlukan dalam
implementasi sistem. Analisis perangkat lunak dibutuhkan dari pihak SMA Negeri 2 Tasikmalaya yang akan menerapkan LMS dengan pengembangan pada bagian ujian soal esai.
(63)
Analisis kebutuhan minimum perangkat lunak yang dibutuhkan dan perangkat lunak yang tersedia di SMA Negeri 2 Tasikmalaya ditunjukan pada tabel 3.6.
Tabel 3.6 Kebutuhan perangkat lunak
Perangkat Lunak
Terpenuhi Kebutuhan Minimum Di SMA Negeri 2 Tasikmalaya
Sistem operasi Windows 7 Sistem Operasi Windows 7 Ya
Web Browser Chrome atau Mozilla
Web Browser Chrome, Mozilla
Ya
Spesifikasi perangkat lunak yang tersedia sudah memenuhi standar untuk penerapan aplikasi LMS yang akan dikembangkan.
3.1.5.3 Analisis Pengguna
Pengguna dari LMS yang akan dikembangkan adalah guru dan siswa. Untuk penerapan sistem yang akan dikembangkan, disarankan pengguna memiliki karakteristik yang dibutuhkan. Hak akses dan kualifikasi pengguna untuk sistem yang sedang berjalan dan sistem yang akan dikembangkan ditunjukan pada tabel 3.7 dan tabel 3,8, serta tabel 3.9 dan tabel 3.10.
Tabel 3.7 Hak akses pengguna
Pengguna
Hak Akses Ujian Esai yang Berjalan
(Di Kelas) Ujian Esai pada LMS
Guru
a. Membuat soal ujian beserta jawabannya
b. Memberikan ujian kepada
siswa
a. Mengolah data ujian
(tambah, ubah dan hapus)
b. Mengolah data soal ujian
(tambah, ubah dan hapus) c. Melihat data nilai
(1)
176
[10] O. Kharisman, B. Susanto dan S. Suwarno, Implementasi Algoritma Winnowing untuk Mendeteksi Kemiripan pada Dokumen Teks, vol. 9, 2013, p. 73.
[11] S. Kosinov, "Evaluation Of N-Grams Conflation Approach In Text-Based Information Retrieval," in in Proceedings of International Workshop on Information Retrieval, Edmonton, Alberta, Canada.
[12] W. J. L and L. D. Bentley, "System Analysis and Design Methods," vol. 4, 1998.
[13] B. T. Mynatt, Software Engineering with Student Prjoject Guidance, Prentice Hall: Inc, 1990.
[14] K. and K. E, System Analys and Design, vol. 6, New York: England Cliffs, 2002.
[15] R. Soetam, in Konsep Dasar Rekayasa Perangkat Lunak (Software Reengenering), Jakarta, Prestasi Pustaka Publisher, 2011.
[16] W. Lewis, in Software Testing And Continuous Quality Improvment, Third Edition, New York, Auerbach Publications, 2009.
[17] [Online]. Available: http://hikaruyuuki.lecture.ub.ac.id/kamus-kata-dasar-dan-stopword-list-bahasa-indonesia/. [Accessed November 2014].
(2)
iii
KATA PENGANTAR
Assalamualaikum Wr, Wb.
Alhamdulillahirobbil'alamin, segala puji serta syukur penulis panjatkan kehadirat Allah SWT, karena atas berkat rahmat dan hidayah-Nya penulis dapat menyelesaikan tugas akhir dengan judul "Sistem Pemeriksaan Jawaban Esai Otomatis Menggunakan Metode Rabin Karp dengan Stemming dan Synonym Recognition sebagai Pengembangan LMS SMA Negeri 2 Tasikmalaya".
Penulis menyadari bahwa begitu banyak pihak yang telah turut membantu penulis dalam menyelesaikan tugas akhir ini. Melalui kesempatan ini, dengan segala kerendahan hati, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:
1. Ibu, ayah dan adik serta seluruh keluarga besar, terima kasih atas segala bentuk dukungan dan doa, semoga Allah SWT selalu memberikan yang terbaik untuk kita semua.
2. Bapak Galih Hermawan S.Kom., M.T selaku dosen wali kelas IF-10 yang selalu membimbing dan memberikan arahan serta masukannya.
3. Ibu Istiqomah, S.Kom., M.Kom selaku dosen pembimbing yang telah bersedia membimbing penulis sehingga mampu menyelesaikan tugas akhir ini dengan baik.
4. Ibu Ednawati R, S.Si., M.Si selaku dosen penguji satu (1) dan ibu Gentisya Tri Mardiani, S.Kom., M.Kom selaku dosen penguji tiga (3) yang telah memberikan masukan, bimbingan dan arahannya.
5. Teman-teman kelas IF-10 angkatan 2011, teman-teman Pers BIRAMA, teman-teman HIMA IF, dan seluruh teman-teman yang setia saat suka
(3)
iv
dan duka selama menempuh masa perkuliahan dan tugas akhir hingga terselesaikan dengan baik.
6. Para guru dan siswa yang telah membantu penulis selama melaksanakan penelitian di SMA Negeri 2 Tasikmalaya,
7. Metalia Y dan keluarga yang selalu memberikan dukungan dan doa, semoga Allah SWT selalu memberikan yang terbaik untuk kita semua. 8. Seluruh pihak-pihak lain yang telah begitu banyak membantu namun
tidak dapat disebutkan satu persatu. Semoga Allah SWT senantiasa melimpahkan berkah dan rahmat-Nya bagi kita semua, terima kasih untuk bantuannya selama ini, semoga juga dapat menjadi amal ibadah dihadapan-Nya.
Tugas akhir ini merupakan salah satu syarat kelulusan bagi mahasiswa program studi Teknik Informatika di UNIKOM. Penulis menyadari tugas akhir ini masih jauh dari sempurna dan begitu banyak kekurangann di dalamnya. Untuk itu penulis mengharapkan adanya kritik dan saran yang membangun dari semua pihak demi kesempurnaan dari tugas akhir ini. Akhir kata semoga skripsi ini dapat bermanfaat bagi kita semua.
Bandung, 19 Agustus 2015
(4)
(5)
(6)