tugas akhir - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileta/150309276993_2018.pdf · pembuatan...

91
PEMBUATAN APLIKASI EVENT ORGANIZER BERBASIS ANDROID DENGAN MENGGUNAKAN ANDROID STUDIO TUGAS AKHIR LUSTANTI AYU AGUSTINA NIM : 150309276993 POLITEKNIK NEGERI BALIKPAPAN JURUSAN TEKNIK ELEKTRONIKA BALIKPAPAN 2018

Upload: vothu

Post on 03-Mar-2019

307 views

Category:

Documents


12 download

TRANSCRIPT

Page 1: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

PEMBUATAN APLIKASI EVENT ORGANIZER BERBASIS

ANDROID DENGAN MENGGUNAKAN ANDROID STUDIO

TUGAS AKHIR

LUSTANTI AYU AGUSTINA

NIM : 150309276993

POLITEKNIK NEGERI BALIKPAPAN

JURUSAN TEKNIK ELEKTRONIKA

BALIKPAPAN

2018

Page 2: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

PEMBUATAN APLIKASI EVENT ORGANIZER BERBASIS

ANDROID DENGAN MENGGUNAKAN ANDROID STUDIO

TUGAS AKHIR

KARYA TULIS INI DI AJUKAN SEBAGAI SALAH SATU SYARAT

UNTUK MEMPEROLEH GELAR AHLI MADYA DARI POLITEKNIK

NEGERI BALIKPAPAN

LUSTANTI AYU AGUSTINA

NIM : 150309276993

POLITEKNIK NEGERI BALIKPAPAN

JURUSAN TEKNIK ELEKTRONIKA

BALIKPAPAN

2018

Page 3: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

ii

LEMBAR PENGESAHAN

PEMBUATAN APLIKASI EVENT ORGANIZER BERBASIS ANDROID

DENGAN MENGGUNAKAN ANDROID STUDIO

Disusun Oleh :

LUSTANTI AYU AGUSTINA

NIM :150309276993

Page 4: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

iii

SURAT PERNYATAAN

Yang bertanda tangan di bawah ini :

Nama : LUSTANTI AYU AGUSTINA

Tempat /Tgl Lahir : Malang, 14 Agustus 1996

NIM : 150309276993

Menyatakan bahwa tugas akhir yang berjudul “PEMBUATAN APLIKASI

EVENT ORGANIZER BERBASIS ANDROID” adalah bukan merupakan hasil

karya tulis orang lain, baik sebagian maupun keseluruhan , kecuali dalam

kutipan yang kami sebutkan sumbernya.

Demikian pernyataan ini penulis buat dengan sebenar-benarnya dan

apabila pernyataan ini tidak benar kami bersedia mendapat sanksi akademis.

Page 5: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

iv

Tugas Akhir ini kupersembahkan kepada :

Ayahhanda dan Ibunda tercinta

Sunardi dan Sriatim Indrawati

Saudaraku yang kusayangi

Indah Ismawati

Ferdinan Marcell dwi Anggara

Arizal Jofan Indra aji Pamungkas

Keluarga besar di Jawa Timur

Yang terkasih

Bayu Perdana Putra

Page 6: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

v

SURAT PERNYATAAN PERSETUJUAN PUBLIKASI

TUGAS AKHIR UNTUK KEPENTINGAN

AKADEMIS

Sebagai civitas akademik Politeknik Negeri Balikpapan, saya yang bertanda

tangan dibawah ini:

Nama : Lustanti Ayu Agustina

NIM : 150309276993

Program Studi : Teknik Elektronika

Jurusan : Teknik Elektro

Judul Tugas Akhir : PEMBUATAN APLIKASI EVENT ORGANIZER

BERBASIS ANDROID DENGAN MENGGUNAKAN ANDROID STUDIO

Dengan pengembangan ilmu pengetahuan, saya menyetujui untuk memberikan

hak kepada Politeknik negeri Balikpapan untuk menyimpan, mengalih media atau

formatkan, mengelola dalam bentuk pangkalan data (database), merawat, dan

mempublikasikan tugas akhir saya selama tetap mencantumkan nama saya sebagai

penulis/pencipta.

Dari pernyataan ini saya buat dengan sebenarnya.

Page 7: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

vi

ABSTRACT

Currently the technology is already highly developed. Any activity can

already be accessed using the Internet. Many jobs are using the internet as a media

campaign, media transactions, even as a store database, one for event organizers.

Event organizer is a team that aims to help organize the event on a client who is

too busy to organize the event. To help the problems of society, the application is

made to a database that serves well as a media campaign for its partners and to

help the people in the reservation because of the current events in the community

still using manual method for booking events. Thus the authors take the final title

Event Organizer application creation based on Android to facilitate the public in

booking events and help a partner to promote it online.For support making this

application, the author uses the Android Studio software as easy to use and

features - features better to support the making of an application. By using the

facilities available such as WebView, TextView, ListView, ImageButtom,

GridLayout and RelativeLayout as well as some reference in the Application

Event Organizer then created based on Android.

Keywords: AndroidStudio, WebView, TextView, ListView, ImageButtom,

GridLayout, RelativeLayout.

Page 8: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

vii

ABSTRAK

Saat ini teknologi sudah sangat berkembang. Kegiatan apapun sudah dapat

diakses menggunakan internet. Banyak pekerjaan yang menggunakan internet

sebagai media promosi, media transaksi, bahkan sebagai penyimpan database,

salah satunya untuk event organizer. Event organizer merupakan sebuah tim yang

bertujuan membantu mengatur acara pada client yang terlalu sibuk untuk

mengatur acara. Untuk membantu permasalahan masyarakat, aplikasi ini dibuat

untuk sebagai database yang berfungsi sekaligus media promosi bagi mitra dan

dapat membantu masyarakat dalam pemesanan event karena saat ini dalam

lingkungan masyarakat masih menggunakan cara manual untuk pemesanan event.

Maka dari itu penulis mengambil judul tugas akhir pembuatan aplikasi Event

Organizer berbasis Android untuk memudahkan masyarakat dalam pemesanan

event dan membantu seorang mitra untuk berpromosi secara online.Untuk

menunjang pembuatan aplikasi ini, penulismenggunakan perangkat lunak

AndroidStudio karena mudah di gunakan serta memiliki fitur – fitur yang lebih

baik untuk menunjang pembuatan suatu aplikasi. Dengan menggunakan fasilitas

yang terdapat seperti WebView, TextView,Listview,ImageButtom,GridLayout dan

RelativeLayout serta beberapa sumber referensi maka terciptalah Aplikasi Event

Organizer berbasis Android.

Kata Kunci : AndroidStudio, WebView, TextView, ListView, ImageButtom,

GridLayout, RelativeLayout.

Page 9: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

viii

KATA PENGANTAR

Dengan memanjatkan puji syukur kehadirat Tuhan Yang Maha

Kuasa,karena atas rahmat serta hidayah-Nya penulis dapat menyelesaikan tugas

akhir dengan judul “Pembuatan Aplikasi Event Organizer Berbasis Android”. Di

dalam tulisan ini, disajikan pokok-pokok bahasan tugas akhir meliputi gambaran

tentang Pembuatan Aplikasi Event Organizer Berbasis Android yang bertujuan

untuk membantu penyelenggara acara dalam mempromosikan event yang akan di

selenggarakan dan memudahkan masyarakat dalam pemesanan event.

Penulis menyampaikan ucapan terima kasih yang sebesar-besanya kepada :

1. Ida Bagus Dharmawan, S.T., M.Si.sebagai Direkur Politeknik Negeri

Balikpapan

2. Drs. Armin, M.T, sebagai Ketua Jurusan Teknik Elektronika

3. Maria Ulfah .S.T.,M.T sebagai pembimbing yang telah membimbing dan

memberikan pengarahan selama pengerjaan tugas akhir ini.

4. Seluruh staf dan karyawan jurusan Teknik Elektronika Politeknik Negeri

Balikpapan dan rekan-rekan atas diskusi dan konsultasi yang diberikan.

5. Ayahanda dan .......( dst)

6. Seluruh teman angkatan 2015 Teknik Elektronika yang telah banyak

membantu selama penyusunan tugas akhir ini hingga selesai.

7. Semua pihak yang penulis tidak dapat menyebutkan satu persatu, yang telah

memberikan bantuan secara langsung maupun tidak langsung dalam

penyusunan tugas akhir ini hingga selesai.

Penulis menyadari bahwa tugas akhir ini bukanlah karya yang sempurna,

dan masih banyak ditemui kekurangan dan kelemahan. Oleh karena itu, saran dan

masukan yang membangun sangat diharapkan.

Balikpapan, 2018

Penulis

Page 10: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

ix

DAFTAR ISI

LEMBAR PENGESAHAN .................................................................................. ii

SURAT PERNYATAAN .................................................................................... iii

SURAT PERNYATAAN PERSETUJUAN PUBLIKASI ..................................... v

TUGAS AKHIR UNTUK KEPENTINGAN ......................................................... v

AKADEMIS .......................................................................................................... v

ABSTRACT ........................................................................................................... vi

ABSTRAK ..........................................................................................................vii

KATA PENGANTAR ...................................................................................... viii

DAFTAR ISI ........................................................................................................ ix

DAFTAR GAMBAR ........................................................................................... xi

DAFTAR TABEL ............................................................................................ xiii

BAB I PENDAHULUAN ...................................................................................... 1

1.1 Latar Belakang ............................................................................................ 1

1.2 Rumusan Masalah ....................................................................................... 1

1.3 Batasan Masalah ......................................................................................... 2

1.4 Tujuan ......................................................................................................... 2

1.5 Manfaat ....................................................................................................... 2

BAB II LANDASAN TEORI ................................................................................ 3

2.1 Penelitian Sebelumnya ................................................................................ 3

2.2 Pengertian Event Organizer ........................................................................ 4

2.3 Metode yang di gunakan ............................................................................. 5

2.3.1 Java jdk ....................................................................................................... 5

2.2 Android ....................................................................................................... 6

2.4.1 Arsitektur Android ...................................................................................... 7

2.5 Android studio ............................................................................................ 8

BAB III METODE PENELITIAN ....................................................................... 10

