Pengembangan Modul Ujian Essay Online Dengan Koreksi Otomatis Pada Learning Management System SMPN 1 Cimahi

(1)

SKRIPSI

Diajukan untuk Menempuh Ujian Akhir Sarjana

ARIS TRI BAHTIAR EFENDI

10110063

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

20142014


(2)

(3)

(4)

NIM : 10110063

Tempat/Tgl. Lahir : Probolinggo, 14 Oktober 1991

Jenis Kelamin : Laki-Laki

Alamat : KPAD Pusdik Bekang E1 RT.06 RW.13 Kel. Baros

Kec. Cimahi Tengah Kota Cimahi

No. Telp/HP : 085624628833

E-mail : arisbrother@gmail.com

Riwayat Pendidikan

Tahun Pendidikan

1997-1998 TK Eka Pratiwi 1998-2004 SD Negeri Sukodadi 1 2004-2007 SMP Negeri 1 Paiton 2007-2010 SMA Negeri 1 Kraksaan

2010-2014

Program Strata 1 (S1) Program Studi Teknik Informatika

Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia Bandung


(5)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xiv

DAFTAR LAMPIRAN ... xviii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 3

1.3 Maksud dan Tujuan ... 3

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 4

1.5.1 Teknik Pengumpulan Data ... 4

1.5.2 Metode Pembangunan Perangkat Lunak ... 5

1.6 Sistematika Penulisan ... 7

BAB 2 TINJAUAN PUSTAKA ... 9

2.1 Profil SMP Negeri 1 Cimahi ... 9

2.1.1 Sejarah SMP Negeri 1 Cimahi ... 9

2.1.2 Visi dan Misi SMP Negeri 1 Cimahi ... 10

2.1.3 Struktur Organisasi Sekolah ... 11

2.1.4 Deskripsi Tugas Sturktur Organisasi SMPN 1 Cimahi ... 11

2.2 Landasan Teori ... 13

2.2.1 Learning Management System ... 13

2.2.1.1 Fungsi LMS ... 13

2.2.2 Metode / Algoritma ... 16


(6)

vi

2.2.3.1 Basis Data ... 24

2.2.3.2 Flow Map ... 26

2.2.3.3 Entity Relationship Diagram (ERD) ... 26

2.2.3.4 Data Flow Diagram (DFD) ... 28

2.2.4. Pengembangan Perangkat Lunak ... 29

2.2.4.1 Personal Home Page (PHP)... 29

2.2.4.2 Database Management System (DBMS) ... 30

2.2.4.3 Dreamweaver ... 32

2.2.4.4 Web Browser ... 32

2.2.4.5 Jama PHP ... 32

BAB 3 ANALISIS DAN PERANCANGAN ... 33

3.1 Analisis Sistem ... 33

3.1.1 Analisis Masalah ... 33

3.1.2 Analisis Sistem yang Sedang Berjalan ... 33

3.1.3 Analisis Metode/Algoritma ... 35

3.1.3.1 Pseudocode Sistem ... 45

3.1.4 Analisis Kebutuhan Non-Fungsional ... 48

3.1.4.1 Analisis Perangkat Keras... 48

3.1.4.2 Analisis Perangkat Lunak ... 48

3.1.4.3 Analisis Pengguna ... 49

3.1.5 Entity Relationship Diagram ... 50

3.1.6 Analisis Kebutuhan Fungsional ... 54

3.1.6.1 Diagram Konteks ... 54

3.1.6.2 Data Flow Diagram ... 55

3.1.6.2.1 DFD Level 1 LMS SMPN 1 Cimahi ... 55

3.1.6.2.2 DFD Level 2 Proses 4 Pembelajaran ... 58


(7)

vii

3.2.1 Skema Relasi ... 65

3.2.2 Struktur Tabel ... 66

3.2.3 Struktur Menu ... 72

3.2.4 Perancangan Antarmuka ... 74

3.2.5 Perancangan Pesan ... 86

3.2.6 Jaringan Semantik ... 87

3.2.7 Prosedural ... 89

BAB 4 IMPLEMENTASI DAN PENGUJIAN ... 93

4.1 Implementasi ... 93

4.1.1 Implementasi Perangkat Keras ... 93

4.1.2 Implementasi Perangkat Lunak ... 94

4.1.3 Implementasi Basis Data ... 94

4.1.4 Implementasi Antarmuka ... 98

4.2 Pengujian Sistem ... 99

4.2.1 Pengujian Alpha ... 99

4.2.2 Kasus dan hasil pengujian ... 100

4.2.2.1 Pengujian Login ... 100

4.2.2.2 Pengujian Pengolahan Ujian ... 100

4.2.2.3 Pengujian Akses Ujian ... 102

4.2.2.4 Pengujian Pengoreksian Essay ... 103

4.2.2.4.1 Rencana Pengujian Pengoreksian Essay ... 103

4.2.2.4.2 Pengujian Sistem Pengoreksian Essay ... 104

4.2.2.5 Kesimpulan Pengujian Alpha ... 106

4.2.3 Pengujian Beta ... 106

4.2.3.1 Skenario Pengujian Beta ... 106

4.2.3.2 Kesimpulan Pengujian Beta ... 116


(8)

(9)

119

DAFTAR PUSTAKA

[1] Sommerville, I. (2011). Software Enginering Ninth Edition. Massachusetts: Addison-Wesley.

[2] Effendi, E., & Zhuang, H. (2005). Konsep dan Aplikasi Elearning. Yogyakarta: Andi.

[3] Weiss, S.M., Indurkhya, N., Zhang, T., Damerau, F.J. 2005. Text Mining : Predictive Methods fo Analyzing Unstructered Information. Springer : New York.

[4] Deddy Winarsono, Daniel O Siahaan, Umi Yuhana.(2009), sistem penilaian otomatis kemiripan kalimat menggunakan syntactic-semantic similarity pada sistem e-learning, Jurnal Ilmiah Kursor, vol. 5(2).

[5] Landauer, T.K.,Foltz, P.W., Laham, D., “Introduction to Latent Semantic Analysis”, Discourse Processes,1998

[6] Rosa A. S, M. S. (2013). "Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek". Bandung: Informatika Bandung.

[7] R. S. Pressman. (2010). Software Engineering : A Practitioner's Approach, 7th Edition. New York: McGraw Hill Higher Education. [8] Madcoms. (2008). PHP dan MySQL untuk pemula. Yogyakarta: Andi. [9] Sidik, B., & Pohan, H. I. (2009). Pemograman Web Dengan HTML.

Bandung: Informatika.

[10] T.N. Dao, An improvement on capturing similarity between strings, 2005, http://www.codeproject.com/Articles/11157/An-improvement-on-capturing-similarity-between-str, diakses 28 Juni 2014.

[11] Arifin Rizal.(2006), Peranan substitusi N-Gram dan Code Shift pada algoritma Soundex, Jurnal Institut Pertanian Bogor.

[12] Pradhana Fandi.(2013), Penerapan Sting Matching pada fitur Auto Correct dan Fitur Auto Text di Smart Phones, Makalah IF3051 Strategi Algoritma.


(10)

120

[13] Rohmawati Fuat.(2010), Sistem Penilaian Esai Otomatis pada E-Learning dengan Metode Cosine Similarity, Institut Teknologi Sepuluh November.

[14] Sahriar Hamza.(2013), Sistem Koreksi Soal Essay Otomatis Dengan menggunakan Metode Rabin Karp, Jurnal EECCIS, vol. 7(2).

[15] Diego Octaria.(2008), Implementasi Skema Pembobotan pada Aplikasi Penilaian Esai Otomatis Metode Latent Semantic Analysis, Universitas Indonesia.


(11)

iii

KATA PENGANTAR

Assalamualaikum Wr, Wb

Alhamdulillahirobbil’alamin. Segala puji dan syukur penulis panjatkan kehadirat Allah SWT, yang telah melimpahkan rahmat dan hidayah-Nya sehingga tugas akhir dengan judul “Pengembangan Modul Ujian Essay Online Dengan Koreksi Otomatis Pada Learning Management System SMP Negeri 1 Cimahi”.

Penulis menyadari sepenuhnya bahwa begitu banyak pihak yang telah turut membantu dalam penyelesaian tugas akhir ini. Melalui kesempatan ini, dengan segala kerendahan hati, penulis ingin mengucapkan terima kasih yang sebesar-besarnya kepada:

1. Orang tua, kakak dan adik. Terima kasih atas segala bentuk dukungannya dan kesabarannya, semoga Allah SWT selalu memberikan yang terbaik untuk kita semua.

2. Bapak Andri Heryandi, S.T., M.T. selaku dosen pembimbing yang telah bersedia meluangkan waktu dan membimbing penulis sehingga mampu menyelesaikan tugas akhir ini dengan baik.

3. Bapak Alif Finandhita, S.Kom. dan Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku penguji yang telah memberikan bimbingan dan arahannya.

4. Teman-teman kelas IF-2 angkatan 2010 dan sahabat-sahabat terhebat sepanjang masa yang sangat setia saat suka dan duka menempuh perjalanan tugas akhir hingga terselesaikan dengan baik.

5. Segenap guru dan siswa yang ikut berpartisipasi dalam penelitian di SMPN 1 Cimahi.

6. Dan kepada pihak-pihak lain yang telah begitu banyak membantu namun tidak dapat disebutkan satu persatu. Semoga Allah SWT senantiasa


(12)

iv

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 dengan segala kekurangannya. Untuk itu penulis harapkan 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, 18 Agustus 2014


(13)

1

SMP Negeri 1 Cimahi merupakan sekolah yang memiliki beberapa fasilitas teknologi informasi dan fasilitas pendidikan yang lengkap, seperti laboratorium komputer dan koneksi internet. Proses belajar mengajar di SMP Negeri 1 Cimahi adalah dengan cara tatap muka dan secara online sudah berjalan dengan baik. Seperti guru memberikan materi dan tugas secara langsung kepada siswa, kemudian siswa mempelajari materi tersebut dan mengerjakan tugas yang diberikan oleh guru baik secara konvensional maupun secara online (inkonvensional) yaitu kegiatan belajar mengajar dilakukan dimanapun dan kapanpun dengan menggunakan media komputer yang menghubungkan antara siswa dengan guru secara online menggunakan media internet dengan bantuan aplikasi Learning Management System (LMS) berbasis website.

Sistem LMS yang ada saat ini memiliki fitur ujian online, namun hanya terbatas pada ujian pilihan ganda saja. Padahal pada kenyataannya guru juga memberikan soal ujian berbentuk essay kepada siswa, kendala lainnya adalah guru masih melakukan pengoreksian soal essay menggunakan cara manual yang mungkin membutuhkan waktu yang tidak singkat untuk pengoreksiannya. Dalam mengerjakan soal essay kadangkala siswa mengalami kesalahan penulisan saat memasukkan salah satu kata saat memasukkan jawaban. Hal ini sangat merugikan siswa, karena dengan salah penulisan itu dapat membuat jawaban siswa secara keseluruhan menjadi salah. Maka dari itu dibutuhkan suatu metode untuk menangani kesalahan inputan jawaban siswa tersebut dengan memberikan toleransi agar tidak dinilai salah.

Pada penelitian sebelumnya, masalah kesalahan pengetikan atau pengejaan juga sudah dilakukan oleh Zainal Arifin [11] Pada penelitiannya, Zainal Arifin menerapkan algoritma soundex pada sistem temu-kembali berdasarkan kesalahan pengetikan nama ilmiah fonetik untuk nama ilmiah. Kemudian selanjutnya penelitian yang dilakukan oleh Pradhana [12] yang pada penelitiannya


(14)

