application programming interface -...
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].