pengembangan modul back end himpunan ...repository.unugha.ac.id/635/1/32.pdfkomputer di departemen...

34
PENGEMBANGAN MODUL BACK END HIMPUNAN ALUMNI PADA APLIKASI IPB CONNECT MUHAMMAD LUTFI BUDIANSYAH DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM INSTITUT PERTANIAN BOGOR BOGOR 2017

Upload: others

Post on 14-Jul-2020

12 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

PENGEMBANGAN MODUL BACK END HIMPUNAN ALUMNI PADA APLIKASI IPB CONNECT

MUHAMMAD LUTFI BUDIANSYAH

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR BOGOR

2017

Page 2: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian
Page 3: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

PERNYATAAN MENGENAI SKRIPSI DAN SUMBER INFORMASI SERTA PELIMPAHAN HAK CIPTA

Dengan ini saya menyatakan bahwa skripsi berjudul Pengembangan Modul

Back End Himpunan Alumni pada Aplikasi IPB Connect adalah benar karya saya dengan arahan dari komisi pembimbing dan belum diajukan dalam bentuk apa pun kepada perguruan tinggi mana pun. Sumber informasi yang berasal atau dikutip dari karya yang diterbitkan maupun tidak diterbitkan dari penulis lain telah disebutkan dalam teks dan dicantumkan dalam Daftar Pustaka di bagian akhir skripsi ini.

Dengan ini saya melimpahkan hak cipta dari karya tulis saya kepada Institut Pertanian Bogor.

Bogor, Juli 2017

Muhammad Lutfi Budiansyah NIM G64144039

Page 4: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

ABSTRAK

MUHAMMAD LUTFI BUDIANSYAH. Pengembangan Modul Back End Himpunan Alumni pada Aplikasi IPB Connect. Dibimbing oleh DEAN APRIANA RAMADHAN

Menurut Statuta Insitutut Pertanian Bogor, adan alumni memiliki hubungan yang memeliki hubungan sepanjang masa. Dengan potensi alumni sebesar 122.932 orang dan alumni adalah pilar penting dalam kemajuan almamater, Himpunan Alumni memiliki tugas penting. Himpunan Alumni diharapkan mampu meneruskan menjadi jembatan antara alumni dan kampus. Penelitian ini mengembangkan aplikasi IPB Connect, yang bermanfaat untuk meningkatkan peran Himpunan Alumni IPB. Aplikasi ini dikembangkan menggunakan metode prototyping dengan arsitektur REST API. Node.js dengan framework Express.js menjadi bahasa pemrograman yang digunakan dan didukung dengan basis data MongoDB. Yang dikembangkan pada aplikasi ini hanya aplikasi server-side yang nantinya akan menghasilkan web services untuk dikonsumsi aplikasi client-side. Hasil pengembangan menghasilkan API yang bisa diakses di api.stage.ipb.ac.id dan sesuai dengan yang dibutuhkan pengembang aplikasi client-side. Kata kunci: IPB Connect, Node.js, REST API, MongoDB

ABSTRACT MUHAMMAD LUTFI BUDIANSYAH. Development of Rektorat and Himpunan Alumni Back End Module on IPB Connect Application. DEAN APRIANA RAMADHAN

According to Statuta Institut Pertanian Bogor, alumni and alma mater have a

timeless relationship. IPB now has 122.932 alumni and alumni are important role for almamater development, Himpunan Alumni must be a bridge to alumni and campus. This research is developing IPB Connect application. Benefit of this application is improve Himpunan’s role. This application developt using Prototyping Method with REST API architecture. This Application also using Node.js with Express.js framework and support by MongoDB as a database. This research only develop server-side application and produce web service for client-side application. API that produced by this development is accessible on api.stage.ipb-connect.ac.id and appropriate with client-side application developer need. Keywords: IPB Connect; Node.js; REST API

Page 5: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Penguji: 1 Auzi Asfarian, S.Komp, M.Kom 2 Rina Trisminingsih, S.Komp, MT

Page 6: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Skripsi sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer pada

Departemen Ilmu Komputer

PENGEMBANGAN MODUL BACK END HIMPUNAN ALUMNI PADA APLIKASI IPB CONNECT

MUHAMMAD LUTFI BUDIANSYAH

DEPARTEMEN ILMU KOMPUTER FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

INSTITUT PERTANIAN BOGOR BOGOR

2017

Page 7: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian
Page 8: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

PRAKATA

Puji dan syukur penulis panjatkan kepada Allah subhanahu wata’ala atas segala curahan rahmat dan karunia-Nya sehingga penelitian ini berhasil diselesaikan. Shalawat dan salam semoga senantiasa tercurah kepada Nabi Muhammad shalallahu ‘alaihi wassalam, keluarganya, para sahabat, serta para pengikutnya. Karya tulis ini merupakan salah satu syarat memperoleh gelar Sarjana Komputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian ini Pengembangan Modul Back End Himpunan Alumni pada Aplikasi IPB Connect.

Penyelesaian penelitian ini tidak terlepas dari dukungan dan bantuan berbagai pihak. Oleh karena itu, penulis ingin mengucapkan terima kasih sebesarbesarnya kepada:

