• Tidak ada hasil yang ditemukan

TUGAS AKHIR KI STEVEN KURNIAWAN NRP Dosen Pembimbing 1 RIZKY JANUAR AKBAR, S.Kom., M.Eng.

N/A
N/A
Protected

Academic year: 2022

Membagikan "TUGAS AKHIR KI STEVEN KURNIAWAN NRP Dosen Pembimbing 1 RIZKY JANUAR AKBAR, S.Kom., M.Eng."

Copied!
203
0
0

Teks penuh

(1)

TUGAS AKHIR – KI141502

RANCANG BANGUN APLIKASI E-LEARNING BERBASIS PERANGKAT BERGERAK ANDROID PADA FITUR MANAJEMEN KUIS DAN DISKUSI MENGGUNAKAN PARADIGMA REACTIVE PROGRAMMING

STEVEN KURNIAWAN NRP. 05111440000100 Dosen Pembimbing 1

RIZKY JANUAR AKBAR, S.Kom., M.Eng.

Dosen Pembimbing 2

ABDUL MUNIF, S.Kom., M.Sc.

DEPARTEMEN INFORMATIKA

Fakultas Teknologi Informasi dan Komunikasi Institut Teknologi Sepuluh Nopember

Surabaya 2018

(2)
(3)

i TUGAS AKHIR – KI141502

RANCANG BANGUN APLIKASI E-LEARNING BERBASIS PERANGKAT BERGERAK ANDROID PADA FITUR MANAJEMEN KUIS DAN DISKUSI MENGGUNAKAN PARADIGMA REACTIVE PROGRAMMING

STEVEN KURNIAWAN NRP. 05111440000100 Dosen Pembimbing 1

RIZKY JANUAR AKBAR, S.Kom., M.Eng.

Dosen Pembimbing 2

ABDUL MUNIF, S.Kom., M.Sc.

DEPARTEMEN INFORMATIKA

Fakultas Teknologi Informasi dan Komunikasi Institut Teknologi Sepuluh Nopember

Surabaya 2018

(4)

ii

[Halaman ini sengaja dikosongkan]

(5)

iii UNDERGRADUATE THESES – KI141502

DEVELOPMENT OF ANDROID MOBILE-BASED E-LEARNING APPLICATION ON QUIZ AND DISCUSSION MANAGEMENT FEATURES USING REACTIVE PROGRAMMING PARADIGM

STEVEN KURNIAWAN NRP. 05111440000100 Supervisor I

RIZKY JANUAR AKBAR, S.Kom., M.Eng.

Supervisor II

ABDUL MUNIF, S.Kom., M.Sc.

Informatics Department

Faculty of Information and Communication Technology Institut Teknologi Sepuluh Nopember

Surabaya 2018

(6)

iv

[Halaman ini sengaja dikosongkan]

(7)
(8)

vi

[Halaman ini sengaja dikosongkan]

(9)

vii

RANCANG BANGUN APLIKASI E-LEARNING BERBASIS PERANGKAT BERGERAK ANDROID PADA FITUR MANAJEMEN KUIS DAN DISKUSI

MENGGUNAKAN PARADIGMA REACTIVE PROGRAMMING

Nama Mahasiswa : Steven Kurniawan

NRP : 05111440000100

Departemen : Informatika FTIK - ITS

Dosen Pembimbing 1 : Rizky Januar Akbar, S.Kom., M.Eng.

Dosen Pembimbing 2 : Abdul Munif, S.Kom., M.Sc.

ABSTRAK

e-Learning adalah suatu sistem atau konsep pendidikan yang memanfaatkan teknologi informasi dalam proses belajar mengajar.

Dengan adanya e-Learning ini, proses belajar mengajar tidak perlu dilakukan dengan tatap muka secara langsung. Saat ini di ITS hanya ada aplikasi e-Learning berbasis web yaitu Share ITS (share.its.ac.id) dan e-Learning Informatika ITS (elearning.if.its.ac.id). Namun aplikasi e-Learning ini masih memiliki beberapa kekurangan seperti tampilan yang kurang responsive ketika dijalankan pada perangkat bergerak Android. Hal ini menyebabkan pengguna akan kesulitan jika menggunakan fitur kuis dan diskusi e-Learning melalui perangkat bergerak.

Pada tugas akhir ini akan dibangun fitur manajemen kuis dan diskusi pada platform e-Learning berbasis perangkat bergerak Android. Aplikasi ini akan dilengkapi dengan Application Programming Interface (API) yang mengadopsi arsitektur REST API untuk mengambil dan mengirim data ke basis data e-Learning.

Selain itu, aplikasi e-Learning yang dibangun ini akan menggunakan paradigma Reactive Programming.

Fitur manajamen kuis dan diskusi pada aplikasi e-Learning ini diharapkan mampu membantu proses pembelajaran di lingkungan ITS dan mampu menjembatani kegiatan perkuliahan

(10)

viii

antara dosen, asisten dosen, serta mahasiswa baik di dalam kelas maupun di luar kelas.

Kata kunci: android, mobile, e-learning, forum, diskusi, kuis, reactive programming

(11)

ix

DEVELOPMENT OF ANDROID MOBILE-BASED E- LEARNING APPLICATION ON QUIZ AND DISCUSSION MANAGEMENT FEATURES USING

REACTIVE PROGRAMMING PARADIGM

Student Name : Steven Kurniawan NRP : 05111440000100

Department : Informatics FTIK - ITS

Supervisor I : Rizky Januar Akbar, S.Kom., M.Eng.

Supervisor II : Abdul Munif, S.Kom., M.Sc.

ABSTRACT

e-Learning is a system or educational concept that utilizes information technology in teaching and learning process. With this e-Learning, teaching and learning process does not need to be done face to face directly. Currently in ITS there is only web-based e-Learning application that is Share ITS (share.its.ac.id) and e- Learning Informatics ITS (elearning.if.its.ac.id). But this e- Learning application still has some shortage such as unresponsive appearance when run on Android mobile devices. This makes it difficult for users to use the discussion features and e-Learning quizzes on mobile devices.

This study aims to build quiz and discussion management feature on e-Learning platform based on Android mobile device.

The application will be equipped with an Application Programming Interface (API) that adopts the REST API architecture to retrieve and send data to e-Learning database. In addition, this e-Learning application built will use the Reactive Programming paradigm.

Quiz and discussion management features on e-Learning application is expected to help the learning process in ITS environment and be able to combine lecture activities between

(12)

x

lecturers, assistant lecturers, and students both in class and outside the classroom.

Key words: android, mobile, e-learning, forum, discussion, quiz, reactive programming

(13)

xi

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Allah yang Maha Esa, karena atas segala karunia dan rahmat-Nya penulis dapat menyelesaikan tugas akhir yang berjudul “RANCANG BANGUN APLIKASI E-LEARNING BERBASIS PERANGKAT BERGERAK ANDROID PADA FITUR MANAJEMEN KUIS

DAN DISKUSI MENGGUNAKAN PARADIGMA

REACTIVE PROGRAMMING”.

Pengerjaan tugas akhir ini penulis lakukan untuk memenuhi salah satu syarat memperoleh gelar Sarjana Komputer pada Program Studi S-1 Departemen Informatika, Fakultas Teknologi Informasi dan Komunikasi, Institut Teknologi Sepuluh Nopember.

Penulis mengucapkan terima kasih atas bantuan dan semangat dari berbagai pihak, dari awal pengerjaan tugas akhir hingga selesai, antara lain:

1. Allah yang Maha Esa atas segala karunia dan rahmat-Nya yang telah diberikan selama ini.

2. Keluarga penulis, Ayah, Ibu, dan saudara kandung serta keluarga yang tidak dapat penulis tuliskan satu per satu yang telah memberi dukungan moral, material, dan juga doa untuk penulis.

3. Bapak Rizky Januar Akbar, S.Kom., M.Eng. selaku dosen pembimbing I yang telah memberikan bimbingan dan arahan dalam pengerjaan tugas akhir ini.

4. Bapak Abdul Munif, S.Kom., M.Sc. selaku dosen pembimbing II yang telah memberikan bimbingan dan arahan dalam pengerjaan tugas akhir ini.

5. Bapak Dr. Eng. Darlis Herumurti, S.Kom.,M.Kom. selaku Kepala Jurusan Teknik Informatika ITS, Bapak Dr. Radityo Anggoro, S.Kom.,M.Sc. selaku koordinator Tugas Akhir, dan segenap dosen Teknik Informatika yang telah banyak memberikan ilmu kepada penulis.

6. Teman-teman Administrator Laboratorium Rekayasa Perangkat Lunak, Penghuni RMP yang telah menjadi sahabat

(14)

xii

dan keluarga selama penulis menimba ilmu di Departemen Informatika ITS.

7. Teman-teman angkatan 2014 yang telah membantu, berbagi ilmu, menjaga kebersamaan, dan memberi motivasi kepada penulis.

8. Saudari Fitria Rizky Aprilina dan Staf DPTSI ITS yang telah memberi dukungan dan ilmu kepada penulis.

9. Saudara Arya Putra Kurniawan, William Suhud, Prasetyo Nugrohadi yang telah memberi semangat, dukungan, dan ilmu kepada penulis.

Penulis menyadari bahwa masih terdapat banyak kekurangan dalam tugas akhir ini. Oleh karena itu, penulis menerima dengan rendah hati kritik dan saran untuk pembelajaran dan perbaikan ke depannya. Semoga tugas akhir ini dapat memberikan manfaat yang sebaik-baiknya.

Surabaya, Juni 2018

Penulis

(15)

xiii DAFTAR ISI

LEMBAR PENGESAHAN ... v

ABSTRAK ... vii

ABSTRACT ... ix

KATA PENGANTAR... xi

DAFTAR ISI ... xiii

DAFTAR GAMBAR ... xix

DAFTAR TABEL ... xxiii

DAFTAR KODE SEMU ... xxvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 3

1.3 Batasan Masalah ... 3

