PEMBANGUNAN PERANGKAT LUNAK
MUSIC SHARING
PADA PLATFORM ANDROID
SKRIPSI
Diajukan untuk Menempuh Ujian Akhir Sarjana
RIZKY NUGRAHA
10110239
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 Music Sharing 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. Allah SWT atas karunia dan rahmatnya sehingga penulis dapat menyelesaikan skripsi ini.
2. Orang tua tercinta Ibu Siti Yuhana, Mimihku yang Terbaik dan Terhebat, beserta Aa, Teteh dan keluarga yang senantiasa memberikan doa, bantuan baik moril ataupun materil, semangat, motivasi dan kasih sayang nya seumur hidup kepada penulis.
3. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku dosen pembimbing yang telah membimbing, memberikan perhatian serta memberikan pengarahan selama penelitian tugas akhir sehingga tugas akhir ini dapat dapat menjadi sebuah karya ilmiah dan perangkat lunak yang berkualitas dan bermanfaat.
4. Ibu Ednawati Rainarli, S.Si., M.Si. selaku reviewer yang telah memberikan masukan dan arahan selama pembangunan perangkat lunak ini.
5. Bapak Bapak Adam Mukharil Bachtiar, S.Kom., M.T. selaku penguji tiga yang
telah menguji kompetensi dan memberikan masukan untuk perangkat lunak ini. 6. Bapak Iskandar Ikbal, S.T., M.Kom. selaku dosen wali IF-6 angkatan 2010
iv
7. Nazar Abdullah, Mexan Juadha, Rizki Adam Kurniawan, Selamet Riyadi, Ardiyan Suardi, Gina Khayatun, Rahmat Fajar dan Chrystian Angkin sebagai kawan yang selalu solid selama aktifitas perkuliahan.
8. Edi Rizkinta Harahap, Ahmad Sopian, Chrismikha Hardyanto, Ericsson Paian, Dodi Permana, Carsadi, Gilar Purwita dan Reynoldo Abdillah yang telah berjuang bersama-sama dalam tugas akhir ini.
9. Dansucles yang memberikan semangat sehingga penulis termotivasi untuk menyelesaikan tugas akhir ini dalam satu semester dengan hasil yang baik.
10. Seluruh Dosen dan Staff pengajar jurusan Teknik Informatika Universitas Komputer Indonesia.
11. Teman-teman kelas IF-6 angkatan 2010 yang telah bersama-sama melewati masa-masa perkuliahan selama 4 tahun.
12. 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, 21 Februari 2015
v
ABSTRAK ... i
ABSTRACT ... ii
KATA PENGANTAR ... iii
DAFTAR ISI ... v
DAFTAR GAMBAR ... viii
DAFTAR TABEL ... xi
DAFTAR SIMBOL ... xvii
DAFTAR LAMPIRAN ... xxii
PENDAHULUAN ... 1
1.1 Latar Belakang Masalah ... 1
1.2 Rumusan Masalah ... 2
1.3 Maksud dan Tujuan ... 2
1.4 Batasan Masalah ... 3
1.5 Metodologi Penelitian ... 3
1.5.1 Metode Pengumpulan Data ... 4
1.5.2 Metode Pembangunan Perangkat Lunak ... 4
1.6 Sistematika Penulisan ... 6
TINJAUAN PUSTAKA ... 9
2.1 Musik ... 9
2.2 Genre Musik ... 9
2.2.1 Sidestream Music ... 10
vi
2.3 Sistem Informasi ... 13
2.4 Android ... 14
2.4.1 Android Life Cycle ... 14
2.4.2 Fitur ... 16
2.4.3 Prinsip Desain ... 17
2.5 User-Generated Content ... 19
2.6 Web Service ... 20
2.7 JSON (Javascript Object Notation)... 20
2.8 Google Cloud Messaging ... 21
2.9 Struktur Analisis dan Desain ... 23
2.9.1 Diagram Konteks ... 23
2.9.2 Data Flow Diagram ... 23
2.9.3 Spesifikasi Proses... 24
2.9.4 Kamus Data ... 24
2.10 Object Oriented Analysis and Design ... 25
2.11 Pengujian Black Box ... 31
2.12 Pengujian Kuesioner ... 31
ANALISIS DAN PERANCANGAN ... 33
3.1 Analisis Sistem ... 33
3.1.1 Analisis Masalah ... 33
3.1.2 Analisis Aplikasi Sejenis ... 33
3.1.3 Analisis Pemilihan Media Penyimpanan Online ... 38
3.1.4 Analisis Arsitektur Sistem ... 39
3.1.5 Spesifikasi Kebutuhan Perangkat Lunak ... 41
vii
3.2.1 Perancangan Data... 121
3.2.2 Perancangan Arsitektural Menu ... 123
3.2.3 Perancangan Antarmuka ... 125
IMPLEMENTASI DAN PENGUJIAN SISTEM ... 153
4.1 Implemetasi Sistem ... 153
4.1.1 Lingkungan Implementasi ... 153
4.1.2 Implementasi Data ... 155
4.1.3 Implementasi Antarmuka ... 160
4.2 Pengujian Perangkat Lunak ... 161
4.2.1 Rencana Pengujian ... 161
4.2.2 Pengujian Alpha ... 162
4.2.3 Pengujian Beta ... 171
4.2.4 Evaluasi Pengujian ... 178
KESIMPULAN DAN SARAN... 179
5.1 Kesimpulan ... 179
5.2 Saran ... 179
181
DAFTAR PUSTAKA
[1] A. W. Savitri, “Survei: Mendengarkan Musik & Radio di Smartphone Terus Meningkat,”[Online].Available:http://techno.okezone.com/read/2013/08/15
/57/849845/survei-mendengarkan-musik-radio-di-smartphone-terus-meningkat.
[2] I. Lunden, “Kantar: Android Accounted For 70% Of Smartphone Sales In Q4, But Samsung Is Now “Under Real Pressure,” January 2014. [Online]. Available: http://techcrunch.com/2014/01/26/kantar-android-sales-in-q4-grew-in-all-big-markets-but-leader-samsung-now-under-real-pressure.
[3] I. Sommerville, "Software Engineering, Eight Edition ed," Addison Wesley, 2007.
[4] M. Soeharto, “Kamus Musik Indonesia,” Jakarta, Gramedia, 1978.
[5] R. B. P. Annesi, “Audio Feature Engineering for Automatic Music Genre Classification,” Paris, Pittburgh, 2007.
[6] I. Rez, Music Records Indie Label, Bandung: Dar! Mizan, 2008.
[7] I. Nuraida, “Manajemen Administrasi Perkantoran,” Yogyakarta, Kanisius, 2008.
[8] K. Abdul, “Pengenalan Sistem Informasi,” Yogyakarta, Andi , 2002.
[9] Indrajani, “Analisis dan Perancangan Sistem Informasi Card Management,”
Berbagai Makalah Sistem Informasi dalam KNSI 2009, vol. Indonesia: Informatika, p. 15, 2009.
[10] R. Schwarz , P. Dutson, J. Stelee and N. To, The Android Developer's Cookbook, 2nd ed.,, New York, United States: Addison-Wesley, 2013.
182
[14] json. org, “json org,” 2014. [Online]. Available: http://json.org/json-id.
[15] H. J. R. G. Shelly, Systems Analysis and Design, Boston: Course technology cengange learning, 2010.
[16] H. Divayana, Konsep OOAD, Jakarta: Eresha, 2010.
[17] J. Hermawan, Analisa Desain & Pemrograman Berorientasi Objek dengan UML dan Visual Basic.NET, Yogyakarta: Andi, 2010.
[18] K. H. d. R. Miles, Learning UML 2.0, United States of America: O'Reilly, 2006.
1
PENDAHULUAN
1.1 Latar Belakang Masalah
Mendengarkan musik pada sebuah perangkat mobile smartphone sudah menjadi bagian dalam kehidupan masyarakat sehari-hari, hal ini semakin diperkuat dengan meningkatnya pendengar musik pada sebuah perangkat mobile smartphone
yang terjadi pada setiap tahunnya. Sebuah survei dari lembaga eMarketer pada tahun 2013 menunjukkan bahwa orang Amerika lebih memilih mendengarkannya dari perangkat mobile ketimbang melalui perangkat lain. Sebanyak 147 juta orang Amerika diketahui mendengarkan radio online setidaknya sekali dalam sebulan, sementara 70 juta orang memilih mendengarkan musik di perangkat mobile-nya. Hal ini meningkat cukup tajam dibanding tahun sebelumnya, jumlah pendengar musik dari smartphone hanya 61 juta orang, sedangkan pendengar radio melalui
smartphone mencapai 133 juta orang [1] .
Mendengarkan musik tentunya tidak terlepas dari beberapa masalah, berdasarkan survei dari kuesioner yang dilakukan kepada para responden pendengar musik indie, bahwa terdapat 68% dari responden mengatakan sulitnya dalam pencarian lagu untuk sebuah playlist yang sesuai dengan trending dan genre musik, 79% responden mengatakan adanya penyesuaian dalam mendengarkan musik sesuai dengan genre musik dan 84% dari responden mengatakan adanya keinginan untuk berbagi dan merekomendasikan musik berdasarkan genre kepada beberapa teman mereka yang memiliki kesamaan terhadap genre musik tertentu, yang bertujuan untuk dapat saling berbagi informasi musik sesuai dengan genre yang mereka suka. Namun terkadang mereka sulit untuk dapat bertemu dengan orang-orang yang memiliki ketertarikan yang sama dari genre musiknya.
Meskipun terdapat beberapa aplikasi yang ditujukan khusus untuk pendengar musik, contohnya seperti SoundCloud dan LastFm, akan tetapi belum ada aplikasi
didalamnya terdapat orang-orang yang menyukai musik bergenre Folk, mereka dapat membuat sebuah playlist mereka dan meng-invite teman-temannya, mereka dapat memposting beberapa musik yang didengarkan pada Circle Indie Folk
tentunya sehingga akan adanya rekomendasi terhadap musik bergenre Folk yang sedang trend maupun enak untuk didengar para penikmat musik Indie Folk. Mereka juga bisa saling berbagi informasi tentang musik sehingga lebih terfokus terhadap suatu genre musik dalam satu Circle yang sesuai.
Oleh karena itu, berdasarkan uraian di atas maka akan dibangun sebuah
perangkat lunak dengan tujuan dapat membantu para pendengar musik untuk berbagi melalui sebuah aplikasi music sharing yang dikhususkan untuk pengguna
smartphone. Adapun platform yang digunakan sebagai pilot project perangkat lunak ini adalah android dengan pertimbangan bahwa saat ini android memiliki
market share sebesar 70% dari seluruh smartphone yang diaktifkan [2]. Sehingga saya mengangkat tema dan judul “PEMBANGUNAN PERANGKAT LUNAK
MUSIC SHARING PADA PLATFORM ANDROID”.
1.2 Rumusan Masalah
Berdasarkan latar belakang masalah yang telah dijelaskan maka dapat dirumuskan sebuah masalah yang akan dibahas yaitu bagaimana membangun perangkat lunak music sharing pada platformmobile android.
1.3 Maksud dan Tujuan
Maksud dari penelitian ini adalah membangun perangkat lunak music sharing
pada platformmobile android dengan tujuan sebagai berikut:
1. Membantu pendengar musik untuk mendapatkan informasi trendingmusic. 2. Membantu pendengar musik untuk dapat bergabung dalam sebuah circle
berdasarkan genre musik.
3
1.4 Batasan Masalah
Batasan masalah dari penelitian yang dilakukan adalah:
1. Aplikasi pada penelitian ini dibangun dalam dua subsistem yakni website
Admin (Backend) dan android untuk Music Sharing (Frontend).
2. Konsep user-generated content yang diharap mampu merangsang kreatifitas pengguna untuk mengunggah konten musik berkualitas dan bermanfaat.
3. Target pengguna utama dari aplikasi ini adalah komunitas musik indie yang ingin berbagi konten musiknya dan tidak bersifat komersial, sehingga musik
yang di-sharing tidak melanggar legalitas secara major label.
4. Konten musik atau informasi dari pengguna yang pertukarannya melalui aplikasi ini disebut “Konten Pengguna” dimana pengguna bertanggung jawab sepenuhnya dalam pertukaran informasi.
5. Pengguna diperbolehkan untuk meng-upload “Konten milik Pengguna” seperti
untuk berbagi secara public dan tidak akan menyalahi atau melanggar hak-hak pihak ketiga, termasuk hak kekayaan intelektual, hak privasi atau publisitas, atau hak informasi rahasia didalam konten informasinya.
6. Pendekatan analisis dan perancangan dari pembangunan perangkat lunak dibuat dengan 2 tipe. Untuk subsistem pertama yakni website menggunakan SAD (Structure Analysis and Design) dan untuk subsistem kedua yakni android menggunakan OOAD (Object Oriented Analysis and Design) dengan UML (Unified Modeling Language).
1.5 Metodologi Penelitian
Metodologi penelitian yang digunakan dalam penelitian ini adalah metode penelitian terapan, metode ini bertujuan untuk menyelesaikan permasalahan yang timbul dari masyarakat berdasarkan fenomena yang ada. Adapun metode penelitian
1.5.1 Metode Pengumpulan Data
Berikut adalah metode pengumpulan data dalam penelitian ini: 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 informasi genre musik, jejaring sosial, music streaming, API, JSON, notifikasi Android dan HTTP Request and Response menggunakan
Android, structure analysis and design, object oriented analysis and design,
pengujian black box, dan pengujian kuesioner. 2. Kuesioner
Penyebaran kuesioner dilakukan pada pengguna jejaring sosial, komunitas musik dan orang yang sering mendengarkan musik dengan via smartphone sebagai pengumpulan data validasi untuk membuktikan seberapa dibutuhkannya aplikasi ini dibangun dengan berdasarkan hasil dari kuesioner.
3. Wawancara
Wawancara dilakukan pada beberapa orang yang sering mendengarkan musik via smartphone dan juga teman komunitas musik indie. Adapun tujuan dari wawancara yang dilakukan untuk mendapatkan informasi yang lengkap mengenai genre-genre musik yang sering mereka dengar, masalah yang terjadi, serta solusi dengan fitur perangkat lunak yang akan dibangun.
1.5.2 Metode Pembangunan Perangkat Lunak
5
1. Requirement analysis and definition
Tahap requirement analysis and definition yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan melakukan pengumpulan data dengan cara studi literatur dan kuesioner langsung dengan responden pendengar musik via smartphone. Dari hasil tersebut didapatkan masalah yang kemudian dicarikan solusinya dengan melakukan pendekatan secara terstruktur dan secara objek.
2. System and software design
Tahap system and software design yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan membuat perancangan data, perancangan arsitektural menu, perancangan antarmuka, perancangan pesan dan jaringan semantik.
3. Implementation and unit testing
Tahap implementation and unit testing yang dilakukan dalam pembangunan perangkat lunak ini adalah dengan membuat dua buah subsistem yakni subsistem
webAdmin dan subsistem android dimana untuk subsistem web diimplementasikan dengan bahasa pemrograman php, html, css, dan javascript yang kemudian dihosting agar dapat diakses lebih fleksible, kemudian dibuatkan pula webservice
agar data dalam website dapat diakses pula oleh perangkat android, sedangkan untuk subsistem android diimplementasikan dengan bahasa pemrograman java
mobile dan xml. Untuk pertukaran data menggunakan format JSON. 4. Integration and system testing
Tahap integration and system testing yang dilakukan dalam pembangunan perangkat lunak ini adalah mengintegrasikan data yang ada dalam database untuk dapat dikelola dalam web Admin, kemudian dapat dipertukarkan melalui
webservice sehingga dapat diakses oleh perangkat mobile android.
5. Operation and maintenance
tersebut, untuk lebih jelasnya bisa dilihat pada Error! Reference source not found..
1.6 Sistematika Penulisan
Sitematika penulisan penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :
BAB 1 PENDAHULUAN
Bab 1 menguraikan tentang latar belakang permasalahan, merumuskan inti permasalahan, mencari solusi atas masalah tersebut, mengidentifikasi masalah tersebut, menentukan maksud dan tujuan, pembatasan masalah, metode penelitian, dan sistematika penulisan.
BAB 2 TINJAUAN PUSTAKA
Bab 2 menguraikan tentang bahan-bahan kajian, konsep dasar, dan teori dari para
ahli yang berkaitan dengan penelitian. Meninjau permasalahan dan hal-hal yang berguna dari penelitian-penelitian dan sintesis serupa yang pernah dikerjakan sebelumnya dan menggunakannya sebagai acuan pemecahan masalah pada penelitian ini.
Requirements Definition
System and Software Design
Implementation and Unit Testing
Integration and System Testing
Operation and Maintenance
7
BAB 3 ANALISIS DAN PERANCANGAN
Bab 3 menguraikan tentang analisis sistem yang terdiri dari analisis masalah, analisis prosedur sistem yang berjalan, analisis arsitektur sistem, spesifikasi kebutuhan nonfungsional, analisis kebutuhan non fungsional, analisis data, dan analisis kebutuhan fungsional. Perancangan sistem terdiri dari perancangan basis data dan perancangan antarmuka.
BAB 4 IMPLEMENTASI DAN PENGUJIAN
Bab 4 menguraikan tentang implementasi hasil dari analisis dan perancangan
sistem, perancangan sistem ke dalam bentuk bahasa pemrograman, kebutuhan perangkat keras dan perangkat lunak yang diperlukan dalam membangun sistem serta pengujiannya. Pengujian yang dilakukan yaitu dengan melakukan pengujian
Alpha dengan black box dan pengujian Beta dengankuesioner. BAB 5 KESIMPULAN DAN SARAN
9
TINJAUAN PUSTAKA
2.1 Musik
Menurut M.Soeharto dalam buku "Kamus Musik" dijelaskan bahwa musik adalah pengungkapan melalui gagasan melalui bunyi, yang unsur dasarnya berupa melodi, irama, dan harmoni dengan unsur pendukung berupa gagasan, sifat dan warna bunyi [4]. Musik merupakan seni yang timbul dari perasaan atau pikiran manusia sebagai pengungkapan ekspresi diri, yang diolah dalam suatu nada-nada atau suara-suara yang harmonis. Jika musik diartikan sebagai ungkapan sederhana dari suasana hati jiwa atau respon harafiah terhadap peristiwa dari diri pribadi komponis, diperlukan informasi ataupun referensi yang cukup agar kita dapat menarik hubungan langsung antara kehidupan dengan karyanya [4].
2.2 Genre Musik
Genre musik sulit untuk digambarkan karena tidak ada kesepakatan lengkap tentang definisnya. “Genre muncul sebagai istilah dan kata benda yang mendefinisikan kekambuhan dan kesamaan bahwa anggota dari masyarakat membuat berhubungan dengan mengidentifikasi acara musik” [5]. Genre Musik merupakan pengelompokan musik sesuai dengan kemiripannya satu sama lain. Genre Musik dapat dikelompokan sesuai dengan kriteria yang dapat didefinisikan oleh teknik musik, gaya, konteks, dan tema musik. Berdasarkan hasil dari penjabaran jenis musik, terdapat dua istilah yaitu Sidestream Music dan
2.2.1 Sidestream Music
Sidestream Music yang merupakan nama lain dari “musik alternatif” yang tidak dinikmati secara massal oleh masyarakat dunia, namun berkembang di daerah atau di kelompok tertentu. Pengelompokannya adalah sebagai berikut :
Musik Seni (Art Music)
Musik Seni merupakan pengelompokan musik ke arah Musik klasik dan musik-musik sejenis yang dinilai secara tingkat nilai sejarahnya selain dari nilai
seninya. Musik jenis ini lebih digunakan untuk merujuk jenis-jenis musik yang sangat patuh kepada teori-teori musik dan biasanya sulit untuk dipahami orang awam.
Musik Tradisional (Traditional Music)
Musik tradisional adalah musik yang hidup di masyarakat secara turun temurun, dipertahankan bukan sebagai sarana hiburan saja, melainkan ada juga dipakai untuk pengobatan dan ada yang menjadi suatu sarana komunikasi antara manusia dengan penciptanya, hal ini adalah menurut kepercayaan masing-masing orang saja. Musik tradisional merupakan perbendaharaan seni lokal di masyarakat.
Musik Independen (Indie Music)
Musik Independen, yang sering disingkat “Indie Music” atau “Indie”,
adalah istilah yang digunakan untuk menggambarkan musik yang dibuat dengan bebas dan diluar label rekaman komersial yang utama (Major Label), pendekatannya adalah Do-It-Yourself dalam hal rekaman dan publishing. Musik-musik yang dimainkan sangat bebas, karena ada otonomi mutlak bagi para musisi Indie untuk menciptakan musik. Karya-karya dari musik indie berada di iluar
mainstream atau berbeda dengan corak lagu yang sedang laris di pasaran. Bahkan sering kali Musik yang berasal dari Indie Label lebih cepat merespon tren baru dan lebih idealis dalam tujuannya. Musik Indie dikenal sebagai sesuatu yang berbeda
11
2.2.2 Mainstream Music
Mainstream Music adalah musik yang diterima dan banyak disukai oleh masyarakat dunia. Pengelompokannya adalah sebagai berikut:
Black Urban Music
Musik yang lahir dari kaum Afro-America, seperti Rhythm and Blues (R&B), Jazz, Gospel, Hip Hop, dan Rap kini menjadi musik dominan yang berkembang di Amerika Serikat sebagi kiblat musikdunia.
1. Jazz
Jazz adalah jenis musik yang tumbuh dari penggabungan blues, ragtime, dan
musik Eropa, terutama musik band. Beberapa subgenre jazz adalah Dixieland, swing, bebop, hard bop, cool jazz, free jazz, jazz fusion, smooth jazz, dan CafJazz.
2. Gospel
Sebenarnya lagu jenis Gospel ini memiliki nuansa mirip dengan Rock n Roll
(oleh karena Rock n Roll sendiri sebenarnya merupakan fusion atau gabungan dari
Rock, Jazz, dan Gospel). 3. Blues
Blues berasal dari masyarakat Afro-Amerika yang berkembang dari musik Afrika barat. Jenis ini kemudian mempengaruhi banyak genre musik pop saat ini, termasuk ragtime, jazz, big band, rhythm and blues, rock and roll, country, dan musik pop.
4. Rhytem and Blues
Rhythm and blues adalah nama musik tradisional masyarakat Afro-Amerika, yaitu musik pop kulit hitam dari tahun 1940-an sampai 1960-an yang bukan jazz
atau blues.
Funk
Funk juga dipelopori oleh musisi-musisi Afro-Amerika, misalnya James Brown, Parliament-Funkadelic, dan Sly and the Family Stone. Musik jenis Funk
Rock
Rock, dalam pengertian yang paling luas, meliputi hampir semua musik pop sejak awal 1950-an. Bentuk yang paling awal, rock androll, adalah perpaduan dari berbagai genre di akhir 1940-an, dengan musisi-musisi seperti Chuck Berry, Bill Haley, Buddy Holly, dan Elvis Presley. Hal ini kemudian didengar oleh orang di seluruh dunia, dan pada pertengahan 1960-an beberapa grup musik Inggris, misalnya The Beatles, mulai meniru dan menjadi populer.
Electronic (Techno)
Electronic dimulai lama sebelum ditemukannya synthesizer, dengan tape
loops dan alat musik elektronik analog di tahun 1950-an dan 1960-an. Para pelopornya adalah John Cage, Pierre Schaeffer, dan Karlheinz Stockhausen.
Ska, Reggae, Dub
Dari perpaduan musik R&B dan musik tradisional mento dari Jamaika muncul ska, dan kemudian berkembang menjadi reggae dan dub.
Hip hop, Rap, Rapcore
Musik hip hop dapat dianggap sebagai subgenre R&B. Dimulai di awal 1970-an dan 1980-an, musik ini mulanya berkembang di pantai timur AS, disebut
East Coast hip hop. Pada sekitar tahun 1992, musik hip hop dari pantai barat juga mulai terkenal dengan nama West Coast hip hop. Jenis musik ini juga dicampur dengan heavy metal menghasilkan rapcore.
Pop
Musik pop adalah genre penting namun batas-batasnya sering kabur, karena banyak musisi pop dimasukkan juga ke kategori rock, hip hop maupun
country.
Folk
Musik Folk (Ballad) bisa diartikan musik tradisional atau musik rakyat. Saat ini Genre Folk diberi nama Modern Folk sebagai bentuk kemajuan. Semua
13
Biasanya musik ini diciptakan untuk membuang rasa jenuh dan kebosanan saat melakukan pekerjaan rutin. Iramanya disesuaikan dengan kegiatan yang sedang mereka lakukan dan disela-sela waktu istirahat diselingi dengan alat musik seadanya. Contohnya adalah macam-macam musik rakyat yang tumbuh di kalangan kulit putih Amerika Serikat yang disebut country dan western. Ragam musik lainya yang berakar pada country and western adalah blurgrass, honky-tonk, rockabilly,
country pop, country rock, dan outlaw country.
2.3 Sistem Informasi
Sistem adalah kumpulan komponen dimana masing-masing komponen memiliki fungsi yang saling berinteraksi dan saling tergantung serta memiliki satu kesatuan yang utuh untuk bekerja mencapai tujuan tertentu [7]. Sedangkan informasi adalah menurut Abdul Kadir mendefinisikan informasi sebagai data yang telah diproses sedemikian rupa sehingga meningkatkan pengetahuan seseorang yang menggunakan data tersebut [8]. Sedangkan Data Menurut Jogiyanto adalah kenyataan yang menggambarkan suatu kejadian–kejadian dan kesatuan yang nyata. Atau data adalah : representasi dunia nyata yang mewakili suatu objek seperti manusia (pegawai, mahasiswa, pelanggan), hewan, peristiwa, konsep, keadaan dll, yang direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi atau kombinasinya.
Jika disimpulkan, definisi dari sistem informasi adalah sekumpulan komponen yang memiliki fungsi yang saling ketergantungan dalam satu kesatuan utuh dalam bentuk satu data yang telah diolah dalam sebuah bentuk yang dapat digunakan untuk manusia mencapai tujuan tertentu.
Dari pendapat lain, dapat dijelaskan bahwa sistem informasi merupakan kumpulan dari komponen-komponen peralatan model requirements, function dan
interface. Sistem Informasi merupakan kombinasi teratur apapun dari sumber daya
2.4 Android
Android adalah sistem operasi bersifat Open Source berbasis Linux dirancang untuk perangkat seluler layar sentuh seperti telepon pintar dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun 2005. Sistem operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan-perusahaan perangkat keras, perangkat lunak, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka
perangkat seluler. Ponsel Android pertama mulai dijual pada bulan Oktober 2008 [10]. Android memiliki OS yang sangat baik, cepat dan kuat serta memiliki antarmuka pengguna intuitif yang dikemas dengan pilihan dan fleksibilitas.
Android SDK (Software Development Kit) menyediakan tools dan API yang diperlukan untuk mengembangkan aplikasi pada platform android dengan menggunakan bahasa pemrograman Java.
2.4.1 Android Life Cycle
Aplikasi android terdiri dari beberapa fungsi dasar seperti mengedit catatan, memutar file musik, membunyikan alarm, atau membuka kontak telepon. Fungsi-fungsi tersebut dapat diklasifikasikan ke dalam empat komponen android yang berbeda seperti ditunjukkan pada, klasifikasi tersebut berdasarkan kelas-kelas dasar java yang digunakan [10]. Komponen aplikasi Android dapat dilihat pada Tabel 2.1 Komponen Aplikasi Android.
Tabel 2.1 Komponen Aplikasi Android
Functionality Java Base Class Examples
Focused thing a user can do Activity Edit a note, play a game Background process Service Play music, update weather icon Receive messages BroadcastReceiver Trigger alarm upon event Store and retrieve data ContentProvider Open a phone contact
Setiap aplikasi pasti menggunakan minimal satu dari komponen tersebut, akan tetapi terdapat beberapa komponen yang mengharuskan mencantumkan
specified permission sebelum digunakan seperti komponen Service,
15
Android memiliki paradigma pemrograman lain tidak seperti paradigma pemrograman biasa di mana aplikasi yang dijalankan pada fungsi main(), sistem android menjalankan kode dalam method Activity dengan menerapkan metode
callback tertentu yang sesuai dengan tahap tertentu dari siklus hidup. Setiap aplikasi yang berjalan dalam sistem operasi android memiliki siklus hidup yang berbeda dengan aplikasi desktop atau web, Hal ini dikarenakan aplikasi mobile memiliki tingkat interupsi proses yang lumayan tinggi seperti ketika handling panggilan masuk aplikasi diharuskan menghentikan proses sementara, Penerapan siklus hidup
juga berguna untuk memastikan aplikasi tidak menghabiskan sumber daya baterai pengguna [11].
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 2.1 Android Life Cycle.
Gambar 2.1 Android Life Cycle
Terdapat beberapa state dalam siklus hidup android yang terjadi seperti diilustrasikan pada Gambar 2.1 Android Life Cycle, akan tetapi hanya beberapa dari state tersebut yang menjadi statis diantaranya:
1. Resumed
2. Paused
Dalam keadaan ini aktivitas yang terjadi dihentikan secara sementara tetapi masih terlihat oleh pengguna karena terdapat proses yang memiliki prioritas lebih tinggi seperti panggilan telepon. Aplikasi tidak dapat menjalankan perintah apapun ataupun menampilkan apapun dalam state ini [11].
3. Stopped
Dalam keadaan ini, aplikasi benar-benar tidak ditampilkan dan tidak terlihat oleh pengguna tetapi masih meninggalkan service dibackground [11].
State lain seperti Created dan Started bersifat sementara dan sistem dengan cepat menjalankan state berikutnya dengan memanggil metode life cyclecallback
berikutnya. Artinya, setelah sistem OnCreate() dipanggil, dengan cepat sistem akan memanggil method OnStart(), krmudian diikuti oleh onResume() [10].
2.4.2 Fitur
Android memiliki beberapa fitur utama yang sering digunakan dalam proses pembangunan aplikasi diantaranya adalah:
1. Multi-proses dan App Widgets
Sistem operasi android tidak melarang prosesor menjalankan lebih dari satu aplikasi dalam satu waktu. Sistem operasi android dapat mengatur aplikasi dan thread yang berjalan secara multitasking. Keuntungan yang didapat adalah ketika aplikasi berjalan dan berinteraksi dengan pengguna di layer depan sistem operasi, proses dari aplikasi lain dapat berjalan untuk melakukan pembaruan informasi. Sebagai contoh misalnya ketika pengguna memainkan game, proses lain dapat berjalan di belakang aplikasi seperti memeriksa harga saham dan memunculkan peringatan [11].
App Widgets adalah mini aplikasi yang dapat embedded dalam aplikasi seperti home screen. App widgets dapat menjalankan proses request seperti musik streaming atau mendeteksi suhu ruangan secara background [11].
Multi-proses dapat memberikan manfaat berupa user experience yang lebih
17
2. Touch Gestures dan Multi-touch
Touchscreen adalah user interface intuitif yang digunakan banyak smartphone
di dunia. Dengan fitur ini interaksi dapat dibuat lebih mudah karena cukup dengan menggunakan jari tangan. Multi-touch adalah kemampuan yang dapat melakukan tracking lebih dari satu tangan dalam satu waktu, Fitur ini sering digunakan untuk interaksi memperbesar atau memutar objek. Selain itu pengembang dapat membuat interaksi baru dengan memanfaatkan fitur tersebut [11].
3. Hard dan Soft Keyboard
Salah satu fitur pada perangkat smartphone adalah tombol fisik dan non fisik, tombol fisik digunakan untuk navigasi pendukung dalam pengoperasian android. Pengembang aplikasi tidak perlu secara manual untuk mengintegrasikan tombol tersebut dalam aplikasi. Tombol non fisik adalah tombol yang dibuat oleh sistem operasi seperti virtual keyboard, dan tombol navigasi aplikasi [11].
2.4.3 Prinsip Desain
Android memiliki beberapa prinsip desain yang dapat menjadi acuan dalam membuat desain aplikasi android diantaranya adalah
1. Multiple Assets
Gambar 2.2 Klasifikasi Ukuran Ikon
2. Touch Feedback
Touch Feedback dalam android digunakan sebagai respon setiap objek yang ditekan pengguna. Hal ini bertujuan untuk memberi tahu pengguna objek mana yang berinteraksi dengan pengguna [11]. Touch feedback dapat dilihat pada Gambar 2.3 Touch Feedback.
Gambar 2.3 Touch Feedback 3. Pattern Gesture
Touch gesture berguna untuk meningkatkan experience pengguna dalam menggunakan aplikasi. Terdapat beberapa gesture yang didukung oleh android diataranya adalah [11]:
1. Touch
19
2. Long Press
Biasanya digunakan untuk seleksi data , dengan gesture ini dimungkinkan untuk memilih satu atau lebih item dalam sebuah tampilan dan menjalankan suatu fungsionalitas tertentu [11].
3. Swipe Or Drag
Swipe adalah menyentuh sebuah titik pada layar dan menggerakkan jari yang tetap tersentuh pada layar ke titik lain pada layar. Swipe biasanya dilakukan untuk kebutuhan berpindah layar atau tergantung dari aplikasi. Swipe dapat dilakukan dari
dan ke arah mana saja [11].
4. Double Touch
Pada Smartphone dan tablet android, melakukan dua kali tapping secara berturut-turut pada satu obyek, fungsinya berbeda dengan double klik mouse komputer. Pada Android, teknik ini biasanya dipakai untuk melakukan zoom in dan
zoom out atau memperbesar / memperkecil sebuah obyek gambar [11].
5. Pinch Open
Teknik lain yang biasa digunakan adalah dengan menggunakan dua jari, di mana kedua jari tersebut menyentuh dua titik pada layar yang terpisah di mana ujung dari dua jari tersebut tidak bersentuhan, kemudian kedua jari tersebut sambil tetap menyentuh layar bergerak saling mendekati. Teknik ini digunakan untuk membuka aplikasi tertentu [11].
6. Pinch Close
Teknik Pinch Close adalah kebalikan dari Pinch Open di mana spread
dilakukan dengan berawal dari dua jari yang bersentuhan pada ujungnya dan ditempelkan sebuah titik yang sama pada layar, kemudian kedua jari tersebut bergerak memisahkan atau menjauhi satu sama lain Gerakan ini untuk menutup layar [11].
2.5 User-Generated Content
User-generated Content atau disingkat UGC, dikenal juga dengan istilah
dan diproduksi oleh end-user atau para non-media profesional. Kemajuan teknologi
web memungkinkan konten website tidak lagi dimonopoli oleh profesional media, melainkan dapat dibuat oleh para penggunanya. UGC merupakan salah satu ciri dominan Web 2.0. Contoh penerapan pada UGC adalah YouTube hampir semua konten yang dimiliki situs tersebut dibuat dan diupload oleh penggunanya [12].
Konsep UGC pada dasarnya telah banyak merubah cara berinteraksi pengguna dengan internet begitu juga dalam media periklanan. Bagi media periklanan jejaring sosial dengan konsep UGC memiliki potensi besar menyediakan
market yang lebih terarah dan terpusat bagi mereka [12].
2.6 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 [13]. 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.
2.7 JSON (Javascript 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 [14]. JSON terbuat dari dua struktur yaitu:
21
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.
4. String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslashescapes "\" 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.
2.8 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.
aplikasi melalui google play [10]. GCM dapat dilihat pada Gambar 2.4 GCM Model GCM Model.
Gambar 2.4 GCM Model [11]
Berdasarkan ilustrasi dari Gambar 2.4 GCM Model terdapat dua server yang terlibat dalam proses push messaging , pada setiap server yang terlibat terdapat proses pengiriman data yang berbeda-beda diantaranya [11]:
1. Device android mengirimkan senderid dan applicationid 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
23
2.9 Struktur Analisis dan Desain
Struktur analisis dan desain adalah sebuah metodologi yang di gunakan pada rekayasa perangkat lunak untuk mendeskripsikan sistem ke arah 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 [15].
2.9.1 Diagram Konteks
Diagram Konteks, adalah data flow diagram tingkat atas (DFD Top Level), yaitu diagram yang paling tidak detail, dari sebuah sistem informasi yang menggambarkan aliran-aliran data ke dalam dan ke luar sistem dan ke dalam dan ke luar entitas-entitas eksternal. (CD menggambarkan sistem dalam satu lingkaran dan hubungan dengan entitas luar. Lingkaran tersebut menggambarkan keseluruhan proses dalam sistem) [15].
2.9.2 Data Flow Diagram
Data Flow Diagram (DFD) adalah representasi grafik dari sebuah sistem. DFD menggambarkan komponen-komponen sebuah sistem, aliran-aliran data di mana komponen-komponen tersebut, dan asal, tujuan, dan penyimpanan dari data tersebut. DFD terdiri dari empat komponen utama diantaranya adalah
1. Entitas. 2. Proses. 3. Data Store. 4. Data Flow.
DFD dapat dikatakan merupakan breakdown dari diagram konteks. Analisis mengenai sistem yang lebih detail dapat dilakukan dengan melakukan breakdown
Tabel 2.2 Simbol Diagram Konteks dan DFD
2.9.3 Spesifikasi Proses
Spesifikasi Proses adalah tabel yang berisi keterangan atau deskripsi dari semua proses yang terdapat pada DFD. Logika proses yang ditulis pada spesifikasi proses harus dituliskan secara jelas baik menggunakan bahasa deskriptif atau
pseudecode tetapi tidak boleh mengkombinasikan kedua bahasa tersebut [15]. Berikut adalah Tabel 2.3 Contoh Spesifikasi Proses.
Tabel 2.3 Contoh Spesifikasi Proses
No Proses Keterangan
1. No Proses Menyatakn no proses
Nama Proses Menyatakan nama proses
Source (Sumber) (Menyatakan sumber data input menuju proses)
Input (menyatakan isi data yang masuk ke proses)
Output (menyatakan informasi yang keluar dari proses)
Destination (menatakan tujuan informasi output dari proses)
Logika Proses (menyatakan algoritma dari proses)
2.9.4 Kamus Data
Kamus data adalah tabel yang berisi deskripsi dari data yang mengalir pada DFD, Penjelasan struktur data dapat berupa field tiap data harus sama dengan yang
Simbol Nama Simbol Fungsi
Entitas Luar Menggambarkan entitas eksternal yang berhubungan dengan sistem
Sistem (Konteks) / Proses (DFD)
Menggambarkan proses yang ada dalam suatu sistem
Aliran Data/Informasi Menggambarkan aliran data antar proses, data store dan entitas luar
25
sudah dimodelkan di ERD [15]. Contoh dari kamus data dapat dilihat pada Tabel 2.4 Contoh Kamus Data.
Tabel 2.4 Contoh Kamus Data
Nama aliran data Data Nama dari data yang digunakan Where used/How used Daftar pada poin proses apa data digunakan Keterangan Uraian singkat dari data yang digunakan
Struktur Data Daftar komponen data yang ada pada data yang digunakan
Deskripsi Jenis data dalam representasi komputer untuk masing-masing data.
2.10 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 [16]. 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 [17]. 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
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.
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 [18]. Berikut adalah contoh dari use case diagram dapat dilihat pada Gambar 2.5 Contoh Use Case Diagram
dan simbol yang terdapat pada use case diagram dapat dilihat pada Tabel 2.5. Simbol Use Case Diagram.
Gambar 2.5 Contoh Use Case Diagram
Simbol yang terdapat pada use case diagram dapat dilihat pada Tabel 2.5 Simbol
Usecase Diagram.
Tabel 2.5 Simbol Usecase Diagram
Simbol Nama Simbol Keterangan
Actor
Menggambarkan pihak yang berhubungan dengan sistem baik itu merupakan
27
Simbol Nama Simbol Keterangan
Use Case
Relasi use case tambahan ke sebuah use case yang ditambahkan dapat berdiri sendiri walau tanpa use case tambahan itu
Generalisasi
Sebuah relasi di mana fungsi yang satu adalah fungsi yang umum dari yang lainnya.
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 casenya. Berikut adalah dasar
format penulisan use case scenario [18]. Dasar pembangunan use case scenario
dapat dilihat pada Tabel 2.6 Dasar Pembangunan Use Case Scenario.
Tabel 2.6 Dasar Pembangunan Use Case Scenario 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
Related Use 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 Branching Action
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 [17]. Untuk objek-objek yang memiliki sifat khusus, standar UML mendefinisikan icon khusus untuk objek boundary,
controller dan persistent entity. Comtoh dari sequence diagram dapat dilihat pada Gambar 2.6 Contoh Sequence Diagram.
Gambar 2.6 Contoh Sequence Diagram
4. Class Diagram
Class adalah sebuah spesifikasi yang jika diinstansiasi akan menghasilkan sebuah objek dan merupakan inti dari pengembangan dan desain berorientasi objek.
29
diagram menggambarkan struktur dan deskripsi class, package dan objek beserta hubungan satu sama lain seperti containment, pewarisan, asosiasi, dan lain-lain.
Gambar 2.7 Contoh Class Diagram 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.
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
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 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 [17]. Contoh dari activity diagram dapat dilihat pada Gambar 2.8 Contoh Activity Diagram
31
2.11 Pengujian Black Box
Pengujian blackbox fokus pada keperluan penelusuran kesalahan fungsional dari software. Ujicoba blackbox 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 dibahas 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.
2.12 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.
yang diteliti. Bobot pemberian skor yang digunakan dapat dilihat pada Tabel 2.7 Panduan Pemberian Skor .
Tabel 2.7 Panduan Pemberian Skor [19]
Jenis Pernyataan Bobot pendapat
SS S N T TS
Positif 5 4 3 2 1
Negatif 1 2 3 4 5
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 3, maka dapat diartikan responden bersikap negatif dan jika nilai rata-rata lebih dari sama dengan 3, maka dapat diartikan responden bersikap positif terhadap tujuan yang ingin peneliti capai. Untuk lebih jelasnya dapat dilihat pada rumus dibawah ini.
� = ∑ �
Dimana, � ≥ 3 � < 3
Keterangan : � = rata-rata
∑� = ℎ ℎ ℎ
179
KESIMPULAN DAN SARAN
5.1 Kesimpulan
Berdasarkan hasil pengujian perangkat lunak music sharing pada platform androidmaka diperoleh kesimpulan sebagai berikut:
1. Perangkat lunak TrackL Music Sharing pada platform android sudah membantu pengguna untuk memperoleh informasi trending music.
2. Perangkat lunak TrackL Music Sharing pada platform android sudah membantu pengguna untuk dapat bergabung di dalam sebuah music circle dengan orang-orang yang memiliki kesukaan yang sama terhadap genre musiknya.
3. Perangkat lunak TrackL Music Sharing pada platform android sudah membantu para pendengar musik untuk saling merekomendasikan musiknya pada sebuah
playlist yang berdasarkan music circle.
5.2 Saran
Perangkat lunak TrackL Music Sharing yang dibangun merupakan produk yang berfokus kepada domain music sharing, Oleh karena itu ada beberapa saran yang dapat digunakan sebagai paduan pengembangan perangkat lunak ke arah yang lebih baik guna mendukung pertumbuhan pengguna dan konten pada perangkat
lunak ini. Adapun saran-saran terhadap pengembangan perangkat lunak TrackL Music Sharing ini adalah sebagai berikut:
1. Meningkatkan jumlah konten musik agar pengguna lebih memiliki banyak rekomendasi dalam berbagi musiknya.
2. Mengembangkan perangkat lunak dari segi performansi dan pengalaman pengguna yang lebih baik.
3. Mengembangkan platform yang dapat didukung oleh perangkat lunak mengingat saat ini hanya mendukung pada platform android.
BIODATA PENULIS
Biodata Rizky Nugraha
Address : Jln. Gagak Dlm 2 No.265C 114C, RT.009 RW.01 Bandung Kelurahan Sukaluyu Kecamatan Cibeunying Kaler Bandung 40133 Phone : +6281322370297
Email : saveme.blues@gmail.com
Personal Information
Place & D.O.B : Garut, October 15th 1992 Marital Status : Single
Religion : Moslem
Languages Known : Sunda, Indonesian, English
Formal Education
Indonesia Computer University
Majoring Informatics Engineering
2010 – 2015
SMK YPPT Majoring Computer and Network Engineering
2007 – 2010
Professional Experiences
Present
- Freelancer Android UI Designer - Freelancer Web UI Designer - Android Developer
- Freelancer UI/UX
Projects Experience
DESKTOP APPLICATIONS
Program Pemesanan Tiket Travel menggunakan bahasa C (console)
E-Learning Metode Simpson menggunakan bahasa C# (WPF Application)
Aplikasi Kasir Kedai IF-6 menggunakan bahasa C# (Windows Form Application)
Aplikasi Perpajakan menggunakan Bahasa C# (WPF Application)
RPC D-COM pada Aplikasi STMIK RIAU (VB Application)
WEB APPLICATION
Sistem Infomasi Geografis Tempat Ibadah Se-Kota Bandung (GIS)
Aplikasi alamishop.com Alami Online Shop pada PD. Karyawinazar (E-COMMERCE)
MyFingerboard.com (E-COMMERCE)
KRIPTOGRAFI SEDERHANA dengan Metode Subtitusi (SIMULASI)
LetsLearnTenses.com (E-LEARNING)
Aplikasi Web dan Virtual Tour dengan Image Sheprical 360 ° pada Floating Market Lembang (promotion apps)
ANDROID APPLICATION Hyjabs Social Media
Floating MarketLembang Promotion Apps
Capture Moment Apps Social Media
Keppo Apps (Twitter Pin)
TrackL Music Sharing
Skills
Operating System : Microsoft Windows XP Microsoft Windows 7 Microsoft Windows 8
Integrated Development Environtment
: Eclipse
Android Studio
Microsoft Visual Studio 2012 Ultimate
Dev C++
Text Editor : Sublime Text 3
Notepad++
Programming Language : HTML 5 CSS 3 PHP Java
C / C++ / C# SQL
Rizky Nugraha1, Eko Budi Setiawan2
1 Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung
2 Teknik Informatika – Universitas Komputer Indonesia
Jl. Dipatiukur 112-114 Bandung
Email : saveme.blues@gmail.com1, ekobudisetiawan@ymail.com2
ABSTRAK
Mendengarkan musik pada sebuah perangkat mobile smartphone sudah menjadi bagian dalam kehidupan masyarakat sehari-hari, hal ini semakin diperkuat dengan meningkatnya pendengar musik pada sebuah perangkat mobile. Berdasarkan fakta pada tahun 2013 sebuah survei dari lembaga
eMarketer menunjukkan sebanyak 147 juta orang Amerika diketahui mendengarkan radio online, sementara 70 juta orang lebih memilih mendengarkan musik dengan perangkat mobile-nya. Namun demikian pendengar musik masih sering mengalami beberapa kesulitan dalam pencarian musik untuk sebuah playlist yang sesuai dengan trending dan genre musik, penyesuaian dalam mendengarkan musik sesuai dengan genre
musik. Selain dari itu adanya keinginan untuk berbagi dan merekomendasikan musik berdasarkan genre kepada beberapa teman mereka yang memiliki kesamaan terhadap genre musik tertentu.
Berdasarkan hal tersebut, maka dapat disimpulkan perlunya membangun perangkat lunak yang dapat membantu permasalahan para pendengar musik yang sudah dipaparkan sebelumnya. TrackL Music Sharing adalah sebuah perangkat lunak yang berjalan pada perangkat mobile sehingga mudah untuk diakses dan dibawa kemana saja. Perangkat lunak yang dibangun menggunakan dua pemodelan, yaitu pemodelan terstruktur untuk sub sistem web
Admin dan pemodelan berbasis objek untuk sub sistem mobile Pengguna. Platform yang digunakan sebagai pilot project untuk sub sistem mobile adalah android, dengan pertimbangan bahwa android saat ini memiliki pengguna paling besar di dunia.
Berdasarkan hasil pengujian menggunakan metode pengujian alpha dan beta dapat disimpulkan bahwa perangkat lunak TrackL Music Sharing telah membantu pendengar musik untuk memperoleh informasi Trending Music, bergabung dalam sebuah
Music Circle, dan saling merekomendasikan musik pada sebuah playlist yang berdasarkan Music Circle.
Kata Kunci: Music Sharing, Circle, Playlist,Genre,
Perangkat Lunak Mobile, Android.
1. PENDAHULUAN
Pada bagian ini akan dipaparkan mengenai latar belakang masalah, maksud dan tujuan.
1.1 Latar Belakang Masalah
Mendengarkan musik pada sebuah perangkat
mobile smartphone sudah menjadi bagian dalam
kehidupan masyarakat sehari-hari, hal ini semakin diperkuat dengan meningkatnya pendengar musik pada sebuah perangkat mobile smartphone yang terjadi pada setiap tahunnya. Sebuah survei dari lembaga eMarketer pada tahun 2013 menunjukkan bahwa orang Amerika lebih memilih mendengarkannya dari perangkat mobile ketimbang melalui perangkat lain. Sebanyak 147 juta orang Amerika diketahui mendengarkan radio online
setidaknya sekali dalam sebulan, sementara 70 juta orang memilih mendengarkan musik di perangkat mobile-nya. Hal ini meningkat cukup tajam dibanding tahun sebelumnya, jumlah pendengar musik dari smartphone hanya 61 juta orang, sedangkan pendengar radio melalui
smartphone mencapai 133 juta orang [1] .