• Tidak ada hasil yang ditemukan

BAB III ANALISA DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB III ANALISA DAN PERANCANGAN"

Copied!
46
0
0

Teks penuh

(1)

33

ANALISA DAN PERANCANGAN

Pada bab ini dijelaskan mengenai tahap analisa dan perancangan. Proses analisa dilakukan untuk menemukan solusi dari permasalahan yang telah diajukan sebelumnya pada sub bab 1.2. Proses perancangan dilakukan untuk mendefinisikan spesifikasi kebutuhan perangkat lunak, analisa arsitektur perangkat lunak, diagram use case, activity diagram, class diagram, dan interaction diagram serta perancangan basis data dan perancangan antar muka.

3.1

Analisa Sistem

Hampir semua aspek kehidupan dan ilmu pengetahuan bersinggungan dengan matematika. Matematika dasar sangat penting pengaruhnya terhadap matematika lanjut atau yang tingkatan lebih rumit. Jika di awal pembelajaran matematika menjadi hal yang ditakuti, maka secara otomatis pembelajaran terhadap pengetahuan lainnya – yang mengadopsi matematika, ikut menjadi pengetahuan yang kurang diminati. Hal dasar inilah yang dijadikan acuan untuk membantu pembelajaran matematika menjadi sesuatu yang mengasyikan dan menantang untuk bisa lebih mendalami dan menguasai.

Pada Teori Bahasa Formal, setiap bahasa memiliki suatu aturan tata bahasa yang baku dan konsisten. Dalam kenyataannya, bahasa yang dipakai oleh manusia merupakan konvensi/kesepakatan dari para pemakai bahasa tersebut. Akibatnya, tata bahasa yang digunakan seringkali tidak konsisten. Oleh karena itu, dapat dimaklumi jika Teori Bahasa Formal tidak dapat memodelkan bahasa manusia secara sempurna.

Pembelajaran matematika dasar yang bertujuan untuk membantu mengerjakan soal matematika dari bentuk kalimat bahasa Indonesia menjadi notasi matematika yang valid akan dikembangkan dengan mengadopsi teori bahasa automata.

(2)

3.1.1 Kaidah Matematika

Penjabaran kalimat matematika harus memenuhi kaidah matematika. Penjabaran atau notasi matematika yang benar dapat menggunakan format infix, prefix, atau postfix. Notasi matematika infix menempatkan operator di antara operand dan format prefix menempatkan operator di depan operand, sedangkan suffix menempatkan operator di belakang operand.

Pada tugas akhir ini, notasi matematika yang dianggap benar hanya yang menggunakan format infix, yaitu operator diletakkan di antara operand. Hal ini disesuaikan juga dengan metode yang biasa digunakan di lingkungan sekolah, terutama untuk pembelajaran matematika dasar.

Contoh :

Infix Prefix Postfix

A + B x C D / E – F x + A B C - / D E F A B C x + D E / F -

Seperti yang telah disebutkan pada batasan masalah sebelumnya, dalam tulisan ini notasi matematika yang dianggap benar adalah notasi matematika yang menggunakan format infix. Walaupun infix ini memiliki kekurangan dalam: 1. Urutan pengerjaan tidak berdasarkan letak kiri atau kananya, tetapi

berdasarkan precedence-nya. Contoh : 3 + 4 x 2

3 + 4 x 2 , maka urutan pengerjaan adalah 4 x 2 dahulu. 3 + 8 , lalu hasilnya ditambah 3

11

Urutan precedence (dari prioritas tertinggi) adalah sebagai berikut : 1. Pemangkatan

2. Perkalian dan Pembagian 3. Penjumlahan dan Pengurangan

Namun hal ini bisa diatasi dengan menggunakan tanda kurung. Di mana tanda kurung ini akan menentukan prioritas operasi pada notasi yang ada dalam tanda kurung.

(3)

2. Jika suatu program akan mengevaluasi (mencari hasil) suatu infix, maka komputer perlu men-scan berulang-ulang mencari urutan pengerjaannya dahulu.

Contoh : 7 + 4 x 2 – 6 / 3

Jika kita diminta untuk menghitung soal seperti itu, maka kita tahu bahwa yang pertama kali harus kita kerjakan adalah 4 x 2. Lalu 6 / 3 dan seterusnya, seperti langkah-langkah berikut :

7 + 4 x 2 – 6 / 3 7 + 8 – 6 / 3 7 + 8 – 2

15 – 2 13

Tetapi hal ini pun bisa ditolerir karena pengerjaan matematika memang harus difahami dulu keseluruhan permasalahan baru menyelesaikannya sesuai pertanyaan yang diminta.

Notasi matematika yang menggunakan infix harus memenuhi kaidah berikut:

- Operator (+, -, /, x) selalu diletakkan di antara operand, atau setelah tanda kurung “)”

- Jumlah kurang buka “(“ selalu sama dengan jumlah kurung tutup “)”

3.1.2

Tingkat Soal Matematika

Pembelajaran matematika dasar yang terdiri dari operasi penjumlahan, pengurangan, perkalian dan pembagian, dapat dikelompokkan berdasarkan tingkat kesulitannya, yaitu:

1. Level beginner atau pemula

Pada level ini, soal yang diberikan hanya terdiri dari operasi penjumlahan dan pengurangan dengan bilangan yang digunakan merupakan bilangan cacah.

Operator  {+, -, =}

(4)

2. Level intermediate atau menengah

Pada level ini, soal yang diberikan terdiri dari operasi penjumlahan, pengurangan, perkalian, dan pembagian. Bilangan yang digunakan merupakan bilangan bulat.

Operator  {+, -, /, *, (, ), =}

Operand  {-n, ..., -4, -3, -2, -1, 0, 1, 2, 3, 4, ..., n} 3. Level advanced atau mahir

Pada level ini, soal yang diberikan bisa dijawab dengan metode

penjumlahan, pengurangan, perkalian, serta pembagian, dengan bilangan yang digunakan dapat merupakan bilangan desimal

Operator  {+, -, / , *, (, ), =}

