• Tidak ada hasil yang ditemukan

Pembangunan Sistem Pendistribusian Jadwal Sidang Melalui Google Calendar untuk Mata Kuliah Tugas Akhir di Universitas Kristen Maranatha.

N/A
N/A
Protected

Academic year: 2017

Membagikan "Pembangunan Sistem Pendistribusian Jadwal Sidang Melalui Google Calendar untuk Mata Kuliah Tugas Akhir di Universitas Kristen Maranatha."

Copied!
17
0
0

Teks penuh

(1)

ABSTRAK

Pendistribusian jadwal sidang pada Fakultas IT Universitas Kristen Maranatha masih disusun dengan menggunakan aplikasi spreadsheet dan pendistribusian melalui layanan cloud storage yang diakses secara manual oleh peserta sidang, serta belum memanfaatkan layanan kalender daring, sehingga tidak ada cara pendistribusian secara langsung kepada peserta sidang, pembimbing, dan penguji. Oleh karena itu, dibangun sistem untuk pengelolaan jadwal sidang yang bertujuan untuk mendistribusikan jadwal kepada mahasiswa, pembimbing, dan penguji dengan memanfaatkan layanan Google Calendar. Google Calendar merupakan aplikasi dan layanan yang dapat digunakan untuk pembuatan jadwal, penerapan layanan Google Calendar dengan sistem yang dibangun dilakukan dengan menggunakan Google API Client Library yang telah menyediakan fungsi-fungsi untuk pemanggilan ke API. Data jadwal yang dikirim ke Google Calendar didistribusikan oleh Google Calendar melalui undangan email dan penambahan event pada kalender penerima undangan jika menggunakan akun Google. Agar sistem dapat mendistribusikan jadwal kepada penerima, maka sistem perlu melakukan sinkronisasi data jadwal dengan Google Calendar yang dilakukan oleh pengguna sistem. Pada proses sinkronisasi, hasil benchmark menemukan bahwa dengan pemanggilan API menggunakan metode batching lebih efektif dibandingkan daripada pemanggilan API yang dilakukan per jadwal. Dengan dibuatnya sistem ini jadwal dapat didistribusikan secara langsung kepada peserta sidang, pembimbing, maupun penguji.

(2)

vi

ABSTRACT

The distribution of thesis defense schedule in Universitas Kristen Maranatha’s

Faculty of IT still made with spreadsheet aplication, and distributed over cloud storage that accessed manually by user, also without utilization of any online calendar service, hence built a system to manage thesis defense schedule that intended to distribute schedule to student, adviser, and evaluator using Google Calendar service. Google Calendar is an application and service which can be used to making schedules, by applicate Google Calendar service to system that performed using Google API Client Library which provide functions for API calls. Schedule data that sent to Google Calendar will be distributed by Google Calendar through email invitation and event addition to attendees’ calendar if they are using Google account. To enable system to distribute schedules for attendees, the system should synchronize schedule that performed by user. While synchronizing, the benchmarking found that by calling API using batching method is more effective than calling API per schedule. Because of this system, the schedules now are able to distribute directly to student, adviser, and evaluator.

(3)

DAFTAR ISI

LEMBAR PENGESAHAN ... i

PERNYATAAN ORISINALISTAS LAPORAN PENELITIAN ... ii

PERNYATAAN PUBLIKASI LAPORAN PENELITIAN ... iii

PRAKATA ... iv

ABSTRAK ... v

ABSTRACT ... vi

DAFTAR ISI ... vii

DAFTAR GAMBAR ... x

DAFTAR TABEL ... xiii

DAFTAR KODE PROGRAM ... xiv

DAFTAR NOTASI / LAMBANG ... xv

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Rumusan Masalah... 2

1.3 Tujuan Pembahasan ... 2

1.4 Ruang Lingkup Kajian... 2

1.5 Sumber Data ... 2

1.6 Sistematika Penyajian ... 3

BAB 2 LANDASAN TEORI ... 4

