Pembangunan Web Mashup Monitoring Kerja Praktek dan Proyek Akhir Mahasiswa (Studi kasus Politeknik Telkom) Abdul Hafidh Kamal Politeknik Telkom
[email protected]
Fitri Susanti, ST., M.T Politeknik Telkom
[email protected]
Robbi Hendriyanto, ST. Politeknik Telkom
[email protected]
Abstrak Proyek Akhir (PA) dan Kerja Praktek (KP) merupakan mata kuliah wajib di Politeknik Telkom. Pada pelaksanaannya, mata kuliah ini merupakan mata kuliah praktek lapangan dan implementasi yang membutuhkan arahan, informasi dan koordinasi yang intensif antara dosen pembimbing dan mahasiswa. Namun terkadang pada pelaksanaannya terdapat permasalahan komunikasi yang mengganggu antara mahasiswa, dosen pembimbing dan koordinator mata kuliah. Permasalahan yang sering muncul yaitu sulitnya bagi mahasiswa mencari informasi mengenai kontak handphone dan email dosen serta informasi pengumuman PA dan KP, seperti pencarian informasi mengenai tanggal pendaftaran, penetapan pembimbing dan pengumuman-pengumuman penting lain. Walaupun saat ini media informasi yang dimanfaatkan adalah jejaring sosial Facebook, namun hal ini dinilai kurang efisien karena mahasiswa harus mencari-cari dan membedakan antara pengumuman penting dari koordinator dengan komentar tanya jawab yang dilakukan oleh mahasiswa dan dosen. Hal ini membuat admin group harus melakukan penyaringan dan beberapa kali harus menghapus data komentar agar informasi penting tidak tertumpuk dengan komentar mahasiswa maupun dosen. Permasalahan lainya adalah tidak adanya catatan mengenai progress pengerjaan mata kuliah baik PA maupun KP yang dapat dijadikan acuan dosen pembimbing untuk memantau progress bimbingan mahasiswa. Dengan adanya permasalahan tersebut maka diusulkan untuk dibangun sebuah media komunikasi dan monitoring khusus yang berbasis web mashup. Web mashup ini akan dibangun dengan memanfaatkan layanan API yang disediakan oleh Twitter untuk fitur komunikasi seperti berbagi info dan tanya jawab, dan layanan API dari Srcribd untuk fitur berbagi file. Beberapa fungsionalitas atau fitur yang dibangun disesuaikan untuk menyelesaikan permasalahan komunikasi yang ada. Fungsionalitas yang akan dibangun adalah berbagi info pengumuman dan tanya jawab, berbagi file, pengelolaan dan monitoring progress bimbingan. Kata Kunci: Web Mashup, API
Abstract Keywords: web service, API, OAuth, Cloud storage, storage media, service 1.
Pendahuluan
1.1 Latar Belakang Proyek Akhir (PA) dan Kerja Praktek (KP) merupakan mata kuliah wajib di Politeknik Telkom. Pada pelaksanaannya, mata kuliah ini merupakan mata kuliah praktek lapangan dan implementasi yang membutuhkan arahan, informasi dan koordinasi yang intensif antara dosen pembimbing dan mahasiswa. Namun terkadang pada pelaksanaannya terdapat permasalahan komunikasi yang mengganggu antara mahasiswa, dosen pembimbing dan koordinator mata kuliah. Permasalahan yang sering muncul yaitu sulitnya bagi mahasiswa mencari informasi mengenai kontak handphone dan email dosen serta informasi pengumuman PA dan KP, seperti pencarian informasi mengenai tanggal pendaftaran, penetapan pembimbing dan pengumuman-pengumuman penting lain. Walaupun saat ini media informasi yang dimanfaatkan adalah jejaring sosial Facebook, namun hal ini dinilai kurang efisien karena mahasiswa harus mencari-cari dan membedakan antara pengumuman penting dari koordinator dengan komentar tanya jawab yang dilakukan oleh mahasiswa dan dosen. Hal ini membuat admin group harus melakukan penyaringan dan beberapa kali harus menghapus data komentar agar informasi penting tidak tertumpuk dengan komentar mahasiswa maupun dosen. Permasalahan lainya adalah tidak adanya catatan mengenai progress pengerjaan mata kuliah baik PA maupun KP yang dapat dijadikan acuan dosen pembimbing untuk memantau progress bimbingan mahasiswa. Dengan adanya permasalahan tersebut maka diusulkan untuk dibangun sebuah media komunikasi dan monitoring khusus yang berbasis web mashup. Web mashup ini akan dibangun dengan memanfaatkan layanan API yang disediakan oleh Twitter untuk fitur komunikasi seperti berbagi info dan tanya jawab, dan layanan API dari Srcribd untuk fitur berbagi file. Beberapa fungsionalitas atau fitur yang dibangun disesuaikan untuk menyelesaikan permasalahan komunikasi yang ada.
Fungsionalitas yang akan dibangun adalah berbagi info pengumuman dan tanya jawab, berbagi file, pengelolaan dan monitoring progress bimbingan. 1.2 Rumusan Masalah Rumusan masalah dalam Proyek Akhir ini adalah : 1. Bagaimana membangun media komunikasi untuk membantu permasalahan komunikasi, pencarian informasi dan monitoring seputar PA atau KP? 2. Bagaimana memanfaatkan layanan dari Twitter dan Scribd untuk diintegrasikan dengan web yang dibangun dalam proyek akhir ini? 1.3 Tujuan Tujuan Proyek Akhir ini adalah : 1. Membangun media informasi web Mashup monitoring Kerja Praktek dan Proyek Akhir mahasiswa dengan fungsionalitas, sebagai berikut : a. Berbagi info, tanya jawab oleh semua pengguna dan pengelolaan pengumuman penting oleh koordinator mata kuliah PA dan KP. b. Berbagi file dan melihat file tersebut. c. Mengelola progress oleh mahasiswa dan pemantauan progress oleh dosen pembimbing. d. Melihat informasi alur pelaksanaan PA dan KP dan informasi data pribadi mahasiswa atau dosen seperti kontak handphone dan email. 2. Mengintegrasikan web yang akan dibangun dengan layanan API/REST yang disediakan oleh Twitter dan Scribd untuk mendukung fungsionalitas web. 1.4 Batasan Masalah Adapun batasan masalah dalam Proyek Akhir ini adalah : 1. Tidak membahas keamanan sistem. 2. Data yang digunakan dalam proyek akhir ini merupakan data dummy dengan sample dari beberapa mahasiswa angkatan 2009 yang sedang melakukan pengerjaan PA atau KP pada tahun 2012 ini.
3. Koordinator mata kuliah PA dan KP diasumsikan tetap dan tidak ada pergantian. 4. File yang didukung untuk fitur berbagi hanya file berformat doc.. 5. Alur PA dan KP yang diasumsikan adalah tetap dan tidak berubah, yaitu : a. Untuk KP sesuai dengan file alur Kerja Praktek yang di upload tanggal 10 May 2011 dengan link http://helpdesk.politekniktelkom.ac.id/index.php?_m=downloads &_a=viewdownload&downloaditemid=341&nav=0,5,61 b. Untuk PA sesuai dengan ketentuan admin jurusan yang disampaikan dalam file “PA21 Pedoman dan Aturan PA BARU Nov 2011” di upload tanggal 07 Desember 2011 dengan link http://helpdesk.politekniktelkom.ac.id/index.php?_m=downloads &_a=viewdownload&downloaditemid=435&nav=0,5,54 7. Pembangunan web ini menggunakan API berikut : a. Scribd untuk fitur berbagi file. b. Twitter untuk fitur komunikasi seperti pengumuman info penting dan tanya jawab. 8. Notifikasi yang dicatat pada sistem adalah. a. Info pengumuman baru. b. Update data progress.. 1.5 Definisi Operasional 1. Pembangunan adalah pembuatan produk dari proyek akhir yang diajukan. 2. Web Mashup adalah web yang dibangun dengan memanfaatkan beberapa layanan web lain untuk membuat layanan baru. 3. Monitoring adalah kegiatan yang dilakukan oleh dosen dan mahasiswa. Monitoring itu terdapat beberapa definisi sesuai pelakunya, yaitu : a.koordinator KP atau PA, monitoring adalah memantau, mengumumkan informasi dan menjawab pertanyaan mengenai KP atau PA selama proses pelaksanaanya. b.Dosen pembimbing, monitoring adalah memantau progress pengerjaan PA atau KP yang diambil oleh mahasiswa bimbingannya. c.Bagi mahasiswa, monitoring adalah memantau informasi pengumuman baru mengenai KP atau PA serta mengatur timeline progress pengerjaanya. 4. Kerja Praktek merupakan mata kuliah wajib di Politeknik Telkom. Mata kuliah ini adalah mata kuliah praktek lapangan yang dilaksanakan di perusahaan yang ditentukan oleh mahasiswa bersangkutan. 5. Proyek Akhir merupakan matakuliah wajib pada semester akhir di Politeknik Telkom. Mata kuliah ini merupakan mata kuliah praktek pembangunan sebuah proyek yang ditentukan oleh mahasiswa bersangkutan. Dari definisi di atas “Pembangunan Web Mashup Monitoring Kerja Praktek dan Proyek Akhir Mahasiswa” adalah pembuatan sebuah media komunikasi khusus bebasis web mashup untuk mewadahi komunikasi dan monitoring PA dan KP antara dosen dan mahasiswa untuk kelancaran bimbingan, koordinasi dan arahan dari dosen pembimbing dan koordinator KP atau PA. 1.6 Metode Pengerjaan Proyek Akhir ini akan dibangun dengan metode waterfall. Ada beberapa tahapan yang akan dilaksanakan, yaitu sebagai berikut : Perencanaan Analiysis
Design
Design
Implementation
Pembangunan GUI
Design
Design
Implementation
Implementation
Pembangunan data
Pembangunan controler
Implementation
System
Gambar 1 Waterfall
Berikut adalah tahap dalam penyelesaiannya : 1. Perencanaan, tahap ini dilakukan pengumpulan ide mengenai konsep pembangunan web.
2. Analisis, tahap ini dilakukan pendefinisian fungsionalitas yang akan dibangun serta pemetaan penggunaan layanan API REST dari beberapa penyedia. 3. Desain, tahap ini dilakukan pemodelan terhadap seluruh kebutuhan dari sistem yang akan dibuat yaitu : a. Desain program b. Desain database c. Desain GUI 4. Implementasi, tahap ini seluruh desain yang telah dibuat akan ditranslasikan kedalam bahasa pemrograman atau akan direalisasikan menjadi sebuah produk web mashup monitoring Kerja Praktek dan Proyek Akhir mahasiswa. 2. Tinjauan Pustaka 2.1 Cloud Storage Merupakan media online yang dapat digunakan oleh pengguna internet manapun. Media sosial biasanya digunakan untuk saling berbagi, berkomunikasi, berhubungan dengan sesama pengguna internet dan juga dapat menjadi sebuah komunitas atau forumforum. Beberapa hal yang termasuk media sosial meliputi jejaring sosial, blog, wiki dan forum yang seolah-olah menciptakan sebuah dunia maya bagi pengguna internet. Andreas Kaplan dan Michael Haenlein (2010) mendefinisikan media sosial sebagai “Sebuah kelompok aplikasi berbasis internet yang membangun diatas dasar ideologi dan teknologi Web 2.0 dan yang memungkinkan penciptaan dan pertukaran User-generated content”. (Kaplan, 2010). Ada beberapa media sosial yang dimanfaatkan dalam pembangunan PA ini, yaitu Scribd dan Twitter. Scribd merupakan media sosial yang menyediakan layanan untuk berbagi file dokumen antara penggunnya. Dengan konsep User-generated content pengguna scribd dapat melakukan berbagai kegiatan untuk berbagi dan mempublish konten file yang dimilikinya. (Scribd Inc). Sedangkan Twitter adalah media informasi real-time yang menghubungkan pengguna dengan berbagai aktivitas perbincangan maupun berita yang dianggap menarik. (Twitter [7] Inc) 2.2 Service Oriented Architecture (SOA) Framework adalah sebuah teknik untuk menggunakan objek berkali-kali. Terdapat beberapa definisi berbeda mengenai framework. Definisi yang sering diungkapkan yaitu "Framework adalah sebuah desain dari keseluruhan bagian sistem berupa classclass abstrak yang dapat digunakan berkali-kali dan memiliki cara khusus dalam penggunaan dan interaksinya". definisi lainnya yaitu "Framework adalah sebuah kerangka aplikasi yang dapat digunakan dan disesuaikan oleh pengembang aplikasi". Dari definisi tersebut framework digunakan untuk mempermudah pembangunan sistem baru dengan menggunakan komponenkomponen objek class yang disediakan framework. seorang pengembang tidak perlu mengerti mengenai bagaimana komponen tersebut bekerja, karena yang diperlukan hanyalah mengetahui bagaimana cara menggunakannya. hal ini bertujuan agar pengembang dapat fokus terhadap aplikasi yang dibangunnya dan mempermudah dalam memaintenance. (Johnson, 1997) [1] 2.3 Web Service “Mashup” berasal dari kata “Mashed Potatoes”, namun dalam dunia teknologi mashup yaitu mengkombinasikan layanan dari beberapa website kedalam satu website baru. Mashup (Web Hybrid Technologies) pada saat ini banyak dikenal dalam pengembangan sebuah aplikasi berbasis web. Mashup biasanya menggunakan dua atau lebih dari layanan website lain untuk membangun suatu layanan baru yang lebih canggih. (Yee, 2008). [8]
2.4 Representational State Transfer (REST) Web 2.0 menawarkan komunikasi yang bersifat dua arah. Maksud dari sistem komunikasi dua arah adalah pemilik memberikan informasi, kemudian pengunjung bisa meninggalkan atau menambahkan sesuatu di dalamnya. Atau bisa kita sebut web 2.0 sebagai web read-write. Ouriel Media mendefinisikan Web2.0 . “Web2.0= Web1.0 + Web1.0,” katanya. Jika Web1.0 adalah mengenai diri kita sendiri, maka Web2.0 adalah mengenai saling interaksi antara diri kita sendiri dan orang lain. Hal yang paling mencolok pada web 2.0 ini adalah dirubahnya dari sistem dokumen siap saji ke platform aplikasi dan menjadikan metode
web menjadi aplikasi yang berjalan diatas browser. (O'Reilly Media, Inc, 2005) [2]
digunakan untuk meminta data yang berada di server seperti file dan user. 3.3.1 Use case diagram
2.5 Application Programmable Interface (API) Sebuah antarmuka pemrograman aplikasi (API) adalah kode sumber berbasis spesifikasi dimaksudkan untuk digunakan sebagai antarmuka dengan komponen software untuk berkomunikasi satu sama lain. API dapat mencakup spesifikasi untuk rutinitas, struktur data, kelas objek, dan variabel. [3] 3.
Analisis Dan Perencanangan
3.1 Analisis Kebutuhan Sistem Web mashup monitoring Kerja Praktek dan Proyek Akhir mahasiswa ini digunakan oleh mahasiswa dan dosen Politeknik Telkom untuk mempermudah komunikasi dan monitoring mengenai PA dan KP. Web ini akan dibangun dengan konsep jejaring sosial dimana pengguna dapat berkomunikasi satu sama lain. Fungsionalitas yang di bangun dalam web ini adalah sebagai berikut : 1. Berbagi info, tanya jawab oleh semua pengguna dan pengelolaan pengumuman penting oleh koordinator mata kuliah PA dan KP. 2. Berbagi file dan melihat file tersebut. 3. Mengelola progress oleh mahasiswa dengan membuat timeline pribadi dan pemantauan progress oleh dosen pembimbing dengan memantau timeline mahasiswa. 4. Melihat informasi alur pelaksanaan PA dan KP dan informasi data pribadi mahasiswa atau dosen seperti kontak handphone dan email. Untuk mendukung beberapa fungsionalitas, web ini akan diintegrasikan dengan beberapa API REST yang sesuai dengan kebutuhan pembangunan fungsionalitas, yaitu : 1. API Twitter untuk layanan berbagi info, tanya jawab dan kelola pengumuman. 2. API Scribd untuk layanan berbagi file. 3.2 Kebutuhan perangkat Keras Dan Lunak
Gambar 2 Use case diagram
3.3.2 ER diagram Consumer id
Id_api
id
id
Consumer secret
toke
Id_user 1
User_api
dicatat
Oauth
n
time
1
menggunakan Id_file Tanggal lahir
Email
Id_user Ukuran_file
id
Nama_file
password 1
Tipe_file
Status Aplikasi user
1
Mempunyai
n
File path
3.2.1 Pengembangan Sistem
1
Nama_aplikasi
Spesifikasi minimal perangkat keras yang dibutuhkan dalam mengembangkan Proyek Akhir yaitu laptop yang digunakan sebagai : 1. Webserver 2. Database 3. Penyimpanan data pengguna
1 Deskripsi_file
Nama mempunyai
Waktu
mempunyai
n
n
History Download
History Upload
IP IP Waktu id
Id_file
Spesifikasi hardware laptop yang digunakan dalam pengembangan aplikasi: Gambar 3 ER diagram Tabel 1 Spesifikasi perangkat keras
Perangkat Keras RAM Processor Harddisk
Spesifikasi minimal 2 GB (giga byte) Intel CORE 2 10 GB
3.2.2 Implementasi Sistem Berikut ini kebutuhan spesifikasi minimal perangkat lunak yang dibutuhkan dalam mengerjakan Pryoek Akhir, yaitu : Tabel 2 Spesifikasi perangkat lunak
Perangkat Lunak Apache MySQL PHP + PEAR Operating System
Spesifikasi Apache 2.2.21 5.5.16 5.3.8 Windows 7
Keterangan Webserver Database Server Server-side Script Operating System
3.3 Desain Diagram Dalam aplikasi Cloud Storage ini pengguna dapat melakukan download atau upload file di website yang disediakan. Sedangkan pada layanan web, pengguna dapat melakukan request token dan request data. Request token digunakan untuk meminta hak akses untuk melakukan request data. Dan request data
id
Id_file
4.
Implementasi dan Pengujian
contoh: email@dom ain.com kosong
Implementasi dalam projek akhir ini terdiri dari pembuatan database dan pembangunan aplikasi web dan API untuk REST berikut adalah penjelasannya. Aplikasi mempunyai 7 tabel database, yaitu tabel akun, api, file, history, history_upload, oauth, dan posting. 4.1 Implementasi
2
Passwo rd Huruf dan angka Huruf / angka
5.
Muncul pesan kesalahan, dan diarahkan ke menu registrasi Masuk aplikasi Masuk aplikasi
Muncul pesan kesalahan, dan diarahkan ke menu registrasi
OK
Masuk aplikasi
OK
Masuk aplikasi
OK
Kesimpulan dan saran
5.1 Kesimpulan 1. Cloud storage dapat membantu penyedia layanan atau pengembang yang tidak mempunyai media penyimpanan besar. 2. Pengembang dapat menggunakan Application Programmable Interface (API) sebagai antarmuka dalam menggunakan layanan web (web service)cloud storage. 3. Open Authorization (OAuth) dapat membantu memberikan keamanan pada layanan web (web service), sehingga pengembang yang tidak terdaftar tidak bisa menggunakan layanan. 5.2 Saran
Gambar 4 tabel database
1. Memperbaiki tampilan dalam menampilkan file, agar terlihat lebih baik contohnya seperti menambahkan virtual path. 2. Menambahkan Fitur fitur baru layanan web yang dapat membantu pengembang dalam mengembangkan aplikasinya contohnya seperti API untuk meminta data pengguna. 3. Membuat aplikasi desktop dengan sinkronisasi server yang dapat membantu pengguna dalam menggunakan aplikasi cloud storage.
Daftar Pustaka [1] [2]
[3]
[4]
Gambar 5 Tampilan web
[5]
4.2 Pengujian Tabel 3 pengujian
[6] Fungsionalitas : Autentikasi pengguna masuk aplikasi Tipe Output yang No Field Output Sistem Masukan Diharapkan Muncul Muncul pesan pesan kesalahan, dan kesalahan, diarahkan ke Kosong dan menu registrasi diarahkan ke menu registrasi Huruf dan Muncul Muncul pesan angka pesan kesalahan, dan kesalahan, diarahkan ke dan menu registrasi diarahkan ke 1 Email menu registrasi Huruf atau Muncul Muncul pesan angka pesan kesalahan, dan kesalahan, diarahkan ke dan menu registrasi diarahkan ke menu registrasi Format Masuk Masuk aplikasi email aplikasi
Ket OK
[7]
[8] OK
OK
OK
Contributing SOA Practitioners. (2006). SOA Practitioners’ Guide. BEA Systems, Inc. Fielding, R. T. (2000). Architectural Styles and the Design of Network-based Software Architectures. Irvine: University of California. Malka, L. (2010). How to Design APIs for Cryptographic Protocols. How to Design APIs for Cryptographic Protocols, 40. Mellers. (2000). Choice and the relative pleasure of consequences. Psychological Bulletin, 5. Michael Zur Muehlen, J. V. (2004). Developing Web Services Choreography Standards - The Case of REST vs. SOAP. Amsterdam: Elsevier. OAuth.net. (2007, September 5). OAuth Introduction. Dipetik Febuari 2012, 14, dari OAuth: http://oauth.net/about/ Rhea, S., Wells, C., Eaton, P., Geels, D., Zhao, B., Weatherspoon, H., et al. (2001, Oktober). Maintenance-Free Global Data Storage. Maintenance-Free Global Data Storage., hal. 10. W3C Working Group Note. (2004, Febuari 11). Web Services Architecture. Dipetik Febuari 17, 2012, dari W3C: http://www.w3.org/TR/ws-arch/