Operand  {-n, ..., -0.4, -0.3, -0.2, -0.1, 0, 0.1, 0.2, 0.3, 0.4, ..., n}

3.1.3 Pembatasan Bahasa dalam Natural Language Processing

Salah satu aspek tersulit dalam mengembangkan sistem berbasis NLP adalah kompleksitas dan fleksibilitas dari bahasa manusia. Ketika kita membuat suatu Natural language processor, maka kita perlu membatasi tipe dari kalimat dan tata bahasa yang diterima. Sehingga processor hanya akan memahami salah satu atau beberapa dari subset bahasa natural saja. Pada tulisan ini tata bahasa akan dibatasi dengan asumsi semua kalimat yang dipakai adalah deklaratif dan non-interogatif dan mengikuti pola standar :

Subjek – predikat - objek Juga diasumsikan bahwa:

¤ Kalimat berita yang valid merupakan kalimat transitif (membutuhkan objek)

¤ Keterangan jumlah bilangan dinotasikan dengan angka ¤ Semua kalimat berita akan diakhiri tanda baca titik (.) ¤ Pertanyaan diakhiri dengan tanda tanya (?)

Sehingga kalimat-kalimat berikut akan diterima secara valid : Adik melempar mangga.

Seekor ayam mencakar-cakar tanah.

(5)

Adik berlari.

Karena kalimat tersebut merupakan kalimat intransitif.

Untuk semua bagian dari tulisan ini akan mengacu ke pola seperti di atas yang dikenal dengan G1 grammar. Sebagai tambahan diperlukan kosakata yang bisa diterima, yang didaftarkan dalam basis data sebagai validasi.

State Machine NLP Parser

State machine parser menggunakan “keadaan terkini (current state)” dari suatu kalimat untuk meramalkan jenis kata apa yang secara valid mengikuti. Gambar berikut menunjukkan transisi yang valid dari satu state/keadaan ke keadaan yang lain.

Kalimat:

Frase_kata_benda Frase_kata_kerja Frase_kata_benda

Frase_kata_benda: kata_benda kata_sandang kata_benda kata_benda kata_keterangan kata_sandang kata_benda kata_keterangan Frase_kata_kerja: kata_kerja kata_keterangan kata_kerja

(6)

Soal yang diberikan bisa di-upload oleh pengajar dengan sebelumnya mendefinisikan suatu kata ataupun frase dianggap sebagai suatu operator. Misalnya ”membeli” didefinisikan sebagai suatu operasi penjumlahan (operator ”+”), ”menjual” didefiniskan sebagai suatu operasi pengurangan (operator ”-”), ”membeli sebanyak” didefinisikan sebagai suatu operasi perkalian (operator ”*”). Dengan operand yang digunakan berupa angka atau bilangan.

3.1.4 Diagram Finite State Automata

Seperti yang telah dijelaskan sebelumnya, bahwa FSA bisa diasosiasikan dengan sebuah diagram transisi, yaitu sebuah graph berarah yang memiliki sifat berikut:

- Setiap simpulnya mewakili setiap status pada FSA

- Jika ada transisi dari status x ke status z dengan input a, maka digambarkan dengan suatu state x ke state z dengan input a.

- Status awal ditandai dengan kata START, status akhir ditandai dengan 2 lingkaran

Jadi fungsi dari diagram transisi adalah untuk menggambarkan cara kerja suatu FSA.

Notasi matematika yang benar harus dapat memenuhi aturan FSA. Berikut merupakan diagram FSA dari notasi matematika sederhana.

Gambar 2. Diagram FSA dari notasi matematika sederhana

Karena proses analisa dilakukan sampai tahap sintaksis kalimat, maka digunakan Deterministic Finite Automata, di mana satu kata yang merepsentasikan operator hanya bisa merepresentasikan satu operator (tidak ada percabangan dalam transisi).

3.2

Perancangan Sistem

Perancangan sistem dibagi menjadi beberapa bagian, yaitu perancangan proses, perancangan data, dan perancangan antar muka. Untuk perancangan

(7)

proses, digunakan pemodelan perangkat lunak menggunakan UML (Unified Modelling Language) berupa use case diagram, activity diagram, class diagram dan sequence diagram.

3.2.1 Use Case Diagram

Sebuah use case adalah situasi dimana sistem digunakan untuk memenuhi satu atau lebih kebutuhan pemakai. Use case menggambarkan kebutuhan sistem dari sudut pandang di luar sistem dan menentukan nilai yang diberikan sistem kepada pemakainya.

Cek Kosa Kata

Cek Data Aturan

Cek Soal Upload Kosa Kata

Upload Data Aturan

Lihat Data Aturan

Upload Soal Pengajar

Lihat Statistik Jawaban

Mengerjakan Soal Siswa Lihat Pembahasan <<include>> <<include>> <<include>>

(8)

Berikut penjelasan dari masing-masing use case: 1. Upload Kosa Kata

Tabel 1. Deskripsi Use Case Upload Kosa Kata

Nama Upload kosa kata

Deskripsi Upload kosa kata merupakan proses untuk menambahkan kosa kata yang digunakan dalam kalimat soal. Pada proses ini, setiap kata sifatnya unik dan hanya merujuk ke dalam satu jenis kata. Jenis kata yang digunakan meliputi kata benda, kata kerja, kata sifat, kata keterangan, kata hubung serta kata depan.

Aktor Pengajar

Pra Kondisi Kosa kata belum ada, kosa kata telah ada.

Kondisi Berhasil Kosa kata berhasil disimpan di basis data

Kondisi Gagal Kosa kata gagal disimpan

Main Flow Pengajar memilih menu upload kosa kata

• Pengajar memasukkan kata atau frase

• Aplikasi melakukan pengecekan apakah suatu kosa kata sudah tersedia atau belum dan menginformasikannya kepada pengajar

• Kosa kata disimpan 2. Upload Data Aturan

Tabel 2. Deskripsi Use Case Upload Data Aturan

Nama Upload data aturan

Deskripsi Upload data aturan merupakan proses untuk menentukan satu kata atau frase termasuk ke dalam operator apa. Sedangkan operand tetap didefinisikan dengan angka. Sifat aturan ini statis untuk semua soal.

