Pembangunan Aplikasi Multimedia Player Interaktif Berbasis Android

(1)

Diajukan untuk Menempuh Ujian Akhir Sarjana

EKO HAFID NUGROHO

10107046

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS TEKNIK DAN ILMU KOMPUTER

UNIVERSITAS KOMPUTER INDONESIA

2014


(2)

(3)

(4)

Tempat, Tanggal Lahir : Bandung, 18 Juni 1988 Jenis kelamin : Laki - laki

Agama : Islam

Kewarganegaraan : Indonesia

Alamat : Kp.Warungjati 04/06 Ds.Ciptagumati Kec.Cikalongwetan Kab Bandung Barat

Kode Pos : 40556

No. Telp : 085956311522

E-mail : ekohafid@gmail.com

2. RIWAYAT PENDIDIKAN 1992 – 1994

1994 – 2000

: :

Taman Kanak-kanak Pertiwi SDN Karyajati

2000 – 2003 : SMPN 1 Cikalongwetan 2003 – 2006 : SMK Taruna Mandiri

2007 – 2014 : Fakultas Teknik dan Ilmu Komputer Jurusan Teknik Informatika Universitas Komputer Indonesia

Bandung

Demikian riwayat hidup ini saya buat dengan sebenar-benarnya dalam keadaan sadar dan tanpa paksaan.

Bandung, 21 Agustus 2014


(5)

v

ABSTRACT ... ii

KATA PENGANTAR ... iii

DAFTAR ISI ... v

DAFTAR GAMBAR ... ix

DAFTAR TABEL ... xi

DAFTAR SIMBOL ... xiii

BAB 1 PENDAHULUAN ... 1

1.1 Latar Belakang Masalah... 1

1.2 Identifikasi Masalah ... 2

1.3 Maksud dan Tujuan ... 2

1.3.1 Maksud ... 2

1.3.2 Tujuan ... 2

1.4 Batasan Masalah ... 3

1.5 Metodologi Penelitian ... 3

1.5.1 Metode Pengumpulan Data... 3

1.5.2 Metode Pembangunan Aplikasi ... 4

1.6 Sistematika Penulisan ... 5

BAB 2 LANDASAN TEORI ... 7

2.1 Multimedia ... 7

2.2 Aplikasi ... 8

2.3 Android ... 9


(6)

vi

2.3.5 Tipe Aplikasi Android ... 13

2.3.6 Siklus Hidup Android ... 14

2.3.7 Kelebihan Android ... 15

2.4 Perancangan Berorientasi Objek ... 16

2.4.1 Unified Modelling Language (UML) ... 16

2.4.1.1 Use Case Diagram ... 16

2.4.1.2 Class Diagram ... 17

2.4.1.3 Behavior Diagram ... 18

2.4.1.4 Implementation Diagram ... 20

2.5 Skala Likert (Likert Scale) ... 20

2.5.1 Kelebihan Skala Likert ... 22

2.5.2 Kekurangan Skala Likert ... 22

2.6 Eclipse ... 22

2.6.1 Arsitektur Eclipse ... 23

2.6.2 Perkembangan Eclipse ... 24

2.7 Software Develpment Kit (SDK) ... 24

2.8 Java Development Kit (JDK) ... 25

2.9 Android Development Tools (ADT) ... 25

2.10 Sensor Accelerometer ... 25

2.11 Sensor Proximity ... 27

BAB 3 ANALISIS DAN PERANCANGAN SISTEM ... 31


(7)

vii

3.1.3 Analisis Sensor Accelerometer ... 34

3.1.3.1 Pengenalan Sensor Accelerometer ... 35

3.1.4 Analisis Kebutuhan Non Fungsional ... 37

3.1.4.1 Analisis dan Kebutuhan Pengguna ... 37

3.1.4.2 Analisis dan Kebutuhan Perangkat Keras ... 37

3.1.4.3 Analisis dan Kebutuhan Perangkat Lunak ... 38

3.1.5 Analisis dan Kebutuhan Fungsional ... 38

3.1.5.1 Analisis Kebutuhan Sistem ... 38

3.1.5.2 Analisis Kebutuhan Data ... 39

3.1.5.3 Pemodelan Sistem ... 39

3.2 Perancangan Sistem ... 58

3.2.1 Perancangan Arsitektur ... 58

3.2.1.1 Perancangan Struktur Menu ... 58

3.2.1.2 Perancangan Grafis dan Antarmuka ... 58

3.3 Jaringan Semantik ... 67

BAB 4 IMPLEMENTASI DAN PENGUJIAN SISTEM ... 69

4.1 Implementasi ... 69

4.1.1 Perangkat Lunak Pembangunan ... 69

4.1.2 Perangkat Keras Pembangunan ... 69

4.1.3 Perangkat Lunak Penguji ... 70

4.1.4 Perangkat Keras Penguji ... 70


(8)

viii

4.2.1.2 Kasus dan Hasil Pengujian... 80

4.2.1.3 Kesimpulan Pengujian Alpha ... 83

4.2.2 Pengujian Beta ... 83

4.2.2.1 Kuesioner Pengujian Beta ... 83

4.2.2.2 Kesimpulan Pengujian Beta ... 89

BAB 5 KESIMPULAN DAN SARAN... 91

5.1 Kesimpulan ... 91

5.2 Saran ... 91


(9)

93

DAFTAR PUSTAKA

[1] Rosa A.S dan M. Shalahuddin. 2011. “Rekayasa Perangkat Lunak”, Bandung; Modula.

[2] Kasman, Akhmad Dharma. 2013 "Kolaborasi Dahsyat Android dengan PHP & MYSQL", Yogyakarta; Lokomedia.

[3] Arsyad, M. Isman (2014) “Pembangunan Aplikasi Amalan Majmu’ Syarif Sebagai Media Edukasi Muslim Berbasis Android”.

[4] Al-Azis, Bakhrul Alam (2010) “Aplikasi Multimedia Interaktif Pembelajaran Calistung (Membaca,Menulis,Berhitung) Sebagai Media Tambahan Untuk Paud Di TK-Al-Hambra Bandung”.

[5] Fahrozi, Egi Mochammad Mugni (2013) “Implementasi Accelerometer Pada Mobile Game Lutung Kasarung The Jumper”.

[6] Android Developer. “Sensor”. http://developer.android.com/reference/ android/hardware/Sensor.html# TYPE_PROXIMITY (di akses pada tanggal 7 Juli 2014).

[7] Android Developer. “Position Sensors”. http://developer.android.com/ guide/topics/sensors/sensors_position.html (di akses pada tanggal 7 Juli 2014).


(10)

iii

Nya sehingga akhirnya skripsi ini dapat diselesaikan. Skripsi dengan judul “PEMBANGUNAN APLIKASI MULTIMEDIA PLAYER INTERAKTIF

BERBASIS ANDROID”, yang diajukan untuk menempuh ujian akhir sarjana Program Strata 1 pada Jurusan Teknik Informatika, Universitas Komputer Indonesia.

Penulis menyadari bahwa segala usaha yang dilakukan dalam penulisan ini tidak akan berhasil dengan baik tanpa bantuan dan saran dari berbagai pihak. Maka dalam kesempatan ini perkenankanlah penulis mengucapkan terima kasih kepada yang terhormat :

1. Keluarga tercinta, Ibu Tini selaku Ibu tercinta, Widi Wati Maryani selaku Adik tercinta, dan Alm Bapak Wahyono selaku Ayah yang paling kami sayangi, yang selalu memberikan doa, kasih sayang, semangat, motivasi dan dorongan moril maupun materil dengan penuh kasih sayang yang luar biasa kepada penulis selama menyelesaiakan studi ini.

2. Bapak Dr. Ir. Eddi Soeryanto Soegoto, M.Sc. selaku Rektor Universitas Komputer Indonesia.

3. Bapak Prof. Dr. H. Denny Kurniadie, Ir., M.Sc. selaku Dekan Fakultas Teknik dan Ilmu Komputer Universitas Komputer Indonesia.

4. Bapak Irawan Afrianto, S.T., M.T. selaku Ketua Jurusan Teknik Informatika, Fakultas Teknik dan Ilmu Komputer, Universitas Komputer Indonesia.

5. Bapak Iskandar Ikbal, S.T., M.Kom. selaku pembimbing yang telah mengarahkan dan membimbing penulis dalam menyelesaikan penulisan skripsi ini.

6. Bapak Andri Heryandi, S.T., M.T. selaku penguji satu.

7. Bapak Eko Budi Setiawan, S.Kom., M.T. selaku dosen wali yang selalu memberikan semangat dan motivasi dalam menyelesaikan perkuliahan.


(11)

iv

brilian, kritik dan motivasi di saat penulis terjatuh.

10. Rekan-rekan IF-1 angkatan 2007 terima kasih atas saran, dukungan serta kebersamaanya.

11. Ateu Tia yang telah dengan sukarela memberikan fasilitas WIFI secara cuma-cuma kepada penulis selama ini juga Saksono yang memberikan fasilitas printer.

12. Semua pihak yang telah membantu penulis dalam skripsi ini yang tidak bisa penulis sebutkan satu persatu.

Penulis menyadari bahwa penulisan laporan ini masih jauh dari sempurna maka kritik dan saran dari semua pihak dibutuhkan untuk menambah wawasan penulis. Akhir kata semoga ALLAH SWT membalas segala kebaikan yang telah penulis terima dari semua pihak, dan harapan penulis semoga Laporan Skripsi ini dapat bermanfaat bagi pihak yang membutuhkan

Bandung, 21 Agustus 2014

Eko Hafid Nugroho Penulis


(12)

1 1.1 Latar Belakang Masalah

Mendengarkan audio atau memutar video adalah salah satu kegiatan yang dilakukan oleh masyarakat melalui media player. Karena merupakan salah satu bagian dalam kehidupan masyarakat sehari-hari. Dengan mendengarkan audio atau memutar video, kita dapat membangkitkan semangat atau membuat warna-warni dalam kehidupan.

Perangkat android adalah salah satu perangkat mobile yang dapat memenuhi kebutuhan tersebut melaui aplikasi media player bawaan standar yang ada pada perangkat android.

Namun pada implementasinya ada beberapa aplikasi media player bawaan satndar yang masih terasa kurang praktis, karena tidak dapat memutar video atau audio dalam satu aplikasi, selain itu masih terasa kurang interaktif jika dijalankan bersamaan dengan aktifitas lain. Seperti mendengarkan audio sambil berjalan kaki dan perangkat ada di saku celana pengguna harus mengeluarkan perangkat dan membuka kunci untuk mengkontrol aplikasi media player bawaan standar ini, pengguna harus membuka kunci layar dulu sebelum pengguna memidahkan lagu jika mendengarkan audio sambil membaca atau menulis, pengguna akan mengotori layar perangkat pada saat mendengarkan audio atau memutar video sambil makan atau memasak, dan selain itu pula pengguna akan merasa kesulitan jika harus mengalihkan pandangan dari layar perangkat pada saat menjalankan aplikasi media player sambil mengendarai kendaraan roda empat.

Teknologi sensor accelerometer dan proximity yang ada pada perangkat android dapat menjadi salah satu teknologi yang dapat dikombinasikan pada sebuah aplikasi media player, agar menjadi lebih interaktifk karena dapat dijalankan tanpa harus selalu fokus pada layar, dapat dijalankan tanpa menyentuh layar, dan dapat dijalankan pada saat layar dalam keadaan mati. Selain itu sistem operasi android yang berbasis open source dapat mendorong penulis untuk lebih


(13)