menerapkan algoritma string matching seperti Brute Force, Knuth-Morris Pratt dan Boyer-Moore untuk fitur pengecekan kesalahan ejaan pada fitur autocorrect dan fitur autotext. Pada penelitian ini, penulis menggunakan algoritma Levenshtein Distance pada penanganan kesalahan penulisan jawaban siswa karena mampu menentukan kempiripan dua buah kata (string) hanya dilihat dari posisi huruf-huruf yang ada di kedua kata yang dicermati [10]. Algoritma ini cukup efisien karena hanya memperhitungkan jarak karakter penyusun antar kata yang dicocokkan sehingga eksekusinya lebih cepat, tidak seperti pada penelitian sebelumnya yang menggunakan algoritma soundex dan algoritma string matching seperti Brute Force, Knuth-Morris Pratt dan Boyer-Moore yang melakukan pencocokan secara bertahap pada seluruh rangkaian string sehingga memiliki proses yang cenderung panjang, rumit dan tentunya lebih lama proses eksekusinya.

Penelitian mengenai pemeriksaan dan penilaian soal essay juga sudah ada yang melakukan sebelumnya antara lain penelitian yang dilakukan oleh Rohmawati Fuat. Dalam penelitiannya Rohmawati [13] menerapkan metode Cosine Similarity dalam melakukan pengoreksian dan penilaian esai. Penggunaan metode Cosine Similarity memiliki kekurangan yaitu masih memiliki standar deviasi yang cukup tinggi untuk jenis pertanyaan dan jawaban tertentu dikarenakan perbedaan nilai bobot setiap kata di dalam sistem. Selain itu juga penelitian yang dilakukan oleh Sahriar Hamza [14] dimana dalam penelitiannya diterapkan metode Rabin Karp dalam penilaian esainya. Metode Rabin Karp kurang cocok untuk digunakan dalam pengoreksian essay karena hanya fokus pada kecocokan kata atau kalimat yang sama dalam pengoreksian dan penilaiannya. Pada penelitian ini, digunakan algoritma Latent Semantic Analysis (LSA). LSA dipilih karena cukup efisien dan cocok untuk melakukan pengoreksian essay karena mampu untuk mendapatkan kalimat yang relevan dengan query bukan hanya karena memuat kata atau kalimat yang sama dengan query, tapi juga karena memuat kata atau kalimat yang bermakna sama dengan query [5].


(15)

Dengan ditemukannya permasalahan yang ada, maka dibutuhkan metode yang dapat membantu guru untuk pengoreksian soal essay secara otomatis oleh sistem. Dengan dikembangkan aplikasi LMS ini, diharapkan bisa menjadi sebuah media yang mampu membantu dan mengevaluasi sistem pembelajaran yang sedang berjalan saat ini dalam peningkatan kualitas kegiatan belajar mengajar di SMP Negeri 1 Cimahi. Berdasarkan latar belakang yang telah dipaparkan

sebelumnya, maka penelitian tugas akhir ini diberi judul “Pengembangan Modul Ujian Essay Online Dengan Koreksi Otomatis Pada Learning Management System SMP Negeri 1 Cimahi”.

1.2. Perumusan Masalah

Berdasarkan latar belakang masalah yang telah diuraikan di atas, yang menjadi titik permasalahan dalam penelitian ini adalah sebagai berikut :

1. Belum adanya ujian online berbentuk essay.

2. Pengoreksian soal essay masih dilakukan secara manual yang membutuhkan waktu yang tidak singkat.

1.3. Maksud dan Tujuan

Maksud dari penelitian ini adalah mengembangkan Learning Management System untuk SMPN 1 Cimahi. Sedangkan tujuan yang akan dicapai adalah :

1. Membantu guru dalam melakukan monitoring terhadap kegiatan belajar siswa dengan membangun sebuah fitur pengujian materi pelajaran secara online.

2. Membuat fitur ujian online berbentuk essay serta pengoreksian soal essay secara otomatis oleh sistem untuk membantu guru dalam melakukan penilaian terhadap kemampuan kompetensi siswa berdasarkan hasil pengujian secara online.

3. Mengetahui akurasi pengoreksian oleh sistem menggunakan algoritma Latent Semantic Analysis berdasarkan prosedur pengoreksian secara manual oleh guru.


(16)

1.4. Batasan Masalah

Mengingat permasalahan yang dikaji sangat luas, agar penyajian lebih terarah dan mencapai sasaran yang ditentukan, maka diperlukan suatu pembatasan masalah atau ruang lingkup kajian yang meliputi hal-hal sebagai berikut:

1. Learning Management System ini bersifat sebagai sistem pendukung proses belajar mengajar di SMP Negeri 1 Cimahi.

2. Sistem Learning Management System dikembangkan pada bagian pengoreksian ujian essay.

3. Pengoreksian soal essay dilakukan menggunakan algoritma Levenshtein Distance dan Latent Semantic Analysis (LSA).

4. Pengoreksian tidak memperhatikan sinonim atau persamaan kata. 5. Pengoreksian tidak memperhatikan makna kalimat.

6. Pengoreksian hanya untuk kalimat bersifat definitif, bukan yang bersifat opini dan matematis.

7. Model analisis perangkat lunak yang digunakan adalah pemodelan analisis terstruktur. Alat (tools) yang digunakan adalah DFD (Data Flow Diagram), ERD (Entity Relationship Diagram) dan Flow Map.

8. Software pengembangan aplikasi ini menggunakan Adobe Macromedia Dreamweaver 8, dengan bahasa pemrograman PHP, MySQL sebagai DBMS (Database Management System), WAMP Server sebagai internal server, sedangkan untuk menjalankan aplikasi ini menggunakan browser.

1.5. Metode Penelitian

Dalam pembuatan skripsi ini menggunakan metode penelitian deskriptif yang menggambarkan fakta-fakta dan informasi secara sistematis, aktual, dan akurat. Adapun metode yang digunakan pada saat mengumpulkan data dan model proses pembangunan perangkat lunak sebagai berikut:


(17)

1.5.1. Teknik Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut:

a.Studi Literatur

Pengumpulan data dengan cara mempelajari sumber kepustakaan diantaranya hasil penelitian, buku referensi, jurnal dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b.Observasi

Metode observasi adalah pengumpulan data melalui pengamatan langsung terdahap lingkungan sekolah termasuk kegiatan belajar mengajar yang berlangsung di SMP Negeri 1 Cimahi.

c.Kuesioner

Metode pengumpulan data dengan cara memberikan pertanyaan tertulis kepada 15 siswa SMP Negeri 1 Cimahi untuk memperoleh informasi sebagai dasar pengembangan LMS.

1.5.2. Model Pembangunan Perangkat Lunak

Model proses yang digunakan dalam pembangunan perangkat lunak ini akan menggunakan model Water Fall, model ini adalah model sederhana yang berurutan dan saling terkait tahap-tahapnya dalam membangun sistemnya sehingga mampu menghasilkan sistem yang tersruktur dengan baik karena pada setiap tahapan mempunyai dokumentasi yang jelas. Alasan menggunakan model ini adalah karena karakteristik water fall kebutuhan pengguna harus sudah jelas. Tahap-tahap utama dari model ini memetakan kegiatan-kegiatan pengembangan dasar yaitu [1]:

I. Software requirements analysis.

Tahap ini mengumpulkan kebutuhan-kebutuhan yang diperlukan oleh sistem, yaitu dengan cara studi literatur, observasi dan kuesioner kepada pihak sekolah. Sehingga semua data yang dibutuhkan bisa didapatkan dan kebutuhan sistem terpenuhi.


(18)

II. Design

Tahap ini memfokuskan pada tiga poin program: arsitektur program, interface, dan algoritmanya berdasarkan data kebutuhan pengguna yang telah didapat. Seperti kebutuhan, design juga didokumentasi dan menjadi bagian konfigurasi program

III.Coding

Desain ditranslasikan menjadi mesin, yaitu menggunakan bahasa pemrograman PHP.

IV.Testing

Saat kode telah dibuat, program mulai ditest kepada penggunanya. Testing fokus pada logika internal dari software, fungsi eksternal serta mengetes untuk mengcover error dan memastikan inputan yang telah dibuat dan hasilnya sesuai dengan tujuan.

V. Maintenance

Biasanya (walaupun tidak seharusnya), ini merupakan fase siklus hidup yang palinglama. Sistem diinstall dan dipakai. Pemeliharaan mencakup koreksi dari berbagai error yang tidak ditemukan pada tahap-tahap terdahulu, perbaikan atas implementasi unit sistem dan pengembangan pelayanan sistem, sementara persyaratan-persyaratan baru ditambahkan.


(19)

1.6. Sistematika Penulisan

Sistematika penulisan laporan akhir penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan skripsi ini adalah sebagai berikut :

BAB I PENDAHULUAN

Bab ini berisi penjelasan mengenai latar belakang masalah, rumusan masalah, maksud dan tujuan, batasan masalah, metodologi penelitian serta sistematika penulisan.

BAB II TINJAUAN PUSTAKA

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan topik penelitian yang dilakukan dan hal-hal yang berguna dalam proses analisis permasalahan serta tinjauan terhadap penelitian-penelitian serupa yang telah pernah dilakukan sebelumnya termasuk sintesisnya.

BAB III ANALISIS DAN PERANCANGAN

Bab ini berisi tentang pemaparan analisis sistem yang terdiri dari analisis sistem yang berjalan, analisis kebutuhan nonfungsional, analisis data dan analisis kebutuhan fungsional yang digunakan untuk mendefinisikan hal-hal yang diperlukan dalam pengembangan perangkat lunak. Hasil dari analisis tersebut kemudian digunakan untuk melakukan perancangan perangkat lunak yang terdiri dari struktur menu, perancangan antarmuka, jaringan semantik dan perancangan prosedural.

BAB IV IMPLEMENTASI DAN PENGUJIAN

Merupakan tahapan yang dilakukan dalam penelitian dalam menjelaskan implementasi , tampilan antarmuka, menu yang tersedia pada sistem, dan pengujian terhadap sistem.

BAB V KESIMPULAN DAN SARAN

Bab ini berisi mengenai hal-hal penting yang telah dibahas dan kemudian dibuat kesimpulan. Bab ini juga berisi saran-saran yang diberikan untuk pengembang selanjutnya.


(20)

(21)

9 BAB 2

TINJAUAN PUSTAKA

Pada bab ini dijelaskan beberapa konsep dan dasar teori yang berkaitan dengan permasalahan yang akan dibahas sebagai dasar pemahaman dalam mengimplementasikan konsep-konsep tersebut kedalam semua kegiatan pengembangan sistem yaitu profil sekolah, learning management system, algoritma koreksi essay, konsep perancangan sistem, dan pengembangan perangkat lunak.

2.1. Profil SMP Negeri 1 Cimahi 2.1.1. Sejarah SMP Negeri 1 Cimahi

SMP Negeri 1 Cimahi berawal dari dari sebuah sekolah untuk golongan pribumi yang sudah berdiri sejak tahun 1926, dan dibangun oleh Pemerintah Hindia Belanda dengan nama HIS. Kemudian pada saat penjajahan Jepang tahun 1942–1945 HIS diubah menjadi Sekolah Rakyat (SR) No 3 Cimahi. Setelah Indonesia merdeka diubah lagi menjadi Sekolah Rakyat (SR) no 4 Cimahi. Pada Tahun 1949 sekolah ini menjadi sebuah sekolah swasta dengan nama SMP Parki di bawah pimpinan Bapak Samir.

