• Tidak ada hasil yang ditemukan

RANCANG BANGUN APLIKASI PHOTO SHARING BERBASIS DESKTOP MENGGUNAKAN FACEBOOK, FLICKR DAN PHOTOBUCKET API

N/A
N/A
Protected

Academic year: 2021

Membagikan "RANCANG BANGUN APLIKASI PHOTO SHARING BERBASIS DESKTOP MENGGUNAKAN FACEBOOK, FLICKR DAN PHOTOBUCKET API"

Copied!
7
0
0

Teks penuh

(1)

1

RANCANG BANGUN APLIKASI PHOTO SHARING BERBASIS DESKTOP

MENGGUNAKAN FACEBOOK, FLICKR DAN PHOTOBUCKET API

Elihu Gideon Natanael1, Sarwosri2

1,2

Jurusan Teknik Informatika, Fakultas Teknologi Informasi, Institut Teknologi Sepuluh Nopember Kampus ITS Sukolilo Surabaya, 60111, Indonesia

1[email protected], 2[email protected]

Abstrak

Kegiatan photo sharing melalui dunia maya semakin meningkat akhir-akhir ini. Situs web yang menyediakan fitur berbagi foto atau gambar antara lain Facebook, Flickr, dan Photobucket. Penggunaan situs-situs tersebut biasanya untuk membuat album online di mana pengguna lain bisa melihat dan mengunduh foto dengan mudah, sebagai media penyimpanan gambar maupun sebagai portofolio untuk pengguna yang berprofesi sebagai fotografer atau desainer grafis. Semakin banyak situs yang digunakan maka semakin cepat foto tersebut dibagi. Oleh sebab itu, pengguna membutuhkan sebuah aplikasi yang memudahkan kegiatan berbagi foto ke beberapa situs sekaligus.

Aplikasi ini menyajikan fitur-fitur yang memudahkan pengguna untuk melakukan kegiatan berbagi foto pada Facebook, Flickr, dan Photobucket melalui aplikasi desktop menggunakan API. Fitur-fitur yang dimiliki oleh aplikasi ini adalah, pertama, pengguna dapat mengunggah banyak gambar ke ketiga situs berbagi foto sekaligus, foto yang diunggah bisa berasal dari komputer maupun dari webcam. Kedua, pengguna juga dapat mengunggah gambar ke album yang disarankan oleh aplikasi maupun album baru yang ingin dibuat. Ketiga, pengguna dapat melihat album dan foto dari akun pengguna pada Facebook, Flickr, dan Photobucket untuk kemudian dapat diunduh dan dihapus melalui aplikasi.

Uji coba aplikasi ini dilakukan melalui beberapa skenario yang mencerminkan fitur-fitur yang dimiliki oleh aplikasi seperti mengunggah, mengunduh dan menghapus gambar. Uji coba ini berhasil mewujudkan sebuah implementasi nyata aplikasi photo sharing berbasis desktop yang terintegrasi dengan Facebook, Flickr, dan Photobucket API.

Kata kunci: Photo Sharing, Adobe AIR, Flex, Facebook, Flickr, Photobucket

1. PENDAHULUAN

Pada era informasi seperti sekarang, berbagi melalui dunia maya merupakan cara yang paling efektif dalam menyebarkan dan memperoleh informasi. Informasi tersebut bisa berupa pesan teks, lokasi, maupun gambar. Hal tersebut merupakan salah satu alasan mengapa beberapa tahun terakhir banyak bermunculan situs-situs jejaring sosial dan photo sharing (berbagi foto). Contoh situs yang menyediakan fitur untuk berbagi foto atau gambar adalah Facebook, Flickr dan Photobucket. Biasanya kegiatan berbagi foto bertujuan untuk membuat album foto online sehingga pengguna internet lain bisa melihat dan mengunduh foto tersebut dengan mudah. Situs berbagi foto juga dapat digunakan sebagai media penyimpanan gambar atau foto penggunannya. Kegunaan lain situs tersebut adalah sebagai portofolio untuk pengguna yang berprofesi sebagai fotografer atau desainer grafis.