2.1 Layanan Google Calendar ... 4

Konsep Google Calendar ... 4

Google Calendar API... 6

2.2 Email dan SMTP ... 8

(4)

viii

CodeIgniter ... 8

Google APIs Client Library ... 9

Composer Dependency Manager ... 10

BAB 3 ANALISIS DAN DESAIN SISTEM ... 11

3.1 Analisis ... 11

3.2 Gambaran Keseluruhan ... 12

Persyaratan Antarmuka Eksternal ... 12

Antarmuka dengan Pengguna ... 12

Antarmuka Perangkat Keras ... 12

Antarmuka Perangkat Lunak ... 13

Antarmuka Komunikasi ... 13

3.3 Desain Perangkat Lunak ... 13

Pemodelan Perangkat Lunak ... 13

Desain Penyimpanan Data ... 33

Rancangan Antarmuka Pengguna ... 34

BAB 4 IMPLEMENTASI ... 50

4.1 Halaman Beranda ... 50

4.2 Halaman Sign In ... 51

4.3 Halaman Jadwal Sidang ... 51

4.4 Halaman Topik ... 57

4.5 Halaman Dosen... 58

4.6 Halaman Mahasiswa ... 60

4.7 Halaman Tahun Akademis ... 61

4.8 Halaman Bidang Keahlian (KBK) ... 62

4.9 Halaman Tipe Sidang ... 62

(5)

4.11 Halaman Draf Email ... 64

BAB 5 PENGUJIAN ... 66

5.1 Pengujian Black Box ... 66

Pengujian Halaman Login User ... 66

Pengujian Halaman Profile User ... 67

Pengujian Halaman Create User ... 67

Pengujian Halaman Update User ... 68

Pengujian Halaman Create Data Dosen ... 68

Pengujian Halaman Update Data Dosen ... 69

Pengujian Halaman Create Data Mahasiswa ... 69

Pengujian Halaman Update Data Mahasiswa ... 70

Pengujian Halaman Create Topik ... 70

Pengujian Halaman Update Topik ... 70

Pengujian Halaman Create Jadwal Sidang ... 71

Pengujian Halaman Update Jadwal Sidang ... 71

Pengujian Halaman Search Jadwal Sidang ... 72

Pengujian Halaman Draf Email ... 72

Pengujian Fitur Impor Data ... 73

Pengujian Fitur Sinkronisasi Google Calendar ... 73

Pengujian Fitur Email Gateway ... 73

5.2 Benchmarking ... 74

BAB 6 SIMPULAN DAN SARAN ... 77

6.1 Simpulan ... 77

6.2 Saran ... 77

DAFTAR PUSTAKA ... 78

(6)

x

DAFTAR GAMBAR

Gambar 2.1 Penggunaan OAuth 2.0 untuk mengakses Google API (Google, 2015)

... 7

Gambar 2.2 Alur data yang dilewati sistem pada framework CodeIgniter (CodeIgniter, 2015)... 9

Gambar 3.1 Rancangan Use Case Sistem Pendistribusian Jadwal Sidang ... 14

Gambar 3.2 Rancangan Use Case Subsistem Pengolahan Data Jadwal Sidang ... 15

Gambar 3.3 Rancangan Use Case Subsistem Pengolahan Data Topik ... 15

Gambar 3.4 Rancangan Use Case Subsistem Pengolahan Data Dosen ... 16

Gambar 3.5 Rancangan Use Case Subsistem Pengolahan Data Mahasiswa ... 17

Gambar 3.6 Rancangan Use Case Subsistem Pengolahan Data User ... 17

Gambar 3.7 Activity diagram fitur login ... 18

Gambar 3.8 Activity Diagram Fitur Logout ... 19

Gambar 3.9 Activity Diagram Fitur Create Jadwal Sidang ... 20

Gambar 3.10 Activity Diagram Fitur Update Jadwal Sidang ... 21

Gambar 3.11 Activity Diagram Fitur Search Jadwal Sidang ... 22

