Pembangunan perangkat lunak Photo Sharing bagi komunitas Indonesian Xperia Photography pada Platform Android
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
UNIVERSITAS KOMPUTER INDONESIA
2015
(2)
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 Ericson Paian M yang telah berjuang bersama-sama dalam tugas akhir ini.
(3)
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
(4)
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
(5)
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
(6)
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
(7)
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.
(8)
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]. [20] C. R. Kothari, Research Methodoogy Methods & Techniques, New Delhi:
(9)
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 dibandingkan Instagram dikarenakan fitur yang ditawarkan memang dirasa kurang
(10)
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 perangkat lunak photo sharing bagi komunitas Indonesian Xperia Photography pada platform android.
(11)
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 adalahSAD (Structure Analysis and Design) untuk sub-sistem web dan OOAD (Object Oriented Analysis and Design) untuk sub-sistem mobile.
(12)
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 berbagi komunitas serta rule yang berlaku pada komunitas, kemudian wawancara
(13)
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 masih ada kesalahan atau tidak.
(14)
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.
(15)
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 untuk pengembangan selanjutnya.
(16)
(17)
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, diantaranya pembuatan Fanpage, Instagram, Twitter, dan juga Blog yang saat ini diterbitkan. Juga tak lupa pembentukan dari sekedar grup Facebook menjadi
(18)
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 dari event yang sedang berjalan tersebut yang mana akan diumumkan pada akhir periode event, hal ini tentu akan memberikan kebanggan dan kesenangan tersendiri
(19)
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
Perolehlah Vote Tertinggi
(20)
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 analog, atau merekam cahaya ke dalam kartu memori pada kamera digital.
(21)
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 (imageprocessing).
(22)
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 terdapat di dalam citra lebih ditonjolkan.
(23)
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 menghasilkan deskripsinya. Teknik pengorakan citra mengekstraksi ciri-ciri
(24)
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.
(25)
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
(26)
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 citra dengan sebuah mask atau kernel. Untuk fungsi dengan dua peubah (fungsi dua dimensi atau dwimatra), operasi konvolusi didefinisikan sebagai berikut:
(27)
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 tentang kecerahan (brightness) dan kontras (contrast) dari sebuah gambar. Karena
(28)
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 dikemas dengan pilihan dan fleksibilitas. Sedangkan android SDK (Software Development Kit) menyediakan tools dan API yang diperlukan untuk
(29)
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
dihentikan sementara (paused) dan activity sebelumnya dijalankan kembali(resumed). (Hasil dari method OnRestart())
(30)
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.
(31)
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
kebutuhan-kebutuhan informasi dari sistem informasi. Dengan menggunakan data dictionary, analis sistem dapat mendefinisikan data yang mengalir dalam sistem dengan lengkap [12].
(32)
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
use case menunjukkan bahwa use case yang satu merupakan spesialisasi dari yang lain.
(33)
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
2.1 Deskripsi urutan aksi lain selain urutan aksi utama 2.2
(34)
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: 1. Private, tidak dapat dipanggil dari luar class yang bersangkutan.
(35)
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
Activity diagram menggambarkan berbagai alur aktivitas dalam sistem yang sedang dirancang, bagaimana masing-masing aliran berawal, decision yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram juga dapat
(36)
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 atau komponennya untuk saling berhubungan dengan aplikasi lain dalam sebuah
(37)
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 tersebut dapat disusun bertingkat.
(38)
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].
(39)
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 syarat lain dari suatu kasus yang dieksekusi sebelum kesalahan umum diamati.
(40)
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,
� > bersikap positif � < bersikap negatif
(41)
33
� = bersikap netral Keterangan :
� = rata-rata
∑ Total = jumlah seluruh nilai setelah dikalikan dengan bobot n = total responden
(42)
(43)
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 mengatur saturation, cropping, dan rotating.
(44)
(45)
BIODATA PENULIS
BIODATA Selamet Riyadi
Address : Jl Sariwates Indah 5 No. 1 RT. 06 RW 13 Kel. Antapani Kidul Kec. Antapani
Phone : +6289651382838 Email : [email protected]
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
- Freelancer Android Developer - Freelancer Web Developer - Freelancer Design Anroid UI
(46)
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++
Text Editor : Sublime Text 3 Notepad++ Notepad
(47)
Programming Language : HTML CSS Javascript PHP Java C / C++ / C#
Design : Adobe Photoshop
(48)
(49)
(50)
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 : [email protected], [email protected]2
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.
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
(1)
Messaging dapat digunakan developer, khususnya developer android untuk mengirimkan push notificationication.
1.7Android 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.
Berikut ini adalah Cara pemanggilan fungsi dari library GPUImage ini:
mGPUImage = new GPUImage(this);
mGPUImage.setGLSurfaceView((GLSurfa ceView)
findViewById(R.id.surfaceView)); mGPUImage.setImage(imageUri); // this loads image on the current thread, should be run in a thread mGPUImage.setFilter(new
GPUImageSepiaFilter());
1.8 Webservice
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 atau komponennya untuk saling berhubungan dengan aplikasi lain dalam sebuah 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.
1.9 Pengujian 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.
1.10 Pengujian 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 1.
Tabel 1 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].
2. ISI PENELITIAN
2.1 Analisis dan Perancangan Sistem
Berikut adalah analisis perancangan dari sistem yang dibangun,
2.1.1 Analisis Masalah
Berdasarkan uraian yang telah dijelaskan sebelumnya pada latar belakang maka didapatkan beberapa masalah yaitu:
(2)
1. Tidak adanya fitur ranking secara otomatis sehingga proses ranking nya masih dilakukan secara manual oleh admin komunitas setiap minggunya.
2. Kegiatan posting foto memerlukan perangkat lunak lain untuk memperbaiki kualitas foto dan untuk pemasangan watermark.
3. Belum adanya media sharing foto yang secara khusus menyediakan fasilitas sesuai dengan kebutuhan komunitas yaitu fasilitas weekly event , gathering event, posting foto yang dilengkapi dengan fitur untuk memperbaiki kualitas foto dan juga pemasangan watermark.
2.1.2 Analisis Data
Analisis data yang digunakan dalam penelitian ini adalah Object Relational Mapping (ORM). Object relational mapping melakukan pemetaan terhadap tabel-tabel pada basis data relasional dengan suatu class entitas yang ada pada bahasa pemrograman berorientasi objek.
Pemetaan yang dilakukan ORM akan membutuhkan suatu jembatan berupa format data JSON yang dapat menghubungkan ORM dengan database fisik yang ada pada server. Struktur format data JSON yang digunakan pada penelitian ini terbagi menjadi tiga yaitu data objek, data array dan data null. 1. Data Objek
Format pada Tabel 2 digunakan ketika data yang diterima dari server merupakan data tunggal atau berupa satu objek
Tabel 2 Struktur JSON data objek Struktur data objek {
“result” : “sukses” }
2. Data Array
Format Tabel 3 digunakan ketika data yang diterima dari server merupakan data lebih dari satu.
Tabel 3 Struktur JSON data array Struktur data array
{
"result" : "value", "item" : [
{ "id_user" : "1" },
{ "id_user" : "2" }
] }
3. Data Null
Format pada Tabel 4 digunakan ketika data yang diterima dari server merupakan data kosong atau null.
Tabel 4 Struktur Data Null Struktur data null {
"result" : "gagal",
"message" : "data tidak ditemukan",
"status_code":202 }
2.1.3 Analisis Kebutuhan Fungsionalitas Web
Berikut adalah diagram context dari sistem ini,
Gambar 3 Diagram Context Berikut adalah DFD level 1 dari subsistem web,
(3)
2.1.4 Analisis Kebutuhan Fungsionalitas Mobile
Berikut adalah usecase dari subsistem mobile,
Gambar 5 Use Case Diagram
2.2 Implementasi dan Pengujian Sistem
Berikut akan dipaparkan mengenai implementasi dan pengujian sistem.
2.2.1 Lingkungan Implementasi
Lingkungan implementasi merupakan spesifikasi hardware, software dan server dimana sistem ini akan dipasang dan diakses. Berikut adalah lingkungan implementasinya:
1. Lingkungan Hardware
Lingkungan implementasi menjelaskan kebutuhan sistem yang disarankan dalam lingkungan implementasi, kebutuhan ini terbagi menjadi tiga yaitu hardware, software dan server. Berikut adalah lingkungan implementasi dari perangkat lunak photo sharing ini.
1. Spesifikasi Kebutuhan Hardware
Berikut adalah spesifikasi hardware yang digunakan untuk menggunakan sistem:
Tabel 5 Kebutuhan Minimum Hardware
Sub sistem web Subsistem mobile
Processor @2.30 Ghz
Android 4.0 ICS Harddisk 500 GB TFT LCD RAM DDR3 2GB Camera
VGA 128 MB Jaringan GSM / CDMA Resolusi layar
1366x768 Pixel
Data Koneksi HSDPA / EVDO
Koneksi Internet A-GPS Support 2. Spesifikasi Kebutuhan Software
Berikut adalah spesifikasi software yang digunakan untuk menggunakan sistem:
Tabel 6 Kebutuhan Minimum Software
Sub sistem web Subsistem mobile
Sistem Operasi Windows
Sistem Operasi Android 4.0 ICS Web Browser Mozilla
Firefox
20.0,GoogleChrome 30.0.1750.154
3. Spesfikasi Kebutuhan Server
Berikut adalah spesifikasi server yang digunakan untuk menggunakan sistem:
Tabel 7 Kebutuhan Spesifikasi Server
Sub sistem web
Web Space 2000 MB Bandwidth 100GB /Bulan MySQL Database (5.1 & 5.5) PHP (5.2 & 5.3)
CPanel 11.x
Apache 2.x mod_deflate
2.2.2. Implementasi Antarmuka
Berikut adalah implementasi antarmuka dari subsistem web,
Gambar 6 Halaman Log in
Gambar 7 Halaman Pengolahan pengguna Berikut adalah implementasi antarmuka subsistem mobile,
(4)
Gambar 8 Weekly Event
Gambar 9 Halaman Timeline Weekly Event
2.2.3. Pengujian
Berikut adalah hasil pengujian dari pembangunan perangkat lunak ini,
1. Evaluasi pengujian fungsional
Berdasarkan hasil pengujian fungsional yang dilakukan maka dapat disimpulkan bahwa sub sistem web dan android yang dibangun sudah berjalan sesuai dengan yang diharapkan baik itu dari segi validasi maupun proses penanganan kesalahan. 2. Evaluasi pengujian wawancara dan kuesioner
Berdasarkan hasil pengujian yang telah dilakukan, maka detail kesimpulan dapat dilihat pada Tabel berikut ini
Tabel 7 Hasil Evaluasi
No Tujuan Evaluasi Hasil Acceptance
1 Membantu admin komunitas sehingga tidak perlu melakukan repost ranking pada setiap akhir
event dengan
menyediakan fitur ranking
Membantu
2 Membantu posting foto menjadi lebih mudah tanpa peru menginstal aplikasi lain dengan menyediakan fitur untuk memperbaiki kualitas foto dan juga untuk pemasangan watermark
Membantu
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
Memenuhi Kebutuhan
3. KESIMPULAN DAN SARAN
Kesimpulan dari pembangunan perangkat lunak ini adalah,
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
Adapun saran terhadap pengembangan aplikasi ini adalah:
1. Meningkatkan performansi sistem terutama pada peforma server dengan membangun server yang lebih memadai, karena server yang digunakan saat ini masih menggunakan server gratis.
(5)
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 mengatur saturasi, cropping, dan rotating.
4. 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/1 113247/sony.ingin.xperia.masuk.dua.besar.d i.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.muni r/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.
[13] H. Divayana, Konsep OOAD, Jakarta: STMIK Eresha, 2010.
[14] J. Hermawan, Analisa Desain & Pemrograman Berorientasi Objek dengan UML dan Visual Basic.NET, Yogyakarta: Andi, 2010.
[15] K. Hamilton and R. Miles, Learning UML 2.0, United States of America: O'Reilly, 2006.
[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.ht ml. [Accessed 30 9 2014].
[20] C. R. Kothari, Research Methodoogy Methods & Techniques, New Delhi: New Age International Pubishers, 2004.
(6)