rancang bangun aplikasi perangkat bergerak berbagi foto berbasis ...

69 downloads 4326 Views 855KB Size Report
Skenario Kasus Penggunaan. System. Pengguna ... Perancangan Proses.  Proses melihat .... Aplikasi mendukung pengambilan foto dari kamera dan dari ...
TozApp

RANCANG BANGUN APLIKASI PERANGKAT BERGERAK BERBAGI FOTO BERBASIS ANDROID MENGGUNAKAN API FACEBOOK, FLICKR DAN PICASA

Penyusun Tugas Akhir : Rianto Rachmawan H. (5108100203)

Dosen Pembimbing : Sarwosri, S.Kom, M.T.

Latar Belakang Munculnya situs jejaring sosial dan situs berbagi foto Facebook, Flickr dan Picasa  Masalah ketika mengunggah foto ke beberapa situs berbagi foto sekaligus API  Foto yang diunggah bebas dilihat dan diunduh orang banyak Watermarking  Perangkat bergerak lebih kecil dan dapat dibawa kemana-mana. Android 

Latar Belakang 

Fitur dari aplikasi ini antara lain :  Mengunggah foto ke tiga situs sekaligus  Mengubah foto  Melihat album  Mengunduh dan menghapus foto  Memberi Watermark pada foto



Dapat membagi foto ke situs berbagi foto dengan mudah dan praktis.

Arsitektur Sistem Pengguna

Kamera

Ambil Foto

Validasi

Penyimpanan

Ubah Foto

Melihat Album

Validasi

Unggah Foto

Facebo ok

Watermarking Foto

Unduh Foto

Flickr

Hapus Foto

Picasa

Skenario Kasus Penggunaan System Melihat Album

Menghapus Foto

Mengelola Foto Mengunduh Foto Pengguna Mengunggah Foto Mengubah Foto





Mengambil Foto dengan Kamera

Mengambil Foto

Mengambil Foto dari Media Penyimpanan

Memberi Watermark pada Foto

Perancangan Proses Proses melihat album  Proses mengelola foto  Proses mengunggah foto  Proses mengambil foto  Proses mengubah foto  Proses memberi watermark pada foto 

Perancangan Proses Mulai

Mengunggah Foto

Sistem menampilkan foto yang akan diunggah

Pengguna memilih situs tujuan

Pengguna mengisi masukan detail foto yang akan diunggah

Apakah pengguna ingin membuat album baru?

Ya

Pengguna mengisikan masukan detail album baru

Tidak

Sistem memanggil API untuk mendapatkan daftar album

Sistem memanggil API untuk membuat album baru

Pengguna memilih album yang ada

Sistem memanggil API untuk mengunggah ke masing-masing situs tujuan

Foto berhasil terunggah

Selesai

Perancangan Proses Mulai

Apakah pengguna ingin merubah ukuran foto?

Pengguna memilih untuk mengubah foto

Ya

Pengguna mengubah ukuran foto sesuai yang diinginkan

Tidak

Apakah pengguna ingin memotong foto?

Ya

Pengguna memotong daerah yang diinginkan pada foto

Tidak

Tidak

Apakah pengguna ingin menambahkan teks?

Ya

Pengguna menambahkan teks pada foto

Sistem menampilkan hasil ubahan

Pengguna selesai mengatur ubahan

Ya

Apakah pengguna masih ingin melakukan perubahan? Tidak

Selesai

Sistem menyimpan hasil ubahan pada file sementara

Mengubah Foto

Perancangan Proses Mulai

Mengelola Foto

Pengguna memilih untuk mengelola foto

Sistem mengunduh foto yang dipilih pengguna

Sistem menampilkan foto dalam ukuran besar

Apakah pengguna ingin menghapus foto?

Ya

Sistem memanggil API untuk menghapus foto

Tidak

Foto berhasil terhapus pada situs

Apakah pengguna ingin menghapus foto? Tidak

Selesai

Ya

Sistem menulis pada media penyimpanan eksternal Foto berhasil ditulis pada media penyimpanan eksternal

Perancangan Diagram Kelas

MainActivity

ImageAquiringActivity

WatermarkingActivity ImageEditingActivity

TextDrawingActivity

ImageResizingActivity

UploadingActivity

AlbumViewActivity

AlbumItem

PhotoItem

Perancangan Diagram Kelas Main Activity

MainActivity +onCreate() +onBackPressed()

AlbumViewActivity -selectedAlbum_facebook: AlbumItem -selectedAlbum_picasa: AlbumItem -selectedPhoto_facebook: PhotoItem -selectedPhoto_picasa: PhotoItem -selectedPhoto_flickr: PhotoItem

ImageAquiringActivity -mImageCaptureUri: Uri -pick_from_camera: int -pick_from_file: int -hasCamera: Boolean

