laporan final projek pemrograman mobile 2 aplikasi...

27
LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI RENTAL BARANG ZONA RENTALDisusun Oleh: Kelompok 4 16.11.0213 Elang Gusti Herlian Kusuma Sakti 16.11.0230 Niko Arif Puwo Santoso 16.11.0231 Satria Fachreza Akbar 16.11.0233 Sidiq Fathkul Mugni 16.11.0238 Mohamad Aziz Nasrulloh 16.11.0244 Yuli Cahyaningsih 16.11.0245 Mustofa Bayu Rahmat 16.11.0247 Rafli Firdausy Irawan 16.11.0254 Ahmad Fauzi 16.11.0256 Riko Aji Nugroho 16.11.0273 Laeli Nasikhatul Khasanah Kelas : TI 16 B PROGRAM STUDI TEKNIK INFORMATIKA SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM PURWOKERTO 2019

Upload: others

Post on 24-Jan-2021

53 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2

APLIKASI RENTAL BARANG

“ZONA RENTAL”

Disusun Oleh:

Kelompok 4

16.11.0213 Elang Gusti Herlian Kusuma Sakti

16.11.0230 Niko Arif Puwo Santoso

16.11.0231 Satria Fachreza Akbar

16.11.0233 Sidiq Fathkul Mugni

16.11.0238 Mohamad Aziz Nasrulloh

16.11.0244 Yuli Cahyaningsih

16.11.0245 Mustofa Bayu Rahmat

16.11.0247 Rafli Firdausy Irawan

16.11.0254 Ahmad Fauzi

16.11.0256 Riko Aji Nugroho

16.11.0273 Laeli Nasikhatul Khasanah

Kelas : TI 16 B

PROGRAM STUDI TEKNIK INFORMATIKA

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

AMIKOM PURWOKERTO

2019

Page 2: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

i

DAFTAR ISI

DAFTAR ISI ............................................................................................................................... i

Kata Pengantar ........................................................................................................................... ii

BAB I : PENDAHULUAN ........................................................................................................ 5

1.1 Latar Belakang ............................................................................................................ 5

1.2 Rumusan masalah ........................................................................................................ 5

1.3 Batasan masalah .......................................................................................................... 5

1.4 Tujuan Penelitian......................................................................................................... 6

1.5 Teknik yang digunakan dalam pembuatan aplikasi .................................................... 6

BAB II : LANDASAN TEORI .................................................................................................. 7

2.1 Android........................................................................................................................ 7

2.2 Android Studio ............................................................................................................ 7

2.3 User Interface (UI) ...................................................................................................... 8

2.4 Multi Ukuran layar ...................................................................................................... 8

2.5 Desain Responsive ...................................................................................................... 8

2.6 Accessing Phone Services ........................................................................................... 8

2.7 Firebase ....................................................................................................................... 8

2.8 Admob ......................................................................................................................... 9

BAB III : PEMBAHASAN ...................................................................................................... 10

3.1 Deskripsi Aplikasi ..................................................................................................... 10

3.2 Manfaat Aplikasi ....................................................................................................... 10

3.3 Fitur aplikasi Zona Rental ......................................................................................... 10

3.4 Alur Sistem Zona Rental ........................................................................................... 11

3.5 User Interface Aplikasi Zona Rental ......................................................................... 13

3.6 Source code penting aplikasi Zona Rental ................................................................ 19

BAB IV : KESIMPULAN ....................................................................................................... 27

4.1 Kesimpulan................................................................................................................ 27

4.2 Saran .......................................................................................................................... 27

DAFTAR PUSTAKA .............................................................................................................. 28

Page 3: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

ii

Kata Pengantar

Dengan nama Allah yang Maha Pengasih Maha Penyayang. Segala puji bagi

Allah SWT, Tuhan yang telah menolong hamba-Nya menyelesaikan laporan ini. Tanpa

pertolongan-Nya mungkin kami tidak sanggup menyelesaikannya dengan baik.

Kami Mengucapkan terimakasih kepada semua pihak yang terlibat dalam

pembuatan makalah ini.

Kami juga meminta maaf kepada pembaca jika masih terdapat kekurangan

dalam makalah ini, karena kami juga masih belajar dalam membuat laporan seperti ini.

Walaupun masih ada kekurangannya kami berharap laporan ini dapat

memberikan wawasan yang lebih luas kepada pembaca. Selanjutnya kami berharap

semoga makalah ini bermanfaat.

Purwokerto, 22 Januari 2019

Ketua Kelompok 4

Rafli Firdausy Irawan

Page 4: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

5

BAB I

PENDAHULUAN

1.1 Latar Belakang

Dalam era globalisasi dan teknologi dewasa ini, penggunaan smartphone

