BAB III ANALISA DAN PERANCANGAN

dokumen-dokumen yang mirip
BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN DESAIN SISTEM

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN APLIKASI 3.1 ANALISIS

BAB III ANALISA DAN PERANCANGAN. Aplikasi penterjemahan kata Indonesia-Inggris yang dibuat dalam tulisan

BAB III ANALISA DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS DAN PERANCANGAN

MODUL 2 SELECTION & LOOPING PADA FORM

BAB IV. adalah tahap implementasi dan penyempurnaan. Berikut ini akan dijelaskan. implementasi dari aplikasi permainan komputer game knight s tour

BAB III Metode Perancangan

BAB 4 IMPLEMENTASI DAN EVALUASI. Untuk membantu dalam proses pemantauan jaringan switch backbone

BAB III ANALISA DAN PERANCANGAN

Gambar 3.1. Diagram alir apikasi image to text

BAB III ANALISIS DAN PERANCANGAN. Dalam proses produksi terdapat beberapa faktor yang akan mempengaruhi

BAB III ANALISA DAN PERANCANGAN

BAB V IMPLEMENTASI DAN PENGUJIAN

OPERASI FILE Operasi File Dalam Visual Basic Membuka File

BAB III ANALISA MASALAH DAN RANCANGAN PROGRAM

BAB IV HASIL DAN UJI COBA

Krisna D. Octovhiana. 1.1 Mengenal Struktur Kontrol.

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN. Subbab ini akan berisi pembahasan mengenai cara kerja algoritma Welch-

Pengenalan Dan Contoh Penggunaan Sederhana Fungsi Looping Pada Visual Basic

BAB III ANALISA DAN PERANCANGAN

STRUKTUR KENDALI PERULANGAN

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

MODUL VI Penggunaan Struktur Kontrol Pengulangan

datanya. Hasil User dapat melanjutkan aktivitas selanjutnya setelah memilih File yang diinginkan. 2. Use Case Menyisipkan Teks Table 4-2 Deskripsi Use

URAIAN POKOK PERKULIAHAN

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

BAB III ANALISA DAN PERANCANGAN. sampai tahap pengujian saja tidak sampai tahap pemeliharaan.

BAB III ANALISA DAN PERANCANGAN

BAB IV REKAYASA SISTEM

DAFTAR PUSTAKA. Multimedia Control, Steven Holzner. Diakses pada tanggal 14/09/2011 Dari

BAB III ANALISA DAN PERANCANGAN SISTEM. algoritma djikstra, beberapa kebutuhan yang diperlukan meliputi : f. Menyimpan data titik, garis dan gambar

MEMBUAT LAPORAN (DATA REPORT)

BAB IV HASIL DAN UJI COBA

BAB III ANALISIS DAN RANCANGAN

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa latin computere yang berarti

BAB III ANALISA DAN PERANCANGAN

BAB 3 ANALISIS DAN PERANCANGAN


PERTEMUAN KE-6 STRUKTUR PERULANGAN (menggunakan Loop dan Timer)

BAB III KONSEP DAN PERANCANGAN APLIKASI

Krisna D. Octovhiana. 1.1 Apa itu Array?

Andy Prasetyo Utomo, S.Kom Pemrograman Terstruktur (Visual Basic 6.0)

BAB II LANDASAN TEORI

BAB IV HASIL DAN IMPLEMENTASI. belajar dan bertukar ilmu dilingkungan jurusan Teknologi Informasi. Halaman-halaman

BAB III METODE PENELITIAN. testing dalam suatu siklus hidup pengebangan software. White box testing adalah

BAB III ANALISA DAN PERANCANGAN APLIKASI. Analisa masalah dibagi menjadi dua yaitu analisa aplikasi awal maze dengan

Visual Basic 6.0 For Beginners

PRAKTIKUM 4 ARRAY DAN SUB ROUTINE

BAB 2 LANDASAN TEORI

PRAKTIKUM 3 LOOPING. Form1. Label1. Text1 Label4. Frame1 Label2. Command1. Label3. Text3. Text2. Frame1 Label5 Label6. Command2

Membuka file prjenkripsi.vbp kemudian tekan tombol Run.

MODUL PRAKTIKUM 1 DASAR VISUAL BASIC 6.0

BAB IV IMPLEMENTASI DAN EVALUASI. Hasil analisa dan implementasi dari sistem otomasi pembuatan flow chart

BAB IV IMPLEMENTASI DAN PENGUJIAN

Visual Basic 6.0 For Beginners

BAB 3 PERANCANGAN PROGRAM

BAB III ANALISIS DAN PERANCANGAN SISTEM. Game yang dibangun merupakan game kuiz edukasi yang didalamnya

BAB III ANALISIS MASALAH DAN RANCANGAN PROGRAM

ANALISIS DAN DESAIN SISTEM

BAB III ANALISA PERANCANGAN DAN PEMODELAN SISTEM

BAB 4 IMPLEMENTASI DAN EVALUASI PROGRAM. implementasi dari program aplikasi yang dibuat. Penulis akan menguraikan

BAB 3 PERANCANGAN PROGRAM. dari OOP (Object Oriented Programming) di mana dalam prosesnya, hal-hal

BAB 2 LANDASAN TEORI. Istilah komputer (computer) berasal dari bahasa Latin Computare yang berarti

BAB IV ANALISIS DAN PERANCANGAN. permasalahan, kesempatan, hambatan yang terjadi dan kebutuhan-kebutuhan yang

Selection, Looping, Branching

Krisna D. Octovhiana. 1.1 Apa itu Operator?

Pemrograman dengan C++ Builder 2004 Taryana S Pendahuluan C++ Builder adalah sebuah aplikasi yang digunakan untuk pengembangan dengan


BAB III ANALISIS DAN PERANCANGAN

Mengelola Bagian Utama Website Sekolah

PENYAJIAN ALGORITMA. a. Stuctured English b. Psedoucode

BAB IV HASIL DAN UJI COBA

Team project 2017 Dony Pratidana S. Hum Bima Agus Setyawan S. IIP

BAB III ANALISA DAN PERANCANGAN 3.1 ANALISA PERANGKAT LUNAK BASIS DATA MULTIMEDIA

BAB III ANALISIS DAN PERANCANGAN

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB III ANALISIS DAN PERANCANGAN. Perancangan game mencocokkan gambar ini dibuat agar dapat berjalan

BAB III PERENCANAAN DAN PEMBUATAN PERANGKAT LUNAK

BAB III ANALISA DAN PERANCANGAN APLIKASI

Algoritma Pemrograman A

PERANCANGAN APLIKASI KUIS TEBAK LAGU NASIONAL DAN LAGU DAERAH DENGAN MENGGUNAKAN MICROSOFT VISUAL BASIC 6.0 MUHAMMAD SYAHPUTRA.

BAB III ANALISIS DAN PERANCANGAN

BAB III ANALISIS SISTEM DAN PERANCANGAN

Tujuan / Sasaran :Mahasiswa dapat mempraktekkan penggunaan repatition/ perulangan

BAB III ANALISA DAN PERANCANGAN. Pada dasarnya perancangan sistem yang dibuat oleh peneliti adalah

Modul Praktikum Ke-2

Rekursif/ Iterasi/ Pengulangan

BAB III ANALISIS DAN DESAIN SISTEM


BAB III ANALISIS DAN DESAIN SISTEM

MODUL PRAKTIKUM ALGORITMA & BAHASA PEMROGRAMAN I (BASIC) Dosen Pengasuh : Suroto, S.Kom, M.Ak

MODUL V REPETITIVE. Modul Praktikum Bahasa Pemrograman Visual (BPV)

Transkripsi:

