• Tidak ada hasil yang ditemukan

PERANCANGAN APLIKASI PEMUTAR VIDEO BERBASIS ANDROID TUGAS AKHIR RISKY SEPTI ASNITA SIANTURI

N/A
N/A
Protected

Academic year: 2022

Membagikan "PERANCANGAN APLIKASI PEMUTAR VIDEO BERBASIS ANDROID TUGAS AKHIR RISKY SEPTI ASNITA SIANTURI"

Copied!
65
0
0

Teks penuh

(1)

BERBASIS ANDROID TUGAS AKHIR

RISKY SEPTI ASNITA SIANTURI 162406043

PROGRAM STUDI TEKNIK INFORMATIKA D3 FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA MEDAN

2019

(2)

PERANCANGAN APLIKASI PEMUTAR VIDEO BERBABASIS ANDROID

TUGAS AKHIR

Diajukan untuk melengkapi tugas dan memenuhi syarat memperoleh gelar Ahli Madya

RISKY SEPTI ASNITA SIANTURI 162406043

PROGRAM STUDI TEKNIK INFORMATIKA D3 FAKULTAS MATEMATIKA DAN ILMU PENGETAHUAN ALAM

UNIVERSITAS SUMATERA UTARA 2019

(3)
(4)
(5)

ABSTRAK

Teknologi informasi sudah berkembang dengan cepat, hal itu ditandai dengan munculnya beragam alat komunikasi salah satunya adalah ponsel pintar. Ponsel pintar pada zaman ini sudah digunakan semua kalangan karna penggunaan ponsel menjadi kebutuhan yang tidak bias lepas dari kegiatan sehari hari. Ponsel pintar menyediakan banyak sekali fasilitas baik itu untuk sebagai media komunikasi maupun sebagai media hiburan. Video adalah salah satu fasilitas yang disediakan ponsel pintar untuk merekam, memproses dan mentransmisikan kembali gambar yang bergerak, sehingga pengguna dapat menyimpan dan mengabadikan kejadian kejadian yang menurut pengguna itu penting. Dalam hal ini penulis membuat tugas akhir berjudul Aplikasi Pemutar video Berbasis Android. Tujuannya adalah untuk menyediakan fasilitas kepada orang-orang untuk melihat video di ponsel android mereka.

Kata kunci : Aplikasi, Aplikasi Android, Aplikasi Pemutar video, Pemutar video untuk Android

(6)

DESIGNING AN ANDROID-BASED VIDEO PLAYER APPLICATION

ABSTRACT

Information technology has developed rapidly, it is characterized by the emergence of a variety of communication devices, one of which is a smart phone.

Smartphones at this time have been used by all people because the use of cellphones is an unbiased need to be separated from daily activities. Smart phones provide a lot of good facilities for communication and entertainment media. Video is one of the facilities provided by smart phones to record, process and retransmit moving images, so users can save and capture events that according to the user is important. In this case the author made a final project titled Video Player Application Based on Android. The aim is to provide facilities for people to view videos on their Android phones.

Keywords: Application, Android Application, Video Player Application, Video Player for Android

(7)
(8)

DAFTAR ISI

Halaman PERNYATAAN

PENGESAHAN TUGAS AKHIR i

ABSTRAK ii

ABSTRACT iii

PENGHARGAAN iv

DAFTAR ISI v

DAFTAR GAMBAR vii

DAFTAR LAMPIRAN viii

BAB 1 PENDAHULUAN

1.1 Latar Belakang 1

1.2 Rumusan Masalah 2

1.3 Batasan Masalah 2

1.4 Tujuan Penelitian 2

1.5 Manfaat Penelitian 2

1.6 Metodolodi Penelitian 3

1.7 Sistematika Penulisan 3

BAB 2 LANDASAN TEORI

2.1 Android 5

2.1.1 Sejarah Android 5

2.1.2 Komponen Aplikasi Android 6

2.1.3 Platform Android 7

2.1.4 Perkembangan Android 7

2.1.5 Kelemahan dan Kelebihan Android 10

2.2 JAVA 11

2.3 XML 13

2.4 Flowchart 14

2.5 DFD (Data Flow Diagram) 16

2.6 Use Case Diagram 17

BAB 3 METODE PENELITIAN, ANALISIS DAN PERANCANGAN SISTEM

3.1 Metode Penelitian 19

3.2 Analisis Sistem 20

3.3 Perancangan Sistem 21

(9)

BAB 4 HASIL DAN PEMBAHASAN

4.1 Pengertian Implementasi Sistem 27

4.2 Tujuan Implementasi Sistem 27

4.3 Implementasi Tampilan Antar Muka Aplikasi 28

BAB 5 KESIMPULAN DAN SARAN

5.1 Kesimpulan 32

5.2 Saran 32

DAFTAR PUSTAKA 33

LAMPIRAN

(10)

DAFTAR GAMBAR

Nomor Judul Halaman

Gambar

2.1 Simbol Flowchart 14

2.2 Simbol DFD 16

2.3 Aktor 18

2.4 KomponenUse Case 18

3.1 Flowchart Aplikasi 22

3.2 Use Case Diagram Aplikasi 23

3.3 TampilanSplashscreen 24

3.4 TampilanDaftar Menu 24

3.5 TampilanDaftar Video 25

3.6 Tampilan Menu Folder 26

3.7 TampilanPemutar Video 26

4.1 ImplementasiSplashscreen 28

4.2 ImplementasiDaftar Menu 29

4.3 Implementasi Menu Home 29

4.4 Implementasi Menu Folder 30

4.5 ImplementasiPemutar Video 31

(11)

Lampiran A : Listing Program

Lampiran B : Surat Keterangan Hasil Uji Program Tugas Akhir Mahasiswa Lampiran C : Kartu Bimbingan Tugas Akhir

(12)

BAB 1 PENDAHULUAN

1.1 Latar Belakang

Teknologi informasi dan komunikasi di dunia berkembang setiap waktu dan cukup pesat. Salah satu contohnya pada perkembangan teknologi perangkat mobile phone. Sebelumnya, mobile phone hanya difungsikan sebagai alat komunikasi suara dan alat pengiriman pesan saja, aplikasi yang dulunya hanya untuk perangkat komputer, sekarang ini sudah ada aplikasi untuk perangkat genggam seperti telepon selular.

Dengan semakin bertambahnya kebutuhan akan fitur-fitur baru untuk mobile phone, membuat para vendor mengembangkan teknologi-teknologi baru untuk setiap produk mereka. Terobosan baru pada mobile phone di tandai dengan munculnya suatu Sistem Operasi yaitu Android. Android merupakan platform perangkat lunak untuk piranti mobile phone yang di dukung oleh google OS. Android menggunakan versi modifikasi dari kernel Linux yang mampu didistribusikan secara terbuka (opensource). Salah Satu teknologi yang diaplikasikan ke perangkat mobile phone yaitu teknologi video, menghasilkan suara dan juga gambar yang dapat dilihat dan didengar oleh pengguna.

Aplikasi pemutar video adalah salah satu aplikasi yang membantu pengguna untuk mendapatkan informasi dan hiburan. Aplikasi pemutar video dibangun dengan pemograman java Android menggunakan software Android Development Tool (ADT) Bundle yang di dalamnya terdapat Android Studio sebagai editor bahasa pemograman java, ADT sebagai plugin untuk Android Studio, dan Software Development Kit (SDK) untuk kepentingan development aplikasi berbasis Android.

Oleh karena itu penulis ingin mencoba membuat aplikasi pemutar musik yang memiliki tampilan yang menarik dan mudah digunakan oleh pengguna.

(13)

1.2 Rumusan Masalah