Dengan semakin banyaknya situs berbagi foto maka semakin banyak juga sarana yang dapat digunakan pengguna untuk membangun portofolio atau bahkan hanya membuat album foto. Hal tersebut juga berpengaruh pada kecepatan penyebaran informasi. Namun, yang menjadi masalah adalah pengguna harus meng-upload gambar yang ingin di-share ke tiap situs tersebut, juga untuk pengawasan dan perubahan oleh pengguna. Tentu saja hal itu sangat merepotkan dan membuang waktu jika harus mengunjungi situs tersebut

satu persatu. Akan tetapi permasalahan seperti ini seharusnya tidak perlu dikhawatirkan karena beberapa dari situs tersebut menyediakan API yang dapat digunakan untuk membangun aplikasi yang dapat mengakses situs tersebut.

Sebagai solusi permasalahan yang telah dipaparkan di atas, penulis mengusulkan untuk megembangkan sebuah aplikasi yang mengimplementasikan API dari beberapa situs berbagi foto sebagai Tugas Akhir. Aplikasi ini mengimplementasikan Facebook, Flickr dan Photobucket API. Adapun fitur-fitur API yang akan digunakan antara lain post/upload foto dan delete foto. Pengguna bisa melakukan proses upload gambar ke 3 situs tersebut sekaligus hanya dengan satu kali klik. Selain dari file yang ada di komputer, pengguna juga bisa mengunggah foto yang langsung diambil dari

webcam. Pada saat akan mengunggahgambar, aplikasi memberikan suggestion kepada pengguna mengenai album mana yang paling tepat untuk menempatkan foto-foto tersebut dengan cara membandingkan nama, tag dan deskripsi foto yang akan di-upload dengan nama, deskripsi, nama foto pada album yang sudah ada. Antarmuka pengguna perangkat lunak ini akan dibuat user friendly dengan tema yang menarik sehingga menambah daya tarik dan kemudahan penggunaan aplikasi.

(2)

2

2. DASAR TEORI

2.1. Photo Sharing

Photo Sharing (berbagi foto) adalah kegiatan penyebaran atau transfer gambar dan foto secara online, sehingga memungkinkan pengguna untuk berbagi dengan orang lain.[1] Fitur-fitur yang disediakan juga berbeda-beda pada setiap situs web. Beberapa situs memiliki API sehingga memungkinkan pengembang membuat aplikasi yang mengakses situs tersebut. Situs-situs photo sharing yang banyak dikenal antara lain Flickr, Imageshack, Imgur, Mobile Me, Photobucket, Picasa, Snapfish, dan lain-lain. Sedangkan tiga situs yang berhubungan dengan Tugas Akhir ini adalah Facebook, Flickr, dan Photobucket. Penjelasan lebih lanjut pada setiap situs tersebut adalah sebagai berikut.

2.2. Facebook API

Facebook Platform memberikan sekumpulan API dan tools yang memperbolehkan pengembang aplikasi untuk terintegrasi dengan Open Graph baik melalui aplikasi pada Facebook.com maupun situs dan aplikasi di luar Facebook.[2] Beberapa hal yang perlu diketahui tentang Facebook Platform antara lain Social Plugins, Graph API, Social Channels, Authenticaion, Open Graph Protocol, Dialogs, FQL, Internationalization API, Credits API, Ads API, Chat API. Semua aplikasi yang dibuat menggunakan Facebook API harus didaftarkan terlebih dahulu untuk mendapatkan API KEY agar Facebook mengenali aplikasi saat melakukan pemanggilan fungsi menggunakan API

2.3. Flickr API

Flickr API memungkinkan pengembang untuk mendapatkan data langsung dari Flickr dan menyediakan hampir semua dari fitur dan fungsi yang ada pada situs Flickr. Untuk dapat menggunakan Flickr API aplikasi harus didaftarkan terlebih dahulu untuk mendapatkan API KEY. Yang perlu diperhatikan oleh pengembang adalah kerahasiaan API Key dan App Secret agar tidak disalahgunakan oleh pengembang lain. Aplikasi ini menggunakan library Flickr API untuk ActionScript yang bisa diunduh di http://code.google.com /p/as3flickrlib/.

2.4. Photobucket API