BAB III ANALISA DAN PERANCANGAN Pada bagian ini penulis akan menganalisa kebutuhan kebutuhan dalam membuat aplikasi ini. Setelah semua kebutuhan selesai dianalisa, maka penulis akan melanjutkan ke tahap perancangan aplikasi. 3.1 Analisa Aplikasi Penghasil Soal Latihan Listening Bahasa Inggris Secara Otomatis Menggunakan Sumber Berita di Website Reuters Konsep atau cara kerja Aplikasi penghasil soal listening Bahasa Inggris ini adalah menggunakan sumber berita dari internet. Karena aplikasi ini menggunakan sumber berita dari internet, maka dibutuhkan koneksi ke internet saat akan menggunakan aplikasi ini. Aplikasi ini menggunakan komponen Inet pada Microsoft Visual basic 6.0 untuk dapat melakukan koneksi dengan website REUTERS. Setelah aplikasi terhubung dengan REUTERS, selanjutnya aplikasi akan menjalankan baris perintah yang dapat mengambil link atau alamat dari artikel berita di www.reuters.com dan kemudian menggunakan baris perintah yang lain lagi untuk dapat mengambil artikel berita yang ada di website tersebut. Aplikasi ini menggunakan metode TTS (Text To Speech) untuk menambah sisi ketertarikan dari segi user ketika menggunakan aplikasi ini. Ketika menggunakan aplikasi ini, user dapat memilih jenis soal yang akan keluar dan kemudian user menjawab soal-soal latihan tersebut, dimana jika benar maka nilai benar bertambah 1, dan jika salah nilai salah bertambah 1. Lebih jelasnya mengenai alur aplikasi ini ketika sudah dijalankan adalah sebagai berikut : 1. Pertama-pertama aplikasi akan mengambil materi-materi / artikel-artikel bahasa inggris dari website REUTERS secara online, aplikasi akan terlebih dahulu mengambil seluruh source code dari website REUTERS 19

20 menggunakan fasilitas Inet dari Microsoft Internet Transfer Control pada Microsoft Visual Basic 6.0, kemudian menggunakan algoritma tertentu untuk dapat mengambil link-link artikel berita pada REUTERS, kemudian setelah link artikel dipilih maka proses yang selanjutnya akan dilakukan adalah mengambil kalimat berita dengan menggunakan algoritma yang telah dibuat oleh penulis. 2. Kemudian setelah mendapatkan kalimat berita, barulah aplikasi dapat menghasilkan soal dan jawaban. Untuk masalah yang satu ini, penulis juga menggunakan sebuah algoritma, dimana algoritma ini nantinya akan memenggal kalimat sehingga diperolehlah soal dan jawaban yang kemudian disimpan ke dalam array pada variabel soal dan jawaban. Setelah itu, user akan diminta untuk memilih jenis soal latihan yang akan dijawab nantinya, kemudian aplikasi akan menampilkan sebuah jendela baru sesuai dengan jenis soal yang telah dipilih. 3. Kemudian setelah jendela yang baru muncul, barulah user dapat memulai untuk mendengar soal-soal latihan. Pada bagian ini aplikasi akan mengucapkan soal-soal yang telah dihasilkan oleh proses algoritma pemenggalan kalimat. Soal dibacakan satu persatu, setiap satu soal selesai diperdengarkan ke user, maka user dapat langsung mendengar soal yang berikutnya jika user telah memberikan jawaban atas soal yang baru saja diberikan. Untuk dapat mengucapkan pertanyaan-pertanyaan tersebut, penulis menggunakan fasilitas SAPI VOICE yang disediakan oleh MICROSOFT, kemudian dipanggil menggunakan di Microsoft Visual Basic 6.0. 4. Kemudian setelah aplikasi menerima input jawaban dari user, maka aplikasi akan langsung mengevaluasi hasil jawaban yang diberikan. Untuk bagian mengevaluasi apakah jawaban BENAR atau SALAH, aplikasi akan membandingkan jawaban yang telah diinput oleh user dengan jawaban yang BENAR yang diperoleh dari hasil pemenggalan kalimat. 5. Aplikasi akan mengajukan soal sampai ke soal yang terakhir.

21 3.2 Perancangan Aplikasi Penghasil Soal Latihan Listening Bahasa Inggris Secara Otomatis Menggunakan Sumber Berita di Website Reuters Untuk merancang aplikasi ini penulis akan menggunakan pemodelan use case diagram, struktur menu, flowchart, dan rancangan antar muka. Penulis menggunakan pemodelan-pemodelan tersebut dengan tujuan agar perancangan aplikasi ini dapat sesuai dengan kebutuhan-kebutuhan yang sebelumnya dianalisa, sehingga aplikasi pun dapat berjalan sesuai dengan yang diharapkan. 3.2.1 Use Case Diagram Berikut adalah use case dari Aplikasi Penghasil Soal Listening Bahasa Inggris Secara Otomatis Menggunakan Sumber Berita dari Internet. Gambar 3.1 Use Case Aplikasi Penghasil Soal Latihan Listening Bahasa Inggris

22 Penjelasan dari use case gambar 3.1 adalah sebagai berikut : Tabel 3.1 Skenario Use Case Mengambil Berita Nama Use case Mengambil Berita Deskripsi singkat Pada use case ini aplikasi akan mengambil berita dari website REUTERS Actor User Pra kondisi Aplikasi sudah dijalankan Tindakan Utama 1. Aplikasi melakukan koneksi ke www.reuters.com 2. User memilih artikel berita yang ingin diambil Tindakan alternatif - Pasca kondisi Apabila use case berhasil dijalankan, maka user dapat mulai memilih jenis soal. Tabel 3.2 Skenario Use Case Mendengar dan Menjawab Soal Completing Sentence Easy Nama Use case Mendengar dan Menjawab Soal Completing Sentence Easy Deskripsi singkat Pada use case ini user memilih soal yang akan keluar nantinya. Actor User Pra kondisi Aplikasi sudah dijalankan dan aplikasi berhasil mengambil berita Tindakan Utama 1. Aplikasi menampilkan jendela baru Tindakan alternatif - Pasca kondisi Apabila use case berhasil dijalankan, maka jendela baru akan muncul

23 Tabel 3.3 Skenario Use Case Mendengar dan Menjawab Soal Completing Sentence Hard Nama Use case Mendengar dan Menjawab Soal Completing Sentence Hard Deskripsi singkat Pada use case ini user memilih soal yang akan keluar nantinya. Actor User Pra kondisi Aplikasi sudah dijalankan dan aplikasi berhasil mengambil berita Tindakan Utama 1. Aplikasi menampilkan jendela baru Tindakan alternatif - Pasca kondisi Apabila use case berhasil dijalankan, maka jendela baru akan muncul Tabel 3.4 Skenario Use Case Mendengar dan Menjawab Soal Arrange Words Nama Use case Mendengar dan Menjawab Soal Arrange Words Deskripsi singkat Pada use case ini user memilih soal yang akan keluar nantinya. Actor User Pra kondisi Aplikasi sudah dijalankan dan aplikasi berhasil mengambil berita Tindakan Utama Tabel 4.2 Aplikasi menampilkan jendela baru Tindakan alternatif - Pasca kondisi Apabila use case berhasil dijalankan, maka jendela baru akan muncul

24 3.2.2 Struktur Menu Struktur Menu dari aplikasi ini adalah sebagai berikut : Aplikasi Penghasil Soal Latihan Listening Secara Otomatis Menggunakan Sumber Berita dari Internet MENU UTAMA Jendela Mengambil Berita File About Completing Sentence (Easy) Completing Sentence (Hard) Arrange Words Gambar 3.2 Struktur Menu Aplikasi Penghasil Soal Latihan Listening Secara Otomatis Menggunakan Sumber Berita dari Internet Aplikasi ini memiliki lima sub menu yaitu File, About, Completing Sentence Easy, Completing Sentence Hard, dan Arrange Words. Dimana sub menu File dan About ada pada bagian Menu Editor pada jendela Menu Utama sedangkan tiga sub menu lainnya ada pada bagian badan form jendela Mengambil Berita. Sub menu File sendiri terdiri dari satu sub menu proses yaitu Get News dan Exit. Berikut adalah gambar struktur menu File : Gambar 3.3 Struktur Menu File

25 4 sub menu lainnya tidak memiliki sub menu lagi dimana, dimana menu About berfungsi untuk menampilkan informasi tentang pembuat dan tentang aplikasi itu sendiri. Sedangkan untuk 3 sub menu yang lainnya berfungsi sebagai menu pilihan jenis soal pada aplikasi. 3.2.3 Flowchart A. Flowchart Aktivitas Keseluruhan Aplikasi Berikut adalah gambaran kasar aplikasi menggunakan flowchart : User Sistem START Meminta nama user Mengetikan nama Ambil link atau alamat artikel berita Pilih link atau alamat artikel berita Ambil berita Pilih jenis soal latihan Menampilkan tampilan jendela baru sesuai dengan jenis soal yang dipilih Klik tombol dengar soal Mengucapkan soal lalu menampilkan pilihan jawaban Mendengarkan soal Memilih jawaban Menerima jawaban dari user Mengevaluasi jawaban dari user Menampilkan keterangan BENAR / SALAH Klik tombol NEXT Soal masih ada? Menampilkan jumlah BENAR dan SALAH dari jawaban user Ulang? END Gambar 3.4 Flowchart Aktivitas Keseluruhan Aplikasi