Dalam pembuatan tugas akhir ini memiliki rumusan masalah dimana perumusan masalah ini sesuai dengan latar belakang di atas. Adapun bentuk dari perumusan masalah tersebut, yaitu:

a. Bagaimana membangun aplikasi pemutar video yang menarik dan mudah digunakan oleh pengguna?

1.3 Batasan Masalah

Perancangan aplikasi pemutar video berbasis android. Aplikasi ini dibangun dan dikembangkan dengan berbagai pertimbangan ,seperti :

a. aplikasi pemutar video berbasis android b. aplikasi pemutar video bersifat offline

c. pembuatan aplikasi pemutar video menggunakan android studio menggunakan bahasa pemrograman java

1.4 Tujuan Penelitian

Adapun maksud dari tujuan penulisan tugas akhir ini adalah

a. Untuk merancang sebuah aplikasi yang dapat digunakan untuk memutar sebuah video.

b. Menghasilkan aplikasi yang dapat diganakan untuk memutar sebuah video. c. Mengembangkan mobile programming

1.5 Manfaat Penelitian

Adapun manfaat dari perancangan aplikasi ini adalah : a. Dapat dijalankan diandroid bersifat offline.

b. Membantu pengguna untuk memutar video.

c. Memberi hiburan dan pengetahuan bagi pengguna.

(14)

3

1.6 Metodologi Penelitian

Dalam menyusun tugas akhir ini penulis melakukan penerapan metode penelitian dalam memperoleh data-data yang dibutuhkan sehingga penyusunan tugas akhir ini dapat diselesaikan dengan baik.

Adapun metode penelitian yang dilakukan adalah sebagai berikut : 1. Pengumpulan Data

Pengumpulan data-data yang erat kaitannya dengan permasalahan yang terjadi diatas dengan cara membaca buku-buku, informasi online dan membaca bahan-bahan dari sumber lainnya.

2. Identifikasi Masalah

Identifikasi masalah dilakukan dengan melihat dari data yang sudah terkumpul dan penulis mengangkatnya kedalam sebuah solusi yang telah dijadikan judul.

3. Perancangan Aplikasi

Perancangan aplikasi yaitu merancang desain dan kode program yang akan digunakan pada Aplikasi Pemutar Video Berbasis Android

4. Pengujian

Menguji perancangan Aplikasi Pemutar Video Berbasis Android setelah aplikasinya terbentuk. Tahap ini dilakukan untuk mengetahui apakah sistem sudah berjalan dengan baik atau masih terdapat kesalahan/ error.

5. Penyusunan Laporan

Pada tahap ini dilakukan pembuatan laporan dari perancangan Aplikasi Pemutar Video Berbasis Android berupa tugas akhir.

1.7 Sistematika Penulisan

Agar dapat memberikan gambaran yang jelas pada penulisan Tugas Akhir ini, maka penulis membaginya dalam beberapa bab sebagai berikut :

(15)

BAB 1 : PENDAHULUAN

Menjelaskan mengenai latar belakang pemilihan judul skripsi, perumusan masalah, batasan masalah, tujuan penelitian, manfaat penelitian, metodologi, dan sistematika penulisan.

BAB 2 : LANDASAN TEORI

Bab ini menguraikan tentang teori-teori dasar dalam perancangan Aplikasi Pemutar Video.

BAB 3 : PERANCANGAN SISTEM

Pada bab ini penulis menguraikan tentang analisis dan perancangan sistem Perancangan aplikasi pemutar video berbasis android.

Aplikasi pemutar video berbasis android, meliputi perancangan layout dan gambaran aplikasi yang akan di buat sebagaimana aplikasi itu dijalankan.

BAB 4 : IMPLEMENTASI SISTEM

Bab ini menguraikan tentang bagaimana proses lanjutan dari perancangan aplikasi.

Menguraikan secara detail bagian implementasi sistem dan menyorot apakah implementasi sesuai dengan perancangan sistem.

BAB 5 : KESIMPULAN DAN SARAN

Bab ini menguraikan tentang kesimpulan dan saran yang dikutip oleh penulis selama proses pembangunan aplikasi.

(16)

BAB 2

LANDASAN TEORI

2.1 Android

Android merupakan system operasi untuk telepon seluler yang berbasis Linux. Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka sendiri untuk digunakan oleh bermacam macam peranti penggerak.

Android adalah sebuah sistem operasi untuk smartphone dan tablet. Dimana sistem operasi ini dapat diilustrasikan sebagai jembatan antara piranti dan penggunanya, sehingga pengguna bisa berinteraksi dengan device-nya dan menjalankan aplikasi aplikasi yang tersedia pada device. (Alfa, 2014).

Android menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi mereka. Awalnya, Google Inc. membeli Android Inc. yang merupakan pendatang baru untuk urusan peranti lunak smartphone. Kemudian, untuk mengembangkan Android dibentuklah Open Handset Alliance, sebuah konsorsium dari 34 perusahaan peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC, Intel, Motorola, Qualcomm, T -Mobile, dan Nvidia.

2.1.1 Sejarah Android

Onur Cinar (2012: 28) mengemukakan bahwa “Android Inc. was founded in Silicon Valley, California, in October 2003, with the idea of providing a mobile platform that is more aware of user’s location and preferences”. Perkembangan Android dimulai dengan berdirinya Android, Inc. pada Oktober 2003 dengan tujuan mobile device yang lebih pintar untuk menyaingi Symbian dan Windows Mobile yang populer pada saat itu dimana iPhone dan Blackberry belum dirilis. Pada tahun 2005, Android diakuisisi oleh Google.

Pengembangan terus dilanjutkan sampai Android versi beta diluncurkan pada tanggal 5 November 2007. Hingga saat ini tanggal 5 November diperingati sebagai

(17)

hari jadi Android. Seminggu setelahnya yaitu pada tanggal 12 November 2007 Android SDK (Software Development Kit) diluncurkan, sehingga pengguna dapat membuat dan mengembangkan aplikasi-aplikasi Android mereka sendiri (Satyaputra dan Aritonang, 2014: 5).

2.1.2 Komponen Aplikasi Android

Menurut Arif Akbarul Huda (2013: 4-5) komponen aplikasi merupakan bagian penting dari sebuah Android. Setiap komponen mempunyai fungsi yang berbeda, dan antara komponen satu dengan yang lainnya bersifat saling berhubungan. Berikut ini komponen aplikasi yang harus diketahui, yaitu:

1. Activities

Activity merupakan satu halaman antarmuka yang bisa digunakan oleh user untuk berinteraski dengan aplikasi. Biasanya dalam satu activity terdapat button, spinner, list view, edit text, dan sebagainya. Satu aplikasi dalam Android dapat terdiri atas lebih dari satu activity.

2. Services

Services merupakan komponen aplikasi yang dapat berjalan secara background, misalnya digunakan untuk memuat data dari server database. Selain itu, aplikasi pemutar musik atau radio juga memanfaatkan servis supaya aplikasinya bisa tetap berjalan meskipun pengguna melakukan aktivitas dengan aplikasi lain.

3. Contact Provider

Komponen ini digunakan untuk mengelola data sebuah aplikasi, misalnya kontak telepon. Siapapun bisa membuat aplikasi Android dan dapat mengakses kontak yang tersimpan pada sistem Android. Oleh karena itu, agar dapat mengakses kontak, user memerlukan komponen contact provider.

4. Broadcast Receiver.

Fungsi komponen ini sama seperti bahasa terjemahannya yaitu penerima pesan.

Kasus beterai lemah merupakan kasus yang sering dialami handphone Android.

(18)

7