Photobucket API menyediakan pemanggilan API untuk menghubungkan aplikasi dengan Photobucket. Sangat berguna jika pengembang ingin membuat aplikasi yang membutuhkan Photobucket namun tidak ingin menampilkan antarmuka Photobucket. Fitur yang disediakan antara lain, mengunggah gambar dan video, pencarian gambar, mendapatkan detail dari sebuah gambar seperti link URL, mengupdate judul, deskripsi dan tag. Seperti API situs lainnya, pengembang harus mendaftarkan dulu aplikasi ke Photobucket untuk mendapatkan API KEY. Tugas Akhir ini menggunakan

Photobucket API untuk AS3 yang dapat diunduh di https://bitbucket.org/ photobucket/api-as3 /wiki/Home.

2.5. Adobe Flex

Adobe Flex adalah sebuah Software Development Kit (SDK) yang dikeluarkan oleh Adobe untuk pengembangan aplikasi RIA dan berbasis Adobe Flash

platform dan menggunakan XML dan ActionScript sebagai bahasa pemrograman.[3] Flash lebih mengutamakan animasi, sedangkan Flex lebih mengutamakan Graphic User Interface seperti tombol, kolom teks, grid data dan lain-lain. Namun keduanya sama-sama menyediakan berbagai cara untuk mengirim dan menerima data dari server tanpa merubah tampilan. Hal inilah yang menjadi kelebihan Flex dan Flash dari HTML dan JavaScript.

Proses pengembangan aplikasi menggunakan Flex adalah sebagai berikut, mendefinisikan antarmuka aplikasi menggunakan komponen-komponen seperti

form, button dan sebagainya, menyusun komponen ke dalam desain antarmuka, menggunakan style dan theme untuk desain visual, menambahkan behavior yang bersifat dinamis, mendefinisikan dan menghubungkan ke servis data jika dibutuhkan. Format file Flex bernama .mxml. Untuk mendesain skin atau theme dari komponen-komponen Flex juga bisa melalui file .css. Untuk pengembang yang terbiasa dengan HTML, CSS dan JavaScript pasti dapat dengan mudah mempelajari Flex. Kode AS3 juga bisa disertakan pada dokumen .mxml dengan memberikan tag <fx:script>.

2.6. Adobe AIR

Adobe AIR (Adobe Integrated Runtime) adalah sebuah runtime yang bersifat cross-operating system

dan memungkinkan pengembang menggunakan keahliannya dalam ActionScript, HTML atau JavaScript untuk membangun sebuah aplikasi yang bersifat Rich Internet Apllication (RIA) di luar

browser.[4]Aplikasi AIR dapat dibangun dengan Flex atau ActionScript 3. Dengan Adobe AIR, pengembang dapat membuat suatu perangkat lunak yang bisa berinteraksi dengan internet tanpa harus membuka

browser dan dapat berjalan di OS apapun. Produk yang dihasilkan berupa .air yaitu installer yang bisa dijalankan di berbagai macam OS asalkan Adobe AIR

runtime sudah terinstall (jika belum, aplikasi akan menanyai pengguna untuk men-download AIR runtime secara otomatis). Format instalasi tersebut juga bisa diubah ke native installer seperti .exe.

3. METODOLOGI

3.1. Analisis

Gambar 1 menunjukkan deskripsi umum sistem yang dipakai dalam aplikasi ini.

(3)

3

Gambar 1 Deskripsi Umum Sistem

Pembuatan dan perancangan aplikasi ini menggunakan framework Flex dan dipublish dengan Adobe AIR sehingga aplikasi dapat diinstal dan dijalankan pada berbagai macam OS. Proses utama yang dimiliki aplikasi ini antara lain

1. Proses melakukan otorisasi.

Pengguna dapat melakukan otorisasi aplikasi pada salah satu atau lebih dari situs Facebook, Flickr, dan Photobucket API.

2. Proses mengunggah gambar

.

Pengguna dapat mengunggah beberapa gambar ke situs dimana pengguna tersebut login.

3. Proses mengambil gambar dari webcam

.

Pengguna dapat mengambil gambar dari webcam untuk diunggah ke situs photo sharing.

4. Proses melihat album

.

Pengguna dapat melihat foto yang terdapat pada album milik pengguna pada tiap situs.

5. Proses mengunduh gambar

.

Pengguna dapat mengunduh foto yang dipilih ke komputer.

6. Proses menghapus gambar

.

Pengguna dapat menghapus foto yang dipilih pada akun Flickr dan Photobucket saja karena Facebook API tidak mendukung untuk penghapusan foto. 7. Proses mengubah pengaturan