3.1 Jenis Penelitian ......................................................................................... 10

3.2 Tempat dan Waktu Penelitian ................................................................... 10

3.3 Peralatan dan Bahan yang di gunakan ...................................................... 10

3.3.1 Peralatan perangkat keras ( hardware) dengan spesifikasi : ..................... 10

3.3.2 Peralatan perangkat lunak ( software) yaitu : ............................................ 10

3.4 Tahap Penelitian ....................................................................................... 11

3.1 Flowchart .................................................................................................. 13

Page 11: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

x

BAB IV HASIL DAN PEMBAHASAN .............................................................. 15

4.1 Implementasi............................................................................................. 15

4.1.1 Cara menginstal aplikasi Android Studio .................................................. 15

4.2 Pembuatan Aplikasi Event Organizer ....................................................... 24

4.2.1 Pengenalan Struktur Aplikasi .................................................................. 24

4.1 Uji Coba Dari Aplikasi ............................................................................. 33

BAB V PENUTUP .............................................................................................. 34

5.1 Kesimpulan ............................................................................................... 34

5.2 Saran ......................................................................................................... 34

Page 12: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

xi

DAFTAR GAMBAR

Gambar 2.2 Diagram Tools (JDK) ......................................................................... 5

Gambar 2.3 logo Android Studio ........................................................................... 8

Gambar 3.1 Skema Penelitian .............................................................................. 11

Gambar 3.2 Flowchart Langkah- langkah penelitian ........................................... 13

Gambar 3.3 Flowchart Perencanaan Lay Out tampilan EO .................................. 14

Gambar 4.1 Instalan Java JDK ............................................................................. 16

Gambar 4.2 Instalan Android Studio .................................................................... 16

Gambar 4.3 Instalan Chouse Components pada Android Studio .......................... 17

Gambar 4.4 License Agreement pada Android Studio ......................................... 17

Gambar 4.5 Configuration Setting pada instalan Android Studio ........................ 18

Gambar 4.6 Choose Strart Menu Folder pada instalan Android Studio ................ 18

Gambar 4.7 Installing pada penginstalan Android Studio .................................... 19

Gambar 4.8 Installation Complete pada Android Studio ..................................... 19

Gambar 4.9 Completing Android Studio Setup .................................................... 20

Gambar 4.10 Tampilan awal Android Studio ....................................................... 20

Gambar 4.11 Android Studio Setup Wizard ......................................................... 21

Gambar 4.12 Installan tipe dari Android Studio ................................................... 21

Gambar 4.13 verifykasi settings type pada Android Studio ................................ 22

Gambar 4.14 Downloading Components ............................................................ 23

Gambar 4.15 Tampilan awal pemilihan pembuatan project pada Android studio24

Gambar 4.16 tampilan awal aplikasi Android studio ............................................ 24

Gambar 4.17 Tampilan pemilihan pembuatan project ....................................... 25

Gambar 4.18 Tampilan folder pada project ......................................................... 25

Gambar 4.19 Tampilan untuk pembuatan design ................................................. 26

Gambar 4.20 Tampilan Splash awal pada aplikasi Event organizer ..................... 26

Gambar 4.21 tampilan untuk Login USER dan MITRA ....................................... 27

Gambar 4.22 tampilan menu Register User dan Mitra ........................................ 27

Gambar 4.23 tampilan menu umum untuk Customer/user .................................. 28

Gambar 4.24 tampilan menu paket pada Mitra untuk User/customer ................. 28

Gambar 4.25 tampilan menu khusus untuk Mitra ............................................... 29

Gambar 4.26 tampilan menu edit profil untuk Mitra ............................................ 30

Gambar 4.27 Tampilan menu edit paket untuk Mitra ......................................... 30

Gambar 4.28 Tampilan menu List per paket Mitra ............................................. 31

Gambar 4.29 Tampilan detail untuk informasi pembayaran ................................ 32

Page 13: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

xii

Gambar 4.30 Tampilan detail untuk upload bukti pembayaran dan pemberian

rating pelayanan .................................................................................................. 33

Page 14: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

xiii

DAFTAR TABEL

Tabel 2.1 Tabel Penelitian ..................................................................................... 3

Page 15: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

1

BAB I

PENDAHULUAN

1.1 Latar Belakang

Saat ini teknologi sudah sangat berkembang. Kegiatan apapun sudah dapat

diakses menggunakan internet. Banyak pekerjaan yang menggunakan internet

sebagai media promosi, media transaksi, bahkan sebagai penyimpan database,

salah satunya untuk event organizer. Event organizer merupakan sebuah tim yang

bertujuan membantu mengatur acara pada client yang terlalu sibuk untuk

mengatur acara.

Untuk membantu permasalahan masyarakat, aplikasi ini dibuat untuk

sebagai database yang berfungsi sekaligus media promosi bagi event organizer

dan dapat membantu masyarakat dalam pemesanan event karena saat ini dalam

lingkungan masyarakat masih menggunakan cara manual untuk pemesanan event

seperti pemesanan tempat untuk seminar ,dekorasi buat khitanan dan aqiqahan,

mencari catering , mencari seorang pencetak undangan dan pembuatan baleho .

Aplikasi ini akan membantu bagi seorang event organizer untuk promosi secara

online dan membantu masyarakat dalam hal pemesanan event yang akan di gelar

dengan secara online dan memudahakn bagi masyarakat yang mempunyai

pekerjaan yang sangat sibuk sehingga mereka dapat memesan event tersebut

dengan cara online maka dari itu penulis mengambil judul tugas akhir

PEMBUATAN APLIKASI EVENT ORGANIZER BERBASIS ANDROID

DENGAN MENGGUNAKAN ANDROID STUDIO untuk dapat memudahkan

masyarakat dalam pemesanan event dan membantu seorang event organizer untuk

berpromosi secara online.

1.2 Rumusan Masalah

Adapun rumusan masalah dalam Tugas Akhir ini adalah bagaimana

membuat suatu aplikasi Event Organizer berbasis android agar dapat

mempermudah masyarakat dalam pemesanan event ( Seminar, Khitanan dan

Aqiqahan,) dengan secara tidak manual melainkan pemesanan secara online dan

memudahkan seorang event organizer berpromosi secara online.

Page 16: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

2

Sehubungan dengan hal tersebut dapat di rumuskan permasalahan sebagai

berikut:

1. Bagaimana cara membantu Event Organizer atau penyelenggara acara dalam

mempromosikan event yang akan di selenggarakan ?

2. Bagaimana cara memudahkan masyarakat dalam pemesanan event?

3. Bagaimana cara pembuatan aplikasi Event Organizer berbasis android?

1.3 Batasan Masalah

Batasan masalah dari Tugas Akhir ini agar pada saat pembahasan tidak

terlalu meluas, adalah :

1. Penelitian ini dibatasi hanya pada perancangan Aplikasi Event Organizer

Berbasis Android

2. Sistem ini menjembatani komunikasi lebih lanjut antara customer dengan pihak

tim event organizer berkaitan dengan persiapan sampai penyelenggaraan event,

setelah customer melakukan deal pembayaran dan konfirmasi pembelian event

1.4 Tujuan

Adapun tujuan dari Tugas Akhir ini adalah :

1. Membuat aplikasi yang dapat memfasilitasi pemasang iklan dalam

mengiklankan Event yang terintegrasi dengan social media.

2. Membuat aplikasi yang dapat memudahkan dan memfasilitasi masyarakat

untuk pemesanan secara online.

3. Pembuatan aplikasi Event Organizer berbasis android ini yakni menggunakan

media android studio dan dukungan aplikasi java JDK dan java SDK karena

android studio ini menggunakan bahasa java.

1.5 Manfaat

Adapun manfaat yang dapat di ambil dalam penulisan Tugas Akhir ini

adalah :

1. Memberikan kemudahan bagi masyarakat untuk melakukan pemesanan event

secara online

2. Meringankan pekerjaan mitra penyelenggara Event Organizer

Page 17: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

3

BAB II

LANDASAN TEORI

2.1 Penelitian Sebelumnya

Pada Penelitian sebelumnya digunakan sebagai pedoman dasar

pertimbangan maupun perbandingan bagi penulis dalam upaya memperoleh arah

dan kerangka berpikir. Dalam melakukan penelitian ini peneliti menggunakan 2

jurnal sebagai bahan perbandingan dengan penelitian yang akan dilakukan.

Jurnal-jurnal tersebut dijadikan sebagai data pendukung dalam penelitian ini.

Berikut ini adalah penelitian sebelumnya yang dapat dijadikan acuan dalam

penelitian ini :

Tabel 2.1 Tabel Penelitian

Nama Peneliti &

Tahun Penelitian

Judul Jurnal

Isi Jurnal

Taufiq Iqbal Fadilah,

Dkk (di universitas

Telkom Bandung )

APLIKASI

PERIKLANAN DAN

PEMESANAN TIKET

EVENT ORGANIZER

BERBASIS WEB

Aplikasi ini

menggunakan PHP

(Hypertext

Preprocessor) dan juga

menggunakan MySQL.

Metode pengerjaan

yang digunakan adalah

metode Waterfall dan

diuji dengan

menggunakan metode

Black Box Testing.

Setelah diuji, aplikasi

ini dapat diakses secara

online. Aplikasi ini

mampu memfasilitasi

pemasang iklan dalam

mengiklankan Event

Page 18: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

4

yang terintegrasi

dengan social media

dan juga memfasilitasi

pembeli tiket untuk

memesan tiket secara

online. Pada bagian

Event Organizer dapat

melihat laporan

pemesanan dan

penjualan tiket.

Andreanus Agung, dkk

( di

Universitas Kristen

Petra , Surabaya)

Pembuatan Aplikasi

Event Organizer Clover

Berbasis Android

Aplikasi dibuat

menggunakan PHP

dengan Eclipse sebagai

bahasa pemrograman.

Sedangkan database

yang digunakan adalah

MySQL dan web server

yang digunakan adalah

Apache.

Dari penelitian sebelumnya maka penulis pengembangkan pembuatan

aplikasi event organizer berbasis Android dimana dalam pembuatan event ini