Sistem Android dirancang untuk menyampaikan “pengumuman” secara otomatis jika baterai habis. Apabila aplikasi yang dibuat dilengkapi dengan komponen broadcast receiver, maka user dapat mengambil tindakan menyimpan kemudian menutup aplikasi atau tindakan yang lain.

2.1.3 Platform Android

Platform adalah teknologi yang digunakan sebagai dasar atas mana aplikasi lainnya, proses atau teknologi yang dibangun. Pada komputer pribadi, platform adalah perangkat lunak dasar atau komputer itu sendiri dan perangkat lunak atau sistem operasi yang mana perangkat lunak lainnya bisa berjalan. Android dipuji sebagai platform mobile pertama yang lengkap, terbuka, dan bebas. Para desainer dapat melakukan pendekatan yang komprehensif ketika mereka sedang mengembangkan platform android dalam membangun perangkat lunak dan memungkinkan untuk peluang pengembangan aplikasi. Platform android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk mengembangkan aplikasi yang menggunakan linux kernel 2.6 ini.

Android adalah aplikasi yang bebas untuk dikembangkan. Tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform android ini. Tidak ada biaya keanggotaan yang diperlukan. Tidak ada biaya pengujian, bahkan tidak ada kontrak yang diperlukan. Aplikasi untuk android dapat didistribusikan dan diperdagangkan dalam bentuk apapun.

2.1.4 Perkembangan Android

Berdasarkan perkembangan zaman maka sistem operasi android juga mengalami

perkembangan dari masa ke masa. Berikut adalah perkemabangan sistem operasi android:

1. Android 1.0 (2008)

Keyboard QWERTY model geser pada smartphone Android pertama, HTC Dream(Wikipedia),Sistem operasi ini bisa dibilang sebagai Android bayi yang

(19)

masih sangat sederhana. Pengguna diajak beradaptasi dengan peradaban baru dalam menjajal sebuah perangkat telekomunikasi mobile.

2. Android 1.5 Cupcake (2009)

Versi Cupcake, Google juga memperkenalkan SDK widget untuk developer pihak ketiga. Gunanya agar aplikasi pihak ketiga bisa memiliki widget sendiri layaknya aplikasi bawaan Google. Dua pembaruan signifikan pada Cupcake juga meliputi kemampuan perekaman video dengan kamera ponsel, serta kemampuan keyboard layar sentuh.

3. Android 1.6 Donut (2009)

Android Donut dapat digunakan untuk perangkat mobile dengan ukuran layar berapa saja. Android Donut juga memunculkan kolom pencarian pada antarmuka ponsel. Pengguna bisa mencari informasi di internet, file lokal, kontak, dan apa saja secara lebih cepat dengan kolom tersebut.

4. Android 2.0 Eclair (2009)

Android Eclair menjadi Android pertama yang menghadirkan layanan navigasi Google Maps. Sistem tersebut menjadi awal mula era GPS yang sekarang bukan cuma ada di ponsel, tapi juga di mobil-mobil modern. Eclair juga menjadi Android pertama yang mendukung HTML5 pada peramban sehingga bisa memutar video.

Kemampuan membuka layar alias unlock-screen dengan mekanisme menyapu atau swipe juga diperkenalkan pada Eclair.

5. Android 2.2 Froyo (2010)

Android Froyo memungkinkan lima panel layar depan alias home screen.

Sebelumnya, batas panel cuma sampai tiga saja. Froyo juga menambah pilihan keamanan penguncian bagi pengguna. Dari yang sebelumnya cuma penguncian pola (pattern lock), lalu dikembangkan sehingga dilengkapi dengan opsi penguncian Pin lock..

(20)

9

6. Android 2.3 Gingerbread (2010)

Android Gingerbread meluncurkan andoid yang dapat menggunakan kamera depan untuk membidik foto mandiri. Pada versi ini, pengguna juga bias melihat desain ulang antarmuka yang cukup signifikan. Selain itu, dari segi fungsi, Gingerbread memungkinkan pengguna mengetik keyboard virtual secara bersamaan atau multitouch. Kemampuan ini dipertahankan hingga sekarang dengan berbagai peningkatan kinerja.

7. Android 3.0 Honeycomb (2011)

Sistem operasi ini mendukung kemampuan tombol virtual untuk kembali ke menu home, back, dan menu, untuk pertama kalinya. Sasarannya pun lebih ke perangkat tablet daripada smartphone. Pada masa itu, memang pasar tablet sedang subur - suburnya.

8. Android 4.0 Ice Cream Sandwich (2011)

Android Ice Cream memiliki beberapa pembaruan fitur lainnya mencakup kemampuan membuka layar menggunakan wajah (face unlock), analisa penggunaan data internet, serta paket aplikasi bawaan dari vendor yang mencakup kalendar, mail, kalkulator, dan lainnya.

9. Android 4.1 Jelly Bean (2012)

Versi Android Jelly Bean memungkinkan pengguna menggulir (scroll) cepat home screen ke bawah untuk melihat kumpulan informasi penting, seperti agenda, email, dan laporan cuaca. Sebelumnya, pengguliran ke bawah cuma memperlihatkan notifikasi aplikasi.

10. Android 4.4 KitKat (2013)

Versi Android ini memberikan suasana yang segar dengan pembaruan antarmuka beraksen putih dan biru muda. Pada KitKat, Google menghadirkan perintah pencarian menggunakan suara atau disebut "Ok, Google". Fitur ini dirundung puji - pujian dari para pakar teknologi.

(21)

11. Android 5.0 Lollipop (2014)

Pembaruan yang sangat terlhat pada Lollipop tampak dari sisi desainnya yang diperhalus dan disesuaikan dengan zaman. Selain itu, fitur-fitur yang sudah hadir pada Android sebelumnya ditingkatkan, seperti gambar berformat RAW memungkinkan para ilustrator, fotografer, atau graphic designer menyimpan file dengan ukuran besar agar bisa diedit tanpa mengurangi kualitas.

12. Android 6.0 Marshmallow (2015)

Menu aplikasi pada Android Marshmallow benar-benar dibuat baru. Desainnya membuat pengguna merasa naik kelas dari versi sebelumnya karena lebih dinamis.

Selain itu, ada juga fitur memory manager yang memungkinkan pengguna mengecek penggunaan memori pada tiap aplikasi. Rentan waktu pengecekannya bisa disetel dari tiga jam yang lalu hingga 24 jam sebelumnya.

13. Android 7.0 Nougat (2016)

Nougat adalah versi Android termutakhir yang baru diperkenalkan pada ajang kumpul developer Google I/O, pertengahan 2016 ini. Beberapa lama setelahnya, Google menghadirkan Nougat secara resmi untuk publik. Pembaruan paling mendasar pada versi Nougat adalah kehadiran Google Assistant yang menggantikan Google Now. Asisten digital tersebut lebih bisa diandalkan untuk menjalankan sebagai fungsi. Fitur-fitur baru lainnya mencakup layar split-screen saat dipakai multitasking, serta fitur Doze yang telah dikenalkan di versi Android Marshmallow namun telah ditingkatkan. Android Nougat juga memiliki dukungan terhadap platform virtual reality terbaru Google.

2.1.5 Kelemahan dan Kelebihan Android

Kelemahan dan Kelebihan Android Android merupakan sistem operasi yang dirancang oleh salah satu pemilik situs terbesar di dunia. Tetapi tetap saja memiliki kekurangan dan kelebihan. Berikut adalah kelemahan dan kelebihan Android menurut Zuliana dan Irwan Padli

(22)

11

1. Kelebihan Android

a. Lengkap (complete platform): para pengembang dapat melakukan pendekatan yang komperhensif ketika sedang mengembangakan platform Android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools guna membangun software dan menjadikan peluang untuk para pengembang aplikasi.