26 Gambar 3.4 memperlihatkan aktivitas keseluruhan yang dilakukan oleh aplikasi saat dijalankan. Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, aplikasi mulai dijalankan 2. Meminta nama user, aplikasi meminta nama dari user. 3. Mengetikan nama, user mengetik nama pada kotak dialog yang telah disediakan. 4. Ambil link atau alamat artikel berita, aplikasi melakukan koneksi dengan website REUTERS dan mengambil link atau alamat artikel berita. 5. Pilih link atau alamat artikel berita, user memilih link atau alamat artikel berita yang akan diambil beritanya. 6. Ambil berita, aplikasi mengambil isi berita sesuai dengan link atau alamat yang dipilih oleh user 7. Pilih jenis soal, user memilih jenis soal yang dihasilkan oleh aplikasi. 8. Menampilkan tampilan jendela baru sesuai dengan jenis soal yang dipilih, aplikasi akan pindah atau menampilkan jendela sesuai dengan jenis soal yang dipilih. 9. Klik tombol dengar soal, user meng-klik tombol untuk mendengarkan soal. 10. Mengucapkan soal lalu menampilkan pilihan jawaban, aplikasi mengucapkan soal kemudian menampilkan pilihan jawaban yang dapat dipilih oleh user nantinya. 11. Mendengarkan soal, user mendengarkan dengan penuh perhatian terhadap soal yang dibacakan oleh aplikasi. 12. Memilih jawaban, user memilih jawaban yang dianggapnya paling benar dari pilihan yang diberikan. 13. Menerima jawaban dari user, aplikasi akan menampilkan beberapa pilihan jawaban dan kemudian user memilih satu diantara beberapa jawaban tersebut. 14. Mengevaluasi jawaban dari user, aplikasi akan membandingkan jawaban yang dipilih oleh user dengan kunci jawaban yang benar. 15. Menampilkan keterangan BENAR atau SALAH, aplikasi akan memberikan notifikasi benar atau tidaknya jawaban dari user.

27 16. Soal masih ada?, aplikasi memeriksa apakah soal selanjutnya masih ada atau sudah habis? Jika habis maka soal latihan selesai dan lanjut ke proses no 18, jika belum maka lanjutkan proses no 17. 17. Klik tombol NEXT, user menekan tombol NEXT lalu aplikasi kembali menjalankan proses no 9. 18. Menampilkan jumlah BENAR dan SALAH dari jawaban user, aplikasi akan memberikan notifikasi bahwa soal latihan telah habis dan menampilkan jumlah kebenaran dan kesalahan dari jawaban yang user berikan. 19. Ulang?, user dapat kembali ke menu utama dan memilih berita yang lain dengan jenis soal yang lain atau sama. Jika maka aplikasi akan kembali ke proses no 5, dan jika maka aplikasi akan berakhir. 20. End, aplikasi berakhir.

28 B. Flowchart Fungsi Ambil Link atau Alamat Artikel Berita Fungsi Ambil Link atau Alamat Artikel Berita pada aplikasi digunakan untuk dapat mengambil link-link atau alamat-alamat artikel berita yang ada pada halaman muka website REUTERS. Untuk dapat melihat langkah-langkah yang dilakukan fungsi ini dengan jelas, penulis membuat flowchart yang menggambarkan proses-proses apa saja yang dilakukan oleh fungsi ini. Berikut adalah flowchart dari fungsi tersebut : START Ambil kode sumber (source code) HTML dari Website http://www.reuters.com Ambil link atau alamat artikel berita yang pertama lalu tambahkan ke dalam ListBox Periksa apakah masih terdapat link atau alamat artikel berita lainnya? TRUE Ambil link atau alamat artikel berita lalu tambahkan ke dalam ListBox FALSE FALSE Jika ada minimal 1 link atau alamat artikel berita TRUE CETAK FAILED CETAK COMPLETE END Gambar 3.5 Flowchart Fungsi Ambil Link atau Alamat Artikel Berita

29 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma atau Fungsi Ambil Link atau Alamat Artikel Berita dijalankan. 2. Ambil kode sumber (source code) HTML dari website http://www.reuters.com, aplikasi melakukan koneksi dengan website REUTERS lalu mengambil seluruh kode sumber halaman depan REUTERS. 3. Ambil link atau alamat artikel berita yang pertama lalu tambahkan kedalam ListBox, aplikasi mengambil link atau alamat yang merujuk ke artikel-artikel berita. Untuk dapat mengambil link tersebut digunakan algoritma tertentu sehingga aplikasi bisa mendapatkan link artikel berita. Setelah link didapatkan, maka link tersebut disimpan dan ditambahkan kedalam ListBox 4. Periksa apakah masih terdapat link atau alamat artikel berita lainnya?, aplikasi memeriksa apakah masih terdapat link atau alamat yang merujuk ke artikel berita. Jika atau masih ada maka aplikasi akan menjalankan proses no 5, jika atau tidak ada maka aplikasi akan menjalankan proses no 6. 5. Ambil link atau alamat artikel berita lalu tambahkan kedalam ListBox, aplikasi menyimpan link dan menambahkannya kedalam ListBox kemudian aplikasi kembali menjalankan proses no 4. 6. Jika ada minimal 1 link atau alamat artikel berita?, jika tampilkan output COMPLETE, jika tidak tampilkan output FAILED. 7. End, Algoritma atau Fungsi Ambil Link atau Alamat Artikel Berita berakhir.

30 C. Flowchart Fungsi Ambil Artikel Berita Fungsi Ambil Artikel Berita pada aplikasi digunakan untuk dapat mengambil artikel berita yang ada pada website REUTERS sesuai dengan link atau alamat artikel berita yang dipilih. Untuk dapat melihat langkah-langkah yang dilakukan fungsi ini dengan jelas, penulis membuat flowchart yang menggambarkan proses-proses apa saja yang dilakukan oleh fungsi ini. Berikut adalah flowchart dari fungsi tersebut : START Ambil kode sumber (source code) HTML dari Artikel Berita yang dipilih Ambil kalimat pertama pada Artikel Berita kemudian tambahkan ke dalam TextBox Periksa apakah masih ada kalimat selanjutnya pada Artikel Berita TRUE Ambil kalimat selanjutnya pada Artikel Berita kemudian tambahkan ke dalam TextBox FALSE Jika minimal ada 1 kalimat berita TRUE FALSE CETAK Retrieving News Succeed END Gambar 3.6 Flowchart Fungsi Ambil Artikel Berita

31 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Fungsi Ambil Artikel Berita dijalankan. 2. Ambil kode sumber (source code) HTML dari artikel berita yang dipilih, aplikasi melakukan koneksi dengan website REUTERS lalu merujuk ke link atau alamat artikel berita yang dipilih, kemudian mengambil seluruh kode sumber Artikel Berita tersebut. 3. Ambil kalimat pertama pada Artikel Berita kemudian tambahkan kedalam ListBox, aplikasi menggunakan algoritma tertentu sehingga bisa mendapatkan kalimat atau paragraf pertama pada artikel berita menggunakan sumber kode yang didapatkan. Setelah kalimat pertama didapatkan, maka kalimat disimpan kedalam sebuah variabel bertipe array dan ditambahkan kedalam ListBox. 4. Periksa apakah masih ada kalimat selanjutnya pada Artikel Berita?, aplikasi memeriksa apakah masih terdapat kalimat selanjutnya pada artikel berita. Jika atau masih ada maka aplikasi akan menjalankan proses no 5, jika atau tidak ada maka aplikasi akan menjalankan proses no 6. 5. Ambil kalimat selanjutnya pada Artikel Berita lalu tambahkan kedalam ListBox, aplikasi mengambil kalimat terusan atau kalimat selanjutnya pada artikel berita, kemudian menyimpan kalimat tersebut kedalam sebuah variabel bertipe array lalu menambahkannya kedalam ListBox kemudian aplikasi kembali menjalankan proses no 4. 6. Jika minimal ada 1 kalimat berita?, jika tampilkan output Retrieving News Succeed, jika tidak maka lanjutkan ke proses no 7 7. End, Fungsi Ambil Artikel Berita berakhir.