tidak berbasis web dan memakai data base MySQL dan memakai Java scrib ,

node js ,java JDK, java SDK, Apache dan Android Smartphone.

2.2 Pengertian Event Organizer

Menurut Megananda, Y. 2009 Event organizer adalah istilah untuk

penyedia jasa profesional penyelenggara acara. Hal ini dikarenakan keterbatasan

sumber daya atau waktu yang dimiliki client. Event organizer membantu client

untuk dapat menyelenggarakan acara yang diinginkan susunan acara yang dipakai

setiap event memiliki struktur organisasi yang berbeda-beda.

Page 19: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

5

2.3 Metode yang di gunakan

2.3.1 Java jdk

Menurut Hunter Automotive, 2012 Java Development Kit (JDK)

merupakan perangkat lunak yang digunakan untuk menajemen dan membangun

berbagai aplikasi Java. JDK merupakan superset dari JRE, berisikan segala

sesuatu yang ada di JRE ditambahkan compiler dan debugger yang diperlukan

untuk mengembangkan applet dan aplikasi.

Pada JDK, terdapat berbagai tools yang digunakan untuk membangun

aplikasi Java. Tools tersebut digambarkan dengan diagram berikut:

Gambar 2.2 Diagram Tools (JDK)

Sumber: (Jurnal java jdk (Hunter automotif ,2012))

2.3.2 Apache

Menurut Haidi Barasa, 2013 Apache adalah sebuah nama web server yang

bertanggung jawab pada request-response HTTP dan logging informasi secara

detail(kegunaan basicnya). Selain itu, Apache juga diartikan sebagai suatu web

server yang kompak, modular, mengikuti standar protokol HTTP, dan tentu saja

sangat digemari. Kesimpulan ini bisa didapatkan dari jumlah pengguna yang jauh

melebihi para pesaingnya. Sesuai hasil survai yang dilakukan oleh Netcraft, bulan

Januari 2005 saja jumlahnya tidak kurang dari 68% pangsa web server yang

berjalan di Internet. Ini berarti jika semua web server selain Apache digabung,

masih belum bisa mengalahkan jumlah Apache.

Page 20: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

6

Kelebihan Dan Kekurangan Apache

Kelebihan pada apache yaitu:

1. Apache termasuk dalam kategori freeware.

2. Apache mudah sekali proses instalasinya jika dibanding web server lainnya

seperti NCSA, IIS, dan lain-lain.

3. Mampu beroperasi pada berbagai paltform sistem operasi.

4. Mudah mengatur konfigurasinya. Apache mempunyai hanya empat file

konfigurasi.

5. Mudah dalam menambahkan peripheral lainnya ke dalam platform web

servernya.

Sedangkan kekurangan dari apache adalah:

1. web server Apache tidak memiliki kemampuan mengatur load seperti IIS,

sehingga akan terus mem-fork proses baru hingga nilai MaxClients tercapai

atau hingga batas yang diizinkan oleh OS. Ini tentunya menguntungkan

penyerang karena habisnya RAM akan lebih cepat tercapai.

2. Apache tidak memproses karakter kutip dalam string Referrer dan User-Agent

yang dikirimkan oleh Client. Ini berarti Client dapat memformulasi inputnya

secara hati-hati untuk merusak format baris log akses

.3. Terganggunya proses upload data, yang bisa menyebabkan software salah

dalam menerjemahkan ukuran data yang masuk. Dengan celah tersebut, hacker

dikabarkan dapat mengeksploitasi kerentanan dengan cara mengirimkan

request pada server Apache bersangkutan.

2.2 Android

Menurut Galuh Noor, 2015 Android adalah sebuah sistem operasi

perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan

aplikasi. Android menyediakan platform terbuka bagi para pengembang untuk

menciptakan aplikasi mereka. Android merupakan generasi baru platform mobile

yang memberikan kesempatan kepada pengembang untuk melakukan

pengembangan sesuai dengan yang diharapkan Sistem operasi yang mendasari

Page 21: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

7

Android merupakan lisensi di bawah naungan GNU, General Public License Versi

2(GPLv2), yang biasa dikenal dengan istilah Copyleft. Istilah copyleft ini

merupakan lisensi yang setiap perbaikan oleh pihak ketiga harus terus jatuh di

bawah terms.

Distribusi Android berada di bawah lisensi Apache Software

(ASL/Apache2), yang memungkin untuk distribusi kedua atau seterusnya.

Pengembang aplikasi Android diperbolehkan untuk mendistribusikan aplikasi

mereka di bawah skema lisensi apapun yang mereka inginkan.

Pengembang memiliki beberapa pilihan dalam membuat aplikasi yang

berbasis Android. Namun kebanyakan pengembang menggunakan Eclipse sebagai

IDE untuk merancang aplikasi mereka. Aplikasi Android dapat dikembangkan

pada berbagai sistem operasi, diantaranya adalah:

a. Windows XP/Vista/7

b. Mac OS X (Mac OS X 10.48 atau yang lebih baru)

c. sLinux

2.4.1 Arsitektur Android

Secara garis besar arsitektur Android dapat dijelaskan dan digambarkan

sebagai Application dan Widget adalah layer dimana kita berhubungan dengan

aplikasi saja. Di layer terdapat aplikasi inti termasuk klien email, program SMS,

kalender, peta, browser, kontak, dan lain-lain. Semua aplikasi ditulis dengan

menggunakan bahasa pemrograman JAVA.

Libraries adalah layer tempat fitur-fitur Android berada, biasanya para

pengembang aplikasi mengakses libraries untuk menjalankan aplikasinya.

Android Runtime adalah layer yang membuat aplikasi Android dapat

dijalankan di mana dalam prosesnya menggunakan implementasi Linux. Dalvik

Virtual Machine merupakan mesin yang membentuk dasar kerangka aplikasi

Android. Di dalam Android Runtime dibagi menjadi dua bagian yaitu:1. Core

Libraries Aplikasi Android dibangun dalam bahasa Java, sementara DVM bukan

merupakan virtual machine untuk Java. Sehingga diperlukan libraries yang

berfungsi untuk menterjemahkan bahasa Java/C yang ditangani oleh Core

Libraries.

Page 22: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

8

Dalvik Virtual Machine berbasis register yang dioptimalkan untuk

menjalankan fungsi fungsi secara efisien, dimana merupakan pengembangan yang

mampu membuat Linux kernel untuk melakukan threading dan manajemen

tingkat rendah.

Linux Kernel adalah layer dimana inti sistem operasi dari Android itu berada.

Berisi file system yang mengatur system processing memory, resource, drivers,

dan sistem-sistem operasi Android lainnya. Linux Kernel yang digunakan Android

adalah Linux Kernel release 2.6.

2.5 Android studio

Android Studio Android studio adalah IDE (Integrated Development

Environment) resmi untuk pengembangan aplikasi Android dan bersifat open

source atau gratis. Peluncuran Android Studio ini diumumkan oleh Google pada

16 mei 2013 pada event Google I/O Conference untuk tahun 2013. Sejak saat itu,

Android Studio mengantikan Eclipse sebagai IDE resmi untuk mengembangkan

aplikasi Android .

Gambar 2.3 logo Android Studio

Sumber : google.co.id

Android studio sendiri dikembangkan berdasarkan IntelliJ IDEA yang

mirip dengan Eclipse disertai dengan ADT plugin (Android Development Tools).

Android studio memiliki fitur :

a. Projek berbasis pada Gradle Build

b. Refactory dan pembenahan bug yang cepat

c. Tools baru yang bernama “Lint” dikalim dapat memonitor kecepatan,

kegunaan, serta kompetibelitas aplikasi dengan cepat.

d. Mendukung Proguard And App-signing untuk keamanan.

Page 23: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

9

e. Memiliki GUI aplikasi android lebih mudah

f. Didukung oleh Google Cloud Platfrom untuk setiap aplikasi yang

dikembangkan.

Page 24: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

10

BAB III

METODE PENELITIAN

3.1 Jenis Penelitian

Jenis penelitian ini adalah perancangan pembuatan aplikasi untuk

mempermudah masyarakat dalam pemesanan event secara online dan membantu

seorang penyelenggara event organizer untuk mempromosikan secara online.

3.2 Tempat dan Waktu Penelitian

Tempat penelitian Tugas Akhir di laksanakan di Rumah Penulis Jl. Ruhui

rahayu II Gg.perdamaian II RT.10 Kec. Balikpapan Selatan Kel. Sepinggan Baru.

Penelitian ini mulai dari bulan Mei 2018 sampai dengan bulan Juli 2018.

3.3 Peralatan dan Bahan yang di gunakan

Penelitian tentang pembuatan aplikasi untuk mempermudah masyarakat

dalam pemesanan event secara online dan membantu seorang penyelenggara event

organizer untuk mempromosikan secara online Kegiatan penelitian ini

menggunakan perangkat keras (hardware) dan perangkat lunak (software) dengan

spesifikasi sebagai berikut :

3.3.1 Peralatan perangkat keras ( hardware) dengan spesifikasi :

1. Laptop Processor Intel ® Platinum ® CPU 2020@ 2.40GHz

2. RAM 2.00 GB dan tambahan RAM 4.00 GB

3. Perangkat mobile Android untuk menjalankan aplikasi

3.3.2 Peralatan perangkat lunak ( software) yaitu :

1. Java Jdk

2. Java

3. Apache

4. Java SDK

5. Android Studio

6. Android Smartphone

Page 25: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

11

3.4 Tahap Penelitian

Tahapan-tahapan terdiri dari analisis kebutuhan, desain sistem, coding, testing .

Gambar 3.1 Skema Penelitian

a. Analisis Kebutuhan

Analisis kebutuhan merupakan tahap awal penelitian. Tahap ini dimulai

dengan mengumpulkan data-data pendukung penelitian seperti alamat dan contact

person dari penyelenggara event tersebut. Selain itu, tahapan analisis bertujuan

untuk memudah kan masyarakat untuk pemesanan event sesuai dengan yang

dibutuhkan.

b. Desain Sistem

Setelah tahap analisis telah dilakukan tahap selanjutnya adalah perancangan

desain. Desain dibuat berdasarkan hasil dari analisis kebutuhan yang telah diperoleh.