1. Kedua orang tua tercinta Budi Priyanto dan Ibunda Meiti Amalia, adik Muhammad Yusril Budiarto dan Ichlasul Sidiq Budiharjo, dan segenap keluarga besar penulis atas do’a, dukungan, semangat, kasih sayang, dan perhatian yang tidak pernah berhenti diberikan selama ini.

2. Bapak Dean Apriana Ramadhan, SKomp, MKom selaku pembimbing, Bapak Auzi Asfarian, S.Komp, M.Kom dan Ibu Rina Trisminingsih, S.Komp, MT. selaku dosen penguji, atas waktu, ilmu, kesabaran, nasihat, dan masukan yang diberikan.

3. Teman-teman penulis di Ekstensi Ilmu Komputer Angkatan 9, teman satu bimbingan, serta teman-teman lain yang tidak dapat penulis sebutkan satu per satu atas bantuan, motivasi, kebersamaan, serta semangat kepada penulis.

4. Departemen Ilmu Komputer, Bapak/Ibu Dosen dan Tenaga Kependidikan yang telah begitu banyak membantu baik selama pelaksanaan penelitian ini maupun sebelumnya.Kepada semua pihak lainnya yang telah memberikan kontribusi yang besar

selama pengerjaan penelitian ini yang tidak dapat disebutkan satu-persatu, penulis ucapkan terima kasih banyak. Semoga penelitian ini bermanfaat.

Page 9: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

DAFTAR ISI

DAFTAR TABEL vi DAFTAR GAMBAR vi DAFTAR LAMPIRAN vi PRAKATA vi

PENDAHULUAN 1

Latar Belakang 1

Perumusan Masalah 2

Tujuan Penelitian 2

Manfaat Penelitian 2

Ruang Lingkup Penelitian 2

TINJAUAN PUSTAKA 3

REST 3

Node.js 3

API 3

NoSQL 4

MongoDB 4

Express 4

METODE 5

Tahapan Pengembangan 5

Komunikasi 5

Perencanaan Cepat 6

Pemodelan Perancangan Cepat 6

Pembuatan Prototype 6

Penyebaran, Pengiriman dan Umpan Balik 6

Lingkungan Pengembangan 6

HASIL DAN PEMBAHASAN 7

Iterasi 1 7

Iterasi 2 13

SIMPULAN DAN SARAN 17

Simpulan 17

Page 10: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Saran 17

DAFTAR PUSTAKA 17

RIWAYAT HIDUP 22

Page 11: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

DAFTAR TABEL

1 Hasil Analisi Kebutuhan Pengguna Aplikasi IPB Connect 82 Deskripsi use case diagram pada Aplikasi IPB Connect modul

Himpunan Alumni 93 Deskripsi atribut pada kelas event 114 Daftar URL beserta methods dalam kelas event 125 Hasil pengujian API 13

DAFTAR GAMBAR

1 Arsitektur REST 32 Metode pengembangan prototyping 53 Use case diagram pada aplikasi IPB Connect modul himpunan

alumni 84 Activity diagram Aktivitas penambahan data event pada Aplikasi

IPB Connect Modul Himpunan Alumni 95 Class diagram Aplikasi IPB Connect 106 Sequence Diagram aktivitas penambahan data event 107 Potongan kode aktivitas penambahan data event 128 Respon HTTP Request untuk aktivitas penambahan data event 139 Sequence diagram penambahan data event setelah ada

autorisasi 1410 Diagram cara kerja JWT 1411 Potongan kode implementasi Passport.js 1512 Hasil JSON login yang menunjukkan disertakannya token 1613 HTTP Request dengan menyertakan Token di Header 16

DAFTAR LAMPIRAN

1 Lampiran 1 Activity diagram manipulasi data fakultas 182 Lampiran 2 Activity Diagram manipulasi data program studi 183 Lampiran 3 Sequence Diagram manipulasi fakultas 204 Lampiran 4 Sequence Diagram manipulasi program studi 205 Lampiran 5 Daftar URL API fakultas, Program Study dan User 21

Page 12: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian
Page 13: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

1

PENDAHULUAN

Latar Belakang

Institut Pertanian Bogor (IPB) resmi dibentuk pada pada tanggal 1 September 1963. Awalnya IPB merupakan Fakultas Ilmu Pengetahuan Pertanian, Universitas Indonesia di Bogor. Sejak 53 tahun lalu, IPB telah tumbuh dan berkembang menjadi perguruan tinggi yang mempunyai reputasi baik serta berperan penting dalam pembangunan nasional dan pendidikan tinggi di Indonesia. IPB saat ini memiliki 36 Departemen, 21 Pusat Studi, 159 program studi sarjana dan pascasarjana dan 18 program keahlian pendidikan diploma. Hingga Januari 2016, IPB sudah memiliki 133.778 Alumni (IPB 2016).

Alumni merupakan salah satu pilar penting dalam kemajuan almamater. Dengan adanya ikatan alumni yang kuat diharapkan bersumbangsih terhadap almamater. 5 September 1970 atas prakarsa beberapa Alumni IPB, dibentuklah Bogor Agricultural University Alumni Association atau Himpunan Alumni Institut Pertanian Bogor disingkat HA-IPB berkedudukan di Bogor. Sejalan dengan visi Himpunan Alumni IPB “Menjadi Organisasi yang Solid dan Bermanfaat untuk Alumni, Almamater dan Masyarakat Luas” serta menurut Peraturan Pemerintah Republik Indonesia Tahun 2013 tentang Statuta Institut Pertanian Bogor, HA-IPB memiliki tugas membangun komunikasi yang kuat antara alumni dan HA-IPB, serta meningkatkan peran Alumni IPB di masyarakat.