sebagai salah satu alat teknologi informasi sangat dibutuhkan keberadaannya hampir

disetiap aspek kehidupan. Penggunaan perangkat mobile sebagai perangkat pendukung

manajemen dan pengolahan data adalah sangat tepat dengan mempertimbangkan

kuantitas dan kualitas data, dengan demikian penggunaan perangkat mobile dalam

setiap informasi sangat mendukung sistem pengambilan keputusan. Dalam melakukan

penyewaan, biasanya seseorang yang ingin melihat-lihat barang sebelum menyewa,

maka harus datang langsung ke tempat rental tersebut, namun dengan adanya sistem

informasi melalui internet, pihak customer dapat memilih berbagai barang yang sesuai

dengan apa yang diinginkannya tanpa harus datang ke tempat rental tersebut. Atas dasar

itulah, kami ingi membuat aplikasi rental berbasis android (Zona Rental) untuk

membantu masyarakat dalam menyewa berbagai barang secara online agar lebih

efisien. Zona Rental merupakan aplikasi tempat sewa-menyewa berbagai macam

barang secara online. Jadi user bisa bertindak sebagai pihak penyewa ataupun customer.

Jika sebagai penyewa, aplikasi ini bisa dijadikan sebagai media untuk menyewa

berbagai produk yang disewakan secara online. Penyewa bisa mengupload gambar

produk yang disewakan dan melengkapi informasi produk seperti batas waktu

penyewaan, batas jumlah barang yang dapat disewa dan lain-lain. Jika sebagai

customer, aplikasi ini bisa dijadikan sebagai media untuk melihat-lihat dan memilih

produk yang ingin disewa sesuai kebutuhan. Customer bisa menentukan berapa lama

waktu sewa dan jumlah barang yang ingin disewa sesuai kebutuhan.

1.2 Rumusan masalah

Adapun rumusan masalah dalam tugas akhir ini adalah sebagai berikut:

a. Bagaimana aplikasi Zona Rental dapat memerikan solusi dalam kegiatan rental

merental ?

1.3 Batasan masalah

Agar dalam pengerjaan tugas akhir ini bisa terfokus maka ditentukan batasan

masalah diantaranya sebagai berikut :

Page 5: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

6

a. Program ini merupakan sebuah aplikasi tempat sewa-menyewa berbagai macam

barang secara online.

b. Aplikasi yang dirancang hanya berhubungan tentang penyewaan barang.

c. Aplikasi ini hanya sebagai media tempat sewa-menyewa barang secara online.

d. Aplikasi berjalan pada mobile device yang menggunakan sistem operasi android

minimal versi 4.4 KitKat

e. Aplikasi ini menggunakan Firebase realtime-database untuk databasenya.

1.4 Tujuan Penelitian

Dalam penelitian ini terdapat beberapa tujuan diantaranya adalah sebagai

berikut :

a. Dapat menganalisa kebutuhan sistem pada sebuah aplikasi rental barang pada

platform android.

b. Dapat mendesain user interface pada sebuah aplikasi rental barang yang user

friendly sehingga mudah dimengerti dan dipahami oleh user.

c. Melakukan pengujian terhadap aplikasi rental barang agar dapat mengetahui

kekurangan atau error pada aplikasi.

1.5 Teknik yang digunakan dalam pembuatan aplikasi

Dalam pembuatan aplikasi Zona Rental, pengembang menggunakan beberapa

Teknik yang telah di ajarkan pada proses kegiatan perkuliahan, yaitu :

a. Pertemuan 1 : Multi ukuran layout dan desain responsif

b. Pertemuan 2 : Read external storage

c. Pertemuan 6 : Accessing Phone Services ( Call )

d. Pertemuan 8 : Firebase

e. Access Kamera

f. Admob

Page 6: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

7

BAB II

LANDASAN TEORI

2.1 Android

Android merupakan sistem operasi yang digunakan untuk perangkat mobile

berbasis Linux. Pada awalnya sistem operasi ini dikembangkan oleh Android.Inc, yang

kemudian dibeli oleh Google pada tahun 2005. Android mengembangkan usaha pada

tahun 2007 dibentuklah Open Handset Alliance (OHA), sebuah konsorsium dari

beberapa perusahaan, yaitu Texas Instrument, Broadcom Corporation, Google, HTC,

Intel, LG, Marvell Technology Group, Motorola, Nvidia, Qualcom, Samsung

Electronics, Sprint Nextel, dan T-Mobile dengan tujuan untuk mengembangkan standar

terbuka untuk perangkat mobile Smartphone.

Pada tanggal 9 Desember 2008 , ada 14 anggota baru yang akan bergabung di

dalam proyek Android, termasuk Packet Video, ARM Holdings, Atheros