1.4 Tujuan ... 3

1.5 Manfaat ... 4

1.6 Metodologi Pembuatan Tugas Akhir... 4

1.7 Sistematika Penulisan Laporan Tugas Akhir ... 6

BAB II TINJAUAN PUSTAKA ... 9

2.1 E-Learning ... 9

2.2 Share ITS ... 9

2.3 Reactive Programming ... 10

2.4 RxAndroid ... 10

2.5 Android ... 10

2.6 Java ... 11

2.7 Fast Android Networking ... 11

2.8 REST API ... 11

2.9 JAX-RS (Java API for RESTful Web Services) ... 13

2.10 MySQL ... 13

2.11 JSON ... 14

2.12 WSO2 API Manager ... 15

2.13 MOODLE ... 16

2.14 Arsiktektur Model-View-Presenter (MVP) ... 16

2.15 Dagger 2... 17

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 19

(16)

xiv

3.1 Analisis ... 19

3.1.1 Analisis Permasalahan ... 19

3.1.2 Deskripsi Umum Sistem ... 20

3.1.3 Alur Kerja Sistem ... 22

3.1.4 Spesifikasi Kebutuhan Perangkat Lunak ... 24

3.1.4.1 Kebutuhan Fungsional ... 25

3.1.4.2 Kebutuhan Non-Fungsional ... 25

3.1.4.3 Aktor ... 26

3.1.4.4 Kasus Penggunaan ... 26

3.1.4.4.1 Pengelolaan Forum Diskusi ... 27

3.1.4.4.2 Pengelolaan Kuis ... 31

3.1.4.4.3 Melihat Daftar Diskusi pada Forum ... 37

3.1.4.4.4 Mengikuti Kuis ... 43

3.2 Perancangan ... 46

3.2.1 Lingkungan Perancangan Perangkat Lunak ... 46

3.2.2 Perancangan Basis Data ... 46

3.2.2.1 Tabel Forum ... 47

3.2.2.2 Tabel Forum_Discussions ... 47

3.2.2.3 Tabel Forum_Discussion_Subs ... 47

3.2.2.4 Tabel Forum_Posts ... 47

3.2.2.5 Tabel Question ... 47

3.2.2.6 Tabel Question_Answers ... 47

3.2.2.7 Tabel Question_Usages ... 47

3.2.2.8 Tabel Question_Categories ... 48

3.2.2.9 Tabel Quiz ... 48

3.2.2.10 Tabel Question_Attempts ... 48

3.2.2.11 Tabel Quiz_Attempts ... 48

3.2.2.12 Tabel Quiz_Slots ... 48

3.2.2.13 Tabel Quiz_Grades ... 48

3.2.2.14 Tabel Quiz_Sections ... 48

3.2.2.15 Tabel Course ... 49

3.2.2.16 Tabel Course_Sections ... 49

3.2.2.17 Tabel Course_Modules ... 49

3.2.3 Perancangan Arsitektur Model View Presenter ... 49

(17)

xv

3.2.3.1 Perancangan Model ... 50

3.2.3.2 Perancangan View ... 51

3.2.3.3 Perancangan Presenter ... 52

3.2.3.4 Perancangan Reactive Programming ... 52

3.2.3.5 Perancangan Dependency Injection ... 53

3.2.4 Perancangan Antarmuka Pengguna ... 54

3.2.4.1 Rancangan Halaman Antarmuka Login ... 55

3.2.4.2 Rancangan Halaman Antarmuka Tambah Forum Diskusi ... 56

3.2.4.3 Rancangan Halaman Antarmuka Edit Forum Diskusi ... 58

3.2.4.4 Rancangan Halaman Antarmuka Hapus Forum Diskusi ... 59

3.2.4.5 Rancangan Halaman Antarmuka Tambah Kuis ... 60

3.2.4.6 Rancangan Halaman Antarmuka Edit Kuis... 62

3.2.4.7 Rancangan Halaman Antarmuka Hapus Kuis . 63 3.2.4.8 Rancangan Halaman Antarmuka List Diskusi pada Forum... 64

3.2.4.9 Rancangan Halaman Antarmuka Tambah Diskusi Baru pada Forum ... 66

3.2.4.10 Rancangan Halaman Antarmuka List Balasan Diskusi pada Forum... 68

3.2.4.11 Rancangan Halaman Antarmuka Edit Diskusi pada Forum... 69

3.2.4.12 Rancangan Halaman Antarmuka Hapus Diskusi pada Forum... 71

3.2.4.13 Rancangan Halaman Antarmuka Tambah Balasan Diskusi pada Forum ... 72

3.2.4.14 Rancangan Halaman Antarmuka Edit Balasan Diskusi pada Forum... 73

3.2.4.15 Rancangan Halaman Antarmuka Hapus Balasan Diskusi pada Forum... 75 3.2.4.16 Rancangan Halaman Antarmuka Detail Kuis . 76

(18)

xvi

3.2.4.17 Rancangan Halaman Antarmuka Pengerjaan

Kuis ... 78

3.2.4.18 Rancangan Halaman Antarmuka Pengecekan Kuis ... 80

3.2.4.19 Rancangan Halaman Antarmuka List Pertanyaan pada Kuis ... 81

3.2.4.20 Rancangan Halaman Antarmuka Tambah Pertanyaan pada Kuis ... 83

BAB IV IMPLEMENTASI ... 85

4.1 Lingkungan Implementasi Perangkat Lunak ... 85

4.2 Implementasi Antarmuka Pengguna ... 85

4.2.1 Implementasi Halaman Antarmuka Login ... 86

4.2.2 Implementasi Halaman Antarmuka Tambah Forum Diskusi... 87

4.2.3 Implementasi Halaman Antarmuka Edit Forum Diskusi... 87

4.2.4 Implementasi Halaman Antarmuka Hapus Forum Diskusi... 88

4.2.5 Implementasi Halaman Antarmuka Tambah Kuis89 4.2.6 Implementasi Halaman Antarmuka Edit Kuis ... 90

4.2.7 Implementasi Halaman Antarmuka Hapus Kuis .. 91

4.2.8 Implementasi Halaman Antarmuka List Diskusi pada Forum ... 92

4.2.9 Implementasi Halaman Antarmuka Tambah Diskusi Baru pada Forum ... 93

4.2.10 Implementasi Halaman Antarmuka List Balasan Diskusi pada Forum ... 94

4.2.11 Implementasi Halaman Antarmuka Edit Diskusi pada Forum ... 95

4.2.12 Implementasi Halaman Antarmuka Hapus Diskusi pada Forum ... 96

4.2.13 Implementasi Halaman Antarmuka Tambah Balasan Diskusi pada Forum ... 97

4.2.14 Implementasi Halaman Antarmuka Edit Balasan Diskusi pada Forum ... 98

(19)

xvii

4.2.15 Implementasi Halaman Antarmuka Hapus Balasan

Diskusi pada Forum ... 99

4.2.16 Implementasi Halaman Antarmuka Detail Kuis 100 4.2.17 Implementasi Halaman Antarmuka Pengerjaan Kuis 101 4.2.18 Implementasi Halaman Antarmuka Pengecekan Kuis ... 102

4.2.19 Implementasi Halaman Antarmuka List Pertanyaan pada Kuis ... 103

4.2.20 Implementasi Halaman Antarmuka Tambah Pertanyaan pada Kuis ... 104

4.3 Implementasi Kasus Penggunaan ... 105

4.3.1 Implementasi Kasus Penggunaan Pengelolaan Forum Diskusi ... 106

4.3.2 Implementasi Kasus Penggunaan Pengelolaan Kuis 108 4.3.3 Implementasi Kasus Penggunaan Melihat Daftar Diskusi pada Forum ... 110

4.3.4 Implementasi Kasus Penggunaan Mengikuti Kuis 114 4.4 Implementasi Otorisasi dan Otentikasi dengan Integra API ... 116

4.5 Implementasi REST API ... 119

4.5.1 Struktur Direktori ... 119

4.5.2 Koneksi ke Basis Data ... 121

4.5.3 Dependency Injection ... 121

4.5.4 Model ... 122

4.5.5 Error Handler... 122

4.5.6 Data Access Object (DAO) ... 123

4.5.7 Data Transfer Object (DTO) ... 123

4.5.8 Service ... 124

4.5.9 Endpoint ... 124

BAB V PENGUJIAN DAN EVALUASI ... 127

5.1 Lingkungan Pengujian ... 127

5.2 Pengujian Fungsionalitas ... 128

(20)

xviii

5.2.1 Pengujian Fungsionalitas Pengelolaan Forum

Diskusi... 128

5.2.2 Pengujian Fungsionalitas Pengelolaan Kuis ... 130

5.2.3 Pengujian Fungsionalitas Melihat Daftar Diskusi pada Forum ... 133

5.2.4 Pengujian Fungsionalitas Mengikuti Kuis ... 139

5.3 Pengujian REST API ... 141

5.3.1 Pengujian Response Body ... 141

5.3.1.1 Skenario Pengujian ... 141

5.3.1.2 Pengujian Modul Detail Forum Diskusi ... 143

5.3.1.3 Pengujian Modul Diskusi ... 144

5.3.1.4 Pengujian Modul Balasan Diskusi ... 146

5.3.1.5 Pengujian Modul Detail Kuis ... 148

5.3.1.6 Pengujian Modul Pengerjaan Kuis ... 150

5.3.2 Pengujian Response Time... 152

5.3.2.1 Pengujian 100 Pengguna ... 153

5.3.2.2 Pengujian 500 Pengguna ... 154

5.3.2.3 Pengujian 1000 Pengguna ... 154

5.3.2.4 Pengujian 2000 Pengguna ... 155

5.4 Pengujian Responden ... 155

5.5 Evaluasi Pengujian Fungsionalitas ... 158

5.6 Evaluasi Pengujian REST API ... 159

5.7 Evaluasi Pengujian Responden ... 162

BAB VI KESIMPULAN DAN SARAN ... 167