32 D. Flowchart Fungsi Pemenggalan Kalimat Fungsi Pemenggalan Kalimat digunakan untuk dapat memenggal kalimat pada berita menjadi soal dan jawaban. Berikut adalah tampilan flowchartnya : START numberofsentences = 1 numberofsentences <= jumlah kalimat berita? numberofsentences = numberofsentences +1 Soal = kalimat(numberofsentences) Hitung jumlah karakter / panjang kata pada variabel Soal Jika jumlah karakter >= 15 dan <= 20? Pergi ke posisi karakter (jumlah huruf 14) lalu temukan karakter spasi pertama lalu simpan posisi spasi ke dalam variabel posisipotong Potong kalimat sebanyak (posisipotong-1) pada variabel Soal mulai dari posisi karakter pertama lalu simpan kedalam variabel kal1. Kemudian ambil kalimat sisa hasil potong pada variabel Soal dan simpan kedalam variabel kal2 Jika jumlah karakter > 20 dan <= 39? Pergi ke posisi karakter (jumlah huruf 15) lalu temukan karakter spasi pertama lalu simpan posisi spasi ke dalam variabel posisipotong Potong kalimat sebanyak (posisipotong-1) pada variabel Soal mulai dari posisi karakter pertama lalu simpan kedalam variabel kal1. Kemudian ambil kalimat sisa hasil potong pada variabel Soal dan simpan kedalam variabel kal2 Jika jumlah karakter >= 40? Pergi ke posisi karakter (jumlah huruf 30) lalu temukan karakter spasi pertama lalu simpan posisi spasi ke dalam variabel posisipotong Potong kalimat sebanyak (posisipotong-1) pada variabel Soal mulai dari posisi karakter pertama lalu simpan kedalam variabel kal1. Kemudian ambil kalimat sisa hasil potong pada variabel Soal dan simpan kedalam variabel kal2 END Gambar 3.7 Flowchart Fungsi Pemenggalan Kalimat

33 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma atau Fungsi Pemenggalan Kalimat dijalankan 2. numberofsentences = 1, menginisialisasi variabel numberofsentences dengan nilai 1 sebagai penanda nomor kalimat. 3. numberofsentences <= jumlah kalimat berita?, jika numberofsentences masih kurang dari jumlah kalimat berita, maka lanjut ke proses no 4. 4. Soal = kalimat(numberofsentences), pada proses ini variabel Soal diisi kalimat dari variabel kalimat(numberofsentences) sehingga bila nilai numberofsentences = 1 maka kalimat yang diambil adalah elemen array ke-1 pada variabel kalimat dan jika nilai numberofsentences = 2 maka kalimat yang akan diambil adalah kalimat pada elemen array ke-2, dan seterusnya. 5. Hitung jumlah karakter / panjang kata pada variabel Soal, menghitung jumlah karakter / panjang kata dengan tujuan agar dapat mengetahui panjang kalimat. 6. Jika jumlah karakter >= 15 dan <= 20?, melakukan pemeriksaan jumlah karakter atau panjang kalimat. Jika kondisi bernilai benar atau maka lanjut ke proses no 7. Jika kondisi bernilai salah atau maka loncat ke proses no 9. 7. Pergi ke posisi karakter (jumlah huruf 14) lalu temukan karakter spasi pertama lalu simpan posisi spasi ke dalam variabel posisipotong, pada bagian ini dicari karakter spasi atau pada posisi karakter di (jumlah huruf 14) lalu simpan posisi tersebut kedalam variabel posisipotong. 8. Potong kalimat sebanyak (posisipotong-1) pada variabel Soal mulai dari posisi karakter pertama lalu simpan kedalam variabel kal1. Kemudian ambil kalimat sisa hasil potong pada variabel Soal dan simpan kedalam variabel kal2, algoritma mengambil huruf atau karakter sebanyak (posisipotong-1) pada variabel Soal mulai dari karakter pertama lalu simpan kalimat yang telah berhasil dipotong kedalam variabel kal1. Kalimat yang dipotong tersebut adalah kalimat soal untuk bagian Multiple Choices. Kemudian kalimat sisa yang tidak dipotong pada

34 variabel Soal akan disimpan kedalam variabel kal2 yaitu sebagai kalimat jawaban pada setiap soal latihan nantinya. Lalu loncat ke proses no 15. 9. Jika jumlah karakter > 20 dan <= 39?, melakukan pemeriksaan jumlah karakter atau panjang kalimat. Jika kondisi bernilai benar atau maka lanjut ke proses no 10. Jika kondisi bernilai salah atau maka loncat ke proses no 13. 10. Pergi ke posisi karakter (jumlah huruf 15) lalu temukan karakter spasi pertama lalu simpan posisi spasi ke dalam variabel posisipotong, pada bagian ini dicari karakter spasi atau pada posisi karakter di (jumlah huruf 15) lalu simpan posisi tersebut kedalam variabel posisipotong. 11. Potong kalimat sebanyak (posisipotong-1) pada variabel Soal mulai dari posisi karakter pertama lalu simpan kedalam variabel kal1. Kemudian ambil kalimat sisa hasil potong pada variabel Soal dan simpan kedalam variabel kal2, algoritma mengambil huruf atau karakter sebanyak (posisipotong-1) pada variabel Soal mulai dari karakter pertama lalu simpan kalimat yang telah berhasil dipotong kedalam variabel kal1. Kalimat yang dipotong tersebut adalah kalimat soal untuk bagian Multiple Choices. Kemudian kalimat sisa yang tidak dipotong pada variabel Soal akan disimpan kedalam variabel kal2 yaitu sebagai kalimat jawaban pada setiap soal latihan nantinya. 12. Jika jumlah karakter >= 40?, melakukan pemeriksaan jumlah karakter atau panjang kalimat. Jika kondisi bernilai benar atau maka lanjut ke proses no 13. Jika kondisi bernilai salah atau maka loncat ke proses no 16. 13. Pergi ke posisi karakter (jumlah huruf 30) lalu temukan karakter spasi pertama lalu simpan posisi spasi ke dalam variabel posisipotong, pada bagian ini dicari karakter spasi atau pada posisi karakter di (jumlah huruf 30) lalu simpan posisi tersebut kedalam variabel posisipotong. 14. Potong kalimat sebanyak (posisipotong-1) pada variabel Soal mulai dari posisi karakter pertama lalu simpan kedalam variabel kal1. Kemudian ambil kalimat sisa hasil potong pada variabel Soal dan simpan kedalam variabel kal2, algoritma mengambil huruf atau karakter sebanyak

35 (posisipotong-1) pada variabel Soal mulai dari karakter pertama lalu simpan kalimat yang telah berhasil dipotong kedalam variabel kal1. Kalimat yang dipotong tersebut adalah kalimat soal untuk bagian Multiple Choices. Kemudian kalimat sisa yang tidak dipotong pada variabel Soal akan disimpan kedalam variabel kal2 yaitu sebagai kalimat jawaban pada setiap soal latihan nantinya. 15. numberofsentences = numberofsentences + 1, nilai numberofsentences bertambah satu untuk memberi nomor soal dan dapat mengambil elemen array yang selanjutnya pada variabel kalimat. Lalu kembali mengulang ke proses no 3 hingga nilai dari numberofsentences lebih dari jumlah kalimat berita. 16. End, Algoritma atau Fungsi Pemenggalan Kalimat berakhir. Gambar 3.8 Kondisi Pemeriksaan Pada Flowchart Fungsi Pemenggalan Kalimat Pada Flowchart Fungsi Pemenggalan Kalimat terdapat 3 jenis pemeriksaan kondisi seperti yang terlihat pada gambar 3.8, dimana fungsi dari pemeriksaan kondisi itu adalah untuk dapat melakukan pemenggalan kalimat di tengah-tengah. Penulis menemukan bahwa untuk dapat memenggal kalimat tanpa memenggal kata di dalam kalimat tersebut amat sangat sulit, karena jika pemenggalan benar-

