application programming interface -...

14
APPLICATION PROGRAMMING INTERFACE UNTUK INTEGRASI SISTEM DATA CENTER UNIVERSITAS MUHAMMADIYAH MALANG SKRIPSI Diajukan Untuk Memenuhi Persyaratan Guna Meraih Gelar Sarjana Strata 1 Teknik Informatika Universitas Muhammadiyah Malang Danu Setiawan 201210370311228 PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS MUHAMMADIYAH MALANG 2017

Upload: lehanh

Post on 06-Jun-2019

217 views

Category:

Documents


0 download

TRANSCRIPT

APPLICATION PROGRAMMING INTERFACE

UNTUK INTEGRASI SISTEM DATA CENTER

UNIVERSITAS MUHAMMADIYAH MALANG

SKRIPSI

Diajukan Untuk Memenuhi

Persyaratan Guna Meraih Gelar Sarjana Strata 1

Teknik Informatika Universitas Muhammadiyah Malang

Danu Setiawan

201210370311228

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK

UNIVERSITAS MUHAMMADIYAH MALANG

2017

LEMBAR PERSETUJUAN

APPLICATION PROGRAMMING INTERFACE

UNTUK INTEGRASI SISTEM DATA CENTER

UNIVERSITAS MUHAMMADIYAH MALANG

SKRIPSI

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1

Teknik Informatika Universitas Muhammadiyah Malang

Disusun Oleh:

DANU SETIAWAN

201210370311228

Menyetujui

Pembimbing I

Maskur, S.Kom., M.Kom

NIP : 108.1410.0542

Pembimbing II

Galih Wasis Wicaksono, S.Kom., M.Cs

NIP : 108.1410.0541

LEMBAR PENGESAHAN

APPLICATION PROGRAMMING INTERFACE

UNTUK INTEGRASI SISTEM DATA CENTER

UNIVERSITAS MUHAMMADIYAH MALANG

SKRIPSI

Sebagai Persyaratan Guna Meraih Gelar Sarjana Strata 1

Teknik Informatika Universitas Muhammadiyah Malang

Disusun Oleh:

DANU SETIAWAN

201210370311228

Skripsi ini telah diuji dan dinyatakan lulus melalui sidang mejelis pengujian pada

tanggal 27 Januari 2017

Menyetujui,

Penguji I Penguji II

Gita Indah Marthasari, ST., M.Kom

NIP : 108.0602.0432

Nur Hayatin, S. ST

NIP : 108.0907.0476

Mengetahui,

Ketua Jurusan Teknik Informatika

Yuda Munarko, S.Kom., M.Sc

NIP : 108.0611.0443

LEMBAR PERNYATAAN

Yang bertanda tangan dibawah ini :

NAMA : DANU SETIAWAN

NIM : 201210370311228

FAK./JUR. : TEKNIK / INFORMATIKA

Dengan ini saya menyatakan bahwa Tugas Akhir dengan judul

“APPLICATION PROGRAMMING INTERFACE UNTUK INTEGRASI

SISTEM DATA CENTER UNIVERSITAS MUHAMMADIYAH MALANG”

beserta seluruh isinya adalah karya saya sendiri dan bukan merupakan karya tulis

orang lain, baik sebagian maupun seluruhnya, kecuali dalam bentuk kutipan yang

telah disebutkan sumbernya.

Demikian surat pernyataan ini saya buat dengan sebenar-benarnya. Apabila

kemudian ditemukan adanya pelanggaran terhadap etika keilmuan dalam karya

saya ini, atau ada klaim dari pihak lain terhadap keaslian karya saya ini maka saya

siap menanggung segala bentuk resiko/sanksi yang berlaku.

Mengetahui,

Dosen Pembimbing

Maskur, S.Kom, M.Kom

NIP : 108.1410.0542

Malang, 31 Januari 2017

Yang Membuat Pernyataan

Danu Setiawan

NIM : 201210370311228

iv

KATA PENGANTAR

Dengan memanjatkan puji syukur kehadirat Allah Subhanahu Wa Ta’ala

atas limpahan rahmat dan hidayah-Nya sehingga penulis dapat menyelesaikan

skripsi yang berjudul:

“APPLICATION PROGRAMMING INTERFACE UNTUK INTEGRASI SISTEM

DATA CENTER UNIVERSITAS MUHAMMADIYAH MALANG”

Di dalam tulisan ini disajikan pokok-pokok pembahasan yang meliputi

pendahuluan, landasan teori, perancangan sistem, implementasi dan penguijian

sistem. Peneliti menyadari sepenuhnya bahwa dalam penulisan tugas akhir ini

masih banyak kekurangan dan keterbatasan. Oleh karena itu peneliti mengharapkan

saran yang membangun agar tulisan ini bermanfaat bagi perkembangan ilmu

pengetahuan ke depan.

Malang, 31 Januari 2017

Penulis

v

DAFTAR ISI

ABSTRAK ............................................................................................................... i

ABSTRACT .............................................................................................................. ii

LEMBAR PERSEMBAHAN ................................................................................ iii

KATA PENGANTAR ........................................................................................... iv

DAFTAR ISI ........................................................................................................... v

DAFTAR GAMBAR ............................................................................................ vii

DAFTAR TABEL .................................................................................................. xi

BAB I ...................................................................................................................... 1

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

1.2. Rumusan Masalah .................................................................................... 3

1.3. Tujuan ....................................................................................................... 3

1.4. Batasan Masalah ....................................................................................... 3

1.5. Metodologi ............................................................................................... 3

1.6. Sistematika Penulisan ............................................................................... 4

BAB II ..................................................................................................................... 6

2.1. Web Service .............................................................................................. 6

2.2. Web API (Application Programming Interface) ...................................... 8

2.3. REST (Representational State Transfer) ................................................. 8

2.4. JSON (JavaScript Object Notation) ......................................................... 9

2.5. XML (eXtensible Markup Language) .................................................... 10

2.6. HTML (Hypertext Markup Language) ................................................... 10

2.7. Framework ............................................................................................. 10

2.8. Database ................................................................................................. 11

2.9. Codeigniter ............................................................................................. 11

2.10. Swagger .............................................................................................. 12

2.11. MySQL ............................................................................................... 12

BAB III ................................................................................................................. 15

3.1. Analisa Sistem ........................................................................................ 15

3.1.1. Analisa Kebutuhan Fungsional ....................................................... 15

3.1.2. Analisa Kebutuhan Non Fungsional ............................................... 16

vi

3.2. Perancangan Sistem ................................................................................ 17

3.2.1. Use Case Diagram .......................................................................... 17

3.2.2. Activity Diagram ............................................................................. 19

3.2.3. Sequence Diagram .......................................................................... 26

3.2.4. Class Diagram ................................................................................. 32

3.2.5. Desain Database ............................................................................. 33

3.2.6. Arsitektur Sistem ............................................................................. 33

3.2.7. Rancangan Data JSON .................................................................... 34

3.2.8. Rancangan Interface........................................................................ 37

3.2.8. Rancangan Format Pesan Data Request ......................................... 38

BAB IV ................................................................................................................. 41

4.1. Implementasi Sistem .............................................................................. 41

4.2. Pengujian Sistem .................................................................................... 52

BAB V ................................................................................................................... 68

5.1. Kesimpulan ............................................................................................. 68

5.2. Saran ....................................................................................................... 68

DAFTAR PUSTAKA ........................................................................................... 69

LAMPIRAN .......................................................................................................... 71

BIOGRAFI PENULIS .......................................................................................... 72

vii

DAFTAR GAMBAR

Gambar 3.1. Use case diagram API integrasi data center ..................................... 18

Gambar 3.2. Activity diagram admin melakukan login ......................................... 20

Gambar 3.3. Activity diagram admin edit konten .................................................. 20

Gambar 3.4. Activity diagram admin menambahkan user..................................... 21

Gambar 3.5. Activity diagram admin menghapus user .......................................... 21

Gambar 3.6. Activity diagram admin mengedit data user ..................................... 22

Gambar 3.7. Activity diagram admin melihat profil .............................................. 22

Gambar 3.8. Activity diagram admin mengubah username................................... 23

Gambar 3.9. Activity diagram admin mengubah password ................................... 23