Tahap ini bertujuan untuk merancang sistem yang dibuat yaitu meliputi pembuatan

database, pembuatan interface berupa desain input dan output.

Analisis kebutuhan

Desain sistem

coding

testing

pemeliharaan

Page 26: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

12

c. Coding

Kode program merupakan tahap implementasi dari tahap desain dan analisis

kebutuhan. Pada tahap ini, aplikasi dibuat berdasarkan data-data yang telah di

kumpulkan . Pada tahap ini, rancangan arsitektur sistem dan desain sistem

yang telah dibuat kemudian diterjemahkan ke dalam kode bahasa pemrograman.

Bahasa pemrograman yang digunakan dalam Pembuatan Aplikasi Event Organizer

Berbasis Android dengan menggunakan Bahasa pemrograman Java. Setelah itu

diimplementasikan sebagai aplikasi jadi.

d. Testing

Tahap pengujian ini bertujuan untuk mengetahui apakah aplikasi yang dibuat

telah memenuhi kebutuhan user atau belum sehingga apabila aplikasi yang dibuat

tidak sesuai dengan kebutuhan user maka aplikasi diperbaiki kembali. Setelah

diimplementasikan kedalam bahasa pemrograman,setiap fungsi dari aplikasi/software

harus diuji secara keseluruhan. Proses ini dilakukan untuk mengetahui bahwa tidak

ada kesalahan/error pada aplikasi dan memastikan bahwa semua kebutuhan sistem

terpenuhi.

e. Pemeliharaan

Tahap ini merupakan tahap akhir dimana perangkat lunak yang sudah selesai

dibuat digunakan. Perangkat lunak masih dapat mengalami perubahan atau

penambahan sesuai dengan hasil dari pengujian program yang telah dilakukan pada

tahap pengujian program. Pada tahap ini, aplikasi/software yang telah selesai dibuat,

dapat dioperasikan. Aplikasi ini dapat dioperasikan pada smartphone dengan platform

Android.

Page 27: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

13

3.1 Flowchart

Tidak

Ya

Gambar 3.2 Flowchart Langkah- langkah penelitian

Pengumpulan Data

Rancangan Desain Aplikasi EO

Pembuatan Aplikasi EO

Pengujian Aplikasi

Apakah Aplikasi

Sudah BERJALAN

dengan benar?

Analisa

Starat

End

Inisialisasi

Identifikasi masalah

Studi literatur

Page 28: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

14

Tidak Tidak

Ya

Gambar 3.3 Flowchart Perencanaan Lay Out tampilan EO

Wedding Seminar Aqiqah &

Khitanan Ulangta

hun

Proses

pemes

anan

Proses

pemes

anan

Proses

pemes

anan

Proses

pemes

anan

order

End

Pilih Menu Event

Tampilan Aplikasi

Start

Page 29: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

15

BAB IV

HASIL DAN PEMBAHASAN

4.1 Implementasi

Setelah semua penelitian dan persiapan di lakukan pada bab ini akan di

bahas mengenai hasil uji coba terhadap pembuatan aplikasi serta mengenai fitur

dan tampilan yang terdapat pada Aplikasi Event Organizer berbasis Android ini.

4.1.1 Cara menginstal aplikasi Android Studio

Android Studio adalah salah satu software untuk membuat aplikasi

android.android studio ini sudah mulai di gunakan oleh para start up atau

developer android untuk membuat aplikasi android.dan sekarang banyak

universtas menetapkan matakuliah mobile programing menjadi matakuliah wajib

bagi mahasiswa.android studio ini juga menguntukan,karena banyak developer

yang memakai software ini karena lebih mudah saat coding ,debug,dan share pada

github. untuk lebih jelasnya saat menginstal android studio berikut cara dan syarat

instalasi nya:

Persyaratan sistem

a. Windows 7 (32-bit atau 64-bit)

b. Windows 8 / Windows 8.1

c. Mac OS X 10.5.8 atau yang lebih baru (sistem berbasis Intel saja)

d. Sistem Linux dengan versi 2.11 atau yang lebih baru dari GNU C Library

(glibc)

e. Minimal 2GB RAM (4GB lebih disukai)

f. 1.5GB ruang disk yang tersedia

Instalasi:

1. Instal Java Development Kit (JDK)

Java Development Kit (JDK) adalah salah satu kit yang digunakan android

stduio,karena android studio menggunakan bahasa java.untuk instal JDK ini di

rekomnedasi kan JDK 6,7 dan yang terbaru JDK 9 karena lebih stabil daripada

terdahulunya.

Page 30: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

16

Gambar 4.1 Instalan Java JDK

Sumber: Penulis

2. Instal Android Studio

Setelah download android studio pada link diatas,silahkan klik instalan

android dengan nama file(studio android-studio-bundle- <version> .exe).maka

keluar seperti gambar berikut:

Gambar 4.2 Instalan Android Studio

Sumber: Penulis

Setelah muncul tampilan seperti diatas lalu klik next dan hasilnya seperti berikut

Page 31: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

17

Gambar 4.3 Instalan Chouse Components pada Android Studio

Sumber: Penulis

hasil tersebut menunjukan bahwa yang akan di instal android studio yaitu SDK

dan Virtual Device lalu klik next

(sedikit penjelasan SDK digunakan untuk mengembangkan atau membuat aplikasi

untuk paket software tertentu, software framework, hardware platform, sistem

komputer, konsol video game, sistem operasi atau platform sejenis lainnya,Virtual

Device untuk emulator android).

Gambar 4.4 License Agreement pada Android Studio

Sumber: Pribadi

Page 32: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

18

Hasil tersebut adalah perjanjian dan lisensi android studio klik next saja

kalo tidak mau membacanya (disarankan membaca sebelum bertindak)

Gambar 4.5 Configuration Setting pada instalan Android Studio

Sumber: Penulis

hasil diatas menunjukan lokasi penyimpanan untuk instal android lokasi bisa

dipindah sesuai keinginan ,namun disarankan lokasi di C:\ lalu klik next.

Gambar 4.6 Choose Strart Menu Folder pada instalan Android Studio

Sumber: Pribadi

Page 33: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

19

Hasil tersebut menunjukan bahwa aplikasi android studio akan terlihat

pada desktop windows klik instal

Gambar 4.7 Installing pada penginstalan Android Studio

Sumber: Penulis

tunggu instalasi sampai selesai

Gambar 4.8 Installation Complete pada Android Studio

Sumber: Penulis

Page 34: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

20

jika telah selsai klik next dan klik finish

Gambar 4.9 Completing Android Studio Setup

Sumber: Penulis

Setelah selesai instalasi dan klik finish akan keluar aplikasi android studio seperti

ini dan akan muncul seperti diabawah ini sebelum memulai android studio.

Gambar 4.10 Tampilan awal Android Studio

Sumber: Penulis

Page 35: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

21

Gambar 4.11 Android Studio Setup Wizard

Sumber: Penulis

tampilan diatas akan membawa ke instalasi selanjutnya dan di saran kan

terkoneksi internet supaya tidak gagal pada saat instalasi dan tidak ada bug pada

aplikasi android studio saat di jalankan.lalu klik next.

Gambar 4.12 Installan tipe dari Android Studio

Sumber: Penulis

Page 36: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

22

Gambar 4.12 adalah jenis instalasi, jika memilih standar maka akan

terinstal secara default mengikuti android studio, jika custom maka akan terinstal

sesuai keinginan lalu klik next.

Gambar 4.13 verifykasi settings type pada Android Studio

Sumber: Penulis

Tampilan diatas menunjukan file yang harus di download,siapkan koneksi

yg stabil dan kuota yg banyak karena akan mendownload kurang lebih 222Mb

lalu klik finish.

Page 37: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

23

Gambar 4.14 Downloading Components

Sumber: Penulis

tunggu hingga benar benar selesai mendownload

Page 38: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

24

klik finish maka android studio telah siap digunakan

Gambar 4.15 Tampilan awal pemilihan pembuatan project

pada Android studio

Sumber: Penulis

4.2 Pembuatan Aplikasi Event Organizer

4.2.1 Pengenalan Struktur Aplikasi

Berikut langkah –langkah pembuatan aplikasi:

1. Membuka aplikasi Android Studio

Gambar 4.16 tampilan awal aplikasi Android studio

Sumber: Penulis

Page 39: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

25

2. Setelah membuka aplikasi Andoid Studio lalu langkah selanjutnya Pembuatan

folder project yang akan di kerjakan

Gambar 4.17 Tampilan pemilihan pembuatan project

pada aplikasi Android studio

Sumber: Penulis

3. Stelah membuat folder project yang akan di kerjakan maka akan muncul

tampilan seperti di bawah ini

Gambar 4.18 Tampilan folder pada project

Sumber: Penulis

4. Langkah selanjutnya, melakukan pembuatan desaign pada aplikasi atau project

yang akn di buat

Page 40: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

26

Gambar 4.19 Tampilan untuk pembuatan design

Sumber: Penulis

5. Selanjutnya yang akan di lakukan adalah membuat tampilan awal pada

aplikasi event organizer ( Splash Screen java )

Gambar 4.20 Tampilan Splash awal pada aplikasi Event organizer

Sumber: Penulis

6. Setelah itu membuat tampilan untuk Login User dan Mitra

(LoginActivity.java), tampilan gambar design di bawah ini adalah menjelaskan

bahwa pada gambar satu menjelaskan tentang pilihan awal login sebelum

mendaftar akun baru sedangkan gambar dua menjelaskan tentang login pada

saat sudah mempunyai akun pada aplikasi event organizer tersebut.

Page 41: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

27

Gambar 4.21 tampilan untuk Login USER dan MITRA

Sumber: Penulis

7. Setelah itu membuat tampilan Registrasi User dan

Mitra (RegisterActivity.java)pada pembuatan akun baru, jadi pada menu tampilan

ini user dan mitra melakukan register terlebih dahulu sebelum masuk ke menu EO

tersebut .

Gambar 4.22 tampilan menu Register User dan Mitra

Sumber: Penulis

8. Tampilan menu pada aplikasi event organizer ini terdiri dari wedding,