Aktor Pengajar

Pra Kondisi Data aturan belum ada, data aturan telah ada.

Kondisi Berhasil Data aturan berhasil disimpan di basis data

(9)

Main Flow Pengajar memilih menu upload data aturan

• Pengajar memasukkan kata atau frase aturan

• Aplikasi melakukan pengecekan apakah suatu data aturan sudah tersedia atau belum dan menginformasikannya kepada pengajar

• Data aturan disimpan 3. Upload Soal

Tabel 3. Deskripsi Use Case Upload Soal

Nama Upload soal

Deskripsi Proses ini dilakukan dengan meng-upload soal matematika yang dijabarkan dalam bentuk cerita. Setiap soal dipilah berdasarkan tingkat kesulitannya, apakah termasuk tingkatan soal yang mudah, menengah atau sulit(advanced).

Aktor Pengajar

Pra Kondisi Soal belum ada, soal telah ada.

Kondisi Berhasil Soal atau pertanyaan berhasil disimpan di basis data

Kondisi Gagal Soal gagal disimpan

Main Flow Pengajar memilih menu upload soal

• Pengajar memasukkan kalimat soal matematika

• Aplikasi melakukan pengecekan apakah suatu soal sudah ada sebelumnya atau belum dan menginformasikannya kepada pegajar

• Soal disimpan 4. Lihat Statistik Jawaban

Tabel 4. Deskripsi Use Case Lihat Statistik Jawaban

Nama Lihat statistik jawaban

Deskripsi Proses ini dilakukan untuk menampilkan statistik hasil atau jawaban yang telah dikerjakan siswa. Dari hasil statistik ini

(10)

dapat digunakan sebagai bahan analisa pengajar untuk lebih meningkatkan kualitas pembelajaran.

Aktor Pengajar

Pra Kondisi Soal belum ada yang dikerjakan, soal sudah ada yang dikerjakan.

Kondisi Berhasil Statistik keberhasilan suatu soal ditampilkan

Kondisi Gagal Statistik keberhasilan suatu soal tidak bisa ditampilkan, Perhitungan statistik salah

Main Flow Pengajar memilih menu lihat statistik jawaban

Pengajar memilih/memfilter berdasar range nilai statistik atau memilih semua soal

• Aplikasi menghitung statistik untuk soal yang diminta

• Hasil statistik ditampilkan 5. Lihat Data Aturan

Tabel 5. Deskripsi Use Case Lihat Data Aturan

Nama Lihat data aturan

Deskripsi Proses ini dilakukan untuk dapat melihat data aturan yang digunakan dalam soal. Hal ini bertujuan agar siswa dapat menganalogikan suatu kata atau frase dalam kalimat ke dalam suatu notasi operator matematika.

Aktor Siswa, pengajar

Pra Kondisi Data aturan belum ada, data aturan telah ada.

Kondisi Berhasil Data aturan ditampilkan

Kondisi Gagal Data aturan tidak bisa ditampilkan

Main Flow Siswa memilih menu lihat data aturan

Siswa memilih/memfilter berdasar suatu kata atau frase atau operator yang ingin ditampilkan

• Aplikasi mencari data aturan yang diminta

(11)

6. Mengerjakan Soal

Tabel 6. Deskripsi Use Case Mengerjakan Soal

Nama Mengerjakan soal

Deskripsi Proses ini dilakukan dengan menyelesaikan soal

matematika dalam bentuk cerita ke dalam notasi matematika yang valid dan menjawab hasil akhir dari proses perhitungan.

Aktor Siswa

Pra Kondisi Soal belum ada, soal telah ada.

Kondisi Berhasil Soal diselesaikan dan dianalisa sesuai dengan aturan notasi matematika

Kondisi Gagal Soal dan jawaban tidak bisa dianalisa aplikasi

Main Flow Siswa memilih menu mengerjakan soal

Siswa memilih/memfilter berdasar kategori tingkat kesulitan soal

• Aplikasi menampilkan pertanyaan

• Siswa menyelesaikan soal

• Aplikasi melakukan analisa terhadap soal dan jawaban

• Aplikasi menampilkan hasil analisa, apakah jawaban benar atau salah.

7. Lihat Pembahasan

Tabel 7. Deskripsi Use Case Lihat Pembahasan

Nama Lihat pembahasan

Deskripsi Lihat pembahasan merupakan proses untuk melihat

penyelesaian dari suatu soal.

Aktor Siswa, pengajar

Pra Kondisi Pembahasan soal belum ada, pembahasan soal telah ada.

(12)

Kondisi Gagal Hasil pembahasan tidak sesuai dengan soal/pertanyaan, hasil pembahasan menyalahi aturan matematika.

Main Flow Siswa memilih menu lihat pembahasan

Siswa memilih/memfilter berdasar soal yang ingin dilihat pembahasannya.

• Aplikasi memproses permintaan, melakukan analisa soal dan menyelesaikan soal

• Aplikasi menampilkan hasil pembahasan.

3.2.2 Activity Diagram

Aktivitas dari setiap use case yang telah digambarkan pada sub bab sebelumnya, dapat dijabarkan kedalam suatu activity diagram. Pada activity diagram, digambarkan alur dari proses yang terjadi dalam suatu use case.

(13)

1. Upload Kosa Kata

Mas ukkan kata

Kata telah ada?

Konfirmasi data telah ada

Simpan kata

Kata telah digunakan dalam

soal atau data aturan? Mau dilakukan update?

Update Kata Tidak Ya Ya Tidak Tidak Ya

Gambar 4. Activity Diagram - Upload Kosa Kata

Pada proses upload kosa kata, setiap kosa kata sifatnya unik. Semua kata yang digunakan dalam soal harus terlebih dahulu didaftarkan pada basis data kosa kata.