36 benar dilakukan di tengah-tengah kalimat maka kemungkinan kata yang terpenggal amat sangat besar. Contoh kasus adalah sebagai berikut : - Contoh kasus Ada sebuah kalimat bahasa inggris He eats pizza every day dengan panjang kata atau banyak huruf adalah 23. Gambar 3.9 Struktur Kalimat He eats pizza every day Maka jika tengah = 23 : 2 = 11 atau 12, berarti akan memotong kata pizza, hal inilah yang ingin dihindari oleh penulis, sehingga penulis membuat 3 kondisi pemeriksaan diatas. Dan bila berdasarkan 3 kondisi pemeriksaan tersebut, maka kasus ini masuk ke kondisi pemeriksaan yang ke-2, karena jumlah hurufnya adalah 23. Lalu algoritma akan ke posisi dimana (panjang kata 15) jadi (23 15 = 8), sehingga algoritma pergi ke posisi huruf ke-8 lalu mencari karakter (SPASI). Karena kebetulan pada posisi huruf ke-8 adalah spasi, maka disimpanlah nilai 8 kedalam variabel posisipotong. Lalu algoritma akan mengambil huruf sebanyak (posisipotong 1) => (8-1 = 7), jadi yang akan kalimat yang diambil adalah He eats lalu disimpan ke variable kal1. Kemudian kalimat sisanya yaitu pizza every day disimpan kedalam variabel kal2. Dua kondisi yang lain memiliki cara kerja yang sama persis dengan proses yang satu ini, hanya saja perbedaannya terletak pada kondisi pemeriksaan dan posisi pemotongan kalimat yang akan dipotong atau dipenggal nantinya.

37 E. Flowchart Fungsi Pengiriman Soal dan Jawaban Fungsi Pengiriman Soal dan Jawaban pada aplikasi digunakan untuk mengirimkan soal-soal dan jawaban-jawaban yang telah dihasilkan sebelumnya oleh Fungsi Pemenggalan kalimat. Untuk dapat melihat langkah-langkah yang dilakukan fungsi ini dengan jelas, penulis membuat flowchart yang menggambarkan proses-proses apa saja yang dilakukan oleh fungsi ini. Berikut adalah flowchart dari fungsi tersebut : START i = 1 i <= numberofsentences? i = i + 1 Kirim isi dari variabel Soal(i) dan variabel isi Jawaban(i) ke ListBox Soal dan Jawaban END Gambar 3.10 Flowchart Pengiriman Soal dan Jawaban Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Pengiriman Soal dan Jawaban dijalankan. 2. i = 1, menginisialisasi variabel i dengan nilai awal = 1.

38 3. i <= numberofsentences?, melakukan pemeriksaan apakah nilai di dalam variabel i masih kurang dari sama dengan nilai dari numberofsentences. Jika maka jalankan proses no 4. Jika maka jalankan proses no 5. 4. Kirim isi dari variabel Soal(i) dan variabel Jawaban(i) ke ListBox Soal dan Jawaban, melakukan pengiriman soal-soal dan jawaban-jawaban dari variabel Soal dan Jawaban ke ListBox Soal dan Jawaban. 5. i = i + 1, melakukan proses Increment atau penambahan pada nilai di dalam variabel i sebanyak 1, kemudian kembali menjalankan proses no 3. 6. End, Algoritma Atau Fungsi Pengiriman Soal dan Jawaban berakhir.

39 F. Flowchart Soal Completing Sentence Easy Berikut adalah gambaran kasar yang dilakukan user dan sistem saat ada dibagian soal Completing Sentence Easy dengan menggunakan flowchart : User Sistem START User menekan tombol START untuk memulai Jalankan Fungsi PilihSoal dan AcakJawaban User menekan tombol LISTEN TO THE QUESTION untuk memulai mendengarkan soal Tampilkan soal Aplikasi memanggil komponen SAPI lalu mulai membacakan soal User mendengarkan satu persatu pilihan jawaban yang ada Tampilkan pilihan jawaban Memilih jawaban yang dianggap BENAR Menerima jawaban dari user Menekan tombol CHECK untuk mengevaluasi hasil jawaban Mengevaluasi jawaban dari user Menampilkan keterangan BENAR / SALAH Klik tombol NEXT Soal masih ada? Menampilkan jumlah BENAR dan SALAH dari jawaban user END Gambar 3.11 Flowchart Soal Completing Sentence Easy

40 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Soal Completing Sentence Easy mulai dijalankan oleh user 2. user menekan tombol START untuk memulai, pada bagian ini user akan menekan tombol START yang telah disediakan untuk bisa memulai. 3. Jalankan Fungsi PilihSoal dan AcakJawaban, sistem atau aplikasi menjalankan Fungsi PilihSoal untuk mendapatkan soal dan kemudian menjalankan Fungsi AcakJawaban untuk mengacak pilihan jawaban dengan jawaban yang BENAR. 4. Tampilkan Soal, aplikasi menampilkan soal yang telah didapat sebelumnya menggunakan Fungsi PilihSoal. 5. user menekan tombol LISTEN TO THE QUESTION untuk memulai mendengarkan soal, pada bagian ini user menekan tombol LISTEN TO THE QUESTION untuk dapat mendengarkan soal yang telah ada diaplikasi. 6. Aplikasi memanggil komponen SAPI lalu mulai membacakan soal, aplikasi berintegrasi dengan komponen SAPI pada microsoft dan kemudian membacakan soal yang ada. 7. Tampilkan pilihan jawaban, aplikasi menampilkan pilihan jawaban dimana salah satu diantaranya adalah jawaban yang BENAR. 8. User mendengarkan satu per satu pilihan jawaban yang ada, pada bagian ini user dengan penu perhatian mendengarkan satu per satu jawaban yang ditampilkan. 9. Memilih jawaban yang dianggap BENAR, pada bagian ini user sudah mempunyai pilihan jawaban yang dianggapnya paling BENAR dan kemudian memberikan pilihannya itu kepada aplikasi. 10. Menekan tombol CHECK untuk mengevaluasi hasil jawaban, pada bagian ini user meminta aplikasi untuk mengevaluasi terhadap jawaban yang telah dipilihnya. 11. Menerima jawaban dari user, pada bagian ini aplikasi menerima jawaban yang telah dipilih oleh user. 12. Mengevaluasi jawaban dari user, pada bagian ini aplikasi memeriksa apakah jawaban yang diberikan oleh user BENAR atau SALAH.

41 13. Menampilkan keterangan BENAR atau SALAH, pada bgian ini aplikasi akan memberikan notifikasi benar atau tidaknya jawaban dari user. 14. Soal masih ada?, pada baggian ini aplikasi memeriksa apakah soal selanjutnya masih ada atau sudah habis? Jika habis maka soal latihan selesai dan lanjut ke proses no 16, jika belum maka lanjutkan proses no 15. 15. Klik tombol NEXT, user menekan tombol NEXT lalu aplikasi kembali menjalankan proses no 3. 16. Menampilkan jumlah BENAR dan SALAH dari jawaban user, aplikasi akan memberikan notifikasi bahwa soal latihan telah habis dan menampilkan jumlah kebenaran dan kesalahan dari jawaban yang user berikan. 17. End, aplikasi berakhir. G. Flowchart Fungsi Pilih Soal Completing Sentence Easy Fungsi Pilih Soal pada aplikasi digunakan untuk memilih soal pada ListBox Soal di bagian jenis soal Completing Sentence Easy. Berikut adalah flowchart dari fungsi tersebut : START question = Soal(posisi) + "...(WHAT IS THE CUTTED WORDS?)" answer = Jawaban(posisi) sentence = Kalimat(posisi) END Gambar 3.12 Flowchart Fungsi Pilih Soal Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Pilih Soal dijalankan.

42 2. question = Soal(posisi) + "...(WHAT IS THE CUTTED WORDS?), baris ini adalah untuk mengisi variabel question (soal) dalam Completing Sentence Easy dengan kalimat soal pada ListBox Soal. Kalimat soal yang akan diambil adalah sesuai dengan nilai pada variabel posisi. Jika nilai variabel posisi adalah 1 maka yang diambil adalah kalimat soal pada index ke-1 di dalam ListBox Soal. 3. answer = Jawaban(posisi), baris ini adalah untuk mengisi variabel answer (jawaban) dalam Completing Sentence Easy dengan kalimat jawaban pada ListBox Jawaban. Kalimat jawaban yang akan diambil adalah sesuai dengan nilai pada variabel posisi. Jika nilai variabel posisi adalah 1 maka yang diambil adalah kalimat jawaban pada index ke-1 di dalam ListBox Jawaban. 4. sentence = Kalimat(posisi), baris ini adalah untuk mengisi variabel sentence (kalimat) dalam Completing Sentence Easy dengan kalimat lengkap yang belum dipenggal pada ListBox kalimat. Kalimat lengkap yang akan diambil adalah sesuai dengan nilai pada variabel posisi. Jika nilai variabel posisi adalah 1 maka yang diambil adalah kalimat lengkap pada index ke-1 di dalam ListBox Kalimat. 5. End, Algoritma Atau Fungsi Pilih Soal berakhir. H. Flowchart Fungsi Periksa Batas Atas dan Batas Bawah