kreatif dalam membangun aplikasi ini agar menjadi lebih praktis pada pengimplementasiannya.

Berdasarkan hal tersebut maka penelitian ini diberi judul "PEMBANGUNAN APLIKASI MULTIMEDIA PLAYER INTERAKTIF BERBASIS ANDROID". Dengan harapan dapat membantu menyelesaikan permasalahan yang telah diuraikan diatas.

1.2 Identifikasi Masalah

Berdasarkan latar belakang di atas, maka timbul permasalahan yang dapat di identifikasikan, yaitu :

1. Bagaimana membangun sebuah aplikasi media player yang dapat memutar audio dan video dalam satu aplikasi agar mejadi lebih praktis.

2. Bagaimana membangun sebuah aplikasi media player yang dikombinasikan dengan teknologi sensor accelerometer dan proximity dapat membantu aplikasi media player yang dibangun menjadi interaktif karena dapat dikontrol tanpa harus selalu fokus pada layar, dapat dikontrol tanpa menyentuh layar, dan dapat dikontrol dalam keadaan layar mati.

1.3 Maksud dan Tujuan 1.3.1 Maksud

Maksud pembuatan judul penulisan tugas akhir ini adalah membangun sebuah aplikasi multimedia player interaktif yang dapat memenuhi kebutuhan masyarakat akan media player yang lebih praktis dan interaktif.

1.3.2 Tujuan

1. Agar aplikasi media player yang dibangun dapat memutar audio dan video dalam satu aplikasi agar mejadi lebih praktis.

2. Agar aplikasi media player yang dikombinasikan dengan teknologi sensor accelerometer dan proximity dapat membantu aplikasi media player yang dibangun menjadi interaktif karena dapat dikontrol tanpa harus selalu fokus pada layar, dapat dikontrol tanpa menyentuh layar, dan dapat dikontrol dalam keadaan layar mati.


(14)

1.4 Batasan Masalah

Adapun batasan masalah dari pembangunan aplikasi ini adalah sebagai berikut :

1. Aplikasi multimedia player ini hanya bisa digunakan pada perangkat yang memiliki sistem operasi android.

2. Teknologi sensor yang digunakan adalah proximity dan accelerometer. 3. Button yang dapat dijalankan oleh sensor proximity pada player audio

adalah button play dan button next dan pada player video adalah button play, button next.

4. Button yang dapat dijalankan oleh sensor accelerometer adalah button next pada player audio.

5. Pembangunan aplikasi menggunakan model waterfall.

6. Metodologi pemodelan sistem menggunakan Object Oriented Programming (OOP) dengan Unified Modeling Language (UML).

7. Bahasa pemrograman yang digunakan dalam membangun aplikasi adalah java.

8. Tools pengembangan aplikasi yang digunakan yaitu IDE Eclipse 4.2 Juno, Java Development Kit versi 1.7.0_40, Android Development Tools versi 22.2.

9. Aplikasi ini diimplementasikan pada sistem operasi Android yang telah didukung dengan teknologi sensor proximity dan accelerometer.

1.5 Metodologi Penelitian

Metodologi yang digunakan dalam penulisan tugas akhir ini adalah sebagai berikut [1]:

1.5.1 Metode Pengumpulan Data

Metode pengumpulan data yang digunakan dalam penelitian ini adalah sebagai berikut :


(15)

Mengumpulan data dengan cara pengumpulan literatur, jurnal, paper dan bacaan-bacaan yang ada kaitannya dengan judul penelitian.

b. Observasi

Mengumpulan data dengan mengadakan penelitian dan peninjauan langsung terhadap permasalahan yang diambil.

c. Kusioner

Mengumpulan data dengan menggunakan kuisioner yang berhubungan dengan judul dan dilakukan kepada banyak orang.

1.5.2 Metode Pembangunan Aplikasi

Metode yang digunakan pada pembangunan perangkat lunak ini menggunakan model SDLC waterfall yang sering juga disebut sekuensial linier atau alur hidup klasik, yang meliputi beberapa tahap diantaranya [1]:

a. Analisis

Pada tahap analisis pengumpulan kebutuhan dilakukan secara intensif untuk mespesifikasikan kebutuhan aplikasi, agar dapat dipahami dan seperti apa aplikasi multimedia player interaktif yang dibutuhkan user.

b. Desain

Pada tahap ini kebutuhan aplikasi multimedia player interaktif dari tahap analisis ditranslasikan ke representasi desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya.

c. Pengodean

Tahap ini mentranslansi tahap desain ke dalam aplikasi dan hasil dari tahap ini adalah aplikasi yang sesuai dengan desain yang telah dibuat pada tahap desain.

d. Pengujian

Tahap ini dilakukan untuk meminimalisir kesalahan dan memastikan keluaran yang dihasilkan sesuai dengan yang diinginkan.

e. Pendukung atau Pemeliharaan

Pada tahap pendukung atau pemeliharaan proses pengembangan dapat diulangi mulai dari analisis spesifikasi untuk perubahan aplikasi yang sudah ada, tapi tidak membangun aplikasi baru.


(16)

Gambar 1.1 Model Waterfall [1]

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir penelitian ini disusun untuk memberikan gambaran umum tentang penelitian yang dijalankan. Sistematika penulisan tugas akhir ini adalah sebagai berikut :

BAB I PENDAHULUAN

Menguraikan tentang latar belakang masalah, identifikasi masalah, maksud dan tujuan dibuatnya aplikasi, batasan masalah, metodologi penelitian yang digunakan, serta sistematika penulisan.

BAB II. LANDASAN TEORI

Membahas berbagai konsep dasar dan teori-teori yang berkaitan dengan “Pembangunan Aplikasi Multimedia Player Interaktif Berbasis Android”. BAB III. ANALISIS MASALAH

Menganalisis masalah yang dihadapi dalam pembuatan tugas akhir yang berjudul “Pembangunan Aplikasi Multimedia Player Interaktif Berbasis Android”.

BAB IV. PERANCANGAN DAN IMPLEMENTASI

Menjelaskan tentang perancangan dalam pembuatan sistem dan tahapan-tahapan yang dilakukan untuk menerapkan sistem yang telah dirancang

BAB V. KESIMPULAN DAN SARAN

Berisi kesimpulan dan saran yang sudah diperoleh dari hasil penulisan tugas akhir.


(17)

(18)

7 2.1 Multimedia

Tay Vaughan(2006:3) menyebutkan definisi Multimedia diartikan sebagai kombinasi dari macam-macam objek media, yaitu teks, foto, seni grafis, animasi, audio, video yang dimanipulasi secara digital [4].

a. Teks

Teks merupakan dasar dari pengolahan kata dan informasi berbasis multimedia. Beberapa hal yang perlu diperhatikan adalah penggunaan hypertext, auto hypertext, text style, import text dan export text.

b. Image

Secara umum image atau grafik berarti still image (gambar tetap), dari kelas objek termasuk dalam kategori image adalah visible image, non-visible, abstrak.

c. Animasi

Animasi berarti gerakan-gerakan image atau video. Dalam authoring software, biasanya animasi mencakup kemampuan recording dan playback. Fasilitas yang dimiliki oleh software animasi mencakup integrated animation, tool, animation clip, impor animasi, recording, play back dan transition effect.

d. Audio

Penyajian audio merupakan cara lain untuk memperjelas pengertian suatu informasi. Contohnya, narasi merupakan kelengkapan dan penjelasan yang dilihat melalui video.

e. Full-motion dan live video

Full-motion dan live video berhubungan dengan penyimpanan sebagai video klip, sedangkan live video merupakan hasil pemrosesan yang diperoleh dari kamera.

William Ditto (2006) menyatakan definisi multimedia dalam ilmu pengetahuan mencakup beberapa aspek yang saling bersinergi, antara teks, grafik, gambar statis, animasi, film dan suara. Sejumlah penelitian membuktikan bahwa penggunaan multimedia dalam pembelajaran menunjang efektivitas dan efisiensi


(19)

proses pembelajaran. Penelitian tersebut antara lain yang dilakukan oleh Francis M. Dwyer. Hasil penelitian ini antara lain menyebutkan bahwa setelah lebih dari tiga hari pada umumnya manusia dapat mengingat pesan yang disampaikan melalui tulisan sebesar 10 %, pesan audio 10 %, visual 30 % dan apabila ditambah dengan melakukan multimedia, maka akan mencapai 80 %. Berdasarkan hasil penelitian ini maka multimedia interaktif (user melakukan) dapat dikatakan sebagai media yang mempunyai potensi yang sangat besar dalam membantu proses pembelajaran [4].

Multimedia interaktif adalah suatu multimedia yang dilengkapi dengan alat pengontrol yang dapat dioperasikan oleh pengguna, sehingga pengguna dapat memilih apa yang dikehendaki untuk proses selanjutnya. Ciri khasnya, multimedia ini dilengkapi dengan beberapa navigasi yang disebut juga dengan graphical user interface (GUI), baik berupa icon maupun button, pop-up menu, scroll bar, dan lainnya yang dapat dioperasikan oleh user untuk sarana browsing ke berbagai jendela informasi dengan bantuan sarana hyperlink. Penerapan multimedia interaktif ini dapat terdapat pada multimedia pembelajaran serta aplikasi game. Multimedia interaktif tidak memiliki durasi karena lama penayangannya tergantung seberapa lama pengguna mem-browsing media ini [4].

2.2 Aplikasi

Aplikasi adalah suatu subkelas perangkat lunak komputer yang memanfaatkan kemampuan komputer langsung untuk melakukan suatu tugas yang diinginkan pengguna. Biasanya dibandingkan dengan perangkat lunak sistem yang mengintegrasikan berbagai kemampuan komputer, tapi tidak secara langsung menerapkan kemampuan tersebut untuk mengerjakan suatu tugas yang menguntungkan pengguna. Contoh utama perangkat lunak aplikasi adalah pengolah kata, lembar kerja, dan pemutar media.

Beberapa aplikasi yang digabung bersama menjadi suatu paket kadang disebut suatu paket atau suite aplikasi (Application Suite). Contohnya adalah Microsoft Office dan OpenOffice, yang menggabungkan suatu aplikasi pengolah kata, lembar kerja, serta beberapa aplikasi lainnya. Aplikasi-aplikasi dalam suatu


(20)

paket biasanya memiliki antarmuka pengguna yang memiliki kesamaan sehingga memudahkan pengguna untuk mempelajari dan menggunakan tiap aplikasi. Seringkali, mereka memiliki kemapuan untuk saling berinteraksi satu sama lain sehingga menguntungkan pengguna. Contohnya, suatu lembar kerja dapat dibenamkan dalam suatu dokumen pengolah kata walaupun dibuat pada aplikasi lembar kerja yang terpisah [3].

2.3 Android 2.3.1 Pengertian

Android adalah sistem operasi yang berbasis Linux untuk telepon seluler seperti telepon pintar (Smartphone) dan komputer tablet. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam peranti begerak.

Bebrapa pengertian lain dari Android, yaitu :

1. Merupakan platform terbuka (Open Source) bagi para programmer untuk membuat atau mengembangkan aplikasi.

2. Merupakan sistem operasi yang dibeli Google Inc dari Android Inc.

3. Bukan bahasa pemrograman, akan tetapi hanya menyediakan lingkungan hidup atau runtime environment yang disebut DVM (Dalvik Virtual Machine) yang telah dioptimasi untuk device dengan sistem memori yang kecil [2]. 2.3.2 Versi Android

Banyak smartphone dan PC Tablet yang menggunakan sistem operasi android dengan versi yang berbeda. Semakin tinggi versi, fiturnya semakin canggih dan banyak. Beberapa uraian versi android seperti dibawah ini [2]:

1. Android versi 1.1

Pada 9 Maret 2009, Google merilis Android versi 1.1. Android versi ini dilengkapi dengan pembaruan estetis pada aplikasi, jam alarm, voice search (pencarian suara), pengiriman pesan dengan Gmail, dan pemberitahuan Email. 2. Android versi 1.5 (Cupcake)

Pada pertengahan Mei 2009, Google kembali merilis telepon seluler dengan menggunakan Android dan SDK (Software Development Kit) dengan versi 1.5


(21)

(Cupcake). Terdapat beberapa pembaruan termasuk juga penambahan beberapa fitur dalam seluler versi ini yakni kemampuan merekam dan menonton video dengan modus kamera, mengunggah video ke Youtube dan gambar ke Picasa langsung dari telepon, dukungan Bluetooth A2DP, kemampuan terhubung secara otomatis ke headset bluetooth, animasi layar dan keyboard pada layar yang dapat disesuaikan dengan sistem.

3. Android versi 1.6 (Donut)

Donut (versi 1.6) dirilis pada September dengan menampilkan proses pencarian yang lebih baik dibanding sebelumnya, penggunaan baterai indikator dan kontrol applet VPN. Fitur lainnya adalah galeri yang memungkinkan pengguna untuk memilih foto yang akan dihapus pada kamera, camcorder dan galeri yang diintegrasikan pada CDMA / EVDO, 802.1x, VPN, Gestures, dan Text-to-spech engine. Kemampuan dial kontak teknologi text to change speech (tidak tersedia pada semua ponsel).

4. Android versi 2.0/2.1 (Eclair)

Pada 3 Desember 2009 kembali diluncurkan ponsel Android dengan versi 2.0/2.1 (Eclair), perubahan yang dilakukan adalah mengoptimalkan hardware, peningkatan Google Maps 3.1.2, perubahan UI dengan browser baru dan dukungan HTML 5, daftar kontak yang baru, dukungan flash untuk kamera 3.2 MP, digital zoom, dan Bluetooth 2.1.

Untuk bergerak cepat dalam persaingan perangkat generasi berikut, Google melakukan investasi dengan mengadakan kompetisi aplikasi mobile terbaik (killer apps-aplikasi unggulan). Kompetisi ini berhadiah $25,000 bagi setiap pengembang aplikasi terpilih. Kompetisi diadakan selama dua tahap yang tiap tahapnya dipilih 50 aplikasi terbaik.

Dengan semakin berkembangnya dan semakin bertambahnya jumlah handset Android, semakin banyak pihak ketiga yang berminat untuk menyalurkan aplikasi mereka kepada sistem operasi Android. Aplikasi terkenal yang diubah ke dalam sistem operasi Android adalah Shazam, Backgrounds dan WeatherBug.

Sistem operasi Android dalam situs internet juga dianggap penting untuk menciptakan aplikasi Android asli, contohnya oleh MySpace dan Facebook.


(22)

5. Android versi 2.2 (Froyo : Frozen Yoghurt)

Pada 20 Mei 2010, Android versi 2.2 (Froyo) diluncurkan. Perubahan-perubahan umumnya terhadap versi-versi sebelumnya antara lain dukungan Adobe Flash 10.1, kecepatan kinerja dan aplikasi 2 sampai 5 kali lebih cepat, integrasi dengan V8 JavaScript engine yang dipakai Google Chrome yang mempercepat kemampuan rendering pada browser, pemasangan aplikasi dalam SD Card, kemampuan WiFi Hotspot portabel dan kemampuan auto update dalam aplikasi Android Market.

6. Android versi 2.3 (Gingerbread)

Pada 6 Desember 2010, Android versi 2.3 (Gingerbread) diluncurkan. Perubahan-perubahan umum yang didapat dari versi ini antara lain peningkatan kemampuan permainan (gaming), peningkatan fungsi copy paste, layar antarmuka (User Interface) didesain ulang, dukungan format video VP8 dan WebM, efek audio baru (reverb, equalization, headphone virtualization, dan bass boost), dukungan kemampuan Near Field Communication (NFC) dan dukungan jumlah kamera yang lebih dari satu.

7. Android versi 3.1 (Honeycomb)

Android Honeycomb dirancang khusus untuk tablet. Android versi ini mendukung ukuran layar yang lebih besar. User Interface pada Honeycomb juga berbeda karena sudah didesain untuk tablet. Honeycomb juga mendukung multi prosesor dan juga akselerasi perangkat keras (hardware) untuk grafis. Tablet peratam yang dibuat dengan menjalankan Honeycomb adalah Motorola Xoom. 8. Android versi 4.0 (Ice Cream Sandwich)

Diumumkan pada tanggal 19 Oktober 2011, membawa fitur Honeycomb untuk smartphone dan menambahkan fitur baru termasuk membuka kunci dengan pengenalan wajah, jaringan data pemantauan penggunaan dan kontrol, terpadu kontak jaringan sosial, perangkat tambahan fotografi, mencari email secara offline dan berbagi informasi dengan menggunakan NFC.

9. Android versi 4.1 (Jelly Bean)

Pada tanggal 27 Juni 2012 Google mengumumkan Android versi 4.1 (Jelly Bean) dalam konferensi Google I/O berdasarkan kernel Linux 3.0.31. Jelly Bean


(23)

adalah pembaruan penting yang bertujuan untuk meningkatkan fungsi dan kinerja antarmuak pengguna (User Interface). Pembaruan ini diwujudkan dalam proyek Butter, perbaikan ini termasuk antisipasi sentuh, triple buffering, perpanjangan waktu vsync dan peningkatan frame rate hingga 60fps untuk menciptakan UI yang lebih halus. Perangkat pertama yang menggunakan sistem operasi ini adalah tablet Nexus 7, yang dirilis pada 13 Juli 2012.

10. Android versi 4.4 (KitKat)

Android versi 4.4 (KitKat) direncanakan akan dirilis pada bulan Oktober 2013. Setelah sebelumnya beredar rumor bahwa Android versi berikutnya setelah Jelly Bean diperkirakan akan diberi nomor 5.0 dan dinamai Key Lime Pie.

2.3.3 Anatomi Aplikasi Android

Dalam paket sistem operasi Android tediri dari beberapa unsur seperti tampak pada gambar 2.1. Secara sederhana arsitektur Android merupakan sebuah kernel Linux dan sekumpulan pustaka C / C++ dalam suatu Framework yang menyediakan dan mengatur alur proses aplikasi [2].


(24)

2.3.4 Komponen Aplikasi Android

Fitur penting android adalah bahwa satu aplikasi dapat menggunakan elemen dari aplikasi lain (untuk aplikasi yang memungkinkan). Sebagai contoh, sebuah aplikasi memerlukan fitur scroller dan aplikasi lain telah mengembangkan fitur scroller yang baik dan memungkinkan aplikasi lain menggunakannya. Maka pengembang tidak perlu lagi mengembangkan hal serupa untuk aplikasinya, cukup menggunakan scroller yang telah ada.

Agar fitur tersebut dapat bekerja, sistem harus dapat menjalankan aplikasi ketika setiap bagian aplikasi itu dibutuhkan, dan pemanggilan objek java untuk bagian itu. Oleh karenanya Android berbeda dari sistem-sistem lain, Android tidak memiliki satu tampilan utama program seperti fungsi main() pada aplikasi lain. Sebaliknya, aplikasi memiliki komponen penting yang memungkinkan sistem untuk memanggil dan menjalankan ketika dibutuhkan [2].

2.3.5 Tipe Aplikasi Android

Terdapat tiga kategori aplikasi pada android [2]:

1. ForegroundActivity

Aplikasi yang hanya dapat dijalankan jika tampil pada layar dan tetap efektif walaupun tidak terlihat. Aplikasi dengan tipe ini pasti mempertimbangkan siklus hidup activity, sehingga perpindahan antar activity dapat berlangsung dengan lancar.

2. BackgroundService

Aplikasi yang memiliki interaksi terbatas dengan user, selain dari pengaturan konfigurasi, semua dari prosesnya tidak tidak tampak pada layar. Contohnya aplikasi penyaringan panggilan atau sms auto respon.

3. IntermittentActivity

Aplikasi yang masih membutuhkan beberapa masukkan dari pengguna, namun sebagian sangat efektif jika dijalankan di background dan jika diperlukan akan memberi tahu pengguna tentang kondisi tertentu. Contohnya pemutar musik. Untuk aplikasi yang kompleks akan sulit untuk menentukan kategori aplikasi tersebut apalagi aplikasi memiliki ciri-ciri dari semua kategori. Oleh karenanya


(25)

perlu pertimbangan bagaimana aplikasi tersebut digunakan dan menentukan kategori aplikasi yang sesuai.

2.3.6 Siklus Hidup Android

Siklus hidup aplikasi Android dikelola oleh sistem, berdasarkan kebutuhan pengguna, sumberdaya yang tersedia, dan sebagainya. Misalnya Pengguna ingin menjalankan browser web, pada akhirnya sistem yang akan menentukan menjalankan aplikasi. Sistem sangat berperan dalam menentukan apakah aplikasi dijalankan, dihentikan sementara, atau dihentikan sama sekali. Jika pengguna ketika itu sedang menjalankan sebuah Activity, maka sistem akan memberikan perioritas utama untuk aplikasi yang tersebut. Sebaliknya, jika suatu Activity tidak terlihat dan sistem membutuhkan sumber daya yang lebih, maka Activity yang prioritas rendah akan ditutup.

Android menjalankan setiap aplikasi dalam proses secara terpisah, yang masing-masing memiliki mesin virtual pengolah sendiri, dengan ini melindungi penggunaan memori pada aplikasi. Selain itu juga Android dapat mengontrol aplikasi mana yang layak menjadi prioritas utama. Karenanya Android sangat sensitive dengan siklus hidup aplikasi dan komponen-komponennya. Perlu adanya penanganan terhadap setiap kondisi agar aplikasi menjadi stabil. Gambar 2.2 menunjukkan prioritas dari aplikasi [2].


(26)

2.3.7 Kelebihan Android

Sudah banyak platform untuk perangkat selular saat ini, termasuk didalamnya Symbian, iPhone, Windows Mobile, BlackBerry, Java Mobile Edition, Linux Mobile (LiM), dan banyak lagi. Namun ada beberapa hal yang menjadi kelebihan Android. Walaupun beberapa fitur-fitur yang ada telah muncul sebelumnya pada platform lain, Android adalah yang pertama menggabungkan hal seperti berikut [2]:

1. Keterbukaan, Bebas pengembangan tanpa dikenakan biaya terhadap sistem karena berbasiskan Linux dan open source. Pembuat perangkat menyukai hal ini karena dapat membangun platform yang sesuai yang diinginkan tanpa harus membayar royality. Sementara pengembang software menyukai karena Android dapat digunakan diperangkat manapun dan tanpa terikat oleh vendor manapun.

2. Arsitektur komponen dasar Android terinspirasi dari teknologi internet Mashup. Bagian dalam sebuah aplikasi dapat digunakan oleh aplikasi lainnya, bahkan dapat diganti dengan komponen lain yang sesuai dengan aplikasi yang dikembangkan.

3. Banyak dukungan service, kemudahan dalam menggunakan berbagai macam layanan pada aplikasi seperti penggunaan layanan pencarian lokasi, database SQL, browser dan penggunaan peta. Semua itu sudah tertanam pada Android sehingga memudahkan dalam pengembangan aplikasi.

