Anda di halaman 1dari 352

RANCANG BANGUN SISTEM INFORMASI

AKADEMIK DI THE PREMIERE TRAINING


CENTER BERBASIS ANDROID

SKRIPSI
Disusun Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
dari Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang

Oleh:
DAVID SENTOT PRASETHIO
1241177004027

PROGRAM STUDI TEKNIK INFORMATIKA


FAKULTAS ILMU KOMPUTER
UNIVERSITAS SINGAPERBANGSA KARAWANG
KARAWANG
2017
LEMBAR PENGESAHAN

RANCANG BANGUN SISTEM INFORMASI AKADEMIK


DI THE PREMIERE TRAINING CENTER
BERBASIS ANDROID

SKRIPSI
Disusun Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
dari Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang

Oleh :
DAVID SENTOT PRASETHIO
1241177004027

Disetujui oleh :
Pembimbing 1 Pembimbing 2

Oman Komarudin, S. Si., M. Kom. Asep Jamaludin, S. Si., M. Kom.


NIDN : 0406047702 NIDN : 0010017606

Karawang, 19 April 2017


Diketahui dan disahkan
Oleh :
Dekan Fakultas Ilmu Komputer

Oman Komarudin, S. Si., M. Kom.


NIDN : 0406047702
LEMBAR PENGESAHAN PENGUJI

RANCANG BANGUN SISTEM INFORMASI AKADEMIK


DI THE PREMIERE TRAINING CENTER
BERBASIS ANDROID

SKRIPSI
Disusun Sebagai Salah Satu Syarat untuk Memperoleh Gelar Sarjana Komputer
dari Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang

Oleh :
DAVID SENTOT PRASETHIO
1241177004027

Disetujui oleh :
Penguji 1 Penguji 2

E. Haodudin Nurkifli, S.T., M.Cs. Riza Ibnu Adam, M.Si.


NIDN : 0003048503 NIDN : 0006119002

Karawang, 19 April 2017


Diketahui dan disahkan
Oleh :
Dekan Fakultas Ilmu Komputer

Oman Komarudin, S. Si., M. Kom.


NIDN : 0406047702
“Orang yang pintar bukanlah orang yang merasa
pintar, akan tetapi ia adalah orang yang merasa bodoh,
dengan begitu ia tak akan pernah berhenti untuk terus
belajar”

“Orang berilmu tentu memiliki kepribadian


tangguh, yang bisa membawa diri, keluarga dan orang
lain menuju kebahagiaan, serta bernilai manfaat bagi
sesama”

“Tragedi terbesar dalam kehidupan bukanlah


sebuah kematian, tapi hidup tanpa tujuan. Karena itu,
teruslah bermimpi untuk menggapai tujuan dan
harapan, agar hidup bisa lebih bermakna”
Ya Allah...
Kujalani waktu dengan jalan hidup yang sudah engkau
berikan untuk menjadi takdirku, Engkau berikan aku kekuatan yang
sangat luar biasa, sehingga aku diberi kesempatan untuk berada di
penghujung awal perjuanganku.
Segala Puji bagi Mu ya Allah...

Alhamdulillah....Alhamdulillahirobbil’alamin....
Sujud syukur kupersembahkan kepada-Mu Dzat yang maha
mulia dari segalanya, telah kau jadikan aku manusia yang
senantiasa berfikir, berilmu, beriman, dan bersabar dalam
menjalani hidup. Semoga keberhasilan ini menjadi satu langkah
awal untuk meraih cita-cita besarku.

Kepada Ayah dan Ibu tersayang, karya kecil ini


kupersembahkan untukmu. Tiada kata yang bisa menggantikan
segala sayang, usaha, semangat, dan juga uang yang telah
dicurahkan untuk menyelesaikan karya kecil putra pertamamu ini.
Terimalah bukti kecil ini yang mungkin tidak sebanding dengan
pengorbananmu sebagai kado keseriusanku untuk membalas yang
sudah kalian berikan kepadaku. Maafkan anakmu Ayah., Ibu., yang
selalu menyusahkanmu..

Teruntuk adikku yang sedang berjibaku di bangku


kuliahnya, tiada yang paling mengharukan saat berkumpul
bersama, walaupun sering bertengkar tapi hal itu selalu menjadi
warna yang tak akan bisa tergantikan, terimakasih atas doa dan
bantuannya selama ini, tugas akhir ini kakak persembahkan untuk
jadi motivasi dan pengingat semangatmu. Luluslah lebih cepat dan
lebih baik dari kakakmu ini.
Serta kepada Seluruh keluarga besarku yang kusayangi dan
kukasihi terima kasih atas motivasinya selama ini.

Tak lupa, sahabat dan teman seperjuangan yang tak


mungkin disebutkan satu persatu, perkuliahan akan tidak ada rasa
jika tanpa kalian , pasti tidak ada yang akan dikenang, tidak ada
yang diceritakan pada masa depan. Ku ucapkan terimakasih yang
sebesar-besarnya. Mohon maaf jika ada salah kata. Sukses buat
kalian semua. Semoga Allah memberikan Rahmat dan hidayah-Nya
kepada kita semua. Amin.....
ABSTRAK

RANCANG BANGUN SISTEM INFORMASI AKADEMIK


DI THE PREMIERE TRAINING CENTER
BERBASIS ANDROID

David Sentot Prasethio*


Program Studi Teknik Informatika
Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang 2016
Pembimbing 1 : Oman Komarudin, S. Si., M. Kom.**
Pembimbing 2 : Asep Jamaludin, S. Si., M. Kom.**

The Premiere Training Center merupakan sebuah lembaga yang bergerak dibidang
pelatihan. Sistem informasi yang sedang berjalan pada lembaga tersebut yaitu
informasi hasil pelatihan dimasukan ke dalam microsoft excel dan selanjutnya
diprint lalu diberikan kepada peserta sehingga peserta harus datang ke tempat
pelatihan untuk mendapatkan hasil pelatihan. Untuk informasi daftar pelatihan,
jadwal pelatihan dan data pelatih bisa dilihat via website yang harus di akses
menggunkan komputer yang terkoneksi dengan jaringan internet atau dilihat pada
kertas brosur yang terdapat pada tempat pelatihan, sehingga jika kertas brosur yang
dibawa oleh peserta hilang atau rusak peserta harus datang kembali ke tempat
pelatihan untuk mendapatkan kertas brosur dan bagi calon peserta yang ingin
mendaftar sebagai peserta yang ingin melakukan pelatihan harus datang ketempat
pelatihan tersebut. Berdasarkan permasalahan tersebut, akan dibangun sebuah
sistem informasi akademik yang akan diimplementasikan pada smartphone
berbasis android yang diharapkan dapat membantu peserta maupun calon peserta
untuk mendapatkan informasi yang dibutuhkan. Penelitian ini menggunakan
metode Software Development Life Cycle (SDLC) dengan model prototype dan
dengan tahapan pengumpulan kebutuhan dan analisis, membangun prototype dan
mengevaluasi prototype, pengkodean sistem, pengujian sistem dan evaluasi sistem
dan selanjutnya penggunaan sistem. Tools yang digunakan untuk membangun
aplikasi ini yaitu Android Studio dan Notepad++. Hasil penelitian ini yaitu aplikasi
sistem informasi akademik yang berjalan pada smartphone berbasis android yang
dapat menampilkan informasi data peserta, jadwal pelatihan, hasil pelatihan, daftar
pelatihan, data pelatih dan registrasi online yang dapat di akses oleh peserta
dimanapun dan kapanpun mereka berada. Berdasarkan hasil yang diambil dari
kuisioner yang diberikan kepada peserta dan calon peserta, menyatakan dengan
presentase 40,2% sangat setuju, 57,1% setuju dan 2,7% kurang setuju aplikasi yang
dibangun dapat diterima dan dapat membantu peserta maupun calon peserta untuk
mencari informasi yang dibutuhkan.

Kata Kunci : Android Studio, Sistem Informasi Akademik, Software


Development Life Cycle (SDLC)
Alamat : * Perumnas Bumi Teluk Jambe, Blok S/533 Rt 006, Rw 007
Desa Sukaluyu, Kecamatan Teluk Jambe Timur, Kabupaten
Karawang 41361
david.sentot@student.unsika.ac.id
** Fakultas Ilmu Komputer UNSIKA

i
ABSTRACT

DESIGN OF THE PREMIERE TRAINING CENTER, AN ANDROID


BASED ACADEMIC INFORMATION SYSTEM

David Sentot Prasethio*


Irformatic Enginerering Study Program
Faculty of Computer Science University of Singaperbangsa Karawang 2016
Preceptop 1 : Oman Komarudin, S. Si., M. Kom.**
Preceptop 2 : Asep Jamaludin, S. Si., M. Kom.**

The Premiere Training Center is an institution engaged in training. The


information system that is running on the institution contains the result of training
information that inputed into Microsoft Excel and then printed and given to the
participants. So, the participants have come to the training ground to get the
training. For a list of the training, the training schedule and the list of instructors
can be viewed via the website which should be accessed using the computer that
connected to the internet or viewed on a paper brochure contained on-site training,
so that if the paper brochure brought by the participant is missing or damaged
participants must come back to the training ground to get a paper brochure and
for candidates who wish to register as a participant or wants to do the training
must come to the training field. Based on these problems, the researcher built an
academic information system that will be implemented on the android based
smartphone that is expected to help participants and prospective participants to
obtain the required information. This study uses a Software Development Life
Cycle (SDLC) with a prototype model and the stages of requirements gathering
and analysis, build a prototype and evaluate prototype, coding systems, system
testing and system evaluation and further use of the system. The tools that
researcher used to build this application is Android Studio and Notepad++. The
results of this research that academic information system applications can run on
Android-based smartphone and can display data information of participants, the
training schedule, training results, a list of the training section, the list of
instructors and online registration can be accessed by participants wherever and
whenever they are. Based on the results taken from a questionnaire who given to
the participants and potential participants, expressed with a percentage of 40.2%
strongly agreed, 57.1% disagreed and 2.7% disagree built this applications, also
this applications can be accepted and can help participants and prospective
participants to find information needed.

Keywords : Android Studio, Academic Information System, Software


Development Life Cycle (SDLC)

Address : * Perumnas Bumi Teluk Jambe, Blok S/533 Rt 006, Rw 007


Village Sukaluyu, Subdistrict Teluk Jambe Timur,
Karawang District 41361
david.sentot@student.unsika.ac.id
** Faculty of Computer Science UNSIKA

ii
KATA PENGANTAR

Assalamu‟alaikum warahmatullahi wabarakatuh.

Segala puji dan syukur penulis panjatkan kehadirat Allah SWT atas
limpahan Rahmat dan Karunia-Nya, serta shalawat beserta salam semoga
senantiasa terlimpah curahkan kepada kepada junjungan umat muslim Nabi
Muhammad SAW, sehingga penulis dapat menyelesaikan tugas akhir penyusunan
skripsi yang berjudul “Rancang Bangun Sistem Informasi Akademik The Premiere
Training Center Berbasis Android”.

Penyusunan skripsi ini dilakukan untuk memenuhi salah satu syarat dalam
menempuh ujian Sarjana Komputer pada Program Studi Teknik Informatika
Universitas Singaperbangsa Karawang.
Terwujudnya keberhasilan pada penyusunan skripsi ini tidak lepas dari
kemudahan dan kelapangan yang diberikan Allah SWT serta bantuan dari berbagai
pihak yang telah mendorong dan membimbing penulis, baik tenaga, ide-ide,
maupun pemikiran. Oleh karena itu dengan tidak mengurangi rasa hormat dalam
kesempatan ini penulis ingin mengucapkan terima kasih yang sebesar-besarnya
kepada semua pihak yang telah memberikan bantuannya secara langsung maupun
tidak langsung. Khususnya kepada :
1. Rektor Universitas Singaperbangsa Karawang Bapak Prof. Dr. H. Moch.
Wahyudin Zarkasyi, SE.,MS,Ak,CPA
2. Dekan Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang Bapak
Oman Komarudin, S.Si., M.Kom. yang juga menjadi dosen pembimbing 1
yang telah banyak meluangkan waktu untuk memberikan motivasi dan
semangat yang luar biasa sehingga penulis dapat menyelesaikan penyusunan
skripsi ini.
3. Wakil Dekan Fakultas Ilmu Komputer Universitas Singaperbangsa Karawang
Bapak Ade Andri Hendriadi, S.Si., M.Kom.
4. Ketua Program Studi Teknik Informatika Universitas Singaperbangsa
Karawang Bapak Aries Suharso, S.Si., M.Kom.

iii
5. Dosen Pembimbing 2 Bapak Asep Jamaludin, S. Si., M. Kom., yang telah
banyak meluangkan waktu untuk memberikan motivasi, bimbingan serta
pengarahannya dalam penyusunan skripsi ini.
6. Kedua orang tuaku, Ibu Ida Wahdianingrum dan Bapak Bambang Sentot
Tarmono dan adikku Devi Suci Fitria yang sangat aku cintai dan yang tidak
kenal lelah untuk selalu memberikan doa serta ridhonya agar penulis
menyelesaikan skripsi ini.
7. Terima kasih kepada Indri Apriani yang selalu memberikan semangat dan
doanya setiap hari.
8. Sahabat-sahabatku Keluarga Cemara Edwin, Nugi, Apep, Putra, Ilato, Fiki,
Elga dan keluarga besar Fasilkom Kelas H 2012 yang selalu membantu dan
memberikan dukungannya.
9. Rekan-rekan wifi.id Telkom dan Kantiners Team yang selalu menemani dalam
penyusunan skrpsi.
10. Semua dosen dan staff Fakultas Ilmu Komputer Universitas Singaperbangsa
Karawang yang telah memberi dukungan dan bantuan agar terbentuknya
skripsi ini.
11. Semua pihak yang tidak dapat disebutkan satu persatu yang telah membantu baik
secara langsung maupun tidak langsung dalam penyusunan skripsi ini.
Semoga segala bantuan yang tidak ternilai harganya ini mendapat imbalan
disisi Allah SWT sebagai amal ibadah, Amin.
Sebagai manusia biasa yang tak luput dari salah dan khilaf saya meminta
maaf yang sebesar besarnya atas kesalahan yang mungkin pernah dilakukan selama
menjalani proses pemebelajaran di Fakultas Ilmu Komputer. Kritik serta saran yang
membangun dari berbagai pihak sangat penulis harapkan demi kesempurnaan
laporan skripsi ini. Semoga apa yang tertulis dalam laporan skripsi ini dapat
memberikan manfaat yang positif bagi semua pihak.
Wallahu Muwafiq Illa Aqwamith Thariq.
Wassalamu‟alaikum warahmatullahi wabarakatuh.
Karawang, 2017

David Sentot Prasethio

iv
DAFTAR ISI

ABSTRAK .............................................................................................................. i

ABSTRACT ........................................................................................................... ii

KATA PENGANTAR .......................................................................................... iii

DAFTAR ISI .......................................................................................................... v

DAFTAR GAMBAR ............................................................................................ ix

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

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

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

1.2 Perumusan Masalah .................................................................................. 2

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

1.4 Tujuan Penelitian ...................................................................................... 3

1.5 Manfaat Penelitian .................................................................................... 3

1.6 Metodologi Penelitian .............................................................................. 3

1.7 Sistematika Penulisan ............................................................................... 4

BAB 2 LANDASAN TEORI ................................................................................ 5

2.1 Teori Yang Relevan Dengan Penelitian ................................................... 5

2 1.1 Sistem ................................................................................................ 5

2.1.1.1 Pengertian Sistem ...................................................................... 5

2.1.1.2 Karakteristik Sistem................................................................... 5

2.1.1.3 Klasifikasi Sistem ...................................................................... 6

2.1.1.4 Subsistem ................................................................................... 7

2.1.1.5 Sistem Yang Buruk .................................................................... 8

2.1.1.6 Konsep Sistem Yang Penting .................................................... 8

2 1.2 Informasi ........................................................................................... 9

2.1.2.1 Pengertian Informasi .................................................................. 9

v
2.1.2.2 Siklus Informasi ....................................................................... 10

2.1.2.3 Nilai Informasi (value of information)..................................... 11

2 1.3 Sistem Informasi ............................................................................. 11

2.1.3.1 Pengertian Sistem Informasi .................................................... 11

2.1.3.2 Konsep Sistem Informasi ......................................................... 12

2 1.4 Android ........................................................................................... 13

2.1.4.1 Pengertian Android .................................................................. 13

2.1.4.2 Sejarah Android ....................................................................... 13

2.1.4.3 Fitur Android ........................................................................... 14

2.1.4.4 Arsitektur Android ................................................................... 15

2.1.4.5 Versi Android .......................................................................... 17

2 1.5 Basis Data ....................................................................................... 20

2 1.6 Unified Modelling Language (UML) .............................................. 21

2.1.6.1 Pengertian Unified Modelling Language (UML) .................... 21

2.1.6.2 Diagram-diagram UML ........................................................... 22

2 1.7 Java Development Kit (JDK) .......................................................... 27

2 1.8 Android Software Development Kit (SDK)..................................... 27

2 1.9 Android Studio ................................................................................ 27

2 1.10 JavaScript Object Nation (JSON) ................................................... 28

2 1.11 Pengertian JavaScript Object Nation (JSON) ................................. 28

2.1.11.1 Bentuk JSON ........................................................................... 29

2.2 Teori Metodologi Yang Akan Digunakan .............................................. 30

2 2.1 System Development Life Cycle (SDLC) ........................................ 30

2 2.2 Model-Model pada Metode SDLC.................................................. 31

2.2.2.1 Waterfall .................................................................................. 31

2.2.2.2 Prototype.................................................................................. 33

vi
2.2.2.3 Rapid Application Development (RAD) .................................. 34

2.2.2.4 Extreme Programming (XP) .................................................... 36

2 2.3 Sistem Informasi dan System Development Life Cycle (SDLC) ..... 37

2.3 Pengujian Perangkat Lunak .................................................................... 39

2 3.1 Black Box Testing ............................................................................ 39

2 3.2 White Box Testing ........................................................................... 40

2.4 Penelitian Sebelumnya dan Perbedaan Penelitian Sebelumnya ............. 42

BAB 3 OBJEK DAN METODOLOGI PENELITIAN .................................... 47

3.1 Objek Penelitian ..................................................................................... 47

3 1.1 Sejarah Singkat Perusahaan ............................................................ 47

3 1.2 Profie Perusahaan............................................................................ 47

3 1.3 Visi dan Misi Perusahaan ................................................................ 47

3 1.4 Struktur Organisasi Perusahaan ...................................................... 48

3.2 Metodologi Penelitian ............................................................................ 48

3 2.1 Rancangan Penelitian ...................................................................... 49

3.2.1.1 Pengumpulan Kebutuhan dan Analisis .................................... 50

3.2.1.2 Membangun Prototype ............................................................ 51

3.2.1.3 Evaluasi Prototype ................................................................... 52

3.2.1.4 Pengkodean Sistem .................................................................. 52

3.2.1.5 Pengujian Sistem...................................................................... 53

3.2.1.6 Evaluasi Sistem ........................................................................ 53

3.2.1.7 Penggunaan Sistem .................................................................. 54

BAB 4 HASIL DAN PEMBAHASAN ............................................................... 55

4.1 Hasil Penelitian....................................................................................... 55

4.2 Pengumpulan Kebutuhan Dan Analisis .................................................. 55

4 2.1 Pengumpulan Data .......................................................................... 55

vii
4 2.2 Analisis Sistem Sebelumnya ........................................................... 55

4 2.3 Analisis PIECES ............................................................................. 57

4 2.4 Analisis Kebutuhan User Terhadap Sistem .................................... 58

4 2.5 Analisis Kebutuhan Perangakat Keras (Hardware) ........................ 58

4 2.6 Analisis Kebutuhan Perangkat Lunak (Software) ........................... 59

4.3 Membangun Prototype ........................................................................... 59

4 3.1 Perancangan Sistem Baru................................................................ 59

4.3.1.1 Use Case Diagram ................................................................... 60

4.3.1.2 Activity Diagram ...................................................................... 74

4.3.1.3 Sequence Diagram ................................................................... 90

4.3.1.4 Class Diagram........................................................................ 108

4 3.2 Perancangan Database .................................................................. 109

4 3.3 Desain Interface ............................................................................ 111

4.4 Evaluasi Prototype ............................................................................... 117

4.5 Pengkodean Sistem............................................................................... 120

4.6 Pengujian Sistem .................................................................................. 130

4 6.1 Black Box Testing .......................................................................... 131

4 6.2 White Box Testing ......................................................................... 133

4.7 Evaluasi Sistem .................................................................................... 137

BAB 5 KESIMPULAN DAN SARAN ............................................................. 142

5.1 Kesimpulan ........................................................................................... 142

5.2 Saran ..................................................................................................... 142

DAFTAR PUSTAKA ........................................................................................ 144

BIODATA PENULIS ........................................................................................ 146

LAMPIRAN ....................................................................................................... 147

viii
DAFTAR GAMBAR

Gambar 2.1 Gambaran subsistem dalam sistem ..................................................... 8


Gambar 2.2 Siklus informasi ................................................................................ 10
Gambar 2.3 Blok sistem informasi yang berinteraksi ........................................... 13
Gambar 2.4 Arsitektur Android ............................................................................ 17
Gambar 2.5 Diagram-diagram UML..................................................................... 22
Gambar 2.6 Objek ................................................................................................. 29
Gambar 2.7 Array.................................................................................................. 29
Gambar 2.8 Nilai (Value) ...................................................................................... 29
Gambar 2.9 String ................................................................................................. 30
Gambar 2.10 Angka .............................................................................................. 30
Gambar 2.11 Flow Graph Notation ...................................................................... 41
Gambar 2.12 Alur Flow Graph ............................................................................ 41
Gambar 3.1 Struktur Organisasi The Premiere Training Center........................... 48
Gambar 3.2 Rancngan Penelitian .......................................................................... 49
Gambar 4.1 Use case diagram aplikasi sistem informasi berbasis smartphone
android................................................................................................................... 60
Gambar 4.2 Activity diagram lihat about .............................................................. 75
Gambar 4.3 Activity diagram lihat training .......................................................... 75
Gambar 4.4 Activity diagram lihat biaya training ................................................. 76
Gambar 4.5 Activity diagram lihat fasilitas training ............................................. 77
Gambar 4.6 Activity diagram lihat trainer ............................................................ 77
Gambar 4.7 Activity diagram lihat peserta ............................................................ 78
Gambar 4.8 Activity diagram lihat nilai ................................................................ 79
Gambar 4.9 Activity diagram lihat jadwal ............................................................. 79
Gambar 4.10 Activity diagram registrasi ............................................................... 80
Gambar 4.11 Activity diagram tambah data trainer .............................................. 81
Gambar 4.12 Activity diagram edit data trainer .................................................... 81
Gambar 4.13 Activity diagram hapus data trainer ................................................ 82
Gambar 4.14 Activity diagram tambah data training ............................................ 83
Gambar 4.15 Activity diagram edit data training .................................................. 83

ix
Gambar 4.16 Activity diagram hapus data training ............................................... 84
Gambar 4.17 Activity diagram tambah data peserta .............................................. 85
Gambar 4.18 Activity diagram edit data peserta.................................................... 85
Gambar 4.19 Activity diagram tambah data nilai .................................................. 86
Gambar 4.20 Activity diagram edit data nilai ........................................................ 87
Gambar 4.21 Activity diagram tambah jadwal ...................................................... 87
Gambar 4.22 Activity diagram edit jadwal ............................................................ 88
Gambar 4.23 Activity diagram hapus jadwal......................................................... 89
Gambar 4.24 Activity diagram konfirmasi pendaftaran ........................................ 89
Gambar 4.25 Activity diagram hapus pendaftaran ................................................ 90
Gambar 4.26 Sequence diagram lihat about ......................................................... 91
Gambar 4.27 Sequence diagram lihat training...................................................... 91
Gambar 4.28 Sequence diagram lihat biaya training ............................................ 92
Gambar 4.29 Sequence diagram lihat fasilitas training ........................................ 93
Gambar 4.30 Sequence diagram lihat trainer ....................................................... 94
Gambar 4.31 Sequence diagram lihat peserta ....................................................... 95
Gambar 4.32 Sequence diagram lihat nilai ........................................................... 95
Gambar 4.33 Sequence diagram lihat jadwal ........................................................ 96
Gambar 4.34 Sequence diagram registrasi ............................................................ 97
Gambar 4.35 Sequence diagram login admin ....................................................... 98
Gambar 4.36 Sequence diagram tambah data trainer ........................................... 98
Gambar 4.37 Sequence diagram edit data trainer ................................................. 99
Gambar 4.38 Sequence diagram hapus data trainer............................................ 100
Gambar 4.39 Sequence diagram tambah data training ....................................... 100
Gambar 4.40 Sequence diagram edit data training ............................................. 101
Gambar 4.41 Sequence diagram hapus data training .......................................... 102
Gambar 4.42 Sequence diagram tambah data peserta ......................................... 102
Gambar 4.43 Sequence diagram edit data peserta ............................................... 103
Gambar 4.44 Sequence diagram tambah data nilai ............................................. 104
Gambar 4.45 Sequence diagram edit data nilai ................................................... 104
Gambar 4.46 Sequence diagram tambah jadwal ................................................. 105
Gambar 4.47 Sequence diagram edit jadwal ....................................................... 106

x
Gambar 4.48 Sequence diagram hapus jadwal .................................................... 106
Gambar 4.49 Sequence diagram konfirmasi pendaftaran ................................... 107
Gambar 4.50 Sequence diagram hapus pendaftaran ........................................... 108
Gambar 4.51 Class diagram Sistem Informasi Akademik Di The Premiere Training
Center Berbasis Android ..................................................................................... 108
Gambar 4.52 Aplikasi sistem informasi akademik berbasis smartphone android
............................................................................................................................. 112
Gambar 4.53 Desain interface menu utama ........................................................ 112
Gambar 4.54 Desain interface list about ............................................................ 112
Gambar 4.55 Desain interface detail about ........................................................ 113
Gambar 4.56 Desain interface list training ......................................................... 113
Gambar 4.57 Desain interface detail training .................................................... 114
Gambar 4.58 Desain interface list trainer .......................................................... 114
Gambar 4.59 Desain interface detail trainer ...................................................... 114
Gambar 4.60 Desain interface list peserta .......................................................... 115
Gambar 4.61 Desain interface detail peserta ...................................................... 115
Gambar 4.62 Desain interface form login nilai................................................... 116
Gambar 4.63 Desain interface detail nilai .......................................................... 116
Gambar 4.64 Desain interface form registrasi .................................................... 116
Gambar 4.65 Tampilan menu utama sebelum dan sesudah perubahan tata letak pada
halaman menu utama aplikasi ............................................................................. 117
Gambar 4.66 Tampilan menu training sebelum dan sesudah di evaluasi ........... 117
Gambar 4.67 Desain interface biaya training ..................................................... 118
Gambar 4.68 Desain interface fasilitas training ................................................. 118
Gambar 4.69 Desain interface list jadwal ........................................................... 118
Gambar 4.70 Desain interface detail jadwal ....................................................... 119
Gambar 4.71 Desain interface splash screen ...................................................... 119
Gambar 4.72 Splash screen ................................................................................. 121
Gambar 4.73 Menu utama ................................................................................... 121
Gambar 4.74 Menu about ................................................................................... 122
Gambar 4.75 Menu detail about (Profile)........................................................... 122
Gambar 4.76 Menu detail about (Visi dan Misi) ................................................ 123

xi
Gambar 4.77 Menu detail about (Nilai-nilai Perusahaan) .................................. 123
Gambar 4.78 Menu detail about (Kontak Perusahaan) ....................................... 123
Gambar 4.79 Menu trainer ................................................................................. 124
Gambar 4.80 Menu detail trainer ....................................................................... 124
Gambar 4.81 Menu training................................................................................ 125
Gambar 4.82 Menu detail training...................................................................... 125
Gambar 4.83 Menu biaya training ...................................................................... 126
Gambar 4.84 Menu fasilitas training .................................................................. 126
Gambar 4.85 Menu jadwal .................................................................................. 127
Gambar 4.86 Menu detail jadwal ........................................................................ 127
Gambar 4.87 Menu peserta ................................................................................. 128
Gambar 4.88 Menu detail peserta ....................................................................... 128
Gambar 4.89 Menu nilai ..................................................................................... 129
Gambar 4.90 Menu detail nilai ........................................................................... 130
Gambar 4.91 Menu registrasi .............................................................................. 130
Gambar 4.92 Flowgraph white box login ........................................................... 134
Gambar 4.93 Flowgraph white box ambil data ................................................... 135
Gambar 4.94 Flowgraph white box input data .................................................... 137
Gambar 4.95 Penentuan rating scale .................................................................. 138
Gambar 4.96 Presentase penilaian kuisioner ...................................................... 140
Gambar 4.97 Skala responden............................................................................. 141

xii
DAFTAR TABEL

Tabel 2.1 Class Diagram ....................................................................................... 23


Tabel 2.2 Use Case Diagram ................................................................................ 24
Tabel 2.3 Activity Diagram ................................................................................... 25
Tabel 2.4 Suquence Diagram ................................................................................ 25
Tabel 2.5 Perbandingan dengan Penelitian Sebelumnya ...................................... 45
Tabel 4.1 Spesifikasi komputer/laptop yang digunakan ....................................... 58
Tabel 4.2 Spesifikasi smartphone android yang digunakan ................................. 59
Tabel 4.3 Spesifikasi kebutuhan software/tools komputer yang digunakan ......... 59
Tabel 4.4 Spesifikasi kebutuhan software berdasarkan user ................................ 59
Tabel 4.5 Use case lihat about .............................................................................. 61
Tabel 4.6 Use case lihat training .......................................................................... 61
Tabel 4.7 Use case lihat trainer ............................................................................ 62
Tabel 4.8 Use case lihat peserta ............................................................................ 62
Tabel 4.9 Use case lihat nilai ................................................................................ 63
Tabel 4.10 Use case lihat jadwal .......................................................................... 64
Tabel 4.11 Use case registrasi ............................................................................... 64
Tabel 4.12 Use case login admin .......................................................................... 65
Tabel 4.13 Use case tambah data trainer .............................................................. 65
Tabel 4.14 Use case edit data trainer.................................................................... 66
Tabel 4.15 Use case hapus data trainer ................................................................ 66
Tabel 4.16 Use case tambah data training ............................................................ 67
Tabel 4.17 Use case edit data training .................................................................. 67
Tabel 4.18 Use case hapus data training .............................................................. 68
Tabel 4.19 Use case tambah data peserta.............................................................. 69
Tabel 4.20 Use case edit data peserta ................................................................... 69
Tabel 4.21 Use case tambah nilai ......................................................................... 70
Tabel 4.22 Use case edit nilai ............................................................................... 70
Tabel 4.23 Use case tambah jadwal ...................................................................... 71
Tabel 4.24 Use case edit jadwal ............................................................................ 72
Tabel 4.25 Use case hapus jadwal ........................................................................ 72

xiii
Tabel 4.26 Use case konfirmasi pendaftaran ........................................................ 73
Tabel 4.27 Use case hapus data pendaftaran ........................................................ 74
Tabel 4.28 Rincian tabel training pada database thepremiere-tc ....................... 109
Tabel 4.29 Rincian tabel trainer pada database thepremiere-tc ......................... 109
Tabel 4.30 Rincian tabel peserta pada database thepremiere-tc ......................... 110
Tabel 4.31 Rincian tabel nilai pada database thepremiere-tc ............................. 110
Tabel 4.32 Rincian tabel registrasi pada database thepremiere-tc ..................... 110
Tabel 4.33 Rincian tabel jadwal pada database thepremiere-tc ......................... 111
Tabel 4.34 Hasil evaluasi prototype .................................................................... 119
Tabel 4.35 Pengujian Black box testing .............................................................. 131
Tabel 4.36 White box login ................................................................................. 133
Tabel 4.37 White box ambil data ......................................................................... 134
Tabel 4.38 White box input data.......................................................................... 136
Tabel 4.39 Kriteria penilaian jawaban responden ............................................... 138
Tabel 4.40 Hasil penilaian kuisioner ................................................................... 139
Tabel 4.41 Perhitungan penilaian kuisioner ........................................................ 140

xiv
BAB 1
PENDAHULUAN
1.1 Latar Belakang
Sistem informasi akademik pada sebuah lembaga yang bergerak di bidang
pelatihan calon tenaga kerja merupakan sesuatu yang sangat penting bagi para
peserta yang melakukan pelatihan. Sistem informasi akademik sangat dibutuhkan
guna untuk mengelola hasil pelatihan, sehingga sistem informasi tersebut harus
diberikan pemeliharaan dan pengembangan.
The Premiere Training Center merupakan salah satu lembaga yang
bergerak dibidang pelatihan. Sistem yang sedang berjalan pada The Premiere
Training Center saat ini yaitu informasi hasil pelatihan dimasukan ke dalam
microsoft excel dan selanjutnya diprint kemudian diberikan kepada peserta dalam
bentuk kertas print out dan peserta harus datang ke tempat pelatihan untuk
mendapatkan hasil pelatihan tersebut. Bagi calon peserta yang ingin mendaftar
untuk mengikuti pelatihan harus datang ke tempat pelatihan untuk mengisi data diri
pada kertas formulir pendaftaran yang disediakan oleh perusahaan dan kemudian
data calon peserta disimpan pada buku berkas atau arsip. Untuk informasi daftar
pelatihan, jadwal pelatihan dan data pelatih bisa dilihat via website yang harus di
akses menggunkan komputer yang terkoneksi dengan jaringan internet atau dilihat
pada kertas brosur yang terdapat pada tempat pelatihan.
Permasalahan yang terdapat pada The Premiere Training Center yaitu
dapat terjadinya kehilangan dan kerusakan kertas print out hasil pelatihan yang
diberikan kepada peserta sehingga peserta harus datang kembali ke tempat
pelatihan untuk mendapatkan hasil pelatihannya. Bagi calon peserta yang ingin
melakukan pendaftaran harus datang ke tempat pelatihan, hal tersebut memerlukan
banyak waktu bagi calon peserta yang ingin melakukan pendaftaran secara cepat
dan terjadinya penumpukan berkas pendaftaran pada perusahaan.
Berdasarkan dari uraian diatas maka penulis tertarik untuk membangun
aplikasi sistem informasi akademik yang akan diimplementasikan pada sistem
operasi Android, yang merupakan sistem operasi dengan platform Java dan bersifat
open source yang bisa dikembangkan secara bebas untuk memenuhi berbagai
kebutuhan sesuai dengan keinginan pengembangnya.

1
2

Aplikasi sistem informasi akademik yang berjalan pada sistem operasi


Android ini akan bertugas sebagai client. Dalam melakukan pengaksesan datanya
dengan cara menginstal aplikasi khusus dan terkoneksi ke server. Data yang
diperlukan untuk menghasilkan informasi bersumber dari tempat penyimpanan
yang disimpan di server sehingga data bisa diakses dimana saja.
Penulis membuat aplikasi ini bertujuan untuk memudahkan peserta dalam
mengakses informasi akademik dan aplikasi ini juga dapat digunakan sebagai
alternatif pengaksesan informasi hasil pelatihan.

1.2 Perumusan Masalah


Berdasarkan latar belakang diatas, maka penulis merumuskan masalah
pada penelitian ini sebagai berikut :
1. Bagaimana cara mengevaluasi sistem informasi akademik yang ada pada The
Primere Training Center ?
2. Bagaimana cara membuat sistem untuk menampilkan data peserta, jadwal
pelatihan, hasil pelatihan, daftar pelatihan, data pelatih dan registrasi online.
3. Bagaimana cara merancang aplikasi untuk diimplementasikan pada perangkat
mobile berbasis Android ?

1.3 Batasan Masalah


Sistem ini dibuat untuk menangani proses administrasi akademik dengan
batasan masalah sebagai berikut :
1. Informasi yang disampaikan ditujukan untuk peserta dan calon peserta training
diantaranya data peserta, jadwal pelatihan, hasil pelatihan, daftar pelatihan,
materi pelatihan, data pelatih dan registrasi online.
2. Database Management System (DBMS) pada aplikasi ini menggunakan
database MySQL.
3. Aplikasi ini terhubung dengan web service.
4. Aplikasi ini hanya berjalan pada Android versi 3.0 ke atas.
5. Implementasi sistem pada aplikasi ini dilakukan hanya pada perangkat mobile
berbasis Android yang terhubung dengan jaringan internet.
3

1.4 Tujuan Penelitian


Untuk mengatasi berbagai masalah yang ada, maka dibuatlah sistem
informasi yang memiliki tujuan, yaitu:
1. Untuk mengevaluasi sistem informasi akademik yang ada pada The Primere
Training Center.
2. Membangun sistem informasi akademik untuk menampilkan data peserta,
jadwal pelatihan, hasil pelatihan, daftar pelatihan, materi pelatihan, data pelatih
dan registrasi online yang dapat diakses oleh peserta maupun calon peserta
dimanapun dan kapanpun mereka berada.
3. Untuk merancang aplikasi sistem informasi yang akan diimplementasikan pada
perangkat mobile berbasis Android.

1.5 Manfaat Penelitian


1. Bagi Penulis
a. Dapat menerapkan ilmu yang sudah di pelajari di bangku perkuliahan dalam
kehidupan sehari-hari.
b. Menambah ilmu pengetahuan tentang pembuatan aplikasi berbasis sistem
operasi Android.
2. Bagi Lembaga
a. Sebagai media alternatif untuk pemberian informasi kepada peserta dan
calon peserta.
b. Sebagai alat pemasaran.

1.6 Metodologi Penelitian


Dalam penelitian ini penulis menggunakan metode Software Development
Life Cycle (SDLC) dengan model Prototype yang memiliki tahapan proses :
1. Pengumpulan Kebutuhan dan Analisis
2. Membangun Prototype
3. Evaluasi Prototype
4. Pengkodean Sistem
5. Pengujian Sistem
6. Evaluasi Sistem
7. Menggunakan Sistem
4

1.7 Sistematika Penulisan


Dalam penyusunan tugas akhir, sistematika pembahasan diatur dan
disusun dalam lima bab. Dalam tiap-tiap bab terdiri dari sub-sub bab. Untuk
memberikan gambaran yang lebih jelas, maka diuraikan secara singkat mengenai
materi dari bab-bab dalam penulisan tugas akhir ini sebagai berikut :
BAB I PENDAHULUAN
Pada bab ini menguraikan tentang Latar Belakang, Rumusan
Masalah, Batasan Masalah, Tujuan Penulisan, Mamfaat Penelitian,
Metodologi Penelitian, Sistematika Penulisan, Jadwal Penelitian.
BAB II LANDASAN TEORI
Dalam bab ini akan dijelaskan beberapa landasan teori yang
digunakan penulis dalam penyusunan penelitian.
BAB III OBJEK DAN METODOLOGI PENELITIAN
Pada bab ini menjelaskan objek yang akan menjadi bahan penelitian
dan metodelogi yang akan digunakan dalam penelitian.
BAB IV HASIL DAN PEMBAHASAN
Bab ini membahas mengenai hasil dan pembahasan sistem yang
telah dibuat secara keseluruhan dengan mengikuti langkah-langkah
dari metode yang digunakan.
BAB V KESIMPULAN DAN SARAN
Bab ini memberikan penjelasan mengenai kesimpulan dan saran
yang diberikan untuk dijadikan sebagai bahan perbaikan untuk
penelitian selanjutnya.
BAB 2
LANDASAN TEORI

2.1 Teori Yang Relevan Dengan Penelitian


Dalam teori yang relevan penulis akan membahas mengenai teori-teori
yang berhubungan dengan penelitian ini yaitu tentang sistem informasi, android,
database yang digunakan, rekayasa perangkat lunak dan tool yang akan digunakan.

2 1.1 Sistem
2.1.1.1 Pengertian Sistem
Dr. Ir. Harijono Djojodihardjo menjelaskan definisi sistem adalah :
“sekumpulan objek yang mencakup hubungan fungsional antara tiap-tiap dan
hubungan antara ciri tiap objek, dan yang secara keseluruhan merupakan suatu
kesatuan secara fungsional.” (Japerson Hutahaean, 2014)
Pengertian sistem menurut Jerry FutzGerald adalah :
Sistem adalah suatu jaringan kerja dari prosedur-prosedur yang saling
berhubungan, berkumpul bersama-sama untuk melakukan suatu kegiatan atau
untuk menyelesaikan suatu sasaran yang tertentu.” (Japerson Hutahaean, 2014)
Dengan penjelasan diatas suatu sistem dapat diartikan sekumpulan objek
dari bagian-bagian yang saling berhubungan dan berkumpul bersama-sama untuk
mencapai suatu tujuan tertentu.

2.1.1.2 Karakteristik Sistem


Menurut Hanif Al Fatta (2007) untuk memahami atau mengembangkan
suatu sistem, maka perlu membedakan unsur-unsur dari sistem yang
membentuknya. Berikut adalah karakteristik sistem yang dapat membedakan suatu
sistem dengan sistem lainnya :
1. Batasan (boundary): Penggambaran dari suatu elemen atau unsur mana yang
termasuk di dalam sistem dan mana yang di luar sistem.
2. Lingkungan (environment): Segala sesuatu di luar sistem, lingkungan yang
menyediakan asumsi, kendala, dan input terhadap suatu sistem.
3. Masukan (input): Sumber daya (data, bahan buku, peralatan energi) dari
lingkungan yang dikonsumsi dan dimanipulasi oleh suatu sistem.

5
6

4. Keluaran (output): Sumber daya atau produk (informasi, laporan, dokumen,


tampilan layer computer, barang jadi) yang disediakan untuk lingkungan sistem
oleh kegiatan dalam suatu sistem.
5. Komponen (component): Kegiatan-kegiatan atau proses dalam suatu sistem
yang mentransformasikan input menjadi bentuk setengah jadi (output).
Komponen ini bisa merupakan subsistem dari sebuah sistem.
6. Penghubung (interface): Tempat di mana komponen atau sistem dan
lingkungannya bertemu atau berinteraksi.
7. Penyimpanan (storage): Area yang dikuasai dan digunakan untuk
penyimpanan sementara dan tetap dari informasi, energi, bahan baku, dan
sebagainya. Penyimpanan merupakan suatu media penyangga di antara
komponen tersebut bekerja dengan berbagai tingkatan yang ada dan
memungkinkan komponen yang ada dari berbagai data yang sama.

2.1.1.3 Klasifikasi Sistem


Klasifikasi sistem menurut Jeperson Hutahaean (2014) adalah sistem dapat
diklasifikasikan dalam beberapa sudut pandang :
1. Klasifikasi sistem sebagai :
a. Sistem abstrak (abstract system)
Sistem abstrak adalah sistem yang berupa pemikiran-pemikiran atau ide-ide
yang tidak tampak secara fisik.
b. Sistem fisik (physical system)
Sistem fisik adalah sistem yang ada secara fisik.
2. Sistem diklasifikasikan sebagai :
a. Sistem alamiyah (natural system)
Sistem alamiyah adalah sistem yang terjadi melalui proses alam, tidak
dibuat oleh manusia. Misalnya sistem perputaran bumi.
b. Sistem buatan manusia (human made system)
Sistem buatan manusia adalah sistem yang dibuat oleh manusia yang
melibatkan interaksi antara manusia dengan mesin (human machine
system).
7

3. Sistem diklasifikasikan sebagai :


a. Sistem tertentu (deterministical system)
Sistem tertentu adalah sistem yang beroperasi dengan tingkah laku yang
sudah dapat diprediksi, sebagai keluaran sistem yang dapat diramalkan.
b. Sistem tak tentu (probabilistic system)
Sistem tak tentu adalah sistem yang kondisi masa depannya tidak dapat
diprediksi karena mengandung unsur probabilistik.
4. Sistem diklasifikasikan sebagai :
a. Sistem tertutup (close system)
Sistem tertutup adalah sistem yang tidak terpengaruh dan tidak berhubungan
dengan lingkungan luar, sistem bekerja secara otomatis tanpa ada turut
campur lingkungan luar. Secara teoritis sistem tertutup itu ada,
kenyataannya tidak ada sistem yang benar-benar tertutup, hanya relatively
closed system.
b. Sistem terbuka (open system)
Sistem terbuka adalah sistem yang berhubungan dan terpengaruh dengan
lingkungan luar. Sistem ini menerima input dan output dari lingkungan luar
atau subsistem lainny. Karena sistem terbuka terpengaruh lingkungan luar
maka harus mempunyai pengendali yang baik.

2.1.1.4 Subsistem
Hanif Al Fatta (2007) menjelaskan sistem yang kompleks biasanya
tersusun atas beberapa subsistem. Subsistem bisa dijelaskan sebagai sistem dalam
sistem yang lebih besar. Sebagai contoh :
Automobile adalah sistem yang terdiri dari beberapa subsistem berikut :
a. Sistem mesin
b. Sistem body
c. Sistem roda
Setiap subsistem terdiri dari beberapa susbsistem berikut :
Sistem mesin : sistem mesin sistem karburator, sistem generator, sistem
bahan bakar, dan lain-lain.
Untuk lebih jelasnya: lihat gambar berikut :
8

Gambar 2.1 Gambaran subsistem dalam sistem


(sumber : Hanif Al Fatta, 2007)

2.1.1.5 Sistem Yang Buruk


Menurut Hanif Al Fatta (2007) untuk menghindari pengembangan suatu
sistem yang buruk, perlu diketahui beberapa ciri-ciri dari sistem yang buruk:
1. Tidak memenuhi kebutuhan pengguna
2. Performance buruk
3. Reliabilitas rendah
4. Kegunaan rendah
5. Contoh-contoh kesulitan :
a. Tidak terjadwal.
b. Tidak ada rencana anggaran.
c. Bisa jalan = 100% over budget atau jadwal.

2.1.1.6 Konsep Sistem Yang Penting


Menurut Hanif Al Fatta (2007) untuk lebih mudah memahami pengertian
sistem dan sistem informasi lebih jauh maka perlu diingat beberapa konsep yang
penting dalam pengembangan sistem, yaitu :
1. Dekomposisi
Untuk menganalisa dan memahami secara menyeluruh sebuah sistem yang
besar, biasanya dibutuhkan waktu yang cukup lama. Untuk mempermudah
9

pekerjaan ini digunakan konsep dekomposisi. Dekomposisi adalah pembagian


sistem kedalam komponen-komponen yang lebih kecil (subsistem). Dekomposisi
memiliki beberapa keuntungan, di antaranya:
a. Analis menjadi lebih mudah mengatur dan menganalisa setiap subsistem
secara detail.
b. Pada pengembangan sistem, sistem bisa didekomposisi menjadi beberapa
modul. Pengembangan beberapa modul bisa dilakukan secara paralel
dengan syarat tidak ada ketergantungan antar modul yang dibangun.
2. Modularitas
Konsep modularitas berhubungan dengan dekomposisi. Pada saat
melakukan dekomposisi, diharapkan sistem yang besar terbagi menjadi subsistem-
subsistem yang relatif sama ukurannya. Dengan modul-modul ini maka beban kerja
mengembangkan sistem bisa didistribusikan secara merata pada sumber daya yang
ada. Pengembangan sistem menjadi lebih sederhana karena hanya terfokus pada
satu modul terlebih dahulu, baru dilakukan integrasi antar modul.
3. Coupling
Dari modul-modul yang kita peroleh, kadang-kadang ditemukan beberapa
modul yang memiliki ketergantungan denan modul yang lain. Pada kasus seperti
ini, modul-modul yang saling bergantung harus dipasangkan (di-couple). Dengan
cara ini bisa diketahui modul yang bisa bekerja secara independent dan modul-
modul yang harus diselesaikan terlebih dahulu sebelum modul yang lain bisa
bekerja.
4. Kohesi
Dari proses coupling antar modul, kita bisa dapatkan kelompok-kelompok
modul dengan karakteristik yang sama. Disini muncul konsep kohesi dimana
kelompok modul ini harus dianalisis bersama-sama dengan kelompok modul yang
saling berkohesi.

2 1.2 Informasi
2.1.2.1 Pengertian Informasi
Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan
lebih berarti bagi penerimanya. Sumber informasi adalah data. Data kenyataan yang
10

menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian


(event) adalah kejadian yang terjadi pada saat tertentu. (Japerson Hutahaean, 2014)
Gordon B. Davis menjelaskan informasi adalah data yang telah diolah
menjadi suatu bentuk yang penting bagi si penerimanya dan mempunyai nilai nyata
atau yang dapat dirasakan dalam keputusan-keputusan yang sekarang atau
keputusan-keputusan yang akan datang. (Japerson Hutahaean, 2014)
Kesimpulan dari penjelasan diatas yaitu informasi merupakan data yang
memilki nilai lebih bagi penerimanya karena telah melewati proses pengolahan
tertentu sehingga bisa dimanfaatkan untuk mengambil keputusan baik itu untuk saat
ini ataupun untuk masa mendatang.

2.1.2.2 Siklus Informasi


Informasi adalah data yang diolah menjadi bentuk yang lebih berguna dan
lebih berarti bagi penerimanya. Sumber informasi adalah data. Data kenyataan yang
menggambarkan suatu kejadian-kejadian dan kesatuan nyata. Kejadian-kejadian
(event) adalah kejadian yang terjadi pada saat tertentu. (Japerson Hutahaean, 2014)
Gordon B. Davis menjelaskan informasi adalah data yang telah diolah
menjadi suatu bentuk yang penting bagi si penerimanya dan mempunyai nilai nyata
atau yang dapat dirasakan dalam keputusan-keputusan yang sekarang atau
keputusan-keputusan yang akan datang. (Japerson Hutahaean, 2014)
Kesimpulan dari penjelasan diatas yaitu informasi merupakan data yang
memiliki nilai lebih bagi penerimanya karena telah melewati proses pengolahan
tertentu sehingga bisa dimanfaatkan untuk mengambil keputusan baik itu untuk saat
ini ataupun untuk masa mendatang.

Gambar 2.2 Siklus informasi


(Sumber : Japerson Hutahaean, 2014)
11

2.1.2.3 Nilai Informasi (value of information)


Menurut Japerson Hutahaean (2014) Nilai informasi ditentukan oleh dua
hal yaitu manfaat dan biaya mendapatkannya. Suatau informasi dikatakan lebih
bernilai jika manfaatnya lebih efektif dibandingkan dengan biaya mendapatkannya.
Biaya informasi terdiri dari :
1. Biaya perangkat keras :
Merupakan biaya tetap atau biaya tertanam dan akan meningkat untuk tingkat-
tingkat mekanisasi yang lebih tinggi.
2. Biaya untuk analisis :
Merupakan biaya tertanam, dan biasanya akan meningkat sesuai dengan
tingkat mekanisasi yang lebih tinggi.
3. Biaya untuk tempat dan faktor control lingkungan :
Biaya ini setengah berubah/semi variabel. Biasanya biaya ini meningkat sesuai
dengan tingkat mekanisasi yang tinggi.
4. Biaya perubahan :
Biaya ini merupakan biaya tertanam dan meliputi setiap jenis perubahan dari
satu metode ke metode yang lain.
5. Biaya operasi :
Biaya ini pada dasarnya merupakan biaya variabel dan meliputi biaya macam-
macam pegawai, pemeliharaan fasilitas dan sistem.

2 1.3 Sistem Informasi


2.1.3.1 Pengertian Sistem Informasi
Tafri D. Muhyuzir mendefinisikan sistem informasi adalah data yang
dikumpulkan, dikelompokkan dan diolah sedemikian rupa sehingga menjadi
sebuah satu kesatuan informasi yang saling terkait dan saling mendukung sehingga
menjadi suatu informasi yang berharga bagi penerimanya. (Rahma Indera, 2015)
Sistem informasi adalah suatu sistem didalam suatu organisasi yang
mempertemukan kebutuhan pengelolaan transaksi harian, mendukung operasi,
bersifat manajerial, dan kegiatan strategi dari suatu organisasi dan menyediakan
pihak luar tertentu dengan laporan-laporan yang dibutuhkan. (Japerson Hutahaean,
2014)
12

Sistem informasi adalah sebuah alat yang membantu dalam menyediakan


informasi bagi penerimanya dan untuk membantu dalam hal pengambilan
keputusan bagi suatu organisasi tertentu.

2.1.3.2 Konsep Sistem Informasi


Menurut Jeperson Hutahaean (2014) sistem informasi terdiri dari
komponen-komponen yang disebut dengan istilah blok bangunan (buliding block)
yaitu :
1. Blok masukan (input block)
Input mewakilan data yang masuk ke dalam sistem informasi. Input disini
termasuk metode-metode dan media yang digunakan untuk menangkap data yang
akan dimasukan, yang dapat berupa dokumen dasar.
2. Blok model (model block)
Blok ini terdiri dari kombinasi prosedur, logika dan metode matematik
yang akan memanipulasi data input dan data yang tersimpan di basis data dengan
cara yang sudah tertentu untuk menghasilkan keluaran yang sudah diinginkan.
3. Blok keluaran (output block)
Produk dari sistem informasi adalah keluaran yang merupakan informasi
yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen
serta semua pemakai sistem.
4. Blok teknologi (technologi block)
Teknologi digunakan untuk menerima input, menjalankan model,
menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan
membantu pengendalian diri secara keseluruhan.
Teknologi terdiri dari unsur utama :
a. Teknisi (human ware atau brain ware)
b. Perangkat lunak (software)
c. Perangkat keras (hardware)
5. Blok basis data (database block)
Merupakan kumpulan dari data yang saling berhubungan satu dengan yang
lainnya, tersimpan diperangkat keras komputer dan digunakan perangkat lunak
untuk memanipulasinya.
13

6. Blok kendali (control block)


Banyak faktor yang dapat merusak sistem informasi, misalnya bencana
alam, api, temperatur tinggi, debu, kecurangan-kecurangan, kejanggalan sistem itu
sendiri, kesalahan-kesalahan ketidak efisienan, sabotase dan sebagainya. Beberapa
pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal
yang dapat merusak sistem dapat dicegah atau bila terlanjur terjadi kesalahan dapat
langsung diatasi.

Gambar 2.3 Blok sistem informasi yang berinteraksi


(Sumber : Japerson Hutahaean, 2014)

2 1.4 Android
2.1.4.1 Pengertian Android
Android adalah sebuah sistem operasi untuk perangkat mobile berbasis
linux yang mencakup sistem operasi , middleware dan aplikasi. Android
menyediakan platform terbuka bagi para pengembang untuk menciptakan aplikasi
mereka. (Nazruddin Safaat H, 2015)

2.1.4.2 Sejarah Android


Nazruddin Safaat H (2015) menuliskan sejarah Android awalnya,
perusahaan Google Inc. membeli Android Inc. yang merupakan pendatang baru
yang membuat peranti lunak untuk ponsel/smartphone. Kemudian untuk
mengembangkan Android dibentuklah Open Handset Alliance konsorsium dari 34
perusahaan piranti keras, piranti lunak, dan telekomunikasi, termasuk Google,
HTC, Intel, Motorola, Qualqomm, T-Mobile dan Nvidia.
14

Pada saat perilisan perdana Android, 5 November 2007, Android bersama


Open Handset Alliance menyatakan mendukung pengembangan open source pada
perangkat mobile. Di lain pihak, Google merilis kode-kode Android di bawah
lisensi Apache, sebuah lisensi perangkat lunak dan open platform perangkat seluler.
Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama,
yang mendapat dukungan penuh dari Google atau Google Mail Services (GMS) dan
kedua adalah yang benar-benar bebas distribusinya tanpa dukungan langsung
Google atau dikenal sebagai Open Handset Distribution (OHD).
Sekitar september 2007 Google mengenalkan Nexus One, salah satu jenis
smartphone yang menggunkan Android sebagai sistem operasinya. Telepon seluler
ini diproduksi oleh HTC Corporation dan tersedia di pasaran pada 5 januari 2010.
Pada 9 Desember 2008, diumumkan anggota baru yang bergabung dalam program
kerja Android ARM Holdings, Atheros Communications, diproduksi oleh Asustek
Computer Inc, Garmin Ltd, Softbank, Sony Ericsson, Toshiba Corp, dan Vadafone
Group Plc. Seiring pembentukan Open Handset Alliance, OHA mengumumkan
produk perdana mereka, Android, perangkat mobile yang merupakan modifikasi
karnel Linux 2.6. Sejak Android dirilis telah dilakukan berbagai pembaruan berupa
perbaikan bug dan penambahan fitur baru.

2.1.4.3 Fitur Android


Menurut Nazruddin Safaat H (2015) beberapa fitur-fitur Android yang
paling penting adalah :
1. Framework aplikasi yang mendukung penggantian komponen dan reusable.
2. Mesin Virtual Dalvik dioptimalkan untuk perangkat mobile.
3. Integrated Browser berdasarkan engine open source WebKit.
4. Grafis yang dioptimalkan dan didukung oleh library grafis 2D, grafis 3D
berdasarkan spesifikasi openGL ES 1,0 (Opsional akselarasi hardware).
5. SQLite untuk penyimpanan data.
6. Media support yang mendukung audio, video, dan gambar (MPGE4, H.264,
MP3, AAC, AMR, JPG, PNG, GIF), GSM Telephony (tergantung hardware).
7. Bluetooth, EDGE, 3G, dan WIFI (tergantung hardware).
8. Kamera, GPS, kompas, dan accelerometer (tergantung hardware).
15

9. Lingkungan Developer yang lengkap dan kaya termasuk perangkat emulator,


tools, untuk debugging, profil dan kinerja memori, dan plugin unutk IDE
Eclipse.

2.1.4.4 Arsitektur Android


Menurut Nazruddin Safaat H (2015) seacara garis besar Android dapat
dijelaskan dan digambarkan sebagai berikut :
1. Applications dan Widgets
Applications dan Widgets ini adalah layer di mana kita berhubungan
dengan aplikasi saja, di mana biasanya kita download aplikasi kemudian kita
lakukan instalasi dan jalankan aplikasi tersebut. Di layer terdapat aplikasi inti
termasuk klien email, program SMS, kalender, peta, browser, komtak, dan lain-
lain. Semua aplikasi ditulis dengan menggunakan bahasa pemrograman Java.
2. Application Framework
Android adalah “Open Development Platform” yaitu android menawarkan
kepada pengembang atau memberi kemampuan kepada pengembang untuk
membangun aplikasi yang bagus dan inovatif. Pengembang bebas untuk mengakses
perangkat keras, akses informasi resources, menjalankan servis background,
mengatur alarm, dan menambahkan status notifications, dan sebagainya.
Pengembang memilki akses penuh menuju API framework seperti yang dilakukan
oleh aplikasi yang katagori inti. Arsitektur aplikasi dirancang supaya kita dengan
mudah dapat menggunkana kembali komponen yang sudah digunakan (reuse).
Sehingga bisa kita simpulkan Applications Frameworks ini adalah layer di
mana para pembuat aplikasi melakukan pengembangan/pembuatan aplikasi yang
akan dijalankan di sistem operasi Android, karena pada layer inilah aplikasi dapat
dirancang dan dibuat, seperti content-providers yang berupa sms dan panggilan
telepon.
Komponen-komponen yang termasuk di dalam Applications Frameworks
adalah sebagai berikut :
a. Views
b. Content provider
c. Recource Manager
16

d. Notification Manager
e. Activity Manager
3. Libraries
Libraries ini adalah layer di mana fitur-fitur Android berada, biasanya para
pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Berjalan
diatas karnel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan
SSI, serta :
a. Libraries media untuk pemutaran media audio dan video.
b. Libraries untuk manajemen tampilan.
c. Libraries Graphics mencakup SGL dan OpenGL untuk grafis 2D dan
3D.
d. Libraries SQLite untuk dukungan database.
e. Libraries SSL dan WebKit terintegrasi dengan web browser dan security.
f. Libraries LiveWebcore mencakup modern web browser dengan engine
embeded web view.
g. Libraries 3D yang mencakup OpenGL ES 1.0 API’s.
4. Android Run Ttime
Layer yang membuat aplikasi Android dapat dijalankan di mana dalam
prosesnya menggunakan implementasi Linux. Dalvik Virtual Machine (DVM)
merupakan mesin yang membentuk dasar kerangka aplikasi Android. Di dalam
Android Run Time dibagi menjadi dua bagian yaitu :
a. Core Libraries : Aplikasi Android dibangun dalam bahasa Java,
sementara Dalvik sebagai Virtual mesinnya bukan Virtual Machine Java,
sehingga diperlukan sebuah libraries yang berfungsi untuk
menterjemahkan bahasa Java/c yang ditangani oleh Core Libraries.
b. Dalvik Virtual Machine : Virtual mesin yang berbasis register yang
dioptimalkan untuk menjalankan fungsi-fungsi secara efisien, dimana
merupakan pengembangan yang mampu membuat Linux karnel untuk
melakukan theading dan manajemen tingkat rendah.
5. Linux Kernel
Linux karnel adalah layer di mana inti dari operating sistem dari Android itu
berada. Berisi file-file system yang mengatur sistem proccesing, memory,
17

resources, drivers, dan sistem-sistem operasi Android lainnya. Linux karnel


yang digunakan Android adalah Linux karnel release 2.6.

Gambar 2.4 Arsitektur Android


(Sumber : Nazruddin Safaat H, 2015)

2.1.4.5 Versi Android


Menuru Nazruddin Safaat H (2015) telepon pertama yang memakai sistem
operasi Android adalah HTC Dream, yang dirilis pada 22 oktober 2008. Pada
penghujung tahun 2010 diperkirakan hampir semua vendor selular didunia
menggunakan Android sebagai Operating System.
Adapun versi-versi Android yang pernah dirilis adalah sebagai berikut :
1. Android Versi 1.1
Google merilis Android versi 1.1 pada tanggal 9 Maret 2009 yang
dilengkapi dengan :
a. Pembaruan estetis aplikasi, jam, dan alarm Voice search (pencarian
suara).
b. G-mail dan e-mail notification.
2. Android Versi 1.5 (Cupcake)
Google merilis Android Cupcake pada tanggal 30 April 2009 yang
terdapat pembaruan dan penambahan beberapa fitur antara lain :
a. Merekam dan menonton video.
b. Mengupload video ke Youtube dan gambar ke Picasa.
18

c. Dukungan Bluetooth Advance Audio Distribution Profile yang dapat


mentransmisi audio secara wireless dari ponsel ke Bluetooth headset atau
system stereo.
d. Animasi layar dan keyboard layar yang dapat disesuaikan dengan sistem.
3. Android Versi 1.6 (Donut)
Google merilis Android Donut pada tanggal 15 September 2009 yang
terdapat pembaruan dan penambahan beberapa fitur antara lain :
a. Penampilan proses pencarian yang lebih baik.
b. Indikator dan penggunaan baterai.
c. Antarmuka galeri, kamera, dan camorder yang terintegrasi.
d. Gesture Framework.
e. Text to speech engine.
f. VPN, CDMA dan EVDO.
4. Android Versi 2.0 (Eclair)
Google merilis Android 2.0 Eclair pada tanggal 26 Oktober 2009 yang
terdapat pembaruan dan penambahan beberapa fitur antara lain :
a. Pengoptimalisasian pada perangkat keras.
b. Peningkatan Google Maps 3.1.2.
c. Perubahan User Interface yang baru.
d. Browser dengan dukungan HTML 5.
e. Dukungan flash untuk kamera 3,2 Megapixel.
f. Digital zoom.
g. Bluetooth 2.1.
5. Android Versi 2.2 (Froyo : Frozen Yogurt)
Google merilis Android Froyo pada tanggal 20 Mei 2010 yang terdapat
pembaruan dan penambahan beberapa fitur antara lain :
a. Kerangka aplikasi memungkinkan penggunaan dan penghapusan
komponen yang sudah tersedia
b. Memungkinkan grafik 2D dan 3D.
c. Mendukung berbagai format audio dan video.
d. Memungkinkan penggunaan Global Positioning System dan kompas.
19

6. Android Versi 2.3 (Gingerbread)


Google merilis Android Gingerbread pada tanggal 6 Desember 2010 yang
terdapat pembaruan dan penambahan beberapa fitur antara lain :
a. Memungkinkan penggunaan Near Field Communications.
b. Penyediaan Gyroscope dan sensor.
c. Pengoptimalan fungsi-fungsi kamera.
d. Penyediaan efek audio yang bisa digabungkan.
e. Penyediaan download manager.
7. Android Versi 3.0 (Honeycomb)
Google merilis Android Honeycomb pada tanggal 22 Februari 2011 yang
dikhususkan untuk tablet dengan beberapa pembaruan dan penambahan fitur antara
lain :
a. Dukungan tablet yang lebih baik.
b. Pembaharuan User Interface.
c. Dukungan multi-core processor.
d. Ukuran widget yang dapat dirubah.
8. Android Versi 4.0 (Ice Cream Sandwich)
Google merilis Android 4.0 Ice Cream Sandwich pada tanggal 19 Oktober
2011 dengan beberapa pembaruan dan penambahan fitur antara lain :
a. Rotasi layar dan pengisian text yang lebih mulus.
b. User Interface baru yang lebih minimalis.
c. Deteksi muka dan face unlock.
d. Tersedia android beam untuk bertukar data dengan teknologi NFC.
9. Android Versi 4.1 (Jelly Bean)
Google merilis Android Jelly Bean pada tanggal 9 Juli 2012 dengan
beberapa pembaruan dan penambahan fitur antara lain :
a. Pencarian dengan penggunaan suara.
b. Tersedia fitur multi-user untuk tablet.
c. Penambahan fitur kamera penambahan citra 360 derajat dengan
photosphere.
d. Tersedia fitur Google Now dalam memberikan informasi berguna kepada
user tanpa searching.
20

e. Tersedia auto complete pada dial pad.


10. Android Versi 4.4 (Kitkat)
Google merilis Android Kitkat pada tanggal 31 Oktober 2013 dengan
beberapa pembaruan dan penambahan fitur antara lain :
a. Tersedia deteksi suara “Ok Google” untuk memulai pencarian.
b. Peningkatan kecepatan untuk multitasking.
c. Penambahan immersive mode (status dan navigation bar akan auto hide
saat menggunakan smartphone). Status dan navigation bar dapat
dimunculkan kembali dengan menyentuh ujung layar.
d. Tersedia emoji untuk digunakan dan wireless printing.
e. Terintegrasi dengan Google Drive.
f. Document, spreadsheets dan presentation dapat dibuat dan diubah
dengan Quickoffice yang baru.
11. Android Versi 5.0 (Lollipop)
Android Lollipop merupakan versi Android terbaru yang dirilis akhir-akhir
ini pada tanggal 17 Oktober 2014 dengan pembaruan dan penambahan fitur antara
lain :
a. Android sudah bisa dijalankan di davices lain tidak terbatas hanya tablet
dan smartphone.
b. Fluid design pada semua jenis layar tampilan
c. Tersedia pemblokiran notifikasi dari orang atau aplikasi tertentu.
d. Penghematan penggunaan baterai dan fitur penghematan energi
smartphone yang baru.
e. Semua Android davices yang dimiliki dapat saling terintegrasi.
f. Enam puluh delapan bahasa sudah tersedia dalam Android Lollipop.

2 1.5 Basis Data


Basis data atau database, berasal dari kata basis dan data. Adapun
pengertian dari kedua pengertian tersebut yaitu basis dapat diartikan markas atau
gudang, tempat bersarang atau berkumpul. Adapun data adalah representasi fakta
dunia nyata yang mewakili suatu objek seperti manusia (pegawai, siswa, pembeli,
pelanggan), barang, hewan, peristiwa, konsep, keadaan, dan sebagainya yang
21

direkam dalam bentuk angka, huruf, simbol, teks, gambar, bunyi, atau
kombinasinya. (Yulia Djahir, 2014)
Pengertian basis data diperjelas lagi oleh James Martin yang mengatakan
Basis data adalah suatu kumpulan data terhubung yang disimpan secara bersama-
sama pada suatu media, tanpa mengatap satu sama lain atau tidak perlu suatu
kerangkapan data dengan cara-cara tertentu sehingga mudah untuk digunakan dan
ditampilkan kembali, data dapat digunakan untuk satu atau lebih program aplikasi
secara optimal, data dapat disimpan tanpa mengalami ketergantungan pada program
yang akan menggunakannya, serta disimpan sedemikian rupa sehingga
penambahan, pengambilan dan modifikasi data dapat dilakukan dengan mudah dan
terkontrol. (Kusrini, 2007)
Menurut Rosa A.S dan M. Shalahudin basis data adalah sistem
terkoputerisasi yang tujuan utamanya adalah memelihara data yang sudah diolah
atau informasi dan membuat informasi tersedia saat dibutuhkan. Pada intinya basis
data adalah media untuk menyimpan data agar dapat diakses dengan mudah dan
cepat. (Rosa A.S, 2015)
Dapat disimpulkan dari penjelasan diatas basis data adalah penyimpanan
data yang terstruktur, terintegrasi dan saling berkaitan dengan elemen-elemen
penghubungnya dan dapat di akses dengan berbagai cara, oleh karena itu basis data
juga bisa didefinisikan sebagai kumpulan data dengan berbagai bentuk yang
menggambarkan sendiri dari catatan yang terintegrasi dan penggambaran dari data
dikenal sebagai sistem katalog atau kamus data atau metadata.

2 1.6 Unified Modelling Language (UML)


2.1.6.1 Pengertian Unified Modelling Language (UML)
Adi Nugroho menjelaskan Unified Modelling Language (UML) adalah
bahasa pemodelan untuk sistem atau perangkat lunak yang berparadigma
berorientasi objek. Pemodelan sesungguhnya digunakan untuk penyederhanaan
permasalahan-permasalahan yang kompleks sedemikian rupa sehingga lebih
mudah dipelajari dan dipahami. (Lukman Arif Sanjani, 2014)
Unified Modelling Language adalah bahasa standar yang digunakan untuk
menjelaskan dan memfisualisasikan artifak dari proses analisis dan desain
22

berorientasi obyek. UML menyediakan standar pada notasi dan diagram yang bisa
digunakan untuk memodelkan suatu sistem. (Hermawan, 2004)
Menurut Rosa A.S dan M.Shalahuddin (2015) UML terdiri dari 13 macam
diagram yang dikelompokan dalam 3 kategori. Pembagian kategori dan macam-
macam diagram tersebut dapat dilihat pada gambar dibawah ini.

Gambar 2.5 Diagram-diagram UML


(Sumber : Rosa A.S dan M.Salahuddin, 2015)
Berikut ini penjelasan singkat dari pembagian kategori tersebut :
1. Structure diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan suatu struktur statis dari sistem yang dimodelkan.
2. Behavior diagrams yaitu kumpulan diagram yang digunakan untuk
menggambarkan kelakuan sistem atau rangkaian perubahan yang terjadi pada
sebuah sistem.
3. Interaction diagrams yaitu kumpulan diagram yang digunkan untuk
menggambarkan interaksi sistem dengan sistem lain maupun interaksi antar
subsistem pada suatu sistem.

2.1.6.2 Diagram-diagram UML


Untuk membuat suatu model, UML memiliki diagram grafis. Berikut
penjelasan dari diagram-diagram yang akan digunakan oleh penulis pada penelitian
ini.
23

1. Class Diagram
Class Diagram menggambarkan struktur sistem dari segi pendefinisian
kelas-kelas yang akan dibuat untuk membangun sistem. Kelas memiliki apa yang
disebut atribut dan metode atau operasi. (Rosa A.S, 2015)
a. Atribut merupakan variabel-variabel yang dimiliki oleh suatu kelas.
b. Operasi atau metode adalah fungsi-fungsi yang dimiliki oleh suatu kelas.
Berikut adalah simbol-simbol yang ada pada diagram kelas :
Tabel 2.1 Class Diagram
Simbol Deskripsi
Kelas Kelas pada struktur sistem.

nama_kelas
+atribut
+operasi()
Antarmuka/interface Sama dengan konsep interface dalam pemrograman
berorientasi objek.

nama_interface
asosiasi/association Relasi antar kelas dengan makna umum, asosiasi
biasanya juga disertai dengan multiplicity.

asosiasi berarah/directed Relasi antar kelas dengan makna kelas yang satu
digunakan oleh kelas yang lain, asosiasi biasanya juga
association disertai dengan multiplicy.

generalisasi Relasi antar kelas dengan makna generalisasi-


spesialisasi (umum khusus).

Kebergantungan/dependency Relasi antar kelas dengan makna kebergantungan


antar kelas.

Agregasi/aggregation Relasi antar kelas dengan makna semua-bagian


(whole-part)

(Sumber : Rosa A.S dan M.Salahuddin, 2015)


2. Use Case Diagram
Use case diagram merupakan pemodelan untuk kelakuan (behavior)
sistem informasi yang akan dibuat. Use case mendeskripsikan sebuah interaksi
antara satu atau lebih aktor dengan sistem informasi yang akan dibuat. Secara kasar,
use case di gunakan untuk mengetahui fungsi apa saja yang ada didalam sebuah
24

sistem informasi dan siapa saja yang berhak menggunakan fungsi-fungsi itu. (Rosa
A.S, 2015)
Berikut adalah simbol-simbol yang ada pada diagram use case :
Tabel 2.2 Use Case Diagram
Simbol Deskripsi
Use case Fungsionalitas yang disediakan sistem sebagai unit-
unit yang saling bertukar pesan antar unit atau aktor,
Nama use case biasanya dinyatakan dengan menggunakan kata kerja
di awal frase nama use case.
Aktor/actor Orang, proses, atau sistem lain yang berinteraksi
dengan sistem informasi yang akan dibuat diluar
sistem informasi yang akan dibuat diluar sistem itu
sendiri, jadi walaupun simbol dari aktor adalah gambar
orang, tapi aktor belum tentu merupakan orang.
Nama actor Biasanya dinyatakan menggunakan kata benda di awal
frase nama aktor.
Asosiasi/asociation Komunikasi antar aktor dengan use case yang
berpartisipasi pada use case atau use case memiliki
interaksi dengan aktor.
Ekstensi/extend Relasi use case tambahan kesebuah use case dimana
use case yang ditambahkan dapat berdiri sendiri walau
<<extend>> tanpa use case tambahan itu.

Generalisasi/generalization Hubungan generalisasi dan spesialisasi (umum-


khusus) antar dua buah use case dimana fungsi yang
satu adalah fungsi yang lebih umum dari lainnya.
Menggunakan/include/user Relasi use case tambahan ke sebuah use case dimana
use case yang ditambahkan memerlukan use case ini
<<include>> untuk menjalankan fungsinya atau sebagai syarat
dijalankan use case ini.

(Sumber : Rosa A.S dan M.Salahuddin, 2015)


3. Activity Diagram
Activity diagram menggambarkan workflow (aliran kerja) atau aktivitas dari
sebuah sistem atau proses bisnis atau menu yang ada pada perangkat lunak. Yang perlu
diperhatikan disini adalah bahawa diagram aktivitas menggambarkan aktivitas sistem
bukan apa yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. (Rosa
A.S, 2015)
Berikut adalah simbol-simbol yang ada pada diagram aktivitas :
25

Tabel 2.3 Activity Diagram


Simbol Deskripsi
status awal Status awal aktivitas sistem, sebuah diagram aktivitas
memiliki sebuah status awal.

aktifitas Aktivitas yang dilakukan sistem, aktivitas biasanya


diawali dengan kata kerja.
aktifitas

percabangan/decision Asosiasi percabangan dimana jika ada pilihan


aktivitas lebih dari satu.

penggabungan/join Asosiasi penggabungan dimana lebih dari satu


aktivitas digabungkan menjadi satu.

status akhir Status akhir yang dilakukan sistem, sebuah diagram


aktivitas memiliki sebuah status akhir.

Swimlane Memisahkan organisasi bisnis yang bertanggung


jawab terhadap aktivitas yang terjadi.
nama swimlane

(Sumber : Rosa A.S dan M.Salahuddin, 2015)


4. Sequence Diagram
Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima
antar objek. Oleh karena itu untuk menggambar sequence diagram maka harus
diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode
yang dimiliki kelas yang diinstansiasi menjadi objek itu. (Rosa A.S, 2015)
Berikut adalah simbol-simbol yang ada pada diagram aktivitas :
Tabel 2.4 Sequence Diagram
Sismbol Deskripsi
Aktor Orang, proses, atau sistem lain yang berinteraksi
dengan sistem informasi yang akan dibuat diluar
sistem informasi yang akan dibuat itu sendiri, jadi
walaupun simbol dari aktor adalah orang, tapi aktor
belum tentu merupakan orang. Biasanya dinyatakan
menggunakan kata benda di awal frase nam aktor.
Garis hidup/lifeline Menyatakan kehidupan suatu objek.
26

Tabel 2.4 Suquence Diagram (Lanjutan)


Sismbol Deskripsi
Objek Menyatakan objek yang berinteraksi pesan.

Nama objek: nama kelas

Waktu aktif Menyatakan objek dalam keadaan aktif dan


berinteraksi, semua yang terhubung dengan waktu
aktif ini adalah sebuah tahapan yang dilakukan
didalamnya.

Pesan tipe create Menyatakan suatu objek membuat objek yang lain,
arah panah mengarah pada objek yang dibuat.
<<create>>

Pesan tipe call Menyatakan suatu objek memanggil operasi/metode


yang ada pada objek lain atau dirinya sendiri. Arah
1:nama_metode() panah mengarah pada objek yang memilki
operasi/metode, karena ini memanggil operasi/metode
maka operasi/metode yang dipanggil harus ada pada
diagram kelas sesuai dengan kelas objek yang
berinteraksi.

Menytakan bahwa suatu objek mengirimkan


Pesan tipe send data/masukan/informasi ke objek lainnya, arah panah
mengarah pada objek yang dikirim.
1:masukan

Pesan tipe return Menyatakan bahwa suatu objek yang telah


menjalankan suatu operasi atau metode menghasilkan
1:keluaran suatu kembalian ke objek tertentu, arah panah
mengarah pada objek yang menerima kembalian.

Menyatakan suatu objek mengakhiri hidup objek yang


lain, arah panah mengarah pada objek yang diakhiri,
Pesan tipe destroy sebaliknya jika ada create maka ada destroy
<<destroy>>

(Sumber : Rosa A.S dan M.Salahuddin, 2015)


27

2 1.7 Java Development Kit (JDK)


Java Development Kit (JDK) merupakan perangkat lunak yang digunakan
untuk melakukan proses kompilasi dari kode Java menjadi bytecode yang dapat
dimengerti dan dapat dijalankan oleh Java Runtime Environtment. (Khannedy,
2011)

2 1.8 Android Software Development Kit (SDK)


Android SDK adalah tools Application Programming Interface (API) yang
diperlukan untuk mulai mengembangan aplikasi pada platform Android
menggunakan bahasa pemrograman Java. Android merupakan susbset perangkat
lunak untuk ponsel yang meliputi sistem operasi, middleware dan aplikasi kunci
yang di release oleh Google. Saat ini disediakan Android Software Development
Kit (SDK) sebagai alat bantu dan API untuk mulai mengembangkan aplikasi pada
platform Android menggunkan bahasa pemrograman Java. Sebagai platform
aplikasi-netral, Android memberikan kesempatan kepada pengembang untuk
membuat aplikasi yang kita butuhkan yang bukan aplikasi bawaan
Handphone/Smartphone. (Nazruddin Sahaat H, 2015)

2 1.9 Android Studio


Menurut IntelliJ IDEA Android studio adalah Integrated Development
Environtment (IDE) resmi untuk aplikasi android yang dikeluarkan pada 16 Mei
2013 oleh Google’s Product Manager. Selain merupakan editor kode IntelliJ dan
alat pengembang yang berdaya guna, Android studio menawarkan fitur lebih
banyak untuk meningkatkan produktivitas developer saat membuat aplikasi
android. (Anonim, 2013)
Berikut ini adalah fitur yang ada pada android studio :
1. Sistem pembuatan berbasis Gradle yang fleksibel.
2. Emulator yang cepat dan kaya fitur.
3. Lingkungan yang menyatu untuk pengembangan bagi semua perangkat
Android.
4. Instant Run untuk mendorong perubahan ke aplikasi yang berjalan tanpa
membuat APK baru.
28

5. Template kode dan integrasi GitHub untuk membuat fitur aplikasi yang sama
dan mengimpor kode contoh.
6. Alat penguji dan kerangka kerja yang ekstensif.
7. Alat Lint untuk meningkatkan kinerja, kegunaan, kompatibilitas versi, dan
masalah-masalah lain.
8. Dukungan C++ dan NDK.
9. Dukungan bawaan untuk Google Cloud Platform, mempermudah
pengintegrasian Google Cloud Messaging dan App Engine.

2 1.10 JavaScript Object Nation (JSON)


2 1.11 Pengertian JavaScript Object Nation (JSON)
JSON (Java Script Object Notation) adalah format pertukaran data yang
ringan, mudah dibaca dan ditulis oleh manusia, serta mudah diterjemahkan dan
dibuat (generate) oleh komputer. Format ini dibuat berdasarkan bagian dari Bahasa
Pemprograman JavaScript, Standar ECMA-262 Edisi ke-3 - Desember 1999. JSON
merupakan format teks yang tidak bergantung pada bahasa pemprograman apapun
karena menggunakan gaya bahasa yang umum digunakan oleh programmer
keluarga C termasuk C, C++, C#, Java, JavaScript, Perl, Python dll. Oleh karena
sifat-sifat tersebut, menjadikan JSON ideal sebagai bahasa pertukaran data.
JSON terbuat dari dua struktur:
1. Kumpulan pasangan nama/nilai. Pada beberapa bahasa, hal ini dinyatakan
sebagai objek (object), rekaman (record), struktur (struct), kamus (dictionary),
tabel hash (hash table), daftar berkunci (keyed list), atau associative array.
2. Daftar nilai terurutkan (an ordered list of values). Pada kebanyakan bahasa, hal
ini dinyatakan sebagai larik (array), vektor (vector), daftar (list), atau urutan
(sequence).
Struktur-struktur data ini disebut sebagai struktur data universal. Pada
dasarnya, semua bahasa pemprograman moderen mendukung struktur data ini
dalam bentuk yang sama maupun berlainan. Hal ini pantas disebut demikian karena
format data mudah dipertukarkan dengan bahasa-bahasa pemrograman yang juga
berdasarkan pada struktur data ini. (Anonim, 2013)
29

2.1.11.1 Bentuk JSON


Dikutip dari www.json.org/json-id.html JSON menggunakan bentuk
sebagai berikut:
1. Objek
Objek adalah sepasang nama/nilai yang tidak terurutkan. Objek dimulai
dengan { (kurung kurawal buka) dan diakhiri dengan } (kurung kurawal tutup).
Setiap nama diikuti dengan : (titik dua) dan setiap pasangan nama/nilai dipisahkan
oleh , (koma).

Gambar 2.6 Objek


2. Larik
Larik adalah kumpulan nilai yang terurutkan. Larik dimulai dengan [
(kurung kotak buka) dan diakhiri dengan ] (kurung kotak tutup). Setiap nilai
dipisahkan oleh , (koma).

Gambar 2.7 Array


3. Nilai
Nilai (value) dapat berupa sebuah string dalam tanda kutip ganda, atau
angka, atau true atau false atau null, atau sebuah objek atau sebuah larik. Struktur-
struktur tersebut dapat disusun bertingkat.

Gambar 2.8 Nilai (Value)


4. String
String adalah kumpulan dari nol atau lebih karakter Unicode, yang
dibungkus dengan tanda kutip ganda. Di dalam string dapat digunakan backslash
30

escapes "\" untuk membentuk karakter khusus. Sebuah karakter mewakili karakter
tunggal pada string. String sangat mirip dengan string C atau Java.

Gambar 2.9 String


5. Angka
Angka adalah sangat mirip dengan angka di C atau Java, kecuali format
oktal dan heksadesimal tidak digunakan.

Gambar 2.10 Angka


2.2 Teori Metodologi Yang Akan Digunakan
Pada bagian ini penulis akan menjelaskan metode System Development
Life Cycle (SDLC) dan model-model pada metode SDLC.

2 2.1 System Development Life Cycle (SDLC)


SDLC atau System Development life Cycle adalah proses mengembangkan
atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model
dan metodelogi yang digunakan untuk mengembangkan sistem-sistem perangkat
lunak sebelumnya (berdasarkan best practice atau cara-cara yang sudah teruji baik).
(Rosa A.S, 2015)
31

Menurut Hanif Al Fatta (2007) sistem yang baik dihasilkan dari


pengembangan sistem dengan metode yang terstandarisasi. Salah satunya adalah
System Development Life Cycle (SDLC). SDLC yang merupakan metodologi
umum dalam pengembangan sistem yang menandai kemajuan usaha analisis dan
desain SDLC meliputi fase sebagai berikut :
1. Identifikasi
Tahapan ini akan menghasilkan laporan kelayakan yang berisi definisi
masalah dan rangkuman tujuan yang ingin dicapai dari proyek yang dipilih.
2. Perencanaan
Pada tahap ini ditentukan secara detail rencana kerja yang harus
dikerjakan.
3. Analisis
Tahapan analisis adalah tahapan dimana sistem yang sedang berjalan
dipelajari dan sistem pengganti diusulkan.
4. Desain
Tahapan desain adalah tahapan mengubah kebutuhan yang masih berupa
konsep menjadi spesifikasi sistem yang ril.
5. Implementasi
Pada tahapan ini terdapat beberapa hal yang harus dilakukan, yaitu testing
dengan menguji hasil kode program yang telah dihasilkan dari tahapan desain dan
dilakukannya instalasi.
6. Pemeliharaan
Langkah terakhir dari SDLC dimana pada tahapan ini sistem secara
sistematis diperbaiki dan ditingkatkan.

2 2.2 Model-Model pada Metode SDLC


2.2.2.1 Waterfall
Model SDLC air terjun (waterfall) sering juga disebut model sekuensial
linier (sequential linear) atau alur hudup klasik (classic life cycle). Model air terjun
menyediakan alur hidup perangkat lunak secara sekuensial atau terurut atau dimulai
dari analisis, desain, pengodean, pengujian, dan tahap pendukung (support). (Rosa
A.S, 2015)
32

Berikut adalah tahapan dari model air terjun :


1. Analisis kebutuhan perangkat lunak
Proses pengumpulan kebutuhan dilakukan secara intensif untuk
menspesifikasikan kebutuhan perangkat lunak agar lebih dapat dipahami
paerangkat lunak seperti apa yang dibutuhkan oleh user. Spesifikasi kebutuhan
perangkat lunak pada tahap ini perlu didokumentasikan.
2. Desain
Desain perangkat lunak adalah proses multi langkah yang fokus pada
desain pembuatan program perangkat lunak termasuk struktur data, arsitektur
perangkat lunak, representasi antarmuka, dan prosedur pengodean. Tahap ini
mentranslasikan perangkat lunak dari tahap analisis kebutuhan ke representasi
desain agar dapat diimplementasikan menjadi program pada tahap selanjutnya.
Desain perangkat lunak yang dihasilkan pada tahap ini juga perlu
didokumentasikan.
3. Pembuatan kode program
Desain harus ditranslasikan ke dalam program perangkat lunak. Hasil dari
tahap ini adalah program komputer sesuai dengan desain yang telah dibuat pada
tahap desain.
4. Pengujian
Pengujian fokus pada perangkat lunak secara dari segi lojik dan fungsional
dan memastikan bahwa semua bagian sudah diuji. Hal ini dilakukan untuk
meminimalisir kesalahan (error) dan memastikan keluaran yang dihasilkan sesuai
dengan yang diinginkan.
5. Pendukung (support) atau pemeliharaan (maintenance)
Tidak menutup kemungkinan sebuah perangkat lunak mengalami
perubahan ketika sudah dikirimkan ke user. Perubahan bisa terjadi karena adanya
kesalahan yang muncul dan tidak terdeteksi saat pengujian atau perangkat lunak
harus beradaptasi dengan lingkungan baru. Tahap pendukung atau pemeliharaan
dapat mengulangi proses pengembangan mulai dari analisis spesifikasi untuk
perubahan perangkat lunak yang ada, tapi tidak untuk membuat perangkat lunak
baru.
33

Dari kenyataan yang terjadi sangat jarang model air terjun dapat dilakukan
sesuai alurnya karena sebab berikut :
1. Perubahan spesifikasi perangkat lunak terjadi ditengah alur pengembangan.
2. Sangat sulit bagi pelanggan untuk mendefinisikan semua spesifikasi di awal
alur pengembangan. Pelanggan sering kali butuh contoh (prototype) untuk
menjabarkan kebutuhan sistem lebih lanjut.
3. Pelanggan tidak mungkin bersabar mengakomodasikan perubahan yang
diperlukan di akhir alur pengembangan.

2.2.2.2 Prototype
Prototype adalah proses iteratif dalam pengembangan sistem di mana
kebutuhan diubah ke dalam sistem yang bekerja (working system) yang secara terus
menerus diperbaiki melalui kerjasama antara pengguna dan analis. (Hanif Al Fatta,
2007)
Model prototype memiliki tahapan-tahapan utama sebagai berikut :
1. Mendengarkan pelanggan (Listen to customer)
Pada tahapan pertama ini pengembang dan pelanggan bertemu,
pengembang mewawancarai pelanggan untuk menentukan tujuan umum dari
aplikasi yang akan dibangun berdasarkan kebutuhan pelanggan/user, hingga
membicarakan ide tentang bagaimana bentuk akhir dari sistem akan bekerja.
2. Membangun/memperbaiki perangkat lunak yang dibuat (Build/revise mock-up)
Pada tahapan ini pemgembang merancang setiap aspek software yang
diketahui oleh pelanggan/user, misalnya dengan membuat input dan format output
yang dihasilkan. Dimana tahap ini akan menjadi tahapan pengembangan prototype
dari model awal suatu sistem atau bagian dari suatu sistem dikembangkan secara
terus menerus hingga menjadi sistem yang utuh.
3. Pelanggan menguji perangkat lunak yang telah dibuat (Customer test drives
mock-up)
Pada tahapan terakhir, Prototype dievaluasi oleh pelanggan/user untuk
mengetahui kekurangan dari software yang dibangun. Sehingga memperjelas
kebutuhan dari software yang dibutuhkan pelanggan/user.
34

Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan


terpenuhi. Prototype-prototype dibuat untuk memuaskan kebutuhan
pelanggan/user dan untuk memahami kebutuhan pelanggan/user lebih baik.
Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software
lebih cepat, namun tidak semua prototype bisa dimanfaatkan. Sekalipun prototype
memudahkan komunikasi antar developer dan clien, membuat klien mendapat
gambaran awal dari prototype, membantu mendapatkan kebutuhan detil lebih baik
namun demikian prototype juga menimbulkan masalah :
1. Dalam membuat prototype banyak hal yang diabaikan seperti efisiensi,
kualitas, kemudahan dipelihara/dikembangkan, dan kecocokan dengan
lingkungan yang sebenarnya. Jika clien merasa cocok dengan prototype yang
disajikan dan berkeras terhadap produk tersebut, maka developer harus kerja
keras untuk mewujudkan produk tersebut menjadi lebih baik, sesuai kualitas
yang seharusnya.
2. Developer biasanya melakukan kompromi dalam beberapa hal karena harus
membuat prototype dalam waktu singkat. Mungkin sistem operasi yang tidak
sesuai, bahasa pemrograman yang berbeda, atau algoritma yang lebih
sederhana. Agar model ini bisa berjalan dengan baik, perlu disepakati bersama
oleh clien dan developer bahwa prototype yang dibangun merupakan alat untuk
mendefinisikan kebutuhan software.

2.2.2.3 Rapid Application Development (RAD)


Menurut Martin J RAD adalah model proses pengembangan perangkat
lunak incremental. RAD menekankan pada siklus pembangunan yang pendek.
RAD mengadopsi model waterfall dan pembangunan dalam waktu singkat dicapai
dengan menerapkan component-based construction. Waktu yang singkat adalah
batasan yang penting untuk model ini. Jika kebutuhan lengkap dan jelas maka
waktu yang dibutuhkan untuk menyelesaikan secara komplit software yang dibuat
adalah misalnya 60 sampai 90 hari. (Presman, Roger S., 2001)
Tahapan-tahapan dalam model RAD yaitu :
35

1. Business modeling
Aliran informasi diantara fungsi-fungsi bisnis di modelkan dengan suatu
cara untuk menjawab pertanyaan-pertanyaan berikut: informasi apa yang
mengendalikan proses bisnis? informasi apa yang dimunculkan? Siapa yang
memunculkannya? Kemana informasi itu pergi? Siapa yang memprosesnya?
2. Data modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase business
modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk
menompang bisnis tersebut. Karakteristik masing-masing objek di identifinisikan
dan hubungan antar objek-objek tersebut didefinisikan.
3. Proses modeling
Aliran informasi yang didefinisikan di dalam fase data modeling
ditransformasikan untuk mencapai aliran informasi yang perlu dibagi implementsi
sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah,
memodifikasi, menghapus, atau mendapatkan kembali sebuah objek data.
4. Application generation
RAD mengasumsikan pemakaian teknik genarasi ke-4, selain menciptakan
perangkat lunak dengan menggunakan bahasa pemrograman generasi ke-3 yang
konversional, RAD lebih banyak memproses kerja untuk memakai lagi komponen
program yang ada (pada saat memungkinkan) atau menciptakan komponen yang
bisa digunakan lagi (bila perlu). Pada semua kasus, alat bantu otomatis digunakan
untuk memfasilitasi konstruksi perangkat lunak.
5. Testing dan turnover
Karena proses RAD menekankan pada pemakaian kembali, banyak
komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian.
Tetapi komponen baru harus di uji dan semua interface harus dilatih secara penuh.
Seperti semua proses model yang lain, pendekatan RAD memiliki
kekurangan-kekurangan sebagi berikut :
1. Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya
manusia yang memadai untuk menciptakan jumlah tim RAD yang baik.
2. RAD menuntut pengembangan dan pelanggan yang memiliki komitmen di
dalam aktifitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di
36

dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak
ada, proyek RAD akan gagal. RAD menekankan perkembangan komponen
program yang bisa dipakai kembali. Reusable menjadi batu pertama teknologi
objek dan ditemui di dalam proses rakitan komponen.
3. Tidak semua aplikasi sesuai untuk RAD. Bila sistem tidak dapat dimodulkan
dengan teratur, pembangunan komponen penting pada RAD akan menjadi
sangat problematis.
4. RAD menjadi tidak sesuai jika resiko teknisnya tinggi. Hal ini terjadi bila
sebuah aplikasi baru memforsir teknologi baru atau bila perangkat lunak baru
membutuhkan tingkat interoperabilitas yang tinggi dengan program komputer
yang ada.

2.2.2.4 Extreme Programming (XP)


Extreme Programming adalah salah satu model yang ada pada agile
software development. Extreme Programming adalah pendekatan yang paling
banyak digunakan pembangunan agile software development. Extreme
Programming menggunakan pendekatan berorientasi objek. Paradigma
pembangunan mencakup seperangkat aturan dan praktik yang terjadi dalam konteks
kerangka empat kegiatan yaitu: perencanaan, desain, coding, dan pengujian.
(Presman, Roger S., 2010)
Berikut adalah tahapan - tahapan dalam kerangka kerja Extreme
Programming :
1. Perencanaan (Planning)
Kegiatan perencanaan dimulai dengan mendengarkan kegiatan
pengumpulan persyaratan yang memungkinkan para anggota teknis tim XP untuk
memahami konteks bisnis dari perangkat lunak dan untuk mendapatkan gambaran
umum untuk hasil yang diperlukan dan fitur utama dan juga fungsi-fungsinya.
2. Desain (Design)
XP desain secara ketat mengikuti prinsip KIS (Keep It Simple). Desain
sederhana selalu lebih disukai dari pada penjelasan yang lebih kompleks. Selain itu,
desain memberikan pedoman pelaksanaan yang mudah dimengerti. Desain adalah
fungsi tambahan (karena pengembang menganggap itu akan diperlukan nanti).
37

3. Coding
Dari pengembangan story dan desain awal, tim tidak pindah ke coding,
melainkan mengembangkan serangkaian unit test yang akan dibuat. Setelah uji unit
telah dibuat, pengembang lebih fokus pada apa yang harus dilaksanakan untuk
menangani permasalah dalam pengujian. Sebuah konsep kunci selama kegiatan
pengkodean (dan salah satu yang paling berbicara tentang aspek XP) adalah
pemrograman berpasangan. XP merekomendasikan dua orang bekerja bersama di
satu workstation komputer untuk membuat kode untuk sebuah story.
4. Pengujian (Testing)
Pengujian merupakan elemen kunci dari pendekatan XP. Dalam tahap ini
terdapat customer tests yang dikhususkan untuk user dan difokuskan pada sistem
fitur dan fungsionalitas yang dapat dilihat dan dinilai oleh user.
Kelemahan yang dimiliki model XP diantaranya :
1. Developer harus selalu siap dengan perubahan karena perubahan akan selalu
diterima.
2. Tidak bisa membuat kode yang detail di awal (prinsip simplicity dan juga
anjuran untuk melakukan apa yang diperlukan hari itu juga).
3. Tidak memiliki dokumentasi formal yang dibuat selama pengembangan. Satu-
satunya dokumentasi adalah dokumentasi awal yang dilakukan oleh user.

2 2.3 Sistem Informasi dan System Development Life Cycle (SDLC)


Menurut Jogiyanto Pengembangan/rekayasa sistem informasi (system
development) dan/atau perangkat lunak (software engineering) dapat berarti
menyusun sistem/ perangkat lunak yang benar-benar baru atau yang lebih sering
terjadi menyempurnakan yang telah ada sebelumnya. Juga sering terjadi
pengembangan sistem informasi berbasis komputer (CMS-Computer-based
Information System) dilakukan dengan motivasi untuk memanfaatkan komputer
sebagai alat bantu yang dikenal sebagai alat yang cepat, akurat, tidak cepat lelah,
serta tidak mengenal arti kata bosan, untuk melaksanakan instruksi-instruksi
pengguna untuk mendapatkan hasil-hasil tertentu. Secara umum, suatu
sistem/perangkat lunak perlu dikembangkan adalah karena alasan-alasan sebagai
berikut :
38

1. Adanya permasalahan yang dijumpai pada sistem/perangkat lunak yang lama.


Permasalahan pada sistem yang lama bisa berarti pencatatan data yang tidak
akurat, informasi yang sering terlambat atau sukar diperoleh saat dibutuhkan,
ketidak efisienan operasi, serta ketidak amanan data-data penting yang
mengakibatkan permasalahan akses data oleh oknum yang tidak berhak.
2. Pertumbuhan organisasi. Pada saat organisasi/perusahaan masih kecil masih
mungkin segalanya dilakukan secara manual dengan sedikit pengelola. Namun,
saat organisasi/perusahaan berkembang menjadi besar, tidak mungkin untuk
melakukan segalanya secara manual. Saat inilah diperlukan otomatisasi
pemrosesan data sehingga proses-proses dalam organisasi bisa berjalan dengan
cepat serta akurat. Selain itu, juga diperlukan suatu cara tertentu sehingga data-
data yang diperIukan sebagai dasar pengambilan keputusan oleh manajer dapat
diperoleh dengan cepat. Saat ini komputer menjanjikan pertolongan yang
memadai (tentu saja dengan cara-cara yang ditentukan sebelumnya oleh para
manajer/spesialis di bidang informasi).
3. Untuk meraih kesempatan-kesempatan. Teknologi informasi telah berkembang
dengan cepat. Organisasi/perusahaan mulai merasakan bahwa teknologi
informasi perlu digunakan untuk meningkatkan penyediaan informasi sehingga
mendukung penuh proses pengambilan keputusan yang akan dilakukan oleh
para manajer/para pengguna informasi. Dalam persaingan pasar, kecepatan
serta ketepatan informasi sangat menentukan berhasil atau tidaknya strategi
serta rencana-rencana yang telah disusun untuk meraih kesempatan-
kesempatan yang ada. Bila perusahaan pesaing berhasil memanfaatkan
kesempatan-kesempatan itu, kita akan tertinggal sehingga mungkin akan
menjadi terlambat untuk dapat memanfaatkan kesempatan itu.
4. Menyesuaikan diri dengan visi, misi, strategi organisasi yang baru. Dalam
perjalanannya, setiap organisasi memiliki visi, misi, serta strategi yang berubah
sepanjang perjalanan waktu. Perubahan-perubahan ini biasanya terjadi akibat
perubahan lingkungan yang memengaruhi kerja serta kinerja organisasi.
Teknologi informasi sering digunakan untuk mengantisipasi perubahan
lingkungan dalam kerangka visi, misi, serta strategi yang diterapkan untuk
mengatasi perubahan lingkungan tersebut. (Adi Nugroho, 1995)
39

2.3 Pengujian Perangkat Lunak


Pengujian perangkat lunak ini merupakan tahapan dimana suatu sistem
perangkat lunak akan diuji atau dievaluasi untuk mengetahui efektifitas dari sistem
dan untuk mendapatkan hasil yang maksimal dari sistem yang telah dibuat.

2 3.1 Black Box Testing


Black box testing merupakan pengujian dari segi fungsi yang ada pada
perangkat lunak untuk mengetahui apakah fungsi tersebut sudah sesuai dengan
kebutuhan atau belum sesuai.
Yuliana (2009) menjelaskan bahwa metode ujicoba blackbox
memfokuskan pada keperluan fungsional dari software. Karena itu ujicoba
blackbox memungkinkan pengembang software untuk membuat himpunan kondisi
input yang akan melatih seluruh syarat-syarat fungsional suatu program. Ujicoba
blackbox bukan merupakan alternatif dari ujicoba whitebox, tetapi merupakan
pendekatan yang melengkapi untuk menemukan kesalahan lainnya, selain
menggunakan metode whitebox.
Ujicoba blackbox berusaha untuk menemukan kesalahan dalam beberapa
kategori, diantaranya :
1. Fungsi-fungsi yang salah atau hilang.
2. Kesalahan interface.
3. Kesalahan dalam struktur data atau akses database eksternal.
4. Kesalahan performa.
5. kesalahan inisialisasi dan terminasi.
Ujicoba blackbox diaplikasikan dibeberapa tahapan berikutnya. Karena
ujicoba blackbox dengan sengaja mengabaikan struktur kontrol, sehingga
perhatiannya difokuskan pada informasi domain. Ujicoba didesain untuk dapat
menjawab pertanyaan-pertanyaan berikut :
1. Bagaimana validitas fungsionalnya diuji?
2. Jenis input seperti apa yang akan menghasilkan kasus uji yang baik ?
3. Apakah sistem secara khusus sensitif terhadap nilai input tertentu ?
4. Bagaimana batasan-batasan kelas data diisolasi?
5. Berapa rasio data dan jumlah data yang dapat ditoleransi oleh sistem?
6. Apa akibat yang akan timbul dari kombinasi spesifik data pada operasi sistem?
40

2 3.2 White Box Testing


Menurut Yuliana (2009) White box testing didasarkan pada pemeriksaan
detail prosedural. Alur logikal suatu software diujicoba dengan menyediakan kasus
ujicoba yang melakukan sekumpulan kondisi dan/atau perulangan tertentu. Status
dari program dapat diperiksa pada beberapa titik yang bervariasi untuk menentukan
apakah status yang diharapkan atau ditegaskan sesuai dengan status sesungguhnya.
Sepintas seolah-olah white box testing akan menghasilkan program yang
100% benar, yang diperlukan hanyalah mendefinisikan alur logikal, membangun
kasus uji untuk memeriksa software tersebut dan mengevaluasi hasil yang
diperoleh. Sayangnya, ujicoba yang menyeluruh ini menghadirkan masalah logikal
tertentu. Untuk sebuah program sederhana sekalipun, terdapat banyak alur logikal
yang memungkinkan. Sehingga white box testing sebaiknya hanya dilakukan pada
alur logikal yang penting. Struktur data-struktur data yang penting dapat diujikan
dengan uji validitas. Atribut dari black box testing dan white box testing dapat
dikombinasikan untuk digunakan bersama.
Ujicoba Whitebox merupakan metode desain uji kasus yang menggunakan
struktur kontrol dari desain prosedural untuk menghasilkan kasus-kasus uji. Dengan
menggunakan metode ujicoba whitebox, para pengembang software dapat
menghasilkan kasus-kasus uji yang :
1. Menjamin bahwa seluruh independent paths dalam modul telah dilakukan
sedikitnya satu kali.
2. Melakukan seluruh keputusan logikal baik dari sisi benar maupun salah.
3. Melakukan seluruh perulangan sesuai batasannya dan dalam batasan
operasionalnya.
4. Menguji struktur data internal untuk memastikan validitasnya.
Ujicoba berbasis alur merupakan teknik ujicoba whitebox pertama yang
diusulkan oleh Tom McCabe. Metode berbasis alur memungkinkan perancang
kasus uji untuk menghasilkan ukuran kompleksitas logikal dari desain prosedural
dan menggunakan ukuran ini untuk mendefinisikan himpunan basis dari alur
eksekusi. Kasus uji dihasilkan untuk melakukan sekumpulan basis yang dijamin
untuk mengeksekusi setiap perintah dalam program, sedikitnya satu kali selama
ujicoba.
41

1. Notasi graf Alur (Path Graph Notation)


Notasi sederhana untuk merepresentasikan alur kontrol disebut graf alur
(flow graph), seperti gambar dibawah ini :

Gambar 2.11 Flow Graph Notation


(Sumber :Ayuliana, 2009)
Untuk mengilustrasikan kegunaan dari diagram alir dapat dilihat pada
gambar dibawah ini. Setiap lingkaran disebut dengan flow graph node,
merepresentasikan satu atau lebih perintah prosedural. Urutan dari simbol proses
dan simbol keputusan dapat digambarkan menjadi sebuah node, sedangkan anak
panah disebut edges, menggambarkan aliran dari kontrol sesuai dengan diagram
alir.
Sebuah edge harus berakhir pada sebuah node walaupun tidak semua node
merepresentasikan perintah prosedural. Area yang dibatasi oleh edge dan node
disebut region, area diluar graph juga dihitung sebagai region.

Gambar 2.12 Alur Flow Graph


(Sumber :Ayuliana, 2009)
42

2. Cyclomatic Complexity
Cyclomatic complexity merupakan software metric yang menyediakan
ukuran kuantitatif dari komplesitas logikal suatu program. Ketika digunakan dalam
konteks metode ujicoba berbasis alur, nilai yang dikomputasi untuk kompleksitas
cyclomatic mendefinisikan jumlah independent path dalam himpunan basis suatu
program dan menyediakan batas atas untuk sejumlah uji coba yang harus dilakukan
untuk memastikan bahwa seluruh perintah telah dieksekusi sedikitnya satu kali.
Berikut ini merupakan Kompleksitas Cyciomatic yang dapat digunakan :
a. Jumlah region dari graf alur mengacu keopada kompleksitas Cyclomatic.
b. Kompleksitas Cyclomatic untuk graf alur G didefinisikan :
V(G) = E – N + 2
Dimana E = jumlah edge, dan N = jumlah node.
c. Kompleksitas Cyclomatic untuk graf alur G didefinisikan :
V(G) = P + I
Dimana P = jumlah predicates nodes.

2.4 Penelitian Sebelumnya dan Perbedaan Penelitian Sebelumnya


Pada bagian ini akan diuraikan tenteng penelitian-penelitian terdahulu dan
membandingkan penelitian tersebut menggunakan tabel dari beberapa jurnal yang
sesuai dengan topik penelitian yang penulis buat.

Penelitian yang dilakuan oleh Febri Saputra, Merrieayu Puspita Hannah,


Dien Novita (2014) dengan judul “Sistem Informasi Akademik Berbasis Web pada
Global English Language Center” yang bertujuan untuk mempermudah
penyampaian informasi akademik yang akan diberikan kepada peserta dan dapat
menunjang kegiatan akademik agar lebih efektif dan efisien. Pemecahan masalah
pada penelitian ini menggunakan kerangka PIECES (Performance, Information,
Economic, Control, Efficiency and Service) kerangka PIECES digunakan untuk
mengkategorikan permasalahan yang ditemukan sesuai dengan data yang
dikumpulkan. Dalam penelitian ini digunakan metode Rational Unified Process
(RUP) dengan pendekatan iteratif untuk siklus pengembangan perangkat lunak.
Dalam perancangannya penulis menggunakan bahasa pemrograman PHP dan untuk
pembuatan databasenya menggunakan MySQL. Pada rancangan antarmuka,
43

pengguna akan diharapkan untuk melakukan login terlebih dahulu sebelum dapat
menggunakan sistem. Setelah melakukan login, pengguna akan diberikan tampilan
menu sesuai dengan hak akses masing-masing pengguna pada pada tampilan awal
menu terdapat menu home, siswa, tutor, jadwal, tagihan, artikel, login dan about us.
Pengguna yang mempunyai hak akses admin diberikan hak akses untuk mengelola
data tutor yang ada di dalam sistem diantaranya nama tutor, alamat, no telepon dan
no hp. Admin pada sistem ini juga mempunyai hak akses untuk menginput absen
siswa, mengelola data artikel dan mengelola data pembayaran yang dilakukan oleh
siswa dengan memilih tombol kelola pembayaran. Pengunjung website yang ingin
mendaftarkan diri sebagai calon siswa dapat memilih menu register yang terdapat
pada sistem.
Penelitian yang dilakukan oleh Henny Indriyawati (2015) dengan judul
“Analisis Sistem Informasi Akademik Berbasis SMS Gateway Pada Fakultas
Teknologi Informasi dan Komunikasi Universitas Semarang” yang bertujan untuk
membantu mahasiswa mendapatkan informasi nilai melalui SMS dengan cepat.
Karena untuk mendapatkan nilai mahasiswa di Fakultas Teknologi Informasi dan
Komunikasi Universitas Semarang harus mengakses ke web yang dimiliki fakultas
tersebut. Metode yang digunakan untuk pembuatan sistem informasi ini penulis
menggunakan teknik pengumpulan data dengan melakukan wawancara dengan
pihak-pihak terkait yaitu mahasiswa dan kepala pusat sistem informasi terpadu
Universitas Semarang, pengamatan data secara langsung dan studi pustaka dengan
mempelajari literatur-literatur dan buku-buku yang berhubungan dengan penelitian.
Sistem informasi ini dibangun menggunakan software Gammu SMS Gateway
dengan sistem pendukung OS Windows 7 dan Browser Internet. Sistem informasi
berbasis SMS ini dirancang Auto Replay. Sebelum informasi nilai diberikan pada
mahasiswa dosen/admin mengelola informasi nilai terlebih dahulu, kemudian untuk
mendapatkan nilai, mahasiswa harus melakukan request nilai dengan cara
mengirim SMS dengan format NILAI_NIM_MK contoh :
NILAI_111140012_KecerdasanBuatan lalu sistem akan secara otomatis mengirim
nilai yang di request. Pembuatan sistem informasi ini membutuhkan biaya yang
mahal dan membutuhkan waktu yang relatif lama dan sebagian aplikasi masih
belum dapat digunakan karena terbatasnya waktu perancangan.
44

Penelitian yang dilakukan oleh Nicky Rolly, Nashrul Hakiem (2015)


dengan judul “Pengembangan Aplikasi Mobile Academic Information System
(AIS) Berbasis Android Untuk Pengguna Dosen dan Mahasiswa” penelitian ini
bertujuan untuk mengoptimlkan penggunaan smartphone Android untuk dosen
mengakses KRS mahasiswa dan menginput nilai mahasiswa dan untuk mahasiswa
dipergunkan untuk melihat nilai dan jadwal kuliah. Dalam pengembangan aplikasi
mobile berbasis Android ini penulis menggunakan metodologi Rapid Application
Development (RAD) alasannya karena pengembangan sistem ini akan lebih murah
dalam hal biaya dan lebih cepat dalam implementasi serta melibatkan pengguna
akhir dalam proses pengembangannya, sehingga tujuan utama dari sistem ini lebih
terarah pada pengembangannya. Penulis menggunakan software Eclipse IDE dalam
pembuatan aplikasinya. Aplikasi ini melibatkan dua actor yaitu dosen dan
mahasiswa dimana dosen adalah pihak yang berhak mengakses menu penilaian dan
validasi KRS dan mahasiswa adalah pihak yang berhak mengakses menu jadwal
kuliah dan data penilaian mahasiswa. Untuk penggunaannya mahasiswa harus login
terlebih dahulu untuk melihat jadwal kuliah dan nilai, begitupun dengan dosen
harus login terlebih dahulu untuk melakukan validasi KRS dan penilaian.
Penelitian yang dilakukan oleh Jaka Santana, Nurdin Bahtiar dan Helmie
Arief Wibawa (2013) dengan judul “Sistem Informasi Akademik Lembaga Kursus
Dan Pelatihan Berbasis Web” penlitian ini bertujuan untuk mendukung kinerja dan
meningkatkan efisien, produktivitas, dan efektivitas dalam upaya peningkatan
pelayanan akademis lembaga. Dalam pembuatan sistem informasi ini model
rekayasa perangkat lunak yang digunkan penulis adalah model Sekuensial Linier
yang mengusulkan sebuah pendekatan kepada pengembang perangkat lunak yang
sistematik dan sekuensial yang mulai pada tingkat dan kemajuan sistem pada
seluruh analisis, perancangan (design), penulisan kode, dan pengujian. Perangkat
lunak yang digunakan oleh penulis dalam pembuatan sistem informasi ini yaitu
Sistem Operasi Windows 7 dengan menggunakan bahasa pemrograman PHP dan
MySQL sebagai databasenya. Anatarmuka pada aplikasi web yang dibuat
menggunkan antarmuka berbasis Graphical User Interface (GUI) yang didalamnya
terdapat menu data kursus, data nilai dan laporan kursus. Yang dapat mengakses
aplikasi ini yaitu admin, karyawan, manajer, pengajar dan siswa dimana Admin
45

dapat mengelola data admin, karyawan, manajer, pengajar, siswa, kursus siswa,
program kursus, sesi, jadwal kursus, ruangan, dan data nilai. Admin juga dapat
melihat informasi jadwal kursus, laporan karyawan, laporan pengajar, laporan
siswa, dan laporan kursus. Karyawan dapat mengelola data program kursus, sesi,
jadwal kursus, ruangan, pengajar, siswa dan data kursus siswa. Pengajar dapat
melihat informasi jadwal kursus, dan mengelola nilai siswa. Siswa hanya dapat
melihat informasi jadwal kursus dan nilai. Manajer dapat melihat informasi laporan
akademik yang berisi laporan karyawan, laporan pengajar, jadwal kursus, laporan
siswa, dan laporan kursus.

Tabel 2.5 Perbandingan dengan Penelitian Sebelumnya


No Penulis Judul Metode Hasil
1 Febri Sistem Informasi RUP (Rational Penelitian ini
Saputra, Akademik Unified Process) menghasasilkan aplikasi
Merrieayu Berbasis Web yang dapat
Puspita pada Global mempermudah
Hannah dan English Language penyampaian informasi
Dien Novita Center akademik, dan
(2014) mempermudah untuk
pengunjung web ini
melakukan regristrasi
pendaftaran untuk yang
ingin bergabung untuk
menjadi peserta dan
peserta yang sudah
terdaftar dapat
melakukan pembayaran
secara online melalui
aplikasi website yang
dibuat.
2 Henny Analisis Sistem Pengumpulan Penelitian ini
Indriyawati Informasi data dengan menghasilkan sistem
(2015) Akademik melakukan informasi yang dapat
Berbasis SMS wawancara memepermudah
Gateway Pada pengamatan data mahasiswa untuk
Fakultas secara langsung mendapatkan sistem
Teknologi dan studi pustaka informasi akademik
Informasi dan melalui SMS dengan
Komunikasi format SMS yang sudah
Universitas ditentukan.
Semarang
46

Tabel 2.5 Perbandingan dengan Penelitian Sebelumnya (Lanjutan)


No Penulis Judul Metode Hasil
3 Nicky Rolly, Pengembangan RAD (Rapid Hasil dari penelitian ini
Nashrul Aplikasi Mobile Application yaitu aplikasi berbasis
Hakiem Academic Development) Android yang dapat di
(2015) Information miliki oleh mahasiswa
System (AIS) untuk mendapatkan
Berbasis Android informasi akademik
Untuk Pengguna dimanapun dan
Dosen dan kapanpun dengan
Mahasiswa melakukan login
terlebih dahulu.
4 Jaka Sistem Informasi RUP (Rational Penelitian ini
Santana, Akademik Unified Process) menghasilkan aplikasi
Nurdin Lembaga Kursus web yang dapat diakses
Bahtiar dan Dan Pelatihan oleh admin, karyawan,
Helmie Berbasis Web manajer, pengajar dan
Arief siswa dengan hak akses
Wibawa yang berbeda-beda.
(2013)

Penelitian yang dilakukan oleh penulis memiliki perbedaan dengan


penelitian sebelumnya yaitu penulis menggunakan sistem operasi Android sebagai
media pengembangan sistemnya dan pada penelitian ini penulis menggunakan
metode pengembangan sistem System Development Life Cycle (SDLC) dengan
model Prototype. Dalam pembuatan aplikasinya penulis menggunkan bahasa
pemrograman java dengan software Eclipse IDE dan databasenya menggunkan
SQLite. Dalam penerapannya aplikasi berbasis sistem operasi Android ini akan
diterapkan di perusahaan yang bergerak dibidang training.
BAB 3
OBJEK DAN METODOLOGI PENELITIAN

3.1 Objek Penelitian


Objek penelitian merupakan salah satu faktor penting dalam melakukan
suatu penelitian. Objek penelitian merupakan sumber diperolehnya data dari tempat
penelitian yang dilakukan.

3 1.1 Sejarah Singkat Perusahaan


The Premiere Training Center merupakan sebuah perusahaan yang
bergerak dibidang pelatihan yang didirikan oleh Ahadian, SE. Perusahaan ini
didirikan pada awal tahun 2014 yang beralamat di Jl. Raya Galuh Mas, Ruko
Senkom Blok E No 3. Tujuan dari The Premiere Training Center ingin membangun
dan mengembangkan Sumber Daya Manusia (Human Cpital) menjadi kreatif dan
profesional.

3 1.2 Profie Perusahaan


The Premiere Training Center didirikan sebagai komitmen dari para
profesional yang berdedikasi ingin mengembangkan dan membangun human
capital menjadi profesional dan kreatif serta memberikan nilai tambah kepada
perusahaan.
Membantu memberikan solusi dan pelayanan dalam menyelesaikan setiap
permasalahan dengan sebuah sistem dan aplikasi yang kami sediakan. Setiap
Individu personel kami sudah berpengalaman dan terdiri dari profesional dan
praktisi dibidangnya.
Dengan Tim yang solid dan profesional serta dengan semangat dan
ketulusan, kami yakin akan selalu memberikan solusi dan pelayanan terbaik kepada
para pelanggan.

3 1.3 Visi dan Misi Perusahaan


Visi dan misi Ahadian, SE dalam mendirikan tempat pelatihan ini adalah
sebagai berikut:

47
48

1. Visi
Menjadi perusahaan yang terbaik dalam membangun dan mengembangkan
Sumber Daya Manusia (Human Capital).

2. Misi
a. Memberikan solusi dan pelayanan terbaik sehingga menjadi nilai tambah
kepada perusahaan pelanggan.
b. Membangun dan mengembangkan human capital yang kreatif dan
profesional.
c. Mampu memberikan nilai tambah bagi seluruh stakeholder.

3 1.4 Struktur Organisasi Perusahaan

Gambar 3.1 Struktur Organisasi The Premiere Training Center


3.2 Metodologi Penelitian
Dalam penelitian ini, penulis menggunkan metode software development
life cycle. Sedangkan untuk pengembangan aplikasi yang dibuat penulis
menggunkan model prototype, alasan penulis menggunakan model prototype yaitu
:
1. Interaksi antar pengembang dan pelanggan akan terkordinir dengan baik
sebagai bentuk penunjang pengembangan sistem yang akan dikembangkan.
2. Dengan kurangnya pengetahuan dari pelanggan mengenai sistem yang akan
dikembangkan sehingga pengembang akan menyampaikan terlebih dahulu
rancangan serta gambaran sistem yang akan dikembangkan.
49

3. Dengan evaluasi dari pelanggan tentang pengembangan sistem yang akan


dikembangkan pengembang dapat mengambil keputusan final tentang sistem
yang akan dikembangkan melalui evaluasi pelanggan sebelumnya.

3 2.1 Rancangan Penelitian


Metode pengembangan sistem yang digunakan dalam penelitian ini adalah
metode software development life cycle dengan model prototype, berikut ini adalah
tahapan model prototype yang penulis gunakan :

Gambar 3.2 Rancngan Penelitian


50

3.2.1.1 Pengumpulan Kebutuhan dan Analisis


Pengumpulan kebutuhan dan analisis ini merupakan tahapan awal dari
metode yang penulis gunakan. Pada tahapan ini meliputi :
1. Pengumpulan Data
Pengumpulan data merupakan bagian terpenting dalam suatu penelitian,
penulis mengunakan beberapa cara untuk mengumpulkan data, yaitu dengan cara :
a. Wawancara
Penulis melakukan tanya jawab kepada pemilik perusahaan, untuk
mengetahui permasalahan dan kebutuhan yang diperlukan.
b. Observasi
Penulis terjun langsung ke perusahaan untuk mengumpulkan data dari
peserta, mencari tahu masalah dan kesulitan yang dihadapi peserta
mengenai pemberitahuan informasi.
c. Studi Literatur
Untuk bahan dari pembuatan sistem informasi yang penulis buat, penulis
mempelajari teori-teori tentang seputar sistem informasi yang relevan dan
dapat dipertanggung jawabkan kebenarannya.
2. Analisis Sistem Lama
Pada tahapan ini bertujan untuk mengetahui sistem yang sedang berjalan
kemudian mendeskripsikannya sehingga dapat diketahui kelebihan dan
kekurangannya.
3. Identifikasi Masalah yang Dihadapi
Pendefinisian masalah merupakan tahapan yang dilakukan untuk
menjawab permasalahan-permasalahan yang sering terjadi mengenai pemberian
informasi pada peserta yang sedang berjalan saat ini.
4. Solusi Pemecahan Masalah
Pada tahapan ini peneliti memberikan usulan dalam penyelesaian masalah
dengan menggunkan pendekatan sistem berbasis objek dengan menggunkan use
case diagram, activity diagram, sequence diagram dan class diagram.
51

5. Kebutuhan sistem
Pada tahapan ini bertujuan untuk mengumpulkan kebutuhan seperti
penggunaan perangkat lunak (software) dan perangkat keras (hardware) yang akan
digunakan. Setelah kebutuhan penelitian terkumpul, kemudian dapat diambil
sebuah kesimpulan untuk kebutuhan yang harus dipenuhi dalam membangun
aplikasi sistem informasi, kemudian pada langkah selanjutnya yaitu membangun
prototype.

3.2.1.2 Membangun Prototype


Tahapan kedua ini bertujuan untuk membangun sebuah prototype dari
sebuah sistem yang akan dibangun. Tugas-tugas dari tahapan ini meliputi :
1. Perancangan Sistem Baru
Pada tahapan ini bertujuan untuk merancang sistem baru, pada penelitian
ini penulis menggunakan UML sebagai case tool dalam perekayasaan perangkat
sistem. Dari berbagai diagram UML yang ada hanya beberapa yang digunakan
dalam perancangan sistem baru ini diantaranya :
a. Class Diagram
Menggambarkan struktur sistem dari segi pendefinisian kelas-kelas yang
akan dibuat untuk membangun sistem. Kelas memilki apa yang disebut
atribut dan metode atau operasi.
b. Use Case Diagram
Mendeskripsikan sebuah interaksi aktor pada aplikasi yang akan dibuat.
Secara kasar, use case digunakan untuk mengetahui fungsi apa saja yang
ada didalam sebuah aplikasi ini dan siapa saja yang berhak menggunakan
fungsi-fungsi itu.
c. Sequence Diagram
Menggambarkan kelakuan objek pada use case dengan mendeskripsikan
hidup objek dan pesan yang dikirimkan dan diterima antar objek.
d. Activity Diagram
Menggambarkan workflow (aliran kerja) atau aktivitas dari sebuah sistem
atau proses bisnis. Yang perlu diperhatikan disini adalah bahwa aktivitas
52

menggambarkan aktivitas sistem bukan apa yang dilakukan aktor, jadi


aktivitas yang dapat dilakukan oleh sistem.
2. Perancangan Database
Pada tahapan ini bertujuan untuk merancang database, pada penelitian ini
penulis menggunakan class diagram yang menggambarkan entitas yang ada, tool
yang digunakan yaitu StarUML.
3. Perancangan Interface
Pada tahapan ini bertujuan untuk merancang interface setelah bentuk
normalisasi selesai dirancang, pada tahap ini perancangan input dan output yang
meliputi fitur-fitur yang akan dibuat pada aplikasi seperti fitur nilai hasil pelatihan,
daftar pelatihan, materi pelatihan dan data pelatih. Pada aplikasi sistem informasi
yang penulis bangun ini akan dilengkapi juga dengan fitur profile perusahaan.
Untuk perancangan interface penulis menggunakan software Corel Draw.
Setelah membangun prototype dari sebuah sistem aplikasi yang akan
dibangun kemudian pada langkah selanjutnya adalah evaluasi prototype.

3.2.1.3 Evaluasi Prototype


. Tahap evaluasi prototype ini dilakukan dengan cara melakukan evaluasi
pada sistem yang akan dibangun untuk mendapatkan kesepakatan dalam
perancangan sebuah sistem dengan pelanggan dari segi manajemen maupun teknis
dari sistem aplikasi. Jika perancangan belum sesuai dengan keinginan pelanggan
maka pelanggan akan mengisi form evaluasi yang disediakan dan akan kembali lagi
pada tahap membangun prototype lalu dilakukan perbaikan dan perubahan
perancangan sistem yang akan dibangun. Jika pelanggan sudah setuju dengan
perancangan sistem dan tidak ada perubahan perancangan sistem yang akan
dibangun maka akan dilanjutkan pada tahapan berikutnya yaitu pengkodean sistem.

3.2.1.4 Pengkodean Sistem


Pengkodean sistem merupakan tahapan untuk menerjemahkan suatu
rancangan prototype yang sudah dievaluasi oleh pelanggan ke bahasa pemrograman
yang sesuai dengan penelitian dan pada penelitian ini penulis menggunkan software
53

Android Studio dan Notepad++ dengan bahasa pemrograman Java, XML, PHP dan
MySQL sebagai databasenya.

3.2.1.5 Pengujian Sistem


Pada tahap ini bertujuan untuk mengkontruksi, menguji, memasang
(install) dan memberikan pelayanan kepada pengguna. Setelah pengkodean sistem
dan sudah menjadi sebuah aplikasi, aplikasi ini diuji dengan menggunakan dua cara
diantaranya yaitu :
1. White Box Testing
Pengujian white box adalah pengujian suatu program dengan cara meneliti
ke dalam halaman source code program yang telah dibuat. Menganalisis apakah
ada kesalahan atau tidak, jika ada source code yang menghasilkan output yang tidak
sesuai maka akan dilakukan pengecekan dan perubahan pada baris code dan
parameter yang berkaitan dengan kesalahan tersebut.
2. Black Box Testing
Pengujian black box adalah pengujian yang berfokus pada interface
aplikasi tanpa terhubung pada source code. Ketika melakukan pengujian ini tester
akan berinteraksi dengan tampilan interface yang menyediakan input dan
memeriksa outputnya, juga menguji fitur-fitur yang tersedia apakah sudah bekerja
dengan benar atau tidak. Pengujian ini bertujuan untuk mengetahui segi kekurangan
terhadap sistem aplikasi yang telah dibangun.

3.2.1.6 Evaluasi Sistem


Setelah di uji dan tidak terdapat kesalahan, aplikasi dievaluasi oleh
pelanggan dengan mencoba aplikasi secara keseluruhan untuk melihat sudah sesuai
atau tidak dengan keinginan pelanggan. Pelanggan melihat interface dari aplikasi
dan melihat seberapa jauh sistem yang berfungsi setelah itu pelanggan
mengidentifakasikan masalah yang terjadi pada aplikasi. Jika belum sesuai dengan
keinginan pelanggan maka pelanggan mengisi form evaluasi sistem yang
disediakan dan akan dilakukan perubahan pada pengkodean sistem, jika sudah
sesuai maka akan dilanjutkan pada tahap berikutnya yaitu penggunaan sistem.
54

3.2.1.7 Penggunaan Sistem


Tahap selanjutnya adalah penggunaan sistem yang telah dibuat setelah
evaluasi sistem selesai dan dinyatakan aplikasi sistem informasi itu sesuai dengan
yang diharapkan pelanggan.
BAB 4
HASIL DAN PEMBAHASAN

4.1 Hasil Penelitian


Hasil penelitian yang sudah penulis lakukan pada perusahaan The
Premiere Training Center yaitu bagaimana cara membangun aplikasi sistem
informasi berbasis smartphone android yang dapat berjalan di perusahaan tersebut.
Pada penelitian ini penulis membangun apliksai sistem informasi menggunakan
metode pengembangan perangkat lunak System Development Life Cycle (SDLC)
dengan model prototype yang memiliki tahapan-tahapan diantaranya pengumpulan
kebutuhan, membangun prototype, evaluasi prototype, pengkodean sistem,
pengujian sistem dan evaluasi sistem.

4.2 Pengumpulan Kebutuhan Dan Analisis


Pada pengumpulan kebutuhan dan Analisis akan membahas pengumpulan
data, analisis sistem sebelumnya, identifikasi masalah yang dihadapi, solusi
pemecahan masalah dan membahas kebutuhan-kebutuhan apa saja yang harus
dimiliki untuk membangun aplikasi sistem informasi tersebut.

4 2.1 Pengumpulan Data


Pengumpulan data dilakukan untuk mendapatkan penjelasan secara rinci
tentang permasalahan yang ada diperusahaan. Pengumpulan data juga dilakukan
untuk mencari tahu kesulitan yang di alami oleh peserta training di perusahaan
tersebut. Pada tahap ini penulis melakukan wawancara kepada pemilik perusahaan
dan observasi ke perusahaan untuk mendapatkan data-data yang akan digunakan
untuk menunjang pembangunan aplikasi sistem informasi yang akan dibuat.

4 2.2 Analisis Sistem Sebelumnya


Berdasarkan hasil dari wawancara dan observasi yang penulis lakukan
pada perusahaan, penulis mendapatkan informasi :

55
56

1. Calon peserta yang ingin mengikuti pelatihan di perusahaan tersebut, calon


peserta harus mendatangi tempat pelatihan untuk melakukan pendaftaran pada
jam kerja perusahaan.
2. Perusahaan The Premiere Training Center memilki website www.premiere-
tc.co.id yang didalamnya berisi tentang detail perusahaan dan penjalasan
program training dan produk yang ada pada perusahaan tersebut.
3. Perusahaan tersebut memiliki brosur dan company profile yang menjelaskan
tentang perusahaan dan penjelsan program training yang ada pada perusahaan
tersebut.
4. Program training yang ada pada perusahaan tersebut yaitu :
a. Service Excellence Program
Program ini bertujuan untuk melatih peserta sebgai seorang frontliner yang
profesional dimana peserta akan diajarkan beberapa teknik dan pola pikir
yang harus dimiliki seorang frontliner. Program ini memiliki 3 level
program sebagai berikut :
1) Basic Service To Bulid Service Cultur
2) Upgrading Service Skill To Win Customer
3) Service With High Impact Business
b. Presentation & Communication Skill
Program ini bertujuan untuk melatih peserta agar memiliki kemampuan
dalam berpresentasi yang baik dan teknik penguasaan materi yang mudah.
c. Confident Building & Proffesioanl Image
Program ini bertujuan untuk melatih peserta dalam hal penampilan, sikap
dan etika yang profesional.
d. Training of Trainer
Program ini bertujuan untuk melatih para peserta bagaimana menjadi
seorang trainer, persiapan dan teknik presentasi dan dibekali tata cara
berpenampilan yang profesional.
e. Effective Selling Skill
Program ini bertujuan untuk melatih para peserta agar menjadi seseorang
yang memiliki mindset sebagai tenaga penjual dan memahami proses
penjualan agar tercapainya persetujuan bisnis yang di tuju.
57

5. Penilaian yang dilakukan di setiap programnya dilihat setelah peserta diberikan


materi sesuai programnya dan di akhir pelatihan peserta melakukan ujian
dengan cara praktik langsung.
6. Penilaian dilihat dari beberapa poin yang ada pada materi program yang di
berikan peserta.
7. Hasil pelatihan atau nilai hasil pelatihan disimpan ke dalam microsoft excel dan
diberikan ke peserta pelatihan dalam bentuk printout.

4 2.3 Analisis PIECES


Aspek Sistem Lama Sistem Baru
Performance Proses pemberian nilai yang masih Proses pemberian informasi tentang
menggunakan kertas dalam bentuk nilai dan registrasi online yang dapat
printout dan proses registrasi yang dilakukan pada smartphone berbasis
ditulis pada kertas registrasi dan android.
disimpan pada berkas registrasi
dapat terjadi kerusakan dan
penumpukan berkas pada
perusahaan.
Information Untuk calon peserta dan peserta Informasi dapat diakses dengan
yang ingin mendapatkan informasi cepat melalui smartphone berbasis
mengenai data peserta, jadwal android dimanapun calon peserta
pelatihan, hasil pelatihan, daftar dan peserta berada.
pelatihan, materi pelatihan, data
pelatih dan registrasi online harus
datang ke tempat training.
Economy Calon peserta maupun peserta harus Lebih ekonomis, karena calon
merogoh kocek untuk datang peserta maupun peserta tidak perlu
ketempat training, sedangkan calon mengeluarkan biaya untuk
peserta maupun peserta ada yang mendapatakan informasi yang
bertempat tinggal jauh dari tempat mereka butuhkan.
training.
Control Pemberian nilai dalam bentuk Data disimpan pada server sehingga
kertas printout dan pengisian data lebih mudah dikelola dan lebih
registrasi pada kertas registrasi yang aman.
di simpan pada berkas sehingga
dapat terjadi kerusakan, kehilangan
dan penumpukan berkas.
Efficiency Waktu dan biaya yang dikeluarkan Tidak terbatas jarak dan waktu juga
lebih banyak terbatasnya jarak dan lebih efektif, efisien dan cepat.
waktu.
Service Pelayanan untuk melakukan Pelayanan untuk melakukan
registrasi bagi calon peserta yang registrasi dan pemberian nilai
ingin melakukan traning dan menjadi lebih cepat.
pemeberian nilai hasil training
kepada peserta kurang cepat karena
harus datang ketempat training.
58

Dari hasil analisis PIECES yang di jelaskan pada tabel PIECES solusi dari
beberapa masalah yang dihadapi perusahaan dan peserta atau calon peserta yaitu
dibutuhkannya sistem informasi yang berfungsi untuk menampilkan data peserta,
jadwal pelatihan, hasil pelatihan, daftar pelatihan, data pelatih dan registrasi online
yang dapat meringankan permasalahan bagi perusahaan maupun peserta dan calon
peserta. Sistem informasi yang akan dibangun ini akan memanfaatkan smartphone
berbasis android.

4 2.4 Analisis Kebutuhan User Terhadap Sistem


Pada analisis ini menjelaskan tentang kebutuhan user yang harus dimiliki
oleh sistem yang akan dibangun. Sistem informasi akademik yang akan dibangun
harus memenuhi kebutuhan sebagai berikut :
1. Mampu menyediakan form registrasi untuk melakukan pendaftaran peserta
baru.
2. Mampu menampilkan informasi data peserta, jadwal pelatihan, daftar
pelatihan, materi pelatihan dan data pelatih.
3. Mampu menampilkan informasi nilai atau hasil pelatihan peserta.
4. Mampu berjalan pada smartphone android.
5. Mampu mengambil data dari database yang dibutuhkan bagi pengguna
aplikasi.

4 2.5 Analisis Kebutuhan Perangakat Keras (Hardware)


Dalam pembuatan aplikasi berbasis android penulis menggunkan
perangkat keras yaitu komputer/laptop dan smartphone android yang memiliki
spesifikasi sebagai berikut :
Tabel 4.1 Spesifikasi komputer/laptop yang digunakan
No Perangkat Keras Spesifikasi
1 Processor Intel Core i3-3217U 1.8GHz
2 Hardisk 500GB
3 RAM 2GB
4 Graphic NVidia GT 720 2GB
59

Tabel 4.2 Spesifikasi smartphone android yang digunakan


No Perangkat Keras Spesifikasi
1 Processor Quad-core 1.3G
2 Operation System Android 4.4 (Kitkat)
RAM : 1 GB
3 Memori
ROM : 16 GB
5.0 HD
4 Display HD 1280 x 720 resolution
IPS

4 2.6 Analisis Kebutuhan Perangkat Lunak (Software)


Penulis menggunakan beberapa perangkat lunak atau tools untuk
merancang sistem informasi berbasis android, yaitu :
Tabel 4.3 Spesifikasi kebutuhan software/tools komputer yang digunakan
No Perangkat Lunak Spesifikasi
1 Operation System Windows 7
JDK
Android Studio
SDK Android
2 Software
Notepad++
XAMPP
MySQL

Tabel 4.4 Spesifikasi kebutuhan software berdasarkan user


No Perangkat Lunak Fitur
1 Login Text
2 Menampilkan form pendaftaran Text
Menampilkan informasi tentang
3 Text
perusahaan
4 Menampilkan data peserta Text dan image
5 Menampilkan informasi training Text
6 Menampilkan data trainer Text dan image
7 Menampilkan data nilai Text
8 Menampilkan data jadwal Text

4.3 Membangun Prototype


Pada tahapan ini dilakukan perancangan sistem yang akan dibangun,
tahapan ini meliputi perancangan sistem baru, perancangan database dan
perancangan interface.

4 3.1 Perancangan Sistem Baru


Untuk memberi gambaran tentang aplikasi sistem informasi yang akan
dibuat, penulis membuat beberapa rancangan diagram yaitu use case diagram,
60

activity diagram, sequence diagram dan class diagram untuk menentukan interaksi
antara sistem dengan pengguna.

4.3.1.1 Use Case Diagram


Use case diagram mendeskripsikan fungsi satu atau lebih aktor dan
hubungannya ke use case yang diberikan oleh sistem. Use case ini digambarkan
hanya apa yang dapat dilihat aktor. Use case diagram sistem yang diusulkan untuk
perancangan aplikasi yaitu sebagai berikut :

Gambar 4.1 Use case diagram aplikasi sistem informasi berbasis smartphone android
61

1. Use case lihat about


Deskripsi untuk use case lihat about dijelaskan pada tabel berikut:
Nama use case : Lihat about
Aktor : Pengunjung dan Peserta Training
Tabel 4.5 Use Case lihat about
Skenario Normal
Aktor Sistem
1. Pengunjung atau peserta training
memilih menu about
2. Sistem menampilkan isi menu
about
3. Pengunjung atau peserta training
melihat list didalam menu about
4. Pengunjung atau peserta training
memilih salah satu list yang ada
di dalam menu about
5. Sistem menampilkan detail isi
menu about yang dipilih
6. Pengunjung atau peserta training
melihat detail menu yang dipilih
Skenario Alternatif
Sistem gagal membuka menu about

6. Use case lihat training


Deskripsi untuk use case lihat training dijelaskan pada tabel berikut :
Nama use case : Lihat training
Aktor : Pengunjung dan Peserta Training
Tabel 4.6 Use case lihat training
Skenario Normal
Aktor Sistem
1. Pengunjung atau peserta training
memilih menu training
2. Sistem menampilkan isi menu
training
3. Pengunjung atau peserta training
melihat isi didalam menu training
4. Pengunjung atau peserta training
memilih salah satu menu yang
ada di dalam menu training
5. Sistem menampilkan detail menu
yang dipilih oleh peserta
7. Pengunjung atau peserta training
melihat penjelasan yang dipilih
Skenario Alternatif
Sistem gagal membuka menu training
62

7. Use case lihat trainer


Deskripsi untuk use case lihat trainer dijelaskan pada tabel berikut :
Nama use case : Lihat trainer
Aktor : Pengunjung dan Peserta Training
Tabel 4.7 Use case lihat trainer
Skenario Normal
Aktor Sistem
1. Pengunjung atau peserta training
memilih menu trainer
2. Sistem mengambil data trainer
dari database
3. Sistem menampilkan list trainer
4. Pengunjung atau peserta training
melihat list trainer yang ada
5. Pengunjung atau peserta training
memilih salah satu list yang ada
didalam menu trainer
6. Sistem menampilkan list yang
dipilih
7. Pengunjung atau peserta training
melihat data detail trainer
Skenario Alternatif
Sistem gagal membuka menu trainer

8. Use case lihat peserta


Deskripsi untuk use case lihat peserta dijelaskan pada tabel berikut :
Nama use case : Lihat peserta
Aktor : Pengunjung dan Peserta Training
Tabel 4.8 Use case lihat peserta
Skenario Normal
Aktor Sistem
1. Pengunjung atau peserta training
memilih menu peserta
2. Sistem mengambil data peserta
dari database
3. Sistem menampilkan list peserta

4. Pengunjung atau peserta training


melihat list peserta yang
melakukan training
5. Pengunjung atau peserta training
memilih salah satu list yang ada
didalam menu peserta
63

Tabel 4.8 Use case lihat peserta (Lanjutan)


Skenario Normal
Aktor Sistem
6. Sistem menampilkan detail
peserta yang dipilih
7. Pengunjung atau peserta
training melihat data diri
peserta yang sedang
menjalani dan yang pernah
melakukan training
Skenario Alternatif
Sistem gagal membuka menu peserta

9. Use case lihat nilai


Deskripsi untuk use case melihat menu nilai dijelaskan pada tabel berikut:
Nama use case : Lihat nilai
Aktor : Peserta training
Tabel 4.9 Use case lihat nilai
Skenario Normal
Aktor Sistem
1. Peserta training memilih menu
nilai
2. Sistem menampilkan halaman
login
3. Peserta memasukan username
dan password
4. Sistem memvalidasi username
dan password ke database
5. Sistem menampilkan data diri
peserta, training yang diambil dan
nilai peserta
6. Peserta melihat data dirinya,
training yang diambil dan nilai
training
Skenario Alternatif
1. Sistem menampilkan pesan
username dan password salah
2. Sistem menampilkan pesan
username dan password salah

10. Use case lihat jadwal


Deskripsi untuk use case melihat menu jadwal dijelaskan pada tabel berikut :
Nama use case : Lihat jadwal
Aktor : Pengunjung dan peserta training
64

Tabel 4.10 Use case lihat jadwal


Skenario Normal
Aktor Sistem
1. Pengunjung atau peserta training
memilih menu jadwal
2. Sistem mengambil data jadwal
dari database
3. Sistem menampilkan list jadwal
4. Pengunjung atau peserta training
melihat list jadwal yang ada
5. Pengunjung atau peserta training
memilih salah satu list yang ada
didalam menu jadwal
6. Sistem menampilkan list yang
dipilih
7. Pengunjung atau peserta training
melihat data detail jadwal
Skenario Alternatif
Sistem gagal membuka menu jadwal

11. Use case registrasi


Deskripsi untuk use case melihat menu registrasi dijelaskan pada tabel berikut:
Nama use case : Registrasi
Aktor : Pengunjung
Tabel 4.11 Use case registrasi
Skenario Normal
Aktor Sistem
1. Pengunjung memilih menu
registrasi
2. Sistem menampilkan form
registrasi
3. Pengunjung mengisi form
registrasi
4. Sistem memvalidasi data
registrasi
5. Sistem menyimpan data registrasi
kedalam database calon peserta
6. Sistem menampilan pesan agar
pengunjung segera melakukan
verifikasi dengan persyaratan
yang sudah ditentukan
7. Pengunjung melihat dan
membaca pesan
Skenario Alternatif
Data registrasi tidak lengkap 1. Sistem menampilkan pesan
lengkapi data registrasi
2. Pengunjung mengisi data
registrasi yang belum lengkap
65

12. Use case login admin


Deskripsi untuk use case login admin dijelaskan pada tabel berikut :
Nama use case : Login admin
Aktor : Admin
Tabel 4.12 Use Case login admin
Skenario Normal
Aktor Sistem
1. Use case ini dimulai saat admin
melakukan login lalu memasukan
username dan password
2. Sistem melakukan memvalidasi
username dan password
3. Sistem menampilkan menu admin
Skenario Alternatif
Username dan Password salah atau 1. Sistem menampilkan pesan
kosong username dan password salah
2. Peserta memasukan username
dan password kembali

13. Use case tambah data trainer


Deskripsi untuk use case tambah data trainer dijelaskan pada tabel berikut :
Nama use case : Tambah data trainer
Aktor : Admin
Tabel 4.13 Use case tambah data trainer
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data trainer
2. Sistem menampilkan data trainer
3. Admin memilih tambah data
trainer
4. Sistem menampilkan form
tambah data trainer
5. Admin mengisi form tambah data
trainer
6. Sistem menampilkan kembali
data trainer
Skenario Alternatif
Form tambah data trainer kosong 1. Jika form tambah data trainer
dikosongkan maka sistem
menampilkan pesan form kosong
2. Admin mengisi kembali form
tambah data trainer
66

14. Use case edit data trainer


Deskripsi untuk use case edit data trainer dijelaskan pada tabel berikut :
Nama use case : Edit data trainer
Aktor : Admin
Tabel 4.14 Use case edit data trainer
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data trainer
2. Sistem menampilkan data trainer
3. Admin memilih data trainer
4. Admin memilih edit data trainer
5. Sistem menampilkan form edit
data trainer
6. Admin mngedit data trainer
pada form edit data trainer
7. Sistem menampilkan kembali
data trainer
Skenario Alternatif
Data tidak ada yang di edit 1. Jika data pada form edit data
trainer tidak ada yang di edit
maka data tidak berubah satupun
dan tetap pada data trainer yang
ada

15. Use case hapus data trainer


Deskripsi untuk use case hapus data trainer dijelaskan pada tabel berikut :
Nama use case : Hapus data trainer
Aktor : Admin
Tabel 4.15 Use case hapus data trainer
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data trainer
2. Sistem menampilkan data trainer
3. Admin memilih salah satu data
trainer yang akan dihapus
4. Sistem menampilkan pesan data
akan dihapus
5. Admin memilih hapus data
6. Sistem menampilkan pesan data
terhapus
7. Sistem menampilkan kembali
data trainer
67

Tabel 4.15 Use case hapus data trainer (Lanjutan)


Skenario Alternatif
Data tidak terhapus 1. Jika data masih ada setelah
dihapus maka admin dianggap
gagal menghapus data
2. Admin hapus ulang data yang
akan dihapus

16. Use case tambah data training


Deskripsi untuk use case tambah data training dijelaskan pada tabel berikut :
Nama use case : Tambah data training
Aktor : Admin
Tabel 4.16 Use case tambah data training
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data training
2. Sistem menampilkan data
training
3. Admin memilih tambah data
training
4. Sistem menampilkan form
tambah data training
5. Admin mengisi form tambah data
training
6. Sistem menampilkan kembali
data training
Skenario Alternatif
Form tambah data training kosong 1. Jika form tambah data training
dikosongkan maka sistem
menampilkan pesan form kosong
2. Admin mengisi kembali form
tambah data training

17. Use case edit data training


Deskripsi untuk use case edit data training dijelaskan pada tabel berikut :
Nama use case : Edit data training
Aktor : Admin
Tabel 4.17 Use case edit data training
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data training
2. Sistem menampilkan data
training
68

Tabel 4.17 Use case edit data training (Lanjutan)


3. Admin memilih data training
4. Admin memilih edit data training
5. Sistem menampilkan form edit
data training
6. Admin mngedit data training
pada form edit data training
7. Sistem menampilkan kembali
data training
Skenario Alternatif
Data tidak ada yang di edit 1. Jika data pada form edit data
training tidak ada yang di edit
maka data tidak berubah satupun
dan tetap pada data training yang
ada

18. Use case hapus data training


Deskripsi untuk use case hapus data training dijelaskan pada tabel berikut :
Nama use case : Hapus data training
Aktor : Admin
Tabel 4.18 Use case hapus data training
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data training
2. Sistem menampilkan data
training
3. Admin memilih salah satu data
training yang akan dihapus
4. Sistem menampilkan pesan data
akan dihapus
5. Admin memilih hapus data
6. Sistem menampilkan pesan data
terhapus
7. Sistem menampilkan kembali
data training
Skenario Alternatif
Data tidak terhapus 1. Jika data masih ada setelah
dihapus maka admin dianggap
gagal menghapus data
2. Admin hapus ulang data yang
akan dihapus
69

19. Use case tambah data peserta


Deskripsi untuk use case tambah data peserta dijelaskan pada tabel berikut :
Nama use case : Tambah data peserta
Aktor : Admin
Tabel 4.19 Use case tambah data peserta
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data peserta
2. Sistem menampilkan data peserta
3. Admin memilih tambah data
peserta
4. Sistem menampilkan form
tambah data peserta
5. Admin mengisi form tambah data
peserta
6. Sistem menampilkan kembali
data peserta
Skenario Alternatif
Form tambah data peserta kosong 1. Jika form tambah data peserta
dikosongkan maka sistem
menampilkan pesan form kosong
2. Admin mengisi kembali form
tambah data peserta

20. Use case edit data peserta


Deskripsi untuk use case edit data peserta dijelaskan pada tabel berikut :
Nama use case : Edit data peserta
Aktor : Admin
Tabel 4.20 Use case edit data peserta
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data peserta
2. Sistem menampilkan data peserta
3. Admin memilih data peserta
4. Admin memilih edit data peserta
5. Sistem menampilkan form edit
data peserta
6. Admin mngedit data peserta
pada form edit data peserta
7. Sistem menampilkan kembali
data peserta
70

Tabel 4.20 Use case edit data peserta (Lanjutan)


Skenario Alternatif
Data tidak ada yang di edit 1. Jika data pada form edit data
peserta tidak ada yang di edit
maka data tidak berubah satupun
dan tetap pada data peserta yang
ada

21. Use case tambah nilai


Deskripsi untuk use case tambah nilai dijelaskan pada tabel berikut :
Nama use case : Tambah nilai
Aktor : Admin
Tabel 4.21 Use case tambah nilai
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data nilai
2. Sistem menampilkan data nilai
3. Admin memilih tambah data nilai
4. Sistem menampilkan form
tambah data nilai
5. Admin mengisi form tambah data
nilai
6. Sistem menampilkan kembali
data nilai
Skenario Alternatif
Form tambah data nilai kosong 1. Jika form tambah data nilai
dikosongkan maka sistem
menampilkan pesan form kosong
2. Admin mengisi kembali form
tambah data nilai

22. Use case edit nilai


Deskripsi untuk use case edit nilai dijelaskan pada tabel berikut :
Nama use case : Edit nilai
Aktor : Admin
Tabel 4.22 Use case edit nilai
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data nilai
2. Sistem menampilkan data nilai
3. Admin memilih data nilai
4. Admin memilih edit data nilai
71

Tabel 4.22 Use case edit nilai (Lanjutan)


5. Sistem menampilkan form edit
data nilai
6. Admin mngedit data nilai pada
form edit data nilai
7. Sistem menampilkan kembali
data nilai
Skenario Alternatif
Data tidak ada yang di edit 1. Jika data pada form edit data nilai
tidak ada yang di edit maka data
tidak berubah satupun dan tetap
pada data nilai yang ada

23. Use case tambah jadwal


Deskripsi untuk use case tambah jadwal dijelaskan pada tabel berikut :
Nama use case : Tambah jadwal
Aktor : Admin
Tabel 4.23 Use case tambah jadwal
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data jadwal
2. Sistem menampilkan data jadwal
3. Admin memilih tambah data
jadwal
4. Sistem menampilkan form
tambah data jadwal
5. Admin mengisi form tambah data
jadwal
6. Sistem menampilkan kembali
data jadwal
Skenario Alternatif
Form tambah data nilai kosong 1. Jika form tambah data jadwal
dikosongkan maka sistem
menampilkan pesan form kosong
2. Admin mengisi kembali form
tambah data jadwal

24. Use case edit jadwal


Deskripsi untuk use case edit jadwal dijelaskan pada tabel berikut :
Nama use case : Edit jadwal
Aktor : Admin
72

Tabel 4.24 Use case edit jadwal


Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data jadwal
2. Sistem menampilkan data jadwal
3. Admin memilih data jadwal
4. Admin memilih edit data jadwal
5. Sistem menampilkan form edit
data jadwal
6. Admin mngedit data jadwal pada
form edit data jadwal
7. Sistem menampilkan kembali
data jadwal
Skenario Alternatif
Data tidak ada yang di edit 1. Jika data pada form edit data
jadwal tidak ada yang di edit
maka data tidak berubah satupun
dan tetap pada data jadwal yang
ada

25. Use case hapus jadwal


Deskripsi untuk use case hapus jadwal dijelaskan pada tabel berikut :
Nama use case : Hapus jadwal
Aktor : Admin
Tabel 4.25 Use case hapus jadwal
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data jadwal
2. Sistem menampilkan data jadwal
3. Admin memilih salah satu data
jadwal yang akan dihapus
4. Sistem menampilkan pesan data
akan dihapus
5. Admin memilih hapus data
6. Sistem menampilkan pesan data
terhapus
7. Sistem menampilkan kembali
data jadwal
Skenario Alternatif
Data tidak terhapus 1. Jika data masih ada setelah
dihapus maka admin dianggap
gagal menghapus data
2. Admin hapus ulang data yang
akan dihapus
73

26. Use case konfirmasi pendaftaran


Deskripsi untuk use case konfirmasi pendaftaran dijelaskan pada tabel berikut
:
Nama use case : Konfirmasi pendaftaran
Aktor : Admin
Tabel 4.26 Use case konfirmasi pendaftaran
Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data pendaftaran
2. Sistem menampilkan data
calon peserta yang
melakukan pendaftaran
3. Admin memilih data yang
akan di verifikasi
4. Sistem menampilkan data
calon peserta
5. Admin memverifikasi
pendaftaran
6. Sistem menampilkan
pendaftaran calon peserta
sudah di verifikasi
7. Sistem menyimpan data
peserta ke database
Skenario Alternatif
Verifikasi gagal 1. Jika sistem menampilkan pesan
verifikasi gagal maka admin
dianggap gagal melakukan
verifikasi
2. Admin vrifikasi kembali data
calon peserta yang melakukan
pendaftaran

27. Use case hapus data pendaftaran


Deskripsi untuk use case hapus data pendaftaran dijelaskan pada tabel berikut
:
Nama use case : Hapus data pendaftaran
Aktor : Admin
74

Tabel 4.27 Use case hapus data pendaftaran


Skenario Normal
Aktor Sistem
1. Use case dimulai saat admin
memilih menu data pendaftaran
2. Sistem menampilkan data calon
peserta yang melakukan
pendaftaran
3. Admin memilih salah satu data
pendaftaran yang akan dihapus
4. Sistem menampilkan pesan data
akan dihapus
5. Admin memilih hapus data
6. Sistem menampilkan pesan data
terhapus
7. Sistem menampilkan kembali
data pendaftaran
Skenario Alternatif
Data tidak terhapus 1. Jika data masih ada setelah
dihapus maka admin dianggap
gagal menghapus data
2. Admin hapus ulang data yang
akan dihapus

4.3.1.2 Activity Diagram


Activity diagram atau diagram aktivitas digunakan untuk menggambar
workflow (aliran kerja) atau aktivitas dari sebuah sistem. Yang perlu diperhatikan
disini adalah bahawa diagram aktivitas menggambarkan aktivitas sistem bukan apa
yang dilakukan aktor, jadi aktivitas yang dapat dilakukan oleh sistem. Berikut ini
adalah activity diagram yang diusulkan untuk perancangan aplikasi.
1. Activity diagram lihat about
Aktivitas lihat about dapat dilakukan oleh pengunjung dan peserta training
pada aplikasi sistem informasi akademik berbasis smartphone android The
Premiere Training Center. Langkah pertama yang dilakukan oleh pengunjung
atau peserta training yaitu memilih menu about yang ada pada halaman utama
aplikasi, kemudian aplikasi menampilkan daftar menu about yaitu profile
perusahaan, visi & misi perusahaan, nilai-nilai perusahaan dan kontak
perusahaan, kemudian pengunjung atau peserta training memilih salah satu
daftar about lalu aplikasi menampilkan detail daftar about yang dipilih oleh
pengunjung atau peserta training. Activity diagram lihat about dapat dilihat
pada gambar 4.2 dibawah ini.
75

Gambar 4.2 Activity diagram lihat about

2. Activity diagram lihat training


Aktivitas lihat training dapat dilakukan oleh pengunjung dan peserta training
pada aplikasi sistem informasi akademik berbasis smartphone android The
Premiere Training Center. Langkah pertama yang dilakukan oleh pengunjung
atau peserta training yaitu memilih menu training yang ada pada halaman
utama aplikasi, kemudian aplikasi menampilkan daftar menu training yaitu
Service Excellence Program, Presentation & Communication Skill, Confident
Building & Professional Image, Training of Trainer dan Effective Selling Skill,
kemudian pengunjung atau peserta training memilih salah satu daftar training
lalu aplikasi menampilkan detail daftar training yang dipilih oleh pengunjung
atau peserta training. Activity diagram lihat training dapat dilihat pada gambar
4.3 dibawah ini.

Gambar 4.3 Activity diagram lihat training


76

3. Activity diagram lihat biaya training


Aktivitas lihat biaya training dapat dilakukan oleh pengunjung dan peserta
training pada aplikasi sistem informasi akademik berbasis smartphone android
The Premiere Training Center. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu memilih menu training yang ada pada
halaman utama aplikasi, kemudian pengunjung dan peserta training memilih
tab biaya training di dalam menu training tersebut lalu aplikasi menampilkan
detail biaya training. Activity diagram lihat biaya training dapat dilihat pada
gambar 4.4 dibawah ini.

Gambar 4.4 Activity diagram lihat biaya training

4. Activity diagram lihat fasilitas training


Aktivitas lihat fasilitas training dapat dilakukan oleh pengunjung dan peserta
training pada aplikasi sistem informasi akademik berbasis smartphone android
The Premiere Training Center. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu memilih menu training yang ada pada
halaman utama aplikasi, kemudian pengunjung dan peserta training memilih
tab fasilitas training di dalam menu training tersebut lalu aplikasi
menampilkan detail fasilitas training. Activity diagram lihat fasilitas training
dapat dilihat pada gambar 4.5 dibawah ini.
77

Gambar 4.5 Activity diagram lihat fasilitas training

5. Activity diagram lihat trainer


Aktivitas lihat trainer dapat dilakukan oleh pengunjung dan peserta training
pada aplikasi sistem informasi akademik berbasis smartphone android The
Premiere Training Center. Langkah pertama yang dilakukan oleh pengunjung
atau peserta training yaitu memilih menu trainer yang ada pada halaman utama
aplikasi, kemudian aplikasi menampilkan list daftar nama trainer, kemudian
pengunjung atau peserta training memilih salah satu list lalu aplikasi
menampilkan detail trainer yang dipilih oleh pengunjung atau peserta training.
Activity diagram lihat trainer dapat dilihat pada gambar 4.6 dibawah ini.

Gambar 4.6 Activity diagram lihat trainer


78

6. Activity diagram lihat peserta


Aktivitas lihat peserta dapat dilakukan oleh pengunjung dan peserta training
pada aplikasi sistem informasi akademik berbasis smartphone android The
Premiere Training Center. Langkah pertama yang dilakukan oleh pengunjung
atau peserta training yaitu memilih menu peserta yang ada pada halaman utama
aplikasi, kemudian aplikasi menampilkan list daftar nama peserta, kemudian
pengunjung atau peserta training memilih salah satu list lalu aplikasi
menampilkan detail peserta yang dipilih oleh pengunjung atau peserta training.
Activity diagram lihat peserta dapat dilihat pada gambar 4.7 dibawah ini.

Gambar 4.7 Activity diagram lihat peserta

7. Activity diagram lihat nilai


Aktivitas lihat nilai hanya dapat dilakukan oleh peserta training yang sudah
mendaptakan hak akses login pada aplikasi sistem informasi akademik berbasis
smartphone android The Premiere Training Center. Langkah pertama yang
dilakukan oleh peserta training yaitu memilih menu nilai yang ada pada
halaman utama aplikasi, kemudian aplikasi menampilkan halaman login
peserta training, kemudian peserta training melakukan login untuk masuk
kedalam menu nilai, setelah login aplikasi menampilkan halaman detail nilai
peserta training. Activity diagram lihat nilai dapat dilihat pada gambar 4.8
dibawah ini.
79

Gambar 4.8 Activity diagram lihat nilai

8. Activity diagram lihat jadwal


Aktivitas lihat jadwal dapat dilakukan oleh pengunjung dan peserta training
pada aplikasi sistem informasi akademik berbasis smartphone android The
Premiere Training Center. Langkah pertama yang dilakukan oleh pengunjung
atau peserta training yaitu memilih menu jadwal yang ada pada halaman utama
aplikasi, kemudian aplikasi menampilkan list training, kemudian pengunjung
atau peserta training memilih salah satu list training tersebut, lalu aplikasi
menampilkan hari dan waktu training yang ada. Activity diagram lihat trainer
dapat dilihat pada gambar 4.9 dibawah ini.

Gambar 4.9 Activity diagram lihat jadwal


80

9. Activity diagram registrasi


Aktivitas registrasi ini dilakukan oleh pengunjung pada aplikasi sistem
informasi akademik berbasis smartphone android The Premiere Training
Center. Langkah pertama yang dilakukan oleh pengunjung yaitu memilih menu
registrasi yang ada pada halaman utama aplikasi, kemudian aplikasi
menampilkan form registrasi, kemudian pengunjung mengisi data registrasi,
setelah data registrasi lengkap aplikasi akan menyimpan data registrasi dan
menampilkan detail data registrasi . Activity diagram registrasi dapat dilihat
pada gambar 4.10 dibawah ini.

Gambar 4.10 Activity diagram registrasi

10. Activity diagram tambah data trainer


Aktivitas ini dilakukan oleh admin untuk menambahkan data trainer pada
aplikasi sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data trainer pada halaman utama web setelah login dan
admin memilih tambah data trainer untuk menambahkan data trainer, lalu
sistem menampilkan form tambah data trainer dan admin mengisi form tambah
data trainer, kemudian sistem menyimpan data yang sudah di tambhakan oleh
admin. Activity diagram tambah data trainer dapat dilihat pada gambar 4.11
dibawah ini.
81

Gambar 4.11 Activity diagram tambah data trainer

11. Activity diagram edit data trainer


Aktivitas ini dilakukan oleh admin untuk merubah data trainer pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data trainer pada halaman utama web setelah login dan
admin memilih edit data trainer untuk merubah data trainer, lalu sistem
menampilkan form edit data trainer dan admin mengisi form edit data trainer,
kemudian sistem menyimpan data yang sudah di edit oleh admin. Activity
diagram edit data trainer dapat dilihat pada gambar 4.12 dibawah ini.

Gambar 4.12 Activity diagram edit data trainer


82

12. Activity diagram hapus data trainer


Aktivitas ini dilakukan oleh admin untuk menghapus data trainer pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data trainer pada halaman utama web setelah login dan
admin memilih data trainer yang akan dihapus, lalu admin memilih hapus data
trainer. Activity diagram hapus data trainer dapat dilihat pada gambar 4.13
dibawah ini.

Gambar 4.13 Activity diagram hapus data trainer

13. Activity diagram tambah data training


Aktivitas ini dilakukan oleh admin untuk menambahkan data training pada
aplikasi sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data training pada halaman utama web setelah login dan
admin memilih tambah data training untuk menambahkan data training, lalu
sistem menampilkan form tambah data training dan admin mengisi form
tambah data training, kemudian sistem menyimpan data yang sudah di
tambhakan oleh admin. Activity diagram tambah data training dapat dilihat
pada gambar 4.14 dibawah ini.
83

Gambar 4.14 Activity diagram tambah data training

14. Activity diagram edit data training


Aktivitas ini dilakukan oleh admin untuk merubah data training pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data training pada halaman utama web setelah login dan
admin memilih edit data training untuk merubah data training, lalu sistem
menampilkan form edit data training dan admin mengisi form edit data
training, kemudian sistem menyimpan data yang sudah di edit oleh admin.
Activity diagram edit data training dapat dilihat pada gambar 4.15 dibawah ini.

Gambar 4.15 Activity diagram edit data training


84

15. Activity diagram hapus data training


Aktivitas ini dilakukan oleh admin untuk menghapus data training pada
aplikasi sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data training pada halaman utama web setelah login dan
admin memilih data training yang akan dihapus, lalu admin memilih hapus
data training. Activity diagram hapus data training dapat dilihat pada gambar
4.16 dibawah ini.

Gambar 4.16 Activity diagram hapus data training

16. Activity diagram tambah data peserta


Aktivitas ini dilakukan oleh admin untuk menambahkan data peserta pada
aplikasi sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data peserta pada halaman utama web setelah login dan
admin memilih tambah data peserta untuk menambahkan data peserta, lalu
sistem menampilkan form tambah data peserta dan admin mengisi form tambah
data peserta, kemudian sistem menyimpan data yang sudah di tambhakan oleh
admin. Activity diagram tambah data peserta dapat dilihat pada gambar 4.17
dibawah ini.
85

Gambar 4.17 Activity diagram tambah data peserta

17. Activity diagram edit data peserta


Aktivitas ini dilakukan oleh admin untuk merubah data peserta pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data peserta pada halaman utama web setelah login dan
admin memilih edit data peserta untuk merubah data peserta, lalu sistem
menampilkan form edit data peserta dan admin mengisi form edit data peserta,
kemudian sistem menyimpan data yang sudah di edit oleh admin. Activity
diagram edit data peserta dapat dilihat pada gambar 4.18 dibawah ini.

Gambar 4.18 Activity diagram edit data peserta


86

18. Activity diagram tambah data nilai


Aktivitas ini dilakukan oleh admin untuk menambahkan data nilai pada
aplikasi sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data nilai pada halaman utama web setelah login dan
admin memilih tambah data nilai untuk menambahkan data nilai, lalu sistem
menampilkan form tambah data nilai dan admin mengisi form tambah data
nilai, kemudian sistem menyimpan data yang sudah di tambhakan oleh admin.
Activity diagram tambah data nilai dapat dilihat pada gambar 4.19 dibawah ini.

Gambar 4.19 Activity diagram tambah data nilai

19. Activity diagram edit data nilai


Aktivitas ini dilakukan oleh admin untuk merubah data nilai pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data nilai pada halaman utama web setelah login dan
admin memilih edit data nilai untuk merubah data nilai, lalu sistem
menampilkan form edit data nilai dan admin mengisi form edit data nilai,
kemudian sistem menyimpan data yang sudah di edit oleh admin. Activity
diagram edit data nilai dapat dilihat pada gambar 4.20 dibawah ini.
87

Gambar 4.20 Activity diagram edit data nilai

20. Activity diagram tambah jadwal


Aktivitas ini dilakukan oleh admin untuk menambahkan data jadwal pada
aplikasi sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data jadwal pada halaman utama web setelah login dan
admin memilih tambah data jadwal untuk menambahkan data jadwal, lalu
sistem menampilkan form tambah data jadwal dan admin mengisi form tambah
data jadwal, kemudian sistem menyimpan data yang sudah di tambhakan oleh
admin. Activity diagram tambah data jadwal dapat dilihat pada gambar 4.21
dibawah ini.

Gambar 4.21 Activity diagram tambah jadwal


88

21. Activity diagram edit jadwal


Aktivitas ini dilakukan oleh admin untuk merubah data jadwal pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data jadwal pada halaman utama web setelah login dan
admin memilih edit data jadwal untuk merubah data jadwal, lalu sistem
menampilkan form edit data jadwal dan admin mengisi form edit data jadwal,
kemudian sistem menyimpan data yang sudah di edit oleh admin. Activity
diagram edit data jadwal dapat dilihat pada gambar 4.22 dibawah ini.

Gambar 4.22 Activity diagram edit jadwal

22. Activity diagram hapus jadwal


Aktivitas ini dilakukan oleh admin untuk menghapus data jadwal pada aplikasi
sistem informasi akademik berbasis smartphone android The Premiere
Training Center. Langkah pertama yang dilakukan oleh admin yaitu login
terlibih dahulu pada web kelola data The Premiere Training Center, kemudian
admin memilih menu data jadwal pada halaman utama web setelah login dan
admin memilih data jadwal yang akan dihapus, lalu admin memilih hapus data
jadwal. Activity diagram hapus data training dapat dilihat pada gambar 4.23
dibawah ini.
89

Gambar 4.23 Activity diagram hapus jadwal

23. Activity diagram konfirmasi pendaftaran


Aktivitas ini dilakukan oleh admin untuk mengkonfirmasi data calon peserta
yang melakukan pendaftaran pada aplikasi sistem informasi akademik berbasis
smartphone android The Premiere Training Center. Langkah pertama yang
dilakukan oleh admin yaitu login terlibih dahulu pada web kelola data The
Premiere Training Center, kemudian admin memilih menu data registrasi pada
halaman utama web setelah login dan admin memilih data registrasi calon
peserta yang akan di konfirmasi, lalu sistem menampilkan detail data calon
peserta, kemudian admin memilih konfirmasi registrasi, kemudian sistem
menyimpan data yang sudah di konfirmasi oleh admin. Activity diagram
konfirmasi pendaftaran dapat dilihat pada gambar 4.24 dibawah ini.

Gambar 4.24 Activity diagram konfirmasi pendaftaran


90

24. Activity diagram hapus pendaftaran


Aktivitas ini dilakukan oleh admin untuk menghapus data calon peserta yang
melakukan pendaftaran pada aplikasi sistem informasi akademik berbasis
smartphone android The Premiere Training Center. Langkah pertama yang
dilakukan oleh admin yaitu login terlibih dahulu pada web kelola data The
Premiere Training Center, kemudian admin memilih menu data registrasi pada
halaman utama web setelah login dan admin memilih data registrasi calon
peserta yang akan dihapus, lalu sistem menampilkan detail data calon peserta,
kemudian admin memilih hapus data registrasi. Activity diagram hapus
pendaftaran dapat dilihat pada gambar 4.25 dibawah ini.

Gambar 4.25 Activity diagram hapus pendaftaran

4.3.1.3 Sequence Diagram


Sequence diagram menggambarkan kelakuan objek pada use case dengan
mendeskripsikan waktu hidup objek dan message yang dikirimkan dan diterima
antar objek. Oleh karena itu untuk menggambar sequence diagram maka harus
diketahui objek-objek yang terlibat dalam sebuah use case beserta metode-metode
yang dimiliki kelas yang diinstansiasi menjadi objek itu. Berikut ini adalah
sequence diagram perancangan aplikasi.
1. Sequence diagram lihat About
Sequence diagram ini untuk melihat about pada perancangan aplikasi sistem
informasi berbasis smartphone android. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu menekan tombol about yang ada pada
91

halaman utama aplikasi, kemudian aplikasi menampilkan list about, lalu


pengunjung atau peserta training memilih salah satu list about, kemudian
aplikasi menampilkan detail list about yang dipilih dan pengunjung atau
peserta training dapat melihat detail list about yang dipilih.

Gambar 4.26 Sequence diagram lihat about

2. Sequence diagram lihat training


Sequence diagram ini untuk melihat training pada perancangan aplikasi sistem
informasi berbasis smartphone android. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu menekan tombol training yang ada pada
halaman utama aplikasi, kemudian aplikasi menampilkan list training, lalu
pengunjung atau peserta training memilih salah satu list training, kemudian
aplikasi menampilkan detail list training yang dipilih dan pengunjung atau
peserta training dapat melihat detail list training yang dipilih.

Gambar 4.27 Sequence diagram lihat training


92

3. Sequence diagram lihat biaya training


Sequence diagram ini untuk melihat biaya training pada perancangan aplikasi
sistem informasi berbasis smartphone android. Langkah pertama yang
dilakukan oleh pengunjung atau peserta training yaitu menekan tombol
training yang ada pada halaman utama aplikasi, kemudian aplikasi
menampilkan isi menu training, lalu pengunjung atau peserta training memilih
tab biaya training, kemudian aplikasi menampilkan detail biaya training dan
pengunjung atau peserta training dapat melihat detail biaya training.

Gambar 4.28 Sequence diagram lihat biaya training

4. Sequence diagram lihat fasilitas training


Sequence diagram ini untuk melihat fasilitas training pada perancangan
aplikasi sistem informasi berbasis smartphone android. Langkah pertama yang
dilakukan oleh pengunjung atau peserta training yaitu menekan tombol
training yang ada pada halaman utama aplikasi, kemudian aplikasi
menampilkan isi menu training, lalu pengunjung atau peserta training memilih
tab fasilitas training, kemudian aplikasi menampilkan detail fasilitas training
dan pengunjung atau peserta training dapat melihat detail fasilitas training.
93

Gambar 4.29 Sequence diagram lihat fasilitas training

5. Sequence diagram lihat trainer


Sequence diagram ini untuk melihat trainer pada perancangan aplikasi sistem
informasi berbasis smartphone android. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu menekan tombol trainer yang ada pada
halaman utama aplikasi, kemudian sistem akan membuka koneksi dan mencari
data trainer ke database, jika saat proses membuka koneksi terjadi kesalahan
maka pengunjung atau peserta training tidak bisa masuk ke menu trainer dan
sistem menampilkan pesan koneksi error, jika proses membuka koneksi
berhasil maka sistem menampilkan list trainer pada menu trainer, lalu
pengunjung atau peserta training memilih salah satu list trainer, kemudian
sistem akan mencari list data trainer yang dipilih ke database dan
menampilkan detail list trainer yang dipilih lalu pengunjung atau peserta
training dapat melihat detail list trainer yang dipilih.
94

Gambar 4.30 Sequence diagram lihat trainer

6. Sequence diagram lihat peserta


Sequence diagram ini untuk melihat peserta pada perancangan aplikasi sistem
informasi berbasis smartphone android. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu menekan tombol peserta yang ada pada
halaman utama aplikasi, kemudian sistem akan membuka koneksi dan mencari
data peserta ke database, jika saat proses membuka koneksi terjadi kesalahan
maka pengunjung atau peserta training tidak bisa masuk ke menu peserta dan
sistem menampilkan pesan koneksi error, jika proses membuka koneksi
berhasil maka sistem menampilkan list peserta pada menu peserta, lalu
pengunjung atau peserta training memilih salah satu list peserta, kemudian
sistem akan mencari list data peserta yang dipilih ke database dan
menampilkan detail list peserta yang dipilih lalu pengunjung atau peserta
training dapat melihat detail list peserta yang dipilih.
95

Gambar 4.31 Sequence diagram lihat peserta

7. Sequence diagram lihat nilai


Sequence diagram ini untuk melihat nilai pada perancangan aplikasi sistem
informasi berbasis smartphone android. Langkah pertama yang dilakukan oleh
peserta training yaitu menekan tombol nilai yang ada pada halaman utama
aplikasi, kemudian sistem akan menampilkan halaman login dan peserta
training megisi username dan password lalu dikirimkan ke database untuk
memerikas valid atau tidak validnya username dan password, jika tidak valid
sistem akan menampilkan pesan error, jika valid sistem akan menampilkan
detail nilai peserta training dan peserta training dapat melihat detail nilai
peserta training.

Gambar 4.32 Sequence diagram lihat nilai


96

8. Sequence diagram lihat jadwal


Sequence diagram ini untuk melihat jadwal pada perancangan aplikasi sistem
informasi berbasis smartphone android. Langkah pertama yang dilakukan oleh
pengunjung atau peserta training yaitu menekan tombol jadwal yang ada pada
halaman utama aplikasi, kemudian sistem akan membuka koneksi dan mencari
data jadwal ke database, jika saat proses membuka koneksi terjadi kesalahan
maka pengunjung atau peserta training tidak bisa masuk ke menu jadwal dan
sistem menampilkan pesan koneksi error, jika proses membuka koneksi
berhasil maka sistem menampilkan list training pada menu jadwal, lalu
pengunjung atau peserta training memilih salah satu list training pada menu
jadwal, kemudian sistem akan mencari list data jadwal yang dipilih ke database
dan menampilkan detail list jadwal yang dipilih lalu pengunjung atau peserta
training dapat melihat detail jadwal yang dipilih.

Gambar 4.33 Sequence diagram lihat jadwal

9. Sequence diagram registrasi


Sequence diagram ini untuk melakukan pendaftaran pada perancangan aplikasi
sistem informasi berbasis smartphone android. Langkah pertama yang
dilakukan oleh pengunjung yaitu menekan tombol peserta yang ada pada
halaman utama aplikasi, kemudian sistem akan menampilkan halaman form
registrasi dan pengunjung mengisi data registrasi, kemudian sistem mnecek
kelengkapan data registrasi, setelah data registrasi lengkap, sistem menyimpan
data registrasi melalui proses membuka koneksi ke database terlebih dahulu,
97

jika saat proses membuka koneksi terjadi kesalahan maka pengunjung tidak
bisa melakukan registrasi dan sistem menampilkan pesan koneksi error, jika
proses membuka koneksi berhasil maka sistem menyimpan data registrasi dan
menampilkan detail data registrasi lalu menampilkan pesan registrasi berhasil
dan peserta melihat detail data rgistrasi.

Gambar 4.34 Sequence diagram registrasi

10. Sequence diagram login admin


Sequence diagram ini untuk masuk kedalam web kelola data aplikasi The
Premiere Training Center. Langkah pertama yang dilakukan oleh admin adalah
memasukan username dan password lalu dikirimkan ke database untuk
memerikas valid atau tidak validnya username dan password, jika tidak valid
sistem akan menampilkan pesan error, jika valid sistem akan menampilkan
halaman utama kelola data aplikasi The Premiere Training Center dan admin
dapat melihat halaman utama kelola data aplikasi The Premiere Training
Center.
98

Gambar 4.35 Sequence diagram login admin

11. Sequence diagram tambah data trainer


Sequence diagram ini untuk menambahkan data trainer pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah menekan tombol tambah data trainer pada menu trainer, lalu admin
menambahkan data trainer pada form tambah data trainer, setelah admin
selesai menambahkan data trainer lalu sistem akan menyimpan data yang
ditambahkan ke database dan menampilkan pesan data berhasil ditambah.

Gambar 4.36 Sequence diagram tambah data trainer

12. Sequence diagram edit data trainer


Sequence diagram ini untuk merubah data trainer pada web kelola data aplikasi
The Premiere Training Center. Langkah pertama dilakukan oleh admin adalah
99

memilih data trainer yang akan di edit pada menu trainer, lalu database akan
mencari query yang dipilih, setelah itu sistem akan menampilkan detail trainer
yang akan di edit, kemudian admin menekan tombol edit dan mengedit data
trainer pada form edit data trainer, setelah selesai sistem akan menyimpan data
yang sudah di edit ke database dan sistem menampilkan pesan data berhasil di
edit.

Gambar 4.37 Sequence diagram edit data trainer

13. Sequence diagram hapus data trainer


Sequence diagram ini untuk menghapus data trainer pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah memilih data trainer yang akan dihapus pada menu trainer, lalu
database akan mencari query yang dipilih, setelah itu sistem akan
menampilkan detail trainer yang akan dihapus, kemudian admin menekan
tombol hapus data trainer, setelah selesai sistem akan menyimpan data yang
ada setelah penghapusan data ke database dan sistem menampilkan pesan data
berhasil dihapus.
100

Gambar 4.38 Sequence diagram hapus data trainer

14. Sequence diagram tambah data training


Sequence diagram ini untuk menambahkan data training pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah menekan tombol tambah data training pada menu training, lalu admin
menambahkan data training pada form tambah data training, setelah admin
selesai menambahkan data training lalu sistem akan menyimpan data yang
ditambahkan ke database dan menampilkan pesan data berhasil ditambah.

Gambar 4.39 Sequence diagram tambah data training

15. Sequence diagram edit data training


Sequence diagram ini untuk merubah data training pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
101

adalah memilih data training yang akan di edit pada menu training, lalu
database akan mencari query yang dipilih, setelah itu sistem akan
menampilkan detail training yang akan di edit, kemudian admin menekan
tombol edit dan mengedit data training pada form edit data training, setelah
selesai sistem akan menyimpan data yang sudah di edit ke database dan sistem
menampilkan pesan data berhasil di edit.

Gambar 4.40 Sequence diagram edit data training

16. Sequence diagram hapus data training


Sequence diagram ini untuk menghapus data training pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah memilih data training yang akan dihapus pada menu training, lalu
database akan mencari query yang dipilih, setelah itu sistem akan
menampilkan detail training yang akan dihapus, kemudian admin menekan
tombol hapus data training, setelah selesai sistem akan menyimpan data yang
ada setelah penghapusan data ke database dan sistem menampilkan pesan data
berhasil dihapus.
102

Gambar 4.41 Sequence diagram hapus data training

17. Sequence diagram tambah data peserta


Sequence diagram ini untuk menambahkan data peserta pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah menekan tombol tambah data peserta pada menu peserta, lalu admin
menambahkan data peserta pada form tambah data peserta, setelah admin
selesai menambahkan data peserta lalu sistem akan menyimpan data yang
ditambahkan ke database dan menampilkan pesan data berhasil ditambah.

Gambar 4.42 Sequence diagram tambah data peserta

18. Sequence diagram edit data peserta


Sequence diagram ini untuk merubah data peserta pada web kelola data aplikasi
The Premiere Training Center. Langkah pertama dilakukan oleh admin adalah
103

memilih data peserta yang akan di edit pada menu peserta, lalu database akan
mencari query yang dipilih, setelah itu sistem akan menampilkan detail peserta
yang akan di edit, kemudian admin menekan tombol edit dan mengedit data
peserta pada form edit data peserta, setelah selesai sistem akan menyimpan data
yang sudah di edit ke database dan sistem menampilkan pesan data berhasil di
edit.

Gambar 4.43 Sequence diagram edit data peserta

19. Sequence diagram tambah data nilai


Sequence diagram ini untuk menambahkan data nilai pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah menekan tombol tambah data nilai pada menu nilai, lalu admin
menambahkan data nilai pada form tambah data nilai, setelah admin selesai
menambahkan data nilai lalu sistem akan menyimpan data yang ditambahkan
ke database dan menampilkan pesan data berhasil ditambah.
104

Gambar 4.44 Sequence diagram tambah data nilai

20. Sequence diagram edit data nilai


Sequence diagram ini untuk merubah data nilai pada web kelola data aplikasi
The Premiere Training Center. Langkah pertama dilakukan oleh admin adalah
memilih data nilai yang akan di edit pada menu nilai, lalu database akan
mencari query yang dipilih, setelah itu sistem akan menampilkan detail nilai
yang akan di edit, kemudian admin menekan tombol edit dan mengedit data
nilai pada form edit data nilai, setelah selesai sistem akan menyimpan data yang
sudah di edit ke database dan sistem menampilkan pesan data berhasil di edit.

Gambar 4.45 Sequence diagram edit data nilai


105

21. Sequence diagram tambah jadwal


Sequence diagram ini untuk menambahkan data jadwal pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah menekan tombol tambah data jadwal pada menu jadwal, lalu admin
menambahkan data jadwal pada form tambah data jadwal, setelah admin selesai
menambahkan data jadwal lalu sistem akan menyimpan data yang ditambahkan
ke database dan menampilkan pesan data berhasil ditambah.

Gambar 4.46 Sequence diagram tambah jadwal

22. Sequence diagram edit jadwal


Sequence diagram ini untuk merubah data jadwal pada web kelola data aplikasi
The Premiere Training Center. Langkah pertama dilakukan oleh admin adalah
memilih data jadwal yang akan di edit pada menu jadwal, lalu database akan
mencari query yang dipilih, setelah itu sistem akan menampilkan detail jadwal
yang akan di edit, kemudian admin menekan tombol edit dan mengedit data
jadwal pada form edit data jadwal, setelah selesai sistem akan menyimpan data
yang sudah di edit ke database dan sistem menampilkan pesan data berhasil di
edit.
106

Gambar 4.47 Sequence diagram edit jadwal

23. Sequence diagram hapus jadwal


Sequence diagram ini untuk menghapus data jadwal pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah memilih data jadwal yang akan dihapus pada menu training, lalu
database akan mencari query yang dipilih, setelah itu sistem akan
menampilkan detail jadwal yang akan dihapus, kemudian admin menekan
tombol hapus data jadwal, setelah selesai sistem akan menyimpan data yang
ada setelah penghapusan data ke database dan sistem menampilkan pesan data
berhasil dihapus.

Gambar 4.48 Sequence diagram hapus jadwal


107

24. Sequence diagram konfirmasi pendaftaran


Sequence diagram ini untuk mengkonfirmasi data pendaftaran pada web kelola
data aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh
admin adalah memilih data calon peserta yang mendaftar yang akan
dikonfirmasi pada menu registrasi, lalu database akan mencari query yang
dipilih, setelah itu sistem akan menampilkan detail calon peserta, kemudian
admin menekan tombol konfirmasi pendaftaran, setelah selesai sistem akan
menyimpan data yang sudah dikonfirmasi ke database dan sistem
menampilkan pesan data berhasil disimpan.

Gambar 4.49 Sequence diagram konfirmasi pendaftaran

25. Sequence diagram hapus pendaftaran


Sequence diagram ini untuk menghapus data pendaftaran pada web kelola data
aplikasi The Premiere Training Center. Langkah pertama dilakukan oleh admin
adalah memilih data calon peserta yang mendaftar yang akan dihapus pada
menu registrasi, lalu database akan mencari query yang dipilih, setelah itu
sistem akan menampilkan detail calon peserta yang akan dihapus, kemudian
admin menekan tombol hapus data, setelah selesai sistem akan menyimpan
data yang ada setelah penghapusan data ke database dan sistem menampilkan
pesan data berhasil dihapus.
108

Gambar 4.50 Sequence diagram hapus pendaftaran

4.3.1.4 Class Diagram


Class diagram merupakan diagram yang menunjukan hubungan antar
class-class dalam suatu sistem yang akan dibangun, dimana class-class tersebut
memiliki atribut-atribut dan operasi-operasi yang dibutuhkan. Berikut ini
digambarkan class diagram dari perancangan sistem informasi akademik berbasis
smartphone android The Premiere Training Center.

Gambar 4.51 Class diagram Sistem Informasi Akademik Di The Premiere Training Center
Berbasis Android
109

4 3.2 Perancangan Database


Perancangan database dibuat dengan menentukan nama entitas dan atribut
dari objek yang diuraikan dalam class diagram. Pada perancangan sistem informasi
akademik berbasis smartphone android ini penulis membuat database dengan nama
database thepremiere-tc yang memiliki tabel training, trainer, peserta, nilai dan
registrasi. Berikut ini rincian setiap tabel dalam database aplikasi sistem informasi
akademik berbasis smartphone android The Premiere Training Center.
1. Tabel Training
Tabel ini digunakan untuk menyimpan data training atau program pelatihan
yang ada pada The Premiere Training Center. Berikut ini adalah tabel training.
Tabel 4.28 Rincian tabel training pada database thepremiere-tc
Nama Field Tipe Data Panjang Data Keterangan
id_training int 5 PrimaryKey
Program varchar 50
catatanprogram text

2. Tabel Trainer
Tabel ini digunakan untuk menyimpan data trainer yang ada pada The
Premiere Training Center. Berikut ini adalah tabel trainer.
Tabel 4.29 Rincian tabel trainer pada database thepremiere-tc
Nama Field Tipe Data Panjang Data Keterangan
Nit int 8 PrimaryKey
namatrainer varchar 35
ttltrainer varchar 35
alamattrainer varchar 50
jenkeltrainer varchar 10
agamatrainer varchar 20
nohptrainer varchar 15
emailtrainer varchar 35
imagetrainer text
catatantrainer text

3. Tabel Peserta
Tabel ini digunakan untuk menyimpan data peserta yang melakukan training
di The Premiere Training Center. Berikut ini adalah tabel peserta.
110

Tabel 4.30 Rincian tabel peserta pada database thepremiere-tc


Nama Field Tipe Data Panjang Data Keterangan
Nip int 8 PrimaryKey
namapeserta varchar 35
ttlpeserta varchar 40
alamatpeserta text
jenkelpeserta varchar 10
agamapeserta varchar 20
pekerjaanpeserta varchar 50
notlppeserta varchar 20
nohppeserta varchar 15
emailpeserta varchar 35
id_training int 5 ForeignKey
tanggaljoin varchar 20
imagepeserta text
catatanpeserta text

4. Tabel Nilai
Tabel ini digunakan untuk menyimpan data nilai atau hasil pelatihan untuk
peserta yang sudah melakukan training di The Premiere Training Center. Berikut
ini adalah tabel nilai.
Tabel 4.31 Rincian tabel nilai pada database thepremiere-tc
Nama Field Tipe Data Panjang Data Keterangan
id_nilai varchar 12 PrimaryKey
Nip int 8 ForeignKey1
password varchar 20
id_training int 5 ForeignKey2
Nilai int 3
catatannilai text

5. Tabel Registrasi
Tabel ini digunakan untuk menyimpan data registrasi atau pendaftaran calon
peserta yang mendaftar untuk mengikuti training pada The Premiere Training
Center. Berikut ini adalah tabel registrasi.
Tabel 4.32 Rincian tabel registrasi pada database thepremiere-tc
Nama Field Tipe Data Panjang Data Keterangan
id_registrasi int 11 PrimaryKey
tanggaldaftar varchar 20
Nama varchar 50
kotalahir varchar 50
111

Tabel 4.32 Rincian tabel registrasi pada database thepremiere-tc (Lanjutan)


tanggallahir varchar 30
Jenkel varchar 20
Agama varchar 30
Alamat text
Kota varchar 50
provinsi varchar 50
kodepos varchar 20
pekerjaan varchar 50
Email varchar 50
teleponrumah varchar 20
nohandphone varchar 20
id_training int 5 ForiegnKey

6. Table Jadwal
Tabel ini digunakan untuk menyimpan data jadwal training yang ada pada The
Premiere Training Center. Berikut ini adalah tabel jadwal.
Tabel 4.33 Rincian tabel jadwal pada database thepremiere-tc
Nama Field Tipe Data Panjang Data Keterangan
id_jadwal int 5 PrimaryKey
id_training int 5 ForiegnKey1
nit int 8 ForiegnKey2
hari1 varchar 15
waktu1 varchar 15
nohpt1 varchar 20
hari2 varchar 15
waktu2 varchar 15
nohpt2 varchar 20
Catatan text

4 3.3 Desain Interface


Perancangan antarmuka dibuat untuk mendeskripsikan tampilan tata letak
menu pada aplikasi dan tampilan tata letak yang ada didalam menu aplikasi.
Perancangan ini merupakan gambaran antarmuka aplikasi sistem informasi yang
akan dibuat. Berikut ini adalah gambaran dari aplikasi sistem informasi akademik
The Premiere Training Center berbasis smartphone android.
112

Gambar 4.52 Aplikasi sistem informasi akademik berbasis smartphone android

1. Desain interface menu


Desain interface menu utama berikut ini merupakan tampilan aplikasi pada
awal aplikasi di buka. Pada menu utama ini menampilkan button About,
Training, Trainer, Peserta, Nilai dan Registrasi.

Gambar 4.53 Desain interface menu utama

2. Desain interface about


Desain interface menu about ini menampilkan list about dan tampilan detail
dari setiap list about tersebut.
a. Desain interface list about
Tampilan menu list about menampilkan list view profil, nilai-nilai dan visi
& misi perusahaan.

Gambar 4.54 Desain interface list about


113

b. Desain interface detail about


Tampilan menu detail about menampilkan text view keterangan dari apa
yang ada pada list about.

Gambar 4.55 Desain interface detail about

3. Desain interface training


Desain interface menu training ini menampilkan list training dan tampilan
detail dari setiap list training tersebut.
a. Desain interface list training
Tampilan menu list training menampilkan list view dengan nama program
training.

Gambar 4.56 Desain interface list training

b. Desain interface detail training


Tampilan menu detail training menampilkan text view nama program
training dan keterangan program training.
114

Gambar 4.57 Desain interface detail training

4. Desain interface trainer


Desain interface menu trainer ini menampilkan list trainer dan tampilan detail
dari setiap list trainer tersebut.
a. Desain interface list trainer
Tampilan menu list trainer menampilkan list view dengan nama trainer.

Gambar 4.58 Desain interface list trainer

b. Desain interface detail trainer


Tampilan menu detail trainer menampilkan foto trainer dan text view
nama, TTL (Tempat Tanggal Lahir), Alamat, No Telepon, Email dan
keterangan dari trainer tersebut.

Gambar 4.59 Desain interface detail trainer


115

5. Desain interface peserta


Desain interface menu peserta ini menampilkan list peserta dan tampilan detail
dari setiap list peserta tersebut.
a. Desain interface list peserta
Tampilan menu list peserta menampilkan list view dengan nama peserta
yang mengikuti training di perusahaan tersebut.

Gambar 4.60 Desain interface list peserta

b. Desain interface detail peserta


Tampilan menu detail peserta menampilkan foto peserta dan text view
nama, TTL (Tempat Tanggal Lahir), Alamat, No Telepon, Email, Status,
Program dan keterangan dari peserta tersebut.

Gambar 4.61 Desain interface detail peserta

6. Desain interface nilai


Desain interface menu nilai ini menampilkan form login untuk masuk ke dalam
menu nilai dan tampilan detail nilai.
a. Desain interface form login nilai
Form login ini digunakan untuk masuk kedalam menu nilai peserta, pada
form login ini terdapat edit text username dan password yang harus diisi
116

ketika peserta menekan button menu nilai, dan pada form login ini juga
terdapat button login.

Gambar 4.62 Desain interface form login nilai


b. Desain interface detail nilai
Tampilan menu detail nilai menampilkan foto peserta dan text view nama,
program, nilai dan keterangan nilai yang didapat.

Gambar 4.63 Desain interface detail nilai

7. Desain interface registrasi


Desain interface menu registrasi ini menampilkan form registrasi yang
digunakan pengunjung untuk mendaftar sebagai peserta training. Pada
tampilan form registrasi ini terdapat edit text Nama, TTL (Tempat Tanggal
Lahir), Alamat, Jenkel (Jenis Kelamin), Email, No Telepon, Status, Program
yang akan diambil dan juga button kirim.

Gambar 4.64 Desain interface form registrasi


117

4.4 Evaluasi Prototype


Setelah tahap membangun prototype selesai dibuat, kemudian tahap
evaluasi prototype yang dilakukan oleh pihak perusahaan atau pengguna. Tahap
evaluasi ini bertujuan untuk menguji apakah prototype sudah sesuai dengan
keinginan pengguna atau belum sesuai.
Dari evaluasi yang pengguna lakukan, pengguna menginginkan
penambahan fitur baru dan perubahan tata letak pada perancangan interface.
Berikut ini adalah perubahan pada sistem yang akan dibangun setelah dilakukan
evaluasi oleh pihak perusahaan atau pengguna:
1. Perubahan tata letak menu registrasi dan penambahan menu jadwal training
pada halaman menu utama aplikasi.

Gambar 4.65 Tampilan menu utama sebelum dan sesudah perubahan tata letak pada halaman
menu utama aplikasi

2. Perubahan desain interface training yang di ditambakan fitur biaya training


dan fasilitas training yang ada di dalam menu training.

Gambar 4.66 Tampilan menu training sebelum dan sesudah di evaluasi

Berikut ini adalah tampilan fitur biaya training dan fasilitas training yang
ditambhakan pada menu training.
118

Gambar 4.67 Desain interface biaya training

Gambar 4.68 Desain interface fasilitas training

3. Desain interface jadwal yang di tambahkan dari hasil evaluasi ini menampilkan
list training dan detail jadwal dari setiap list training untuk melihat waktu
training yang ada pada hari tersebut.
a. Desain interface list jadwal
Tampilan menu list jadwal menampilkan list view dengan nama program
training.

Gambar 4.69 Desain interface list jadwal


119

b. Desain interface detail jadwal


Tampilan menu detail jadwal menampilkan text view waktu, trainer dan
keterangan jadwal.

Gambar 4.70 Desain interface detail jadwal

4. Desain interface splash screen yang di tambahkan dari hasil evaluasi ini
menampilkan logo dan progress bar.

Gambar 4.71 Desain interface splash screen

Berikut ini adalah hasil evaluasi prototype secara keseluruhan :


Tabel 4.34 Hasil evaluasi prototype
Jenis Nama Tujuan Versi
Use case kelola Untuk mengelola data
jadwal, tambah jadwal
Use Case Diagram 2
jadwal, edit jadwal
dan hapus jadwal
Activity diagram Untuk melihat biaya
Additional
lihat biaya training training
Activity diagram Untuk melihat
lihat fasilitas fasilitas training Additional
Activity Diagram training
Activity diagram Untuk melihat data
Additional
lihat jadwal jadwal
Activity diagram Untuk menambahkan
Additional
tambah jadwal data jadwal
120

Tabel 4.34 Hasil evaluasi protoype (Lanjutan)


Jenis Nama Tujuan Versi
Activity diagram edit Untuk merubah data
Additional
jadwal jadwal
Activity diagram Untuk menghapus
Additional
hapus jadwal data jadwal
Sequence diagram Untuk melihat biaya
Additional
lihat biaya training training
Sequence diagram Untuk melihat
lihat fasilitas fasilitas training Additional
training
Sequence diagram Untuk melihat data
Sequence Diagram Additional
lihat jadwal jadwal
Sequence diagram Untuk menambahkan
Additional
tambah jadwal data jadwal
Sequence diagram Untuk merubah data
Additional
edit jadwal jadwal
Sequence diagram Untuk menghapus
Additional
hapus jadwal data jadwal
Penambahan data
Class Diagram Class jadwal 2
jadwal
Interface menu Merubah tata letak
2
utama menu utama
Interface menu Merubah tampilan
2
training menu training
Interface biaya Menampilkan rincian
training pada menu biaya training Additional
training
Interface fasilitas Menampilkan list
Interface training pada menu fasilitas training Additional
training
Interface jadwal Menampilkan list
Additional
training
interface detail Menampilkan detail
jadwal training jadwal Additional
interface splash Menampilkan splash
screen screen Additional

4.5 Pengkodean Sistem


Dari rancangan prototype yang sudah dibuat dan disetujui oleh pengguna,
kemudian dilakukan tahap pengkodean. Proses yang dilakukan pada tahap ini yaitu
menterjemahkan rancangan aplikasi kedalam bahasa pemrograman yang hasilnya
adalah aplikasi sistem informasi berbasis smartphone android. Bahasa
pemrograman yang digunakan yaitu java, xml, php, dan database yang digunakan
121

pada aplikasi ini yaitu database MySQL. Berikut ini adalah hasil pengkodean
sistem dari desain interface yang sudah di evaluasi dan disetujui oleh pengguna.
1. Splash screen
Splash screen merupakan tampilan aplikasi saat pertama kali aplikasi di
jalankan sebelum masuk ke tampilan menu utama.

Gambar 4.72 Splash screen

2. Menu Utama
Menu utama merupakan tampilan utama aplikasi. Pada menu utama ini terdiri
dari menu About, menu Training, menu Trainer, menu Peserta, menu Nilai,
menu Jadwal dan menu Registrasi. Menu-menu yang ada pada menu utama
aplikasi akan menampilkan fungsi sesuai yang ada pada menu utama. Berikut
ini adalah tampilan menu utama.

Gambar 4.73 Menu utama


122

3. Menu about
Menu about akan menampilkan list Profile, Visi & Misi Perusahaan, Nilai-nilai
Perusahaan dan Kontak Perusahaan. Menu about akan ditampilkan ketika
menu about dipilih pada menu utama. Berikut ini merupakan tampilan menu
about.

Gambar 4.74 Menu about

4. Menu detail about


Menu detail about akan menampilkan isi dari setiap list pada menu about.
Menu detail about akan ditampilkan ketika list pada menu about dipilih.
Berikut ini merupakan tampilan menu detail about dari setiap list.
a. Menu detail about (Profile)

Gambar 4.75 Menu detail about (Profile)


123

b. Menu detail about (Visi dan Misi)

Gambar 4.76 Menu detail about (Visi dan Misi)

c. Menu detail about (Nilai-nilai Perusahaan)

Gambar 4.77 Menu detail about (Nilai-nilai Perusahaan)

d. Menu detail about (Kontak Perusahaan)

Gambar 4.78 Menu detail about (Kontak Perusahaan)


124

5. Menu trainer
Menu trainer akan menampilkan list data trainer yang ada pada The Premiere
Training Center. Menu trainer akan ditampilkan ketika menu trainer dipilih
pada menu utama. Berikut ini merupakan tampilan menu trainer.

Gambar 4.79 Menu trainer

6. Menu detail trainer


Menu detail trainer akan menampilkan data diri dari setiap trainer yang ada
pada list di menu trainer. Menu detail trainer akan ditampilkan ketika list pada
menu trainer dipilih. Berikut ini merupakan tampilan menu detail trainer.

Gambar 4.80 Menu detail trainer

7. Menu training
Menu training akan menampilkan tiga tab menu dimana dari setiap tab yang
ada pada menu training menampilkan Daftar Training, Biaya Training dan
125

Fasilitas Training. Berikut ini merupakan tampilan dari setiap tab training yang
ada pada menu training.
a. Tab daftar training
Tab daftar training akan menampilkan list training yang ada pada The
Premiere Training Center. Tab daftar training akan ditampilkan ketika
menu training dipilih pada menu utama. Berikut ini merupakan tampilan
tab daftar training yang ada di dalam menu training.

Gambar 4.81 Menu training

b. Menu detail training


Menu detail training akan menampilkan informasi tentang training dari
list training yang ada pada tab daftar training. Menu detail training akan
ditampilkan ketika list pada tab daftar training dipilih. Berikut ini
merupakan tampilan menu detail training.

Gambar 4.82 Menu detail training


126

c. Tab biaya training


Tab biaya training akan menampilkan informasi biaya training yang ada
pada menu training. Tab biaya training akan ditampilkan ketika tab biaya
training yang ada pada menu training dipilih. Berikut ini merupakan
tampilan tab biaya training.

Gambar 4.83 Menu biaya training

d. Tab fasilitas training


Tab fasilitas training akan menampilkan informasi fasilitas training yang
diberikan pada peserta training yang mengikuti training di The Premiere
Training Center. Tab fasilitas training akan ditampilkan ketika tab fasilitas
training yang ada pada menu training dipilih. Berikut ini merupakan
tampilan tab fasilitas training.

Gambar 4.84 Menu fasilitas training


127

7. Menu jadwal
Menu jadwal akan menampilkan list training yang ada pada The Premiere
Training Center. Menu jadwal akan ditampilkan ketika menu jadwal dipilih
pada menu utama. Berikut ini merupakan tampilan menu jadwal.

Gambar 4.85 Menu jadwal

8. Menu detail jadwal


Menu detail jadwal akan menampilkan informasi tentang jadwal training,
informasi yang ada pada menu jadwal diantaranya Hari, Waktu, Trainer, No
Handphone Trainer yang bisa di hubungi dan Catatan jadwal. Menu detail
jadwal akan ditampilkan ketika list pada menu jadwal dipilih. Berikut ini
merupakan tampilan menu detail jadwal.

Gambar 4.86 Menu detail jadwal


128

9. Menu peserta
Menu peserta akan menampilkan list data peserta yang mengikuti training di
The Premiere Training Center. Menu peserta akan ditampilkan ketika menu
peserta dipilih pada menu utama. Berikut ini merupakan tampilan menu
peserta.

Gambar 4.87 Menu peserta

10. Menu detail peserta


Menu detail peserta akan menampilkan data diri dari setiap peserta yang
mengikuti training di The Premiere Training Center. Menu detail peserta akan
ditampilkan ketika list pada menu peserta dipilih. Berikut ini merupakan
tampilan menu detail peserta.

Gambar 4.88 Menu detail peserta


129

11. Menu nilai


Menu nilai akan menampilkan form login untuk peserta yang ingin melihat
nilai training yang di dapat. Peserta harus mengisi ID Training dan Password
untuk melihat nilai yang sudah di dapat. Menu nilai akan ditampilkan ketika
menu nilai dipilih pada menu utama. Berikut ini merupakan tampilan menu
nilai.

Gambar 4.89 Menu nilai

12. Menu detail nilai


Menu detail nilai akan menampilkan informasi nilai peserta yang mengikuti
training di The Premiere Training Center. Informasi yang ada pada menu detail
nilai diantaranya nama peserta, no induk peserta, program yang diikuti dan nilai
yang di dapat oleh peserta. Pada menu detail nilai memiliki tombol logout yang
terletak di action bar menu detail nilai yang berfungsi untuk keluar dari menu
detail nilai. Menu detail nilai akan ditampilkan ketika peserta melakukan login
terlebih dahulu pada menu nilai. Berikut ini merupakan tampilan menu detail
nilai.
130

Gambar 4.90 Menu detail nilai

13. Menu registrasi


Menu registrasi akan menampilkan form registrasi untuk peserta yang ingin
medaftar untuk mengikuti training di The Premiere Training Center. Peserta
harus mengisi form registrasi dengan benar kemudian menekan tombol
registrasi yang ada dibagian bawah form registrasi. Menu registrasi akan
ditampilkan ketika menu registrasi yang ada pada action bar menu utama
dipilih. Berikut ini merupakan tampilan menu registrasi.

Gambar 4.91 Menu registrasi

4.6 Pengujian Sistem


Untuk pengujian pada aplikasi sistem informasi yang sudah dibuat penulis
menggunakan dua cara pengujian yaitu dengan Black Box Testing dan White Box
Testing.
131

4 6.1 Black Box Testing


Metode pengujian Black Box berfokus pada fungsi sistem, tentang
kesalahan interface atau kesalahan kinerja sistem. Pengujian ini dilakukan terhadap
seluruh tampilan aplikasi, sehingga jika ditemukan kesalahan bisa dilakukan
perbaikan program. Berikut merupakan pengujian Black box testing.
Tabel 4.35 Pengujian Black box testing
Hasil yang Hasil
No Kasus/Diuji Skenario Uji Kesimpulan
Diharapkan Pengujian
Memilih aplikasi Dapat
yang sudah menampilkan
Splash Sesuai
1 terinstall pada logo dan Diterima
screen harapan
smartphone progress bar
android
Menunggu proses Dapat
spalsh screen menampilkan
selesai menu utama Sesuai
2 Menu utama Diterima
setelah proses harapan
dari splash
screen selesai
Memilih menu Dapat
about pada menu menampilkan
utama list profile, visi
& misi, nilai- Sesuai
3 Menu about Diterima
nilai harapan
perusahaan dan
kontak
perusahaan
Memilih salah Dapat
satu list yang ada menampilkan
Menu detail di menu about detail about Sesuai
4 Diterima
about dari list yang harapan
dipilih di menu
about
Memilih menu Dapat
Menu trainer pada menu menampilkan Sesuai
5 Diterima
trainer utama list foto dan harapan
nama trainer
Memilih salah Dapat
satu list yang ada menampilkan
di menu trainer foto dan data
Menu detail Sesuai
6 diri trainer dari Diterima
trainer harapan
list yang
dipilih di menu
trainer
Memilih tab Dapat
Sesuai
daftar training menampilkan Diterima
harapan
list training
132

Tabel 4.35 Pengujian Black box testing (Lanjutan)


Hasil yang Hasil
No Kasus/Diuji Skenario Uji Kesimpulan
Diharapkan Pengujian
Memilih salah Dapat
satu list yang ada menampilkan
di tab daftar penejelasan
Sesuai
training training dari list Diterima
harapan
yang dipilih di
tab daftar
training
Menu
7 Memilih tab Dapat
training
biaya training menampilkan Sesuai
Diterima
Informasi biaya harapan
training
Memilih tab Dapat
fasilitas training menampilkan Sesuai
Diterima
informasi harapan
fasilitas training
Memilih menu Dapat
Menu Sesuai
8 jadwal pada menampilkan Diterima
jadwal harapan
menu utama list training
Memilih salah Dapat
satu list yang ada menampilkan
di menu jadwal informasi
Menu detail Sesuai
9 jadwal training Diterima
jadwal harapan
dari list yang
dipilih di menu
jadwal
Memilih menu Dapat
Menu peserta pada menampilkan Sesuai
10 Diterima
peserta menu utama list foto dan harapan
nama peserta
Memilih salah Dapat
satu list yang ada menampilkan
Menu detail di menu peserta foto dan data Sesuai
11 Diterima
peserta diri peserta dari harapan
list yang dipilih
di menu peserta
Memilih menu Dapat
nilai pada menu menampilkan
Sesuai
utama form login dan Diterima
harapan
tombol login
dapat di klik
Mengisi Dapat
username dan menampilkan Sesuai
12 Menu nilai Diterima
password dengan detail nilai harapan
benar
Tidak mengisi Muncul pesan
username dan error dan login
Sesuai
password atau gagal Diterima
harapan
salah satunya
tidak di isi
133

Tabel 4.35 Pengujian Black box testing (Lanjutan)


Hasil yang Hasil
No Kasus/Diuji Skenario Uji Kesimpulan
Diharapkan Pengujian
Menunggu proses Dapat
login nilai menampilkan
berhasil data nilai
Menu detail Sesuai
13 setelah id Diterima
nilai harapan
training dan
password di isi
dengan benar
Dapat
Memilih menu menampilkan
registrasi pada form registrasi, Sesuai
Diterima
action bar di tombol harapan
menu utama registrasi dapat
di klik
Dapat
Mengisi data
menampilkan Sesuai
registrasi dengan Diterima
Menu pesan registrasi harapan
14 benar
registrasi berhasil
Dapat
Tidak mengisi menampilkan
seluruh data pesan error
registrasi atau harus Sesuai
Diterima
salah satu data melengkapi harapan
yang harus diisi data registrasi
tidak diisi dan registrasi
gagal

4 6.2 White Box Testing


Pengujian White Box merupakan pegujian terakahir sebelum aplikasi
digunakan. Pengujian ini dilakukan untuk menguji dan melihat secara langsung
mekanisme internal dari perangkat lunak yang telah dibuat, terutama untuk
mengamati struktur dan logika dari kode program yang ditulis dalam membangun
perangkat lunak. Berikut merupakan pengujian White Box testing.
Tabel 4.36 White box login
No Source Code
1 public void onClick(View v) {
2 switch (v.getId()) {
3 case R.id.submit:
4 url = "http://thepremiere-tc.hol.es/premiere_tc/loginnilai.php?" +
"username=" +username.getText().toString()+"&password=" +
password.getText().toString();
5 If(username.getText().toString().trim().length()>0
&&password.getText().toString().trim().length()>0){
6 new AmbilData().execute();
7 }else{
134

Tabel 4.36 White box login (Lanjutan)


No Source Code
8 alert.showAlertDialog(Nilai.this, "Login failed", "Silakan isi Id
Training dan Password anda", false);}
9 break;
default:
break;
}
10 }

Gambar 4.92 Flowgraph white box login

Dari flowgraph diatas, maka diketahui :


Node = 10 Lingkaran
Edge = 10 Arah Panah
Predicate = 1 Kondisi Node
Cyclomatic Complexity digunakan untuk mencari jumlah path dalam suatu
flowgraph, dengan rumus sebagai berikut :
V(G) = E - N + 2 V(G) = P + 1
= 10 – 10 + 2 =1+1
=2 =2
Jadi Cyclomatic Complexity adalah 2 path (jalur)
1. Path 1 = 1-2-3-4-5-6-9-10
2. Path 2 = 1-2-3-4-5-7-8-10

Tabel 4.37 White box ambil data


No Source Code
1 class AmbilData extends AsyncTask<String, String, String> {
2 protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Peserta.this);
pDialog.setMessage("Mohon tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
3 protected String doInBackground(String... args) {
135

Tabel 4.37 White box ambil data (Lanjutan)


No Source Code
4 List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(url_peserta, "GET", params);
Log.i("Ini nilai json ", ">" + json);
5 try {
6 string_json = json.getJSONArray("peserta");
7 if (string_json !=null) {
8 for (int i = 0; i < string_json.length(); i++) {
9 JSONObject c = string_json.getJSONObject(i);
String id = c.getString(TAG_ID);
String nama = c.getString(TAG_NAMA);
String link_foto = c.getString(TAG_FOTO);
HashMap<String, String> map = new HashMap<String, String>();
map.put(TAG_ID, id);
map.put(TAG_NAMA, nama);
map.put(TAG_FOTO, link_foto);
DaftarPeserta.add(map);
10 }
11 }
12 } catch (Exception e) {
13 e.printStackTrace();
} return null;
14 }

Gambar 4.93 Flowgraph white box ambil data


Dari flowgraph diatas, maka diketahui :
Node = 14 Lingkaran
Edge = 16 Arah Panah
Predicate = 3 Kondisi Node
Cyclomatic Complexity digunakan untuk mencari jumlah path dalam suatu
flowgraph, dengan rumus sebagai berikut :
V(G) = E - N + 2 V(G) = P + 1
= 16 – 14 + 2 =3+1
=4 =4
136

Jadi Cyclomatic Complexity adalah 4 path (jalur)


1. Path 1 = 1-2-3-4-5-6-7-11-14
2. Path 2 = 1-2-3-4-5-6-7-8-9-10-8-11-14
3. Path 3 = 1-2-3-4-5-6-7-8-11-14
4. Path 4 = 1-2-3-4-5-12-13-14

Tabel 4.38 White box input data


No Source Code
1 public void submit(View arg1) {
2 FormEditText[] allFields = { nama, ralamat, kkota, rprovinsi, remail, nhandphone
};
3 boolean allValid = true;
4 for (FormEditText field: allFields) {
5 allValid = field.testValidity()&& allValid;
6 }
7 if (allValid) {
8 String stanggal = tanggal.getText().toString();
String snama = nama.getText().toString();
String sklahir = klahir.getText().toString();
String stlahir = tlahir.getText().toString();
String sjenkel = jkelamin.getSelectedItem().toString();
String sagama = ragama.getText().toString();
String salamat = ralamat.getText().toString();
String skota = kkota.getText().toString();
String sprovinsi = rprovinsi.getText().toString();
String skpos = kpos.getText().toString();
String spekerjaan = rpekerjaan.getText().toString();
String semail = remail.getText().toString();
String strumah = trumah.getText().toString();
String snhandphone = nhandphone.getText().toString();
String straining = training.getSelectedItem().toString();
9 if (training.getSelectedItem().toString().equals("--Pilih Program Training--")){
10 alert.showAlertDialog(Registrasi.this, "Registrasi Gagal", "Silahkan Pilih
Training Yang Akan Anda Ikuti", false);
11 }else{
12 new InputData().execute(stanggal, snama, sklahir, stlahir, sjenkel, sagama,
salamat, skota, sprovinsi, skpos, spekerjaan, semail,strumah,snhandphone,
straining);}
13 }else {
14 alert.showAlertDialog(Registrasi.this, "Registrasi Gagal", "Data Anda Belum
Lengkap, Silahkan Cek Kembali Data Anda", false);
}
15 }
137

Gambar 4.94 Flowgraph white box input data

Dari flowgraph diatas, maka diketahui :


Node = 15 Lingkaran
Edge = 17 Arah Panah
Predicate = 3 Kondisi Node
Cyclomatic Complexity digunakan untuk mencari jumlah path dalam suatu
flowgraph, dengan rumus sebagai berikut :
V(G) = E - N + 2 V(G) = P + 1
= 17 – 15 + 2 =3+1
=4 =4
Jadi Cyclomatic Complexity adalah 4 path (jalur)
1. Path 1 = 1-2-3-4-5-6-5
2. Path 2 = 1-2-3-4-5-6-7-8-9-10-15
3. Path 3 = 1-2-3-4-5-6-7-8-9-11-12-15
4. Path 4 = 1-2-3-4-5-6-7-13-14-15

4.7 Evaluasi Sistem


Setelah pengujian sistem selesai maka tahap selanjutnya yaitu evaluasi
sistem. Evalusai sistem ini dilakukan oleh pengguna dengan cara pengguna
menjalankan atau mencoba langsung aplikasi yang telah dibuat secara keseluruhan.
Tujuan dari evaluasi sistem ini yaitu untuk melihat aplikasi apakah aplikasi sudah
sesuai dengan keinginan pengguna atau belum sesuai.
Setelah pengguna mengevaluasi, selanjutnya pengguna diberikan
beberapa pertanyaan dalam bentuk kuisioner untuk menentukan kelayakan dalam
penggunaan aplikasi yang sudah di evaluasi tersebut. Sample yang diambil dari 30
pengguna yang terbagi menjadi dua tipe pengguna yaitu peserta yang sudah
menjalani training dan calon peserta yang belum menjalani training. Terdapat 2
138

aspek yang menjadi tolak ukur kelayakan aplikasi yang telah dibuat, yaitu tampilan
dan fungsi. Berikut ini penjelasan dari hasil kuisioner dan uji coba yang telah
dilakukan.
1. Menentukan Skor Jawaban
Untuk menentukan skor jawaban dipilih 5 skor jawaban yang diajukan
kepada pengguna. Berikut ini 5 skor jawaban yang diajukan kepada pengguna.

Tabel 4.39 Kriteria penilaian jawaban responden


Jawaban Responden Bobot Nilai
Sangat Tidak Setuju (STS) 1
Tidak Setuju (TS) 2
Kurang Setuju (KS) 3
Setuju (S) 4
Sangat Setuju (SS) 5

2. Menentukan Rating Scale


Menentukan rating scale apakah aplikasi yang telah dibuat layak untuk
digunakan oleh pengguna, dengan menggunakan rumus skor ideal sebagai berikut:
Skor Kriterium = Nilai Skala x Jumlah Responden
Rumus diatas untuk menentukan skor kriteria untuk 1 pertanyaan karena dalam
kuisioner terdapat 16 pertanyaan maka rumusnya menjadi:
Skor Kriterium = Nilai Skala x Jumlah Pertanyaan x Jumlah Responden
Maka untuk menentukan rating scale dilakukan perhitungan sebagai berikut :
Sangat Setuju = 5 x 16 x 30 = 2400
Setuju = 4 x 16 x 30 = 1920
Kurang Setuju = 3 x 16 x 30 = 1440
Tidak Setuju = 2 x 16 x 30 = 960
Sangat Tidak Setuju = 1 x 16 x 30 = 480

Gambar 4.95 Penentuan rating scale


139

Setelah dilakukan kuisioner kepada pengguna didapat data sebagai berikut :


Tabel 4.40 Hasil penilaian kuisioner
Penilaian
Pernyataan Total
Aspek SS S KS TS STS
Apakah desain tampilan menarik ? 10 20 30
Apakah struktur tampilan menu utama
9 21 30
sudah jelas ?
Apakah tampilan informasi training
19 10 1 30
sudah jelas ?
Apakah tampilan informasi trainer sudah
Tampilan

18 12 30
jelas ?
Apakah tampilan informasi peserta
8 21 1 30
sudah jelas ?
Apakah tampilan informasi jadwal
9 21 30
training sudah jelas ?
Apakah tampilan informasi nilai sudah
10 20 30
jelas ?
Apakah tampilan informasi registrasi
12 18 30
sudah jelas ?
Apakah aplikasi ini mudah untuk
9 19 2 30
digunakan dan dimengerti ?
Apakah aplikasi ini dapat mempermudah
14 15 1 30
anda untuk melihat informasi training ?
Apakah aplikasi ini dapat mempermudah
16 14 30
anda untuk melihat informasi trainer ?
Apakah aplikasi ini dapat mempermudah
14 16 30
anda untuk melihat informasi peserta ?
Apakah aplikasi ini dapat mempermudah
Fungsi

anda untuk melihat informasi jadwal 17 13 30


training ?
Apakah aplikasi ini dapat mempermudah
9 19 2 30
anda untuk melihat informasi nilai ?
Apakah aplikasi ini dapat mempermudah
10 15 5 30
proses registrasi ?
Apakah aplikasi ini membantu anda
untuk mengetahui informasi seputar
9 20 1 30
training pada The Premiere Training
Center?
Jumlah 193 274 13 0 0 480

Persentasi penilaian :
Sangat Kurang Stuju = (0 : 480) x 100% = 0%
Tidak Setuju = (0 : 480) x 100% = 0%
Kurang Setuju = (13 : 480) x 100% = 2,7%
Stuju = (274 : 480) x 100% = 57,1%
Sangat Stuju = (193 : 480) x 100% = 40,2%
140

Presentase Penilaian Kuisioner


3% 0% 0%

40%

57%

Sangat Setuju Setuju Kurang Setuju Tidak Setuju Sangat Tidak Setuju

Gambar 4.96 Presentase penilaian kuisioner

Berdasarkan hasil presentase diatas dalam melakukan kuisioner pada 30


pengguna didapat jumlah presentase pada hasil kuisioner tersebut yaitu 40,2%
sangat setuju, 57,1% setuju dan 2,7% kurang setuju. Berdasarkan hasil tersebut,
terdapat presentase 2,7% kurang setuju dikarenakan pengguna belum memahami
beberapa fitur yang ada pada aplikasi, faktor-faktor yang mempengaruhi pengguna
belum memahami fitur pada aplikasi tersebut yaitu pengguna belum memahami
tentang validasi saat registrasi dan informasi nilai yang kurang detail menurut
pengguna. Presentase sangat setuju 40,2% dan setuju 57,1% yang menyatakan
bahwa aplikasi ini dinilai “baik” oleh pengguna dari segi tampilan dan fungsi
konten/fiturnya yang mudah dipahami oleh pengguna.

Tabel 4.41 Perhitungan penilaian kuisioner


Penilaian
Aspek Pernyataan Skor
SS S KS TS STS
1 50 80 130
2 45 84 129
Tampilan

3 95 40 3 138
4 90 48 138
5 40 84 3 127
6 45 84 129
7 50 80 130
8 60 72 132
9 45 76 6 127
Fungsi

10 70 60 3 133
11 80 56 136
12 70 64 134
141

Tabel 4.41 Perhitungan penilaian kuisioner (Lanjutan)


Penilaian
Aspek Pernyataan Skor
SS S KS TS STS
13 85 52 137
14 45 76 6 127
15 50 60 15 125
16 45 80 3 128
Jumlah 965 1096 39 2100

Berdasarkan hasil perhitungan maka didapat nilai hasil dari perhitungan


2100, maka akan diterapkan kedalam rating scale yang dihitung dalam tahapan
sebelumnya sebagai berikut :

Gambar 4.97 Skala responden

Berdasarkan perhitungan diatas dapat disimpulkan bahwa perangkat lunak


atau aplikasi yang dibangun dapat diterima dan dapat digunakan.
BAB 5
KESIMPULAN DAN SARAN

5.1 Kesimpulan
Berdasarkan uraian dari tahap-tahap penelitian yang dilakukan dalam
pembuatan aplikasi sistem informasi akademik The Premiere Training Center
berbasis smartphone android dan berdasarkan hasil yang diambil dari kuisioner
pada pengguna dimana pengguna tersebut adalah peserta dan calon peserta, dengan
jumlah presentase sebanyak 40,2% sangat setuju, 57,1% setuju dan 2,7% kurang
setuju, maka dapat ditarik kesimpulan sebagai berikut :
1. Hasil dari evaluasi yang dilakukan pada The Primere Training Center
menunjukan bahwa perancangan aplikasi berbasis smartphone android dapat
menampilkan informasi yang dibutuhkan.
2. Aplikasi sistem informasi akademik berbasis smartphone android yang telah
dibangun mampu untuk menampilkan informasi tentang data peserta, jadwal
pelatihan, hasil pelatihan, daftar pelatihan, data pelatih dan registrasi online
yang dapat diakses oleh peserta dan calon peserta dimanapun dan kapanpun
mereka berada dan dengan presentase 40,2% sangat setuju dan 57,1% setuju,
aplikasi tersebut dapat memberi kemudahan dan dapat membantu peserta dan
calon peserta untuk melihat informasi pada smartphone berbasis android.
3. Pembangunan aplikasi sistem informasi akademik berbasis smartphone
android ini dibangun menggunakan software Android Studio untuk pembuatan
aplikasi dengan bahasa pemrograman Java dan XML dan software Notepad++
dengan bahasa pemrograman PHP dan MySQL sebagai databasenya dan dapat
berjalan pada sistem operasi android versi 3.0 ke atas.

5.2 Saran
Dari kesimpulan diatas, maka saran yang dapat diberikan agar menjadi
bahan masukan dan pertimbangan dalam pengembangan aplikasi selanjutnya
menjadi lebih baik lagi, yaitu sebagai berikut :
1. Untuk penelitian selanjutnya disarankan untuk memberikan akses login yang
ada pada menu nilai agar dapat memberikan fitur edit username dan password.

142
143

2. Penambahan fitur pencarian data atau search pada menu trainer dan menu
peserta agar mempermudah pencarian data pada menu tersebut.
3. Disarankan pada penelitian berikutnya agar memperbaiki tampilan pada
aplikasi terutama tata letak pada setiap menu.
DAFTAR PUSTAKA

Anonim. 2013. Mengenal Android Studio.


https://developer.android.com/studio/intro/index.html?hl=id. 16 Mei 2013.
Anonim. 2013. Pengenalan JSON. www.json.org/json-id.html. 21 Januari 2016.
Ayuliana. 2009. Testing dan Implementasi Bahan kuliah Gunadarma.
http://ayuliana_st.staff.gunadarma.ac.id/Downloads/files/12482/Pertemuan+0
6+-++_Blackbox+Testing_.pdf ed. 7 April 2017.
Djahir, Yulia dan Dewi Pratita. 2014. Bahan Ajar Sistem Informasi Manajemen.
Yogyakarta: Deepublish.
Fatta, Hanif Al. 2007. Analisis dan Perangcangan Sistem Informasi untuk
Keunggulan Bersaing Perusahaan & Organisasi Modern. Yogyakarta:
ANDI.
H, Nazruddin Safaat. 2015. Pemrograman Aplikasi Mobile Smartphone dan Tablet
PC Berbasis Android Revisi Kedua. Bandung: Informatika Bandung.
Hermawan, Julius. 2004. Analisa Desain & Pemrograman Berorientasi Obyek
dengan UML dan VISUAL BASIC. NET. Yogyakarta: ANDI.
Hutahaean, Japerson. 2014. Konsep Sistem Informasi. Yogyakarta: Deepublish.
Indera, Rahma, Aditya Prtama AO dan Fajar Shadiq 2015. Pengembangan Sistem
Informasi Penjualan Alat Kesehatan Berbasis Web Pada PT. ALFIN
FANCA PRIMA. Jurnal Positif, Vol 1: hal 137-45.
Khannedy, Eko Kurniawan. 2011. Belajar Java Dasar. Bandung: StripBandung.
Kreibich, Jay A. 2010. Using SQLite. America: O'Reilly.
Kusrini, Aandri Koniyo. 2007. Tuntunan Praktis Membangun Sistem Informasi
Akuntaansi dengan Visual Basic & Microsoft SQL Server. Yogyakarta:
ANDI.
Nugroho, Adi. 2010. Rekayasa Perangkat Lunak Berorientasi Objek dengan
Metode USDP (Unified Software Development Process). Yogyakarta:
ANDI
Presman, Roger S. 2001. Software Engineering A Practitioner's Approach, Fifth
Edition. New York: McGraw-Hill.
Presman, Roger S. 2010. Software Engineering A Practitioner's Approach, Seventh
Edition. New York: McGraw-Hill.

144
145

S, Rosa A dan M. Shalahuddin. 2015. Rekayasa Perangkat Lunak Terstruktur dan


Berorientasi Objek. Bandung: Informatika Bandung.
Sanjani, Lukman Arif, Sulis Janu Hartati dan Pantjawati Sudarmaningtyas 2014.
Rancang Bangun Sistem Informasi Penggajian Pegawai dan Remunerasi
Jasa Medis pada Rumah Sakit Bedah Surabaya. Jurnal Sistem Informasi,
Vol 3: hal 87-93.
BIODATA PENULIS

Nama : David Sentot Prasethio

Tempat, tanggal lahir : Karawang, 26 April 1991

Jenis kelamin : Laki-Laki

Alamat : Perumnas Bumi Teluk Jambe, Blok S/533 Rt 006, Rw 007


Desa Sukaluyu, Kecamatan Teluk Jambe Timur,
Kabupaten Karawang 41361
Agama : Islam
Email : david.sentot@student.unsika.ac.id
No. Telp : 081280594272

Pendidikan Formal :
1. SD Negeri 014 Petang, Cakung, Jakarta Timur.
2. SMP Negeri 3 Karawang, Jawa Barat.
3. STM PGRI 1 Karawang, Jawa Barat.
4. Universitas Singaperbangsa Karawang, Fakultas Ilmu Komputer, Karawang,
Jawa Barat.
LAMPIRAN
Lampiran 1 Kuisioner

RANCANG BANGUN SISTEM INFORMASI


AKADEMIK THE PREMIERE TRAINING
CENTER BERBASIS ANDROID
Nama :
Bacalah pernyataan dan berikanlah tanda centang (✓) pada salah satu penilaian
sesuai dengan pendapat anda.
Keterangan :
SS = Sangat Setuju TS = Tidak Setuju
S = Setuju STS = Sangat Tidak Setuju
KS = Kurang Setuju
Tabel Kuisioner Penilaian Oleh Pengguna
1. Desain Tampilan Aplikasi
Penilaian
No Pernyataan
SS S KS TS STS
1 Apakah desain tampilan menarik ?
2 Apakah struktur tampilan menu utama sudah
jelas ?
3 Apakah tampilan informasi training sudah
jelas ?
4 Apakah tampilan informasi trainer sudah
jelas ?
5 Apakah tampilan informasi peserta sudah
jelas ?
6 Apakah tampilan informasi jadwal training
sudah jelas ?
7 Apakah tampilan informasi nilai sudah jelas
?
8 Apakah tampilan informasi registrasi sudah
jelas ?
2. Fungsi Konten/Fitur
Penilaian
No Pernyataan
SS S KS TS STS
1 Apakah aplikasi ini mudah untuk digunakan
dan dimengerti ?
2 Apakah aplikasi ini dapat mempermudah
anda untuk melihat informasi training ?
3 Apakah aplikasi ini dapat mempermudah
anda untuk melihat informasi trainer ?
4 Apakah aplikasi ini dapat mempermudah
anda untuk melihat informasi peserta ?
Apakah aplikasi ini dapat mempermudah
5 anda untuk melihat informasi jadwal training
?
6 Apakah aplikasi ini dapat mempermudah
anda untuk melihat informasi nilai ?
7 Apakah aplikasi ini dapat mempermudah
proses registrasi ?
Apakah aplikasi ini membantu anda untuk
8 mengetahui informasi seputar training pada
The Premiere Training Center?

Kritik dan Saran Pengguna :

Karawang, 2017

(.............................................)
Lampiran 2 Source Code Program
support_activity_main.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.v4.widget.DrawerLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/drawer_layout"
android:layout_width="match_parent"
android:background="#dcdc"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:openDrawer="start">

<include
layout="@layout/support_app_bar"
android:layout_width="match_parent"
android:layout_height="match_parent" />

<android.support.design.widget.NavigationView
android:id="@+id/nav_view"
android:layout_width="wrap_content"
android:layout_height="match_parent"
android:layout_gravity="start"
android:fitsSystemWindows="true"
app:headerLayout="@layout/support_nav_header"
app:menu="@menu/activity_main_drawer" />

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

MainActivity.java
package com.example.thepremiere_tc.support;

import android.content.Intent;
import android.graphics.Typeface;
import android.location.Location;
import android.os.Bundle;
import android.os.Handler;
import android.support.design.widget.NavigationView;
import android.support.v4.widget.DrawerLayout;
import android.support.v7.app.ActionBarDrawerToggle;
import android.support.v7.app.AppCompatActivity;
import android.support.v7.widget.Toolbar;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.Toast;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.about.About;
import com.example.thepremiere_tc.jadwal.Jadwal;
import com.example.thepremiere_tc.navigasi.AboutUs;
import com.example.thepremiere_tc.navigasi.Contact;
import com.example.thepremiere_tc.nilai.DetailNilai;
import com.example.thepremiere_tc.peserta.Peserta;
import com.example.thepremiere_tc.registrasi.Registrasi;
import com.example.thepremiere_tc.tariner.Trainer;
import com.example.thepremiere_tc.training.Training;

public class MainActivity extends AppCompatActivity {


String calibri= "calibrib.ttf";
Button btnAbout,btnTraining,btnTrainer,btnPeserta,btnNilai,btnJadwal;
private NavigationView navigationView;
private DrawerLayout drawer;
private View navHeader;
private Toolbar toolbar;
// index to identify current nav menu item
public static int navItemIndex = 0;
// flag to load home fragment when user presses back key
private Handler mHandler;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.support_activity_main);
final Typeface typeface = Typeface.createFromAsset(getAssets(),calibri);
toolbar = (Toolbar) findViewById(R.id.toolbar);
setSupportActionBar(toolbar);
mHandler = new Handler();
drawer = (DrawerLayout) findViewById(R.id.drawer_layout);
navigationView = (NavigationView) findViewById(R.id.nav_view);
// Navigation view header
navHeader = navigationView.getHeaderView(0);
// initializing navigation menu
setUpNavigationView();
//Profile
btnAbout= (Button) findViewById(R.id.btnabout);
btnAbout.setTypeface(typeface);
btnAbout.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, About.class);
startActivity(i);
} });
//Training
btnTraining= (Button) findViewById(R.id.btntraining);
btnTraining.setTypeface(typeface);
btnTraining.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, Training.class);
startActivity(i);
} });
//Trainer
btnTrainer= (Button) findViewById(R.id.btntrainer);
btnTrainer.setTypeface(typeface);
btnTrainer.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, Trainer.class);
startActivity(i);
} });
//Peserta
btnPeserta= (Button) findViewById(R.id.btnpeserta);
btnPeserta.setTypeface(typeface);
btnPeserta.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, Peserta.class);
startActivity(i);
} });
//Nilai
btnNilai= (Button) findViewById(R.id.btnnilai);
btnNilai.setTypeface(typeface);
btnNilai.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
switch (v.getId()){
case R.id.btnnilai:
Intent i = new Intent(getApplicationContext(), DetailNilai.class);
startActivity(i);
break;
default:
break;
}
}
});
//Jadwal
btnJadwal= (Button) findViewById(R.id.btnjadwal);
btnJadwal.setTypeface(typeface);
btnJadwal.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
Intent i = new Intent(MainActivity.this, Jadwal.class);
startActivity(i);
} });
}

private void setUpNavigationView() {


//Setting Navigation View Item Selected Listener to handle the item click of the
navigation menu
navigationView.setNavigationItemSelectedListener(new
NavigationView.OnNavigationItemSelectedListener() {
// This method will trigger on item Click of navigation menu
@Override
public boolean onNavigationItemSelected(MenuItem menuItem) {
//Check to see which item was being clicked and perform appropriate action
switch (menuItem.getItemId()) {
//Replacing the main content with ContentFragment Which is our Inbox
View;
case R.id.nav_ad:
startActivity(new Intent(MainActivity.this, AboutUs.class));
drawer.closeDrawers();
return true;
case R.id.nav_contact:
startActivity(new Intent(MainActivity.this, Contact.class));
drawer.closeDrawers();
return true;
case R.id.nav_location:
startActivity(new Intent(MainActivity.this,
com.example.thepremiere_tc.navigasi.Location.class));
drawer.closeDrawers();
return true;
case R.id.nav_shere:
share();
return true;
default:
navItemIndex = 0;
}
if (menuItem.isChecked()) {
menuItem.setChecked(false);
} else {
menuItem.setChecked(true);
}
menuItem.setChecked(true);

return true;
}
});

ActionBarDrawerToggle actionBarDrawerToggle = new


ActionBarDrawerToggle(this, drawer, toolbar, R.string.openDrawer,
R.string.closeDrawer) {
@Override
public void onDrawerClosed(View drawerView) {
super.onDrawerClosed(drawerView);
}

@Override
public void onDrawerOpened(View drawerView) {
super.onDrawerOpened(drawerView);
}
};
drawer.setDrawerListener(actionBarDrawerToggle);
actionBarDrawerToggle.syncState();
}

private void share() {


Intent sharingIntent = new Intent(android.content.Intent.ACTION_SEND);
sharingIntent.setType("text/plain");
sharingIntent.putExtra(android.content.Intent.EXTRA_SUBJECT, "The Premiere
Training Center");
sharingIntent.putExtra(android.content.Intent.EXTRA_TEXT, "");
startActivity(Intent.createChooser(sharingIntent, "Share via"));
}

boolean doubleBackToExitPressedOnce = false;


public void onBackPressed() {
if (doubleBackToExitPressedOnce) {
super.onBackPressed();
return;
}
this.doubleBackToExitPressedOnce = true;
Toast.makeText(this, "Tekan sekali lagi untuk keluar dari Aplikasi",
Toast.LENGTH_SHORT).show();
new Handler().postDelayed(new Runnable() {
@Override
public void run() {
doubleBackToExitPressedOnce = false;
}
}, 2000);
}

@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.main, menu);
return true;
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == R.id.action_regis) {
startActivity(new Intent(MainActivity.this, Registrasi.class));
drawer.closeDrawers();
return true;
}
return super.onOptionsItemSelected(item);
}
}

support_splash.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/splash"
android:orientation="vertical"
tools:context=".support.Splash">

<ProgressBar
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/progressBar"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
android:layout_marginBottom="97dp" />
</RelativeLayout>

Splash.java
package com.example.thepremiere_tc.support;

import android.app.Activity;
import android.content.Intent;
import android.os.Handler;
import android.os.Bundle;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class Splash extends Activity {
private static final int SPLASH_TIME = 3000;

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.support_splash);

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


@Override
public void run() {
Intent intent = new Intent(Splash.this, MainActivity.class);
startActivity(intent);
Splash.this.finish();
}

}, SPLASH_TIME);
}
}

about.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical" >

<ListView
android:id="@+id/menuabout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#bf800000"
android:dividerHeight="3dp">
</ListView>

<View
android:layout_height="3dp"
android:background="#bf800000"
android:layout_width="match_parent"/>

</LinearLayout>

about_kontak.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bgp"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView2"
android:src="@drawable/tabkontak"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>

about_nilai_perusahaan.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bgp"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView2"
android:src="@drawable/tabnilaiperusahaan"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>
about_profile.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bgp"
android:orientation="vertical" >
<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView2"
android:src="@drawable/tabprofile"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>

about_visi_misi.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bgp"
android:orientation="vertical" >

<ImageView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/imageView2"
android:src="@drawable/tabvisimisi"
android:layout_centerVertical="true"
android:layout_centerHorizontal="true" />
</RelativeLayout>

Abaout.java
package com.example.thepremiere_tc.about;

import android.content.Intent;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.CustomList;
import com.example.thepremiere_tc.support.CustomListNoImage;

/**
* Created by DavidIndri on 16/12/2016.
*/
public class About extends AppCompatActivity {
//Declarasi Array Menu dan gambar
ListView list;
String[] listmenu = {
"Profile",
"Visi & Misi Perusahaan",
"Nilai-nilai Perusahaan",
"Kontak Kami"
};

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
CustomListNoImage adapter = new CustomListNoImage(About.this, listmenu);
//get Id List
list=(ListView)findViewById(R.id.menuabout);
//Set adapter to list
list.setAdapter(adapter);
//Set ketika salah satu list di pilih(klik)
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long
id) {
int item = position;
String itemText = (String) list.getItemAtPosition(position);

if(itemText.equals("Profile")){
Intent Profile = getIntent();
Profile = new Intent (About.this,Profile.class);
startActivity(Profile);
}

if(itemText.equals("Visi & Misi Perusahaan")){


Intent Visimisi = getIntent();
Visimisi = new Intent (About.this,VisiMisi.class);
startActivity(Visimisi);
}

if(itemText.equals("Nilai-nilai Perusahaan")){
Intent Nilai = getIntent();
Nilai = new Intent (About.this,NilaiPerusahaan.class);
startActivity(Nilai);
}

if(itemText.equals("Kontak Kami")){
Intent Kontak = getIntent();
Kontak = new Intent (About.this,Kontak.class);
startActivity(Kontak);
}
}

});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

Kontak.java
package com.example.thepremiere_tc.about;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class Kontak extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_kontak);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

NilaiPerusahaan.java
package com.example.thepremiere_tc.about;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class NilaiPerusahaan extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_nilai_perusahaan);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

Profile.java
package com.example.thepremiere_tc.about;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class Profile extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_profile);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

VisiMisi.java
package com.example.thepremiere_tc.about;

import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;

import com.example.thepremiere_tc.R;
public class Profile extends AppCompatActivity {
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.about_profile);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

jadwal.xml
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
android:orientation="vertical" >

<ListView
android:id="@+id/list_no_image"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#bf800000"
android:dividerHeight="3dp" />

<View
android:layout_height="3dp"
android:background="#bf800000"
android:layout_width="wrap_content"/>

</LinearLayout>

jadwal_detail_jadwal.xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:background="@drawable/bg"
android:id="@+id/rl1"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
android:paddingBottom="@dimen/activity_vertical_margin"
tools:context=".support.MainActivity">
<ImageView
android:layout_width="222dp"
android:layout_height="65dp"
android:id="@+id/iv"
android:gravity="center"
android:layout_gravity="center"
android:src="@drawable/logotc"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tablelayoutid"
android:background="@drawable/layout_table"
android:layout_below="@+id/iv"
android:layout_marginTop="15dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp">

<TableRow
android:id="@+id/row1"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/h1"
android:layout_weight="1"
android:textStyle="bold"
android:gravity="center"
android:text="Hari" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/w1"
android:textStyle="bold"
android:gravity="center"
android:layout_weight="1"
android:text="Waktu" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/t1"
android:textStyle="bold"
android:layout_weight="1"
android:gravity="center"
android:text="Trainer" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:textStyle="bold"
android:id="@+id/n1"
android:gravity="center"
android:layout_weight="1"
android:text="No Handphone" />
</TableRow>

<TableRow
android:id="@+id/row2"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hari1"
android:layout_weight="1"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/waktu1"
android:gravity="center"
android:layout_weight="1" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/trainer1"
android:layout_weight="1"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/nohpt1"
android:gravity="center"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row3"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hari2"
android:layout_weight="1"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/waktu2"
android:gravity="center"
android:layout_weight="1"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/trainer2"
android:layout_weight="1"
android:gravity="center" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/nohpt2"
android:gravity="center"
android:layout_weight="1" />
</TableRow>
</TableLayout>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Catatan :"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/catatan1"
android:layout_marginTop="20dp"
android:layout_below="@+id/tablelayoutid"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="14dip"
android:textColor="#000000"
android:id="@+id/catatan"
android:layout_below="@+id/catatan1"
android:layout_centerHorizontal="true" />

</RelativeLayout>

Jadwal.java
package com.example.thepremiere_tc.jadwal;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.nilai.AlertDialogManager;
import com.example.thepremiere_tc.support.JSONParser;
import com.example.thepremiere_tc.support.MainActivity;
import com.example.thepremiere_tc.tariner.Trainer;

import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
* Created by DavidIndri on 16/12/2016.
*/
public class Jadwal extends AppCompatActivity {
private ProgressDialog pDialog;
AlertDialogManager alert = new AlertDialogManager();
JSONParser jParser = new JSONParser();
ArrayList<HashMap<String, String>> DaftarJadwal = new
ArrayList<HashMap<String, String>>();
private static String url_jadwal = "http://thepremiere-
tc.hol.es/premiere_tc/jadwal.php";
public static final String TAG_ID = "id";
public static final String TAG_TRAINING = "training";
JSONArray string_json = null;
ListView listnoimage;
ListAdapterJadwal adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jadwal);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
DaftarJadwal = new ArrayList<HashMap<String, String>>();
new AmbilData().execute();
listnoimage = (ListView) findViewById(R.id.list_no_image);
listnoimage.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long
id) {
HashMap<String, String> map = DaftarJadwal.get(position);
// Starting new intent
Intent in = new Intent(getApplicationContext(), DetailJadwal.class);
in.putExtra(TAG_ID, map.get(TAG_ID));
startActivity(in);
}
});

}
public void SetListViewAdapter(ArrayList<HashMap<String,
String>> jadwal) {
adapter = new ListAdapterJadwal(this, jadwal);
listnoimage.setAdapter(adapter);
}
class AmbilData extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Jadwal.this);
pDialog.setMessage("Mohon tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(url_jadwal, "GET", params);
Log.i("Ini nilai json ", ">" + json);
try {
string_json = json.getJSONArray("jadwal");
if (string_json !=null) {
for (int i = 0; i < string_json.length(); i++) {
JSONObject c = string_json.getJSONObject(i);
String id = c.getString(TAG_ID);
String training = c.getString(TAG_TRAINING);
HashMap<String, String> map = new HashMap<String,
String>();
map.put(TAG_ID, id);
map.put(TAG_TRAINING, training);
DaftarJadwal.add(map);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
if (string_json !=null) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
SetListViewAdapter(DaftarJadwal);
}
});
}else{
alert.showAlertDialog(Jadwal.this,Jadwal.this, "Peringatan",
"Internet tidak tersedia, Silahkan cek koneksi internet anda", false);
}
}
}

public void onBackPressed() {


// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

DetailJadwal.java
package com.example.thepremiere_tc.jadwal;
import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.JSONParser;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class DetailJadwal extends AppCompatActivity {
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;

JSONArray string_json = null;


String idjadwal, calibri= "calibri.ttf",
calibrib= "calibrib.ttf";
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
public static final String TAG_ID = "id";
public static final String TAG_HARI1 = "hari1";
public static final String TAG_HARI2 = "hari2";
public static final String TAG_WAKTU1 = "waktu1";
public static final String TAG_WAKTU2 = "waktu2";
public static final String TAG_TRAINER1 = "trainer1";
public static final String TAG_TRAINER2 = "trainer2";
public static final String TAG_NOHPT1 = "nohpt1";
public static final String TAG_NOHPT2 = "nohpt2";
public static final String TAG_CATATAN = "catatan";
private static final String url_detail_jadwal =
"http://thepremiere-tc.hol.es/premiere_tc/detail_jadwal.php";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.jadwal_detail_jadwal);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Intent i = getIntent();
idjadwal = i.getStringExtra(TAG_ID);
new AmbilDetailTrainer().execute();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}
@Override
public void onStart() {
super.onStart();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"DetailJadwal Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.thepremiere_tc/http/host/path")
);
AppIndex.AppIndexApi.start(client, viewAction);
}

@Override
public void onStop() {
super.onStop();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"DetailJadwal Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.thepremiere_tc/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}

class AmbilDetailTrainer extends AsyncTask<String, String,


String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(DetailJadwal.this);
pDialog.setMessage("Mohon Tunggu ... !");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}

protected String doInBackground(String... params) {


try {
List<NameValuePair> params1 = new
ArrayList<NameValuePair>();
params1.add(new
BasicNameValuePair("id_jadwal", idjadwal));
JSONObject json = jsonParser.makeHttpRequest(
url_detail_jadwal, "GET", params1);
string_json = json.getJSONArray("jadwal");
runOnUiThread(new Runnable() {
public void run() {
Typeface calibrin = Typeface.createFromAsset(getAssets(), calibri);
Typeface calibribold = Typeface.createFromAsset(getAssets(), calibrib);
TextView h1 = (TextView) findViewById(R.id.h1);
TextView hari1 = (TextView)
findViewById(R.id.hari1);
TextView w1 = (TextView) findViewById(R.id.w1);
TextView waktu1 = (TextView)
findViewById(R.id.waktu1);
TextView t1 = (TextView) findViewById(R.id.t1);
TextView trainer1 = (TextView)
findViewById(R.id.trainer1);
TextView n1 = (TextView) findViewById(R.id.n1);
TextView nohpt1 = (TextView)
findViewById(R.id.nohpt1);
TextView hari2 = (TextView)
findViewById(R.id.hari2);
TextView waktu2 = (TextView)
findViewById(R.id.waktu2);
TextView trainer2 = (TextView)
findViewById(R.id.trainer2);
TextView nohpt2 = (TextView)
findViewById(R.id.nohpt2);
TextView catatan1 = (TextView)
findViewById(R.id.catatan1);
TextView catatan = (TextView)
findViewById(R.id.catatan);
hari1.setTypeface(calibrin);
waktu1.setTypeface(calibrin);
trainer1.setTypeface(calibrin);
nohpt1.setTypeface(calibrin);
hari2.setTypeface(calibrin);
waktu2.setTypeface(calibrin);
trainer2.setTypeface(calibrin);
nohpt2.setTypeface(calibrin);
h1.setTypeface(calibribold);
w1.setTypeface(calibribold);
t1.setTypeface(calibribold);
n1.setTypeface(calibribold);
catatan1.setTypeface(calibribold);
catatan.setTypeface(calibrin);

try {
JSONObject ar =
string_json.getJSONObject(0);
String hari1_j = ar.getString(TAG_HARI1);
String waktu1_j = ar.getString(TAG_WAKTU1);
String trainer1_j = ar.getString(TAG_TRAINER1);
String nohpt1_j = ar.getString(TAG_NOHPT1);
String hari2_j = ar.getString(TAG_HARI2);
String waktu2_j = ar.getString(TAG_WAKTU2);
String trainer2_j = ar.getString(TAG_TRAINER2);
String nohpt2_j = ar.getString(TAG_NOHPT2);
String catatan_j = ar.getString(TAG_CATATAN);
hari1.setText(hari1_j);
waktu1.setText(waktu1_j);
trainer1.setText(trainer1_j);
nohpt1.setText(nohpt1_j);
hari2.setText(hari2_j);
waktu2.setText(waktu2_j);
trainer2.setText(trainer2_j);
nohpt2.setText(nohpt2_j);
catatan.setText(catatan_j);

} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
});

} catch (JSONException e) {
e.printStackTrace();
}
return null;
}

protected void onPostExecute(String file_url) {


pDialog.dismiss();
}
}

@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

ListAdapterJadwal.java
package com.example.thepremiere_tc.jadwal;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.TextView;

import com.example.thepremiere_tc.R;

import java.util.ArrayList;
import java.util.HashMap;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class ListAdapterJadwal extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater = null;
public ListAdapterJadwal(Activity a, ArrayList<HashMap<String, String>> d)
{
activity = a;

data = d;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
}

public int getCount() {


return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup
parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.support_customlistnoimage, null);
TextView id = (TextView) vi.findViewById(R.id.kode);
TextView training = (TextView) vi.findViewById(R.id.txtList);

HashMap<String, String> daftarlist = new HashMap<String, String>();


daftarlist = data.get(position);

id.setText(daftarlist.get(Jadwal.TAG_ID));
training.setText(daftarlist.get(Jadwal.TAG_TRAINING));

return vi;
}
}

training.xml
<RelativeLayout
android:id="@+id/main_layout"
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/bg">

<android.support.design.widget.TabLayout
android:id="@+id/tab_layout"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="?attr/colorPrimary"
android:minHeight="?attr/actionBarSize"
app:tabMode="scrollable"
android:theme="@style/ThemeOverlay.AppCompat.Dark.ActionBar"
android:fillViewport="false" />

<android.support.v4.view.ViewPager
android:id="@+id/pager"
android:layout_width="match_parent"
android:layout_height="fill_parent"
android:layout_below="@id/tab_layout"/>

</RelativeLayout>

training_daftar_training.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<fragment
android:id="@+id/fragment1"
android:name="com.example.thepremiere_tc.training.DaftarTraining"
android:layout_width="match_parent"
android:layout_height="match_parent" />

</LinearLayout>

training_harga_training.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="15dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/pst"
android:textStyle="bold"
android:text="Service Excellence Program" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table"
android:background="@drawable/layout_table"
android:layout_below="@+id/pst"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row1"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/h1"
android:layout_weight="1"
android:textStyle="bold"
android:gravity="center"
android:text="Level Program" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/w1"
android:textStyle="bold"
android:gravity="center"
android:layout_weight="1"
android:text="Price" />

</TableRow>

<TableRow
android:id="@+id/row2"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hari1"
android:layout_weight="1"
android:gravity="center"
android:text="Basic Service To Build Service Culture"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/waktu1"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>

</TableRow>

<TableRow
android:id="@+id/row3"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hari2"
android:layout_weight="1"
android:gravity="center"
android:text="Upgrading Service Skill To Win Customer"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/waktu2"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>

</TableRow>

<TableRow
android:id="@+id/row4"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hari3"
android:layout_weight="1"
android:gravity="center"
android:text="Service With High Impact Business"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/waktu3"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>

</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1"
android:background="@drawable/layout_table"
android:layout_below="@+id/table"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row03"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="12dp"
android:textStyle="bold"
android:id="@+id/hari0"
android:layout_weight="1"
android:gravity="center"
android:text="Special Price All Level Program"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="12dp"
android:id="@+id/waktu01"
android:textStyle="bold"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.600.000/person"/>

</TableRow>
</TableLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="20dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/psd"
android:layout_below="@+id/table1"
android:textStyle="bold"
android:text="Presentation &amp; Communication Skill" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table2"
android:background="@drawable/layout_table"
android:layout_below="@+id/psd"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row0"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/j"
android:layout_weight="1"
android:textStyle="bold"
android:gravity="center"
android:text="Program" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/wr"
android:textStyle="bold"
android:gravity="center"
android:layout_weight="1"
android:text="Price" />

</TableRow>
<TableRow
android:id="@+id/row02"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/h"
android:layout_weight="1"
android:gravity="center"
android:text="Premiere Training Program"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hg"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>

</TableRow>
</TableLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="20dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/psl"
android:layout_below="@+id/table2"
android:textStyle="bold"
android:text="Cofident Building &amp; Professional Image" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table3"
android:background="@drawable/layout_table"
android:layout_below="@+id/psl"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row5"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/kj"
android:layout_weight="1"
android:textStyle="bold"
android:gravity="center"
android:text="Program" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/wrk"
android:textStyle="bold"
android:gravity="center"
android:layout_weight="1"
android:text="Price" />

</TableRow>

<TableRow
android:id="@+id/row6"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hkl"
android:layout_weight="1"
android:gravity="center"
android:text="Premiere Training Program"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hlg"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>

</TableRow>
</TableLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="20dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/psw"
android:layout_below="@+id/table3"
android:textStyle="bold"
android:text="Tarining of Trainer" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table4"
android:background="@drawable/layout_table"
android:layout_below="@+id/psw"
android:layout_marginTop="5dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row7"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/kwj"
android:layout_weight="1"
android:textStyle="bold"
android:gravity="center"
android:text="Program" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/wrwk"
android:textStyle="bold"
android:gravity="center"
android:layout_weight="1"
android:text="Price" />

</TableRow>

<TableRow
android:id="@+id/row8"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hkwl"
android:layout_weight="1"
android:gravity="center"
android:text="Premiere Training Program"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hlwg"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>
</TableRow>
</TableLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="20dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/psy"
android:layout_below="@+id/table4"
android:textStyle="bold"
android:text="Effective Selling Skill Training" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table5"
android:background="@drawable/layout_table"
android:layout_below="@+id/psy"
android:layout_marginTop="5dp"
android:layout_marginBottom="25dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row9"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/kwyj"
android:layout_weight="1"
android:textStyle="bold"
android:gravity="center"
android:text="Program" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#f8f8ff"
android:textSize="14dp"
android:id="@+id/wrwyk"
android:textStyle="bold"
android:gravity="center"
android:layout_weight="1"
android:text="Price" />

</TableRow>

<TableRow
android:id="@+id/row10"
android:background="#f8f8ff"
android:padding="3dp">
<TextView
android:layout_width="30dp"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hkwly"
android:layout_weight="1"
android:gravity="center"
android:text="Premiere Training Program"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="12dp"
android:id="@+id/hlwgy"
android:gravity="center"
android:layout_gravity="center"
android:layout_weight="1"
android:text="Rp.250.000/person"/>
</TableRow>
</TableLayout>
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_fasilitas_training.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="15dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/pst"
android:textStyle="bold"
android:text="Fasilitas Training" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table"
android:layout_below="@+id/pst"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">

<TableRow
android:id="@+id/row0"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/h0"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Trainer &amp; Asisten Trainer" />
</TableRow>
<TableRow
android:id="@+id/row1"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/h1"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Ruangan Full AC" />
</TableRow>
<TableRow
android:id="@+id/row2"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/h2"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Wifi" />
</TableRow>
<TableRow
android:id="@+id/row3"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/h3"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Alat Praktik" />
</TableRow>
</TableLayout>

<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginTop="15dp"
android:layout_marginLeft="15dp"
android:textSize="20dp"
android:id="@+id/psq"
android:layout_below="@+id/table"
android:textStyle="bold"
android:text="Fasilitas Peserta" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1"
android:layout_below="@+id/psq"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp">
<TableRow
android:id="@+id/row001"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/h4"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Guidebook" />
</TableRow>
<TableRow
android:id="@+id/row01"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/h"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Notebook" />
</TableRow>
<TableRow
android:id="@+id/row02"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/hq"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Pen" />
</TableRow>
<TableRow
android:id="@+id/row03"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/hw"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Snack" />
</TableRow>
<TableRow
android:id="@+id/row04"
android:layout_marginLeft="10dp"
android:padding="3dp">
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/he"
android:layout_weight="1"
android:layout_gravity="left"
android:text="- Sertifikat" />
</TableRow>
</TableLayout>
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_tot.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1">
<TableRow
android:id="@+id/row1"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/nt"
android:textStyle="bold"
android:text="Executive Summary Program" />
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table1"
android:id="@+id/webview1" />
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/webview1"
android:id="@+id/webview0" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview0"
android:id="@+id/table2">
<TableRow
android:id="@+id/row2"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/n"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table2"
android:id="@+id/webview2" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview2"
android:id="@+id/table3">
<TableRow
android:id="@+id/row3"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/d"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table3"
android:id="@+id/table0">
<TableRow
android:id="@+id/row0"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gt"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 1" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />

</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day1" />
<TableRow
android:id="@+id/row01"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day2" />
<TableRow
android:id="@+id/row02"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gq"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day3" />
</TableLayout>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table0"
android:id="@+id/table4">
<TableRow
android:id="@+id/row4"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/f"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table4"
android:id="@+id/webview4" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview4"
android:id="@+id/table5">
<TableRow
android:id="@+id/row5"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/g"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table5"
android:id="@+id/webview5" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview5"
android:id="@+id/table6">
<TableRow
android:id="@+id/row6"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/j"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table6"
android:id="@+id/webview6" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview6"
android:id="@+id/table7">
<TableRow
android:id="@+id/row7"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/k"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table7"
android:id="@+id/webview7" />
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_cbpi.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1">
<TableRow
android:id="@+id/row1"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/nt"
android:textStyle="bold"
android:text="Executive Summary Program" />
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table1"
android:id="@+id/webview1" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview1"
android:id="@+id/table2">
<TableRow
android:id="@+id/row2"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/n"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table2"
android:id="@+id/webview2" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview2"
android:id="@+id/table3">
<TableRow
android:id="@+id/row3"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/d"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table3"
android:id="@+id/webview3" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview3"
android:id="@+id/table4">
<TableRow
android:id="@+id/row4"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/f"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table4"
android:id="@+id/webview4" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview4"
android:id="@+id/table5">
<TableRow
android:id="@+id/row5"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/g"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table5"
android:id="@+id/webview5" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview5"
android:id="@+id/table6">
<TableRow
android:id="@+id/row6"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/j"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table6"
android:id="@+id/webview6" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview6"
android:id="@+id/table7">
<TableRow
android:id="@+id/row7"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/k"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table7"
android:id="@+id/webview7" />
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_esst.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1">
<TableRow
android:id="@+id/row1"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/nt"
android:textStyle="bold"
android:text="Executive Summary Program" />
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table1"
android:id="@+id/webview1" />
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/webview1"
android:id="@+id/webview0" />

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview0"
android:id="@+id/table2">
<TableRow
android:id="@+id/row2"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/n"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table2"
android:id="@+id/webview2" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview2"
android:id="@+id/table3">
<TableRow
android:id="@+id/row3"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/d"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table3"
android:id="@+id/table0">
<TableRow
android:id="@+id/row0"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gt"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 1" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />

</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day1" />
<TableRow
android:id="@+id/row01"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day2" />
</TableLayout>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table0"
android:id="@+id/table4">
<TableRow
android:id="@+id/row4"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/f"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table4"
android:id="@+id/webview4" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview4"
android:id="@+id/table5">
<TableRow
android:id="@+id/row5"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/g"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table5"
android:id="@+id/webview5" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview5"
android:id="@+id/table6">
<TableRow
android:id="@+id/row6"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/j"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table6"
android:id="@+id/webview6" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview6"
android:id="@+id/table7">
<TableRow
android:id="@+id/row7"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/k"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table7"
android:id="@+id/webview7" />
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_pcs.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1">
<TableRow
android:id="@+id/row1"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/nt"
android:textStyle="bold"
android:text="Executive Summary Program" />
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table1"
android:id="@+id/webview1" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview1"
android:id="@+id/table2">
<TableRow
android:id="@+id/row2"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/n"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table2"
android:id="@+id/webview2" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview2"
android:id="@+id/table3">
<TableRow
android:id="@+id/row3"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/d"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table3"
android:id="@+id/table0">
<TableRow
android:id="@+id/row0"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gt"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 1" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />

</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day1" />
<TableRow
android:id="@+id/row01"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day2" />
</TableLayout>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table0"
android:id="@+id/table4">
<TableRow
android:id="@+id/row4"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/f"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table4"
android:id="@+id/webview4" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview4"
android:id="@+id/table5">
<TableRow
android:id="@+id/row5"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/g"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table5"
android:id="@+id/webview5" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview5"
android:id="@+id/table6">
<TableRow
android:id="@+id/row6"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/j"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table6"
android:id="@+id/webview6" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview6"
android:id="@+id/table7">
<TableRow
android:id="@+id/row7"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/k"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table7"
android:id="@+id/webview7" />
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_sep.xml
<LinearLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="match_parent"
android:background="@drawable/bg"
tools:context=".support.MainActivity">

<ScrollView xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent">

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/table1">
<TableRow
android:id="@+id/row1"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/nt"
android:textStyle="bold"
android:text="Executive Summary Program" />
</TableRow>
</TableLayout>
<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table1"
android:src="@drawable/pcs"
android:id="@+id/image" />
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/image"
android:id="@+id/webview1" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview1"
android:id="@+id/tablea">
<TableRow
android:id="@+id/rowa"
android:background="#f8f8ff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/hg"
android:textStyle="bold"
android:text="Level Basic Program :"/>
</TableRow>
<TableRow
android:id="@+id/rowb"
android:background="#f8f8ff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/hf"
android:textStyle="bold"
android:text="Basic Service To Build Service Culture"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tablea"
android:id="@+id/table2">
<TableRow
android:id="@+id/row2"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/n"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table2"
android:id="@+id/webview2" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview2"
android:id="@+id/table3">
<TableRow
android:id="@+id/row3"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/d"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table3"
android:id="@+id/table0">
<TableRow
android:id="@+id/row0"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gt"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 1" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />

</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day1" />
<TableRow
android:id="@+id/row01"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gp"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day2" />
<TableRow
android:id="@+id/row02"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gq"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day3" />
<TableRow
android:id="@+id/row03"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gy"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 4" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day4" />
</TableLayout>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table0"
android:id="@+id/table4">
<TableRow
android:id="@+id/row4"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/f"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table4"
android:id="@+id/webview4" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview4"
android:id="@+id/table5">
<TableRow
android:id="@+id/row5"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="15dp"
android:id="@+id/g"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table5"
android:id="@+id/webview5" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview5"
android:id="@+id/table6">
<TableRow
android:id="@+id/row6"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/j"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table6"
android:id="@+id/webview6" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview6"
android:id="@+id/table7">
<TableRow
android:id="@+id/row7"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/k"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table7"
android:id="@+id/webview7" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview7"
android:id="@+id/tableb">
<TableRow
android:id="@+id/rowc"
android:background="#f8f8ff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/hp"
android:textStyle="bold"
android:text="Level Prficient Program :"/>
</TableRow>
<TableRow
android:id="@+id/rowd"
android:background="#f8f8ff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/hu"
android:textStyle="bold"
android:text="Upgrading Service Skill To Win Customer"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tableb"
android:id="@+id/table8">
<TableRow
android:id="@+id/row8"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/l"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table8"
android:id="@+id/webview8" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview8"
android:id="@+id/table9">
<TableRow
android:id="@+id/row9"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/oi"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table9"
android:id="@+id/table01">
<TableRow
android:id="@+id/row04"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gop"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 1" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />

</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day01" />
<TableRow
android:id="@+id/row05"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/g0"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day02" />
<TableRow
android:id="@+id/row06"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gpl"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day03" />
<TableRow
android:id="@+id/row07"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/goi"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 4" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day04" />
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table01"
android:id="@+id/table10">
<TableRow
android:id="@+id/row10"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/fd"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table10"
android:id="@+id/webview9" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview9"
android:id="@+id/table11">
<TableRow
android:id="@+id/row11"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="15dp"
android:id="@+id/gml"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table11"
android:id="@+id/webview10" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview10"
android:id="@+id/table12">
<TableRow
android:id="@+id/row12"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/jds"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table12"
android:id="@+id/webview11" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview11"
android:id="@+id/table13">
<TableRow
android:id="@+id/row13"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/kds"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table13"
android:id="@+id/webview12" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview12"
android:id="@+id/tablec">
<TableRow
android:id="@+id/rowe"
android:background="#f8f8ff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/hga"
android:textStyle="bold"
android:text="Level Advance Program :"/>
</TableRow>
<TableRow
android:id="@+id/rowf"
android:background="#f8f8ff">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#800000"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/hff"
android:textStyle="bold"
android:text="Service With High Impact Business"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/tablec"
android:id="@+id/table14">
<TableRow
android:id="@+id/row14"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/nre"
android:textStyle="bold"
android:text="Manfaat Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table14"
android:id="@+id/webview13" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview13"
android:id="@+id/table15">
<TableRow
android:id="@+id/row15"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/ddf"
android:textStyle="bold"
android:text="Esensi Materi Program"/>
</TableRow>
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table15"
android:id="@+id/table02">
<TableRow
android:id="@+id/row08"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gthh"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 1" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />

</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day05" />
<TableRow
android:id="@+id/row09"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gp44"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 2" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day06" />
<TableRow
android:id="@+id/row010"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gqgh"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 3" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day07" />
<TableRow
android:id="@+id/row011"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gty"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 4" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day08" />
<TableRow
android:id="@+id/row012"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:id="@+id/gtyf"
android:paddingTop="1dp"
android:paddingBottom="1dp"
android:text="Day - 5" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="14dp"
android:paddingBottom="1dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
</TableRow>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:paddingBottom="1dp"
android:id="@+id/day09" />
</TableLayout>
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/table02"
android:id="@+id/table16">
<TableRow
android:id="@+id/row16"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/fds"
android:textStyle="bold"
android:text="Metode Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table16"
android:id="@+id/webview14" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview14"
android:id="@+id/table17">
<TableRow
android:id="@+id/row17"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="15dp"
android:id="@+id/gdf"
android:textStyle="bold"
android:text="Peserta yang Disarankan untuk mengikuti Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table17"
android:id="@+id/webview15" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview15"
android:id="@+id/table18">
<TableRow
android:id="@+id/row18"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/fdj"
android:textStyle="bold"
android:text="Inspirator Program"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table18"
android:id="@+id/webview16" />
<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/webview16"
android:id="@+id/table19">
<TableRow
android:id="@+id/row19"
android:background="#bf800000"
android:paddingTop="10dp"
android:paddingBottom="10dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#ffffff"
android:layout_marginLeft="10dp"
android:textSize="16dp"
android:id="@+id/kxa"
android:textStyle="bold"
android:text="Durasi Training"/>
</TableRow>
</TableLayout>
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/table19"
android:id="@+id/webview17" />
</RelativeLayout>
</ScrollView>
</LinearLayout>

training_list.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical" >

<ListView
android:id="@android:id/list"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:divider="#bf800000"
android:dividerHeight="3dp">
</ListView>

<View
android:layout_height="3dp"
android:background="#bf800000"
android:layout_width="match_parent"/>
</LinearLayout>

Training.java
package com.example.thepremiere_tc.training;

import android.os.Bundle;
import android.support.design.widget.TabLayout;
import android.support.v4.view.ViewPager;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 02/01/2017.
*/
public class Training extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

TabLayout tabLayout = (TabLayout) findViewById(R.id.tab_layout);


tabLayout.addTab(tabLayout.newTab().setText("Daftar Training"));
tabLayout.addTab(tabLayout.newTab().setText("Biaya Training"));
tabLayout.addTab(tabLayout.newTab().setText("Fasilitas"));

final ViewPager viewPager = (ViewPager) findViewById(R.id.pager);


final TabPagerAdapter adapter = new
TabPagerAdapter(getSupportFragmentManager(), tabLayout.getTabCount());
viewPager.setAdapter(adapter);
viewPager.addOnPageChangeListener(new
TabLayout.TabLayoutOnPageChangeListener(tabLayout));
tabLayout.setOnTabSelectedListener(new TabLayout.OnTabSelectedListener() {
@Override
public void onTabSelected(TabLayout.Tab tab) {
viewPager.setCurrentItem(tab.getPosition());
}
@Override
public void onTabUnselected(TabLayout.Tab tab) {
}
@Override
public void onTabReselected(TabLayout.Tab tab) {
}
});
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}

DaftarTraining.java
package com.example.thepremiere_tc.training;

import android.content.Intent;
import android.os.Bundle;
import android.support.v4.app.ListFragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 02/01/2017.
*/
public class DaftarTraining extends ListFragment implements
AdapterView.OnItemClickListener {

@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
View view = inflater.inflate(R.layout.training_list, container, false);
return view;
}

@Override
public void onActivityCreated(Bundle savedInstanceState) {
super.onActivityCreated(savedInstanceState);
ArrayAdapter adapter = ArrayAdapter.createFromResource(getActivity(),
R.array.listtraining, android.R.layout.simple_list_item_1);
setListAdapter(adapter);
getListView().setOnItemClickListener(this);
}

@Override
public void onItemClick(AdapterView<?> parent, View view, int position,long id) {
switch(position)
{
case 0:
Intent Activitysep = new Intent(getContext(), SEP.class);
startActivityForResult(Activitysep, 0);
break;
case 1:
Intent Activitypcs = new Intent(getContext(), PCS.class);
startActivityForResult(Activitypcs, 1);
break;
case 2:
Intent Activitycbpi = new Intent(getContext(), CBPI.class);
startActivityForResult(Activitycbpi, 2);
break;
case 3:
Intent Activitytot = new Intent(getContext(), TOT.class);
startActivityForResult(Activitytot, 3);
break;
case 4:
Intent Activityesst = new Intent(getContext(), ESST.class);
startActivityForResult(Activityesst, 4);
break;
}
}
}

BiayaTraining.java
package com.example.thepremiere_tc.training;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 02/01/2017.
*/
public class BiayaTraining extends Fragment {

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
View v = inflater.inflate(R.layout.training_harga_training, container, false);
return v;
}
}

FasilitasTraining.java
package com.example.thepremiere_tc.training;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.support.v4.app.Fragment;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 02/01/2017.
*/
public class FasilitasTraining extends Fragment {

@Nullable
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle
savedInstanceState) {
View v = inflater.inflate(R.layout.training_fasilitas_training, container, false);
return v;
}
}

CBPI.java
package com.example.thepremiere_tc.training;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 01/01/2017.
*/
public class CBPI extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training_cbpi);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String ket1 = "Pada era persaingan yang semakin ketat saat ini sudah menjadi
tuntutan untuk menjadi seorang yang profesional tidak dapat dihindarkan lagi sehingga
mengharuskan siapa saja untuk memberikan yang terbaik. Untuk dapat menjadi seorang
pegawai yang profesional dibutuhkan mereka yang mampu untuk menjawab tantangan
salah satunya adalah melalui penampilan (appearance), sikap (attitude) dan etika (ethics)
yang profesional.";
String ket2 = "Dalam program ini Peserta diharapkan dapat memiliki kemampuam
dalam hal :" +
"<P>1. Melakukan perubahan paradigma berpikir secara positif sebagai
profesional.</p>" +
"<p>2. Membangun kepercayaan diri dan membangun personal image yang
positif.</p>" +
"<p>3. Melatih kemampuan peserta untuk menata penampilan baik tata rias
wajah dan rambut/ jilbab sesuai dengan kaidah penampilan seorang profesi.onal.</p>"
+
"<p>4. Meningkatkan percaya diri peserta sebagai satu kesatuan yang tidak
dapat dipisahkan dari penampilan, sikap dan citra diri.</p>";
String ket3 = "Materi yang disampaikan dalam program ini meliputi materi :"+
"<p>Performance Grooming & Theory of How to Make Up, Practice how to
Make Up supervise by trainer, Confidence Building.</p>";
String ket4 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing, Discussion,
Casestudy & Role Play.";
String ket5 = "Training ini sangat penting untuk diikuti oleh seluruh kriteria
peserta.";
String ket6 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang seperti Profesional & praktisi dibidangnya.";
String ket7 = "Training dilaksanakan selama 2 kali pertemuan.";

WebView webView1 = (WebView) findViewById(R.id.webview1);


webView1.loadData("<p style=\"text-align: justify\">"+(ket1)+"</p>",
"text/html", "UTF-8");
webView1.setBackgroundColor(Color.TRANSPARENT);

WebView webView2 = (WebView) findViewById(R.id.webview2);


webView2.loadData("<p style=\"text-align: justify\">"+(ket2)+"</p>",
"text/html", "UTF-8");
webView2.setBackgroundColor(Color.TRANSPARENT);

WebView webView3 = (WebView) findViewById(R.id.webview3);


webView3.loadData("<p style=\"text-align: justify\">"+(ket3)+"</p>",
"text/html", "UTF-8");
webView3.setBackgroundColor(Color.TRANSPARENT);

WebView webView4 = (WebView) findViewById(R.id.webview4);


webView4.loadData("<p style=\"text-align: justify\">"+(ket4)+"</p>",
"text/html", "UTF-8");
webView4.setBackgroundColor(Color.TRANSPARENT);

WebView webView5 = (WebView) findViewById(R.id.webview5);


webView5.loadData("<p style=\"text-align: justify\">"+(ket5)+"</p>",
"text/html", "UTF-8");
webView5.setBackgroundColor(Color.TRANSPARENT);

WebView webView6 = (WebView) findViewById(R.id.webview6);


webView6.loadData("<p style=\"text-align: justify\">"+(ket6)+"</p>",
"text/html", "UTF-8");
webView6.setBackgroundColor(Color.TRANSPARENT);

WebView webView7 = (WebView) findViewById(R.id.webview7);


webView7.loadData("<p style=\"text-align: justify\">"+(ket7)+"</p>",
"text/html", "UTF-8");
webView7.setBackgroundColor(Color.TRANSPARENT);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

ESST.java
package com.example.thepremiere_tc.training;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 01/01/2017.
*/
public class ESST extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training_esst);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String ket1 = "Bisnis saat ini penuh dengan persaingan, banyak bisnis yang
menawarkan produk dan jasa yang hampir relatif sama satu sama lain, dengan kata lain
bisnis memperebutkan bisnisnya dari customer dan pasar yang sama. Persaingan akan
selalu ada dan akan semakin meningkat, jadi para pemasar harus jeli untuk membuat
sebuah perbedaan." ;
String ket0 ="Pelanggan masa kini jauh lebih terpelajar dan memiliki jauh lebih
banyak tuntutan, sehingga kemampuan menjual yang efektif dan kreatif menjadi
keterampilan menjual yang sangat diperlukan oleh para pemasar dalam kondisi tersebut.
Keterampilan menjual yang baik akan menjadi kekuatan penting dan semakin relevan
dapat meningkatkan penjualan di masa yang akan datang.";
String ket2 = "Peserta diharapkan memiliki kemampuan dalam hal :" +
"<p>1. Peserta memahami mindset sebagai tenaga penjual dan ujung tombak
perusahaan.</p>"+
"<p>2. Peserta memahami proses penjualan dan apa yang harus dilakukan
disetiap tahapannya.</p>" +
"<p>3. Peserta dapat menyusun langkah-langkah penjualan agar tercapai
pesetujuan bisnis dengan nasabah.</p>" +
"<p>4. Peserta memahami pentingnya mencapai persetujuan bisnis dengan
nasabah dengan cara mengelaborasi tipe dari negosiasi dan presentasi dalam rangka
melakukan penjualan.</p>" ;
String day1 = "Positive Thinking & Self Confidence for Sales, Indentifying
Customer Type";
String day2 = "Sales Process, Customer Need Analysis, Sales Monitoring";
String ket4 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing, Discussion,
Case study & Role Play.";
String ket5 = "Training ini sangat penting untuk diikuti oleh seluruh kriteria
peserta.";
String ket6 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang seperti Profesional & praktisi dibidangnya.";
String ket7 = "Training dilaksanakan selama 2 kali pertemuan.";

WebView webView1 = (WebView) findViewById(R.id.webview1);


webView1.loadData("<p style=\"text-align: justify\">"+(ket1)+"</p>",
"text/html", "UTF-8");
webView1.setBackgroundColor(Color.TRANSPARENT);

WebView webView0 = (WebView) findViewById(R.id.webview0);


webView0.loadData("<p style=\"text-align: justify\">"+(ket0)+"</p>",
"text/html", "UTF-8");
webView0.setBackgroundColor(Color.TRANSPARENT);

WebView webView2 = (WebView) findViewById(R.id.webview2);


webView2.loadData("<p style=\"text-align: justify\">"+(ket2)+"</p>",
"text/html", "UTF-8");
webView2.setBackgroundColor(Color.TRANSPARENT);

WebView day_1 = (WebView) findViewById(R.id.day1);


day_1.loadData("<p style=\"text-align: justify\">"+(day1)+"</p>", "text/html",
"UTF-8");
day_1.setBackgroundColor(Color.TRANSPARENT);

WebView day_2 = (WebView) findViewById(R.id.day2);


day_2.loadData("<p style=\"text-align: justify\">"+(day2)+"</p>", "text/html",
"UTF-8");
day_2.setBackgroundColor(Color.TRANSPARENT);

WebView webView4 = (WebView) findViewById(R.id.webview4);


webView4.loadData("<p style=\"text-align: justify\">"+(ket4)+"</p>",
"text/html", "UTF-8");
webView4.setBackgroundColor(Color.TRANSPARENT);

WebView webView5 = (WebView) findViewById(R.id.webview5);


webView5.loadData("<p style=\"text-align: justify\">"+(ket5)+"</p>",
"text/html", "UTF-8");
webView5.setBackgroundColor(Color.TRANSPARENT);

WebView webView6 = (WebView) findViewById(R.id.webview6);


webView6.loadData("<p style=\"text-align: justify\">"+(ket6)+"</p>",
"text/html", "UTF-8");
webView6.setBackgroundColor(Color.TRANSPARENT);

WebView webView7 = (WebView) findViewById(R.id.webview7);


webView7.loadData("<p style=\"text-align: justify\">"+(ket7)+"</p>",
"text/html", "UTF-8");
webView7.setBackgroundColor(Color.TRANSPARENT);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}
PCS.java
package com.example.thepremiere_tc.training;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 31/12/2016.
*/
public class PCS extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training_pcs);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String ket1 = "Program Presentation & Communication Skill Training merupakan
sebuah program training yang disusun bagi peserta agar memiliki kemampuan dalam
berpresentasi yang baik, menguasai teknik yang efektif dalam berkomunikasi dan
memiliki kepercayaan yang tinggi pada saat menyampaikan materi Presentasi.";
String ket2 = "Peserta diharapkan memiliki kemampuan dalam hal :" +
"<p>1. Memiliki mindset sebagai seorang presenter yang profesional.</p>"+
"<p>2. Dapat melakuan persiapan presentasi dengan baik dan membuat /
mendesign materi presentasi yang menarik.</p>" +
"<p>3. Mengenali type Audience pada saat presentasi.</p>" +
"<p>4. Dapat melakukan presentasi yang menarik serta memiliki kepercayaan
yang tinggi.</p>" +
"<p>5. Memiliki kemampuan berkomunikasi secara efektif pada saat
presentasi.</p>";
String day1 = "Prepare Great Presentation and Role Play, Great Design Presentation
and Role Play";
String day2 = "Great Presentation and Communication Skill,Role Play
Presentation";
String ket4 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing, Discussion,
Case study & Role Play.";
String ket5 = "Training ini sangat penting untuk diikuti oleh seluruh kriteria
peserta.";
String ket6 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang seperti Profesional & praktisi yang berpengalaman.";
String ket7 = "Training dilaksanakan selama 2 kali pertemuan.";

WebView webView1 = (WebView) findViewById(R.id.webview1);


webView1.loadData("<p style=\"text-align: justify\">"+(ket1)+"</p>",
"text/html", "UTF-8");
webView1.setBackgroundColor(Color.TRANSPARENT);

WebView webView2 = (WebView) findViewById(R.id.webview2);


webView2.loadData("<p style=\"text-align: justify\">"+(ket2)+"</p>",
"text/html", "UTF-8");
webView2.setBackgroundColor(Color.TRANSPARENT);

WebView day_1 = (WebView) findViewById(R.id.day1);


day_1.loadData("<p style=\"text-align: justify\">"+(day1)+"</p>", "text/html",
"UTF-8");
day_1.setBackgroundColor(Color.TRANSPARENT);

WebView day_2 = (WebView) findViewById(R.id.day2);


day_2.loadData("<p style=\"text-align: justify\">"+(day2)+"</p>", "text/html",
"UTF-8");
day_2.setBackgroundColor(Color.TRANSPARENT);

WebView webView4 = (WebView) findViewById(R.id.webview4);


webView4.loadData("<p style=\"text-align: justify\">"+(ket4)+"</p>",
"text/html", "UTF-8");
webView4.setBackgroundColor(Color.TRANSPARENT);

WebView webView5 = (WebView) findViewById(R.id.webview5);


webView5.loadData("<p style=\"text-align: justify\">"+(ket5)+"</p>",
"text/html", "UTF-8");
webView5.setBackgroundColor(Color.TRANSPARENT);

WebView webView6 = (WebView) findViewById(R.id.webview6);


webView6.loadData("<p style=\"text-align: justify\">"+(ket6)+"</p>",
"text/html", "UTF-8");
webView6.setBackgroundColor(Color.TRANSPARENT);

WebView webView7 = (WebView) findViewById(R.id.webview7);


webView7.loadData("<p style=\"text-align: justify\">"+(ket7)+"</p>",
"text/html", "UTF-8");
webView7.setBackgroundColor(Color.TRANSPARENT);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

SEP.java
package com.example.thepremiere_tc.training;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 02/01/2017.
*/
public class SEP extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training_sep);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String ket1 = "Service Excellence Program adalah sebuah program yang sangat
sistematis dalam membangun service culture yang dapat menjadikan peserta memiliki
kemampuan sebagai seorang profesional dalam melayani melalui pembentukan service
talent yang berkarakter, memiliki competitive skill dan mampu menciptakan service
differentiation untuk mencapai tujuan perusahaan.";
String ket2 = "Peserta diharapkan memahami filosofi dan memilki mind set yang
benar mengenai konsep melayani nasabah, memahami tentang etika profesional
sehingga terhindar dari resiko reputasi, memiliki kepercayaan yang tinggi, bersikap dan
berperilaku serta memiliki kemampuan sebagai seorang profesional.";
String day1 = "Positif Mental Attitude, Philosophyof Service, Professional Image
& Grooming";
String day2 = "Etika Profesional & Ketentuan Sistem pembayaran, Pengenalan
Uang Palsu & Know Your Customer Principle (KYCP)";
String day3 = "Keterampilan Menghitung Uang & Memeriksa dokumen dilanjutkan
dengan Role Play menghitung uang";
String day4 = "Keterampilan melakukan input data dokumen Role Play (Dummy
Bank)";
String ket4 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing,
Discussion,Case study & Role Play.";
String ket5 = "Training ini sangat penting untuk diikuti oleh peserta yang akan
menempati posisi Frontliner.";
String ket6 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang seperti Profesional, praktisi yang berasal dari Bank
Pemerintah maupun swasta yang berpengalaman.";
String ket7 = "Program dilaksanakan selama 4 kali pertemuan.";

String ket8 = "Dalam program ini Peserta dapat menunjukan pola pikir & perilaku
yang selalu mengutamakan layanan yang profesional sebagai nilai tambah (share
value)bagi stakeholder serta dapat :" +
"<p>1. Memahami standar layanan front liners (Teller, Customer Service &
Handling Telepon dalam service delivery di industri perbankan serta memahami
bagaimana cara berkomunikasi dengan baik dan kemampuan melakukan cross
selling.</p>"+
"<p>2. Mampu melakukan perfect role play standar layanan untuk
meningkatkan kualitas layanan.</p>" +
"<p>3. Memahami bagaimana menangani keluhankeluhan nasabah dan teknik
service recovery</p>" +
"<p>4. Mampu mengembangkan penampilan citra dirinya.</p>";
String day01 = "Service Motivation & Building Personal Change Management,
Standar Layanan front liners (Teller & Role Play)";
String day02 = "Standar Layanan front liners (Customer Service & Role Play)";
String day03 = "Standar Layanan Handling Telepon, Role Play Standar Layanan
Handling Telepon";
String day04 = "Standar Layanan Handling Complain, Role Play Standar Layanan
Handling Complain";
String ket9 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing
Discussion,Case study & Role Play.";
String ket10 = "Training ini sangat penting untuk diikuti oleh peserta yang telah
menempati posisi Frontliner.";
String ket11 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang Profesional & praktisi yang berpengalaman.";
String ket12 = "Program dilaksanakan selama 4 kali pertemuan.";

String ket13 = "Dalam program ini Peserta dapat menunjukan pola pikir & perilaku
yang selalu mengutamakan layanan yang profesional sebagai nilai tambah (share value)
bagi stakeholder serta dapat :" +
"<p>1. Memahami lebih dalam standar layanan front liners (Teller, Customer
Service & Handling Telepon)serta memahami bagaimana cara berkomunikasi dengan
baik dan kemampuan melakukan cross selling dengan lebih baik.</p>"+
"<p>2. Mampu melakukan perfect role play standar layananm lebih baik untuk
meningkatkan kualitas layanan.</p>" +
"<p>3. Memahami lebih dalam bagaimana menangani keluhan-keluhan
nasabah dan teknik service recovery dengan cara mengenal type nasabah.</p>" +
"<p>4. Mampu mengembangkan penampilan citra dirinya.</p>";
String day05 = "Service Motivation & Be Role Model Management, Pendalaman
Standar Layanan Teller, Do Perfect Role Play Standar Layanan Teller";
String day06 = "Pendalaman Standar Layanan Customer Service, Do Perfect Role
Play Standar Layanan Customer Service";
String day07 = "Pendalaman Standar Layanan Handling Complain, Do Perfect Role
Play Standar Layanan Handling Complain";
String day08 = "Presentation Skill & Effective Communcation Skill. Role Play
Presentation";
String day09 = "Presentation Skill (melakukan Service Benchmarking dan
mempresentasikannya)";
String ket14 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing, Discussion,
Case study & Role Play.";
String ket15 = "Training ini sangat penting untuk diikuti oleh peserta yang telah
menempati posisi Frontliner";
String ket16 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang Profesional & praktisi yang berpengalaman.";
String ket17 = "Program dilaksanakan selama 5 kali pertemuan.";

WebView webView1 = (WebView) findViewById(R.id.webview1);


webView1.loadData("<p style=\"text-align: justify\">"+(ket1)+"</p>",
"text/html", "UTF-8");
webView1.setBackgroundColor(Color.TRANSPARENT);

WebView webView2 = (WebView) findViewById(R.id.webview2);


webView2.loadData("<p style=\"text-align: justify\">"+(ket2)+"</p>",
"text/html", "UTF-8");
webView2.setBackgroundColor(Color.TRANSPARENT);

WebView day_1 = (WebView) findViewById(R.id.day1);


day_1.loadData("<p style=\"text-align: justify\">"+(day1)+"</p>", "text/html",
"UTF-8");
day_1.setBackgroundColor(Color.TRANSPARENT);

WebView day_2 = (WebView) findViewById(R.id.day2);


day_2.loadData("<p style=\"text-align: justify\">"+(day2)+"</p>", "text/html",
"UTF-8");
day_2.setBackgroundColor(Color.TRANSPARENT);

WebView day_3 = (WebView) findViewById(R.id.day3);


day_3.loadData("<p style=\"text-align: justify\">"+(day3)+"</p>", "text/html",
"UTF-8");
day_3.setBackgroundColor(Color.TRANSPARENT);

WebView day_4 = (WebView) findViewById(R.id.day4);


day_4.loadData("<p style=\"text-align: justify\">"+(day4)+"</p>", "text/html",
"UTF-8");
day_4.setBackgroundColor(Color.TRANSPARENT);

WebView webView4 = (WebView) findViewById(R.id.webview4);


webView4.loadData("<p style=\"text-align: justify\">"+(ket4)+"</p>",
"text/html", "UTF-8");
webView4.setBackgroundColor(Color.TRANSPARENT);

WebView webView5 = (WebView) findViewById(R.id.webview5);


webView5.loadData("<p style=\"text-align: justify\">"+(ket5)+"</p>",
"text/html", "UTF-8");
webView5.setBackgroundColor(Color.TRANSPARENT);

WebView webView6 = (WebView) findViewById(R.id.webview6);


webView6.loadData("<p style=\"text-align: justify\">"+(ket6)+"</p>",
"text/html", "UTF-8");
webView6.setBackgroundColor(Color.TRANSPARENT);

WebView webView7 = (WebView) findViewById(R.id.webview7);


webView7.loadData("<p style=\"text-align: justify\">"+(ket7)+"</p>",
"text/html", "UTF-8");
webView7.setBackgroundColor(Color.TRANSPARENT);

WebView webView8 = (WebView) findViewById(R.id.webview8);


webView8.loadData("<p style=\"text-align: justify\">"+(ket8)+"</p>",
"text/html", "UTF-8");
webView8.setBackgroundColor(Color.TRANSPARENT);

WebView day_01 = (WebView) findViewById(R.id.day01);


day_01.loadData("<p style=\"text-align: justify\">"+(day01)+"</p>", "text/html",
"UTF-8");
day_01.setBackgroundColor(Color.TRANSPARENT);

WebView day_02 = (WebView) findViewById(R.id.day02);


day_02.loadData("<p style=\"text-align: justify\">"+(day02)+"</p>", "text/html",
"UTF-8");
day_02.setBackgroundColor(Color.TRANSPARENT);

WebView day_03 = (WebView) findViewById(R.id.day03);


day_03.loadData("<p style=\"text-align: justify\">"+(day03)+"</p>", "text/html",
"UTF-8");
day_03.setBackgroundColor(Color.TRANSPARENT);

WebView day_04 = (WebView) findViewById(R.id.day04);


day_04.loadData("<p style=\"text-align: justify\">"+(day04)+"</p>", "text/html",
"UTF-8");
day_04.setBackgroundColor(Color.TRANSPARENT);

WebView webView9 = (WebView) findViewById(R.id.webview9);


webView9.loadData("<p style=\"text-align: justify\">"+(ket9)+"</p>",
"text/html", "UTF-8");
webView9.setBackgroundColor(Color.TRANSPARENT);

WebView webView10 = (WebView) findViewById(R.id.webview10);


webView10.loadData("<p style=\"text-align: justify\">"+(ket10)+"</p>",
"text/html", "UTF-8");
webView10.setBackgroundColor(Color.TRANSPARENT);

WebView webView11 = (WebView) findViewById(R.id.webview11);


webView11.loadData("<p style=\"text-align: justify\">"+(ket11)+"</p>",
"text/html", "UTF-8");
webView11.setBackgroundColor(Color.TRANSPARENT);

WebView webView12 = (WebView) findViewById(R.id.webview12);


webView12.loadData("<p style=\"text-align: justify\">"+(ket12)+"</p>",
"text/html", "UTF-8");
webView12.setBackgroundColor(Color.TRANSPARENT);

WebView webView13 = (WebView) findViewById(R.id.webview13);


webView13.loadData("<p style=\"text-align: justify\">"+(ket13)+"</p>",
"text/html", "UTF-8");
webView13.setBackgroundColor(Color.TRANSPARENT);

WebView day_05 = (WebView) findViewById(R.id.day05);


day_05.loadData("<p style=\"text-align: justify\">"+(day05)+"</p>", "text/html",
"UTF-8");
day_05.setBackgroundColor(Color.TRANSPARENT);

WebView day_06 = (WebView) findViewById(R.id.day06);


day_06.loadData("<p style=\"text-align: justify\">"+(day06)+"</p>", "text/html",
"UTF-8");
day_06.setBackgroundColor(Color.TRANSPARENT);

WebView day_07 = (WebView) findViewById(R.id.day07);


day_07.loadData("<p style=\"text-align: justify\">"+(day07)+"</p>", "text/html",
"UTF-8");
day_07.setBackgroundColor(Color.TRANSPARENT);

WebView day_08 = (WebView) findViewById(R.id.day08);


day_08.loadData("<p style=\"text-align: justify\">"+(day08)+"</p>", "text/html",
"UTF-8");
day_08.setBackgroundColor(Color.TRANSPARENT);

WebView day_09 = (WebView) findViewById(R.id.day09);


day_09.loadData("<p style=\"text-align: justify\">"+(day09)+"</p>", "text/html",
"UTF-8");
day_09.setBackgroundColor(Color.TRANSPARENT);

WebView webView14 = (WebView) findViewById(R.id.webview14);


webView14.loadData("<p style=\"text-align: justify\">"+(ket14)+"</p>",
"text/html", "UTF-8");
webView14.setBackgroundColor(Color.TRANSPARENT);

WebView webView15 = (WebView) findViewById(R.id.webview15);


webView15.loadData("<p style=\"text-align: justify\">"+(ket15)+"</p>",
"text/html", "UTF-8");
webView15.setBackgroundColor(Color.TRANSPARENT);

WebView webView16 = (WebView) findViewById(R.id.webview16);


webView16.loadData("<p style=\"text-align: justify\">"+(ket16)+"</p>",
"text/html", "UTF-8");
webView16.setBackgroundColor(Color.TRANSPARENT);

WebView webView17 = (WebView) findViewById(R.id.webview17);


webView17.loadData("<p style=\"text-align: justify\">"+(ket17)+"</p>",
"text/html", "UTF-8");
webView17.setBackgroundColor(Color.TRANSPARENT);

}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

TOT.java
package com.example.thepremiere_tc.training;

import android.graphics.Color;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 01/01/2017.
*/
public class TOT extends AppCompatActivity {

@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.training_tot);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
String ket1 = "Training of Trainer (ToT) merupakan sebuah program yang disusun
bagi peserta agar memiliki kemampuan dalam teknik berpresentasi dengan baik,
memiliki kepercayaan yang tinggi serta memiliki penampilan yang profesional sebagi
seorang trainer.";
String ket0 = "Materi yang disampaikan dalam program ini meliputi : Bagaimana
cara menjadi seorang Trainer, Persiapan dan Teknik Presentasi, Effective
Communication Skill serta dibekali dengan tata cara berpenampilan yang profesional.";
String ket2 = "Peserta diharapkan memiliki kemampuan dalam hal :" +
"<p>1. Memiliki mindset sebagai seorang presenter yang profesional.</p>"+
"<p>2. Dapat melakuan persiapan presentasi dengan baik dan membuat /
mendesign materi presentasi yang menarik.</p>" +
"<p>3. Mengenali type Audience pada saat presentasi.</p>" +
"<p>4. Dapat melakukan presentasi yang menarik serta memiliki kepercayaan
yang tinggi.</p>" +
"<p>5. Memiliki kemampuan berkomunikasi secara efektif pada saat
presentasi.</p>" +
"<p>6. Memiliki sikap dan penampilan yang profesional sebagai seorang
trainer.</p>";
String day1 = "Prepare Great Presentation and Role Play, Great Design Presentation
and Role Play";
String day2 = "Great Presentation and Communication Skill,Role Play
Presentation";
String day3 = "Performance Grooming & Theory of How to Make Up, Practice how
to Make Up supervise by trainer & Confidence Building";
String ket4 = "Program ini diselenggarakan secara klasikal dengan menerapkan
metode Visual, Auditory, Kinesthetic Method, Group Discussion & Sharing, Discussion,
Case study & Role Play.";
String ket5 = "Training ini sangat penting untuk diikuti oleh seluruh kriteria
peserta.";
String ket6 = "Para Inspirator yang menyampaikan materi pada program ini
merupakan Inspirator yang menguasai dalam bidangnya secara konseptual dan praktikal
dengan berbagai latar belakang seperti Profesional & praktisi dibidangnya.";
String ket7 = "Training dilaksanakan selama 3 kali pertemuan.";

WebView webView1 = (WebView) findViewById(R.id.webview1);


webView1.loadData("<p style=\"text-align: justify\">"+(ket1)+"</p>",
"text/html", "UTF-8");
webView1.setBackgroundColor(Color.TRANSPARENT);

WebView webView0 = (WebView) findViewById(R.id.webview0);


webView0.loadData("<p style=\"text-align: justify\">"+(ket0)+"</p>",
"text/html", "UTF-8");
webView0.setBackgroundColor(Color.TRANSPARENT);

WebView webView2 = (WebView) findViewById(R.id.webview2);


webView2.loadData("<p style=\"text-align: justify\">"+(ket2)+"</p>",
"text/html", "UTF-8");
webView2.setBackgroundColor(Color.TRANSPARENT);

WebView day_1 = (WebView) findViewById(R.id.day1);


day_1.loadData("<p style=\"text-align: justify\">"+(day1)+"</p>", "text/html",
"UTF-8");
day_1.setBackgroundColor(Color.TRANSPARENT);
WebView day_2 = (WebView) findViewById(R.id.day2);
day_2.loadData("<p style=\"text-align: justify\">"+(day2)+"</p>", "text/html",
"UTF-8");
day_2.setBackgroundColor(Color.TRANSPARENT);

WebView day_3 = (WebView) findViewById(R.id.day3);


day_3.loadData("<p style=\"text-align: justify\">"+(day3)+"</p>", "text/html",
"UTF-8");
day_3.setBackgroundColor(Color.TRANSPARENT);

WebView webView4 = (WebView) findViewById(R.id.webview4);


webView4.loadData("<p style=\"text-align: justify\">"+(ket4)+"</p>",
"text/html", "UTF-8");
webView4.setBackgroundColor(Color.TRANSPARENT);

WebView webView5 = (WebView) findViewById(R.id.webview5);


webView5.loadData("<p style=\"text-align: justify\">"+(ket5)+"</p>",
"text/html", "UTF-8");
webView5.setBackgroundColor(Color.TRANSPARENT);

WebView webView6 = (WebView) findViewById(R.id.webview6);


webView6.loadData("<p style=\"text-align: justify\">"+(ket6)+"</p>",
"text/html", "UTF-8");
webView6.setBackgroundColor(Color.TRANSPARENT);

WebView webView7 = (WebView) findViewById(R.id.webview7);


webView7.loadData("<p style=\"text-align: justify\">"+(ket7)+"</p>",
"text/html", "UTF-8");
webView7.setBackgroundColor(Color.TRANSPARENT);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}
TabPagerAdapter.java
package com.example.thepremiere_tc.training;

import android.support.v4.app.Fragment;
import android.support.v4.app.FragmentManager;
import android.support.v4.app.FragmentStatePagerAdapter;

/**
* Created by DavidIndri on 02/01/2017.
*/
public class TabPagerAdapter extends FragmentStatePagerAdapter {

int mNumOfTabs;

public TabPagerAdapter(FragmentManager fm, int NumOfTabs) {


super(fm);
this.mNumOfTabs = NumOfTabs;
}

@Override
public Fragment getItem(int position) {
switch (position) {
case 0 :
DaftarTraining tab1 = new DaftarTraining();
return tab1;
case 1 :
BiayaTraining tab2 = new BiayaTraining();
return tab2;
case 2 :
FasilitasTraining tab3 = new FasilitasTraining();
return tab3;
default:
return null;
}
}

@Override
public int getCount() {
return mNumOfTabs;
}
}

trainer.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/bg"
android:orientation="vertical"
tools:context=".support.MainActivity">
<ListView
android:id="@+id/list_t"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#bf800000"
android:dividerHeight="3dp" />
<View
android:layout_height="3dp"
android:background="#bf800000"
android:layout_width="match_parent"/>
</LinearLayout>

trainer_detail_trainer.xml
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/bg"
android:layout_height="match_parent"
>
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/imagetrainer"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="180dp"
android:layout_marginTop="18dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher"/>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_marginTop="8dp"
android:layout_below="@+id/imagetrainer">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tablelayoutid"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp">

<TableRow
android:id="@+id/row1"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nt"
android:textStyle="bold"
android:text="Nama" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nama"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row2"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ttlt"
android:textStyle="bold"
android:text="Tempat Tanggal Lahir" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ttl"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row3"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/at"
android:textStyle="bold"
android:text="Alamat" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/alamat"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row4"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/jkt"
android:textStyle="bold"
android:text="Jenis Kelamin" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/jenkel"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
</TableRow>
<TableRow
android:id="@+id/row04"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/agm"
android:textStyle="bold"
android:text="Agama" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/agama"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
</TableRow>
<TableRow
android:id="@+id/row5"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nht"
android:textStyle="bold"
android:text="No Handphone" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nohp"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row6"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/et"
android:textStyle="bold"
android:text="Email" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/email"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
</TableRow>

</TableLayout>
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tablelayoutid"
android:layout_marginTop="5dp"
android:layout_marginLeft="8dp"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ct"
android:textStyle="bold"
android:text="Catatan" />
<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@+id/ct"
android:id="@+id/catatan" />
</RelativeLayout>
</ScrollView>

</RelativeLayout>

Trainer.java
package com.example.thepremiere_tc.tariner;

import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.nilai.AlertDialogManager;
import com.example.thepremiere_tc.nilai.Nilai;
import com.example.thepremiere_tc.support.JSONParser;
import com.example.thepremiere_tc.support.MainActivity;

import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
* Created by DavidIndri on 16/12/2016.
*/
public class Trainer extends AppCompatActivity {
private ProgressDialog pDialog;
AlertDialogManager alert = new AlertDialogManager();
JSONParser jParser = new JSONParser();
ArrayList<HashMap<String, String>> DaftarTrainer = new
ArrayList<HashMap<String, String>>();
private static String url_trainer = "http://thepremiere-
tc.hol.es/premiere_tc/trainer.php";
public static final String TAG_ID = "id";
public static final String TAG_NAMA = "nama";
public static final String TAG_FOTO = "foto";
JSONArray string_json = null;
ListView list;
ListAdapterTrainer adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.trainer);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
DaftarTrainer = new ArrayList<HashMap<String, String>>();

new AmbilData().execute();
list = (ListView) findViewById(R.id.list_t);
list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long
id) {
HashMap<String, String> map = DaftarTrainer.get(position);
// Starting new intent
Intent in = new Intent(getApplicationContext(), DetailTrainer.class);
in.putExtra(TAG_ID, map.get(TAG_ID));
in.putExtra(TAG_FOTO, map.get(TAG_FOTO));
startActivity(in);
}
});
}
public void SetListViewAdapter(ArrayList<HashMap<String,
String>> trainer) {
adapter = new ListAdapterTrainer(this, trainer);
list.setAdapter(adapter);
}
class AmbilData extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Trainer.this);
pDialog.setMessage("Mohon tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(url_trainer, "GET", params);
Log.i("Ini nilai json ", ">" + json);
try {
string_json = json.getJSONArray("trainer");
if(string_json !=null) {
for (int i = 0; i < string_json.length(); i++) {
JSONObject c = string_json.getJSONObject(i);
String id_trainer = c.getString(TAG_ID);
String nama = c.getString(TAG_NAMA);
String link_foto = c.getString(TAG_FOTO);
HashMap<String, String> map = new HashMap<String,
String>();
map.put(TAG_ID, id_trainer);
map.put(TAG_NAMA, nama);
map.put(TAG_FOTO, link_foto);
DaftarTrainer.add(map);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
if (string_json !=null) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
SetListViewAdapter(DaftarTrainer);
}
});
}else{
alert.showAlertDialog(Trainer.this,Trainer.this, "Peringatan",
"Internet tidak tersedia, Silahkan cek koneksi internet anda", false);
}
}
}
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
public boolean onOptionsItemSelected(MenuItem item) {
int id = item.getItemId();
if (id == android.R.id.home) {
onBackPressed();
return true;
}
return super.onOptionsItemSelected(item);
}
}

DetailTrainer.java
package com.example.thepremiere_tc.tariner;

import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.ImageLoader;
import com.example.thepremiere_tc.support.JSONParser;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
import com.squareup.picasso.Picasso;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

import de.hdodenhof.circleimageview.CircleImageView;

/**
* Created by DavidIndri on 19/12/2016.
*/
public class DetailTrainer extends AppCompatActivity {
public ImageLoader imageLoader;
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;

{
imageLoader = new ImageLoader(null);
}

JSONArray string_json = null;


String idtrainer, calibri= "calibri.ttf",
calibrib= "calibrib.ttf";
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
public static final String TAG_ID = "id";
public static final String TAG_NAMA = "nama";
public static final String TAG_TTL = "ttl";
public static final String TAG_ALAMAT = "alamat";
public static final String TAG_JENKEL = "jenkel";
public static final String TAG_AGAMA = "agama";
public static final String TAG_NOHP = "nohp";
public static final String TAG_EMAIL = "email";
public static final String TAG_CATATAN = "catatan";
public static final String TAG_FOTO = "foto";
private static final String url_detail_trainer =
"http://thepremiere-tc.hol.es/premiere_tc/detail_trainer.php";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.trainer_detail_trainer);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
Intent i = getIntent();
idtrainer = i.getStringExtra(TAG_ID);
new AmbilDetailTrainer().execute();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}

@Override
public void onStart() {
super.onStart();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"DetailTrainer Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.thepremiere_tc/http/host/path")
);
AppIndex.AppIndexApi.start(client, viewAction);
}
@Override
public void onStop() {
super.onStop();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"DetailTrainer Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.thepremiere_tc/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}

class AmbilDetailTrainer extends AsyncTask<String, String,


String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(DetailTrainer.this);
pDialog.setMessage("Mohon Tunggu ... !");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}

protected String doInBackground(String... params) {


try {
List<NameValuePair> params1 = new
ArrayList<NameValuePair>();
params1.add(new
BasicNameValuePair("nit", idtrainer));
JSONObject json = jsonParser.makeHttpRequest(
url_detail_trainer, "GET", params1);
string_json = json.getJSONArray("trainer");

runOnUiThread(new Runnable() {
public void run() {
Typeface calibrin = Typeface.createFromAsset(getAssets(), calibri);
Typeface calibribold = Typeface.createFromAsset(getAssets(), calibrib);
CircleImageView thumb_image = (CircleImageView)
findViewById(R.id.imagetrainer);
TextView nt = (TextView) findViewById(R.id.nt);
TextView nama = (TextView)
findViewById(R.id.nama);
TextView ttlt = (TextView) findViewById(R.id.ttlt);
TextView ttl = (TextView)
findViewById(R.id.ttl);
TextView at = (TextView) findViewById(R.id.at);
TextView alamat = (TextView)
findViewById(R.id.alamat);
TextView jkt = (TextView) findViewById(R.id.jkt);
TextView jenkel = (TextView)
findViewById(R.id.jenkel);
TextView agm = (TextView) findViewById(R.id.agm);
TextView agama = (TextView)
findViewById(R.id.agama);
TextView nht = (TextView) findViewById(R.id.nht);
TextView nohp = (TextView)
findViewById(R.id.nohp);
TextView et = (TextView) findViewById(R.id.et);
TextView email = (TextView)
findViewById(R.id.email);
TextView ct = (TextView) findViewById(R.id.ct);
WebView catatan = (WebView) findViewById(R.id.catatan);

nama.setTypeface(calibrin);
ttl.setTypeface(calibrin);
alamat.setTypeface(calibrin);
jenkel.setTypeface(calibrin);
agama.setTypeface(calibrin);
nohp.setTypeface(calibrin);
email.setTypeface(calibrin);
nt.setTypeface(calibribold);
ttlt.setTypeface(calibribold);
at.setTypeface(calibribold);
jkt.setTypeface(calibribold);
agm.setTypeface(calibribold);
nht.setTypeface(calibribold);
et.setTypeface(calibribold);
ct.setTypeface(calibribold);

try {
JSONObject ar =
string_json.getJSONObject(0);
String nama_t = ar.getString(TAG_NAMA);
String ttl_t = ar.getString(TAG_TTL);
String alamat_t = ar.getString(TAG_ALAMAT);
String jenkel_t = ar.getString(TAG_JENKEL);
String agama_t = ar.getString(TAG_AGAMA);
String nohp_t = ar.getString(TAG_NOHP);
String email_t = ar.getString(TAG_EMAIL);
String catatan_t = ar.getString(TAG_CATATAN);
String url_detail_image = ar.getString(TAG_FOTO);
nama.setText(nama_t);
ttl.setText(ttl_t);
alamat.setText(alamat_t);
jenkel.setText(jenkel_t);
agama.setText(agama_t);
nohp.setText(nohp_t);
email.setText(email_t);
catatan.loadData("<p style=\"text-align:
justify\">"+(catatan_t)+"</p>", "text/html", "UTF-8");
catatan.setBackgroundColor(Color.TRANSPARENT);

imageLoader.DisplayImage(ar.getString(TAG_GAMBAR),thumb_image);
Picasso.with(getApplicationContext())
.load(url_detail_image)
.error(R.drawable.no_image)
.into(thumb_image);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
});

} catch (JSONException e) {
e.printStackTrace(); }
return null;
}

protected void onPostExecute(String file_url) {


pDialog.dismiss();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}
ListAdapterTrainer.java
package com.example.thepremiere_tc.tariner;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.squareup.picasso.Picasso;

import java.util.ArrayList;
import java.util.HashMap;

import de.hdodenhof.circleimageview.CircleImageView;

/**
* Created by DavidIndri on 19/12/2016.
*/
public class ListAdapterTrainer extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater = null;
// public ImageLoader imageLoader;
public ListAdapterTrainer(Activity a, ArrayList<HashMap<String, String>> d)
{
activity = a;

data = d;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// imageLoader = new ImageLoader(activity.getApplicationContext());
}

public int getCount() {


return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup
parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.support_customlist, null);
TextView id = (TextView) vi.findViewById(R.id.kode);
TextView nama = (TextView) vi.findViewById(R.id.txtList);
CircleImageView thumb_image = (CircleImageView) vi.findViewById(R.id.foto);

HashMap<String, String> daftarlist = new HashMap<String, String>();


daftarlist = data.get(position);

id.setText(daftarlist.get(Trainer.TAG_ID));
nama.setText(daftarlist.get(Trainer.TAG_NAMA));

//
imageLoader.DisplayImage(daftar_berita.get(BeritaUtama.TAG_GAMBAR),thumb_i
mage);
Picasso.with(activity.getApplicationContext())
.load(daftarlist.get(Trainer.TAG_FOTO))
.error(R.drawable.no_image)
.into(thumb_image);

return vi;
}
}

peserta.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/bg"
android:orientation="vertical"
tools:context=".support.MainActivity">

<ListView
android:id="@+id/list_p"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:divider="#bf800000"
android:dividerHeight="3dp"/>
<View
android:layout_height="3dp"
android:background="#bf800000"
android:layout_width="match_parent"/>
</LinearLayout>

peserta_detail_peserta.xml
<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/bg"
android:layout_height="match_parent"
>
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/imagepeserta"
android:layout_gravity="center"
android:layout_width="200dp"
android:layout_height="180dp"
android:layout_marginTop="18dp"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:src="@mipmap/ic_launcher"/>
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:layout_below="@+id/imagepeserta">
<RelativeLayout
android:layout_width="fill_parent"
android:layout_height="match_parent"
>

<TableLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:id="@+id/tablelayoutid"
android:layout_below="@+id/iv"
android:layout_marginTop="15dp"
android:layout_marginLeft="5dp"
android:layout_marginRight="5dp">

<TableRow
android:id="@+id/row1"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/np"
android:textStyle="bold"
android:text="Nama" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nama"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
</TableRow>

<TableRow
android:id="@+id/row2"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ttlp"
android:textStyle="bold"
android:text="Tempat Tanggal Lahir" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ttl"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row3"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ap"
android:textStyle="bold"
android:text="Alamat" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/alamat"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row4"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/jkp"
android:textStyle="bold"
android:text="Jenis Kelamin" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/jenkel"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>
<TableRow
android:id="@+id/row04"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/agm"
android:textStyle="bold"
android:text="Agama" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/agama"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>
<TableRow
android:id="@+id/row204"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/pkj"
android:textStyle="bold"
android:text="Pekerjaan" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/pekerjaan"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>
<TableRow
android:id="@+id/row14"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ntlp"
android:textStyle="bold"
android:text="No Telepon Rumah" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/notlp"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row5"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nhp"
android:textStyle="bold"
android:text="No Handphone" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/nohp"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row6"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/ep"
android:textStyle="bold"
android:text="Email" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/email"
android:layout_marginLeft="5dp"
android:layout_weight="1" />
</TableRow>

<TableRow
android:id="@+id/row7"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/tp"
android:textStyle="bold"
android:text="Training" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/training"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
</TableRow>
<TableRow
android:id="@+id/row8"
android:padding="3dp">
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/jp"
android:textStyle="bold"
android:text="Bergabung Sejak" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:textColor="#000000"
android:textSize="16dp"
android:layout_marginLeft="1dp"
android:textStyle="bold"
android:text=":" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/join"
android:layout_marginLeft="5dp"
android:layout_weight="1"/>
</TableRow>
</TableLayout>

<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_below="@+id/tablelayoutid"
android:layout_marginTop="3dp"
android:layout_marginLeft="8dp"
android:textColor="#000000"
android:textSize="16dp"
android:id="@+id/cp"
android:textStyle="bold"
android:text="Catatan" />

<WebView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:id="@+id/catatan"
android:layout_below="@+id/cp"/>
</RelativeLayout>
</ScrollView>

</RelativeLayout>

Peserta.java
package com.example.thepremiere_tc.peserta;

import android.app.ProgressDialog;
import android.content.Intent;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.AdapterView;
import android.widget.ListView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.nilai.AlertDialogManager;
import com.example.thepremiere_tc.support.JSONParser;
import com.example.thepremiere_tc.support.MainActivity;
import com.example.thepremiere_tc.tariner.Trainer;

import org.apache.http.NameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;

/**
* Created by DavidIndri on 16/12/2016.
*/
public class Peserta extends AppCompatActivity {
private ProgressDialog pDialog;
AlertDialogManager alert = new AlertDialogManager();
JSONParser jParser = new JSONParser();
ArrayList<HashMap<String, String>> DaftarPeserta = new
ArrayList<HashMap<String, String>>();
private static String url_peserta = "http://thepremiere-
tc.hol.es/premiere_tc/peserta.php";
public static final String TAG_ID = "id";
public static final String TAG_NAMA = "nama";
public static final String TAG_FOTO = "foto";
JSONArray string_json = null;
ListView list;
ListAdapterPeserta adapter;
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.peserta);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
DaftarPeserta = new ArrayList<HashMap<String, String>>();
new AmbilData().execute();
list = (ListView) findViewById(R.id.list_p);

list.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long
id) {
HashMap<String, String> map = DaftarPeserta.get(position);
// Starting new intent
Intent in = new Intent(getApplicationContext(), DetailPeserta.class);
in.putExtra(TAG_ID, map.get(TAG_ID));
in.putExtra(TAG_FOTO, map.get(TAG_FOTO));
startActivity(in);
}
});
}
public void SetListViewAdapter(ArrayList<HashMap<String,
String>> peserta) {
adapter = new ListAdapterPeserta(this, peserta);
list.setAdapter(adapter);
}

class AmbilData extends AsyncTask<String, String, String> {


@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Peserta.this);
pDialog.setMessage("Mohon tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>();
JSONObject json = jParser.makeHttpRequest(url_peserta, "GET", params);
Log.i("Ini nilai json ", ">" + json);
try {
string_json = json.getJSONArray("peserta");
if (string_json !=null) {
for (int i = 0; i < string_json.length(); i++) {
JSONObject c = string_json.getJSONObject(i);
String id = c.getString(TAG_ID);
String nama = c.getString(TAG_NAMA);
String link_foto = c.getString(TAG_FOTO);
HashMap<String, String> map = new HashMap<String,
String>();
map.put(TAG_ID, id);
map.put(TAG_NAMA, nama);
map.put(TAG_FOTO, link_foto);
DaftarPeserta.add(map);
}
}
} catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
if (string_json !=null) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
SetListViewAdapter(DaftarPeserta);
}
});
}else{
alert.showAlertDialog(Peserta.this,Peserta.this, "Peringatan",
"Internet tidak tersedia, Silahkan cek koneksi internet anda", false);
}
}
}
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

DetailPeserta.java
package com.example.thepremiere_tc.peserta;

import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Color;
import android.graphics.Typeface;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.webkit.WebView;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.ImageLoader;
import com.example.thepremiere_tc.support.JSONParser;
import com.google.android.gms.appindexing.Action;
import com.google.android.gms.appindexing.AppIndex;
import com.google.android.gms.common.api.GoogleApiClient;
import com.squareup.picasso.Picasso;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONArray;
import org.json.JSONException;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.List;

import de.hdodenhof.circleimageview.CircleImageView;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class DetailPeserta extends AppCompatActivity {
public ImageLoader imageLoader;
/**
* ATTENTION: This was auto-generated to implement the App Indexing API.
* See https://g.co/AppIndexing/AndroidStudio for more information.
*/
private GoogleApiClient client;

{
imageLoader = new ImageLoader(null);
}

JSONArray string_json = null;


String idpeserta, calibri= "calibri.ttf",
calibrib= "calibrib.ttf";
private ProgressDialog pDialog;
JSONParser jsonParser = new JSONParser();
public static final String TAG_ID = "id";
public static final String TAG_NAMA = "nama";
public static final String TAG_TTL = "ttl";
public static final String TAG_ALAMAT = "alamat";
public static final String TAG_JENKEL = "jenkel";
public static final String TAG_AGAMA = "agama";
public static final String TAG_PEKERJAAN = "pekerjaan";
public static final String TAG_TELEPON = "notlp";
public static final String TAG_NOHP = "nohp";
public static final String TAG_EMAIL = "email";
public static final String TAG_TRAINING = "training";
public static final String TAG_JOIN = "join";
public static final String TAG_CATATAN = "catatan";
public static final String TAG_FOTO = "foto";
private static final String url_detail_peserta =
"http://thepremiere-tc.hol.es/premiere_tc/detail_peserta.php";

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.peserta_detail_peserta);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

Intent i = getIntent();
idpeserta = i.getStringExtra(TAG_ID);
new AmbilDetailTrainer().execute();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
client = new GoogleApiClient.Builder(this).addApi(AppIndex.API).build();
}
@Override
public void onStart() {
super.onStart();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
client.connect();
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"DetailTrainer Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.thepremiere_tc/http/host/path")
);
AppIndex.AppIndexApi.start(client, viewAction);
}

@Override
public void onStop() {
super.onStop();

// ATTENTION: This was auto-generated to implement the App Indexing API.


// See https://g.co/AppIndexing/AndroidStudio for more information.
Action viewAction = Action.newAction(
Action.TYPE_VIEW, // TODO: choose an action type.
"DetailTrainer Page", // TODO: Define a title for the content shown.
// TODO: If you have web page content that matches this app activity's content,
// make sure this auto-generated web page URL is correct.
// Otherwise, set the URL to null.
Uri.parse("http://host/path"),
// TODO: Make sure this auto-generated app URL is correct.
Uri.parse("android-app://com.example.thepremiere_tc/http/host/path")
);
AppIndex.AppIndexApi.end(client, viewAction);
client.disconnect();
}

class AmbilDetailTrainer extends AsyncTask<String, String,


String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(DetailPeserta.this);
pDialog.setMessage("Mohon Tunggu ... !");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}

protected String doInBackground(String... params) {


try {
List<NameValuePair> params1 = new
ArrayList<NameValuePair>();
params1.add(new
BasicNameValuePair("nip", idpeserta));
JSONObject json = jsonParser.makeHttpRequest(
url_detail_peserta, "GET", params1);
string_json = json.getJSONArray("peserta");
runOnUiThread(new Runnable() {
public void run() {
Typeface calibrin = Typeface.createFromAsset(getAssets(), calibri);
Typeface calibribold = Typeface.createFromAsset(getAssets(), calibrib);
CircleImageView thumb_image = (CircleImageView)
findViewById(R.id.imagepeserta);
TextView np = (TextView) findViewById(R.id.np);
TextView nama = (TextView)
findViewById(R.id.nama);
TextView ttlp = (TextView) findViewById(R.id.ttlp);
TextView ttl = (TextView)
findViewById(R.id.ttl);
TextView ap = (TextView) findViewById(R.id.ap);
TextView alamat = (TextView)
findViewById(R.id.alamat);
TextView jkp = (TextView) findViewById(R.id.jkp);
TextView jenkel = (TextView)
findViewById(R.id.jenkel);
TextView agm = (TextView) findViewById(R.id.agm);
TextView agama = (TextView)
findViewById(R.id.agama);
TextView pkj = (TextView) findViewById(R.id.pkj);
TextView pekerjaan = (TextView)
findViewById(R.id.pekerjaan);
TextView ntlp = (TextView) findViewById(R.id.ntlp);
TextView notlp = (TextView)
findViewById(R.id.notlp);
TextView nhp = (TextView) findViewById(R.id.nhp);
TextView nohp = (TextView)
findViewById(R.id.nohp);
TextView ep = (TextView) findViewById(R.id.ep);
TextView email = (TextView)
findViewById(R.id.email);
TextView tp = (TextView) findViewById(R.id.tp);
TextView training = (TextView)
findViewById(R.id.training);
TextView jp = (TextView) findViewById(R.id.jp);
TextView join = (TextView)
findViewById(R.id.join);
TextView cp = (TextView) findViewById(R.id.cp);
WebView catatan = (WebView)
findViewById(R.id.catatan);
nama.setTypeface(calibrin);
ttl.setTypeface(calibrin);
alamat.setTypeface(calibrin);
jenkel.setTypeface(calibrin);
agama.setTypeface(calibrin);
pekerjaan.setTypeface(calibrin);
notlp.setTypeface(calibrin);
nohp.setTypeface(calibrin);
email.setTypeface(calibrin);
training.setTypeface(calibrin);
join.setTypeface(calibrin);
np.setTypeface(calibribold);
ttlp.setTypeface(calibribold);
ap.setTypeface(calibribold);
jkp.setTypeface(calibribold);
nhp.setTypeface(calibribold);
agm.setTypeface(calibribold);
pkj.setTypeface(calibribold);
ntlp.setTypeface(calibribold);
ep.setTypeface(calibribold);
tp.setTypeface(calibribold);
jp.setTypeface(calibribold);
cp.setTypeface(calibribold);
try {
JSONObject ar =
string_json.getJSONObject(0);
String nama_p = ar.getString(TAG_NAMA);
String ttl_p = ar.getString(TAG_TTL);
String alamat_p = ar.getString(TAG_ALAMAT);
String jenkel_p = ar.getString(TAG_JENKEL);
String agama_p = ar.getString(TAG_AGAMA);
String pekerjaan_p = ar.getString(TAG_PEKERJAAN);
String notlp_p = ar.getString(TAG_TELEPON);
String nohp_p = ar.getString(TAG_NOHP);
String email_p = ar.getString(TAG_EMAIL);
String training_p = ar.getString(TAG_TRAINING);
String join_p = ar.getString(TAG_JOIN);
String catatan_p = ar.getString(TAG_CATATAN);
String url_detail_image = ar.getString(TAG_FOTO);
nama.setText(nama_p);
ttl.setText(ttl_p);
alamat.setText(alamat_p);
jenkel.setText(jenkel_p);
agama.setText(agama_p);
pekerjaan.setText(pekerjaan_p);
notlp.setText(notlp_p);
nohp.setText(nohp_p);
email.setText(email_p);
training.setText(training_p);
join.setText(join_p);
catatan.loadData("<p style=\"text-align: justify\">"+ (catatan_p)
+"</p>", "text/html", "UTF-8");
catatan.setBackgroundColor(Color.TRANSPARENT);
//
imageLoader.DisplayImage(ar.getString(TAG_GAMBAR),thumb_image);
Picasso.with(getApplicationContext())
.load(url_detail_image)
.error(R.drawable.no_image)
.into(thumb_image);
} catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (Exception e) {
e.printStackTrace();
}
}
});

} catch (JSONException e) {
e.printStackTrace();
}
return null;
}

protected void onPostExecute(String file_url) {


pDialog.dismiss();
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

ListAdapterPeserta.java
package com.example.thepremiere_tc.peserta;

import android.app.Activity;
import android.content.Context;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.BaseAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.squareup.picasso.Picasso;

import java.util.ArrayList;
import java.util.HashMap;

import de.hdodenhof.circleimageview.CircleImageView;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class ListAdapterPeserta extends BaseAdapter {
private Activity activity;
private ArrayList<HashMap<String, String>> data;
private static LayoutInflater inflater = null;
// public ImageLoader imageLoader;
public ListAdapterPeserta(Activity a, ArrayList<HashMap<String, String>> d)
{
activity = a;

data = d;
inflater = (LayoutInflater) activity
.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
// imageLoader = new ImageLoader(activity.getApplicationContext());
}

public int getCount() {


return data.size();
}
public Object getItem(int position) {
return position;
}
public long getItemId(int position) {
return position;
}
public View getView(int position, View convertView, ViewGroup
parent) {
View vi = convertView;
if (convertView == null)
vi = inflater.inflate(R.layout.support_customlist, null);
TextView id = (TextView) vi.findViewById(R.id.kode);
TextView nama = (TextView) vi.findViewById(R.id.txtList);
CircleImageView thumb_image = (CircleImageView) vi.findViewById(R.id.foto);

HashMap<String, String> daftarlist = new HashMap<String, String>();


daftarlist = data.get(position);

id.setText(daftarlist.get(Peserta.TAG_ID));
nama.setText(daftarlist.get(Peserta.TAG_NAMA));
//
imageLoader.DisplayImage(daftar_berita.get(BeritaUtama.TAG_GAMBAR),thumb_i
mage);
Picasso.with(activity.getApplicationContext())
.load(daftarlist.get(Peserta.TAG_FOTO))
.error(R.drawable.no_image)
.into(thumb_image);

return vi;
}
}

nilai.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:tools="http://schemas.android.com/tools"
android:background="@drawable/bgni"
android:orientation="vertical"
tools:context=".support.MainActivity">

<ScrollView
android:layout_height="match_parent"
android:layout_width="match_parent"
android:scrollbarStyle="insideInset">
<LinearLayout
android:layout_height="match_parent"
android:layout_width="match_parent"
android:orientation="vertical">

<ImageView
android:layout_width="222dp"
android:layout_height="65dp"
android:layout_marginTop="40dp"
android:id="@+id/imageView"
android:gravity="center"
android:layout_gravity="center"
android:src="@drawable/logotc" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:layout_marginTop="20dp"
android:text="ID NILAI"
android:textColor="#000000"
android:id="@+id/userl"
android:layout_gravity="center_horizontal" />

<EditText
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/username"
android:textColor="#000000"
android:layout_marginRight="10dp"
android:inputType="text"
android:layout_marginLeft="10dp"
android:paddingRight="10dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="PASSWORD"
android:textColor="#000000"
android:id="@+id/pwd1"
android:layout_gravity="center_horizontal" />

<EditText
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:id="@+id/password"
android:textColor="#000000"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:paddingRight="10dp"
android:inputType="textPassword"/>

<TextView
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_gravity="center"
android:text="Silahkan Login dengan ID Nilai dan Password Anda"
android:id="@+id/keterangan"
android:textColor="#800000"/>
<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:gravity="center"
android:layout_marginTop="10dp"
android:layout_gravity="center"
android:textColor="#FFFFFF"
android:background="@drawable/button_content"
android:id="@+id/submit"
android:text="Login"
/>

</LinearLayout>
</ScrollView>
</RelativeLayout>
nilai_detail_nilai.xml
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:background="@drawable/bg"
android:layout_height="match_parent">

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent" >

<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:padding="10dp"
android:layout_height="wrap_content">

<ImageView
android:id="@+id/image"
android:layout_gravity="center"
android:layout_width="222dp"
android:layout_height="65dp"
android:src="@drawable/logotc"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="24dp" />

<TextView android:id="@+id/nama1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="NAMA"
android:layout_marginTop="20dp"
android:textColor="#000000"
android:textSize="18dip"
android:layout_below="@+id/image"
android:layout_centerHorizontal="true"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="20dip"
android:textColor="#800000"
android:id="@+id/nama"
android:layout_below="@+id/nama1"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="18dip"
android:textColor="#800000"
android:id="@+id/nip"
android:layout_below="@+id/nama"
android:layout_centerHorizontal="true" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="PROGRAM"
android:textColor="#000000"
android:textSize="18dip"
android:id="@+id/training1"
android:layout_marginTop="10dp"
android:layout_below="@+id/nip"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="20dip"
android:textColor="#800000"
android:id="@+id/training"
android:layout_below="@+id/training1"
android:layout_centerHorizontal="true" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="NILAI"
android:textSize="18dip"
android:textColor="#000000"
android:id="@+id/nilai1"
android:layout_marginTop="10dp"
android:layout_below="@+id/training"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="70dip"
android:textColor="#800000"
android:id="@+id/nilai"
android:layout_below="@+id/nilai1"
android:layout_centerHorizontal="true" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:text="Catatan :"
android:textColor="#000000"
android:textSize="20dip"
android:id="@+id/catatan1"
android:layout_marginTop="10dp"
android:layout_below="@+id/nilai"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceLarge"
android:textSize="18dip"
android:textColor="#000000"
android:id="@+id/catatan"
android:layout_below="@+id/catatan1"
android:layout_centerHorizontal="true" />
</RelativeLayout>
</ScrollView>

</RelativeLayout>

Nilai.java
package com.example.thepremiere_tc.nilai;

import android.app.ProgressDialog;
import android.content.Intent;
import android.graphics.Typeface;
import android.os.AsyncTask;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.util.Log;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.EditText;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.JSONParser;
import com.example.thepremiere_tc.support.MainActivity;

import org.json.JSONArray;
import org.json.JSONObject;

import java.util.ArrayList;
import java.util.HashMap;
/**
* Created by DavidIndri on 18/12/2016.
*/
public class Nilai extends AppCompatActivity implements View.OnClickListener{
Button login;
Intent a;
EditText username, password;
String url, success;
String calibri= "calibri.ttf",
calibrib= "calibrib.ttf";
SessionManager session;

AlertDialogManager alert = new AlertDialogManager();

Connection cd;
Boolean isInternetPresent = false;

protected void onCreate(Bundle savedInstanceState) {


// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.nilai);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

session = new SessionManager(getApplicationContext());

Typeface calibrin = Typeface.createFromAsset(getAssets(), calibri);


Typeface calibribold = Typeface.createFromAsset(getAssets(), calibrib);
login = (Button)findViewById(R.id.submit);
username = (EditText)findViewById(R.id.username);
password = (EditText)findViewById(R.id.password);
TextView userl = (TextView) findViewById(R.id.userl);
TextView pwdl = (TextView) findViewById(R.id.pwd1);
login.setTypeface(calibribold);
username.setTypeface(calibrin);
password.setTypeface(calibrin);
userl.setTypeface(calibribold);
pwdl.setTypeface(calibribold);
cekInternet();
}
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
switch (v.getId()) {
case R.id.submit:

url = "http://thepremiere-tc.hol.es/premiere_tc/loginnilai.php?" +
"username=" +username.getText().toString()+"&password=" +
password.getText().toString();
if(username.getText().toString().trim().length()>0
&&password.getText().toString().trim().length()>0){
new AmbilData().execute();
}else{
alert.showAlertDialog(Nilai.this,Nilai.this, "Login failed", "Silakan isi Id
Training dan Password anda", false);
}
break;

default:
break;
}
}
public class AmbilData extends AsyncTask<String, String, String> {

ArrayList<HashMap<String, String>> contactList = new ArrayList


<HashMap<String, String>>();
ProgressDialog pDialog;

@Override
protected void onPreExecute() {
// TODO Auto-generated method stub
super.onPreExecute();

pDialog = new ProgressDialog(Nilai.this);


pDialog.setMessage("Mohon tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show();
}

@Override
protected String doInBackground(String... arg0) {
// TODO Auto-generated method stub
JSONParser jParser = new JSONParser();

JSONObject json = jParser.getJSONFromUrl(url);

try {
success = json.getString("success");

Log.e("error", "nilai sukses=" + success);


JSONArray hasil = json.getJSONArray("login");
if (success.equals("1")){
for (int i = 0; i < hasil.length(); i++) {
JSONObject c = hasil.getJSONObject(i);
// Storing each json item in variable
String nama = c.getString("nama").trim();
String nip = c.getString("nip").trim();
String id_training= c.getString("id_training").trim();
String nilai = c.getString("nilai").trim();
String catatan = c.getString("catatan_nilai").trim();
session.createLoginSession(nama, nip, id_training, nilai, catatan);
Log.e("ok", " ambil data");
}
}else{
Log.e("error", "tidak bisa ambil data 0");
}
}catch (Exception e) {
// TODO: handle exception
Log.e("error", "tidak bisa ambil data 1");
}
return null;
}

@Override
protected void onPostExecute(String result) {
// TODO Auto-generated method stub
super.onPostExecute(result);
pDialog.dismiss();
if(success.equals("1")){
a = new Intent (Nilai.this, DetailNilai.class);
startActivity(a);
finish();
}
else{
alert.showAlertDialog(Nilai.this,Nilai.this, "Login Gagal", "Periksa kembali
Id Training dan Password anda", false);
}
}
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
public void cekInternet(){
//memanggil pengecekan internet
cd = new Connection(getApplicationContext());
isInternetPresent = cd.isConnectingToInternet();

// check for Internet status


if (isInternetPresent) {
login.setOnClickListener(this);
} else {
alert.showAlertDialog(Nilai.this,Nilai.this, "Peringatan",
"Internet tidak tersedia, Silahkan cek koneksi internet anda", false);
}
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

DetailNilai.java
package com.example.thepremiere_tc.nilai;

import android.content.Intent;
import android.graphics.Typeface;
import android.os.Bundle;
import android.support.v7.app.AppCompatActivity;
import android.view.Menu;
import android.view.MenuItem;
import android.widget.TextView;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.MainActivity;

import java.util.HashMap;

/**
* Created by DavidIndri on 16/12/2016.
*/
public class DetailNilai extends AppCompatActivity {
//inisiasi variabel yang akan digunakan
SessionManager session;
String unip, uname, utraining, unilai, ucatatan, ufoto,
calibri= "calibri.ttf",
calibrib= "calibrib.ttf";
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.nilai_detail_nilai);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
//membuat session untuk user
session = new SessionManager(getApplicationContext());
session.checkLogin();

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

uname = user.get(SessionManager.KEY_NAME);
unip = user.get(SessionManager.KEY_NIP);
utraining = user.get(SessionManager.KEY_ID_TRAINING);
unilai = user.get(SessionManager.KEY_NILAI);
ucatatan = user.get(SessionManager.KEY_CATATAN);
ufoto = user.get(SessionManager.KEY_FOTO);

Typeface calibrin = Typeface.createFromAsset(getAssets(), calibri);


Typeface calibribold = Typeface.createFromAsset(getAssets(), calibrib);
TextView nama1 = (TextView) findViewById(R.id.nama1);
TextView nama = (TextView)findViewById(R.id.nama);
nama.setText (uname);
TextView nip = (TextView)findViewById(R.id.nip);
nip.setText (unip);
TextView training1 = (TextView) findViewById(R.id.training1);
TextView training = (TextView)findViewById(R.id.training);
training.setText (utraining);
TextView nilai1 = (TextView) findViewById(R.id.nilai1);
TextView nilai = (TextView)findViewById(R.id.nilai);
nilai.setText (unilai);
TextView catatan1 = (TextView) findViewById(R.id.catatan1);
TextView catatan = (TextView)findViewById(R.id.catatan);
catatan.setText (ucatatan);
nama1.setTypeface(calibribold);
training1.setTypeface(calibribold);
nilai1.setTypeface(calibribold);
catatan1.setTypeface(calibribold);
nama.setTypeface(calibrin);
nip.setTypeface(calibrin);
training.setTypeface(calibrin);
nilai.setTypeface(calibrin);
catatan.setTypeface(calibrin);
}

@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.menu_logout_nilai, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();
if (id == R.id.action_logout) {
session.logoutUser();
finish();
return true;
}
//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}

SessionManager.java
package com.example.thepremiere_tc.nilai;

import android.annotation.SuppressLint;
import android.content.Context;
import android.content.Intent;
import android.content.SharedPreferences;

import java.util.HashMap;

/**
* Created by DavidIndri on 18/12/2016.
*/
@SuppressLint("CommitPrefEdits")
public class SessionManager {
// Shared Preferences
SharedPreferences pref;

// Editor for Shared preferences


SharedPreferences.Editor editor;

// Context
Context _context;

// Shared pref mode


int PRIVATE_MODE = 0;

// nama sharepreference
private static final String PREF_NAME = "Sesi";

// All Shared Preferences Keys


private static final String IS_LOGIN = "IsLoggedIn";
public static final String KEY_NAME = "name";
public static final String KEY_NIP = "nip";
public static final String KEY_ID_TRAINING = "id_training";
public static final String KEY_NILAI = "nilai";
public static final String KEY_CATATAN = "catatan_nilai";
public static final String KEY_FOTO = "foto";

// Constructor
public SessionManager(Context context){
this._context = context;
pref = _context.getSharedPreferences(PREF_NAME, PRIVATE_MODE);
editor = pref.edit();
}

/**
* Create login session
* */
public void createLoginSession(String name, String nip, String id_training,
String nilai, String catatan){
// Storing login value as TRUE
editor.putBoolean(IS_LOGIN, true);
editor.putString(KEY_NAME, name);
editor.putString(KEY_NIP, nip);
editor.putString(KEY_ID_TRAINING, id_training);
editor.putString(KEY_NILAI, nilai);
editor.putString(KEY_CATATAN, catatan);
editor.commit();
}

/**
* Check login method wil check user login status
* If false it will redirect user to login page
* Else won't do anything
* */
public void checkLogin(){
// Check login status
if(!this.isLoggedIn()){
Intent i = new Intent(_context, Nilai.class);
i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
_context.startActivity(i);
//((Activity)_context).finish();
}

/**
* Get stored session data
* */
public HashMap<String, String> getUserDetails(){
HashMap<String, String> user = new HashMap<String, String>();

user.put(KEY_NAME, pref.getString(KEY_NAME, null));


user.put(KEY_NIP, pref.getString(KEY_NIP, null));
user.put(KEY_ID_TRAINING, pref.getString(KEY_ID_TRAINING, null));
user.put(KEY_NILAI, pref.getString(KEY_NILAI, null));
user.put(KEY_CATATAN, pref.getString(KEY_CATATAN, null));
return user;
}

/**
* Clear session details
* */
public void logoutUser(){
// Clearing all data from Shared Preferences
editor.clear();
editor.commit();

Intent i = new Intent(_context, Nilai.class);


i.addFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
i.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK);
_context.startActivity(i);
}

public boolean isLoggedIn(){


return pref.getBoolean(IS_LOGIN, false);
}
}

Connection.java
package com.example.thepremiere_tc.nilai;

import android.content.Context;
import android.net.ConnectivityManager;
import android.net.NetworkInfo;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class Connection {
private Context _context;

public Connection(Context context) {


this._context = context;
}

public boolean isConnectingToInternet() {


ConnectivityManager connectivity = (ConnectivityManager) _context
.getSystemService(Context.CONNECTIVITY_SERVICE);
if (connectivity != null) {
NetworkInfo[] info = connectivity.getAllNetworkInfo();
if (info != null)
for (int i = 0; i < info.length; i++)
if (info[i].getState() == NetworkInfo.State.CONNECTED) {
return true;
}

}
return false;
}
}

AlertDialogManager.java
package com.example.thepremiere_tc.nilai;

import android.app.Activity;
import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;

import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.MainActivity;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class AlertDialogManager {
/**
* Function to display simple Alert Dialog
* @param context - application context
* @param title - alert dialog title
* @param message - alert message
* @param status - success/failure (used to set icon)
* - pass null if you don't want icon
* */
@SuppressWarnings("deprecation")
public void showAlertDialog(final Activity activity, Context context, String title,
String message,
Boolean status) {
AlertDialog alertDialog = new AlertDialog.Builder(context).create();

// Setting Dialog Title


alertDialog.setTitle(title);

// Setting Dialog Message


alertDialog.setMessage(message);

if(status != null)
// Setting alert dialog icon
alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
Intent i = new Intent(activity.getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
activity.startActivity(i);
activity.finish();
}
});

// Showing Alert Message


alertDialog.show();
}
}

registrasi.xml
<RelativeLayout xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
xmlns:editTextFormExample="http://schemas.android.com/apk/res-auto"
android:background="@drawable/bgni"
android:layout_height="match_parent"
tools:context=".support.MainActivity">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Tanggal :"
android:textColor="#000000"
android:id="@+id/tangal"
android:textSize="15dp"
android:layout_marginTop="5dp"
android:layout_marginLeft="187dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textColor="#000000"
android:layout_marginTop="5dp"
android:id="@+id/tanggal"
android:layout_marginLeft="66dp"
android:textSize="15dp"
android:layout_alignLeft="@id/tangal" />

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:id="@+id/scrollView">
<RelativeLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:id="@+id/rl1"
android:layout_height="match_parent"
android:layout_width="match_parent"
android:layout_marginTop="30dp"
android:layout_marginBottom="15dp"
android:layout_marginLeft="15dp"
android:layout_marginRight="15dp"
android:orientation="horizontal"
android:background="@drawable/layout">

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceMedium"
android:text="FORMULIR PENDAFTARAN"
android:textColor="#800000"
android:textStyle="bold"
android:textSize="20dp"
android:id="@+id/head"
android:layout_marginTop="15dp"
android:layout_centerHorizontal="true" />
<View
android:id="@+id/v1"
android:layout_width="match_parent"
android:layout_height="2dp"
android:layout_below="@id/head"
android:layout_marginTop="10dp"
android:layout_marginLeft="6dp"
android:layout_marginRight="6dp"
android:background="#800000"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Untuk memudahkan anda melakukan proses pendaftaran,
silahkan isi dengan baik dan benar Formulir Pendaftran di bawh ini."
android:id="@+id/ket1"
android:textColor="#000000"
android:textSize="10dp"
android:layout_alignTop="@id/v1"
android:layout_alignLeft="@id/v1"
android:layout_alignStart="@id/v1"
android:layout_marginTop="20dp" />

<View
android:id="@+id/v4"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/ket1"
android:layout_marginTop="20dp"
android:background="#1a000000"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="DATA PRIBADI"
android:id="@+id/datapribadi"
android:textColor="#000000"
android:textSize="14dp"
android:layout_alignTop="@id/v4"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Silahkan Isi Data Pribadi Anda"
android:id="@+id/ket5"
android:textColor="#000000"
android:textSize="12dp"
android:layout_alignTop="@id/datapribadi"
android:layout_marginLeft="7dp"
android:layout_marginTop="20dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Nama Lengkap"
android:textStyle="bold"
android:id="@+id/namalengkap"
android:textColor="#000000"
android:textSize="12dp"
android:layout_alignTop="@id/ket5"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp" />
<com.andreabaccega.widget.FormEditText
android:id="@+id/nama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/namalengkap"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:drawable/editbox_background_normal"
editTextFormExample:testType="personFullName" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Kota Lahir"
android:textStyle="bold"
android:id="@+id/kotalahir"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/nama"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<EditText
android:id="@+id/klahir"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/kotalahir"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:drawable/editbox_background_normal"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Tanggal Lahir"
android:textStyle="bold"
android:id="@+id/tanggallahir"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/klahir"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<TextView
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@android:drawable/editbox_background_normal"
android:id="@+id/tlahir"
android:textColor="#000000"
android:layout_below="@id/tanggallahir"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Jenis Kelamin"
android:textStyle="bold"
android:id="@+id/jeniskelamin"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/tlahir"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<Spinner android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="3dp"
android:background="@android:drawable/editbox_background_normal"
android:layout_below="@id/jeniskelamin"
android:layout_marginLeft="10dp"
android:layout_marginRight="30dp"
android:id="@+id/jkelamin"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Agama"
android:textStyle="bold"
android:id="@+id/agama"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/jkelamin"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<EditText
android:id="@+id/ragama"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/agama"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:drawable/editbox_background_normal"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Alamat"
android:textStyle="bold"
android:id="@+id/alamat"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/ragama"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<com.andreabaccega.widget.FormEditText
android:id="@+id/ralamat"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@+id/alamat"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:drawable/editbox_background_normal"
editTextFormExample:testType="personFullName" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Kabupaten/Kota"
android:textStyle="bold"
android:id="@+id/kabupatenkota"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/ralamat"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<com.andreabaccega.widget.FormEditText
android:id="@+id/kkota"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/kabupatenkota"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:drawable/editbox_background_normal"
editTextFormExample:testType="personFullName" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Provinsi"
android:textStyle="bold"
android:id="@+id/provinsi"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/kkota"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<com.andreabaccega.widget.FormEditText
android:id="@+id/rprovinsi"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:layout_below="@id/provinsi"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:background="@android:drawable/editbox_background_normal"
editTextFormExample:testType="personFullName" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Kode Pos"
android:textStyle="bold"
android:id="@+id/kodepos"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/rprovinsi"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/kpos"
android:background="@android:drawable/editbox_background_normal"
android:layout_below="@id/kodepos"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Pekerjaan"
android:textStyle="bold"
android:id="@+id/pekerjaan"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/kpos"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/rpekerjaan"
android:background="@android:drawable/editbox_background_normal"
android:layout_below="@id/pekerjaan"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>
<View
android:id="@+id/v6"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/rpekerjaan"
android:layout_marginTop="20dp"
android:background="#1a000000"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="KONTAK"
android:id="@+id/ket3"
android:textColor="#000000"
android:textSize="14dp"
android:layout_alignTop="@id/v6"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Silahkan Isi Email, Telepon Rumah dan No Handphone Anda"
android:id="@+id/ket8"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@+id/ket3"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Email"
android:textStyle="bold"
android:id="@+id/email"
android:textColor="#000000"
android:textSize="12dp"
android:layout_alignTop="@id/ket8"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp" />
<com.andreabaccega.widget.FormEditText
android:layout_below="@+id/email"
android:id="@+id/remail"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background_normal"
android:inputType="textEmailAddress"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
editTextFormExample:testType="nocheck" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Telepon Rumah"
android:textStyle="bold"
android:id="@+id/teleponrumah"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/remail"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<EditText
android:layout_width="match_parent"
android:layout_height="match_parent"
android:id="@+id/trumah"
android:inputType="phone"
android:background="@android:drawable/editbox_background_normal"
android:layout_below="@id/teleponrumah"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"/>

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="No Handphone"
android:textStyle="bold"
android:id="@+id/nohandphone"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@id/trumah"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<com.andreabaccega.widget.FormEditText
android:layout_below="@+id/nohandphone"
android:id="@+id/nhandphone"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:background="@android:drawable/editbox_background_normal"
android:inputType="phone"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
editTextFormExample:testType="phone" />

<View
android:id="@+id/v7"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@id/nhandphone"
android:layout_marginTop="20dp"
android:background="#1a000000"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="PILIHAN PROGRAM TRAINING"
android:id="@+id/ket4"
android:textColor="#000000"
android:textSize="14dp"
android:layout_below="@+id/v7"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Silahkan Pilih Program Training Yang Akan Anda Ikuti"
android:id="@+id/ket9"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@+id/ket4"
android:layout_marginLeft="7dp"
android:layout_marginTop="6dp" />

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Program Training"
android:textStyle="bold"
android:id="@+id/programtraining"
android:textColor="#000000"
android:textSize="12dp"
android:layout_alignTop="@+id/ket9"
android:layout_marginLeft="10dp"
android:layout_marginTop="30dp" />
<Spinner android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_below="@id/programtraining"
android:background="@android:drawable/editbox_background_normal"
android:layout_marginTop="3dp"
android:layout_marginLeft="10dp"
android:layout_marginRight="10dp"
android:id="@+id/training"/>

<View
android:id="@+id/v8"
android:layout_width="match_parent"
android:layout_height="1dp"
android:layout_below="@+id/training"
android:layout_marginTop="20dp"
android:background="#1a000000"/>
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="PERIKSA KEMBALI DATA ANDA"
android:id="@+id/ket6"
android:textColor="#000000"
android:textSize="14dp"
android:layout_below="@+id/v8"
android:layout_marginLeft="10dp"
android:layout_marginTop="5dp" />
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:textAppearance="?android:attr/textAppearanceSmall"
android:text="Silahkan periksa kembali data anda yang telah anda isi diatas,
jika sudah benar tekan tombol REGISTRASI dibawah ini. "
android:id="@+id/ket7"
android:textColor="#000000"
android:textSize="12dp"
android:layout_below="@+id/ket6"
android:layout_marginLeft="10dp"
android:layout_marginTop="20dp" />

<Button
android:layout_height="wrap_content"
android:layout_width="wrap_content"
android:textColor="#FFFFFF"
android:background="@drawable/button_content"
android:layout_marginTop="10dp"
android:onClick="submit"
android:text="Registrasi"
android:layout_below="@+id/ket7"
android:layout_centerHorizontal="true"/>
<View
android:id="@+id/v9"
android:layout_width="match_parent"
android:layout_height="0dp"
android:layout_below="@+id/ket7"
android:layout_marginTop="100dp"/>
</RelativeLayout>
</ScrollView>

</RelativeLayout>

Registrasi.java
package com.example.thepremiere_tc.registrasi;

import android.app.DatePickerDialog;
import android.app.Dialog;
import android.app.DialogFragment;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.graphics.Color;
import android.os.AsyncTask;
import android.os.Bundle;
import android.os.Handler;
import android.support.v7.app.AppCompatActivity;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewGroup;
import android.widget.AdapterView;
import android.widget.ArrayAdapter;
import android.widget.DatePicker;
import android.widget.EditText;
import android.widget.Spinner;
import android.widget.TextView;
import android.content.Intent;
import android.app.AlertDialog;

import com.andreabaccega.formedittextvalidator.EmailValidator;
import com.andreabaccega.formedittextvalidator.NotValidator;
import com.andreabaccega.formedittextvalidator.OrValidator;
import com.andreabaccega.formedittextvalidator.PersonFullNameValidator;
import com.andreabaccega.formedittextvalidator.PhoneValidator;
import com.andreabaccega.widget.FormEditText;
import com.example.thepremiere_tc.R;
import com.example.thepremiere_tc.support.JSONParser;
import com.example.thepremiere_tc.support.MainActivity;

import org.apache.http.NameValuePair;
import org.apache.http.message.BasicNameValuePair;
import org.json.JSONObject;

import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
/**
* Created by DavidIndri on 19/12/2016.
*/
public class Registrasi extends AppCompatActivity implements
AdapterView.OnItemSelectedListener{

ProgressDialog pDialog;

JSONParser jsonParser = new JSONParser();

EditText trumah, klahir, ragama, kpos ,rpekerjaan;


FormEditText remail, nhandphone, nama, ralamat, kkota, rprovinsi;
Spinner jkelamin, training;

TextView tanggal, tlahir;


private static String url = "http://thepremiere-tc.hol.es/premiere_tc/registrasi.php";
private Handler handler = new Handler();
AlertDialogM alert = new AlertDialogM();
DialogInterface.OnClickListener listener;

@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.registrasi);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);

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

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


ragama = (EditText) findViewById(R.id.ragama);
kpos = (EditText) findViewById(R.id.kpos);
rpekerjaan = (EditText) findViewById(R.id.rpekerjaan);
trumah = (EditText) findViewById(R.id.trumah);

initianiled();
EditTextValidator();
tlahir =(TextView) findViewById(R.id.tlahir);
tlahir.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View v) {
DialogFragment dialogfragment = new DatePickerDialogTheme1();
dialogfragment.show(getFragmentManager(), "Theme 1");}
});

// Get reference of widgets from XML layout


jkelamin = (Spinner) findViewById(R.id.jkelamin);
String[] stjkelamin = new String[]{"--Pilih--","Laki-laki","Perempuan" };

final List<String> Listjkelamin = new ArrayList<>(Arrays.asList(stjkelamin));


final ArrayAdapter<String> KelaminArrayAdapter = new ArrayAdapter<String>(
this,android.R.layout.simple_spinner_item,Listjkelamin){
@Override
public boolean isEnabled(int position){
if(position == 0)
{
return false;
}else{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position == 0){
tv.setTextColor(Color.BLACK);
}else{
tv.setTextColor(Color.BLACK);
}
return view;
}
};
KelaminArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_
dropdown_item);
jkelamin.setAdapter(KelaminArrayAdapter);

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


String[] sttraining = new String[]{"--Pilih Program Training--","Service Excellence
Program","Presentation & Communication Skill",
"Cofident Building & Professional Image","Tarining of Trainer","Effective
Selling Skill Training"};
final List<String> Listtraining = new ArrayList<>(Arrays.asList(sttraining));
final ArrayAdapter<String> TrainingArrayAdapter = new ArrayAdapter<String>(
this,android.R.layout.simple_spinner_item,Listtraining){
@Override
public boolean isEnabled(int position){
if(position == 0)
{
return false;
}else{
return true;
}
}
@Override
public View getDropDownView(int position, View convertView,
ViewGroup parent) {
View view = super.getDropDownView(position, convertView, parent);
TextView tv = (TextView) view;
if(position == 0){
// Set the hint text color gray
tv.setTextColor(Color.BLACK);
}else{
tv.setTextColor(Color.BLACK);
}
return view;
}
};

TrainingArrayAdapter.setDropDownViewResource(android.R.layout.simple_spinner_
dropdown_item);
training.setAdapter(TrainingArrayAdapter);

//Tanggal
handler.postDelayed(runnable, 1000);

}
private void initianiled() {
nama = (FormEditText) findViewById(R.id.nama);
ralamat = (FormEditText) findViewById(R.id.ralamat);
kkota = (FormEditText) findViewById(R.id.kkota);
rprovinsi = (FormEditText) findViewById(R.id.rprovinsi);
remail = (FormEditText) findViewById(R.id.remail);
nhandphone = (FormEditText) findViewById(R.id.nhandphone);
}
public void EditTextValidator(){
nama.addValidator(
new OrValidator(
"Isi Nama Lengkap Anda",
new PersonFullNameValidator(null)
)
);
kkota.addValidator(
new OrValidator(
"Isi Kota/kabupaten Tempat Tinggal Anda",
new PersonFullNameValidator(null))
);
rprovinsi.addValidator(
new OrValidator(
"Isi Provinsi Tempat Tinggal Anda",
new PersonFullNameValidator(null)
)
);
remail.addValidator(
new OrValidator(
"Isi Alamat Email Anda Dengan Benar",
new EmailValidator(null))
);
nhandphone.addValidator(
new OrValidator(
"Isi Homer Handphone Anda Dengan Benar",
new PhoneValidator(null))
);
}

public void submit(View arg1) {


FormEditText[] allFields = { nama, kkota, rprovinsi, remail, nhandphone };
boolean allValid = true;
for (FormEditText field: allFields) {
allValid = field.testValidity()&& allValid;
}
if (allValid) {
String stanggal = tanggal.getText().toString();
String snama = nama.getText().toString();
String sklahir = klahir.getText().toString();
String stlahir = tlahir.getText().toString();
String sjenkel = jkelamin.getSelectedItem().toString();
String sagama = ragama.getText().toString();
String salamat = ralamat.getText().toString();
String skota = kkota.getText().toString();
String sprovinsi = rprovinsi.getText().toString();
String skpos = kpos.getText().toString();
String spekerjaan = rpekerjaan.getText().toString();
String semail = remail.getText().toString();
String strumah = trumah.getText().toString();
String snhandphone = nhandphone.getText().toString();
String straining = training.getSelectedItem().toString();
if (training.getSelectedItem().toString().equals("--Pilih Program Training--")){
alert.showAlertDialog(Registrasi.this, "Registrasi Gagal", "Silahkan Pilih
Training Yang Akan Anda Ikuti", false);
}else{
new InputData().execute(stanggal, snama, sklahir, stlahir, sjenkel, sagama,
salamat, skota, sprovinsi, skpos, spekerjaan, semail,strumah,snhandphone,
straining);}
}else {
alert.showAlertDialog(Registrasi.this, "Registrasi Gagal", "Data Anda Belum
Lengkap, Silahkan Cek Kembali Data Anda", false);
}
}
@Override
public void onItemSelected(AdapterView<?> adapterView, View view, int i, long l)
{
}
@Override
public void onNothingSelected(AdapterView<?> adapterView) {
}
//tanggal lahir
public static class DatePickerDialogTheme1 extends DialogFragment implements
DatePickerDialog.OnDateSetListener{
@Override
public Dialog onCreateDialog(Bundle savedInstanceState){
final Calendar calendar = Calendar.getInstance();
int year = calendar.get(Calendar.YEAR);
int month = calendar.get(Calendar.MONTH);
int day = calendar.get(Calendar.DAY_OF_MONTH);

DatePickerDialog datepickerdialog = new DatePickerDialog(getActivity(),


AlertDialog.THEME_HOLO_LIGHT,this,year,month,day);
return datepickerdialog;
}
public void onDateSet(DatePicker view, int year, int month, int day){
TextView textview = (TextView)getActivity().findViewById(R.id.tlahir);
textview.setText(day + "-" + (month+1) + "-" + year);
}
}
private Runnable runnable = new Runnable() {
@Override
public void run() {
Calendar c1 = Calendar.getInstance();
SimpleDateFormat sdf1 = new SimpleDateFormat("d-M-yyyy");
String strdate1 = sdf1.format(c1.getTime());
TextView txtdate1 = (TextView) findViewById(R.id.tanggal);
txtdate1.setText(strdate1);
}
};
public class InputData extends AsyncTask<String, String, String>{
String success;

@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Registrasi.this);
pDialog.setMessage("Proses Registrasi...");
pDialog.setIndeterminate(false);
pDialog.show();
}
@Override
protected String doInBackground(String... args) {
String stanggal = args[0];
String snama = args[1];
String sklahir = args[2];
String stlahir = args[3];
String sjenkel = args[4];
String sagama = args[5];
String salamat = args[6];
String skota = args[7];
String sprovinsi= args[8];
String skpos = args[9];
String spekerjaan= args[10];
String semail = args[11];
String strumah = args[12];
String snhandphone= args[13];
String straining= args[14];

List<NameValuePair> params = new ArrayList<NameValuePair>();


params.add(new BasicNameValuePair("tanggaldaftar", stanggal));
params.add(new BasicNameValuePair("nama", snama));
params.add(new BasicNameValuePair("kotalahir", sklahir));
params.add(new BasicNameValuePair("tanggallahir", stlahir));
params.add(new BasicNameValuePair("jenkel", sjenkel));
params.add(new BasicNameValuePair("agama", sagama));
params.add(new BasicNameValuePair("alamat", salamat));
params.add(new BasicNameValuePair("kota", skota));
params.add(new BasicNameValuePair("provinsi", sprovinsi));
params.add(new BasicNameValuePair("kodepos", skpos));
params.add(new BasicNameValuePair("pekerjaan", spekerjaan));
params.add(new BasicNameValuePair("email", semail));
params.add(new BasicNameValuePair("teleponrumah", strumah));
params.add(new BasicNameValuePair("nohandphone", snhandphone));
params.add(new BasicNameValuePair("training", straining));
JSONObject json = jsonParser.makeHttpRequest(url, "POST", params);
try {
success = json.getString("success");
}catch (Exception e) {
e.printStackTrace();
}
return null;
}
protected void onPostExecute(String file_url) {
pDialog.dismiss();
if (success != null) {
rsukses();
}else{
alert.showAlertDialog(Registrasi.this, "Peringatan",
"Internet tidak tersedia, Silahkan cek koneksi internet anda", false);
}
}
}
private void rsukses(){
AlertDialog.Builder builder= new AlertDialog.Builder(this);
builder.setMessage("Registrasi Sukses, Silahkan Datang Ke Kantor The Premiere
Training Center Untuk Melakukan Konfirmasi Pendaftaran, " +
"Batas Waktu Konfirmasi Satu Minggu Setelah Anda Mendaftar");
builder.setNegativeButton("Ok", new DialogInterface.OnClickListener() {
@Override
public void onClick(DialogInterface arg0, int arg1) {
onBackPressed();
}
});
builder.create().show();
}
@Override
public void onBackPressed() {
// TODO Auto-generated method stub
Intent i = new Intent(getApplicationContext(), MainActivity.class);
i.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP);
startActivity(i);
finish();
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
// Handle action bar item clicks here. The action bar will
// automatically handle clicks on the Home/Up button, so long
// as you specify a parent activity in AndroidManifest.xml.
int id = item.getItemId();

//noinspection SimplifiableIfStatement
if (id == android.R.id.home) {
// finish the activity
onBackPressed();
return true;
}

return super.onOptionsItemSelected(item);
}
}
AlertDialogM.java
package com.example.thepremiere_tc.registrasi;

import android.app.AlertDialog;
import android.content.Context;
import android.content.DialogInterface;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 06/02/2017.
*/

public class AlertDialogM {


/**
* Function to display simple Alert Dialog
* @param context - application context
* @param title - alert dialog title
* @param message - alert message
* @param status - success/failure (used to set icon)
* - pass null if you don't want icon
* */
@SuppressWarnings("deprecation")
public void showAlertDialog(Context context, String title, String message,
Boolean status) {
AlertDialog alertDialog = new AlertDialog.Builder(context).create();

// Setting Dialog Title


alertDialog.setTitle(title);

// Setting Dialog Message


alertDialog.setMessage(message);

if(status != null)
// Setting alert dialog icon
alertDialog.setIcon((status) ? R.drawable.success : R.drawable.fail);

// Setting OK Button
alertDialog.setButton("OK", new DialogInterface.OnClickListener() {
public void onClick(DialogInterface dialog, int which) {
}
});

// Showing Alert Message


alertDialog.show();
}
}
suppart_app_bar.xml
<?xml version="1.0" encoding="utf-8"?>
<android.support.design.widget.CoordinatorLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:fitsSystemWindows="true"
tools:context=".support.MainActivity">

<RelativeLayout
xmlns:tools="http://schemas.android.com/tools"
xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="wrap_content"
android:layout_marginTop="56dp"
android:background="@drawable/background"
android:layout_height="match_parent">

<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:fillViewport="true">

<TableLayout
android:id="@+id/tableLayout1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_marginTop="22dp"
android:shrinkColumns="*"
android:stretchColumns="*" >
<TableRow
android:id="@+id/tableRowBtn"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal"
android:paddingBottom="10dp"
>
<TextView
android:id="@+id/txa"
android:text=""
android:padding="2dp">
</TextView>
<Button
android:id="@+id/btnabout"
android:visibility="visible"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/about"
android:text="About"
android:textStyle="bold"
android:background="@drawable/button_menu"
android:gravity="center|center_horizontal"
android:padding="1dp"
/>
<TextView
android:id="@+id/txb"
android:text=""
android:padding="2dp">
</TextView>
<Button
android:id="@+id/btntraining"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/training"
android:text="Training"
android:textStyle="bold"
android:background="@drawable/button_menu"
android:gravity="center|center_horizontal"
android:padding="1dp" />
<TextView
android:id="@+id/txc"
android:text=""
android:padding="2dp">
</TextView>

</TableRow>

<TableRow
android:id="@+id/tableRowBtn1"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal"
android:paddingBottom="10dp"
>
<TextView
android:id="@+id/txa1"
android:text=""
android:padding="2dp">
</TextView>
<Button
android:id="@+id/btntrainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/trainer"
android:text="Trainer"
android:textStyle="bold"
android:background="@drawable/button_menu"
android:gravity="center|center_horizontal"
android:padding="1dp" />
<TextView
android:id="@+id/txd"
android:text=""
android:padding="2dp">
</TextView>
<Button
android:id="@+id/btnpeserta"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/peserta"
android:text="Peserta"
android:textStyle="bold"
android:background="@drawable/button_menu"
android:gravity="center|center_horizontal"
android:padding="1dp"
/>
<TextView
android:id="@+id/txb1"
android:text=""
android:padding="2dp">
</TextView>

</TableRow>
<TableRow
android:id="@+id/tableRowBtn2"
android:layout_height="wrap_content"
android:layout_width="match_parent"
android:gravity="center_horizontal"
android:paddingBottom="10dp"
>
<TextView
android:id="@+id/txa2"
android:text=""
android:padding="2dp">
</TextView>

<Button
android:id="@+id/btnnilai"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:drawableTop="@drawable/nilai"
android:text="Nilai"
android:textStyle="bold"
android:background="@drawable/button_menu"
android:gravity="center|center_horizontal"
android:padding="1dp" />
<TextView
android:id="@+id/txc2"
android:text=""
android:padding="2dp">
</TextView>
<Button
android:id="@+id/btnjadwal"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:background="@drawable/button_menu"
android:drawableTop="@drawable/jadwal"
android:gravity="center|center_horizontal"
android:padding="1dp"
android:text="Jadwal"
android:textStyle="bold" />

<TextView
android:id="@+id/txd2"
android:text=""
android:padding="2dp">
</TextView>
</TableRow>
</TableLayout>
</ScrollView>
</RelativeLayout>
<android.support.design.widget.AppBarLayout
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:theme="@style/AppTheme.AppBarOverlay">

<android.support.v7.widget.Toolbar
android:id="@+id/toolbar"
android:layout_width="match_parent"
android:layout_height="?attr/actionBarSize"
android:background="?attr/colorPrimary"
app:popupTheme="@style/AppTheme.PopupOverlay" />

</android.support.design.widget.AppBarLayout>
</android.support.design.widget.CoordinatorLayout>

support_customlist.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:padding="5dp">
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/foto"
android:layout_width="50dp"
android:layout_height="50dp" />

<TextView
android:id="@+id/txtList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama"
android:textColor="#800000"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginLeft="13dp"
android:layout_marginTop="13dp"
android:layout_marginBottom="13dp"
android:typeface="sans" />
<TextView
android:id="@+id/kode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kode"
android:visibility="gone" />

</TableRow>
</TableLayout>

support_customlistnoimage.xml
<?xml version="1.0" encoding="utf-8"?>
<TableLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent">
<TableRow
android:padding="5dp">
<de.hdodenhof.circleimageview.CircleImageView
xmlns:app="http://schemas.android.com/apk/res-auto"
android:id="@+id/foto"
android:layout_width="50dp"
android:layout_height="50dp" />

<TextView
android:id="@+id/txtList"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Nama"
android:textColor="#800000"
android:textSize="18sp"
android:textStyle="bold"
android:layout_marginLeft="13dp"
android:layout_marginTop="13dp"
android:layout_marginBottom="13dp"
android:typeface="sans" />
<TextView
android:id="@+id/kode"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="Kode"
android:visibility="gone" />

</TableRow>
</TableLayout>

CustomList.java
package com.example.thepremiere_tc.support;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.ImageView;
import android.widget.TextView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class CustomList extends ArrayAdapter<String> {
//Declarasi
private final Activity context;
private final String[] list;
private final Integer[] image;

public CustomList(Activity context, String[] list,Integer[] image) {


super(context, R.layout.support_customlist, list);
this.context = context;
this.list = list;
this.image = image;

@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
//Load Custom Layout untuk list
View rowView= inflater.inflate(R.layout.support_customlist, null, true);
//Declarasi komponen
TextView txtTitle = (TextView) rowView.findViewById(R.id.txtList);
ImageView imageView = (ImageView) rowView.findViewById(R.id.foto);

//Set Parameter Value


txtTitle.setText(list[position]);
imageView.setImageResource(image[position]);

return rowView;
}
}
CustomListNoImage.java
package com.example.thepremiere_tc.support;

import android.app.Activity;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.ArrayAdapter;
import android.widget.TextView;

import com.example.thepremiere_tc.R;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class CustomListNoImage extends ArrayAdapter<String> {
//Declarasi
private final Activity context;
private final String[] listnoimage;

public CustomListNoImage (Activity context, String[] listnoimage) {


super(context, R.layout.support_customlistnoimage, listnoimage);
this.context = context;
this.listnoimage = listnoimage;

@Override
public View getView(int position, View view, ViewGroup parent) {
LayoutInflater inflater = context.getLayoutInflater();
//Load Custom Layout untuk list
View rowView= inflater.inflate(R.layout.support_customlistnoimage, null, true);
//Declarasi komponen
TextView txtTitle = (TextView) rowView.findViewById(R.id.txtList);

//Set Parameter Value


txtTitle.setText(listnoimage[position]);

return rowView;
}
}

FileCache.java
package com.example.thepremiere_tc.support;

import android.content.Context;

import java.io.File;
/**
* Created by DavidIndri on 18/12/2016.
*/
public class FileCache {
private File cacheDir;
public FileCache(Context context) {

if (android.os.Environment.getExternalStorageState().equals(
android.os.Environment.MEDIA_MOUNTED))
cacheDir = new File(android.os.Environment
.getExternalStorageDirectory(), "LazyList");
else
cacheDir = context.getCacheDir();
if (!cacheDir.exists())
cacheDir.mkdirs();
}
public File getFile(String url) {

String filename = String.valueOf(url.hashCode());

File f = new File(cacheDir, filename);


return f;
}
public void clear() {
File[] files = cacheDir.listFiles();
if (files == null)
return;
for (File f : files)
f.delete();
}
}

ImageLoader.java
package com.example.thepremiere_tc.support;

import android.app.Activity;
import android.content.Context;
import android.graphics.Bitmap;
import android.graphics.BitmapFactory;
import android.widget.ImageView;

import com.example.thepremiere_tc.R;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Collections;
import java.util.Map;
import java.util.WeakHashMap;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class ImageLoader {
MemoryCache memoryCache = new MemoryCache();
FileCache fileCache;

private Map<ImageView, String> imageViews = Collections


.synchronizedMap(new WeakHashMap<ImageView, String>());
ExecutorService executorService;
public ImageLoader(Context context) {
fileCache = new FileCache(context);
executorService = Executors.newFixedThreadPool(5);
}
final int stub_id = R.drawable.no_image;
public void DisplayImage(String url, ImageView imageView) {
imageViews.put(imageView, url);
Bitmap bitmap = memoryCache.get(url);
if (bitmap != null)
imageView.setImageBitmap(bitmap);
else {
queuePhoto(url, imageView);
imageView.setImageResource(stub_id);
}
}
private void queuePhoto(String url, ImageView imageView) {
PhotoToLoad p = new PhotoToLoad(url, imageView);
executorService.submit(new PhotosLoader(p));
}
private Bitmap getBitmap(String url) {
File f = fileCache.getFile(url);
Bitmap b = decodeFile(f);
if (b != null)
return b;
try {
Bitmap bitmap = null;
URL imageUrl = new URL(url);
HttpURLConnection conn = (HttpURLConnection) imageUrl
.openConnection();
conn.setConnectTimeout(30000);
conn.setReadTimeout(30000);
conn.setInstanceFollowRedirects(true);
InputStream is = conn.getInputStream();
OutputStream os = new FileOutputStream(f);
Utils.CopyStream(is, os);
os.close();
bitmap = decodeFile(f);
return bitmap;
} catch (Exception ex) {
ex.printStackTrace();
return null;
}
}
private Bitmap decodeFile(File f) {
try {

BitmapFactory.Options o = new BitmapFactory.Options();

o.inJustDecodeBounds = true;
BitmapFactory.decodeStream(new FileInputStream(f), null, o);
final int REQUIRED_SIZE = 70;
int width_tmp = o.outWidth, height_tmp = o.outHeight;
int scale = 1;
while (true) {
if (width_tmp / 2 < REQUIRED_SIZE
|| height_tmp / 2 < REQUIRED_SIZE)
break;
width_tmp /= 2;
height_tmp /= 2;
scale *= 2;
}

BitmapFactory.Options o2 = new BitmapFactory.Options();


o2.inSampleSize = scale;
return BitmapFactory.decodeStream(new FileInputStream(f), null,
o2);
} catch (FileNotFoundException e) {
}
return null;
}
private class PhotoToLoad {
public String url;
public ImageView imageView;
public PhotoToLoad(String u, ImageView i) {
url = u;
imageView = i;
}
}
class PhotosLoader implements Runnable {
PhotoToLoad photoToLoad;
PhotosLoader(PhotoToLoad photoToLoad) {
this.photoToLoad = photoToLoad;
}
@Override
public void run() {
if (imageViewReused(photoToLoad))
return;
Bitmap bmp = getBitmap(photoToLoad.url);
memoryCache.put(photoToLoad.url, bmp);
if (imageViewReused(photoToLoad))
return;
BitmapDisplayer bd = new BitmapDisplayer(bmp, photoToLoad);
Activity a = (Activity) photoToLoad.imageView.getContext();
a.runOnUiThread(bd);
}
}
boolean imageViewReused(PhotoToLoad photoToLoad) {
String tag = imageViews.get(photoToLoad.imageView);

if (tag == null || !tag.equals(photoToLoad.url))


return true;
return false;
}

class BitmapDisplayer implements Runnable {


Bitmap bitmap;
PhotoToLoad photoToLoad;
public BitmapDisplayer(Bitmap b, PhotoToLoad p) {
bitmap = b;
photoToLoad = p;
}
public void run() {
if (imageViewReused(photoToLoad))
return;
if (bitmap != null)
photoToLoad.imageView.setImageBitmap(bitmap);
else
photoToLoad.imageView.setImageResource(stub_id);
}
}
public void clearCache() {
memoryCache.clear();
fileCache.clear();
}
}

JSONParser.java
package com.example.thepremiere_tc.support;

import android.util.Log;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.client.utils.URLEncodedUtils;
import org.apache.http.impl.client.DefaultHttpClient;
import org.json.JSONException;
import org.json.JSONObject;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import java.util.List;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class JSONParser {
static InputStream is = null;
static JSONObject jObj = null;
static String json = "";
public JSONParser() {
}
// function get json from url
// by making HTTP POST or GET mehtod
public JSONObject makeHttpRequest(String url, String method,
List<NameValuePair> params) {
// Making HTTP request
try {
// check for request method
if (method == "POST") {
// request method is POST
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);
httpPost.setEntity(new UrlEncodedFormEntity(params));

HttpResponse httpResponse = httpClient.execute(httpPost);


HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
} else if (method == "GET") {
// request method is GET
DefaultHttpClient httpClient = new DefaultHttpClient();
String paramString = URLEncodedUtils.format(params, "utf-8");
url += "?" + paramString;
HttpGet httpGet = new HttpGet(url);
HttpResponse httpResponse = httpClient.execute(httpGet);
HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();
}
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
try {
BufferedReader reader = new BufferedReader(new
InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " +
e.toString());
}
// try parse the string to a JSON object
try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}
// return JSON String
return jObj;
}
public JSONObject getJSONFromUrl(String url) {

// Making HTTP request


try {
// defaultHttpClient
DefaultHttpClient httpClient = new DefaultHttpClient();
HttpPost httpPost = new HttpPost(url);

HttpResponse httpResponse = httpClient.execute(httpPost);


HttpEntity httpEntity = httpResponse.getEntity();
is = httpEntity.getContent();

} catch (UnsupportedEncodingException e) {
e.printStackTrace();
} catch (ClientProtocolException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}

try {
BufferedReader reader = new BufferedReader(new InputStreamReader(
is, "iso-8859-1"), 8);
StringBuilder sb = new StringBuilder();
String line = null;
while ((line = reader.readLine()) != null) {
sb.append(line + "\n");
}
is.close();
json = sb.toString();
} catch (Exception e) {
Log.e("Buffer Error", "Error converting result " + e.toString());
}

// try parse the string to a JSON object


try {
jObj = new JSONObject(json);
} catch (JSONException e) {
Log.e("JSON Parser", "Error parsing data " + e.toString());
}

// return JSON String


return jObj;

}
}

MemoryCache.java
package com.example.thepremiere_tc.support;

import android.graphics.Bitmap;

import java.lang.ref.SoftReference;
import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class MemoryCache {
private Map<String, SoftReference<Bitmap>> cache = Collections
.synchronizedMap(new HashMap<String, SoftReference<Bitmap>>());
public Bitmap get(String id) {
if (!cache.containsKey(id))
return null;

SoftReference<Bitmap> ref = cache.get(id);


return ref.get();
}
public void put(String id, Bitmap bitmap) {
cache.put(id, new SoftReference<Bitmap>(bitmap));
}
public void clear() {
cache.clear();
}
}

Utils.java
package com.example.thepremiere_tc.support;

import java.io.InputStream;
import java.io.OutputStream;

/**
* Created by DavidIndri on 18/12/2016.
*/
public class Utils {
public static void CopyStream(InputStream is, OutputStream os) {
final int buffer_size = 1024;
try {
byte[] bytes = new byte[buffer_size];
for (;;) {
int count = is.read(bytes, 0, buffer_size);
if (count == -1)
break;
os.write(bytes, 0, count);
}
} catch (Exception ex) {
}
}
}

trainer.php
<?php

include '../config/koneksi.php';
$query = mysql_query("SELECT * FROM trainer ORDER BY nit desc");
$json = '{"trainer": [';

// bikin looping dech array yang di fetch


while ($row = mysql_fetch_array ($query)) {

//tanda kutip dua (") tidak diijinkan oleh string json,


//maka akan kita replace dengan karakter `
//strip_tag berfungsi untuk menghilangkan tag-tag html pada string

$char = '"';

$json .=
'{"id":"'.$row['nit'].'",
"nama":"'.str_replace($char,'`',strip_tags($row['namatrainer'])).'",
"foto":"http://thepremiere-tc.hol.es/page/foto/foto_trainer/'.$row['imagetrainer'].'"},';
}

// buat menghilangkan koma diakhir array


$json = substr($json,0,strlen($json)-1);

$json .= ']}';

// print json
echo $json;

?>

detail_trainer.php
<?php

$kd="";
include '../config/koneksi.php';
//$kd = $_GET['idtrainer'];
if(isset($_GET['nit'])){
$kd=$_GET['nit'];

$query = mysql_query('SELECT * FROM trainer where nit="'.$kd.'"');


$json = '{"trainer": [';

while($row=mysql_fetch_array($query))
{

//tanda kutip dua (") tidak diijinkan oleh string json,


//maka akan kita replace dengan karakter `
//strip_tag berfungsi untuk menghilangkan tag-tag html pada string

$char = '"';

$json .=
'{"id":"'.$row['nit'].'",
"nama":"'.str_replace($char,'`',strip_tags($row['namatrainer'])).'",
"ttl":"'.str_replace($char,'`',strip_tags($row['ttltrainer'])).'",
"alamat":"'.str_replace($char,'`',strip_tags($row['alamattrainer'])).'",
"jenkel":"'.str_replace($char,'`',strip_tags($row['jenkeltrainer'])).'",
"agama":"'.str_replace($char,'`',strip_tags($row['agamatrainer'])).'",
"nohp":"'.str_replace($char,'`',strip_tags($row['nohptrainer'])).'",
"email":"'.str_replace($char,'`',strip_tags($row['emailtrainer'])).'",
"catatan":"'.str_replace($char,'`',strip_tags($row['catatantrainer'])).'",
"foto":"http://thepremiere-tc.hol.es/page/foto/foto_trainer/'.$row['imagetrainer'].'"},';
}
// buat menghilangkan koma diakhir array
$json = substr($json,0,strlen($json)-1);
$json .= ']}';
// print json
echo $json;
?>

peserta.php
<?php

include '../config/koneksi.php';
$query = mysql_query("SELECT * FROM peserta ORDER BY nip desc");
$json = '{"peserta": [';

// bikin looping dech array yang di fetch


while ($row = mysql_fetch_array ($query)) {

//tanda kutip dua (") tidak diijinkan oleh string json,


//maka akan kita replace dengan karakter `
//strip_tag berfungsi untuk menghilangkan tag-tag html pada string

$char = '"';

$json .=
'{"id":"'.$row['nip'].'",
"nama":"'.str_replace($char,'`',strip_tags($row['namapeserta'])).'",
"foto":"http://thepremiere-tc.hol.es/page/foto/foto_peserta/'.$row['imagepeserta'].'"},';
}

// buat menghilangkan koma diakhir array


$json = substr($json,0,strlen($json)-1);

$json .= ']}';

// print json
echo $json;

?>

detail_peserta.php
<?php

$kd="";
include '../config/koneksi.php';
//$kd = $_GET['idpeserta'];
if(isset($_GET['nip'])){
$kd=$_GET['nip'];

$query = mysql_query('SELECT * FROM peserta where nip="'.$kd.'"');


$json = '{"peserta": [';
while($row=mysql_fetch_array($query))
{

//tanda kutip dua (") tidak diijinkan oleh string json,


//maka akan kita replace dengan karakter `
//strip_tag berfungsi untuk menghilangkan tag-tag html pada string

$char = '"';

$json .=
'{"id":"'.$row['nip'].'",
"nama":"'.str_replace($char,'`',strip_tags($row['namapeserta'])).'",
"ttl":"'.str_replace($char,'`',strip_tags($row['ttlpeserta'])).'",
"alamat":"'.str_replace($char,'`',strip_tags($row['alamatpeserta'])).'",
"jenkel":"'.str_replace($char,'`',strip_tags($row['jenkelpeserta'])).'",
"agama":"'.str_replace($char,'`',strip_tags($row['agamapeserta'])).'",
"pekerjaan":"'.str_replace($char,'`',strip_tags($row['pekerjaanpeserta'])).'",
"notlp":"'.str_replace($char,'`',strip_tags($row['notlppeserta'])).'",
"nohp":"'.str_replace($char,'`',strip_tags($row['nohppeserta'])).'",
"email":"'.str_replace($char,'`',strip_tags($row['emailpeserta'])).'",
"training":"'.str_replace($char,'`',strip_tags($row['training'])).'",
"join":"'.str_replace($char,'`',strip_tags($row['tanggaljoin'])).'",
"catatan":"'.str_replace($char,'`',strip_tags($row['catatanpeserta'])).'",
"foto":"http://thepremiere-tc.hol.es/page/foto/foto_peserta/'.$row['imagepeserta'].'"},';
}
// buat menghilangkan koma diakhir array
$json = substr($json,0,strlen($json)-1);

$json .= ']}';
// print json
echo $json;
?>

jadwal.php
<?php

include '../config/koneksi.php';
$query = mysql_query("SELECT * FROM jadwal ORDER BY id_jadwal desc");
$json = '{"jadwal": [';

// bikin looping dech array yang di fetch


while ($row = mysql_fetch_array ($query)) {

//tanda kutip dua (") tidak diijinkan oleh string json,


//maka akan kita replace dengan karakter `
//strip_tag berfungsi untuk menghilangkan tag-tag html pada string

$char = '"';

$json .=
'{"id":"'.$row['id_jadwal'].'",
"training":"'.str_replace($char,'`',strip_tags($row['program'])).'"},';
}

// buat menghilangkan koma diakhir array


$json = substr($json,0,strlen($json)-1);

$json .= ']}';

// print json
echo $json;

?>

Detail_jadwal.php
<?php

$kd="";
include '../config/koneksi.php';
//$kd = $_GET['idjadwal'];
if(isset($_GET['id_jadwal'])){
$kd=$_GET['id_jadwal'];

$query = mysql_query('SELECT * FROM jadwal where id_jadwal="'.$kd.'"');


$json = '{"jadwal": [';

while($row=mysql_fetch_array($query))
{

//tanda kutip dua (") tidak diijinkan oleh string json,


//maka akan kita replace dengan karakter `
//strip_tag berfungsi untuk menghilangkan tag-tag html pada string

$char = '"';

$json .=
'{"id":"'.$row['id_jadwal'].'",
"catatan":"'.str_replace($char,'`',strip_tags($row['catatan'])).'",
"hari1":"'.str_replace($char,'`',strip_tags($row['hari1'])).'",
"hari2":"'.str_replace($char,'`',strip_tags($row['hari2'])).'",
"waktu1":"'.str_replace($char,'`',strip_tags($row['waktu1'])).'",
"waktu2":"'.str_replace($char,'`',strip_tags($row['waktu2'])).'",
"trainer1":"'.str_replace($char,'`',strip_tags($row['trainer1'])).'",
"trainer2":"'.str_replace($char,'`',strip_tags($row['trainer2'])).'",
"nohpt1":"'.str_replace($char,'`',strip_tags($row['nohpt1'])).'",
"nohpt2":"'.str_replace($char,'`',strip_tags($row['nohpt2'])).'"},';
}
// buat menghilangkan koma diakhir array
$json = substr($json,0,strlen($json)-1);
$json .= ']}';
// print json
echo $json;
?>

loginnilai.php
<?php
include '../config/koneksi.php';

$username = $_GET["username"];
$password = $_GET["password"];

$query = "select * from nilai where id_nilai='$username' and password='$password' ";

$hasil = mysql_query($query);
if (mysql_num_rows($hasil) > 0) {
$response = array();
$response["login"] = array();
while ($data = mysql_fetch_array($hasil))
{
$h['id_nilai'] = $data['id_nilai'] ;
$h['nip'] = $data['nip'] ;
$h['nama'] = $data['nama'] ;
$h['id_training'] = $data['program'] ;
$h['nilai'] = $data['nilai'] ;
$h['catatan_nilai'] = $data['catatan_nilai'] ;

array_push($response["login"], $h);
}
$response["success"] = "1";
echo json_encode($response);
}
else {
$response["success"] = "0";
$response["message"] = "Tidak ada data";
echo json_encode($response);
}
?>

registrasi.php
<?php
$tanggaldaftar= $_POST['tanggaldaftar'];
$nama = $_POST['nama'];
$kotalahir = $_POST['kotalahir'];
$tanggallahir= $_POST['tanggallahir'];
$jenkel = $_POST['jenkel'];
$agama = $_POST['agama'];
$alamat = $_POST['alamat'];
$kota = $_POST['kota'];
$provinsi = $_POST['provinsi'];
$kodepos = $_POST['kodepos'];
$pekerjaan= $_POST['pekerjaan'];
$email = $_POST['email'];
$teleponrumah = $_POST['teleponrumah'];
$nohandphone= $_POST['nohandphone'];
$training= $_POST['training'];

include '../config/koneksi.php';
$namaTabel = "registrasi";

header('Content-Type: text/xml');

$query = "INSERT INTO $namaTabel (


`tanggaldaftar` ,
`nama` ,
`kotalahir` ,
`tanggallahir` ,
`jenkel` ,
`agama` ,
`alamat` ,
`kota` ,
`provinsi` ,
`kodepos` ,
`pekerjaan` ,
`email` ,
`teleponrumah` ,
`nohandphone` ,
`training`
) VALUES
(
'$tanggaldaftar',
'$nama',
'$kotalahir',
'$tanggallahir',
'$jenkel',
'$agama',
'$alamat',
'$kota',
'$provinsi',
'$kodepos',
'$pekerjaan',
'$email',
'$teleponrumah',
'$nohandphone',
'$training'
)";
$hasil = mysql_query($query);
if($hasil)
{
$response["success"] = "1";
$response["message"] = "Data sukses diinput";
echo json_encode($response);
}
else
{$response["success"] = "0";
$response["message"] = "Maaf , terjadi kesalahan";

// echoing JSON response


echo json_encode($response);
}
?>

Anda mungkin juga menyukai