Gambar 3.10. Activity diagram user/developer melihat data request .................... 24

Gambar 3.11. Activity diagram developer mengubah password ........................... 25

Gambar 3.12. Activity diagram developer melihat dokumentasi .......................... 25

Gambar 3.13. Sequence diagram admin melakukan login .................................... 26

Gambar 3.14. Sequence diagram admin mengedit konten .................................... 27

Gambar 3.15. Sequence diagram admin menambah user ..................................... 27

Gambar 3.16. Sequence diagram admin menghapus user ..................................... 28

Gambar 3.17. Sequence diagram admin mengedit user ........................................ 28

Gambar 3.18. Sequence diagram admin melihat profil ......................................... 29

Gambar 3.19. Sequence diagram admin mengubah username .............................. 29

Gambar 3.20. Sequence diagram admin mengubah password .............................. 30

Gambar 3.21. Sequence diagram developer melakukan request data ................... 30

Gambar 3.22. Sequence diagram developer mengubah password ........................ 31

Gambar 3.23. Sequence diagram developer melihat dokumentasi API ................ 32

Gambar 3.24. Class diagram API untuk integrasi data center .............................. 32

Gambar 3.25. Desain database API untuk integrasi data center ........................... 33

Gambar 3.26. Arsitektur dari sistem API untuk integrasi data center .................. 33

Gambar 3.27. Rancangan data JSON dari token ................................................... 34

Gambar 3.28. Rancangan data JSON dari IP ........................................................ 34

Gambar 3.29. Rancangan data JSON dari IPK ..................................................... 34

Gambar 3.30. Rancangan data JSON dari SKS .................................................... 34

Gambar 3.31. Rancangan data JSON dari jadwal ................................................. 35

viii

Gambar 3.32. Rancangan data JSON dari biodata ................................................ 35

Gambar 3.33. Rancangan data JSON dari Tugas Akhir........................................ 35

Gambar 3.34. Rancangan data JSON dari status mahasiswa ................................ 36

Gambar 3.35. Rancangan data JSON dari KKN ................................................... 36

Gambar 3.36. Rancangan data JSON dari wisuda ................................................ 36

Gambar 3.37. Rancangan data JSON dari nilai..................................................... 36

Gambar 3.38. Rancangan data JSON dari status bayar ......................................... 37

Gambar 3.39. Rancangan data JSON kurang bayar .............................................. 37

Gambar 3.40. Tampilan halaman admin ............................................................... 37

Gambar 3.41. Tampilan halaman user .................................................................. 38 Gambar 4.1. Halaman login admin ....................................................................... 43

Gambar 4.2. Script fungsi login() pada admin ...................................................... 43

Gambar 4.3. Script fungsi checklogin() pada admin............................................. 43

Gambar 4.4. Script fungsi register() pada admin .................................................. 44

Gambar 4.5. Halaman dashboard .......................................................................... 44

Gambar 4.6. Script fungsi dashboard() pada controller admin ............................. 44

Gambar 4.7. Halaman homepage admin ............................................................... 45

Gambar 4.8. Script fungsi homepage() pada controller admin ............................. 45

Gambar 4.9. Halaman log access admin ............................................................... 45

Gambar 4.10. Script fungsi log() pada controller admin ...................................... 46

Gambar 4.11. Halaman pengaturan akun admin ................................................... 46

Gambar 4.12. Script fungsi account() pada controller admin ............................... 46

Gambar 4.13. Script fungsi update_admin pada controller admin ........................ 47

Gambar 4.14. Halaman utama dokumentasi untuk developer .............................. 47

Gambar 4.15. Script fungsi index() pada controller depan ................................... 48

Gambar 4.16. Halaman login pada developer ....................................................... 48

Gambar 4.17. Script fungsi index() pada controller login .................................... 48

Gambar 4.18. Halaman dokumentasi .................................................................... 49

Gambar 4.19. Script fungsi index() pada controller Dokumentasi ....................... 49

Gambar 4.20. Halaman setting developer ............................................................. 49

Gambar 4.21. Script fungsi index() pada controller Setting ................................. 50

Gambar 4.22. Script fungsi update() pada controller Setting................................ 50

ix