HA-IPB merupakan lembaga/organisasi yang membutuhkan cara yang efektif dalam membangun komunikasi dengan alumni IPB. HA-IPB butuh cara untuk mempererat komunikasi alumni agar visinya tercapai. IPB Connect, merupakan aplikasi yang dibangun untuk menjembatani koneksi Pengurus HA-IPB, alumni, dan mahasiswa yang masih aktif. Dalam aplikasi ini Himpunan Alumni dapat memberikan informasi terkait kegiatan dan lowongan pekerjaan yang mereka miliki. Pada penelitian sebelumnya dilakukan Wibowo(2016), tentang Pengembangan Sistem Informasi Aktivitas Kemahasiswaan (Studi Kasus: Direktorat Kemahasiswaan Institut Pertanian Bogor). Penelitian tersebut juga melibatkan lembaga kampus yaitu, Direktorat Kemahasiswaan (DITMAWA) IPB. Pada penelitian tersebut menggunakan ASP.NET MVC dan metode prototyping. Dengan ini semakin banyaknya sistem yang dibangun untuk membantu lembaga kampus dan organisasi yang mendukung tridharma perguruan tinggi.

Pengembangan aplikasi ini digunakan metode Prototyping. Metode cocok untuk mengembangkan aplikasi dengan cepat karena pihak pengembang mendapatkan feedback langsung di setiap model yang dibuat. Metode ini juga dianggap menguntungkan pihak stakeholder dan pengembang karena kedua belah pihak menyetujui setiap model yang dibuat (Pressman 2010). Aplikasi ini akan dikembangkan menggunakan arsitektur REST API. REST API merupakan arsitektur berbasis client-server yang akan mengurangi ketergantungan antara client dan server, dengan cara sisi server hanya memberikan web-services yang dibutuhkan aplikasi client. Dengan cara tersebut server bisa melakukan perubahan pada aplikasi tanpa merubah aplikasi yang ada pada client.(Masse 2012). Aplikasi dikembangkan menggunakan bahasa pemrograman Node.JS dengan kerangka kerja Express.js dan Menggunakan database NoSQL yaitu MongoDB.

Page 14: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Pengembangan aplikasi IPB Connect terbagi menjadi 2 bagian, bagian back end dan front end. Kedua bagian tersebut dikerjakan oleh 2 tim yang berbeda. Tim yang mengerjakan back end bertugas untuk mengerjakan pembuatan API dan business logic yang nantinya akan digunakan oleh tim pengembang front end. Tim pengembang front end mengerjakan tampilan aplikasi serta tampilan data sehingga bisa digunakan oleh pengguna. Pada penelitian ini terdiri dari 2 orang pengembang back end dan 3 pengembang front end.

Perumusan Masalah

Masalah pada penelitian ini adalah, belum adanya sistem server-side yang akan menyediakan API kepada pengembang client-side. Sehingga aplikasi IPB Connect modul Himpunan Alumni bisa berjalan dengan lengkap.

Tujuan Penelitian

Tujuan dari penelitian ini adalah mengembangkan modul Himpunan Alumni pada aplikasi Alumni IPB Connect pada sisi server(Back End) menggunakan arsitektur REST API.

Manfaat Penelitian

Penelitian ini diharapkan membantu Himpunan Alumni IPB dalam menyebarkan dan mengumpulkan informasi yang dibutuhkan. Diharapkan proses penyebaran dan pengumpulan jadi lebih cepat dan mudah. Penelitian ini juga diharapkan mampu menjadikan IPB sebagai pionir pengembangan aplikasi yang sama di institusi pendidikan lainnya. Aplikasi ini juga diharapkan bermanfaat bagi pengembangan aplikasi menggunakan metode Prototyping dan arsitektur REST API.

Ruang Lingkup Penelitian

Ruang lingkup penelitian adalah: 1. Penelitian ini dibatasi pada pengembangam Aplikasi Alumni IPB

Connect untuk modul Himpunan Alumni. 2. Pengembangan aplikasi menggunaka metode prototyping. 3. Arsitektur yang digunakan REST API dengan Bahasa pemrograman

Node.JS dan kerangka kerja Express. 4. Penelitian ini hanya menyediakan API/ web services yang nantinya

akan dikonsumsi oleh pengembang frontend aplikasi web ataupun mobile.

Page 15: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

TINJAUAN PUSTAKA

REST

Gambar 1 Arsitektur REST (Masse 2012)

Pada tahun 2000 Representational State Transfer (REST) diperkenalkan oleh Roy Fielding dalam disertasinya. REST biasa digunakan dalam pengembangan web sebagai standar arsitektur komunikasi. Protokol komunikasi data yang sering digunakan yaitu Hypertext Transfer Protocol (HTTP). Sesuai pada Gambar 1 , REST server menyediakan resources (sumber data) melalui yang diminta oleh aplikasi client melalui HTTP Request. Resources tersebut akan diberikan melalui HTTP response yang selanjutnya akan ditampilkan sesuai keperluan. Resource tersebut dapat direpresentasikan dalam bentuk format teks, JSON dan XML (Masse 2012). Pada penelitian ini resource tersebut direpresentasikan dalam bentuk JSON.