4. Siklus hidup aplikasi diatur secara otomatis, setiap program terjaga antara satu sama lain oleh berbagai lapisan keamanan, sehingga kerja sistem menjadi lebih stabil. Pengguna tak perlu kawatir dalam menggunakan aplikasi pada perangkat yang memorinya terbatas.

5. Dukungan grafis dan suara terbaik, dengan adanya dukungan 2D grafis dan animasi yang diilhami oleh Flash menyatu dalam 3D menggunakan OpenGL memungkinkan membuat aplikasi maupun game yang berbeda. 6. Portabilitas aplikasi, aplikasi dapat digunakan pada perangkat yang ada


(27)

menggunakan bahas pemrograman Java dan dieksekusi oleh mesin virtual Dalvik, sehingga kode program portable antara ARM, X86, dan arsitektur lainnya. Sama halnya dengan dukungan masukan seperti penggunaan Keyboard, layar sentuh, trackball dan resolusi layar semua dapat disesuaikan dengan program.

2.4 Perancangan Berorientasi Objek

Teknologi objek menganalogikan sistem aplikasi seperti kehidupan nyata yang didominasi oleh objek. Didalam membangun sistem berorientasi objek akan menjadi lebih baik apabila langkah awalnya didahului dengan proses analisis dan perancangan yang berorientasi objek. Tujuannya adalah mempermudah programmer didalam mendesain program dalam bentuk objek-objek dan hubungan antar objek tersebut untuk kemudian dimodelkan dalam sistem nyata. Suatu perusahaan software yaitu Rational Software, telah membentuk konsarium dengan berbagai organisasi untuk meresmikan pemakaian Unified Modelling Language (UML) sebagai bahasa standar dalam Object Oriented Analysist Design (OOAD) [1].

2.4.1 Unified Modelling Language (UML)

UML dalam sebuah bahasa untuk menentukan visualisasi, konstruksi, dan mendokumentasikan artifacts dari sistem software, untuk memodelkan bisnis, dan sistem non-software lainnya. UML merupakan sistem arsitektur yang bekerja dalam OOAD dengan satu bahasa yang konsisten untuk menentukan, visualisasi, konstruksi dan mendokumentasikan artifact yang terdapat dalam sistem. Artifact adalah sepotong informasi yang digunakan atau dihasilkan dalam suatu proses rekayasa software. Artifact dapat berupa model, deskripsi atau software [1].

2.4.1.1 Use Case Diagram

Use Case Diagram menjelakan manfaat sistem jika dilihat menurut pandangan orang yang berada diluar sistem (Aktor). Diagram ini menunjukan fungsionalitas suatu sistem yang berinteraksi dengan dunia luar. Use Case Diagram dapat digunakan selama proses analisis untuk menagkap requitment sistem dan untuk memahami bagaimana sistem bekerja [1].


(28)

Gambar 2.3 Use Case Diagram

2.4.1.2 Class Diagram

Class Diagram menjelaskan dalam visualisasi struktur kelas-kelas dari suatu sistem dan merupakan tipe diagram yang paling banyak dipakai. Class Diagram memperlihatakan hubungan antar kelas dan penjelasan detail tiap-tiap kelas dalam model desain dari suatu sistem. Selama proses analisis, class diagram memperlihatkan aturan-aturan dan tanggung jawab entitas yang menentukan prilaku sistem. Selama tahap desain, class diagram berperan dalam menagkap struktur dari semua kelas yang membentuk arsitektur sistem yang dibuat [1].


(29)

Gambar 2.4 Class Diagram

2.4.1.3 Behavior Diagram

Behavior diagram dapat dikelompokan menjadi tiga diagram, yaitu [1]:

1. Statechart Diagram

Statechart Diagram berfungsi untuk memodelkan prilaku dinamis satu kelas satu objek.

2. Activity Diagram

Activity Diagram memodelkan alur kerja (work flow) sebuah proses bisnis dan urutan aktifitas dalam suatu proses.

3. InteractionDiagram

Interaction Diagram dibagi menjadi dua model diagram yaitu : 1. Sequence Diagram

Sequence Diagram menjelaskan interaksi objek yang disusun dalam suatu urutan waktu. Diagram ini secara khusus bersosialisasi dengan use case. Sequence diagram, memperlihatkan tahap demi tahap apa yang seharusnya terjadi untuk menghasilkan sesuatu dalam use case.


(30)

Gambar 2.5 Sequence Diagram

2. Collaboration Diagram

Collaboration Diagram melihat pada interaksi dan hubungan terstruktur antar objek. Tipe diagram ini menekankan pada hubungan (relationship) antar objek, sedangkan sequence diagram menekankan pada urutan kejadian. Dalam collaboration diagram terdapat beberapa objek, link, dan message.


(31)

2.4.1.4 Implementation Diagram

Implementation diagram dibagi menjadi dua diagram, yaitu [1]:

1. Component Diagram menggambarkan alokasi semua kelas dan objek kedalam komponen-komponen dalam desain fisik sistem software. Diagram ini memperlihatkan pengaturan dan kebergantungan antara komponen-komponen software, seperti source code, binary code, dan komponen tereksekusi (execute components)

2. Deployment Diagram memperlihatkan pemetaan software kepada hardware. Dimana akan berjalan (di server/multitier, standalone atau lainnya), dan menggambarkan model koneksi dan kemampuan jaringan dan hal lainya yang bersifat fisik.

2.5 Skala Likert (Likert Scale)

Skala likert adalah suatu skala psikometrik yang digunakan dalam kuesioner dan merupakan salah satu teknik yang dapat digunakan dalam evaluasi suatu program atau kebijakan perencanaan. Rensis Likert telah mengembangkan sebuah skala untuk mengukur sikap masyarakat di tahun 1932 yang sekarang terkenal dengan nama skala Likert. Skala Likert ini merupakan skala yang dapat dipergunakan untuk mengukur sikap, pendapat, dan persepsi seseorang atau sekelompok orang mengenai suatu gejala atau fenomena. Dan pada evaluasi, skala likert digunakan untuk (a) Menilai keberhasilan suatu kebijakan atau program (b) Menilai manfaat pelaksanaan suatu kebijakan atau program (c) Mengetahui kepuasan stakeholder terhadap pelaksanaan suatu kebijakan atau program [3].

Dalam skala Likert terdapat dua bentuk pernyataan yaitu pernyataan positif yang berfungsi untuk mengukur sikap positif, dan pernyataan negatif yang berfungsi untuk mengukur sikap negatif objek. Skor pernyataan positif dimulai dari 1 untuk sangat tidak setuju (ST), 2 untuk tidak setuju (T), 3 untuk tak memutuskan (N), 4 untuk setuju (S), dan 5 untuk sangat setuju (SS). Skor pernyataan negatif dimulai dari 1 untuk sangat setuju (SS), 2 untuk setuju (S), 3 untuk tak memutuskan (N), 4 untuk tidak setuju (T), dan 5 untuk sangat tidak setuju (ST). Skala Likert digunakan untuk mengukur kesetujuan dan


(32)

ketidaksetujuan seseorang terhadap sesuatu rencana program, pelaksanaan program ataupun tingkat keberhasilan suatu program.

Tabel 2.1 Bobot Penilaian Skala Likert

Arah Pertanyaan

Bobot Penilaian Sangat

Setuju (SS) Setuju (S)

Tak Memutuskan (N) Tidak Setuju (T) Sangat Tidak Setuju (ST)

Positif 5 4 3 2 1

Negatif 1 2 3 4 5

Berdasarkan data hasil kuesioner tersebut, dapat dicari persentase masing-masing jawaban dengan menggunakan rumus :

% 100 x ideal Skor X Y = Keterangan :

Y = Nilai persentase yang dicari

X = Jumlah nilai kategori jawaban dikalikan dengan frekuensi (∑ = N . R)

N = Nilai dari setiap jawaban

R = Frekuensi

Skor ideal = Nilai tertinggi dikalikan dengan jumlah sampel

Setelah diperoleh nilai Y maka interpretasi nilai dapat dilihat sebagai berikut :

Gambar 2.7 Skala Penilaian Kuesioner

Setelah didapatkan jumlah yang pasti dari setiap kuesioner, selanjutnya penulis menarik kesimpulan dari masing-masing kuesioner yang disediakan.


(33)

2.5.1 Kelebihan Skala Likert

Beberapa Kelebihan Skala Likert dalam riset berupa survei, antara lain : 1. Mudah dibuat dan diterapkan.

2. Skala Likert lebih mudah membuatnya dibandingkan dengan skala yang lain seperti skala Thurstone.

3. Terdapat kebebasan dalam memasukan pertanyaan- pertanyaan, asalkan sesuai dengan konteks permasalahan yang diteliti.

4. Jawaban suatu item dapat berupa alternatif, sehingga informasi mengenai item tersebut diperjelas.

5. Reliabilitas pengukuran bisa diperoleh dengan jumlah item tersebut diperjelas.

6. Karena jangka responsi yang lebih besar membuat skala Likert dapat memberikan keterangan yang lebih jelas dan nyata tentang pendapatan atau sikap responden tentang isu yang dipertanyakan.

2.5.2 Kekurangan Skala Likert

Beberapa Kekurangan Skala Likert dalam riset berupa survei, antara lain : 1. Karena ukuran yang digunakan adalah ukuran ordinal, skala Likert hanya

dapat mengurutkan individu dalam skala, tetapi tidak dapat membandingkan berapa kali satu individu lebih baik dari individu yang lain.

2. Kadangkala total skor dari individu tidak memberikan arti yang jelas, karena banyak pola respons terhadap beberapa item akan memberikan skor yang sama. Adanya kelemahan di atas sebenarnya dapat dipikirkan sebagai error dari respons yang terjadi.

2.6 Eclipse

Eclipse adalah sebuah IDE (Integrated Development Environment) untuk mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform-independent). Berikut ini adalah sifat dari Eclipse [2]:

1. Multi-platform: Target sistem operasi Eclipse adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X.


(34)

2. Multi-language: Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipse mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya, seperti C/C++, Cobol, Python, Perl, PHP, dan lain sebagainya.

3. Multi-role: Selain sebagai IDE untuk pengembangan aplikasi, Eclipse pun bisa digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, test perangkat lunak, pengembangan web, dan lain sebagainya.

4. Eclipse pada saat ini merupakan salah satu IDE favorit dikarenakan gratis dan open source, yang berarti setiap orang boleh melihat kode pemrograman perangkat lunak ini. Selain itu, kelebihan dari Eclipse yang membuatnya popular adalah kemampuannya untuk dapat dikembangkan oleh pengguna dengan komponen yang dinamakan plug-in.

2.6.1 Arsitektur Eclipse

Sejak versi 3.0, Eclipse pada dasarnya merupakan sebuah kernel, yang mengangkat plug-in. Apa yang dapat digunakan di dalam Eclipse sebenarnya adalah fungsi dari plug-in yang sudah diinstal. Ini merupakan basis dari Eclipse yang dinamakan Rich Client Platform (RCP). Berikut ini adalah komponen yang membentuk RCP :

1. Core platform 2. OSGi

3. SWT (Standard Widget Toolkit) 4. JFace

5. Eclipse Workbench

Secara standar Eclipse selalu dilengkapi dengan JDT (Java Development Tools), plug-in yang membuat Eclipse kompatibel untuk mengembangkan program Java, dan PDE (Plug-in Development Environment) untuk mengembangkan plug-in baru. Eclipse beserta plug-in-nya diimplementasikan dalam bahasa pemrograman Java.

Konsep Eclipse adalah IDE yang terbuka (open), mudah diperluas (extensible) untuk apa saja, dan tidak untuk sesuatu yang spesifik. Jadi, Eclipse


