ANALISIS DAN PERANCANGAN
3.2 Analisis Sistem
Proses generating kalimat pada nilai mata pelajaran siswa dilakukan dengan melakukan beberapa tahapan-tahapan, seperti pre-processing yang terdiri dari interpretasi dan selection; yang dihubungkan dengan teks generation dengan menggunakan trigram dan grammar rule. Setelah tahap β tahap tersebut dilakukan, aplikasi menghasilkan kalimat yang berdasarkan nilai mata pelajaran siswa setiap bulannya. Adapun tahapan tersebut bisa dilihat dalam bentuk arsitektur umum pada Gambar 3.3 sebagai berikut.
Gambar 3.3 Arsitektur Umum 3.2.1 Interpretasi
Data interpretasi adalah proses menghubungkan variable data dengan database. Pada bagian ini, nilai akan dibandingkan dengan nilai sebelumnya, untuk mendapat status untuk bulan tersebut. Dimana penilaian questioner merupakan hasil penjumlahan seluruh nilai dari semua guru pada bulan tersebut.
πΊπππ πππππ = ππππ π·πππππππβ ππππ ππππ ππππΓ 4
Sedangkan untuk nilai mata pelajaran menggunakan rumus sebagai berikut
πΊπππ πππππ = πππ‘ππ πππππ ππππππ’ππ π¦πππ ππππ π ππ’πππβ ππππππ’ π¦π ππππ π
3.2.2 Data Selection
Pada proses data selection dilakukan seleksi data output dari proses data interpretasi.
Pada tahap ini dipilih data apa saja yang akan digunakan untuk tahap selanjutnya. Tahap ini data akan di kelompokkan menjadi nilai kurang, nilai baik, nilai sangat baik dan nilai meningkat, nilai menurun kedalam sebuah list. Hasil list digunakan untuk menyeleksi kalimat yang terkait penjelasan perkembangan siswa pada korpus. Penentuan status kelompok berdasarkan rule/aturan β aturan dapat dilihat pada table 3.1:
Table 3.1 Rule menentukan status nilai
No Status Aturan
1 Kurang
Pseadocode 3.1:
Read kkm.
Read nilai.
IF ( nilai < kkm)
THEN Status = Kurang
2 Cukup
Pseadocode 3.1:
Read kkm.
Read nilai.
Interval = (100-kkm)/3
IF (nilai < kkm+interval && nilai > kkm) THEN Status = Cukup
3 Baik
Pseadocode 3.1:
Read kkm.
Read nilai.
Interval = (100-kkm)/3
IF (nilai < kkm+(interval * 2 )&& nilai > kkm+interval) THEN Status = Cukup
4 Sangat Baik
Pseadocode 3.1:
Read kkm.
Read nilai.
Interval = (100-kkm)/3
IF (nilai < kkm+(interval * 3) && nilai > kkm+(interval * 2)) THEN Status = Cukup
5 Meningkat
Pseadocode 3.1:
Read Nilai_Sebelumnya.
Read Nilai.
IF (Nilai_Sebelumnya < Nilai) THEN Status = Meningkat
6 Menurun
Pseadocode 3.1:
Read Nilai_Sebelumnya.
Read Nilai.
IF (Nilai_Sebelumnya > Nilai) THEN Status = Menurun
3.2.3 Teks generation
Teks generation adalah bagian dari natural language processing, dengan memanfaatkan pengetahuan linguistic komputasi dan kecerdasan buatan untuk secara otomatis menghasilkan teks, yang dapat memenuhi persyaratan komunikatif tertentu. Pada tahap ini bertujuan untuk mencari setiap kemungkinan kata selanjutnya menggunakan algoritma trigram berdasarkan korpus. Korpus berisi kalimat β kalimat yang menjelaskan perkembangan peserta didik. Korpus menggunakan Bahasa Indonesia yang baku dan mudah di mengerti. Pada tahap ini korpus akan di tokenization untuk diubah ke dalam bentuk trigram. Pada tahap ini teks generation bertujuan untuk menghitung probabilitas kata selanjutnya dengan ketentuan banyaknya kata selanjutnya yang sama dan sesuai dengan grammar rule.
3.2.4 Pre-processing
Pada tahap ini ada beberapa pemrosesan sebelum mengubah korpus menjadi trigram.
Tahapan ini berfungsi untuk membaca dan mengecek korpus untuk setiap tokennya.
berikut beberapa pre processing yang digunakan.
3.2.4.1 Tokenizing
Tokenizing adalah proses pemecahan teks menjadi token dari kalimat menjadi.tahapan ini melakukan penghapusan karakter seperti tanda baca dan angka dari setiap kalimat.
Beberapa contoh untuk tahapan tokenizing dapat dilihat pada tabel 3.2 sebagai berikut.
Tabel 3.2. Tahapan Tokenizing
Kalimat Hasil Tokenizing
Nilai Bahasa Indonesia sangat baik semakin tingkatkan belajarnya.
Nilai - Bahasa - Indonesia - sangat β baik - semakin - tingkatkan - belajarnya Nilai Bahasa Indonesia menurun lebih
fokus dalam belajar.
Nilai - Bahasa - Indonesia - menurun - lebih - fokus - dalam | belaja
Nilai bahasa indonesia meningkat, terus tingkatkan belajarnya agar nilai tidak sampai menurun
Nilai - Bahasa - Indonesia - meningkat - terus tingkatkan belajarnya agar -nilai - tidak - sampai - menurun -
3.2.4.2 Case Folding
Case Folding proses menyamakan huruf teks. Seperti mengubah semua huruf menjadi huruf kecil atau lowercase. Contoh lowercase dapat dilihat pada tabel 3.3berikut.
Table 3.3. Contoh case folding
Kalimat Hasil Tokenizing
Nilai | Bahasa | Indonesia - baik - semakin - tingkatkan - belajarnya -
nilai - bahasa - indonesia - baik - semakin - tingkatkan - belajarnya - Nilai - Bahasa - Indonesia - menurun -
lebih - fokus - dalam - belaja -
nilai - bahasa - indonesia - menurun - lebih - fokus - dalam - belaja -
Nilai - Bahasa - Indonesia - meningkat - terus - tingkatkan - belajarnya - agar - nilai - tidak - sampai - menurun -
nilai - bahasa - indonesia - meningkat - terus - tingkatkan - belajarnya - agar - nilai - tidak - sampai - menurun -
3.2.4.3 Stopwords Removal
Tahap ini bertujuan untuk menghapus kata yang tidak penting atau bermakna. Proses ini menggunakan korpus stoppwords Bahasa Indonesia yang telah tersedia di library nltk python. Contoh penghapusan kata pada table 3.5
Tabel 3.4. Stopwords
Stopwords
ada amatlah atas bahwasanya begitukah berapa
adalah anda atau baik begitulah berapakah
adanya andalah ataukah bakal begitupun berapalah adapun antar ataupun bakalan bekerja berapapun
agak antara awal balik belakang berarti
agaknya antaranya awalnya banyak belakangan berawal
agar apa bagai bapak belum berbagai
akan apaan bagaikan baru belumlah Berdatangan
akankah apabila bagaimana bawah benar beri
akhir apakah bagaimanakah beberapa benarkah berikan akhiri apalagi bagaimanapun begini benarlah berikut akhirnya apatah bagi beginian berada berikutnya
aku artinya bagian beginikah berakhir berjumlah akulah asal bahkan beginilah berakhirlah berkali-kali
3.2.4.4 Stemming
Stemming adalah proses mebgubah atau memperbaiki kata dari suatu kalimat menjadi kata baku. Proses ini juga akan mengubah kata yang tidak baku menjadi kata baku.
Contoh stemming dapat dilihat pada tabel 3.5 berikut.
Tabel 3.5. Tahapan Stemming
Hasil Stopwords Removal Hasil Stemming nilai - bahasa - indonesia - baik -
semakin - tingkatkan - belajarnya -
nilai - bahasa - indonesia - baik - makin - tingkat - ajar-
nilai - bahasa - indonesia - menurun - lebih - fokus - dalam - belajar -
nilai - bahasa - indonesia - turun - lebih - fokus - dalam - ajar -
nilai - bahasa - indonesia - meningkat - sangat - baik - terus - tingkatkan - belajarnya - agar - nilai - tidak - sampai - menurun -
nilai - bahasa - indonesia - tingkat - sangat - baik - terus - tingkat - ajar - agar - nilai - tidak - sampai - turun-
3.2.4.5 Part of Speech Tagging (POS Tagging)
Part of Speech Tagging (POS Tagging) adalah proses memberi label atau kategori kata
keterangan, kata sifat, dan lainnya. Contoh Pos tagging dapat dilihat pada table 3.6 berikut :
Tabel 3.6. Tahapan Pos Tagging
NN SC VB RB
'nilai' 'sebelumnya' 'meningkat' 'terus' 'semester' 'agar' 'tingkatkan' 'lagi' 'belajarnya' 'sampai' 'belajar' 'tetap'
'mata' 'untuk' 'menurun' 'semakin' 'pelajaran' 'supaya' 'pertahankan' 'sangat'
'bahasa' 'matematika' 'rajin' 'lebih'
3.2.4.6 Count trigram sentence dan trigram sentence
Count trigram adalah proses perhitungan kata yang akan menjadi canlon fitur. Dataset yang telah melewati tahapan sebelumnya akan menjadi input proses pemilihan calon fitur. Setiap token akan diubah kedalam bentuk trigram dan menghitung probabilitas token ke 3 untuk menjadi calon fitur.
3.2.4.7 Count trigram grammar rule dan trigram grammar rule
Pada tahap ini akan membuat grammar rule yang berdasarkan rule yang ada di korpus.
Grammer rule tersebut berfungsi untuk validasi pada saat pembangunan kalimat dengan tujuan kalimat yang di peroleh akan sesuai yang diinginkan oleh penulis.
3.2.4.8 Probabilitas count for sentence
Pada tahap ini menghitung probabilitas / frekuensi untuk setiap token. Frekuensi β frekuensi tersebut yang akan menjadi prioritas dalam penentuan kata yang akan
digunakan pada saat membangun kalimat. Ada 2 cara dalam menentukan kata selanjutnya yaitu:
3.2.4.8.1 First Rangking token
First Rangking token proses ini untuk merangking seluruh kata pada setiap kalimat.
Pada tahap ini seluruh token yang telah di tokenization dan di rangking akan diambil rangking pertama untuk menjadi kata selanjutnya. Dengan metode ini lebih sedikit kalimat yang akan di bangun daripada random next token.
3.2.4.8.2 Random next token
Random next token berisi semua kemungkinan kata yang memiliki frekuensi. kata β kata tersebut akan di random dari 0 sampai token_list.size(). Hasil random yang didapat kemudian menjadi kata selanjutnya yang akan digunakan.
3.2.5 Generate sentence
Tahapan ini dilakukan untuk membangun kalimat berdasarkan nilai β nilai yang telah melewati tahap seleksi. Dengan menggunakan nilai tersebut akan membangkitkan first token yang akan dilanjutkan menggunakan korpus β korpus yang telah di proses di text generation sampai menjadi kalimat yang diinginkan.
3.2.6 Output
Setelah dilakukan tahapan pemrosesan maka diperoleh output disistem yaitu serbuah interface yang menampilkan deskripsi sifat, rapor bulanan, dan grafik perkembangan permata pelajaran. Deskripsi sifat berisi semua interpretasi penilaian terhadap siswa, sedangkan rapor bulanan terdapat nilai bulanan dan kalimat interpretasinya seperti peningkatan dan penurunan nilai mata pelajaran beserta sarannya. Contoh output dapat dilihat pada gambar 3.4, 3.5 dan 3.6
Gambar 3.4 dokumen output deskripsi nilai