Node.js

Banyak pengembang web menggunakan JavaScript, biasanya digunakan untuk mengembangkan antarmuka dari suatu aplikasi web. Node.js merubah paradigma tersebut, Node.js memungkinkan pengembang membuat aplikasi server-side diatas bahasa pemrograman yang populer ini. Node.js dibungkus menggunakan V8 JavaScript Runtime dari Google Chrome Browser yang performanya dinilai cepat. V8 adalah teknologi compiler mutakhir yang memungkinkan bahasa pemrograman JavaScript yang notabene merupakan bahasa pemrograman tingkat tinggi memiliki performa seperti bahasa tingkat rendah, seperti bahasa C. Ini yang menjadi kunci mengapa Node.js menjadi salah satu bahasa pemrograman yang popular (Hughes-Croucher dan Wilson 2012)

API

Menurut Masse(2012), Application Programming Interface (API) adalah sebuah perintah, fungsi, dan protokol agar dapat digunakan oleh pengembang untuk membangun sebuah perangkat lunak. API dapat membuat interaksi antar perangkat

Page 16: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

lunak. Hal tersebut bertujuan untuk memudahkan pengembang perangkat lunak saling berintegrasi.

NoSQL

NOSQL dikembangkan karena banyaknya masalah pada basis data relasional (RDBMS). RDBMS memiliki masalah pada skalabilitas yang buruk, performanya akan menurun sejalan bertambahnya volume data. Konsep dari NOSQL sendiri sudah dikembangkan saat Database as a Service(DBaaS) diperkenalkan. NOSQL dinilai lebih ringan dan memiliki performa yang lebih baik dibanding RDBMS (Nayak et al. 2013). Menurut nosqldatabase.org(2016) sampai saat ini ada lebih dari 225 database NOSQL yang dibagi menjadi beberapa tipe seperti Key-Value Store, Column Oriented, Document Store, dan lain lain.

MongoDB

MongoDB merupakan document-oriented database, bukan relasional. MongoDB memiliki fitur yang ada pada basis data relasional dan dikombinasikan dengan kemampuan untuk berkembang yang jauh lebih baik daripada basis data relasional. Konsep dasarnya adalah menggantikan ”baris” dengan ”dokumen”. Dengan adanya dokumen tersebut, memungkinkan MongoDB merepresentasikan hubungan hierarki yang kompleks hanya dengan 1 record. itu yang menjadikan MongoDB data model yang developer-friendly dan konfigurasi yang administrator-friendly (Chodorow dan Dirolf 2010)

Express.js

Express.js merupakan web framework yang menggunakan modul HTTP dan Komponen Connect dari Node.JS, keduanya disebut dengan middleware. Framework ini menerapkan filosofi convention over configuration. Dalam kata lain Express.js, memberikan fleksibilitas kepada pengembang untuk memilih library apa saja yang mereka butuhkan untuk mengembangkan aplikasi. Fleksibilitas tersebut terbukti dengan berbagai macam struktur yang mampu dikembang menggunakan Express.js, mulai dari full-stack Model-View-Controller(MVC) ataupun REST APIs(Mardat 2014). Express.js pun menjadi basis berbagai framework lain, seperti Sails(MVC), Loopback(REST APIs), dan Feathers(Realtime Apps)(IBM 2016)

Page 17: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

METODE

Tahapan Pengembangan

Penelitian pengembangan aplikasi Alumni IPB Connect menggunakan metode prototyping. Pada metode ini pengembang dan stakeholder berinteraksi dalam proses pembuatan sistem. Interaksi dilakukan melalui proses persetujuan model yang telah dibuat tim pengembang. Metode ini cocok untuk stakeholder yang mengetahui gambaran umum dari sistem yang akan dikembangkan(Pressman 2010). Pengembangan sistem dengan menggunakan metode prototyping terdiri dari lima tahapan yaitu komunikasi (communication), Perencanaan Cepat (quick plan), pemodelan perencanaan cepat (modeling quick design), pembuatan prototype (construction of prototype), dan penyebaran, pengiriman, dan umpan balik (deployment, delivery, and feedback). Pada gambar 2 menunjukkan setiap tahapan dilakukan pengulangan berdasarkan tingkat kepuasan stakeholder

Gambar 2 Metode pengembangan prototyping (Pressman 2010)

Tahapan pengembangan yang akan dilakukan dalam pengembangan aplikasi Alumni IPB Connect sesuai dengan metode prototyping sebagai berikut:

Komunikasi

Komunikasi dilakukan untuk mengumpulkan kebutuhan dari stakeholder terhadap aplikasi yang dikembangkan. Komunikasi dilakukan dengan cara wawancara terhadap stakeholder dalam penelitian ini pihak Himpunan Alumni IPB.

Page 18: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Dalam komunikasi dibicarakan proses bisnis dan gambaran umum dari aplikasi yang akan dikembangkan.

. Perencanaan Cepat

Perencanaan cepat dilakukan dengan cara menggambarkan kebutuhan fungsional sistem kedalam bentuk diagram UML use case dan activity diagram. Use case diadaptasi dari hasil komunikasi dengan stakeholder, sehingga tergambarkan aktor dan proses bisnis apa yang bisa dilakukan oleh aktor tersebut. Untuk menggambarkan alur dari proses bisnis digambarkan menggunakan activity diagram hasil pengembangan use case diagram.

