PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB...

179
PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG UNTUK DATA KINERJA BIDANG PENDIDIKAN DOSEN (Skripsi) RAHMAT WIDODO JURUSAN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM UNIVERSITAS LAMPUNG 2017

Transcript of PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB...

Page 1: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

PENGEMBANGAN WEB API SIAKAD UNIVERSITAS

LAMPUNG UNTUK DATA KINERJA BIDANG PENDIDIKAN

DOSEN

(Skripsi)

RAHMAT WIDODO

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2017

Page 2: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

ABSTRAK

PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG

UNTUK DATA KINERJA BIDANG PENDIDIKAN DOSEN

Oleh

RAHMAT WIDODO

Masalah umum organisasi saat ini adalah memiliki beberapa aplikasi yang

heterogen atau dibangun dari arsitektur dan bahasa pemrograman yang berbeda

serta platform dan os yang juga berbeda. Web API merupakan bentuk dari

perkembangan teknologi saat ini yang dapat digunakan untuk integrasi antar

sistem yang berbeda melalui jaringan. Perbedaan itu dapat berupa platform, OS

hingga bahasa pemrograman yang digunakan. Tulisan ini membahas bagaimana

Web API diterapkan pada suatu sistem sehigga dapat berintegrasi dengan sistem

lainnya. Inftastruktur yang digunakan adalah RESTful API. RESTful API

menggunakan protokol HTTP yang sudah dikenali oleh sebagian besar bahasa

pemrograman dan hampir semua platform perangkat keras/perangkat lunak yang

saat ini populer. Dalam beberapa penelitian RESTful API memiliki respon time

cukup cepat dan tidak memakan banyak memory. Agar data yang disajikan hanya

dapat digunakan oleh sistem yang memiliki izin, maka diterapkan framework

otorisasi OAUTH 2.0. Hasil pengujian menunjukan bahwa Web API yang

diterapkan sudah sesuai dan dapat digunakan oleh sistem lain.

Kata kunci: Application Programming Interface, RESTful, OAUTH2, BKD,

Siakad.

Page 3: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

PENGEMBANGAN WEB API SIAKAD UNIVERSITAS

LAMPUNG UNTUK DATA KINERJA BIDANG PENDIDIKAN

DOSEN

Oleh

Rahmat Widodo

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

SARJANA KOMPUTER

Pada

Jurusan Ilmu Komputer

Fakultas matematika dan Ilmu Pengetahuan Alam

JURUSAN ILMU KOMPUTER

FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS LAMPUNG

2017

Page 4: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo
Page 5: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo
Page 6: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo
Page 7: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

ABSTRACT

WEB API DEVELOPMENT FOR EDUCATION LECTURER

PERFORMANCE DATA AT SIAKAD UNIVERSITY OF LAMPUNG

By

RAHMAT WIDODO

The common problem of organizations is to have multiple applications that are

heterogeneous or built from different architectures and programming languages

and different platforms and OS. Web API is a technology that can be used for

integration between different systems over the network. The difference can be a

platform, OS and programming language are used.This paper discusses how the

Web API is applied to a system so that it can integrate with other systems. The

infrastructure used is RESTful API. The RESTful API uses the HTTP protocol that

most programming languages recognize and most of today's popular hardware /

software platforms. In some studies the RESTful API has a fairly fast response

time and does not take up much memory. In order that the data presented can only

be used by a licensed system, an OAUTH 2.0 authorization framework is

implemented. Test results indicate that the Web API applied is appropriate and

can be used by other systems.

Keywords Application Programming Interface, RESTful, OAUTH2, BKD, Siakad.

Page 8: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

RIWAYAT HIDUP

Penulis dilahirkan di Rumah Bersalin Perumnas,

Kecamatan Kemiling Kota Bandar Lampung pada

tanggal 23 Februari 1993. Penulis terlahir sebagai

anak pertama dari dua bersaudara, dari pasangan

Bapak Purwadi dan Ibu Sumiyem.

Penulis memulai pendidikan di Taman Kanak-kanak

(TK) Kemiling pada tahun 1997 dan lulus pada tahun

1999, melanjutkan pendidikan dasar di Sekolah Dasar Negeri (SDN) 1 Beringin

Raya Bandar Lampung pada Tahun 1999 dan lulus pada tahun 2005. Pada Tahun

2008 penulis menyelesaikan pendidikan di Sekolah Menengah Pertama Negeri

(SMPN) 14 Bandar Lampung, kemudian melanjutkan pendidikan di Sekolah

Menengah Atas Negeri (SMAN) 7 Bandar Lampung pada tahun 2008 dan lulus

pada tahun 2011.

Pada tahun 2011, penulis terdaftar sebagai mahasiswa Jurusan Ilmu Komputer

FMIPA Universitas Lampung yang diterima melalui jalur SNMPTN (Seleksi

Nasional Masuk Perguruan Tinggi Negeri) Tertulis. Selama menjadi mahasiswa

beeberapa kegiatan yang dilakukan penulis antar lain:

Page 9: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

1. Pada awal perkuliahan pernah menjadi Anggota Muda Himpunan Mahasiswa

Jurusan Matematika (HIMATIKA) pada tahun 2011-2012.

2. Pada Bulan Januari tahun 2011 penulis mengikuti kegiatan yang

diselenggarakan pihak Fakultas MIPA yaitu Karya Wisata Ilmiah (KWI) yang

berlangsung selama 5 hari di Desa Sukabanjar Kecamatan Kota Agung.

3. Pada tahun 2012 penulis pernah menjadi Anggota Himpunan Mahasiswa

Jurusan Ilmu Komputer (HIMAKOM) periode tahun 2012-2013 sebagai

anggota Bidang Kaderisasi.

4. Pada tahun 2012 penulis pernah menjadi asisten dari asisten dosen mata

kuliah algoritma dan pemrograman.

5. Pada tahun yang sama penulis menjadi anggota bidang Kebijakan Publik di

Badan Eksekutif Fakultas (BEMF) Universitas Lampung.

6. Pada Tahun 2013 penulis terpilih menjadi wakil ketua Himpunan Mahasiswa

Ilmu Komputer (HIMAKOM) periode 2013-2014.

7. Pada tahun yang sama penulis terpilih menjadi koordinator asisten

laboratorium Ilmu Komputer dan mengajar beberapa praktikum seperti

algoritma dan pemrograman, pemrograman web dan jaringan.

8. Pada bulan Januari-Februari tahun 2014, penulis melaksanakan Kuliah Kerja

Nyata (KKN) di Kecamatan Padang Cermin, Kabupaten Lampung Selatan.

9. Pada bulan Juli-Agustus tahun 2014, selama 40 hari penulis melakukan Kerja

Praktik (KP) di PT. BINOKULAR MEDIA UTAMA yang beralamat di

Page 10: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

Pejaten, Jakarta Selatan, Jakarta sebagai junior programmer dan

menyelesaikan satu buah program yang diberi nama aplikasi crosscheck data

video.

Page 11: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

PERSEMBAHAN

Kupersembahkan karya kecilku ini kepada :

Allah Subhanahu Wa Ta’ala,

sebagai salah satu bentuk penghambaanku

yang tidaklah seberapa dibandingkan

Rahmat dan Karunia-Nya yang telah diberikan.

Ibu dan Bapak tercinta

Terima kasih atas semua kerja keras, dukungan dan

doa yang tiada henti-hentinya demi tercapai semua

cita-cita dan impianku.

Saudara-saudarku tersayang

Untuk do’a dan motivasi yang telah diberikan

Serta...

Sahabat-sahabatku

Page 12: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

MOTTO

“Sesungguhnya Allah tidak akan mengubah nasib suatu kaum kecuali

kaum itu sendiri yang mengubah apa apa yang pada diri mereka”

(Ar-Ra’d: 11)

“Give a man a fish and you feed him for today. Teach a man to fish

and you feed him for a lifetime”

(Chinese Proverb)

“Manfaatkanlah lima perkara sebelum lima perkara

(1) Waktu mudamu sebelum datang waktu tuamu,

(2) Waktu sehatmu sebelum datang waktu sakitmu,

(3) Masa kayamu sebelum datang masa kefakiranmu,

(4) Masa luangmu sebelum datang masa sibukmu,

(5) Hidupmu sebelum datang matimu.”

(HR. Al Hakim)

“Jangan Membuat Keputusan Ketika Sedang Marah, Jangan

Membuat Janji Sewaktu Sedang Gembira”

(Ali Bin Abi Thalib)

Page 13: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

SANWACANA

Puji syukur penulis panjatkan kehadirat Allah SWT, atas segala rahmat, nikmat

dan karunia-Nyalah penulis dapat menyelesaikan skripsi dengan judul

“Pengembangan Web API Siakad Universitas Lampung untuk Data Kinerja

Bidang Pendidikan Dosen” sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer di Universitas Lampung.

Penulis menyadari skripsi ini dapat diselesaikan dengan baik tak terlepas dari

bantuan dan partisipasi dari berbagai pihak. Oleh karena itu pada kesempatan ini

penulis ingin menyampaikan rasa terima kasih yang sebesar-besarnya kepada:

1. Bapak Dr. Ir. Kurnia Muludi, M.Sc. selaku pembimbing. Terima kasih atas

bimbingan, saran, kritik, kesabaran, bantuan dan ilmu yang diberikan

sehingga skripsi ini dapat diselesaikan.

2. Bapak Dwi Sakheti, M.Kom. selaku pembahas pertama. Terima kasih atas

saran, arahan dan kesabarannya dalam proses penyelesaian skripsi ini.

3. Bapak Dr. rer. nat. Akmal Junaidi, M.Sc. selaku pembahas kedua. Terima

kasih atas segala kerja sama, masukan dan koreksi selama penulis menempuh

ilmu di Universitas Lampung.

4. Bapak Didik Kurniawan, S.Si., MT. selaku pembimbing akademik penulis.

5. Bapak Dr. Ir. Kurnia Muludi, M.S.Sc. selaku Ketua Jurusan Ilmu Komputer

FMIPA Universitas Lampung.

Page 14: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

6. Bapak Prof. Dr. Warsito, S.Si, D.E.A, Ph.D. selaku Dekan Fakultas

Matematika dan Ilmu Pengetahuan Alam.

7. Bapak dan Ibu dosen jurusan Ilmu Komputer yang telah memberikan ilmu

yang bermanfaat.

8. Teruntuk yang selalu hadir dalam doaku, Ibu dan Bapak tercinta begitu

banyak doa, energi, materi, dan perhatian yang tercurah untuk penulis. Satu-

satunya alasan penulis untuk berdiri kembali ketika berulangkali terjatuh.

Cinta dan Kasihmu tidak akan pernah mampu untukku balas. Semoga Allah

SWT memberikan kebahagian dunia dan akhirat bagi kedua orangtuaku.

9. Adik laki-lakiku tercinta Dwi Nugroho yang menjadi tempat berbagi canda

tawa, pelipur lara hati penulis, menjadi orang yang menguatkan hati penulis,

merupakan alasan terbesar penulis dalam menggapai cita-cita.

10. Putri Marlina Sari R seorang adik, sahabat, dan teman terdekat penulis. Yang

selalu berusaha membuat penulis tersenyum, sangat sabar membantu,

memberikan semangat, motivasi, dan berbagi cerita dan suka duka bersama

penulis.

11. Aqillah dan Harisa yang ada dimasa masa perkuliahan dan berorganisasi.

Semoga kita bisa menggapai cita-cita kita, dan meraih kesuksesan kita serta

selalu menjadi sahabat.

12. Adik seperjuangan Saiful Anwar yang sering ada dan menemani hari-hari

penulis. Bersama-sama berjuang untuk mencapai gelar S.Kom. Semoga kita

Page 15: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

bisa menggapai cita-cita kita, dan meraih kesuksesan kita serta selalu menjadi

sahabat.

13. Tim ngobeg : Trio, Panji, Harry Saptomo, Amir Ahmed, Fatan, RC, Indra,

Dana, Bayu, Pandya, Rico, Bobby dan Ardye. Terimakasih telah menemani

hari-hari penulis baik dikampus, dikantin, di tempat ngumpul, main game

bersama dan acara acara yang menguatkan kita. Semoga kedepan kita dapat

mencapai cita-cita yang kita inginkan.

14. Teman-teman seperjuangan mahasiswa Ilmu Komputer Angkatan 2011,

Maya, Anti, Riska, Ika, Dea, Aldona, Chyntia, Orien, Clara, Novita, Yunita,

Fitriana, Ana, Dona, Idon, Panji, Kakak Harrysap, Babang Amir, Patan,

Kakak Sigit, RC, Oki, Gama, Rudra, Indra, Jonhar, Adi dan Adi, Dana, Bayu,

Rian, Budiman, Ardiyul, Fajri, Dimas, Pandya, Rico, Galih, Bobby, Mas Ade,

Basir, Ardye, Ardhika, Rifki, yang mewarnai dan melengkapi hari-hari

penulis, melewati suka duka selama menjalani kuliah. Semoga kita semua

bisa mengapai cita-cita kita.

15. Seluruh kakak-kakak tingkat Ilmu Komputer yang tidak bisa disebutkan satu

persatu, terimakasih atas ilmu-ilmu yang dberikan, nasihat, arahan, semangat

dan dukungan kakak-kakak dalam menghadapi perkuliahan.

16. Seluruh adik-adik tingkat Ilmu Komputer seperti Alfabet, Dwi yatmoko,

Nikko agustino, Arif, Wibi, Niki, Faiz, Ivan dan masih banyak lagi. Telah

menjadi warna selama masa perkuliahan penulis.

Page 16: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

17. Teman-teman Himakom yang sudah menjadi keluarga kedua, mengajari

banyak hal dalam berorganisasi, memberikan banyak pengalaman, berjuang

bersama memajukan Himakom, berjuang bersama membawa nama baik

Jurusan Ilmu Komputer. Semoga Himakom semakin sukses untuk

kedepannya. Himakom, MAKIN JAYA.

18. Teman-teman Asistem Dosen yang juga menjadi keluarga kedua, mengajari

banyak hal dalam berorganisasi, memberikan banyak pengalaman, berjuang

bersama memajukan Lab Ilmu Komputer.

Penulis menyadari bahwa skripsi ini masih jauh dari sempurna, akan tetapi

semoga skripsi ini bermanfaat bagi semua civitas Ilmu Komputer Unila.

Bandar Lampung, 26 Oktober 2017

Rahmat Widodo

Page 17: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xvii

DAFTAR ISI

Halaman

DAFTAR ISI .................................................................................................. xvii

DAFTAR GAMBAR ..................................................................................... xxii

DAFTAR TABEL ......................................................................................... xxvii

BAB I PENDAHULUAN

1.1 Latar Belakang .....................................................................................1

1.2 Rumusan Masalah .................................................................................4

1.3 Batasan Masalah ..................................................................................5

1.4 Tujuan Penelitian .................................................................................6

1.5 Manfaat Penelitian ...............................................................................6

BAB II TINJAUAN PUSTAKA

2.1 Sistem Informasi Beban Kerja Universitas Lampung .........................8

2.2 ROA (Resource Oriented Architecture) ...............................................11

2.3 Web Service ...........................................................................................13

2.4 REST .....................................................................................................19

2.5 Application State dan Resource State ...................................................24

2.6 Hypermedia As The Engine Of Application State (HATEOAS) ..........25

2.7 Template URI .......................................................................................26

2.8 Kode Respon HTTP .............................................................................27

Page 18: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xviii

2.9 HTTP Header .......................................................................................30

2.10 Uniform Resource Identifier (URI) .......................................................31

2.11 Python ..................................................................................................33

2.11.1 Dibalik Nama “Phyton” .............................................................34

2.11.2 Fitur Python ...............................................................................34

2.12 DJANGO ..............................................................................................37

2.13 Django Rest Framework .......................................................................39

2.14 OAUTH2 ...............................................................................................40

2.14.1 Sejarah OAUTH2 .......................................................................40

2.14.2 Peran Entitas yang Terlibat ........................................................42

2.14.3 Protokol Flow Oauth2 ................................................................43

2.14.4 Hibah Otorisasi (Authorization Grant) ......................................44

2.14.5 Access Token dan Refresh Token ...............................................46

2.15 PostgreSQL ..........................................................................................47

2.15.1 Arsitektur PostgreSQL ...............................................................48

2.15.2 Psycopg2 ....................................................................................50

2.16 Android ................................................................................................51

2.16.1 Arsitektur Android ....................................................................53

2.16.2 Android SDK .............................................................................57

2.16.3 Android Studio ...........................................................................56

2.16.4 Fundamental Aplikasi ................................................................58

2.17 Extreme Programming (XP) .................................................................61

2.17.1 Perencanaan ...............................................................................62

2.17.2 Perancangan ...............................................................................62

Page 19: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xix

2.17.3 Pengkodean ................................................................................63

2.17.4 Pengujian ....................................................................................63

2.18 Unified Modeling Language (UML) .....................................................63

2.18.1 Gambaran Umum UML .............................................................63

2.18.2 Tujuan Penggunaan UML ..........................................................65

2.18.3 Use case Diagram ......................................................................65

2.18.4 Activity Diagram ........................................................................67

2.18.5 Sequence Diagram .....................................................................69

2.18.6 Class Diagram ...........................................................................70

2.19 Pengujian Perangkat Lunak ..................................................................72

2.19.1 Proses Pengujian Perangkat Lunak ............................................73

2.19.2 Metode Pengujian Perangkat Lunak ..........................................74

2.19.3 Equivalence Partitioning ...........................................................75

2.19.4 Skala Likert ................................................................................76

BAB III METODE PENELITIAN

3.1 Tempat dan Waktu Penelitian ................................................................77

3.2 Metodologi Penelitian ...........................................................................77

3.2.1 Alir Penelitian ..............................................................................77

3.2.1.1 Identifikasi Masalah ...........................................................78

3.2.1.2 Studi Literatur ....................................................................79

3.2.1.3 Perencanaan .......................................................................80

A. Identifikasi Aktor .........................................................81

B. User Story .....................................................................82

C. Use Case Diagram ........................................................83

Page 20: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xx

D. Activity Diagram ..........................................................85

3.2.1.4 Perancangan .......................................................................93

A. Class Diagram ..............................................................93

B. Design Web Service RESTFul API ...............................96

C. Sequence Diagram ........................................................111

D. Perancangan Antarmuka Sistem Kehadiran Dosen .......121

3.2.1.5 Penulisan Kode Program ...................................................134

3.2.1.6 Pengujian ...........................................................................135

BAB IV PEMBAHASAN

4.1 Hasil Penelitian ......................................................................................143

4.2 Implementasi Arsitektur Sistem ............................................................145

4.3 Implementasi Web API .........................................................................149

4.3.1 URI untuk Resource BKD .............................................................154

4.3.2 URI untuk Resource Dosen ...........................................................161

4.3.3 URI untuk Resource Mahasiswa ...................................................173

4.4 Implementasi Web Oauth2 .....................................................................179

4.5 Implementasi Aplikasi Mobile ...............................................................189

4.5.1 Halaman Splash Screen ................................................................189

4.5.2 Halaman Login ..............................................................................190

4.5.3 Halaman Role Dosen ...................................................................192

4.5.4 Halaman Role Mahasiswa .............................................................195

4.6 Implementasi Web API Siakad pada Sistem Remunerasi dan BKD ......200

4.6.1 URI Kinerja Dosen .........................................................................201

4.6.1.1 URI Kinerja Dosen sebagai Penanggung Jawab ................205

Page 21: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxi

4.6.1.2 URI Mahasiswa Bimbingan ...............................................208

4.7 Pengujian ................................................................................................210

4.7.1 Pengujian Web API .......................................................................210

4.7.1.1 Pengujian URI Dosen ......................................................211

4.7.1.2 Pengujian URI Presensi Dosen Role Dosen .....................215

4.7.1.3 Pengujian URI Partisipan Mata Kuliah ............................221

4.7.1.4 Pengujian URI Presensi Dosen Role Mahasiswa ..............225

4.7.1.5 Pengujian URI Validasi Presensi Dosen Role

Mahasiswa .........................................................................230

4.7.1.6 Pengujian URI Kinerja Dosen ..........................................234

4.7.1.7 Pengujian URI Kinerja Dosen Penaggung Jawab .............238

4.7.1.8 Pengujian URI Kinerja Dosen Sebagai Anggota ..............243

4.7.2 Pengujian Aplikasi Mobile ...........................................................246

4.7.2.1 Pengujian Versi Android ..................................................246

4.7.2.2 Pengujian Resolusi Layar dan Densitas Layar .................247

4.7.2.3 Pengujian User Interface ..................................................248

4.7.2.4 Pengujian Fungsi dan Menu Aplikasi ...............................249

4.7.3 Pengujian Non Fungsional ...........................................................225

BAB V SIMPULAN DAN SARAN

5.1 Simpulan ................................................................................................270

5.2 Saran ......................................................................................................271

DAFTAR PUSTAKA

Page 22: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxii

DAFTAR GAMBAR

Gambar Halaman

2.1 Prosedur laporan perguruan tinggi ............................................................... 9

2.2 Struktur basis data Sistem BKD (Komarudin, 2011) ...................................10

2.3 Urutan pertukaran pesan pada web service (Booth et al, 2017) ...................16

2.4 Ilustrasi teknologi web service (Deviana, 2011) ..........................................17

2.5 Representasi photo yang berisi hypermedia jenis link (Allamaraju, 2010) ..26

2.6 Catatan respon dari pembacaan resource (Richardson and Ruby, 2008) ....32

2.7 Mekanisme kinerja OAuth 2 (Hardt, 2012) .................................................43

2.8 Architecture PostgreSQL (Matthew & Stones 2005) ...................................49

2.9 Arsitektur Android (Andry, 2011) ...............................................................53

2.10 Proses extreme programming (Pressman, 2010) ........................................61

2.11 Contoh use case clinic berobat ...................................................................66

2.12 Contoh activity diagram tanpa swimlane (Yasin, 2012) ............................68

2.13 Contoh sequence diagram ..........................................................................68

3.1 Diagram alir metodologi penelitian .............................................................77

3.2 Use case keseluruhan sistem ........................................................................83

3.3 Activity diagram menampilkan profil dosen .................................................86

3.4 Activity diagram mengelola absen dosen ......................................................88

3.5 Activity diagram menampilkan profil mahasiswa .........................................89

Page 23: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxiii

3.6 Activity diagram validasi kehadiran dosen ...................................................91

3.7 Class Diagram ..............................................................................................93

3.8 Tahap perancangan back-end sistem informasi (Richardson, 2007) ............96

3.9. Template URI (Gregorio et al, 2012) ...........................................................97

3.10. Ilustrasi request dan response untuk mendapatkan data kinerja dosen......103

3.11. Ilustrasi request dan response data untuk mendapatkan list presensi

dosen ..........................................................................................................104

3.12. Ilustrasi request dan response data untuk menambah absen dosen ...........105

3.13. Ilustrasi request dan response data untuk mengubah data presensi

dosen ..........................................................................................................105

3.14 Ilustrasi request dan response data untuk validasi absen dosen .................106

3.15. Diagram model Web Service ......................................................................109

3.16. Sequence diagram mendapatkan kinerja dosen .........................................111

3.17. Sequence diagram profil dosen ..................................................................112

3.18. Sequence diagram server menerima request daftar hadir dosen dan

merespon dengan list daftar hadir ..............................................................113

3.19. Sequence diagram server menerima request tambah absen ......................114

3.20. Sequence diagram server menerima request ubah data absen ...................115

3.21. Sequence diagram server menerima request untuk menampilkan profil

mahasiswa dengan response profil mahasiswa..........................................117

3.22. Sequence diagram server menerima request untuk merepresentasikan

resource presensi dosen berdasarkan NPM mahasiswa ............................118

3.23. Sequence diagram server menanggapi request validasi absen ..................119

3.24. Antarmuka sistem presensi dosen ..............................................................120

Page 24: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxiv

3.25. Landing Page .............................................................................................121

3.26. Login Form ................................................................................................122

3.27. Home ..........................................................................................................123

3.28 Jadwal Dosen ..............................................................................................124

3.29. Presensi Dosen ...........................................................................................125