Gambar 3.12 Activity Diagram Fitur Create Topik ... 22

Gambar 3.13 Activity Diagram Fitur Update Topik ... 23

Gambar 3.14 Activity Diagram Fitur Create Dosen ... 24

Gambar 3.15 Activity Diagram Fitur Update Dosen ... 24

Gambar 3.16 Activity Diagram Fitur Create Mahasiswa ... 25

Gambar 3.17 Activity Diagram Fitur Update Mahasiswa ... 26

Gambar 3.18 Activity Diagram Fitur Kelola KBK ... 26

Gambar 3.19 Activity Diagram Fitur Create Tahun Akademis ... 27

Gambar 3.20 Activity Diagram Fitur Create User ... 28

Gambar 3.21 Activity Diagram Fitur Update User ... 28

Gambar 3.22 Activity Diagram Fitur Deactivate User ... 29

Gambar 3.23 Activity Diagram Fitur Import Data ... 30

Gambar 3.24 Activity Diagram Fitur Sinkronisasi ... 31

(7)

Gambar 3.26 Class Diagram Sistem ... 33

Gambar 3.27 Diagram EER berdasarkan rancangan basis data untuk sistem... 34

Gambar 3.28 Rancangan Antarmuka Halaman Login ... 35

Gambar 3.29 Rancangan Antarmuka Halaman Beranda ... 36

Gambar 3.30 Rancangan Tampilan Halaman Jadwal Sidang ... 37

Gambar 3.31 Rancangan Tampilan Halaman Create Jadwal Sidang ... 38

Gambar 3.32 Rancangan Tampilan Halaman Search Jadwal Sidang ... 39

Gambar 3.33 Rancangan Tampilan Halaman Topik ... 39

Gambar 3.34 Rancangan Tampilan Halaman Create Topik ... 40

Gambar 3.35 Rancangan Tampilan Halaman Dosen ... 41

Gambar 3.36 Rancangan Tampilan Halaman Create Dosen ... 41

Gambar 3.37 Rancangan Tampilan Halaman Mahasiswa ... 42

Gambar 3.38 Rancangan Tampilan Halaman Create Mahasiswa ... 43

Gambar 3.39 Rancangan Tampilan Halaman Tahun Akademis ... 43

Gambar 3.40 Rancangan Tampilan Halaman Kelompok Bidang Keahlian ... 44

Gambar 3.41 Rancangan Tampilan Halaman Tipe Sidang ... 45

Gambar 3.42 Rancangan Tampilan Halaman Pengguna ... 46

Gambar 3.43 Rancangan Tampilan Halaman Create Pengguna ... 47

Gambar 3.44 Rancangan Tampilan Halaman Update Pengguna ... 47

Gambar 3.45 Rancangan Tampilan Halaman Update Profile Pengguna ... 48

Gambar 3.46 Rancangan Tampilan Antarmuka Halaman Draf Email ... 49

Gambar 4.1 Implementasi Halaman Beranda ... 50

Gambar 4.2 Implementasi Halaman Sign-in ... 51

Gambar 4.3 Implementasi Halaman Jadwal Sidang ... 52

Gambar 4.4 Form Tambah Jadwal Sidang ... 53

Gambar 4.5 Process Dialog Saat Proses Sinkronisasi Jadwal ... 54

Gambar 4.6 Email Undangan yang Diterima dari Google Calendar ... 56

Gambar 4.7 Event Baru Ditambahkan Ke Google Calendar... 56

Gambar 4.8 Contoh File CSV pada Impor Data Jadwal Sidang ... 57

Gambar 4.9 Implementasi Halaman Topik ... 57

Gambar 4.10 Form Tambah Topik ... 58

(8)

xii

Gambar 4.12 Implementasi Halaman Dosen ... 59

Gambar 4.13 Dialog Import Data Dosen ... 60

Gambar 4.14 Implementasi Halaman Mahasiswa ... 61

Gambar 4.15 Implementasi Halaman Tahun Akademis ... 61