43 Fungsi Periksa Batas Atas dan Batas Bawah pada aplikasi digunakan untuk mentukan nilai batas atas dan batas bawah disaat ingin mengambil atau mengacak pilihan jawaban. Berikut adalah flowchart dari fungsi tersebut : START a = 0, i = 1 i <= 1000? i = i + 1 a = a +5 Jika ((posisi + 4) >= 4 + a) dan ((posisi + 4) <= 8 + a)? atas = (4 + a) bawah = (0 + a) Keluar Loop END Gambar 3.13 Flowchart Fungsi Periksa Batas Atas dan Batas Bawah Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Periksa Batas Atas dan Batas Bawah dijalankan.

44 2. a = 0 dan i = 1, baris ini adalah untuk menginisialisasi variabel a dan i dengan nilai masing-masing 0 dan 1. Variabel a disini berfungsi sebagai penambah Batas Atas dan Batas Bawah dimana nilai dari variabel a sendiri akan bertambah 5 setiap kali perulangan. Sedangkan variabel i disini hanya sebagai pembatas perulangan. 3. i <= 1000?, melakukan pemeriksaan nilai didalam variabel i. Jika nilai pada variabel i masih kurang dari sama dengan 1000 atau kondisi bernilai BENAR atau maka perulangan akan terus berjalan dan dapat menjalankan proses no 4, tapi jika sudah melebihi 1000 atau kondisi bernilai SALAH atau maka perulangan akan berhenti dan menjalankan proses no 9. 4. Jika ((posisi + 4) >= 4 + a) dan ((posisi + 4) <= 8 + a)?, baris ini melakukan pemeriksaan kondisi dimana jika nilai posisi 0-4 maka Batas Atasnya adalah 4 dan Batas Bawahnya adalah 0, lalu jika nilai posisi 5-9 maka Batas Atasnya adalah 9 dan Batas Bawahnya adalah 5, dan seterusnya. Jika kondisi ini bernilai maka jalankan proses no 5, tapi jika kondisi bernilai maka jalankan proses no 7. 5. atas = (4 + a), bawah = (0 + a), baris ini menetapkan Batas Atas dan Batas Bawah. 6. Keluar Loop, memerintahkan untuk keluar dari proses perulangan dan jalankan proses no 9. 7. a = a + 5, baris ini melakukan proses increment (penambahan) nilai pada variabel a sebanyak 5. 8. i = i + 1, baris ini melakukan proses increment (penambahan) nilai pada variabel i sebanyak 1. Kemudian proses kembali ke langkah no 3. 9. End, Algoritma Atau Fungsi Periksa Batas Atas dan Batas Bawah berakhir.

45 I. Flowchart Fungsi Acak Jawaban Berikut adalah gambar flowchart Fungsi Acak Jawaban : START jejak = 0 jejak2 = 0 hasilacak = random Jalankan Fungsi Periksa Batas Atas dan Batas Bawah i = batasbawah i <= batasatas? i = i + 1 Jika i = posisi? jwblain(jejak) = listjwb.list(i) jejak = jejak + 1 j = 0 j <= 4? j = j + 1 Jika j = hasilacak? pilihanjwb(j) = answer pilihanjwb(j) = jwblain(jejak2) jejak2 = jejak2 + 1 listpilihan.clear g = 0 g <= 4? g = g + 1 listpilihan.additem pilihanjwb(g) posisi = posisi + 1 END Gambar 3.14 Flowchart Fungsi Acak Jawaban

46 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Acak Jawaban dijalankan. 2. jejak = 0 dan jejak2 = 0, baris ini adalah untuk menginisialisasi variabel jejak dan jejak2 dengan nilai masing-masing 0. Variabel jejak dan jejak2 disini berfungsi untuk mengakali bagian pengacakan jawaban. 3. hasilacak = random, baris ini untuk menyimpan hasil nilai acak untuk dapat menempatkan jawaban yang benar diantara pilihan jawaban yang lainnya secara acak. 4. Jalankan Fungsi Periksa Batas Atas dan Batas Bawah, baris ini untuk menjalankan Fungsi Periksa Batas Atas dan Batas Bawah. 5. i = batasbawah, pada baris ini variabel i diisi dengan nilai Batas Bawah. 6. i <= batasatas?, pada baris ini dilakukan pemeriksaan apakah nilai dalam variabel i masih kurang dari atau sama dengan nilai Batas Atas. Jika kondisi ini bernilai benar atau maka proses no 7 dapat dijalankan, tapi jika tidak maka jalankan proses no 10. 7. Jika i = posisi?, baris ini melakukan pemeriksaan kondisi apakah nilai didalam variabel i sama dengan nilai didalam variabel posisi. Jika kondisi ini bernilai BENAR atau maka jalankan proses no 9, tapi jika tidak jalankan proses no 8. 8. jwblain(jejak) = listjwb.list(i) dan jejak = jejak + 1, baris ini melakukan pengisian terhadap pilihan jawaban yang lain yang nantinya akan muncul. Pilihan jawaban yang diambil didapat dari ListBox Jawaban kemudian ditempatkan kedalam variabel jwblain. Jumlah pilihan jawaban yang akan diambil adalah sebanyak 4 dan diambil dari nilai Batas Bawah hingga nilai Batas Atas. Pilihan jawaban ini berfungsi untuk mengalihkan perhatian user, sehingga user tidak mudah untuk mengetahui mana jawaban yang benar diantar pilihan jawaban yang ada. Perlu diketahui bahwa pilihan jawaban yang diambil disini bukanlah jawaban yang sebenarnya terhadap soal yang sedang diajukan. Karena sebelumnya pada proses no 7 telah dilakukan pemeriksaan kondisi, jika nilai pada variabel i adalah sama dengan nilai pada variabel posisi maka jawaban tersebut pada ListBox

47 jawaban tidak akan diambil, atau dengan kata lain jika jawaban yang sebenarnya dari soal tidak akan diambil disini. 9. i = i + 1, baris ini melakukan proses increment (penambahan) nilai pada variabel i sebanyak 1. Kemudian proses kembali ke langkah no 6. 10. j = 0, pada baris ini variabel j diinisialisasi dengan nilai awal 0 11. j <= 4?, pada baris ini dilakukan pemeriksaan apakah nilai dalam variabel j masih kurang dari atau sama dengan 4. Jika kondisi ini bernilai benar atau maka proses no 12 dapat dijalankan, tapi jika tidak maka jalankan proses no 16 12. Jika j = hasilacak?, baris ini melakukan pemeriksaan kondisi apakah nilai didalam variabel j sama dengan nilai didalam variabel hasilacak. Jika kondisi ini bernilai BENAR atau maka jalankan proses no 13, tapi jika tidak jalankan proses no 14. 13. pilihanjwb(j) = answer, baris ini memasukan kalimat jawaban yang BENAR kedalam variabel pilihanjwb yang bertipe array. 14. pilihanjwb(j) = jwblain(jejak2) dan jejak2 = jejak2 + 1, baris ini memasukan pilihan jawaban yang lain yang sebelumnya telah dimasukan kedalam variabel jwblain. Sehingga nantinya variabel pilihanjwb akan berisi kumpulan pilihan jawaban yang salah satu diantaranya adalah jawaban yang BENAR. 15. j = j + 1, baris ini melakukan proses increment (penambahan) nilai pada variabel j sebanyak 1. Kemudian proses kembali ke langkah no 11. 16. listpilihan.clear dan g = 0, pada baris ini komponent ListBox Pilihan dikosongkan terlebih dahulu untuk memastikan bahwa tidak ada satu hurufpun pada ListBox Pilihan. Kemudian variabel g diinisialisasi dengan nilai awal 0. 17. g <= 4?, pada baris ini dilakukan pemeriksaan apakah nilai dalam variabel g masih kurang dari atau sama dengan 4. Jika kondisi ini bernilai benar atau maka proses no 18 dapat dijalankan, tapi jika tidak maka jalankan proses no 20.