Setelah melewati beberapa perubahan dan perkembangan, akhirnya pada tanggal 15 Agustus tahun 1950 dengan Surat Keputusan Menteri Pendidikan dan Kebudayaan No 6535/R berdirilah SMP Negeri 1 Cimahi dengan dipimpin pertama kali oleh Bapa Rd. Samad Bratawijaya. Pada saat itu sekolah ini memiliki 9 ruang, yang digunakan untuk kelas sebanyak 8 ruang dan satu untuk ruang Guru, TU dan Kepala Sekolah. Dan tahun itu pulalah dijadikan awal kelahiran SMP Negeri 1 Cimahi.

Setelah berakhir masa kepemimpinan Bapak Rd. Samad Bratawijaya selanjutnya sekolah ini berturut-turut dipimpin oleh kepala-kepala sekolah diantaranya :

1. Tahun 1955–1962 oleh Bapak Mochamad Kasim.

2. Tahun 1962–1966 oleh Bapak R. Embang Artawijaja (sekarang namanya diabadikan untuk nama jalan yang dulunya bernama Jalan


(22)

SMP).

3. Tahun 1966–1968 oleh Bapak M. Djudju Sadjid. 4. Tahun 1968–1974 oleh Bapak Drs. R. P. Hartoyo. 5. Tahun 1974–1986 oleh Bapak T. Darsah.

6. Tahun 1986–1988 oleh Bapak H. E Hasan Badjuri BA. 7. Tahun 1988–1992 oleh Bapak Saryama Lala Mugia BA. 8. Tahun 1992–1994 oleh Bapak Endang Dachlan.

9. Tahun 1994 oleh Bapak Ade Juhandi sebagai PYMT. 10.Tahun 1994–1996 oleh Bapak Drs. Ubes Sumantri.

11.Tahun 1996 oleh Bapak Drs. H. Odjo Suheman sebagai PYMT. 12.Tahun 1996–1999 oleh Bapak Drs. Sholeh Gunawan.

13.Tahun 1999–2002 oleh Bapak Drs. E. Saefudin Satyaputra. 14.Tahun 2002 oleh Bapak Drs. Hadi Supriatna, MM sebagai PLH. 15.Tahun 2002–sekarang oleh Ibu Dra. L.G. Arisuweni, M.Pd. 2.1.2. Visi dan Misi SMP Negeri 1 Cimahi

Dalam menjalankan institusinya, SMPN 1 Cimahi memiliki visi dan misi sebagai pedoman dalam mencapai tujuannya. Adapun visi dan misi yang dimiliki oleh SMPN 1 Cimahi adalah sebagai berikut:

1.Visi

Terwujudnya sekolah yang memiliki siswa berkualitas, cerdas dan kompetitif dalam bidang IMTAQ dan IPTEK serta berwawasan lingkungan. Dengan motto IDEAL yaitu :

1. Itikad yang baik. 2. Dedikasi yang tinggi. 3. Evaluasi diri.

4. Akhlak yang mulia.

5. Luwes dalam ucapan dan tindakan.

2.Misi


(23)

2. Membentuk pribadi yang luhur dan berakhlak mulia. 3. Meningkatkan etos kerja seluruh warga sekolah.

4. Mengupayakan kemandirian yang bertanggung jawab dalam proses pembelajaran dan pengelolaan pendidikan.

5. Mengembangkan minat dan bakat apresiasi seni-budaya. 6. Menumbuhkembangkan kearifan lokal dan kesolehan sosial

2.1.3. Struktur Organisasi Sekolah

Struktur organisasi menunjukan pola hubungan jalur komunikasi antara fungsi-fungsi, bagian-bagian atau orang-orang yang ada dalam suatu organisasi dapat diketahui bagaimana wewenang dan tanggung jawab mengalir diantara bagian tersebut.

Dibawah ini adalah Bagan Struktur Organisasi SMP Negeri 1 Cimahi.

Gambar 2.1. Struktur Organisasi SMPN 1 Cimahi

2.1.4. Deskripsi Tugas Struktur Organisasi SMPN 1 Cimahi

Melihat dari Gambar 2.1, setiap jabatan memiliki tugas masing-masing, berikut penjelasan mengenai tugas dari masing-masing jabatan yang ada di SMP Negeri 1 Cimahi :


(24)

a)Kepala sekolah bertugas :

1. Merencanakan pengembangan penyelenggaraan pendidikan.

2. Mengorganisasikan seluruh proses pendidikan di sekolah yang meliputi aspek edukatif dan admnistratif.

3. Me-monitoring perkembangan siswa dan guru bidang studi. b)Tata usaha bertugas :

1. Membantu pimpinan dalam menyiapkan rencana pendidikan.

2. Mengelola data siswa, guru, materi dan data-data yang bersangkutan dengan kegiatan sekolah.

c)Wakil kepala sekolah bidang kurikulum bertugas: 1. Menyusun jadwal pelajaran.

2. Mengatur pelaksanaan penilaiaan.

3. Menyusun jadwal mengajar guru bidang studi. 4. Menyusun program semester.

d)Wakil kepala sekolah bidang kesiswaan bertugas:

1. Mengelola kesiswaan dari ekstrakulikuler dan kegiatan siswa lainnya baik intern atau ekstern sekolah.

2. Bekerjasama dengan pihak OSIS (Organisasi Siswa Intern Sekolah). e) Wakil kepala sekolah bidang sarana dan prasarana bertugas mengelola

penyediaan dan pengadaan barang-barang yang dibutuhkan sekolah (barang inventaris sekolah).

f) Wakil kepala sekolah bidang humas bertugas mengelola informasi sekolah.

g) Guru bidang studi bertugas dalam proses belajar mengajar di sekolah berdasarkan ketentuan yang ditetapkan oleh pihak sekolah.


(25)

2.2. Landasan Teori

Dalam membangun Learning Management System untuk SMPN 1 Cimahi, terdapat landasan teori yang mendukung diantaranya :

2.2.1. Learning Management System

Learning Management System (LMS) adalah system yang membantu administrasi dan berfungsi sebagai platform e-learning content [2]. Apabila memiliki banyak materi pelajaran e-learning, kita tidak hanya meletakkannya pada layar desktop komputer dalam bentuk icon. Bagaimana bila kita memiliki lebih dari 100 judul mata pelajaran e-learning? Layar computer kita tentu akan penuh. Oleh karena itu, kita perlu memiliki LMS sebagai system yang mengatur e-learning content atau mata pelajaran e-learning.

2.2.1.1. Fungsi LMS

Berikut adalah beberapa fungsi LMS : 1. Katalog

LMS yang baik harus dapat menunjukkan materi pelajaran yang dimiliki. Materi-materi dapat berupa pelajaran e-learning, artikel, tesis, hasil diskusi dan lain sebagainya. Katalog yang baik pun harus dapat membedakan materi berdasarkan jenis materi, departemen yang memerlukan (misalnya, pelajaran marketing mi untuk department marketing dan penjualan) maupun kurikulum (misalnya, pelajaran anggaran untuk kurikulum keuangan, pelajaran coaching untuk kurikulum kepemimpinan).

Katalog yang baik harus dapat menampilkan informasi tentang suatu pelajaran dengan lengkap, meliputi judul, tujuan, cakupan atau outline, durasi, target pelajar, tangggal tersedia, materi pendahuluan, tes yang harus diikuti dan lain sebagainya.

2. Registrasi dan persetujuan

Fungsi ini memungkinkan calon peserta pelatihan mendaftarkan diri secara online, baik untuk pelajaran online maupun di kelas. Apabila calon peserta pelatihan selesai mendaftar dan pelajaran membutuhkan persetujuan atasan atau orang lain, maka LMS harus menginformasikan kepada atasan


(26)

(biasanya melalui e-mail) bahwa terdapat satu pendaftaran yang harus ditanggapi. Atasan dapat mengakses sistem dan melihat pendaftaran serta informasi tentang pelajar dan pelajaran. Kemudian, dia dapat mengambil tindakan, apakah disetujui atau ditolak. LMS kembali menginformasikan hal tersebut kepada calon peserta pelatihan.

LMS yang baik dapat pula menyimpan data pendaftaran dan persetujuan untuk membantu departemen pelatihan dalam memonitoring kegiatan e-learning di kemudian hari.

3. Menjalankan dan memonitoring e-learning

LMS harus menjalankan materi pelajaran e-learning dengan baik. Apabila komputer pelajar tidak memiliki konfigurasi yang sesuai, maka LMS harus mengesannya dan memberikan peringatan kepada pelajar.

Setelah materi pelajaran e-learning dijalankan, LMS harus mempunyai kemampuan merekam kegiatan agar dapat dibuat laporannya. LMS harus dapat merekam tentang berapa lama siswa mengakses materi pelajaran, berapa kali, tanggal dan jamnya dan lain sebagainya.

4. Evaluasi

LMS yang baik pun harus dapat melakukan bermacam evaluasi yang dapat mengukur keahlian peserta pelatihan sebelum dan sesudah mengikuti pelatihan. Evaluasi harus dapat mengukur seberapa jauh peserta pelatihan menyerap materi. Berdasarkan hasil evaluasi, LMS secara otomatis menyarankan untuk mengulang kembali pelajaran, membaca beberapa artikel tambahan, mengikuti pelajaran yang lain atau tindakan lainnya. 5. Komunikasi

LMS berguna pula sebagai sarana komunikasi bagi departemen pelatihan dan anggota organisasi. LMS dapat menyajikan atau memberikan pengumuman kepada pelajar tertentu. Pengumuman dapat dari pengajar atau administrator pelatihan.

Komunikasi di sini dapat berarti pengajar memberikan materi bacaan tambahan kepada peserta pelatihan melalui system. Pengajar dapat pula memasukkan atau meng-upload sebuah artikel yang ditujukan pada


(27)

beberapa pelajar tertentu dan LMS dapat menginformasikannya kepada mereka agar dapat mengakses dan men-download artikel melalui LMS. 6. Laporan

Melalui LMS, para administrator pelatihan dapat memperoleh laporan berisi data pelatihan. Atasan dan manajemen harus dapat mengakses system dan mencetak laporan secara langsung, tanpa meminta bantuan administrator. Misalnya, seorang manajer ingin mengetahui berapa banyak anak buahnya yang telah memperoleh pelatihan MS Powerpoint. Ia mudah masuk atau login ke dalam LMS dan mencari data pelatihan anak buahnya. 7. Rencana pembelajaran

Seorang manajer dapat membuat rencana pembelajaran untuk seberapa pelajar mengenai analisa kebutuhan belajar. Alangkah baiknya, bila rencana pembelajaran atau training plan dapat diikutsertakan dalam LMS. Jadi, berdasarkan rencana pembelajaran, LMS secara otomatis merekomendasikan program pembelajaran yang sesuai dan mengatur jadwalnya. Jadi, pelajar dapat melihat materi pembelajaran yang dia butuhkan melalui LMS, kapan dia bisa mengikuti dan harus menyelesaikan.

8. Integrasi

Dalam suatu organisasi, ada beberapa system komputer. LMS yang baik dapat berkomunikasi dan berintegrasi dengan system – system yang ada. Integrasi dengan system SDM adalah hal yang vital. Dengan integrasi yang baik, LMS akan mendapatkan daftar informasi karyawan terbaru dari system SDM yang sudah ada. Jadi, apabila pada system SDM terdapat perubahan data karyawan, penambahan karyawan baru atau karyawan yang keluar, maka informasi dapat digunakan untuk memperbaharui data pelatihan terkait.

Selain kedelapan fungsi dasar, kita dapat menambahkan fungsi-fungsi penunjang lain, misalnya forum diskusi atau chatroom agar pelajar dan pengajar dapat berdiskusi mengenai pembelajaran, dan lain-lain.


(28)