Ketika pengajar memasukkan data, maka sistem akan melakukan pengecekan. Jika data belum ada, maka data akan disimpan, dan jika kata atau frase sudah ada, maka akan diperiksa apakah kata atau frase tersebut telah digunakan dalam soal atau data aturan. Jika sudah, maka tidak dapat dilakukan perubahan. Batasan ini karena basis data kosa kata merupakan data master yang menjadi referensi basis data Soal. Perubahan pada basis data kosa kata dapat mengakibatkan perubahan pada validitas soal. Namun jika kata atau frase tersebut belum digunakan dalam soal, maka masih dapat diubah.

(14)

2. Upload Data Aturan

Masukkan kata s ebagai data aturan

Kata telah digunakan dalam data aturan?

Konfirmas i data telah ada

Simpan data aturan

Data aturan telah digunakan

dalam s oal? Mau dilakukan update?

Update data aturan Tidak Ya Ya Tidak Tidak Ya

Gambar 5. Activity Diagram - Upload Data Aturan

Pada proses upload data aturan, satu kata atau frase hanya akan diterjemahkan menjadi satu operator matematika. Sehingga harus dipastikan kata atau frase tersebut unik.

Ketika pengajar memasukkan data, maka sistem akan melakukan pengecekan. Jika data belum ada, maka data akan disimpan, dan jika kata atau frase sudah ada, maka akan diperiksa apakah kata atau frase tersebut telah digunakan dalam soal. Jika sudah, maka tidak dapat dilakukan perubahan. Namun jika kata atau frase tersebut belum digunakan dalam soal, maka masih dapat diubah. Batasan dalam mengubah data aturan ini karena perubahan data aturan dapat mengubah validitas soal yang telah ada.

(15)

3. Upload Soal

Masukkan

soal Soal telah ada?

Konfirmasi soal telah ada Sim pan soal Ya Tidak

Gambar 6. Activity Diagram - Upload Soal

Pada proses upload soal, sistem akan melakukan pengecekan apakah soal sudah ada di dalam basis data atau belum. Jika sudah ada, sistem akan menginformasikan bahwa soal telah ada, dan jika belum, maka soal akan disimpan di dalam basis data.

4. Lihat Statistik Jawaban

Pilih soal

Hitung satatistik keberhasilan soal dijawab

Tampilkan hasil perhitungan

(16)

Pada proses melihat statistik keberhasilan siswa dalam menjawab soal, pengajar dapat memilih salah satu soal atau memilih keseluruhan soal. Sistem melakukan perhitungan persentase keberhasilan siswa dalam menjawab soal dan menampilkan hasilnya di layar.

5. Lihat Data Aturan

Pilih kata , frase atau operator

Tampilkan data aturan

Konfirm as i data tidak ada

Data ada? Ya Apakah user pengajar? Tidak Bukan Insert data? Ya Insert data aturan Ya Tidak

Gambar 8. Activity Diagram – Lihat Data Aturan

Pada proses lihat data aturan, pengguna bisa melihat keseluruhan data yang ada, atau hanya menampilkan sebagian data berdasar filter kata, frase atau operator. Jika data tidak ada, sistem akan mengecek privilege pengguna, jika pengguna adalah pengajar, maka pengguna bisa menambahkan data aturan yang belum ada.

(17)

6. Mengerjakan Soal Tampilkan 1 s oal secara acak Jawab s oal Periksa jawaban Jawaban benar? Tampilkan poin Ya Perbaiki jawaban? Tidak Tampilkan pembahas an Pilih kategori s oal Ya Tidak

Gambar 9. Activity Diagram – Mengerjakan Soal

Pada proses pengerjaan soal, siswa akan diberikan pilihan kategori soal (level mudah, menengah atau mahir). Lalu sistem akan mengacak satu soal berdasar kategori yang dipilih. Lama pengerjaan satu soal tidak dibatasi, ketika siswa telah selesai mengerjakan soal, lalu sistem akan memeriksa jawaban, jika jawaban yang diberikan benar, benar akan ditampilkan poin, dan jika jawaban salah, siswa boleh mengulang menjawab pertanyaan sampai benar atau langsung melihat pembahasan.

(18)

7. Lihat Pembahasan

Pilih soal

Tampilkan hasil pembahasan

Gambar 10. Activity Diagram – Lihat Pembahasan

Untuk melihat pembahasan jawaban suatu soal, sisw memilih soal yang ingin ditampilkan hasil pembahasannya. Kemudian sistem melakukan analisa terhadap soal dan nemampilkan pembahasan di layar.

3.2.3 Class Diagram

Identifikasi class dilakukan berdasarkan hasil analisis perangkat lunak untuk memenuhi proses-proses yang telah dijelaskan pada use case diagram, dan keterhubungan antar class tersebut. Keterhubungan ini dapat dilihat dari sisi statik class atau hubungan statis suatu class dan juga dari sisi interaksi antar class atau hubungan dinamis suatu class.

Terdapat lima class pada perangkat lunak ini, yaitu class Token, Scanner, DataAturan, Soal dan HistoryPengerjaan.

(19)

Graph node graph notasi newGraph() addNode() generateGraph() KosaKata idKata kata jenisKata newKosaKata() getJenisKata() insertKata() updateKata() deleteKata() getKosaKata() getKosaKataFSC() DataAturan idKata idFSC kata op newDataAturan() getIDFSC() getOperator() cekKataDigunakanFSC() getFSC() insertFSC() updateFSC() deleteFSC() Matem atika notasi newMatematika() execMath() HistoryPengerjaan idSoal soal jawaban level newHistoryPengerjaan() saveHistory() updateHistory() viewHistoryDetail() viewHistoryStatistic() Node subj bil obj op predikat newNode() getBil() getOp() Soal idCat soal arrKalimat valid kalTanya objekHitung notasi newSoal() getSoal() getRandomSoal() cekKataDigunakanSoal() insertSoal() cekSoal() cekPertanyaan() setGraph() isSubject() isPredikat() isKeterangan() isKataTanya()

Gambar 11. Class Diagram

1. Class KosaKata

Class KosaKata merupakan class yang berfungsi dalam manipulasi daftar kata atau kamus yang akan digunakan oleh aplikasi. Dalam class KosaKata ini, kata dibedakan berdasarkan jenisnya, apakah kata benda, kata kerja, kata sifat, kata keterangan, kata hubung,

