PEMBANGUNAN PERANGKAT LUNAK
PHOTO SHARING
BAGI KOMUNITAS INDONESIAN XPERIA PHOTOGRAPHY
PADA PLATFORM ANDROID
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
SELAMET RIYADI
10110254
PROGRAM STUDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK DAN ILMU KOMPUTER
iii
Puji dan syukur penulis panjatkan kehadirat Allah SWT, atas rahmat dan
karunia-Nya sehingga penulis dapat menyelesaikan tugas akhir dengan judul
“Pembangunan Perangkat Lunak Photo Sharing Bagi Komunitas Indonesian Xperia Photography Pada Platform Android” sebagai syarat untuk menyelesaikan program studi Strata I Jurusan Teknik Informatika Fakultas Teknik dan Ilmu
Komputer pada Universitas Komputer Indonesia.
Penyusunan tugas akhir ini tidak akan terwujud tanpa mendapat dukungan,
bantuan dan masukan dari berbagai pihak. Untuk itu, penulis ingin menyampaikan
terimakasih yang sebesar-besarnya kepada :
1. Orang tua tercinta, Ibu Rochayati dan Bapak Djufrizal Sahar yang senantiasa
memberikan doa, biaya, semangat, motivasi dan kasih sayang nya kepada
penulis.
2. Bapak Irfan Maliki, S.T., M.T. selaku dosen pembimbing yang telah
membimbing, memotivasi, menginspirasi, dan memberikan pengarahan
selama penelitian tugas akhir ini sehingga tugas akhir ini dapat menjadi sebuah
karya ilmiah yang berkualitas dan bermanfaat.
3. Bapak Irawan Afrianto, S.T., M.T. selaku reviewer yang telah memberikan masukan dan arahan selama perbaikan perangkat lunak ini.
4. Bapak Erick Wijaya, S.Kom selaku penguji tiga yang telah menguji
kompetensi dan memberikan masukan untuk perangkat lunak ini.
5. Bapak Iskandar Ikbal, S.T., M.Kom. selaku dosen wali IF-6 angkatan 2010
yang selalu memberikan motivasi akan pentingnya menjalankan ibadah
disetiap kesibukan kita..
6. Dodi Permana, Chrismikha Hardyanto, Pipit Pitria, Sri Anggraini Surianto,
Carsadi, Mexan Juadha, dan Rizki Adam Kurniawan sebagai rekan yang selalu
solid selama aktifitas perkuliahan.
7. Rizky Nugraha, Edi Rizkinta Harahap, Ahmad Sopian, Nazar Abdullah, dan
iv
8. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas
Komputer Indonesia.
9. Teman-teman kelas IF-6 angkatan 2010 yang telah bersama-sama melewati
masa-masa perkuliahan selama 4,5 tahun.
10. Semua pihak yang terlibat dan ikut membantu dalam tugas akhir ini baik secara
langsung maupun tidak langsung.
Sangat disadari bahwa dalam pelaksanaan dan penyusunan laporan tugas
akhir ini masih banyak kekurangan dan jauh dari kesempurnaan. Oleh karena itu
saran dan kritik yang membangun sangat diharapkan untuk pengembangan ke arah
yang lebih baik. Akhir kata, semoga tugas akhir ini dapat bermanfaat bagi para
pembaca.
Bandung, 20 Februari 2015
v
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
DAFTAR SIMBOL ... xiv
DAFTAR LAMPIRAN ... xvii
PENDAHULUAN ... 1
I.1 Latar Belakang ... 1
I.2 Rumusan Masalah ... 2
I.3 Maksud dan Tujuan... 3
I.4 Batasan Masalah ... 3
I.5 Metodologi Penelitian ... 4
I.5.1 Metode Pengumpulan Data ... 4
I.5.2 Metode Pembangunan Perangkat Lunak ... 5
I.6 Sistematika Penulisan ... 6
TINJAUAN PUSTAKA ... 9
II.1 Profil Komunitas Indonesian Xperia Photography ... 9
II.1.1 Gambaran Umum Komunitas ... 10
II.1.2 Visi dan Misi Komunitas ... 11
II.1.3 Struktur Organisasi Komunitas ... 11
II.1.4 Deskripsi Kerja Jabatan ... 12
II.2 Landasan Teori... 12
II.2.1 Fotografi ... 12
II.2.2 Citra ... 13
II.2.2.1Pengolahan Citra... 13
II.2.2.2Operasi Pengolahan Citra ... 14
vi
II.2.2.4Konvolusi ... 18
II.2.2.5Histogram ... 19
II.2.2.6Teknik Watermarking ... 20
II.2.3 Android ... 20
II.2.4 Android GPUImage Library ... 22
II.2.5 Structure Analysis and Design ... 23
II.2.6 Object Oriented Analysis and Design ... 24
II.2.7 Web Service ... 28
II.2.8 JSON (Java Sript Object Notation) ... 29
II.2.9 Google Cloud Messaging ... 30
II.2.10 Pengujian Black Box... 31
II.2.11 Pengujian Kuesioner ... 32
ANALISIS DAN PERANCANGAN SISTEM ... 35
III.1 Analisis Sistem... 35
III.1.1 Analisis Masalah ... 35
III.1.2 Analisis Sitem Berjalan ... 35
III.1.3 Analisis Aturan Bisnis ... 39
III.1.4 Analisis Pemilihan Media Penyimpanan Online ... 40
III.1.5 Analisis Aplikasi Sejenis ... 41
III.1.6 Analisis Arsitektur Sistem ... 44
III.1.7 Analisis Fitur Unik ... 47
III.1.8 Analisis Image Enhancement ... 48
III.1.9 Spesifikasi Kebutuhan Perangkat Lunak ... 54
III.1.10 Analisis Kebutuhan Non Fungsional ... 55
III.1.11 Analisis Data ... 58
III.1.12 Analisis Fungsional ... 59
III.1.12.1 Analisis Kebutuhan Fungsional Web ... 59
III.1.12.2 Analisis Kebutuhan Fungsional Mobile ... 78
III.2 Perancangan Sistem ... 132
III.2.1 Perancangan Data ... 132
III.2.2 Perancangan Struktur Menu ... 136
vii
IV.1.1 Lingkungan Implementasi ... 165
IV.1.2 Implementasi Data ... 166
IV.1.3 Implementasi Antarmuka ... 170
IV.2 Pengujian Sistem ... 172
IV.2.1 Rencana Pengujian ... 172
IV.2.2 Skenario Pengujian ... 172
IV.2.3 Hasil Pengujian ... 174
IV.2.4 Evaluasi Pengujian ... 188
KESIMPULAN DAN SARAN ... 189
V.1 Kesimpulan ... 189
V.2 Saran ... 189
191
DAFTAR PUSTAKA
[1] Hadiiswa, Jago Tips & Trik Fotografi Ponsel Untuk Pemula, Yogyakarta: IndonesiaTera, 210.
[2] D. Purwanto, "Sony Ingin Xperia Masuk Dua Besar di Indonesia," Kompas,
6 2013. [Online]. Available:
http://tekno.kompas.com/read/2013/06/27/1113247/sony.ingin.xperia.masu k.dua.besar.di.indonesia. [Accessed 28 12 2014].
[3] I. (. D. Corporation), "IDC : Smartphone OS Market Share, Q2 2014," [Online]. Available: http://www.idc.com/prodserv/smartphone-os-market-share.jsp. [Accessed 11 October 2014].
[4] M. P. S. Dharma, Pendekatan, Jenis, dan Metode Penelitian Pendidikan, Jakarta: Direktorat Tenaga Kependidikan Departemen Pendidikan Nasional, 2008, p. 47.
[5] I. Sommerville, Software Engingeering (Rekayasa Perangkat Lunak)/Edisi 6 Jilid 1, Erlangga, 2003.
[6] Y. I. Mahendra, Dari Hobi Jadi Profesional, Yogyakarta: Penerbit Andi, 2010.
[7] R. Munir, “Pengolahan Citra Digital,” [Online]. Available: http://informatika.stei.itb.ac.id/~rinaldi.munir/Buku/Pengolahan%20Citra% 20Digital/. [Diakses 24 10 2014].
[8] A. Murni, Pengantar Pengolahan Citra, Elex Media Komputindo, 1992.
[9] A. K. Jain, Fundamentals of Digital Image Processing, Prentice-Hall, 1989.
[10] A. Wahadyo and S. S, Tip Trik Android untuk pengguna Tablet & Handphone, Jakarta: Penerbit Mediakita, 2012.
[11] P. Atalapu, "Implementasi Location Based Service Berbasis Cell Id Untuk Anjungan Provinsi Sulawesi Selatan Taman Mini Indonesia Indah (Tmii) Memanfaatkan Teknologi Augmented Reality Pada Perangkat Bergerak Android," p. 11, 2012.
[12] H. J. R. Gary Shelly, Systems Analysis and Design, Boston: Course technology cengange learning, 2010.
192
[16] J. Simarmata, Rekayasa Web, Yogyakarta: ANDI, 2010.
[17] j. org, "json org," [Online]. Available: http://json.org/json-id. [Accessed 25 April 2014].
[18] M. T. a. L. Lewin, Developer's Cookbook, New York: Addison-Wesley, 2013.
[19] G. Inc., "Introduction to Android," Google Inc., [Online]. Available: http://developer.android.com/guide/index.html. [Accessed 30 9 2014].
1
PENDAHULUAN
I.1 Latar Belakang
Handphone atau telepon genggam pada era 1990-an hanya berfungsi sebagai alat komunikasi. Namun pada era 2007-an, fungsi handphone bukan hanya sekedar untuk itu saja. Handphone yang sekarang beredar di pasaran sudah dilengkapi dengan berbagai fitur tambahan dan diantaranya adalah kamera. Dengan
berkamera, orang dapat menghasilkan foto dan siapa sangka perkembangan kamera
handphone ini kini berkembang dengan pesat dan kualitasnya pun hampir menandingi beberapa kamera profesional [1]. Sony merupakan salah satu vendor handphone asal Jepang yang dikenal memproduksi handphone dengan kualitas kamera yang sangat baik, XPERIA Z3 yang kini menjadi flagship dari jejeran
handphone Sony ini memiliki kamera dengan resolusi hingga 20.7MP yang dilengkapi dengan bermacam fitur dan hasil jepretannya pun bahkan dapat bersaing
dengan kamera profesional.
Pengguna handphone Sony di Indonesia tahun 2013 menduduki peringkat tiga terbanyak [2]. Dan ada sebuah komunitas fotografi pengguna handphone Sony dengan nama Indonesian Xperia Photography atau dapat disingkat IXP, komunitas
ini adalah komunitas yang menjadi wadah bagi pecinta fotografi yang
menggunakan handphone/smartphone berjenis Xperia dari Sony maupun Sony Ericsson. Dikutip dari jejaring sosialnya di Facebook komunitas ini kini memiliki
anggota sebanyak 23.758 orang yang tersebar dibeberapa regional di Indonesia dan
berpusat di Surabaya.
Saat ini komunitas IXP menggunakan Facebook sebagai media sosial utama
untuk berbagi foto. Meskipun ada media sharing khusus fotografi seperti Instagram pada mobile dan komunitas ini juga menyediakan akun di Instagram, dapat dilihat dari hasil kuesioner terdapat 83 dari 94 responden lebih memilih Facebook
lengkap dan mendukung kebutuhan komunitas jika dibandingkan dengan fitur grup
yang ada pada Facebook diantaranya chat, event, posting yang lebih beragam, dsb. Berdasarkan hasil wawancara dengan ketua IXP regional Bandung pada
tanggal 2 September 2014, beliau mengatakan bahwa dalam penggunaan Facebook
sebagai media sharing ini masih memiliki beberapa masalah dalam penggunaannya. Masalah ini diantaranya adalah tidak adanya fitur ranking secara otomatis sehingga proses ranking masih dilakukan secara manual oleh admin komunitas, dan juga anggota yang akan mem-posting foto membutuhkan aplikasi lain contohnya saja untuk memperbaiki kualitas foto dan memasang watermark
pada foto yang akan di-posting sehingga proses posting ini terkadang menyulitkan terutama bagi anggota baru, pemasangan watermark dibutuhkan untuk memberi tanda bahwa foto tersebut adalah hasil karya dari komunitas IXP, dikarenakan
seringkali foto hasil karya komunitas diklaim oleh orang ataupun kelompok yang
tidak memiliki hak akan foto tersebut dan sejauh ini komunitas belum menemukan
media sharing foto yang secara khusus menyediakan fasilitas sesuai dengan kebutuhan komunitas yaitu fasilitas weekly event, ranking, gathering event, posting
foto yang dilengkapi dengan fitur untuk memperbaiki kualitas foto dan juga
pemasangan watermark.
Masalah yang telah dipaparkan tersebut menjadi dasar pembuatan “Perangkat Lunak Photo Sharing Bagi Komunitas Indonesian Xperia Photography Pada Platform Android” ini. Environment yang akan dipilih untuk pembangunan perangkat lunak ini adalah perangkat mobile yaitu smartphone. Sedangkan untuk sistem operasi yang akan digunakan adalah android dengan pertimbangan bahwa
selain pengguna dipastikan menggunakan sistem operasi android saat ini android
memiliki market share sebesar 84,7% dari seluruh smartphone yang diaktifkan [3].
I.2 Rumusan Masalah
Berdasarkan pemaparan latar belakang masalah, maka perumusan
permasalahan yang terdapat pada penelitian ini adalah bagaimana cara membangun
3
I.3 Maksud dan Tujuan
Berdasarkan permasalahan yang diteliti, maka maksud dari penulisan tugas
akhir ini adalah membangun sebuah media sharing foto bagi komunitas Indonesian Xperia Photography. Adapun tujuan yang akan dicapai dalam penelitian ini adalah:
1. Membantu admin komunitas sehingga tidak perlu melakukan ranking secara
manualpada setiap akhir event dengan menyediakan fitur ranking.
2. Menjadikan posting foto menjadi lebih mudah tanpa perlu menginstal aplikasi lain dengan menyediakan fitur untuk memperbaiki kualitas foto dan juga untuk
pemasangan watermark
3. Menyediakan media sharing foto yang diharapkan dapat memenuhi kebutuhan komunitas seperti weekly event, ranking, gathering event, posting foto yang dilengkapi dengan fitur untuk memperbaiki kualitas foto dan juga pemasangan
watermark.
I.4 Batasan Masalah
Adapun batasan masalah dari penelitian ini adalah:
1. Perangkat lunak terdiri dari dua sub-sistem yaitu web dan mobile. 2. Administrator web adalah para ketua dari masing-masing regional.
3. Perangkat lunak ini menggunakan library GPUImage yaitu untuk memperbaiki kualitas gambar seperti contrast, brighness, dan sharpness.
4. Watermark berupa logo dari komunitas dan terpasang secara otomatis.
5. Pendekatan analisis yang digunakan untuk pembangunan perangkat lunak ini
I.5 Metodologi Penelitian
Metodologi penelitian yang akan digunakan dalam pelaksanaan penelitian ini
adalah metode penelitian evaluatif dan deskriptif. Metode evaluatif dilakukan untuk
mengevaluasi kinerja sistem yang ada ada saat ini. Kemudian dilanjutkan dengan
metode deskriptif dimana metode ini digunakan dalam penelitian awal untuk
menghimpun data tentang kondisi yang ada, faktor pendukung dan penghambat
pengembangan, serta penggunaan produk dimana produk tersebut akan diterapkan.
Metode ini termasuk kedalam metode research and development (R&D) yang merupakan langkah-langkah untuk mengembangkan atau menyempurnakan produk
yang telah ada agar dapat dipertanggungjawabkan [4].
Metode penelitian ini memiliki dua metode dalam pelaksanaanya yaitu
metode pengumpulan data dan metode pembangunan perangkat lunak. Berikut
adalah pemaparannya:
I.5.1 Metode Pengumpulan Data
Adapun teknik pengumpulan data yang akan digunakan terdiri dari dua cara
pengumpulan data, yaitu:
1. Studi Literatur
Pengumpulan data dilakukan adalah dengan cara mempelajari, meneliti, dan
menelaah berbagai literatur dari perpustakaan yang bersumber dari buku buku,
jurnal ilmiah, situs internet, dan bacaan lainnya yang berkaitan dengan penelitian
yang dilakukan seperti pengolahan citra, android, API, GCM, JSON, Location Based Service, HTTP Request and Response menggunakan Android.
2. Wawancara
Wawancara dilakukan dua tahap dengan narasumbernya adalah ketua dari IXP
regional Bandung Mohamad Tri Ramdhani pada hari 31 Agustus 2014 di Taman
Phothography Bandung. Beliau adalah salah satu pengelola grup Facebook
Indonesian Xperia Photography. Wawancara tahap pertama ini ditujukan untuk
memperoleh informasi lengkap mengenai sistem yang sedang berjalan sekarang,
dan kekurangan apa saja yang ada dengan penggunaan Facebook sebagai media
5
tahap kedua dilakukan untuk melakukan pengujian terhadap perangkat lunak yang
telah dibangun.
3. Kuesioner
Penyebaran kuesioner di lakukan dua tahap dilakukan dengan memberikan
beberapa pertanyaan kepada calon responden langsung dalam komunitas IXP di
Facebook. kuesioner yang pertama untuk mengetahui kebutuhan dari sisi anggota,
dan yang ke dua dimaksudkan untuk menguji perangkat lunak yang dibangun.
I.5.2 Metode Pembangunan Perangkat Lunak
Teknik analisis data dalam pembuatan perangkat lunak menggunakan
paradigma perangkat lunak secara waterfall [5], yang meliputi beberapa proses diantaranya:
a. Requirements Definitions
Tahap ini adalah bagian dari sistem yang terbesar dalam pengerjaan suatu
proyek, dimulai dengan menetapkan berbagai kebutuhan dari semua elemen yang
diperlukan sistem dan mengalokasikannya kedalam pembentukan perangkat lunak.
b. System and Software Design
Tahap ini dilakukan sebelum melakukan coding yang bertujuan untuk memberikan gambaran apa saja yang harus dikerjakan dan bagaimana membuat
tampilannya. Tahap ini juga membantu untuk menentukan spesifikasi kebutuhan
sistem dan perangkat keras yang digunakan.
c. Implementation and Unit Testing
Pada tahap ini dilakukan coding atau implementasi program. Program dibuat
menjadi bagian – bagian kecil yang nantinya akan digabungkan pada tahap berikutnya. Setiap bagian program yang telah dibuat akan diperiksa apakah sudah
memenuhi fungsi yang diharapkan atau belum.
d. Integration and system testing
Pada tahap ini dilakukan penggabungan dari bagian – bagian program yang telah dibuat dan dilakukan pemeriksaan / pengujian. Pengujian dilakukan untuk
mengetahui apakah perangkat lunak yang dibuat sesuai dengan desainnya dan
e. Operation and Maintenance
Tahap ini adalah tahapan terakhir dari metode waterfall. perangkat lunak yang telah dibuat kemudian dijalankan dan dilakukan pemeliharaan terhadap sistem
secara keseluruhan.
Untuk lebih jelas dapat dilihat pada Gambar I.1 :
I.6 Sistematika Penulisan
Sistematika penulisan skripsi ini disusun untuk memberikan gambaran
umum mengenai penelitian yang dikerjakan. Sistematika penulisan dalam tugas
akhir ini adalah sebagai berikut :
BAB I PENDAHULUAN
Bab I menguraikan latar belakang permasalahan, merumuskan inti
permasalahan, mencari solusi atas masalah tersebut, mengidentifikasi masalah
tersebut, menentukan maksud dan tujuan, kegunaan penelitian, pembatasan
masalah, metode penelitian, dan sistematika penulisan.
BAB II TINJAUAN PUSTAKA
Bab II menguraikan tentang komunitas dan teori-teori yang berhubungan
dengan topik skripsi yang dibangun.
7
BAB III ANALISIS DAN PERANCANGAN SISTEM
Bab III menguraikan hasil analisis dari objek penelitian untuk mengetahui hal
atau masalah apa yang timbul dan mencoba memecahkan masalah tersebut dengan
mengaplikasikan perangkat-perangkat dan pemodelan yang digunakan.
BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM
Bab IV menguraikan tentang perancangan solusi beserta implementasinya dari
masalah-masalah yang telah dianalisis. Pada bagian ini juga akan ditentukan
bagaimana sistem dirancang, dibangun, diuji dan disesuaikan dengan hasil
penelitian.
BAB V KESIMPULAN DAN SARAN
Bab V menguraikan tentang kesimpulan dari hasil penelitian beserta saran
9
TINJAUAN PUSTAKA
II.1 Profil Komunitas Indonesian Xperia Photography
IXP berawal dari sebuah grup Facebook yang dibuat pada 25 September
2012. Member yang bergabung pada beberapa bulan saat terbentuk hanya berkisar
ratusan orang dan digunakan sebagai media sharing foto serta bertukar informasi. Sesuai namanya IXP atau singkatan dari Indonesia Xperia Photography menjadi
wadah bagi pengguna handphone atau smartphone Xperia untuk menuangkan hobi mereka dalam dunia fotografi atau hanya sekedar berbagi bidikan terbaiknya.
Seiring berjalannya waktu, member yang bergabung dengan grup Facebook
IXP semakin bertambah, sehingga pada penghujung tahun 2012 telah mencapai
seribu lebih. Selama itu juga telah dibuat beberapa peraturan dan konsep dasar
dalam IXP, diantaranya pembuatan tema khusus untuk satu bulan. Jadi dalam satu
bulan member hanya boleh mengupload foto sesuai tema yang telah ditentukan.
Tema yang diberikan cukup menarik diantaranya, landscape, bokeh, macro, dan lain sebagainya. Pada penghujung bulan akan dipilih foto terbaik yang mana
dijadikan sebagai foto sampul pada grup facebook IXP. Kemudian pada beberapa
bulan setelahnya dilakukan perubahan terhadap tema yang awalnya satu bulan
menjadi satu minggu. Perubahan ini juga menandai kematangan peraturan IXP,
sehingga member bisa lebih nyaman dan lebih mudah untuk membaca sebuah foto,
diantaranya format (judul, tema, lokasi, editing, dan lain sebagainya). Dengan format yang tepat maka dapat dengan mudah informasi itu tersampaikan sesuai apa
yang diharapkan, semisal cara pengambilan foto dan cara editing apabila diperlukan.
Pada pertengahan tahun jumlah member terus bertambah mencapai 3.000
lebih, sehingga perlu dilakukan penambahn admin yang awalnya dua orang menjadi
empat orang. IXP juga telah membuat banyak perubahan dari sejak awal terbentuk,
komunitas yang anggotanya tersebar dari sabang sampai merauke.
Gathering pertama IXP diadakan pada 28 April 2013 yang dihadiri saat itu enam orang dari area Jawa Timur tepatnya di Surabaya dan sekitarnya. Gathering ini juga yang menjadi cikal bakal diadakannya Gathering selanjutnya, yang mana semakin hari semakin banyak yang ikut bergabung. Sejauh ini telah terbentuk regional yang
telah matang dan diresmikan antara lain Regional Jatim, Regional Jakarta, Jogja,
Jateng, Jabar, Sulawesi Selatan, Sumatra Selatan, Lampung. Dan member yang
bergabung pun kini telah semakin bertambah yaitu sebanyak 23.758 orang.
Logo dari komunitas Indonesia Xperia Photography ini dapat dilihat pada
Gambar II.1.
Gambar II.1 Logo Komunitas
II.1.1 Gambaran Umum Komunitas
Komunitas ini memiliki rule atau aturan yang harus diikuti agar komunitas ini dapat berjalan dengan teratur dan juga dapat lebih mudah untuk dikelola. Segala
sesuatu yang melanggar aturan tersebut akan dikenai sanksi dari admin komunitas.
Dalam komunitas IXP ini para anggotanya dapat berbagi ilmu seputar
fotografi dan juga dalam komunitas ini diadakan event dengan tema tertentu yang diberikan oleh admin grup setiap minggunya dan para anggota komunitas dapat
mengikuti event tersebut dengan mem-posting hasil foto terbaik mereka, dan anggota lain dapat melakukan proses voting untuk nantinya ditentukan pemenang
11
bagi pemenang event yang mana akan memotivasi mereka untuk terus meningkatkan kreativitas mereka dalam mengambil foto.
Gambaran umum aktivitas posting foto dari komunitas Indonesia Xperia Photography dapat dilihat pada Gambar II.2.
Gambar II.2Gambaran Umum Aktivitas Posting Foto Dari Komunitas IXP
II.1.2 Visi dan Misi Komunitas
Visi dan misi dari komunitas Indonesia Xperia Photography adalah:
1. Visi
Visi dari komunitas IXP ini adalah untuk menjadi wadah bagi pencinta
fotografi ponsel Sony di Indonesia.
2. Misi
Misi dari komunitas IXP ini adalah:
a. Membuktikan bahwa dengan menggunakan kamera dari ponsel dapat
menghasilkan foto yang dapat menandingi foto yang dihasilkan oleh kamera
profesional.
b. Bersama-sama berbagi pengetahuan dan ilmu mengenai seputar fotografi.
II.1.3 Struktur Organisasi Komunitas
Struktur organisasi komunitas IXP ini memiliki struktur yang sejajar yang
terdiri atas masing-masing ketua regional yang saling berkolaborasi. Dan setiap
ketua regional tugasnya pun serupa dengan ketua regional lain. Para ketua regional
inilah yang akan bertindak sebagai administrator dari website IXP.
Berikut ini adalah daftar ketua dari masing masing regional yang ada saat ini:
Ikuti Peraturan yang Berlaku
Posting Jepretan Terbaik mu
Tabel II.1 Ketua Regional Komunitas IXP
No Regional Nama Ketua Regional
1 Jogja – Jateng Fadholi Aprilian
2 Jatim M. Mushonnif
3 Jabar Leny
4 Jakarta Dafit Ariyanto
5 Sulawesi Selatan Ochie
6 Sumatra Selatan M Roppiansyah
7 Lampung Lukman Hakim
II.1.4 Deskripsi Kerja Jabatan
Deskripsi kerja dari jabatan yang akan ikut serta dalam penggunaan perangkat
lunak ini adalah Ketua Regional dimana deskripsi pekerjaan yang dilakukan adalah:
1. Mengelola website IXP. 2. Mengelola posting foto.
3. Mengelola event mingguan dan Gathering event.
4. Mengelola data anggota dan juga data admin website IXP.
II.2 Landasan Teori
Landasan teori merupakan penjelasan berbagai konsep dasar dan teori-teori
yang berkaitan dalam pembangunan perangkat lunak bagi komunitas IXP ini.
Beberapa teori terkait dengan pembangunan perangkat lunak ini adalah konsep
fotografi, citra, pengolahan citra, operasi pengolahan citra, pengolahan citra yang
akan digunakan, konvolusi, histogram, teknik watermarking, android, android GPUImage library, structure analysis and design, object oriented analysis and design, web service, JSON, pengujian black box, dan pengujian kuesioner.
II.2.1 Fotografi
Fotografi berasal dari bahasa Yunani, Photos dan Graphos berarti menggambar atau melukis. Jadi, arti fotografi sesungguhnya adalah
menggambar/melukis dengan cahaya. Dari hakekat fotografi sesungguhnya kamera
adalah sebuah alat yang berfungsi merekam cahaya kedalam film pada kamera
13
Dalam fotografi canggihnya peralatan yang digunakan untuk mengambil
gambar tidak menjadi jaminan untuk mendapatkan foto yang baik, seorang
fotografer juga harus memiliki keahlian dan pengalaman di bidang fotografi. Foto
tidak sekedar kertas yang bergambar. Foto dapat memberikan ungkapan, cerita atau
perasaan kita terhadap orang lain. Dengan foto kita dapat menceritakan suatu
kejadian yang telah berlangsung dan kita alami. Dengan foto, kita juga dapat
memberikan suatu informasi kepada orang lain, seperti keindahan alam, kejadian
peristiwa, produk dan lain sebagainya [6].
II.2.2 Citra
Secara harfiah, citra (image) adalah gambar pada bidang dwimatra (dua dimensi). Ditinjau dari sudut pandang matematis, citra merupakan fungsi menerus
(continue) dari intensitas cahaya pada bidang dwimatra. Sumber cahaya menerangi objek, objek memantulkan kembali sebagian dari berkas cahaya tersebut. Pantulan
cahaya ini ditangkap oleh oleh alat-alat optik, misalnya mata pada manusia, kamera,
pemindai (scanner), dan sebagainya, sehingga bayangan objek yang disebut citra tersebut terekam [7].
Citra sebagai keluaran dari suatu sistem perekaman data dapat bersifat [8]:
1. Optik berupa foto.
2. Analog berupa sinyal video seperti gambar pada monitor televisi.
II.2.2.1 Pengolahan Citra
Meskipun sebuah citra kaya informasi, namun seringkali citra yang kita miliki
mengalami penurunan mutu (degradasi), misalnya mengandung cacat atau derau
(noise), warnanya terlalu kontras, kurang tajam, kabur (blurring), dan sebagainya. Tentu saja citra semacam ini menjadi lebih sulit diinterpretasi karena informasi
yang disampaikan oleh citra tersebut menjadi berkurang.
Agar citra yang mengalami gangguan mudah diinterpretasi (baik oleh
manusia maupun mesin), maka citra tersebut perlu dimanipulasi menjadi citra lain
yang kualitasnya lebih baik. Bidang studi yang menyangkut hal ini adalah
Pengolahan citra adalah pemrosesan citra, khususnya dengan menggunakan
komputer, menjadi citra yang kualitasnya lebih baik. Sebagai contoh, citra burung
nuri pada Gambar II.3 (a) tampak agak gelap, lalu dengan operasi pengolahan citra
kontrasnya diperbaiki sehingga menjadi lebih terang dan tajam (b) [7]. Umumnya,
operasi-operasi pada pengolahan citra diterapkan pada citra bila [9]:
1. Perbaikan atau memodifikasi citra perlu dilakukan untuk meningkatkan
kualitas penampakan atau untuk menonjolkan beberapa aspek informasi yang
terkandung di dalam citra,
2. elemen di dalam citra perlu dikelompokkan, dicocokkan, atau diukur,
3. sebagian citra perlu digabung dengan bagian citra yang lain.
(a) Sebelum (b) Sesudah
Gambar II.3Contoh Hasil Perbaikan Citra
II.2.2.2 Operasi Pengolahan Citra
Operasi-operasi yang dilakukan di dalam pengolahan citra banyak ragamnya.
Namun, secara umum operasi pengolahan citra dapat diklasifikasikan dalam
beberapa jenis sebagai berikut:
1. Perbaikan kualitas citra (image enhancement).
Jenis operasi ini bertujuan untuk memperbaiki kualitas citra dengan cara
memanipulasi parameter-parameter citra. Dengan operasi ini, ciri-ciri khusus yang
15
Contoh-contoh operasi perbaikan citra:
a. Perbaikan kontras gelap/terang
b. Pencahayaan (Brightness)
c. Perbaikan tepian objek (edge enhancement) d. Penajaman (sharpening)
e. Pemberian warna semu (pseudocoloring) f. Penapisan derau (noisefiltering)
2. Pemugaran citra (imagerestoration)
Operasi ini bertujuan menghilangkan/meminimumkan cacat pada citra.
Tujuan pemugaran citra hampir sama dengan operasi perbaikan citra. Bedanya,
pada pemugaran citra penyebab degradasi gambar diketahui.
Contoh-contoh operasi pemugaran citra:
a. Penghilangan kesamaran (deblurring). b. Penghilangan derau (noise)
Kekaburan gambar mungkin disebabkan pengaturan fokus lensa yang tidak
tepat atau kamera bergoyang pada pengambilan gambar. Melalui operasi
deblurring, kualitas citra dapat diperbaiki sehingga tampak lebih baik. 3. Pemampatan citra (imagecompression)
Jenis operasi ini dilakukan agar citra dapat direpresentasikan dalam bentuk
yang lebih kompak sehingga memerlukan memori yang lebih sedikit. Hal penting
yang harus diperhatikan dalam pemampatan adalah citra yang telah dimampatkan
harus tetap mempunyai kualitas gambar yang bagus. Contoh metode pemampatan
citra adalah metode JPEG.
4. Segmentasi citra (imagesegmentation).
Jenis operasi ini bertujuan untuk memecah suatu citra ke dalam beberapa
segmen dengan suatu kriteria tertentu. Jenis operasi ini berkaitan erat dengan
pengenalan pola.
5. Pengorakan citra (imageanalysis)
Jenis operasi ini bertujuan menghitung besaran kuantitif dari citra untuk
tertentu yang membantu dalam identifikasi objek. Proses segmentasi kadangkala
diperlukan untuk melokalisasi objek yang diinginkan dari sekelilingnya.
Contoh-contoh operasi pengorakan citra:
a. Pendeteksian tepi objek (edgedetection) b. Representasi daerah (region)
c. Ekstraksi batas (boundary)
6. Rekonstruksi citra (imagereconstruction)
Jenis operasi ini bertujuan untuk membentuk ulang objek dari beberapa citra
hasil proyeksi. Operasi rekonstruksi citra banyak digunakan dalam bidang medis.
Misalnya beberapa foto rontgen dengan sinar X digunakan untuk membentuk ulang
gambar organ tubuh [7].
II.2.2.3 Operasi Pengolahan Citra yang Akan Digunakan
Berikut ini adalah beberapa teknik Image Enchanchement yang akan di gunakan [7]:
1. Brightness
Untuk membuat citra lebih terang atau lebih gelap, kita melakukan
pengubahan kecerahan gambar. Kecerahan/kecemerlangan gambar dapat
diperbaiki dengan menambahkan (atau mengurangkan) sebuah konstanta kepada
(atau dari) setiap pixel di dalam citra. Akibat dari operasi ini, histogram citra mengalami pergeseran.
Secara matematis operasi ini ditulis sebagai:
f(x, y)’ = f(x, y) + b ..(II.3)
Jika b positif, kecerahan gambar bertambah, sebaliknya jika b negatif kecerahan gambar berkurang. Algoritma pengubahan kecerahan gambar
ditunjukkan pada Algoritma 7.1. Citra masukan mempunyai 256 derajat keabuan
yang nilai-nilainya dari 0 sampai 255. Intensitas pixel disimpan di dalam Image
[0..N-1,0..M-1], sedangkan hasil pengubahan tetap disimpan di dalam citra Image.
17
derajat keabuan maksimum (255). Karena itu, pixel tersebut perlu dilakukan
clipping ke nilai keabuan minimum atau ke nilai keabuan maksimum.
2. Contrast
Kontras menyatakan sebaran terang (lightness) dan gelap (darkness) di dalam sebuah gambar. Citra dapat dikelompokkan ke dalam tiga kategori kontras yaitu
citra kontras-rendah (lowcontrast), citra kontras-bagus (goodcontrast atau normal contrast), dan citra kontras-tinggi (high contrast). Ketiga kategori ini umumnya dibedakan secara intuitif.
Citra dengan kontras-rendah dapat diperbaiki kualitasnya Teknik yang lazim
dipakai adalah perataan histogram (histogram equalization). Tujuan dari perataan histogram adalah untuk memperoleh penyebaran histogram yang merata,
sedemikian sehingga setiap derajat keabuan memiliki jumlah pixel yang relatif sama.
Karena histogram menyatakan peluang pixel dengan derajat keabuan tertentu, maka rumus menghitung histogram ditulis kembali sebagai fungsi peluang:
�� =�� ..(II.4)
Yang dalam hal ini,
� = � − , � − ..(II.5)
Yang dimaksud dengan perataan histogram adalah mengubah derajat keabuan
suatu pixel (r) dengan derajat keabuan yang baru (s) dengan suatu fungsi
transformasi T, yang dalam hal ini s = T(r).
Untuk mencari nilai derajat keabuan baru dapat menggunakan persamaan
berikut:
= � = ∑�� ∑ �� =0 =0
Setelah didapat Sk kelompokan ke nilai r terdekat untuk memperoleh, hitung kembali nilai nk yangbaru dan hitunglah masing-masing Ps(sk).
3. Sharpening
Operasi penajaman citra bertujuan memperjelas tepi pada objek di dalam
citra. Penajaman citra merupakan kebalikan dari operasi pelembutan citra karena
operasi ini menghilangkan bagian citra yang lembut. Operasi penajaman dilakukan
dengan melewatkan citra pada penapis lolos-tinggi (high-pass filter).
Penapis lolos-tinggi akan meloloskan (atau memperkuat) komponen yang
berfrekuensi tinggi (misalnya tepi atau pinggiran objek) dan akan menurunkan
komponen berfrekuensi rendah. Akibatnya, pinggiran objek telihat lebih tajam
dibandingkan sekitarnya.
Aturan penapis lolos-tinggi:
a. koefisien penapis boleh positif, negatif, atau nol
b. jumlah semua koefisien adalah 0 atau 1
Jika jumlah koefisien = 0, maka komponen berfrekuensi rendah akan turun nilainya,
sedangkan jika jumlah koefisien sama dengan 1, maka komponen berfrekuensi
rendah akan tetap sama dengan nilai semula.
Contoh-contoh penapis lolos-tinggi:
Gambar II.4 Contoh Kernel Penapis Lolos-Tinggi [7]
II.2.2.4 Konvolusi
Konvolusi adalah sebuah operasi pengolahan citra yang mengalikan sebuah
19
ℎ , = , ∗ , = ∑ ∑ , − , −
∞
=−∞ ∞
=−∞
..(II.1)
Fungsi penapis g(x,y) disebut juga convolution filter, convolution mask,
convolutionkernel, atau template. Dalam ranah diskrit kernel konvolusi dinyatakan dalam bentuk matriks (umumnya 3 ´ 3, namun ada juga yang berukuran 2 ´ 2 atau
2 ´ 1 atau 1 ´ 2). Ukuran matriks ini biasanya lebih kecil dari ukuran citra. Setiap
elemen matriks disebut koefisien konvolusi.
Ilustrasi konvolusi ditunjukkan pada Gambar II.5 [7]:
, = � + � + � + � + � + � + � + � + � Gambar II.5 Ilustrasi Konvolusi
II.2.2.5 Histogram
Informasi penting mengenai isi citra digital dapat diketahui dengan membuat
histogram citra. Histogram citra adalah grafik yang menggambarkan penyebaran
nilai-nilai intensitas pixel dari suatu citra atau bagian tertentu di dalam citra. Dari sebuah histogram dapat diketahui frekuensi kemunculan nisbi (relative) dari intensitas pada citra tersebut. Histogram juga dapat menunjukkan banyak hal
itu, histogram adalah alat bantu yang berharga dalam pekerjaan pengolahan citra
baik secara kualitatif maupun kuantitatif [7].
Secara matematis histogram citra dihitung dengan rumus:
ℎ =�� , = , , … , � − ..(II.2)
yang dalam hal ini,
ni = jumlah pixel yang memiliki derajat keabuan i n = jumlah seluruh pixel di dalam citra
II.2.2.6 Teknik Watermarking
Pada dasarnya, teknik watermarking adalah proses menambahkan kode identifikasi secara permanen ke dalam data digital. Kode identifikasi tersebut dapat
berupa teks, gambar, suara, atau video. Selain tidak merusak data digital produk yang akan dilindungi, kode yang disisipkan seharusnya memiliki ketahanan
(robustness) dari berbagai pemrosesan lanjutan seperti pengubahan, transformasi geometri, kompresi, enkripsi, dan sebagainya. Sifat robustness berarti data
watermark tidak terhapus akibat pemrosesan lanjutan tersebut [7]. Namun pada penelitian ini teknik pemasangan watermark nya berbeda, tanpa memasukan suatu kode kedalam gambar, hanya menggabungkan gambar utama dengan gambar
watermark sesuai dengan kordinat x dan y yang ditentukan.
II.2.3 Android
Android adalah sistem operasi smartphone layar sentuh seperti iOS iPhone dan OS BlackBerry yang dalam pengembangannya dipimpin oleh google. Sistem
operasi ini bersifat OpenSource dan dikembangkan berdasarkan kernel Linux yang disematkan pada gadget, baik itu handphone atau tablet [10]. Android memiliki OS yang sangat baik, cepat dan kuat serta memiliki antarmuka pengguna intuitif yang
21
mengembangkan aplikasi pada platform android dengan menggunakan bahasa
pemrograman Java.
Di dalam android terdapat activity dimana komponen ini memberi interaksi antara user dan aplikasi yang dibangun melalui user interface. Activity ini memiliki Siklus hidup yang dinamakan Android Life Cycle. Flowchart siklus hidup tersebut dapat dilihat pada Gambar II.6.
Gambar II.6 Android Life Cycle
Gambar II.6 Android Life Cycle menjelaskan mengenai sebuah ilustrasi sederhana dari siklus hidup activity yang dinyatakan sebagai langkah piramida. Hal ini menunjukkan bagaimana untuk setiap callback yang digunakan untuk mengambil aktivitas langkah menuju state atas kemudian dilanjutkan ada metode
callback yang mengambil langkah menurun. Kegiatan ini juga dapat kembali ke keadaan dari statepause dan stop. Siklus hidup activity ini menjadi sangat penting ketika kita hendak membuat aplikasi berbasis android. Gunanya adalah agar
aplikasi yang dibangun berjalan dengan baik. Berikut penjelasan pada
masing-masing state:
1. onCreate(), Method ini dipanggil ketika activity pertama kali dibuat. 2. onStart(), Method ini dipanggil ketika sebuah activity tampil ke pengguna 3. onResume(), Method ini dipanggil ketika activity yang berjalan pada saat itu
4. onPause(), Method ini di panggil ketika activity di hentikan sementara (pause) dan berikutnya ketika dijalankan kembali akan berada dalam posisi resume dan memanggil method OnResume()
5. onStop(), Method ini dipanggil ketika activity tidak lagi tampak kepada pengguna
6. onDestroy(), Method ini dipanggil sebelum activity dihancurkan (destroy) oleh sistem (baik secara manual maupun untuk kepentingan pelonggaran memori).
Banyak sekali fitur yang dapat dimanfaatkan pada platform android ini.
Diantaranya adalah Location Based Services (LBS) dan Google Cloud Messaging
(GCM). Location Based Services (LBS) dapat dimanfaat untuk layanan yang menggunakan informasi geografis dalam memberikan informasi lokasi kepada
pengguna, sebagai petunjuk posisi atau lokasi piranti mobile pengguna berada, dan menemukan rute jalan sesuai permintaan. LBS dapat digambarkan sebagai satu layanan yang berada pada pertemuan tiga teknologi yaitu: Geographic Information System (GIS), Internet Service, dan Mobile Devices [11]. Google Cloud Messaging
atau disingkat GCM merupakan suatu layanan yang disediakan oleh google, dengan layanan ini kita dapat mengirimkan data dari server ke user yang pada aplikasinya menggunakan layanan ini. Google Cloud Messaging dapat digunakan developer, khususnya developer android untuk mengirimkan push notificationication.
II.2.4 Android GPUImage Library
Library ini adalah library yang di buat oleh Cyber Agent pada tahun 2012 yang dapat di unduh pada situs https://github.com/CyberAgent/android-gpuimage
dimana library ini menyediakan berbagai macam fungsi dalam memperbaiki kualitas citra. Dalam penelitian ini yang akan digunakan diantaranya:
1. Pengaturan contras. 2. Pengaturan Brightness. 3. Sharpening.
23
mGPUImage = new GPUImage(this);
mGPUImage.setGLSurfaceView((GLSurfaceView) findViewById(R.id.surfaceView));
mGPUImage.setImage(imageUri); // this loads image on the current thread, should be run in a thread
mGPUImage.setFilter(new GPUImageSepiaFilter());
II.2.5 Structure Analysis and Design
Struktur analisis dan desain adalah sebuah metodologi yang di gunakan pada
rekayasa perangkat lunak untuk mendeskripsikan sistem kearah fungsional.
Pendekatan ini memecahkan masalah-masalah dalam aktifitas bisnis menjadi
bagian-bagian kecil yang dapat disatukan kembali menjadi satu kesatuan yang utuh
untuk memecahkan masalah [12].
Tools yang dapat digunakan pada pendekatan analisis pengembangan sistem secara terstruktur adalah:
1. Diagram Konteks adalah diagram yang menggambarkan sebuah sistem secara
menyeluruh yang selanjutnya akan lebih didetailkan oleh DFD. Konteks
diagram juga biasa disebut sebagai DFD level 0.
2. Data Flow Diagram atau biasa di singkat DFD merupakan serangkaian diagram yang menggambarkan kegiatan-kegiatan yang ada dalam satu sistem.
Teknik pembangunan DFD dimulai dengan menggambarkan sistem secara
global dan dilanjutkan dengan analisis masing-masing bagian. Pada awalnya
digambarkan konteks diagram yang menggambarkan sebuah sistem secara
menyeluruh yang akan diinvestigasi. Konteks diagram tersebut dapat dikatakan
sebagai DFD level 0. Analisis sistem yang lebih detail selanjutnya dapat dilakukan dengan menggambarkan DFD level 1,2 dan seterusnya.
3. Spesifikasi Proses merupakan tabel yang berisi keterangan deskripsi dari
semua proses yang terdapat di DFD. Logika proses harus dituliskan secara jelas
baik menggunakan bahasa deskriptif atau pseudo code (tidak boleh campuran. 4. Kamus Data (Data Dictionary) merupakan fakta tentang data dan
II.2.6 Object Oriented Analysis and Design
Analisis dan desain berorientasi objek adalah cara baru dalam memikirkan
satu masalah dengan menggunakan model yang dibuat menurut konsep sekitar
dunia nyata. Tujuan dari analisis berorientasi objek adalah untuk mengembangkan
model yang menggambarkan perangkat lunak komputer karena bekerja untuk
memenuhi seperangkat persyaratan yang ditentukan user [13]. Tools yang dapat digunakan pada pendekatan analisis pengembangan sistem secara objek dapat
menggunakan UML.
Unified Modelling Language (UML) adalah sebuah bahasa yg telah menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan
sistem piranti lunak. UML menggunakan class dan operation object dalam konsep dasarnya, maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa
berorientasi objek [14]. Dalam membangun block UML ada 3 hal yang harus
diperhatikan, yaitu object (memodelkan konsep), relationship (mengkoneksikan
object), dan diagram (grouping yang saling mengkoneksikan antara object dan
relationship. Diagram yang umum dipakai dalam analisis dan desain adalah:
1. Use Case Diagram
Use Case Diagram menggambarkan fungsionalitas yang diharapkan dari
sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem, dan bukan “bagaimana”. Sebuah Use case merepresentasikan sebuah interaksi antara aktor dengan sistem. Sebuah use case dapat meng-include fungsionalitas use case lain sebagai bagian dari proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-include akan dipanggil setiap kali use case yang meng-include
dieksekusi secara normal. Sebuah use case dapat di-include oleh lebih dari satu use case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara menarik keluar fungsionalitas yang serupa. Sebuah use case juga dapat meng-extend usecase lain dengan behaviour-nya sendiri. Sementara hubungan generalisasi antar
25
Dasar menentukan sebuah use case adalah use case merupakan sesuatu yang menyediakan beberapa hasil terukur kepada pengguna atau sistem eksternal. Use case harus memiliki sangat jelas kriteria lulus / gagal. Pengembang, tester, penulis teknis, dan pengguna harus secara eksplisit tahu apakah sistem memenuhi kasus
penggunaan atau tidak. Setiap bagian dari use case yang memenuhi tes sederhana ini mungkin menjadi kandidat yang baik untuk use case [15].
2. Use Case Scenario
Sebuah diagram yang menunjukkan use case dan aktor mungkin menjadi titik awal yang bagus, tetapi tidak memberikan detail yang cukup untuk desainer
sistem untuk benar-benar memahami persis bagaimana sistem dapat terpenuhi. Cara
terbaik untuk mengungkapkan informasi penting ini adalah dalam bentuk
penggunaan use case scenario berbasis teks per use case-nya. Berikut adalah dasar format penulisan use case scenario [15]. Dasar pembangunan use case scenario
dapat dilihat pada Tabel II.2.
Tabel II.2 Dasar Pembangunan Use CaseScenario
Use Case Name Berisi nama dari Use case yang akan digunakan
Goal In Context Menjelaskan apa yang aktor coba untuk dapatkan dari Use case Description Menjelaskan gambaran dari Use case
RelatedUse Case Daftar Use case yang berhubungan dengan Use case tersebut Successful End Condition Kondisi Use case jika berhasil
Failed End Condition Kondisi Use case jika gagal
Actors Daftar aktor yang dapat mengakses Use case Trigger Aktifitas yang dilakukan untuk mengawali Use case
Main Flow Step Action
1 Deskripsi urutan aksi dari aktifitas Use case 2
3
Extension Step BranchingAction
3. Sequence Diagram
Sequence diagram menggambarkan interaksi antar objek di dalam dan di sekitar sistem berupa message yang digambarkan terhadap waktu. Sequence diagram terdiri atar dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait). Sequence diagram biasa digunakan untuk menggambarkan skenario atau rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah event
untuk menghasilkan Output tertentu. Diawali dari apa yang men-trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara internal dan Output apa yang dihasilkan.
Masing-masing objek, termasuk aktor, memiliki lifeline vertikal. Message
digambarkan sebagai garis berpanah dari satu objek ke objek lainnya. Pada fase
desain berikutnya, message akan dipetakan menjadi operasi/metoda dari class.
Activation bar menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan diterimanya sebuah message [14]. Untuk objek-objek yang memiliki sifat
khusus, standar UML mendefinisikan icon khusus untuk objek boundary,
controller dan persistent entity.
4. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
Class menggambarkan keadaan (atribut/properti) satu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Class memiliki tiga area pokok: 1. Nama dan stereotype
2. Atribut
3. Metoda
Atribut dan metoda dapat memiliki salah satu sifat berikut:
27
2. Protected, hanya dapat dipanggil oleh class yang bersangkutan dan anak-anak yang mewarisinya.
3. Public, dapat dipanggil oleh siapa saja.
Class dapat merupakan implementasi dari sebuah interface, yaitu class
abstrak yang hanya memiliki metoda. Interface tidak dapat langsung diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah class. Sesuai dengan perkembangan class model, class dapat dikelompokkan menjadi
package. Kita juga dapat membuat diagram yang terdiri atas package.
Class memiliki tipe-tipe relationship, diantaranya :
1. Asosiasi, yaitu hubungan statis antar class. Umumnya menggambarkan
class yang memiliki atribut berupa class lain, atau class yang harus mengetahui eksistensi class lain.
2. Agregasi, yaitu hubungan yang menyatakan bagian terdiri atas dimana
ketika satu class di share atau direferensikan kepada objek yang ada di class
lain.
3. Pewarisan, yaitu hubungan hirarkis antar class. Class dapat diturunkan dari
class lain dan mewarisi semua atribut dan metoda class asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah generalisasi.
4. Komposisi, yaitu jenis relasi class diagram yang kuat dimana jika sebuah class tidak bisa berdiri sendiri dan harus merupakan bagian dari class yang
lain, maka class tersebut memiliki relasi Composition terhadap class tempat
dia bergantung tersebut. Sebuah relationship composition digambarkan
sebagai garis dengan ujung berbentuk jajaran genjang berisi/solid.
5. Depedensi, salah satu jenis relasi class diagram yang lemah dimana objek dalam suatu class akan bekerja sangat singkat dengan objek yang ada pada
class lain
5. Activity Diagram
menggambarkan proses paralel yang mungkin terjadi pada beberapa eksekusi.
Sebuah aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas menggambarkan proses yang berjalan, sementara use case menggambarkan bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Standar UML
menggunakan segiempat dengan sudut membulat untuk menggambarkan aktivitas.
Decision digunakan untuk menggambarkan behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses paralel (fork dan join) digunakan titik sinkronisasi yang dapat berupa titik, garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi beberapa object swimlane untuk menggambarkan objek mana yang bertanggung jawab untuk aktivitas tertentu [14].
6. Depeloyment Diagram
Deployment diagram merupakan diagram yang menunjukkan susunan fisik suatu sistem yang dibangun. Deployment diagram menunjukkan bagian perangkat lunak mana yang berjalan pada suatu perangkat keras tertentu yang digunakan pada
sistem. Hal yang penting dalam deployment diagram adalah pusat – pusat yang dihubungkan oleh suatu jalur komunikasi dimana pusat tersebut merupakan sebuah
titik yang mengumpulkan beberapa perangkat lunak. Berikut contoh bentuk
deployment diagram:
Gambar II.7 Contoh Deployment Diagram
II.2.7 Web Service
Web Service adalah sekumpulan application logic beserta objek-objek dan metode-metode yang dimilikinya yang terletak di satu server yang terhubung ke internet [16]. Tujuan dari teknologi ini adalah untuk memudahkan beberapa aplikasi
29
organisasi maupun diluar organisasi menggunakan standar yang tidak terikat
platform (platform-neutral) dan tidak terikat akan bahasa pemrograman yang digunakan (language-neutral). Hal tersebut dapat terjadi karena penggunaan XML standar yang didukung oleh banyak perusahaan besar di dunia, yang digunakan
untuk bertukar data. Selain XML, terdapat pula format pertukaran data lain yaitu
JSON.
II.2.8 JSON (Java Sript Object Notation)
JSON (JavaScript Object Notation) adalah format pertukaran data yang ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat (generated) oleh komputer [17]. JSON terbuat dari dua struktur yaitu: 1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan
sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary), tabel hash (hash table), daftar berkunci (keyed list), atau associative array. 2. Daftar nilai terurutkan (list of values). Pada kebanyakan bahasa, hal ini
dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan (Sequence).
JSON menggunakan bentuk sebagai berikut:
1. Objek
Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai dengan
{ (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup). Setiap nama
diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan oleh , (koma).
2. Larik
Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan[ (kurung
kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai dipisahkan oleh
, (koma).
3. Nilai
Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-struktur
4. String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus
dengan tanda kutip ganda. Di dalam string dapat digunakan backslash escapes "\"
untuk membentuk karakter khusus. Sebuah karakter mewakili karakter tunggal
pada string. String sangat mirip dengan string C atau Java.
5. Angka, Format oktal dan heksadesimal tidak digunakan.
II.2.9 Google Cloud Messaging
Google Cloud Messaging adalah teknologi untuk membantu pengembang mengirim data dari server menuju device android secara langsung melalui server
google, pemanfaatan teknologi ini biasanya digunakan untuk push messaging.
Pengiriman pesan menggunakan teknologi ini mengharuskan adanya API key, key
ini terkait langsung dengan akun google yang digunakan untuk mempublikasikan
aplikasi melalui google play [18].
31
Berdasarkan ilustrasi dari Gambar II.8 terdapat dua server yang terlibat dalam proses push messaging , pada setiap server yang terlibat terdapat proses pengiriman data yang berbeda-beda diantaranya [18]:
1. Device android mengirimkan sender id dan application id menuju GCM Server
untuk registrasi.
2. Setelah berhasil registrasi, GCM server akan mengirimkan registration id menuju device android.
3. Setelah device android mendapatkan registration id, device tersebut akan mengirimkan registration id menuju server aplikasi.
4. Server aplikasi akan menyimpan registrasi id yang dikirimkan untuk digunakan sebagai id saat menggunakan push messaging.
II.2.10Pengujian Black Box
Metode pengujian black box fokus pada keperluan penelusuran kesalahan fungsional dari software. Ujicoba black box berusaha untuk menemukan kesalahan dalam beberapa kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang
2. Kesalahan interface
3. Kesalahan dalam struktur data atau akses database eksternal
4. Kesalahan performa
5. kesalahan inisialisasi dan terminasi
Teknik pengujian black box terdiri dari 10 jenis diantaranya Equivalence Partitioning, Boundary Value Analysis/Limit Testing, Comparison Testing, Sample Testing, Robustness Testing, Behavior Testing, Requirement Testing, Performance Testing, Endurance Testing, Cause-Effect Relationship Testing. Salah satunya yang akan digunakan adalah Equivalence partitioning.
Equivalence partioning merupakan metode ujicoba blackbox yang membagi domain input dari program menjadi beberapa kelas data dari kasus ujicoba yang dihasilkan. Kasus uji penanganan single yang ideal menemukan sejumlah kesalahan
(misalnya : kesalahan pemrosesan dari seluruh data karakter) yang merupakan
II.2.11Pengujian Kuesioner
Kuesioner adalah sebuah daftar pernyataan yang harus diisi oleh orang yang
akan dievaluasi (responden). Metode yang digunakan dalam kuesioner pada
penelitian ini adalah skala Likert. Dalam skala likert, responden diminta untuk membaca dengan seksama setiap pernyataan yang disajikan, kemudian ia diminta
untuk menilai pernyataan-pernyataan tersebut.
Derajat penilaian responden terhadap suatu pernyataan terbagi dalam 5
kategori yang tersusun secara bertingkat, mulai dari Sangat Tidak Setuju (ST),
Tidak Setuju (T), Tidak Memutuskan (N), Setuju (S), dan Sangat Setuju (SS). Atau
dapat pula sebaliknya. Pernyataan tiap kuesioner dibuat berdasarkan aspek-aspek
yang diteliti. Bobot pemberian skor yang digunakan dapat dilihat pada Tabel II.4.
Tabel II.3 Panduan pemberian skor
Bobot pendapat
SS S N T TS
5 4 3 2 1
Skor yang telah dihitung pada setiap pernyataan kemudian dikalikan dengan
masing-masing bobot tersebut sesuai dengan skenario kuesioner yang telah dibuat.
Setelah itu total kan seluruh bobot jawaban tersebut kemudian bagi dengan total
responden yang nantinya menjadi nilai rata-rata. Nilai rata-rata inilah yang diambil
sebagai acuan sikap dimana jika nilai rata-rata kurang dari skala netral, maka dapat
diartikan responden bersikap negatif, jika nilai rata-rata lebih dari skala netral, maka
dapat diartikan responden bersikap positif, dan jika nilai rata-rata sama dengan
skala netral maka responden bersikap netral terhadap tujuan yang ingin peneliti
capai [20]. Untuk lebih jelasnya dapat dilihat pada rumus seperti berikut.
� =
∑ � � ,Dimana,
33
� = bersikap netral
Keterangan :
� = rata-rata
∑ Total = jumlah seluruh nilai setelah dikalikan dengan bobot
189
KESIMPULAN DAN SARAN
V.1 Kesimpulan
Berdasarkan hasil pengujian perangkat lunak photo sharing bagi komunitas Indonesian Xperia Photography pada platform android ini maka diperoleh
kesimpulan sebagai berikut:
1. Perangkat lunak yang dibangun dapat membantu admin komunitas sehingga
tidak perlu melakukan repost ranking pada setiap akhir event.
2. Perangkat lunak yang dibangun dapat menjadikan posting foto menjadi lebih
mudah tanpa peru menginstal aplikasi lain.
3. Perangkat lunak yang dibangun dapat memenuhi kebutuhan komunitas dengan
menyediakan fasilitas seperti weekly event , gathering event, ranking, posting
foto yang dilengkapi fitur untuk memperbaiki kualitas foto dan juga
pemasangan watermark
V.2 Saran
Perangkat lunak photo sharing yang dibangun mungkin masih jauh dari kata sempurna dan masih memiliki kekurangan. Adapun saran-saran terhadap
pengembangan perangkat lunak yang dibangun ini adalah sebagai berikut:
1. Meningkatkan performansi sistem terutama pada peforma server dengan membangun server yang lebih memadai, karena server yang digunakan saat ini masih menggunakan server gratis.
2. Memaksimalkan penggunaan library GPUImage, karena belum semua fitur untuk memperbaiki kualitas foto maupun editing foto yang ada pada library
tersebut dapat diimplementasikan kedalam perangkat lunak seperti fitur untuk
BIODATA PENULIS
BIODATA Selamet Riyadi
Address : Jl Sariwates Indah 5 No. 1 RT. 06 RW 13 Kel. Antapani Kidul Kec. Antapani
Phone : +6289651382838 Email : simeuth@gmail.com
Personal Information
Place & D.O.B : Bandung, October 21th 1992
Marital Status : Single Religion : Moslem
Languages Known : Sunda, Indonesian, English, Japanese
Formal Education
Indonesia Computer University
Majoring Informatics Engineering
2010 – present
SMKN 6 Bandung Majoring Electronics Engineering (Audio VIdeo)
2007 – 2010
SMPN 45 Bandung 2004 – 2007
SDN Griba 13/1 Bandung 1998– 2004
Professional Experiences
Present
Teknik Hidup Di Alam Terbuka (THAB) Multimedia E-Learning using C#
Desktop aplication for cafe
WEB APPLICATION
Website SD Muhammadiyah 7 Bandung
Website E-comerce for clothing distro Rivonic Apparel
Simulation Inventory System Using Montecarlo Method for distro Rivonic Apparel
ANDROID APPLICATION
Indonesian Xperia Photography Apps
Driver apps
Smart cafe apps
Skills
Operating System : Microsoft Windows XP Microsoft Windows 7
Integrated Development Environtment : Eclipse Luna Android Studio
Adobe DreamWeaver CS5
Microsoft Visual Studio 2010 Express Dev C++
Programming Language : HTML CSS Javascript PHP Java C / C++ / C#
Design : Adobe Photoshop
Pada Platform Android
1Irfan Maliki, 2Selamet Riyadi
1Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung
2Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung
Email : Irfanmaliki007@gmail.com1, simeuth@gmail.com2
ABSTRAK
Dikutip dari Kompas pengguna handphone Sony di Indonesia pada tahun 2013 menduduki peringkat tiga terbanyak. Indonesian Xperia Photography atau dapat disingkat IXP, komunitas ini adalah komunitas yang menjadi wadah bagi pecinta fotografi yang menggunakan handphone/smartphone berjenis Xperia dari Sony maupun Sony Ericsson. Saat ini komunitas menggunakan Facebook sebagai media untuk sharing foto maupun ilmu seputar fotografi. Penggunaan Facebook sebagai media sharing ini masih memiliki beberapa masalah dalam penggunaannya, masalah ini diantraranya proses ranking yang masih dilakukan secara manual oleh admin komunitas, membutuhkan aplikasi lain contohnya saja untuk memperbaiki kualitas foto dan memasang watermark pada foto yang akan di-posting, belum adanya media sharing foto yang secara khusus menyediakan fasilitas weekly event, ranking, gathering event, posting foto yang dilengkapi fitur untuk memperbaiki kualitas foto dan juga pemasangan watermark.
Oleh karena itu, solusi yang diusulkan adalah dengan membangun perangkat lunak photo sharing bagi komunitas IXP yang berbasis android. Sistem yang dibangun terbagi menjadi dua buah sub-sistem yaitu mobile android sebagai front-end dengan fitur weekly event, ranking, gathering event, posting foto yang dilengkapi fitur untuk memperbaiki kualitas foto dan juga pemasangan watermark dan web admin sebagai back-end dengan fitur pengolahan weekly event, Gathering event, pengolahan pengguna, serta pengolahan regional.
Setelah dilakukan pengujian dengan metode black box, kuesioner dan wawancara dapat disimpulkan bahwa sistem yang dibangun telah memudahkan proses ranking dengan disediakan nya fitur ranking, mempermudah proses posting foto, dan perangkat lunak yang dibangun telah memenuhi kebutuhan komunitas diantaranya dengan adanya fitur weekly event, ranking, gathering event, posting foto yang dilengkapi fitur untuk memperbaiki kualitas foto dan juga pemasangan watermark. Saran
yang dapat diberikan adalah diharapkan untuk mengembangkan performa sistem terutama server serta memaksimalkan penggunaan library GPUImage untuk menambahkan berbagai fitur editing foto yang saat ini belum terimplementasikan.
Kata Kunci: Indonesian Xperia Photography, aplikasi berbasis mobile android, fotografi, photo sharing.
1. PENDAHULUAN
Pada bagian ini akan dipaparkan mengenai latar belakang masalah, maksud dan tujuan.
1.1 Latar Belakang Masalah
Handphone atau telepon genggam pada era 1990-an hanya berfungsi sebagai alat komunikasi. Namun pada era 2007-an, fungsi handphone bukan hanya sekedar untuk itu saja. Handphone yang sekarang beredar di pasaran sudah dilengkapi dengan berbagai fitur tambahan dan diantaranya adalah kamera. Dengan berkamera, orang dapat menghasilkan foto dan siapa sangka perkembangan kamera handphone ini kini berkembang dengan pesat dan kualitasnya pun hampir menandingi beberapa kamera profesional [1]. Sony merupakan salah satu vendor handphone asal Jepang yang dikenal memproduksi handphone dengan kualitas kamera yang sangat baik, XPERIA Z3 yang kini menjadi flagship dari jejeran handphone Sony ini memiliki kamera dengan resolusi hingga 20.7MP yang dilengkapi dengan bermacam fitur dan hasil jepretannya pun bahkan dapat bersaing dengan kamera profesional.