seminar, aqiqah dan khitanan , ulang tahun ada 4 event yang tertera di dalam

menu EO tersebut.

Page 42: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

28

Gambar 4.23 tampilan menu umum untuk Customer/user

Sumber: Penulis

9. Selanjutnya membuat tampillan daftar mitra (ListMitraActivity.java)

Jadi di dalam menu daftar mitra di bawah ini adalah menjelaskan bahwa pada

setiap satu event terdapat tiga paket event yang bisa di pilih oleh user dengan

sesuai selera user tersebut karena setiap paket itu berbeda isi.

Gambar 4.24 tampilan menu paket pada Mitra

untuk User/customer

Sumber: Penulis

Page 43: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

29

10. Tampilan design untuk menu khusus Mitra

Jadi gambar di bawah ini adalah tampilan khusus pada menu mitra yang berfungsi

untuk mengedit profil mitra dan untuk meletakkan seberapa besar pembayaran,

dan meletakkan proses pembayarannya serta paket yang di sediakan oleh mitra

tersebut. Dan di menu khusus ini mitra bisa mensetting harga dan mensetting

gambar dengan sesuai yang di promosikan tanpa campur tangan dari pihak yang

membuat aplikasi event organizer tersebut.

Gambar 4.25 tampilan menu khusus untuk Mitra

Sumber: Penulis

11. Membuat menu edit profil mitra (MitraActivity.java)

Jadi pada menu ini menjelaskan tentang pengeditan profil mitra yang mengandung

keterangan di dalamnya tentang nama event, peletakkan gambar yang akan di

promosikan , dan didalam menu ini terdapat alamat dan contact person untuk

berkomunikasi dengan user atau customer serta terdapat keterangan transfer

supaya pada saat pelanggan ingin memesan dari salah satu paket event tersebut

ada petunjuk arah kemana akan membayar paket event tersebut. Tampilan

designya seperti di bawah ini:

Page 44: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

30

Gambar 4.26 tampilan menu edit profil untuk Mitra

Sumber: Penulis

12. Selanjutnya membuat menu edit paket Mitra

Di dalam menu edit paket ini adalah menjelaskan tentang proses peletakkan harga

paket yang ada di event tersebut dan memproses peletakkan isi dari paket event

yang akan di promosikan dan memberi keterangan gambar dari harga yang di

promosikan. Berikut adalah tampilan design dari edit paket di atas :

Gambar 4.27 Tampilan menu edit paket untuk Mitra

Sumber: Penulis

Page 45: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

31

13. Menu list paket pada masing – masing paket event

Menjelaskan bahwa seperti pada list di bawah ini yaitu contoh pada menu paket

wedding 1 terdapat paket dekorasi, catering, dan salon dan di tampilan list ini

terdapat harga dan tampilan dari harga paket tersebut.

Gambar 4.28 Tampilan menu List per paket Mitra

Sumber: Penulis

14. Selanjutnya membuat menu detail paket

Didalamnya terdapat satu paket lengkap seperti pada mwnu paket wedding 3

terdapat di dalam nya lengakap dengan souvenir , dan pencetak undangannya

jadi bukan hanya dekorasi, catering, dan salon tetapi juga sudah lengkap terdapat

souvenir dan pencetak undangannya.

15. Detail untuk informasi pembayaran di bawah ini adalah menjelaskan bahwa

pada saat user mensetujui untuk memesan dalam salah satu paket yang ada di

aplikasi event organizer maka user dapat membayar dengan menstransfer ke

nomer rekening yang sudah tertera seperti di bawah ini dengan sesuai harga

paket yang user pilih.

Page 46: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

32

Gambar 4.29 Tampilan detail untuk informasi pembayaran

Sumber: Penulis

16. Design Detail untuk upload bukti pembayaran

Menjelaskan bahwa setelah user menstransfer jumlah harga paket yang di pilih

maka perintah selanjutnya user harus mengupload bukti pembayaran yang telah di

bayar , dan jika sudah terupload maka akan muncul tampilan seperti di bawah ini

bahwa bukti transfer berhasil di upload dan ada perintah selanjutnya untuk

menunggu beberapa saat setelah selesai acara yang akan di laksanakan, maka user

di harapkan memberi rating pelayanan terhadap mitra dari paket yang di pesan

oleh user.

Page 47: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

33

Gambar 4.30 Tampilan detail untuk upload bukti pembayaran

dan pemberian rating pelayanan

Sumber: Penulis

4.1 Uji Coba Dari Aplikasi

Dari hasil aplikasi yang penulis buat , penulis menguji coba melalui

masyarakat sekitar bahwa aplikasi yang penulis buat mendapat respon yang sangat

baik dan berguna buat masyarakat sehingga masyarakat banyak yang menyetujui

jika aplikasi tersebut di sebar luaskan.

Page 48: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

34

BAB V

PENUTUP

5.1 Kesimpulan

Dari tugas akhir ini, ada beberapa kesimpulan yang dapat penulis ambil di

antaranya adalah:

1. Aplikasi Event Organizer berbasis android sebagai media untuk

mempermudah pengguna dalam pemesanan sebuah event.

2. Aplikasi Event Organizer ini membantu masyarakat untuk pemesanan event

yang biasanya di lakukan secara manual atau mencari dengan sendiri , dan

aplikasi ini membantu masyarakat dengan mempermudah pemesanannya

secara online.

3. Aplikasi ini juga membantu Mitra untuk mempermudah mengiklankan usaha

yang dimiliki oleh Mitra tersebut

4. Dalam Aplikasi Event Organizer ini Mitra juga bisa memasang harga paket

dengan sesuai harga pasaran tanpa bantuan dari penulis.

5.2 Saran

Dari hasil tugas akhir ini dapat di sarankan sebagai berikut :

1. Bagi peneliti selanjutnya yang akan melanjutkan penelitian dari Tugas Akhir

penulis di mohon melengkapi kode verifikasi pada menu aplikasi Event

organizer karena penulis belum membuat kode verifikasi tersebut.

2. Dan untuk penelitian selanjutnya di mohon agar membuat tampilan yang

lebih menarik dari aplikasi yang penulis buat serta melakukan pemasaran ke

playstrore supaya aplikasi ini bisa dapat di pergunakan oleh banyak

masyarakat.

Page 49: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

35

DAFTAR PUSTAKA

Noor Galuh.(2015).konsep dasar android .Diperoleh 16 Maret 2018 jam 20:15:54

WITA, dari http://sam123040096.blogspot.co.id/2015/10/konsep-dasar-

android.html

Hunter Automotive.(2012).Java Development Kit (JDK).Diperoleh 12 Maret 2018

jam 15:00:35 WITA, dari

http://automotivehunter.blogspot.co.id/2012/08/java-development-kit-

jdk.html

Haidi Barasa.(2013).pengertian apache dan kelemahan Diperoleh 15 Maret 2018

jam 21:19:35 WITA, dari

https://haidibarasa.wordpress.com/2013/07/06/pengertian-kelebihan-dan-

kekurangan-apache/

Megananda, Y. 2009. 7 Langkah Jitu Membangun Bisnis Event Organizer. Buana

Ilmu Populer.DKI Jakarta

Ramadhaniatisari.(2017). Framework Hybrid App.Diperoleh 09 april 2018 jam

11:43:00 WITA, dari

http://ramadhaniatisari.blogspot.co.id/2017/10/framework-hybrid-

app.html

Zakas, C.N. 2012. Professional Java for Web Developers, Third Edition. Wrox,

Inc.

Page 50: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

36

LAMPIRAN

Page 51: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

37

1. Script untuk Registrasi User dan Mitra (RegisterActivity.java)

public class RegisterActivity extends AppCompatActivity {

private EditText namadepan,namabelakang,email,password,konfirmasi;

private Button signup;

private String

txtNamadepan,txtNamaBelakang,txtEmail,txtPswd,txtKonfirmasi,tipe,image;

private ProgressDialog progressDialog;

Config session;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_signup);

session = new Config(getApplicationContext());

tipe = getIntent().getExtras().getString("tipe");

image = Constants.URL_IMAGE;

namadepan = (EditText) findViewById(R.id.nama_depan);

namabelakang = (EditText) findViewById(R.id.nama_belakang);

email = (EditText) findViewById(R.id.email);

password = (EditText) findViewById(R.id.pswd);

konfirmasi = (EditText) findViewById(R.id.konfirmasi_pswd);

signup = (Button) findViewById(R.id.btn_signup);

progressDialog = new ProgressDialog(this);

signup.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

signUp();

}

});

}

private void signUp(){

txtNamadepan = namadepan.getText().toString();

txtNamaBelakang = namabelakang.getText().toString();

txtEmail = email.getText().toString();

txtPswd = password.getText().toString();

txtKonfirmasi = konfirmasi.getText().toString();

progressDialog.setMessage("Signing up user ...");

progressDialog.show();

StringRequest stringRequest = new StringRequest(Request.Method.POST,

Constants.URL_SIGNUP,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if (response.contains("success")) {

progressDialog.dismiss();

Toast.makeText(RegisterActivity.this,"Registrasi

Page 52: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

38

Berhasil",Toast.LENGTH_SHORT).show();

session.createLoginSession(txtEmail,txtPswd,tipe);

Intent intent = new Intent(RegisterActivity.this,MainActivity.class);

startActivity(intent);

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

progressDialog.hide();

Toast.makeText(getApplicationContext(), error.getMessage(),

Toast.LENGTH_LONG).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> params = new HashMap<>();

params.put("nama_depan", txtNamadepan);

params.put("nama_belakang", txtNamaBelakang);

params.put("email", txtEmail);

params.put("password", txtPswd);

params.put("tipe",tipe);

params.put("image",image);

return params;

}

};

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(stringRequest);

}

}

Page 53: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

39

2. Script untuk login User dan Mitra (LoginActivity.java)

public class LoginActivity extends AppCompatActivity {

Config session;

private TextView signup;

private EditText email,password;

private String txtEmail,txtPass;

private Button loginMitra,loginCustomer;

private static final String TAG = LoginActivity.class.getSimpleName();

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_login);

session = new Config(getApplicationContext());

email = (EditText) findViewById(R.id.input_user);