Gambar 4.16 Implementasi Halaman KBK ... 62

Gambar 4.17 Implementasi Halaman Tipe Sidang ... 63

Gambar 4.18 Implementasi Halaman Pengguna ... 64

Gambar 4.19 Implementasi Halaman Draf Email ... 65

Gambar 5.1 Bandwidth Throttling Pada Pemanggilan API ... 75

(9)

DAFTAR TABEL

Tabel 2.1 Method HTTP untuk layanan RESTful ... 7

Tabel 5.1 Pengujian Halaman Login ... 66

Tabel 5.2 Pengujian Halamn Profile User ... 67

Tabel 5.3 Pengujian Halaman Create User... 67

Tabel 5.4 Pengujian Halaman Update User ... 68

Tabel 5.5 Pengujian Halaman Create Data Dosen... 68

Tabel 5.6 Pengujian Halaman Update Data Dosen ... 69

Tabel 5.7 Pengujian Halaman Create Data Mahasiswa ... 69

Tabel 5.8 Pengujian Halaman Update Data Mahasiswa ... 70

Tabel 5.9 Pengujian Halaman Create Topik ... 70

Tabel 5.10 Pengujian Halaman Update Topik ... 70

Tabel 5.11 Pengujian Halaman Create Jadwal Sidang ... 71

Tabel 5.12 Pengujian Halaman Update Jadwal Sidang ... 71

Tabel 5.13 Pengujian Halaman Update Jadwal Sidang ... 72

Tabel 5.14 Pengujian Halaman Draf Email ... 72

Tabel 5.15 Pengujian Halaman Import Data ... 73

Tabel 5.16 Pengujian Fitur Sinkronisasi Google Calendar ... 73

Tabel 5.17 Pengujian Fitur Email Gateway ... 74

(10)

xiv

DAFTAR KODE PROGRAM

(11)

DAFTAR NOTASI / LAMBANG

Pemodelan perangkat lunak menggunakan UML, berikut adalah daftar notasi / lambang yang terdapat pada pemodelan UML [1].

Jenis Nama Gambar Keterangan

Use Case proses atau aksi yang

dapat dilakukan oleh aktor pada aplikasi.

Activity

Diagram Initial Node

Menandakan dimulainya aktivitas pada sebuah sistem.

Activity

Diagram Final Node

Menandakan akhir aliran proses sistem

Activity

Diagram Activity Activity

(12)

xvi

Jenis Nama Gambar Keterangan

Activity

Diagram Flow Arrow

Menggambarkan alur activity

Class

Diagram Class

Model/kelas yang terdapat pada sistem

Class

Diagram

Bi-directional

Association

Kedua kelas yang terhubung saling

mengetahui

Class

Diagram

Aggregation

Association

Menandakan suatu kelas adalah bagian

(13)

BAB 1

PENDAHULUAN

Pada bab ini akan menjelaskan latar belakang, rumusan masalah, tujuan, batasan masalah, dan sistematika pembahasan laporan penelitian ini.

1.1 Latar Belakang Masalah

Pembuatan jadwal sidang pada mata kuliah Seminar Tugas Akhir dan Tugas Akhir di Fakultas Teknologi Informasi Universitas Kristen Maranatha selama ini dilakukan secara manual dengan menggunakan aplikasi spreadsheet, serta untuk mengumumkan jadwal sidang yang telah disusun kepada mahasiswa dan evaluator diberitahukan melalui website fakultas atau menggunakan layanan cloud storage seperti Dropbox yang diakses secara manual oleh peserta sidang. Hal ini dapat menyebabkan mahasiswa serta evaluator tidak dapat mengetahui jadwal sidang secara langsung, yang dimana mengharuskan akses ke website untuk mengetahui jadwal.