Communications, Asustek Computer INC, Garmin Ltd, Softbank, Sony Ericsson,

Toshiba Corp, dan VodaFone Group Plc (Hermawan, 2010).

2.2 Android Studio

Android Studio adalah sebuah IDE untuk Android Development yang

diperkenalkan google pada acara Google I/O 2013. Android Studio merupakan

pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu

IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi

Android.

Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur-

fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang

menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment.

Fitur-fitur lainnya adalah sebagai berikut :

a. Menggunakan Gradle-based build system yang fleksibel.

b. Bisa mem-build multiple APK .

c. Template support untuk Google Services dan berbagai macam tipe perangkat.

d. Layout editor yang lebih bagus.

e. Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi

dengan Google Cloud Messaging dan App Engine.

Page 7: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

8

f. Import library langsung dari Maven repository

2.3 User Interface (UI)

Menurut Wikipedia, user interface adalah sebuah desain yang digunakan

sebagai penghubung antara manusia sebagai pengguna dengan software pada perangkat

sehingga akan memudahkan pengoperasian dari perangkat tersebut. Mudahnya, UI

merupakan desain tampilan pada layar perangkat seperti yang dimiliki oleh

smartphone, tablet dan berbagai jenis perangkat lainnya. Atau sebagian orang awam

lebih mengenalnya sebagai tema.

2.4 Multi Ukuran layar

Semakin beragamnya ukuran layar pada prangkat Android, mulai dari 2 inch

sampai dengan 10 inch, dengan begitu banyak jenis ukuran layar yang berbeda, aplikasi

yang kita buat pun harus mendukung beberapa layar yang berbeda pula, untuk

menyesuaikan antarmuka pengguna aplikasi ke layar yang menampilkannya.

2.5 Desain Responsive

Untuk membuat aplikasi yang user friendly perlu mempertimbangkan aspek

responsive. Berikut beberapa aspek responsive berdasarkan referensi

2.6 Accessing Phone Services

Saat memulai panggilan telepon, ponsel akan mengeluarkan frekuensi khusus

dan menyambungkan ke BTS (Base Transceiver Station) terdekat. Provider akan

memindai BTS mana yang memiliki sinyal paling kuat, yang dapat melanjutkan

panggilan tersebut.

Setelah ditemukan BTS yang akan menerima sinyal tersebut, dan memverifikasi

apakah ponsel tersebut merupakan pelanggan yang valid dari BTS yang bersangkutan.

Kemudian, BTS akan mencari kanal yang tersedia untuk melanjutkan panggilan.

BTS akan memindai nomor ponsel yang dituju, lalu memverifikasinya. Dalam

proses ini, akan dicek apakah kedua nomor ponsel tersebut dapat menerima pesan suara.

Kemudian, akan dipindai BTS mana yang paling dekat dan kuat dengan ponsel yang

dituju agar dapat menerima panggilan.

2.7 Firebase

Firebase adalah peyedia layanan realtime database dan backend sebagai

layanan. Suatu aplikasi yang memungkinkan pengembang membuat API untuk

disinkronisasikan untuk client yang berbeda – beda dan disimpan pada cloud-nya

Page 8: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

9

Firebase. Firebase memiliki banyak library yang memungkinkan untuk

mengintegrasikan layanan ini dengan Android, IOS, Javacript, Java, Objective-C dan

Node.JS . Database Firebase juga bersifat bisa diakses lewat REST API. REST API

tersebut menggunakan protokol Server-Sent Event dengan membuat koneksi HTTP

untuk menerima push notification dari server. Pengembang menggunakan REST API

untuk post data yang selanjutnya Firebase client library yang sudah diterapkan pada

aplikasi yang dibangun yang akan mengambil data secara real- time.

Pengembang juga dapat menggunakan database ini untuk mengamankan data

menggunakan server Firebase dengan rules yang ada. Untuk hosting file Firebase

menyediakan hosting untuk static file dengan fasilitas CND dan SNL.

2.8 Admob

AdMob adalah layan Iklan dari Google khusus untuk aplikasi mobile. Anda bisa

menampilkan iklan di aplikasi android ataupun Game android. Jenis iklan di Admob

ada dua yaitu Banner dan Interstitial. Banner adalah iklan yang muncul dibagian bawah

atau atas sebuah aplikasi.

Page 9: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

10

BAB III

PEMBAHASAN

3.1 Deskripsi Aplikasi

Zona Rental merupakan aplikasi tempat sewa-menyewa berbagai macam

barang secara online. Jadi user bisa bertindak sebagai pihak penyewa ataupun customer.

Jika sebagai penyewa, aplikasi ini bisa dijadikan sebagai media untuk menyewa

berbagai produk yang disewakan secara online. Penyewa bisa mengupload gambar