password = (EditText) findViewById(R.id.input_password);

loginMitra = (Button)findViewById(R.id.login_mitra);

loginCustomer = (Button)findViewById(R.id.login_customer);

loginMitra.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

loginMitras();

}

});

loginCustomer.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

login();

}

});

}

public void loginMitras(){

txtEmail = email.getText().toString();

txtPass = password.getText().toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.URL_LOGIN2,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if(response.trim().equals("success")){

Intent intent = new Intent(LoginActivity.this,MainActivity.class);

session.createLoginSession(txtEmail,txtPass,"mitra");

startActivity(intent);

}else{

Toast.makeText(getApplicationContext(),"Email and Password don't

match",Toast.LENGTH_LONG).show();

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(LoginActivity.this,error.toString(),Toast.LENGTH_LONG ).show();

}

Page 54: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

40

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> map = new HashMap<String,String>();

map.put("email",txtEmail);

map.put("password", txtPass);

return map;

}

};

RequestQueue requestQueue = Volley.newRequestQueue(this);

requestQueue.add(stringRequest);

}

public void login(){

txtEmail = email.getText().toString();

txtPass = password.getText().toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST, Constants.URL_LOGIN,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if(response.trim().equals("success")){

Intent intent = new Intent(LoginActivity.this,MainActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |

Intent.FLAG_ACTIVITY_CLEAR_TASK);

session.createLoginSession(txtEmail,txtPass,"customer");

startActivity(intent);

}else{

Toast.makeText(getApplicationContext(),"Email and Password don't

match",Toast.LENGTH_LONG).show();

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

Toast.makeText(LoginActivity.this,error.toString(),Toast.LENGTH_LONG ).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> map = new HashMap<String,String>();

map.put("email",txtEmail);

map.put("password", txtPass);

return map;

}

};

RequestQueue requestQueue = Volley.newRequestQueue(this);

requestQueue.add(stringRequest);

}

public void onBackPressed(){

finish();

}

}

Page 55: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

41

3. Script untuk Splash Screen (SplashAwal.java)

public class SplashAwal extends Activity {

private final int SPLASH_DISPLAY_LENGTH = 1000;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.splash_awal);

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

@Override

public void run() {

Intent intent = new Intent(SplashAwal.this,MainActivity.class);

intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK |

Intent.FLAG_ACTIVITY_CLEAR_TASK);

startActivity(intent);

}

},SPLASH_DISPLAY_LENGTH);

}

}

Page 56: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

42

4. Script untuk menampilkan daftar mitra (ListMitraActivity.java)

public class ListMitraActivity extends AppCompatActivity {

private static final String TAG = ListMitraActivity.class.getSimpleName();

private String kategori;

private ListView listView;

CustomAdapter myCustomAdapter=null;

private ArrayList<Mitra> mitras = new ArrayList<Mitra>();

private ArrayList<Kategori> kat = new ArrayList<Kategori>();

private String priceList,email,id_price,id;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_list_mitra);

kategori = getIntent().getExtras().getString("kategori");

listView = (ListView) findViewById(R.id.listView1);

myCustomAdapter=new CustomAdapter(this, mitras);

listView.setAdapter(myCustomAdapter);

callJson();

listView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

Mitra m = mitras.get(i);

id = m.getId();

email = m.getEmail();

callMitra();

}

});

}

public void callMitra(){

id_price="";

String url = Constants.URL_API+"?case=detailMitra&email="+email;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

Kategori mitra = new Kategori();

mitra.setId(obj.getString("id"));

mitra.setNama(obj.getString("nama_depan"));

mitra.setKategori(obj.getString("kategori"));

mitra.setEmail(obj.getString("email"));

mitra.setPass(obj.getString("password"));

mitra.setAlamat(obj.getString("alamat"));

mitra.setKontak(obj.getString("kontak"));

mitra.setPricelist(obj.getString("harga"));

id_price = obj.getString("id_price");

// adding movie to movies array

kat.add(mitra);

Page 57: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

43

} catch (JSONException e) {

e.printStackTrace();

}

}

Intent intent = new Intent(ListMitraActivity.this,DaftarHargaActivity.class);

intent.putExtra("id_price",id_price);

intent.putExtra("id_mitra",id);

startActivity(intent);

myCustomAdapter.notifyDataSetChanged();

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

public void callJson(){

String url = Constants.URL_API+"?case=listMitra&kategori="+kategori;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

Mitra mitra = new Mitra();

mitra.setId(obj.getString("id"));

mitra.setNamadepan(obj.getString("nama_depan"));

mitra.setImage(obj.getString("image"));

mitra.setKategori(obj.getString("kategori"));

mitra.setEmail(obj.getString("email"));

mitra.setPass(obj.getString("password"));

mitra.setAlamat(obj.getString("alamat"));

mitra.setKontak(obj.getString("kontak"));

priceList = obj.getString("pricelist");

mitra.setPricelist(priceList);

mitra.setRate(obj.getString("rating"));

// adding movie to movies array

mitras.add(mitra);

} catch (JSONException e) {

e.printStackTrace();

}

}

myCustomAdapter.notifyDataSetChanged();

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

Page 58: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

44

}

}

Page 59: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

45

5. Script untuk menu edit profil mitra (MitraActivity.java)

public class MitraActivity extends AppCompatActivity {

private static final int CAMERA_01 = 10;

ArrayList<String> listItems = new ArrayList<>();

ArrayAdapter<String> adapter;

Spinner unit;

private String spinnerVal;

Config session;

private String email,password;

private static final String TAG = MitraActivity.class.getSimpleName();

private String

ids,image,namadepan,namabelakang,kategori,email2,password2,alamat,kontak,namabank,norek,atsna

ma,priceList,url;

private EditText nm_depan,nm_blkg,email3,pass,almt,hub,nama_bank,nomor_rek,ats_nama;

private Button btnUpdate;

private ProgressDialog progressDialog;

private ImageView foto;

private String[] galleryPermissions = {Manifest.permission.READ_EXTERNAL_STORAGE,

Manifest.permission.WRITE_EXTERNAL_STORAGE};

Bitmap bitmap = null;

private String mbitmap;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_mitra_profile);

progressDialog = new ProgressDialog(this);

session = new Config(getApplicationContext());

session.checkLogin();

HashMap<String, String> user = session.getUserDetails();

email = user.get(Config.KEY_EMAIL);

password = user.get(Config.KEY_PASS);

mbitmap="";

foto = (ImageView)findViewById(R.id.card);

unit = (Spinner)findViewById(R.id.unit);

btnUpdate = (Button)findViewById(R.id.update);

nm_depan = (EditText)findViewById(R.id.namadepan);

nm_blkg = (EditText)findViewById(R.id.namabelakang);

almt = (EditText)findViewById(R.id.alamat);

hub = (EditText)findViewById(R.id.kontak);

nama_bank = (EditText)findViewById(R.id.bank);

nomor_rek = (EditText)findViewById(R.id.norek);

ats_nama = (EditText)findViewById(R.id.an);

adapter = new ArrayAdapter<String>(this, R.layout.spinner, R.id.txt, listItems);

unit.setAdapter(adapter);

callJson();

foto.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Page 60: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

46

if (EasyPermissions.hasPermissions(MitraActivity.this, galleryPermissions)) {

pickImageFromGallery();

} else {

EasyPermissions.requestPermissions(this, "Access for storage",

101, galleryPermissions);

}

}

});

btnUpdate.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

update();

}

});

}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

ImageView bmImage;

public DownloadImageTask(ImageView bmImage) {

this.bmImage = bmImage;

}

protected Bitmap doInBackground(String... urls) {

String urldisplay = urls[0];

Bitmap mIcon11 = null;

try {

InputStream in = new java.net.URL(urldisplay).openStream();

mIcon11 = BitmapFactory.decodeStream(in);

} catch (Exception e) {

Log.e("Error", e.getMessage());

e.printStackTrace();

}

return mIcon11;

}

protected void onPostExecute(Bitmap result) {

bmImage.setImageBitmap(result);

}

}

public void pickImageFromGallery(){

Intent intent = new Intent(Intent.ACTION_PICK,

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent,CAMERA_01);

}

public void onActivityResult(int requestCode, int resultCode, Intent data){

super.onActivityResult(requestCode,resultCode,data);

if(requestCode == CAMERA_01){

if(resultCode == RESULT_OK && null != data){

try{

bitmap = MediaStore.Images.Media.getBitmap(MitraActivity.this.getContentResolver(),

data.getData());

}catch (IOException e){

e.printStackTrace();

}

ByteArrayOutputStream output = new ByteArrayOutputStream();

Bitmap resized = Bitmap.createScaledBitmap(bitmap, 150, 125, true);

resized.compress(Bitmap.CompressFormat.PNG,50,output);

byte[] byte_arr = output.toByteArray();

Page 61: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

47

mbitmap = Base64.encodeToString(byte_arr, Base64.DEFAULT);

ImageView imgView = (ImageView) findViewById(R.id.card);

// Set the Image in ImageView after decoding the String

imgView.setImageBitmap(resized);

} else {

Toast.makeText(this, "You haven't picked Image",

Toast.LENGTH_LONG).show();

}

}

}

public void update(){

namadepan = nm_depan.getText().toString();

namabelakang = nm_blkg.getText().toString();

alamat = almt.getText().toString();

kontak = hub.getText().toString();

namabank = nama_bank.getText().toString();

norek = nomor_rek.getText().toString();

atsnama = ats_nama.getText().toString();

kategori = unit.getSelectedItem().toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST,

Constants.URL_UPDATE,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if (response.contains("success")) {

progressDialog.dismiss();

Toast.makeText(MitraActivity.this,"Update Berhasil",Toast.LENGTH_SHORT).show();

finish();

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

progressDialog.hide();

Toast.makeText(getApplicationContext(), error.getMessage(),

Toast.LENGTH_LONG).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> params = new HashMap<>();

params.put("id", ids);

params.put("namadepan", namadepan);

params.put("namabelakang", namabelakang);

params.put("image",mbitmap);

params.put("kategori",kategori);

params.put("alamat", alamat);

params.put("kontak", kontak);

params.put("bank", namabank);

params.put("norek", norek);

params.put("atsnama",atsnama);

params.put("url",Constants.URL_IMAGE);

return params;

}

};

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(stringRequest);

}