(20)

kata depan, atau kata tanya. Kata yang didaftarkan bersifat unik dan menjadi acuan bagi class DataAturan dan class Soal.

Penjelasan detail mengenai atribut dan method yang ada pada class KosaKata dapat dilihat pada table berikut :

Tabel 8. Deskripsi Class Token

No Jenis Nama Deskripsi

1 Atribut idKata Identitas unik untuk setiap kata

2 Atribut kata Atribut yang

merepresentasikan suatu kata 3 Atribut jenisKata Atribut yang menjelaskan

jenis dari kata, misalnya kata benda, kata kerja, kata sifat, dan lain-lain

4 Method newKosaKata Method yang digunakan untuk menginisiasi atau mengeset instance KosaKata 5 Method getJenisKata Method yang digunakan

untuk mengambil jenis suatu kata

6 Method insertKata Method yang digunakan untuk menyimpan kosa kata baru dalam basis data 7 Method updateKata Method yang digunakan

untuk mengubah suatu kosa kata dalam basis data, dengan syarat kata tersebut belum digunakan sebagai Data Aturan atau Soal 8 Method deleteKata Method yang digunakan

(21)

dari basi data, dengan syarat kata tersebut belum

digunakan sebagai Data Aturan atau Soal 9 Method getKosaKata Method yang digunakan

untuk mengambil daftar kosa kata yang ada

10 Method getKosaKataFSC Method yang digunakan untuk mengambil daftar kosa kata yang ada, yang

digunakan oleh Data Aturan

2. Class DataAturan

Class DataAturan merupakan class yang berfungsi memetakan kata atau frase dalam Bahasa Indonesia ke dalam operator matematika. Melalui class ini, user dapat men-set satu kata atau frase merepresentasikan operator apa.

Penjelasan detail mengenai atribut dan method yang ada pada class DataAturan dapat dilihat pada table berikut :

Tabel 9. Deskripsi Class DataAturan

No Jenis Nama Deskripsi

1 Atribut idKata Atribut ID yang merujuk pada suatu kata dalam basis data KosaKata 2 Atribut idFSC Identitas unik untuk setiap

kata

3 Atribut kata Atribut yang digunakan untuk mencari

mapping/reprsentasi dari suatu kata

(22)

merepresentasikan operator matematika 5 Method newDataAturan Method yang digunakan

untuk menginisiasi satu data aturan

6 Method getIDFSC Method yang digunakan untuk mengambil nilai IDFSC

7 Method getOperator Method yang digunakan untuk mengambil nilai dari operator

8 Method cekKataDigunakanFSC Method yang digunakan untuk memeriksa apakah suatu kata digunakan atau didaftarkan sebagai DataAturan

9 Method getFSC Method yang digunakan untuk mengambil daftar DataAturan

10 Method insertFSC Method yang digunakan untuk menyimpan suatu data aturan baru dalam basis data

11 Method updateFSC Method yang digunakan untuk melakukan perubahan terhadap data aturan

10 Method deleteFSC Method yang digunakan untuk melakukan

(23)

3. Class Node

Class Node merupakan class yang berfungsi memetakan kalimat dalam Bahasa Indonesia menjadi node atau objek yang akan di-generate menjadi graph sehingga membentuk notasi matematika yang valid untuk dieksekusi.

Penjelasan detail mengenai atribut dan method yang ada pada class DataAturan dapat dilihat pada table berikut :

Tabel 10. Deskripsi Class Node

No Jenis Nama Deskripsi

1 Atribut subj String yang digunakan untuk menyimpan kata atau frase yang melakukan pekerjaan dalam suatu kalimat 2 Atribut predikat Atribut yang

merepresentasikan operator matematika

3 Atribut obj String yang digunakan untuk menyimpan kata atau frase yang dikenai pekerjaan atau objek penderita dalam suatu kalimat

4 Atribut bil Atribut yang

merepresentasikan kuantitas numerik dari objek

5 Atribut op Atribut yang

merepresentasikan operator matematika dari suatu predikat

6 Method newNode Method yang berfungsi untuk men-set atau menginisiasi suatu instance dari Node

(24)

7 Method getBilangan Method yang digunakan untuk mengambil nilai dari suatu node

8 Method getOp Method yang berfungsi untuk mengambil nilai operator dari suatu node

4. Class Soal

Class Soal merupakan class yang berfungsi untuk memanipulasi data soal, baik untuk menyimpan, mengubah, menghapus, maupun menampilkan soal yang ada di basis data.

Penjelasan detail mengenai atribut dan method yang ada pada class Soal dapat dilihat pada table berikut :

Tabel 11. Deskripsi Class Soal

No Jenis Nama Deskripsi

1 Atribut idCat Atribut yang

merepresentasikan tingkat kesulitan dari suatu soal

2 Atribut soal String yang digunakan untuk menyimpan rangkaian kalimat soal 3 Atribut arrKalimat Array yang digunakan untuk menampung list kalimat daro suatu soal 4 Atribut valid Atribut yang menyimpan

status dari suatu soal apakah valid atau memenuhi kaidah atau tidak

(25)

5 Atribut kalTanya String yang digunakan untuk menyimpan pertanyaan 6 Atribut objekHitung Objek yang akan

dikalkulasi atau hitung 7 Atribut notasi String yang berbentuk

notasi matematika hasil dari generate graph 8 Method newSoal Method yang digunakan

untuk menginisiasi soal 9 Method getSoal Method yang digunakan untuk mengambil daftar soal yang ada dalam basis data

10 Method getRandomSoal Method yang digunakan untuk mengambil 1 soal secara acak untuk ditampilkan ketika user akan mengerjakan soal 11 Method cekKataDigunakanSoal Method yang digunakan

untuk mengecek apakah suatu kata telah

digunakan dalam soal atau belum

12 Method insertSoal Method yang digunakan untuk menyimpan soal yang di-upload oleh admin/pengajar

13 Method cekSoal Method yang digunakan untuk mengecek apakah soal memenuhi kaidah 14 Method cekPertanyaan Method yang digunakan