produk yang disewakan dan melengkapi informasi produk seperti batas waktu

penyewaan, batas jumlah barang yang dapat disewa dan lainlain. Jika sebagai customer,

aplikasi ini bisa dijadikan sebgai media untuk melihatlihat dan memilih produk yang

ingin disewa sesuai kebutuhan. Pada aplikasi ini terdapat pilihan kategori seperti

produk elektronik, alat rumah tangga, alat olahraga dan lain-lain untuk mempermudah

customer dalam memilih produk yang dibutuhkan untuk disewa. Customer bisa

menentukan berapa lama waktu sewa dan jumlah barang yang ingin disewa sesuai

kebutuhan

3.2 Manfaat Aplikasi

Manfaat yang bisa didapat dari aplikasi “Zona Rental” ini antara lain sebagai

berikut:

a. Membantu pihak penyewa dalam menyewakan barang yang disewakan.

b. Mempermudah pengguna yang ingin menyewa barang yang diinginkan.

c. Menghemat waktu dan tenaga, karena pengguna tinggal membuka aplikasi ini

dismartphone mereka masing-masing dimanapun dan kapanpun tanpa harus

mendatangi langsung tempat perentalan.

d. Meningkatkan perekonomian masyarakat.

3.3 Fitur aplikasi Zona Rental

a. Pendaftaran

Pada aplikasi zona rental, pendaftaran sudah terintegrasi menggunakan

Firebase, sehingga tidak diragukan lagi untuk sisi keamananya. Selain itu

dengan menggunakan firebase sudah terdapat fitur validasi untuk password dan

emailnya , sehingga meminimalisir duplikasi akun.

Page 10: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

11

b. Login

Pada aplikasi zona rental fitur login juga sudah terintegrasi menggunakan

firebase. Sehinga ketika membuka aplikasi tidak perlu melakukan login berkali

kali.

c. Realtime

Karena menggunakan Firebase, aplikasi Zona Rental dapat di jalankan secara

realtime, jadi apabila ada proses yang masuk ke dalam database , maka saat itu

juga data segera di proses dan di tampilkan.

d. Dapat menjadi pihak pemilik barang dan perental barang

Aplikasi ini berjalan secara dua arah , yaitu dapat menjadi pihak pemilik

barang , dan pihak yang merental barang

e. Create Read Update Delete Barang rental

Pengguna dapat menambah, melihat, mengedit dan menghapus barang

miliknya sendiri

f. Edit Data

Fitur ini digunakan untuk mengedit data diri dan data Tempat Rental

g. Melihat Data Transaksi dan barang

Fitur ini untuk memonitoring transaksi dan data barang

3.4 Alur Sistem Zona Rental

Pengguna melakukan pendaftaran terlebih dahulu dengan cara mengisi form

pendaftaran apabila belum mempunyai akun Zona Rental. Setelah itu pengguna Login

dengan email dan password yang sudah di daftarkan. Kemudian pengguna dapat

melengkapi data diri dan data toko pada menu “Saya” kemudian klik ikon gear pada

pojok kanan atas dan pilih menu pengaturan, kemudian muncul halaman untuk

mengedit informasi akun dan toko. Jika pengguna ingin merentalkan barangnya maka

pergi ke menu “Saya” dan klik ikon keranjang pada pojok kiri atas, kemudian lengkapi

data data barang

Page 11: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

12

mulai dari foto, nama barang, harga barang, stok, deskripsi barang dan kategori

barang, setelah informasi barang sudah lengkap, klik tombol Rentalin Barang dan

barang masuk ke dalam database. Jika pengguna bertindak sebagai konsumen maka

pengguna pergi ke menu “Beranda” dan memilih barang yang diinginkan. Kemudian

pengguna klik barang yang diinginkan, maka akan muncul tampilan detail barang,

mulai dari gambar, harga, stok, deskripsi barang, dll. Jika masih ragu pengguna dapat

scroll ke bawah, maka terdapat informasi pemilik barang. Pengguna dapat mengetahui

posisi toko pada peta dengan cara mengeklik alamat pemilik barang, maka akan di

alihkan ke Google Maps, selain itu pengguna dapat bertanya secara langsung ke pemilik

barang via telephone, sms, maupun whatsapp dengan cara mengeklik nomer telephone

yang tersedia. Jika sudah yakin dengan barang yang ingin di rental maka klik tombol

“Rentalin Barang” kemudian akan di alihkan ke tampilan pengecekan persyaratan,

disini pengguna di minta menentukan apakah barangnya diambil sendiri atau di kirim

serta menyertakan jaminan untuk Rental barang, setelah semua sudah diisi, maka

tinggal klik tombol “Rental” dan menunggu persetujuan oleh pemilik barang. Untuk