.

Pengguna dapat mengubah aturan-aturan pada aplikasi.

Gambar 2 Diagram Use Case

Gambar 2 menggambarkan use case diagram dari sistem. Hanya ada 1 aktor pada aplikasi ini yaitu pengguna. Pengguna dapat melakukan otorisasi, mengunggah gambar, mengunduh, dan menghapus gambar serta mengubah pengaturan aplikasi.

3.2. Perancangan

Gambar 3 menampilkan rancangan dari halaman upload pada aplikasi. Di sebelah kiri layar, terdapat tiga tombol yang merupakan menu utama aplikasi yaitu upload, browse, dan setting. Tombol upload di-disable karena posisi pengguna berada pada halaman upload. Pada halaman tersebut juga terdapat panel gambar yang menampilkan preview foto yang akan diunggah. Terdapat juga tombol upload, select file dan webcam yang digunakan untuk proses penunggahan gambar. Sedangkan combobox yang berada di atas tombol upload adalah daftar foto yang telah dipilih dan akan diunggah. Di bagian kanan terdapat data-data yang harus diisi sebelum mengunggah gambar seperti pemilihan situs tujuan, nama, deskripsi dan tag, dan album tujuan.

uc Primary Use Cases

Sistem

Melakukan Otorisasi

Pengguna

Mengunggah Gambar Mengambil Gambar dari

Webcam

Melihat Album Mengunduh Gambar

Menghapus Gambar Mengubah Pengaturan

«extend» «extend»

(4)

4

Gambar 3 Antarmuka Halaman Upload

Halaman browse dapat diakses pada menu di sebelah kiri layar. Seperti pada menu utama lainnya, pada halaman browse terdapat ketiga tombol menu utama. Halaman ini juga terdapat tiga bagian dimana masing-masing bagian menampilkan foto pengguna pada akun Facebook, Flickr, dan Photobucket. Pada bagian Facebook dan Photobucket terdapat combobox pilihan album, sedangkan Flickr tidak mendukung album. Foto pada tiap situs ditampilkan secara vertikal dan dapat di-scoll jika jumlah foto melebihi batas tinggi layar. Jika salah satu foto di-klik maka sistem akan memunculkan popup yang menampilkan gambar berukuran besar untuk kemudian didownload maupun dihapus. Rancangan halaman Browse dapat dilihat pada gambar 4.

Gambar 4 Antarmuka Halaman Browse

3.3. Implementasi

Input dari aplikasi ini adalah data gambar berupa

class ImageData. Class tersebut menyimpan informasi seperti bitmap gambar, situs tujuan pengunggahan gambar, album tujuan pengunggahan gambar, serta nama, deskripsi, dan tag gambar. Gambar 5 menunjukkan source code dari class ImageData. Implementasi proses mengunggah gambar dapat dilihat pada gambar 6 yang berupa source code untuk proses pengunggahan gambar.

package

{

import flash.display.BitmapData;

public class ImageData {

//pilihan situs

public var uploadToFB:Boolean;

public var uploadToFR:Boolean;

public var uploadToPB:Boolean; //true=dari storage, false=dari webcam public var fromFile:Boolean;

//informasi upload

public var name:String = ""; public var description:String = ""; public var tags:String = ""; //data gambar berupa bitmap public var bitmap:BitmapData; public var FBalbumID:String = ""; public var FBalbumNew:String = "";

public var FBalbumType:int = 0; //1=existing, 2=suggested, 3=new

public var PBalbumName:String = ""; public var PBalbumNew:String = ""; public var PBalbumType:int = 0;

public function ImageData(uploadToFB:Boolean, uploadToFR:Boolean, uploadToPB:Boolean, fromFile:Boolean)

{

this.uploadToFB = uploadToFB;

this.uploadToFR = uploadToFR;

this.uploadToPB = uploadToPB;

this.fromFile = fromFile; }

} }

Gambar 5 Implementasi Kode Class ImageData

protected function btnUpload_clickHandler (event:MouseEvent):void