Pemodelan Perancangan Cepat

Pada tahapan ini dilakukan penggambaran aspekaspek sistem yang akan dilihat oleh end-user. Perancangan cepat dilakukan untuk mengawali pembuatan prototype. Bentuk perancangan cepat dalam penilitian ini adalah sequence diagram.

Pembuatan Prototype

Dalam proses pembuatan prototype dilakukan pengembangan sistem yang merupakan hasil tahapan sebelumnya kedalam bentuk aplikasi web dan mobile. Prototype dikembangkan menggunakan kerangka kerja Express yang menggunakan bahasa pemrograman Node.JS

Penyebaran, Pengiriman dan Umpan Balik

Penyebaran dan Pengiriman akan dilakukan dengan cara mengimplentasi sistem pada salah satu komputer server, sehingga bisa diakses oleh para stakeholder dan dievaluasi. Umpan balik didapatkan dari evaluasi yang dilakukan stakeholder. Evaluasi yang dilakukan oleh stakeholder yaitu menggunakan metode black box. Pengujian black box tidak mementingkan struktur internal dan algoritme yang digunakan. Pengujian hanya memfokuskan pada fungsional pada sistem. Kemudian umpan balik digunakan untuk memperbaiki sistem.

Pada penelitian ini iterasi prototipe maksimal dilakukan sebanyak dua kali.

Lingkungan Pengembangan

Spesifikasi pada penelitian ini, perangkat keras dan perangkat lunak yang digunakan sebagai berikut: Perangkat keras pengembangan:

• Processor Intel Core i7-3520M speed 2.9GHz • RAM 8 GB • SSD 250 GB

Page 19: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Perangkat lunak pengembangan: • Sistem operasi : MacOS Sierra 10.12 • Bahasa pemrograman : Node.js v5.2.0 • Framework : Express.js 4.15.3m • DBMS : MongoDB v.3.2.1 • Text editor : Sublime Text • Test API : Postman

Perangkat Keras dan Lunak Implementasi: • Virtual CPU: 2 Core • RAM : 2GB • SSD : 40GB • Sistem Operasi: Ubuntu 16.04 LTS • Web Server: Apache

HASIL DAN PEMBAHASAN

Proses pengembangan aplikasi IPB Connect dimulai pada bulan November 2016, sesuai dengan yang direncanakan pengembangan menggunakan metode prototyping. Sesuai dengan yang dinyatakan Pressman(2010), metode prototyping terdiri dari 5 tahapan yaitu, komunikasi (communication), Perencanaan Cepat (quick plan), pemodelan perencanaan cepat (modeling quick design), pembuatan prototype (construction of prototype), dan penyebaran, pengiriman, dan umpan balik (deployment, delivery, and feedback). Kelima tahapan tersebut dilakukan 2 kali pengulangan sesuai dengan kepuasan stakeholder

Iterasi 1

Komunikasi Pada tahap ini dilakukan komunikasi dengan stakeholder, dalam hal ini

perwakilan Himpunan Alumni. Komunikasi dibantu oleh pengembang frontend pada modul yang sama, karena pengembang frontend yang melakukan komunikasi langsung dengan stakeholder. Stakeholder yang dimaksud adalah perwakilan Himpunan Alumni IPB, pada saat ini diwakilkan oleh Bapak Fajar. Komunikasi dilakukan pada tanggal 13 Desember 2016 bertempat di Gedung Himpunan Alumni IPB. Sesuai dengan hasil komunikasi, sebelumnya sama sekali belum ada aplikasi sejenis yang dikembangkan di lingkukan Institut Pertanian Bogor. Menurut stakeholder, hal yang penting adalah aplikasi ini bisa berbagi lowongan kerja dan info acara kepada alumni dan mahasiswa pengguna aplikasi. Selama ini proses pengumuman acara dan lowongan kerja dilakukan melalui situs masing masing stakeholder. Dari hasil diskusi, didapatkan bahwa pengguna adalah pengurus dari himpunan alumni. Stakeholder menginginkan pengguna dapat melakukan manejemen konten lowongan kerja dan info acara. Kebutuhan pengguna dapat dilihat di tabel 1

Page 20: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Tabel 1 Hasil Analisi Kebutuhan Pengguna Aplikasi IPB Connect

Pengguna Kebutuhan Pengguna

Himpunan Alumni

Manajemen Event Manajemen Lowongan Kerja Verifikasi/validasi pengguna Manajemen Fakultas Manajemen Program Studi

Perencanaan Cepat

Pada perencanaan cepat dilakukan penggambaran business rule dan business flow. Business rule digambarkan dengan use case diagram, sedangkan business flow dengan activity diagram. Sesuai dengan gambar 3 terdapat 1 aktor dan 5 aktifitas. Aktor tersebut dapat melakukan aktivitas manipulasi data anggota, lowongan pekerjaan, event, fakultas, dan program studi. Pada tabel 2 menjelaskan deskripsi masing-masing aktivitas dalam use case diagram. Kolom pertama menunjukkan aktivitas dan kolom kedua menunjukkan deskripsi aktivitas yang bersangkutan.

