BAB III
ANALISA DAN PERANCANGAN
3.1. Analisa
Pada bab analisa dan perancangan ini akan dibahas tentang analisa kebutuhan dan desain antarmuka (interface) fitur analisis kedekatan matakuliah pada sistem Lective. Modul atau fitur untuk menganalisis kedekatan matakuliah dipilih dikarenakan dibutuhkan oleh mahasiswa, dosen maupun pihak program studi yang menggunakan sistem Lective untuk mendesain kurikulum dan mendesain RPS untuk mengetahui matakuliah apa saja yang materinya berdekatan. Pada bab sebelumnya (BAB II) telah dijelaskan RPS memiliki beberapa komponen yang salah satunya yang termasuk dalam komponen penting dalam RPS, adalah materi pembelajaran atau materi pokok, materi pembelajaran atau materi pokok adalah materi yang akan disampaikan oleh dosen kepada mahasiswa disetiap pertemuannya.
Dengan dikembangkannya fitur analisis kedekatan matakuliah yang berdasarkan materi pokok diharapkan dapat menjadi referensi bagi stackholder (mahasiswa, dosen, program studi) untuk kepentingan masing-masing. Selain itu dilakukan juga analisa terhadap sistem Lective, Lective adalah sistem utamanya maka juga perlu dianalisa jika hendak mengembangkan suatu fitur untuk sistem Lective. Lective adalah sebuah tools berbasis website yang dibangun menggunakan bahasa pemrograman PHP dan menggunakan basis data MYSQL. Pada basis data Lective terdapat tabel matakuliah, materi_pembelajaran dan program_studi yang nantinya akan digunakan untuk proses analisa kedekatan matakuliah yang berdasarkan pada tiap-tiap program studi.
3.2. Sumber Data
Pada fitur analisis kedekatan matakuliah ini data yang digunakan bersumber dari basis data sistem Lective yaitu pada tabel matakuliah, materi_pembelajaran dan program_studi. Berikut ini adalah potongan diagram entitas sistem Lective
Gambar 3. 1: Potongan Diagram Entitas Sistem Lective
3.3. Flowchart Rancangan Fitur
Pada tahap perancangan ini dibuatlah alur dari fitur analisis kedekatan matakuliah. Dimulai dari query atau pengambilan data dari basis data sistem Lective lalu dilakukan pre-processing, pembobotan dengan TF-IDF dan menghitung jarak kedekatan dengan Cosine Similarity sampai dengan menampilkan hasil dan visualisasi.
Gambar 3. 2: Flowchart Rancangan Fitur
3.4. Rancangan Desain Interface
Pada fitur analisis kedekatan matakuliah berdasarkan materi pokok ini nantinya agar lebih menarik dan mudah dipahami oleh pengguna maka dilakukan rancangan terlebih dahulu desain interface-nya. Rancangan desain interface atau hasil dan visualisasi yang disebutkan pada poin sebelumnya adalah sebagai berikut :
Gambar 3. 3: Rancangan Desain Interface
Pada rancangan desain interface diatas ditampilkan berupa visualisasi kedekatan matakuliah dan dibawahnya ada tabel yang bertindak sebagai detail dari hasil visualisasi dengan menunjukkan nilai kedekatan masing-masing matakuliah.
3.5. Desain Database Sistem Lective
Pada poin sebelumnya disebutkan bahwa data bersumber dari basis data sistem Lective yang sudah ada, agar tidak terlalu banyak melakukan query melalui bahasa pemrograman maka diputuskan untuk membuat sebuah view pada basis data sistem Lective, berikut adalah rancangan view-nya :
Gambar 3. 4: Rancangan View di Basis Data Lective
Selain menambahkan view, ditambahkan pula sebuah tabel (lective_analisis_kedekatan_mk) yang nantinya digunakan untuk menampung hasil analisis, berikut ini adalah rancangan tabelnya dan berelasi dengan tabel matakuliah dan programstudi yang saat ini sudah ada pada basis data sistem Lective :
Gambar 3. 5: Rancangan Desain Database
3.6. Pre-processing
Berdasarkan flowchart rancangan fitur yang telah dibuat pada poin sebelumnya pada tahapan awal adalah melakukan pre-processing. Pre-processing yang akan digunakan pada penelitian kali ini adalah menggunakan Tokenizing dan Stopword Removal.
3.6.1. Tokenizing
Pada proses tokenizing ini melakukan penghilangkan simbol-simbol atau tanda baca yang tidak penting pada dokumen, atau yang ada pada kasus penelitian ini adalah data materi pokok atau materi pembelajaran pada RPS. Tanda baca yang tidak penting seperti (.,*&%$#@!`~:;’”<>/?^{[]}|\=+-_) akan dihilangkan atau diganti dengan spasi. Berikut adalah flowchart dari proses pre-processing tokenizing :
Gambar 3. 6: Flowchart Proses Tokenizing
3.6.2. Stopword Removal
Setelah dilakukan tokenisasi (Tokenizing), rancangan langkah selanjutnya adalah proses penghilangan atau penghapusan kata-kata yang dianggap tidak penting dalam materi pembelajaran, seperti kata dan, adalah, bagaimana, yang dan masih banyak lagi. Berikut adalah alur atau flowchart proses dilakukannya stopword removal :
Gambar 3. 7: Flowchart Proses Stopword Removal
3.7. Pembobotan Kata Dengan Term Frequency - Inverse Document
Frequency (TF-IDF)
Pada penelitian ini semua materi pembelajaran yang didapatkan dari basis data Lective dan telah dilakukan pre-processing akan dijadikan satu string atau kalimat dan dikelompokkan berdasarkan masing-masing matakuliah. Pembobotan kata
perlu dilakukan untuk mengetahui tingkat penting atau tidaknya suatu kata dalam materi pembelajaran, dan nilai dari hasil perhitungan pembobotan ini (tf-idf) akan diteruskan ke perhitungan kedekatan (cosine similarity). Berikut adalah flowchart proses tf-idf :
Gambar 3. 8: Flowchart Proses TF-IDF
Pada bagian ini selain perancangan yang menghasilkan flowchart juga dilakukan perhitungan pembobotan kata dengan TF-IDF dengan studi kasus sebagai contoh adalah materi pembelajaran dari matakuliah jaringan komputer, manajemen jaringan dan komunikasi data.
Tabel 3. 1: Materi Pembelajaran
Matakuliah Materi
Jaringan Komputer (D1) Konsep dasar switching dan
konfigurasi. VLANs. Konsep Mekanisme Routing. Inter-VLAN
Matakuliah Materi
Routing. Mekanisme Routing Static. Mekanisme Routing Dynamic. Routing Static dan Dynamic. Access Control Lists. Dynamic Host Configuration Protocol. Network Address Translation (NAT)
Manajemen Jaringan (D2) Konsep Manajemen Jaringan dan
Pengenalan Router Mikrotik. Dynamic Host Configuration Protocol (DHCP). Bridging. Routing. Wireless. Firewall. Quality of Service (QoS). Tunelling. Packet Flow Diagram. Web proxy
Komunikasi Data (3) Model komunikasi, komunikasi data,
jaringan data. Protokol layer stack, arsitektur protokol layer, fungsi pelayeran protokol. Konsep, prinsip kerja, dan fungsi physical layer, teknik encoding decoding, teknik modulasi demodulasi. konsep, fungsi dan prinsip kerja dari data link layer, data link control protocol (control flow & error control), HDLC. konsep, fungsi dan prinsip kerja dari medium access layer, Multiplexing, Multiple access, topology (LAN dan WAN), congestion control.
Setelah dilakukan pre-processing pada kedua materi pada matakuliah diatas akan menghasilkan seperti tabel dibawah ini :
Tabel 3. 2: Materi Hasil Pre-processing
Matakuliah Materi
Jaringan Komputer (D1) switching konfigurasi vlans
mekanisme routing inter vlan routing mekanisme routing static mekanisme routing dynamic routing static dynamic access control lists dynamic host configuration protocol network address translation nat
Manajemen Jaringan (D2) manajemen jaringan pengenalan
router mikrotik dynamic host configuration protocol dhcp bridging routing wireless firewall quality service qos tunelling packet flow diagram web proxy
Komunikasi Data (D3) model komunikasi komunikasi data
jaringan data protokol layer stack arsitektur protokol layer fungsi pelayeran protokol prinsip kerja fungsi physical layer teknik encoding decoding teknik modulasi demodulasi fungsi prinsip kerja data link layer data link control protocol control flow error control hdlc fungsi prinsip kerja medium access layer multiplexing multiple access topology lan wan congestion control
3.7.1. Term Frequency (TF)
Setelah dilakukan pre-processing langkah selanjutnya adalah melakukan perhitungan term frequency (tf), yaitu proses perhitungan banyaknya kemunculan (frequecny) kata term (t) pada masing-masing dokumen (d) dalam kasus ini adalah materi matakuliah
3.7.2. Document Frequency (DF)
Selanjutnya adalah menghitung berapa jumlah dokumen (materi) dimana suatu term (kata) muncul
3.7.3. Inverse Document Frequency (IDF)
Setelah didapatkan nilai df maka selanjutnya adalah dilakukan inverse terhadap nilai df yaitu dengan rumus : 𝒊𝒅𝒇 = 𝒍𝒐𝒈 𝒅𝒇𝒅 dimana d adalah jumlah
dokumen atau materi, sedangkan df adalah nilai df masing-masing term (kata) yang telah dihitung pada poin sebelumnya.
3.7.4. Term Frequency - Inverse Document Frequency (TF-IDF)
Setelah mendapatkan masing-masing nilai tf dan nilai idf langkah selanjutnya adalah menghitung bobot masing-masing term (kata) dengan rumus :
𝒘 = 𝒕𝒇 × 𝒊𝒅𝒇 dimana w adalah bobot masing-masing term (kata) Tabel 3. 3: Term Frequency – Inverse Document Frequency
Term TF Idf TF x IDF
D1 D2 D3 D1 D2 D3 switching 1 0 0 0.477121255 0.477121255 0 0 konfigurasi 1 0 0 0.477121255 0.477121255 0 0 vlans 1 0 0 0.477121255 0.477121255 0 0 mekanisme 3 0 0 0.477121255 1.431363764 0 0 routing 5 1 0 0.176091259 0.880456295 0.176091259 0 inter 1 0 0 0.477121255 0.477121255 0 0 vlan 1 0 0 0.477121255 0.477121255 0 0 static 2 0 0 0.477121255 0.954242509 0 0 dynamic 3 1 0 0.176091259 0.528273777 0.176091259 0 access 1 0 2 0.176091259 0.176091259 0 0.352182518
Term TF Idf TF x IDF D1 D2 D3 D1 D2 D3 control 1 0 4 0.176091259 0.176091259 0 0.704365036 lists 1 0 0 0.477121255 0.477121255 0 0 host 1 1 0 0.176091259 0.176091259 0.176091259 0 configuration 1 1 0 0.176091259 0.176091259 0.176091259 0 protokol 1 1 4 0 0 0 0 network 1 0 0 0.477121255 0.477121255 0 0 address 1 0 0 0.477121255 0.477121255 0 0 translation 1 0 0 0.477121255 0.477121255 0 0 nat 1 0 0 0.477121255 0.477121255 0 0 manajemen 0 1 0 0.477121255 0 0.477121255 0 jaringan 0 1 1 0.176091259 0 0.176091259 0.176091259 pengenalan 0 1 0 0.477121255 0 0.477121255 0 router 0 1 0 0.477121255 0 0.477121255 0 mikrotik 0 1 0 0.477121255 0 0.477121255 0 dhcp 0 1 0 0.477121255 0 0.477121255 0 bridging 0 1 0 0.477121255 0 0.477121255 0 wireless 0 1 0 0.477121255 0 0.477121255 0 firewall 0 1 0 0.477121255 0 0.477121255 0 quality 0 1 0 0.477121255 0 0.477121255 0 service 0 1 0 0.477121255 0 0.477121255 0 qos 0 1 0 0.477121255 0 0.477121255 0 tunelling 0 1 0 0.477121255 0 0.477121255 0 packet 0 1 0 0.477121255 0 0.477121255 0 flow 0 1 1 0.176091259 0 0.176091259 0.176091259 diagram 0 1 0 0.477121255 0 0.477121255 0 website 0 1 0 0.477121255 0 0.477121255 0 proxy 0 1 0 0.477121255 0 0.477121255 0 model 0 0 1 0.477121255 0 0 0.477121255 komunikasi 0 0 2 0.477121255 0 0 0.954242509 data 0 0 4 0.477121255 0 0 1.908485019 layer 0 0 5 0.477121255 0 0 2.385606274 stack 0 0 1 0.477121255 0 0 0.477121255 arsitektur 0 0 1 0.477121255 0 0 0.477121255 fungsi 0 0 4 0.477121255 0 0 1.908485019 pelayeran 0 0 1 0.477121255 0 0 0.477121255 prinsip 0 0 3 0.477121255 0 0 1.431363764 kerja 0 0 3 0.477121255 0 0 1.431363764 physical 0 0 1 0.477121255 0 0 0.477121255
Term TF Idf TF x IDF D1 D2 D3 D1 D2 D3 teknik 0 0 2 0.477121255 0 0 0.954242509 encoding 0 0 1 0.477121255 0 0 0.477121255 decoding 0 0 1 0.477121255 0 0 0.477121255 modulasi 0 0 1 0.477121255 0 0 0.477121255 demodulasi 0 0 1 0.477121255 0 0 0.477121255 link 0 0 2 0.477121255 0 0 0.954242509 error 0 0 1 0.477121255 0 0 0.477121255 hdlc 0 0 1 0.477121255 0 0 0.477121255 medium 0 0 1 0.477121255 0 0 0.477121255 multiplexing 0 0 1 0.477121255 0 0 0.477121255 multiple 0 0 1 0.477121255 0 0 0.477121255 topology 0 0 1 0.477121255 0 0 0.477121255 lan 0 0 1 0.477121255 0 0 0.477121255 wan 0 0 1 0.477121255 0 0 0.477121255 congestion 0 0 1 0.477121255 0 0 0.477121255 3.8. Cosine Similarity
Untuk mengetahui berapa jarak kedekatan berdasarkan materi pembelajaran perlu dihitung yang pada penelitian ini menggunakan metode cosine similarity. Berikut ini adalah flowchart dari proses perhitungan dengan cosine similarity :
Gambar 3. 9: Flowchart Cosine Similarity
Metode cosine similarity sendiri memiliki rumus sebagai berikut : 𝑺𝑫𝒊𝑫𝒋 = (𝒘𝒆𝒊𝒈𝒉𝒕𝒊𝒌 𝒘𝒆𝒊𝒈𝒉𝒕𝒋𝒌) 𝑳 𝒌5𝟏 𝒘𝒆𝒊𝒈𝒉𝒕𝒊𝒌𝟐 𝑳 𝒌5𝟏 × 𝑳𝒌5𝟏𝒘𝒆𝒊𝒈𝒉𝒕𝒋𝒌𝟐
agar lebih mudah maka pada perhitungan bagian ini akan dibagi menjadi dua langkah
a. Langkah pertama
Pada rumus 𝑳𝒌8𝟏(𝒘𝒆𝒊𝒈𝒉𝒕𝒊𝒌 𝒘𝒆𝒊𝒈𝒉𝒕𝒋𝒌) diartikan sebagai bobot term pada dokumen ke i dan dikali dengan bobot dokumen ke j lalu hasil perkalian tersebut nantinya dijumlahkan, pada langkah ini dilakukan konversi rumus menjadi
𝑻𝑭. 𝑰𝑫𝑭𝒊 × 𝑻𝑭. 𝑰𝑫𝑭𝒋 yang maksudnya adalah sama.
Tabel 3. 4: Perhitungan Cosine Similarity Langkah Pertama
Term D1 x D2 D1 x D3 D2 x D3 switching 0 0 0 konfigurasi 0 0 0 vlans 0 0 0 mekanisme 0 0 0 routing 0.155040658 0 0 inter 0 0 0 vlan 0 0 0 static 0 0 0 dynamic 0.093024395 0 0 access 0 0.062016263 0 control 0 0.124032526 0 lists 0 0 0 host 0.031008132 0 0 configuration 0.031008132 0 0 protokol 0 0 0 network 0 0 0 address 0 0 0 translation 0 0 0 nat 0 0 0 manajemen 0 0 0 jaringan 0 0 0.031008132 pengenalan 0 0 0 router 0 0 0 mikrotik 0 0 0 dhcp 0 0 0
Term D1 x D2 D1 x D3 D2 x D3 bridging 0 0 0 wireless 0 0 0 firewall 0 0 0 quality 0 0 0 service 0 0 0 qos 0 0 0 tunelling 0 0 0 packet 0 0 0 flow 0 0 0.031008132 diagram 0 0 0 website 0 0 0 proxy 0 0 0 model 0 0 0 komunikasi 0 0 0 data 0 0 0 layer 0 0 0 stack 0 0 0 arsitektur 0 0 0 fungsi 0 0 0 pelayeran 0 0 0 prinsip 0 0 0 kerja 0 0 0 physical 0 0 0 teknik 0 0 0 encoding 0 0 0 decoding 0 0 0 modulasi 0 0 0 demodulasi 0 0 0 link 0 0 0 error 0 0 0 hdlc 0 0 0 medium 0 0 0 multiplexing 0 0 0 multiple 0 0 0 topology 0 0 0 lan 0 0 0 wan 0 0 0 congestion 0 0 0 JUMLAH 0.310081315 0.186048789 0.062016263
b. Langkah Kedua
Pada rumus 𝑳𝒌8𝟏𝒘𝒆𝒊𝒈𝒉𝒕𝒊𝒌𝟐 × 𝑳𝒌8𝟏𝒘𝒆𝒊𝒈𝒉𝒕𝒋𝒌𝟐 diartikan sebagai bobot term ke i dan bobot term ke j, lalu masing-masing dipangkatkan lalu dijumlahkan, setelah dijumlahkan bobot tersebut dikali lalu terakhir diakarkan. Pada langkah ini dilakukan juga konversi rumus menjadi 𝑻𝑭. 𝑰𝑫𝑭𝒊𝟐 × 𝑻𝑭. 𝑰𝑫𝑭𝒋𝟐 yang maksudnya sama.
Tabel 3. 5: Perhitungan Cosine Similarity Langkah Kedua
Term D1 D2 D3 switching 0.227644692 0 0 konfigurasi 0.227644692 0 0 vlans 0.227644692 0 0 mekanisme 2.048802225 0 0 routing 0.775203288 0.031008132 0 inter 0.227644692 0 0 vlan 0.227644692 0 0 static 0.910578767 0 0 dynamic 0.279073184 0.031008132 0 access 0.031008132 0 0.124032526 control 0.031008132 0 0.496130104 lists 0.227644692 0 0 host 0.031008132 0.031008132 0 configuration 0.031008132 0.031008132 0 protokol 0 0 0 network 0.227644692 0 0 address 0.227644692 0 0 translation 0.227644692 0 0 nat 0.227644692 0 0 manajemen 0 0.227644692 0 jaringan 0 0.031008132 0.031008132 pengenalan 0 0.227644692 0 router 0 0.227644692 0 mikrotik 0 0.227644692 0 dhcp 0 0.227644692 0
Term D1 D2 D3 wireless 0 0.227644692 0 firewall 0 0.227644692 0 quality 0 0.227644692 0 service 0 0.227644692 0 qos 0 0.227644692 0 tunelling 0 0.227644692 0 packet 0 0.227644692 0 flow 0 0.031008132 0.031008132 diagram 0 0.227644692 0 website 0 0.227644692 0 proxy 0 0.227644692 0 model 0 0 0.227644692 komunikasi 0 0 0.910578767 data 0 0 3.642315067 layer 0 0 5.691117293 stack 0 0 0.227644692 arsitektur 0 0 0.227644692 fungsi 0 0 3.642315067 pelayeran 0 0 0.227644692 prinsip 0 0 2.048802225 kerja 0 0 2.048802225 physical 0 0 0.227644692 teknik 0 0 0.910578767 encoding 0 0 0.227644692 decoding 0 0 0.227644692 modulasi 0 0 0.227644692 demodulasi 0 0 0.227644692 link 0 0 0.910578767 error 0 0 0.227644692 hdlc 0 0 0.227644692 medium 0 0 0.227644692 multiplexing 0 0 0.227644692 multiple 0 0 0.227644692 topology 0 0 0.227644692 lan 0 0 0.227644692 wan 0 0 0.227644692 congestion 0 0 0.227644692 JUMLAH 6.414136907 3.828363856 24.58487152 AKAR 2.532614638 1.956620519 4.958313375
c. Terapkan rumus Cosine Similarity
𝑺𝑫𝒊𝑫𝒋 adalah hasil dari perhitungan antara dokumen ke i dan dokumen ke j. Pada contoh rancangan kasus di atas terdapat 3 dokumen yang berarti masing-masing dihitung kedekatannya antara D1 – D2, D1 – D3 dan D2 – D3 sehingga didapatkan nilai seperti dibawah ini :
Tabel 3. 6: Perhitungan Cosine Similarity
Dokumen D1 - D2 D1 - D3 D2 - D3
Similarity 0.062574859 0.014815754 0.006392416
Dari hasil perhitungan Cosine Similarity diatas didapatkan hasil (tabel 3.6) dimana matakuliah jaringan komputer (D1) memiliki kedekatan sebesar 0.062574859 dengan matakuliah manajemen jaringan (D2), sedangkan matakuliah jaringan komputer (D1) dan komunikasi data (D3) memiliki kedekatan sebesar 0.014815754, dan yang terakhir matakuliah manajemen jaringan (D2) memiliki kedekatan sebesar 0.006392416 dengan matakuliah komunikasi data (D3).