1. Pendahuluan Latar Belakang -...
Transcript of 1. Pendahuluan Latar Belakang -...
2
1. Pendahuluan
Latar Belakang
Situs-situs jejaring sosial yang didisain untuk memungkinkan individu
untuk berbagi konten, biasanya dari jenis tertentu (misalnya video, foto, website).
Situs tersebut menyediakan alternatif untuk mencari konten pada mesin pencari
untuk memungkinkan komunitas dari rekan-rekan untuk mengidentifikasi dan
membagikan konten yang dianggap menarik. Sejumlah jejaring sosial yang
berhubungan dengan musik yaitu Last.fm, imeem, dan Sonic Garden memberikan
kemampuan dalam hal memberikan komentar dan navigasi pada situs tersebut
berdasarkan metadata seperti label dan artis [1]. Nilai yang dianggap penting
untuk dijadikan alasan kenapa penelitian ini dilakukan yaitu semakin banyaknya
pengguna jejaring sosial yang menyadari bahwa jejaring sosial adalah media yang
tepat untuk berbagi, mulai dari gaya hidup, trend masa kini dan juga musik.
Perangkat telepon selular sebagai alat yang menjembatani pengguna dengan
berbagai macam jejaring sosial, pengguna mampu membagikan informasi dimana
saja dan kapan saja. Perlu sebuah media yang mampu mengintegrasikan informasi
keberbagai macam jejaring sosial untuk mengurangi penggunaan sumber terbatas
seperti daya dan konektifitas.
Rumusan Masalah
Rumusan permasalahan pada penelitian yang dilakukan yaitu bagaimana
caranya agar aplikasi dapat mengintegrasikan dengan media social networking
yang sudah ada sebelumnya yaitu Facebook dan Twitter? Application
Programmable Interface (API) yang telah disediakan oleh kedua jejaring sosial
tersebut dapat digunakan oleh aplikasi pihak ketiga, aplikasi diharapkan mampu
mengintegrasikan status sekaligus komentar pada jejaring sosial kedalam aplikasi.
Sistem dibangun dengan mengkombinasikan aplikasi web server yang
menggunakan Google App Engine dan smartphone Android sebagai client.
Penggunaan API Facebook dan Twitter sepenuhnya dilakukan pada aplikasi
server, dengan tujuan mengurangi penggunaan sumber terbatas yang ada pada
aplikasi client yaitu konektifitas dan sumber daya. Google App Engine tergolong
kedalam cloud computing tingkat Platform as a Service (PaaS) [2]. Cloud
computing difokuskan dalam sharing data dan komputasi sumber daya melalui
titik-titik yang terdapat pada jaringan terstruktur [3].
Tujuan Penelitian
Tujuan dari penelitian yang dilakukan adalah merancang aplikasi yang
mampu berinteraksi dengan social networking seperti Facebook dan Twitter
menggunakan API yang tersedia. Tujuan lainnya yaitu menciptakan aplikasi
social networking yang memudahkan pengguna untuk berbagi pengalaman
melalui musik, dengan harapan dapat memudahkan pengguna social networking
untuk berbagi pengalaman musik dan meningkatkan kemampuan eksplorasi dunia
musik dengan pengguna lainnya.
3
2. Tinjauan Pustaka
Penelitian Terdahulu
Penelitian dengan judul “Integrated Context-Aware and Cloud –Based
Adaptive Home Screen for Android Phones”, meurpakan sistem berbasis cloud
computing yang dirancang untuk mengatur tampilan home screen pada Android.
Konfigurasi dari aplikasi yang terdapat di home screen disimpan pada Google
cloud dan server (Google App Engine) akan mengirimkan event ke perangkat
mobile yang telah terdaftar yang kemudian akan dieksekusi pada perangkat
telepon. Keuntungan penggunaan dari Cloud 2 Device Messaging API yang
disediakan oleh Google untuk Android 2.2 adalah aplikasi dapat dapat mendorong
pesan ke perangkat mobile tanpa aplikasi berjalan terlebih dahulu. Ini bukan
hanya solusi lebih ringkas bagi pengguna, tapi juga memberikan keuntungan
lainnya seperti menyediakan umur baterai lebih baik semenjak tidak
mengandalkan pada mekanisme polling [4].
Penelitian selanjutnya berjudul “Zompopo: Mobile Calendar Prediction
based on Human Activities Recognition using the Accelerometer and Cloud
Services” menerapkan Android Cloud 2 Device Messaging API yang sama
disediakan oleh Google pada sebuah aplikasi bernama Zompopo. Zompopo adalah
sebuah kalendar pintar yang menggabungkan Google Calendar dengan
kemampuan accelerometer sensor, yang memungkinkan pengguna untuk
menentukan jadwal aktifitas pengguna dari hari pertama menurut aktifitas hingga
minggu terakhir. AC2DM adalah mekanisme yang memungkinkan mendorong
pesan kedalam antrian melalui layanan notifikasi pihak ketiga, yang kemudian
dikirim ke perangkat telepon. Ketika pesan diterima, sistem akan menjalankan
kembali aplikasi melalui Intent Broadcast, mengirimkan pesan masuk yang belum
diolah langsung menuju aplikasi Zompopo [5].
Dua penelitian yang telah dibahas sebelumnya terdapat perbedaan pustaka
yang digunakan dalam penelitian kali ini, yaitu tidak adanya penggunaan URL
Fetch Service untuk berkomunikasi diluar daripada sistem tersebut.
Cloud Computing
Kunci dari definisi cloud computing terletak pada kata “awan” itu sendiri.
Awan tersebut merupakan sekumpulan dari komputer-komputer yang saling
berhubungan. Komputer-komputer ini bisa saja merupakan sebuah komputer
personal atau server jaringan, yang sifatnya publik atau pribadi [6].
Terdapat tiga jenis tingkat tawaran yang diberikan dari cloud computing.
Ketiga tingkatan tersebut yaitu Infrastructure as a Service (IaaS), Platform as a
Service (PaaS) dan Software as a Service (SaaS) [7]. PaaS adalah tingkatan yang
menyediakan layanan lebih dari IaaS berikan tanpa memberikan produk jadi yang
disajikan kepada pengguna. PaaS berisi beberapa komponen yang dapat
memberikan solusi sesuai dengan kebutuhan. Komponen-komponen tersebut
dapat digunakan untuk membuat aplikasi yang nantinya digunakan oleh pengguna
layanan, masih dalam konteks aplikasi web.
4
Gambar 1 Arsitektur App Engine [7]
Google App Engine (App Engine) adalah kerangka kerja aplikasi (PaaS)
untuk mengembangkan aplikasi (SaaS) yang langsung berinteraksi dengan
pengguna, yang berjalan pada server Google dan memanfaatkan kemampuan
skalabilitas infrastrukturnya [2]. App Engine ditujukan kepada pengembang
aplikasi untuk memenuhi skalabilitas aplikasi yang terus berkembang tanpa perlu
memikirkan kemampuan terbatas pada hardware maupun isu-isu keamanan,
dengan kata lain aplikasi akan berjalan pada hardware dengan kemampuan tinggi
dan uptime yang tinggi pula. App Engine sendiri berjalan di atas infrastruktur
yang sama yang digunakan oleh layanan Google lainnya seperti layanan pencarian
Google, Gmail, Google Map dan lainnya. App Engine berada pada tingkatan
application layer. Aplikasi berjalan diatas Java 6 Java Virtual Machine (JVM),
didukung oleh beberapa komponen seperti Java Servlet, Java Data Object (JDO),
Java Persistence API (JPA), JCache dan JavaMail.
Datastore adalah database terdistribusi yang digunakan untuk menyimpan
dan mengatur data. Datastore didukung penuh oleh dua layanan Google, yaitu
Bigtable dan Google File System (GFS) [7]. Data disimpan sebagai entitas dengan
properti yang terorganisir yang sudah didefinisikan sebelumnya oleh aplikasi.
Datastore dapat berinteraksi dengan API standar ataupun API tingkat rendah
seperti JDO atau JPA. JDO menggunakan anotasi pada Plain Old Java Object
(POJO) untuk mendeskripsikan bagaimana objek disimpan ke Datastore.
Java Servlet adalah salah satu pondasi utama dalam sususan aplikasi
server. App Engine menyajikan servlet, JSP, file statis dan data file lainnya yang
terbungkus dalam web archive (WAR) sesuai dengan konfigurasi yang terdapat
pada file deployment descriptor (web.xml). Servlet adalah Java class yang
didisain untuk merespon permintaan client dengan konten yang dinamis melalui
jaringan [8]. Servlet juga dapat difungsikan sebagai interface web service
sederhana. Dimana client memanggil Servlet untuk memanggil fungsi yang
terdapat pada server dan kemudian menggunakan output yang berupa HTTP
Response.
JSP (JavaServer Pages) adalah komponen dari Java servlet yang didisain
untuk memenuhi peran sebagai antarmuka pengguna dalam aplikasi web Java [8].
5
JSP berperan dalam menampilkan respon yang diberikan servlet berupa gabungan
HTML atau XHTML, elemen XML dan perintah atau aksi dari JSP.
Android adalah sususan perangkat lunak – satu set subsistem perangkat
lunak yang dibutuhkan untuk memberikan solusi yang bersifat fungsional –
khususnya untuk perangkat mobile. Susunan ini mencakup sebuah sistem operasi
(sebuah kernel Linux yang dimodifikasi), middleware (perangkat lunak yang
menghubungkan tingkatan terendah dalam sistem operasi dengan aplikasi tingkat
tinggi) yang sebagian besarnya berbasis Java, dan aplikasi-aplikasi utama (ditulis
dalam Java) seperti web browser (dikenal juga sebagai Browser) dan contact
manager (dikenal juga sebagai Contact) [9]. Seluruh aplikasi ditulis menggunakan
bahasa pemrograman Java, berjalan pada lapisan teratas dalam arsitektur Android.
Menggunakan Application Framework untuk mendapatkan solusi yang diinginkan
sesuai kebutuhan. Application Framework merupakan kerangka kerja yang telah
tertanam dalam sistem operasi Android.
C2DM adalah teknologi yang berjalan pada jaringan awan Google.
Menggunakan kanal Extensible Messaging Presence Protocol (XMPP) yang
diciptakan oleh layanan GTalk. Android dengan versi minimal 2.2 memiliki
sebuah kerangka kerja pengiriman pesan berbasis cloud messaging dengan nama
Cloud 2 Device Messaging (C2DM) yang dirancang untuk menerapkan push
messaging atau mendorong pesan langsung menuju perangkat [9].
Social Networking API
Sebelum dapat menggunakan API yang tersedia pada social networking
seperti Facebook dan Twitter, terdapat poin penting yang harus diketahui para
pengembang aplikasi pihak ketiga. Kedua social networking ini menggunakan
Open Authorization (OAuth) sebagai mekanisme otentikasi aplikasi. Aplikasi
perlu melakukan otorisasi terlebih dahulu agar dapat mendapatkan hak akses
terhadap sumber yang diinginkan. Request token dapat didapatkan dengan
mengarahkan pengguna menuju tampilan dialog OAuth lalu mengubahnya
menjadi access token sesuai dengan mekanisme yang dimiliki tiap versi OAuth.
HTTP request yang telah memiliki otorisasi dari pengguna dapat digunakan
aplikasi untuk melakukan panggilan terhadap Facebook API atau Twitter API.
Terdapat dua macam jenis method yang paling sering digunakan untuk melakukan
request melalui HTTP yaitu POST dan GET.
3. Metode Penelitian
Metode yang digunakan untuk merancang sistem dari aplikasi dalam
penelitian ini yaitu model waterfall. Sebuah model proses aplikasi dimana
terdapat tahapan pengembangan yang berbeda: analisis kebutuhan, desain,
implementasi, pengujian dan perawatan. Secara prinsip, sebuah tahapan harus
sudah selesai sebelum menlanjutkan ke tahapan proses yang berikutnya. Dan
secara praktek, terdapat pengulangan yang terjadi pada tiap-tiap tahapan proses
[10].
Analisis
Telah diberikan kuesioner kepada 61 orang pengguna jejaring sosial
sedangkan hasil kuesioner yang terisi adalah 38 kuesioner (62%). Hasil survey
6
yang dilakukan menunjukan sekitar 32% dari responden menggunakan sistem
operasi Android. Sebanyak 20 responden (53%) mengaku sering mendengarkan
lagu pada telepon selular, 11 responden (29%) menyatakan terkadang, empat
responden (10%) menyatakan jarang dan tiga responden (8%) menyatakan tidak
pernah. Besar kemungkinan bahwa aplikasi yang dirancang dapat diterima dengan
baik karena adanya kebutuhan yang besar pada kalangan pengguna. Sebanyak 36
responden (93%) mengaku sebagai orang yang mengikuti perkembangan
informasi mengenai penyanyi atau band favorit pengguna. Sebanyak 35 dari 38
orang pernah mendengarkan musik pada telepon selular dan 20 orang mengaku
sering melakukan hal tersebut. Analisis yang dilakukan berdasarkan data survey
tersebut menunjukan bahwa terdapat kebutuhan yang besar pada pengguna
jejaring sosial dalam hal seputar kebutuhan perkembangan informasi dunia musik.
Cloud messaging dari Android C2DM berjalan dengan versi Android
minimal 2.2, oleh karena itu versi Android yang digunakan pada penelitian ini
adalah versi 2.2. Ukuran RAM yang digunakan yaitu minimal 156MB untuk
memastikan tidak ada kendala ketika berpindah aplikasi musik player dengan
aplikasi yang dirancang pada Android.
Desain Sistem
Gambar 2Arsitektur sistem
Gambar 2 menunjukan arsitektur sistem yang dibangun. Bagian yang
berwarna hijau adalah bagian dari sistem yang dirancang pada penelitian ini.
Aplikasi yang dirancang adalah Software as a Service (SaaS) yang langsung
berinteraksi dengan pengguna melalui dua buah aplikasi, aplikasi server dan
aplikasi client.
Aplikasi server berjalan pada lingkungan Google App Engine (PaaS) yang
bertugas melakukan semua pemanggilan API jejaring sosial. Aplikasi server
merupakan aplikasi middleware yang mengambil alih proses komputasi pada
7
perangkat mobile. Sementara aplikasi client hanya memberikan masukan dan
menunggu keluaran yang diproses oleh aplikasi server. Besarnya lama proses
yang jika dikerjakan pada perangkat mobile tidak dapat ditolerir oleh pengguna
dan aplikasi mobile dari perspektif penggunaan.
Aplikasi client terhubung dengan aplikasi server menggunakan protokol
HTTP untuk dapat melakukan proses yang diinginkan. Permintaan ditangani oleh
servlet yang didalamnya terdapat parameter-parameter yang dikirimkan oleh
aplikasi client. Semua permintaan yang membutuhkan pemanggilan API jejaring
sosial akan langsung dikerjakan pada servlet tersebut menggunakan URL Fetch
Service.
Unified Modeling Language (UML) digunakan untuk menggambarkan
bagaimana struktur dari rancangan aplikasi. UML adalah sebuah bahasa standar
yang digunakan untuk menulis blueprint dari sebuah perangkat lunak. UML bisa
juga digunakan untuk memvisualisasikan, menspesifikasikan, membangun dan
mendokumentasikan artefak dari sistem perangkat lunak [11].
Gambar 3 Use Case Diagram
Gambar 3 menunjukan use case diagram yang menggambarkan interaksi
pengguna dengan sistem yang dirancang, serta menjelaskan apa-apa saja yang
pengguna dapat lakukan pada sistem. Gambar 3 dapat dijelaskan sebagai berikut:
- Registrasi Akun Google. Proses login pada aplikasi server (menggunakan JSP
dan Servlet) pengguna secara otomatis mendaftarkan akun Google kedalam
aplikasi.
- Membagikan Status Lagu Ke Jejaring Sosial. Pengguna dapat membagikan
status lagu yang sedang dimainkan ke situs jejaring yang ada. Hal ini dapat
dilakukan setelah pengguna memiliki setidaknya satu akun jejaring sosial yang
telah terdaftar.
- Menghubungkan Akun Facebook dan Menghubungkan Akun Twitter.
Menghubungkan akun jejaring sosial pengguna, yaitu Facebook dan Twitter.
8
Proses otorisasi aplikasi dilakukan pada penyedia layanan itu sendiri dengan
menanyakan hak akses yang akan diberikan kepada aplikasi.
- Melihat Status Semua Teman. Mendapatkan info lagu terkini semua teman
yang telah menggunakan aplikasi ini. Daftar teman didapatkan ketika pengguna
mendaftarkan akun jejaring sosial, kemudian aplikasi server mencocokkan
pada Datastore.
- Menulis Komentar pada Status. Pengguna dapat memberikan tanggapan dari
lagu yang dimainkan kepada teman pada aplikasi. Komentar dikirimkan
melalui fitur yang telah tersedia pada jejaring sosial pengguna.
Terdapat beberapa tahapan yang perlu dilakukan agar aplikasi dapat
mengintegrasikan dengan jejaring sosial yaitu Facebook dan Twitter. Sebelum
dapat melanjutkan proses otentikasi dan otorisasi pengguna, pengguna perlu
melakukan login terlebih dahulu sebagai proses registrasi.
Gambar 4 Activity diagram registrasi Google Account
Gambar 4 adalah activity diagram proses registrasi yang dilakukan pada
aplikasi client. Proses registrasi juga menyimpan informasi seperti ID registrasi,
ID device dan alamat email akun pengguna. Proses ini sekaligus mendaftarkan
perangkat pengguna agar terdaftar pada server C2DM, supaya dapat
menggunakan layanan yang disediakan oleh C2DM yaitu push notification.
Setelah terdaftar pada aplikasi, pengguna dapat mengatur akun jejaring
sosial dan menyimpan pengaturan tersebut pada Datastore. Ini bertujuan untuk
mendapatkan izin dari pengguna agar aplikasi dapat mengakses jejaring sosial
menggunakan akun yang telah pengguna miliki.
9
Gambar 5 Activity diagram otorisasi aplikasi
Gambar 5 adalah activity diagram yang menjelaskan aktifitas yang
dilakukan pengguna untuk memberikan hak akses kepada aplikasi untuk dapat
memakai private resource yang terdapat pada akun jejaring sosial pengguna.
Sehingga aplikasi dapat melakukan update status pada jejaring sosial sebagai
pengguna.
Gambar 6 Activity diagram share status
Gambar 6 adalah activity diagram yang menunjukan aktifitas pengguna
untuk dapat membagikan status ke jejaring sosial. Pengguna perlu melakukan
proses otentikasi dan otorisasi terhadap aplikasi agar dapat melakukan update
status pada jejaring sosial.
10
Gambar 7 Package Entity aplikasi server
Gambar 7 adalah rancangan class diagram yang terdapat pada aplikasi
server. Class-class tersebut nantinya digunakan sebagai media yang digunakan
aplikasi untuk memuat informasi dan menyimpan informasi tersebut pada
Datastore.
4. Hasil dan Pembahasan
Aplikasi server yang berjalan pada jaringan Google Cloud bertindak
sebagai pemproses dan penyiman data. Tingkatan cloud computing ini disebut
juga sebagai Software as a Service (SaaS) dimana aplikasi memberikan layanan
kepada aplikasi client yang masih tergabung dalam sistem. Terdapat juga
beberapa tampilan antar muka dengan pengguna. Fungsi yang terdapat pada
aplikasi server yaitu menghubungkan aplikasi dengan jejaring sosial, mengirim
pesan C2DM, memanggil API jejaring sosial, menyimpan pengaturan pengguna,
dan menyimpan data lagu yang telah dimainkan pengguna.
Agar dapat melakukan integrasi konten dengan jejaring sosial perlu
dilakukannya otentikasi dan otorisasi pada jejaring sosial seperti Facebook dan
Twitter. Hal tersebut perlu dilakukan agar aplikasi dapat mengakses jejaring sosial
sebagai pengguna aplikasi.
Gambar 8 Implementasi tampilan otorisasi dan otentikasi Facebook
11
Gambar 8 adalah hasil dari implementasi dari proses otorisasi dan otentikasi
pengguna pada jejaring sosial Facebook. Setelah berhasil melewati proses yang
disedikan Facebook, maka akan muncul nama pengguna berserta username.
Kode Program 1 merupakan potongan kode program yang dikerjakan pada
aplikasi server untuk mendapatkan access token sekaligus informasi pengguna.
Access token tersebut nantinya digunakan sebagai parameter untuk menandai
setiap pemanggilan API yang dilakukan aplikasi telah melalui persetujuan
pengguna.
Setelah mendapatkan access token pengguna dapat melakukan update status
melalui aplikasi client. HTTP request dari aplikasi client untuk update status
ditangani oleh PostServlet pada method doPost().
Kode Program 2 adalah potongan kode program yang dikerjakan pada
aplikasi server untuk menangkap input yang berisi informasi aktifitas musik
pengguna. Nilai input pada HTTP POST dapat diambil sesuai nama parameter
yang dikirim aplikasi client. Input tersebut dibungkus kedalam sebuah entity class
Post, dengan menggunakan JDO objek newPost dapat langsung disimpan
kedalam Datastore tanpa perlu mengubah isi objek kedalam bentuk SQL.
Setelah menyimpan post tersebut maka aplikasi perlu melakukan update
status pada jejaring sosial yang telah pengguna daftarkan dengan memanfaatkan
URL Fetch Service yang disediakan Google App Engine.
1. Post newPost = new Post();
2. newPost.setEmailAddress(request.getParameter("emailAddress"));
3. newPost.setArtist(request.getParameter("artist"));
4. newPost.setAlbum(request.getParameter("album"));
5. newPost.setTrack(request.getParameter("track"));
6. newPost.setRate(request.getParameter("rate"));
7. newPost.setComment(request.getParameter("comment"));
8. newPost.setPostingTime(new Date(new
Long(request.getParameter("postingTime"))));
Kode Program 2 Mengambil input dari aplikasi client
1. String authCode = request.getParameter("code");
2. String stringUrl =
"https://graph.facebook.com/oauth/access_token?client_id=" +
ApplicationParams.FACEBOOK_CLIENT_ID +
"&redirect_uri="+ApplicationParams.APP_HOME_URL+"/Account/Facebook&c
lient_secret=" + ApplicationParams.FACEBOOK_CLIENT_SECRET + "&code="
+ authCode;
Kode Program 1 Otorisasi pengguna Facebook pada servlet
12
Kode Program 3 adalah potongan kode program dimana aplikasi server
melakukan update status pengguna menggunakan class java.net.URL (baris
pertama). Isi URL yang diakses adalah https://graph.facebook.com/me/feed,
dengan menyantumkan access token melalui output stream koneksi tersebut (baris
ke-7 hingga ke-9).
Aplikasi server mengirimkan pesan C2DM dengan tujuan memperbaharui
aktifitas lagu terakhir yang dimainkan pengguna. Pesan ini dikirimkan dalam
format JSON yang berisi email, lastTrack, lastArtist,postId. Pesan dikirimkan
keseluruh teman pengguna agar dapat mengetahui perubahan terkini.
Kode Program 4 membentuk HTTP Post dengan data array byte yang telah dibuat
kemudian pesan dikirimkan melalui OutputStream.
1. URL url = new URL("https://android.apis.google.com/c2dm/send");
2. HttpURLConnection conn = (HttpURLConnection) url.openConnection();
3. conn.setDoOutput(true);
4. conn.setUseCaches(false);
5. conn.setRequestMethod("POST");
6. conn.setRequestProperty("Content-Type","application/x-www-form-
urlencoded;charset=UTF-8");
7. conn.setRequestProperty("Content-
Length",Integer.toString(postData.length));
8. conn.setRequestProperty("Authorization", "GoogleLogin auth="+
authToken);
9. OutputStream out = conn.getOutputStream();
10. out.write(postData);
Kode Program 4 Mengirim pesan C2DM
1. URL url = new URL(FEED_PATH + "?" +
this.facebookAccount.getAccessToken());
2. connection = (HttpURLConnection) url.openConnection();
3. connection.setDoOutput(true);
4. connection.setRequestMethod("POST");
5. String postData = URLEncoder.encode("message", "UTF-8") + "=" +
URLEncoder.encode(message/*+"\nCheck this on last.fm : "+link*/,
"UTF-8");
6. postData += "&" + URLEncoder.encode("link", "UTF-8") + "=" +
URLEncoder.encode(link, "UTF-8");
7. writer = new OutputStreamWriter(connection.getOutputStream());
8. writer.write(postData);
9. writer.close();
Kode Program 3 Update status pada Facebook
13
Aplikasi client dengan nama aplikasi PlaynShare adalah hasil rancangan
yang berupa aplikasi Android. Aplikasi ini memberikan input yang prosesnya
dikerjakan oleh aplikasi server untuk mengurangi beban komputasi mobile
computing dan membebankan process pada cloud computing. Hasil dari
komputasi yang dilakukan aplikasi server dimuat dalam aplikasi client. Aplikasi
client berkomunikasi dengan aplikasi server melalui HTTP Request dan C2DM.
Gambar 9 Implementasi tampilan aplikasi client
Gambar 9 menunjukan perubahan informasi lagu yang ditampilkan akan
berubah secara otomatis ketika broadcaster memainkan lagu berbeda dengan lagu
yang sebelumnya. Sebuah pesan dikirimkan dari server menggunakan C2DM
berisi informasi tentang update lagu dari broadcaster.
Konsep pertemanan antara Facebook dan Twitter sangatlah berbeda, pada
Facebook untuk menjadi seorang teman harus melalui proses konfirmasi,
sedangkan pada Twitter tidak demikian melainkan hanya sebatas following
(mengikuti) atau follower (pengikut) saja. Istilah Broadcaster (penyiar)
merupakan sebutan bagi pengguna yang menyiarkan lagu terakhir pada music
player keseluruh teman yang telah terdaftar.
Gambar 10 Implementasi tampilan auto-update now playing
Gambar 10 menampilkan Toast ketika pengguna mengganti dan memutar
lagu pada music player, secara otomatis aplikasi akan meng-update now playing
pada server. Aplikasi juga akan memberikan notifikasi kepada pengguna,
notifikasi akan menampilkan Gambar 11. Data yang ditampilkan sesuai dengan
lagu yang diputar pada aplikasi music player.
14
Kode program 2 adalah intent action yang “ditangkap” ketika aplikasi music
player mengubah status pemutaran lagu. Paradigma pemrograman yang
digunakan untuk menangkap informasi pada music player menggunakan event-
driven programming. Sebuah paradigma dimana alur program dipicu oleh sebuah
event.
Gambar 11 Implementasi tampilan ShareActivity
Gambar 11 adalah tampilan ShareActivity dapat digunakan untuk
memberikan komentar mengenai lagu yang diputar pada music player, informasi
ini yang nantinya akan dijadikan status pada jejaring sosial. Tombol Share
digunakan sosial untuk meng-update status pengguna, aplikasi akan melakukan
HTTP POST ke aplikasi server untuk menyimpan dan melakukan HTTP POST ke
jejaring.
Gambar 12 Hasil share status pada Facebook
Gambar 12 menunjukan bahwa aplikasi berhasil melakukan update status
sesuai dengan input pada ShareActivity.
Gambar 13 Hasil share status pada Twitter
1. <action android:name="com.android.music.metachanged"></action>
2. <action android:name="com.android.music.playstatechanged"></action>
3. <action android:name="com.android.music.playbackcomplete"></action>
Kode Program 5 Action yang ditangkap BroadcastReceiver
15
Gambar 13 merupakan tweet yang dihasilkan oleh aplikasi, menunjukan
kesamaan pesan seperti yang ditampilkan oleh Gambar 12. Pengguna dapat
mengirimkan komentar yang sedang dimainkan teman pengguna menggunakan
activity CommentActivity. Pengguna memilih teman pada daftar yang telah
ditampilkan, kemudian aplikasi akan melakukan request ke aplikasi server untuk
mendapatkan komentar terbaru yang ada pada post yang terakhir lalu akan
menampilkan hasil tersebut kedalam CommentActivity. Setelah muncul komentar
pada post tersebut, maka pengguna dapat mulai menuliskan tanggapannya. Setelah
menekan tombol Send, maka aplikasi akan memuat ulang komentar dan
menampilkannya, seperti yang ditampilkan Gambar 14.
Gambar 14 Implementasi tampilan CommentActivity
Pengujian sistem dilakukan dengan menggunakan metode black-box testing,
sebuah metode pengujian berdasarkan spesifikasi program. Tujuannya adalah
untuk mencari area dimana program memiliki kebiasaan yang tidak sesuai dengan
spesifikasi yang ditentukan [12]. Terdapat dua jenis pengujian yang dilakukan
yaitu pengujian aplha dan pengujian beta. Pengujian alpha adalah pengujian yang
dilakukan oleh tim pengembang aplikasi. Sedangkan Pengujian beta adalah
pengujian yang dilakukan pengguna akhir aplikasi.
Input yang dibutuhkan pada RegisterActivity adalah Google Account, jika
tidak terdapat Google Account satupun pada perangkat, maka aplikasi akan
mengarahkan pengguna untuk melakukan sign in pada activity Accounts & sync.
Sedangkan input yang dibutuhkan untuk meng-update status yaitu judul lagu,
nama penyanyi/band, nama album (opsional) dan komentar. Pada aplikasi server
inputan hanyalah hasil yang diberikan dari API jejaring sosial ketika pengguna
melakukan otorisasi dan otentikasi. Apakah pengguna memberikan izin atau tidak
kepada aplikasi untuk mengkases jejaring sosial menggunakan hak pengguna.
Aplikasi client sangat membutuhkan koneksi internet untuk dapat
berkomunikasi dengan aplikasi server. Fungsi yang bersifat otomatis misalnya
ketika pengguna memutar lagu pada music player, akan mengirim request untuk
mengubah data yang ada pada aplikasi server. Jika tidak ada koneksi internet yang
aktif maka aplikasi seharusnya menampilkan pesan bahwa terjadi kesalahan pada
proses tersebut, demikian pula proses yang sifatnya manual seperti registrasi dan
memperbaharui daftar pertemanan. Aplikasi client tidak dapat menolerir
kesalahan ketika pengguna memutar lagu namun belum melakukan registrasi.
Tidak akan muncul notifikasi kepada pengguna jika belum melakukan registrasi.
16
Setelah mengumpulan syarat-syarat pengujian yang akan menggunakan
metode black-box, langkah selanjutnya adalah melakukan test case untuk setiap
proses yang dilakukan pada aplikasi.
Tabel 1 Pengujian alpha
ID Tes Deskripsi Respon yang diharapkan Validitas
GAE-1 Mengakses halaman khusus pengguna Menampilkan halaman
Google Sign In
GAE-2 Tidak memberikan izin mengakses
akun Facebook Menampilkan pesan error
GAE-3 Memberikan izin mengakses akun
Menampilkan informasi
pengguna
GAE-4 Tidak memberikan izin mengakses
akun Twitter Menampilkan pesan error
GAE-5 Memberikan izin mengakses akun
Menampilkan informasi
pengguna
AND-1 Registrasi tanpa memiliki akun
Menampilkan activity
Accounts & sync
AND-2 Memberikan izin menggunakan akun
Google Melanjutkan proses regitrasi
AND-3 Tidak memberikan izin menggunakan
akun Google
Kembali ke activity Register
dan menampilkan pesan gagal
registrasi
AND-4 Update status dengan mengosongkan
form
Menunjukan pesan bahwa
judul lagu dan nama penyanyi
tidak boleh kosong
AND-5 Update status dengan mengisi form Menampilkan progress dialog
dan hasil posting
Tes kelayakan sistem dilakukan untuk menentukan apakah sistem dapat
memenuhi kebutuhan pengguna. Tahapan pengujian ini merupakan β (beta)
testing, pengujian dilakukan oleh pengguna akhir aplikasi. Pengujian dilakukan
dengan memberikan kuesioner kepada 20 pengguna setelah mencoba secara
langsung aplikasi client pada perangkat Android.
Karakteristik pengguna aplikasi adalah mahasiswa dan umum dengan usia
berkisar antara 22 hingga 27 tahun dengan pemahaman yang baik mengenai cara
mengoperasikan aplikasi yang baru dikenal. Pengujian dilakukan oleh pengguna
tanpa adanya bantuan sedikitpun mengenai langkah-langkah dalam
mengoperasikan aplikasi. Tabel 4. 1 Pengujian beta
No Pertanyaan Sangat
Mudah
Mudah Biasa Sulit Sangat
Sulit
Total
1 Apakah aplikasi mudah
dimengerti? 3 9 7 1 0 20
2 Apakah aplikasi mudah
dioperasikan? 2 9 7 2 0 20
17
Sangat
Membantu Cukup Biasa Kurang
Sangat
Tidak Total
3
Apakah aplikasi ini membantu
anda untuk memperkenalkan
lagu yang anda sukai kepada
orang lain?
4 9 5 2 0 20
Berdasarkan hasil kuesioner yang telah diberikan kepada pengguna
menunjukan aplikasi yang dirancang cukup membantu pengguna dalam hal
memperkenalkan lagu melalui jejaring sosial dengan nilai rerata 2.25, serta
tingginya nilai rerata kemudahan dalam menggunakan aplikasi yaitu 2.45.
5. Simpulan
Hasil dari penelitian ini adalah aplikasi yang mampu mengintegrasikan
aktifitas musik pengguna ke jejaring sosial. Agar dapat mengintegrasikan sistem
dengan jejaring sosial, aplikasi perlu mendapatkan hak akses sebagai pengguna
jejaring sosial dengan menerapkan Open Authentication (OAuth) sehingga
pemanggilan API memungkinkan untuk dilakukan. Aksi yang dilakukan
pengguna pada aplikasi client diproses pada aplikasi server. Proses adalah
penyesuaian data dengan jejaring sosial yang didalamnya terdapat pemanggilan
API menggunakan protokol HTTP. Pembaruan informasi secara real-time pada
perangkat mobile dipicu oleh aksi pengguna dengan memanfaatkan C2DM
sebagai pembawa informasi.
Tersedianya aplikasi integrasi jejaring sosial yang dihasilkan pada penelitian
ini memungkinkan pengguna jejaring sosial sekaligus ponsel Android dapat
berbagi informasi menarik berisi aktifitas musik yang sedang diputar pada ponsel
pengguna. Pengguna dimudahkan agar proses berbagi informasi tersebut
dilakukan cukup dengan satu buah aplikasi. Aplikasi juga memungkinkan
pengguna dapat langsung berinteraksi dengan kerabat melalui komentar atau
balasan pada Facebook dan Twitter.
6. Daftar Pustaka
[1] Hansen, Derek., Shneiderman, Ben., Smith, M. A., 2010., Analyzing Social
Media Networks with NodeXL: Insights from a Connected World. California
: Morgan Kaufmann.
[2] Ciurana, Eugene., 2009., Developing with Google App Engine. New York :
Apress.
[3] Jacko, Julie A., 2011., Human-Computer Interaction: Interaction
Techniques and Environments. Orlando : Springer.
[4] Grønli, Tor-Morten., Hansen, Jarle., and Ghinea, Gheorghita., 2011.,
Integrated context-aware and cloud-based adaptive home screens for
android phones, HCII'11 Proceedings of the 14th international conference
on Human-computer interaction: interaction techniques and environments,
2(2): 427-435.
[5] Srirama, S. N., Flores, H., and Paniagua, C., 2011., Zompopo: Mobile
Calendar Prediction Based on Human Activities Recognition Using the
18
Accelerometer and Cloud Services, 2011 Fifth International Conference on
Next Generation Mobile Applications, Services and Technologies, 1(1): 63-
69.
[6] Miller, Michael., 2009., Cloud Computing: Web-Based Applications That
Change the Way You Work and Collaborate Online. Indianapolis : Que.
[7] Roche, Kyle., and Douglas, Jeff., 2009., Beginning Java Google App
Engine. New York : Apress.
[8] Perry, Bruce W., 2003., Java servlet and JSP cookbook. Sebastopol :
O'Reilly Media.
[9] Smith, Dave., and Friesen, Jeff., 2011., Android Recipes: A Problem-
Solution Approach. New York : Apress.
[10] Sommerville, Ian., 2007., Software Enginering. Boston : Addison-Wesley.
[11] Booch, Grady., Rumbaugh, James., and Jacobson, Ivar., 1998., The Unified
Modeling Language User Guide. Boston : Addison-Wesley Professional.
[12] Myers, Glenford J., Sandler, Corey., and Badgett, Tom., 2011., The Art of
Software Testing. Milton : Wiley.