Gambar 4.23. Script fungsi index() pada controller Gettoken .............................. 51

Gambar 4.24. Script fungsi get pada controller Umm .......................................... 51

Gambar 4.25. Pengujian fungsional get token ...................................................... 54

Gambar 4.26. Pengujian fungsional get data IP .................................................... 55

Gambar 4.27. Pengujian fungsional get data IPK ................................................. 55

Gambar 4.28. Pengujian fungsional get data SKS ................................................ 55

Gambar 4.29. Pengujian fungsional get data Jadwal ............................................ 56

Gambar 4.30. Pengujian fungsional get data Biodata ........................................... 56

Gambar 4.31. Pengujian fungsional get data Status Mahasiswa ........................... 57

Gambar 4.32. Pengujian fungsional get data Nilai ............................................... 57

Gambar 4.33. Pengujian get data wisuda .............................................................. 58

Gambar 4.34. Pengujian fungsional get data KKN ............................................... 58

Gambar 4.35. Pengujian fungsional get data Status Bayar ................................... 59

Gambar 4.36. Pengujian fungsional get data Kurang Bayar ................................. 59

Gambar 4.37. User dengan empat kebutuhan ....................................................... 60

Gambar 4.38. Pengujian get data status bayar ...................................................... 60

Gambar 4.39. Pengujian get data biodata.............................................................. 60

Gambar 4.40. Pengujian dengan key salah ........................................................... 61

Gambar 4.41. Pengujian dengan token salah ........................................................ 61

Gambar 4.42. Pengujian get data dengan input salah ........................................... 62

Gambar 4.43. Tampilan login admin salah username atau password ................... 64

Gambar 4. 44. Tampilan login admin salah captcha ............................................. 64

Gambar 4.45. Tampilan hak akses admin ............................................................. 64

Gambar 4.46. Tampilan user login salah username atau password ...................... 65

Gambar 4.47. Tampilan hak akses developer ....................................................... 65

Gambar 4.48. Tampilan halaman login admin pada mobile ................................. 66

Gambar 4.49.Tampilan halaman dashboard admin pada mobile .......................... 66

Gambar 4.50. Tampilan halaman setting homepage admin pada mobile ............. 62

Gambar 4.51. Tampilan halaman setting log pada mobile.................................... 62

Gambar 4.52. Tampilan halaman setting account admin pada mobile ................. 62

Gambar 4.53. Tampilan halaman homepage user pada mobile ............................ 62

Gambar 4.54. Tampilan halaman login user pada mobile .................................... 63

x

Gambar 4.55. Tampilan halaman dokumentasi user pada mobile ........................ 63

Gambar 4.56. Tampilan halaman setting user pada mobile .................................. 63

Gambar 4.57. Tampilan halaman login admin pada Asus A455L ........................ 64

Gambar 4.58. Tampilan halaman dashboard admin pada Asus A455L ................ 64

Gambar 4.59. Tampilan halaman setting homepage admin pada Asus A455L .... 65

Gambar 4.60. Tampilan halaman setting log admin pada Asus A455L ............... 65

Gambar 4.61. Tampilan halaman setting account admin pada Asus A455L ........ 65

Gambar 4.62. Tampilan halaman homepage developer pada Asus A455L .......... 66

Gambar 4.63. Tampilan halaman login developer pada Asus A455L .................. 66

Gambar 4.64. Tampilan halaman dokumentasi developer pada Asus A455L ...... 66

Gambar 4.65. Tampilan halaman setting developer pada Asus A455L ................ 67

Gambar 4.66. Pengujian data request authentication ............................................ 67

xi

DAFTAR TABEL

Tabel 3.1. Kebutuhan fungsional sistem ............................................................... 15

Tabel 3.2. Analisa kebutuhan non fungsional pengguna ...................................... 16

Tabel 3.3. Analisa kebutuhan non fungsional sistem ........................................... 17

Tabel 3.4. Definisi aktor use case diagram ........................................................... 18

Tabel 3.5. Definisi use case pada aktor admin ...................................................... 19

Tabel 3.6. Definisi use case pada aktor pengguna (developer) ............................. 19 Tabel 4.1. Spesifikasi perangkat keras yang digunakan ....................................... 42