(26)

untuk mengecek pertanyaan

15 Method setGraph Method yang digunakan untuk mengecek susunan kata (S-P-O)

16 Method isSubject Method yang digunakan untuk mengecek apakah suatu kata atau frase merupakan subjek atau bukan

17 Method isPredikat Method yang digunakan untuk mengecek apakah suatu kata atau frase merupakan predikat atau bukan

18 Method isKeterangan Method yang digunakan untuk mengecek apakah suatu kata atau frase merupakan keterangan atau bukan

19 Method isKataTanya Method yang digunakan untuk mengecek apakah suatu kata atau frase merupakan kata tanya atau bukan

5. Class Graph

Class Graph merupakan class yang berfungsi menerjemahkan dan men-generate notasi matematika yang valid dari node – node yang telah terbentuk.

(27)

Penjelasan detail mengenai atribut dan method yang ada pada class Scanner dapat dilihat pada table berikut :

Tabel 12. Deskripsi Class Graph

No Jenis Nama Deskripsi

1 Atribut node Objek node yang menampung suatu state 2 Atribut graph Atribut yang

merepresentasikan keterhubungan antar node 3 Atribut notasi Output atau keluaran yang

berupa notasi matematika 4 Method newGraph Method yang digunakan

untuk menginisiasi suatu graph

5 Method addNode Method yang digunakan untuk menambahkan suatu node ke dalam graph 6 Method generateGraph Method utama yang

digunakan untuk men-generate graph dari node yang ada

6. Class Matematika

Class Matematika merupakan class yang memvalidasi suatu notasi apakah valid atau tidak.

Penjelasan detail mengenai atribut dan method yang ada pada class Matematika dapat dilihat pada table berikut :

(28)

Tabel 13. Deskripsi Class Matematika

No Jenis Nama Deskripsi

1 Atribut notasi String yang digunakan untuk menampung notasi

matematika

2 Method newMatematika Method yang digunakan untuk mengisiasi instance Matematika

3 Method execMath Method yang berfungsi untuk untuk memvalidasi sekaligus mengambil hasil akhir dari suatu operasi matematika

7. Class HistoryPengerjaan

Class HistoryPengerjaan merupakan class yang berfungsi menyimpan history pengerjaan siswa sebagai bahan untuk proses perhitungan statistik untuk menganalisa proses pembelajaran. Penjelasan detail mengenai atribut dan method yang ada pada class HistoryPengerjaan dapat dilihat pada table berikut :

Tabel 14. Deskripsi Class HistoryPengerjaan

No Jenis Nama Deskripsi

1 Atribut idSoal Atribut yang merujuk ke suatu soal dalam basis data Soal

2 Atribut soal String yang digunakan untuk menyimpan rangkaian kalimat soal 3 Atribut jawaban Notasi matematika yang

dijabarkan oleh siswa sebagai solusi dari soal

(29)

yang diberikan

4 Atribut level Atribut yang digunakan dalam menampung tingkat kesulitan dari suatu soal

5 Method newHistoryPengerjaan Method yang digunakan untuk menginisiasi suatu instance dari

HistoryPengerjaan 6 Method saveHistory Method yang digunakan

untuk menyimpan history pengerjaan soal saat siswa mulai memilih soal 7 Method updateHistory Method yang digunakan

untuk mengubah tanggal penyelesaian beserta jawaban dan status dari jawaban, apakah benar atau salah

8 Method viewHistoryDetail Method yang digunakan untuk menampilkan history pengerjaan untuk setiap soal

9 Method viewHistoryStatistic Method yang digunakan untuk menghitung dan menampilkan statistik keberhasilan suatu soal dapat dijawab oleh siswa

(30)

3.2.4 Sequence Diagram

Untuk mengetahui lebih jelas mengenai urutan proses yang terjadi dalam setiap use case, dapat digambarkan melalui sequence diagram. Berikut sequence diagram untuk menjelaskan use case yang telah dipaparkan:

1. Upload Kosa Kata

: Soal

UIUploadKosaKata : KosaKata : DataAturan

newKosaKata() insertKata() getKosaKata() updateKata() cekKataDigunakanFSC() cekKataDigunakanSoal() deleteKata() cekKataDigunakanFSC() cekKataDigunakanSoal()

Gambar 12. Sequence Diagram Upload Kosa Kata

Pada proses ini pengguna akan mendaftarkan semua kosa kata yang akan digunakan untuk soal beserta jenisnya. Hal ini diperlukan dalam melakukan pengecekan struktur kata dalam kalimat yang harus memmenuhi format S-P-O atau S-P-O-K.

Pada proses ini pengguna memasukkan kata yang akan disimpan. Lalu aplikasi akan mengecek apakah kata tersebut telah ada atau belum. Jika belum ada, maka kata akan langsung disimpan ke dalam basis data. Namun jika telah ada, akan diperiksa apakah sudah digunakan oleh DataAturan atau Soal. Jika belum digunakan, maka kata atau jenis kata yang dimaksud dapat diubah. Begitu juga untuk

(31)

penghapusan kosa kata, kata akan dicek terlebih dahulu apakah sudan digunakan data aturan atau soal.

(32)

2. Upload Data Aturan

UIUploadDataAturan : DataAturan : KosaKata : Soal

newDataAturan() getFSC() insertFSC() updateFSC cekKataDigunakanSoal() deleteFSC() cekKataDigunakanSoal() getKosaKataFSC()

Gambar 13. Sequence Diagram Upload Data Aturan

Pada proses ini user akan menggunakan kata atau frase dalam Bahasa Indonesia untuk merepresentasikan suatu operator matematika. Pada saat penambahan data aturan, Class DataAturan akan memeriksa apakah data aturan telah ada sebelumnya atau tidak. Jika belum ada, maka data aturan akan disimpan. Sedangkan untuk proses pengubahan dan penghapusan data, akan dilakukan pengecekan terlebih dahulu apakah data aturan yang dimaksud telah digunakan dalam soal atau belum. Jika belum, maka proses perubahan dan penghapusan dapat dilakukan, dan jika sudah digunakan soal, maka data aturan tidak dapat diubah maupun dihapus.

