Metode dan Perancangan T1 672008156 Full text

5 Jika nilai-nilai singulir dari matriks S diurutkan berdasarkan nilainya, maka k nilai terbesar dapat tetap disimpan dalam matriks tersebut, dan nilai-nilai lain yang lebih kecil dapat diset menjadi nol. Jika baris dan kolom yang berkaitan pada matriks U dan V juga diset menjadi nol, maka hasil kali dari ketiga matrik ini akan membentuk matriks baru yang merupakan matriks least square approximation . Dengan menghapus elemen yang tidak menunjukkan arti, berarti menghapus noise yang berada pada vektor pada matriks. Sehingga vektor menjadi lebih pendek dan mengandung elemen yang sangat signifikan dengan data awal saja. Karena tujuan dari LSA bukanlah mendeskripsikan vektor secara verbal tetapi mampu untuk merepresentasikan term , dokumen dan menghasilkan query yang tidak ambigu dan beredundansi dengan sesama term , dimensi nilai k untuk mereduksi matrik bisa menggunakan dua atau tiga vektor saja [9]. 3. Pengukuran kemiripan similarity Salah satu pengukuran kemiripan similarity adalah dengan menghitung sudut antara dua vector yang bersangkutan, disini antara vector dari permintaan query dengan vector dokumen yang akan dinilai document . Adapun rumus yang digunakan yaitu rumus cosine similarity : Dimana: A : vektor A B : vektor B ||A|| : panjang vektor A ||B|| : panjang vektor B Antara vektor A d an B membentuk sudut α dimana cosinus dari sudut tersebut menunjukkan kemiripan similarity dari kedua sudut tersebut, bukan menunjukkan jarak distance antara vektor yang satu dengan yang lainnya.

3. Metode dan Perancangan