b. Android bersifat terbuka (Open Source Platform): Android berbasis linux yang bersifat terbuka atau open source maka dapat dengan mudah untuk dikembangkan oleh siapa saja.

c. Free Platform: Android merupakan platform yang bebas untuk para pengembang. Tidak ada biaya untuk membayar lisensi atau biaya royalti.

Software Android sebagai platform yang lengkap, terbuka, dan bebas.

d. Sistem Operasi Merakyat. Ponsel Android tentu berbeda dengan Iphone Operating System (IOS) yang terbatas pada gadget dari Apple, maka Android punya banyak produsen, dengan gadget andalan masing masing mulai Evercross hingga Samsung dengan harga yang cukup terjangkau.

2. Kelemahan Android

a. Android selalu terhubung dengan internet. Handphone bersistem Android ini sangat memerlukan koneksi internet yang aktif.

b. Banyaknya iklan yang terpampang diatas atau bawah aplikasi. Walaupun tidak ada pengaruhnya dengan aplikasi yang sedang dipakai tetapi iklan ini sangat mengganggu.

c. Tidak hemat daya baterai

2.2 Java

Java adalah bahasa pemrograman berorientasi objek yang serbaguna. Bahasa ini menyediakan sejumlah perluasan yang mendukung pengembangan aplikasi GUI (antarmuka kepada pemakai yang berbentuk grafis). Bahasa pemrograman java dapat berjalan pada sembarang platform yang memiliki interpreter dan lingkungan runtime.

Walaupun java adalah bahasa penerjemah, program java harus dikompilasi

(23)

terlebih dulu. Kompiler java (javac) mengubah kode sumber program menjadi bytecode yang dapat dieksekusi dalam lingkungan runtime java.

Karakteristik Bahasa Pemrograman Java Berikut ini adalah karakteristik dari bahasa pemrograman java :

1. Pemrograman sederhana

Karakteristik utama dari java meliputi bahasa yang sederhana. Bahasa java merupakan bahasa sederhana yang masih cukup komprehensif untuk mengatasi berbagai macam pengembangan aplikasi perangkat lunak.

2. Berorientasi Objek

Beorientasi objek yaitu bahasa pemrograman yang berorientasikan kepada objek.

Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelaskelas atau objek-objek.

3. Familiar

Java termasuk bahasa yang familiar bagi mayoritas programmer di komputer, sebab bahasa java tampak seperti bahasa C dan C++, dimana sebagian besar programmer telah akrab dengan bahasa C dan C++.

4. Kuat

Java ditujukan untuk mengembangkan perangkat lunak yang kuat, handal, dan aman.

Bahasa java termasuk bahasa yang kuat karena bahasa java lebih teliti mendeteksi error dan java memiliki runtime exception handling untuk membantu mengatasi error.

5. Aman

Bahasa java termasuk bahasa pemrograman yang aman untuk lingkungan aplikasi berbasis jaringan.

6. Arsitektur Netral

Bahasa java merupakan bahasa yang memiliki arsitektur netral dikarenakan bahasa java bisa dieksekusi di berbagai perangkat lunak maupun berbagai platform dan sistem operasi.

7. Portable

Program java dapat digunakan di platform yang berbeda tanpa kompilasi ulang.

(24)

13

8. Kinerja Tinggi

Kinerja selalu menjadi pertimbangan. Java mencapai kinerja yang unggul dengan mengadopsi skema dimana eksekusi program dapat berjalan pada kecepatan penuh tanpa perlu memeriksa lingkungan runtime.

9. Interpreted, Threaded, and Dynamic

Java interpreter dapat menjalankan java bytecode langsung pada sembarang mesin.

Kemampuan multithreading java dapat digunakan untuk membangun aplikasi yang bisa melakukan beberapa pekerjaan atau aktivitas secara bersamaan.

2.3 XML

XML (Extensible Markup Language) adalah bahasa markup untuk keperluan umum yang disarankan oleh W3C untuk membuat dokumen markup keperluan pertukaran data antar sistem yang beraneka ragam XML merupakan kelanjutan dari HTML (HyperText Markup Language) yang merupakan bahasa standar untuk melacak Internet. XML didesain untuk mampu menyimpan data secara ringkas dan mudah diatur. Kata kunci utama XML adalah data (jamak dari datum) yang jika diolah bisa memberikan informasi.

XML menyediakan suatu cara terstandarisasi namun bisa dimodifikasi untuk menggambarkan isi dari dokumen. Dengan sendirinya, XML dapat digunakan untuk menggambarkan sembarang view database, tetapi dengan satu cara yang standar.

XML memiliki tiga tipe file :

1. XML, merupakan standar format dari struktur berkas (file) yang ada.

2. XSL, merupakan standar untuk memodifikasi data yang diimpor atau diekspor.

3. XSD, merupakan standar yang mendefinisikan struktur database dalam XML.

(25)

2.4 Flowchart

Flowchart merupakan bagan atau gambar yang memperlihatkan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol yang mana dari tiap-tiap simbol mewakili proses tertentu. Sedangkan hubungan antar-proses tadi digambarkan dengan garis-garis. Flowchart merupakan langkah awal pembuatan program. Setelah flowchart selesai disusun, selanjutnya pemrogram menerjemahkannya ke dalam bentuk program menggunakan bahasa pemrograman.

Berikut ini adalah simbol-simbol standar pada sebuah flowchart beserta fungsinya.

(26)

15

Gambar 2.1 Simbol Flowchart

(27)

2.5 Data Flow Diagram (DFD)

Data Flow Diagram adalah alat perancangan sistem yang berorientasi pada alur data dengan konsep dekomposisi yang dapat digunakan untuk penggambaran analisa maupun perancangan sistem yang mudah dikomunikasikan ke pengguna ataupun ke pembuat program. Didalam DFD terdapat tiga level, yaitu :

1. Diagram Konteks (DFD Level 0)

Diagram konteks menggambarkan satu lingkaran besar yang dapat mewakili seluruh proses yang terdapat dalam suatu sistem. Diagram konteks merupakan tingkatan tertinggi dalam Data Flow Diagram dan biasanya diberi penomoran nol. Semua entitas eksternal ditunjukkan dalam diagram konteks beserta dengan aliran-aliran data utama, baik dari dan menuju sistem.

2. Diagram Nol (DFD Level 1)

Diagram nol merupakan satu lingkaran besar yang mewakili lingkaran-lingkaran kecil yang ada pada diagram konteks. Dengan kata lain diagram nol merupakan pemecahan dari diagram konteks.

3. Diagram Rinci

Lebih rinci lagi, diagram rinci adalah diagram yang menguraikan proses proses yang terdapat di dalam diagram nol.

Gambar 2.2 Simbol DFD

(28)

17

Keterangan gambar:

1. Kotak persegi digunakan untuk menggambarkan suatu entitas eksternal yang dapat mengirim data atau menerima data dari sistem.

2. Tanda panah menunjukkan perpindahan data dari suatu titik ke titik lain dengan kepala tanda panah mengarah ke tujuan data.

3. Kotak dengan sudut membulat digunakan untuk menunjukkan adanya proses transformasi.

4. Penyimpanan data menandakan penyimpanan manual, seperti lemari fileatau sebuah file atau basis data terkomputerisasi. Karena penyimpanan data mewakili sebuah atau sesuatu, maka diberi nama dengan sebuah kata benda (Kenneth. E. Kendall dan Julie. E. Kendall, Jilid I, 2003:264).

2.6 Use Case Diagram