48 18. listpilihan.additem pilihanjwb(g), baris ini memindahkan kalimat jawaban yang ada pada variabel pilihanjwb satu persatu sesuai dengan nilai pada variabel g. 19. g = g + 1, baris ini melakukan proses increment (penambahan) nilai pada variabel g sebanyak 1. Kemudian proses kembali ke langkah no 17. 20. posisi = posisi + 1, baris ini melakukan proses increment (penambahan) nilai pada variabel posisi sebanyak 1. Tujuan dari dilakukannya proses increment pada variabel posisi adalah karena nilai pada variabel posisi mewakili tiap-tiap soal yang ada. Maksudnya disini adalah jika nilai dalam variabel posisi adalah 1 maka soal yang muncul adalah soal dengan index ke-1 pada ListBox Soal dan jika nilai yang ada dalam variabel posisi adalah 2 maka soal yang muncul adalah soal dengan index ke-2 pada ListBox Soal dan seterusnya. 21. End, Algoritma Atau Fungsi Periksa Batas Atas dan Batas Bawah berakhir.

49 J. Flowchart Fungsi Periksa Jawaban Completing Sentence Easy dan Hard Berikut adalah flowchart Fungsi Periksa Jawaban : START Jika piljwb(0).value = True? pil = 0 Jika piljwb(1).value = True? pil = 1 Jika piljwb(2).value = True? pil = 2 Jika piljwb(3).value = True? pil = 3 Jika piljwb(4).value = True? pil = 4 Anda Belum Memilih Jawaban jawaban = listpilihan.list(pil) WRONG ANSWER Jika jawaban = answer? Text = WRONG ANSWER CORRECT ANSWER Text2 = Jawaban yang Benar Tampilkan Jawaban yang Benar Text = CORRECT ANSWER sapi.speak Text sapi.speak Text + the answer should be, + Text2 Benar = Benar + 1 Salah = Salah + 1 END Gambar 3.15 Flowchart Fungsi Periksa Jawaban Completing Sentence Easy dan Hard

50 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Periksa Jawaban dijalankan. 2. Jika piljwb(0).value = True?, baris ini melakukan pemeriksaan kondisi apakah option piljwb(0) dipilih oleh user. Jika kondisi bernilai BENAR atau maka jalankan proses no 3. Jika kondisi bernilai SALAH atau maka jalankan proses no 4. 3. pil = 0, pada baris ini variabel diinisialisasi dengan nilai 0 dan artinya option piljwb(0) dipilih oleh user. Setelah itu jalankan proses no 13. 4. Jika piljwb(1).value = True?, baris ini melakukan pemeriksaan kondisi apakah option piljwb(1) dipilih oleh user. Jika kondisi bernilai BENAR atau maka jalankan proses no 5. Jika kondisi bernilai SALAH atau maka jalankan proses no 6. 5. pil = 1, pada baris ini variabel diinisialisasi dengan nilai 1 dan artinya option piljwb(1) dipilih oleh user. Setelah itu jalankan proses no 13. 6. Jika piljwb(2).value = True?, baris ini melakukan pemeriksaan kondisi apakah option piljwb(2) dipilih oleh user. Jika kondisi bernilai BENAR atau maka jalankan proses no 7. Jika kondisi bernilai SALAH atau maka jalankan proses no 8. 7. pil = 2, pada baris ini variabel diinisialisasi dengan nilai 2 dan artinya option piljwb(2) dipilih oleh user. Setelah itu jalankan proses no 13. 8. Jika piljwb(3).value = True?, baris ini melakukan pemeriksaan kondisi apakah option piljwb(3) dipilih oleh user. Jika kondisi bernilai BENAR atau maka jalankan proses no 9. Jika kondisi bernilai SALAH atau maka jalankan proses no 10. 9. pil = 3, pada baris ini variabel diinisialisasi dengan nilai 3 dan artinya option piljwb(3) dipilih oleh user. Setelah itu jalankan proses no 13. 10. Jika piljwb(4).value = True?, baris ini melakukan pemeriksaan kondisi apakah option piljwb(4) dipilih oleh user. Jika kondisi bernilai BENAR atau maka jalankan proses no 11. Jika kondisi bernilai SALAH atau maka jalankan proses no 12. 11. pil = 4, pada baris ini variabel diinisialisasi dengan nilai 4 dan artinya option piljwb(4) dipilih oleh user. Setelah itu jalankan proses no 13.

51 12. Anda Belum Memilih Jawaban, pada baris ini aplikasi memberikan notifikasi kepada user karena user belum memilih jawaban yang telah disediakan. Kemudian jalankan proses no 25. 13. jawaban = listpilihan.list(pil)?, pada baris ini variabel jawaban diisi dengan pilihan jawaban yang telah diberikan oleh user. 14. Jika jawaban = answer?, baris ini melakukan pemeriksaan kondisi apakah jawaban BENAR atau SALAH. Jika kondisi bernilai BENAR atau maka jalankan proses no 15. Tapi jika kondisi bernilai SALAH atau maka jalankan proses no 19. 15. CORRECT ANSWER, aplikasi menampilkan label dengan tulisan CORRECT ANSWER yang artinya jawaban yang dipilih oleh user tepat atau BENAR. 16. Text = CORRECT ANSWER, baris ini mengisi variabel Text dengan kalimat CORRECT ANSWER. 17. sapi.speak Text, baris ini memerintahkan aplikasi untuk membaca kalimat yang ada didalam variabel Text. 18. Benar = Benar + 1, baris ini menambahkan nilai pada variabel Benar sebanyak 1 jika jawaban yang dipilih oleh user adalah BENAR. 19. WRONG ANSWER, aplikasi menampilkan label dengan tulisan WRONG ANSWER yang artinya jawaban yang dipilih oleh user tidak tepat atau SALAH. 20. Text = WRONG ANSWER, baris ini mengisi variabel Text dengan kalimat WRONG ANSWER. 21. Tampilkan jawaban yang Benar, baris ini menampilkan jawaban yang BENAR dari soal yang diberikan. 22. Text2 = jawaban yang Benar, baris ini mengisi variabel Text2 dengan kalimat jawaban yang BENAR dari soal yang diberikan. 23. sapi.speak Text + the answer should be, + Text2, pada baris ini aplikasi akan memanggil komponen SAPI dan mengucapkan bahwa jawaban yang dipilih oleh user adalah SALAH dan aplikasi akan sekaligus mengucapkan jawaban manakah yang BENAR.

52 24. Salah = Salah + 1, baris ini menambahkan nilai pada variabel Salah sebanyak 1 jika jawaban yang dipilih oleh user adalah Salah. 25. End, Algoritma Atau Fungsi Periksa Batas Atas dan Batas Bawah berakhir.

53 K. Flowchart Soal Completing Sentence Hard Berikut adalah gambaran kasar yang dilakukan user dan sistem saat ada dibagian soal Completing Sentence Hard dengan menggunakan flowchart : User Sistem START User menekan tombol START untuk memulai Jalankan Fungsi PilihSoal dan AcakJawaban User menekan tombol LISTEN TO THE QUESTION untuk memulai mendengarkan soal Tampilkan soal Aplikasi memanggil komponen SAPI lalu mulai membacakan soal User mendengarkan satu persatu pilihan jawaban yang ada Tampilkan pilihan jawaban Memilih jawaban yang dianggap BENAR Menerima jawaban dari user Menekan tombol CHECK untuk mengevaluasi hasil jawaban Mengevaluasi jawaban dari user Menampilkan keterangan BENAR / SALAH Klik tombol NEXT Soal masih ada? Menampilkan jumlah BENAR dan SALAH dari jawaban user END Gambar 3.16 Flowchart Soal Completing Sentence Hard