3.30. Form tambah absen dosen ..........................................................................126

3.31. Form ubah absen dosen ..............................................................................127

3.32. Antar Muka Sistem Validasi Kehadiran Dosen .........................................128

3.33. Landing Page Mahasiswa ..........................................................................129

3.34. Login Form Mahasiswa..............................................................................130

3.35. Home Page Mahasiswa ..............................................................................131

3.36. Presensi Dosen Mahasiswa ........................................................................132

3.37. Validasi Presensi Dosen .............................................................................134

4.1. Arsitektur web API Siakad ...........................................................................147

4.2. Registrasi aplikasi ........................................................................................148

4.3. Contoh aplikasi yang terdaftar .....................................................................149

4.4. Struktur folder dan file API Siakad ..............................................................153

4.5. Request dan respon untuk url /bkd/kinerja_dosen/ ......................................156

4.6. Request dan respon untuk url /bkd/kinerja_dosen/pj/ ..................................158

4.7. Request dan respon untuk url /bkd/kinerja_dosen/anggota/.........................159

4.8. Request dan respon untuk url /bkd/mahasiswa_bimbingan/ ........................160

4.9. Request dan respon untuk url dosen/jadwal/<tahun>/<semester> ...............164

4.10. Request dan respon untuk url dosen/sesimengajar/<nomk>/ .....................166

4.11. Request dan respon untuk url dosen/partisipanmk/<nomk>/ .....................167

Page 25: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxv

4.12. Request dan respon untuk url /dosen/presensi_dosen/<nomk> untuk

method GET ...............................................................................................169

4.13. Request dan respon untuk url /dosen/presensi_dosen/<nomk>

untuk method POST ...................................................................................169

4.14. Request dan respon untuk url mahasiswa/presensi/?status=inprogress .....175

4.15. Request dan respon untuk url mahasiswa/presensi/?status=completed .....176

4.16. Request dan respon untuk url mahasiswa/presensi/ ...................................177

4.17. Request dan respon untuk url mahasiswa/<id>/validating .........................179

4.18. Web page yang berisi daftar aplikasi yang terdaftar ..................................180

4.19. Web page daftar aplikasi ............................................................................181

4.20. Detail aplikasi yang telah didaftarkan ........................................................182

4.21. Webpage untuk mengubah aplikasi yang telah dibuat ...............................184

4.22. Halaman login milik server ........................................................................185

4.23. Page permission .........................................................................................186

4.24. Halaman menerima code untuk menerima token .......................................186

4.25. Parameter body yang dikirim untuk generate token ..................................187

4.26. Parameter body yang dikirim untuk memperbaharui token .......................188

4.27. Halaman login aplikasi ...............................................................................190

4.28. Web view halaman login Siakad .................................................................191

4.29. Halaman utama role dosen .........................................................................192

4.30. Halaman daftar jadwal dosen .....................................................................193

4.31. Halaman daftar presensi dosen...................................................................194

4.32. Halaman tambah presensi dosen ................................................................195

4.33. Halaman home untuk role mahasiswa........................................................196

Page 26: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxvi

4.34. Halaman daftar presensi dosen unvalidated ...............................................197

4.35. Halaman daftar presensi dosen validated ...................................................198

4.36. Halaman detail presensi dosen ...................................................................199

4.37. Halaman tolak presensi dosen ....................................................................199

4.38. Halaman validasi presensi dosen ...............................................................200

4.39. Button ambil data dari Siakad pada fitur Memberi Kuliah Sistem BKD ...203

4.40. Memilih daftar mata kuliah pada fitur Memberi Kuliah Sistem BKD.......203

4.41. Memilih daftar mata kuliah pada fitur Memberi Kuliah Sistem BKD

(lanjutan) ....................................................................................................204

4.42. Tampil daftar mata kuliah pada fitur Memberi Kuliah Sistem BKD

(lanjutan) ....................................................................................................205

4.43. Button Ambil Data dari Siakad pada fitur Menjadi Penanggungjawab MK

Sistem BKD ...............................................................................................206

4.44. Memilih daftar mata kuliah pada fitur Menjadi Penanggungjawab MK

Sistem BKD ...............................................................................................206

4.45. Memilih daftar mata kuliah pada fitur Menjadi Penanggungjawab MK

Sistem BKD (lanjutan) ..............................................................................207

4.46. Menampilkan daftar mata kuliah pada fitur Menjadi Penanggungjawab MK

Sistem BKD ...............................................................................................208

4.47. Fitur bimbingan akademik Sistem BKD ....................................................209

4.48. Modal untuk memilih mahasiswa bimbingan ............................................209

4.49. Modal untuk memilih mahasiswa bimbingan (lanjutan) ............................210

Page 27: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxvii

DAFTAR TABEL

Tabel Halaman

2.1 Uniform Resource Interface yang digunakan pada ......................................22

2.2 Simbol use case diagram (Yasin, 2012) .....................................................66

2.3 Simbol activity diagram (Yasin, 2012) ........................................................67

2.4 Simbol class diagram (Sugiarti, 2012) ........................................................70

3.1 User story gambaran kasar sistem dan aktor yang terlibat ..........................82

3.2 Keterangan Class Diagram ..........................................................................95

3.3 Pemetaan URI BKD ......................................................................................100

3.4 Pemetaan URI dosen ....................................................................................100

3.5 Pemetaan URI Mahasiswa ...........................................................................100

3.6 Method pada URI BKD ................................................................................102

3.7 Method pada URI dosen ...............................................................................102

3.8 Method pada URI Mahasiswa ......................................................................102

3.9 Kode respon dari server untuk operasi dengan method GET ......................108

3.10 Kode respon dari server untuk operasi dengan method PUT .....................108

3.11. Kode respon dari server untuk operasi dengan method POST ..................109

3.12 Kode respon dari server untuk operasi dengan method DELETE ..............109

3.13 Daftar Rancangan Pengujian EP Untuk front-end

Kehadiran Dosen .........................................................................................136

Page 28: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxviii

3.14 Daftar Rancangan Pengujian EP untuk front-end Validasi

Kehadiran Dosen .........................................................................................140

4.1. Daftar url beserta method, fungsi, class dan file yang terlibat .....................154

4.2. Url yang digunakan sistem absen dosen untuk role dosen ..........................162

4.3. Url yang digunakan sistem validasi kehadiran dosen ..................................173

4.4. Pengujian URL jadwal dosen .......................................................................211

4.5. Pengujian authentication jadwal dosen ........................................................211

4.6. Pengujian content jadwal dosen ...................................................................213

4.7. Pengujian method jadwal dosen ...................................................................214

4.8. Pengujian URL presensi dosen pada role dosen ..........................................215

4.9. Pengujian authentication URL presensi dosen pada role dosen ..................215

4.10. Pengujian content URL presensi dosen pada role dosen ...........................218

4.11. Pengujian method URL presensi dosen pada role dosen ...........................221

4.12. Pengujian URL partisipan mata kuliah ......................................................221

4.13. Pengujian authentication url partisipan mata kuliah ..................................222

4.14. Pengujian content URL partisipan mata kuliah .........................................224

4.15. Pengujian method url partisipan mata kuliah .............................................225

4.16. URL presensi dosen role mahasiswa .........................................................225

4.17. Pengujian authentication URL presensi dosen role mahasiswa ................226

4.18. Pengujian content URL presensi dosen role mahasiswa............................228

4.19. Pengujian method URL presensi dosen role mahasiswa............................230

4.20. Pengujian URL validasi presensi dosen role mahasiswa ...........................230

4.21. Pengujian authentication URL validasi presensi dosen role mahasiswa ...231

4.22. Pengujian content URL validasi presensi dosen role mahasiswa ..............233

Page 29: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxix

4.23. Pengujian method URL validasi presensi dosen role mahasiswa ..............233

4.24. Pengujian URL kinerja dosen ....................................................................234

4.25. Pengujian authentication URL kinerja dosen ............................................235

4.26. Pengujian content URL kinerja dosen........................................................237

4.27. Pengujian method URL kinerja dosen........................................................237

4.28. Pengujian URL kinerja dosen sebagai penanggung jawab ........................238

4.29. Pengujian authentication URL kinerja dosen sebagai penanggung jawab 239

4.30. Pengujian content URL kinerja dosen sebagai penanggung jawab ...........241

4.31. Pengujian method URL kinerja dosen sebagai penanggung jawab ...........241

4.32. Pengujian URL kinerja dosen sebagai anggota ..........................................242

4.33. Pengujian authentication URL kinerja dosen sebagai anggota..................243

4.34. Pengujian content URL kinerja dosen sebagai anggota .............................245

4.35. Pengujian method URL kinerja dosen sebagai anggota .............................246

4.36. Pengujian versi Android .............................................................................247

4.37. Pengujian resolusi layar dan densitas layar ................................................248

4.38. Pengujian user interface .............................................................................249

4.39. Pengujian fungsi dari menu aplikasi ..........................................................250

4.40. Daftar rancangan pengujian EP untuk front-end validasi kehadiran

dosen ..........................................................................................................254

4.41. Interval dan Kategori Penilaian ..................................................................257

4.42. Hasil penilaian variabel information on application role dosen ................257

4.43. Hasil penilaian variabel interactifity role dosen ........................................259

4.44. Hasil penilaian variabel trust role dosen ....................................................259

4.45. Hasil penilaian variabel response time role dosen .....................................260

Page 30: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

xxx

4.46. Hasil penilaian variabel ease of understanding role dosen ........................261

4.47. Hasil penilaian variabel visual, innovativeness and emotional appeal role

dosen ..........................................................................................................262

4.48. Hasil penilaian variabel consistent image and color role dosen ................262

4.49. Hasil penilaian variabel information on application role mahasiswa ........264

4.50. Hasil penilaian variabel interactifity role mahasiswa ................................265

4.51. Hasil penilaian variabel trust role mahasiswa ...........................................266

4.52. Hasil penilaian variabel response time role mahasiswa .............................266

4.53. Hasil penilaian variabel ease of understanding role mahasiswa ...............267

4.54. Hasil penilaian variabel visual, innovativeness and emotional appeal role

mahasiswa 268

4.55. Hasil penilaian variabel consistent image and color role mahasiswa........269

Page 31: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

BAB IPENDAHULUAN

1.1 Latar Belakang

Berdasarkan Undang-Undang Nomor 20 Tahun 2003 disebutkan bahwa

pendidikan adalah usaha sadar dan terencana untuk mewujudkan suasana belajar

dan proses pembelajaran agar peserta didik secara aktif mengembangkan potensi

dirinya untuk memiliki kekuatan spiritual keagamaan, pengendalian diri,

kepribadian, kecerdasan, akhlak mulia, serta keterampilan yang diperlukan

dirinya, masyarakat, bangsa dan negara (UU Nomor 20, 2003). Tidak dapat

dipungkiri, usaha ini adalah salah satu hal yang menunjang manusia untuk dapat

menemukan dan menciptakan hal baru sesuai dengan bidang ilmu yang

dipelajarinya. Sehingga usaha ini menjadi salah satu bagian dari kemajuan dari

semua bidang ilmu yang ada.

Di dalam sebuah pendidikan tentunya memiliki komponen-komponen yang saling

terkait secara terpadu untuk mencapai tujuan dari pendidikan itu sendiri. Salah

satu komponen penting dalam pendidikan adalah pendidik. Pendidik adalah

tenaga kependidikan yang berkualifikasi seperti guru, dosen, konselor, pamong

belajar, widyaiswara, tutor, instruktur, fasilitator dan sebutan lain sesuai dengan

Page 32: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

2

kekhususannya serta berpartisipasi dalam menyelenggarakan pendidikan (UU

Nomor 20, 2003). Kualifikasi tenaga pendidikan tersebut dibedakan berdasarkan

jenjang pendidikan dan formal atau nonformal pendidikan itu diselenggarakan.

Berdasarkan Undang-Undang Nomor 14 Tahun 2005 disebutkan bahwa dosen

adalah pendidik profesional dan ilmuwan dengan tugas utama

mentransformasikan, mengembangkan, dan menyebarluaskan ilmu pengetahuan,

teknologi dan seni melalui pendidikan, penelitian, dan pengabdian kepada

masyarakat. Menurut Undang-Undang Nomor 12 Tahun 2012 pendidikan,

penelitian dan pengabdian kepada masyarakat yang kemudian disebut dengan

Tridharma Perguruan Tinggi. Tugas utama dosen adalah melaksanakan Tridharma

Pendidikan Tinggi dengan beban kerja paling sedikit sepadan dengan 12 (dua

belas) dan paling banyak 16 (enam belas) SKS pada setiap semester sesuai dengan

kualifikasi akademik (Kebudayaan, 2010). Pelaksanaan tugas utama dosen ini

perlu dievaluasi dan dilaporkan secara periodik sebagai bentuk akuntabilitas

kinerja dosen kepada para pemangku kepentingan. Sehingga setiap dosen harus

membuat laporan kinerja yang dilakukan secara periodik dengan format laporan

yang telah ditetapkan.

Dalam mempermudah pembuatan laporan, saat ini Universitas Lampung telah

mengembangkan sebuah sistem informasi yang dapat membantu dosen dalam

membuat laporan beban kerja dosen. Sistem informasi tersebut adalah Sistem

Informasi Beban Kerja Dosen (BKD) Universitas Lampung. Sistem ini sudah

Page 33: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

3

terpadu dan menghasilkan laporan sesuai dengan format laporan yang telah

ditetapkan. Tetapi sistem informasi ini masih ditemukan kekurangan yaitu dosen

masih diharuskan memasukan data secara manual, atau mengetik data tersebut di

kolom-kolom yang telah disediakan. Padahal beberapa data yang masukan

tersebut sudah tersedia di Sistem Informasi Akademik (Siakad) Universitas

Lampung. Tentunya hal ini rentan akan terjadinya kesalahan manusia atau human

error. Selain itu, data yang diisi oleh satu dosen dengan dosen lainnya untuk satu

mata kuliah atau satu objek akan berbeda versi pengetikan nama mata kuliah atau

objek tersebut. Untuk lebih jauh dosen dapat melakukan manipulasi data untuk

keperluan tertentu.

Khususnya untuk data bidang pendidikan, dosen harus mengisi data nama mata

kuliah, bukti penugasan, SKS, masa penugasan, bukti kinerja, asesor dan SKS

kumulatif yang dihitung dengan parameter jumlah dosen, jumlah mahasiswa,

SKS, dan jumlah kehadiran. Beberapa di antara data yang disebutkan di atas

seperti, nama mata kuliah, SKS, dan SKS kumulatif yang dihitung dengan

parameter jumlah dosen dan jumlah mahasiswa telah tersedia di Sistem Informasi

Akademik (Siakad) Universitas Lampung. Tentunya data tersebut akan sangat

berguna jika dapat digunakan oleh Sistem Informasi BKD Universitas Lampung.

Dari permasalahan ini, maka diperlukan Application Programming Interface yang

berisi fungsi yang dapat digunakan oleh Sistem Informasi BKD Universitas

Lampung untuk memanggil data-data yang telah tersedia di Sistem Informasi

Page 34: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

4

Akademik (Siakad) Universitas Lampung tersebut.

Jika diperhatikan lagi, Sistem Informasi Akademik Universitas Lampung belum

memiliki data jumlah kehadiran dosen. Tanpa data ini, SKS kumulatif tidak dapat

dihitung. Apabila data ini dimasukan secara manual akan sangat rentan terjadinya

human error. Sehingga selain antarmuka pemrograman aplikasi, diperlukan

sistem infomasi yang dapat mencatat kehadiran dosen pada setiap mata kuliah.

Selain itu, agar data tidak mudah untuk dimanipulasi atau ditambah tanpa adanya

pertemuan atau perkuliahan, diperlukan subsistem yang dapat melakukan validasi

kehadiran dosen pada setiap tatap muka perkuliahan oleh mahasiswa.

Berdasarkan pemaparan di atas, untuk membuat data yang tersedia di Sistem

Informasi Akademik (Siakad) Universitas Lampung dapat digunakan oleh Sistem

Informasi Beban Kerja Dosen (BKD) Universitas Lampung maka dibutuhkan

sebuah layanan programmatic-access/Aplication Programming Interface (API)

yang berisi fungsi yang dapat digunakan untuk memanggil data yang diperlukan

oleh Sistem Informasi BKD Universitas Lampung. Selain itu untuk melengkap

data perhitungan SKS kumulatif, dibutuhkan juga sistem kehadiran dosen untuk

melengkapi data dalam layanan programmatic-access/API.

1.2 Rumusan Masalah

Berdasarkan latar belakang yang telah dipaparkan, didapatkan masalah pokok

yang menjadi dasar dari penelitian ini yaitu :

Page 35: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

5

1. Bagaimana membangun web Aplication Programming Interface (API) data

kegiatan pendidikan dosen yang ada pada Sistem Informasi Akademik

(Siakad) Universitas Lampung sehingga dapat digunakan oleh Sistem

Informasi Beban Kerja Dosen (BKD) Universitas Lampung sebagai data

penunjang pembuatan laporan kinerja dosen.

2. Bagaimana membuat sistem informasi yang dapat mencatat kehadiran dosen

di setiap pertemuan mata kuliah.

3. Bagaimana membuat sistem informasi yang dapat melakukan validasi

terhadap kehadiran dosen pada setiap pertemuan mata kuliah.

1.3 Batasan Masalah

Dalam perancangan dan pembangunan web Aplication Programming Interface

(API) Sistem Informasi Akademik Universitas Lampung dengan data kegiatan

pendidikan dosen sebagai penunjang laporan kinerja dosen ini menggunakan

batasan masalah sebagai berikut:

1. API ini dibangun berdasarkan data kegiatan pendidikan/pengajaran yang ada

di database Sistem Akademik Universitas Lampung.

2. Format data yang dihasilkan berupa JSON.

3. API ini dibangun dengan bahasa pemrograman yang menyesuaikan dengan

bahasa pemrograman yang digunakan oleh Sistem Informasi Akademik

Universitas Lampung yaitu Python.

Page 36: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

6

4. Framework yang digunakan juga menyesuaikan dengan framework yang

digunakan oleh Sistem Informasi Akademik Universitas Lampung yaitu

Django.

5. API ini tidak melakukan perhitungan jumlah SKS kumulatif, tetapi API ini

menyediakan data yang dibutuhan untuk perhitungan SKS tersebut.

6. Data yang dihasilkan dari API ini bersifat menunjang laporan, bukan sebuah

laporan lengkap.

7. Dalam pembangunan API ini, dibangun pula sistem informasi tambahan untuk

melengkapi data kegiatan pendidikan yaitu Sistem Infomasi Kehadiran Dosen.

8. API yang dibuat menggunakan teknologi RESTful API.

1.4 Tujuan Penelitian

Tujuan dari penelitian ini adalah merancang dan membangun programmable-

access/Aplication Programming Interface (API) dari data kegiatan pendidikan

dosen yang ada pada Sistem Informasi Akademik (Siakad) Universitas Lampung

sehingga dapat digunakan oleh Sistem Informasi Beban Kerja Dosen (BKD)

Universitas Lampung sebagai data penunjang pembuatan laporan kinerja dosen.

1.5 Manfaat Penelitian

Manfaat yang diperoleh pada penilitian ini yaitu:

a. Manfaat Praktis

1. Mempermudah dosen dalam mengisi data kegiatan pendidikan pada

Page 37: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

7

saat menggunakan Sistem Informasi Beban Kerja Dosen (BKD)

Universitas Lampung.

2. Memperoleh keseragaman data yang digunakan pada Sistem Informasi

Akademik (Siakad) dan Sistem Informasi Beban Kerja Dosen (BKD)

Universitas Lampung.

3. Membantu dosen dalam memvalidasi kehadiran perkuliahan tatap

muka dengan mahasiswa guna mengurangi kemungkinan manipulasi

atau penambahan jumlah pertemuan atau perkuliahan.

b. Manfaat Akademis

1. Hasil Penelitian ini dapat menambah pengetahuan baru bagi penulis.

2. Mengembangkan dan mengaplikasikan ilmu yang telah didapatkan

selama kuliah.

3. Untuk dijadikan sebagai acuan terhadap pengembangan ataupun

pembuatan dalam penelitian yang sama.

Page 38: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

BAB II

TINJAUAN PUSTAKA

2.1 Sistem Informasi Beban Kerja Dosen Universitas Lampung

Sistem Informasi Beban Kerja Dosen (BKD) Universitas Lampung dibuat

berdasarkan hasil dari tinjauan pustaka kepada UU Nomor 14 Tahun 2005

tentang guru dan dosen, Peraturan Pemerintah Republik Indonesia Nomor 37

Tahun 2009 tentang dosen, Pedoman Beban Kerja Dosen tahun 2010 yang

dikeluarkan oleh Dikti, dan Pedoman Beban Kerja Dosen Unila tahun 2011.

Selain berdasarkan peraturan dan pedoman, Sistem Informasi Beban Kerja

Dosen (BKD) ini juga dibangun berdasarkan prosedur laporan perguruan tinggi

yang diperlihatkan pada Gambar 2.1. Dari gambar tersebut terlihat bahwa dosen

memberikan laporan kinerja kepada asesor untuk diperiksa. Jika laporan sudah

selesai dengan fakta-fakta pendukung, maka asesor akan memberikan tanda

tangan sebagai bukti bahwa laporan sudah memenuhi syarat. Penilaian laporan

kinerja setiap dosen dilakukan oleh dua orang asesor. Laporan kinerja semua

dosen dalam bentuk hardcopy dan softcopy selanjutnya dikompilasi menjadi

laporan fakultas. Setelah dekan fakultas memeriksa kelengkapan berkas maka

dekan akan menandatangani laporan kinerja setiap dosen untuk dikirimkan ke -

Page 39: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

9

tingkat Universitas / Perguruan Tinggi. Laporan kinerja ke Dirjen Dikti dihasilkan

dari kompilasi kinerja dosen untuk semua fakultas (Komarudin dkk, 2011).

Gambar 2.1. Prosedur laporan perguruan tinggi (Komarudin, 2011)

Pada Sistem Informasi Beban Kerja Dosen Universitas Lampung terdapat tiga

aktor yaitu dosen, operator dan administrator. Namun peran yang sangat vital

adalah dosen karena stakeholder yang menjadi sasaran utama adalah dosen.

Dosen mengisikan data kinerja selama satu semester terahir serta rencana untuk

semester berikutnya. Sedangkan operator hanya memeriksa hasil masukan dosen

agar tidak terlambat dan salah dalam mengisi data. Untuk administrator bertindak

sebagai pemelihara sistem secara menyuluruh dan bertanggung jawab agar sistem

tetap terus dapat digunakan. Berikut struktur basis data pada sistem:

Page 40: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

10

Gambar 2.2. Struktur basis data Sistem BKD (Komarudin, 2011)

Dosen mengisikan data diri masing-masing kemudian memilih asesor yang telah

ditetapkan sebelumnya setelah proses pemilihan asesor maka dosen dapat

mengisikan kinerja setiap semesternya (Komarudin, 2011).

Beberapa fitur yang dimiliki Sistem Beban Kerja Dosen antara lain input data

kinerja dosen, menghitung data kinerja dosen, mencetak data kinerja dosen,

monitoring hasil kesimpulan kinerja dosen dan manajemen boidata dosen. Pada

tahun 2016 Sistem Beban Kerja Dosen telah dikembangkan dan memiliki

beberapa fitur tambahan. Sistem ini dikembangkan dengan bahasa pemrograman

PHP dengan framework Codeigneter. Berjalan di operating system Ubuntu dan

web server Apache. Beberapa fitur yang ditambah antara lain:

Penambahan jumlah jenis kinerja dosen, awalnya kurang dari 30, saat ini lebih

dari 60 kinerja.

Page 41: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

11

Penambahan menu kinerja khusus untuk Fakultas Kedokteran.

Penambahan fitur sederhana untuk merekam pertemuan setiap sesi

perkuliahan oleh dosen.

Pembuatan fitur upload bukti kinerja dan bukti penugasan.

Pembuatan fitur pertukaran pesan sederhana untuk memudahkan komunikasi

antar operator.

Penambahan rumus remunerasi untuk setiap kinerja.