Use case diagram adalah gambaran graphical dari beberapa atau semua actor, use case dan interaksi diantaranya memperkenalkan suatu sistem. Use case merupakan sebuah teknik yang digunakan dalam pengembangan sebuah software atau sistem informasi untuk menangkap kebutuhan fungsional dari sistem yang bersangkutan, use case menjelaskan interaksi yang terjadi antara aktor   inisiator dari interaksi sistem itu sendiri dengan sistem yang ada, sebuah use case direpresentasikan dengan urutan langkah yang sederhana.

Perilaku sistem adalah bagaimana sistem beraksi dan bereaksi. Perilaku ini merupakan aktifitas sistem yang bisa dilihat dari luar dan bisa diuji.Perilaku sistem ini dicapture di dalam use case. Use case sendiri mendeskripsikan sistem, lingkungan sistem, serta hubungan antara sistem dengan lingkungannya.

Deskripsi dari sekumpulan aksi sekuensial yang ditampilkan sistem yang menghasilkan yang tampak dari nilai ke actor khusus. Use case digunakan untuk menyusun behavioral things dalam sebuah model. Use case direalisasikan dengan sebuah collaboration. Berikut ini adalah komponen dari use case :

(29)

1. Actor

Menggambarkan sesorang yang beriteraksi dengan sistem, di mana hanya bisa menginputkan informasi dan menerima indormasi dari sistem dan tidak memegang kendali pada use case. Dan biasa actor di gambarkan dengan stickman.

Gambar 2.3 Aktor

2. Use Case

Gambaran fungsional sistem yang akan di buat, agar pengguna lebih mengerti penggunaan system.

Use case

Gambar 2.4 komponen Use case

(30)

BAB 3

METODE PENELITIAN, ANALISIS DAN PERANCANGAN SISTEM

3.1 Metode Penelitian

langkah yang dimiliki dan dilakukan oleh peneliti dalam rangka untuk mengumpulkan informasi atau data serta melakukan investigasi pada data yang telah didapatkan tersebut. Metode penelitian memberikan gambaran rancangan penelitian yang meliputi antara lain: prosedur dan langkah-langkah yang harus ditempuh, waktu penelitian, sumber data, dan dengan langkah apa data-data tersebut diperoleh dan selanjutnya diolah dan dianalisis. Berikut adalah metode penelitian yang digunakan dalam pembuatan Aplikasi Pemutar Video Berbasis Android adalah sebagai berikut :

1. Pengumpulan Data/Informasi

Dalam pembuatan Aplikasi Pemutar Video Berbasis android membutuhkan data/informasi dari berbagai sumber. Data yang dikumpulkan mulai dari gambar video dan buku berisi informasi cara membuat aplikasi ini.

2. Analisis Sistem

Analisis sistem yang telah dilakukan untuk sistem aplikasi ini dengan melihat data data yang sudah terkumpul dari berbagai system aplikasi lain dan menjadikannya analisis yang akan diterapkan pada aplikasi ini.

3. Perancangan Aplikasi

Perancangan aplikasi dimulai dari merancang tampilan aplikasi yang menarik namun sederhana, sehinnga pengguna tertarik dan dapat menggunakan aplikasi ini dengan mudah. Kemudian diikuti dengan penulisan kode program, kode program yang dibuat harus terstruktur sehingga dapat berjalan dan menampilankan tampilan sesuai dengan yang kita inginkan.

(31)

4. Pengujian

Menguji perancangan Aplikasi Pemutar Video Berbasis Android setelah aplikasinya terbentuk. Tahap ini dilakukan untuk mengetahui apakah sistem sudah berjalan dengan baik atau masih terdapat kesalahan/ error.

5. Implementasi

Program yang telah dilakukan pengujian siap untuk dioprasikan. Artinya proses dari sistem Aplikasi Pemutar Video Berbasis Android telah terlaksana sesuai dengan rancangan yang dibentuk.

3.2 Analisis Sistem

Analisis sistem ialah penjabaran dari suatu sistem informasi yang utuh ke dalam berbagai bagian komponennya dengan maksud agar bisa mengidentifikasi dan mengevaluasi berbagai macam masalah atau hambatan yang timbul pada sistem sehingga nantinya bisa dilakukan penanggulangan, perbaikan dan juga pengembangan. Lalu orang yang atau kelompok yang melakukan perbaikan atau perancangan suatu sistem dinamakan dengan sistem analis. Sistem analis adalah orang atau kelompok yang melaksanakan pengembangan sistem. Sistem analis menekuni permasalah ataupun kebutuhan pada suatu sistem dan sistem analis juga merupakan orang yang bertanggung jawab atas terjadinya proses analisa ataupun perancangan pada sistem informasi.

Untuk analisis saat ini, sistem aplikasi menampilkan video dan suara pada saat diputar, tidak menampilkan genre dan album video tersebut. Adanya video pada aplikasi ini dikarenakan video telah disediakan oleh pembuat dan pengembang aplikasi. Analisis sistem ini bertujuan untuk mempermudah masyarakat untuk mendengarkan lagu dan menonton video yang disukai kapanpun dan dimanapun tanpa menggunakan jaringan internet (0ffline).

(32)

21

3.3 Perancangan Sistem

Perancangan sistem merupakan tahap selanjutnya setelah analisa sistem, mendapatkan gambaran dengan jelas tentang apa yang dikerjakan pada analisa sistem, maka dilanjutkan dengan memikirkan bagaimana membentuk sistem tersebut. Perancangan sistem adalah suatu fase dimana diperlukan suatu keahlian perancangan untuk elemen-elemen komputer yang akan mengunakan sistem yaitu pemilihan peralatan dan program komputer untuk sistem yang baru.

Pada aplikasi yang dibuat saat ini diawali dengan perancangan sistem terlebih dahulu. Perancangan sistem dimulai dengan membentuk sebuah flowchart sebagai bagan yang memperlihatkan urutan dan hubungan antar proses beserta indtruksi yang ada didalam aplikasi. Berikutnya dibentuk sebuah Data Flow Diagram (DFD) untuk mengkonseptualisasikan bagaimana data berpindah dalam organisasi, proses- proses atau transformasi dimana data-data melalui, dan apa saja keluarannya.

Setelah dibentuknya sebuah flowchart, selanjutnya adalah perancanngan Antar Muka Aplikasi. Pada saat membentuk perancangan antar muka, pembuatan objek- objek yang ada didalamnya adalah hal yang akan menjadi tampilan nyata dari aplikasi yang dibentuk mulai dari perancangan tampilan splashscreen, home dan menu menu lainnya.

3.4 Flowchart Aplikasi

Flowchart adalah gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Berikut ini adalah alur flowchart dari aplikasi Pemutar Video Berbasis Android :

(33)

Start

Play List

Video Player

Play Pause Speed Up Speed Down seek

End

Gambar 3.1 Flowchart Aplikasi

3.5 Use case Diagram Aplikasi

Use Case Diagram adalah gambaran graphical dari beberapa atau semua actor, use case, dan interaksi diantaranya yang memperkenalkan suatu sistem. Use case diagram tidak menjelaskan secara detil tentang penggunaan use case, tetapi hanya memberi gambaran singkat hubungan antara use case, aktor, dan sistem.

(34)

23

Memainkan Video

Menghentikan video

Memajukan video 10 detik

Memundurkan Video 10 detik

Gambar 3.2 Use Case Diagram Aplikasi

3.6 Perancangan Antar Muka

Merancang antarmuka merupakan bagian yang paling penting dari merancang sistem. Biasanya hal tersebut juga merupakan bagian yang paling sulit, karena dalam merancang antarmuka harus memenuhi tiga persyaratan: sebuah antarmuka harus sederhana, sebuah antarmuka harus lengkap, dan sebuah antarmuka harus memilki kinerja yang cepat.