54 Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Soal Completing Sentence Hard dimulai. 2. user menekan tombol START untuk memulai, pada bagian ini user akan menekan tombol START yang telah disediakan untuk bisa memulai. 3. Jalankan Fungsi PilihSoal dan AcakJawaban, sistem atau aplikasi menjalankan Fungsi PilihSoal untuk mendapatkan soal dan kemudian menjalankan Fungsi AcakJawaban untuk mengacak pilihan jawaban dengan jawaban yang BENAR. 4. Tampilkan Soal, aplikasi menampilkan soal yang telah didapat sebelumnya menggunakan Fungsi PilihSoal. 5. user menekan tombol LISTEN TO THE QUESTION untuk memulai mendengarkan soal, pada bagian ini user menekan tombol LISTEN TO THE QUESTION untuk dapat mendengarkan soal yang telah ada diaplikasi. 6. Aplikasi memanggil komponen SAPI lalu mulai membacakan soal, aplikasi berintegrasi dengan komponen SAPI pada microsoft dan kemudian membacakan soal yang ada. 7. Tampilkan pilihan jawaban, aplikasi menampilkan pilihan jawaban dimana salah satu diantaranya adalah jawaban yang BENAR. 8. User mendengarkan satu per satu pilihan jawaban yang ada, pada bagian ini user dengan penu perhatian mendengarkan satu per satu jawaban yang ditampilkan. 9. Memilih jawaban yang dianggap BENAR, pada bagian ini user sudah mempunyai pilihan jawaban yang dianggapnya paling BENAR dan kemudian memberikan pilihannya itu kepada aplikasi. 10. Menekan tombol CHECK untuk mengevaluasi hasil jawaban, pada bagian ini user meminta aplikasi untuk mengevaluasi terhadap jawaban yang telah dipilihnya. 11. Menerima jawaban dari user, pada bagian ini aplikasi menerima jawaban yang telah dipilih oleh user. 12. Mengevaluasi jawaban dari user, pada bagian ini aplikasi memeriksa apakah jawaban yang diberikan oleh user BENAR atau SALAH.

55 13. Menampilkan keterangan BENAR atau SALAH, pada bgian ini aplikasi akan memberikan notifikasi benar atau tidaknya jawaban dari user. 14. Soal masih ada?, pada baggian ini aplikasi memeriksa apakah soal selanjutnya masih ada atau sudah habis? Jika habis maka soal latihan selesai dan lanjut ke proses no 16, jika belum maka lanjutkan proses no 15. 15. Klik tombol NEXT, user menekan tombol NEXT lalu aplikasi kembali menjalankan proses no 3. 16. Menampilkan jumlah BENAR dan SALAH dari jawaban user, aplikasi akan memberikan notifikasi bahwa soal latihan telah habis dan menampilkan jumlah kebenaran dan kesalahan dari jawaban yang user berikan. 17. End, aplikasi berakhir.

56 L. Flowchart Fungsi Pilih Soal Completing Sentence Hard Fungsi Pilih Soal ini digunakan untuk memilih soal pada ListBox Soal di bagian jenis soal Completing Sentence Hard. Secara keseluruhan jenis soal ini sebenarnya hampir sama jika dibandingkan dengan jenis soal Completing Sentence Easy, hanya saja pada jenis soal Completing Sentence Easy, soal yang ucapkan adalah kalimat utuh yang belum dipenggal, sedangkan disini, soal yang dibacakan adalah kalimat yang sebelumnya telah dipenggal, jadi perbedaannya terletak pada Fungsi Pilih Soal-nya saja, sedangkan fungsi yang lainnya sama. Berikut adalah flowchart dari fungsi tersebut : START question = Soal(posisi) + "...(CHOOSE THE FITS WORDS FOR THIS SENTENCE)" answer = Jawaban(posisi) END Gambar 3.17 Flowchart Fungsi Pilih Soal Completing Sentence Hard Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Pilih Soal dijalankan. 2. question = Soal(posisi) + "...(CHOOSE THE FITS WORDS FOR THIS SENTENCE), baris ini adalah untuk mengisi variabel question (soal) dalam Completing Sentence Hard dengan kalimat soal pada ListBox Soal. Kalimat soal yang akan diambil adalah sesuai dengan nilai pada variabel posisi. Jika nilai variabel posisi adalah 1 maka yang diambil adalah kalimat soal pada index ke-1 di dalam ListBox Soal.

57 3. answer = Jawaban(posisi), baris ini adalah untuk mengisi variabel answer (jawaban) dalam Completing Sentence Hard dengan kalimat jawaban pada ListBox Jawaban. Kalimat jawaban yang akan diambil adalah sesuai dengan nilai pada variabel posisi. Jika nilai variabel posisi adalah 1 maka yang diambil adalah kalimat jawaban pada index ke-1 di dalam ListBox Jawaban. 4. End, Algoritma Atau Fungsi Pilih Soal berakhir.

58 M. Flowchart Soal Arrange Words Berikut adalah gambaran kasar yang dilakukan user dan sistem saat ada dibagian soal Arrange Words dengan menggunakan flowchart : User Sistem START User menekan tombol START untuk memulai Jalankan Fungsi PilihSoal dan AcakKata User mendengarkan satu persatu kalimat acak Tampilkan kalimat acak Menyusun kalimat acak menjadi kalimat yang BENAR Menerima jawaban dari user Menekan tombol CHECK untuk mengevaluasi hasil jawaban Mengevaluasi jawaban dari user Menampilkan keterangan BENAR / SALAH Klik tombol NEXT Soal masih ada? Menampilkan jumlah BENAR dan SALAH dari jawaban user END Gambar 3.18 Flowchart Soal Arrange Words Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Soal Arrange Words dimulai.

59 2. user menekan tombol START untuk memulai, pada bagian ini user akan menekan tombol START yang telah disediakan untuk bisa memulai. 3. Jalankan Fungsi PilihSoal dan AcakKata, sistem atau aplikasi menjalankan Fungsi PilihSoal untuk mendapatkan kalimat dan kemudian menjalankan Fungsi AcakKata untuk mengacak kata-kata didalam kalimat. 4. Tampilkan Kalimat Acak, aplikasi menampilkan kalimat acak dalam bentuk Listening. 5. User mendengarkan satu per satu kalimat acak, pada bagian ini user dengan penuh perhatian mendengarkan satu per satu kalimat acak yang diucapkan oleh aplikasi. 6. Menyusun kalimat acak menjadi kalimat yang BENAR, pada bagian ini user mulai menyusun atau mengurutkan kalimat acak menjadi satu kalimat utuh yang dianggapnya BENAR. 7. Menekan tombol CHECK untuk mengevaluasi hasil jawaban, pada bagian ini user meminta aplikasi untuk mengevaluasi terhadap jawaban yang telah dipilihnya. 8. Menerima jawaban dari user, pada bagian ini aplikasi menerima jawaban yang telah dipilih oleh user. 9. Mengevaluasi jawaban dari user, pada bagian ini aplikasi memeriksa apakah jawaban yang diberikan oleh user BENAR atau SALAH. 10. Menampilkan keterangan BENAR atau SALAH, pada bgian ini aplikasi akan memberikan notifikasi benar atau tidaknya jawaban dari user. 11. Soal masih ada?, pada baggian ini aplikasi memeriksa apakah soal selanjutnya masih ada atau sudah habis? Jika habis maka soal latihan selesai dan lanjut ke proses no 13, jika belum maka lanjutkan proses no 12. 12. Klik tombol NEXT, user menekan tombol NEXT lalu aplikasi kembali menjalankan proses no 3. 13. Menampilkan jumlah BENAR dan SALAH dari jawaban user, aplikasi akan memberikan notifikasi bahwa soal latihan telah habis dan menampilkan jumlah kebenaran dan kesalahan dari jawaban yang user berikan. 14. End, aplikasi berakhir.

60 N. Flowchart Fungsi Pilih Soal Arrange Words Fungsi ini digunakan untuk memilih soal pada ListBox Soal di bagian jenis soal Arrange Words. Berikut adalah flowchart dari fungsi tersebut : START u = 0 While u < 5 textkalimat.text = listkalimat.list(posisi) kalimat = Split(textKalimat.text) u = (ubound(kalimat) + 1) If u < 5 posisi = posisi + 1 END Gambar 3.19 Flowchart Fungsi Pilih Soal Arrange Words Berikut sedikit penjelasan dari flowchart tersebut : 1. Start, Algoritma Atau Fungsi Pilih Soal dijalankan. 2. u = 0, baris ini menginisialisasi variabel u dengan nilai awal 0. Maksud penginisialisasian disini adalah untuk mendefinisikan bahwa belum ada jumlah kata yang didapatkan sama sekali.