Penambahan fitur perhitungan poin remunerasi dan tunjangan remunerasi.

Menghubungkan data kinerja pendidikan dan pengabdian ke sistem

silemlit.unila.ac.id, untuk memudahkan crosscheck.

Perubahan konsep dengan menambahkan role user "Operator" yang bertugas

input data kinerja dosen khususnya pada kinerja Pendidikan dan Pengajaran.

Perubahan konsep dengan menambahkan role user "Verifikator" yang bertugas

untuk melakukan verifikasi kinerja dosen melalui sistem.

2.2 ROA (Resource Oriented Architecture)

Resource adalah segala sesuatu yang dapat disimpan pada komputer dan

direpresentasikan dalam bentuk aliran bit: dokumen, record pada basis data, atau

hasil akhir dari eksekusi suatu algoritma. Resource akan bermanfaat jika memiliki

minimal sebuah Uniform Resource Identifier (URI) supaya dapat diakses. ROA

merupakan bentuk kongkrit dari RESTful web service sebagai salah satu cara

Page 42: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

12

untuk memecahkan permasalahan menjadi solusi: komposisi dari URI, HTTP, dan

XML yang saling bekerja sama (Richardson and Ruby, 2008).

Resource merupakan abstraksi utama pada REST. Resource dapat statis, yang

berarti tidak berubah dari waktu ke waktu, atau dapat pula bersifat dinamis yang

terus berubah seiring dengan waktu (Roth, 2012).

ROA memiliki dua buah fitur utama, yaitu addressability dan statelessness.

Addressabililty berarti bahwa sebuah aplikasi dikatakan addressable jika aplikasi

tersebut menampakkan data yang dimilikinya sebagai suatu resource dan memiliki

URI sendiri, misalnya sebuah URI tentang resource jelly fish:

http://www.google.com/search?q=jellyfish. URI yang addressable memungkinkan

pencatatan terhadap URI tersebut sehingga jika akan digunakan lagi, yang perlu

dilakukan hanya mengetik URI tersebut pada peramban. Anggap saja website

Google tidak addressable, maka tidak mungkin menyimpan URI tersebut pada

sebuah catatan, sebaliknya harus dilakukan secara manual: membuka peramban,

ketik www.google.com di peramban, ketik 'jellyfish' pada kotak pencarian, lalu

klik tombol 'Penelusuran Google'.

Fitur kedua yaitu statelessness yang berarti bahwa semua request HTTP yang

terjadi harus dilakukan dalam keadaan terisolasi. Saat client melakukan request

kepada server, maka request tersebut harus berisi semua informasi yang

dibutuhkan oleh server untuk memprosesnya lebih lanjut. Server tidak boleh

bergantung pada informasi request sebelumnya yang dilakukan oleh client

Page 43: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

13

tersebut. Secara praktik hal ini jika dihubungkan dengan sifat addressability, maka

berarti bahwa state dari server dapat dijadikan resource dan memiliki URI

tersendiri (Roth, 2012).

2.3 Web Service

Web service adalah sebuah interface/antarmuka yang berisi fungsi serta dapat

diakses melalui jaringan dengan standar pesan berupa XML (Gottschalk et al,

2002). Sedangkan menurut W3C sebuah web service adalah sebuah software yang

dirancang untuk mendukung interaksi interoperable mesin ke mesin melalui

jaringan. Sistem lain berinteraksi dengan web service dengan cara yang telah

ditentukan melalui deskripsi pada pesan SOAP, biasanya disampaikan

menggunakan HTTP dan diserialisasi dengan XML. Berikut adalah komponen

dari web service :

a. Agen dan Service

Untuk menjalankan fungsinya, web service memerlukan agen. Agen adalah

bagian perangkat lunak atau perangkat keras yang mengirimkan dan menerima

pesan. Agen dapat ditulis dengan berbagai bahasa pemrograman dan dapat

berganti-ganti bahasa pemrograman dengan fungsi yang sama.

b. Requests dan Providers

Tujuan web service adalah untuk menyediakan beberapa fungsi atas nama

pemiliknya (seseorang atau organisasi) baik itu untuk keperluan bisnis atau

Page 44: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

14

perorangan. Provider entity adalah orang atau organisasi dengan agen yang

akan menerapkan web service. Dalam implementasinya provider entity adalah

server yang menyediakan web service. Request entity adalah seseorang atau

organisasi yang ingin menggunakan web service yang disediakan oleh

provider entity. Dalam implementasinya request entity adalah client yang

menggunakan web service. Dalam banyak kasus, request agent adalah agent

yang akan memulai untuk melakukan komunikasi dengan provider agent.

Agar pertukaran pesan dapat berjalan sesuai dengan apa yang diharapkan,

request entity dan provider entity harus sepakat untuk menggunakan semantik

dan mekanisme yang sama dalam pertukaran pesan.

c. Deskripsi Servis

Mekanisme pertukaran pesan antara request entity dan provider entity di

dokumentasikan di Web Service Description (WSD). Web Service Description

adalah sebuah spesifikasi dari antarmuka web service yang dapat diproses oleh

mesin/aplikasi, WSD biasanya ditulis dalam WSDL (Web Service Description

Language). Spesifikasi yang dimaksud berupa format pesan, tipe data,

protokol transpor, dan format serialisasi yang digunakan antara requester

agent dan provider agent. Hal ini juga menentukan terdapat satu atau lebih

jaringan dari provider agent yang dapat digunakan. Selain itu juga dapat

memberikan beberapa informasi tentang pola pertukaran pesan yang

diharapkan.

Page 45: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

15

d. Semantik Web Service

Semantik pada web service adalah harapan bersama tentang perilaku layanan,

khususnya dalam menanggapi pesan yang dikirim ke tujuan. Akibatnya, ini

adalah “kontrak” antara requester entity dan provider entity tentang tujuan

dan konsekuensi dari interaksi. Meskipun kontrak ini merupakan keseluruhan

perjanjian antara requester entity dan provider entity tentang bagaimana dan

mengapa masing-masing agen akan berinteraksi, itu belum tentu tertulis atau

eksplisit dinegosiasikan. Ini mungkin eksplisit atau implisit, lisan atau tertulis,

mesin processable atau human-orientation, dan mungkin suatu perjanjian

hukum atau kesepakatan informal (non-hukum).

e. Gambaran dari Web Service

Ada banyak cara yang dapat membuktikan bahwa requester entity terlibat

dan menggunakan web service. Secara umum, langkah-langkah berikut

merupakan urutan yang diperlukan melakukan pertukaran pesan, seperti yang

diilustrasikan pada Gambar 2.3:

1) requester dan provider entity mengenal satu sama lain (atau setidaknya

salah satu dari mereka mengetahui yang lain, biasanya requester

mengetahui provider);

2) requester dan provider entity setuju pada deskripsi layanan dan semantik

yang akan mengatur interaksi antara requester dan provider agent;

3) deskripsi layanan dan semantik yang tadi telah disetujui direalisasikan

Page 46: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

16

atau diterapkan oleh requester dan provider agent;

4) requester dan provider agent melakukan pertukaran pesan, sehingga

melakukan beberapa tugas atas nama requester dan provider entity

(Contoh: pertukaran pesan dengan provider agent merupakan wujud

nyata dari berinteraksi dengan layanan web provider entity).

Gambar 2.3. Urutan pertukaran pesan pada web service (Booth et al, 2017)

f. Teknologi Web Service

Arsitektur web service melibatkan teknologi yang berlapis dan saling terkait.

Ada banyak cara untuk memvisualisasikan teknologi ini, seperti halnya ada

banyak cara untuk membangun dan mengunakan web service. Gambar 2.4 di

bawah ini memberikan sebuah ilustrasi dari beberapa keluarga teknologi.

Page 47: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

17

Gambar 2.4. Ilustrasi teknologi web service (Deviana, 2011)

Layer 1: protokol internet standar yang digunakan sebagai sarana transportasi

adalah HTTP dan TCP/IP.

Layer 2: Simple Object Access Protocol (SOAP) berbasiskan XML dan

digunakan untuk pertukaran informasi antar sekelompok layanan.

Layer 3: Web service Definition Language (WSDL) digunakan untuk

mendiskripsikan atribut layanan.

Service Publication and Discovery

UDDI

Service Description (WSDL)

XML Based Messaging

(SOAP)

HTTP dan TCP/IP

Page 48: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

18

Layer 4: Universal Description, Discovery and Integration, yang mana

merupakan direktori pusat untuk deskripsi layanan. (Deviana,2011)

g. XML

XML merupakan dasar terbentuknya web service yang digunakan untuk

mendeskripsikan data. Pada level paling detail web service secara keseluruhan

dibentuk di atas XML. Fungsi utama dari XML adalah komunikasi antar

aplikasi, integrasi data, dan komunikasi aplikasi eksternal dengan partner

luaran. Dengan standarisasi XML, aplikasi-aplikasi yang berbeda dapat

dengan mudah berkomunikasi antar satu dengan yang lain (Deviana, 2011).

h. SOAP

SOAP merupakan protokol untuk pertukaran informasi dengan desentralisasi

dan terdistribusi. SOAP merupakan gabungan antara HTTP dengan XML

karena SOAP umumnya menggunakan protocol HTTP sebagai sarana

transport datanya dan data akan dipertukarkan ditulis dalam format XML.

Karena SOAP mengunakan HTTP dan XML maka SOAP memungkinkan

pihak-pihak yang mempunyai platform, sistem operasi dan perangkat lunak

yang berbeda dapat saling mempertukarkan datanya. SOAP mengatur

bagaimana request dan respon dari suatu web service bekerja.

i. WSDL

WSDL merupakan sebuah bahasa berbasis XML yang digunakan untuk

mendefinisikan web service dan menggambarkan bagaimana cara untuk

Page 49: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

19

mengakses web service tersebut. Fungsi utama WSDL dalam web service

adalah untuk mengotomasi mekanisme komunikasi business-to-business

dalam web service melalui protokol internet.

WSDL merupakan representasi kontrak antara requestor dan provider-nya.

Secara teknis merupakan representasi kontrak antara kode klien dan kode di

server. Dengan menggunakan WSDL klien dapat memanfaatkan fungsi-fungsi

publik yang disediakan oleh server.

2.4 REST

Menurut Higashino et al (2009) web service yang berbasis teknologi SOAP

telah menghasilkan aplikasi pada banyak bidang. SOAP didesain untuk

transparansi komunikasi dan keterikatan yang rendah antar aplikasi. SOAP tidak

lepas dari kelemahan karena dikritik mengenai kompleksitas dan spesifikasi yang

harus dipenuhi terlalu banyak. Selain itu permasalahan teknis yang terlalu terikat

pada satu vendor tertentu menjadikan keterikatan rendah yang tidak dapat

terwujud (Pautasso, 2008).

Representational State Transfer (REST) adalah suatu gaya arsitektur yang

bertujuan untuk meminimalkan latensi dan komunikasi jaringan, sementara pada

saat yang bersamaan berusaha untuk memaksimalkan independensi dan

skalabilitas dari implementasi komponen (Fielding, 2000). REST berkembang

bersamaan dengan berkembangnya teknologi web, sehingga sering digunakan

Page 50: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

20

bersamaan dengan teknologi Hypertext Transfer Protocol (HTTP), dengan alasan

inilah implementasi REST menggunakan teknologi HTTP disebut Restfull HTTP.

Sebagai sebuah gaya arsitektur pengembangan sistem, REST memiliki aturan

yang menjadi ciri dasarnya (Fielding, 2000):

a. Client-server

Terdapat interface seragam antara client dan server. Hal ini berarti client tidak

berurusan dengan hal teknis yang menjadi tanggung jawab server, misalnya

database, bahasa pemrograman, dan lain-lain. Hal ini bertujuan untuk

portability atau kemudahan migrasi pada client. Pada sisi lain, server tidak

berurusan dengan hal teknis pada client, misalnya tampilan sistem atau state

dari aplikasi client sehingga pengembangan sistem pada server menjadi lebih

sederhana dan lebih mudah dikembangkan (scalable). Server dan client dapat

diganti dan dikembangkan secara terpisah selama interface yang digunakan

diantara keduanya tidak diubah.

b. Stateless

Komunikasi client-server selanjutnya dibatasi dengan aturan tidak

diperbolehkannya state dari suatu client disimpan pada server. Setiap request

dari client harus disertai dengan seluruh informasi yang dibutuhkan oleh

server untuk memproses request tersebut. Hal ini bertujuan supaya server

menjadi lebih tidak tergantung pada client sehingga mudah diganti terutama

Page 51: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

21

saat terjadi kegagalan jaringan (reliability).

c. Cacheable

Respon yang diberikan kepada client dapat disimpan sementara dalam cache

client. Hal ini berakibat bahwa respon yang diberikan oleh server harus

menyertakan informasi/metadata tentang kemampuan resource tersebut untuk

disimpan sementara atau tidak. Hal ini bertujuan untuk mengurangi jumlah

komunikasi yang ada sehingga meningkatkan performa server.

d. Layered System

Client tidak perlu tahu apakah server yang melayani request-nya merupakan

server utama ataukah bukan. Hal ini bertujuan untuk meningkatkan

skalabilitas server misalnya menambahkan server untuk melakukan load

balancing dan cache yang dapat diakses siapapun.

e. Code on Demand

Client server dapat mengkustomisasi fungsionalitas dari client dengan

mengirimkan kode yang dapat dieksekusi pada client, misalkan javascript.

f. Uniform Interface

Simplifikasi arsitektur sistem yang dikembangkan berdasarkan REST

dilakukan salah satunya dengan menggunakan Uniform Resource Interface

seperti pada Tabel 2.1. Interface ini terdiri atas sekumpulan operasi yang telah

terdefinisi untuk mengakses dan memanipulasi resource. Interface yang sama

dapat digunakan pada resource yang berbeda, dan tidak tergantung pada

Page 52: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

22

resource yang digunakan.

Tabel 2.1. Uniform Resource Interface yang digunakan pada RESTful HTTP(Roth, 2012)

Nama Pemanfaatan Sifat

GET Menerima respon (retrive) Safe, idempotent

DELETE Menghapus resource Idempotent

PUT Memperbaharui resource denganmengganti yang lama

Idempotent

POST Membuat resource baru atau sub-resource baru dengan id dikelolaoleh server

Fielding (2000) membagi sifat operasi tersebut menjadi safe dan idempotent.

Operasi bersifat safe berarti saat suatu request dilakukan terhadap server, maka

state dari resource yang diminta tidak berubah. Operasi GET termasuk safe karena

saat suatu request dilakukan terhadap suatu resource, resource tersebut akan tetap

sama. Selain itu, operasi PUT termasuk tidak safe karena saat request dilakukan

menggunakan operasi tersebut maka resource tersebut menjadi berubah. Operasi

bersifat idempotent berarti hasil dari operasi yang sukses tidak tergantung dari

jumlah operasi tersebut dieksekusi, misalkan operasi PUT untuk memperbarui

suatu resource dapat dilakukan berulang kali dengan hasil akhir yang sama.

Berbeda dengan PUT, operasi POST tidak bersifat idempotent yang berarti jika

suatu operasi POST dikirimkan lebih dari sekali, hasil akhirnya bisa saja terdapat

duplikasi resource pada server. Hal tersebut disebabkan karena operasi POST

digunakan untuk menciptakan resource baru tanpa melihat id spesifik pada client.

Page 53: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

23

Fielding (2000) menjelaskan beberapa batasan yang menjadi ciri khas dari

arsitektur REST:

1. Identifikasi dari resource, yang berarti setiap resource yang ada harus

memiliki identitas yang standar, misalnya menggunakan URI.

2. Manipulasi resource dilakukan melalui representasi. Resource asli tidak

diberikan kepada client melainkan representasinya dalam bentuk XML, JSON,

ataupun HTML. Representasi tersebut terdiri atas data dan metadata yang

menjelaskan data, misalnya sebuah instansi content-type pada header HTTP

merupakan atribut dari metadata.

3. Pesan yang mendefinisikan dirinya sendiri, server akan mengolah request

yang dikirim kepadanya melalui metadata yang ada pada request tersebut,

misalnya melalui dari request tersebut.

4. Hypermedia sebagai pengatur transisi dari state. Transisi dari suatu state

dilakukan menggunakan hypermedia.

Implementasi REST (RESTful) menjadikan beberapa aplikasi dapat

berkomunikasi dan bekerja sama. Melalui web service tersebut, setiap aplikasi

pada web memiliki potensi untuk mencapai aplikasi lainnya. Saat aplikasi

bertukar informasi melalui standard web service, mereka dapat berkomunikasi

secara terpisah dan lepas dari sistem informasi, pemograman, processor, dan

protokol internal (Breitman et al, 2007).

Page 54: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

24

Pendekatan REST pada dasarnya terdiri dari lima konsep (resource, representasi,

uniform identifier, unified interface, dan lingkup eksekusi), dan tiga prinsip

(adressability, statelessness, dan keterhubungan). Hal yang membedakan RESTful

dengan web service lainnya adalah lingkup dari request dan response harus

didefinisikan saat operasi berlangsung. (Filho, 2009)

2.5 Application State dan Resource State

Richardson & Ruby (2008) menjelaskan state berarti suatu keadaan dari suatu

informasi yang tersimpan pada suatu sistem di waktu tertentu. Sebagai contoh,

jika terdapat suatu resource bernama order, akan terdapat dua keadaan/state dari

resource tersebut: order telah terkirim atau order belum terkirim. Suatu resource

jarang sekali hanya memiliki satu state dari waktu ke waktu. Perubahan suatu

state tersebut disebut state transition dan bagian dari sistem yang mengatur

transisi state tersebut disebut sebagai state engine.

State pada REST terdiri atas dua tipe: application state dan resource state.

Application state berada pada mesin client, sedangkan resource state berada pada

mesin server. Application state dapat digambarkan sebagai suatu kondisi dari

aplikasi yang dijalankan pada client, pada kasus pencarian menggunakan mesin

pencari (search engine), halaman hasil pencarian yang sedang dibuka oleh client

dapat dikatakan sebagai application state. Resource state dapat dikatakan sebagai

persistence dari resource yang ada dan terletak di server. Application state dari

Page 55: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

25

client yang satu dengan yang lain bisa berbeda, sebaliknya resource state dari

seluruh client adalah sama.

2.6 Hypermedia As The Engine Of Application State (HATEOAS)

Hypertext sebagai teks yang mengandung tautan ke teks lainnya. (W3C, 2017).

Hypermedia adalah istilah yang digunakan untuk hypertext yang mengacu tidak

hanya kepada teks, tapi suara, video, grafik, dan lain-lain. HATEOAS

(Hypermedia As The Engine Of Application State) adalah aturan yang

membedakan arsitektur aplikasi berbasis REST dengan aplikasi lain yang berbasis

client-server. Prinsip dasarnya adalah client berinteraksi dengan aplikasi jaringan

melalui hypermedia yang diberikan secara dinamis oleh server (Fielding, 2000).

Filosofi pemanfaatan hypermedia adalah membuat aplikasi client dapat

menelusuri seluruh resource yang ada di server maupun melakukan modifikasi

terhadap state dari resource yang ada walaupun tanpa adanya antarmuka sehingga

dapat dilakukan oleh aplikasi yang berjalan tanpa manusia. HATEOAS terdiri atas

dua jenis: link dan form.

Link adalah atribut dari suatu resource yang berisi suatu hypermedia. Form adalah

suatu representasi yang dikirim oleh server dalam bentuk yang deskriptif. Bentuk

tersebut berisi semua informasi yang dibutuhkan oleh client untuk melakukan

manipulasi terhadap resource state di server.

Page 56: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

26

Komunikasi diawali oleh client dengan cara melakukan suatu request

menggunakan URI statis yang sederhana. Interaksi lanjutan dari aksi sebelumnya

akan dilakukan berdasarkan representasi resource yang dikembalikan oleh server

dan relasi link (hypermedia) yang ada di dalamnya. Perubahan application state

yang ada di client dilakukan melalui pemilihan link yang tersedia di dalam

representasi yang dikirim oleh server seperti pada Gambar 2.5 berikut.

Gambar 2.5. Representasi photo yang berisi hypermedia jenis link(Allamaraju, 2010)

2.7 Template URI

Pada RFC 6570 (2012), template URI adalah sekumpulan karakter kompak yang

mendeskripsikan jangkauan dari suatu URI melalui ekspansi variabel. Sebagai

contoh, URI http://www.example.com/marketing/customer/{id} adalah URI yang

salah, karena mengandung karakter yang tidak diizinkan pada URI, yaitu kurung

kurawal ({}), namun demikian URI tersebut adalah template URI yang sah.

Karakter {id} adalah variabel yang dapat diganti dengan nilai lain yang

mendefinisikan id dari customer.

<photo xmlns:atom=”http://www.w3.org/2005/atom”>...

<atom:link link href=”http://east-nji.photos.example.org/897/nji-1234”Type=”image/jpeg”Rel=”alternate”Title=”Sunset view from our backyard”/>

</photo>

Page 57: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

27

2.8 Kode Respon HTTP

Salah satu fitur utama arsitektur REST adalah pemanfaatan kode respon HTTP

(HTTP response code). RFC 2616 (Fielding et al, 1999) membagi kelompok kode

menjadi beberapa bagian sesuai dengan informasi yang diberikan: 1xx (meta), 2xx

(success), 3xx (redirection), 4xx (client-side error), dan 5xx (server-side error).

Kode 1xx merupakan kelompok respon yang digunakan pada negosiasi antara

client dengan server.

Kode 2xx mengindikasikan operasi yang dilakukan antara client dengan server

berhasil dilakukan. Kelompok ini terdiri atas:

1) 200 (Ok). Kode ini mengindikasikan server sukses melakukan operasi

yang diminta oleh client.

2) 201 (Created). Server mengirimkan kode ini jika resource telah

tersimpan/tercipta sesuai dengan request yang dikirim oleh client.

3) 204 (No Content). Kode ini biasanya merupakan respon dari operasi PUT,

POST, atau DELETE saat server tidak ingin mengembalikan representasi

apapun kepada client. Dapat pula digunakan untuk operasi GET terhadap

resource yang ada namun memiliki representasi yang kosong.

Kelompok 3xx (Redirection) menginformasikan kepada client bahwa client harus

melakukan operasi lainnya hingga request dapat diproses sampai selesai.

Kelompok 4xx merupakan kelompok kode yang menandakan terjadi kesalahan

Page 58: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

28

yang bersumber pada client. Kelompok ini terdiri atas:

1) 400 (Bad Request). Merupakan kode generik dari kesalahan yang

disebabkan oleh client.

2) 401 (Unauthorized). Kode ini mengindikasikan resource yang diminta

oleh client merupakan resource yang membutuhkan otoritas tertentu yang

tidak disertakan oleh client. Kode ini juga berarti client harus mengulangi

request yang dilakukannya dengan menyertakan akun otorisasi yang

dibutuhkan.

3) 403 (Forbidden). Kode ini berarti server tidak mengizinkan client untuk

mengakses resource yang dituju. Hal ini dapat berarti karena resource

tersebut hanya tersedia pada saat-saat tertentu atau hanya dapat diakses

oleh alamat IP tertentu.

4) 404 (Not Found). Kode ini mengindikasikan bahwa URI yang diberikan

tidak dapat dipetakan kepada resource yang ada, dengan kata lain resource

pada URI yang diberikan tidak ada.

5) 405 (Method Not Allowed). Kode ini mengindikasikan resource yang

dituju tidak mendukung operasi menggunakan interface yang diberikan

oleh client. Sebagai contoh, resource yang hanya dapat dibaca akan

mengembalikan kode 405 (Method Not Allowed) saat client melakukan

operasi selain GET.

6) 406 (Not Acceptable). Kode ini diberikan saat server tidak dapat

Page 59: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

29

memenuhi permintaan format representasi yang diminta oleh client.

7) 409 (Conflict). Kode ini diberikan saat client melakukan request untuk

mengubah state dari resource menjadi tidak konsisten. Sebagai contoh

menghapus suatu resource yang memiliki sub-resource yang tidak kosong.

8) 415 (Unsupported Media Type). Server mengirimkan kode ini untuk