+onCreate() -getAlbumFacebook() -getAlbumPicasa() -getPhotoFlickr() -insertPhotoGalleryFacebook() -insertPhotoGalleryPicasa() -setSpinnerAdapter() -setGalleryAdapter() -deletePhotoFlickr() -deletePhotoPicasa() -saveBitmapToFile() +setPhotoAdapter() +setImage() +setAlbumAdapter() -showImageDialog()

+onCreate() #onActivityResult() -showChooseDialog()

AlbumItem

PhotoItem

-id: String -name: String -description: String

-id: String -name: String -pictureUrl: String -sourceUrl: String

+setter() +getter()

+setter() +getter()

Perancangan Diagram Kelas ImageAquiringActivity -mImageCaptureUri: Uri -pick_from_camera: int -pick_from_file: int -hasCamera: Boolean

ImageAquiring Activity

+onCreate() #onActivityResult() -showChooseDialog()

WatermarkingActivity ImageEditingActivity -mImageCaptureUri: Uri -crop_from_camera: int -temp_photo_file: String +onCreate() #onActivityResult() -doCrop()

UploadingActivity -mImageCaptureBitmap: Bitmap -selectedAlbum_facebook: AlbumItem -selectedAlbum_picasa: AlbumItem -albumListFacebook: List -albumListPicasa: List -albumName: String -albumDescription: String -photoTitle: String -photoDescription: String -photoTag: List -photoFormat: String -confb: ConnectFb -conPic: ConnectPicasa -conflickr: ConnectFlickr +onCreate() -checkSavedFb() -checkSavedFlickr() -checkSavedPicasa() -uploadPhotoFacebook() -uploadPhotoFlickr() -uploadPhotoPicasa() -getAlbumFacebook() -getAlbumPicasa() -setSpinnerAdapter() +setAlbumAdapter()

-bitmap: Bitmap -bitmapWatermark: Bitmap -resizedBitmapWatermark: Bitmap -listOpacity: List -listScale: List -curScale: float -opacity: String -x: float -y: float +onCreate() #onActivityResult() -drawWatermark() -getResizedBitmaps()

AlbumItem -id: String -name: String -description: String +setter() +getter()

PhotoItem -id: String -name: String -pictureUrl: String -sourceUrl: String +setter() +getter()

Perancangan Diagram Kelas ImageEditingActivity -mImageCaptureUri: Uri -crop_from_camera: int -temp_photo_file: String +onCreate() #onActivityResult() -doCrop()

TextDrawingActivity

ImageResizingActivity

-mImageCaptureUri: Uri -bitmap: Bitmap -bmOverlay: Bitmap -listColor: List -listSize: List +listStyle: List +listType: List -x: float -y: float

-mImageCaptureUri: Uri -imageBitmap: Bitmap -resizedBitmap: Bitmap -listScale: List

+onCreate() -drawText()

+onCreate() -drawMatrix()

ImageEditingActivity

Antarmuka

Uji Coba Mengunggah Foto – Album baru

Uji Coba Mengunggah Foto – Album yang sudah ada

Uji Coba Mengelola Foto – Menghapus Foto

Uji Coba – Non Fungsional Browserless

Evaluasi ID UJ-SUC-001

UJ-SUC-002

UJ-SUC-003

UJ-SUC-004

UJ-SUC-005

UJ-SUC-006

UJ-SUC-007

Skenario 1 Skenario 2 Skenario 1

Hasil Pengujian Berhasil Berhasil Berhasil

Skenario 2

Berhasil

Skenario 3

Berhasil

Skenario 1

Berhasil

Skenario 2

Berhasil

Skenario 3

Berhasil

Skenario 1

Berhasil

Skenario 2

Berhasil

Skenario 1

Berhasil

Skenario 2

Berhasil

Skenario 3

Berhasil

Memberi Watermark pada Foto

Skenario 1

Berhasil

Browserless

Skenario 1 Skenario 2 Skenario 3

Berhasil Berhasil Berhasil

Nama Pengujian Melihat Album

Mengelola Foto

Mengunggah Foto

Mengambil Foto

Mengubah Foto

Kesimpulan 



Aplikasi yang dibuat dalam Tugas Akhir ini telah dapat mengimplementasikan sebuah aplikasi perangkat bergerak berbagi foto berbasis Android yang mengintegrasikan Facebook, Flickr dan Picasa dengan menggunakan API masing-masing situs. Proses mengunggah foto ke Facebook, Flickr dan Picasa secara sekaligus, melihat album, mengubah, mengunduh dan menghapus foto telah dapat diimplementasikan oleh aplikasi.

Kesimpulan   

Aplikasi mendukung pengambilan foto dari kamera dan dari media penyimpanan. Aplikasi mendukung pemberian watermark pada foto yang akan diunggah. Proses login dan otorisasi secara browserless pada setiap situs telah dapat diimplementasikan oleh aplikasi.