2.2.2. Metode / Algoritma 2.2.2.1. Text Preprocessing

Text Preprocessing adalah langkah awal sebelum dilakukan sebuah pencocokan pada sting. Tindakan yang dilakukan pada tahap ini adalah:

1. toLowerCase / case folding, yaitu mengubah semua karakter huruf menjadi huruf kecil,

2. Menghilangkan delimiter-delimiter seperti tanda titik(.), koma(,), spasi dan karakter angka yang ada pada kata tersebut

3. Hapus kata umum (stopword).

4. Tokenizing yaitu pemotongan string dalam teks berdasarkan kata yang menyusunnya dan disimpan dalam sebuah variable array [3].

2.2.2.2. Algoritma Levenshtein Distance

Algoritma Levenshtein distance dibuat oleh Vladimir Levenshtein pada tahun 1965. Algoritma levenshtein distance merupakan metrik yang digunakan untuk mengukur perbedaan jarak antara dua sekuens. Perhitungan edit distance didapatkan dari matriks yang digunakan untuk menghitung jumlah perbedaan string antara dua string. Perhitungan jarak antara dua string ini ditentukan dari jumlah minimum operasi perubahan untuk membuat string A menjadi string B. Levenshtein distance antara dua string ditentukan berdasarkan jumlah minimum perubahan/pengeditan yang dibutuhkan untuk melakukan transformasi dari satu bentuk string ke string yang lain. Ada 3 macam operasi utama yang dapat dilakukan oleh algoritma levenshtein distance yaitu:

a.Operasi pengubahan karakter

Operasi pengubahan karakter merupakan operasi menukar sebuah karakter dengan karakter lain. Contohnya penulisan string “informatica”

menjadi “informatika”. Dalam kasus ini karakter ‘c’ diganti dengan huruf ‘k’.

b.Operasi penambahan karakter

Operasi penambahan karakter berarti mengambahakan karakter ke dalam suatu string. Contohnya string “infrmatika” dilakukan penambahan


(29)

karakter ‘o’ setalah karakter ‘r’ untuk membentuk string “informatika”. Penambahan karakter tidak hanya dilakukan dengan menyisipkan ditengah-tengah string, tapi juga bisa ditambahkan diawal atau diakhir string.

c.Operasi penghapusan karakter

Operasi penghapusan karakter dilakukan untuk menghilangkan karakter dari suatu string. Contohnya string “informatikar”, karakter terkhir

dihilangkan sehingga menjadi string “informatika”. Pada operasi ini

dilakukan operasi penghapusan karakter ‘r’. [4] Contoh :

1. Jika a adalah “informatika” dan b adalah “informatika”, maka LD(a,b) = 0, karena tidak ada transformasi yang dibutuhkan. Kedua string adalah identik.

2. Jika a adalah “informatika” dan b adalah “infrmatika”, maka LD(a,b) = 1, karena dibutuhkan satu insert (menambahkan ‘o’) dicukupkan untuk menstransformasikan string a menjadi string b.

Perhitungan harga pengeditan pada setiap operasi yang dilakukan adalah sesuai dengan aturan berikut:

1. d(a,ԑ) = 1 harga untuk menghapus substring a 2. d(ԑ,a) = 1 harga untuk penyisipan substring a

3. d(a,a) = 1 harga untuk substitusi substring a ke substring b 4. d(a,a) = 0

Semakin besar nilai yang dihasilkan oleh operasi levenshtein distance maka semakin besar pula perbedaan di antara kedua string tersebut. Penggunaan levenshtein distance terbatas pada penentuan kemiripan dua buah string dilihat dari posisi huruf-huruf yang ada di kedua kata.

Misalnya, jika pada kunci jawaban guru “kumpulan makhluk hidup” dengan jawaban siswa “kumpulan makluk hidup”. Pada jawaban siswa dan kunci


(30)

jawaban terlihat perbedaan pada string “makhluk” dengan “makluk”, maka salah

salah satu string jawaban siswa tersebut berjarak 1 dari string kunci jawaban. Jarak tersebut secara persentase bernilai 14% dari ukuran string “makluk” sehingga kemiripan relatif dari string tersebut dengan salah satu string kunci jawaban adalah 86%.

2.2.2.3. Latent Semantic Analysis

Latent Semantic Analysis (LSA) adalah suatu metode untuk mengekstrak sebuah tulisan dalam suatu dokumen dan kemudian mengaplikasikannya dalam perhitungan matematis. Penilaian dengan metode LSA lebih kepada kata-kata yang ada dalam tulisan tanpa memperhatikan urutan kata dan tata bahasa dalam tulisan tersebut, sehingga suatu kalimat yang dinilai adalah berdasarkan kata-kata kunci yang ada pada kalimat tersebut.[5]

Untuk menghitung nilai jawaban essay menggunakan metode LSA, caranya adalah dengan cara membuat sebuah dokumen essay yang menjadi acuan (query) atau kunci jawaban dan kemudian essay yang akan dinilai dibandingkan dengan esai acuan jawaban, semakin banayak kemiripannya maka semakin besar nilai jawabannya.

Langkah-langkah pemeriksaan essay dengan metode LSA adalah pertama-tama tulisan direpresentasikan ke dalam matriks dimana baris matriks menunjukkan kata-kata kunci (queries) pada dokumen tersebut dan setiap kolom menunjukkan kolom dokumen. Setiap sel menunjukkan banyaknya kemunculan kata kunci yang berada pada matriks pada dokumen yang ada di kolom matriks. Kemudian isi dari sel tersebut terlebih dahulu ditransformasikan dimana setiap frekuensi kata dibobotkan dengan sebuah fungsi yang menunjukkan pentingnya sebuah kalimat dalam paragraph dan juga derajat yang menunjukkan seberapa pentingnya tipe kata didalam suatu kalimat.

Langkah selanjutnya adalah dilakukan dekomposisi Singular Value Decomposition (SVD) pada matriks kata-dokumen. Pada SVD matriks memuat frekuensi pemunculan kata kunci di dekomposisi menjadi tiga buah matriks yang jika tiga buah matriks tersebut dikalikan maka akan muncul kembali matriks


(31)

asalnya. Matriks pertamanya mendeskripsikan entitas kolom sebagai nilai vektor orthogonal matriks. Matriks keduanya berupa matriks diagonal yang memuat nilai skalar matriks. Secara matematis, faktor yang paling baik adalah menggunakan dimensi terkecil dari matriks awalnya, sehingga rekonstruksi matriks terbaik dihasilkan pada saat nilai faktor lebih kecil dari jumlah faktor yang digunakan.

Dimensi dari matriks yang telah disederhanakan dengan menghapus koefisien pada matriks diagonal sebanyak yang diinginkan sampai tersisa koefisien sebanyak dimensi yang terpilih. Tujuan penyederhanaan ini adalah agar terbentuk matriks yang memuat nilai korelasi yang diinginkan ketika tiga buah matriks direkonstruksi. Kemudian penilaian akan dilakukan dengan membandingkan matriks korelasi dari query dengan matriks korelasi dari setiap dokumen dengan menggunakan perhitungan cosinus α.

Untuk lebih memahami proses ini lebih jelas, berikut ini adalah contoh yang biasa digunakan. Pada gambar 2.2 dapat dilihat beberapa kalimat yang terdiri dari dua tema.

Gambar 2.2 Contoh Kalimat dan Kata Kunci

Dari contoh pada gambar 2.2 ada sembilan kalimat dengan lima kalimat pertama bertema human computer interaction (kalimat c1 sampi c5), dan empat kalimat selanjutnya bertema mathematical graph theory (kalimat m1 sampai m4). Syarat sebuah kata menjadi kata kunci pada paragraf ini adalah setidaknya sebuah

Technical Memo Example Titles:

c1: Human machine interface for Lab ABC computer applications c2: A survey of user opinion of computer system response time c3: The EPS user interface management system

c4: System and human system engineering testing of EPS

c5: Relation of user-perceived response time to error measurement m1: The generation of random, binary, unordered trees

m2: The intersection graph of paths in trees

m3: Graph minors IV: Widths of trees and well-quasi-ordering m4: Graph minors: A survey


(32)

kata harus muncul minimal 2 kali dalam queries. Pentransformasian kata-kata diatas menjadi sebuah matriks A ditunjukkan pada tabel 2.1.

Tabel 2.1. Transformasi Matriks Kemunculan Kata Kunci Pada Susunan Kalimat dalam Gambar 2.2

C1 C2 C3 C4 C5 M1 M2 M3 M4

Human 1 0 0 1 0 0 0 0 0

interface 1 0 1 0 0 0 0 0 0

computer 1 1 0 0 0 0 0 0 0

User 0 1 1 0 1 0 0 0 0

System 0 1 1 2 0 0 0 0 0

response 0 1 0 0 1 0 0 0 0

Time 0 1 0 0 1 0 0 0 0

EPS 0 0 1 1 0 0 0 0 0

Survey 0 1 0 0 0 0 0 0 0

Trees 0 0 0 0 0 1 1 1 0

Graph 0 0 0 0 0 0 1 1 1

Minors 0 0 0 0 0 0 0 1 1

Dekomposisi matriks pada tabel 2.1. SVD merepresentasikan semantic space ke dalam bentuk matriks yang memiliki orde lebih kecil dibandingkan orde matriks aslinya, namun perhitungan matriks tetap menghasilkan matriks yang bernilai hampir sama. SVD merupakan teorema aljabar linear yang dikatakan mampu memecah blok suatu matriks A menjadi tiga matriks baru, yaitu sebuah matriks orthogonal U, Matriks diagonal S, dan Transpose Matriks orthogonal V. Teorema SVD adalah sebagai berikut :

A

mn

= U

mm

x S

mn

x V

Tnn ...(2-3)

Dimana UTU=I, VTV=I. Kolom matriks U merupakan Eigenvektor Orthonormal dari AAT, sedangkan kolom matriks V merupakan Eigenvektor Orthonormal dari ATA, dan S merupakan matriks diagonal akar dari nilai eigen dari matriks U atau V dalam urutan dari yang terbesar (Descending order).


(33)

ditunjukkan pada tabel 2-2.

Tabel 2.2. Matriks U sebagai komponen matriks A

0.22 -0.11 0.29 -0.41 -0.11 -0.34 0.52 -0.06 -0.41

0.2 -0.07 0.14 -0.55 0.28 0.5 -0.07 -0.01 -0.11

0.24 0.04 -0.16 -0.59 -0.11 -0.25 -0.3 0.06 0.49

0.4 0.06 -0.34 0.1 0.33 0.38 0 0 0.01

0.64 -0,17 0,36 0,33 -0,16 -0,21 -0,17 0,03 0,27

0,27 0,11 -0,43 0,07 0,08 -0,17 0,28 -0,02 -0,05

0,27 0,11 -0,43 0,07 0,08 -0,17 0,28 -0,02 -0,05

0,3 -0,14 0,33 0,19 0,11 0,27 0,03 -0,02 -0,17

0,21 0,27 -0,18 -0,03 -0,54 0,08 -0,47 -0,04 -0,58

0,01 0,49 0,23 0,03 0,59 -0,39 -0,29 0,25 -0,23

0,04 0,62 0,22 0 -0,07 0,11 0,16 -0,68 0,23

0,03 0,45 0,14 -0,01 -0,3 0,28 0,34 0,68 0,18

Sedangkan matriks kedua berupa matriks diagonal yang memuat nilai skalar matriks didapat dari akar kuadrat dari nilai eigen matriks ATA dan disebut sebagai matriks S. Matriks S dari hasil perhitungan untuk contoh pada gambar 2.2 ditunjukkan pada tabel 2.3. Untuk matriks terakhir cara mencarinya sama dengan matriks pertama, yang menjadi perbedaan adalah yang dicari matriks AAT bukan ATA, dan matriks ini disebut sebagai matriks V Matriks V dari hasil perhitungan untuk contoh pada gambar 2.2ditunjukkan pada tabel 2-4.