{

//mengambil data tiap gambar

for(var i:int=0; i<imageList.length; i++){ imgData_upload =

ImageData(imageList.getItemAt(i)); //pengecekan sumber gambar

if(imgData_upload.fromFile){ imgFile_upload = new File(String(imagePathList.getItemAt(i))); values_upload = {file:imgFile_upload, message:imgData_upload.description, fileName:imgData_upload.name}; } else { values_upload = {file:imgData_upload.bitmap, message:imgData_upload.description, fileName:imgData_upload.name}; } //upload ke Facebook

if(FBloggedIn && imgData_upload.uploadToFB) { if(imgData_upload.FBalbumType == 3) { if(imgData_upload.FBalbumNew == ""){ imgData_upload.FBalbumNew = "Prixxel"; } if(FBalbumNameList.getItemIndex (imgData_upload.FBalbumNew) != -1){ imgData_upload.FBalbumID = String(FBalbumIdList.getItemAt( FBalbumNameList.getItemIndex( imgData_upload.FBalbumNew))); FacebookDesktop.api('/'+imgData_upload.

FBalbumID+'/photos',FB_uploadCompleteHandler, values_upload, 'POST');

(5)

5

else//membuat album baru { var albumData:Object =

{name:imgData_upload.FBalbumNew}; FacebookDesktop.api('/me/albums/', FBnewAlbumHandler, albumData, 'POST');

} } else {

FacebookDesktop.api('/'+imgData_upload.

FBalbumID+'/photos',FB_uploadCompleteHandler, values_upload, 'POST');

} }

//upload ke flickr

if(FRloggedIn && imgData_upload.uploadToFR){ flickrUpload.upload(imgFile_upload, imgData_upload.name,imgData_upload.description, imgData_upload.tags); } //upload ke Photobucket

if(PBloggedIn && imgData_upload.uploadToPB){ var uploadPBalbum:Album = new Album(); uploadPBalbum.id =

imgData_upload.PBalbumName;

uploadPBalbum.uploadFile(imgFile_upload as FileReference,"image",imgData_upload.name, imgData_upload.description);

} } }

Gambar 6 Implementasi Kode Mengunggah Gambar

Gambar 7 menunjukkan implementasi antarmuka halaman awal aplikasi.

Gambar 7 Implementasi Kode Mengunggah Gambar

4. UJI COBA

Uji coba aplikasi ini dilakukan dengan menggunakan satu buah laptop. Pada komputer yang menjadi lingkungan uji coba dilakukan instalasi perangkat lunak terlebih dahulu untuk kemudian dilakukan uji coba. Uji coba dilakukan untuk menguji apakah fungsionalitas aplikasi berjalan seperti yang diharapkan pada perancangan aplikasi sebelumnya.

Spesifikasi perangkat keras dan perangkat lunak komputer yang digunakan adalah sebagai berikut

Perangkat keras :

Prosesor : Intel Pentium P6000 1.87GHz RAM : 1024 MB

Webcam : Integrated Modem : ZTE AC2726i

Perangkat lunak :

Sistem Operasi : Windows 7 Home Basic Browser : Mozilla Firefox 5.0

Webcam : Toshiba Web Camera Application Internet Conn. : SmartFren

4.1. Uji Coba Fungsionalitas

Gambar 8 menunjukkan hasil uji coba mengunggah gambar pada kondisi pengguna memilih album tujuan dari album yang sudah ada. Pembuktian dilakukan dengan mengunjungi situs dimana gambar tersebut diunggah.

Gambar 8 Hasil Uji Coba Mengunggah Gambar Kondisi Album Sudah Ada

Gambar 9 menunjukkan hasil uji coba mengunggah gambar pada kondisi pengguna memilih album tujuan dengan membuat album baru. Pembuktian dilakukan dengan mengunjungi situs dimana gambar tersebut diunggah. Pada situs akan ditampilkan gambar yang diunggah pada album yang baru dibuat

(6)

6

Gambar 9 Hasil Uji Coba Mengunggah Gambar Kondisi Membuat Album Baru

4.2. Uji Coba Nonfungsional

Cross-Platform merupakan kebutuhan non fungsional aplikasi dari segi portability dimana aplikasi dapat diinstal dan dijalankan pada sistem operasi apapun. Kemampuan ini dimiliki oleh runtime Adobe AIR yang digunakan untuk membangun aplikasi ini. Format instalasi dari aplikasi ini adalah .air yang dapat diinstal pada sistem operasi lain. Tetapi versi Adobe AIR yang terbaru (2.6 ke atas) sudah tidak lagi mendukung Linux dengan alasan sedikitnya konsumen pada OS tersebut. Dari hasil uji coba fungsionalitas dibuktikan bahwa aplikasi berjalan di Sistem Operasi Windows. Pada uji coba ini akan dilakukan pengujian pada sistem operasi Mac OS. Pengujian akan dilakukan dengan melakukan instalasi dan menjalankan aplikasi yang telah terinstal. Spesifikasi komputer uji coba adalah sebagai berikut