Untuk mempercepat penyebaran informasi jadwal kepada mahasiswa dan evaluator, maka dapat diterapkan teknologi informasi untuk penyampaian informasi jadwal melalui kalender elektronik pribadi milik setiap pihak yang terlibat pada sidang. Teknologi ini dapat memberikan notifikasi secara langsung melalui email ataupun melalui notifikasi smartphone, yang memungkinkan pengingatan jadwal sidang yang akan dihadiri oleh pihak yang terlibat pada sidang. Contoh teknologi ini adalah Google Calendar.

(14)

2

1.2 Rumusan Masalah

Berdasarkan latar belakang masalah, maka dapat diambil kesimpulan beberapa rumusan masalah sebagai berikut:

1. Bagaimana aplikasi dapat melakukan pengolahan data jadwal sidang untuk mata kuliah Tugas Akhir?

2. Bagaimana aplikasi dapat melakukan mendistribusikan secara langsung kepada peserta sidang, pembimbing, dan penguji?

1.3 Tujuan Pembahasan

Berdasarkan rumusan masalah yang telah terurai di atas, maka dapat penulis dapat menuliskan tujuan pembuatan aplikasi ini sebagai berikut:

1. Membuat aplikasi yang dapat melakukan pengolahan data jadwal sidang pada mata kuliah Seminar Tugas Akhir dan Tugas Akhir.

2. Membuat aplikasi yang dapat melakukan akses dan sinkronisasi jadwal sidang dengan memanfaatkan fitur pada Google Calendar API.

1.4 Ruang Lingkup Kajian

Ruang lingkup dari pembuatan aplikasi ini antara lain adalah:

1. Aplikasi yang dibuat hanya fokus pada penjadwalan sidang pada mata kuliah Seminar Tugas Akhir dan Tugas Akhir.

2. Aplikasi mendistribusikan jadwal sidang ke mahasiswa, pembimbing, dan penguji sidang.

1.5 Sumber Data

Sumber data yang digunakan dalam pembuatan laporan Tugas Akhir ini adalah sebagai berikut:

1. Sumber data primer

(15)

3

Data yang diperoleh dengan melakukan survei literatur/studi kepustakaan, berupa buku teks, situs-situs di internet, serta referensi ilmiah lain yang memuat materi yang berhubungan dengan penelitian.

1.6 Sistematika Penyajian

Sistematika pembahasan dari penyusunan laporan Tugas Akhir ini direncakan sebagai berikut:

BAB I PENDAHULUAN

Bab ini memuat tentang latar belakang, rumusan masalah, tujuan, ruang lingkup kajian, serta sistematika pembahasan dari Tugas Akhir ini.

BAB II LANDASAN TEORI

Bab ini membahas mengenai teori-teori yang berkaitan dalam penyelesaian proyek Tugas Akhir.

BAB III ANALISIS DAN DESAIN SISTEM

Bab ini membahas analisis dan desain sistem yang akan dibangun pada proyek Tugas Akhir.

BAB IV IMPLEMENTASI

Bab ini berisi kumpulan screenshot dari proyek yang dibuat beserta deskripsi dari tiap fitur yang dibuat.

BAB V PENGUJIAN

Bab ini berisi hasil pengujian dan evaluasi dari sistem yang telah dibangun.

BAB VI SIMPULAN DAN SARAN

(16)

77

BAB 6

SIMPULAN DAN SARAN

6.1 Simpulan

Dari pembahasan yang telah dilakukan dan hasil penelitian, dapat ditarik beberapa kesimpulan, yaitu:

1. Sistem dapat melakukan pengolahan data jadwal sidang pada basis data lokal yang nantinya dapat didistribusikan ke penerima dengan menggunakan Google Calendar API, API berperan sebagai penghubung antara basis data lokal jadwal sidang dengan jadwal yang ada pada Google Calendar, Google Calendar kemudian mendistribusikan data jadwal melalui invitation melalui email dan penambahan event pada kalender jika penerima memiliki akun Google.