Metode Prototype Metode penelitian yang digunakan pada perancangan sistem ini adalah prototype . Model prototype merupakan suatu teknik untuk mengumpulkan informasi tertentu mengenai kebutuhan-kebutuhan informasi pengguna secara tepat. Pengguna kebutuhan seringkali menjelaskan sekumpulan sasaran umum perangkat lunak, namun tidak mengidentifikasikan kebutuhan input, proses atau output [10]. 6 Gambar 1 Tahapan-tahapan Metode Prototype [10] Ketiga proses pada gambar tersebut akan terus berlangsung hingga semua kebutuhan terpenuhi. Proses-proses yang terjadi dalam metode prototype dapat digambarkan, sebagai berikut : 1. Pengumpulan Kebutuhan Merupakan proses menganalisa kebutuhan yang terdapat pada permasalahan yang dihadapi, pengumpulan data, kemudian bagaimana membangun aplikasi dengan landasan-landasan teori yang ada. Berdasarkan dari penelitian terdahulu, data-data yang dibutuhkan untuk dapat menerapkan algoritma LSA dalam mengolah tes esai adalah kunci jawaban sebagai patokan, jawaban mahasiswa, list kata dasar, stopword list dan skor nilai untuk masing-masing soal. Sehingga nantinya akan diperoleh hasil similaritas antara kunci jawaban dengan jawaban mahasiswa. 2. Perancangan Sistem Pada tahap ini dilakukan pembuatan desain sistem berdasarkan kebutuhan yang telah dikumpulkan pada tahap pertama. Pembuatan desain dilakukan agar prototype yang nantinya dibuat, dapat menjawab atau memenuhi kebutuhan yang ada. Dengan adanya desain yang jelas maka permbuatan prototype akan lebih terarah. Tahapan ini merupakan proses pembuatan yang meliputi pembuatan UML atau yang lebih spesifik lagi yaitu use case diagram , activity diagram , sequence diagram , dan class diagram . Kemudian setelah UML selesai dibuat maka tahap selanjutnya adalah pembuatan desain antarmuka. Pada tahap ini prototype memang tidak langsung akan menjadi sempurna sesuai dengan apa yang diinginkan, tetapi dengan adanya pengujian dan evaluasi di tahap berikutnya dan beberapa kali pengulangan, prototype akan dapat menjawab kebutuhan. 3. Uji Coba Proses selanjutnya adalah proses uji coba yang dilakukan untuk mengetahui apakah sistem yang ada sudah sesuai dengan kebutuhan. Apabila sistem belum memenuhi permintaan maka proses akan berulang ke tahap pertama yaitu pengumpulan kebutuhan dan selanjutnya melakukan perubahan rancangan sistem lalu di uji coba lagi. Begitu seterusnya hingga permasalahan terpecahkan. 7 Perancangan Sistem 4. Hasil dan Pembahasan Pembahasan Aplikasi 1. Halaman Login Tampilan awal dari sistem tes online adalah halaman login . Halaman login ini meliputi login untuk mahasiswa, dosen dan administrator. Gambar 7 Halaman Login Pada Gambar 7 user diharuskan memasukkan id dan password yang valid. Setelah user memasukkan id dan password yang valid, maka sistem akan menampilkan halaman utama. 2. Halaman Pengerjaan Tes Halaman ini adalah halaman yang menampilkan form pengerjaan tes yang hanya bisa diakses oleh mahasiswa. Gambar 8 Halaman Pengerjaan Tes Pada Gambar 8 mahasiswa dapat melihat soal-soal yang ada dalam tes yang sedang dikerjakan dan dapat menginputkan jawaban sesuai dengan soal yang ada. Setiap tes yang ada memiliki batasan lama pengerjaan sesuai dengan kriteria yang telah ditentukan oleh dosen pengampu. Lama pengerjaan tes dapat dilihat dibagian pojok kanan sebagai pengingat mahasiswa. Ketika waktu pengerjaan telah habis, halaman ini akan secara otomatis menyimpan jawaban mahasiswa. Mahasiswa tidak dapat mengerjakan tes yang sama lebih dari sekali. 3. Halaman Pembuatan Tes 8 Halaman ini merupakan halaman yang hanya bisa diakses oleh dosen pengampu. Halaman ini menampilkan form yang dapat diisi oleh dosen pengampu untuk membuat tes matakuliah baru. Gambar 9 Halaman Pembuatan Tes Pada Gambar 9 dosen dapat menginputkan data-data yang dibutuhkan untuk membuat tes baru seperti nama tes, tanggal tes dilaksanakan, rentang waktu tes dapat diakses, mata kuliah, lama pengerjaan tes, jumlah soal yang dikeluarkan dalam tes, sola-soal yang akan dikeluarkan, kunci jawaban untuk setiap soal, menambahkan gambar jika diperlukan dan skor untuk tiap-tiap soal yang ada. Implementasi Algoritma LSA 1. Parsing Text Parsing text merupakan tahapan pertama dalam algoritma LSA. Pada tahapan ini jawaban soal dari mahasiswa melakukan proses tokenizing yaitu proses pengidentifikasian term-term dengan menghilangkan tanda baca, spasi dan enter. Setelah itu akan melakukan proses filtering dimana term-term yang dihasilkan dari proses pertama akan diseleksi dari term yang dianggap tidak penting atau yang biasa disebut dengan stopword . Kemudian akan dilakukan penghilangan imbuhan pada term tersebut sehingga menghasilkan kata dasar. Kode Program 1 menjelaskan tentang fungsi untuk proses parsing text menggunakan algoritma Nazief dan Adriani. Kode Program 1 Perintah untuk memparsing teks 9 2. Sinonim kata Setelah proses parsing text selesai dilakukan proses selanjutnya adalah melakukan pencarian sinonim kata, sehingga kata-kata yang digunakan sebagai kata kunci tidak terlalu luas. Kode Program 2 Perintah untuk sinonim kata 3. Pembobotan dengan TF-IDF Setelah proses sinonim kata selesai dilakukan proses selanjutnya adalah melakukan pembobotan kata menggunakan algoritma TF-IDF. Kode Program 3 Perintah untuk menghitung pembobotan kata TF-IDF Kode program 3 menjelaskan tentang fungsi algoritma TF-IDF yaitu perkalian antara TF yang merupakan frekuensi kemunculan term pada kalimat 1. fort = 0;t countdf;t++{ 2. ford = 0; d countdata; d++{ 3. tfidf[d][t] = rounddata[d][t] 4. log10countdata df[t]+1, 4; 5. } 6. } 1. function stemmingkata{ 2. teks = strtolowerkata; 3. pre = new Preprocessing; 4. teks = pre-tokenTextteks; 5. teks = pre-removeStopword; 6. teks = pre-text; 7. tok = strtokteks, \n\t; 8. i=0; a=array; 9. while tok == false { 10. teks = Enhanced_CStrimtok; 11. a[i]=teks; 12. i++; 13. tok = strtok \n\t; 14. } return a; 15. } 1. function ceksinonimkata{ 2. query = select from sinonim where kata_1 = .kata.; 3. result = mysql_queryquery or diemysql_error; 4. id=0; 5. whilerow = mysql_fetch_arrayresult{ 6. hasil[id] = row[kata_2]; 7. id++; 8. } 9. return hasil; 10. } 11. sin=array; 12. fori=0;icounth[0];i++{ 13. sin=ceksinonimh[0][i]; 14. form=0;mcountsin;m++{ 15. forj=1;jcounth;j++{ 16. fork=0;kcounth[j];k++{ 17. ifsin[m]==h[j][k]{ 18. h[j][k]=h[0][i]; 19. }}}}} 10 dengan IDF yaitu log hasil pembagian jumlah seluruh dokumen dengan jumlah dokumen yang mengandung term. 4. Singular Value Decomposition SVD Proses selanjutnya adalah SVD yaitu proses mendekomposisikan suatu matrik menjadi tiga komponen matrik. Kode Program 4 Perintah untuk menghitung SVD Kode program 4 menjelaskan fungsi SVD dari matrik A menjadi tiga komponen matrik U,S dan V. Dijelaskan juga kode program untuk melakukan aproksimasi matrik S dan V dengan dimensi k = 2. Dimana matrik S merupakan matrik nilai singulir dan matrik V merupakan matrik singular kanan dari matrik A. Perkalian dari kedua matrik V dan S merepresentasikan koordinat dokumen pada semantic space . 5. Cosine Similarity Langkah terakhir dari algoritma LSA adalah pengukuran kemiripan antar dokumen menggunakan cosine similarity . Kode Program 5 Perintah untuk menghitung similaritas antar dua dokumen 1. function dotProducta, b{ 2. dotProduct = 0; 3. n = counta; 4. fori = 0 ; in; i++{ 5. dotProduct += a[i]b[i]; 6. } 7. return rounddotProduct,4; 8. } 9. function lengtha{ 10. length = 0; 11. n = counta; 12. fori = 0; in; i++{ 13. length += a[i]a[i]; 14. } 15. return roundsqrtlength,4; 16. } 17. function cosinusa,b{ 18. return absrounddotProducta,blengthalengthb,3; 19. } 1. A = new Matrixtfidf; 2. A = A - transpose; 3. SVD = A - svd; 4. S = SVD - getS; V = SVD - getV; 5. aproksimasi matrix S dan V dengan k = 2 6. S1 = S-getArray; 7. fori=0;i2;i++{ 8. forj=0;j2;j++{ 9. So[i][j]=S1[i][j]; 10. } 11. } 12. S2 = new MatrixSo; S2 merupakan aproksimasi matriks S 13. V1 = V-getArray; 14. fori=0;i2;i++{ 15. forj=0;jcountV1[0];j++{ 16. Vo[i][j]=V1[i][j]; 17. } 18. } 19. V2 = new MatrixVo; V2 merupakan aproksimasi matriks V 20. At = V2 - timesS2; 11 Kode program 5 menjelaskan fungsi dari cosine simlarity yaitu perkalian vector a dengan vector b dibagi dengan perkalian length vector a dengan length vector b. Setelah proses ini dilakukan akan menghasilkan nilai similaritas kedua dokumen yang kemudian akan dikalikan dengan skor yang dimiliki oleh soal tersebut. Pengujian Aplikasi Pada bagian ini dilakukan pengujian terhadap aplikasi yang telah dibangun. Pengujian ini dilakukan untuk mengetahui sejauh mana aplikasi ini dapat berjalan dan apa saja kekurangan dari aplikasi ini. Ujicoba dilakukan dengan 5 peserta dengan 30 soal esai. Tabel 4 Hasil nilai peserta human raters Peserta soal 1 2 3 4 5 1 10 7 2 4 10 2 8 2 8 3 5 3 6 2 10 3 10 4 10 2 10 8 10 5 10 10 6 10 10 6 10 4 10 6 10 7 10 8 10 10 10 8 6 10 10 8 10 9 10 6 4 10 10 10 10 10 10 11 10 10 10 12 10 10 10 10 10 13 10 10 10 10 10 14 10 10 10 10 10 15 6 10 10 10 6 16 6 10 10 10 6 17 10 10 10 10 10 18 5 10 10 10 5 19 5 10 10 10 5 20 10 21 5 10 10 5 22 2 10 10 23 10 10 10 10 24 10 10 25 10 10 10 10 26 10 10 10 10 10 27 10 10 10 10 10 28 10 8 4 10 6 12 29 10 10 10 10 10 30 10 10 10 10 10 SUM 1172 Tabel 5 Hasil nilai menggunakan aplikasi Peserta soal 1 2 3 4 5 1 6 6.8 7.5 2 10 10 10 3 10 10 10 4 10 7.7 3.8 1.9 3.4 5 10 6.2 9.5 8.9 6 6 8 6.8 7.1 6.9 8.3 7 9.3 4.8 9.8 9.8 9.5 8 9.4 6 9.8 9.9 9.5 9 7.9 8.6 9.5 9.5 10 7.2 10 9.8 11 8 10 10 12 9.6 7.2 8.4 9.8 7.5 13 9.9 7.4 7.5 9.8 6.7 14 10 5.2 5.1 9.9 9.4 15 3.8 8.6 10 9.7 5.6 16 4.2 8.1 10 9.6 6.5 17 9.5 9.2 7.8 9.2 6.4 18 3.9 9.1 8.8 8.6 3.9 19 10 4.6 9.6 8.7 10 20 6.4 3.9 5.8 5.4 6.4 21 5 10 8 7.6 22 0.2 8.4 9.9 9.3 0.4 23 6.5 8.2 8 9.3 5.1 24 6.5 5.8 9.5 8.8 4.8 25 5 9.9 10 10 0.1 26 6.7 9.3 9.8 9.3 5.2 27 6.9 10 9.4 9.2 6.5 28 8 10 9.3 9 6.5 29 2.7 8.4 9.2 9.4 2.1 30 6.2 10 10 9.8 5.6 SUM 1074.6 Standar deviasi digunakan untuk mengamati perubahan nilai kenaikan dan nilai penurunan vriabel atau data dari rata-ratanya. Semakin kecil standar deviasi 13 semakin kecil pula perubahan variabel dari rata-ratanya dan sebaliknya. Standar deviasi didapat dari: � − � 2 � − 1 Dimana : x = data ke-n � = nilai rata-rata n = banyaknya data Dari tabel 4.1 dan 4.2 diperoleh standar deviasi untuk hasil nilai human raters sebesar 3.48 dan untuk hasil nilai menggunakan LSA sebesar 3.08. Mean Squared Error MSE berfungsi untuk membandingkan ketepatan dua atau lebih metode yang berbeda, sebagai alat ukur apakah teknik yang diambil dapa dipercaya atau tidak dan membantu mencari sebuah metode yang optimal. ��� = 1 � � � − � � 2 � �=1 Dimana: � � = nilai aktual waktu ke-t � � = nilai ramalan waktu ke-t Dari rumus tersebut diperoleh MSE sebesar 10,12.

5. Simpulan