6.1 Kesimpulan ... 167

6.2 Saran ... 167

DAFTAR PUSTAKA... 169

LAMPIRAN ... 171

BIODATA PENULIS... 173

(21)

xix

DAFTAR GAMBAR

Gambar 2.1 Contoh Format JSON ... 15

Gambar 3.1 Deskripsi Umum Sistem ... 21

Gambar 3.2 Alur Kerja Sistem Aplikasi MyITS-Dosen ... 23

Gambar 3.3 Alur Kerja Sistem Aplikasi MyITS-Mahasiswa... 24

Gambar 3.4 Diagram Kasus Penggunaan ... 27

Gambar 3.5 Ekstensi Kasus Penggunaan UC001 ... 27

Gambar 3.6 Diagram Aktivitas Kasus Penggunaan UC001... 30

Gambar 3.7 Ekstensi Kasus Penggunaan UC002 ... 31

Gambar 3.8 Diagram Aktivitas Kasus Penggunaan UC002... 35

Gambar 3.9 Diagram Aktivitas Kasus Penggunaan UC002 extend Melihat Detail Kuis ... 35

Gambar 3.10 Diagram Aktivitas Kasus Penggunaan UC002 extend Pengelolaan Pertanyaan ... 36

Gambar 3.11 Ekstensi Kasus Penggunaan UC003 ... 37

Gambar 3.12 Diagram Aktivitas Kasus Penggunaan UC003... 41

Gambar 3.13 Diagram Aktivitas Kasus Penggunaan UC003 extend Melihat Balasan Diskusi ... 42

Gambar 3.14 Ekstensi Kasus Penggunaan UC004 ... 43

Gambar 3.15 Diagram Aktivitas Kasus Penggunaan UC004... 45

Gambar 3.16 Diagram Struktur Model ... 50

Gambar 3.17 Diagram Struktur View ... 51

Gambar 3.18 Diagram Struktur Presenter... 52

Gambar 3.19 Diagram Perancangan Reactive Programming ... 53

Gambar 3.20 Diagram Struktur Dependency Injection ... 54

Gambar 3.21 Rancangan Halaman Antarmuka Login ... 55

Gambar 3.22 Rancangan Halaman Antarmuka Tambah Forum Diskusi ... 57

Gambar 3.23 Rancangan Halaman Antarmuka Edit Forum Diskusi ... 58

Gambar 3.24 Rancangan Halaman Antarmuka Hapus Forum Diskusi ... 59

Gambar 3.25 Rancangan Halaman Antarmuka Tambah Kuis .... 60

Gambar 3.26 Rancangan Halaman Antarmuka Edit Kuis... 62

(22)

xx

Gambar 3.27 Rancangan Halaman Antarmuka Hapus Kuis ... 64 Gambar 3.28 Rancangan Halaman Antarmuka List Diskusi pada Forum ... 65 Gambar 3.29 Rancangan Halaman Antarmuka Tambah Diskusi Baru pada Forum ... 67 Gambar 3.30 Rancangan Halaman Antarmuka List Balasan Diskusi pada Forum ... 68 Gambar 3.31 Rancangan Halaman Antarmuka Edit Diskusi pada Forum ... 70 Gambar 3.32 Rancangan Halaman Antarmuk Hapus Diskusi pada Forum ... 71 Gambar 3.33 Rancangan Halaman Antarmuka Tambah Balasan Diskusi pada Forum ... 72 Gambar 3.34 Rancangan Halaman Antarmuka Edit Balasan Diskusi pada Forum ... 74 Gambar 3.35 Rancangan Halaman Antarmuka Hapus Balasan Diskusi pada Forum ... 75 Gambar 3.36 Rancangan Halaman Antarmuka Detail Kuis... 76 Gambar 3.37 Rancangan Halaman Antarmuka Pengerjaan Kuis 79 Gambar 3.38 Rancangan Halaman Antarmuka Pengecekan Kuis ... 80 Gambar 3.39 Rancangan Halaman Antarmuka List Pertanyaan pada Kuis... 82 Gambar 3.40 Rancangan Halaman Antarmuka Tambah Pertanyaan pada Kuis... 83 Gambar 4.1 Implementasi Halaman Antarmuka Login untuk Dosen ... 86 Gambar 4.2 Implementasi Halaman Antarmuka Login untuk Asisten Dosen dan Mahasiswa ... 86 Gambar 4.3 Implementasi Halaman Antarmuka Tambah Forum Diskusi ... 87 Gambar 4.4 Implementasi Halaman Antarmuka Edit Forum Diskusi ... 88 Gambar 4.5 Implementasi Halaman Antarmuka Hapus Forum Diskusi ... 89

(23)

xxi

Gambar 4.6 Implementasi Halaman Antarmuka Tambah Kuis .. 90 Gambar 4.7 Implementasi Halaman Antarmuka Edit Kuis ... 91 Gambar 4.8 Implementasi Halaman Antarmuka Hapus Kuis ... 92 Gambar 4.9 Implementasi Halaman Antarmuka List Diskusi pada Forum untuk Dosen ... 93 Gambar 4.10 Implementasi Halaman Antarmuka List Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 93 Gambar 4.11 Implementasi Halaman Antarmuka Tambah Diskusi Baru pada Forum untuk Dosen ... 94 Gambar 4.12 Implementasi Halaman Antarmuka Tambah Diskusi Baru pada Forum untuk Asisten Dosen dan Mahasiswa ... 94 Gambar 4.13 Implementasi Halaman Antarmuka List Balasan Diskusi pada Forum untuk Dosen ... 95 Gambar 4.14 Implementasi Halaman Antarmuka List Balasan Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 95 Gambar 4.15 Implementasi Halaman Antarmuka Edit Diskusi pada Forum untuk Dosen ... 96 Gambar 4.16 Implementasi Halaman Antarmuka Edit Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 96 Gambar 4.17 Implementasi Halaman Antarmuka Hapus Diskusi pada Forum untuk Dosen ... 97 Gambar 4.18 Implementasi Halaman Antarmuka Hapus Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 97 Gambar 4.19 Implementasi Halaman Antarmuka Tambah Balasan Diskusi pada Forum untuk Dosen ... 98 Gambar 4.20 Implementasi Halaman Antarmuka Balasan Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 98 Gambar 4.21 Implementasi Halaman Antarmuka Edit Balasan Diskusi pada Forum untuk Dosen ... 99 Gambar 4.22 Implementasi Halaman Antarmuka Edit Balasan Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 99 Gambar 4.23 Implementasi Halaman Antarmuka Hapus Balasan Diskusi pada Forum untuk Dosen ... 100 Gambar 4.24 Implementasi Halaman Antarmuka Hapus Balasan Diskusi pada Forum untuk Asisten Dosen dan Mahasiswa ... 100

(24)

xxii

Gambar 4.25 Implementasi Halaman Antarmuka Detail Kuis untuk Dosen ... 101 Gambar 4.26 Implementasi Halaman Antarmuka Detail Kuis untuk Mahasiswa ... 101 Gambar 4.27 Implementasi Halaman Antarmuka Pengerjaan Kuis bagian Jawab Pertanyaan ... 102 Gambar 4.28 Implementasi Halaman Antarmuka Pengerjaan Kuis bagian Daftar Pertanyaan ... 102 Gambar 4.29 Implementasi Halaman Antarmuka Pengecekan Kuis ... 103 Gambar 4.30 Implementasi Halaman Antarmuka List Pertanyaan pada Kuis... 104 Gambar 4.31 Implementasi Halaman Antarmuka Tambah Pertanyaan pada Kuis ... 105 Gambar 4.32 Mekanisme Request Token Baru ... 116 Gambar 4.33 Response JWT Token ... 117 Gambar 4.34 Mekanisme Refresh Token ... 118 Gambar 4.35 Struktur Directory Project REST API ... 121

(25)

xxiii

DAFTAR TABEL

Tabel 2.1 Metode HTTP dan penggunaannya dalam REST ... 12 Tabel 2.2 Anotasi Dagger 2 ... 17 Tabel 3.1 Perbandingan Sistem ... 20 Tabel 3.2 Kebutuhan Fungsional ... 25 Tabel 3.3 Kasus Penggunaan ... 26 Tabel 3.4 Spesifikasi Kasus Penggunaan UC001 ... 28 Tabel 3.5 Spesifikasi Kasus Penggunaan UC002 ... 31 Tabel 3.6 Spesifikasi Kasus Penggunaan UC003 ... 37 Tabel 3.7 Spesifikasi Kasus Penggunaan UC004 ... 43 Tabel 3.8 Lingkungan Perancangan Perangkat Lunak ... 46 Tabel 3.9 Atribut Halaman Antarmuka Login ... 56 Tabel 3.10 Atribut Halaman Antarmuka Tambah Forum Diskusi ... 57 Tabel 3.11 Atribut Halaman Antarmuka Edit Forum Diskusi .... 58 Tabel 3.12 Atribut Halaman Antarmuka Hapus Forum Diskusi . 59 Tabel 3.13 Atribut Halaman Antarmuka Tambah Kuis ... 61 Tabel 3.14 Atribut Halaman Antarmuka Edit Kuis ... 62 Tabel 3.15 Atribut Halaman Antarmuka Hapus Kuis ... 64 Tabel 3.16 Atribut Halaman Antarmuka List Diskusi pada Forum ... 65 Tabel 3.17 Atribut Halaman Antarmuka Tambah Diskusi baru pada Forum ... 67 Tabel 3.18 Atribut Halaman Antarmuka List Balasan Diskusi pada Forum ... 68 Tabel 3.19 Atribut Halaman Antarmuka Edit Diskusi pada Forum ... 70 Tabel 3.20 Atribut Halaman Antarmuka Hapus Diskusi pada Forum ... 71 Tabel 3.21 Atribut Halaman Antarmuka Tambah Balasan Diskusi pada Forum ... 73 Tabel 3.22 Atribut Halaman Antarmuka Edit Balasan Diskusi pada Forum ... 74