2. Akses pada Google Calendar API dapat dilakukan dengan bantuan Google APIs Client Library yang membungkus fungsi-fungsi untuk pemanggilan API, pustaka ini juga menangani hak akses sistem dengan API melalui otorisasi permintaan OAuth2. Dengan sistem yang telah terotorisasi, sistem dapat melakukan sinkronisasi satu arah untuk fungsi penambahan dan perubahan pada jadwal sidang yang disimpan pada basis data dengan data pada server Google Calendar. Tetapi sinkronisasi yang dilakukan berjumlah banyak dapat mengakibatkan pembatasan request dari Google Calendar, sehingga pemanggilan API harus dilakukan dengan jumlah yang wajar. Oleh karena itu penulis mendapatkan metode batching API call dapat menangani masalah pada jumlah pemanggilan API yang terlalu besar, dan pembatasan request dapat terhindarkan.

6.2 Saran

(17)

DAFTAR PUSTAKA

[1] S. W. Ambler, "Introduction to the Diagrams of UML 2.X," Ambysoft Inc.,

2014. [Online]. Available:

http://www.agilemodeling.com/essays/umlDiagrams.htm. [Accessed 27 May 2016].

[2] T. F. Bekcan, "Google Calendar," Journal of the Medical Library Association, pp. 1-3, 2008.

[3] S. Shapiro, "Using Google Calendar as an Email Alert System for Electronic Resource Renewals," Journal of Library Innovation, pp. 1-5, 2010.

[4] Google Inc., "Overview of Google Calendar API," 13 November 2015. [Online]. Available: https://developers.google.com/google-apps/calendar/concepts.

[5] P. Arez, "Speaking with Google Calendar," Universidade Tecnica Lisboa, Paris, 2009.

[6] J. Rhoton, Programmer's Guide to Internet Mail, Digital Press, 2000.

[7] British Columbia Institute of Technology, "CodeIgniter 3.0.3 documentation,"

22 November 2015. [Online]. Available:

https://www.codeigniter.com/userguide3/overview/appflow.html.

[8] N. Adermann and J. Boggiano, "Introduction - Composer," 25 November 2015. [Online]. Available: https://getcomposer.org/doc/00-intro.md.

[9] G. Inc., "Calendar usage limits - Google Apps Administrator Help," [Online]. Available: https://support.google.com/a/answer/2905486?hl=en. [Accessed 31 Mei 2016].

[10] B. Mulloy, "Web API Design - Crafting Interfaces that Developers Love,"

March 2012. [Online]. Available:

Gambar

Gambar Keterangan
Gambar Keterangan

Referensi

Dokumen terkait

Menurut Gluey ( 1989 ) dalam I.G.A.K.Wardani ( 2007 : 2.29 ) mengatakan bahwa wawancara adalah teknik pengumpulan informasi/data yang dilakukan melalui pengajuan

Kajian ini terbatas kepada mengenalpasti kesan kaedah pengajaran multimedia interaktif dengan penggunaan perisian Microsoft Office Powerpoint 2007 dalam teori

Dalam menganalisis data yang berupa kosakata kata majemuk metode analisis deskriptif digunakan untuk menganalisis proses pembentukan, makna dan hubungan sintaksis

Berdasarkan hasil evaluasi penerapan metode runtun waktu fuzzi dalam.. prediksi banjir dapat menghasilkan prediksi yang baik, sehingga

Masalah penelitiannya adalah kurangnya inovasi produk batik. Rumusan masalah dalam penelitian ini yaitu apa faktor- faktor yang dapat meningkatkan inovasi produk untuk

Dengan demikian massa sebuah kelas merepresentasikan probabilitas sebuah obyek (yang akan diklasifikasi) adalah anggota kelas tersebut. Dengan menginterpretasikan massa

Skripsi ini tidak boleh diperbanyak seluruhnya atau sebagian, dengan dicetak ulang, difoto kopi, atau cara lainnya tanpa ijin

Menurut Engel (1985), bahwa persentase pengeluaran rumah tangga yang dibelanjakan untuk pangan akan semakin berkurang dengan meningkatnya pendapatan.Kenaikan pendapatan