Tabel 2.3. Matriks S sebagai komponen dari matriks A

3,34 0 0 0 0 0 0 0 0

0 2,54 0 0 0 0 0 0 0

0 0 2,35 0 0 0 0 0 0

0 0 0 1,64 0 0 0 0 0

0 0 0 0 1,5 0 0 0 0

0 0 0 0 0 1,31 0 0 0

0 0 0 0 0 0 0,85 0 0

0 0 0 0 0 0 0 0,56 0


(34)

Tabel 2.4. Matriks V sebagai komponen vektor orthogonal transpose matriks A

0,2 -0,06 0,11 -0,95 0,05 -0,08 0,18 -0,01 -0,06

0,61 0,17 -0,5 -0,03 -0,21 -0,26 -0,43 0,05 0,24

0,46 -0,13 0,21 0,04 0,38 0,72 -0,24 0,01 0,02

0,54 -0,23 0,57 0,29 -0,21 -0,37 0,26 -0,02 -0,08

0,28 0,11 -0,51 0,15 0,33 0,03 0,67 -0,06 -0,26

0 0,19 0,1 0,02 0,39 -0,3 -0,34 0,45 -0,62

0,01 0,44 0,19 0,01 0,35 -0,21 -0,15 -0,76 0,02

0,02 0,62 0,25 0,01 0,15 0 0,25 0,48 0,52

0,08 0,53 0,08 -0,03 -0,16 0,36 0,04 -0,07 -0,45

Reduce matriks dipilih sebesar k dimensi dalam contoh ini k = 2, sehingga matriks komponen S hanya menyisakan nilai seperti pada Tabel 2.5, kemudian komponen U, S yang disederhanakan, dan V dikalikan kembali untuk mendapat matriks Ak yang merupakan matriks rekonstruksi A. Hasilnya adalah seperti tabel

yang ditunjukkan oleh tabel 2.5.

Tabel 2.5. Matriks Ak sebagai matriks rekonstruksi A

0,16 0,4 0,38 0,47 0,18 -0,05 -0,12 -0,16 -0,09

0,14 0,37 0,33 0,4 0,16 -0,03 -0,07 -0,1 -0,04

0,15 0,51 0,36 0,41 0,24 0,02 0,06 0,09 0,12

0,26 0,84 0,51 0,7 0,39 0,03 0,08 0,12 0,19

0,45 1,23 1,05 1,27 0,56 -0,07 -0,15 -0,21 -0,05

0,16 0,58 0,38 0,42 0,28 0,06 0,13 0,19 0,22

0,16 0,58 0,38 0,42 0,28 0,06 0,13 0,19 0,22

0,22 0,55 0,51 0,63 0,24 -0,07 0,14 -0,2 -0,11

0,1 0,53 0,23 0,21 0,27 0,14 0,31 0,44 0,42

-0,06 0,23 -0,14 -0,27 0,14 0,24 0,55 0,77 0,66

-0,06 0,34 -0,15 -0,3 0,2 0,31 0,69 0,98 0,85


(35)

Matriks Ak tidak sama dengan matriks A yang asli. Matriks Ak hanyalah

sebuah pendekatan atau aproksimasi A pada faktor k. SVD yang dilakukan setelah penyederhanaan mengambil sebagian besar struktur penting yang terdapat pada korelasi kata kunci dan dokumen. Pada saat yang sama juga menghilangkan variabilitas penggunaan kata yang menjadi gangguan utama. Selama nilai dari k jauh lebih kecil dari banyaknya kata kunci maka perbedaan minor dalam terminologi dapat diabaikan. Kata-kata kunci yang terdapat dalam kalimat yang sama, akan berdekatan satu sama lain dalam ruang k walaupun kata kunci itu tidak pernah muncul bersamaan lagi pada kalimat yang sama. Hal ini berarti beberapa kalimat yang tidak memiliki satupun kata kunci yang sama, maka dia tidak akan mendekati saling berhubungan dalam ruang-k.

2.2.2.4. Penilaian Essay

Query yang merupakan kata kunci dari kunci jawaban dapat direpresentasikan sebagai vektor dalam ruang-k. Vektor inilah yang kemudian dibandingkan dengan vektor-vektor jawaban essay siswa (dokumen) untuk selanjutkan dinilai kemiripannya. Sebuah query seperti halnya dokumen, merupakan kumpulan dari kata-kata. Query dapat representasikan sebagai

...(2-4)

Seperti vektor query, vektor dokumen direpresentasikan sebagai

...(2-5)

Matriks q adalah matriks satu kolom yang elemennya berisi jumlah kata kunci dalam query. Sementara matriks d adalah matriks satu kolom. Elemennya berisi nilai kemunculan kata kunci dalam dokumen. Matriks d sama dengan kolom matriks A. q adalah vektor query dan d adalah vektor dokumen. Vektor query


(36)

dikorelasikan dengan semua vektor dokumen yang ada. Teknik korelasi yang umum digunakan adalah dengan mencari nilai kemiripan kosinus yang dibentuk antara vektor query dan vektor dokumen. Korelasi kosinus antara vektor query dan vektor dokumen diberikan oleh persamaan

...(2-6)

α adalah sudut diantara kedua vektor tersebut. Jadi, nilai korelasi adalah

perhitungan sudut berdasarkan kosinus antara q dan d. Jika dilakukan penilaian dari jawaban siswa yang paling besar ke paling kecil nilainya, maka jawaban yang paling besar nilainya adalah yang memiliki sudut α dengan yang paling kecil. 2.2.3. Konsep Perancangan Sistem

Dalam perancangan system yang akan dibangun, perlu adanya perencanaan pengolahan data dimana semua data disimpan ke dalam sebuah database agar seluruh data saling berelasi.

2.2.3.1. Basis Data

Basis data (database) adalah kumpulan dari berbagai data yang saling berhubungan satu dengan yang lainnya dan dapat diakses dengan mudah dan cepat. Basis data tersimpan di perangkat keras, serta dimanipulasi dengan menggunakan perangkat lunak. Pendefinisian basis data meliputi spesifikasi dari tipe data, struktur dan batasan dari data atau informasi yang akan disimpan. Database merupakan salah satu komponen yang penting dalam sistem informasi, karena merupakan basis dalam menyediakan informasi pada para user atau user. Data diartikan sebagai representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, barang, hewan, konsep, dan lain-lain. Terdapat sejumlah sudut pandang pengertian basis data, yaitu:

1. Himpunan kelompok data (arsip) yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan


(37)

kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengquiz (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.

3. Kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronik.

Penyusunan basis data meliputi proses memasukkan data kedalam media penyimpanan data dan diatur dengan menggunakan perangkat Sistem Manajemen Basis Data (Database Management System DBMS). Manipulasi basis data meliputi pembuatan pernyataan (query) untuk mendapatkan informasi tertentu, melakukan pembaharuan atau penggantian (update) data, serta pembuatan report data. Dalam sebuah media penyimpanan, basis data dapat diciptakan maupun dihilangkan. Dalam sebuah basis data terdiri atas dua atau lebih tabel yang saling berhubungan. Dalam operasi basis data, tabel-tabel tersebut dapat diciptakan dan dapat dihilangkan juga.

Elemen Basis Data terdiri dari :

1. Entitas adalah sekumpulan objek yang terdefinisikan yang mempunyai karakteristik sama dan bisa dibedakan satu dengan lainnya. Objek dapat berupa barang, orang, tempat atau suatu kejadian.

2. Atribut adalah deskripsi data yang bisa mengidentifikasi entitas yang membedakan entitas tersebut dengan entitas yang lain. Seluruh atribut harus cukup untuk menyatakan identitas obyek, atau dengan kata lain kumpulan atribut dari setiap entitas dapat mengidentifikasi keunikan suatu individu.

3. Data value (nilai data) adalah data aktual atau informasi yang disimpan pada tiap data, elemen atau atribut. Atribut nama pegawai menunjukan tempat dimana informasi nama karyawan disimpan. 4. File/Tabel merupakan kumpulan record sejenis yang mempunyai

panjang elemen yang sama, atribut yang sama, namun berbeda nilai datanya.


(38)

5. Record/Tuple merupakan kumpulan elemen-elemen yang saling berkaitan menginformasikan tentang suatu entitas secara lengkap. Satu record mewakili satu data atau informasi.

2.2.3.2. Flowmap

Flowmap adalah campuran peta dan flowchart, yang menunjukkan pergerakan benda dari satu lokasi ke lokasi lain, seperti jumlah orang dalam migrasi, jumlah barang yang diperdagangkan, atau jumlah paket dalam jaringan. Flowmap menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian, yang akan dijelaskan dalam tabel.

2.2.3.3. Entity Relationship Diagram (ERD)

ERD dikembangkan berdasarkan teori himpunan dalam bidang matematika. ERD digunakan untuk pemodelan basis data relasional. Sehingga jika penyimpanan basis data menggunakan OODBMS maka perancangan basis data tidak perlu menggunakan ERD. ERD memiliki beberapa aliran notasi seperti notasi chen (dikembangkan oleh Peter Chen), Barker (dikembangkan oleh Richard

Barker, Ian Palmer, Harry Ellis), notasi Crow’s Foot, dan beberapa notasi lain.

Namun yang banyak digunakan adalah notasi chen.

Pada model Entity-Relationship Diagram, semesta data yang ada di dunia nyata diterjemahkan/ditranformasikan dengan memanfaatkan sejumlah perangkat konseptual menjadi sebuah diagram data, yang umum disebut sebagai Diagram Entity-Relationship [6]. Berikut adalah simbol-simbol yang digunakan pada ERD dengan notasi chen:


(39)

Tabel 2.6. Simbol-simbol pada ERD

Simbol Deskripsi

Entitas / Entity Entitas merupakan data inti yang akan

disimpan; bakal tabel pada basis data; benda yang memiliki data dan harus disimpan datanya agar dapat diakses oleh aplikasi komputer; penamaan entitas biasanya lebih ke kata benda dan belum merupakan nama tabel

Atribut Field atau kolom data yang butuh

disimpan dalam suatu entitas

Atribut Kunci Primer Field atau kolom data yang butuh

disimpan dalam suatu entitas dan

digunakan sebagai kunci akses record

yang diinginkan; biasanya berupa id; kunci primer dapat lebih dari satu kolom, asalkan kombinasi dari beberapa kolom tersebut dapat bersifat unik (berbeda tanpa ada yang sama)

Atribut Multinilai / Multivalue Field atau kolom data yang butuh

disimpan dalam suatu entitas yang dapat memiliki nilai lebih dari satu

Relasi Relasi yang menghubungkan antar

entitas; biasanya diawali dengan kata kerja

Asosiasi / Association Penghubung antara relasi dan entitas

dimana di kedua ujungnya memiliki

multiplicity kemungkinan jumlah pemakaian

Kemungkinan jumlah maksimum

keterhubungan antara entitas satu dengan

entitas yang lain disebut dengan

kardinalitas.

ERD biasanya memiliki hubungan binary (satu relasi menghubungkan dua buah entitas). Beberapa metode perancangan ERD menoleransi hubungan relasi ternary (satu relasi menghubungkan tiga buah entitas) atau N-ary (satu relasi menghubungkan banyak entitas), tetapi banyak metode perancangan ERD yang tidak mengijinkan hubungan ternary atau N-ary.


(40)

2.2.3.4. Data Flow Diagram (DFD)

Data Flow Diagram (DFD) awalnya dikembangkan oleh Chris Gane dan Trish Sarson pada tahun 1979 yang termasuk dalam Structured System Analysis and Design Methodology (SSADM) yang ditulis oleh Chris Gane dan Trish Sarson [6].

Pada tahun 1980-an Edward Yourdon dan Tom Demarco memperkenalkan metode yang berbeda, dimana dengan mengubah persegi dengan sudut lengkung (pada DFD Chris Gane dan Trish Sarson) dengan lingkaran untuk menotasikan. DFD Edward Yourdon dan Tom Demarco popular digunakan sebagai model analisis sistem perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur.

Data Flow Diagram atau pemodelan aliran data adalah aktivitas pemodelan inti pada analisis terstruktur. DFD memperlihatkan gambaran tentang masukan-proses-keluaran dari suatu perangkat lunak. Yaitu, objek-objek data mengalir ke dalam perangkat lunak, kemudian objek-objek data itu akan ditransformasi oleh elemen-elemen pemrosesan, dan objek-objek data hasilnya akan mengalir keluar dari sistem/perangkat lunak.

DFD yang pertama (DFD peringkat 0 atau diagram konteks) menggambarkan sistem secara keseluruhan. DFD-DFD berikutnya sesungguhnya merupakan penghalusan dari diagram konteks, memberikan gambaran yang semakin rinci dari diagram konteks, dan hal ini akan berlanjut ke peringkat-peringkat selanjutnya [7].

DFD tidak sesuai untuk memodelkan sistem perangkat lunak yang akan dibangun menggunakan pemrograman berorientasi objek. Paradigma pemrograman terstruktur dan pemrograman berorientasi objek merupakan hal yang berbeda. Notasi-notasi pada DFD (Edward Yourdon dan Tom Demarco) adalah sebagai berikut: [6]


(41)

Tabel 2.7. Notasi-notasi pada DFD

Simbol Deskripsi

Proses atau fungsi atau prosedur; pada pemodelan perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur, maka pemodelan notasi inilah yang harusnya menjadi fungsi atau prosedur di dalam kode program.

File atau basisdata atau penyimpanan (storage); pada pemodelan perangkat lunak yang akan diimplementasikan dengan pemrograman terstruktur, maka pemodelan notasi inilah yang harusnya dibuat menjadi tabel-tabel basis data yang dibutuhkan, tabel-tabel ini juga harus sesuai dengan perancangan tabel-tabel

pada basis data (Entity Relationship

Diagram (ERD))

Entitas luar (external entity) atau masukan (input) atau keluaran (output) atau orang

yang memakai/berinteraksi dengan

perangkat lunak yang dimodelkan atau sistem lain yang terkait dengan aliran data dari sistem yang dimodelkan.

Aliran data; marupakan data yang dikirim antar proses, dari penyimpanan ke proses, atau dari proses ke masukan (input) atau keluaran (output).

Pada satu diagram DFD sebaiknya jumlah modul tidak boleh melebihi 20 buah. Jika lebih dari 20 buah modul, diagram akan terlihat rumit atau susah untuk dibaca sehingga menyebabkan sistem yang dikembangkan juga menjadi rumit [6].

2.2.4. Pengembangan Perangkat Lunak 2.2.4.1. Personal Home Page (PHP)

PHP adalah kombinasi antara bahasa pemograman dan aplikasi server [8]. PHP merupakan server-side scripting yang digunakan untuk membuat dan menjalankan aplikasi web server yang dinamis, interaktif dan mempunyai performasi tinggi. Aplikasi server adalah program yang terdiri atas teknik-teknik dalam satu paket yang meliputi :


(42)

1. Ketangguhan bahasa pemograman

2. Pengaksesan basis data ke media penyimpanan yang permanent. 3. Mendukung internet protocol, khususnya HTTP dan e-mail.

PHP mampu berhubungan dengan basis data dan dapat diintegrasikan dengan HTML. PHP dapat berjalan dalam web server yang berbeda dalam sistem operasi yang berbeda pula. PHP ditulis dalam bahasa C, sehingga sebagian besar sintak PHP mirip dengan C dan perl. Beberapa keuntungan menggunakan PHP adalah sebagai berikut :

1. Open source, semua source PHP tersedia.

2. PHP diterbitkan secara gratis, tidak ada biaya dalam mengimplementasikan.

3. Cross-platform, PHP dapat berjalan dalam sistem operasi Windows 98, Windows NT dan Macintosh.

4. PHP juga dapat berjalan pada server Microsoft Personal Web Server, IIS dan Aphace.

5. Embedded-html, karena itu PHP mudah dipelajari.

2.2.4.2. Database Management System (DBMS)

DBMS (Database Management System) adalah suatu system aplikasi yang digunakan untuk menyimpan, mengelola dan menampilkan data. suatu system aplikasi disebut DBMS jika memenuhi persyaratan minimal sebagai berikut:

a.Menyediakan fasilitas untuk mengelola akses data b.Mampu menangani integritas data

c.Mampu menangani akses data secara bersamaan d.Mampu menangani backup data


(43)

DBMS sudah mulai berkembang sejak tahun 1960an. Kemudian sekitar tahun 1970an mulai berkembang teknologi Relational DBMS yaitu DBMS berbasis relasional model. Relasional model pertama kali dikembangkan oleh Edgar J. Codd pada tahun 1970. Secara sederhana relasional dapat dipahami sebagai suatu model yang memandang data sebagai sekumpulan tabel yang saling terkait. Hampir semua DBMS komersial dan open source saat ini berbasis Relastional DBMS.

Pada tahun 1980an mulai berkembang Object Oriented DBMS (OODBMS). OODBMS berkembang seiring dengan perkembangan teknologi pemrograman berorientasi objek. Saat ini OODBMS juga cukup berkembang namun belum menggeser kepopuleran RDBMS.

MySQL adalah perangkat lunak DBMS atau server basis data yang dapat melayani banyak pengguna, dan dapat melakukan proses dalam waktu yang bersamaan (multi threaded). MySQL juga sangat cepat dan fleksibel dan dapat menyimpan data yang berkapasitas besar. Dalam perancangannya, MySQL mengutamakan kecepatan proses, ketangguhan dan kemudahan bagi penggunanya.

Pada saat ini MySQL adalah server basis data yang paling banyak diminati oleh banyak perusahaan di dunia. MySQL menyediakan lingkungan yang mudah dan efisien untuk menyimpan data dan mengakses basis data berkapasitas besar lebih cepat dari pada server basis data lainnya. Keuntungan lainnya adalah bahwa MySQL server tidak membutuhkan spesifikasi hardware yang mahal.

MySQL server memungkinkan membuat aplikasi client untuk mengakses dan memanipulasi data di server basis data melalui basis data provider. Keuntungan utama menggunakan MySQL server adalah mudah digunakan, berkecepatan tinggi dan membutuhkan sedikit memori serta tidak membutuhkan spesifikasi hardware yang mahal [7].


(44)

2.2.4.3. Dreamweaver

Macromedia Dreamweaver adalah program editor HTML professional untuk mendesain, mengkode dan mengembangkan situs, halaman web, serta aplikasi web. Tampilan fitur editing dalam Dreamweaver akan membantu dalam membuat sebuah halaman web tanpa harus menuliskan kode java script maupun HTML. Dreamweaver juga dapat membantu dalam membangun dinamik database untuk aplikasi web dengan menggunakan server seperti ASP, ASPNet, ColdFusion Markup Language (CFML), JSP dan PHP.

2.2.4.4. Web Browser

Browser web adalah software yang digunakan untuk menampilkan informasi dari server web. Software ini kini telah dikembangkan dengan menggunakan user interface grafis, sehingga pemakai dapat melakukan point dan click untuk pindah dokumen. Dapat dikatakan saat ini hanya ada 2 browser GUI yang popular, yaitu Intenet Explorer dan Netscape Navigator [9].

2.2.4.5. Jama PHP

Selain MATLAB, aplikasi matematis web based yang bisa digunakan untuk penghitungan SVD adalah JAMA. JAMA adalah singkatan dari Java Matrix. JAMA merupakan script php untuk perhitungan matriks kompleks. Class-class dari package JAMA akan sering digunakan dalam operasi matriks seperti perkalian matriks, transpose, dan inverse. Karena JAMA hanya merupakan script PHP bukan merupakan aplikasi maka kinerja server-pun tidak akan terlalu terbebani.


(45)

33

ada untuk mempermudah mengetahui kelemahan sistem yang sedang berjalan. Setelah itu akan dibahas mengenai perancangan sistem yang akan dikembangkan sebagai usulan sistem baru untuk memperbaiki sistem yang sudah ada sekaligus untuk memenuhi permintaan dari pihak SMP Negeri 1 Cimahi.

3.1. Analisis Sistem

Kegiatan analisis sistem adalah kegiatan untuk melihat sistem yang sudah berjalan, melihat bagian mana yang bagus dan tidak bagus dengan maksud untuk mengidentifikasikan permasalahan-permasalahan, kebutuhan-kebutuhan yang diharapkan dan kemudian mendokumentasikan kebutuhan yang akan dipenuhi sehingga dapat diusulkan perbaikan-perbaikan pada sistemnya. Di dalam analisis sistem terdapat analisis masalah, analisis sedang berjalan, spesifikasi kebutuhan perangkat lunak, analisis kebutuhan non-fungsional, analisis data, analisis kebutuhan fungsional, spesifikasi proses, dan kamus data DFD.

3.1.1. Analisis Masalah

Berdasarkan latar belakang masalah yang ada, yang menjadi titik permasalahan dalam penelitian ini adalah sebagai berikut :

1. Belum adanya ujian online berbentuk essay dan pengoreksian secara otomatis oleh sistem.

2. Pengoreksian soal essay dilakukan secara manual yang membutuhkan waktu yang tidak singkat dengan kemungkinan kesalahan dalam mengoreksi.

3.1.2. Analisis Sistem yang Sedang Berjalan

Berdasarkan hasil penelitian yang dilakukan di SMP Negeri 1 Cimahi, maka dapat digambarkan prosedur sistem ujian yang sedang berjalan kedalam bentuk flowmap diagram sebagai berikut:

1. Guru memberikan soal ujian kepada siswa. 2. Kemudian siswa mulai mengerjakan soal ujian.


(46)

3. Guru menyerahkan soal yang sudah dikerjakan.

4. Guru mengoreksi jawaban ujian yang sudah dikerjakan oleh siswa. 5. Hasil ujian siswa digandakan oleh guru sebagai arsip.

6. Siswa menerima hasil ujian.

Gambar 3.1. Flowmap sistem yang sedang berjalan Keterangan A1 = arsip hasil ujian siswa.


(47)

3.1.3. Analisis Metode/Algoritma

Sistem yang akan dikembangkan adalah sebuah sistem pengoreksian soal essay yang bertujuan untuk melakukan penilaian otomatis terhadap jawaban essay siswa. Pengoreksian essay yang dikembangkan hanya sebatas soal dengan jawaban definitif bukan opini ataupun deskriptif. Langkah yang ada dalam sistem antara lain:


(48)

Dimisalkan kunci jawaban guru adalah “Kemampuan mata untuk mencembungkan dan memipihkan lensa mata saat melihat objek” dan jawaban siswa adalah “Daya kemampuan mata untuk menebalkan dan memipihkan lensa mta saat melihat objek”. Berikut langkah-langkah pengoreksian soal essay :

1. Text prepocessing

Text processing merupakan langkah awal sebelum melakukan tahapan pencocokan string. Berikut langkah-langkahnya:

a.Case folding yaitu dengan menjadikan semua huruf baik kunci jawaban dan jawaban siswa menjadi huruf kecil terlebih dahulu.

b.Filtering yaitu penghapusan kata-kata umum pada kalimat kunci dan jawaban siswa yang berupa stopwords, seperti “dan”, “jika”, “adalah”,

”merupakan”, “namun”, “tetapi”, “yang” dan sebagainya dan juga

Gambar 3.3. subproses text preprocessing


(49)

hilangkan stoplist seperti tanda titik, tanda koma, tanda seru, dan sebagainya.

c.Tokenizing yaitu pemotongan string dalam teks berdasarkan kata yang menyusunnya dan disimpan dalam sebuah variable array.

2. Periksa kata pada kunci dengan jawaban menggunakan levenshtein

Penggunaan algoritma levenshtein adalah untuk menangani kesalahan penulisan salah satu kata oleh siswa. Disini jawaban siswa yang salah dalam penulisan diberikan toleransi jika jarak levenshtein <= 1, sehingga tidak disalahkan jawabannya.

Misalkan pada jawaban siswa “daya kemampuan mata untuk menebalkan dan memipihkan lensa mta saat melihat objek”, setelah melewati proses tokenizing dan masing-masing kata disimpan dalam suatu variabel array.

Kemudian untuk mengetahui jarak kedekatan antara bentuk kata pada array masukan (jawaban siswa) dengan bentuk kata pada array pattern (kunci jawaban) dilakukan proses algoritma levenshtein distance.

Berikut algoritma pencocokannya :

1. Cocokkan kata jawaban yang sudah diexplode (dipotong) dengan kata kunci yang sudah dipotong juga.

contoh: Kunci : kemampuan mata untuk mencembungkan dan memipihkan lensa mata saat melihat objek.

Jawaban: daya kemampuan mata untuk menebalkan dan memipihkan lensa mta saat melihat objek.

jika ditemukan kata yang tidak ada pada explode kunci, dihitung jaraknya terlebih dahulu ke masing-masing kata pada explodekunci. 2. jika jarak yang ditemukan = 1, maka kata tersebut dianggap benar

(sama dengan kata pada kunci jawaban guru).

3. jika jarak yang ditemukan > 1, maka kata tersebut dianggap salah. dan nilai dihitung untuk kata-kata yang benar saja.


(50)

Disini ditemukan string dengan nilai levenshtein 1 yaitu pada salah satu string jawaban siswa pada string ”mta” ( array_jawaban[8]) = “mta” ) yang akan dikomparasi dengan salah satu string kunci jawaban guru yaitu “mata”. Diasumsikan kata yang lain dalam kalimat sudah benar.