Perangkat keras :

Model : MacBookPro5,5

Prosesor : Intel Core 2 Duo 2.26GHz RAM : 2048 MB

Perangkat lunak :

Sistem Operasi : Mac OS

Gambar 10 menunjukkan hasil uji coba instalasi pada Mac OS dan gambar 11 merupakan hasil uji coba setelah aplikasi dijalankan.

Gambar 10 Hasil Uji Coba Cross Platform Instalasi Aplikasi

Gambar 11 Hasil Uji Coba Cross Platform Menjalankan Aplikasi

5. KESIMPULAN

Dari hasil pengamatan selama perancangan, implementasi, dan proses uji coba perangkat lunak yang dilakukan, bisa diambil kesimpulan sebagai berikut :

a. Aplikasi yang dibuat dalam Tugas Akhir ini telah dapat mengimplementasikan sebuah aplikasi

photo sharing berbasis desktop yang terintegrasi dengan Facebook, Flickr, dan Photobucket API. b. Proses pengelolaan album online pengguna seperti

mengunggah, mengunduh, dan menghapus gambar serta membuat album baru dapat dilakukan oleh aplikasi.

c. Proses login, otorisasi, dan permission yang digunakan untuk setiap situs berhasil diatur oleh aplikasi.

d. Aplikasi dapat memberikan album suggestion

kepada pengguna sebagai saran di album mana foto tersebut akan diunggah.

e. Aplikasi mendukung pengguna untuk mengambil gambar melalui webcam.

(7)

7

f. Format file instalasi yang dihasilkan (.air) dapat

dijalankan pada sistem operasi Windows dan Mac OS

6. DAFTAR PUSTAKA

[1] http://www.commoncraft.com/photosharing,

tentang pengertian photo sharing, terakhir diakses tanggal 1 Juni 2011.

[2] http://developers.facebook.com/docs/, tentang

dokumentasi Facebook API, terakhir diakses tanggal 28 Juni 2011

[3] http://www.adobe.com/products/flex/, tentang

Adobe Flex, terakhir diakses tanggal 26 Juni 2011.

[4] http://www.adobe.com/products/air/, tentang

Adobe AIR, terakhir diakses tanggal 5 Juli 2011.

Referensi

Dokumen terkait

Jika pengguna ingin melihat dan memodifikasi data pegawai proyek, pengguna cukup memilih menu Transaksi lalu memilih Pegawai Proyek pada navbar di atas, maka pengguna akan

Layanan pembuatan presentasi berbasis web yang dimaksud akan memanfaatkan fitur HTML5 dan JavaScript untuk menghadirkan aplikasi berbasis web yang ramah pengguna, dengan

Penelitian ini menghasilkan Aplikasi Edukasi Parawisata di Kabupaten Garut Berbasis Android yang telah dilengkapi dengan fitur chatting untuk memudahkan pengguna dalam berkomunikasi

Aplikasi yang dikembangkan berhasil memenuhi kebutuhan pengguna dengan mengembangkan fitur kamus bahasa Batak Toba – Indonesia, permainan kuis kosakata Batak Toba,

yang sebelumnya telah diunggah photographer , menampilkan seluruh foto sesuai transaksi serta dapat diunduh oleh client yang bersangkutan dengan cara menekan

Dalam melakukan pengujian aplikasi, pengguna diminta mencoba menjalankan aplikasi untuk mencoba semua fungsionalitas dan fitur yang ada. Pengujian permainan oleh pengguna

Fungsi LBS berhasil diterapkan pada semua fitur di eMKUL seperti list resto berdasarkan jarak dengan posisi pengguna, tampilan Maps yang menampilkan posisi peta

Aplikasi dilengkapi dengan fitur Kelola data pengguna sistem, Kelola data identitas dan pemeriksaan balita, Grafik Perkembangan Balita, Kelola data identitas dan pemeriksaan ibu