Page 62: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

48

public void callJson(){

image="";

String url = Constants.URL_API+"?case=profilMitra&email="+email+"&pass="+password;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

Mitra mitra = new Mitra();

ids = obj.getString("id");

namadepan = obj.getString("nama_depan");

namabelakang = obj.getString("nama_belakang");

image = obj.getString("image");

kategori = obj.getString("kategori");

alamat = obj.getString("alamat");

kontak = obj.getString("kontak");

namabank = obj.getString("namabank");

norek = obj.getString("norek");

atsnama = obj.getString("atasnama");

priceList = obj.getString("pricelist");

} catch (JSONException e) {

e.printStackTrace();

}

}

nm_depan.setText(namadepan);

nm_blkg.setText(namabelakang);

almt.setText(alamat);

hub.setText(kontak);

nama_bank.setText(namabank);

nomor_rek.setText(norek);

ats_nama.setText(atsnama);

if(image.equals("")){

foto.setImageResource(R.drawable.logo);

}else{

new MitraActivity.DownloadImageTask((ImageView)findViewById(R.id.card))

.execute(image);

}

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

public void onStart() {

super.onStart();

MitraActivity.BackTask bt = new MitraActivity.BackTask();

bt.execute();

}

private class BackTask extends AsyncTask<Void, Void, Void> {

Page 63: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

49

ArrayList<String> list;

protected void onPreExecute() {

super.onPreExecute();

list = new ArrayList<>();

}

protected Void doInBackground(Void... params) {

InputStream is = null;

String result = "";

try {

HttpClient httpclient = new DefaultHttpClient();

HttpPost httppost = new HttpPost(Constants.URL_KATEGORI);

HttpResponse response = httpclient.execute(httppost);

HttpEntity entity = response.getEntity();

// Get our response as a String.

is = entity.getContent();

} catch (IOException e) {

e.printStackTrace();

}

//convert response to string

try {

BufferedReader reader = new BufferedReader(new InputStreamReader(is, "utf-8"));

String line = null;

while ((line = reader.readLine()) != null) {

result += line;

}

is.close();

//result=sb.toString();

} catch (Exception e) {

e.printStackTrace();

}

// parse json data

try {

JSONArray jArray = new JSONArray(result);

for (int i = 0; i < jArray.length(); i++) {

JSONObject jsonObject = jArray.getJSONObject(i);

// add interviewee name to arraylist

list.add(jsonObject.getString("kategori"));

}

} catch (JSONException e) {

e.printStackTrace();

}

return null;

}

protected void onPostExecute(Void result) {

listItems.addAll(list);

String compareValue = kategori;

if (compareValue != null) {

int spinnerPosition = adapter.getPosition(compareValue);

unit.setSelection(spinnerPosition);

}

adapter.notifyDataSetChanged();

}

}

}

Page 64: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

50

6. Script untuk menu edit paket mitra

public class HargaActivity extends AppCompatActivity {

private static final String TAG = HargaActivity.class.getSimpleName();

Config session;

private String email,password,ids,value,nilai,status,kategori,foto,keterangan,ket2;

private EditText harga,ket;

private Spinner unit;

private Button update;

private ImageView gambar;

private String[] galleryPermissions = {Manifest.permission.READ_EXTERNAL_STORAGE,

Manifest.permission.WRITE_EXTERNAL_STORAGE};

private static final int CAMERA_01 = 10;

Bitmap bitmap = null;

private String mbitmap;

private ProgressDialog progressDialog;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_update_harga);

session = new Config(getApplicationContext());

mbitmap="";

ids = getIntent().getExtras().getString("id_price");

HashMap<String, String> user = session.getUserDetails();

email = user.get(Config.KEY_EMAIL);

password = user.get(Config.KEY_PASS);

unit = (Spinner)findViewById(R.id.unit);

harga = (EditText)findViewById(R.id.harga);

update = (Button)findViewById(R.id.update);

gambar = (ImageView)findViewById(R.id.foto);

ket = (EditText)findViewById(R.id.ket);

progressDialog = new ProgressDialog(this);

// Toast.makeText(this,email+", "+password,Toast.LENGTH_SHORT).show();

callJson();

gambar.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

if (EasyPermissions.hasPermissions(HargaActivity.this, galleryPermissions)) {

pickImageFromGallery();

} else {

EasyPermissions.requestPermissions(this, "Access for storage",

101, galleryPermissions);

}

}

});

update.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

update();

}

});

unit.setOnItemSelectedListener(new AdapterView.OnItemSelectedListener() {

Page 65: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

51

@Override

public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l) {

callJson();

}

@Override

public void onNothingSelected(AdapterView<?> adapterView) {

}

});

}

public void update(){

String url =

Constants.URL_API+"?case=check&email="+email+"&pass="+password+"&kategori="+unit.getSelec

tedItem().toString();

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

status = obj.getString("status");

} catch (JSONException e) {

e.printStackTrace();

}

}

if(status.equals("success")){

updateHrg();

}else if(status.equals("failed")){

insertHarga();

}

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

public void insertHarga(){

nilai = harga.getText().toString();

keterangan = ket.getText().toString();

value = unit.getSelectedItem().toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST,

Constants.URL_INSERT_HARGA,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if (response.contains("success")) {

progressDialog.dismiss();

Toast.makeText(HargaActivity.this,"Input Berhasil",Toast.LENGTH_SHORT).show();

finish();

Page 66: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

52

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

progressDialog.hide();

Toast.makeText(getApplicationContext(), error.getMessage(),

Toast.LENGTH_LONG).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> params = new HashMap<>();

params.put("id_price", ids);

params.put("kategori", value);

params.put("harga", nilai);

params.put("foto",mbitmap);

params.put("keterangan",keterangan);

params.put("url",Constants.URL_IMAGES);

return params;

}

};

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(stringRequest);

}

public void updateHrg(){

nilai = harga.getText().toString();

keterangan = ket.getText().toString();

value = unit.getSelectedItem().toString();

StringRequest stringRequest = new StringRequest(Request.Method.POST,

Constants.URL_UPDATE_HARGA,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if (response.contains("success")) {

progressDialog.dismiss();

Toast.makeText(HargaActivity.this,"Update Berhasil",Toast.LENGTH_SHORT).show();

finish();

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

progressDialog.hide();

Toast.makeText(getApplicationContext(), error.getMessage(),

Toast.LENGTH_LONG).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> params = new HashMap<>();

params.put("id_price", ids);

params.put("kategori", kategori);

params.put("harga", nilai);

params.put("foto",mbitmap);

params.put("keterangan",keterangan);

params.put("url",Constants.URL_IMAGES);

return params;

}

Page 67: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

53

};

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(stringRequest);

}

public void callJson(){

foto="";

nilai = "";

ket2="";

value = unit.getSelectedItem().toString();

String url =

Constants.URL_API+"?case=mitra&email="+email+"&pass="+password+"&kategori="+value;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

ids = obj.getString("id_price");

nilai = obj.getString("harga");

kategori = obj.getString("kategori");

foto = obj.getString("foto");

ket2 = obj.getString("keterangan");

} catch (JSONException e) {

e.printStackTrace();

}

}

if(foto.equals("")){

gambar.setImageResource(R.drawable.logo);

}else{

new HargaActivity.DownloadImageTask((ImageView)findViewById(R.id.foto))

.execute(foto);

}

ket.setText(ket2);

harga.setText(nilai);

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

ImageView bmImage;

public DownloadImageTask(ImageView bmImage){

this.bmImage = bmImage;

}

protected Bitmap doInBackground(String... urls) {

String urldisplay = urls[0];

Bitmap mIcon11 = null;

try {

Page 68: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

54

InputStream in = new java.net.URL(urldisplay).openStream();

mIcon11 = BitmapFactory.decodeStream(in);

} catch (Exception e) {

Log.e("Error", e.getMessage());

e.printStackTrace();

}

return mIcon11;

}

protected void onPostExecute(Bitmap result) {

bmImage.setImageBitmap(result);

}

}

public void pickImageFromGallery(){

Intent intent = new Intent(Intent.ACTION_PICK,

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent,CAMERA_01);

}

public void onActivityResult(int requestCode, int resultCode, Intent data){

super.onActivityResult(requestCode,resultCode,data);

if(requestCode == CAMERA_01){

if(resultCode == RESULT_OK && null != data){

try{

bitmap = MediaStore.Images.Media.getBitmap(HargaActivity.this.getContentResolver(),

data.getData());

}catch (IOException e){

e.printStackTrace();

}

ByteArrayOutputStream output = new ByteArrayOutputStream();

Bitmap resized = Bitmap.createScaledBitmap(bitmap, 150, 150, true);

resized.compress(Bitmap.CompressFormat.PNG,50,output);

byte[] byte_arr = output.toByteArray();

mbitmap = Base64.encodeToString(byte_arr, Base64.DEFAULT);

ImageView imgView = (ImageView) findViewById(R.id.foto);

// Set the Image in ImageView after decoding the String

imgView.setImageBitmap(resized);

} else {

Toast.makeText(this, "You haven't picked Image",

Toast.LENGTH_LONG).show();

}

}

}

}

Page 69: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

55

7. Script untuk menu list paket

public class DaftarHargaActivity extends AppCompatActivity {

private static final String TAG = DaftarHargaActivity.class.getSimpleName();

GridView gridView;

private String id_price,kategori,id,id_mitra;

private ArrayList<Harga> price = new ArrayList<Harga>();

GridAdapter gridAdapter=null;

private Button btnBack, btnNext;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_grid);

gridView = (GridView) findViewById(R.id.gridView1);

gridAdapter=new GridAdapter(this, price);

gridView.setAdapter(gridAdapter);

id_price = getIntent().getExtras().getString("id_price");

id_mitra = getIntent().getExtras().getString("id_mitra");

btnBack = (Button)findViewById(R.id.btnBack);

btnNext = (Button)findViewById(R.id.btnNext);

callDetail();

gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {

@Override

public void onItemClick(AdapterView<?> adapterView, View view, int i, long l) {

Harga m = price.get(i);

id = m.getId();

// Toast.makeText(DaftarHargaActivity.this,id,Toast.LENGTH_SHORT).show();

Intent intent = new Intent(DaftarHargaActivity.this,DetailPaketActivity.class);

intent.putExtra("id",id);

startActivity(intent);

}

});

btnBack.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

finish();

}

});

btnNext.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(DaftarHargaActivity.this,PaymentActivity.class);

intent.putExtra("id_mitra",id_mitra);

intent.putExtra("id_price",id_price);

startActivity(intent);

}

});

}

public void callDetail(){

String url = Constants.URL_API+"?case=harga_mitra&id_price="+id_price;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

Page 70: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

56

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

Harga mitra = new Harga();

mitra.setId(obj.getString("id"));

mitra.setKategori(obj.getString("kategori"));

kategori = obj.getString("kategori");

mitra.setPricelist(obj.getString("harga"));

// adding movie to movies array

price.add(mitra);

} catch (JSONException e) {

e.printStackTrace();

}

}

gridAdapter.notifyDataSetChanged();

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

}

Page 71: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

57

8. Script untuk menu detail paket

public class DetailPaketActivity extends AppCompatActivity {

private static final String TAG = DetailPaketActivity.class.getSimpleName();

private String id,image,ket;

private ImageView foto;

private TextView keterangan;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_paket);

id = getIntent().getExtras().getString("id");

foto = (ImageView) findViewById(R.id.foto);

keterangan = (TextView)findViewById(R.id.keterangan);

// Toast.makeText(this,id,Toast.LENGTH_SHORT).show();

callJson();

}

public void callJson(){

String url = Constants.URL_API+"?case=paket&id="+id;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

image = obj.getString("foto");

ket = obj.getString("keterangan");

} catch (JSONException e) {

e.printStackTrace();

}

}

keterangan.setText(ket);

new DetailPaketActivity.DownloadImageTask((ImageView)findViewById(R.id.foto))

.execute(image);

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

private class DownloadImageTask extends AsyncTask<String, Void, Bitmap> {

ImageView bmImage;

public DownloadImageTask(ImageView bmImage) {

this.bmImage = bmImage;

}

Page 72: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

58

protected Bitmap doInBackground(String... urls) {

String urldisplay = urls[0];

Bitmap mIcon11 = null;

try {

InputStream in = new java.net.URL(urldisplay).openStream();

mIcon11 = BitmapFactory.decodeStream(in);

} catch (Exception e) {

Log.e("Error", e.getMessage());

e.printStackTrace();

}

return mIcon11;

}

protected void onPostExecute(Bitmap result) {

bmImage.setImageBitmap(result);

}

}

}

Page 73: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

59

9. Detail untuk informasi pembayaran

public class PaymentActivity extends AppCompatActivity {

private static final String TAG = PaymentActivity.class.getSimpleName();

private String email,password;

private TextView norek,bank,nama,total;

private String id_price,id_mitra;

private String

id,nama_depan,nama_belakang,image,kategori,emails,pass,alamat,kontak,namabank,noreks,atasnama

,pricelist;

private Button btnBayar;

Config session;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_payment);

norek = (TextView)findViewById(R.id.nomor_rek);

bank = (TextView)findViewById(R.id.bank);

nama = (TextView)findViewById(R.id.nama_pemilik);

total = (TextView)findViewById(R.id.total);

btnBayar = (Button)findViewById(R.id.btnBayar);

id_price = getIntent().getExtras().getString("id_price");

id_mitra = getIntent().getExtras().getString("id_mitra");

callJson();

btnBayar.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

Intent intent = new Intent(PaymentActivity.this,UploadBuktiActivity.class);

intent.putExtra("id_mitra",id_mitra);

intent.putExtra("id_price",id_price);

startActivity(intent);

}

});

}

public void callJson(){

String url = Constants.URL_API+"?case=payment&id_price="+id_price;

JsonArrayRequest schoolReq = new JsonArrayRequest(url,

new Response.Listener<JSONArray>() {

@Override

public void onResponse(JSONArray response) {

Log.d(TAG, response.toString());

// Parsing json

for (int i = 0; i < response.length(); i++) {

try {

JSONObject obj = response.getJSONObject(i);

namabank = obj.getString("namabank");

noreks = obj.getString("norek");

atasnama = obj.getString("atasnama");

pricelist = obj.getString("harga");

} catch (JSONException e) {

e.printStackTrace();

}

}

Page 74: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

60

norek.setText(noreks);

bank.setText(namabank);

nama.setText(atasnama);

total.setText(pricelist);

}

}, new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

VolleyLog.d(TAG, "Error: " + error.getMessage());

}

});

// Adding request to request queue

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(schoolReq);

}

}

Page 75: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

61

10. Detail untuk upload bukti pembayaran

public class UploadBuktiActivity extends AppCompatActivity {

private static final String TAG = UploadBuktiActivity.class.getSimpleName();

private String[] galleryPermissions = {Manifest.permission.READ_EXTERNAL_STORAGE,

Manifest.permission.WRITE_EXTERNAL_STORAGE};

private Button btnUpload,submit;

private static final int CAMERA_01 = 10;

Bitmap bitmap = null;

private String mbitmap,id_price,id_mitra;

private ProgressDialog progressDialog;

private LinearLayout container;

private LayoutInflater inflater;

private View divider;

private RatingBar ratingBar;

private String rateValue,emails;

Config session;

@Override

public void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_upload_bukti);

session = new Config(getApplicationContext());

HashMap<String, String> user = session.getUserDetails();

mbitmap="";

container = (LinearLayout)findViewById(R.id.container);

inflater = LayoutInflater.from(this);

divider = inflater.inflate(R.layout.item_finish,null,false);

id_price = getIntent().getExtras().getString("id_price");

id_mitra = getIntent().getExtras().getString("id_mitra");

progressDialog = new ProgressDialog(this);

btnUpload = (Button)findViewById(R.id.btnUpload);

emails = user.get(Config.KEY_EMAIL);

ratingBar = (RatingBar)divider.findViewById(R.id.rating);

submit = (Button)divider.findViewById(R.id.btnSubmit);

ratingBar.setOnRatingBarChangeListener(new RatingBar.OnRatingBarChangeListener() {

@Override

public void onRatingChanged(RatingBar ratingBar, float v, boolean b) {

rateValue = String.valueOf(v);

}

});

submit.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

submitRate();

}

});

btnUpload.setOnClickListener(new View.OnClickListener() {

@Override

public void onClick(View view) {

if (EasyPermissions.hasPermissions(UploadBuktiActivity.this, galleryPermissions)) {

pickImageFromGallery();

} else {

Page 76: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

62

EasyPermissions.requestPermissions(this, "Access for storage",

101, galleryPermissions);

}

}

});

}

public void submitRate(){

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

progressDialog.show();

StringRequest stringRequest = new StringRequest(Request.Method.POST,

Constants.URL_RATE,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if (response.contains("success")) {

progressDialog.dismiss();

Intent intent = new Intent(UploadBuktiActivity.this,SplashAkhir.class);

startActivity(intent);

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

progressDialog.hide();

Toast.makeText(getApplicationContext(), error.getMessage(),

Toast.LENGTH_LONG).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> params = new HashMap<>();

params.put("id_mitra", id_mitra);

params.put("email_user", emails);

params.put("rating", rateValue);

return params;

}

};

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(stringRequest);

}

public void pickImageFromGallery(){

Intent intent = new Intent(Intent.ACTION_PICK,

android.provider.MediaStore.Images.Media.EXTERNAL_CONTENT_URI);

startActivityForResult(intent,CAMERA_01);

}

public void onActivityResult(int requestCode, int resultCode, Intent data){

super.onActivityResult(requestCode,resultCode,data);

if(requestCode == CAMERA_01){

if(resultCode == RESULT_OK && null != data){

try{

bitmap = MediaStore.Images.Media.getBitmap(UploadBuktiActivity.this.getContentResolver(),

data.getData());

}catch (IOException e){

e.printStackTrace();

}

ByteArrayOutputStream output = new ByteArrayOutputStream();

Bitmap resized = Bitmap.createScaledBitmap(bitmap, 150, 150, true);

resized.compress(Bitmap.CompressFormat.PNG,50,output);

Page 77: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

63

byte[] byte_arr = output.toByteArray();

mbitmap = Base64.encodeToString(byte_arr, Base64.DEFAULT);

uploadBukti();

} else {

Toast.makeText(this, "You haven't picked Image",

Toast.LENGTH_LONG).show();

}

}

}

public void uploadBukti(){

StringRequest stringRequest = new StringRequest(Request.Method.POST,

Constants.URL_UPLOAD_TRF,

new Response.Listener<String>() {

@Override

public void onResponse(String response) {

if (response.contains("success")) {

progressDialog.dismiss();

Toast.makeText(UploadBuktiActivity.this,"Upload

Berhasil",Toast.LENGTH_SHORT).show();

}

}

},

new Response.ErrorListener() {

@Override

public void onErrorResponse(VolleyError error) {

progressDialog.hide();

Toast.makeText(getApplicationContext(), error.getMessage(),

Toast.LENGTH_LONG).show();

}

}){

@Override

protected Map<String, String> getParams() throws AuthFailureError {

Map<String,String> params = new HashMap<>();

params.put("id_price", id_price);

params.put("foto", mbitmap);

params.put("url", Constants.URL_BUKTI);

return params;

}

};

RequestQueue rq = Volley.newRequestQueue(this);

rq.add(stringRequest);

btnUpload.setVisibility(View.GONE);

container.addView(divider);

}

}

Page 78: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

64

Page 79: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

65

Page 80: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

66

Page 81: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

67

Page 82: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

68

Page 83: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

69

Page 84: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

70

Page 85: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

71

Page 86: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

72

Page 87: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

73

Page 88: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

74

Page 89: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

75

Page 90: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

76

Page 91: TUGAS AKHIR - spmi.poltekba.ac.idspmi.poltekba.ac.id/spmi/fileTA/150309276993_2018.pdf · pembuatan aplikasi event organizer berbasis android dengan menggunakan android studio dengan

77