(35)

tidak saja untuk mengembangkan program Java, akan tetapi dapat digunakan untuk berbagai macam keperluan, cukup dengan menginstal plug-in yang dibutuhkan. Apabila ingin mengembangkan program C/C++ terdapat plug-in CDT (C/C++ Development Tools). Selain itu, pengembangan secara visual bukan hal yang tidak mungkin oleh Eclipse, plug-in UML2 tersedia untuk membuat diagram UML. Dengan menggunakan PDE setiap orang bisa membuat plug-in sesuai dengan keinginannya [2].

2.6.2 Perkembangan Eclipse

Sejak tahun 2006, Eclipse Foundation mengkoordinasikan peluncuran Eclipse secara rutin dan simultan yang dikenal dengan nama Simultaneous Release. Setiap versi peluncuran terdiri dari Eclipse Platform dan juga sejumlah proyek yang terlibat dalam proyek Eclipse. Tujuan dari sistem ini adalah untuk menyediakan distribusi Eclipse dengan fitur-fitur dan versi yang terstandarisasi. Hal ini juga dimaksudkan untuk mempermudah deployment dan maintenance untuk sistem enterprise. Adapun versi Eclipse yang telah diluncurkan yaitu [2]: 1. Eclipse 3.0

2. Eclipse 3.1 3. Callisto 4. Europa 5. Ganymede 6. Galileo 7. Helios 8. Indigo 9. Juno 10. Kepler

2.7 Software Develpment Kit (SDK)

Software Development Kit (SDK) adalah suatu kit atau library dari bahasa pemrograman untuk pengembangan atau pembangunan suatu perangkat lunak dan biasanya SDK terdiri dari kumpulan tools yang dibutuhkan. Misalnya bahasa


(36)

pemrograman java, mempunyai SDK yang berisi suatu library yang dapat digunakan untuk membuat suatu aplikasi berbasis java [2].

2.8 Java Development Kit (JDK)

Java Development Kit (JDK) adalah sekumpulan perangkat lunak yang dapat kamu gunakan untuk mengembangkan perangkat lunak yang berbasis Java, Sedangkan JRE adalah sebuah implementasi dari Java Virtual Machine yang benar-benar digunakan untuk menjalankan program java.Biasanya, setiap JDK berisi satu atau lebih JRE dan berbagai alat pengembangan lain seperti sumber kompiler java, bundling, debuggers, development libraries dan lain sebagainya. Perbedaan JDK dengan SDK (Software Development Kit) yaitu JDK adalah sebuah SDK tetapi sebuah SDK tidak harus menjadi sebuah JDK [2].

2.9 Android Development Tools (ADT)

Android Development Tools (ADT) adalah plugin untuk Eclipse Intergrated Development Environment (IDE) yang dirancang untuk memberikan lingkungan yang terpadu di mana untuk membangun aplikasi Android.

ADT memperluas kemampuan Eclipse untuk membiarkan para developer lebih cepat dalam membuat proyek baru Android, membuat aplikasi UI, menambahkan komponen berdasarkan Android Framework API, debug aplikasi dalam pengunaan Android SDK, dan membuat file APK untuk mendistribusikan aplikasi.

Mengembangkan aplikasi di Eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai membuat aplikasi Android, karena banyak kemudahan-kemudahan sebagai tools yang terintegrasi seperti, custom XML editor, dan debug panel ouput. Selain itu ADT memberikan dorongan luar biasa dalam mengembangkan aplikasi Android [2].

2.10 Sensor Accelerometer

Accelerometer, seperti namanya, digunakan untuk mengukur percepatan. Percepatan didefinisikan sebagai laju perubahan kecepatan, sehingga dapat mengukur


(37)

seberapa cepat akselerasi pada perangkat berubah dalam arah tertentu. Dengan menggunakan accelerometer, anda dapat mendeteksi gerakan, laju perubahan dari kecepatan gerakan yang terjadi pada perangkat. Sangat penting untuk dicatat bahwa

accelerometer tidak mengukur kecepatan, sehingga anda tidak bisa mengukur kecepatan secara langsung berdasarkan pembacaan accelerometer tunggal. Sebaliknya, anda perlu untuk mengukur perubahan dalam percepatan dari waktu ke waktu. Percepatan dapat diukur oleh tiga sumbu arah : forward-backward

(longitudinal), left-right (literal), dan up-down (vertical). Sensor manager melaporkan perubahan sensor di semua tiga sumbu arah. Seperti yang di ilustrasikan pada gambar 2-7 [5]:

Gambar 2.8 Accelerometer

1. Vertical (up-down), dimana arah positif (yAxis) berarti ke atas gerakan perangkat yang sedang di tinggikan dan sebaliknya adalah nilai negative (raw_yAxis).

2. Longitudinal (forward-backward), dimana gerakan kedepan yang menandakan percepatan positif (zAxis) dan gerakan kebelakang yang menandakan percepatan negative (raw_zAxis).

3. Sideways lateral (left-right), dimana gerakan kearah kanan dari perangkat yang mewakili nilai positif (xAxis) dan gerakan perangkat kea rah kiri yang mewakili nilai negative (raw_xAxis).


(38)

Sensor manager mempertimbangkan perangkat diam ketika menghadap ke atas pada permukaan yang datar dalam orientasi potret. Seperti dijelaskan sebelumnya, kita dapat memantau perubahan percepatan dengan menggunakan sensor listener.

Sensor Listener yang di buat harus menerapkan onSensorChanged method yang akan dipicu ketika perubahan terjadi dalam percepatan disepanjang salah satu dari tiga sumbu yang telah dijelaskan sebelumnya. onSensorChanged method menerima array float yang berisi nilai percepatan di ketiga sumbu dalam format baku. Sensor Manager mencakup konstanta indeks yang dapat kita gunakan untuk mengambil nilai percepatan yang dibutuhkan, seperti terlihat pada contoh potongan kode berikut [5]:

SensorListener mySensorListener = new SensorListener() { public void onSensorChanged(int sensor, float[] values) { if (sensor == SensorManager.SENSOR_ACCELEROMETER) { float xAxis = values[SensorManager.DATA_X];

float yAxis = values[SensorManager.DATA_Y]; float zAxis = values[SensorManager.DATA_Z];

float raw_xAxis = values[SensorManager.RAW_DATA_X]; float raw_yAxis = values[SensorManager.RAW_DATA_Y]; float raw_zAxis = values[SensorManager.RAW_DATA_Z]; // TODO apply the acceleration changes to your application. }

}

public void onAccuracyChanged(int sensor, int accuracy) { } }

2.11 Sensor Proximity

Sensor proximity adalah sebuah sensor yang bisa mendeteksi keberadaan benda tanpa kontak fisik. Sensor proximity memancarkan medan elektromagnetik atau sinar radiasi elektromagnetik (misalnya inframerah) dan mendeteksi


(39)

perubahan bidang dengan mengembalikan sinyal. Ada empat jenis teknologi sensor proximity, diantaranya [3]:

1. Electrical (Inductive dan Capacitive) 2. Optical (IR dan Laser)

3. Magnetic 4. Sonar

Dari beberapa jenis sensor proximity, jenis sensor proximity dengan tipe optical paling banyak digunakan pada android, karena jenis sensor proximity dengan tipe optical lebih murah dan lebih sederhana dibandingkan dengan jenis sensor yang lainnya. Sensor proximity pada ponsel android biasanya terdapat di depan ponsel, tepatnya diatas layar ponsel seperti pada gambar 2-8.

Gambar 2.9 Posisi Sensor Proximity Pada Perangkat Android

Sensor proximity memungkinkan untuk menentukan seberapa jauh suatu objek dari perangkat. Biasanya digunakan untuk mematikan layar saat pengguna membuat panggilan atau menerima panggilan telepon. Contoh kode berikut menunjukkan bagaimana mendapatkan sebuah instance dari sensor proximity standar.

private SensorManager mSensorManager; private Sensor mSensor;


(40)

(Context.SENSOR_SERVICE);

mSensor = mSensorManager.getDafaultSensor (Sensor.TYPE.PROXIMITY);

Kebanyakan sensor proximity mengembalikan jarak absolut dalam cm, tetapi beberapa sensor proximity juga hanya menentukan nilai dekat dan jauh. Kode berikut menunjukkan bagaimana menggunakan sensor proximity.

// Dapatkan sebuah instance dari layanan sensor, dan menggunakannya untuk mendapatkan instance dari sensor tertentu.

mSensorManager = (SensorManager)

getSystemService(Context.SENSOR_SERVICE);

mProximity = mSensorManager.getDefaultSensor(Sensor.TYPE_PROXIMITY); }