(33)

3. Upload Soal

: DataAturan

UIUploadSoal : Soal : KosaKata : Node : Graph : Matematika

newSoal() getSoal() cekSoal() setGraph newKosaKata() getJenisKata() isSubject isPredikat newDataAturan getOperator isSubject newNode() newGraph() addNode() generateGraph newMatematika() execMath() insertSoal()

Gambar 14. Sequence Diagram Upload Soal

Pada proses ini pengguna akan memasukkan kalimat soal matematika, lalu class Soal akan menginisiasi instance Soal sebelum melakukan validasi terhadap kalimat. Class Soal ini melakukan pengecekan terhadap DataAturan. Jika valid, maka akan dilakukan penge-set-an node untuk selanjutnya di-generate suatu graph yang keluaran akhirnya berupa notasi matematika. Dan jika soal yang di-input valid, maka class Soal akan menyimpannya ke dalam basis data.

(34)

4. Lihat Statistik Jawaban

UILihatStatistik : HistoryPengerjaan newHistoryPengerjaan()

viewHistoryDetail() viewHistoryStatistic()

Gambar 15. Sequence Diagram Lihat Statistik Jawaban

Pada proses ini user memilih salah satu soal atau keseluruhan soal, lalu class Class HistoryPengerjaan akan memberikan statistik dari history pengerjaan untuk soal yang dimaksud.

5. Lihat Data Aturan

: DataAturan UILihatDataAturan

newDataAturan() getFSC()

Gambar 16. Sequence Diagram Lihat Data Aturan

Pada proses ini user akan memilih salah satu atau keseluruhan data aturan yang ada untuk ditampilkan. Class DataAturan akan

(35)

mengecek apakah data aturan yang dimaksud ada atau tidak. Jika ada, maka data aturan yang dimaksud akan ditampilkan di layar.

6. Mengerjakan Soal

UIDoSoal : Soal : KosaKata : DataAturan : Node : Graph : Matem atika : His toryPengerjaan newSoal() getRandomSoal() cekSoal() setGraph isSubject isPredikat isSubject newKosaKata() getJenis Kata() newDataAturan getOperator newNode() newGraph() addNode() generateGraph newMatematika() execMath() newHis toryPengerjaan() saveHistory updateHistory()

(36)

Pada proses ini, user memilih level/tingkat kesulitan soal yang ingin dikerjakan. Lalu aplikasi menampilkan satu soal secara acak. Pada saat yang sama, soal dan waktu awal pengerjaan akan disimpan oleh class HistoryPengerjaan sebagai bahan untuk statistik.

Jawaban user yang diberikan akan dicek apakah memenuhi kaidah. Soal yang diberikan, akan di-parsing per kata hingga membentuk token-token yang menjadi node untuk selanjutnya di-generate ke dalam bentuk graph sehingga menghasilkan notasi dan jawaban matematika yang benar. Hasil notasi yang di-generate sistem akan dianalisis, dibandingkan dengan jawaban yang diberikan user. Jika jawaban user sesuai dengan notasi hasil generate sistem, maka jawaban dianggap benar. Dan jika tidak, maka jawaban dianggap salah.

Soal yang dipilih, kapan dan lama waktu pengerjaan akan dicatat oleh class HistoryPengerjaan sebagai bahan untuk analisis pengajar.

(37)

7. Lihat Pembahasan

Gambar 18. Sequence Diagram Lihat Pembahasan

Pada proses ini, user memilih salah satu soal yang akan dilihat hasil pembahasannya. Soal yang diberikan, akan di-parsing per kata hingga membentuk token-token yang menjadi node untuk selanjutnya di-generate ke dalam bentuk graph berarah sehingga menghasilkan notasi dan jawaban matematika yang benar.

UIPembahasan : Soal : KosaKata : DataAturan : Node : Graph : Matematika newSoal() getSoal() cekSoal() setGraph isSubject isPredikat isSubject newKosaKata() getJenisKata() newDataAturan getOperator newNode() newGraph() addNode() generateGraph newMatematika() execMath()

(38)

3.2.5

Perancangan Data

Karena sistem yang dikembangkan menyangkut pengolahan dan penyimpanan data, perlu diperhitungkan juga bagaimana susunan penyimpanan data di dalam basis data sesuai kebutuhan sistem. Basis data yang dikembangkan terdiri dari tabel yang bersifat referensi, input, dan output.

Tabel yang bersifat referensi terdiri dari tiga tabel. Pertama tabel “KosaKata” yang menyimpan daftar kata dalam Bahasa Indonesia beserta jenis kata. Kedua tabel “FSC” yang menyimpan daftar kata yang dipetakan menjadi operator matematika. Dan yang terakhir adalah tabel “KategoriSoal” yang menyimpan jenis soal berdasar tingkat kesulitan.

Tabel yang bersifat input adalah tabel “Soal”, yaitu tabel yang menyimpan data soal matematika yang diupload oleh pengajar. Seluruh data yang ada di dalam tabel ini harus dipastikan merupakan soal matematika yang valid.

Sedangkan untuk tabel yang bersifat output adalah tabel “HistorySoal”. Tabel ini menyimpan history kapan suatu soal dikerjakan, berapa lama pengerjaannya, serta benar atau salahnya jawaban yang diberikan. Tabel ini diperlukan untuk melihat statistic keberhasilan pengerjaan suatu soal.

Susunan tabel-tabel yang digunakan dapat dilihat pada gambar berikut:

Dicatat Dimiliki digunakan Kos aKata IDKata Kata JenisKata FSC IDFSC Operator KategoriSoal IDKategori Kategori Soal IDSoal Soal HistorySoal IDHistory StartPengerjaan EndPengerjaan Status Jaw aban UserLogin userId username pass w ord

(39)

Penjelasan mengenai tabel-tabel diatas digunakan kamus data yang dapat dilihat pada lampiran mengenai kamus data.

3.2.6

Perancangan Antar Muka