(26)

xxiv

Tabel 3.23 Atribut Halaman Antarmuka Hapus Balasan Diskusi pada Forum ... 75 Tabel 3.24 Atribut Halaman Antarmuka Detail Kuis pada Dosen ... 77 Tabel 3.25 Atribut Halaman Antarmuka Detail Kuis pada Mahasiswa ... 78 Tabel 3.26 Atribut Halaman Antarmuka Pengerjaan Kuis... 79 Tabel 3.27 Atribut Halaman Antarmuka Pengecekan Kuis ... 81 Tabel 3.28 Atribut Halaman Antarmuka List Pertanyaan pada Kuis ... 82 Tabel 3.29 Atribut Halaman Antarmuka Tambah Pertanyaan pada Kuis ... 84 Tabel 4.1 Lingkungan Implementasi Perangkat Lunak ... 85 Tabel 4.2 Implementasi Endpoint ... 124 Tabel 5.1 Lingkungan Pengujian Fungsionalitas Perangkat 1 .. 127 Tabel 5.2 Lingkungan Pengujian Server Basis Data ... 127 Tabel 5.3 Skenario Pengujian Fungsionalitas Menambah Forum Diskusi Baru ... 128 Tabel 5.4 Skenario Pengujian Fungsionalitas Mengedit Forum Diskusi ... 129 Tabel 5.5 Skenario Pengujian Fungsionalitas Menghapus Forum Diskusi ... 129 Tabel 5.6 Skenario Pengujian Fungsionalitas Menambah Kuis Baru ... 130 Tabel 5.7 Skenario Pengujian Fungsionalitas Mengedit Kuis... 131 Tabel 5.8 Skenario Pengujian Fungsionalitas Menghapus Kuis 131 Tabel 5.9 Skenario Pengujian Fungsionalitas Menghapus Pertanyaan pada Kuis ... 132 Tabel 5.10 Skenario Pengujian Fungsionalitas Menambah Pertanyaan pada Kuis ... 133 Tabel 5.11 Skenario Pengujian Fungsionalitas Melihat Daftar Diskusi pada Forum ... 134 Tabel 5.12 Skenario Pengujian Fungsionalitas Membuat Diskusi Baru ... 134

(27)

xxv

Tabel 5.13 Skenario Pengujian Fungsionalitas Melihat Balasan Diskusi ... 135 Tabel 5.14 Skenario Pengujian Fungsionalitas Mengedit Diskusi ... 136 Tabel 5.15 Skenario Pengujian Fungsionalitas Menghapus Diskusi ... 136 Tabel 5.16 Skenario Pengujian Fungsionalitas Membalas Diskusi ... 137 Tabel 5.17 Skenario Pengujian Fungsionalitas Mengedit Balasan Diskusi ... 138 Tabel 5.18 Skenario Pengujian Fungsionalitas Menghapus Balasan Diskusi ... 138 Tabel 5.19 Skenario Pengujian Fungsionalitas Mengikuti Kuis 139 Tabel 5.20 Skenario Pengujian Fungsionalitas Melihat List Pertanyaan ... 140 Tabel 5.21 Skenario Pengujian Response Body ... 141 Tabel 5.22 Pengujian GET Detail Forum Dikusi ... 143 Tabel 5.23 Pengujian POST Forum Diskusi ... 143 Tabel 5.24 Pengujian PUT Detail Forum Diskusi ... 143 Tabel 5.25 Pengujian DELETE Forum Diskusi... 144 Tabel 5.26 Pengujian GET List Diskusi ... 144 Tabel 5.27 Pengujian POST Diskusi Baru... 145 Tabel 5.28 Pengujian PUT Diskusi ... 145 Tabel 5.29 Pengujian DELETE Diskusi ... 145 Tabel 5.30 Pengujian GET List Balasan Diskusi ... 146 Tabel 5.31 Pengujian POST Balasan Diskusi ... 146 Tabel 5.32 Pengujian PUT Balasan Diskusi ... 147 Tabel 5.33 Pengujian DELETE Balasan Diskusi... 147 Tabel 5.34 Pengujian GET Detail Kuis ... 148 Tabel 5.35 Pengujian POST Kuis ... 148 Tabel 5.36 Pengujian PUT Detail Kuis ... 148 Tabel 5.37 Pengujian DELETE Kuis... 149 Tabel 5.38 Pengujian GET Daftar Pertanyaan ... 149 Tabel 5.39 Pengujian POST Pertanyaan ke Kuis ... 150 Tabel 5.40 Pengujian DELETE Pertanyaan dari Kuis ... 150

(28)

xxvi

Tabel 5.41 Pengujian POST Ikut Kuis... 150 Tabel 5.42 Pengujian GET Pertanyaan Kuis ... 151 Tabel 5.43 Pengujian POST Pertanyaan Kuis ... 151 Tabel 5.44 Pengujian GET Periksa Kuis ... 152 Tabel 5.45 Pengujian GET Nilai Kuis ... 152 Tabel 5.46 Hasil Pengujian Response Time 100 Pengguna... 154 Tabel 5.47 Hasil Pengujian Response Time 500 Pengguna... 154 Tabel 5.48 Hasil Pengujian Response Time 1000 Pengguna... 154 Tabel 5.49 Hasil Pengujian Response Time 2000 Pengguna... 155 Tabel 5.50 Tingkat Penilaian ... 156 Tabel 5.51 Hasil Pengujian Responden ... 156 Tabel 5.52 Hasil Pengujian Fungsionalitas ... 158 Tabel 5.53 Hasil Pengujian Base Response ... 159 Tabel 5.54 Perbandingan Hasil Pengujian Response Time ... 162 Tabel 5.55 Hasil Pengujian Akhir Responden ... 163

(29)

xxvii

DAFTAR KODE SEMU

Kode Semu 4.1 Implementasi Kasus Penggunaan Menambah Forum Diskusi ... 107 Kode Semu 4.2 Implementasi Kasus Penggunaan Mengedit Forum Diskusi ... 107 Kode Semu 4.3 Implementasi Kasus Penggunaan Menghapus Forum Diskusi ... 107 Kode Semu 4.4 Implementasi Kasus Penggunaan Menambah Kuis ... 108 Kode Semu 4.5 Implementasi Kasus Penggunaan Mengedit Kuis ... 109 Kode Semu 4.6 Implementasi Kasus Penggunaan Menghapus Kuis ... 109 Kode Semu 4.7 Implementasi Kasus Penggunaan Menambah Pertanyaan ... 109 Kode Semu 4.8 Implementasi Kasus Penggunaan Menghapus Pertanyaan ... 110 Kode Semu 4.9 Implementasi Kasus Penggunaan Melihat Daftar Diskusi pada Forum ... 111 Kode Semu 4.10 Implementasi Kasus Penggunaan Menambah Diskusi Baru ... 111 Kode Semu 4.11 Implementasi Kasus Penggunaan Melihat Balasan Diskusi ... 112 Kode Semu 4.12 Implementasi Kasus Penggunaan Mengedit Diskusi ... 112 Kode Semu 4.13 Implementasi Kasus Penggunaan Menghapus Diskusi ... 113 Kode Semu 4.14 Implementasi Kasus Penggunaan Membalas Diskusi ... 113 Kode Semu 4.15 Implementasi Kasus Penggunaan Mengedit Balasan Diskusi ... 114 Kode Semu 4.16 Implementasi Kasus Penggunaan Menghapus Balasan Diskusi ... 114

(30)

xxviii

Kode Semu 4.17 Implementasi Kasus Penggunaan Mengikuti Kuis ... 115 Kode Semu 4.18 Implementasi Kasus Penggunaan Mengirim Jawaban Kuis ... 115 Kode Semu 4.19 Implementasi Request Token saat Login ... 117 Kode Semu 4.20 Implementasi Refresh Token ... 119

(31)

1 1 BAB I PENDAHULUAN

Bab ini menjelaskan garis besar tugas akhir yang meliputi latar belakang, tujuan, rumusan, batasan permasalahan, metodologi pembuatan tugas akhir, dan sistematika penulisan.

1.1 Latar Belakang

e-Learning merupakan konsep pembelajaran yang dilakukan melalui jaringan media elektronik. Perkembangan teknologi yang sangat maju di era modern dan globalisasi memungkinkan berbagai kegiatan dilakukan secara cepat dan efisien. Perkembangan teknologi sudah banyak memberi pengaruh terhadap cara hidup kita, salah satunya adalah dalam bidang pendidikan dengan penggunaan e-Learning dalam kegiatan pembelajaran. Seiring dengan perkembangan teknologi informasi dan tuntutan globalisasi pendidikan serta pembelajaran jarak jauh, berbagai konsep telah dikembangkan untuk menggantikan metode pembelajaran tradisional, salah satunya adalah konsep e-Learning. e-Learning dapat digunakan sebagai alternatif atas permasalahan dalam bidang pendidikan, baik sebagai tambahan, pelengkap maupun pengganti atas kegiatan pembelajaran yang sudah ada.

Institut Teknologi Sepuluh Nopember (ITS) merupakan salah satu Perguruan Tinggi Negeri terbaik di Indonesia. Saat ini di ITS sudah memiliki beberapa aplikasi e-Learning berbasis web yaitu Share ITS (share.its.ac.id) dan e-Learning Informatika ITS (elearning.if.its.ac.id). Namun aplikasi e-Learning ini masih memiliki beberapa kelemahan seperti tampilan yang kurang responsive ketika dijalankan pada perangkat bergerak Android. Hal ini menyebabkan susahnya penggunaan fitur kuis dan diskusi melalui perangkat bergerak Android. Selain itu, diperlukan sebuah akun lain selain akun Integra ITS untuk mengakses aplikasi e- Learning.

(32)

Oleh karena itu, tugas akhir ini akan mencoba membawa solusi baru dengan dibangunnya fitur manajemen kuis dan diskusi pada platform e-Learning bebasis perangkat bergerak Android.