Alasan utama mengapa antarmuka sulit untuk dirancang adalah karena setiap antarmuka adalah sebuah bahasa pemrograman yang kecil: antarmuka menjelaskan sekumpulan objek-objek dan operasi-operasi yang bisa digunakan untuk memanipulasi objek. Dalam proses pengembangan antarmuka, kita bisa atau mungkin saja tidak bisa memisahkannya dari seluruh proses pengembangan sebuah produk. Walaupun begitu, 23 focus dari dua proses tersebut sangatlah berbeda.

Dalam proses pengembangan antarmuka, focus haruslah terletak pada elemen-elemen antarmuka dan objek-objek yang pengguna lihat dan gunakan, dibandingkan dengan kemampuan sebuah program.

(35)

1. Perancangan antar muka tampilan Splashscreen

Perancangan aplikasi ini terdiri dari logo aplikasi dan bacgroud aplikasi.

Berikut tampilan antar muka tampilan Splashscreen :

Image View

Gambar 3.3 Tampilan Splashscreen

2. Perancangan antar muka pada daftar menu

Perancangan tampilan daftar menu yang terdiri dari menu home, menu folder dan menu exit. Berikut tampilan antar muka pada daftar menu.

Image view Text View

Button Button

Button

Gambar 3.4 Tampilan Daftar Menu

(36)

25

3. Perancangan antar muka tampilan menu Home

Perancangan tamilan daftar lagu berisi nama aplikasi, daftar video dan tombol untuk memutar video. Berikut adalah tampilam antar muka tampilan daftar video.

Menu Header Image

View

Button Button

Button Button

Button Button

Gambar 3.5 Tampilan Daftar Video

4. Perancangan antar muka tampilan daftar menu folder

Perancangan antar muka tampilan ini berisikan daftar nama folder video, yang nama folder video tersebut sesuai dengan yang tersimpan di smartphone. Berikut tampilan daftar menu folder.

(37)

Menu Header

Button

Button

Button

Button

Button

Button

Gambar 3.6 Tampilan Menu Folder

5. Perancangan antar muka tampilan pemutar video

Perancangan antar muka tampilan ini berisi video view sebagai penampil video, banyak button agar user dapat menjeda , memajukan dan memundurkan waktu video 10 detik. Terdapat seek bar untuk menunjukkan durasi lagu yang diputar.

Video View

Seek bar

Button Button Button

Seek Bar

Gambar 3.7 Tampilan Pemutar Video

(38)

BAB 4 IMPLEMENTASI

4.1 Pengertian Implementasi Sistem

Implementasi adalah tahap penerapan sistem yang dilakukan jika sistem disetujui termasuk program yang telah dibuat pada tahap perancangan sistem agar siap untuk dioperasikan. Implementasi yang telah sesuai harus diuji coba sehingga dapat diketahui kehandalan dari sistem yang ada telah sesuai dengan apa yang diinginkan.

Pada kesempatan ini saya akan membahas tahapan dalam melakukan implementasi sistem informasi. Ada lima tahap dalam implementasi sistem, yaitu membuat dan menguji basis data dan jaringan, membuat dan menguji program, memasang dan menguji sistem baru, serta mengirim sistem baru ke dalam sistem lama.

4.2 Tujuan Implementasi Sistem

Ada beberapa tujuan implementasi yaitu :

1. Menyelesaikan desain sistem yang ada dalam dokumen desain sistem yang disetujui, menyusun dokumen baru atau dokumen-dokumen yang diperbaiki.

2. Menulis, menguji dan mendokumentasikan program-program dan prosedur prosedur yang diperbaiki oleh desain sistem yang disetujui.

3. Memastikan bahwa user dapat mengoperasikan sistem baru.

4. Memperhitungkan bahwa sistem memenuhi permintaan user yaitu dengan menguji sistem secara menyeluruh.

5. Memastikan bahwa konversi sistem yang baru berjalan secara benar yaitu dengan merencanakan, mengontrol dan melakukan instalasi sistem baru secara benar.

(39)

4.3 Implementasi Tampilan Antar Muka Aplikasi

Pada tahapan implementasi ini merupakan tahapan pengimplementasian dari rancangan sistem yang telah dianalisis dalam perancangan sistem ke dalam bentuk pemrograman untuk menghasilkan suatu aplikasi yang dibuat berdasarkan kebutuhan. Adapun pembahasan implementasi adalah implementasi antar muka.

Berikut ini adalah beberapa tampilan interface dari aplikasi yang telah diimplementasikan.

1. Splashscreen

Halaman awal dari aplikasi yang berisi logo aplikasi.

Gambar 4.1 Implementasi Splashscreen

2. Daftar Menu

Setelah tampilan Splashscreen ada juga tampilan daftar menu pada aplikasi ini. Daftar menu dapat tampil jika menekan button yang terletak pada ujung sebelah kiri bagian atas.

(40)

29

Gambar 4.2 Implementasi Daftar Menu

3. Home

Menu home merupakan tampilan yang berisi kumpulan video yang ada pada smartphone,dan untuk memutar video dapat menekan video tersebut.

Gambar 4.3 Implementasi Menu Home

(41)

4. Menu Folder

Menu folder merupakan menu yang menampilkan daftar nama folder video yang berada pada smartphone. Pada menu ini dapat menemukan video secara rinci di folder mana video yang ingin diputar disimpan.

Gambar 4.4 Implementasi Menu Folder

(42)

31

5. Pemutar Video

Pada halaman ini terdapat video view yang menunjukkan video yang diputar.

Terdapat juga beberapa tombol yaitu Play dan Pause untuk menjeda dan memutar video, memajukan dan memundurkan waktu video 10 detik, serta seekbar untuk menunjukkan durasi lagu.

Gambar 4.5 Implementasi Pemutar Video

(43)

KESIMPULAN DAN SARAN

5.1 Kesimpulan

Berdasarkan hasil implementasi dan pengujian aplikasi pemutar video, penulis menarik kesimpulan salah satu contoh aplikasi multimedia yang dapat dibuat adalah untuk memutar video. Perancangan aplikasi pemutar video berbasis android berjalan dengan baik sesuai dengan kinerja penulis dan pembuat aplikasi.

5.2 Saran

Aplikasi pemutar video berbasis android diharapkan kedepannya dapat dikembangkan lagi dengan fitur fitur dan desain yang lebih menarik lagi. Dan dapat digunakan sebagai alternatif untuk memutar sebuah video.

(44)

DAFTAR PUSTAKA

Andri Kristanto,2008. Perancangan Sistem Informasi dan Aplikasinya. Gava Media:

Yogyakarta [19 juni 2019]

Anonim. Pengertian Android dan Fungsinya.

http://pemudaindonesiabaru.blogspot.com/2012/09/pengertian-android-dan- fungsinya.html . [20 mei 2019]

Anonim. Perkembangan Versi-Versi Android.

http://newbiedroid.blogspot.com/2012/10/perkembangan-versi-versi- android.html#more . [21 mei 2019]

Anonim. 2009. Documentation for Android SDK, Api 7, revision 1.

Arif Wicaksana. Pengertian Use Case.

https://medium.com/@arifwicaksanaa/pengertian-use-case-a7e576e1b6bf [11Juni 2019]

Arifianto, Teguh. (2011). Membuat Interface Aplikasi Android Lebih Keren dengan LWUIT. Yogyakarta: Andi Publisher [7 Juni 2019]

Hermawan S, Stephanus.2011. Mudah Membuat Aplikasi Android, penerbit Andi Andy

John, S, Dwi P. 2002. Just XML, penerbit Anderson