memberitahukan client yang mengirimkan representasi data yang tidak

dimengerti. Sebagai contoh client mengirimkan representasi dalam format

JSON, sedangkan server hanya menerima format XML.

9) 417 (Expectation Failed). Saat client meminta izin server untuk

mengirimkan suatu representasi kepada server, namun server tidak mau

menerima representasi yang diberikan oleh client, maka server akan

mengirimkan kode ini.

Kelompok kode 5xx menandakan terjadi suatu permasalahan yang disebabkan

oleh server atau pada proxy yang digunakan. Kelompok ini terdiri atas:

1) 500 (Internal Server Error). Kode ini merupakan kode generik dari respon

kesalahan yang terjadi oleh server.

2) 503 (Service Unavailable). Kode ini berarti web service yang dituju oleh

client sedang bermasalah. Server berjalan namun karena suatu hal server

tidak dapat menangani request dari client.

Page 60: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

30

2.9 HTTP Header

HTTP header merupakan komponen dari header suatu pesan yang dikirimkan

(request) dan diterima (response) pada protokol HTTP (RFC 2616). Header ini

merupakan parameter dari transaksi yang terjadi antara client dengan server pada

transaksi HTTP. Beberapa header yang umum digunakan diantaranya (Richardson

dan Ruby, 2008):

a. Accept. Client menggunakan ini untuk menginformasikan kepada server

format representasi yang diharapkan dikirim oleh server.

b. Authorization. Header ini mengandung informasi otorisasi seperti username

dan password yang dikodekan menggunakan skema yang disepakati antara

client dan server.

c. Connection. Header ini digunakan oleh proxy yang menghubungkan oleh

server dengan client, proxy HTTP selanjutnya akan menghapus header ini saat

representasi diteruskan kepada client.

d. Content-Encoding. Header ini menjelaskan pengkodean yang digunakan pada

representasi response yang diberikan oleh server.

e. Content-Length. Header ini berisi ukuran dari representasi data yang

dikirimkan.

f. Content-Type. Header ini berisi jenis representasi yang ada pada request.

g. Date. Pada request yang berasal dari client, header ini berisi waktu request

Page 61: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

31

dikirimkan. Pada response yang diberikan oleh server, header ini berisi waktu

response tersebut dikirim oleh server.

h. Expires. Header ini memberi tahu client atau proxy diantara client dan server,

bahwa respon yang diberikan oleh server dapat disimpan sementara (cache)

hingga periode tertentu.

i. Host. Header ini berisi nama domain dari URI. Saat request dilakukan pada

http://www.example.com/page.html, maka header ini akan berisi

www.example.com:80.

j. Last-Modified. Header ini berisi waktu terakhir resource tersebut mengalami

perubahan.

k. User-Agent. Header ini menginformasikan jenis perangkat lunak yang

digunakan saat melakukan request.

l. WWW-Authenticate. Header ini digunakan bersamaan dengan kode respon

401 (“Unauthorized”). Hal ini berarti server mengharapkan client mengulangi

request tersebut dengan menyertakan akunnya beserta skema autentikasi yang

digunakan.

2.10 Uniform Resource Identifier (URI)

URI atau yang lebih dikenal dengan URL (Uniform Resource Locator) merupakan

frase yang terdiri atas sekumpulan karakter yang digunakan untuk

mengidentifikasi suatu nama atau sumberdaya (resource). Identifikasi tersebut

Page 62: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

32

memungkinkan terjadinya interaksi berdasarkan representasi resource melalui

jaringan menggunakan protokol tertentu (Berners et al, 2005). Misalkan seseorang

memasukkan URL di peramban: http://www.example.com/hello.txt. Peramban

dapat memanipulasi resource dengan menghubungi server lokasi tempat resource

tersebut berada (www.example.com) dengan cara mengirimkan sebuah operator

"GET" yang menuju ke arah resource /hello.txt pada server tersebut. Selanjutnya

server akan memberikan respon sesuai dengan permintaan yang diberikan

kepadanya. Catatan respon dari client yang mengakses resource dapat dilihat pada

Gambar 2.6.

Client request Server responseGet /hello.txt HTTP/1.1Host: www.example.com

200 OkContext-Type: text/plain

Hello, world!Gambar 2.6. Catatan respon dari pembacaan resource (Richardson and Ruby,

2008)

URI pada ROA harus didesain sedemikian rupa sehingga URI tersebut memiliki

beberapa sifat berikut (Richardson and Ruby, 2008):

a. URI harus deskriptif

URI dan resource yang direpresentasikan harus memiliki hubungan secara

intuitif. Berikut contoh URI yang baik:

http://www.example.com/wiki/Jellyfish

http://www.example.com/bugs/by-state/open

Page 63: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

33

http://www.example.com/resource/sales/2004/Q4

http://www.example.com/resource/sales/Q42004

b. URI harus merepresentasikan paling banyak sebuah resource

URI harus didesain untuk merepresentasikan maksimal sebuah resource, tapi

sebuah resource dapat direpresentasikan oleh lebih dari satu URI. Pengaksesan

/resource/sales/2004/Q4 mungkin akan memiliki hasil yang sama dengan

/resource/sales/Q42004, namun keduanya bukanlah resource yang berbeda.

2.11 Python

Python adalah bahasa pemrograman yang interpretatif dan berorientasi objek yang

cocok untuk berbagai tujuan. Python adalah bahasa pemrograman dengan

sintaksis kode yang jelas, mudah dipahami, memiliki struktur data yang kuat, dan

merupakan bahasa pemrograman yang dinamis. Python merupakan bahasa

pemrograman yang interaktif, baik digunakan untuk membuat aplikasi yang dapat

berdiri sendiri atau stand-alone, untuk aplikasi besar atau hanya sebagai extensi

aplikasi yang sudah ada. Tidak perlu khawatir akan operating system yang

digunakan, karena bahasa pemrograman ini dapat berjalan di berbagai operating

system antara lain UNIX, Macintos dan DOS Machine. Bahasa pemrograman

Python memiliki dokumentasi yang lengkap.

Page 64: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

34

2.11.1 Dibalik Nama “Python”

Python dikembangkan oleh Guido van Rossum pada tahun 1990 di CWI,

Amsterdam sebagai kelanjutan dari bahasa pemrograman ABC (Rossum, 1993).

Versi terakhir yang dikeluarkan CWI adalah 1.2. Nama Python diberikan oleh

Guido setelah ia melihat acara di TV BBC show yang berjudul “Monty Python's

Flying Circus”. Guido tidak terlalu suka dengan ular yang membunuh hewan lain

untuk makan dengan melilit tubuh hewan tersebut dan menghancurkannya.

2.11.2 Fitur Python

Berikut adalah fitur-fitur dari bahasa pemrograman Phyton:

1. Simple

Python merupakan bahasa pemrograman yang simple dan minimalis.

Membaca dan menulis dengan bahasa pemrograman Python hampir mirip

dengan membaca dan menulis dengan menggunakan bahasa Inggris. Ini

adalah salah satu kekuatan Python yang membuat Python mudah dipahami

dan diimplementasikan. Sehingga pengembang aplikasi dapat berkonsentrasi

pada solusi dari masalah yang dihadapi daripada memahami bahasa Python

itu sendiri.

2. Mudah dipahami

Seperti yang sudah disebutkan sebelumnya, Python merupakan bahasa

pemrograman yang mudah dipelajari. Python memiliki sintaks yang

Page 65: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

35

sederhana.

3. Gratis dan Open source

Python merupakan salah satu contoh dari FLOSS (Free/Libre and Open

source Software). Sederhananya, pengembang dapat dengan bebas

mendistribusikan salinan dari software ini, membaca source code-nya,

mengubah isi dari source code dan menggunakannya untuk software yang

baru atau yang sudah ada. Latar belakang FLOSS adalah komunitas yang

saling berbagi pengetahuan. Oleh karena itu Python merupakan bahasa

pemrograman yang baik, karena terus dikembangkan oleh komunitas, baik

yang menggunakannya atau hanya ingin mencobanya.

Python termasuk ke dalam kelompok bahasa pemrograman tingkat tinggi.

Dengan menggunakan Python, pengembang tidak perlu repot-repot

mengetahui cara mengelola memori untuk program yang dibuat seperti yang

dilakukan oleh pemrograman tingkat rendah.

4. Portable

Karena Python bersifat open source, Python telah dibuat untuk dapat bekerja

(porting) di berbagai platform. Semua program Python yang dibuat dapat

bekerja pada setiap platform tanpa harus melakukan perubahan. Pengembang

dapat menjalankan Python pada platform GNU/Linux, Windows, FreeBSD,

Macintosh, Solaris, OS / 2, Amiga, AROS, AS / 400, BeOS, OS / 390, z / OS,

Palm OS, QNX, VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp

Page 66: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

36

Zaurus, Windows CE dan PocketPC. Bahkan pengembang dapat

menggunakan platform seperti Kivy untuk membuat game untuk komputer,

iPhone, iPad, dan Android.

5. Interpreter

Perlu sedikit penjelasan untuk memahami apa yang dimaksud dengan fitur ini.

Apabila sebuah aplikasi yang ditulis dengan bahasa pemrograman dengan

kategori compiler seperti C atau C++, source code akan dikompilasi menjadi

object code (bahasa assembly atau biner 0 dan 1) dengan menggunakan

kompiler. Ketika program dijalankan, file linker/software yang dapat

dieksekusi dari hardisk ke memory lalu dijalankan.

Berbeda dengan Python, Python tidak perlu di-compile ke bahasa assembly

atau biner. Pengembang langsung dapat menjalankan software langusung dari

source code. Dibalik kemapuan Python dapat langsung menjalankan source

code, Python mampu mengubah source code menjadi bentuk peralihan yang

sering disebut bytecode dan kemudian menterjemahkan bytecode ke bahasa

biner yang kemudian dijalankan. Hal ini membuat software yang dibuat

menjadi lebih portable, pengembang dapat menyalin source code dan dapat

dijalankan langusung di komputer / server yang lain.

6. Object Oriented

Python mendukung pemrograman berbasis prosedural (procedure-oriented)

dan pemrograman berorientasi objek (object-oriented). Di dalam

Page 67: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

37

pemrograman procedure-oriented program dibangun dengan lingkup prosedur

atau dengan kata lain fungsi yang dibuat hanyalah sebagai potongan program

yang dapat digunakan kembali. Di dalam pemrograman object-oriented

program dibangun berdasarkan object yang menggabungkan data dan fungsi.

7. Extensible

Ekstensi dan modul-modul dapat secara mudah ditulis dalam bahasa C , C++

(atau Java untuk Jython atau .NET untuk IronPython).

8. Embeddable

Dapat dimasukan ke dalam aplikasi/software lain sebagai antar muka skrip.

9. Extensive Library

Standar library Python sangatlah besar. Hal ini tentunya dapat membantu

pengembang dalam melakukan berbagai hal antara yang melibatkan regular

expressions, documentation generation, unit testing, threading, databases,

web browsers, CGI, FTP, email, XML, XML-RPC, HTML, WAV files,

cryptography, GUI (graphical user interfaces), dan sistem atau aplikasi

lainnya. Semua ini selalu tersedia setiap pengembang menginstal Python.

2.12 DJANGO

Berdasarkan official web Django, https://www.djangoproject.com/, Django adalah

sebuah web framework yang open source dan berbasis Python. Web framework

adalah sebuah kerangka kerja yang dapat mempermudah pengembang software

Page 68: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

38

khususnya website. Django menggunakan konsep Model Template and View

(MTV). Model adalah layer yang digunakan untuk berinteraksi dengan database.

Template adalah layar yang digunakan untuk menangani masalah tampilan seperti

XML, HTML dan lainnya. Sedangkan view adalah layer yang menghubungkan

layer model dan template yang didalamnya berisikan logika pengolah data dari

model dan menampilkannya di template. Djanggo memiliki kelebihan diantara

web framework lainnya yaitu :

1. Object-Relational Mapper atau mendefinisikan data model dalam Python dan

menggunakan Application Programming Interface (API) untuk mengakses

data tersebut.

2. Authomatic Admin Interface Django atau menyediakan admin interface secara

otomatis, sehingga tidak perlu repot untuk membuat back-end website.

3. Elegant Uniform Resource Locator (URL) Design atau pembuatan URL yang

lebih mudah dan fleksibel.

4. Template System atau Sistem Template Django merupakan salah satu yang

paling baik dibandingkan dengan web framework lainnya.

5. Cache System atau dapat menggunakan sistem chace dengan mudah (Aisa,

2016).

Page 69: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

39

2.13 Django Rest Framework

Berdasarkan official website Django Rest Framework yaitu

http://www.django-rest-framework.org/, Django rest framework adalah toolkit

untuk membangun website API yang powerful dan fleksibel. Berikut alasan

menggunakan rest framework :

1. Web browsable API atau API yang mudah dan dapat dibaca browser adalah

kelebihan yang dapat memudahkan pengembangan software.

2. Dapat menggunakan authentication package seperti OAUTH1 dan OAUTH2.

3. Serialisasi yang mendukung ORM dan sumber data NON ORM.

4. Sangat mudah dimodifikasi, jika aplikasi yang dikembangkan tidak

memerlukan fitur yang kompleks atau algoritma tertentu, pengembang dapat

menggunakan fungsi view yang sudah tersedia dan sangat mudah

diimplementasikan.

5. Dokumentasi yang sangat luas dan didukung oleh komunitas dengan anggota

yang sangat banyak.

6. Digunakan dan dipercaya oleh perusahaan yang diakui secara internasional

seperti Mozilla, Red Hat, Heroku, dan Eventbrite.

Page 70: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

40

2.14 OAUTH2

OAuth merupakan sebuah protokol yang memungkinkan aplikasi pihak ketiga

memperoleh akses terbatas terhadap layanan HTTP, baik atas nama pemilik

resource dengan membuat sebuah kesepakatan interaksi antara pemilik resource

dan layanan HTTP, atau dengan membiarkan aplikasi pihak ketiga untuk

memperoleh akses atas nama sendiri (Hammer, 2011).

2.14.1 Sejarah OAUTH2

OAuth 1.0 (juga dikenal sebagai RFC 5849), diterbitkan pada tanggal 4 Desember

2007, direvisi pada tanggal 24 Juni 2009, dan diselesaikan pada bulan April 2010

yang memberikan pengaruh penting pada perkembangan keamanan web API

tanpa harus pengguna berbagi username dan password mereka. Adapun pencipta

dan pengagas utama dari otentikasi OAuth berbasis API ini adalah E.

Hammer-Lahav, Ed. Pada bulan April 2009, Twitter merilis sebuah solusi

otentikasi user yang mereka sebut “Sign-in with Twitter” dengan menggunakan

protokol OAuth. Otentikasi OAuth yang diciptakan dan dimodifikasi sendiri

menciptakan layanan khusus untuk Twitter. Pembaharuan yang diciptakan oleh

twitter mengundang para komunitas keamanan web merilis First Security

Advisory di tahun 2009, yang diikuti dengan versi revisi dari protokol OAuth,

OAuth Revision A pada 24 Juni 2009.

Pada bulan April 2009, Twitter merilis sebuah solusi otentikasi user yang mereka

Page 71: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

41

sebut “Sign-in with Twitter” dengan menggunakan protokol OAuth. Otentikasi

OAuth yang diciptakan dan dimodifikasi sendiri menciptakan layanan khusus

untuk Twitter. Pembaharuan yang diciptakan oleh twitter mengundang para

komunitas keamanan web merilis First Security Advisory di tahun 2009, yang

diikuti dengan versi revisi dari protokol OAuth, OAuth Revision A pada 24 Juni

2009.

OAuth 2 adalah project lanjutan dari protokol OAuth yang asal mulanya

diciptakan pada akhir tahun 2006. OAuth 2 lebih menekankan pada kemudahan

client sebagai pemilik dan pengembang aplikasi dengan memberikan otorisasi

khusus di berbagai aplikasi. OAuth berada dalam pengembangan IETF OAuth

WG dan didasarkan pada usulan WRAP OAuth. WRAP (Web Resource

Authorization Protocol) adalah profil OAuth yang memiliki sejumlah kemampuan

penting yang tidak tersedia di versi OAuth sebelumnya. Spesifikasi terbaru dari

OAuth disumbangkan kepada IETS OAuth WG dan merupakan dasar dari

terciptanya OAuth versi 2.

Dengan banyaknya aplikasi web yang mengadopsi kolaborasi penggunaan

jaringan sosial, pengembang aplikasi memiliki kesempatan untuk menghubungkan

pengguna dengan aplikasi dimanapun mereka berada. Yang dapat meningkatkan

efektivitas dan efisiensi terjadinya transaksi pengolahan data didalam sistem

tersebut. OAuth menyediakan kemampuan terhubung dengan sistem aplikasi

Page 72: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

42

secara aman, sehingga pengguna tidak perlu menyerahkan sandi akun pentingnya.

2.14.2 Peran Entitas yang Terlibat

Terdapat empat entitas yang terlibat dalam OAuth 2.0:

1. Resource Server

Resource server (Sumber Daya Server) yang digunakan oleh pengguna yang

memiliki API (Application Programming Interface) dan dilindungi oleh

OAuth. Resource server merupakan penerbit API yang memegang dan

memiliki kekuasaan pengaturan data seperti foto, video, kontak, atau kalender.

2. Resource Owner

Memposisikan diri sebagai pemilik sumber daya (Resource Owner), yang

merupakan pemilik dari aplikasi. Pemilik sumber daya memiliki kemampuan

untuk mengakses sumber daya server dengan aplikasi yang sudah tersedia.

3. Client

Sebuah aplikasi yang membuat permintaan API pada Resource Server yang

telah diproteksi untuk kepentingan pemilik Resource Owner dengan

melakukan otorisasi.

4. Authorization Server

Authorization Server (Otorisasi Server) mendapat persetujuan dari pemilik

sumber daya (Resource Owner) dengan melakukan dan memberikan akses

token kepada client untuk mengakses sumber daya yang diproteksi yang sudah

Page 73: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

43

tersedia pada Resource Server.

2.14.3 Protokol Flow Oauth2

Mekanisme kerja OAuth 2 terbentuk dari peran aktif 4 (empat) bagian yang terdiri

dari : Client, Resource Owner, Authorization Server, Resource Server[8]. Gambar

2.7 menunjukkan mekanisme kerja OAuth 2 yang dilanjutkan dengan keterangan

dari tugas dan fungsi 4 (empat) komponen OAuth.

Gambar 2.7. Mekanisme Kinerja OAuth 2 (Hardt, 2012)

A Client melakukan permintaan otorisasi dari Resource Owner. Permintaan

otorisasi dapat dilakukan langsung menuju Resource Owner, atau jika tidak

langsung melalui perantara Authorization Server.

Page 74: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

44

B Client mendapatkan persetujuan otorisasi yang merupakan credential mewakili

otorisasi kepemilikan client. Pemberian otorisasi ini tergantung pada metode yang

digunakan oleh client dan jenis yang didukung oleh Authorization Server.

C Client melakukan permintaan akses token dengan otentikasi kepada

Authorization Server, client mendapatkan penyajian hibah dan bentuk otorisasi

dari Authorization Server.

D Otorisasi Server (Authorization Server) melakukan otentikasi kepada client dan

memvalidasi pemberian otorisasi kepada client, jika sesuai dan berlaku, otorisasi

server membagikan akses token.

E Client melakukan permintaan sumber daya yang sudah diproteksi dari Resource

Server, melakukan tindakan otentikasi dengan menghadirkan akses token.

F Resource Server memvalidasi akses token, jika valid dan sesuai, akan melayani

permintaan client untuk menggunakan aplikasi yang sudah terlindungi.

2.14.4 Hibah Otorisasi (Authorization Grant)

Hibah otorisasi adalah mandat mewakili sumber daya pemilik otorisasi (Resource

Owner) untuk mengakses sumber daya yang dilindungi yang digunakan oleh

client (pengunjung) untuk mendapatkan akses token. Ada beberapa metode hibah

otorisasi: Authorization code, implicit, resource Owner password credential.

Page 75: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

45

a. Authorization Code

Kode otorisasi diperoleh dengan menggunakan otorisasi server sebagai

perantara antara client dan resource Owner. Client melakukan permintaan

otorisasi langsung dari resource Owner, diarahkan menuju ke otorisasi server

melalui user-agent (web browser) yang pada gilirannya mengarahkan pemilik

sumber daya ke client dengan kode otorisasi.

b. Implicit

Hibah otorisasi implisit adalah hibah otorisasi yang disederhanakan dan

dioptimalkan untuk client yang diimplementasikan dalam browser

menggunakan bahasa scripting javascript. Dalam aliran otorisasi implicit,

client diberikan langsung akses token sebagai hasil dari otorisasi pemilik

sumber daya (resource Owner) yang kemudian digunakan untuk mendapatkan

akses token.

c. Resource Owner Password Credential

Sumber daya pemilik password credential seperti (username dan password)

dapat digunakan langsung sebagai hibah otorisasi untuk mendapatkan akses

token. Credential yang digunakan berdasarkan kepercayaan tingkat tinggi

antara pemilik sumber daya dan client. Jenis hibah ini membutuhkan akses

client langsung ke pemilik sumber daya credential yang digunakan untuk satu

permintaan dan ditukar dengan akses token.

Page 76: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

46

d. Client Credential

Kredensial klien adalah bentuk lain dari otentikasi klien yang digunakan

sebagai hibah otorisasi terbatas pada sumber daya yang dilindungi di bawah

pengawasan dan pengaturan klien. Atau ke sumber daya terlindungi yang

sebelumnya telah diatur dengan server otorisasi. Kredensial klien digunakan

sebagai otorisasi hibah ketika klien bertindak sebagai pemilik sumber daya

(resource owner) atau meminta akses ke sumber daya yang dilindungi

berdasarkan otorisasi yang sudah diatur dengan server otorisasi (resource

server).

2.14.5 Access Token dan Refresh Token

Access token adalah credential yang digunakan untuk mengakses sumber daya

yang terlindungi. Akses token adalah kumpulan string yang mewakili suatu kuasa

yang diberikan kepada client. Setiap token menyatakan batasan dan jangka waktu

akses, yang diberikan oleh Resource Owner (pemilik sumber daya), yang berasal

dari resource server (sumber server) dan Authorization Server (otorisasi server).

Token dapat menunjukkan pengenal yang digunakan untuk mengambil informasi

otorisasi atau mungkin data diri yang diverifikasi yaitu berupa tanda string yang

terdiri dari beberapa rangkaian data. Akses token dapat memiliki format yang

berbeda baik dalam struktur dan metode pemanfaatan.

Refresh token adalah token credential yang digunakan untuk mendapatkan token

Page 77: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

47

akses yang baru. Me-refresh kembali akses token yang dikeluarkan otorisasi

server (authorization server) dan digunakan untuk mendapatkan akses token

terbaru ketika akses token tidak menjadi sah atau akses token memiliki ruang

lingkup yang lebih pendek yang diterbitkan oleh authorization server. Refresh

token merupakan string yang mewakili otorisasi yang diberikan kepada client oleh

pemilik sumber daya. Tidak seperti akses token, refresh token hanya digunakan

untuk otorisasi server dengan tidak mengirimkan ke pemilik sumber daya

(resource owner).

2.15 PostgreSQL

PostgreSQL adalah open source ORDBMS (Object Relational Database

Management System) dengan reputasi yang baik dalam keandalan, integritas data,

dan correctness. PostgreSQL mulai diimplementasikan sejak tahun 1986.

PostgreSQL dapat berjalan pada sistem operasi Linux, UNIX, maupun Windows.

PostgreSQL mendukung penuh ACID (atomicity, consistency, isolation, durability)

dan sebagian besar standar ANSI SQL 92/2003. PostgreSQL sangat scalable,

mampu menangani kuantitas data yang besar dan mengakomodasi banyak

pengguna secara konkuren. Ada banyak procedural languages yang didukung

oleh PostgreSQL, juga ada banyak library interface yang membuat beragam

bahasa tersebut dapat compiled dan interpreted ke interface pada PostgreSQL.

Ada interface untuk Java (JDBC), ODBC, Perl, Python, Ruby, C, C++, PHP, Lisp,