Gambar 3 Use case diagram pada aplikasi IPB Connect modul himpunan alumni

Gambar 4 menunjukkan representasi business flow dari salah satu aktivitas

yang ada pada use case diagram berupa activity diagram. Aktivitas yang dijabarkan merupakan aktivitas manipulasi event berupa penambahan data event. Pada aktivitas tersebut pengguna dapat melihat daftar event yang telah dibuat, baik oleh alumni dan mahasiswa dari aplikasi IPB Connect ataupun Admin perwakilan Himpunan Alumni dari aplikasi panel admin IPB Connect. Pengguna juga bisa mengakses form penambahan data event.

Page 21: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Gambar 4 Activity diagram Aktivitas penambahan data event pada Aplikasi IPB

Connect Modul Himpunan Alumni

Setelah activity diagram pada tahap ini juga dihasilkan class diagram yang menggambarkan method atau function di setiap kelas beserta atributnya, sehingga memudahkan ketika pengembangan aplikasi. Class diagram bisa dilihat di gambar 5. Di gambar tersebut terdapat 10 kelas yang terhubung, dalam penelitian ini dikerjakan kelas user, event, faculty, dan Study Program

Tabel 2 Deskripsi use case diagram pada Aplikasi IPB Connect modul Himpunan Alumni

Aktivitas Deskripsi Manipulasi anggota

CRUD pada data anggota

Manipulasi Event

CRUD pada data event

Manipulasi lowongan

CRUD pada data lowongan

Manipulasi fakultas

CRUD pada data fakultas

Manipulasi program studi

CRUD pada data fakultas

Page 22: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Gambar 5 Class diagram Aplikasi IPB Connect

Pemodelan Perancangan Cepat Pada tahap ini menghasilkan sequence diagram seperti pada gambar 6.

Sequence diagram menyajikan penjelasan lebih lanjut dari diagram activity. Sequence diagram dapat menggambarkan perpindahan pesan dan fungsi yang digunakan dalam satu alur fungsi sistem. Pada arsitektur REST API, pengembangan dilakukan terpisah antara client side dan server side. Komunikasi dilakukan melalui HTTP request dengan bentuk data JSON. Perpindahan pesan pada penelitian ini terjadi pada router dan model.

Gambar 6 Sequence Diagram aktivitas penambahan data event

Page 23: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Pada tahapan ini juga dilakukan perancangan struktur URL yang nantinya akan digunakan untuk memanggil masingmasing fungsi pada aplikasi. Struktur URL dirancang http://{hostname}/{class-name}/{function-name}/{id}?{parameter}. Hostname merupakan alamat untuk mengakses aplikasi, bisa berupa alamat IP, nama komputer atau domain. Class-name merupakan nama kelas yang fungsinya akan diakses misal kelas events, joblocations, atau faculties. Function-name menunjukkan fungsi yang akan diakses misal login. Id atau identifier bersifat optional digunakan untuk apabila mengakses data detail atau melakukan perubahan data satuan, begitu juga dengan parameter yang sifatnya optional apabila dibutuhkan parameter seperti limit dan page. Saat mengakses URL juga harus disertakan HTTP methods seperti POST, DELETE, dan PUT. Perencanaan JSON result untuk fungsi create, read, update, dan delete terdapat atribut isSuccess yang bertujuan penanda eksekusi tersebut berhasil dilakukan atau tidak berhasil dilakukan, atribut message untuk memberikan informasi secara detail mengenai hasil eksekusi API tersebut dan atribut item untuk menampilkan hasil dari eksekusi.

Tabel 3 Deskripsi atribut pada kelas event

Attribut Deskripsi title Judul Event place Lokasi event

latitude dan longitude Detail lokasi event yang berguna untuk plotting menggunakan GMaps

startDate dan endDate Tanggal mulai dan berakhirnya event description deskripsi event untuk informasi ke pengguna

contact Nomor telepon atau Email yang bisa dihubungi saat

event price Harga tiket event picture Gambar terkait event seperti poster atau lainnya

Pembuatan Prototipe

Sesuai dengan penjelasan sebelumnya, aplikasi ini dibangun dengan arsitektur REST API. Pada penelitian ini dikembangkan server side dari aplikasi IPB Connect. Aplikasi dikembangkan menggunakan framework Express.js dengan DBMS MongoDB. Sebelum memulai pengembangan aplikasi, dilakukan terlebih dahulu persiapan server yang bisa diakses oleh pengembang frontend. Persiapan dilakukan seperti instalasi pada server. Server menggunakan Ubuntu 16.04 dan Apache Web Server yang dilengkapi IP Public Static agar bisa dilakukan port-forwarding dan bisa diakses menggunakan domain yang sudah tersedia.

Gambar 7 menunjukkan potongan kode dari aktivitas penambahan data event. Potongan kode tersebut berguna untuk memproses data masukan dari aplikasi client side agar bisa tersimpan di database. Method yang digunakan dalam penambahan data event adalah POST dengan url http://api.stage.ipb-connect.com . Pada tabel 3 dijelaskan masing masing atribut dari event yang harus diisi. Atribut tersebut juga akan menjadi data dari respon JSON.

Page 24: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Gambar 7 Potongan kode aktivitas penambahan data event

