• Tidak ada hasil yang ditemukan

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

Dokumen terkait