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