Tabel 4.2. Spesifikasi perangkat lunak yang digunakan ....................................... 42

Tabel 4.3. Pengujian fungsional login aktor admin .............................................. 52

Tabel 4.4. Pengujian fungsional dashboard aktor admin ...................................... 52

Tabel 4.5. Pengujian fungsional log access aktor admin ...................................... 53

Tabel 4.6. Pengujian fungsional homepage aktor admin ...................................... 53

Tabel 4.7. Pengujian fungsional account aktor admin .......................................... 53

Tabel 4.8. Pengujian fungsional login aktor developer ........................................ 53

Tabel 4.9. Pengujian fungsional dokumentasi API aktor developer ..................... 54

Tabel 4.10. Pengujian fungsional setting aktor developer .................................... 54

Tabel 4.11. Daftar pengujian non fungsional sistem............................................. 63

Tabel 4.12. Pengujian non fungsional hak akses .................................................. 63

Tabel 4.13. Spesifikasi perangkat pengujian non fungsional tampilan responsif . 65

Tabel 4.14. Pengujian tampilan responsif pada perangkat Xiaomi Redmi 4A ..... 66

Tabel 4.15. Pengujian tampilan responsif pada perangkat Asus A455L .............. 64

69

DAFTAR PUSTAKA

Aryati, S. D., 2012. Desain dan Implementasi Web Service Studi Kasus Integrasi

Data Asset Management untuk Decision Support System pada Biro Administrasi

Umum Universitas Muhammadiyah Malang. Skripsi Program Studi Teknik

Informatika Universitas Muhammadiyah Malang.

Christensson, P., 2013. Framework Definition. [Online]

Available at: http://techterms.com/definition/framework

[Diakses 11 Oktober 2016].

Fielding, R. T., Taylor & Richard, N., 2002. Principled Design of the Modern

Web Architecture. Dalam: New York: s.n., pp. 115-150.

Json.org, [no date]. Introducing JSON. [Online]

Available at: htpps://json.org/

[Diakses 12 Juni 2016].

Merriam, W., [no date]. Definition of Database. [Online]

Available at: http://www.meriam_webster.com/dictionary/database

[Diakses 11 Oktober 2016].

Oracle, [no date]. about MySQL. [Online]

Available at: http://www.mysql.com/about

[Diakses 11 Oktober 2016].

Primawardi, S., 2011. Desain dan Implementasi Web Service Studi kasus

Integrasi Data Kepegawaian untuk Decision Support System pada Biro

Administrasi Umum Universitas Muhammadiyah Malang. Skripsi Program Studi

Teknik Informatika Universitas Muhammadiyah Malang.

Ricbandson, L. & Ruby, S., 2007. Web Service for the Real World. s.l.:O'Reilly

Media.

Rouf, A., [no date]. Pengujian Perangkat Lunak Dengan Menggunakan White Box

dan Black Box. Sistem Informasi - STMIK HIMSYA.

Sarno, R., 2012. Analisa dan Desain Berorientasi Servis untuk Aplikasi

Manajemen Proyek. Yogyakarta: s.n.

Software, S., 2016. Swagger Getting Started. [Online]

Available at: http://swagger.io/getting-started/

[Diakses 21 Desember 2016].

Tarwianto, H., 2013. Modul Pelaporan Berbasis Web Service pada Sistem

Informasi Pendaftaran Mahasiswa Pascasarjana di Universitas Muhammadiyah

70

Malang. Skripsi Program Studi Teknik Informatika Universitas Muhammadiyah

Malang.

Technology, B. C. I. o., [no date]. Welcome to Codeigniter. [Online]

Available at: https://www.codeigniter.com/user_guide/general/welcome.html

[Diakses 11 Oktober 2016].

W3.org, 2004. Glossary of Web Service. [Online]

Available at: https://www.w3.org/TR/2004/NOTE-ws-gloss-20040211/

[Diakses 10 Juni 2016].

W3.org, 2016. Extensible Markup Language. [Online]

Available at: https://www.w3.org/XML/

[Diakses 07 01 2017].

W3.org, 2016. HTML. [Online]

Available at: https://www.w3.org/TR/html/

[Diakses 07 01 2017].