1 BAB III METODOLOGI PENELITIAN 3.1. Kerangka Pikir Penelitian ini dimulai dari acuan referensi jurnal yang dilakukan oleh Yu dan kawan kawan (2011) d...
Kerangka Pikir Penelitian ini dimulai dari acuan referensi jurnal yang dilakukan oleh Yu dan kawan – kawan (2011) di dalam jurnal yang berjudul “A Linked Data – Driven & Service – Oriented Architecture for Sharing Educational Resources” yang mana aplikasi yang dirancang yaitu Metamorphosis+ menggunakan konsep linked data – driven untuk menggabungkan berbagai repository pendidikan yang berbeda – beda dalam satu format yaitu RDF. Aplikasi Metamorphosis+ sendiri dirancang dengan tujuan untuk menyediakan materi – materi pendidikan yang berhubungan dengan ilmu kesehatan. Dari acuan tersebut, timbul ide penulis untuk merancang aplikasi OERI yang mana hanya merujuk ke database (repository) yang spesifik ke domain pendidikan untuk bidang matematika untuk tingkat perguruan tinggi.Aplikasi OERI ini menggunakan
3
repository
pendidikan
yaitu
DBPedia,
Ariadne
dan
OpenLearn.Aplikasi OERI ini kemudian akan dipasang sebagai plugin / blocks di moodle untuk dipakai oleh user yang bersangkutan. User bisa berupa instruktur (pengajar) dan murid. Kemudian dari aplikasi tersebut, akan dianalisa secara detail bagaimana cara kerja sistem tersebut dan bagaimana pemasangannya di dalam moodle. Analisis yang akan dilakukan adalah: 1. Analisis sistem, yang mana dalam analisis ini akan dijelaskan bagaimana cara pemasangan di dalam aplikasi moodle dan bagaimana validasi user akan dilakukan.
41
42
2. Analisis terhadap kata kunci yang akan diolah untuk pencarian layanan metadata di dalam 3 repository pendidikan, yaitu DBPedia, Ariadne dan OpenLearn. 3. Analisis Query SPARQL untuk menganalisa keakuratan dari suatu query dan bagaimana optimisasi pada query dilakukan. Kemudian setelah ketiga analisis tersebut dilakukan, maka yang menjadi researchquestion di dalam penelitian ini akan dijawab dengan menggunakan pengukuran penelitian yang digunakan di dalam penelitian ini, yaitu pengukuran precision untuk masing – masing query di dalam 3 repository pendidikan tersebut. Hasil precision tersebut yang akan menentukan seberapa akurat keseluruhan dokumen yang dihasilkan dari masing – masing repository tersebut, seberapa banyak dokumen yang dihasillkan dari masing – masing repository, dan seberapa banyak tipe – tipe dokumen yang dihasilkan untuk masing – masing repository. Perbandingan hasil dari masing – masing repositoryakan dianalisis untuk menjawab research question yang ada.
43 Latar Belakang: Inovasi dari referensi jurnal sebelumnya yang mana kemudian dijadikan acuan untuk merancang aplikasi OERI yang fokus kepada bidang matematika untuk tingkat perkuliahan. Perancangan Aplikasi OERI: Aplikasi Online Educational Resource Integration yang menggunakan 3 repository pendidikan dan akan dipasang sebagai plugin di Moodle.
Analisis Sistem: Pemasangan di dalam aplikasi Moodle dan validasi user.
Analisis Kata Kunci: Pencarian ke dalam 3 repository pendidikan.
Analisis Query: Keakuratan dan optimisasi query
Research Question: “Bagaimana perbandingan dari ketiga repository diatas di dalam menghasilkan dokumen – dokumen yang cocok dengan query yang diinginkan”
Pengukuran Penelitian: Pengukuran precision untuk membandingkan hasil query dari masing – masing repository
Analisis Hasil Pengukuran: Menganalisa keseluruhan hasil perbandingan untuk menjawab research question
Kesimpulan dan Saran: Kesimpulan dari keseluruhan penelitian dan saran perbaikan penelitian ke depannya.
Gambar 3.1. Kerangka Pikir Penelitian
44
3.2.
Perancangan Aplikasi OERI Aplikasi OERI dirancang dengan menggunakan teknik SOA (Service – Oriented Architecture), yang mana keseluruhan metadata pendidikan yang dicari merupakan servis dari ketiga repository pendidikan yang digunakan di dalam penelitian ini, yaitu DBPedia, Ariadne dan OpenLearn.Perancangan aplikasi ini bertujuan untuk supaya pencarian bisa lebih spesifik ke arah domain pendidikan. Aplikasi ini nantinya akan digunakan oleh Moodle sebagai plugin. Pada bagian ini, analisis keseluruhan kinerja sistem akan dikupas. Mulai dari analisis sistem, analisis kata kunci dan analisis query.
3.2.1. Analisis Sistem Aplikasi OERI dirancang dengan menggunakan platform .NET.Menggunakan framework DotNetRDF, Aplikasi ini menggunakan format RDF sebagai format standar untuk mengambil layanan metadata di dalam repository pendidikan. Tiga repository pendidikan yang disediakan di dalam penelitian ini, menghasilkan format XML yang berbeda – beda. Ketiga format XML yang berbeda tersebut nantinya kemudian akan diintegrasikan untuk membentuk satu format RDF menggunakan linked data – driven. Untuk lebih jelasnya, penjelasan tersebut akan lebih dipaparkan lagi pada bagian analisis query. Berikut merupakan rancangan aplikasi OERI untuk halaman depan dan halaman hasil.
45
Gambar 3.2. Halaman Depan Aplikasi OERI
Gambar 3.3. Halaman Hasil Aplikasi OERI
46
Halaman depan mempunyai dua rancangan input dan satu tombol. Dua rancangan input tersebut adalah : 1. Input untuk subjek yang akan dicari, misalnya matematika, fisika , kimia, Indonesia, dan lain sebagainya. 2. Input untuk topik yang akan dicari, misalnya aljabar, bidang, suku bilangan, hukum Newton, dan lain sebagainya. Untuk tombolnya sendiri terdiri dari tombol pencarian, yang mana jika tombol tersebut ditekan maka halaman akan diahlihkan ke halaman hasil yang akan memproses sesuai dengan kata kunci yang dimasukkan. Di dalam halaman hasil, juga terdapat dua rancangan input dan satu tombol, sama seperti yang terdapat di dalam halaman utama aplikasi OERI. Hanya saja, di dalam halaman hasil, juga termasuk didalamnya adalah hasil pencarian layanan metadata di tiga repository pendidikan. Format output dari hasil pencarian tersebut adalah berupa link dan deskrispsi. Seperti yang diutarakan penulis sebelumnya, bahwa aplikasi ini akan dipasang di dalam aplikasi moodle. Oleh karena itu, supaya moodle dapat menggunakan aplikasi OERI ini dengan baik, maka diperlukan adanya pemasangan plugin / block. Untuk mendefinisikan block tersebut, maka pada dasarnya harus menyediakan tiga buah file berextension .php: •
/blocks/simplehtml/block_simplehtml.php File ini akan mendefinisikan definisi utama dari suatu blok, dan digunakan untuk mengaturnya
sebagai
plugin
dan
menampilkan
ke
sistem.
File
47
block_simplehtml.php harus disimpan di dalam direktori /blocks/simplehtml dengan coding sebagai berikut. title= get_string('OERI','block_OERI'); }
Parameter pertama “OERI” merupakan judul plugins, sedangkan parameter kedua yaitu “block_OERI” merupakan nama file plugins. •
/blocks/simplehtml/version.php File ini akan menyimpan informasi versi tentang plugin yang dipasang, bersama dnegan parameter. File version.php harus disimpan di dalam direktori /blocks/simplehtml dengan coding sebagai berikut. version=2011062800;// YYYYMMDDHH (year, month, day, 24-hr time) $plugin->requires=2010112400;// YYYYMMDDHH (This is the release version for Moodle 2.0) ?>
•
/blocks/simplehtml/lang/en/block_simplehtml.php File ini merupakan manajemen bahasa untuk plugin yang akan dipasang. Semua file bahasa yang mendukung plugin disimpan ke dalam subfolder /lang didalam folder instalasi plugin. File bahasa block_simplehtml.php harus disimpan di dalam direktori /blocks/simplehtml dengan coding sebagai berikut.
48
Untuk menampilkan plugin dengan fitur – fitur kontrol dari HTML maka diperlukan adanya tambahan coding sebagai berikut. publicfunction get_content(){ if($this->content!==null){ return$this->content; }
Dengan tambahan konten tersebut, maka hasilnya sudah bisa
dipasang ke dalam moodle dan bisa ditambahkan ke modul.Untuk memasangnya pilih menu site administration, notifications.
Gambar 3.4. Pemilihan Menu Notifications Sesudah itu berikan centang untuk memasangkan plugin di halaman depan, setelah itu tekan save changes.
50
Gambar 3.5. Pemasangan Plugin di Halaman Depan Moodle
Sesudah melakukan pemasangan, maka akan tampak di halaman depan seperti Gambar 3.6.
Gambar 3.6. Tampilan Plugin
Setelah terpasang di aplikasi Moodle, maka user yang bersangkutan baik itu instruktur ataupun murid sudah bisa menggunakan aplikasi ini.
51
Cara kerja sistem ini dimulai dari validasi username, password dan role baik itu instruktur ataupun murid.Username, password dan role tersebut divalidasi berdasarkan kecocokan data di dalam database SQL Server dengan spesifikasi sebagai berikut.
Tabel 3.1. Tabel Spesifikasi Validasi User
Satu saja data yang tidak cocok, maka halaman tidak akan diahlihkan ke halaman utama dari aplikasi OERI, melainkan tetap akan berada di halaman aplikasi moodle. Ketika data semua cocok dengan yang ada di dalam database, maka halaman akan diahlihkan ke halaman utama dari aplikasi OERI. Untuk membedakan user, maka di URL, penulis menambahkan parameter tambahan apakah role tersebut adalah instruktur atau murid.
52
Gambar 3.7. Penambahan Parameter Tambahan di URL
Penambahan
dilakukan
dengan
menambahkan
role=instructor&user=endrianus. Apabila sudah masuk ke halaman tersebut, maka user yang bersangkutan bisa mencari sumber data pembelajaran di tiga repository pendidikan dengan input kata kunci yang dimasukkan. Apabila user ingin kembali ke halaman Moodle, maka user tinggal menekan link logout yang ada pada halaman utama dan halaman hasil dari aplikasi OERI. Kenapa dilakukan validasi user ?karenauser yang berbeda – beda menjalankan proses yang berbeda – beda. Maksudnya, ketika di dalam pencarian metadata pendidikan. Instruktur melakukan proses pencarian query di dalam tiga repository pendidikan, sedangkan murid melakukan proses pencarian query di dalam database
53
lokal. Instruktur yang melakukan proses pencarian query di dalam tiga repository pendidikan mempunyai fitur untuk menyimpan berbagai layanan yang dipilih oleh instruktur itu sendiri ke dalam database lokal dengan spesifikasi sebagai berikut.
Tabel 3.2. Tabel Spesifikasi Penyimpanan Layanan Metadata Pendidikan
Oleh karena itu, di dalam halaman hasil dari aplikasi OERI tersebut untuk role instruktur juga mempunyai fitur untuk mencentang hasil dari layanan metadata yang dihasilkan.Centangan
tersebut
berdasarkan
kecocokan
dari
instruktur
itu
sendiri.Apabila semua sudah dicentang, maka instruktur menekan tombol save untuk menyimpan hasil dari centangan layanan metadata pendidikan tersebut. Selanjutnya, murid yang mempunyai role yang berbeda dengan instruktur, melakukan pencarian langsung ke dalam database lokal yang mana hasil penyimpanan centangan sebelumnya dari instruktur sudah tersimpan. Untuk lebih jelasnya, keseluruhan proses di atas bisa digambarkan ke dalam bentuk flowchart seperti berikut.
54 Start
OERI
Moodle
Input username, password dan role
Input kata kunci
Validasi username, password dan role
Role?
I
Proses kata kunci di tiga repository pendidikan
S Y
Hasil
Proses kata kunci di dalam database lokal
Valid?
T Hasil
Pemilihan kecocokan layanan metadata pendidikan
Penyimpanan ke dalam database lokal
Stop
Gambar 3.8.Flowchart Keseluruhan Sistem
55
3.2.2. Analisis Kata Kunci Kata kunci yang digunakan dalam penelitian ini menggunakan bahasa Inggris. Di awal tadi, penulis sudah menjelaskan bahwasannya ada dua input yang digunakan, yaitu subjek dan topik. Subjek dan topik tersebut merupakan kata kunci yang diproses oleh query nantinya, dengan syarat – syarat seperti berikut: 1. Apabila hanya input subjek, maka itu adalah kata kunci yang fokus kepada subjek yang diinput. 2. Apabila hanya input topik, maka itu adalah kata kunci yang fokus kepada topik yang diinput. 3. Apabila input subjek dan topik, maka itu adalah kata kunci yang fokus kepada gabungan subjek dan topik yang diinput. Setiap kata kunci yang diinput, itu akan divalidasi sehingga hanya boleh berupa huruf dan angka saja. Diluar dari validasi itu, maka field tersebut tidak akan bisa diisi. Setelah kata kunci yang diinginkan sudah terisi, maka pertanyaan selanjutnya adalah bagaimana kata kunci tersebut diproses. Kata Kunci
Kata
Kalimat
Case Sensitive
Gambar 3.9. Proses Pengolahan Kata Kunci
56
Gambar 3.9.menunjukkan bagaimana kata kunci tersebut diproses. Setiap kata kunci yang diinput itu akan diproses sebagai satu kalimat atau satu kata, dengan ketentuan: 1. Kalau tidak lebih dari satu kata, maka akan dianggap sebagai satu kata. 2. Kalau lebih dari satu kata, maka akan dianggap sebagai satu kalimat. Ketentuan diatas berlaku untuk masing - masing kata kunci subjek ataupun topik ataupun gabungan subjek dan topic.Apabila subjek diisi oleh satu kata atau lebih, atau apabila topik diisi oleh satu kata atau lebih atau apabila gabungan dari subjek dan topik diisi oleh satu kata atau lebih. Untuk setiap satu kata yang diproses menjadi sebuah kata kunci, satu kata tersebut di belakangnya akan ditambahkan tanda “;”. Untuk setiap satu kalimat yang diproses menjadi sebuah kata kunci, setiap spasi putih yang menjadi pemisah antara kata per kata juga ditambahkan tanda “;”. Untuk setiap satu kata ataupun satu kalimat yang diproses, huruf pertama di awal setiap kata ataupun setiap kalimat diberikan huruf besar. Proses keseluruhan adalah sebagai berikut: 1. Setiap kata yang diproses menjadi kata kunci, misalnya mathematics, maka huruf pertama dari kata mathematics harus diberikan huruf besar dan dibelakangnya diberikan tanda “;”. Hasilnya adalah Mathematics;. Setelah itu, kata kunci tersebut selanjutnya diproses ke bagian query untuk mencari query yang cocok sesuai dengan kata kunci di tiga repository pendidikan. Misalnya, untuk repository DBPedia dengan query sebagai berikut.
57 SELECT ?Links WHERE { { ?Links } UNION { ?Links } }
Tanda “;” dari kata Mathematics;dibuang dan kemudian diproses melalui query tersebut diatas. 2. Setiap kalimat yang diproses menjadi kata kunci, misalnya mathematics calculus, maka ada beberapa proses yang dijalankan, yaitu sebagai berikut: a. Huruf pertama dari kalimat mathematics calculus harus diberikan huruf besar dan
pemisah
antar
kata
diberikan
tanda
“;”.
Hasilnya
adalah
Mathematics;calculus. Setelah itu, kata kunci tersebut selanjutnya diproses ke bagian query untuk mencari query yang cocok sesuai dengan kata kunci di tiga repository pendidikan. Kata kunci yang diproses tersebut kemudian menggantikan tanda “;” menjadi “_”. Misalnya, untuk repository DBPedia dengan query sebagai berikut. SELECT ?Links WHERE { { ?Links } UNION { ?Links } }
b. Huruf pertama dari kata mathematics harus diberikan huruf besar dan pemisah antar kata diberikan tanda “;”. Hasilnya adalah Mathematics;. Setelah itu, kata kunci tersebut selanjutnya diproses ke bagian query untuk mencari query yang
58
cocok sesuai dengan kata kunci di tiga repository pendidikan. Misalnya, untuk repository DBPedia dengan query sebagai berikut. SELECT ?Links WHERE { { ?Links } UNION { ?Links } }
Tanda “;” dari kata Mathematics;dibuang dan kemudian diproses melalui query tersebut diatas. c. Huruf pertama dari kata calculus harus diberikan huruf besar dan pemisah antar kata diberikan tanda “;”. Hasilnya adalah Calculus;. Setelah itu, kata kunci tersebut selanjutnya diproses ke bagian query untuk mencari query yang cocok sesuai dengan kata kunci di tiga repository pendidikan. Misalnya, untuk repository DBPedia dengan query sebagai berikut. SELECT ?Links WHERE { { ?Links } UNION { ?Links } }
Tanda “;” dari kata Calculus;dibuang dan kemudian diproses melalui query tersebut diatas. Ketiga proses diatas diintegrasikan ke dalam satu proses dengan tujuan untuk menghasilkan hasil query yang lebih banyak.
59
3.2.3. Analisis Query Kata kunci yang sudah diproses, selanjutnya akan diproses ke bagian query untuk menghasilkan layanan - layanan metadata pendidikan. Query menggunakan SPARQL, dimana SPARQL merupakan query language untuk mencari metadata di berbagai repository dengan output XML berbentuk format RDF. Repositorypendidikan yang dipakai adalah sebagai berikut: 1. DBPedia dengan endpoint http://dbpedia.org/sparql 2. Ariadne dengan endpoint http://knowone.csc.kth.se/sparql/ariadne-big 3. OpenLearn dengan endpoint http://data.open.ac.uk/query Endpoint merupakan alamat repository yang dituju. Di dalamnya tersimpan berbagai macam sekumpulan data set yang bisa digunakan. Oleh karena ketiga repository diatas menghasilkan format output XML yang berbeda – beda, yaitu DBPedia (application/sparql-results+json),
Ariadne
(application/sparql-results+xml),
dan
OpenLearn (application/XML), maka digunakan framework DotNetRDF. Framework DotNetRDF merupakan kerangka RDF dari platform .NET untuk menyatukan berbagai macam bentuk format XML yang berbeda – beda menjadi satu format RDF. Dengan demikian permasalahan konsep linked data – driven dipecahkan menggunakan framework ini. Query SPARQL merupakan query pencocokan Graph. Maksud dari Graph disini adalah Graph yang mempunyai subjek, predikat dan objek.Untuk mendapatkan hasil yang lebih akurat, maka optimasi query perlu dilakukan. Tujuan dilakukannya optimisasi tersebut adalah untuk menyusun kembali triple pattern (subjek, predikat, dan objek) didalam pattern query suatu graph dengan langkah – langkah sebagai berikut:
60
1. Evaluasi triple pattern yang paling selektif terlebih dahulu (pattern selectivity). Untuk meminimalisasikan ukuran hasil antara dan evaluasi query dilakukan secepat mungkin maka triple patterns dengan selektivitas tertinggi dievaluasi terlebih dahulu.Selektivitas dari suatu pola berkaitan dengan bagaimana batasannnya dan bagaimana mungkin dipertimbangkan untuk menghasilkan hasil yang lebih sedikit. Selektivitas ranking sekarang ini dibuat dan pola ranking adalah sebagai berikut (mulai dari selektivitas tertinggi sampai ke selektivitas terendah) : •
Subjek – predikat – objek
•
Subjek – predikat
•
Subjek – objek
•
Predikat – objek
•
Subjek
•
Predikat
•
Objek
Nama dari suatu pattern mereferensi ke dalam suatu bagian dari suatu pola yang mana bukan merupakan suatu variabel, seperti contoh dari pola subjek – predikat akan menjadi seperti berikut. ?obj .
Sebagai contoh, misalnya diberikan input query seperti berikut. PREFIX rdfs: SELECT * WHERE { ?s ?p ?o . ?s rdfs:label ?label . }
Maka sesuai rule diatas, maka seharusnya menjadi seperti ini. PREFIX rdfs:
Hasil kedua adalah yang paling optimal karena pattern yang paling selektif akan dievaluasi terlebih dahulu. Apabila kedua pattern mempunyai pola yang sama maka evaluasi akan dilakukan sesuai dengan urutan nama dari suatu variabel. 2. Evaluasi penggunaan FILTER pada penggunaan pertama kali (filter placement). Penggunaan FILTER digunakan untuk mempersingkat scope query sesuai dengan syarat – syarat yang berlaku, misalnya dalam hal filtering bahasa, regular expression dan lain sebagainya. Misalnya diberikan contoh query seperti berikut. PREFIX rdfs: SELECT * WHERE { ?s rdfs:label ?label . ?s a ?type . FILTER (LANGMATCHES(LANG(?label), "en")) }
Maka seharusnya disusun menjadi seperti ini. PREFIX rdfs: SELECT * WHERE { ?s rdfs:label ?label . FILTER (LANGMATCHES(LANG(?label), "en")) ?s a ?type . }
3. Evaluasi penggunaan BIND pada penggunaan pertama kali (assignment placement). Penggunaan BIND sama dengan penggunaan FILTER. Penempatan dilakukan di awal setelah keseluruhan variabel telah dideklarasikan. Misalnya diberikan contoh query seperti berikut. PREFIX rdfs: SELECT * WHERE { ?s rdfs:label ?label .
62 ?s a ?type . BIND(LANG(?label) AS ?lang) }
Maka seharusnya disusun menjadi seperti ini. PREFIX rdfs: SELECT * WHERE { ?s rdfs:label ?label . BIND(LANG(?label) AS ?lang) ?s a ?type .
}
Perbedaan penggunaan FILTER dan BIND adalah BIND mengakhiri triple pattern yang sekarang. Oleh karena itu variabel yang ingin di BIND, penggunaan BIND adalah tepat berada di bawahnya. Misalnya diberikan contoh query seperti berikut. PREFIX rdfs: SELECT * WHERE { ?s rdfs:label ?label . ?s rdfs:type ?type . BIND (LANG(?label) AS ?lang) ?s rdfs:comment ?comment
}
Maka seharusnya seperti ini. PREFIX rdfs: SELECT * WHERE { ?s rdfs:label ?label . BIND (LANG(?label) AS ?lang) ?s rdfs:type ?type . { ?s rdfs:comment ?comment }
}
Penulisan { ?s rdfs:comment ?comment }diberikan tanda kurung karena BIND merupakan tanda bahwasannya graph yang sekarang sudah tidak terpakai. 4. Meminimalisasi kompleksitas penggabungan di dalam dan di seluruh graph patterns(join complexity minimization). Optimisasi ini dilakukan untuk mengatur kembali pola tripledengan tujuan untuk meminimalisasikan kompleksitas penggabungan.Lebih spesifik untuk menghindari
63
product (bergabung ketika dua sisi disjoint) karena ini sanagat mahal untuk dihitung. Misalnya diberikan contoh query seperti berikut. PREFIX rdfs: SELECT * WHERE { ?s a ?type . ?s ?value . ?value rdfs:label ?label . }
Jika ketiga optimisasi di atas sudah dijalankan (pattern selectivity, filter placement, assignment placement), maka seharusnya menjadi seperti ini. PREFIX rdfs: SELECT * WHERE { ?value rdfs:label ?label . ?s a ?type . ?s ?value . }
Optimisasi di atas sangatlah buruk karena membutuhkan product joindiantara hasil dari dua pola yang pertama. Jadi, optimisasi kompleksitas dirancang untuk melihat secara spesifik untuk kasus tersebut dan menyusun pola tersebut kembali dengan tujuan untuk mengurangi kompleksitas. Hasil optimisasi dari query diatas adalah sebagai berikut. PREFIX rdfs: SELECT * WHERE { ?value rdfs:label ?label . ?s ?value . ?s a ?type .
}
Untuk versi diatas, tidak ada product join karena dalam setiap join ada setidaknya satu variabel yang telah sebelumnya disebutkan jadi hasil dari kedua pola tersebut tidak pernah disjoint.
64
Contoh proses pencocokan graph dengan kata kunci Mathematicsdari ketiga repository pendidikan tersebut adalah sebagai berikut. DBPedia SELECT ?Links WHERE { { ?Links } UNION { ?Links } }
Variabel ?Linksmerupakan variabel penampung yang akan menampung keseluruhan hasil
query
dari
repository
DBPedia
berupa
link.
Pernyataan
?Linksmerupakan
graph
nya
dimana
adalah
subjek,
adalah
predikat,
dan
?Linksadalah objek. Artinya adalah pencarian kata kunci matematika ke dalam linkkemudian dari link tersebut dicari atribut dan nilai dari atribut tersebut
ditampung
ke
dalam
variabel
?Links.
Selanjutnya
pernyataan
?Linkssama
seperti
tadi,
.
hanya Kedua
tambahan pernyataan
menggunakan klausa UNION. Ariadne SELECT DISTINCT ?uri WHERE { GRAPH ?g { ?uri ?title ; FILTER (
Pernyataan DISTINCT artinya adalah untuk value yang sama, value tersebut cuma diambil sebanyak satu kali. Variabel ?uri merupakan variabel penampung hasil dari query.
Pernyataan
?uri
?titleartinya
adalah
pengambilan keseluruhan link dari suatu variabel ?titledimana variabel ?titleharus melalui proses filter. Filtering yang dimaksud adalah kata kunci harus berupa bahasa inggris, kemudian pencarian akan dilakukan diseluruh artikel yang berhubungan dengan kata kunci Mathematicsdengan ketentuan Case Insensitive (‘i’).
Variabel ?uri berguna untuk menampung hasil query dalam bentuk link, sedangkan variabel ?descriptionberguna untuk menampung hasil query dalam bentuk deskripsi dari layanan tersebut. Pernyataan ?uri ?tmengandung arti bahwa pengambilan semua links
dari atribut title yang mana kata kunci
?tdifiltermenggunakan case insensitive (“i”). Sedangkan dari pernyataaan ?uri
?descriptionartinya
adalah
pengambilan
keseluruhan deskripsi dari sumber data tersebut untuk ditampilkan ke dalam variabel ?description.
66
Dari penjabaran ketiga repository diatas, maka keseluruhan hasil dari ketiga repository
akan
diintegrasikan
menggunakan
framework
DotNetRDF
untuk
menghasilkan standar output yang sama yaitu RDF.
3.3.
Pengukuran Penelitian Penelitian ini merupakan jenis penelitian kuantitatif, karena penelitian ini merupakan jenis penelitian yang menggunakan rancangan penelitian berdasarkan prosedur statistik atau dengan cara lain dari kuantifikasi untuk mengukur variabel suatu penelitian. Pada penelitian ini, pengukuran akan diambil pada masing – masing repository pendidikan yaitu DBPedia, ARIADNE dan OpenLearn. Keempat evaluasi optimisasi dari query SPARQL yang telah disebutkan diatas akan digunakan untuk mengukur precision dari query yang dihasilkan. Precision merupakan presisi / presentase dari suatu hasil dokumen yang relevan.Rumus precision adalah sebagai berikut.
Pr ecision =
| {relevant} ∩ {retrieved} | | {retrieved} |
Proses pengukuran adalah sebagai berikut: 1. Pemilahan query dari masing – masing repository pendidikan. Masing – masing query tersebut akan dipecah menjadi beberapa bagian untuk mengukur precision.
67
Gambar 3.10. Pemilahan Query untuk DBPedia
68
Gambar 3.11. Pemilahan Query untuk ARIADNE
69
Gambar 3.12. Pemilahan Query untuk OpenLearn
Masing – masing precision untuk satu repository kemudian akan dijumlahkan untuk melihat keakuratan hasil dari suatu query diantara ketiga repository tersebut. 2. Pengukuran dokumen yang dihasilkan dari ketiga repository tersebut. Pengukuran dokumen diukur dengan melihat berapa banyak jumlah dokumen yang dihasilkan untuk masing – masing repository pendidikan yang digunakan. Kemudian, dilakukan perbandingan.
70
3. Pengukuran tipe dokumen yang dihasilkan dari ketiga repository tersebut. Berapa banyak tipe dokumen yang dihasilkan, dan berapa jumlah dokumen yang dihasilkan untuk masing – masing tipe tersebut. Kemudian, dilakukan perbandingan.
Keseluruhan proses pengukuran di atas berpusat pada satu bidang ilmu
matematika di tingkat perkuliahan / perguruan tinggi. Sampel pengukuran diambil dari 6 topik yang berhubungan dengan bidang ilmu matematika di perguruan tinggi. Keenam topik tersebut adalah sebagai berikut: 1. Kalkulus 2. Aljabar 3. Geometri 4. Statistika 5. Integral 6. Diferensial