Berikut adalah proses pada algoritma levenshtein distance :

1) Buat matriks s[x], t[y] dimana s[x]= (panjangkunci+1) X t[y]= (panjangjawaban+1).

2) Inisialisasi s[x] pertama (0..i), dimana i = panjang kata “mata” 3) Inisialisasi t[y] pertama (0..j), dimana j = panjang kata “mta”

m a t a

0 1 2 3 4

m 1

t 2

a 3

Gambar 3.6 inisialisasi matriks (i+1) X (j+1)

4) Untuk u:=1 to x. 5) Untuk p:=1 to y.

6) Melakukan proses pencocokan dengan membandingkan setiap karakter

pada string “mata” dangan setiap karakter pada string “mta”. 7) Jika nilai i = 0, maka nilai cell [0,j] = j.

8) Jika nilai j = 0, maka nilai cell [i,0] = i. 9) Jika karakter s[u] = t[p] maka beri nilai 0. 10)Jika karakter s[u] ≠ t[p] maka beri nilai 1.

11)Tentukan nilai cell [x , y] dengan memasukkan nilai terkecil dari : a. Nilai cell [x-1 , y-1] + nilai


(51)

b. Nilai cell [x-1 , y] + 1 c. Nilai cell [x , y-1] + 1

m a t a

0 1 2 3 4

m 1 0

t 2 1

a 3 2

Gambar 3.7 Tabel matriks Levenshtein Distance iterasi (1,1), (1,2), (1,3)

m a t a

0 1 2 3 4

m 1 0 1

t 2 1 2

a 3 2 1

Gambar 3.8 Tabel matriks Levenshtein Distance iterasi (2,1), (2,2), (2,3)

m a t a

0 1 2 3 4

m 1 0 1 2

t 2 1 2 1

a 3 2 1 2


(52)

m a t a

0 1 2 3 4

m 1 0 1 2 3

t 2 1 2 1 2

a 3 2 1 2 1

Gambar 3.10 Tabel matriks Levenshtein Distance iterasi (4,1), (4,2), (4,3)

Dapat disimpulkan bahwa string “mata” dan “mta” memiliki jarak bernilai 1, yaitu transformasi berupa insertion atau penambahan karakter. Kemudian string

“mta” pada string jawaban siswa diganti dengan “mata” karena tidak memiliki jarak yang terlalu jauh.

3. Koreksi essay menggunakan Latent Semantic Analysis

Dalam penilaian digunakan algoritma Latent Semantic Analysis (LSA), Langkah-langkah kinerja algoritma LSA adalah sebagai berikut : Misalkan:

Kunci Jawaban :

kemampuan mata untuk mencembungkan dan memipihkan lensa mata saat melihat objek.

Jawaban :

1. kemampuan mata untuk mencembungkan atau memipihkan lensa mata 2. daya kemampuan mata untuk menebalkan dan memipihkan lensa mata saat

melihat objek


(53)

1. Ditentukan terlebih dahulu masing-masing query, yaitu query dari jawaban (D), query dari kunci jawaban (Q) dan gabungan keduanya (Queries).

Tabel 3.1. Tabel Query

Dokumen Term yang mewakili dokumen

Q kemampuan mata untuk mencembungkan memipihkan lensa mata

saat melihat objek

D1 kemampuan mata untuk mencembungkan memipihkan lensa mata

D2 daya kemampuan mata untuk menebalkan memipihkan lensa mata

saat melihat objek

D3 kemampuan mata untuk menebalkan memipihkan lensa

2. Dihitung nilai term frequency query jawaban dan query key jawaban terhadap queries. Jadi perhitungan term di query jawaban dan query key jawaban merujuk pada term yang terdapat dalam queries. Hasilnya direpresentasikan dalam matriks Am x n dimana m adalah banyaknya term dan n adalah banyaknya query key jawaban dan query jawaban, dimana n=1 merupakan query key jawaban

Tabel 3.2. Tabel terms-documents

Term Q D1 D2 D3

Daya 0 0 0 1

Kemampuan 1 1 1 1

lensa 1 1 1 1

mata 2 2 2 1

Mencembungkan 1 1 0 0

melihat 1 0 1 0

Menebalkan 0 0 1 1

Memipihkan 1 1 1 1

objek 1 0 1 0

Saat 1 0 1 0


(54)

Amxn =

Matriks U =

Matriks S =

Matriks VT =

Representasikan D1, D2, D3 ke dalam bentuk matriks :


(55)

A =

4. Reduce kolom matriks U dan S sesuai dengan nilai dimensi (k). Jika k bernilai 2 maka matriks U hanya memiliki 2 kolom, sedangkan matriks S memiliki 2 kolom dan 2 baris, selain itu isi matriks dihapus dan matriks V reduce menjadi 2 baris (karena baris-baris pada matriks V merupakan vektor-vektor yang mewakili dokumen-dokumen). Sehingga diperoleh A2 = U2S2V2T

A2 =

5. Membentuk vektor query qT yang dibentuk dengan cara yang sama dengan membentuk matriks A. Vektor query dipetakan ke dalam ruang berdimensi 2 dengan transformasi qTU2S2-1.


(56)

q

q

baris dari matriks V2 merupakan koordinat dari dokumen, sehingga Q = | 0,646 0,234 |

D1 = | 0,562 -0,661 | D2 = | 0,672 0,715 | D3 = | 0,483 -0,226 |

6. Dihitung nilai CoSim (Cosinus Similarity) dari matriks vektor masing-masing D terhadap Q.

D1 = = 0,4029

D2 = = 0,8920

D3 = = 0,7073

Dari ketiga nilai sudut kemiripan tersebut dapat disimpulkan bahwa urutan relevansi untuk dokumen dari yang paling relevan adalah dokumen ke-2, dokumen ke-3, dan dokumen ke-1.

Dokumen ke-2 merupakan dokumen paling relevan dengan query karena D2 memiliki nilai kosinus paling besar yang berarti memiliki nilai paling besar.

Kemudian hasil dari cosim diatas dikalikan dengan bobot dari soal untuk mendapatkan nilai dari jawaban siswa.


(57)

3.1.3.1. Pseudocode Sistem 1. Function Levenshtein

function levenshtein(input s,t :string)  integer DEKLARASI

m : s.length

n : t.length int[m][n] d : integer []

ALGORITMA: for i  0 to m do d[i, 0]  i for j  0 to n do d[0, j]  j endfor endfor

for j  1 to n do for i  1 to m do if s[i] = t[j] then d[i, j]  d[i-1, j-1] else

d[i, j]  minimum(d[i-1, j] + 1,d[i, j-1] + 1,d[i-1, j-1] + 1) endif

endfor endfor

return d[m, n]

2. Function PeriksaJarakString

function PeriksaJarakString(input Jawaban :string, array Kunci : string)  boolean

DEKLARASI

global : indeksKunciBenar jarakMin : 200;

function levenshtein(input s,t :string)  integer ALGORITMA:

for i  0 to count(stringKunci)do jarak = levenshtein(Jawaban, Kunci[i]) if (jarakMin > jarak) then

jarakMin = $jarak; indeksKunciBenar = $i endif


(58)

return true else

return false endif

3. Program pencocokan string

PROGRAM Cocokkan_Levenshtein

{ Program untuk menentukan jarak antar kata dalam kunci dan jawaban}

DEKLARASI

function PeriksaJarakString(input Jawaban :string, array Kunci : string)  boolean

explodeKunci=explode(" ",words) {tokenizing kunci} explodeJawaban=explode(" ",input) {tokenizing jawaban} jawabanDitemukan[] = array (count(explodeJawaban)) indeksKunciBenar = 0

ALGORITMA:

for i  0 to < count(explodeJawaban) do jawabanDitemukan[i] = false;

endfor

{Periksa setiap explode kunci dan explode jawaban} for i  0 to < count(explodeJawaban) do

for j  0 to < count(explodeKunci) do

{Jika explode jawaban ditemukan di kunci maka beri indeks jawaban ditemukan true}

if (explodeJawaban[i] == explodeKunci[j]) then jawabanDitemukan[i] = true

endif endfor endfor

{Untuk semua kata pada explode jawaban yang tidak ditemukan di kunci periksa dengan explode kunci}

for i  0 to < count(jawabanDitemukan) do indeksKunciBenar = i;

if (jawabanDitemukan[i] == false) then

kataBermaksudBenar = PeriksaJarakString(explodeJawaban[i], explodeKunci)

if (kataBermaksudBenar) then

explodeJawaban[i] = explodeKunci[indeksKunciBenar] endif

endif endfor


(59)

for (itemJawabanValid in explodeJawaban) do JawabanValid = itemJawabanValid;

endfor

4. Latent Semantic Analysis PROGRAM LSA

{pengoreksian essay dan pembobotan}

DEKLARASI kunci : string jawaban : string

ALGORITMA:

{tentukan kalimat ("jawaban" and "kunci") yang telah melewati pencocokkan kata dengan algoritma levenshtein. Dari 1 hingga 0-vector: vektor query}

query = rep(0, len) for (w in kalimat) do

query[temukan.row(w,data)] = 1 endfor