mengetahui proses yang sedang ataupun yang sudah di lakukan, pengguna dapat masuk

ke menu “Transaksi”. di dalam menu ini terdapat 3 sub menu, yaitu Status Rental,

Barang Rental, dan Barangku. Status rental untuk mengetahui barang yang sedang kita

rental, Barang Rental untuk mengetahui dan menyetujui barang yang akan di rental oleh

orang lain, dan barangku untuk mengetahui data barang yang kita miliki

Page 12: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

13

3.5 User Interface Aplikasi Zona Rental

a. Tampilan Halaman Login

b. Tampilan Halaman Daftar

c. Tampilan Admob

Pada halaman login terdapat 2 form

pengisian untuk email dan password.

Untuk login isikan alamat email dan

password yang telah di daftarkan.

Pada halaman daftar tersedia form

untuk nama lengkap, email , jenis kelamin

dan password . untuk mendaftar semua

form harus diisi dengan lengkap. Setelah

diisi lengkap maka tinggal klik tombol

sign up , dan akun langsung dapat

digunakan. Untuk proses daftar sudah ada

validasi pada sisi firebase , sehingga tidak

mungkin duplikasi email pada sisi

database.

Page 13: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

14

d. Tampilan Halaman Beranda

Tampilan admob, akan muncul

ketika user berhasil login . admob yang

kami gunakan adalah tipe admob

interstisial. Untuk iklan yang tampil kami

masih memakai iklan untuk testing ,

karena kami sudah mencoba mendaftar

admob, akan tetapi iklan yang kami buat

belum di setujui.

Tampilan admob, akan muncul

ketika user berhasil login . admob yang

kami gunakan adalah tipe admob

interstisial. Untuk iklan yang tampil kami

masih memakai iklan untuk testing ,

karena kami sudah mencoba mendaftar

admob, akan tetapi iklan yang kami buat

belum di setujui.

Page 14: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

15

e. Tampilan Cari Barang

f. Tampilan halaman transaksi (Status perental)

Tampilan pada pencarian barang,

pada tampilan ini user mengetikan barang

yang ingin di cari , maka data yang di

maksud akan tampil pada daftar

Tampilan Status rental merupakan

status dari barang yang sedang kita rental,

disini pengguna hanya dapat melihat status

transasksinya saja , yang bisa merubah

status transaksinya adalah pemilik barang

yang sedang kita rental.

Page 15: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

16

g. Tampilan halaman transaksi (Pemilik barang)

h. Tampilan halaman transaksi (Pemilik barang : Edit Status)

Tampilan pemilik barang

merupakan tampilan untuk barang milik

pengguna yang sedang di rental oleh

pengguna lain

Ketika tombol edit status di klik

maka akan muncul tampilan pilih aksi. Hal

ini digunakan untuk mengubah status

barang kita yang sedang atau telah di rental

oleh orang lain

Page 16: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

17

i. Tampilan halaman transaksi (barangku)

j. Tampilan halaman saya

Pada menu barangku merupakan

etalase pengguna , yaitu daftar barang yang

sudah terdaftar pada aplikasi zona rental

Menu saya, merupakan halaman

untuk profil pribadi . pada halaman ini

terdapat informasi dari pengguna yang

sedang login, serta terdapat tombol

pengaturan logout dan tombol tambah

barang.

Page 17: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

18

k. Tampilan halaman pengaturan

l. Tampilan halaman rentalin barang

Menu halaman pengaturan

digunakan untuk merubah informasi data

diri dan data took serta foto profil dari

pengguna

Halaman rentalin barang

merupakan halaman yang digunakan untuk

menambahkan barang ke dalam etalase

dimana barangnya nanti akan tampil di

halaman beranda Bersama barang barang

dari pemilik barang lain.

Page 18: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

19

3.6 Source code penting aplikasi Zona Rental

a. Source code daftar

private void proses_daftar(){

if((TextUtils.isEmpty(et_email.getText().toString()))

|| (TextUtils.isEmpty(et_password.getText().toString()))

|| ((TextUtils.isEmpty(et_namaLengkap.getText().toString())))

|| (rb_jenisKelamin.getCheckedRadioButtonId() == -1)){

final AlertDialog.Builder builder;

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){

builder = new AlertDialog.Builder(getActivity(),

android.R.style.Theme_Material_Light_Dialog_Alert);

} else {

builder = new AlertDialog.Builder(getActivity());

}

builder.setTitle("Peringatan!")

.setMessage("Masih Ada data yaang belum diisi !")

.setPositiveButton("OK", new

DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

}

})

.show();

} else

if(!et_password.getText().toString().equals(et_password2.getText().toString(

))){

final AlertDialog.Builder builder;

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){

builder = new AlertDialog.Builder(getActivity(),

android.R.style.Theme_Material_Light_Dialog_Alert);

} else {

builder = new AlertDialog.Builder(getActivity());

}