public final void onAccuracyChanged(Sensor sensor, int accuracy) {} public final void onSensorChanged(SensorEvent event) {

float distance = event.values[0];

// Lakukan sesuatu dengan data sensor ini. }

protected void onResume() { // Daftarkan listener untuk sensor super.onResume();

mSensorManager.registerListener(this, mProximity, SensorManager.SENSOR_DELAY_NORMAL); }


(41)

(42)

31

Analisis dan perancangan sistem memerlukan tahapan yang sistematis untuk mendapatkan aplikasi yang baik dan bersesuaian dengan kegunaan dan tujuannya. Tahap awal dari analisis adalah menganalisis kebutuhan-kebutuhan sistem mulai dari kebutuhan pengguna, kebutuhan non fungsional dan kebutuhan fungsional. Sedangkan untuk tahap perancangan aplikasi, yaitu tahap perancangan antarmuka.

3.1 Analisis Sistem

Analisis sistem dapat didefinisikan sebagai penguraian dari suatu sistem informasi yang utuh kedalam bagian-bagian komponennya, dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi, dan kebutuhan-kebutuhan yang diharapkan. Sehingga dapat sesuai dengan kebutuhan pada pembangunan aplikasi multimedia player iteraktif.

3.1.1 Analisis Masalah

Pada implementasinya aplikasi bawaan satndart ini masih terasa kurang praktis, karena aplikasi bawaan standart ini tidak dapat memutar video atau musik dalam satu aplikasi, selain itu aplikasi bawaan standart ini kurang interaktif jika dijalankan bersamaan dengan aktifitas lain karena pengguna harus fokus pada layar perangkat, contohnya seperti mendengarkan musik sambil berjalan kaki dan perangkat ada disaku celana pengguna harus mengeluarkan perangkat dan membuka kunci untuk mengkontrol aplikasi media player, selain itu pengguna akan kesulitan untuk menjalankan aplikasi media player bawaan standart bersamaan dengan kegiatan yang dapat mengotori layar atau harus mengalihkan pandangan ke layar perangkat, seperti makan, mengendari kendaraan roda empat, memasak, dll.

Maka dibutuhkan sebuah aplikasi media player yang dapat memutar musik dan video dalam satu aplikasi, juga aplikasi media player yang dikombinasikan


(43)

dengan teknologi sensor yang ada pada perngkat android agar menjadi aplikasi media player yang interaktif yang dapat dijalankan tanpa harus terlalu fokus pada layar perangkat dan juga dapat dijalankan tanpa harus menyentuh layar perangkat. 3.1.2 Analisis Sensor Proximity

Analisis sensor proximity mendeskripsikan kebutuhan sistem, pada bagian audio kebutuhan yang digunakan adalah dapat memulai dan meindahkan lagu, sedangkan pada bagian video kebutuhan yang digunakan adalah memulai dan memindahkan video.

3.1.2.1 Pengenalan Sensor Proximity

Dalam penelitian ini sensor proximity pada android akan menerima informasi keberadaan benda yang melintas di depan sensor. Pengujian ini dilakukan dengan memberikan indikator pada keluaran sensor. Sehingga pada saat sensor tidak mendeteksi benda, maka sistem tidak akan melakukan aktifitas proses. Pengujian ini dilakukan pada kondisi ruang dengan intensitas cahaya yang cukup. Berikut alur proses penggunaan sensor pada gambar 3.1 dan gambar 3.2.


(44)

start

String TAG = “AUDIO”

String TAG_PROXIMITY = “PROXIMITY” SensorManager = mSensorManeger Sensor = mProximity

Merubah default sensor ke sensor PROXIMITY

Memberikan pengaturan nilai jarak standar dari sensor pada

SensorEvent Menghubungkan mSensorManager ke

system service SensorManager

Pengaturan SensorEvent digabungkan dengan pengaturan tombol audio

If isPlaying then isPlaying = true setPlayingImage()

btnPlay.setImageResource(R.drawable.btn_pause) startService(new Intent(MusicService.ACTION_PLAY)) Else

isPlaying = true

setPlayingImage() app.setKeyTitleItem("")

startService(new Intent(MusicService.ACTION_SKIP))

end


(45)

start

String TAG = “VIDEO”

String TAG_PROXIMITY = “PROXIMITY” SensorManager = mSensorManeger Sensor = mProximity

Merubah default sensor ke sensor PROXIMITY

Memberikan pengaturan nilai jarak standar dari sensor pada

SensorEvent Menghubungkan mSensorManager ke

system service SensorManager

Pengaturan SensorEvent digabungkan dengan pengaturan tombol video if !isPlaying then

playVideo() isPlaying = true setPlayingImage() else

nextVideo() isPlaying = true setPlayingImage()

end

Gambar 3.2 Flowchart Penggunaan Sensor Proximity Pada Player Video

3.1.3 Analisis Sensor Accelerometer

Analisis sensor accelerometer mendeskripsikan kebutuhan sistem untuk dapat meindahkan lagu dengan sensor pada saat posisi perangkat didalam saku. Dalam penelitian ini sistem menggunakan sensor accelerometer pada perangkat android yang menerima informasi getaran (vibrasi) yang diukur dari percepatan tiga sumbu gerakan akibat gerakan benda yang melekat padanya.


(46)

3.1.3.1 Pengenalan Sensor Accelerometer

Dalam penelitian ini pengenalan sensor accelerometer dilakukan untuk mengetahui getaran (vibrasi) yang diukur dari percepatan tiga sumbu gerakan akibat gerakan benda yang melekat padanya pada saat sensor menerima informasi. Pengujian ini dilakukan dengan memberikan getaran pada perangkat. Sehingga pada saat sensor tidak mendeteksi getaran sistem tidak akan melakukan aktifitas proses. Pengujian ini dilakukan pada kondisi perangkat di dalam saku. Berikut alur proses penggunaan sensor pada gambar 3.3.


(47)

start

SensorManager mSensorManager Sensor mAccelerometer

private long lastUpdate = 0

private float last_x, last_y, last_z, x, y, z

Percepatan ke setiap sudut ß private static

final int SHAKE_THRESHOLD = 700

Menghubungkan mSensorManager ke system service SensorManager

Merubah default sensor ke sensor ACCE:EROMETER

Memberikan pengaturan sensor pada SensorEvent x = sensorEvent.values[0]

y = sensorEvent.values[1] z = sensorEvent.values[2] last_x = x

last_y = y last_z = z

Pengaturan SensorEvent digabungkan dengan pengaturan tombol audio

if speed > SHAKE_THRESHOLD then if !isPlaying then

isPlaying = true setPlayingImage()

btnPlay.setImageResource(R.drawable.btn_pause) startService(new Intent(MusicService.ACTION_PLAY)) setDisplayTitleAlbum()

else

isPlaying = true setPlayingImage() app.setKeyTitleItem("")

startService(new Intent(MusicService.ACTION_SKIP)) setDisplayTitleAlbum()

end


(48)

3.1.4 Analisis Kebutuhan Non Fungsional

Analisis kebutuhan non fungsional menggambarkan kebutuhan sistem yang menitikberatkan pada properti perilaku yang dimiliki oleh sistem, diantaranya kebutuhan pengguna, perangkat keras, serta perangkat lunak sebagai bahan analisiskekurangan dan kebutuhan yang harus dipenuhi dalam perancangan sistem yangakan diterapkan.

3.1.4.1 Analisis dan Kebutuhan Pengguna

Analisis pengguna sistem dimaksudkan untuk mengetahui siapa saja aktor yang terlibat dalam menjalankan sistem aplikasi Multimedia Player Interaktif ini. Berikut karakteristik pengguna sistem yang ditunjukan oleh Tabel 3.1.

Tabel 3.1 Karakteristik Pengguna Sistem Kategori

Pengguna Hak Akses Tingkat Keterampilan

Pengguna

Mengakses konten-konten Multimedia Player Interaktif melalui aplikasi

-Minimal dapat membuka aplikasi pada mobile android

3.1.4.2 Analisis dan Kebutuhan Perangkat Keras

Berikut ini adalah spesifikasi perangkat keras yang digunakan dalam pembangunan aplikasi Multimedia Player Interaktif dapat dilihat pada Tabel 3.2 berikut.

Tabel 3.2 Spesifikasi Perangkat Keras

Perangkat

No. Spesifikasi

1 Dimensi Layar 3,5 inches 2 Resolusi 480 x 800 pixels

3 Memori 2GB

4 RAM 512 MB


(49)

3.1.4.3 Analisis dan Kebutuhan Perangkat Lunak

Analisis perangkat lunak terdiri dari spesifikasi minimum perangkat yang dibutuhkan. Berikut ini adalah spesifikasi perangkat lunak yang digunakan dalam membangun dan mengimplementasikan aplikasi Multimedia Player Interaktif, seperti pada Tabel 3.3.

Tabel 3.3 Spesifikasi Perangkat Lunak

Komputer

No. Perangkat Lunak

1 Sistem Operasi Windows 7 32bit 2 Aplikasi IDE Eclipse Juno

3 JDK versi 1.7 dan Android SDK Windows 4 ADT versi 22.2

3.1.5 Analisis dan Kebutuhan Fungsional

Analisis kebutuhan fungsional menggambarkan proses kegiatan yang akan diterapkan dalam sebuah sistem dan menjelaskan kebutuhan yang diperlukan sistem agar sistem dapat berjalan dengan baik serta sesuai dengan kebutuhan.

Analisis kebutuhan fungsional ini meliputi analisis kebutuhan sistem, analisis kebutuhan data dan pemodelan sistem. Pemodelan sistem dimodelkan dengan menggunakan UML (Unified Modeling Language). Tahap-tahap pemodelan dalam analisis tersebut antara lainUse Case diagram, Class Diagram, Activity Diagram, dan SequenceDiagram.

3.1.5.1 Analisis Kebutuhan Sistem

Analisis kebutuhan sistem menjelaskan spesifikasi dari perangkat lunak yang dibutuhkan untuk menjalankan sistem agar sesuai dengan aplikasi yang akan dirancang serta sesuai dengan kebutuhan pengguna. Sebelum melakukan perancangan sistem, terlebih dahulu dilakukan analisis kebutuhan sistem dengan memperhatikan cara penyampaian informasi dalam aplikasi media player yang sudah ada pada perangkat android dan juga kelemahan media ini dalam menyampaikan informasi agar dapat diatasi dalam sistem yang akan dirancang. Adapun kebutuhan sistem yang diperlukan antara lain :


(50)

1. Menampilkan informasi pilihan player yang akan digunakan yaitu player audio dan player video.

2. Menampilkan informasi tampilan player audio dan player video yang terdapat tombol pengaturan didalamnya.

3. Menampilkan informasi file pada playlist audio dan playlist video yang akan diputar pada player audio atau player video yang terdapat dalam sistem.

4. Menampilkan informasi pengaturan sensor yang terdapat pada player audio dan player video.

3.1.5.2 Analisis Kebutuhan Data

Analisis kebutuhan data menggambarkan berbagai data yang digunakan pada aplikasi Multimedia Player Interaktif. Analisis ini bertujuan untuk memudahkan dalam perancangan informasi. Adapun data yang digunakan dalam merancang sistem aplikasi Multimedia Player Interaktif terlihat pada Tabel 3.4.

Tabel 3.4 Kebutuhan Data Aplikasi Multimedia Player Interaktif

No Nama Data Keterangan

1 Data file audio

Data ini berisi tentang format file audio, yang dapat dijalankan oleh aplikasi

2 Data file video Data ini berisi tentang format file video, yang dapat dijalankan oleh aplikasi

3.1.5.3 Pemodelan Sistem

A. Use Case Diagram

Pada diagram Use Case penulis mendeskripsikan apa yang akan dilakukan oleh sistem yang terdiri dari tiga bagian yaitu identifikasi aktor, identifikasi Use Case dan skenario Use Case seperti pada gambar 3.4.


(51)

Gambar 3.4 Use Case Diagram Aplikasi Multimedia Player Interaktif

1. Identifikasi Aktor

Dalam sistem ini terdapat satu aktor yaitu pengguna, berikut adalah penjelasannya

Tabel 3.5 Identifikasi Aktor

No. Aktor Definisi

1 Pengguna Merupakan aktor yang menggunakan aplikasi Multimedia Player Interaktif

2. Identifikasi Use Case

Terdapat 6 Use Case dalam aplikasi ini. Setiap Use Case menggambarkan operasi-operasi yang berbeda. Identifikasi Use Case yang terdapat dalam sistem dapat dilihat pada Tabel 3.6.

Tabel 3.6 Identifikasi Use Case

No. Use Case Deskripsi

1 Pilih player audio Fungsionalitas untuk menampilkan player audio dan memutar file audio

2 Pilih pengaturan

sensor

Fungsionalitas untuk menampilkan menu pengaturan sensor pada player audio

3 Pilih playlist audio Fungsionalitas untuk menampilkan playlist audio yang

System

Aktor

pilih player audio

pilih pengaturan sensor < < extend> >

pilih playlist audio < < extend> >

pilih player video

pilih playlist video < < extend> >


(52)

akan diputar pada player audio

4 Pilih player video Fungsionalitas untuk menampilkan player video dan memutar file video

5 Pilih playlist video Fungsionalitas menampilkan playlist video yang akan diputar pada player video

6 Pilih help Fungsionalitas menampilakan cara pengaktifan sensor pada player

3. Skenario Use Case

Tabel 3.7 Skenario Use Case Pilih player audio

Identifikasi

Nomor 1

Nama Pilih player audio

Tujuan Menampilkan player audio dan memutar file audio Deskripsi Pengguna menampilkan dan mengkontrol player audio

Aktor Pengguna

Skenario Utama

Kondisi Awal Aplikasi menampilkan list menu awal

Aksi Aktor Reaksi Sistem

1. Memilih audio

2. Menampilkan player audio yang ada pada system dan mengaktifkan sensor proximity sebagai default sensor

3. Mengkontrol player audio

Kondisi Akhir Pengguna mengkontrol player audio

Tabel 3.8 Skenario Use Case Pilih pengaturan sensor

Identifikasi

Nomor 2

Nama Pilih pengaturan sensor

Tujuan Menampilkan menu pengaturan sensor pada player audio

Deskripsi Pengguna menampilkan pengaturan sensor pada option menu untuk mengkontrol player audio


(53)

Aktor Pengguna

Skenario Utama

Kondisi Awal Aplikasi menampilkan player audio

Aksi Aktor Reaksi Sistem

1. Memilih option menu untuk pengaturan sensor

2. Menampilkan pilihan sensor 3. Memilih sensor yang akan

digunakan

4. Mengaktifkan sensor yang dipilih 5. Mengkontrol player audio dengan

menggunakan sensor

Kondisi Akhir Pengguna mengkontrol player audio dengan menggunakan sensor

Tabel 3.9 Skenario Use Case Pilih playlist audio

Identifikasi

Nomor 3

Nama Pilih playlist audio

Tujuan Menampilkan playlist audio yang akan diputar pada player audio Deskripsi Pengguna menampilkan playlist audio dan memilih file audio yang

akan diputar pada player audio

Aktor Pengguna

Skenario Utama

Kondisi Awal Aplikasi menampilkan player audio

Aksi Aktor Reaksi Sistem

1. Memilih playlist audio

2. Menampilkan playlist audio 3. Memilih file audio yang akan diputar

4. Memutar file audio Kondisi Akhir File audio yang dipilih diputar


(54)

Tabel 3.10 Skenario Use Case Pilih player video

Identifikasi

Nomor 4

Nama Pilih player video

Tujuan Menampilkan player video dan memutar file video

Deskripsi Pengguna menampilkan player video dan memutar file video

Aktor Pengguna

Skenario Utama

Kondisi Awal Aplikasi menampilkan list menu awal

Aksi Aktor Reaksi Sistem

1. Memilih video

2. Menampilkan player video yang ada pada system dan mengaktifkan sensor proximity sebagai default sensor

3. Mengkontrol player video

Kondisi Akhir Pengguna mengkontrol player video

Tabel 3.11 Skenario Use Case Pilih playlist video

Identifikasi

Nomor 5

Nama Pilih playlist video

Tujuan Menampilkan playlist video yang akan diputar pada player video Deskripsi Pengguna menampilkan playlist video yang akan diputar pada player

video

Aktor Pengguna

Skenario Utama

Kondisi Awal Menampilkan player video

Aksi Aktor Reaksi Sistem

1. Memilih playlist video

2. Menampilkan playlist video 3. Memilih file video yang akan

diputar


(55)

Kondisi Akhir File video yang dipilih diputar

Tabel 3.12 Skenario Use Case Pilih help

Identifikasi

Nomor 6

Nama Pilih help

Tujuan Menampilkan help

Deskripsi Pengguna menampilkan help untuk penggunaan sensor pada player

Aktor Pengguna

Skenario Utama

Kondisi Awal Aplikasi menampilkan list menu awal

Aksi Aktor Reaksi Sistem

1. Memilih help

2. Menampilkan help 3. Membaca help

Kondisi Akhir Pengguna membaca help yang berisi cara penggunaan sensor pada player

B. Actifity Diagram

Pada Activity Diagram penulis memodelkan event-event yang terjadi didalam suatu Use Case dan digunakan untuk pemodelan aspek dinamis dari system karena merupakan bagian dari penggambaran sistem secara fungsional.


(56)

1. Activity Diagram Pilih Player Audio

Gambar 3.5 Activity Diagram Pilih Player Audio

Gambar 3.5 menampilkan aktifitas pilih player audio, pengguna akan memilih audio pada tampilan list menu awal lalu sistem akan menampilkan player audio dan mengaktifkan default sensor proximity, setelah itu pengguna dapat menjalankan player audio.

Pengguna Sistem

Pilih Audio Menampilkan Player audio Dan mengaktifkan default sensor proximity


(57)

2. Activity Diagram Pilih Pengaturan Sensor

Gambar 3.6 Activity Diagram Pilih Pengaturan Sensor

Gambar 3.6 menampilkan aktifitas pengaturan sensor pada player audio, pengguna akan memilih pengaturan sensor maka sistem akan menampilkan pilihan sensor yaitu accelerometer dan proximity, setelah itu pengguna dapat memilih sensor yang akan digunakan, dan selanjutnya sistem akan mengaktifkan sensor tersebut dengan catatan sensor yang dijalankan hanya salah satu dari keduanya.

Pengguna Sistem

Pilih option menu Menampilkan pilihan sensor

Accelerometer Proximity

Memilih sensor


(58)

3. Activity Diagram Pilih Playlist Audio

Gambar 3.7 Activity Diagram Pilih Playlist Audio

Gambar 3.7 menampilkan aktifitas pilih playlist audio, pengguna dapat memilih dan menjalankan file audio, setelah itu sistem akan memutar file audio yang telah dipilih.

Pengguna Sistem

Pilih playlist Audio

Menampilkan playlist Audio

Memilih file Audio

Memutar File Audio Menjalankan file Audio


(59)

4. Activity Diagram Pilih Player Video

Gambar 3.8 Activity Diagram Pilih Player Video

Gambar 3.8 menampilkan aktifitas pilih player video, pengguna memilih video pada tampilan pilih player lalu sistem akan menampilkan player video, lalu pengguna dapat menjalankan player.

Pengguna Sistem

Pilih Video Menampilkan Player video Dan mengaktifkan default sensor proximity


(60)

5. Activity Diagram Pilih Playlist Video

Gambar 3.9 Activity Diagram Pilih Playlist Video

Gambar 3.9 menampilkan aktifitas pilih playlist video, pengguna dapat memilih dan menjalankan file video, setelah itu maka sistem akan memutar file video yang telah dipilih.

Pengguna Sistem

Pilih playlist Video

Menampilkan playlist Video

Memilih file Video

Memutar File Video Menjalankan file Video


(61)

6. Activity Diagram Pilih Help

Gambar 3.10 Activity Diagram Pilih Help

Gambar 3.10 menampilkan aktifitas pilih help, pengguna dapat melihat bagaimana cara penggunaan sensor pada player.

C. Class Diagram

Pada Class Diagram penulis menggambarkan struktur dan hubungan antar objek-objek yang ada pada sistem. Struktur itu meliputi atribut-atribut dan metode-metode yang ada pada masing-masing kelas. Adapun gambaran Class Diagram dari aplikasi Multimedia Player Interaktif yang dibangun dapat dilihat pada gambar 3.11.

Pengguna Sistem

Pilih Help Menampilkan Help


(62)

Gambar 3.11 Class Diagram

MainAct ivit y + ctx + OnCreate() + onClick() Audio + TAG + TAG_PROXIMITY + TAG_ACCELEROMETER + mSensorManager + mProximity + mAccelerometer + ctx + btnPlaylist + btnStop + btnRecord + btnPrevious + btnPlay + btnNext + songProgressBar + songCurrentDurationLabel + songTotalDurationLabel + songTitleLabel + songAlbumLabel + isPlaying + checkFirst + checkBackPress + app + playListLayout + audioLayout + playListview + checkLooping + handler -lastPressedTime -PERIOD -lastUpdate -last_x -last_y -last_z -SHAKE_THRESHOLD + musicItems + mRetriever + onCreate() + setPlayingImage() + setDurationLabel() + stringForTime() + setTimerProgressSeekBar() + onClick() + setVisibility() + setDisplayTitleAlbum() + getAllSongs() + setOnItemClickListener() + onItemClick() + initiationPlaylist() + onSensorChanged() + onAccuracyChanged() + checkMovementSensorAccelometer() + clickButtonPlayBySensor() + onResume() + onPause() + onDestroy() + onBackPressed() + onCreateOptionsMenu() + onOptionsItemSelected() + onKeyDown() + onMusicRetrieverPrepared() PrepareMusicRet rieverTask + mRetriever + mListener + PrepareMusicRetrieverTask() + dolnBackground() + onPostExecute() MusicRet riever + TAG + mContentResolver + mItems + mRandom + MusicRetriever() + MusicRetriever() + prepare() + getContentResolver() + getRandomItem()

MusicI nt ent Receiver

+ onReceive() AppPreferences + KEY_ID + KEY_ARTIST + KEY_TITLE + KEY_ALBUM + KEY_DURATION + KEY_SENSOR + KEY_SONG_POSITION + KEY_SHARED_PREFS -_sharedPrefs -_prefsEditor + AppPreferences() + setKeyIdItem() + getKeyIdItem() + setKeyArtistItem() + getKeyArtistItem() + setKeyTitleItem() + getKeyTitleItem() + setKeyAlbumItem() + getKeyAlbumItem() + setKeyDurationItem() + getKeyDurationItem() + setKeySensor() + getKeySensor() + setKeySongPosition() + getKeySongPosition() MusicService + TAG + ACTION_TOGGLE_PLAYBACK + ACTION_PLAY + ACTION_PAUSE + ACTION_STOP + ACTION_SKIP + ACTION_REWIND + ACTION_URL + DUCK_VOLUME + mPlayer + mAudioFocusHelper + mState + mStartPlayingAfterRetrieve + mWhatToPlayAfterRetrieve + mSongTitle + mPauseReason + mAudioFocus + mIsStreaming + mWifeLock + NOTIFICATION_ID + mDummyAlbumArt + mRetriever + mMediaButtonReceiverComponent + mAudioManager + mNotificationManager + mNotification + app + oncreateMediaPlayerIfNeeded() + onCreate() + onStartCommand() + processTogglePlaybackRequest() + processPlayRequest() + processPauseRequest() + processRewindRequest() + processSkipRequest() + processStopRequest() + processStopRequest() + relaxResources() + giveUpAudioFocus() + configAndStartMediaPlayer() + prosessAddRequestIntent() + tryToGetAudioFocus() + playNextSongmanualUri() + setItemPlaying() + onCompletionplayer() + onPreparedplayer() + updateNotoficationtext() + setUpAsForground() + onError() + onGainedAudioFocus() + onLostAudioFocus() + onMusicRetrieverPrepared() + onDestroy() + onBind() + getMaxDurationMp() + getCurrentPositionMP() + setCurrentPositionMP() + seItemPlaying() MediaBut t onHelper

+ TAG + sMethodRegisterMediaButtonEventReceiver + sMethodUnregisterMediaButtonEventReceiver + registerMediaButtonEventReceiverCompat() + initializeStaticCompatMethod() + unregisterMediaButtonEventReceiverCompat() MusicFocusable + onGainedAudioFocus() + onLostAudioFocus() AudioFocusHelper + mAM + mFocusable + AudioFocusHelper() + requestFocus() + abandonFocus() + onAudioFocusChange() Video + TAG + TAG_PROXIMITY + mSensorManager + mProximity + ctx + videoPlayer + btnPrevious + btnPlay + btnNext + btnStop + btnPlaylist + app + playListLayout + videoLayout + playListview + isPlaying + checkFirst + checkBackPress + lastPressedTime + PERIOD + playItem + mItem + mRandom + onCreate() + scannerVideo() + getAllVideos() + playVideo() + nextVideo() + stopVideo() + onClick() + setVisibility() + getRandomItem() + onCreateOptionsMenu() + onOptionsItemSelected() + onBackPressed() + onResume() + onPause() + onDestroy() + onSensorChanged() + onAccuracyChanged() + setPlayingImage() + clickButtonPlayBySensor() + onKeyDown() + stringForTime() Help + checkBackPress + aboutLayout + onCreate() + onBackPressed() + onKeyDown()


(63)

Tabel 3.13 Daftar Class Diagram

No Nama Kelas Jenis Kelas

1 MainActivity Boundary

2 Audio Entity

3 Video Entity

4 Help Boundary

5 PrepareMusicRetrieverTask Control

6 MusicRetriever Control

7 MusicIntentReceiver Control

8 AppPreferences Control

9 MusicService Control

10 MediaButtonHelper Control

11 MusicFocusable Entity

12 AudioFocusHelper Control

D. Sequence Diagram

Pada Sequence Diagram penulis menggambaran interaksi antar masing-masing objek pada setiap Use Case dalam urutan waktu. Interaksi ini berupa pengiriman serangkaian data antar objek-objek yang saling berinteraksi.


(64)

1. Sequence Diagram Pilih Player Audio

Gambar 3.12 Sequence Diagram Pilih Player Audio pilih player audio

sd

alt

alt

: pengguna

Audio AppPref erences

1 : onClick()

t arget = bt nPlay I sPlaying = Act ion Pause

2 : set Visibilit y()

3 : set PlayingI mage()

4 : set PlayingI mage()

[ t arget = = bt nSt op]

t arget = bt nPrevious 5 : set PlayingI mage()

6 : set Ket Tit leI t em()

t arget = bt nNext

7 : set DisplayTit leAlbum()

8 : set KeyTit leI t em()

9 : set DisplayTit leAlbum() else = Act ion PLay

t arget = bt nPlaylist


(65)

2. Sequence Diagram Pilih Pengaturan Sensor

Gambar 3.13 Sequence Diagram Pilih Pengaturan Sensor

pilih pengat uran sensor sd

alt : pengguna

Audio AppPref erences

1 : onOpt ionsI t emSelect ed()

2 : set KeySensor() proximit y

acceleromet er

3 : set KeySensor()

4 : onOpt ionsI t emSelect ed()

5 : menjalankan sensor

it em. get I t emI d()= R. id. act ion_proximit y


(66)

3. Sequence Diagram Pilih Playlist Audio

Gambar 3.14 Sequence Diagram Pilih Playlist Audio

pilih playlist audio sd

Audio

: pengguna

1 : set OnI t emClickList ener()

2 : onI t emClick()


(67)

4. Sequance Diagram Pilih Player Video

Gambar 3.15 Sequance Diagram Pilih Player Video

pilih player video sd

alt

alt : pengguna

Video

1 : onClick()

Playing= R. id. bt nPlay 2 : set Visibilit y()

3 : playVideo()

4 : set PlayingI mage()

5 : previousVideo()

6 : st opVideo()

7 : next Video() Playlist = R. id. bt nPlaylist

8 : menjalankan player video else

isPlaying = f alse

Previous= R. id. bt nPrevious

St op= R. id. bt nSt op


(68)

5. Sequance Diagram Pilih Playlist Video

Gambar 3.16 Sequance Diagram Pilih Playlist Video

6. Sequance Diagram Pilih Help

Gambar 3.17 Sequance Diagram Pilih Help

masuk playlist video sd

: pengguna

Video

1 : set OnI t emClickList ener()

2 : onI t emClick()

3 : menjalankan f ile video

pilih help sd

: pengguna

Help

1 : onCreat e()

2 : set Cont ent View()


(69)

3.2 Perancangan Sistem

Perancangan sistem bertujuan untuk menspesifikasikan aspek-aspek teknik yang menjadi solusi dalam perencanaan. Pada tahap ini perancangan akan didefinisikan secara detail untuk mengatasi masalah-masalah yang lebih teknis, berkaitan dengan kegiatan implementasi seperti perancangan antarmuka.

3.2.1 Perancangan Arsitektur 3.2.1.1 Perancangan Struktur Menu

Perancangan struktur menu merupakan gambaran jalur pemakaian aplikasi. Perancangan struktur menu dari aplikasi Multimedia Player Interaktif dapat dilihat pada Gambar berikut 3.18.

Gambar 3.18 Struktur Menu Pengguna Aplikasi Multimedia Player Interaktif

3.2.1.2 Perancangan Grafis dan Antarmuka

Pada tahap perancangan desain bertujuan untuk mencari bentuk yang optimal dari aplikasi yang akan dibangun dengan pertimbangan faktor-faktor permasalahan dan kebutuhan yang ada pada sistem seperti yang telah ditetapkan pada tahap analisis. Dalam tahap ini upaya yang dilakukan yaitu dengan cara mengkombinasikan penggunaan teknologi perangkat keras dan perangkat lunak yang tepat sehingga diperoleh yang optimal dan mudah diimplementasikan. Perancangan grafis dan antarmuka terdiri dari satu bagian utama yaitu desain grafis dan antarmuka frontend application.

MainActivity

Audio Video

Playlist audio

Pengaturan sensor

Playlist video Help


(70)

M01

Nama Form : M01

Ukuran : Menyesuaikan

-klik tombol Audio untuk menampilkan player audio M02

-klik tombol Video untuk menampilkan player video M05

-klik tombol Help untuk menampilkan help M08

Multimedia Player Interaktif

Video Audio Logo

Help

1. Form M01 Halaman MainActivity Aplikasi Multimedia Player Interaktif


(1)

Player Interaktif ini sudah dapat memenuhi kebutuhan untuk memutar audio dan video.

3. Menurut anda, apakah aplikasi Multimedia Player Interaktif ini sudah dapat dikontrol tanpa harus mengotori layar?

A. Sangat Setuju D. Kurang Setuju B. Setuju E. Tidak Setuju C. Cukup Setuju

Tabel 4.12 Hasil Pengujian Kuesioner Soal Nomer 3

Pertanyaan No Keterangan Skala (N) Responden (R) N . R

3

1 Sangat Setuju 5 0 0

2 Setuju 4 4 16

3 Cukup Setuju 3 24 72

4 Kurang Setuju 2 2 4

5 Tidak Setuju 1 0 0

Jumlah 30 92

� = 92

150 100 = 63,33%

Berdasarkan jawaban responden terhadap pertanyaan ketiga, hasil persentase diperoleh 63,33%. Maka dapat disimpulkan bahwa sensor proximity pada aplikasi Multimedia Player Interaktif ini mempermudah dalam mengkontrol player.

4. Menurut anda, apakah aplikasi Multimedia Player Interaktif ini sudah dapat dikontrol pada saat layar mati?

A. Sangat Setuju D. Kurang Setuju B. Setuju E. Tidak Setuju C. Cukup Setuju

Tabel 4.13 Hasil Pengujian Kuesioner Soal Nomer 4

Pertanyaan No Keterangan Skala (N) Responden (R) N . R

4

1 Sangat Setuju 5 0 0

2 Setuju 4 0 0

3 Cukup Setuju 3 28 84

4 Kurang Setuju 2 2 4

5 Tidak Setuju 1 0 0


(2)

88

�= 88

150 100 = 58,67%

Berdasarkan jawaban responden terhadap pertanyaan keempat, hasil persentase diperoleh 58,67%. Maka dapat disimpulkan bahwa sensor accelerometer pada aplikasi Multimedia Player Interaktif ini cukup mempermudah dalam mengkontrol player.

5. Menurut anda, apakah aplikasi Multimedia Player Interaktif ini bermanfaat bagi anda?

A. Sangat Setuju D. Kurang Setuju B. Setuju E. Tidak Setuju C. Cukup Setuju

Tabel 4.14 Hasil Pengujian Kuesioner Soal Nomer 5

Pertanyaan No Keterangan Skala (N) Responden (R) N . R

5

1 Sangat Setuju 5 0 0

2 Setuju 4 0 0

3 Cukup Setuju 3 27 81

4 Kurang Setuju 2 3 6

5 Tidak Setuju 1 0 0

Jumlah 30 87

�= 87

150 100 = 58%

Berdasarkan jawaban responden terhadap pertanyaan kelima, hasil persentase diperoleh 58%. Maka dapat disimpulkan bahwa penerapan kedua teknologi sensor cukup optimal.

6. Menurut anda, apakah aplikasi Multimedia Player Interaktif ini sudah optimal pada pengimplementasiannya?

A.Sangat Setuju D. Kurang Setuju B.Setuju E. Tidak Setuju C.Cukup Setuju

Tabel 4.15 Hasil Pengujian Kuesioner Soal Nomer 6

Pertanyaan No Keterangan Skala (N) Responden (R) N . R

6

1 Sangat Setuju 5 0 0

2 Setuju 4 22 88


(3)

4 Kurang Setuju 2 0 0

5 Tidak Setuju 1 0 0

Jumlah 30 112

� =112

150 100 = 74,67%

Berdasarkan jawaban responden terhadap pertanyaan keenam, hasil persentase diperoleh 74,67%. Maka dapat disimpulkan aplikasi Multimedia Player Interaktif sudah dapat bermanfaat untuk digunakan.

7. Menurut anda, apakah aplikasi Multimedia Player Interaktif ini bisa dijadikan media alternatif dalam memutar file audio dan file video dengan cara yang interaktif?

A. Sangat Setuju D. Kurang Setuju B. Setuju E. Tidak Setuju C. Cukup Setuju

Tabel 4.16 Hasil Pengujian Kuesioner Soal Nomer 7

Pertanyaan No Keterangan Skala (N) Responden (R) N . R

7

1 Sangat Setuju 5 0 0

2 Setuju 4 16 60

3 Cukup Setuju 3 13 39

4 Kurang Setuju 2 1 2

5 Tidak Setuju 1 0 0

Jumlah 30 101

� =101

150 100 = 67,33%

Berdasarkan jawaban responden terhadap pertanyaan ketujuh, hasil persentase diperoleh 67,33%. Maka dapat disimpulkan bahwa aplikasi Multimedia Player Interaktif bisa dijadikan media alternatif yang mudah digunakan secara interaktif.

4.2.2.2Kesimpulan Pengujian Beta

Berdasarkan hasil persentase pengujian beta pengguna aplikasi mobile Multimedia Player Interaktif dapat ditarik kesimpulan bahwa pembanguna aplikasi Multimedia Player Interaktif ini sudah sesuai dengan tujuan, yaitu mudah digunakan (user friendly), bermanfaat dan bisa menjadi media altrenatif dalam memutar file audio dan file video dimanapun dan kapanpun secara interaktif.


(4)

(5)

91

BAB 5

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Kesimpulan dari penelitian yang berjudul : “Pembangunan Aplikasi Multimedia Player Interaktif Berbasis Android” adalah sebagai berikut :

1. Aplikasi media player yang dibangun dapat memutar audio dan video dalam satu aplikasi mejadi lebih praktis.

2. Aplikasi media player yang dikombinasikan dengan teknologi sensor accelerometer dan proximity dapat membantu aplikasi media player yang dibangun menjadi interaktif karena dapat dikontrol tanpa harus selalu fokus pada layar, dapat dikontrol tanpa menyentuh layar, dan dapat dikontrol dalam keadaan layar mati.

5.2 Saran

Aplikasi Multimedia Player Interaktif ini masih jauh dari kata sempurna dan masih memiliki banyak kekurangan. Untuk itu, perlu dilakukan pengembangan dan penyempurnaan lebih lanjut. Adapun saran agar aplikasi ini bisa berjalan dengan lebih optimal dan lebih menarik sebagai berikut :

1. Aplikasi hanya dapat berjalan pada satu platform yaitu android, sebaiknya aplikasi juga dikembangkan di sistem operasi untuk platform lainnya agar memperluas pengguna yang menggunakan aplikasi ini.

2. Teknologi sensor proximity dan accelerometer yang diterapkan pada sistem baru optimal pada saat mengkontrol tombol play dan next. Sebaiknya aplikasi menerapkan algoritma yang dapat mengoptimalkan semua tombol kontrol.

3. Tampilan aplikasi tidak mendukung tampilan landscape, hanya mendukung tampilan portrait, sehingga perlu dikembangkan auto rotation agar tampilannya menarik.

4. Dapat digunakan pada smartphone atau tablet dengan dimensi layar selain 3.5 inches.


(6)