Antar muka digunakan agar pengguna dapat berinteraksi dengan aplikasi. Berikut rancangan antar muka yang akan digunakan pada aplikasi :

1. Halaman Utama

Halaman utama ditampilkan saat aplikasi pertama dijalankan. Halaman ini berfungsi untuk menampilkan list menu yang bisa diakses oleh siswa serta pilihan login jika akan menggunakan aplikasi sebagai admin/pengajar.

Gambar 20. Halaman Utama

2. Lihat Data Aturan

Halaman Lihat Data Aturan digunakan untuk melihat list kata maupun frase yang didefinisikan sebagai operator matematika. Pengguna bisa memfilter kata/frase dan atau operator yang dicari dengan mengisi textbox

(40)

yang tersedia, atau membiarkannya kosong untuk menampilkan seluruh data yang ada, dan kemudian mengklik tombol “Cari”.

LIHAT DATA ATURAN

Mengerjakan Soal Lihat Data Aturan MENU Lihat Pembahasan Login Admin Log Out Data Aturan Kata/Frase Operator Data Aturan Cari

No. Kata/Frase Operator

1 membeli +

Gambar 21. Lihat Data Aturan

3. Mengerjakan Soal

Menu Mengerjakan Soal digunakan untuk menjawab pertanyaan yang telah di-upload oleh pengajar

(41)

Gambar 22. Mengerjakan Soal

4. Lihat Pembahasan

Menu Lihat Pembahasan digunakan untuk melihat solusi dari suatu soal, baik secara penulisan notasi maupun jawaban akhir.

(42)

Gambar 23. Lihat Pembahasan

5. Login Admin

Fitur Login Admin digunakan untuk validasi privilege agar bisa mengakses fitur-fitur admin.

(43)

Gambar 24. Login Admin

6. Upload Kosa Kata

Fitur upload Kosa Kata digunakan untuk menambahkan suatu kata beserta jenisnya. Kalimat yang digunakan dalam soal sebelumnya harus terdaftar dalam basis data kosa kata. Hal ini bertujuan dalam pengecekan struktur kalimat.

Pada menu ini, pengguna dapat juga mengubah atau menghapus suatu kata, dengan syarat kata tersebut belum digunakan dalam data aturan atau dalam soal.

(44)

UPLOAD KOSA KATA

Mengerjakan Soal Lihat Data Aturan MENU

Lihat Pembahasan Upload Data Aturan Upload Soal KosaKata Jenis Kata Kata Data Aturan Simpan

No. Kata JenisKata

1 membeli Kata Kerja

Log Out Lihat Statistik Cari Delete + Edit + Delete Edit Upload Kosa Kata

Kata Kerja

Gambar 25. Upload Kosa Kata

7. Upload Data Aturan

Fitur upload Data Aturan digunakan untuk menambahkan suatu aturan baru untuk suatu kata atau frase, bahwa kata atau frase tersebut merepsentasikan suatu operator matematika. Selain bisa menambahkan suatu data aturan baru, pada menu ini juga diperbolehkan untuk mengubah atau menghapus suatu data aturan yang masih belum digunakan.

(45)

8. Upload Soal

Salah satu fitur bagi admin/pengajar ini digunakan untuk menambahkan suatu soal ke dalam basis data soal. Selain itu bisa juga melihat daftar pertanyaan yang telah ada per kategori/tingkat kesulitan.

UPLOAD SOAL

Mengerjakan Soal Lihat Data Aturan MENU

Lihat Pembahasan Upload Data Aturan Upload Soal

Log Out Lihat Statistik

Pilih Level Soal Level

Soal

Lihat Soal yang Ada Beginner/Mudah Daftar Soal [Soal] Simpan No. Soal 1 Xxx sss xxxxx Level Mudah

Gambar 27. Upload Soal

9. Lihat Statistik Jawaban

Pada menu Lihat Statistik Jawaban ini menampilkan riwayat pengerjaan untuk suatu soal. Persentase keberhasilan merupakan besarnya berapa kali jawaban berhasil dijawab berbanding total berapa kali soal tersebut mencoba dikerjakan.

(46)

Gambar 28. Lihat Statistik Jawaban - Persentase

Gambar

Gambar  berikut  menunjukkan  transisi  yang  valid  dari  satu  state/keadaan  ke  keadaan yang lain
Tabel 2. Deskripsi Use Case Upload Data Aturan  Nama  Upload data aturan
Tabel 5. Deskripsi Use Case Lihat Data Aturan  Nama  Lihat data aturan
Gambar 4. Activity Diagram - Upload Kosa Kata
+7

Referensi

Dokumen terkait

Pada pelaksanaan kegiatan PPL di SMP Negeri 1 Ngaglik telah banyak memberikan manfaat serta pengalaman bagi praktikan baik dalam hal yang menyangkut proses

menggunakan data yang terhubung dengan data pelanggan dan data barang. Ketika mencatat transaksi, maka kode adalah hal kunci yang harus diinput. Contoh lain dalam transaksi

Hal ini berarti auditor yang dapat mengimplementasikan due professional care yang terefleksikan oleh sikap skeptisme dan keyakinan yang memadai dalam pekerjaan

Penelitian ini dimaksudkan untuk memperoleh gambaran empirik tentang penggunaan bahan ajar LKS dilihat dari kemandirian belajar dan hasil belajar siswa kelas XI

Dapatan kajian mendapati sikap pelajar lebih menggemari untuk mempelajari bahasa Inggeris daripada bahasa Indonesia dan responden juga mempunyai motivasi belajar bahasa yang

pengembangannya) hingga produktivitas kerja mereka meningkat, yang pada akhirnya memberikan keuntungan bagi perusahaan sehingga dapat menjamin kontinuitas perusahaan

Pada awalnya batik Belanda tidak menampilkan pola-pola buketan. Namun demikian, seiring dengan adanya perkembangan polanya, maka batik Belanda pun menampilkan ragam hias

Berdasarkan hasil wawancara dengan pengguna, ditemukan beberapa masalah pada tampilan desain antarmuka situs web SMK Negeri 1 Bangsri yang mempengaruhi usability situs