builder.setTitle("Peringatan!")

.setMessage("Password Harus Sama !")

.setPositiveButton("OK", new

DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

et_password2.setError("Password Harus Sama");

}

})

.show();

} else {

//progressDialog

progressDialog = ProgressDialog.show(getActivity(),

"Tunggu Beberapa Saat",

"Proses Pendaftaran ...",

true);

firebaseAuth.createUserWithEmailAndPassword(et_email.getText().toString().tr

im(),

et_password.getText().toString())

.addOnCompleteListener(new OnCompleteListener<AuthResult>()

{

@Override

public void onComplete(@NonNull Task<AuthResult> task) {

progressDialog.dismiss();

if(task.isSuccessful()){

Page 19: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

20

//save into realtime cuk

String user_id =

firebaseAuth.getCurrentUser().getUid();

DatabaseReference current_user_db =

FirebaseDatabase.getInstance().getReference().child("Users").child(user_id);

String namaLengkap =

et_namaLengkap.getText().toString();

String jenisKelamin = (String) ((RadioButton)

getView().findViewById(rb_jenisKelamin.getCheckedRadioButtonId())).getText()

;

String noTelp = "-";

String tglLahir = "-";

String alamat = "-";

String imgURL = "-";

Map newPost = new HashMap();

newPost.put("namaLengkap", namaLengkap);

newPost.put("jenisKelamin", jenisKelamin);

newPost.put("noTelp", noTelp);

newPost.put("tglLahir", tglLahir);

newPost.put("alamat", alamat);

newPost.put("imgURL", imgURL);

current_user_db.setValue(newPost);

et_email.setText("");

et_password.setText("");

//pindah fragment

fragmentManager.beginTransaction()

.replace(R.id.auth_content, new

LoginFragment())

.commit();

} else {

make_toast("Pendaftaran Gagal : " +

task.getException().getMessage());

}

}

});

}

}

b. Source code login

if((TextUtils.isEmpty(et_email.getText().toString())) ||

(TextUtils.isEmpty(et_password.getText().toString()))){

final AlertDialog.Builder builder;

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP){

builder = new AlertDialog.Builder(getActivity(),

android.R.style.Theme_Material_Light_Dialog_Alert);

} else {

builder = new AlertDialog.Builder(getActivity());

}

builder.setTitle("Peringatan!")

.setMessage("username atau password masih Kosong!")

.setPositiveButton("OK", new DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface dialog, int which) {

Page 20: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

21

}

})

.show();

} else {

//progressDialog

progressDialog = ProgressDialog.show(getActivity(),

"Tunggu Beberapa Saat",

"Proses Login ...",

true);

firebaseAuth.signInWithEmailAndPassword(et_email.getText().toString(),

et_password.getText().toString())

.addOnCompleteListener(new OnCompleteListener<AuthResult>() {

@Override

public void onComplete(@NonNull Task<AuthResult> task) {

progressDialog.dismiss();

if(task.isSuccessful()){

Intent i = new Intent(getActivity(),

MainActivity.class);

startActivity(i);

getActivity().finish();

} else {

make_toast("Login gagal : " +

task.getException().getMessage());

}

}

});

}

c. Source code mengambil data dan menampilkan barang

databaseReference = FirebaseDatabase.getInstance().getReference("Barang");

databaseReference.addValueEventListener(new ValueEventListener() {

@Override

public void onDataChange(@NonNull DataSnapshot dataSnapshot) {

BarangModel barangModel = null;

ITEMLIST.clear();

for(DataSnapshot ds : dataSnapshot.getChildren()){

keyPemilikBarang = ds.getKey().toString();

for(DataSnapshot DS : ds.getChildren()){

barangModel = DS.getValue(BarangModel.class);

barangModel.setKeyPemilikBarang(keyPemilikBarang);

barangModel.setKey(DS.getKey().toString());

ITEMLIST.add(barangModel);

}

}

barangAdapter = new

com.dev.invinity.rentalyuk.Adapter.BarangAdapter(getActivity(), ITEMLIST);

recyclerView.setAdapter(barangAdapter);

// make_toast(String.valueOf(barangAdapter.getItemCount()));

}

@Override

public void onCancelled(@NonNull DatabaseError databaseError) {

}

});

Page 21: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

22

d. Source code search barang