Pada Gambar 7 juga Nampak aplikasi ini menggunakan library mongoose. Mongoose merupakan jembatan antara aplikasi node.js dengan basis data mongoDB. Mongoose memudahkan query ke database, termasuk melakukan agregasi dan population dengan collection lain yang dibutuhkan sebagai data pelengkap. Dalam proses pembuatan prototype ini dihasilkan URL API yang akan diakses oleh pengembang frontend. Tabel 4 menunjukkan daftar URL yang terkait data event

Tabel 4 Daftar URL beserta methods dalam kelas event

Nama Fungsi (Methods) Endpoint Melihat list lowongan pekerjaan

(GET){{api-gateway-host}}/events

Melihat detail lowongan pekerjaan pekerjaan

(GET){{api-gateway-host}}/events/:id

Membuat lowongan pekerjaan

(POST){{api-gateway-host}}/events

Mengubah lowongan pekerjaan

(PUT){{api-gateway-host}}/events/:id

Menghapus lowongan pekerjaan

(DELETE){{api-gateway-host}}/events/:id

Page 25: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Penyebaran, Pengiriman dan Umpan Balik Pada tahap pengujian, pengujian dilakukan menggunakan metode black-box.

Pengujian ini dilakukan dengan mencocokan bentuk JSON dengan kebutuhan pengembang aplikasi client-side pada modul yang sama. Aplikasi server-side disebar di server dengan URL api.stage.ipb-connect.com. Pada penyebaran Gambar 8 menunjukkan hasil JSON dari komunikasi HTTP request untuk aktivitas penambahan data event. Secara keseluruhan JSON yang dihasilkan cocok dengan yang dibutuhkan client-side. Tabel 5 menunjukkan hasil pengujian pada url api.stage.ipb-connect.com/events dengan semua method yang tersedia.

Tabel 5 Hasil pengujian API

API Hasil Evaluasi Penambahan Data Event Sukses Perubahan Data Event Sukses Penghapusan data event Sukses

Gambar 8 Respon HTTP Request untuk aktivitas penambahan data event

Iterasi 2

Komunikasi Pada iterasi kedua ini, didapatkan kebutuhan baru dari tim pengembang

aplikasi client-side pada IPB Connect. Kebutuhan pertama adalah notifikasi email di setiap ada user registration, User Verifying dan User unverifying. Kebutuhan kedua adalah memberikan authorization pada setiap method agar tidak bisa diakses secara langsung tanpa memasukkan kode keamanan(token).

Page 26: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Perencanaan Cepat Tahap ini pada iterasi kedua tidak menghasilkan peruba-han pada diagram

yang dihasilkan. Perubahan tidakbanyak terjadi karena hanya menambah library dan merubah method yang sudah ada, sehingga tidak merubah classdiagram. Perubahan juga tidak terjadi pada use casediagram dan activity diagram karena aktivitas yang di-lakukan aktor terhadap user masih sama.

Pemodelan Perancangan Cepat

Gambar 9 Sequence diagram penambahan data event setelah ada autorisasi

Pada pengulangan kedua, terjadi perubahan pada sequence diagram, karena proses perpindahan pesan setiap aktivitas berubah sejak ada authorization di semua method kecuali registrasi. Gambar 9 menunjukkan sequence diagram pada aktivitas penambahan data event.

Pembuatan Prototipe

Gambar 10 Diagram cara kerja JWT

Page 27: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Pada pembuatan prototype untuk pengulangan kedua, digunakan beberapa library dan third-party application. Untuk authorization digunakan library Passport.js. Passport.js menggunaka metode JSON Web Token(JWT), yang merupakan salah satu standar peringkasan JSON menjadi satu token (Peyrott 2016) . Cara kerja Passport.js adalah, setiap user yang login mendapatkan respon token, token ini yang harus dikirim melalui Headersetiap melakukan HTTP Request, diagram alur JWT bisa dilihat di gambar 10. Sedangkan pada email menggunakan third-party application Sendgrid. Sendgrid membuka API untuk mempermudah pengembang mengirim email tanpa membuat mail server.

Gambar 11 Potongan kode implementasi Passport.js

Gambar 11 menunjukkan kode menggunakan passport. Contoh token “eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpZCI6IjU4M2UxODU5Mjc3NjAyM2YyMjY4OTJkMCIs” dengan deskripsi “eyJhbGciOiJIUzI1NiIsInR5c” apabila dilakukan decoding menggunakan metode HS256 merupakan id pengguna. HS256 sendiri merupakan metode enkripsi yang menggunakan SHA-256. SHA-256 bekerja dengan cara mengubah masukan kedalam message digest 256 bit .Hasil JSON pada login ditunjukkan pada Gambar 12.

Page 28: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Gambar 12 Hasil JSON login yang menunjukkan disertakannya token

Penyebaran, Pengiriman, dan Umpan Balik

Tahap ini pada pengulangan kedua masih seperti pengulangan pertama. Dengan menggunakan authorization maka setiap HTTP request harus disertakan token yang didapat ketika login. Pada pengujian, semua API cocok hasil JSON-nya dengan yang dibutuhkan tim pengembang aplikasi client-side. Gambar 13 menunjukkan contoh HTTP request menggunakan header authorization.

Gambar 13 HTTP Request dengan menyertakan Token di Header

Page 29: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

SIMPULAN DAN SARAN

