1. Pendahuluan Latar Belakang -...

17
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.

Transcript of 1. Pendahuluan Latar Belakang -...

Page 1: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 2: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 3: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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].

Page 4: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 5: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 6: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 7: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 8: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 9: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 10: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 11: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 12: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 13: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 14: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.

Page 15: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Facebook

Menampilkan informasi

pengguna

GAE-4 Tidak memberikan izin mengakses

akun Twitter Menampilkan pesan error

GAE-5 Memberikan izin mengakses akun

Twitter

Menampilkan informasi

pengguna

AND-1 Registrasi tanpa memiliki akun

Google

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

Page 16: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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

Page 17: 1. Pendahuluan Latar Belakang - repository.uksw.edurepository.uksw.edu/bitstream/123456789/2264/2/T1_672007199_Full... · Situs-situs jejaring sosial yang didisain untuk memungkinkan

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.