e. et_searchBarang.setOnEditorActionListener(new TextView.OnEditorActionListener() {

@Override

public boolean onEditorAction(TextView v, int actionId, KeyEvent event)

{

if (actionId == EditorInfo.IME_ACTION_SEARCH) {

Toast.makeText(SearchActivity.this, "Searching...",

Toast.LENGTH_SHORT).show();

databaseReference =

FirebaseDatabase.getInstance().getReference("Barang");

databaseReference.addValueEventListener(new ValueEventListener()

{

@Override

public void onDataChange(@NonNull DataSnapshot dataSnapshot)

{

barangModel = null;

ITEMLIST.clear();

for(DataSnapshot ds : dataSnapshot.getChildren()){

keyPemilikBarang = ds.getKey();

databaseReferenceX =

databaseReference.child(Objects.requireNonNull(ds.getKey()));

Query X =

databaseReferenceX.orderByChild("namaBarang")

.startAt(et_searchBarang.getText().toString())

.endAt(et_searchBarang.getText().toString()+"\uf8ff"); // \uf8ff ~

X.addValueEventListener(new ValueEventListener() {

@Override

public void onDataChange(@NonNull DataSnapshot

dataSnapshot) {

for(DataSnapshot DS :

dataSnapshot.getChildren()){

barangModel =

DS.getValue(BarangModel.class);

barangModel.setKeyPemilikBarang(keyPemilikBarang);

barangModel.setKey(DS.getKey());

ITEMLIST.add(barangModel);

}

}

@Override

public void onCancelled(@NonNull DatabaseError

databaseError) {

}

});

}

barangAdapter = new

com.dev.invinity.rentalyuk.Adapter.BarangAdapter(SearchActivity.this,

ITEMLIST);

rv_kontenSearch.setAdapter(barangAdapter);

}

@Override

public void onCancelled(@NonNull DatabaseError

databaseError) {

}

});

return true;

}

return false;

Page 22: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

23

}

});

f. Source code menambahkan barang

private void rentalinBarang(){

if(TextUtils.isEmpty(et_namaBarang.getText().toString())

|| TextUtils.isEmpty(et_hargaBarang.getText().toString())

|| TextUtils.isEmpty(et_stokBarang.getText().toString())

|| TextUtils.isEmpty(et_deskripsiBarang.getText().toString())

|| img_barang.getDrawable() == null){

make_alertDialog("Peringatan!", "Masih Ada data yang Kosong !");

} else if (img_barang.getDrawable().getConstantState() ==

getResources().getDrawable(

R.drawable.noimage).getConstantState()){

make_alertDialog("Peringatan!", "Kamu belum memilih gambar !");

} else {

Bitmap bitmap = ((BitmapDrawable)

img_barang.getDrawable()).getBitmap();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);

byte[] data = baos.toByteArray();

final StorageReference ref =

storageReference.child(System.currentTimeMillis() + ".jpg");

UploadTask uploadTask = ref.putBytes(data);

progressDialog.setMessage("Loading ...");

progressDialog.setCancelable(false);

progressDialog.show();

Task<Uri> urlTask = uploadTask.continueWithTask(new

Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {

@Override

public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot>

task) throws Exception {

if (!task.isSuccessful()) {

throw task.getException();

}

return ref.getDownloadUrl();

}

}).addOnCompleteListener(new OnCompleteListener<Uri>() {

@Override

public void onComplete(@NonNull Task<Uri> task) {

if (task.isSuccessful()) {

downloadURL = task.getResult();

BarangRental barangRental = new BarangRental(

et_namaBarang.getText().toString(),

et_hargaBarang.getText().toString(),

et_stokBarang.getText().toString(),

et_deskripsiBarang.getText().toString(),

sp_kategoriBarang.getSelectedItem().toString(),

downloadURL.toString()

);

String uploadID = databaseReference.push().getKey();

databaseReference.child(uploadID).setValue(barangRental)

.addOnSuccessListener(new

OnSuccessListener<Void>() {

@Override

public void onSuccess(Void aVoid) {

Page 23: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

24

progressDialog.dismiss();

final AlertDialog.Builder builder;

if(Build.VERSION.SDK_INT >=

Build.VERSION_CODES.LOLLIPOP){

builder = new

AlertDialog.Builder(RentalinBarangActivity.this,

android.R.style.Theme_Material_Light_Dialog_Alert);

} else {

builder = new

AlertDialog.Builder(RentalinBarangActivity.this);

}

builder.setTitle("Info")

.setMessage("barang berhasil Di

Upload !")

.setPositiveButton("OK", new

DialogInterface.OnClickListener() {

@Override

public void

onClick(DialogInterface dialog, int which) {

Intent i = new

Intent(RentalinBarangActivity.this, MainActivity.class);

i.putExtra("pindahFragment", "fragmentSayaOverview");

startActivity(i);

finish();

}

})

.show();

}

});

}

}

}).addOnFailureListener(new OnFailureListener() {

@Override

public void onFailure(@NonNull Exception e) {

make_alertDialog("Peringatan", "Gagal mengirim data " +

e.getMessage().toString());

}

});

}

}