Alasan utama dipilihnya platform Android ini karena smartphone berbasis Android pada tahun 2018 ini masih memegang posisi teratas untuk kategori smartphone/tablet. Hal ini dibuktikan dengan hasil riset di pasar bahwa persentase market share untuk produk Android di Indonesia mencapai angka 91,15% [1].

Aplikasi ini akan dilengkapi dengan Application Programming Interface (API) yang mengadopsi arsitektur REST API. API ini akan mengambil data dari basis data e-Learning ITS untuk sinkronisasi data pada web e-Learning ITS dengan aplikasi Android. Aplikasi ini juga akan dilengkapi dengan fitur login.

Login ini menggunakan Integra API yang diintegrasikan pada aplikasi e-Learning ini.

Selain itu, aplikasi e-Learning yang dibangun ini akan menggunakan paradigma Reactive Programming, yaitu pola pemrograman yang berbeda dengan pola pemrograman secara prosedural. Bila melakukan suatu pekerjaan, pada pemrograman prosedural, user harus melakukan request terus menerus sehingga bias menyebabkan blocking thread. Sedangkan dengan menggunakan paradigma Reactive Programming ini, user tidak perlu meminta request secara aktif atau terus menerus, karena thread akan mendelegasikan task yang diminta oleh user ke thread lain. Sehingga user dapat melakukan task lain sambil menunggu notifikasi dari task yang sedang diproses thread (asynchronous).

Dalam tugas akhir yang penulis ajukan ini akan dibuat fitur manajamen kuis dan diskusi pada aplikasi e-Learning yang dapat membantu proses pembelajaran di lingkungan ITS dan mampu menjembatani kegiatan perkuliahan antara dosen, asisten dosen, serta mahasiswa baik di dalam kelas maupun di luar kelas. Dengan konsep REST API dan paradigma Reactive Programming, aplikasi e-Learning ini dapat mensinkronisasikan web e-Learning dengan dan aplikasi mobile e-Learning. Data dari REST API ini akan

(33)

diimplementasikan pada perangkat bergerak Android dengan menggunakan paradigma Reactive Programming. Hal ini bertujuan untuk mempermudah akses e-Learning dari berbagai tempat hanya dengan smartphone/tablet selama masih terkoneksi dengan internet.

1.2 Rumusan Masalah

Rumusan masalah yang diangkat dalam tugas akhir ini dapat dipaparkan sebagai berikut:

1. Bagaimana menerapkan Integra API untuk melakukan otorisasi dan otentikasi pada aplikasi e-Learning?

2. Bagaimana menerapkan konsep REST API untuk fitur manajemen kuis dan diskusi pada platform e-Learning yang sudah ada?

3. Bagaimana implementasi fitur manajemen kuis dan diskusi pada aplikasi e-Learning pada perangkat bergerak Android menggunakan paradigma Reactive Programming?

1.3 Batasan Masalah

Permasalahan yang dibahas dalam tugas akhir ini memiliki beberapa batasan, yaitu sebagai berikut:

1. Aplikasi e-Learning ini digunakan untuk menunjang kegiatan perkuliahan terutama pada fitur manajemen kuis dan diskusi di Institut Teknologi Sepuluh Nopember Surabaya.

2. Teknologi yang digunakan dalam pembuatan aplikasi ini adalah bahasa pemrograman Java, web service REST API, serta library RxAndroid.

3. Aplikasi ini hanya dapat digunakan untuk mengakses konten pembelajaran saja, sedangkan untuk fitur Formulir Rencana Studi (FRS) tetap dilakukan di SIM AKADEMIK ITS.

1.4 Tujuan

Tugas akhir ini mempunyai beberapa tujuan, yaitu sebagai berikut:

(34)

1. Menerapkan Integra API untuk melakukan otorisasi dan otentikasi pada aplikasi e-Learning.

2. Mengimplementasikan REST API untuk mengambil data fitur manajemen kuis dan diskusi dari e-Learning web yang sudah ada.

3. Membangun fitur manajemen kuis dan diskusi pada aplikasi e- Learning pada perangkat bergerak Android menggunakan paradigma Reactive Programming.

1.5 Manfaat

Tugas akhir ini diharapkan dapat menjadi platform e- Learning yang mendukung proses belajar mengajar di lingkungan ITS, terutama pada fitur manajemen kuis dan diskusi. Tugas akhir ini akan menerapkan konsep REST API sehingga lebih mudah menyinkronisasikan platform e-Learning pada web dengan versi mobile ini dan akan menggunakan paradigma Reactive Programming pada perangkat bergerak Android sehingga aplikasi e-Learning ini akan bisa bekerja secara asynchronous.

1.6 Metodologi Pembuatan Tugas Akhir

Tahapan-tahapan yang dilakukan dalam pengerjaan tugas akhir ini adalah sebagai berikut:

1. Penyusunan proposal tugas akhir

Proposal tugas akhir berisi tentang perencanaan

“Rancang Bangun Aplikasi e-Learning Berbasis Perangkat Bergerak Android pada Fitur Manajemen Kuis dan Diskusi Menggunakan Paradigma Reactive Programming”.

Proposal tugas akhir terdiri dari deskripsi pendahuluan yang menjabarkan latar belakang dan rumusan masalah yang mendasari dibangunnya aplikasi ini, batasan masalah dalam pembagunan aplikasi ini, serta tujuan dan manfaat yang diharapkan dapat dicapai dengan dibangunnya aplikasi ini.

Selain itu, pada proposal tugas akhir ini juga terdapat tinjauan pustaka yang menjelaskan teori-teori yang menjadi dasar pembuatan tugas akhir ini, ringkasan isi tugas akhir yang menggambarkan secara umum aplikasi yang akan dibangun

(35)

dan algoritma yang digunakan, serta bagian metodologi dari penyusunan proposal tugas akhir ini.

2. Studi literatur

Studi literatur yang dilakukan dalam pengerjaan tugas akhir ini adalah mengenai implementasi penggunaan paradigma Reactive Programming pada perangkat mobile Android, serta implementasi REST API dengan menggunakan JAX-RS (Java API for RESTful Web Services). Studi literature diambil dari buku, internet, maupun materi mata kuliah yang berhubungan dengan metode yang digunakan.

3. Analisis dan desain perangkat lunak

Analisis kebutuhan dan perancangan sistem dilakukan untuk merumuskan solusi yang tepat dalam pembuatan aplikasi serta kemungkinan yang dapat dilakukan untuk mengimplementasikan rancangan tersebut. Tahap desain meliputi arsitektur perangkat lunak yang digunakan, desain kelas-kelas yang terlibat dalam aplikasi, desain antarmuka, serta diagram-diagram yang mendukung pendeskripsian sistem aplikasi.

4. Implementasi perangkat lunak

Pengembangan aplikasi dalam tugas akhir akan menggunakan bahasa pemrograman Java, XML, dengan kakas bantu IDE Android Studio. Selain itu, digunakan juga library RxAndroid untuk penerapan paradigma Reactive Programming pada aplikasi android dan framework JAX-RS untuk penerapan REST API.

5. Pengujian dan Evaluasi

Pengujian akan dilakukan kepada beberapa mahasiswa dan dosen ITS untuk mengetahui tingkat keberhasilan pada fitur manajemen quiz dan tanya jawab di aplikasi e-Learning yang dibangun sudah berjalan dengan baik dan tidak ada error yang terjadi. Model pengujian dibagi menjadi 2 bagian, yaitu pengujian untuk REST API dan pengujian untuk aplikasi Android.

(36)

Pengujian pada REST API dilakukan untuk menguji kebenaran proses API dengan aplikasi Postman dan juga load testing API dengan menggunakan JMeter. Pengujian pada aplikasi Android dilakukan dengan blackbox testing yang diuji pada beberapa smartphone atau tablet dengan sistem operasi Android.

6. Penyusunan buku tugas akhir

Pada tahap ini dilakukan penyusunan laporan yang menjelaskan dasar teori dan metode yang digunakan dalam tugas akhir ini serta hasil dari implementasi aplikasi perangkat lunak yang telah dibuat. Sistematika penulisan buku tugas akhir secara garis besar antara lain:

1. Pendahuluan

a. Latar Belakang b. Rumusan Masalah c. Batasan Tugas Akhir d. Tujuan

e. Manfaat

f. Metodologi Pembuatan Tugas Akhir g. Sistematika Penulisan Laporan Tugas Akhir 2. Tinjauan Pustaka

3. Analisis dan Perancangan Sistem 4. Pengujian dan Evaluasi

5. Kesimpulan dan Saran 6. Daftar Pustaka

1.7 Sistematika Penulisan Laporan Tugas Akhir

Buku tugas akhir ini bertujuan untuk mendapatkan gambaran dari pengerjaan tugas akhir ini. Selain itu, diharapkan dapat berguna untuk pembaca yang tertarik untuk melakukan pengembangan lebih lanjut. Secara garis besar, buku tugas akhir terdiri atas beberapa bagian seperti berikut ini.

Bab I Pendahuluan

Bab yang berisi mengenai latar belakang, rumusan masalah, batasan masalah, tujuan, dan manfaat dari

(37)

pembuatan tugas akhir. Selain itu metodologi yang digunakan dan sistematika penulisan laporan akhir juga merupakan bagian dari bab ini.

Bab II Tinjauan Pustaka

Bab ini berisi penjelasan secara detail mengenai dasar- dasar penunjang dan teori-teori yang digunakan untuk mendukung pembuatan tugas akhir ini.

Bab III Analisis dan Perancangan Sistem

Bab ini berisi tentang analisis permasalahan, deskripsi umum sistem, spesifikasi kebutuhan perangkat lunak, lingkungan perancangan, perancangan arsitektur sistem, diagram kelas, dan struktur data.

Bab IV Implementasi

Bab ini membahas implementasi dari desain yang telah dibuat pada bab sebelumnya. Penjelasan berupa kode sumber yang digunakan untuk proses implementasi.