N. Safaat. Android:Pemrograman Aplikasi Mobile Smartphone Dan Tablet PC Berbasis Android. Bandung : Informatika, 2015.

(45)

1. Splashscreen.java

package com.imdvlpr.videoplayer;

import android.Manifest;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.os.Handler;

import android.support.v4.app.ActivityCompat;

import android.support.v7.app.AppCompatActivity;

import android.os.Bundle;

public class Splashscreen extends AppCompatActivity { private int loading=3000;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

requestForSpecificPermission();

setContentView(R.layout.activity_splashscreen);

new Handler().postDelayed(new Runnable() {

@Override

public void run() {

Intent home=new Intent(Splashscreen.this, MainActivity.class);

startActivity(home);

finish();

}

},loading);

}

private void requestForSpecificPermission() { ActivityCompat.requestPermissions(this, new String[]{Manifest.permission.READ_EXTERNAL_STORAGE, Manifest.permission.WRITE_EXTERNAL_STORAGE}, 1);

}

(46)

@Override

public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {

switch (requestCode) { case 1:

if (grantResults[0] ==

PackageManager.PERMISSION_GRANTED) { //granted

} else {

//not granted }

break;

default:

super.onRequestPermissionsResult(requestCode, permissions, grantResults);

} } }

2. Activity_splashscreen.xml

<?xml version="1.0" encoding="utf-8"?>

<RelativeLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:background="#242526"

tools:context=".Splashscreen">

<ImageView

android:id="@+id/imageView2"

android:layout_width="115dp"

android:layout_height="153dp"

android:layout_centerHorizontal="true"

android:layout_centerVertical="true"

app:srcCompat="@drawable/ic_logo" />

</RelativeLayout>

3. VideoListActivity.java

package com.imdvlpr.videoplayer;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

(47)

android.support.v7.app.ActionBarDrawerToggle; import android.view.MenuItem;

import android.support.design.widget.NavigationView;

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.AppCompatActivity;

import android.support.v7.widget.Toolbar; import android.widget.AdapterView; import

android.widget.ArrayAdapter;

import android.widget.ListView;

import com.imdvlpr.videoplayer.FileManager.FileManagerHelper;

import com.imdvlpr.videoplayer.VideoFile.VideoFile;

import

com.imdvlpr.videoplayer.VideoListActivityInflater.VideoListAdapt er;

import java.io.File;

import java.util.ArrayList;

public class VideoListActivity extends AppCompatActivity implements

NavigationView.OnNavigationItemSelectedListener { Context context;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_video_list);

Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

DrawerLayout drawer = findViewById(R.id.drawer_layout);

NavigationView navigationView = findViewById(R.id.nav_view);

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(

this, drawer, toolbar, R.string.navigation_drawer_open,

R.string.navigation_drawer_close);

drawer.addDrawerListener(toggle);

toggle.syncState();

navigationView.setNavigationItemSelectedListener(this);

context = this;

(48)

Bundle extras = getIntent().getExtras();

if(extras != null) {

File path = new File(extras.getString("file"));

FileManagerHelper fileManagerHelper = new FileManagerHelper(path);

ArrayList<File> fileList = fileManagerHelper.getVideos();

final ArrayList<VideoFile> videoFiles = new ArrayList<>();

for (File file : fileList) {

VideoFile videoFile = new VideoFile(file);

videoFiles.add(videoFile);

}

ListView _videoList = findViewById(R.id._videoList);

ArrayAdapter adapter = new VideoListAdapter(this, videoFiles);

_videoList.setAdapter(adapter);

_videoList.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?>

adapterView, View view, int i, long l) {

Intent intent = new Intent(context, VideoScreen.class);

String CurrentVideoPath = videoFiles.get(i).getFile().getAbsolutePath();

intent.putExtra("video", CurrentVideoPath);

context.startActivity(intent);

VideoListActivity.this.setTitle(CurrentVideoPath);

} });

} }

@Override

public void onBackPressed() {

DrawerLayout drawer = findViewById(R.id.drawer_layout);

if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START);

(49)

Intent(this,folderActivity.class);

startActivity(intent);

finish();

} }

@Override

public boolean onOptionsItemSelected(MenuItem item) { // Handle action bar item clicks here. The action bar will

// automatically handle clicks on the Home/Up button, so long

// as you specify a parent activity in AndroidManifest.xml.

int id = item.getItemId();

return super.onOptionsItemSelected(item);

}

@SuppressWarnings("StatementWithEmptyBody")

@Override

public boolean onNavigationItemSelected(MenuItem item) { // Handle navigation view item clicks here.

int id = item.getItemId();

if (id == R.id.nav_home) {

Intent home = new Intent(this, MainActivity.class);

startActivity(home);

finish();

} else if (id == R.id.nav_folder) { Intent folder = new Intent(this, folderActivity.class);

startActivity(folder);

finish();

} else if (id == R.id.nav_exit) { System.exit(1);

finish();

}

DrawerLayout drawer = findViewById(R.id.drawer_layout);

drawer.closeDrawer(GravityCompat.START);

return true;

} }

(50)

4. Activity_video_list.xml

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/drawer_layout"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true"

tools:openDrawer="start">

<include

layout="@layout/app_bar_video_list"

android:layout_width="match_parent"

android:layout_height="match_parent" />

<android.support.design.widget.NavigationView android:id="@+id/nav_view"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start"

android:fitsSystemWindows="true"

app:headerLayout="@layout/nav_header_main"

app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>

5. MainActivity.java

package com.imdvlpr.videoplayer;

import android.Manifest;

import android.app.ActionBar;

import android.content.Context;

import android.content.Intent;

import android.content.pm.PackageManager;

import android.database.Cursor; import android.graphics.Bitmap;

import android.net.Uri;

import android.os.Build;

import android.os.Bundle;

import android.provider.MediaStore; import android.renderscript.Allocation; import android.renderscript.Element; import android.renderscript.RenderScript; import android.renderscript.ScriptIntrinsicBlur;

(51)

import android.support.v4.view.GravityCompat;

import android.support.v7.app.ActionBarDrawerToggle;

import android.support.v7.widget.GridLayoutManager;

import android.support.v7.widget.RecyclerView;

import android.view.Menu;

import android.view.MenuItem;

import android.support.design.widget.NavigationView;

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.AppCompatActivity;

import android.support.v7.widget.Toolbar; import android.view.View;

import android.widget.ImageButton;

import android.widget.ListView;

import android.widget.Toast;

import com.imdvlpr.videoplayer.Adapter.VideoAdapter;

import com.imdvlpr.videoplayer.Model.VideoModel;

import com.miguelcatalan.materialsearchview.MaterialSearchView;

import java.io.File;

import java.util.ArrayList;

import java.util.List;

public class MainActivity extends AppCompatActivity implements

NavigationView.OnNavigationItemSelectedListener { File file;

RecyclerView recyclerView;

ListView lstView;

RecyclerView.LayoutManager recyclerviewLayoutManager;

MaterialSearchView searchView;

ArrayList<VideoModel> arrayListVideos;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main); Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

DrawerLayout drawer = findViewById(R.id.drawer_layout);

NavigationView navigationView = findViewById(R.id.nav_view);

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(

this, drawer, toolbar,

(52)

R.string.navigation_drawer_open, R.string.navigation_drawer_close);

drawer.addDrawerListener(toggle);

toggle.syncState();

navigationView.setNavigationItemSelectedListener(this);

init();

}

private void init() {

recyclerView =

(RecyclerView)findViewById(R.id.recyclerviewVideo);

recyclerviewLayoutManager = new

GridLayoutManager(getApplicationContext(),2);

recyclerView.setLayoutManager(recyclerviewLayoutManager);

arrayListVideos = new ArrayList<>();

fetchVideosFromGallery();

}