Page 78: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

48

Scheme, dan Qt yang dapat digunakan pada PostgreSQL (PostgreSQL, 2017).

2.15.1 Arsitektur PostgreSQL

PostgreSQL terdiri atas proses (program) yang saling terkait, yaitu proses server

untuk mengelola database file, menerima koneksi ke database dari client

application, dan mengeksekusi permintaan dari client dan progam client user

application (front-end) yang berfungsi untuk melakukan operasi database. Client

dan server dapat berada pada host yang berbeda. Server PostgreSQL dapat

menangani koneksi bersamaan dari client. Untuk dapat mengkoneksikan client

secara bersamaan, PostgreSQL memulai dengan membuat proses (program) yang

baru untuk masing-masing koneksi. Maka, client dan proses server yang baru

dapat berkomunikasi tanpa adanya intervensi oleh proses PostgreSQL yang asli.

Dengan demikian, proses dari master server masih tetap berjalan dan menunggu

koneksi client (PostgreSQL, 2017).

Pada Gambar 2.8, dapat dilihat beberapa client terhubung ke server melalui

sebuah jaringan. Pada PostgreSQL, jaringan yang dibutuhkan seperti TCP/IP,

Local Area Network (LAN) atau mungkin jaringan internet. Masing-masing client

menghubungkan ke database server utama (Postmaster). Postmaster dapat

membuat proses server baru yang spesifik untuk melayani permintaan client

tersebut (Matthew and Stones, 2005).

Page 79: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

49

Gambar 2.8 Architecture PostgreSQL (Matthew and Stones, 2005).

Eksekusi query pada PostgreSQL menurut PostgreSQL Global Development

Group (2009) terdiri atas beberapa tahapan sampai dengan mendapatkan hasilnya.

1. Sebuah koneksi dari application program ke server dari PostgreSQL terlebih

dahulu harus dibuat. Application program mengirimkan query dari pengguna

ke server dan menunggu untuk menerima hasil yang dikirim kembali oleh

server ke application program.

2. Tahap berikutnya adalah parser yang berfungsi memeriksa query yang

dikirimkan oleh application program untuk mengkoreksi syntax dan membuat

sebuah query tree. Syntax diperiksa agar sistem dapat mengetahui apakah

syntax yang dituliskan oleh pengguna tersebut benar.

3. Kemudian rewrite System mengambil query tree yang telah dibuat pada tahap

parser dan memeriksa setiap aturan yang sesuai (disimpan dalam katalog

sistem) untuk diterapkan pada query tree. Rewrite System melakukan

Page 80: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

50

transformasi yang dimasukkan ke dalam sebuah aturan syntax dan menulis

ulang query dari pengguna ke dalam sebuah query yang nantinya akan

mengakses ke tabel dasar.

4. Planner atau optimizer mengambil query tree yang telah ditulis ulang dan

membuat query plan yang akan dimasukkan ke dalam eksekutor. Planner atau

optimizer melakukannya dengan terlebih dahulu menciptakan semua path

yang memungkinkan dan akhirnya mengarah ke hasil yang sama. Pertama

adalah sequential scan dan yang lainnya menggunakan pengindeksan.

Selanjutnya biaya untuk eksekusi dari masing-masing path diestimasikan dan

dipilih path yang biayanya paling murah. Path yang termurah diperluas ke

dalam complete plan yang kemudian eksekutor dapat menggunakannya.

5. Eksekutor akan mengulangi langkah di atas dengan kembali melewati plan

tree dan mengambil baris-baris dengan cara yang diwakili oleh plan.

Eksekutor memanfaatkan sistem penyimpanan ketika melakukan scaning tabel,

melakukan sort dan join, mengevaluasi kualifikasi dan akhirnya baris-baris

yang sesuai dengan query akan diproses sebagai output.

2.15.2 Psycopg2

Begitu banyak bahasa pemrograman yang dapat menggunakan database

PostgreSQL. Banyak orang yang berargumen bahwa PostgreSQL adalah database

open source yang memiliki library Application Programmable Interface (API)

Page 81: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

51

terbesar untuk berbagai bahasa pemrograman (PostgreSQL, 2017).

Psycopg2 adalah adaptor untuk database PostgreSQL yang paling populer untuk

bahasa pemrograman Python. Fitur utaman dari psycopg2 adalah implementasi

dari spesifikasi Python DB API 2.0 yang lengkap dan beberapa thread dapat

berbagi koneksi yang sama. Psycopg2 dirancang untuk aplikasi yang berat dengan

multithread yang dapat membuat kursor komputer tidak dapat bergerak dan

membuat sejumlah perintah INSERT yang banyak dalam waktu yang bersamaan

ataupun perintah UPDATE (initd.org/psycopg).

2.16 Android

Android adalah sebuah sistem operasi untuk perangkat mobile yang menyertakan

middleware (virtual machine) dan sejumlah aplikasi utama. Android merupakan

modifikasi dari kernel Linux (Andry, 2011).

Pada awalnya sistem operasi ini dikembangkan oleh sebuah perusahaan bernama

Android, Inc. Dari sinilah awal mula nama Android muncul. Android Inc. adalah

sebuah perusahaan start-up kecil yang berlokasi di Palo Alto, California, Amerika

Serikat yang didirikan oleh Andy Rubin bersama Rich Miner, Nick Sears, dan

Chris White. Pada bulan Juli 2005, perusahaan tersebut diakuisisi oleh Google dan

para pendirinya bergabung ke Google. Andy Rubin sendiri kemudian diangkat

menjadi Wakil Presiden divisi Mobile dari Google.

Tujuan pembuatan sistem operasi ini adalah untuk menyediakan platform yang

Page 82: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

52

terbuka, yang memudahkan orang mengakses Internet menggunakan telepon

seluler. Android juga dirancang untuk memudahkan pengembang membuat

aplikasi dengan batasan yang minim sehingga kreativitas pengembang menjadi

lebih berkembang (Andry, 2011).

Sebagai open source dan bebas dalam memodifikasi, di dalam android tidak ada

ketentuan yang tetap dalam konfigurasi Software dan Hardware. Fitur- fitur yang

didapat dalam Android antara lain (Lee, 2011) :

Storage - Menggunakan SQLite, database yang ringan, untuk sebuah

penyimpanan data.

Connectivity - Mendukung GSM/EDGE, IDEN, CDMA, EV-DO, UMTS,

Bluetooth (termasuk A2DP dan AVRCP), WiFi, LTE, dan WiMax.

Messaging –Mendukung SMS dan MMS

Web Browser – Berbasiskan open-source WebKit, bersama mesin

Chrome’s V8 JavaScript

Media support – Termasuk mendukung untuk beberapa media berikut :

H.263, H.264 (dalam bentuk 3GP or MP4), MPEG-4 SP, AMR, AMRWB

(dalam bentuk 3GP), AAC, HE-AAC (dalam bentuk MP4 atau 3GP), MP3,

MIDI, Ogg Vorbis, WAV, JPEG, GIF, dan BMP

Hardware support – Sensor akselerasi, Kamera, Kompas Digital, Sensor

Kedekatan, GPS

Multi-touch –Mendukung multi-touch screens

Page 83: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

53

Multi-tasking – Mendukung aplikasi multi-tasking

Flash-support – Android 2.3 mendukung Flash 10.1

Tethering – Mendukung pembagian dari koneksi internet sebagai

wired/wireless hotspot

Play Store – katalog aplikasi yang dapat di-download dan diinstal pada

telepon seluler secara online, tanpa menggunakan PC (Personal

Computer).

Lingkungan pengembangan yang kaya, termasuk emulator, peralatan

debugging, dan plugin untuk Eclipse IDE.

2.16.1 Arsitektur Android

Gambar 2.9. Arsitektur Android (Andry, 2011)

Page 84: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

54

Arsitektur android dapat digambarkan seperti pada Gambar 2.9 dan secara garis

besar Arsitektur Android dapat dijelaskan sebagai berikut (Safaat dan Nazruddin,

2012).

a. Application dan Widgets

Application dan Widgets ini adalah layer dimana kita berhubungan dengan

aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan

instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti termasuk

klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain.

Hampir semua aplikasi ditulis menggunakan bahasa pemrograman Java.

b. Application Frameworks

Android adalah “Open Development Platform” yaitu Android menawarkan

kepada pengembang atau memberi kemampuan kepada pengembang untuk

membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk

mengakses perangkat keras, akses informasi resource, menjalankan service

background, mengatur alarm, dan menambah status notifications, dan

sebagainya. Pengembang memiliki akses penuh menuju API framework

seperti yang dilakukan oleh aplikasi kategori inti. Arsitektur aplikasi dirancang

supaya dengan mudah dapat menggunakan kembali komponen yang sudah

digunakan (reuse). Sehingga bisa simpulkan Application Frameworks ini

adalah layer dimana para pembuat aplikasi melakukan

pengembangan/pembuatan aplikasi yang akan dijalankan di sistem operasi

Page 85: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

55

Android, karena pada layer inilah aplikasi dapat dirancang dan dibuat, seperti

content providers yang berupa SMS dan panggilan telepon.

Komponen-komponen yang termasuk di dalam Application Frameworks

adalah sebagai berikut :

1. Views

2. Content Provider

3. Resource Manager

4. Notification Manager

5. Activity Manager

c. Libraries

Libraries ini adalah layer dimana fitur-fitur Android berada, biasanya para

pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya.

Berjalan di atas Kernel, layer ini meliputi berbagai library C/C++ inti seperti

Libc SSL, serta :

1. Libraries media untuk pemutaran media audio dan video,

2. Libraries untuk manajemen tampilan,

3. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan

3D,

4. Libraries SQLite untuk dukungan database,

5. Libraries SSL dan WebKit terintegrasi dengan web browser dan

Page 86: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

56

security,

6. Libraries LiveWebcore mencakup modern web browser dengan engine

embedded web view,

7. Libraries 3D yang mencakup implementasi OpenGL ES1.0 API’s.

d. Android Run Time

Layer yang membuat aplikasi Android dapat dijalankan dimana dalam

prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM)

merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di

dalam Android Run Time dibagi menjadi dua bagian yaitu :

1. Core Libraries: Aplikasi Android dibangun dalam bahasa Java,

sementara Dalvik sebagai virtual mesinnya bukan Virtual Machine

Java, sehingga diperlukan sebuah libraries yang berfungsi untuk

menterjemahkan bahasa Java/C yang ditangani oleh Core Libraries.

2. Dalvik Virtual Machine: Virtual mesin berbasis register yang

dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana

merupakan pengembangan yang mampu membuat Linux Kernel untuk

melakukan threading dan manajemen tingkat rendah.

e. Linux Kernel

Linux Kernel adalah layer dimana inti dari sistem operasi Android itu berada.

Berisi file-file sistem yang mengatur sistem processing, memory, resource,

drivers, dan sistem-sistem operasi Android lainnya. Linux Kernel yang

Page 87: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

57

digunakan Android adalah Linux Kernel release 2.6 (Safaat dan Nazruddin,

2012).

2.16.2 Android SDK

Android SDK adalah tools API (Application Programming Interface) yang

diperlukan untuk mulai mengembangkan aplikasi pada platform Android

menggunakan bahasa pemrograman Java. Android merupakan subset perangkat

lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci

yang dirilis oleh Google. Saat ini disediakan Android SDK (Software

Development Kit) sebagai alat bantu dan API untuk mulai mengembangkan

aplikasi pada platform Android menggunakan bahasa pemrograman Java. Sebagai

platform aplikasi netral, Android member membuka kesempatan untuk membuat

aplikasi yang kita butuhkan yang bukan merupakan aplikasi bawaan Handphone

atau Smartphone (Developers, 2014).

2.16.3 Android Studio

Android Studio adalah lingkungan pengembangan terpadu (IDE) resmi untuk

pengembangan platform Android, hal itu disampaikan pada tanggal 16 Mei 2013

oleh Google, Android Studio sudah tersedia secara bebas dibawah lisensi Apache

2.0. Android Studio pada awalnya tahap preview versi 0.1 yang dipakai pada

tanggal 1 Mei 2013 dan memasuki tahap Beta pada bulan Juni 2014 dan mulai

stabil dirilis pada Desember 2014 dengan versi 1.0, berdasarkan jetBrains ‘IDEA

Page 88: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

58

Intellij Software, Android Studio dirancang khusus untuk pengembangan Android

yang tersedia untuk Windows, Mac OS X, dan Linux sebagai pengganti Eclipse.

Android Studio adalah official IDE yang digunakan untuk pengembangan aplikasi

Android berdasarkan IntelliJ IDEA. Dengan kemampuan di atas yang diharapkan

dari IntelliJ, Android Studio ini menawarkan:

- Flexible Gradle yang berbasis membangun system

- Membangun varian dan beberapa berkas turunan apk

- Kode template untuk membantu Anda membangun fitur aplikasi standar.

- Rich layout editor dengan dukungan untuk drag dan pengubahan tema

penurunan

- Lint tools yang digunakan untuk menangkap kinerja, kegunaan,

kompatibilitas versi , dan masalah lainnya

- ProGuard dan aplikasi signing Capabilities.

- Built-in Support yang digunakan untuk Google Cloud Platform, sehingga

memudahkan untuk mengintegrasikan Google Cloud Messaging dan App

Engine (Developers, 2014).

2.16.4 Fundamental Aplikasi

Aplikasi Android ditulis dalam bahasa pemrograman Java, kode Java dikompilasi

bersama dengan data file resource yang dibutuhkan oleh aplikasi dimana

prosesnya di-package oleh tools yang dinamakan “apt tools” ke dalam paket

Page 89: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

59

Android sehingga menghasilkan file dengan ekstensi apk (Android Package). File

apk itulah yang sebenarnya kita sebut dengan aplikasi yang dapat diinstal di

perangkat mobile nantinya. Ada empat jenis komponen pada aplikasi Android

yaitu (Safaat dan Nazruddin, 2012):

1. Activites

Suatu activity akan menyajikan User Interface (UI) kepada pengguna,

sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi Android

bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi memiliki

banyak activity tergantung pada tujuan aplikasi dan desain dari aplikasi

tersebut. Satu activity biasanya akan dipakai untuk menampilkan aplikasi

atau yang bertindak sebagai user interface saat aplikasi diperlihatkan

kepada user. Untuk pindah dari satu activity ke activity yang lain kita

dapat melakukan dengan satu even misalnya klik tombol, memilih opsi

atau menggunakan triggers tertentu. Secara hirarki sebuah windows

activity dinyatakan dengan method Activity.setContentView().

ContentView adalah objek yang berada pada root hirarki.

2. Service

Service tidak memiliki visual user interface (UI), tetapi service berjalan

secara background, sebagai contoh dalam memainkan musik, service

mungkin memainkan musik atau mengambil data dari jaringan, tetapi

setiap service haruslah berada dalam kelas induknya. Misalnya media

Page 90: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

60

player sedang memutar lagu dari list yang ada, aplikasi ini akan memiliki

dua atau lebih activity yang memungkinkan user untuk memilih lagu atau

menulis SMS sambil player sedang jalan. Untuk menjaga musik tetap

dijalankan, activity player dapat menjalankan service untuk membuat

aplikasi tetap berjalan. Service dijalankan pada thread utama daari proses

aplikasi.

3. Broadcast Recevier

Broadcast Recevier berfungsi menerima dan bereaksi untuk

menyampaikan notifikasi. Broadcast Recevier tidak memiliki user

interface (UI), tetapi memiliki sebuah activity untuk merespon informasi

yang mereka terima, atau mungin menggunakan Notification Manager

untuk memberitahu kepada pengguna, seperti lampu latar atau vibrating

(getaran) perangkat, dan lain sebagainya.

4. Content Provider

Content provider membuat kumpulan aplikasi data secara spesifik

sehingga bisa digunakan oleh aplikasi lain. Data disimpan dalam file

System seperti database SQLite. Content Provider menyediakan cara untuk

mengakses data yang dibutuhkan oleh suatu activity. Misalnya ketika

menggunakan aplikasi yang membutuhkan peta atau aplikasi yang

membutuhkan cara untuk mengakses data kontak untuk navigasi, maka

disinilah fungsi content provider.

Page 91: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

61

2.17 Extreme Programming (XP)

Extreme Programming (XP) menggunakan suatu pendekatan ‘berorientasi objek’

sebagai paradigma pengembangan yang diinginkan dan mencakup di dalamnya

seperangkat aturan dan praktik praktik yang terjadi dalam konteks empat kegiatan

kerangka kerja: perencanaan, perancangan, pengkodean dan pengujian. Gambar

2.10 megilustrasikan proses XP dan menunjukan beberapa ide dan tugas kunci

yang terkait dengan setiap aktifitas kerangka kerja. Kunci XP diringkas dalam

paragraf-paragraf berikut. (Pressman, 2010).

Gambar 2.10. Proses extreme programming (Pressman, 2012)

Page 92: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

62

2.17.1 Perencanaan

Kegiatan perencanaan (disebut juga planning game) biasanya dimulai dengan

mendengarkan--sesuatu kegiatan yang bertujuan untuk mengumoulkan

kebutuhan-kebutuhan yang memungkinkan anggota teknis tim XP memahami

konteks bisnis untuk perangkat lunak yang akan dikembangkan dan untuk

merasakan perlunya keluaran-keluaran(output), fitur-fitur utama, dan

fungsionalitas. Aktifitas-aktifitas mendengarkan pada dasarnya mengarah pada

pembuatan serangkaian “cerita” (juga disebut user stories) yang menggambarkan

keluaran yang diperlukan, fitur-fitur dan fungsionalitas-fungsionalitas yang akan

dibangun menggunakan perangkat lunak yang akan dikembangkan. (Pressman,

2012).

2.17.2 Perancangan

Perancangan XP dengan ketat mengikuti prinsip “tetap sederhana”. Sebuah hasil

perancangan yang sederhana selalu lebih disukai daripada gambaran-gambaran

yang lebih kompleks. Selain itu, perancangan XP akan memberikan panduan

implementasi untuk suatu cerita ketika cerita itu ditulis, tidak kurang, tidak lebih.

Rancangan - rancangan dan fungsionalitas - fungsionalitas tambahan (karena

pengembang menganggap nantinya akan diperlukan) tidak terlalu disarankan.

(Pressman, 2012).

Page 93: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

63

2.17.3 Pengkodean

Setelah cerita dikembangkan dan karya rancagan awal dilakukan, tim perangkat

lunak cepat (XP) tidak langsung beralih ke kode - kode program, tetapi lebih dulu

akan mengembangkan serangkaian unit pengujian yang akan menjalankan setiap

cerita yang akan disertakan para rilis yang ada (peningkatan perangkat lunak).

Setelah unit pengujian dibuat, pengembang perangkat lunak akan lebih mampu

berkonsentrasi pada apa yang harus diimplemetasikan supaya lulus dari unit

pengujian tersebut. (Pressman, 2012).

2.17.4 Pengujian

Setelah mencatat bahwa pembuatan unit pengujian sebelum pengkodean dimulai

merupakan elemen kunci dari pendekatan pengembangan perangkat lunak cepat

XP. Unit pengujian yang harus dibuat dan kemudian dijalankan menggunakan

kerangka kerja yang memungkinkan mereka untuk diotomatisasi (sehingga

mereka dapat dijalankan dengan mudah dan dapat dijalankan berulang kali)

(Pressman, 2012).

2.18 Unified Modeling Language (UML)

Unified Modeling Language (UML) adalah sebuah bahasa yang menjadi standar

dalam industri untuk visualisasi, merancang dan mendokumentasikan sistem

peranti perangkat lunak. UML menawarkan sebuah standar untuk merancang

model sebuah sistem (Yasin, 2012).

Page 94: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

64

2.18.1 Gambaran Umum UML

Menurut Yasin tahun 2012, gambaran umum dari UML dijabarkan sebagai

berikut :

UML sebagai bahasa pemodelan. UML merupakan bahasa pemodelan yang

memiliki penbendaharaan kata dan cara untuk mempresentasikan secara fokus

pada konseptual dan fisik dari suatu sistem. Contoh untuk sistem software yang

intensif membutuhkan jasa yang menunjukan pandangan yang berbeda dari

arsitektur sistem, ini sama seperti menyusun/mengembangkan software

development life cicle.

UML sebagai bahasa untuk menggambarkan sistem. UML tidak hanya merupakan

rangkaian simbol grafikal, cukuo dengan tiap simbol pada notasi UML merupakan

penetapan simatik yang baik.

UML sebagai bahasa untuk menspesifikasikan sistem. Maksudnya membangun

model yang sesuai, tidak ambigu dan lengkap. Pada faktanya UML menunjukan

semua spesifikasi keputusan analisis, desain dan implementasi yang penting yang

harus dibuat pada saat pengembangan dan penyebaran dari sistem software

intensif.

UML sebagai bahasa untuk membangun sistem. UML bukan bahasa

pemrograman visual, tetapi model UML dapat dikoneksikan secara langsung

dengan bahasa pemrograman visual.

Page 95: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

65

UML sebagai bahasa untuk pendokumentasian. Maksud dari UML sebagai bahasa

untuk pendokumentasian dari arsitektur sistem dan detail dari semuanya.

2.18.2 Tujuan Penggunaan UML

Tujuan penggunaan UML adalah dapat memodelkan suatu sistem (bukan hanya

perangkat lunak) yang menggunakan konsep berorientasi objek dan menciptakan

suatu bahasa pemodelan yang dapat digunakan baik oleh manusia maupun mesin

(Yasin, 2012).

2.18.3 Use case Diagram

Use case merupakan fungsionalitas yang diharapkan dari sebuah sistem. Yang

ditekankan adalah apa yang diperbuat sistem, dan bukan bagaimana. Sebuah use

case merepersentasikan sebuah interaksi antara aktor dengan sistem. Use case

merupakan sebuah pekerjaan tertentu, misal login ke sistem, membuat sebuah

daftar belanja dan masih banyak lagi. Seorang/sebuah aktor adalah sebuah entitas

manusia atau mesin yang berinteraksi dengan sistem untuk melakukan

pekerjaan-pekerjaan tertentu (Yasin.2012).

Use case dapat meng-include fungsionalitas use case lain sebagai bagian dari

proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include

akan dipanggil setiap kali use case yang meng-include dieksekusi secara normal.

Sebuah use case dapat di include oleh lebih dari satu use case, sehingga duplikasi

Page 96: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

66

fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang

common. Sebuah use case juga dapat meng-extend use case lain dengan

behaviour-nya sendiri.

Tabel 2.2. Simbol use case diagram (Yasin, 2012).

Simbol KeteranganAktor : Seseorang atau sesuatu yang berinteraksidengan sistem yang sedang dikembangkan

Use Case : Peringkat tertinggi dari fungsionalisatasyang dimiliki sistem

Association : adalah relasi antara aktor dan use case.

Generalisasi : untuk memperlihatkan struktur pewarisyang terjadi.

Berikut ini adalah contoh dari use case clinic berobat:

Gambar 2.11. Contoh use case clinic berobat

Clinic

patient

schedule

doctor

clerk

Cancel

Make

Check Patient

Request

Medication

Pay Bill

Extention

Points

Bill

Defer

<<include>>

<<extend>>

<<extend>

>

System

Include

Extend

Child usecase

Generaliz

Page 97: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

67

2.18.4 Activity Diagram

Activity diagram menggambarkan berbagai alir aktivitas dalam sistem yang

sedang dirancang, bagaimana masing-masing alir berawal, decision yang mungkin

terjadi, dan bagaimana mereka berahir. Diagram ini juga dapat menggambarkan

proses paralel yang mungkin terjadi pada beberapa eksekusi. Activity diagram

merupakan state diagram khusus, dimana sebagaian besar state adalah action dan

sebagian besar transisi di trigger oleh selesainya state sebelumnya. Oleh karena

itu, activity diagram tidak menggambarkan behaviour internal sebuah sistem secar

eksak. Tetapi lebih menggambarkan porses proses dan jalur jalur aktifitas dari

level atas secara umum. Sebuah aktifitas dapat direalisasikan oleh satu use case

atau lebih. Aktifitas menggambarkan proses yang berjalan, sementara use case