Bab V Pengujian dan Evaluasi

Bab ini menjelaskan kemampuan perangkat lunak dengan melakukan pengujian kebenaran dan pengujian kinerja dari sistem yang telah dibuat.

Bab VI Kesimpulan dan Saran

Bab ini merupakan bab terakhir yang menyampaikan kesimpulan dari hasil uji coba yang telah dilakukan dan saran untuk pengembangan perangkat lunak selanjutnya.

(38)

[Halaman ini sengaja dikosongkan]

(39)

9 2 BAB II

TINJAUAN PUSTAKA

Bab ini menjelaskan teori-teori yang berkaitan dengan pembangunan fitur kuis dan tanya jawab pada aplikasi mobile e- Learning yang diajukan untuk tugas akhir ini. Penjelasan ini bertujuan untuk memberikan gambaran secara umum terhadap perangkat lunak yang dibuat dan berguna sebagai penunjang dalam pengembangan perangkat lunak.

2.1 E-Learning

E-learning adalah suatu sistem atau konsep pendidikan yang memanfaatkan teknologi informasi dalam proses belajar mengajar.

karakteristik e-learning bersifat jaringan, yang membuatnya mampu memperbaiki secara cepat, menyimpan atau memunculkan kembali, mendistribusikan, dan sharing pembelajaran dan informasi [2]. Pada tugas akhir ini, e-Learning berkaitan dengan Learning Management System (LMS) yang merupakan sistem perangkat lunak untuk mem-virtualisasikan proses belajar mengajar konvensional untuk fitur kuis dan diskusi.

2.2 Share ITS

Share ITS adalah sistem e-Learning berbasis web yang dimiliki oleh Institut Teknologi Sepuluh Nopember Surabaya.

Sistem ini mengadaptasi platform e-Learning yang sudah banyak digunakan yaitu Moodle. Share ITS dapat diakses oleh beberapa aktor seperti dosen, mahasiswa, dan admin. Sistem ini memiliki beberapa fungsi operasional yang dapat diakses seperti manajemen pembelajaran, manajemen pengguna, manajemen sumber belajar, manajemen aktivitas, manajemen pertanyaan, manajemen kuis, dan manajemen diskusi. Memiliki layanan proses pembelajaran yang dapat digunakan pada bidang kurikulum. Layanan berisi perencanaan proses pembelajaran yang terdiri dari rencana pembelajaran, rancangan pembelajaran online, partisipasi mata

(40)

kuliah, sumber belajar mata kuliah, aktivitas pembelajaran berbasis Share ITS, pelaksanaan proses pembelajaran, penilaian hasil belajar, dan pengawasan proses pembelajaran [3].

2.3 Reactive Programming

Reactive Programming adalah paradigma baru dalam dunia pemrograman. Reactive Programming melakukan pendekatan koheren untuk arsitektur sistem yang dibutuhkan dengan membuat suatu sistem yang Responsive, Resilient, Elastic and Message Driven.

Dengan menggunakan Reactive Programming, pengembang dapat menentukan di thread apa operasi dilakukan, mempermudah pengaturan penggunaan thread, dan operasi asynchronous. Suatu sistem yang reaktif lebih toleran terhadap kegagalan sistem serta memungkinkan mendapat feedback secara interaktif [4].

2.4 RxAndroid

RxAndroid adalah library yang digunakan untuk implementasi dari Reactive Programming ke perangkat bergerak Android [5]. RxAndroid ini meng-extend Observer Pattern. Dalam RxAndroid, sumber data diletakkan pada suatu kelas Observable dan di-publish ke dalam kelas Subscriber. Pada suatu kondisi bisa saja data yang di terima oleh Subscriber berbeda dengan data yang dikirim dari Observable. Subcriber tidak peduli dengan pengolahan data yang dilakukan di Observable, Subcriber haya menerima kembalian data sesuai yang telah ditetapkan, apakah itu integer, string atau tipe data yang lainnya.

2.5 Android

Android adalah sistem operasi yang dirancang untuk perangkat bergerak dengan layar sentuh seperti smartphone atau tablet dengan didukung kernel yang berbasis Linux [6]. Android menjadi populer sejak dirilis pada tahun 2007 karena merupakan platform tak terbatas dimana aplikasi berbasis Android sangat banyak dan dapat diakses secara gratis, sedangkan pada store

(41)

kompetitornya, aplikasi yang sama dikategorikan sebagai aplikasi berbayar padahal fiturnya sama. Sistem operasi Android ini memiliki akses yang mudah dan tingkat popularitasnya yang tinggi. Hal ini dibuktikan dengan persentase market share Android di Indonesia yang mencapai 91,15% [1].

2.6 Java

Java adalah bahasa pemrograman berbasis objek atau disebut “OOP” yang merupakan singkatan dari object oriented programing atau pemrograman yang berorientasi pada objek [7].

Bahasa ini merupakan adopsi dari bahasa pemrograman C dan C++

dimana sintaks pada Java dan kedua bahasa pemrograman ini hampir sama namun Java memiliki keunggulan yaitu dapat dijalankan pada beberapa platform sistem operasi yang berbeda.

Keunggulan ini yang menjadi salah satu pertimbangan digunakannya Java dalam pengimplementasian API maupun aplikasi Android pada tugas akhir ini, yaitu karena sifatnya yang multiplatform.

2.7 Fast Android Networking

Fast Android Networking merupakan library Android yang dibangun dengan protokol OkHttp yang support untuk metode request HTTP/2 seperti POST, GET, DELETE, dan PUT [8]. Fast Android Networking (FAN) dipilih pada implementasi fitur networking karena FAN support dengan RxJava dan arsitektur Model View Presenter (MVP).

2.8 REST API

REST (Representational State Transfer) adalah suatu arsitektur metode komunikasi yang sering diterapkan dalam pengembangan layanan berbasis web [9]. Arsitektur REST, yang umumnya dijalankan via HTTP (Hypertext Transfer Protocol), melibatkan proses pembacaan laman web tertentu yang memuat sebuah file XML atau JSON. File inilah yang menguraikan dan

(42)

memuat konten yang hendak disajikan. Setelah melalui sebuah proses definisi tertentu, konsumen akan bisa mengakses antarmuka aplikasi yang dimaksudkan.

Sifat khas dari REST terletak pada interaksi antara klien dan server yang difasilitasi oleh sejumlah tipe operasional (verba) dan Universal Resource Identifiers (URIs) yang unik bagi tiap-tiap sumberdaya. Masing-masing verba – GET, POST, PUT dan DELETE – memiliki makna operasional khusus untuk menghindari ambiguitas [10].

REST kerap dipergunakan dalam mobile application, situs web jejaring sosial, mashup tools, dan automated business processes. Arsitektur REST yang decoupled (terpisah) serta beban komunikasi yang ringan antara produsen dan konsumen membuatnya populer di dunia cloud-based API, seperti yang disajikan oleh Amazon, Microsoft, dan Google. Layanan berbasis web yang menggunakan arsitektur REST semacam itu dinamakan RESTful APIs (Application Programming Interfaces) atau REST APIs.

Penggunaan metode-metode HTTP dalam REST adalah sebagai berikut:

Tabel 2.1 Metode HTTP dan penggunaannya dalam REST

Metode Deskripsi

GET

Mendapatkan (read) sebuah sumber daya (resource) yang diidentifikasi dengan URI (Uniform Resource Identifier)

POST

Mengirimkan sumber daya (resource) ke server. Digunakan untuk membuat (create) sumber daya baru

PUT

Mengirimkan sumber daya (resource) ke server. Digunakan untuk memasukkan (insert) atau memperbarui (update) sumber daya yang tersimpan.

DELETE Menghapus (delete) sumber daya (resource) yang diidentifikasi dengan URI

(43)

Komponen dari HTTP Response adalah:

 Status/Response Code, mengindikasikan status server terhadap resource yang diminta. Misal: 404 yang artinya resource tidak ditemukan dan 200 yang berarti response OK.

 HTTP Version, menunjukkan versi dari HTTP yang digunakan, contoh HTTP v1.1.

 Response Header, berisi metadata untuk HTTP Response.

Contoh, type server, panjang content, tipe content, waktu response, dll.

 Response Body, konten dari data yang diberikan.

2.9 JAX-RS (Java API for RESTful Web Services)

JAX-RS merupakan arsitektur web service yang berbasis protocol HTTP, yang berguna untuk proses transfer data secara independen sehingga masing-masing request tidak terkait dengan request sebelum atau sesudahnya. Implementasi pada JAX-RS ini menggunakan Apache CXF dengan beberapa metode yang dapat diakses seperti GET, POST, PUT, DELETE, Produces, Consumes, PathParam, QueryParam, FormParam, dan lain-lain [11].

2.10 MySQL

Istilah SQL dapat diartikan sebagai suatu bahasa yang digunakan untuk mengakses suatu data dalam basis data relasional dan terstruktur sedangkan MySQL dalam hal ini menjadi software atau tools untuk mengelola atau memanajemen SQL dengan menggunakan kueri atau bahasa khusus [12]. Pada dasarnya basis data yang dikelola dalam MySQL memang tidak jauh berbeda dari Microsoft Access yakni berbentuk tabel-tabel yang berisi informasi tertentu. Perbedaannya terletak pada penggunaan serta pengelolaan basis data tersebut.

Dalam dunia website, bentuk interface atau tatap muka untuk MySQL ini sering disebut dengan phpMyAdmin. Inilah yang menjadi salah satu faktor adanya keterkaitan antara Bahasa PHP

(44)

dengan MySQL terutama dalam hal pengelolaan web. Beberapa contoh penerapan MySQL juga dapat dijumpai pada e- commerce, situs blog ataupun suatu CMS (WordPress, Joomla, dan lain-lain).