private void fetchVideosFromGallery() {

Uri uri;

Cursor cursor;

int column_index_data, column_index_folder_name, column_id, thum;

String absolutePathImage = null;

String absolutePathName = null;

String absolutePathId = null;

uri = MediaStore.Video.Media.EXTERNAL_CONTENT_URI;

String[] projection = {MediaStore.MediaColumns.DATA, MediaStore.Video.Media.BUCKET_DISPLAY_NAME,

MediaStore.Video.Media._ID, MediaStore.Video.Thumbnails.DATA};

String orderBy = MediaStore.Images.Media.DATE_TAKEN;

(53)

n,null,null,orderBy+ " DESC");

column_index_data =

cursor.getColumnIndexOrThrow(MediaStore.MediaColumns.DATA);

column_index_folder_name =

cursor.getColumnIndexOrThrow(MediaStore.Video.Media.BUCKET_DISPL AY_NAME);

column_id =

cursor.getColumnIndexOrThrow(MediaStore.Video.Media._ID);

thum =

cursor.getColumnIndexOrThrow(MediaStore.Video.Thumbnails.DATA);

while(cursor.moveToNext()) {

absolutePathImage = cursor.getString(column_index_data);

absolutePathName =

cursor.getString(column_index_folder_name);

absolutePathId = cursor.getString(column_id);

VideoModel videoModel = new VideoModel();

videoModel.setBoolean_selected(false);

videoModel.setStr_path(absolutePathImage);

videoModel.setStr_thumb(cursor.getString(thum));

videoModel.setStr_folder_name(absolutePathName);

videoModel.setStr_id(absolutePathId);

arrayListVideos.add(videoModel);

}

VideoAdapter videoAdapter = new

VideoAdapter(getApplicationContext(), arrayListVideos, MainActivity.this);

recyclerView.setAdapter(videoAdapter);

}

(54)

public File getFile() { return file;

}

public String getFileName(){

return file.getName();

}

@Override

public void onBackPressed() {

DrawerLayout drawer = findViewById(R.id.drawer_layout);

if (drawer.isDrawerOpen(GravityCompat.START)) { drawer.closeDrawer(GravityCompat.START);

} else {

System.exit(1);

finish();

} }

@SuppressWarnings("StatementWithEmptyBody")

@Override

public boolean onNavigationItemSelected(MenuItem item) { // Handle navigation view item clicks here.

int id = item.getItemId();

if (id == R.id.nav_home) {

Intent home = new Intent(this, MainActivity.class);

startActivity(home);

finish();

} else if (id == R.id.nav_folder) { Intent folder = new Intent(this, folderActivity.class);

startActivity(folder);

finish();

} else if (id == R.id.nav_exit) { System.exit(1);

}

DrawerLayout drawer = findViewById(R.id.drawer_layout);

drawer.closeDrawer(GravityCompat.START);

return true;

} }

(55)

<?xml version="1.0" encoding="utf-8"?>

<android.support.v4.widget.DrawerLayout

xmlns:android="http://schemas.android.com/apk/res/android"

xmlns:app="http://schemas.android.com/apk/res-auto"

xmlns:tools="http://schemas.android.com/tools"

android:id="@+id/drawer_layout"

android:layout_width="match_parent"

android:layout_height="match_parent"

android:fitsSystemWindows="true"

tools:openDrawer="start">

<include

layout="@layout/app_bar_main"

android:layout_width="match_parent"

android:layout_height="match_parent" />

<android.support.design.widget.NavigationView android:id="@+id/nav_view"

android:layout_width="wrap_content"

android:layout_height="match_parent"

android:layout_gravity="start"

android:fitsSystemWindows="true"

app:headerLayout="@layout/nav_header_main"

app:menu="@menu/activity_main_drawer" />

</android.support.v4.widget.DrawerLayout>

7. folderActivity.java

package com.imdvlpr.videoplayer;

import android.content.Context;

import android.content.Intent;

import android.os.Bundle;

import android.support.v4.view.GravityCompat; import android.support.v7.app.ActionBarDrawerToggle; import android.view.MenuItem;

import android.support.design.widget.NavigationView;

import android.support.v4.widget.DrawerLayout;

import android.support.v7.app.AppCompatActivity;

import android.support.v7.widget.Toolbar; import android.view.Menu; import android.view.View;

import android.widget.AdapterView;

import android.widget.ListAdapter;

(56)

import android.widget.ListView;

import com.imdvlpr.videoplayer.FileManager.FileManager;

import

com.imdvlpr.videoplayer.FolderActivityInfalter.DirListAdapter;

import com.imdvlpr.videoplayer.VideoFile.VideoFile;

import java.io.File;

import java.util.ArrayList;

public class folderActivity extends AppCompatActivity implements

NavigationView.OnNavigationItemSelectedListener { Context context;

@Override

protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState);

setContentView(R.layout.activity_folder);

Toolbar toolbar = findViewById(R.id.toolbar);

setSupportActionBar(toolbar);

DrawerLayout drawer = findViewById(R.id.drawer_layout);

NavigationView navigationView = findViewById(R.id.nav_view);

ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(

this, drawer, toolbar, R.string.navigation_drawer_open,

R.string.navigation_drawer_close);

drawer.addDrawerListener(toggle);

toggle.syncState();

navigationView.setNavigationItemSelectedListener(this);

context = this;

FileManager fileManager = new FileManager(this);

final ArrayList<File> videoDirs = fileManager.getVideoDirs();

final ArrayList<VideoFile> videoFiles = new ArrayList<>();

for(File file:videoDirs){

VideoFile videoFile = new VideoFile(file);

Gambar

Gambar 2.1 Simbol Flowchart
Diagram konteks menggambarkan satu lingkaran besar yang dapat mewakili seluruh  proses  yang  terdapat  dalam  suatu  sistem
Gambar 3.1 Flowchart Aplikasi
Gambar 3.2 Use Case Diagram Aplikasi
+7

Referensi

Garis besar

Dokumen terkait

Pengaruh bauran promosi yang terdiri dari periklanan (X1), promosi penjualan (X2), hubungan masyarakat (X3), penjualan pribadi (X4) dan pemasaran langsung (X5)

Untuk pemasangan repeater dan perencanaan IBC perlu dilakukan dimensioning secara kapasitas dan cakupan untuk menentukan jumlah antenna, dan disimulasikan dengan software RPS

a) Dapat digunakan untuk menangani risiko rantai pasok dan mengetahui sumber risiko dan dampak risiko yang ditimbulkannya. b) Model pengukuran risiko yang dihasilkan juga

penelitian yang telah dilakukan dapat dilihat bahwa Dinas Perindustrian dan Perdagangan Daerah Provinsi Sulawesi Utara telah melaksanakan belanja modal berdasarkan

74 belum mendapat pengaturan dalam system hukum pembuktian di Indonesia, karena sampai saat ini hukum pembuktian di Indonesia masih menggunakan ketentuan hukum yang lama (BW, HIR

typhi positif hanya 23% (12/52), jauh lebih rendah dari yang disebutkan dalam beberapa kepustakaan bahwa biakan darah yang diambil pada minggu pertama sakit dapat

Barthes mengungkapkan dalam Sobur (2009:63), bahwa struktur makna meliputi makna denotasi dan konotasi. Denotasi merupakan makna harfiah atau disebut juga makna

Pendekatan metakogniti dalam pembelajaran terdiri dari 3 aktivitas, yaitu (a) proses merencanakan, guru memberikan kesempatan kepada siswa untuk mengetahui apa yang