Simpulan

Pengembangan Aplikasi IPB-Connect Modul Himpunan Alumni pada sisi server dengan menggunakan arsitektur REST API telah dilakukan. Fungsi yang terkait adalah manipulasi data fakultas, program studi, lowongan kerja, event dan anggota. API sudah bisa diakses oleh pengembang aplikasi front-end, hasilnya berjalan sesuai yang dibutuhkan.

Saran

Pada penelitian selanjutnya diharapkan pengembang bisa menggunakan metode autorisasi lain seperti OAuth 2.0 yang diduga lebih aman daripada JWT. Pengembang bisa juga menggunakan web server lain seperti NginX. Stress test dengan cara mengakses sistem dengan pengguna sebanyak mungkin juga perlu dilakukan agar mengetahui kemampuan maksimal server dan sistem

DAFTAR PUSTAKA

Chodorow, K dan Dirolf, M. 2010. MongoDB : The Definitive Guide. Sebastopol (US): O’Reilly Media,Inc. [Internet]. [Diunduh tanggal 06/08/2016 ]. Da-pat diunduh dari: http://usuaris.tinet. cat/bertolin/pdfs/mongodb_the_definitive_ guide.pdf.

Hughes-Croucher, T dan Wilson, M. 2012. Node: Up and Running. Sebastopol(US): O’Reilly Media, Inc.

[IPB] Institut Pertanian Bogor. 2016. Sejarah Institut Pertanian Bogor (IPB). [Internet]. [Diunduh tanggal 16/08/2016]. Dapat diunduh dari: http://ipb.ac. id/about/history-of-ipb-embrionalstep.

Mardat, A. 2014. Pro Express.js: Master Express.js For Your Web Development. APress.

Masse, M. 2012. REST API Design Rulebook. Sebastopol (US): O’Reilly Media, Inc.

Nayak, A, Poriya, A, dan Poojary, D. 2013. “Type of NOSQL Databases and its Comparison with Relational Databases” dalam: International Journal of Applied Information Systems 5 (4). ISSN: 2249-0868. [Internet]. [Diunduh tanggal 12/08/2016]. Dapat diunduh dari: http://research.ijais.org/volume5/number4/ijais12-450888.pdf.

nosql-database.org. 2016. http://nosql-database.org/. Peyrott, S. 2016. JWT Handbook. Auth0.inc. Pressman, RS. 2010. Software Engineering: A Practitioner’s Approach. 7th ed.

New York (US): McGrawHill. Wibowo, R. 2016. “Pengembangan Sistem Informasi Aktivitas Kemahasiswaan

(Studi Kasus: Ditmawa Institut Pertanian Bogor)”. Skripsi. Institut Pertanian Bogor.

Page 30: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Lampiran 1 Activity diagram manipulasi data fakultas

Lampiran 2 Activity Diagram manipulasi data program studi

Page 31: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian
Page 32: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Lampiran 3 Sequence Diagram manipulasi fakultas

Lampiran 4 Sequence Diagram manipulasi program studi

Page 33: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

Lampiran 5 Daftar URL API fakultas, Program Study dan User

Nama Fungsi (Http Method) Endpoint Melihat list faculty (GET){{api-gateway-host}}/faculties Melihat detail faculty (GET){{api-gateway-host}}/faculties/:id Membuat faculty (POST){{api-gateway-host}}/faculties Menghapus faculty (DELETE){{api-gateway-host}}/faculties/:id Melihat list programStudy (GET){{api-gateway-host}}/ programStudies Melihat detail programStudy (GET){{api-gateway-host}}/ programStudies /:id Membuat programStudy (POST){{api-gateway-host}}/ programStudies Menghapus programStudy (DELETE){{api-gateway-host}}/ programStudies

/:id Melihat list alumni/mahasiswa

(GET){{api-gateway-host}}/users

Melihat informasi alumni/mahasiswa

(GET){{api-gateway-host}}/users/:id

Menambahkan user (POST){{api-gateway-host}}/users Mengubah user sebagai admin

(POST){{api-gateway-host}}/users / setAdmin / :id

Mengubah user sebagai non-admin

(POST){{api-gateway-host}}/users / unsetAdmin / :id

Login Admin (POST){{api-gateway-host}}/users/loginAdmin

Page 34: PENGEMBANGAN MODUL BACK END HIMPUNAN ...repository.unugha.ac.id/635/1/32.pdfKomputer di Departemen Ilmu Komputer, Fakultas Matematika dan Ilmu Pengetahuan Alam. Judul dari penelitian

22

RIWAYAT HIDUP

Penulis lahir di Palembang pada 26 Maret 1993 dari Pasangan Budi Priyanto dan Meiti Amalia. Penulis adalah anak pertama dari tiga bersaudara. Sebelumnya penulis menempuh pendidikan Sekolah Menengah Atas di SMAN 2 Ngawi pada tahun 2008 hingga 2011. Kemudian penulis melanjutkan pendidikan Program Diploma 3 (D3) di Institut Pertanian Bogor program keahlian Teknik Komputer pada tahun 2011 hingga 2014. Kemudian penulis melanjutkan pendidikan Program Sarjana Alih Jenis (S1) di Institut Pertanian Bogor Fakultas Matematika dan Ilmu Pengetahuan Alam Departemen Ilmu Komputer.