Sebagai suatu pengelola basis data terbesar dan paling banyak digunakan tentunya MySQL ini memiliki fitur atau kapabilitas tertentu. Salah satu yang paling dicari oleh para pengguna MySQL adalah kemampuannya yang multi-platform dan berlisensi GPL, sehingga dapat digunakan oleh komputer hampir di semua OS. Kinerjanya juga dianggap cukup tinggi dalam hal memproses query-query yang ada meskipun masih terbatas pada basis data dalam jumlah tertentu.

Beberapa fitur lain yang ada pada MySQL saat ini tersedianya tipe data yang sangat beragam seperti int, float, double, char, date dan lain-lain. MySQL juga mendukung penggunaan field sebagai index serta memiliki tingkat keamanan yang cukup bagus dengan adanya subnetmask, nama host serta sandi yang terenkripsi.

2.11 JSON

JSON atau JavaScript Object Notation adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan (translate) dan dibuat (generate) oleh komputer [13]. Format JSON dibuat berdasarkan bagian dari bahasa pemrograman JavaScript. JSON terbuat dari dua struktur:

 Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array.

Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (sequence).

(45)

Contoh format JSON yang umumnya digunakan terdapat pada Gambar 2.1.

{

"state":"inprogress", "uniqueid":10, "answer":

[ {

"questionid":5,

"responsesummary":"untuk memformat data"

}, {

"questionid":1,

"responsesummary":"Client and server"

} ] }

Gambar 2.1 Contoh Format JSON 2.12 WSO2 API Manager

WSO2 API Manager merupakan sebuah aplikasi yang menyediakan fasilitas komunikasi antara penyedia API dan pengguna API [14]. Aplikasi ini memiliki berbagai fitur untuk menunjang proses komunikasi diantara pengguna dan penyedia API. Dari sisi pengguna, aplikasi ini dapat memilih API yang telah tersedia dari aplikasi store, mengakses url tertentu yang telah disediakan oleh API Manager. Sedangkan dari sisi penyedia, berbagai fitur dapat dilakukan pada aplikasi WSO2 ini seperti, mem-publish API, memantau API yang telah diunggah ke server, mendaftarkan endpoint yang dapat diakses oleh pengguna serta mengaktifkan fitur token guna kebutuhan keamanan (non- functionality security).

(46)

2.13 MOODLE

Moodle merupakan salah satu aplikasi dari konsep dan mekanisme belajar mengajar yang memanfaatkan teknologi informasi, yang dikenal dengan konsep pembelajaran elektronik atau e-Learning. Aplikasi Moodle dikembangkan pertama kali oleh Martin Dougiamas pada Agustus 2002 dengan Moodle Versi 1.0. Saat ini Moodle sudah mencapat versi 3.3.

Moodle dapat digunakan secara bebas sebagai produk sumber terbuka (open source) di bawah lisensi GNU (General Public License) [15]. Moodle dapat diinstal di komputer dan sistem operasi apapun yang bisa menjalankan PHP dan mendukung basis data SQL.

Saat ini, Moodle lebih dikenal fungsinya sebagai Course Management System atau "Learning Management System" (LMS).

Dengan tampilan seperti halaman web pada umumnya, Moodle memiliki fitur untuk menyajikan kelas (course), dimana pengajar bisa mengunggah materi ajar, tugas, membuat diskusi, serta mengadakan kuis secara online. Murid bisa mengakses Moodle kemudian memilih kelas yang disediakan atau didaftarkan untuknya. Semua aktivitas murid di Moodle bisa terpantau progres dan nilainya.

2.14 Arsiktektur Model-View-Presenter (MVP)

MVP atau Model View Presenter adalah sebuah konsep dimana logic code atau business code dipisahkan dari view ke presenter. Jadi tugas utama dari presenter adalah sebagai penyedia data dari model. Selain sebagai penyedia data, presenter juga bisa menyimpan logic yang biasa disimpan di view dan menerima action yang dikirim dari view. Model itu sendiri adalah sekumpulan struktur data yang dikumpulkan menjadi satu kelas. Tugasnya untuk menyimpan data dari API response atau menyimpan data untuk API request [16].

(47)

2.15 Dagger 2

Dagger 2 merupakan library dependency injection untuk Android dan Java [17]. Dagger 2 berbasis Java Specification Request (JSR) 330 yang merupakan standar Java Annotations.

Dagger 2 benar-benar hasil dari code generation dan bukan merupakan refleksi seperti library lainnya sehingga penggunaan menjadi lebih efisien. Beberapa anotasi pada Dagger 2 yang sering digunakan terdapat pada Tabel 2.2.

Tabel 2.2 Anotasi Dagger 2

Annotasi Pengertian

@Module kelas yang menyediakan dependencies

@Provides method yang ada di kelas @Module

@Scope anotasi Java untuk menginisialisasikan object yang akan diinjeksikan

@Inject sebuah request dependency, bisa berupa konstruktor, method, maupun field

(48)

[Halaman ini sengaja dikosongkan]

(49)

19 3 BAB III

ANALISIS DAN PERANCANGAN SISTEM Bab ini membahas analisis kebutuhan dan rancangan yang akan digunakan untuk membangun perangkat lunak yang diajukan sebagai tugas akhir.

3.1 Analisis

Tahap analisis dibagi menjadi beberapa bagian, antara lain analisis permasalahan, deskripsi umum sistem, dan spesifikasi kebutuhan perangkat lunak.

3.1.1 Analisis Permasalahan

e-Learning merupakan konsep pembelajaran yang dilakukan melalui jaringan media elektronik. Konsep pembelajaran ini dapat memfasilitasi semua kegiatan belajar mengajar yang dilakukan baik di dalam kelas maupun di luar kelas. e-Learning dapat menjadi solusi bila dosen berhalangan mengajar karena tugas dinas atau kegiatan lain.

Saat ini di Institut Teknologi Sepuluh Nopember (ITS) Surabaya, sistem belajar mengajar dilakukan dengan tatap muka di kelas dan sistem e-Learning yang masih berbasis website yaitu share.its.ac.id. Kegiatan belajar mengajar dengan sistem e- Learning yang masih hanya berbasis website sering membuat mahasiswa malas untuk menggunakannya karena harus membuka komputer/laptop terlebih dahulu untuk mengaksesnya. Tampilan website sistem e-Learning yang ada juga dirasa kurang responsive apabila digunakan di perangkat bergerak Android.

Kebutuhan akan penggunaan forum untuk berdiskusi antara dosen, asisten dosen dan mahasiswa serta kuis untuk mengetahui tingkat kepahaman mahasiswa mengenai materi yang diberikan oleh dosen juga sangat besar melalui sistem e-Learning ini. Oleh karena itu, diperlukan suatu sistem yang dapat digunakan untuk mengatasi permasalah tersebut, yaitu pengimplementasian fitur kuis dan diskusi e-Learning pada perangkat bergerak Android.

(50)

Alasan utama dipilihnya platform Android ini yaitu smartphone berbasis Android pada tahun ini masih memegang posisi teratas untuk kategori smartphone/tablet. Mudahnya pengaplikasian dan akses secara gratis menjadi nilai tambah bagi sistem operasi Android ini.

Perbandingan antara sistem e-Learning berbasis website yang ada saat ini dengan sistem e-Learning berbasis perangkat bergerak Android yang akan diimplementasikan dapat dilihat pada Tabel 3.1.

Tabel 3.1 Perbandingan Sistem Sistem e-Learning berbasis

website

Sistem e-Learning berbasis perangkat bergerak

Android Tampilan kurang responsive

ketika digunakan pada layar kecil

Tampilan responsive ketika digunakan pada layar kecil Diperlukan akun yang berbeda

untuk proses otentikasi dan otorisasi

Menggunakan 1 akun yaitu akun Integra untuk proses otentikasi dan otorisasi 3.1.2 Deskripsi Umum Sistem

Perkembangan teknologi informasi di dunia semakin cepat, khususnya pada teknologi perangkat bergerak (mobile) Android.

Akses dan pengambilan informasi juga semakin mudah dan cepat diakses melalui penggunaan perangkat bergerak maupun web.

Oleh karena itu, tugas akhir ini akan mengimplementasikan fitur kuis dan diskusi pada aplikasi mobile e-Learning yang berbasis Android. Implementasi fitur kuis dan diskusi pada aplikasi mobile e-Learning diharapkan mampu memudahkan kegiatan perkuliahan hanya melalui perangkat bergerak (mobile). Pengimplementasian fitur kuis dan diskusi yang akan dibuat akan dibatasi ruang lingkup penggunanya. Pengguna dari aplikasi ini adalah seluruh civitas akedemica ITS yang meliputi dosen, mahasiswa, serta asisten dosen. Deskripsi sistem secara umum dapat dilihat pada Gambar 3.1.

(51)

Gambar 3.1 Deskripsi Umum Sistem

Fitur kuis dan diskusi ini akan diimplementasikan pada 2 aplikasi. Fitur kuis dan diskusi untuk dosen akan diimplementasikan pada aplikasi MyITS-Dosen, sedangkan untuk asisten dosen dan mahasiswa akan diimplementasikan pada aplikasi MyITS-Mahasiswa.

Penerapan fitur kuis dan diskusi pada aplikasi e-Learning ini akan didukung dengan Application Programming Interface (API) yang mengadopsi arsitektur Representational State Transfer of Application Programming Interface (REST API). API ini akan mengambil data dari basis data e-Learning ITS untuk sinkronisasi data pada web e-Learning ITS dengan aplikasi Android. Aplikasi ini juga akan dilengkapi dengan fitur login. Login ini menggunakan Integra API yang diintegrasikan pada aplikasi e-Learning ini.

Fitur kuis dan diskusi yang diimplementasikan pada aplikasi e-Learning yang akan dibangun ini akan menggunakan paradigma Reactive Programming, yaitu pola pemrograman yang berbeda dengan pola pemrograman secara prosedural. Bila melakukan suatu pekerjaan, pada pemrograman prosedural, user harus melakukan request terus menerus sehingga bisa menyebabkan blocking thread. Sedangkan dengan menggunakan paradigma Reactive Programming ini, user tidak perlu meminta request secara