{hitung SVD untuk mendapatkan vektor dokumen} (U, V, D) = SVD(data)

{membuat vektor query}

query.vec = transpose(query) * U[,1:k] * inverse(diag(D[1:k]))

{kemudian bandingkan vektor query dengan vektor dokumen}

for (i in 1:nrow(U)) do

x<-cos.vec(query.vec, V[i,1:k]) if (x > threshold) then

write(i, x, names(DATA)[i]) endif

endfor

{definisikan cosinus vektor} cos.vec(A,B) = A . B / |A| |B|


(60)

3.1.4. Analisis Kebutuhan Non Fungsional

Pada analisa kebutuhan sistem non fungsional dijelaskan keadaan atau kondisi yang ada di SMP Negeri 1 Cimahi pada bagian ujian, diantaranya keadaan hardware, software, jaringan komputer serta user sebagai bahan analisa kekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yang akan diterapkan.

3.1.4.1. Analisis Perangkat Keras

Dalam implementasi sistem, diperlukan alat pendukung perangkat keras (hardware). Analisis perangkat keras dibutuhkan dari pihak SMP Negeri 1 Cimahi yang akan menerapkan LMS dengan pengembangan pada bagian ujian soal essay. Analisis perangkat keras yang ada di SMP Negeri 1 Cimahi adalah sebagai berikut:

a. Menggunakan processor intel Core i-3 2,6 GHz b. Menggunakan RAM 2 GB

c. Menggunakan VGA 256 MB d. Monitor dengan resolusi 1366 x 768 e. Tersedia hardisk 320 GB terpasang f. Koneksi internet 128 Kbps

g. LAN card 10/100 Mbps

h. Mouse, keyboard, dan monitor sebagai antarmuka.

Setelah dilakukan analisis perangkat keras maka disimpulkan bahwa perangkat keras yang ada di SMP Negeri 1 Cimahi sudah cukup memenuhi standar untuk penerapan aplikasi LMS yang akan dikembangkan.

3.1.4.2. Analisis Perangkat Lunak

Berdasarkan hasil pengamatan di SMP Negeri 1 Cimahi, maka dapat diketahui spesifikasi software yang ada, diantaranya sebagai berikut:

a. Windows 7 sebagai sistem operasi. b. Mozilla firefox sebagai web browser.


(61)

c. MySQL sebagai DBMS.

Setelah dilakukan analisis perangkat lunak maka disimpulkan bahwa perangkat lunak yang ada di SMP Negeri 1 Cimahi sudah memenuhi standar untuk penerapan aplikasi LMS yang akan dikembangkan.

3.1.4.3. Analisis Pengguna

Pengguna LMS yang dikembangkan adalah guru dan siswa. Berdasarkan hasil penelitian dan wawancara yang dilakukan pada salah satu guru dan siswa didapatkan informasi sebagai berikut:

1.Guru Mata Pelajaran

Nama : Wiwin Winiwidiawati NIP : 196705051994032010 Jabatan : Guru Mata Pelajaran Umur : 47 tahun

Sistem operasi yang pernah digunakan : Windows 98, ME, XP, 7 Software yang biasa digunakan : Microsoft Office, Mozilla Firefox

2.Siswa

Nama : Erlita Kusuma Wardani NISN :0010236577

Umur : 13 tahun

Sistem operasi yang biasa digunakan : Windows XP, 7, 8

Software yang biasa digunakan : Microsoft Office, Mozilla Firefox

Dilihat dari karakteristik pengguna yang ada, dapat diketahui bahwa pendidikan dan pengalaman user di bidang komputer sudah cukup memadai.

Untuk penerapan sistem yang sistem yang akan dikembangkan, disarankan pengguna memiliki karakteristik sebagai berikut:


(62)

Tabel 3.3. Karakteristik Pengguna

Nama Pengguna Hak Akses Kualifikasi

Guru

Mengelola data siswa,

menginputkan soal, membuat data komponen nilai ujian.

menguasai komputer, memiliki

pemahaman yang baik dalam mengelola

data web serta memiliki pengetahuan

tentang internet.

Siswa Melakukan ujian online. Mampu mengoperasikan komputer dan

dapat menggunakan browser.

Administrator

Mengelola data siswa, data mata pelajaran, data guru dan administrasi situs.

menguasai komputer, memiliki

pemahaman yang baik dalam mengelola

data web serta memiliki pengetahuan

tentang internet.

3.1.5. Entity Relationship Diagram

ERD menggambarkan hubungan antara objek data. ERD adalah notasi yang digunakan untuk melakukan aktifitas pemodelan data. ERD LMS dengan pengembangan di bagian ujian dan koreksi soal essay ini dapat digambarkan seperti pada gambar 3.11 dan 3.12:


(63)

(64)

(65)

Keterangan :

Guru {nip, nama_guru, alamat_guru, tlp_guru, foto_guru, email_guru, password}

Kelas {id_kelas, nama_kelas}

Materi {id_materi, judul_materi, tgl_materi, ket, kompetensi, pokok, indikator}

Nilai_Ujian {id_nilai_ujian, nilai, status} Pelajaran {id_pelajaran, nama_pelajaran}

Siswa {nis, nama_siswa, tlp, alamat_siswa, tpt_lahir, tgl_lahir, jk, foto, email_siswa, password}

Soal_ujian {id_soal_ujian, soal}

Subkelas {id_subkelas, nama_subkelas}


(1)

Tabel 4.28 Hasil Pengolahan Kuisioner Siswa Pertanyaan (2)

Jawaban Skor Jumlah

Responden

Jumlah Skor (Skor x Jumlah

Responden)

SS = Sangat Setuju 5 3 15

S = Setuju 4 27 108

BS = Biasa Saja 3 0 9

KS = Kurang Setuju 2 0 0

TS = Tidak Setuju 1 0 0

Total 123

Jika semua responden (30 orang responden) menjawab SS, maka skor ideal (kriterium) untuk seluruh item adalah 150 (diperoleh dari 5 x 30). Berdasarkan hasil perhitungan pertanyaan 2, jumlah skor yang diperoleh adalah 123. Jadi berdasarkan data tersebut, maka tingkat persetujuan responden terhadap pertanyaan nomor (2) adalah (123 : 150) x 100% = 82 % dari yang diharapkan (100%). Jadi berdasarkan pengolahan data secara kontimum dapat digambarkan sebagai berikut:

Tabel 4.29 Hasil Pengolahan Kuisioner Siswa Pertanyaan (3)

Jawaban Skor Jumlah

Responden

Jumlah Skor (Skor x Jumlah

Responden)

SS = Sangat Setuju 5 18 90

S = Setuju 4 9 36

BS = Biasa Saja 3 3 9

KS = Kurang Setuju 2 0 0

TS = Tidak Setuju 1 0 0

Total 135

Jika semua responden (30 orang responden) menjawab SS, maka skor ideal (kriterium) untuk seluruh item adalah 150 (diperoleh dari 5 x 30). Berdasarkan

123 150

120 90 60 30 SS S BS KS TS


(2)

114

hasil perhitungan pertanyaan 3, jumlah skor yang diperoleh adalah 135. Jadi berdasarkan data tersebut, maka tingkat persetujuan responden terhadap pertanyaan nomor (3) adalah (135 : 150) x 100% = 90 % dari yang diharapkan (100%). Jadi berdasarkan pengolahan data secara kontimum dapat digambarkan sebagai berikut:

Tabel 4.30 Hasil Pengolahan Kuisioner Siswa Pertanyaan (4)

Jawaban Skor Jumlah

Responden

Jumlah Skor (Skor x Jumlah

Responden)

SS = Sangat Setuju 5 6 30

S = Setuju 4 24 96

BS = Biasa Saja 3 3 9

KS = Kurang Setuju 2 0 0

TS = Tidak Setuju 1 0 0

Total 126

Jika semua responden (30 orang responden) menjawab SS, maka skor ideal (kriterium) untuk seluruh item adalah 150 (diperoleh dari 5 x 30). Berdasarkan hasil perhitungan pertanyaan 4, jumlah skor yang diperoleh adalah 126. Jadi berdasarkan data tersebut, maka tingkat persetujuan responden terhadap pertanyaan nomor (4) adalah (126: 150) x 100% = 84 % dari yang diharapkan (100%). Jadi berdasarkan pengolahan data secara kontimum dapat digambarkan sebagai berikut:

135 150

120 90 60 30 SS S BS KS TS

127 150

120 90 60 30 SS S BS KS TS


(3)

Tabel 4.31 Hasil Pengolahan Kuisioner Siswa Pertanyaan (5)

Jawaban Skor Jumlah

Responden

Jumlah Skor (Skor x Jumlah

Responden)

SS = Sangat Setuju 5 0 0

S = Setuju 4 24 96

BS = Biasa Saja 3 6 18

KS = Kurang Setuju 2 0 0

TS = Tidak Setuju 1 0 0

Total 114

Jika semua responden (30 orang responden) menjawab SS, maka skor ideal (kriterium) untuk seluruh item adalah 150 (diperoleh dari 5 x 30). Berdasarkan hasil perhitungan pertanyaan 5, jumlah skor yang diperoleh adalah 114. Jadi berdasarkan data tersebut, maka tingkat persetujuan responden terhadap pertanyaan nomor (5) adalah (114: 150) x 100% = 76 % dari yang diharapkan (100%). Jadi berdasarkan pengolahan data secara kontimum dapat digambarkan sebagai berikut:

114 150

120 90

60 30

SS S

BS KS


(4)

116

4.2.3.2. Kesimpulan Pengujian Beta

Berdasarkan hasil pengujian beta, dapat diambil kesimpulan bahwa :

1. Aplikasi Pengembangan LMS SMPN 1 ini dapat membantu dalam melakukan pengoreksian ujian essay.

2. Aplikasi Pengembangan LMS SMPN 1 Cimahi ini mudah dipelajari dan digunakan terutama pada bagian ujian online.

3. Aplikasi Pengembangan LMS SMPN 1 Cimahi ini dapat membantu dalam memperbaiki pola belajar mengajar.

4. Layanan yang disediakan oleh aplikasi Pengembangan LMS SMPN 1 Cimahi ini memberikan kemudahan komunikasi antara Guru dan Siswa. 5. Aplikasi Pengembangan LMS SMPN 1 Cimahi ini membantu proses

pembelajaran.

6. Monitoring pembelajaran siswa terbantu dengan adanya aplikasi Pengembangan LMS SMPN 1 Cimahi ini.


(5)

117

Pada bab ini akan dijelaskan tentang kesimpulan yang berisi hasil-hasil yang diperoleh setelah dilakukan analisis, desain, dan implementasi dari perancangan perangkat lunak yang dibangun dan telah dikembangkan serta saran-saran yang akan memberikan catatan penting dan kemungkinan perbaikan yang perlu dilakukan untuk pengembangan perangkat lunak selanjutnya.

5.1. Kesimpulan

Setelah melakukan analisis, perancangan, dan pengujian, maka dapat diperoleh kesimpulan sebagai berikut :

1. Aplikasi ini dapat membantu guru dalam memonitoring pembelajaran siswa.

2. Pengembangan aplikasi ini dapat membantu guru dalam mengoreksi ujian online siswa dan pemberian nilai siswa.

3. Perhitungan nilai ujian oleh sistem sudah mendekati pengoreksian secara manual yang dilakukan oleh guru.

5.2. Saran

Untuk pengembangan aplikasi Learning Management System ini, adapun saran untuk penelitian berikutnya agar penelitian ini dikembangkan dengan menggunakan metode lain selain Levenshtein Distance dan Latent Semantic Analysis dalam melakukan pengoreksian essay otomatis.


(6)

118