g. Source code update profile

private boolean updateBiodata(){

//update foto

Bitmap bitmap = ((BitmapDrawable)

img_fotoProfil.getDrawable()).getBitmap();

ByteArrayOutputStream baos = new ByteArrayOutputStream();

bitmap.compress(Bitmap.CompressFormat.JPEG, 100, baos);

byte[] dataFoto = baos.toByteArray();

final StorageReference ref = storageReference.child(userID +

".jpg");

UploadTask uploadTask = ref.putBytes(dataFoto);

progressDialog.setMessage("Proses update ...");

progressDialog.show();

Task<Uri> urlTask = uploadTask.continueWithTask(new

Continuation<UploadTask.TaskSnapshot, Task<Uri>>() {

@Override

public Task<Uri> then(@NonNull Task<UploadTask.TaskSnapshot>

Page 24: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

25

task) throws Exception {

if (!task.isSuccessful()) {

throw task.getException();

}

// Continue with the task to get the download URL

return ref.getDownloadUrl();

}

}).addOnCompleteListener(new OnCompleteListener<Uri>() {

@Override

public void onComplete(@NonNull Task<Uri> task) {

if (task.isSuccessful()) {

downloadURL = task.getResult();

//save Ke database

Users data = new Users(

etNama.getText().toString(),

etTelp.getText().toString(),

etTanggal_lahir.getText().toString(),

etAlamat.getText().toString(),

(String) ((RadioButton) getView().

findViewById(rb_jenisKelamin.getCheckedRadioButtonId()))

.getText()

.toString(),

downloadURL.toString()

);

databaseReference.setValue(data).addOnSuccessListener(new

OnSuccessListener<Void>() {

@Override

public void onSuccess(Void aVoid) {

progressDialog.dismiss();

final AlertDialog.Builder builder;

if(Build.VERSION.SDK_INT >=

Build.VERSION_CODES.LOLLIPOP){

builder = new

AlertDialog.Builder(getActivity(),

android.R.style.Theme_Material_Light_Dialog_Alert);

} else {

builder = new

AlertDialog.Builder(getActivity());

}

builder.setTitle("Informasi")

.setMessage("Data Berhasil Di Perbarui

!")

.setPositiveButton("OK", new

DialogInterface.OnClickListener() {

@Override

public void onClick(DialogInterface

dialog, int which) {

getActivity().getSupportFragmentManager()

.beginTransaction()

.replace(R.id.fragment_container, new SayaOverviewFragment())

.commit();

}

})

.show();

Page 25: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

26

}

});

}

}

}).addOnFailureListener(new OnFailureListener() {

@Override

public void onFailure(@NonNull Exception e) {

make_alertDialog("Peringatan!", "Gagal Upload Foto Profil");

}

});

return true;

}

Page 26: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

27

BAB IV

PENUTUP

4.1 Kesimpulan

Dari laporan proyek akhir ini maka dapat diambil kesimpulan bahwa :

a. Dengan adanya aplikasi ZONARENTAL pada android sebagai tempat sewa-

menyewa barang, diharapkan masyarakat umum akan lebih mudah dalam

melakukan kegiatan sewa-menyewa barang.

b. Dengan adanya aplikasi ZONARENTAL untuk menyewa barang maka

masyarakat umum akan menghemat waktu dan tenaga untuk sekedar melihat-

lihat barang yang ingin dirental, karena user tidak perlu lagi pergi ke tempat

perentalannya secara langsung.

4.2 Saran

Demi pengembangan karya pada proyek akhir ini, maka saran yang dapat

diberikan pada program aplikasi ini adalah :

a. Pada sisi aplikasi android, perlu ada penambahan fitur seperti chat pribadi antara

customer dengan perental, sistem pembayaran online, ulasan produk, dan lain-

lain untuk lebih membantu user dalam menggunakan aplikasi ini.

b. Pada server firebase harus ditambahkan autentikasi user dan admin agar privasi

data user dapat terjaga dengan baik.

Page 27: LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI …hirupmotekar.com/wp-content/uploads/2019/01/LAPORAN... · 2019. 1. 24. · LAPORAN FINAL PROJEK PEMROGRAMAN MOBILE 2 APLIKASI

28

DAFTAR PUSTAKA

https://id.wikipedia.org/wiki/Android_(sistem_operasi)

https://en.wikipedia.org/wiki/Firebase

https://developer.android.com/studio/intro/?hl=id

https://id.wikipedia.org/wiki/Desain_antarmuka_pengguna

https://developer.android.com/guide/practices/screens_support?hl=id

https://id.wikipedia.org/wiki/Firebase

https://www.dewaweb.com/blog/google-admob/