(52)

aktif atau terus menerus, karena thread akan mendelegasikan task yang diminta oleh user ke thread lain. Sehingga user dapat melakukan task lain sambil menunggu notifikasi dari task yang sedang diproses thread (asynchronous).

Selain itu, proses otentikasi dan otorisasi pada aplikasi MyITS-Dosen dan MyITS-Mahasiswa akan menggunakan Integra API. Penggunaan Integra API ini akan memudahkan penggunaan fitur kuis dan diskusi pada perangkat bergerak Android ini karena user tidak perlu membuat akun baru dan cukup menggunakan akun Integra saja. Ketika berhasil melakukan otentikasi dan otorisasi melalui Integra API, user akan menerima response berupa token yang akan digunakan untuk mengakses seluruh endpoint API yang digunakan mengakses basis data e-Learning ITS.

3.1.3 Alur Kerja Sistem

Alur kerja sistem akan menjelaskan gambaran kerja sistem secara besar. Alur kerja sistem ini dibagi menjadi dua jenis, yaitu fitur kuis dan diskusi pada aplikasi MyITS-Dosen, dan fitur kuis dan diskusi pada aplikasi MyITS-Mahasiswa untuk asisten dosen dan mahasiswa. Perbedaan aplikasi dilakukan karena adanya perbedaan fitur dan pembatasan hak akses. Pada aplikasi MyITS- Dosen, dosen memiliki beberapa menu yang dapat diakses, yaitu pengelolaan kuis, pengelolaan forum diskusi, dan menu diskusi pada forum. Sedangkan pada aplikasi MyITS-Mahasiswa, mahasiswa hanya dapat menggunakan menu diskusi pada forum dan mengikuti kuis dan asisten dosen hanya dapat menggunakan menu diskusi pada forum. Alur kerja sistem dapat dilihat pada Gambar 3.2 dan Gambar 3.3.

(53)

Gambar 3.2 Alur Kerja Sistem Aplikasi MyITS-Dosen

(54)

Gambar 3.3 Alur Kerja Sistem Aplikasi MyITS-Mahasiswa 3.1.4 Spesifikasi Kebutuhan Perangkat Lunak

Sesuai dengan cakupan perangkat lunak yang telah dijelaskan pada bagian deskripsi umum sistem, dibutuhkan adanya spesifikasi perangkat lunak supaya dapat memberikan solusi dari permasalahan yang diberikan dan dapat bekerja dengan baik dalam mengakomodasi kebutuhan. Diharapkan dengan adanya spesifikasi ini dapat menyesuaikan kebutuhan-kebutuhan pengguna.

Spesifikasi kebutuhan perangkat lunak adalah penjelasan

(55)

mengenai kebutuhan sistem yang diinginkan pengguna atau client dalam bentuk tulisan. Spesifikasi kebutuhan perangkat lunak pada tugas akhir ini terdiri dari kebutuhan fungsional, kebutuhan non- fungsional, aktor, dan kasus penggunaan.

3.1.4.1 Kebutuhan Fungsional

Kebutuhan fungsional dihasilkan dari analisis yang telah dijelaskan sebelumnya. Kebutuhan fungsional sistem dideskripsikan dalam Tabel 3.2.

Tabel 3.2 Kebutuhan Fungsional No Kebutuhan

Fungsional

Deskripsi 1 Pengelolaan

Forum Diskusi

Melakukan proses penambahan,

pengeditan, serta penghapusan data forum diskusi

2 Pengelolaan Kuis Melakukan proses penambahan,

pengeditan, serta penghapusan data kuis, menampilkan detail kuis, melakukan penambahan dan penghapusan pertanyaan pada kuis

3 Melihat Daftar Diskusi pada Forum

Menampilkan daftar diskusi yang ada pada forum. melakukan proses penambahan, pengeditan, serta penghapusan diskusi pada forum, menambahkan balasan pada diskusi, melakukan pengeditan dan penghapusan pada balasan diskusi 4 Mengikuti Kuis Mengikuti kuis yang ada, melihat daftar

pertanyaan, dan melihat nilai kuis 3.1.4.2 Kebutuhan Non-Fungsional

Kebutuhan non-fungsional yang harus dipenuhi oleh sistem adalah sebagai berikut.

1. Kebutuhan Operasional

Perangkat lunak dapat digunakan pada berbagai jenis smartphone dan tablet dengan ukuran layar yang berbeda- beda.

(56)

2. Kebutuhan Perlindungan Keamanan

Username dan password dibutuhkan untuk mengamankan data pengguna yang berhak mengakses sistem sebagai syarat memasuki sistem dan melakukan semua fungsionalitas pada sistem.

3.1.4.3 Aktor

Pengertian aktor atau biasa disebut entitas luar adalah siapa saja atau pihak-pihak apapun yang harus berinteraksi dengan sistem. Aktor dapat berupa manusia, sistem lain, atau perangkat lain. Pada perangkat lunak ini terdapat tiga pengguna yaitu dosen, mahasiswa, dan asisten dosen. Dosen adalah sebutan bagi orang yang sedang mengajar di sebuah perguruan tinggi. Mahasiswa adalah sebutan bagi orang yang sedang menempuh pendidikan tinggi di sebuah perguruan tinggi. Sedangkan asisten dosen adalah sebutan untuk mahasiswa yang sedang membantu dosen dalam melaksanakan tugas mengajarnya di sebuah perguruan tinggi.

3.1.4.4 Kasus Penggunaan

Berdasarkan analisis spesifikasi kebutuhan fungsional dan analisis aktor dari sistem, dibuat kasus penggunaan sistem. Kasus penggunaan digambarkan dalam tabel penjelasan kasus penggunaan dan diagram kasus penggunaan. Tabel penjelasan kasus penggunaan dapat dilihat pada Tabel 3.3 dan diagram kasus penggunaan dapat dilihat pada Gambar 3.4.

Tabel 3.3 Kasus Penggunaan Kode Kasus

Penggunaan

Nama Aktor

UC001 Pengelolaan Forum Diskusi Dosen

UC002 Pengelolaan Kuis Dosen

UC003 Melihat Daftar Diskusi pada Forum

Dosen, Asisten Dosen, Mahasiswa

UC004 Mengikuti Kuis Mahasiswa

(57)

Gambar 3.4 Diagram Kasus Penggunaan 3.1.4.4.1 Pengelolaan Forum Diskusi

Kasus penggunaan nomor UC001 ini diakses ketika aktor (dosen) melakukan proses penambahan, pengeditan, dan penghapusan pada forum diskusi. Ekstensi, spesifikasi, dan diagram aktivitas dari kasus penggunaan ini dapat dilihat pada Gambar 3.5, Tabel 3.4, dan Gambar 3.6.

Gambar 3.5 Ekstensi Kasus Penggunaan UC001

(58)

Tabel 3.4 Spesifikasi Kasus Penggunaan UC001 ID Use Case UC001

Nama Use Case Pengelolaan Forum Diskusi

Aktor Dosen

Deskripsi Kasus penggunaan ini berfungsi untuk membuat, mengedit, dan menghapus forum diskusi.

Kondisi Awal Aktor berada pada halaman utama kelas di menu E-Kelas.

Kondisi Akhir Aktor berhasil melakukan pengelolaan forum diskusi.

Alur Normal 1. Aktor memilih minggu perkuliahan yang diinginkan.

2. Sistem menampilkan detail aktivitas dari minggu perkuliahan yang dipilih.

Alur Alternatif 2a Aktor mengedit forum diskusi

Aktor (Dosen) dapat mengubah detail dari forum diskusi

2a.1 Aktor mengklik ikon edit disamping item forum.

2a.2 Sistem menampilkan form edit forum diskusi.

2a.3 Aktor mengganti data yang perlu diubah.

2a.4 Aktor mengklik tombol simpan.

2a.5 Sistem menampilkan ulang halaman utama kelas.

2b Aktor menghapus forum diskusi Aktor (Dosen) dapat menghapus forum diskusi

2b.1 Aktor mengklik ikon hapus disamping item forum.

Gambar

Gambar 3.1 Deskripsi Umum Sistem
Gambar 3.2 Alur Kerja Sistem Aplikasi MyITS-Dosen
Gambar 3.3 Alur Kerja Sistem Aplikasi MyITS-Mahasiswa  3.1.4  Spesifikasi Kebutuhan Perangkat Lunak
Gambar 3.6 Diagram Aktivitas Kasus Penggunaan UC001
+7

Referensi

Dokumen terkait

Untuk menerapkan kedua dimensi “...seluruh pendidik dan pengelola PAUD harus memahami kerangka dan struktur kurikulum 2013 Pendidikan Anak Usia Dini agar

Hasil dari evaluasi terapi terhadap peningkatan aktivitas fungsional pada lutut kanan dapat dilihat pada Grafik 4.7, Grafik 4.8 dan Grafik 4.9 serta pada lutut kiri

Agar program pemberantasan tersebut dapat terwujud, kami tim PKM-M dari Perguruan Tinggi Universitas Negeri Semarang dalam program pengabdian masyarakat membentuk suatu wadah,

Para Wajib Pajak menggunakan tarif amortisasi untuk harta tidak berwujud dengan menggunakan masa manfaat kelompok masa 4 (empat) tahun sesuai pendekatan perkiraan harta tak

Berdasarkan hasil penelitian sebelumnya yang memberikan hasil yang berbeda maka peneliti mencoba meneliti kembali faktor-faktor yang mempengaruhi Earnings Response

konvensional membutuhkan kunci yang sama untuk melakukan proses

Pemilu untuk memilih Anggota DPR dan DPRD (termasuk didalamnya DPRD Provinsi dan DPRD Kabupaten/Kota) dilaksanakan dengan sistem perwakilan berimbang (proporsional)

Perhitungan Lebar Sudut Beamwidth Hasil pengukuran gain rata-rata antenna circular loop pada kondisi No-Loss dan 3 variasi posisi antenna circular loop yaitu E-plane,