menggambarkan bagaimana aktor menggunakan sistem untuk melakukan

aktifitas.

Tabel 2.3. Simbol activity diagram (Yasin, 2012)

Simbol Keterangan

Titik Awal

Titik Ahir

Activity

Pilihan untuk pengambilan keputusan

Fork, Untuk menunjukan kegiatan yang dilakukan secaraparallel

Page 98: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

68

Tabel 2.3. Simbol activity diagram (Yasin, 2012) (Lanjutan)

Simbol Keterangan

Rake, menunjukan adanya dekomposisi

Tanda waktu

Tanda penerima

Aliran ahir (flow final)

Gambar 2.12. Contoh activity diagram tanpa swimlane (Yasin, 2012)

Put coffe in filter

Find beverage

Add water to Get cups

Put filter in

Turn on machine

Brow coffee

Pour coffee Drink beverage

Get can of cola

Page 99: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

69

2.18.5 Sequence Diagram

Sequence diagram menggambarkan iteraksi antara objek di dalam dan di sekitar

sistem (termasuk pengguna, display dan sebagainya) berupa pesan yang

digambarkan terhadap waktu. Sequence diagram terdiri atas dimensi vertikal

(watktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram

biasanya digunakan untuk menggambarkan skenario atau rangkaian

langkah-langkah yang dilakukan sebagai respon dari sebuah event untuk

menghasikan output tertentu. Diawali dari apa yang men-trigger aktifitas tersebut,

proses dan perubahan apa saja yang terjadi secara internal dan output apa yang

dihasilkan. Masing masing objek atau aktor memiliki life line vertikal. Pesan

digambarkan dengan garis berpanah dari satu objek ke objek lain. Pada fase

berikutnya, pesan akan dipetakan menjadi operasi/metoda dari class. Activation

bar mnenggambarkan lamanya eksekusi sebuah proses, biasanya diawali dengan

diterimanya sebuah pesan. Untuk objek-objek yang memiliki sifat khusus, standar

UML mendefinisikan icon khusus untuk objek boundary, controller dan persistent

entity.

Gambar 2.13. Contoh sequence diagram

:Petugas

:Transaksi

Page 100: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

70

2.18.6. Class Diagram

Diagram kelas atau class diagram mendefinisikan kelas-kelas yang akan dibuat

untuk membangun sistem. Diagram kelas mendeskripsikan jenis-jenis obyek

didalam sistem dan berbagai hubungan statis yang terdapat diantara mereka.

Diagram kelas juga menunjukkan properti dan operasi, serta batasan-batasan yang

terdapat dalam hubungan antar obyek. Diagram kelas memiliki tiga area pokok

yaitu: nama(class name); nama dari suatu kelas harus menggambarkan kelas

tersebut, atribut merupakan karakteristik data yang dimiliki suatu obyek dalam

kelas dan yang ketiga metode (Operations) merupakan fungsi atau transformasi

yang mungkin dapat diaplikasikan ke/oleh suatu obyek dalam kelas. (Sugiarti,

2012). Simbol yang digunakan pada class diagram ditunjukan pada Tabel 2.4.

Tabel 2.4. Simbol class diagram (Sugiarti, 2012)

Nama Simbol Deskripsi

Package Package merupakan sebuahbungkusan dari satu atau lebih kelas

Page 101: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

71

Tabel 2.4. Simbol class diagram (Sugiarti, 2012) (Lanjutan)

Nama Simbol Deskripsi

OperasiNama kelas

+ Attribute1+Attribute2+Operation1()

Merupakan kelas pada struktur sistemterdiri dari nama kelas, atributdanmetode. Atribut dan metode dapatmemiliki salah satu sifat berikut:

1. Private, dengan simbol (-) tidakdapat dipanggil dari luar class yangbersangkutan.

2. Protected, dengan simbol (#) hanyadapat dipanggil oleh class yangbersangkutan dan class lain yangmewarisinya.

3. Public, dengan simbol (+) dapatdipanggil oleh class lain (Fowler,2004).

Asosiasi1

1..*

Asosiasi adalah simbol dari hubunganantar kelas, asosiasi dapat disertaidengan mulplicity. Mulplicity/mulplisitas menunjukkan jumlahsuatu obyek yang bisa berhubungandengan obyek yang lain. Umumnyaditunjukkan dengan berapa banyakobyek yang bisa mengisi properti“satu” atau “banyak”. Secara khususdapat ditunjukkan dengan bilanganintegerlebih besar atau sama dengan0.- 1 (pasti 1)- 0 (pasti 0)- 0..1 (0 atau 1)- 1..* (lebih dari satu,

minimal satu)

Page 102: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

72

Tabel 2.4. Simbol class diagram (Sugiarti, 2012) (Lanjutan)

Nama Simbol Deskripsi

Asosiasiberarah /directedasosiation

Hubungan antar kelas yaitu kelasyang satu digunakan oleh kelas yanglain. Umumnya menggambarkankelas yang memiliki atribut berupakelas lain, atau kelas yang harusmengetahui eksistensi kelas lain.Asosiasi juga dapat disertai denganmulplicity. Contoh asosiasi:

Supplier Surat Pesanan 1

Generalisation Hubungan atas beberapa subkelaskepada super kelas di atasnya.Subkelas mewarisi fitur dari superkelasnya. Subkelas mampuoverriding metode super kelasnya.

Ketergantungan/ defedency

Hubungan antar kelas dengan maknaketergantungan antar kelas

Agregation Hubungan bagian dari atau bagian kekeseluruhan. Suatu kelas/ obyekmungkin memiliki obyek, atau dibagimenjadi obyek tertentu dimana obyektersebut merupakan bagian dariobyek/ kelas terdahulu.

2.19 Pengujian Perangkat Lunak

Pengujian perangkat lunak adalah proses pengevaluasian fitur-fitur perangkat

lunak dan pencarian perbedaan antara persyaratan yang ada dan yang diharapkan.

Page 103: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

73

Berdasarkan standar IEEE, pengujian perangkat lunak merupakan aktivitas yang

dilakukan untuk mengevaluasi kualitas produk, mengidentifikasi kelemahan dan

permasalahan yang terjadi atau mungkin terjadi pada produk. Pengujian perangkat

lunak dilakukan untuk menemukan segala kesalahan dan segala kemungkinan.

(Simarmata, 2010).

Sejumlah aturan yang berfungsi sebagai sasaran pengujian perangkat lunak adalah

sebagai berikut.(Simarmata,2010).

1. Pengujian adalah proses eksekusi suatu program untuk menemukan

kesalahan.

2. Kasus pengujian yang baik adalah kasus pengujian yang memiliki

probabilitas tinggi untuk menemukan kesalahan yang belum pernah

ditemukan sebelumnya.

3. Pengujian yang sukses adalah pengujian yang mengungkapkan semua

kesalahan yang belum pernah ditemukan sebelumnya.

2.19.1. Proses Pengujian Perangkat Lunak

Pengujian harus dilakukan pada setiap tahapan pengembangan produk. Penetapan

pengujian data harus diperoleh, kebenaran dan konsistensinya harus dipantau

selama proses pengembangan. Jika kita membagi siklus hidup pengembangan

perangkat lunak menjadi “Analisa Kebutuhan”, “Desain”,

“Pemrograman/Konstruksi”, “Operasi dan Pemeliharaan”, maka pengujian harus

Page 104: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

74

dilakukan pada setiap tahapan pengembangan tersebut. Pengujian tidak boleh

terisolasi sebagai kegiatan inspeksi, tetapi harus melibatkan seluruh System

Development Life Cycle (SDLC) untuk menghasilkan produk yang berkualitas.

(Simarmata, 2010).

2.19.2. Metode Pengujian Perangkat Lunak

Pengujian dilakukan dengan melibatkan unit-unit dari semua modul. Dalam

pengujian perangkat lunak terdapat dua metode untuk menguji unit pada setiap

modul dari aplikasi yaitu metode white-box dan black-box. Metode white-box

adalah cara pengujian yang dilakukan dengan meneliti kode-kode program yang

ada dan menganalisis apakah ada kesalahan atau tidak. Jika ada modul yang

menghasilkan output yang tidak sesuai dengan proses bisnis yang dilakukan,

maka baris-baris program, variabel dan parameter yang terlibat pada unit tersebut

akan diperiksa dan diperbaiki, kemudian diperiksa kembali apakah program sudah

berjalan sesuai dengan yang diharapkan (Alfatta, 2007).

Metode pengujian black-box terfokus pada apakah unit program memenuhi

kebutuhan (requirement) yang disebutkan dalam spesifikasi. Pada pengujian

black-box, cara pengujian hanya dilakukan dengan menjalankan atau

mengeksekusi unit atau modul, kemudian diamati apakah hasil dari unit itu sesuai

dengan proses bisnis yang diinginkan (Alfatta, 2007).

Jenis pengujian yang digunakan dalam penelitian ini terbagi atas pengujian

Page 105: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

75

fungsional dan pengujian non fungsional. Adapun pengujian fungsional

menggunakan metode black box yaitu Equivalence Partitioning dan pengujian

non fungsional menggunakan angket yang penyusunan bentuk jawaban dari

pertanyaan menggunakan skala likert.

2.19.2.1 Equivalence Partitioning

Equivalence Partitioning (EP) merupakan metode black box testing yang

membagi domain masukan dari program ke dalam kelas-kelas. Test case yang

didesain untuk Equivalence Partitioning diperoleh dari evaluasi kelas ekuivalensi

untuk kondisi masukan yang menggambarkan kumpulan keadaan yang valid atau

tidak. Kondisi masukan dapat berupa spesifikasi nilai numerik, kisaran nilai,

kumpulan nilai yang berhubungan atau kondisi boolean (Pressman, 2001).

Kesetaraan kelas dapat didefinisikan menurut panduan berikut (Pressman, 2001):

1. Jika masukan kondisi menentukan kisaran, satu sah dan dua diartikan tidak

valid kesetaraan kelas.

2. Jika masukan membutuhkan nilai, kondisi tertentu satu sah dan dua tidak

valid kesetaraan kelas diartikan.

3. Jika masukan kondisi menentukan anggota dari set, satu sah dan satu tidak

valid kesetaraan kelas diartikan.

4. Jika kondisi yang input, boolean satu sah dan satu tidak valid kelas diartikan.

Page 106: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

76

2.19.2.2 Skala Likert

Menurut Likert (Azwar, 2011), sikap dapat diukur dengan metode rating yang

dijumlahkan (Method of Summated Ratings). Metode ini merupakan metode

penskalaan pernyataan sikap yang menggunakan distribusi respons sebagai dasar

penentuan nilai skalanya. Nilai skala setiap pernyataan tidak ditentukan oleh

derajat favourable nya masing-masing akan tetapi ditentukan oleh distribusi

respon setuju dan tidak setuju dari sekelompok responden yang bertindak sebagai

kelompok uji coba (pilot study) (Azwar, 2011).

Skala Likert, yaitu skala yang berisi lima tingkat preferensi jawaban dengan

pilihan sebagai berikut: 1 = sangat tidak setuju; 2 = tidak setuju; 3 = ragu–ragu

atau netral; 4 = setuju; 5 = sangat setuju. Selanjutnya, penentuan kategori interval

tinggi, sedang, atau rendah digunakan rumus sebagai berikut:

Keterangan :

I = Interval;

NT = Total nilai tertinggi;

NR = Total nilai terendah;

K = Kategori jawaban (Yitnosumarto, 2006).

Page 107: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

77

BAB IIIMETODOLOGI PENELITIAN

3.1 Waktu dan Tempat Penelitian

Penelitian ini dilakukan di Jurusan Ilmu Komputer, Fakultas Matematika dan Ilmu

Pengetahuan Alam Universitas Lampung yang berada di Jalan Soemantri

Brojonegoro No.1 Gedung Meneng, Bandar Lampung. Waktu penelitian

dilaksanakan mulai bulan Januari 2017 sampai bulan Juni 2017.

3.2 Metodologi Penelitian

3.2.1 Alir Penelitian

Penelitian dilakukan berdasarkan diagram alir metodologi penelitian yang terdapat

pada Gambar 3.1.

Page 108: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

78

Gambar 3.1 Diagram alir metodologi penelitian

Penejelasan diagram alir metodologi penelitian pada Gambar 3.1 adalah sebagai

berikut :

Langkah I

3.2.1.1 Identifikasi Masalah

Langkah awal dari penelitian ini dimulai dengan melakukan kegiatan identifikasi

masalah. Tahap ini merupakan tahap dasar dilakukannya pengidetifikasian dan

analisis terhadap permasalahan-permasalahan yang ada, baik itu merupakan

perbaikan atau penambahan proses bisnis yang semakin maju.

Page 109: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

79

Pengidentifikasian masalah ini terjadi selama proses wawancara dan penurunan

kebutuhan dari sistem yang sudah ada. Dari pengidentifikasian masalah akan

menghasilkan rumusan masalah, tujuan penelitian, manfaat penelitian, dan

batasan masalah. Rumusan masalah merupakan kalimat pertanyaan yang menjadi

pokok serta arah dari penelitian yang sedang dilakukan. Tujuan penelitian

merupakan harapan yang diinginkan dari penelitian yang sedang dilakukan.

Manfaat penelitian merupakan dampak yang akan dirasakan oleh semua yang

menjadi objek dalam penelitian. Sedangkan batasan masalah akan memberikan

informasi seberapa jauh penelitian ini akan berjalan.

3.2.1.2 Studi Literatur

Tahap kedua pada bagian pertama dari metodologi penelitian ini adalah studi

literatur. Pada tahap ini akan dilakukan proses penggalian segala bentuk informasi

dari awal sampai akhir dengan harapan dapat mengetahui kendala-kendala yang

dihadapi. Informasi dapat berupa teori-teori dan dapat pula hasil penelitian yang

telah dilakukan mengenai permasalahan yang akan diteliti. Studi literatur

dilakukan dengan mengumpulkan data dan informasi yang berhubungan dengan

Siakad Universitas Lampung dan konsep REST API, baik dari buku, jurnal ilmiah

mengenai REST API, dan penelitian sebelumnya yang telah membahas tentang

REST API. Selain itu juga dilakukan wawancara terhadap pihak yang mengetahui

seluk beluk tentang Siakad Universitas Lampung.

Page 110: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

80

Langkah II

3.2.1.3 Perencanaan

Tahap pertama dari langkah kedua adalah perencanaan. Tahap ini merupakan awal

dari metodologi pengembangan sistem extreme programming. Pada tahap ini akan

dibahas mengenai fitur dan fungsi utama dari sistem yang akan dibuat. Hasil dari

tahap perencanaan ini adalah identifikasi aktor, user story, use case diagram, dan

activity diagram. User story dapat dibuat berdasarkan gambaran kasar sistem

yang akan dibuat berdasarkan penjabaran dari narasumber yang dilanjutkan

dengan mengidentifikasi user. Berikut ini merupakan gambaran kasar dari sistem

yang akan dibuat:

1. Universitas Lampung ingin mengembangkan layanan web Siakad untuk

mempermudah sistem lain yang ada di Universitas Lampung dalam

mendapatkan atau mengakses data dari Siakad Universitas Lampung.

2. Pengembangan layanan ini dikhususkan sebagai jembatan sistem beban kerja

dosen untuk mendapatkan data kinerja dosen yang ada di Siakad Unversitas

Lampung.

3. Data tersebut antara lain nama mata kuliah, sks, dan sks kumulatif. Sks

kumulatif adalah hasil dari perhitungan data jumlah dosen, jumlah

mahasiswa, dan jumlah kehadiran dosen dalam perkuliahan. Untuk data nama

mata kuliah, sks, jumlah dosen, dan jumlah mahasiswa sudah terdapat pada

Siakad Universitas Lampung. Sedangkan untuk data jumlah kehadiran dosen

belum tersedia.

Page 111: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

81

4. Dikarenakan data jumlah kehadiran dosen belum tersedia, maka dibutuhkan

subsistem yang berfungsi untuk mendapatkan jumlah kehadiran dosen yang

selanjutnya disebut sistem kehadiran dosen.

5. Sistem kehadiran dosen berguna untuk mencatat kehadiran atau absen para

dosen pada setiap sesi mengajar. Kehadiran/absen dosen tersebut akan

disimpan di database Siakad yang nantinya akan dihitung dan hasil dari

perhitungan tersebut akan digunakan untuk menghitung kinerja dosen.

6. Agar data kehadiran dosen tersebut valid atau data tersebut ada karena adanya

sesi mengajar, maka akan dibuat subsistem validasi kehadiran dosen oleh

mahasiswa, yang selanjutnya disebut sistem validasi kehadiran dosen. Sistem

validasi kehadiran dosen ini dibuat untuk memastikan perkuliah benar-benar

terlaksana sesuai dengan data kehadiran yang dosen masukan.

A. Identifikasi Aktor

Setelah mendapatkan gambaran kasar dari sistem yang akan dibuat, penulis

melakukan identifikasi aktor yang akan terlibat. Kandidat dari aktor-aktor pada

umumnya dapat ditemukan dengan menjawab pertanyaan pertanyaan berikut :

a. Siapa yang menggunakan sistem?

b. Siapa dan apa yang mempengaruhi sistem (perangkat lunak)?

c. Adakah perangkat keras atau sistem (perangkat lunak) lain yang

menggunakan atau memanfaatkan sistem (perangkat lunak) yang sedang

dikembangkan?

Page 112: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

82

d. Masalah apa yang dikerjakan oleh sistem (perangkat lunak) yang sedang

dikembangkan? Untuk siapa dan untuk apa sistem (perangkat lunak)

dikembangkan?

e. Bagaimana pengguna menggunakan sistem (perangkat lunak)?

Dari pertanyaan-pertanyaan tersebut, dapat diidentifikasi semua aktor yang akan

terlibat dalam sistem ini. Aktor aktor tersebut adalah:

1. Sistem Beban Kerja Dosen (BKD)

2. Dosen

3. Mahasiswa

Sampai disini penulis sudah mendapatkan gambaran kasar sistem dan aktor-aktor

yang terlibat dalam sistem ini.

B. User Story

Selanjutnya penulis membuat user story berdasarkan dari gambaran kasar dan

aktor yang terlibat.

Tabel 3.1. User story gambaran kasar sistem dan aktor yang terlibat.

Actor Task User Story Prioritas

BKD Mendapatkandata kinerjadosen

Sistem BKD mengirim NIP dosenmelalui protokol http ke interface APISiakad berdasarkan URI yang telahditentukan yang selanjutnya sistemBKD akan mendapatkan data kinerjadosen dalam bentuk json atau xml.

1

Page 113: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

83

Tabel 3.1. User story gambaran kasar sistem dan aktor yang terlibat (lanjutan)

Actor Task User Story Prioritas

Dosen Input datakehadirandosen

Setelah dosen menjalankan prosesperkuliahan, dosen harus melakukanabsen ke sistem serta memasukandata mahasiswa sebagai validasikehadiran dari dosen tersebut.

1

Edit datakehadirandosen

Dosen dapat melakukan perubahandata materi apa yang telah dibahaspada saat perkuliahan, tetapi tidakdapat merubah status apakah telahdivalidasi oleh mahasiswa ataubelum.

2

Melihat profildosen

Ini merupakan fitur tambahandimana dosen dapat melihat profildari dirinya sendiri.

3

Mahasiswa Validasikehadirandosen

Mahasiswa yang ditunjuk dosenuntuk melakukan validasi kehadiranharus melakukan validasi terhadapperkuliahan yang telah berlangsungguna memastikan apakah benardosen tersebut telah melakukanproses perkuliahan.

1

Melihat profilmahasiswa

Ini merupakan fitur tambahandimana mahasiswa dapat melihatprofil dirinya sendiri.

2

C. Use Case Diagram

Dari hasil user story maka selanjutnya adalah membuat use case diagram. Use

case diagram akan menggambarkan bagaimana setiap aktor terlibat dan

menggambarkan kebutuhan fungsional dari setiap aktor.

Page 114: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

84

Gambar 3.2. Use case keseluruhan sistem

Berikut skenario dari use case pada Gambar 3.2:

i. Nama use case: Mendapatkan Kinerja Dosen. Sistem lain dalam konteks ini

adalah sistem BKD berinteraksi dengan Siakad untuk mendapatkan data

kinerja dosen. Beberapa langkah untuk mendapatkan kinerja dosen adalah:

1. Sistem BKD mengakses URI untuk mendapatkan data kinerja dosen

dengan method POST melalui HTTP atau HTTPS. Body berisi NIP

dosen, tahun ajaran, dan semester (genap atau ganjil).

2. Web API Siakad akan mengirim data kinerja dosen dalam bentuk

JSON.

Page 115: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

85

ii. Nama use case: Menampilkan Profil Dosen. Dosen dapat melihat profil

dirinya yang tersimpan di database Siakad.

iii. Nama use case: Mengelola Kehadiran Dosen. Dosen dapat mengelola

kehadiran dosen seperti menambah kehadiran dosen dan mengubah kehadiran

dosen.

iv. Nama use case: Input Kehadiran Dosen. Dosen dapat menambah kehadiran

dosen.

v. Nama use case: Update Kehadiran Dosen. Dosen dapat mengubah kehadiran

dosen yang telah ditambah sebelumnya.

vi. Nama use case: Menampilkan Profil Mahasiswa. Mahasiswa dapat melihat

profil dirinya yang tersimpan di database.

vii. Nama use case: Validasi Kehadiran Dosen. Mahasiswa yang ditunjuk untuk

melakukan validasi dapat melakukan validasi terhadap kehadiran dosen akan

sesi mata kuliah yang telah dijalani.

Use case di atas masih dalam bentuk umum, untuk gambaran detail use case dapat

lihat pada Lampiran 1. Selain user story pada tahap ini juga menghasilkan

Software Requirement Spesification dan Software Architecture Spesification.

D. Activity Diagram

Activity diagram digunakan untuk menggambarkan aliran aktivitas yang terjadi

pada sistem dan mendeskripsikan suatu aktivitas yang dibentuk dalam satu proses

sehingga dapat juga digunakan oleh aktivitas lainnya. Diagram ini sangat mirip

Page 116: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

86

dengan flowchart karena memodelkan workflow dari satu aktivitas ke aktivitas

lainnya atau dari satu aktivitas ke status. Berikut ini merukan activity diagram

untuk sistem yang dibangun dalam penelitian ini:

1. Activity diagram beban kerja dosen

2. Activity diagram menampilkan profil dosen

Activity diagram menampilkan profil dosen ini akan berada pada sistem

kehadiran dosen. Activity ini dimulai dengan user dalam hal ini dosen meng-

klik button Menu Profil yang ada pada halaman utama sistem kehadiran dosen.

Selanjutnya aplikasi yang bertindak sebagai client atau perantara antara server

dan user akan melakukan request GET ke server untuk profil dosen tersebut.

Server menerima request dari client dan mengembalikannya dengan respon

berupa data profil dosen. Terakhir, aplikasi client menampilkan data profil

dosen berdasarkan hasil respon dari server. Activity diagram yang

menampilkan profil dosen dapat dilihat pada Gambar 3.3.

Page 117: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

87

Gambar 3.3. Activity diagram menampilkan profil dosen

3. Activity diagram mengelola absen dosen

Activity mengelola absen dosen ini berada pada aplikasi kehadiran dosen. Ini

merupakan fitur utama dari aplikasi kehadiran dosen dimana pada activity

terdapat beberapa bagian yaitu menampilkan daftar absen dosen, menambah

absen dosen dan mengubah absen dosen. Activity diagram mengelola absen

dosen ini diawali dengan dosen sebagai user meng-klik menu absen dosen.

Aplikasi yang bertindak sebagai client akan merespon dengan melakukan dua

hal yaitu mengirim request GET daftar absen ke server dan menampilkan

button Tambah Absen. Button Tambah Absen digunakan untuk menambah

absen. Server menerima request dari client dan mengembalikannya dengan

data daftar absen. Client menerima respon dan menampikan data absen yang

Page 118: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

88

diberikan oleh server dan memberi button Ubah Absen pada setiap absen yang

ditampilkan.

Sebelumnya telah dibahas mengenai button Tambah Absen yang ditampilkan

oleh aplikasi client. Untuk menambah absen, dosen dapat meng-klik button

Tambah Absen. Aplikasi client akan merespon dengan menampilkan form

tambah absen. Selanjutnya dosen mengisi absen dengan field yang telah

ditentukan dan menekan tombol simpan. Aplikasi akan melakukan request

POST ke server terhadap data yang dimasukan dosen. Server menerima request

dan menyimpan data absen di database. Selanjutnya server akan memberi

respon kembali yang berisi data telah disimpan.

Dosen dapat mengubah data absen yang telah disimpan dengan meng-klik

tombol Ubah. Aplikasi client akan merespon dengan menampilkan data form

Ubah Absen Dosen. Dosen melakukan perubahan terhadap data tersebut

kemudian menekan tombol simpan. Setelah dosen menekan tombol simpan,

aplikasi client akan melakukan request PUT ke server untuk melakukan

perubahan data. Server akan menerima request tersebut dan mengubah data

yang ada di database. Setelah itu server akan memberi respon balikan. Berikut

merupakan gambar activity diagram mengelola absen dosen:

Page 119: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

89

Gambar 3.4. Activity diagram mengelola absen dosen

Page 120: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

90

4. Activity diagram menampilkan profil mahasiswa

Activity diagram menampikan profil mahasiswa ini terdapat pada aplikasi

validasi kehadiran dosen. Activity untuk menampilkan profil mahasiswa

diawali dengan mahasiswa meng-klik menu Profil yang ada di halaman utama

aplikasi. Selanjutnya aplikasi client akan mengirim request GET ke server

untuk data profil mahasiswa tersebut. Server menerima respon dari client dan

mengembalikan respon dengan data profil mahasiswa. Aplikasi client

menerima respon dan menampilkan data profil mahasiswa terserbut. Gambar

activity diagram untuk menampilkan profil mahasiswa disediakan pada gambar

3.5

Gambar 3.5. Activity diagram menampilkan profil mahasiswa

Page 121: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

91

5. Activity diagram validasi kehadiran dosen

Activity diagram validasi kehadiran dosen ini merupakan fitur utama dari

aplikasi validasi kehadiran dosen. Validasi diawali dengan mahasiswa meng-

klik menu validasi absen dosen yang ada pada menu utama aplikasi Validasi

Kehadiran Dosen. Aplikasi client akan mengirim request GET ke server untuk

data absen dosen berdasarkan mahasiswa yang meng-klik menu validasi.

Server akan merespon dengan data daftar absen dosen yang mencantumkan

mahasiswa tersebut sebagai validator. Selanjutnya aplikasi menampilkan daftar

validasi kehadiran dosen tersebut.

Untuk melakukan validasi mahasiswa harus mengklik salah satu absen dosen.

Aplikasi client akan mengirim requset GET detail absen dosen ke server.

Selanjutnya server akan menrespon dengan data detail absen dosen. Aplikasi

client akan menampilkan data detail absen dosen dan button validasi.

Mahasiswa meng-klik button Validasi dan aplikasi client akan mengirim

request PUT ke server terhadap data absen yang diminta. Server akan

melakukan perubahan data dan memberikan respon balik.

Page 122: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

92

Gambar 3.6. Activity diagram validasi kehadiran dosen

Page 123: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

93

3.2.1.4 Perancangan

Tahap kedua dari langkah kedua ini adalah perancangan sistem. Perancangan

sistem ini dibagi menjadi tiga bagian yaitu perancangan back-end API Siakad,

perancangan front-end sistem informasi kehadiran dosen, dan perancangan front-

end sistem informasi validasi kehadiran dosen. Pada penelitian ini lebih

menekankan pada perancangan back-end API Siakad.

A. Class Diagram

Dari hasil perencanaan yang menghasilkan user story dan use case, selanjutnya

akan digunakan untuk menggambarkan class diagram dari sistem ini. Berikut ini

merupakan class diagram dari sistem ini:

Page 124: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

94

Gambar 3.7. Class diagram

Page 125: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

95

Tabel 3.2. Keterangan Class Diagram

Nama Kelas Keterangan

Mahasiswa Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel mahasiswa

Dosen Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel dosen

PresensiDosen Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel PresensiDosen

JadwalMK Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel JadwalMk

JumlahSession Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel JumlahSession

MataKuliah Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel MataKuliah

StrataProgram Merupakan kelas data yang digunakanuntuk memproses segala pengaksesanterhadap tabel StrataProgram

ValidasiPresensiDosen Merupakan kelas proses yang diambildari usecase validasi kehadiran dosenoleh mahasiswa yang didalamnya harusmenangani proses mahasiswa mengubahdata status kehadiran dosen.

Page 126: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

96

Tabel 3.2. Keterangan Class Diagram (lanjutan)

Nama Kelas Keterangan

KinerjaDosen Merupakan kelas proses yang diambildari usecase mendapatkan kinerja dosenoleh sistem BKD yang didalamnya harusmenangani proses merespon clientdengan data kinerja dosen denganbeberapa atribut yang juga merupakanhasil perhitungan dari jumlah dosen,jumlah kehadiran dan jumlah mahasiswa.

MenghitungJumlahMahasiswa Merupakan kelas proses bagian dari kelaskinerjaDosen yang bertugas untukmenghitung jumlah mahasiswa.

MenghitungJumlahDosen Merupakan kelas proses bagian dari kelaskinerjaDosen yang bertugas untukmenghitung jumlah dosen.

MenghitungJumlahKehadiran Merupakan kelas proses bagian dari kelaskinerjaDosen yang bertugas untukmenghitung jumlah kehadiran dosen.

B. Design Web Service RESTFul API

Dalam menggambarkan web service RESTFull API dilakukan dalam beberapa

tahapan. Tahapan-tahapan tersebut antara lain:

Page 127: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

97

Gambar 3.8. Tahap perancangan back-end sistem informasi(Richardson, 2007)

Tahap pertama yaitu perancangan back-end sistem informasi. Tahap ini dilakukan

dalam beberapa tahap yaitu :

1. Indentifikasi resource melalui entitas yang ada

Pada tahap akan dilakukan identifikasi resource yang memiliki fungsi yang

akan menampilkan informasi yang diminta. Berdasarkan dari analisis

sebelumnya, berikut ini merupakan fungsi yang akan menjadi resource:

BKD

a. Kinerja dosen

Dosen

a. Profil dosen

b. Presensi dosen

Page 128: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

98

Mahasiswa

a. Profil mahasiswa

b. Validasi presensi dosen

2. Pemetaan URI untuk setiap resource yang ada

Setiap resource yang ada dikelompokan menurut aktor yang terlibat dalam

sistem ini. Selanjutnya penamaan URI untuk setiap resource yang ada

dilakukan berdasarkan identifikasi resource yang telah dilakukan, contoh:

/dosen/profil yang diperuntukan untuk menampilkan resource profil milik

aktor dosen.

Berdasarkan resource dari hasil identifikasi resource tersebut, selanjutnya akan

dilakukan pemetaan resource. Pemetaan dilakukan menggunakan template URI

pada Gambar 3.9.

Gambar 3.9. Template URI (Gregorio et al, 2012)

Page 129: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

99

Template tersebut terdiri dari beberapa bagian antara lain :

a. Domain

Domain pada sistem ini akan diambil dari nama-nama aktor yang terlibat.

Hanya ada tiga aktor yaitu sistem beban kerja dosen /bkd, dosen /dosen,

mahasiswa /mahasiswa. Domain ini diperlukan sebgai pengelompokan

resource berdasarkan aktifitas yang dilakukan. Hal ini dilakukan agar URI

yang dihasilkan mudah dipahami.

b. Resource

Penamaan resource diambil dari nama resource itu sendiri, misalkan

resource kinerja dosen pada aktor BKD URI menjadi bkd/kinerja_dosen.

c. Sub-resource

Sub-resource, beberapa entitas terdiri atas beberapa hirarki sehingga

diperlukan pengelompokan berdasarkan hirarkinya.

d. Parameter

Merupakan bagian yang terdapat pada URI yang menunjukan komponen

spesifik dari resource yang ada. Misal nomor mata kuliah (nomk) pada

validasi presensi dosen yang akan menunjukan detail dari satu buah presensi

dosen dengan nomor mk yang dijadikan sebagai parameter.

Berdasarkan gambaran penjelasan di atas, berikut merupakan hasil pemetaan

fungsi terhadap resource yang diperlukan dalam sistem yang akan dibuat.

Berikut merupakan tabel pemetaan URI yang akan digunakan:

Page 130: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

100

Tabel 3.3. Pemetaan URI BKD

No URI Deskripsi

1 /kinerja_dosen List kinerja dosen yang dihitung darikehadiran dosen

2 /kinerja_dosen/{nip} Detail kinerja dosen berdasarkan nip

Tabel 3.4. Pemetaan URI dosen

No URI Deskripsi

1 /presensi_dosen List Absen dosen

2 /presensi_dosen/{nomk} Detail absensi dosen

3 /profil Profil dosen

Tabel 3.5. Pemetaan URI Mahasiswa

No URI Deskripsi

1 /validasi_presensi_dosen Validasi_presensi_dosen

2 /profil Profil mahasiswa

3 Penentuan uniform interface yang digunakan

Perancangan uniform interface yang dibutuhkan untuk setiap resource

dilakukan pada tahap ini. Secara spesifik, pada tahap ini setiap resource telah

memiliki URI-nya masing-masing sehingga rancangan interface yang

digunakan secara teknis diberlakukan terhadap URI tersebut. REST

diimplementasikan dalam protokol HTTP. REST API melakukan request dan

response dengan menggunakan empat method HTTP yaitu GET, POST, PUT,

dan DELETE. Method GET digunakan untuk membaca atau mengambil

representasi dari resource.

Page 131: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

101

a. GET memberikan representasi resource dalam bentuk XML atau JSON

dengan response code 200 (OK). Jika terjadi error akan memberikan kode

respon 404 (NOT FOUND) atau 400 (BAD REQUEST).

b. POST digunakan untuk membuat resource baru. Selain digunakan untuk

membuat resource baru, POST juga dapat digunakan untuk mengubah

resource yang sudah ada bahkan juga dapat digunakan untuk mendapatkan

representasi dari resource. Kode respon yang diberikan apabila sukses

dalam membuat resource baru adalah 201 dan disertai dengan link ke atau

menampilkan resource yang baru dibuat.

c. PUT digunakan untuk mengubah resource yang sudah ada. Jika sukses

dalam melakukan perubahan terhadap resource maka server akan merespon

dengan kode 200.

d. DELETE digunakan untuk menghapus resource. Jika sukses dalam

menghapus resource maka server akan merespon dengan kode 200.

Untuk menentukan method apa saja yang akan digunakan oleh suatu resource

yang diwakili oleh URI, penulis menggunakan beberapa pertanyaan berikut :

1. Apakah klien dapat membuat resource baru dari URI ini? Pertanyaan ini

digunakan untuk mengidentifikasi apakah URI harus menggunakan method

POST atau tidak.

2. Apakah klien dapat mengubah resource ini? Pertanyaan ini digunakan untuk

mengidentifikasi apakah URI harus menggunakan method PUT atau tidak.

3. Apakah klien dapat menghapus resource ini? Pertanyaan ini digunakan

untuk mengidentifikasi apakah URI harus menggunakan method DELETE

atau tidak.

Page 132: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

102

4. Apakah klien dapat mengambil representasi resource dari resource ini?

Pertanyaan ini digunakan untuk mengidentifikasi apakah URI harus

menggunakan method GET atau tidak.

Setiap URI diberikan pertanyaan-pertanyaan berikut sehigga akan

teridentifikasi method apa saja yang akan diterapkan dari URI tersebut. Tabel

3.6 berikut ini URI dan method yang digunakan.

Tabel 3.6. Method pada URI BKD

URI Method Deskripsi

/kinerja_dosen GET Mendapatkan list kinerja dosen

/kinerja_dosen/{nip} GET Mendapatkan kinerja dosenberdasarkan nip

Tabel 3.7. Method pada URI dosen

URI Method Deskripsi

/presensi_dosen GET List absen dosen

/presensi_dosen POST Menambah absen

/presensi_dosen/{nomk} GET Detail absensi dosen

/presensi_dosen/{nomk} PUT Mengubah absen

/profil GET Profil dosen

Tabel 3.8 Method pada URI mahasiswa

URI Method Deskripsi

/validasi_presensi_dosen GET Validasi presensi dosen

/validasi_presensi_dosen/ {nomk} GET Detail validasi presensidosen

/validasi_presensi_dosen/{nomk}/validating

PUT Melakukan validasipresensi dosen

/profil GET Profil mahasiswa

Page 133: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

103

4. Perancangan format representasi

Tahap perancangan format representasi ini merupakan tahap untuk menetukan

data yang akan dikirim client ke server serta data yang akan dikembalikan dari

server ke client. Berikut penjelasan data yang dikirim dari client ke server dan

sebaliknya.

a. Client ke server

Tahap ini merupakan tahap menentukan entitas-entias apa saja yang harus

dikirim dari client ke server untuk sebuah request menggunakan sebuah

URI. Perancangan ini bertujuan untuk memudahkan client untuk

mengetahui entitas apa saja yang harus dikirim dalam sebuah request.

Method yang menggukan entitas untuk dikirim adalah method POST dan

PUT.

Rancangan ini dapat diturunkan dari desain basis data yang dihasilkan dari

tahap sebelumnya sehingga struktur yang dikirim ke server saat melakukan

request memiliki karakter yang mirip dengan struktur tabelnya tetapi tidak

identik.

b. Server ke client

Format representasi yang dikembalikan dari server kepada klien berupa

representasi dari resource. Perancangan ini diperlukan guna menentukan

data apa saja yang akan diberikan oleh server.

Page 134: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

104

Proses yang terjadi saat client melakukan beberapa operasi terhadap server

serta bagaimana server meresponnya dapat dilihat dari beberapa ilustrasi di

bawah.

Gambar 3.10. Ilustrasi request dan response untuk mendapatkan data kinerjadosen

Gambar 3.10 merupakan contoh ilustrasi dari request dan response dari server

untuk mendapatkan resource kinerja dosen. Client mengirim data NIP dosen,

tahun dan semester yang dilanjutnkan dengan response dari server yang berupa

data kinerja dosen seperti kode mata kuliah, nama mata kuliah, kredit, jumlah

dosen, jumlah mahasiswa dan jumlah kehadiran.

Page 135: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

105

Gambar 3.11. Ilustrasi request dan response data untuk mendapatkan listpresensi dosen

Gambar 3.11 merupakan ilustrasi request dan response untuk mendapatkan list

presensi dosen. Presensi dosen didapat dengan menggunakan NIP yang didapat

dari token user yang di-generate sebelumnya. Response dari server berupa id,

nama dosen, nomor mata kuliah, NPM, status, pokok bahasan, tema dan

tanggal.

Page 136: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

106

Gambar 3.12. Ilustrasi request dan response data untuk menambah absen dosen

Gambar 3.12 merupakan ilustrasi request dan response dimana client mengirim

post ke server untuk kepentingan absen dosen. Post disini menandakan bahwa

client meminta untuk data yang dikirim ditambahkan ke tabel presensi dosen.

Client harus mengirim data body antara lain nomor mata kulaih, NIP dosen,

pokok bahasan, tema, tanggal dan resume singkat.

Page 137: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

107

Gambar 3.14 Ilustrasi request dan response data untuk validasi absen dosen

Gambar 3.14 merupakan request client untuk mengubah absen dosen yang

telah di masukan sebelumnya. Ini merupakan proses validasi oleh mahasiswa.

Apabila sukses, server akan merespon dengan data presensi dosen yang akan

diubah statusnya.

5. Integrasi dari satu resource dengan resource lainnya menggunakan hypermedia

Integrasi resource yang satu dengan lainnya diwujudkan menggunakan konsep

HATEOAS. Resource yang memiliki hubungan dengan resource lainnya akan

memiliki entitas berupa hypermedia yang berisi URI dari resource rujukannya

tersebut. Hubungan antara resource satu dengan lainnya digambarkan pada

elemen rel pada hypermedia yang ada.

Page 138: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

108

Implementasi hypermedia dilakukan untuk mengurangi kesalahan yang

ditimbulkan oleh client terutama pada format URI dari suatu resource yang

dikirimkan. Selain itu, manfaat utama yang dapat diperoleh adalah pengubahan

yang dilakukan terhadap sistem yang ada dapat dilakukan lebih terisolasi dan

terkontrol, karena URI yang berisi rujukan terhadap suatu resource ditangani

seluruhnya oleh server. Hal tersebut memungkinkan penambahan atau

pengurangan terhadap rujukan/fitur dari suatu resource menjadi lebih mudah.

6. Perancangan kode response dari server

Perancangan kode respon dilakukan sebagai rujukan dari komunikasi yang

terjadi antara client dengan server. Rancangan kode respon yang digunakan

pada penelitian adalah:

Tabel 3.9. Kode respon dari server untuk operasi dengan method GET

Kode Deskripsi

200 Resource yang dituju ada

204 Resource yang dituju ada tapi tidak memiliki konten

401 Operasi tidak dapat dilakukan karena klien tidak memilikiotoritas

404 Resource yang dituju tidak ada

500 Terjadi kesalahan lain di server

Tabel 3.10. Kode respon dari server untuk operasi dengan method PUTKode Deskripsi

200 Resource berhasil diubah

401 Operasi tidak dapat dilakukan karena klien tidak memilikiotoritas

Page 139: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

109

Tabel 3.10. Kode respon dari server untuk operasi dengan method PUT(lanjutan)Kode Deskripsi

404 Resource yang dituju tidak ada

409 Resource tidak dapat diubah karena konflik dengan resourcelain

415 Server tidak mendukung format representasi yang dikirim

500 Terjadi kesalahan lain di server

Tabel 3.11. Kode respon dari server untuk operasi dengan method POSTKode Deskripsi

200 Resource berhasil dibuat

400 Representasi yang dikirim memiliki format yang salah

401 Operasi tidak dapat dilakukan karena klien tidak memilikiotoritas

404 Resource yang dituju tidak ada

409 Resource tidak dapat diubah karena konflik dengan resourcelain

415 Server tidak mendukung format representasi yang dikirim

500 Terjadi kesalahan lain di server

Tabel 3.12. Kode respon dari server untuk operasi dengan method DELETEKode Deskripsi

200 Resource berhasil dihapus

401 Operasi tidak dapat dilakukan karena klien tidak memilikiotoritas

404 Resource yang dituju tidak ada

500 Terjadi kesalahan lain di server

Dari tahapan-tahapan tersebut, penulis dapat menggambarkan web service

RESTFull API ke dalam diagram model web service. Berikut merupakan

gambar dari diagram web service:

Page 140: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

110

Gambar 3.15. Diagram Model Web Service

Page 141: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

111

C. Sequence Diagram

Berikut adalah sequence diagram dari API Siakad:

Use Case: Mendapatkan Kinerja Dosen

Untuk mendapatkan kinerja dosen harus mengirim beberapa parameter

antara lain NIP, tahun, dan semester. Sequence diagram disajikan dalam

Gambar 3.16.

Use Case: Profil Dosen

Gambar sequence diagram untuk profil dosen disajikan pada Gambar 3.17.

Use Case: Mengelola Kehadiran Dosen oleh Dosen

Pada use case ini di-include oleh tiga use case yaitu mendapatkan daftar

hadir dosen, melakukan absen dan mengubah daftar hadir dosen. Dosen

dapat melihat daftar absen yang telah dilakukan. Gambar 3.18 menyajikan

sequence diagram daftar hadir dosen. Selanjutnya dosen dapat melakukan

absen. Pada proses absen, client akan melakukan request POST dengan

data berupa NPM mahasiswa yang akan melakukan validasi, pokok

bahasan dan tanggal. Gambar 3.19 merupakan gambar sequence diagram

untuk menerima absen dosen di server. Selanjutnya dosen juga dapat

melakukan perubahan jika terjadi kesalahan pengetikan (human error)

pada saat melakukan absensi.

Page 142: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

112

Gambar 3.16. Sequence diagram mendapatkan kinerja dosen

Page 143: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

113

Gambar 3.17. Sequence diagram profil dosen

Page 144: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

114

Gambar 3.18. Sequence diagram server menerima request daftar hadir dosen dan merespon dengan list daftar hadir

Page 145: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

115

Gambar 3.19. Sequence diagram server menerima request tambah absen

Page 146: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

116

Gambar 3.20. Sequence diagram server menerima request ubah data absen

Page 147: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

117

Use Case: Profil Mahasiswa

Ini merupakan fitur tambahan untuk sistem validasi kehadiran dosen.

Dimana mahasiswa dapat melihat profil dari mahasiswa itu sendiri.

Gambar 3.21 merupakan gambar sequence diagram dimana server

menerima request untuk menampilkan profil mahasiswa.

Use Case: Validasi Kehadiran Dosen

Fitur utama pada sistem validasi kehadiran dosen adalah melakukan

validasi terhadap absen yang telah dilakukan dosen. Terdapat dua use case

di dalam validasi kehadiran dosen ini yaitu menampilkan data kehadiran

dosen. Gambar 22 merupakan sequence diagram pada server dalam

menanggapi response yang meminta daftar absensi dosen.

Sedangkan untuk melakukan validasi kehadiran dosen, klien mengakses

URI untuk mengubah validasi kehadiran dosen. Berikut merupakan

sequence diagram untuk mengubah status kehadiran dosen atau dengan

kata lain melakukan validasi terhadap absen dosen yang disajikan pada

Gambar 3.23.

Page 148: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

118

Gambar 3.21. Sequence diagram server menerima request untuk menampilkan profil mahasiswa dengan response profilmahasiswa

Page 149: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

119

Gambar 3.22. Sequence diagram server menerima request untuk merepresentasikan resource presensi dosen berdasarkanNPM mahasiswa

Page 150: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

120

Gambar 3.23. Sequence diagram server menanggapi request validasi absen

Page 151: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

121

Memasuki tahap selanjutnya yaitu perancangan front-end untuk sistem

kehadiran dosen dan validasi kehadiran dosen. Pada tahap ini akan dibuat

antarmuka sistem kehadiran dosen dan validasi kehadiran dosen.

D. Perancangan Antarmuka Sistem Kehadiran Dosen

Perancangan antarmuka ini dilakukan untuk merancang tata letak sistem sesuai

dengan analisis kebutuhan sistem. Antarmuka yang dirancang untuk sistem ini

adalah sebagai berikut.

Gambar 3.24. Antarmuka sistem presensi dosen

Page 152: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

122

i. Landing Page

Gambar 3.25. Landing page

Pada tampilan landing page dari aplikasi terdapat beberapa bagian yaitu

tombol login yang akan membawa pengguna pada form login (LP1).

Tombol info yang akan membawa pengguna pada halaman info aplikasi

(LP2). Logo dari aplikasi (LP3). Dan nama dari aplikasi (LP4).

Page 153: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

123

ii. Login

Gambar 3.26. Login form

Pada tampilan login form ini terdapat beberapa bagian yaitu LF1

merupakan form untuk Input username. LF2 form untuk Input password.

LF3 merupakan form submit atau button login. LF4 merupakan button

cancel atau untuk membatalkan login.

Page 154: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

124

iii.Home

Gambar 3.27. Home

Gambar 3.27 merupakan tampilan untuk home aplikasi. Terdapat beberapa

bagian pada home yang pertama adalah logo pada tab bar aplikasi (HH1).

Ejaan “HOME” yang menunjukkan bahwa ini merupakan page home

(HH2). Pengumuman, ini merupakan fitur yang diambil dari Siakad web

Universitas Lampung, apabila pengguna telah melakukan login maka

halaman utama dari Siakad web memuat pengumuman (HH3). Terdapat

beberapa menu di bagian bawah pengumuman, setiap menu terdiri dari

gambar menu (HH4) dan keterangan menu (HH5).

Page 155: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

125

iv. Jadwal Dosen

Gambar 3.28 Jadwal dosen

Gambar 3.28 merupakan antarmuka dari jadwal dosen. Pada antarmuka ini

juga memiliki logo pada tab bar (JD1). Selanjutnya image yang

menggambarkan menu jadwal dosen (JD2). Setelah gambar jadwal

selanjutnya terdapat bagian dimana pengguna dapat melakukan filter

terhadap jadwal dosen. Filter yang pertama adalah tahun ajaran (JD3),

semester (JD4) dan tombol filter (JD5). Di bagian bawah filter terdapat list

jadwal dosen dengan rincian waktu mengajar (JD6), informasi nama

dosen, matakuliah dan kelas (JD7), dan kode mata kuliah (JD8).

Page 156: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

126

v. Presensi Dosen

Gambar 3.29. Presensi Dosen

Hampir sama seperti antarmuka jadwal dosen pada bagian tab bar dan

gambar menu presensi dosen (PD1 dan PD2). Sedangkan untuk posisi

filter diganti dengan informasi jadwal mata kuliah seperti nama dosen,

nama mata kuliah (PD3). Pada bagian inti terdapat deretan absen dosen

dengan rincian, waktu absen (PD4), keterangan perkuliahan (PD5) dan

status validasi oleh mahasiswa (PD6). Sedangkan untuk menambah absen

dosen dapat dilakukan dengan menekan tombol absen dosen (PD7).

Page 157: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

127

vi. Tambah Absen Dosen

Gambar 3.30. Form tambah absen dosen

Form tambah absen dosen disajikan pada Gambar 3.30. Form ini berisi

field tanggal (FA4). Tema materi pada saat absen (FA5). Resume singkat

tentang perkuliahan (FA6). Mahasiswa yang akan melakukan validasi

(FA7) dan button untuk submit absensi (FA8).

Page 158: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

128

vii. Ubah Absen Dosen

Gambar 3.31. Form ubah absen dosen

Sangat identik dengan form tambah absen dosen, hanya saja field pada

ubah absen dosen sudah akan terisi data yang telah ditambah sebelumnya.

E. Perancangan Antarmuka Sistem Validasi Kehadiran Dosen

Untuk perancangan tata letak sistem validasi kehadiran dosen pada dasarnya

memiliki banyak kesamaan dengan sistem presensi dosen. Berikut rancang

antar muka sistem validasi kehadiran dosen:

Page 159: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

129

Gambar 3.32. Antar Muka Sistem Validasi Kehadiran Dosen

Page 160: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

130

i. Landing Page

Gambar 3.33. Landing Page Mahasiswa

Pada desain antarmuka landing page untuk sistem validasi kehadiran

dosen memiliki tataletak yang sama dengan sistem presensi dosen.

Page 161: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

131

ii. Login

Gambar 3.34. Login Form Mahasiswa

Begitu juga dengan halaman form login. Tata letaknya menyerupai,

bahkan identik dengan sistem kehadiran dosen. Perbedaan terdapat pada

fungsi serta API yang akan diakses.

Page 162: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

132

iii.Home

Gambar 3.35. Home Page Mahasiswa

Pada home page sistem validasi kehadiran dosen memilki konsep tata letak

yang sama. Perbedaan akan terlihat pada menu, menu yang disajikan di

sini sesuai dengan privilage yang didapat oleh mahasiswa. Dalam kasus ini

hanya dapat melakukan validasi kehadiran.

Page 163: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

133

iv. Presensi Dosen

Gambar 3.36. Presensi Dosen Mahasiswa

Tampilan di bagian ini juga sama, hanya untuk absensi yang akan tampil

itu berdasarkan NPM milik mahasiswa. Jadi apabila dosen menunjuk

mahasiswa tersebut, maka ia akan mendapat list presensi dosen.

Page 164: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

134

v. Validasi Absen Dosen

Gambar 3.37. Validasi Presensi Dosen

Bagian validasi kehadiran dosen inilah yang tidak ada di sistem kehadiran

dosen. Memiliki konsep yang mirip dengan tambah kehadiran dosen, tetapi

pada form diubang dengan informasi perkuliahan seperti tanggal (Vm4),

tema materi perkulahan hari itu (Vm5), resume singkat tentang materi

perkuliahan hari itu (Vm6), dan tombol validasi kehadiran dosen (Vm7).

3.2.1.5 Penulisan Kode Program

Pada tahap ini akan dilakukan pembuatan program (coding), tahap coding

dilakukan dengan mengimplementasikan permasalahan ke dalam sistem. Pada

proses pembuatan koding ini dibagi menjadi dua sesi yaitu pembuatan koding

Page 165: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

135

untuk back-end atau RESTFul API dan untuk front-end sistem kehadiran dosen

dan validasi kehadiran dosen. Untuk back-end menggukan bahasa pemrograman

yang menyesuaikan dengan Siakad Universitas Lampung yaitu python. Dengan

framework Django 1.5. Untuk RESTFul menggunakan Django Rest Framework

3.1.

Sedangkan untuk client atau sistem presensi dosen menggunakan bahasa

pemrograman java dengan bantuan android studio. Hal yang sama digunakan

untuk membuat sistem validasi kehadiran dosen. Untuk database menggunakan

postgresql yang sama dengan yang digunakan Siakad Universitas Lampung.

3.2.1.6 Pengujian

Sistem akan diuji dengan menggunakan data contoh (dummy) yang

merpresentasikan aktifitas kegiatan penelitian dengan database yang identik

dengan database Siakad Universitas Lampung. Pengujian yang dilakukan akan

dilakukan secara sederhana yaitu pengujian black box terhadap seluruh fungsi

yang tersedia pada back end sistem (API Siakad). Pengujian API akan dilakukan

dengan Addon Postman milik Google Chrome. Pengujian yang akan dilakukan

terhadap RESTFul API Siakad terdiri atas:

i. Pengujian terhadap keberhasilan transaksi yang dilakukan antara client dan

back-end sistem informasi. Pengujian dilakukan dengan melakukan request

dan melihat hasil response.

ii. Pengujian terhadap kode response yang diberikan oleh server terhadap situasi

tertentu.

Page 166: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

136

Sedangkan pengujian yang akan dilakukan terhadap front-end Sistem Kehadiran

Dosen dan Sistem Validasi Kehadiran Dosen menggunakan metode Equivalence

Partitioning yang selanjutnya disebut EP. Metode EP akan membagi domain

masukan kedalam kelas kelas sehingga test case dapat diperoleh. EP berusaha

untuk mendefinisikan kasus uji yang menemukan sejumlah kesalahan dan

mengurangi jumlah kasus uji yang harus dibuat.

Alasan menggunakan metode EP adalah karena metode ini dapat digunakan untuk

mencari kesalahan pada fungsi, dapat mengetahun kesalahan pada interface dan

kesalahan terhadap struktur data sehingga dapat mengurangi masalah terhadap

nilai masukan. Rancangan daftar pengujian disajikan pada Tabel 3.13.

Tabel 3.13. Daftar Rancangan Pengujian EP Untuk Front-End Kehadiran Dosen

NoKelas

UjiDaftar

PengujianSkenario Uji

Hasil yangdiharapkan

1 UserInterface

Pengujian padaicon aplikasidaftar kehadirandosen

Klik icon padaperangkat androidpengguna

Menampilkan layoutsplashscreen dandilanjutkan denganmenampilkan menulanding page

2 Fungsipadalandingpage

Pengujian padatombol login

Klik pada tombollogin

Menampilkan formlogin

Pengujian padatombol about

Klik pada tombolabout

Menampilkanhalaman tentangaplikasi

Page 167: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

137

Tabel 3.13. Daftar Rancangan Pengujian EP Untuk Front-End Kehadiran Dosen(lanjutan)

NoKelas

UjiDaftar

Pengujian Skenario UjiHasil yangdiharapkan

3 FungsipadaFormLogin

Input data loginyang sesuaidengandatabase

Username={npm};

Password={password}

Menampilkan menuutama

Input data loginyang tidaksesuai dengandatabase

Username={npm};

Password={password}

Menampilkan toastyang berisiinformasi usernamedan password salah

Input datausername tetapitidak Input datapassword

Username={npm};

Password={NaN}

Field passwordakan berubah warnadan menampilkaninformasi passwordharus diisi tepatdibawah fieldpassword

Input datapassword tetapitidak Input datausername

Username={NaN};

Password={password}

Field usernameakan berubah warnadan menampilkaninformasi usernameharus diisi tepatdibawah fieldusername

Page 168: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

138

Tabel 3.13. Daftar Rancangan Pengujian EP Untuk Front-End Kehadiran Dosen(lanjutan)

NoKelasUji

DaftarPengujian Skenario Uji

Hasil yangdiharapkan

Tidak Input datausername danpassword

Username={NaN};

Password={NaN}

Field usernamedan passwordakan berubahwarna danmenampilkaninformasipassword danusername harusdiisi tepat dibawah fieldusername danusername

Fungsipadamenuutama

Pengujian padamenu absensidosen

Klik pada menu absensidosen

Menampilkanhalaman listjadwal dosen

Fungsipadahalamanjadwaldosen

Pengujian padacari jadwaldosen

Memilih tahun ajarandan semester

List jadwaldosen

Pengujian padalist jadwal dosen

Klik jadwal dosen

Menampilkanhalaman absendosenberdasarkanjadwal dan matakuliah yangdipilih

Page 169: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

139

Tabel 3.13. Daftar Rancangan Pengujian EP Untuk Front-End Kehadiran Dosen(lanjutan)

No Kelas Uji DaftarPengujian

Skenario Uji Hasil yangdiharapkan

Fungsipadahalamanlist absendosen

Pengujian padalist absen dosen

Klik pada absensidosen

Menampilkanhalaman editabsensi dosen

Pengujian padatombol tambahabsensi dosen

Klik pada tomboltambah di halaman listabsen dosen

Menampilkanhalaman formtambah absendosen

Fungsipadaformtambahabsendosen

Input data absendosen

Tanggal={tanggal};

Tema={tema perkuliahan hariini}

Resume={Resumesingkat materi hari ini}

Validator={Pilih npmmahasiswa}

Menampilkandata berhasil diInput dan akantampil halamanlist absen dosendengantambahan absenyang baru.

Tidak memilihatau meng-Inputdata absen dosen

Tanggal={NaN};

Tema={NaN}

Resume={NaN}

Validator={NaN}

Akan tampilketerangan harusmengInput ataumemilih datapada setiap field.

Tidak memilihtanggal

Tanggal={NaN};

Tema={temaperkuliahan hari ini}

Resume={Resumesingkat materi hari ini}

Validator={Pilih npmmahasiswa}

Akan tampilketerangan harusmemilih tanggal

Page 170: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

140

Tabel 3.13. Daftar Rancangan Pengujian EP Untuk Front-End Kehadiran Dosen(lanjutan)

No Kelas Uji DaftarPengujian

Skenario Uji Hasil yangdiharapkan

Tidak memilihvalidator

Tanggal={Tanggal};

Tema={temaperkuliahan hari ini}

Resume={Resumesingkat materi hari ini}

Validator={NaN}

Akan tampilketerangan harusmemilihvalidator

Tidakmemasukantemaperkuliahan

Tanggal={tanggal};

Tema={NaN}

Resume={Resumesingkat materi hari ini}

Validator={Pilih npmmahasiswa}

Tampilketerangan harusmemasukantema perkuliahan

Tidakmemasukanresume singkat

Tanggal={tanggal};

Tema={temaperkuliahan hari ini}

Resume={NaN}

Validator={Pilih npmmahasiswa}

Tampilketerangan harusmemasukanresume singkat

Tabel 3.14 Daftar Rancangan Pengujian EP untuk front-end Validasi KehadiranDosenNo Kelas Uji Daftar

PengujianSkenarioUji

Hasil yang diharapkan

1 User InterfacePengujian padaicon aplikasivalidasikehadiran dosen

Klik iconpadaperangkatAndroidpengguna

Menampilkan layoutsplashscreen dandilanjutkan denganmenampilkan menulanding page

Page 171: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

141

Tabel 3.14 Daftar Rancangan Pengujian EP untuk front-end Validasi KehadiranDosen (lanjutan)No Kelas Uji Daftar

PengujianSkenario Uji Hasil yang

diharapkan2 Fungsi pada

landingpage

Pengujianpada tombollogin

Klik pada tombol loginMenampilkan formlogin

Pengujianpada tombolabout

Klik pada tombolabout

Menampilkanhalaman tentangaplikasi

3 Fungsi padaForm Login Input data

login yangsesuaidengandatabase

Username={npm};Password={password}

Menampilkan menuutama

Input datalogin yangtidak sesuaidengandatabase

Username={npm};Password={password}

Menampilkan toastyang berisi informasiusername danpassword salah

Input datausernametetapi tidakInput datapassword

Username={npm};Password={NaN}

Field password akanberubah warna danmenampilkaninformasi passwordharus diisi tepatdibawah fieldpassword

Input datapasswordtetapi tidakInput datausername

Username={NaN};Password={password}

Field username akanberubah warna danmenampilkaninformasi usernameharus diisi tepatdibawah fieldusername

Tidak Inputdatausernamedanpassword

Username={NaN};Password={NaN}

Field username danpassword akanberubah warna danmenampilkaninformasi passworddan username harusdiisi tepat dibawahfield username danusername

Page 172: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

142

Tabel 3.14 Daftar Rancangan Pengujian EP untuk front-end Validasi KehadiranDosen (lanjutan)No Kelas Uji Daftar

PengujianSkenarioUji

Hasil yang diharapkan

Fungsi padamenu utama

Pengujian padamenu valiasiabsensi dosen

Klik padamenuvalidasiabsensidosen

Menampilkan halaman listabsensi dosen

Fungsi padahalaman listabsensi dosen

Pengujian padalist pabsensidosen

Klik padaabsen dosen

Menampilkan halamaninformasi perkuliahanpada tanggal itu

Pengujian padabutton validasi

Klik buttonvalidasi

Menampilkan informasibahwa absensi telahtervalidasi dan kembali kelist absen dosen

Page 173: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

BAB V

SIMPULAN DAN SARAN

5.1 Simpulan

Dari hasil penelitian yang dilakukan penulis dapat mengambil kesimpulan

sebagai berikut:

1. Telah berhasil dikembangkan Web Aplication Programming Interface Siakad

Universitas Lampung untuk data kinerja dosen bidang pendidikan.

2. Web Aplication Programming Interface Universitas Lampung telah berhasil

menampilkan resource yang merupakan representasi dari data yang ada di

Siakad khususnya data yang berkaitan dengan data kinerja dosen.

3. Resource pada Web Aplication Programming Interface Siakad Universitas

Lampung telah berhasil digunakan oleh sistem presensi dosen pada setiap

sesi perkuliahan berbasis Android.

4. Resource pada Web Aplication Programming Interface Siakad Universitas

Lampung telah berhasil digunakan oleh Sistem Beban Kerja Dosen berbasis

Website dengan bahasa pemrograman PHP.

5. Berdasarkan pengujian Equivalence Partitioning, Web Aplication

Programming Interface Siakad Universitas Lampung telah berhasil

Page 174: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

271

menampilkan resource, code response dan method yang telah ditetapkan pada

saat perancangan.

6. Berdasarkan dari hasil pengujian non fungsional pada penilaian variabel

information and application, interactifity, trust, response time, easy to

understanding, visual, innovationess and emotional appeal, consistent image

and color aplikasi presensi dosen termasuk ke dalam kategori “Sangat Baik”.

5.2 Saran

Berdasarkan perancangan dan hasil dari implementasi program sistem yang

dilakukan, maka beberapa saran dan harapan penulis adalah sebagai berikut:

1. Web Application Programming Interface ini masih menggunakan server yang

dirancang identik dengan server Siakad, untuk pengembangan selanjutnya

dapat diimplementasikan di server Siakad Universitas Lampung yang

sesungguhnya.

2. Web Application Programming Interface ini sudah menggunakan Oauth2

untuk otentikasi pengguna sehingga dapat digunakan client (aplikasi lain)

yang membutuhkan data Siakad Universitas Lampung, untuk pengembangan

sistem informasi lain yang berhubungan Universitas Lampung dan

membutuhkan data dari Siakad Universtias Lampung dapat menggunakan Web

Application Programming Interface ini.

3. Oauth2 yang diterapkan pada Web Application Interface ini juga dapat

Page 175: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

272

dikembangkan ke Sign Singgle On Application, dimana semua aplikasi yang

ada di Unila seperti Sistem BKD, Sistem KKN, Siakad dan beberapa sistem

lainnya dapat diakses dengan satu login yang sama.

4. Sistem presensi dosen untuk setiap sesi perkuliahan hanya compatible pada

platform Android, untuk pengembangan selanjutnya dapat dikembangakan ke

platform IOS dan Windows Phone.

5. Dari Web Application Programming Interface Siakad Universitas Lampung ini

dapat dikembangkan Sistem Informasi Akademik Universitas Lampung ke

platform mobile seperti Android, IOS, dan Windows Phone.

Page 176: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

DAFTAR PUSTAKA

Aisa, S. 2016. Implementation Raspberry Pi Using Provate Cloud For Accessing

Personal Data. Jurnal Penelitian Pos dan Informatika. Vol. 6(2): 137-152.

Alfatta, H. 2007. Analisis dan Perancangan Sistem Informasi. Yogyakarta:

Penerbit ANDI.

Allamaraju, S. 2010. RESTful Web Services Cookbook. California: O‟Reilly.

Andry. 2011. Android A sampai Z. Jakarta: Pcplus.

Azwar, S. 2011. Sikap dan Perilaku Dalam: Sikap Manusia Teori dan

Pengukurannya 2nd ed. Yogyakarta: Pustaka Pelajar.

Bennett, J. 2009. Practical Django Projects. United States of America: Apress.

Berners, LT, Fielding R, & Mesinter L. 2005. Uniform Resource Identifier (URI):

Generic Syntax. The Internet Engineering Task Force (IETF), RFC3986.

Booth, D., Haas, H., McCabe, F., Newcomer, E., Michael, C., Ferris, C., &

Orchard D. (2004). Web Services Architecture - W3C Working Group Note

11 February 2004. [Online]. Tersedia: https://www.w3.org/. Diakses pada

tanggal 21 Februari 2017.

Breitman, K, MA Casanova, W Truszkowski. 2007. Semantic Web: Concepts,

Technologies and Applications. London: Springer.

Developers, Android. 2014. Android Developers. [Online]. Tersedia:

http://developer.android.com/index.html. Diakses pada tanggal 21 April

2017.

Deviana, Hartati. 2011. Penerapan XML Web Service Pada Sistem Distribusi

Barang. Jurnal Generic. Politeknik Negeri Sriwijaya. Palembang. Vol. 6(2):

61-70.

Fielding, Roy Thomas. 2000. Architectural styles and the design of network-

based software architectures. Doctoral Dissertation. California: University

of California, Irvine.

Page 177: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

Fielding, Roy Thomas, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T.

Barners Lee. 1999. Hypertext Transfer Protocol (HTTP/1.1). RFC2616.

Filho OFF, Ferreira MAGV. 2009. Semantic Web Service: A RESTful Approach.

University of São Paulo, Polytechnic School São Paulo, Brazil.

Gottschalk, K., S. Graham, H. Kreger, & J. Snell. 2002. Introduction to Web

Services Architecture. IBM systems Journal. Vol. 41(2): 170-177.

Group, PostgreSQL Global Development. 1996. PostgreSQL History. [Online] .

Tersedia: https://www.postgresql.org/. Diakses pada tanggal 21 April 2017.

Hammer, Eran. 2009. OAuth. [Online]. Tersedia: http://hueniverse.com/oauth/.

Diakses pada tanggal 21 April 2017

Hardt, D. 2012. The OAuth 2.0 Authorization Framework. [Online]. Tersedia:

http://tools.ietf.org/html/draft-ietf-oauth-v2-31. Diakses pada tanggal 21

April 2017.

Higashino, WA, Toledo BF, Capretz MAM. 2009. REST and Resource Oriented

Architecture. Proceedings First International Symposium on Services

Science ISSS’09. Berlin.

Kementrian Pendidikan dan Kebudayaan RI. 2012. Pedoman Beban Kerja Dosen

dan Evaluasi Pelaksanaan Tridharma Perguruan Tinggi. Direktorat Jendral

Pendidikan Tinggl. Departemen Pendidikan Nasional. Jakarta.

Komarudin, Muhamad, Bayu Wicaksono, dan Tomy Pratama Zuhelmi. 2011.

Pengembangan Sistem Informasi Manajemen Beban Kerja Dosen. Journal

of Research in Science Teaching. Bandar Lampung: Universitas Lampung.

Vol. 43(5): 485-499.

Lee, W. M. 2011. Beginning Android Application Development. New York City:

Wiley Publishing, Inc.

Matthew, N, & Stones R. 2005. Beginning Databases with PostgreSQL. Ed ke-2.

New York: Springer-Verlag, Inc.

Pautasso, C, O Zimmermann, F Leymann. 2008. RESTful Web Services vs. "Big"

Web Services: Making the Right Architectural Decision. WWW 2008

/Refereed Track: Web Engineering - Web Services Deployment. Beijing,

China.

Page 178: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

PostgreSQL Global Development Group. 2009. PostgreSQL 8.4.1.4

Documentation [internet]. http://www.postgresql.org/files/documen tation

[31Jan 2017].

PostgreSQL. 2012. The World‟s Most Advanced Open Source Database

[internet]. http://www.postgresql.org/ [31 januari 2017].

PostgreSQL, Wiki. 2017. Documentation PostgreSQL. [Online]. Tersedia:

https://wiki.postgresql.org/. Diakses pada tanggal 21 April 2017.

Pressman, R. S. 2012. Rekayasa Perangkat Lunak: Pendekatan Praktisi. New

York: McGraw-Hill Companies, Inc.

Pressman, Roger S. 2001. Software Engineering A Practitioner’s Approach Fifth

Edition. , New York: McGraw-Hill Companies, Inc.

Pressman, Roger S. 2010. Software Engineering A Practitioner’s Approach 7th

Edition. , New York: McGraw-Hill Companies, Inc.

Psycopg. 2001. Psycopg – PostgreSQL database adapter for Python. [Online].

Tersedia: http://initd.org/psycopg/. Diakses pada tanggal 21 April 2017.

Richardson, L., & Ruby S. 2008. „RESTful web services’. “ O'Reilly Media, Inc.”

Roth, George. 2009. RESTful HTTP in practice. [Online]. Tersedia:

https://www.infoq.com. Diakses pada tanggal 21 April 2017.

Safaat, H, Nazruddin. 2012. (Edisi Refisi) Pemrograman Aplikasi Mobile

Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika.

Simarmata, J. 2010. Rekayasa Perangkat Lunak. Yogyakarta: Penerbit Andi.

Sugiarti, Y. 2013. Analisis &Perancangan UML (Unified Modelling Language)

Generated VB.6. Yogyakarta: Graha Ilmu.

Undang-Undang Republik Indonesia Nomor 12 Tahun 2012 Pendidikan Tinggi.

2012. Lembaran Negara Republik Indonesia Tahun 2012 Nomor 5336.

Jakarta.

Undang-Undang Republik Indonesia Nomor 14 Tahun 2005 Guru dan Dosen. 30

Desember 2005. Lembaran Negara Republik Indonesia Tahun 2005 Nomor

157. Jakarta.

Page 179: PENGEMBANGAN WEB API SIAKAD UNIVERSITAS LAMPUNG …digilib.unila.ac.id/29434/3/SKRIPSI TANPA BAB PEMBAHASAN.pdflampung untuk data kinerja bidang pendidikan dosen (skripsi) rahmat widodo

Undang-Undang Republik Indonesia Nomor 20 Tahun 2003 Sistem Pendidikan

Nasional. 8 Juli 2003. Lembaran Negara Republik Indonesia Tahun 2003

Nomor 4301. Jakarta.

Rossum, Guido van. 1993. An introduction to Python for UNIX/C programmers.

Proc. of the NLUUG najaarsconferentie. Dutch UNIX users group.

Yasin, V. 2012. Rekayasa Perangkat Lunak Berorientasi Objek Pemodelan,

Arsitektur dan Perancangan (Modeling, Architecture and Design). Jakarta:

Mitra Wacana Media.

Yitnosumarto. 2006. Metode Penelitian Kuantitatif dan Kualitatif. Yogyakarta:

Graha Ilmu.