APLIKASI PELATIHAN SOAL UJIAN NASIONAL TINGKAT SMP BERBASIS ANDROID Tugas akhir disusun untuk memenuhi syarat mencapai gelar kesarjanaan komputer pada Program Studi Teknik Informatika Jenjang Program Strata 1
Oleh : PRIYO TRI HANDOYO 09.01.53.0150
12185
FAKULTAS TEKNOLOGI INFORMASI UNIVERSITAS STIKUBANK (UNISBANK) SEMARANG 2014
i
ii
iii
MOTTO “Hai orang-orang yang beriman, Jadikanlah sabar dan shalatmu Sebagai penolongmu, sesungguhnya Allah beserta orang-orang yang sabar” (AlBaqarah: 153) Berangkat dengan penuh keyakinan, berjalan dengan penuh keikhlasan, Istiqomah dalam menghadapi cobaan. Di dunia penuh persaingan, siapa yang tidak bersiap-siap dia akan kalah. Membaca adalah sumber kehidupan.
PERSEMBAHAN Allah SWT yang memberikan hidayah yang tidak terbatas. Semua dosen Fakultas Teknologi Informasi Universitas STIKUBANK Semarang yang telah mengajar dar tahap semester awal sampai semester akhir. Dosen pembimbing yang selalu mengarahkan dalam proses pembuatan skripsi dan selalu memberikan masukan-masukan yang bermanfaat sehingga sampai akhir skripsi (Sariyun Naja Anwar, B.Sc, M.MSi). Bapak dan Ibu yang selalu memberikan dorongan semangat lahir dan batin serta memberikan kasih sayangnya yang tidak terbatas. Kakak, adik dan saudara selalu berikan motivasi. Sahabat-sahabat dan teman-teman seperjuangan Teknik informatika dan masih banyak lagi yang tidak bisa disebutkan satu per satu. Kekasih tersayang yang selalu memberikan arahan dan tempat curhat di selasela skripsi ini sehingga bisa berhasil sampai titik akhir.
iv
v
KATA PENGANTAR Alhamdulillahirabbil’aalamiin. Puji syukur Penulis pajatkan kehadirat Allah SWT, dengan ridha dan petunjuk-Nya lah Penulis dapat menyelesaikan Skripsi dengan judul “APLIKASI PELATIHAN SOAL UJIAN NASIONAL TINGKAT SMP BERBASIS ANDROID” ini. Penulisan tugas akhir ini bertujuan untuk memenuhi salah satu syarat untuk menempuh jenjang strata satu pada Universitas Stikubank “UNISBANK” Semarang. Dalam kesempatan ini Penulis ingin mengucapakan terima kasih kepada pihak-pihak yang telah memberikan bantuan dan bimbingan dalam menyelesaikan Skripsi ini. Dalam hal ini kepada: 1. Bapak
Hasan Abdul Rozak,Dr.,S.H.,CN,M.M selaku Rektor Universitas
Stikubank Semarang. 2. Bapak
Yohanes Suhari,Drs.M.Msi.Dr selaku Dekan Fakultas Teknologi
Informasi (FTI) Universitas Stikubank Semarang. 3. Bapak Jati Sasongko Wibowo,S.Kom,M.Cs , selaku kepala Progdi Teknik Informatika Unisbank Semarang. 4. Bapak Sariyun Naja Anwar, B.Sc, M.MSi. selaku dosen pembimbing .
Tiada materi dan benda yang penulis haturkan kecuali doa kepada Allah SWT yang penulis Agungkan, semoga pihak yang telah membantu kelancaran penulis
vi
dalam penyusunan tugas akhir ini mendapatkan imbalan pahala yang setimpal dengan amalanya, dan tidak lupa penulis ucapkan terima kasih. Akhirnya semoga tugas akhir ini dapat bermanfaat bagi pembaca pada umumnya dan almamater pada khususnya.
Semarang,
September 2014
Penulis
Priyo Tri Handoyo
vii
DAFTAR ISI
Halaman
HALAMAN JUDUL.............................................................................................
i
HALAMAN PERSETUJUAN..............................................................................
ii
HALAMAN PENGESAHAN...............................................................................
iii
HALAMAN MOTTO/PERSEMBAHAN.............................................................
iv
HALAMAN ABSTRAK........................................................................................
v
HALAMAN KATA PENGANTAR .....................................................................
vi
DAFTAR ISI..........................................................................................................
viii
DAFTAR GAMBAR..............................................................................................
xi
DAFTAR TABEL...................................................................................................
xv
BAB I PENDAHULUAN 1.1. Latar Belakang....................................................................................
1
1.2. Perumusan Masalah............................................................................
3
1.3. Batasan Masalah ................................................................................
3
1.4. Tujuan dan Manfaat Penelitian...........................................................
4
1.4.1 Tujuan Penelitian......................................................................
4
1.4.2 Manfaat Penelitian.....................................................................
4
1.5. Metodologi Penelitian .........................................................................
5
1.5.1 Jenis Data..................................................................................
5
1.5.2 Metode Pengumpulan Data .....................................................
5
1.5.3 Metode Pengembangan Sistem.................................................
6
1.6. Sistematika Penulisan .......................................................................... 8
viii
BAB II TINJAUAN PUSTAKA 2.1. Tinjauan Penelitian Terdahulu ........................................................ 10 BAB III LANDASAN TEORI 3.1. ANDROID ......................................................................................
15
3.1.1 Pengenalan Andoid................................................................
15
3.1.2 Asitektur Android..................................................................
18
3.2. FUNDAMENTAL APLIKASI ......................................................
22
3.3. XML ( EXTENSIBLE MARKUP LANGUAGE ).........................
24
3.4. MySQL ............................................................................................ 25 3.5. ANDROID SDK..............................................................................
25
3.6. ECLIPSE..........................................................................................
26
3.7. ADT ( ANDROID DEVELOPMENT TOOLS ).............................
27
3.8 UML ( UNIFIED MODELING LANGUAGE ) .............................
28
BAB VI ANALISIS 4.1. ANALISIS PERMASALAHAN SISTEM SAAT IN....................
35
4.2. ANALISIS PEMECAHAN MSLH DENGAN SISTEM BARU..
36
4.3. ANALISIS KEBUTUHAN NON FUNGSIONAL ......................
37
4.3.1. Kebutuhan Perangkat Keras dan Lunak...............................
37
4.3.1.1. Kebutuhan Perangkat Keras ...................................
37
4.3.1.2. Kebutuhan Perangkat Lunak...................................
38
4.3.2. Analisis Kebutuhan Pengguna.............................................
39
4.4. ANALISIS KEBUTUHAN FUNGSIONAL.................................
40
4.4.1. Kemampuan Aplikasi ..........................................................
40
4.4.2. Kebutuhan Data ...................................................................
41
ix
4.4.3. Fitur Perangkat Lunak .........................................................
42
4.5 ANALISIS ARSITEKTUR APLIKASI..........................................
44
4.6 PERMODELAN APLIKASI...........................................................
45
4.6.1. Use Case Diagram ...............................................................
45
4.6.2. Activity Diagram .................................................................
47
4.6.3. State Diagram ......................................................................
64
4.6.4. Sequence Diagram ...............................................................
65
BAB V PERANCANGAN 5.1. CLASS DIAGRAM ......................................................................
67
5.2. KAMUS DATA ............................................................................
69
5.3. RELASI TABEL ............................................................................
71
5.4. PERANCANGAN TABEL ...........................................................
72
5.4.1 Tabel User ............................................................................
72
5.4.2 Tabel Mapel ………………………....................................
73
5.4.3 Tabel Soal ............................................................................
73
5.4.4 Tabel Hasil ...........................................................................
74
5.5. FLOWCHART ...............................................................................
75
5.6. PERANCANGAN MENU ............................................................
78
5.7. PERANCANGAN ANTAR MUKA .............................................
80
5.7.1 Halaman Pembuka ................................................................. 80 5.7.2 Halaman Menu Utama...........................................................
81
5.7.3 Halaman Login .....................................................................
82
5.7.4 Halaman Daftar......................................................................
83
5.7.5 Halaman Tentang...................................................................
83
5.7.6 Halaman Tutorial……...........................................................
84
x
5.7.7 Halaman Profil......................................................................
85
5.7.8 Halaman Pilih Mapel............................................................
85
5.7.9 Halaman Pilih Tipe…...........................................................
86
5.7.10 Halaman Jumlah Soal.......................................................... 87 5.7.11 Halaman Soal......................................................................
88
5.7.12 Halaman Hasil....................................................................
89
5.7.13 Halaman Rangking…........................................................
90
5.7.14 Halaman Manajemen Data.................................................
91
BAB VI IMPLEMENTASI 6.1. ANTAR MUKA APLIKASI .........................................................
92
6.1.1 Halaman Pembuka................................................................ 92 6.1.2 Halaman Menu Utama.......................................................... 95 6.1.3 Halaman Login..................................................................... 99 6.1.4 Halaman Daftar…................................................................ 102 6.1.5 Halaman Tentang.................................................................. 106 6.1.6 Halaman Tutorial.................................................................. 109 6.1.7 Halaman Profil..................................................................... 114 6.1.8 Halaman Pilih Mapel............................................................ 116 6.1.9 Halaman Pilih Tipe Soal....................................................... 119 6.1.10 Halaman Jumlah Soal......................................................... 122 6.1.11 Halaman Soal...................................................................... 126 6.1.12 Halaman Hasil.................................................................... 130 6.1.13 Halaman Rangking............................................................. 134 6.2.14 Halaman Manajemen Data................................................ 137
xi
BAB VII HASIL DAN PEMBAHASAN 7.1 TAMPILAN HALAMAN PEMBUKA........................................
141
7.2 TAMPILAN HALAMAN MENU................................................
142
7.3 TAMPILAN HALAMAN LOGIN...............................................
144
7.4 TAMPILAN HALAMAN MENDAFTAR.................................... 145 7.5 TAMPILAN HALAMAN TENTANG.......................................... 146 7.6 TAMPILAN HALAMAN TUTORIAL.......................................... 147 7.7 TAMPILAN HALAMAN PROFIL................................................ 148 7.8 TAMPILAN HALAMAN MAPEL................................................. 149 7.9 TAMPILAN HALAMAN SOAL.................................................... 150 7.10 TAMPILAN HALAMAN HASIL.................................................. 151 7.11 TAMPILAN HALAMAN RANGKING........................................ 152 7.12 TAMPILAN HALAMAN MANAJEMEN DATA........................ 153 BAB VIII KESIMPULAN DAN SARAN 8.1 KESIMPULAN…….….................................................................. 154 8.2 SARAN-SARAN….....…................................................................ 154 DAFTAR PUSTAKA…….…............................................................................... 156 LAMPIRAN
xii
DAFTAR GAMBAR
Gambar 1.1
Metode Pengembangan Prototype........................................
6
Gambar 3.1
Arsitektur Program ……………...........................................
18
Gambar 4.1
Arsitektur Aplikasi ...............................................................
44
Gambar 4.2
Diagram Use Case Sistem User ..........................................
45
Gambar 4.3
Diagram Use Case Sistem Admin........................................
46
Gambar 4.4
Diagram Activity Mendaftar................................................
47
Gambar 4.5
Diagram Activity Login........................................................
48
Gambar 4.6
Diagram Activity Latihan Soal User Teregistrasi.................
49
Gambar 4.7
Diagram Activity Latihan Soal User Belum Tergistrasi.......
50
Gambar 4.8
Diagram Activity Melihat Hasil...........................................
50
Gambar 4.9
Diagram Activity Melihat Rangking....................................
51
Gambar 4.10 Diagram Activity Melihat Profil...........................................
51
Gambar 4.11 Diagram Activity Melihat Tutorial.......................................
51
Gambar 4.12 Diagram Activity Melihat Tentang.......................................
52
Gambar 4.13 Diagram Activity Manajemen Data Input Data User...........
52
Gambar 4.14 Diagram Activity Manajemen Data Update Data User........
53
Gambar 4.15 Diagram Activity Manajemen Data Hapus Data User..........
54
Gambar 4.16 Diagram Activity Manajemen Data Input Data Mapel.........
55
Gambar 4.17 Diagram Activity Manajemen Data Update Data Mapel......
56
Gambar 4.18 Diagram Activity Manajemen Data Hapus Data Mapel.......
57
Gambar 4.19 Diagram Activity Manajemen Data Input Data Soal............
58
Gambar 4.20 Diagram Activity Manajemen Data Update Data Soal.........
59
Gambar 4.21 Diagram Activity Manajemen Data Hapus Data Soal..........
60
Gambar 4.22 Diagram Activity Manajemen Data Input Data Hasil...........
61
Gambar 4.23 Diagram Activity Manajemen Data Update Data Hasil.......
62
xiii
Gambar 4.24 Diagram Activity Manajemen Data Hapus Data Hasil.........
63
Gambar 4.25 Diagram State Sistem ……..................................................
64
Gambar 4.26 Diagram Sequence User Sistem ….......................................
65
Gambar 4.27 Diagram Sequence Admin Sistem …...................................
66
Gambar 5.1
Diagram Class Sistem.…......................................................
67
Gambar 5.2
Diagram ERD Sistem ...........................................................
71
Gambar 5.3
Diagram Flowchart Latihan Soal..........................................
75
Gambar 5.4
Diagram Flowchart Manajemen Data...................................
76
Gambar 5.4
Struktur Menu Sistem...........................................................
78
Gambar 5.5
Halaman Pembuka …...........................................................
80
Gambar 5.6
Halaman Menu Utama .........................................................
81
Gambar 5.7
Halaman Login ……............................................................
82
Gambar 5.8
Halaman Daftar ...................................................................
83
Gambar 5.9
Halaman Tentang ………....................................................
83
Gambar 5.10 Halaman Tutorial ………....................................................
84
Gambar 5.11 Halaman Profil ……….........................................................
85
Gambar 5.12 Halaman Pilih Mata Pelajaran..............................................
85
Gambar 5.13 Halaman Pilih Tipe ……......................................................
86
Gambar 5.14 Halaman Pilih Jumlah Soal .................................................
87
Gambar 5.15 Halaman Soal …………........................................................
88
Gambar 5.16 Halaman Hasil ………….....................................................
89
Gambar 5.17 Halaman Rangking ...............................................................
90
Gambar 5.18 Halaman Manajemen Data ...................................................
91
Gambar 6.1
Halaman Pembuka ...............................................................
92
Gambar 6.2
Halaman Menu Utama..........................................................
95
Gambar 6.3
Halaman Login ....................................................................
99
Gambar 6.4
Halaman Daftar ...................................................................
102
Gambar 6.5
Halaman Tentang……..........................................................
106
xiv
Gambar 6.6
Halaman Tutorial..................................................................
109
Gambar 6.7
Halaman Profil …………….................................................
114
Gambar 6.8
Halaman Pilih Mapel ………...............................................
116
Gambar 6.9
Halaman Pilih Tipe Soal.......................................................
119
Gambar 6.10 Halaman Jumlah Soal ..........................................................
122
Gambar 6.11 Halaman Soal ………...........................................................
126
Gambar 6.12 Halaman Hasil ………..........................................................
130
Gambar 6.13 Halaman Rangking …….......................................................
134
Gambar 6.14 Halaman Manajemen Data....................................................
137
Gambar 7.1
Tampilan Halaman Pembuka................................................
141
Gambar 7.2
Tampilan Halaman Menu Utama..........................................
142
Gambar 7.3
Tampilan Halaman Login….................................................
144
Gambar 7.4
Tampilan Proses Login…………….....................................
144
Gambar 7.5
Tampilan Proses Login Sukses…….....................................
144
Gambar 7.6
Tampilan Input Halaman Daftar...........................................
145
Gambar 7.7
Tampilan Proses Halaman Daftar….....................................
145
Gambar 7.8
Tampilan Pendaftaran Sukses…….......................................
145
Gambar 7.9
Tampilan Halaman Tentang..................................................
146
Gambar 7.10 Tampilan Halaman Tutorial..................................................
147
Gambar 7.11 Tampilan Halaman Profil......................................................
148
Gambar 7.12 Tampilan Halaman Mapel.....................................................
149
Gambar 7.13 Tampilan Halaman Tipe Soal...............................................
149
Gambar 7.14 Tampilan Halaman Jumlah Soal...........................................
149
Gambar 7.15 Tampilan Halaman Soal........................................................
150
Gambar 7.16 Tampilan Proses Jawaban.....................................................
150
Gambar 7.15 Tampilan Halaman Soal Berikutnya.....................................
150
Gambar 7.16 Tampilan Halaman Hasil......................................................
151
Gambar 7.17 Tampilan Halaman Rangking...............................................
152
xv
Gambar 7.18 Tampilan Halaman Manajemen Data...................................
xvi
153
DAFTAR TABEL
Tabel 3.1
Simbol Use Case Diagram..................................................
29
Tabel 3.2
Simbol Class Diagram.........................................................
30
Tabel 3.3
Simbol Sequence Diagram..................................................
31
Tabel 3.4
Simbol State Diagram….....................................................
31
Tabel 3.5
Simbol Activity Diagram....................................................
32
Tabel 3.6
Flow Direction Symbols.....................................................
33
Tabel 3.7
Processing Symbols............................................................
33
Tabel 3.8
Input Output Symbols.........................................................
34
Tabel 5.1
Tabel User...........................................................................
72
Tabel 5.2
Tabel Mapel........................................................................
73
Tabel 5.3
Tabel Soal...........................................................................
73
Tabel 5.4
Tabel Hasil..........................................................................
74
xvii
BAB I PENDAHULUAN
1.1.
LATAR BELAKANG Seiring dengan berkembangnya teknologi yang sangat pesat di masa ini, media komunikasi dan informasi semakin banyak memberikan kemudahan untuk saling berinteraksi antar pengguna. Dalam hal ini, handphone merupakan salah satu bentuk dari perkembangan teknologi yang tidak hanya berguna sebagai alat komunikasi, tetapi juga sebagai hiburan dan media pembelajaran. Fakta ini dapat dibuktikan dengan berkembangnya berbagai jenis smartphones yang di buat vendor-vendor ponsel terkemuka di dunia. Hal ini baik secara langsung maupun tidak langsung berpengaruh terhadap
perkembangan
dunia
pendidikan
di
Indonesia
dalam
mengembangkan berbagai macam teknologi (Nugroho,2013). Android untuk merupakan salah satu sistem operasi yang banyak diminati baik dari produsen maupun konsumen, itu bisa dilihat dari berbagai vendor yang mengusung sistem operasi ini di berbagai macam smartphone buatan mereka. Kepopuleran sangat berpengaruh dalam hal peningkatan pertambahan pemakai smartphone. Berbagai wacana sering kita baca bahwa telepon genggam yang menggunakan sistem operasi android mempunyai banyak kelebihan bukan hanya bersifat terbuka (opensource) tapi bisa dilihat
1
dari segi tampilan, kemudahan dalam menerima sebuah notifikasi, sinkronisasi email, dan kemampuan multi taskingnya. Ujian Nasional merupakan suatu sistem evaluasi standar pendidikan dasar dan menengah secara nasional dan persamaan mutu tingkat pendidikan antar daerah yang dilakukan oleh Pusat Penilaian Pendidikan di indonesia. Untuk melanjutkan ke jenjang yang lebih tinggi, para siswa kelas 3 khususnya tingkat Sekolah Menengah Pertama (SMP) diwajibkan mengikuti serangkaian tes yang diberikan saat Ujian Nasional berlangsung, seperti mata pelajaran Bahasa Indonesia, Matematika, Bahasa Inggris dan IPA. Agar para siswa kelas 3 tingkat SMP dapat lulus serta mendapatkan nilai yang memuaskan dan diterima di Sekolah Menengah Atas (SMA) yang diinginkan, banyak tempat lembaga bimbingan belajar yang melakukan serangkaian program test uji coba Ujian Nasional. Tetapi pada umumnya biaya di tempat lembaga bimbingan belajar relatif mahal sehingga kebanyakan siswa tidak mendapatkan kesempatan dalam mendapatkan fasilitas tersebut. Untuk memecahkan solusi tersebut dan siswa tidak terbebani dengan biaya yang relatif mahal, beberapa pihak sekolah secara global melakukan pelatihan ujian nasional dengan melakukan test tertulis yang membutuhkan banyak media kertas yang digunakan serta dalam pengambilan penilaian hasil pelatihan test tersebut dibutuhkan waktu yang lama karena menggunakan cara penghitungan manual.
2
Berdasarkan uraian diatas, peneliti bemaksud untuk membuat sebuah aplikasi mobile yang berguna untuk dijadikan suatu media dalam pelatihan ujian nasional untuk siswa SMP dengan mudah karena bisa dilakukan kapan saja dan dimana saja.
1.2.
PERUMUSAN MASALAH Berdasarkan latar belakang dan permasalahan yang akan di angkat dalam penyusunan tugas akhir ini adalah membangun aplikasi pelatihan soal ujian nasional tingkat SMP berbasis android.
1.3.
BATASAN MASALAH Untuk memberikan batasan agar penelitian tidak melebar dan terfokus dalam tujuan penelitian, maka penelitian ini dibatasi masalah: 1. Aplikasi ini dijalankan di handphone yang bersistem operasi android versi jelly bean. 2. Aplikasi ini dibuat untuk pelatihan ujian nasional tingkat SMP yang terdiri dari 4 mata pelajaran, yaitu Bahasa Indonesia, Matematika, Bahasa Inggris dan IPA. 3. Referensi soal di ambil dari buku “Detik-Detik Ujian Nasional” penerbit Intan Pariwara dan buku “SPM Plus” Penerbit Esis. 4. Aplikasi berjalan dengan menggunakan koneksi internet ( online ).
3
5. Pembuatan aplikasi ini menggunakan software ADT (Android Development Tools) yang dihubungkan dengan eclipse dan android Software Development Kit (SDK). 6. Dalam penggunaan database, aplikasi ini menggunakan My SQL.
1.4.
TUJUAN DAN MANFAAT PENELITIAN 1.4.1. TUJUAN Tujuan penulis mengadakan penelitian ini adalah merancang dan membangun aplikasi pelatihan soal ujian nasional berbasis android yang akan dapat mempermudah dan membantu siswa SMP dalam proses pembelajaran ujian nasional kapan saja dan dimana saja. 1.4.2. MANFAAT Manfaat dalam penyusunan tugas akhir ini sebagai berikut: 1. Aplikasi ini sangat membantu bagi seluruh guru SMP dalam melakukan serangkaian proses tes ujian. 2. Penelitian ini diharapkan bisa menjadi salah satu media bagi seluruh siswa SMP dalam sebuah wadah pelatihan ujian nasional.
4
1.5.
METODOLOGI PENELITIAN 1.5.1. JENIS DATA Jenis data yang diperlukan untuk membantu penulis dalam melaksanakan penelitian sebagai berikut : 1. Data Primer Data primer adalah data yang diperoleh secara langsung dari objek yang diteliti baik yang digunakan melalui pengamatan, pencatatan atau penelitian. 2. Data Sekunder Data sekunder adalah data yang meliputi semua data yang berhubungan dengan permasalahan yang diteliti, ditulis atau dikumpulkan secara tidak langsung dari obyek penelitian yang dapat berupa catatan dan laporan data yang diperoleh yang mendukung penelitian.
1.5.2. METODE PENGUMPULAN DATA 1. Metode Kepustakaan Yaitu cara pengumpulan data dengan menggunakan sumbersumber
yang
diperoleh
dalam
buku
“Detik-Detik Ujian
Nasional” penerbit Intan Pariwara dan buku “SPM Plus” penerbit Esis serta dokumen yang berhubungan dengan objek penelitian.
5
2. Metode Browsing Yaitu cara pengumpulan data dengan menggunakan sumbersumber
yang
dengan
objek
diperoleh penelitian.
dalam internet Metode
yang
ini
berhubungan
diperlukan
guna
menunjang kelengkapan data, jadi sifatnya hanya melengkapi data yang diperoleh dari tempat melakukan penelitian.
1.5.3. METODE PENGEMBANGAN SISTEM Metode pengembangan sistem yang akan digunakan adalah Prototype.
Prototyping
adalah
proses
perulangan
dalam
pengembangan sistem dimana kebutuhan sistem diubah ke dalam sistem yang berjalan yang secara terus menerus diperbaiki melalui kerjasama antara user dan analis (Al Fatta, 2007 :5).
Gambar 1.1 Metode Pengembangan Prototype (Sumber : Al-Fatta, 2007 : 6)
6
Kelebihan
Prototype
sehingga
digunakan
sebagai
metode
pengembangan dalam penelitian ini adalah karena : 1. Melibatkan user dalam analisis dan desain sehingga akan lebih tepat sasaran. 2. Punya kemampuan menangkap kebutuhan sistem secara konkret daripada secara abstrak karena user sistem terlibat. 3. Dapat digunakan untuk membangun
sistem yang berdiri
sendiri. 4. Digunakan
untuk
memperluas
metode
SDLC
(System
Development Life Cycle). Langkah metodologi yang dilakukan dalam prototype adalah (Al Fatta, 2007 :6) : 1. Analis bekerja dengan tim untuk mengidentifikasi kebutuhan awal untuk sistem. 2. Analis kemudian membangun prototype. Ketika sebuah prototype telah selesai user bekerja dengan prototype itu dan menyampaikan pada analis apa yang mereka sukai dna tidak mereka sukai. 3. Analis kemudian menggunakan feedback ini untuk memperbaiki prototype. 4. Versi baru diberikan kembali ke user.
7
1.6
SISTEMATIKA PENULISAN Dalam
penyusunan
skripsi
ini
dilakukan
pembagian
dalam
beberapa bab, antara lain : BAB I
PENDAHULUAN Pada bab ini di uraikan tentang latar belakang, perumusan masalah dan pembatasan masalah, tujuan dan manfaat penelitian, metodologi penelitian, dan sistematika penulisan yang digunakan.
BAB II
TINJAUAN PUSTAKA Pada bab ini akan memuat uraian sistematis tentang hasil-hasil penelitian
yang
telah
dilakukan
sebelumnya
dan
menghubungkannya dengan masalah penelitian yang sedang diteliti. BAB III
LANDASAN TEORI Pada
bab
ini diuraikan tentang
teori-teori
yang
ada
hubungannya dengan pokok permasalahan yang akan dipilih dan dijadikan sebagai landasan teori yang berkaitan dengan topik penelitian. BAB IV
ANALISIS Berisi uraian tentang analisis sebuah kebutuhan system, arsitektur aplikasi, permodelan di dalam sebuah aplikasi yang akan dibangun. 8
BAB V
PERANCANGAN Berisi uraian tentang gambaran umum sistem, perancangan desain
perancangan
database,
perancangan
menu
dan
perancangan form ataupun perancangan antar muka aplikasi yang akan dibuat. BAB VI
IMPLEMENTASI Berisi uraikan tentang implementasi atau penerapan dan pembangunan sistem yang telah dirancang menjadi sebuah aplikasi.
BAB VII
HASIL DAN PEMBAHASAN Berisi kesimpulan berdasarkan hal-hal yang telah dibahas pada bab
terdahulu
dan
saran-saran
yang
berguna
bagi
pengembangan tugas akhir ini kedepannya. BAB VIII
PENUTUP Berisi kesimpulan berdasarkan hal-hal yang telah dibahas pada bab
terdahulu
dan
saran-saran
yang
pengembangan tugas akhir ini kedepannya.
9
berguna
bagi
BAB II TINJAUAN PUSTAKA
2.1.
TINJAUAN PENELITIAN TERDAHULU 1. Menurut Fikran Faris Utomo dan Yoanes Bandung (2012) dalam penelitiannya yang berjudul : “Sistem latihan ujian nasional berbasis android”. Dalam penelitian ini akan dibuat sebuah rancangan sistem latihan soal UN yang terdiri dari aplikasi untuk ponsel pintar dengan sistem operasi Android dan aplikasi pada server sebagai pendukung yang ditujukan kepada siswa kelas XII tingkat SMA. Aplikasi pada Android akan terhubung dengan server untuk mengunduh modul-modul soal baru. Aplikasi pada Android akan menampilkan soal-soal latihan UN dan siswa dapat menjawabnya langsung pada ponsel mereka. Setelah selesai, aplikasi akan menghitung skor siswa. Satu mata pelajaran terdiri dari beberapa buah modul. Siswa dapat menambahkan modul baru dengan cara mengunduhnya dari server. Modul-modul pada server sendiri akan ditambahkan oleh lembaga bimbingan belajar (bimbel). Bimbel akan diberikan sebuah aplikasi web untuk membuat modul-modul soal. Metodologi yang digunakan pada tugas akhir ini adalah studi literatur, analisis kebutuhan, desain sistem, implementasi, dan pengujian. Akan tetapi, rancangan sistem latihan soal UN tidak akan diimplementasi
10
semuanya. Hanya bagian sistem berupa aplikasi pada Android saja yang diimplemtasikan dan diujikan. Tugas akhir ini telah menghasilkan sebuah aplikasi Android yang dapat digunakan untuk mengerjakan soal-soal latihan. Hasil pengujian menunjukan bahwa aplikasi ini telah dapat menampilkan soal latihan, menerima masukan jawaban pengguna, dan menghitung skor pengguna.
2. Menurut Tanti Kristanti dan Devriena Ocktara (2012) dalam penelitiannya yang berjudul : “Pembuatan aplikasi tryout simulasi persiapan SNMPTN”. Salah satu bidang pendidikan informal yaitu lembaga bimbingan belajar memberikan
pelayanan
kepada
siswa
siswi
untuk
membantu
meningkatkan prestasi belajar Seleksi Nasional Masuk Perguruan Tinggi (SNMPTN) yang diinginkan. Dalam menghadapi ujian SNMPTN, lembaga bimbingan belajar membantu siswa siswi dengan mengadakan try out SNMPTN. Sistem try out yang dilaksanakan adalah untuk mengukur kemampuan siswa siswi dalam menjawab soal-soal ujian SNMPTN. Dalam penelitian ini akan dibangun sebuah aplikasi desktop yaitu aplikasi simulasi persiapan SNMPTN berbasis stand alone yang ditujukan kepada siswa siswi SMA kelas XII. Aplikasi ini menggunakan model UML (Unified Modelling Language) dalam menggambarkan system perangkat lunaknya, untuk pembangunan aplikasi ini menggunakan bahasa
11
pemrograman java karena mempunyai keunggulan yaitu object oriented, bersifat terdistribusi, multiplatform, dan multithread serta databasenya menggunakan My SQL. 3. Menurut Lisa Aprianti (2011) dalam penelitiannya yang berjudul : “Implementasi Mobile Learning Sebagai Media Bantu Pembelajaran Untuk Mendukung Ujian Nasional Tingkat SMP Berbasis Android Di SMP 1 N Klaten”. Perkembangan teknologi saat ini telah menciptakan pengembangan terobosan baru dalam dunia pendidikan.
Dunia
pendidikan yang nantinya akan mencetak generasi muda yang memiliki kecerdasan otak sekaligus keterampilan yang
tinggi.
Tidak hanya
memanfaatkan perkembangan alat kemajuan IPTEK untuk kepentingan yang kurang bermanfaat namun dapat bermanfaat bagi peningkatan mutu SDM di Indonesia. Di penelitian ini akan dibangun sebuah aplikasi mobile learning untuk pembelajaran yang ditujukan kepada siswa kelas 3 di SMP N 1 Klaten. Aplikasi ini dijalankan di handphone yang bersistem operasi android. Untuk segi akses, siswa hanya dapat mengakses materi, tugas dan soal mata pelajaran secara online. Database dalam aplikasi ini menggunakan Postgre 5.0.2 dan tahapan perancangan system implementasi mobilenya meliputi pembuatan diagram konteks, diagram alir data, flowchart data, perancangan tabel dalam database dan perancangan antar muka.
12
4. Menurut Susanto, Hermawan dan Andharini Dwi Cahyani (2013) dalam penelitiannya yang berjudul : “Rancang Bangun Manajemen Pembelajaran Dan Tes Toefl Berbasis Mobile”. Perkembangan teknologi saat ini telah memberikan pengaruh yang sangat besar bagi dunia teknologi informasi dan telekomunikasi. Munculnya beragam aplikasi memberikan pilihan dalam peningkatan kinerja suatu pekerjaan, baik yang bersifat dekstop based, web baseb hingga yang sekarang ini munculnya aplikasi-aplikasi baru yang berjalan dalam mobile device/handphone. Pemilihan mobile device/handphone untuk salah satu pengembangan aplikasi selain lebih mudah dalam pengoperasiannya, sifat dari handphone yang fleksibel menjadi salah satu alasannya. Selain itu, pada era globalisasi saat ini, masyarakat tidak bisa lepas dari peran teknologi dalam kehidupannya. Salah satu teknologi yang sedang berkembang pesat saat ini adalah handphone berbasis Android. Android adalah system operasi untuk mobile device yang berbasis Linux. Sistem pada Android memungkinkan developer/pengembang membuat aplikasi sendiri dengan menggunakan bahasa pemrograman Java. Penelitian ini akan dibangun sebuah aplikasi pembelajaran dan test toefl yang di operasikan pada ponsel bersistem operasi android. Penelitian ini menggunakan
metode observasi,
pengumpulan data
dan
media,
perancangan system serta uji kelayakan system serta dalam pembuatannya 13
menggunakan aplikasi eclipse sebagai IDE. Pembuatan aplikasi menyesuaikan dengan rancangan sistem yang telah dibuat, dengan membuat tiga bagian inti aplikasi. Pertama membuat menu ujian yang berisi ujian-ujian TOEFL dan dapat melihat nilai, serta ditambahkan user session untuk mengidentifikasi pengguna aplikasi. Kedua membuat menu pembelajaran yang berisi materi-materi bahasa inggris yang mendukung dalam pengerjaan tes TOEFL. Ketiga membuat menu history yang akan menampilkan hasil pengerjaan dari user.
Kesamaan dalam penelitian ini dengan penelitian yang di uraikan diatas
yaitu
terdapat
penelitian
yang
meneliti
tentang
aplikasi
pembelajaran beserta pelatihan soal yang di implementasikan pada ponsel bersistem operasi android. Adapun perbedaanya yaitu dalam penelitian ini akan dibuat sebuah aplikasi pelatihan ujian nasional khusus ditujukan kepada siswa kelas IX tingkat SMP yang digunakan pada ponsel bersistem operasi android.
14
BAB III LANDASAN TEORI 3.1
ANDROID 3.1.1 PENGENALAN ANDROID Menurut Lisa Aprianti (2011) Android adalah sebuah sistem operasi untuk perangkat mobile berbasis linux yang mencakup sistem operasi, middleware dan aplikasi. Android menyediakan platform yang terbuka bagi para pengembang untuk menciptakan aplikasinya. Awalnya,
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 peranti keras, peranti lunak, dan telekomunikasi, termasuk Google, HTC , Intel, Motorola, Qualcomm, T-Mobile, dan Nvidia. 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 selular. Di dunia ini terdapat dua jenis distributor sistem operasi Android. Pertama yang mendapat dukungan penuh dari Google atau
15
Google Mail Services (GMS) dan kedua adalah benar – benar bebas distribusinya tanpa dukungan langsung Google atau dikenal sebagai Open Handset Distribution (OHD). Pada masa saat ini kebanyakan vendor–vendor smartphone sudah memproduksi smartphone berbasis android, vendor – vendor itu antara lain Motorola, Samsung, Huawei, Archos, Platformstation Camangi Dell, Nexus, SciPhone, Wayteq dan masih banyak lagi vendor smartphone di dunia ini yang memproduksi android. Hal ini karena android itu adalah system operasi yang opensource sehingga bebas didistribusikan dan dipakai oleh vendor manapun. Android sebagai platform masa depan karena : 1. Lengkap (Complete Platform) : Para desainer dapat melakukan pendekatan yang komprehensif pada saat mengembangkan platform android. Android merupakan sistem operasi yang aman dan banyak menyediakan tools dalam membangun software dan memungkinkan untuk peluang pengembangan aplikasi. 2. Terbuka (Open Source Platform) : Platform Android disediakan melalui lisensi open source. Pengembang dapat dengan bebas untuk mengembangkan aplikasi. Android sendiri menggunakan Linux Kernel 2.6. 3. Free, artinya Android adalah platform yang bebas untuk develope. Tidak ada lisensi atau biaya royalti untuk dikembangkan pada platform android. Tidak ada biaya keanggotaan diperlukan. Tidak 16
diperlukan biaya pengujian. Tidak ada kontrak yang diperlukan. Android dapat didistribusikan dan diperdagangkan dalam bentuk apapun. Android merupakan generasi baru platform
platform
mobile,
yang memberikan pengembang untuk melakukan
pengembangan sesuai dengan yang diharapkannya. Sistem Operasi yang mendasari Android di-lisensi-kan di bawah GNU, General Public Lisensi Versi 2 yang sering dikenal dengan istilah “copy left” dimana setiap perbaikan
pihak ketiga harus terus jatuh
dibawah terms. Android didistribusikan di bawah Lisensi Apache Software
yang
memungkinkan
untuk
didistribusikan
dan
seterusnya.
3.1.2 ARSITEKTUR ANDROID Menurut Kristian Ariyanto Zai (2012), Secara garis besar Arsitektur Android dapat digambarkan dan dijelaskan sebagai berikut :
17
Gambar 3.1 Arsitektur Program 1. Applications dan Widgets Applications dan Widgets ini adalah layer dimana berhubungan dengan aplikasi saja, dimana biasanya kita download aplikasi kemudian kita lakukan instalasi dan jalankan aplikasi tersebut, di layer inilah terdapat seperti aplikasi inti termasuk klien email, program SMS, kalender, peta, browser, kontak, dan lain-lain. All applications are written using the Java programming language. Semua aplikasi ditulis menggunakan bahasa pemrograman Java. 2. Applications Frameworks
18
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 lokasi, menjalankan background service, mengatur
alarm,
dan
menambahkan
tambahkan
seperti
notificatios status, dan masih banyak lagi. Pengembang memiliki akses penuh menuju API framework yang seperti yang dilakukan oleh Aplikasi inti. Arsitektur aplikasi ini dirancang dengan mudah kita dapat menggunakan komponen yang sudah digunakan (reuse). Sehingga kita bisa menyimpulkan Applications Frameworks ini adalah layar
dimana para pembuat
aplikasi melakukan
pengembangan/pembuatan aplikasi yang akan dijalankan di sistem android, karena pada layar inilah aplikasi dapat dirancang, seperti contont-providers yang berupa sms dan lain sebagainya. Komponen-komponen yang termasuk didalam Applications Frameworks meliputi Views, Content Provider, Resouce Manager, Notification Manager dan Activity Manager.
19
3. Libraries Libraries ini adalah layer dimana fitur – fitur Android berad, biasanya para pembuat aplikasi mengakses libraries untuk menjalankan aplikasinya. Besrjalan di atas kernel, Layer ini meliputi berbagai library C/C++ inti seperti Libc dan SSL, serta: a.
Libraries media untuk pemutaran media audio dan video
b. Libraries untuk manajemen tampilan c.
Libraries Graphics SGL dan OpenGL, untuk grafis 2D dan 3D
d. Libraries SQLite dukungan database. e.
Libraries SSL dan Webkit terintregasi dengan web browser dan security
f.
Libraries LiveWebcore mencangkup moder web browser dengan engine embedded web view
g. Libraries 3D yang mencangkup implementasi OpenGL ES1.0 API’s 4.
Android Run Time 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: 20
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 menerjemahkan bahasa java/c yang ditangani oleh Core Libraries.
b. Dalvik Virtual Machine : Virtual mesin berbasis register yang dioptimalkan untuk menjalankan fungsi – fungsi secara efisien, dimana merupakan pengembangan yang mampu membuat linux kernel untuk melakukan threading dan manajemen tingkat rendah. 5.
Linux Kernel Linux kernel adalah layar dimana inti dari operating sistem dari Android itu sendiri, umumnya berisi file-file system yang mengatur sistem processing, memory, resource, drivers dan sistem-sistem operating sistem android lainnya.
21
3.2
FUNDAMENTAL APLIKASI Menurut Kristian Ariyanto Zai (2012), Aplikasi android ditulis dalam bahasa pemrograman Java. Kode Java dikompilasi bersama dengan data file resource yang dibutuhkan oleh aplikasi, di mana prosesnya di-package oleh tools yang dinamakan “apt tool” ke dalam paket android sehingga menghasilkan file dengan ekstensi apk. File apk itulah yang kita sebut aplikasi, dan intinya dapat di instal di perangkat mobile. 1. Activities Suatu activity akan menyajikan user interface (UI) kepada pengguna, sehingga pengguna dapat melakukan interaksi. Sebuah aplikasi android bisa jadi hanya memiliki satu activity, tetapi umumnya aplikasi memiliki banyak activity tergantung pada tujuan aplikasi dan desain dari aplikasi tersebut. Satu activity biasanya akan dipakai untuk menampilkan aplikasi atau yang bertindak sebagai user interface (UI) saat aplikasi diperlihatkan sepada user. Untuk pindah dari satu activity ke activity lain kita dapat melakukannya dengan satu event, misalnya click tombol, memilih opsi atau menggunakan activity
dinyatakan
triggers tertentu. Secara hirarki sebuah windows dengan
method
Activity.setContenView()
ContentView adalah objek yang berada pada root hirarki.
22
.
2. Service Service tidak memiliki Graphic User Interface (GUI), tetapi service berjalan secara background, sebagai contoh dalam memainkan musik, service mungkin memainkan musik atau mengambil data dari jaringan, tetapi setiap service harus berada dalam kelas induknya. Misalnya, media player sedang memutar lagu dari list yang ada, aplikasi ini memiliki dua atau lebih activity yang memungkinkan user untuk memilih lagu, atau menulis sms sambil player sedang jalan. Untuk menjaga musik tetap dijalankan pada thread utama dari proses aplikasi. 3. Broadcast Receiver Broadcast
Receiver
berfungsi
menerima
dan
bereaksi
untuk
menyampaikan notifikasi. Contoh broadcast seperti notifikasi zona waktu berubah, baterai lemah, gambar telah selesai diambil camera atau pengubahan referensi bahasa yang digunakan. Broadcast Receiver tidak memiliki User Interface (UI), tetapi memiliki sebuah activity untuk merespon informasi yang meraka terima, atau notification manager untuk member tahu kepada pengguna, seperti lampu latar atau vibrating perangkat.
23
4. Content Provider Content Provider membuat kumpulan aplikasi data secara spesifik sehingga bisa digunakan oleh aplikasi lain. Data disimpulkan dalam file sistem seperti database SQLite. Content Provider menyediakan cara untuk mengakses data yang dibutuhkan oleh suatu activity, misalnya ketika kita menggunakan aplikasi yang membutuhkan peta (Map), atau aplikasi yang membutuhkan untuk mengakses data kontak dan navigasi, maka disinilah fungsi Content Provider. 3.3
XML ( Extensible Markup Language ) Menurut Fikran Faris Utomo dan Yoanes Bandung (2012), XML adalah bahasa markup untuk dokumen yang berisi informasi yang terstruktur. Informasi tersebut terdiri atas konten (kata, gambar, dll) dan format/aturan yang digunakan untuk konten tersebut. Hampir semua dokumen memilki strukur. Sedangkan bahasa markup sendiri adalah mekanisme yang digunakan untuk
mengidentifikasi
struktur
dalam
dokumen.
Spesifikasi
XML
mendefinisikan cara standar untuk menambahkan markup ke dokumen. Dokumen XML harus berisi root element. Element ini adalah parent dari seluruh element yang ada di dokumen. Element-element dalam dokumen XML membentuk sebuah pohon dokumen. Pohon dimulai pada akar dan bercabang ke tingkat terendah dari pohon.
24
3.4
MySQL Menurut Kristian Ariyanto Zai (2012), MySQL adalah sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, multi user serta menggunakan perintah dasar SQL ( Structure Query Language ). MySQL pertama kali dirilis oleh seorang programer database bernama Michael Widenius. Selain database server, MySQL juga merupakan program yang dapat mengakses suatu database MySQL yang berposisi sebagai server, yang berarti program kita sebagai client sehingga MySQL adalah sebuah database yang dapat digunakan sebagai client maupun server.
3.5
ANDROID SDK (Software Developmen Kit) Menurut Fenny Anggraeni Wijaya (2012), Android SDK mencakup perangkat tools pengembangan yang komprehensif. Android SDK terdiri dari debugger, libraries, handset emulator, dokumentasi, contoh kode program dan tutorial. Saat ini Android sudah mendukung arsitektur x86 pada Linux (distribusi Linux apapun untuk desktop modern), Mac OS X 10.4.8 atau lebih, Windows XP atau Vista. Persyaratan mencakup JDK, Apache Ant dan Python 2.2 atau le bih. IDE yang didukung secara resmi adalah Eclipse 3.2 atau lebih dengan menggunakan plugin Android Development Tools (ADT), dengan ini pengembang dapat menggunakan IDE untuk mengedit dokumen Java dan XML serta menggunakan peralatan
25
command line
untuk
menciptakan,
membangun,
melakukan
debug
pengendalian perangkat Android (misalnya
aplikasi
android
dan
reboot, menginstal paket
perangkat lunak). Ada 4 hal mendasar yang harus kita pahami dalam membangun aplikasi berbasis Android. 1. Activity, adalah tampilan grafis yang kita lihat ketika menjalankan sebuah aplikasi. Aplikasi dapat memiliki lebih dari satu Activity. 2. Intent, adalah serangkaian nilai yang menunjukan apa yang harus dilakukan ketika terjadi perpindahan layar. 3. Service, adalah layanan yang bekerja di belakang layar (background). 4. Content provider, memungkinkan sebuah aplikasi untuk dapat menyimpan dan menerima data dari database.
3.6
ECLIPSE Menurut Kristian Ariyanto Zai (2012), Eclipse adalah sebuah IDE (Intergrated
Development
Environment)
yang
digunakan
untuk
mengembangkan perangkat lunak dan dapat dijalankan di semua platform (platform – independent). Berikut ini adalah beberapa sifat dari Eclipse : a.
Multi – platform : Sistem operasi yang dapat menggunakan Eclipe adalah Microsoft Windows, Linux, Solaris, AIX, HP-UX dan Mac OS X
26
b.
Multi–language : Eclipse dikembangkan dengan bahasa pemrograman Java, akan tetapi Eclipe mendukung pengembangan aplikasi berbasis bahasa pemrograman lainnya seperti C/C++, Cobol, Python, Perl dan PHP.
c.
Multi – role : Selain digunakan sebagai IDE untuk pengembangan aplikasi, Eclipse dapat digunakan untuk aktivitas dalam siklus pengembangan perangkat lunak, seperti dokumentasi, uji perangkat lunak, pengembangan web dan sebagainya.
3.7
ADT (Android Development Tools) Menurut Kristian Ariyanto Zai (2012), Android Development Tools (ADT) merupakan plug in Eclipse IDE yang dirancang untuk memberi kemudahan dalam membuat aplikasi Android. ADT memperluas kemampuan Eclipse untuk member kemudahan kepada seseorang agar membuat project Android, membuat aplikasi UI, menambahkan komponen berdasarkan Android Framework API, dan debug aplikasi menggunakan Android SDK. Mengembangkan Eclipse dengan ADT sangat dianjurkan dan merupakan cara tercepat untuk memulai pembuatan aplikasi pada sistem operasi Android. Dengan setup project yang telah disediakan, dan integerasi peralatan, custom XML editor, dan debug panel output. ADT memberikan dorongan luar biasa untuk mengembangkan aplikasi Android. Dengan setup project yang telah
27
disediakan, serta integerasi peralatan, custom XML editor, dan debug panel output. 3.8.Unified Modeling Language (UML) Unified Modeling Language (UML) adalah bahasa pemodelan secara grafis untuk menspesifikasikan,
menvisualisasikan,
membangun,
dan
mendokumentasikan seluruh rancangan sistem perangkat lunak. Penggunaan model ini bertujuan untuk mengidentifikasikan bagian-bagian yang termasuk dalam lingkup sistem yang dibahas dan bagaimana hubungan antara sistem dengan subsistem maupun sistem lain di luarnya. Selain itu UML adalah bahasa pemodelan yang menggunakan konsep orientasi object. UML menyediakan notasi-notasi yang membantu memodelkan sistem dari berbagai perspektif. UML tidak hanya digunakan dalam pemodelan perangkat lunak, namun hampir dalam semua bidang yang membutuhkan pemodelan. Berdasarkan beberapa pendapat yang dikemukakan diatas dapat ditarik kesimpulan bahwa “Unified Modeling Language (UML) adalah sebuah bahasa, gambar symbol, nama symbol, keterangan Usecase Deskripsi
dari
urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu actor Actor menspesifikasikan
himpuan
peran
yang
pengguna mainkan ketika berinteraksi dengan use case yang berdasarkan grafik atau gambar untuk menvisualisasikan, menspesifikasikan, membangun
28
dan pendokumentasian dari sebuah sistem pengembangan perangkat lunak berbasis OO (Object Oriented)”. Daftar Simbol Dalam UML Tabel 3.1 Simbol Use Case Diagram NO
NAMA
KETERANGAN
Actor
Menspesifikasikan himpuan peran yang pengguna mainkan ketika berinteraksi dengan use case.
2
Dependency
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempengaruhi elemen yang bergantung padanya elemen yang tidak mandiri (independent).
3
Generalizatio n
Hubungan dimana objek anak (descendent) berbagi perilaku dan struktur data dari objek yang ada di atasnya objek induk (ancestor).
4
Include
Menspesifikasikan bahwa use case sumber secara eksplisit.
5
Extend
Menspesifikasikan bahwa use case target memperluas perilaku dari use case sumber pada suatu titik yang diberikan.
6
Association
Apa yang menghubungkan antara objek satu dengan objek lainnya.
1
GAMBAR
29
7
Menspesifikasikan paket yang menampilkan sistem secara terbatas.
System
8
9
10
Use Case
Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor
Collaboration
Interaksi aturan-aturan dan elemen lain yang bekerja sama untuk menyediakan prilaku yang lebih besar dari jumlah dan elemen-elemennya (sinergi).
Note
Elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi
Tabel 3.2 Simbol Class Diagram NO
1
GAMBAR
NAMA
KETERANGAN
Hubungan dimana objek anak (descendent) berbagi perilaku dan Generalization struktur data dari objek yang ada di atasnya objek induk (ancestor).
2
Nary Association
3
Class
Upaya untuk menghindari dengan lebih dari 2 objek.
asosiasi
Himpunan dari objek-objek yang berbagi atribut serta operasi yang sama.
30
4
Collaboration
5
Operasi yang benar-benar dilakukan oleh suatu objek.
Realization
6
Hubungan dimana perubahan yang terjadi pada suatu elemen mandiri (independent) akan mempegaruhi elemen yang bergantung padanya elemen yang tidak mandiri
Dependency
7
Deskripsi dari urutan aksi-aksi yang ditampilkan sistem yang menghasilkan suatu hasil yang terukur bagi suatu aktor
Apa yang menghubungkan antara objek satu dengan objek lainnya
Association
Tabel 3.3 Simbol Sequence Diagram NO
GAMBAR
NAMA
KETERANGAN Objek entity, antarmuka yang saling berinteraksi.
1
2
LifeLine
Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi
Message
31
3
Spesifikasi dari komunikasi antar objek yang memuat informasi-informasi tentang aktifitas yang terjadi
Message
Tabel 3.4 Simbol State Diagram NO
GAMBAR
NAMA
KETERANGAN
1
State
Nilai atribut dan nilai link pada suatu waktu tertentu, yang dimiliki oleh suatu objek.
2
Initial Pseudo State
3
Final State
Bagaimana objek dibentuk dan dihancurkan
4
Transition
Sebuah kejadian yang memicu sebuah state objek dengan cara memperbaharui satu atau lebih nilai atributnya
5
Association
Apa yang menghubungkan antara objek satu dengan objek lainnya.
6
Node
Elemen fisik yang eksis saat aplikasi dijalankan dan mencerminkan suatu sumber daya komputasi.
32
Bagaimana objek dibentuk atau diawali
Tabel 3.5 Simbol Activity Diagram NO
GAMBAR
NAMA
KETERANGAN
1
Actifity
Memperlihatkan bagaimana masingmasing kelas antarmuka saling berinteraksi satu sama lain
2
Action
State dari sistem yang mencerminkan eksekusi dari suatu aksi
3
Initial Node
Bagaimana objek dibentuk atau diawali.
4
Actifity Final Node
Bagaimana dihancurkan
5
Fork Node
objek
dibentuk
dan
Satu aliran yang pada tahap tertentu berubah menjadi beberapa aliran
SIMBOL-SIMBOL FLOWCHART 1.
FLOW DIRECTION SYMBOLS
Yaitu, simbol yang dipakai untuk menghubungkan antara simbol yang satu dengan simbol lainnya atau disebut juga connecting line.
Tabel 3.6 Flow Direction Symbols NO
GAMBAR
NAMA Arus / Flow
1
33
KETERANGAN Penghubung antara prosedur / proses
Connector
Simbol keluar / masuk prosedur atau proses dalam lembar / halaman yang sama
Off-line Connector
Simbol keluar / masuk prosedur atau proses dalam lembar / halaman yang lain
2
3
2.
PROCESSING SYMBOLS
Merupakan simbol yang menunjukkan jenis operasi pengolahan dalam suatu prosedur. Tabel 3.7 Processing Symbols Process
Simbol yang menunjukkan pengolahan yang dilakukan Komputer
Decision
Simbol untuk kondisi yang akan menghasilkan beberapa kemungkinan jawaban / aksi
Predefined Process
Simbol untuk mempersiapkan penyimpanan yang akan digunakan sebagai tempat pengolahan didalam storage
34
3.
Terminal
Simbol untuk permulaan atau akhir darti suatu program
Manual Input
Simbol untuk pemasukan data secara manual on-line keyboard
INPUT OUTPUT SYMBOLS
Simbol yang dipakai untuk menyatakan jenis peralatan yang digunakan sebagai media input atau output.
Tabel 3.8 Input Output Symbols Input-Output
Simbol yang menyatakan proses input dan output tanpa tergantung dengan jenis peralatannya
Document
Simbol yang menyatakan input berasal dari dokumen dalam bentuk kertas atau output di cetak dikertas
35
Disk and On-line Storage
36
Simbol untuk menyatakan input berasal dari disk atau output di simpan ke disk
BAB IV ANALISIS
4.1 ANALISIS PERMASALAHAN SISTEM SAAT INI Sistem yang dijalankan atau dilakukan pada saat ini untuk persiapan menghadapi ujian nasional untuk tingkat sekolah menengah pertama adalah masih secara manual. Sistem manual adalah siswa harus membaca buku-buku latihan soal yang berisi semua soal ujian nasional pada tahun-tahun sebelumnya, kemudian membaca dan mencoba mengerjakan untuk menjawab soal kemudian setelah jawaban semua telah selesai maka akan dicocokkan dengan kunci jawaban yang terdapat di dalam buku itu juga. Jika siswa merasa belum mendapat nilai yang maksimal maka langkah ini dapat diulang sampai siswa merasa sudah maksimal dalam menjawab soal yang ada. Dari kegiatan manual di atas maka akan muncul berbagai kendala permasalahan salah satunya yaitu siswa akan belajar secara sendiri dalam mengerjakan, menjawab dan mengecek jawaban sehingga dapat terjadi siswa akan kelelahan secara psikologis sehingga akan menurunkan semangat dalam menjawab soal pada sesi selanjutnya. Selain itu tidak akan terdapat data catatan berapa nilai yang pernah didapat oleh siswa dalam setiap sesi latihan sehingga siswa tidak dapat melacak perkembangan hasil nilai latihannya. Jumlah soal yang bersifat tetap dan tidak adanya batasan waktu dalam mengerjakan soal secara manual juga akan mengurangi tingkat efektifitas latihan karena dalam ujian
37
nasional yang sesungguhnya waktu yang disediakan untuk mengerjakan soal-soal ini adalah dibatasi. Hal di atas dapat dikurangi dengan cara menggunakan tenaga bantu ajar seperti guru atau juga les privat yang akan membimbing, mengarahkan dan membatasi siswa dalam hal mengerjakan setiap soal latihan yang ada sehingga akan dapat merasakan simulasi kondisi tekanan dalam mengerjakan soal pada ujian nasional yang sesungguhnya.
4.2 ANALISIS PEMECAHAN MASALAH DENGAN SISTEM BARU Sistem yang akan dibangun adalah aplikasi pelatihan ujian nasional tingkat SMP berbasis android. Ada beberapa kebutuhan yang harus dapat dipenuhi oleh sistem agar sistem dapat dikatakan bermanfaat dan dapat mencapai tujuan yang telah ditetapkan sebelumnya. Kebutuhan utama dari aplikasi adalah harus dapat memberikan hasil yang lebih efektif kepada user jika dibandingkan dengan melakukan tes ujian secara manual tanpa bantuan aplikasi. Berikut ini adalah beberapa fasilitas dan fitur dari sistem yang dapat memenuhi kebutuhan user di atas. Aplikasi mempunyai fleksibilitas untuk memilih mata pelajaran, tipe soal dan juga jumlah soal yang digunakan pada saat tes. Hal ini dapat dilakukan dengan memberikan fitur pemilihan mata pelajaran, memiliki tipe soal yaitu soal pendalaman, soal tryout dan soal prediksi. Aplikasi mempunyai bagian untuk informasi kemajuan user dalam melakukan tes yaitu sejarah dari hasil tes yang
38
pernah dilakukan sebelumnya dan juga sistem rangking dari berbagai user bagi user yang telah membuat username pada sistem. Dengan menghubungkan aplikasi ke database secara online maka akan dapat dipenuhi kebutuhan sistem diatas sehingga akan diperoleh manfaat hasil yang lebih baik jika dibandingkan dengan melakukan tes tanpa menggunakan aplikasi. 4.3 ANALISIS KEBUTUHAN NON FUNGSIONAL 4.3.1 Kebutuhan Perangkat Keras dan Lunak Kebutuhan perangkat untuk membuat dan juga menjalankan sistem yang dibangun terdiri dari kebutuhan perangkat keras dan perangkat lunak untuk dapat membangun dan menjalankan aplikasi dengan lancar. 4.3.1.1 Kebutuhan Perangkat Keras a. Pengembangan Sistem Kebutuhan perangkat keras dalam pengembangan sistem aplikasi ini : 1. Komputer Processor Intel jenis Core2Duo dengan kecepatan processor 2,1 Ghz. 2. Memory RAM 2 Gb. 3. VGA Intel Graphics.
39
4. Modem. b. Implementasi Sistem Kebutuhan perangkat keras dalam implementasi sistem aplikasi ini : 1. Smartphone Processor Qualcom jenis Quad Core dengan kecepatan processor 1,2 Ghz. 2. Memory RAM 1 Gb. 3. GPU Adreno 203. 4.3.1.2 Kebutuhan Perangkat Lunak a. Pengembangan Sistem Kebutuhan perangkat lunak dalam pengembangan sistem aplikasi ini : 1. Windows 7 untuk sistem operasi komputer. 2. Eclipse untuk desain dan pembuatan aplikasi. 3. Android Developer Tools untuk kompilasi peogram android. 4. XAMPP untuk server MySQL.
40
b. Implementasi Sistem Kebutuhan perangkat lunak dalam pengembangan sistem aplikasi ini : 1. Sistem operasi smartphone Jelly Bean. 4.3.2 Analisis Kebutuhan Pengguna a. User Akhir Pengguna sistem khususnya siswa SMP yang akan mengikuti ujian nasional membutuhkan sebuah aplikasi yang dapat memudahkan mereka dalam hal melakukan latihan mengerjakan soal-soal yang ada dalam ujian nasional tingkat sekolah menengah pertama. Sistem harus dapat membantu dalam hal meningkatkan efektifitas belajar dengan mengerjakan soal ujian yang pernah muncul pada tahun-tahun sebelumnya. Hal ini dapat diperoleh dengan cara aplikasi harus bisa memberikan tipe soal dari soal pendalaman, soal tryout maupun soal prediksi.. Selain itu harus juga terdapat catatan perkembangan setiap nilai dari seluruh sesi latihan yang pernah dijalani oleh user sehingga dapat dilihat oleh user apakah semakin lama kemampuan user dalam mengerjakan latihan menjadi lebih baik.
41
b. User Admin User admin mempunyai sistem yang dapat dengan mudah dan efisien dalam hal mengelola seluruh data mulai dari data soal, data hasil tes, data user dan juga data mata pelajran yang telah masuk ke sistem. Adanya halaman khusus untuk mengatur ataupun mengelola semua data yang ada pada sistem yang hanya dapat diakses oleh user dengan status admin adalah suatu keharusan. Halaman admin ini harus dibuat dengan tampilan yang kompak dan terintegrasi sehingga user admin dapat dengan cepat mencari dan merubah data tertentu dengan cepat dan mudah. 4.4 ANALISIS KEBUTUHAN FUNGSIONAL 4.4.1 Kemampuan Aplikasi Aplikasi
ini
akan
mempunyai
beberapa
kemampuan
jika
dibandingkan dengan sistem lama maupun sistem manual. a. Aplikasi mempunyai 3 tipe soal yaitu soal pendalaman materi yang bisa dikatakan sebagai sarana berlatih menghadapi UN. Pada bagian soal pendalaman, siswa diuji kemampuannya untuk memecahkan sejumlah soal secara utuh, Soal tryout bisa digunakan untuk menguji kesiapan siswa. Dari hasil tryout siswa akan mengetahui materi yang sudah dikuasai dan yang terakhir Soal prediksi digunakan untuk sarana
42
memantapkan diri siswa menghadapi UN karena didalam soal prediksi menyajikan soal-soal yang diprediksikan akan keluar. b. Aplikasi dapat melakukan penambahan soal sehingga soal akan selalu terupdate dengan soal terkini. c. Aplikasi dapat mencatat seluruh riwayat sesi latihan yang pernah dijalani oleh user untuk dapat melacak perkembangan user dari waktu ke waktu. d. Aplikasi dapat memilih untuk mengerjakan soal per mata pelajaran. e. Aplikasi dapat menampilkan rangking nilai dari seluruh user. 4.4.2 Kebutuhan Data Data yang dibutuhkan dalam pembangunan sistem ini adalah Data soal-soal untuk latihan diambil dari buku berjudul “Detik-Detik Ujian Nasional” penerbit Intan Pariwara dengan ketentuan materi Bahasa Indonesia, Matematika, Bahasa Inggris dan IPA (Ilmu Pengetahuan Alam) dan Buku berjudul “SPM Plus” karya Bambang K.Karnoto,dkk penerbit Esis. 4.4.3 Fitur Perangkat Lunak Aplikasi yang akan dibangun ini akan mempunyai beberapa fitur yang akan menjadi sarana untuk memenuhi kebutuhan user.
43
a. User Akhir 1. Pengguna dapat menikmati fitur acak soal di aplikasi ini setiap memilih mata pelajaran yang berbeda maupun yang sama sekalipun. 2. Pengguna
dapat
memilih
jenis
mata
pelajaran
yang
akan
dimunculkan saat pelatihan soal. 3. Pengguna dapat memilih salah satu antara 3 tipe soal yaitu soal pendalaman, soal tryout dan soal prediksi. 4. Pengguna dapat melihat data dari hasil nilai tes rata-rata seluruh soal mata pelajaran yang pernah dilakukan oleh user yang akan dirangking untuk seluruh user yang mengerjakan latihan . Untuk rumus perhitungan nilai tes rata-rata adalah : Nilai Rangking = Total (Nilai Hasil) / Total (Jumlah Soal), sehingga akan didapat nilai rata-rata setiap soal yang dijawab. Contoh untuk nilai yang sempurna adalah : 3000 / 30 = 100.
44
b. User Admin 1. Admin dapat melakukan pengelolaan user yang terdaftar didalam sebuah aplikasi. 2. Admin dapat melakukan pengelolaan mata pelajaran yang akan dijadikan latihan soal. 3. Admin dapat melakukan pengelolaan soal-soal mata pelajaran yang akan di jadikan latihan. 4. Admin dapat melakukan pengelolaan data nilai user yang melakukan latihan.
45
4.5 ANALISIS ARSITEKSTUR APLIKASI
Gambar 4.1 Arsitekstur Aplikasi
Dari gambar dapat dijelaskan bahwa aplikasi akan berjalan pada server online. Server ini akan terhubung dengan database untuk keperluan mengambil dan mengirim data. Server akan terhubung dengan jaringan internet sehingga
46
data dapat diakses secara online dari perangkat smartphone android dengan menggunakan aplikasi yang telah dipasang pada perangkat, sehingga untuk menjalankan aplikasi maka perangkat harus mempunyai koneksi ke jaringan internet. 4.6 PEMODELAN APLIKASI 4.6.1 Use Case Diagram a. User
Gambar 4.2 Diagram Use Case Sistem User
47
Diagram ini menggambarkan tentang apa saja yang dapat dilakukan oleh user saat berada di dalam sistem. User dapat login ke sistem dengan syarat harus sudah melakukan kegiatan mendaftar terlebih dahulu. Tanpa login user dapat melihat informasi tentang, profil dan tutorial dan melakukan tes soal ujian nasional dalam sistem. User kemudian dapat melihat hasil dari tes dengan syarat harus sudah terlebih dahulu melakukan latihan. Untuk melihat rangking nilai user selain harus login ke sistem ditambah juga harus melakukan latihan. Sehingga hasil tes dapat dibandingkan dengan user lain secara online. b. Admin
uc UNSMP
Login Admin
«include»
Admin
Manaj emen Data
Gambar 4.3 Diagram Use Case Sistem Admin
48
Untuk user dengan status admin maka selain dapat melakukan tes, admin dapat melakukan manajemen terhadap data-data yang ada di dalam sistem. 4.6.2 Activity Diagram Diagram ini menggambar berbagai rangkaian aktifitas yang dapat user lakukan untuk setiap penggunaan yang ada pada diagram use case. Berikut ini adalah aktifitas yang ada di dalam sistem. a. Activity Diagram User
memilih menu daftar
menampilkan form daftar
tekan tombol daftar
isi form daftar
Proses daftar
menampilkan pesan hasil proses daftar
Gambar 4.4 Diagram Activity Mendaftar
49
memilih menu login
isi username dan password
proses data login
tekan tombol login
menampilkan pesan hasil proses login
Gambar 4.5 Diagram Activity Login
50
Melakukan Aktifitas Login
memilih menu latihan soal
memilih mata pelajaran
memilih tipe soal
menampilkan form soal
memilih jumlah soal Pilih jawaban
Y menampilkan soal berikutnya
Menampilkan soal terakhir T
Proses data jawaban salah
menampilkan hasil
proses data jawaban
hitung hasil
Gambar 4.6 Diagram Activity Latihan Soal User Teregistrasi
51
memilih menu latihan soal
memilih mata pelajaran
memilih tipe soal menampilkan form soal memilih jumlah soal Pilih jawaban Y Menampilkan soal terakhir
menampilkan soal berikutnya T
proses data jawaban Proses data jawaban salah
hitung hasil
menampilkan hasil
Gambar 4.7 Diagram Activity Latihan Soal Belum Teregistrasi
kerjakan aktifitas latihan soal
menampilkan hasil latihan
Gambar 4.8 Diagram Activity Melihat Hasil
52
kerjakan aktifitas latihan soal dan melihat hasil
menampilkan rangking
Gambar 4.9 Diagram Activity Melihat Rangking
Pilih Menu Profil
Tampil Halaman Profil
Gambar 4.10 Diagram Activity Melihat Profil
Pilih Menu Tutorial
Tampil Halaman Tutorial
Gambar 4.11 Diagram Activity Melihat Tutorial
53
Pilih Menu Tentang
Tampil Halaman Tentang
Gambar 4.12 Diagram Activity Melihat Tentang
b. Activity Diagram Admin
kerjakan aktifitas login
tampilkan halaman admin
pilih menu admin
Pilih Tabel User
Tampil Halaman Tabel User
Pilih Data Baru
Pilih Options
Isi Form User T Tekan Tombol Simpan
proses data Y Tampil Pesan Hasil Proses
Gambar 4.13 Diagram Activity Manajemen Data Input Data User
54
kerjakan aktifitas login
tampilkan halaman admin
pilih menu admin
Pilih Tabel User
Tampil Halaman Tabel User
Tampil Data User
Pilih User
Edit User T Tekan Tombol Simpan
proses data Y Tampil Pesan Hasil Proses
Gambar 4.14 Diagram Activity Manajemen Data Update Data User
55
kerjakan aktifitas login
pilih menu admin
Tampil Halaman Admin
Pilih Tabel User
Tampil Halaman Tabel User
Pilih User
Tampil Data User
Tekan Tombol Hapus
proses data
Tampil Pesan Hasil Proses
Gambar 4.15 Diagram Activity Manajemen Data Hapus Data User
56
kerjakan aktifitas login
pilih menu admin
tampilkan halaman admin
Pilih Tabel Mapel
Tampil Halaman Tabel Mapel
Pilih Data Baru
Pilih Options
Isi Form Mapel T Tekan Tombol Simpan
proses data Y Tampil Pesan Hasil Proses
Gambar 4.16 Diagram Activity Manajemen Data Input Data Mapel
57
kerjakan aktifitas login
pilih menu admin
tampilkan halaman admin
Pilih Tabel Mapel
Tampil Halaman Tabel Mapel
Tampil Data Mapel
Pilih Mapel
Edit Mapel T Tekan Tombol Simpan
proses data Y Tampil Pesan Hasil Proses
Gambar 4.17 Diagram Activity Manajemen Data Update Data Mapel
58
kerjakan aktifitas login
pilih menu admin
Tampil Halaman Admin
Pilih Tabel Mapel
Tampil Halaman Tabel Mapel
Pilih Mapel
Tampil Data Mapel
Tekan Tombol Hapus
proses data
Tampil Pesan Hasil Proses
Gambar 4.18 Diagram Activity Manajemen Hapus Data Mapel
59
kerjakan aktifitas login
tampilkan halaman admin
pilih menu admin
Pilih Tabel Soal
Tampil Halaman Tabel Soal
Pilih Data Baru
Pilih Options
Isi Form Soal T Tekan Tombol Simpan
proses data Y Tampil Pesan Hasil Proses
Gambar 4.19 Diagram Activity Manajemen Data Input Data Soal
60
kerjakan aktifitas login
tampilkan halaman admin
pilih menu admin
Pilih Tabel Soal
Tampil Halaman Tabel Soal
Tampil Data Soal
Pilih Soal
Edit Soal T Tekan Tombol Simpan
proses data Y Tampil Pesan Hasil Proses
Gambar 4.20 Diagram Activity Manajemen Data Update Data Soal
61
kerjakan aktifitas login
pilih menu admin
Tampil Halaman Admin
Pilih Tabel Soal
Tampil Halaman Tabel Soal
Pilih Soal
Tampil Data Soal
Tekan Tombol Hapus
proses data
Tampil Pesan Hasil Proses
Gambar 4.21 Diagram Activity Manajemen Data Hapus Data Soal
62
kerjakan aktifitas login
pilih menu admin
Pilih Tabel Hasil
Pilih Options
tampilkan halaman admin
Tampil Halaman Tabel Hasil
Pilih Data Baru
Isi Form Hasil
Tekan Tombol Simpan
proses data
Tampil Pesan Hasil Proses
Gambar 4.22 Diagram Activity Manajemen Data Input Data Hasil
63
kerjakan aktifitas login
pilih menu admin
Tampil Halaman Admin
Pilih Tabel Hasil
Tampil Halaman Tabel Hasil
Pilih Hasil
Tampil Data Hasil
Edit Data Hasil
Tekan Tombol Update
proses data
Tampil Pesan Hasil Proses
Gambar 4.23 Diagram Activity Manajemen Data Update Data Hasil
64
kerjakan aktifitas login
pilih menu admin
Tampil Halaman Admin
Pilih Tabel Hasil
Tampil Halaman Tabel Hasil
Pilih Hasil
Tampil Data Hasil
Tekan Tombol Hapus
proses data
Tampil Pesan Hasil Proses
Gambar 4.24 Diagram Activity Manajemen Data Hapus Data Hasil
65
4.6.3 State Diagram stm UNSMP awal
[masuk sistem]
pembuka
[Cek Login]
[login] Menu Utama [lihat info]
login
[login]
Profil Tentang Tutorial
login sukses ?
[Ya]
[Tidak]
[Ya] status admin ?
manaj emen Data
[Tidak]
daftar Rangking
[mulai tes] Soal
[tes selesai]
Hasil akhir
Gambar 4.25 Diagram State Sistem Menggambarkan
tentang
status
proses
yang
menyebabkan
perpindahan antar halaman pada sistem. Pada awal masuk ke sistem akan menuju ke pembuka kemudian berpindah ke menu utama, dari menu dapat login pada halaman login dan jika gagal atau belum ada username maka dapat untuk mendaftar pada halaman daftar. Setelah login sukses jika cek status admin valid maka user admin akan dapat masuk ke halaman manajemen data admin, jika hanya level user biasa maka akan dibatasi hanya untuk melihat rangking nilai online.
66
Selain itu dari menu utama user dapat melihat info pada halaman profil, tentang, tutorial. Saat memilih untuk memulai tes maka akan berpindah ke halaman soal dan setelah tes selesai akan menuju ke halaman hasil. 4.6.4 Sequence Diagram a. Sequence User sd UNSMP Pembuka
Menu Utama
user
Profil / Tentang / Tutorial
Soal
Hasil
Daftar
Login
Rangking
lihat info() mulai()
mulai tes()
lihat hasil()
lihat rangking()
login gagal()
Masuk Sistem()
daftar()
login()
Gambar 4.26 Diagram Sequence User Sistem Diagram ini untuk menerangkan tentang urutan kegiatan atau proses yang dapat dilakukan user pada sistem dan dapat dilakukan di bagian form atau halaman apa pada sistem. Ketika mulai masuk sistem maka akan melihat pembukaan yang jika sudah selesai maka akan ke menu utama. Dari menu utama akan bisa untuk melihat info profil, tentang dan tutorial, mendaftar pada halaman daftar, melakukan login
67
pada halaman login dan memulai tes akan memunculkan halaman soal. Setelah melakukan tes soal maka akan melihat halaman hasil nilai tes. Pada saat login jika login gagal atau belum mempunyai username maka akan dapat mendaftar terlebih dahulu. Saat login ke sistem sudah sukses maka user dapat melihat rangking dari hasil nilai ujian yang berasal dari berbagai username secara online. b. Sequence Admin sd UNSMP Login
Manajemen Data
admin login admin() gagal login ulang() administrasi data()
Gambar 4.27 Diagram Sequence Admin Sistem Untuk urutan proses user admin yaitu setelah user admin login sebagai status admin sistem maka user admin dapat melanjutkan ke proses manajemen data sistem.
68
BAB V PERANCANGAN
5.1 CLASS DIAGRAM
class UNSMP
User
Hasil
-
username: varchar password: varchar nama: varchar +username email: varchar level: varchar 1
+ + + +
Simpan() : void Baca() : void Update() : void Hapus() : void
+username * + + + +
idhasil: int jumlah: int nilai: float username: varchar idmapel: varchar Simpan() : void Baca() : void Update() : void Hapus() : void
+idmapel
*
+idmapel
1
Soal -
nomor: int pertanyaan: text gambar: varchar jawabanA: varchar jawabanB: varchar jawabanC: varchar jawabanD: varchar jawaban: varchar link: varchar idmapel: varchar
+ + + +
Simpan() : void Baca() : void Update() : void Hapus() : void
Mapel
+idmapel *
+idmapel 1 + + + +
idmapel: varchar nama: varchar Simpan() : void Baca() : void Update() : void Hapus() : void
Gambar 5.1 Diagram Class Sistem
69
Diagram kelas menggambarkan tentang kelas yang akan digunakan oleh sistem, kelas ini nantinya akan digunakan sebagai acuan untuk membuat tabeltabel dalam database sistem. Terdapat empat kelas yang nantinya akan digunakan oleh sistem yaitu User, Mapel (Mata Pelajaran), Soal dan Hasil. Kelas User adalah yang akan digunakan untuk menampung data user yang mendaftar pada sistem. Kelas Mapel adalah untuk menyimpan data jenis mata pelajaran yang diujikan pada sistem. Kelas Soal adalah untuk menampung data soal-soal yang akan ditanyakan pada saat tes ujian nanti. Sedangkan kelas Hasil adalah untuk mencatat seluruh hasil nilai di akhir tes dari seluruh user yang ada pada sistem. Relasi antar kelas yaitu kelas User berelasi dengan kelas Hasil melalui atribut username dimana jenis relasi adalah one to many, satu data username hanya dapat dimiliki oleh satu data hasil sedangkan data hasil dapat memiliki banyak username yang sama. Kelas hasil juga memiliki relasi dengan kelas Mapel melalui atribut idmapel, jenis relasi adalah many to one dimana data hasil dapat memiliki satu atau lebih data mapel yang sama dan satu data mapel hanya dimiliki oleh satu data hasil. Kelas Mapel juga berelasi dengan kelas Soal melalui atribut idmapel dengan jenis relasi one to many, dimana satu data soal hanya memiliki satu data mapel dan satu data mapel dapat dimiliki oleh banyak data soal.
70
5.2 KAMUS DATA 1. User User = Username + Password + Nama + Email + Level. a. Username : 1{karakter}20
=> [ | A | B | .. | Z | 1 | .. | 9 | ].
b. Password
: 1{karakter}20 => [ | A | B | .. | Z | 1 | .. | 9 | ].
c. Nama
: 1{karakter}30 => [ | A | B | .. | Z | 1 | .. | 9 | ].
d. Email
: 1{karakter}50 => [ | A | B | .. | Z | 1 | .. | 9 | ].
e. Level
: 1{karakter}5
=> [ | Admin | User | ].
2. Mapel Mapel = IdMapel + Nama. a. IdMapel
: 1{karakter}5
=> [ | A | B | .. | Z | 1 | .. | 9 | ].
b. Nama
: 1{karakter}50 => [ | A | B | .. | Z | 1 | .. | 9 | ].
3. Soal Soal = Nomor + Pertanyaan + Gambar + JawabanA + JawabanB + JawabanC + JawabanD + Jawaban + Link + IdMapel. a. Nomor
: Numerik => [ | 1 | .. * ].
b. Pertanyaan
: Text
=> [ | A | B | .. | Z | 1 | .. | 9 | ].
71
c. Gambar
: 1{karakter}255 => [ | A | B | .. | Z | 1 | .. | 9 | ].
d. JawabanA
: 1{karakter}255 => [ | A | B | .. | Z | 1 | .. | 9 | ].
e. JawabanB
: 1{karakter}255 => [ | A | B | .. | Z | 1 | .. | 9 | ].
f. JawabanC
: 1{karakter}255 => [ | A | B | .. | Z | 1 | .. | 9 | ].
g. JawabanD
: 1{karakter}255 => [ | A | B | .. | Z | 1 | .. | 9 | ].
h. Jawaban
: 1{karakter}
i. Link
: 1{karakter}255 => [ | A | B | .. | Z | 1 | .. | 9 | ].
j. IdMapel
: 1{karakter}5
=> [ | A | B | C | D | ].
=> [ | A | B | .. | Z | 1 | .. | 9 | ].
4. Hasil Hasil = IdHasil + Jumlah + Nilai + Username + IdMapel. a. IdHasil
: Numerik => [ | 1 | .. * ].
b. Jumlah
: Numerik => [ | 1 | .. * ].
c. Nilai
: Float => [ | 0.01 | .. * ].
d. Username
: 1{karakter}20
e. IdMapel
: 1{karakter}5
=> [ | A | B | .. | Z | 1 | .. | 9 | ]. => [ | A | B | .. | Z | 1 | .. | 9 | ].
72
5.3 RELASI TABEL
Email
Level
Nama Password Username
IdHasil
Username
IdHasil N
1 USER
Mempunyai
Jumlah HASIL Nilai N IdHasil Mempunyai IdMapel
Nomor
IdMapel 1
N
IdMapel
1
SOAL
Mempunyai
MAPEL Nama
Nomor Link Pertanyaan
Jawaban
Gambar
JawabanD
JawabanA
JawabanC
JawabanB
Gambar 5.2 Diagram ERD Sistem
Diagram ERD dapat menggambarkan relasi antar entitas atau tabel yang ada dalam sistem. Dari gambar dapat diuraikan bahwa entitas user berelasi dengan hasil yaitu one to many dimana satu user dapat mempunyai data hasil yang banyak namun data hasil hanya akan dipunyai oleh satu user. Entitas hasil
73
sendiri akan mempunyai jenis mata pelajaran dan berelasi dengan entitas mapel dengan derajat relasi many to one yaitu satu hasil hanya dapat mempunyai satu mapel namun satu mapel dapat mempunyai banyak hasil. Entitas mapel berelasi dengan entitas soal dengan derajat relasi one to many yaitu satu data mapel dapat mempunyai banyak soal namun satu data soal hanya boleh mempunyai satu data mapel. 5.4 PERANCANGAN TABEL Dengan berdasarkan diagram kelas yang telah dibuat maka dapat dirancang tabel-tabel dalam database yang akan digunakan pada sistem. Berikut ini adalah rancangan tabel-tabel dari database yang akan dibuat. 5.4.1 Tabel User Tabel 5.1 Tabel User Field
Size
Type
Description
Username
20
Varchar
kode user (PK)
Password
20
Varchar
kata kunci
Nama
30
Varchar
nama lengkap user
Email
50
Varchar
email user
Level
5
Varchar
status admin atau user
Tabel untuk menyimpan data user yang ada pada sistem. Primary Key pada tabel user ini adalah field Username.
74
5.4.2 Tabel Mapel Tabel 5.2 Tabel Mapel Field
Size
Type
Description
IdMapel
5
Varchar
kode mata pelajaran (PK)
Nama
50
Varchar
nama mata pelajaran
Tabel ini untuk menyimpan data mata pelajaran yang diujikan dalam tes. Primary Key pada tabel Mapel ini adalah field Mapel. 5.4.3 Tabel Soal Tabel 5.3 Tabel Soal Field
Size
Type
Description
Nomor
Int
nomor soal (PK)
Pertanyaan
Text
pertanyaan soal
Gambar
255
Varchar
alamat gambar soal jika ada
JawabanA
255
Varchar
jawaban poin A
JawabanB
255
Varchar
jawaban poin B
JawabanC
255
Varchar
jawaban poin C
JawabanD
255
Varchar
jawaban poin D
Jawaban
1
Varchar
Kunci Jawaban (A,B,C,D)
IdMapel
5
Varchar
kode mata pelajaran (PK)
Tabel ini untuk menyimpan data soal-soal yang nantinya akan ditanyakan pad saat tes ujian dalam aplikasi. Terdapat dua Primary Key pada tabel soal ini yaitu Mapel dan Nomor.
75
5.4.4 Tabel Hasil Tabel 5.4 Tabel Hasil Field
Size
IdHasil
Type
Description
Int
kode hasil (PK)
Username
20
Varchar
user yang melakukan tes
IdMapel
5
Varchar
jenis mapel tes
Jumlah
Int
jumlah soal tes
Nilai
Float
nilai hasil tes
Tabel ini untuk menyimpan data hasil nilai dari setiap tes yang pernah dilakukan user. Primary Key pada tabel hasil ini adalah field Id.
76
5.5 FLOWCHART Start
Mulai Latihan
Pilih Mapel
Pilih Tipe
Pilih Jumlah Soal Tampilkan Rangking Nilai
Tampilkan Soal
Y Pilih Jawaban
Cek Jawaban
Apakah User Login ?
Jawaban Betul ?
T
End
Y Tambah Nilai
Tampilkan Soal Berikutnya
T
T
Tampilkan Hasil Nilai
Soal Terakhir ?
Y
Hitung Nilai
Gambar 5.3 Diagram Flowchart Latihan Soal Diagram yang menggambarkan aliran dari proses dan juga data yang berlangsung saat sistem berjalan. Saat mulai masuk sistem maka user dapat langsung memilih untuk memulai tes, lalu harus memasukkan pilihan mata pelajaran kemudian pilih tipe soal dan jumlah soal. Kemudian akan muncul soal dan user dapat memasukkan pilihan jawaban lalu sistem akan mengecek jawaban. Jika jawaban betul maka akan menambah nilai hasil tes. Selanjutnya 77
akan dicek juga apakah pertanyaannya merupakan yang terakhir. Jika tidak, maka akan tampil soal nomor berikutnya dan user dapat kembali memasukkan pilihan jawaban soal. Jika soal adalah yang terakhir maka sistem akan menghitung hasil nilai tes dan jika hasil cek user login berhasil maka sistem bisa melakukan serta menampilkan cek rangking hasil nilai.
Start
Login
User = Admin?
Menu Utama
T
Y
Menu Admin
Pilih Tabel
Tampilkan Daftar Data
Pilih Satu Data
Tampilkan Form Edit/ HApus
Tekan Tombol Menu Tampilkan Form Data Baru
Pilih Data Baru
Tekan Tombol Simpan
Tekan Tombol Update / Hapus
Proses Perintah
End
Gambar 5.4 Diagram Flowchart Manajemen Data
78
Untuk flowchart proses manajemen data dimulai dengan melakukan login, kemudian sistem akan mengecek apakah user sama dengan admin, jika bukan admin maka akan menampilkan halaman menu utama dan dapat melakukan login lagi jika perlu. Jika user yang login tervalidasi sebagai admin maka secara otomatis akan menampilkan halaman menu admin. Di halaman menu admin maka dapat dipilih salah satu tabel, lalu akan tampil halaman daftar data berbentuk tabel. Pada halaman tabel ini maka dapat dilakukan dua langkah yaitu untuk simpan data baru maka dilakukan dengan menekan tombol menu lalu pilih menu data baru, form data baru akan muncul lalu isi seperlunya dan tekan tombol simpan dan sistem akan memproses perintah. Untuk proses update dan hapus data maka dari tabel daftar data pilihlah salah satu data maka akan tampil halaman edit hapus data, ganti seperlunya lalu tekan tombol update atau hapus kemudian sistem akan melakukan proses perintah yang terpilih.
79
5.6 PERANCANGAN MENU
Gambar 5.4 Struktur Menu Sistem Struktur menu dari aplikasi adalah seperti gambar di atas. Pada menu utama user dapat memilih menu login untuk ke halaman login untuk proses login user sistem. Menu daftar akan menuju ke halaman pendaftaran user baru. Menu latihan soal akan menuju halaman latihan soal ujian, setelah itu user bisa memilih salah satu diantara 4 mata pelajaran yang akan dijadikan latihan, diteruskan ke pemilihan tipe soal yaitu soal pendalaman, soal tryout dan soal prediksi. Menu tutorial akan menuju halaman tutorial tata cara penggunaan aplikasi. Menu profil akan menuju ke halaman informasi
80
profil pembuat. Menu tentang akan menuju halaman informasi tentang aplikasi. Khusus setelah user login dengan level admin makan menu admin akan menuju ke halaman manajemen data.
5.7 PERANCANGAN ANTAR MUKA 5.7.1 Halaman Pembuka
JUDUL APLIKASI
Gambar
VERSI
Gambar 5.5 Halaman Pembuka Halaman ini yang pertama kali muncul saat aplikasi pertama kali dijalankan. Berisi judul nama aplikasi, kemudian gambar aplikasi dan juga versi dari aplikasi yang sedang dijalankan ini. User dapat menekan layar pada halaman ini untuk melanjutkan masuk ke menu utama.
81
5.7.2 Halaman Menu Utama
MENU UTAMA
Login Daftar Latihan Soal Tutorial Profil Tentang Admin
Gambar 5.6 Halaman Menu Utama Halaman ini adalah menu utama dari aplikasi. Dari sini terdapat pilihan menu : Login, jika ditekan maka akan menuju ke halaman login user. Daftar, jika ditekan akan menuju ke halaman daftar user baru. Mulai latihan soak, jika ditekan akan menuju ke halaman pilih mapel, pilih tipe soal, pilih jumlah soal dan akhirnya halaman soal. Profil, jika ditekan akan menuju halaman informasi profil. Tentang, jika ditekan akan menuju halaman informasi tentang. Tutorial, jika ditekan akan menuju halaman informasi tutorial. Admin, yang jika ditekan dan user bukan login level admin maka akan muncul pesan kesalahan tidak bisa masuk, jika user login adalah level admin maka tombol ini akan menuju ke halaman manajemen data admin sistem. 82
5.7.3 Halaman Login LOGIN
Username xxxxxxxxx Password *******************
LOGIN
Gambar 5.7 Halaman Login Halaman ini adalah untuk melakukan login user ke aplikasi. Isikan saja username dan juga password yang dipunyai kemudian tekan tombol login. Akan terdapat pesan login sukses dan otomatis kembali ke menu utama, jika ada yang tidak sesuai antara username dan password maka akan muncul pesan kesalahan. User admin juga akan login pada halaman ini dan pada menu utama nanti user level admin dapat mengakses menu admin.
83
5.7.4 Halaman Daftar DAFTAR BARU Username xxxxxxxxx Password ******************* Nama xxxxxxxxx Email xxxxxxxxx
DAFTAR
Gambar 5.8 Halaman Daftar User bisa melakukan proses pendafataran user baru pada halaman ini. Terdapat kotak teks untuk diisi data lengkap, kemudian tekan tombol daftar untuk memproses pendaftaran. 5.7.5 Halaman Tentang TENTANG Aplikasi latihan Ujian Nasional Versi 1.0.0 Aplikasi ini dapat digunakan untuk sarana latihan menjelang detik-detik ujian nasional Sekolah Menengah Pertama tahun 2013/2014 Semoga bermanfaat
© UNISBANK 2014
Gambar 5.9 Halaman Tentang 84
Berisi informasi tentang aplikasi yang dijalankan ini, mulai dari nama aplikasi, versi aplikasi dan informasi keterangan aplikasi. 5.7.6 Halaman Tutorial TUTORIAL Agar manfaat aplikasi ini jadi maksimal maka silahkan mendaftar dan login terlebih dahulu Petunjuk Tes 1. Pilih menu Mulai Tes 2. Pilih Jenis Mata Pelajaran 3. Pilih Tipe Soal - Pendalaman - Tryout - Prediksi 4. Pilih Jumlah Soal 5. Jawab Pertanyaan 6. Lihat Hasil
© UNISBANK 2014
Gambar 5.10 Halaman Tutorial Berisi petunjuk penggunaan aplikasi yang menerangkan bagaimana melakukan tes ujian pada aplikasi.
85
5.7.7 Halaman Profil PROFIL
FOTO
Profil Pembuat
© UNISBANK 2014
Gambar 5.11 Halaman Profil Berisi informasi tentang profil dari pembuat program aplikasi ujian nasional SMP ini. 5.7.8 Halaman Pilih Mapel PILIH MATA PELAJARAN
Matematika
Bahasa Indonesia
Bahasa Inggris
Ilmu Pengetahuan Alam
Gambar 5.12 Halaman Pilih Mata Pelajaran
86
Halaman untuk memilih jenis mata pelajaran dari soal yang akan muncul pada halaman soal. 5.7.9 Halaman Pilih Tipe PILIH TIPE SOAL
PENDALAMAN TRYOUT PREDIKSI
Gambar 5.13 Halaman Pilih Tipe Halaman ini untuk memilih tipe soal dari soal latihan. Untuk soal pendalaman, siswa diuji kemampuannya untuk memecahkan sejumlah soal secara utuh, Soal tryout bisa digunakan untuk menguji kesiapan siswa. Dari hasil tryout siswa akan mengetahui materi yang sudah dikuasai dan yang terakhir Soal prediksi digunakan untuk sarana memantapkan diri siswa menghadapi UN karena didalam soal prediksi menyajikan soal-soal yang diprediksikan akan keluar.
87
5.7.10 Halaman Jumlah Soal
Gambar 5.14 Halaman Pilih Jumlah Soal Halaman ini untuk memilih jumlah soal yang nantinya akan muncul pada halaman soal. User dapat memulai dengan jumlah soal yang sedikit dulu untuk latihan kemudian meningkat hingga ke jumlah yang lebih besar untuk tahap selanjutnya.
88
5.7.11 Halaman Soal BAHASA INGGRIS SOAL 1 Pertanyaan xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxxxxxxx xxxxxxx A. Jawaban A B. Jawaban B C. Jawaban C D. Jawaban D
Sisa Waktu
Gambar 5.15 Halaman Soal Halaman ini adalah tampilan soal ujian sesuai dengan mata pelajaran yang dipilih oleh user. Terdapat jenis mata pelajaran dan juga nomor soal. Di bawahnya adalah pertanyaan kemudian jawaban poin A, B, C, D. User akan dapat menuju ke soal selanjutnya dengan memilih salah satu dari jawaban yang disediakan tersebut. Pertanyaan yang terakhir sesuai dengan jumlah pilihan soal sebelumnya jika dijawab akan memunculkan halaman hasil tes yang akan dihitung jumlah jawaban benar dan jawaban salah dari tes yang baru dijalani.
89
5.7.12 Halaman Hasil HASIL TES 1. Betul 2. Betul 3. Betul 4. Betul 5. Salah 6. Betul 7. Betul 8. Betul 9. Betul 10. Salah
SCORE
80 COBA LAGI
RANGKING
MENU UTAMA
Gambar 5.16 Halaman Hasil Halaman yang menampilkan hasil skor dari tes yang telah dilakukan sebelumnya. Hasil tes ini memberikan informasi status betul salah dari setiap nomor yang soal yang muncul, sesuai dengan jumlah soal yang dipilih pada halaman pilih jumlah soal sebelumnya. Di bawahnya terdapat tampilan skor nilai dari 0 sampai maksimal 100 poin. Terdapat tombol untuk mencoba lagi tes, melihat rangking secara online dan kembali ke menu utama.
90
5.7.13 Halaman Rangking RANGKING ONLINE Username 1. Nona Top 2. xxxxxxxxxxx 3. xxxxx 4. xxxxxx 5. xxxxxxxxxxxxxx 6. xxxxxx 7. xxxxxxxxx 8. xxxxxxxx 9. xxxxxxxxx 10. xxxxxxxxxx
I Avg Score 95,5
MENU UTAMA
Gambar 5.17 Halaman Rangking Halaman ini untuk melihat peringkat rangking total poin secara online dari semua user yang terdaftar. Berisi informasi tentang username dan juga skor rata-rata dari hasil nilai tes user tersebut. Skor rata-rata akan dihitung dari seluruh nilai yang pernah didapatkan oleh user, jumlah nilai total di bagi jumlah soal total maka akan ketemu nilai rata-rata untuk setiap soal. Agar terlihat ringkas maka rangking ini hanya dibatasi sebanyak sepuluh user dengan nilai tertinggi. Di bagian bawah terdapat tombol untuk kembali ke menu utama.
91
5.7.14 Halaman Manajemen Data MANAJEMEN DATA Pilih Data yang akan diproses
User Mapel Hasil Soal
Gambar 5.18 Halaman Manajemen Data Halaman ini untuk mengatur data-data yang ada pada aplikasi. Data yang diproses adalah data online yang dihosting kan secara gratis ke server internet. Terdapat empat tombol untuk menuju ke halaman edit data masing-masing sesuai dengan data yang dipilih.
92
BAB VI IMPLEMENTASI
6.1 ANTAR MUKA APLIKASI 6.1.1 Halaman Pembuka
Gambar 6.1 Halaman Pembuka
93
android:paddingTop="@dimen/activity_vertical_margin" tools:context=".Pembukaan" >
94
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edIdMapelPM" android:layout_centerHorizontal="true" android:text="UJIAN NASIONAL" android:textAppearance="?android:attr/textAppearanceLarge" />
Halaman yang akan pertama kali muncul saat user menjalankan aplikasi. Halaman ini berisi judul dari aplikasi pada bagian atas, di bawahnya adalah gambar pembuka, kemudian di bawahnya gambar adalah versi dari aplikasi. User dapat menyentuh klik pada layar untuk melanjutkan ke halaman berikutnya. Dilihat dari cuplikan kode halaman ini terdiri dari bebrapa textview untuk tulisan aplikasi pelatihan ujian nasional tingkat SMP. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadMenuUtama(View a) { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama.
95
6.1.2 Halaman Menu Utama
Gambar 6.2 Halaman Menu Utama
<ScrollView android:id="@+id/scrollView1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edIdMapelPM" >
96
android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical" > <Button android:id="@+id/btnLogin" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_marginTop="29dp" android:onClick="loadLogin" android:text="LOGIN" /> <Button android:id="@+id/btnDaftar" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnLogin" android:onClick="loadDaftar" android:text="DAFTAR" /> <Button android:id="@+id/btnProfil" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnTutorial" android:onClick="loadProfil" android:text="PROFIL" /> <Button android:id="@+id/btnMulaiTest" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnDaftar" android:onClick="loadPilihMapel" android:text="LATIHAN SOAL" /> <Button android:id="@+id/btnTutorial" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnMulaiTest" android:onClick="loadTutorial" android:text="TUTORIAL" />
97
<Button android:id="@+id/btnTentang" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnProfil" android:onClick="loadTentang" android:text="TENTANG" /> <Button android:id="@+id/btnAdmin" style="@style/btnStyleArsenic" android:layout_width="match_parent" android:layout_height="wrap_content" android:onClick="loadAdmin" android:text="ADMIN" />
Halaman menu utama berisi tombol-tombol yang berfungsi sebagai menu navigasi antar halaman. Terdapat tombol-tombol dengan fungsi sebagai berikut : Login yang jika dipilih akan memindahkan user ke halaman login. Daftar jika tombol ini dikilik maka akan menuju ke halaman daftar untuk pendaftaran user baru. Mulai Tes jika dipilih akan menuju ke halaman untuk memulai tes dengan memilih jenis mata pelajaran yang mau dibuat tes. Tutorial jika dipilih akan menuju ke
98
halaman tutorial yang berisi penjelasan singkat tentang cara penggunaan aplikasi. Profil jika dipilih akan memperlihatkan halaman berisi profil dari penulis tugas akhir ini. Tentang jika dipilih akan menuju ke halaman berisi informasi tentang aplikasi seperti versi aplikasi dan sebagainya. Admin jika ditekan akan memunculkan halaman menu khusus admin, tombol menu admin ini jika diakses oleh user login yang tidak mempunyai level admin maka akan memunculkan pesan error dan akses ke halaman akan ditolak. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadTentang(View a) { Intent intent = new Intent(this, Tentang.class); startActivity(intent); } public void loadLogin(View a) { Intent intent = new Intent(this, Login.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman tentang dan juga halaman login.
99
6.1.3 Halaman Login
Gambar 6.3 Halaman Login
100
android:textAppearance="?android:attr/textAppearanceLarge" /> <EditText android:id="@+id/edUsernameL" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNamaPM" android:ems="10" > <requestFocus /> <EditText android:id="@+id/edPasswordL" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNomorSoal" android:ems="10" android:inputType="textPassword" /> <Button android:id="@+id/btnLoginL"
101
style="@style/btnStyleArsenic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edPasswordL" android:layout_centerHorizontal="true" android:layout_marginTop="50dp" android:text="LOGIN" />
Halaman untuk melakukan proses login ke dalam aplikasi jika user sudah terdaftar terlebih dahulu. User dapat mengisikan pada kotak username dan password kemudian menekan tombol login. Jika username atau password yang dimasukkan tidak cocok maka akan terdapat pesan error yang menyatakan bahwa user dan password tidak sesuai. Setelah sukses login maka akan secara otomatis berpindah halaman. Untuk cuplikan kode java nya adalah sebagai berikut. public void KeluarAplikasi() { SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(Login.this); Editor edit = sp.edit(); edit.clear(); edit.commit(); Intent intent = new Intent(Intent.ACTION_MAIN); intent.addCategory(Intent.CATEGORY_HOME); intent.setFlags(Intent.FLAG_ACTIVITY_NEW_TASK); startActivity(intent); } public void loadMenuUtama() { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama dan juga untuk menutup aplikasi.
102
6.1.4 Halaman Daftar
Gambar 6.4 Halaman Daftar
<EditText android:id="@+id/edPasswordD" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNomorSoal" android:ems="10" android:inputType="textPassword" />
103
<EditText android:id="@+id/edEmailD" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edJawabanD" android:ems="10" android:inputType="textEmailAddress" /> <EditText android:id="@+id/edUsernameD" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNamaPM" android:ems="10" > <requestFocus /> <EditText android:id="@+id/edNamaD" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edJawabanC"
104
android:ems="10" /> <Button android:id="@+id/btnDaftarD" style="@style/btnStyleArsenic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edEmailD" android:layout_centerHorizontal="true" android:layout_marginTop="34dp" android:text="DAFTAR" />
105
Halaman untuk melakukan proses pendaftaran user baru aplikasi. Dengan mengisi kotak teks username, password, nama dan email kemudian menekan tombol daftar maka data pendaftaran akan diproses oleh sistem. Jika user dengan username yang sama telah ada maka akan muncul pesan error. Untuk cuplikan kode java nya adalah sebagai berikut. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_daftar); url_php = getString(R.string.php_url); inputUsername = (EditText) findViewById(R.id.edUsernameD); inputPassword = (EditText) findViewById(R.id.edPasswordD); inputNama = (EditText) findViewById(R.id.edNamaD); inputEmail = (EditText) findViewById(R.id.edEmailD); Button btnSubmit = (Button) findViewById(R.id.btnDaftarD); btnSubmit.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View view) { new ProsesAsync().execute(); } }); }
Kode di atas adalah kode yang akan dijalankan pertama kali saat halaman dipanggil yaitu memebrikan nilai kepada variabel variabel yang ada pada halaman.
106
6.1.5 Halaman Tentang
Gambar 6.5 Halaman Tentang
107
android:textAppearance="?android:attr/textAppearanceLarge" />
108
android:id="@+id/edJawabanC" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignLeft="@+id/edJawabanD" android:layout_below="@+id/edNomorSoal" android:layout_marginTop="20dp" android:text="Aplikasi ini dapat digunakan untuk sarana latihan menjelang detik-detik ujian nasional Sekolah Menengah Pertama tahun 2013/2014" android:textAppearance="?android:attr/textAppearanceSmall" />
Berisi halaman tentang aplikasi yang berjalan ini, mulai dari nama aplikasi, versi aplikasi serta deskripsi singkat dari aplikasi. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadMenuUtama(View a) { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama
109
6.1.6 Halaman Tutorial
Gambar 6.6 Halaman Tutorial
110
android:textAppearance="?android:attr/textAppearanceLarge" />
111
112
android:layout_below="@+id/TextView05" android:layout_marginTop="45dp" android:text="5 Jawab pertanyaan" android:textAppearance="?android:attr/textAppearanceSmall" />
Halaman tutorial berisi petunjuk untuk menjalanakan aplikasi untukmelakukan proses latihan soal. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadMenuUtama(View a) {
113
Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama
114
6.1.7 Halaman Profil
Gambar 6.7 Halaman Profil
115
android:textAppearance="?android:attr/textAppearanceLarge" />
Halaman berisi profil dari pembuat aplikasi. Halaman ini berisi foto dan juga nama serta nomor identitas mahasiswa. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadMenuUtama(View a) { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama.
116
6.1.8 Halaman Pilih Mapel
Gambar 6.8 Halaman Pilih Mapel
117
android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/edIdMapelPM" android:layout_centerHorizontal="true" android:text="MATA PELAJARAN" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/btnDaftarD" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNomorSoal" android:layout_marginTop="26dp" android:onClick="loadLevel" android:text="MATEMATIKA" /> <Button android:id="@+id/Button01" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnDaftarD" android:onClick="loadLevel" android:text="BAHASA INDONESIA" /> <Button android:id="@+id/Button02" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button01" android:onClick="loadLevel" android:text="BAHASA INGGRIS" /> <Button android:id="@+id/Button03" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button02" android:onClick="loadLevel" android:text="ILMU PENGETAHUAN ALAM" />
118
Halaman berisi pilihan mata pelajaran yang ada pada aplikasi yaitu mata pelajaran yang diujikan pada ujian nasional. User dapat memilih salah satu dari jenis mata pelajaran ini dengan cara menekan pada tombol yang dinginkan. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadLevel(View a) { Button tombol = (Button) a; String tekan = tombol.getText().toString(); SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(PilihMapel.this); Editor edit = sp.edit(); edit.putString("mapel", tekan); edit.commit(); Intent intent = new Intent(this, PilihLevel.class); startActivity(intent); } public void loadMenuUtama() { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama dan juga halaman pilih level yaitu halaman pemilihan tipe soal.
119
6.1.9 Halaman Pilih Tipe Soal
Gambar 6.9 Halaman Pilih Tipe Soal
120
android:layout_below="@+id/edIdMapelPM" android:layout_centerHorizontal="true" android:text="MATA PELAJARAN" android:textAppearance="?android:attr/textAppearanceMedium" /> <Button android:id="@+id/btnDaftarD" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNomorSoal" android:layout_marginTop="26dp" android:onClick="loadLevel" android:text="MATEMATIKA" /> <Button android:id="@+id/Button01" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnDaftarD" android:onClick="loadLevel" android:text="BAHASA INDONESIA" /> <Button android:id="@+id/Button02" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button01" android:onClick="loadLevel" android:text="BAHASA INGGRIS" /> <Button android:id="@+id/Button03" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button02" android:onClick="loadLevel" android:text="ILMU PENGETAHUAN ALAM" />
121
Halaman berisi pilihan mata pelajaran yang ada pada aplikasi yaitu mata pelajaran yang diujikan pada ujian nasional. User dapat memilih salah satu dari jenis mata pelajaran ini dengan cara menekan pada tombol yang dinginkan. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadLevel(View a) { Button tombol = (Button) a; String tekan = tombol.getText().toString(); SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(PilihMapel.this); Editor edit = sp.edit(); edit.putString("mapel", tekan); edit.commit(); Intent intent = new Intent(this, PilihLevel.class); startActivity(intent); } public void loadMenuUtama() { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama dan juga halaman pilih level yaitu halaman pemilihan tipe soal.
122
6.1.10 Halaman Jumlah Soal
Gambar 6.10 Halaman Jumlah Soal
123
android:layout_height="wrap_content" android:layout_below="@+id/edJudulSoal" android:layout_centerHorizontal="true" android:text="JUMLAH SOAL" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/btnDaftarD" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edPertanyaan" android:onClick="loadSoal" android:text="10" /> <Button android:id="@+id/Button02" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button03" android:onClick="loadSoal" android:text="40" /> <Button android:id="@+id/Button03" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button01" android:onClick="loadSoal" android:text="30" /> <Button android:id="@+id/Button01" style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnDaftarD" android:onClick="loadSoal" android:text="20" /> <Button android:id="@+id/Button04"
124
style="@style/btnStyleGenoa" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button03" android:layout_marginTop="47dp" android:onClick="loadSoal" android:text="50" />
Halaman untuk memilih jumlah soal yang akan dimunculkan oleh aplikasi untuk setiap sesi tes yang dijalani oleh user. Terdapat pilihan yaitu 10 hingga simulasi ujian nasional yaitu jumlah soal 50 butir soal untuk setiap sesi tes. Setelah memilih jumlah soal maka pada selanjutnya akan muncul halaman yang berisi tentang soal sesuai dengan pilihan mata pelajaran yang dipilih sebelumnya dan sebanyak jumlah yang dipilih sebelum sesi tes dianggap selesai. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadMenuUtama() { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); } public void loadSoal(View a) { Button tombol = (Button) a; String tekan = tombol.getText().toString(); SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(PilihJumlah.this); Editor edit = sp.edit(); edit.putInt("jumlahsoal", Integer.parseInt(tekan)); // contoh 5 soal dulu edit.putInt("nomorpertanyaan", 1); // Nomor Soal sesuai Mapel bersangkutan
125
edit.putInt("nomorsoal", 0); // Nomor Soal sesuai Mapel bersangkutan edit.putInt("betul", 0); // Nilai edit.commit(); // Intent intent = new Intent(this, Soal.class); Intent intent = new Intent(this, LatihanSoal.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan halaman menu utama dan juga halaman soal latihan dengan terlebih dahulu memasukkan nilai variabel yang akan dapat dibaca oleh halaman selanjutnya.
6.1.11 Halaman Soal
Gambar 6.11 Halaman Soal
126
<ScrollView android:id="@+id/scrollView1" android:layout_width="match_parent" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" >
127
android:layout_width="match_parent" android:layout_height="wrap_content" android:contentDescription="Gambar" />
Halaman yang berisi soal yang ditanyakan oleh aplikasi yang harus dijawab oleh user dengan cara memilih salah satu jawaban yang disediakan yaitu jawaban poin A, B, C dan D. Halaman ini berisi nama jenis mata pelajaran pada bagian atas, kemudian di bawahnya adalah nomor dari soal
128
yang sedang muncul. Kemudian pertanyaan dari soal serta kemudian di bawahnya lagi adalah plihan jawaban dari soal yang muncul. Untuk cuplikan kode java nya adalah sebagai berikut. public void MulaiTimer(long waktu) { if (mCountDown != null) { mCountDown.cancel(); } resettimer=0; mCountDown = new CountDownTimer(waktu, 1000) { @Override public void onFinish() { Log.d("assert", "user waktu habis"); this.cancel(); timeUp(); } @Override public void onTick(long millisUntilFinished) { displayText(String.valueOf(millisUntilFinished / 1000)); if (resettimer==1) { Log.d("assert", "user pilih jawaban"); this.cancel(); } } }.start(); }
Kode di atas adalah untuk memulai timer waktu yang ada pada halaman soal untuk membatasi waktu dalam memilih jawaban yang tersedia untuk setiap soal yang muncul.
129
6.1.12 Halaman Hasil
Gambar 6.12 Halaman Hasil
130
android:text="HASIL TES" android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/btnDaftarD" style="@style/btnStyleArsenic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_alignParentLeft="true" android:onClick="loadMapel" android:text="Coba Lagi" /> <Button android:id="@+id/Button02" style="@style/btnStyleArsenic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnDaftarD" android:layout_alignBottom="@+id/btnDaftarD" android:layout_alignParentRight="true" android:onClick="loadMenuUtama" android:text="Menu Utama" /> <Button android:id="@+id/Button01" style="@style/btnStyleArsenic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignBaseline="@+id/btnDaftarD" android:layout_alignBottom="@+id/btnDaftarD" android:layout_toLeftOf="@+id/Button02" android:layout_toRightOf="@+id/btnDaftarD" android:onClick="loadRangking" android:text="Rangking" />
131
android:layout_above="@+id/edSkorHasil" android:layout_centerHorizontal="true" android:text="SCORE" android:textAppearance="?android:attr/textAppearanceMedium" />
Halaman berisi hasil dari tes yang telah dilakukan. Halaman ini akan muncul saat jumlah soal sudah sesuai dengan jumlah yang dipilih oleh user untuk sesi tes yang bersangkutan. Perhitungan dari hasil skor nilai yang muncul adalah (100/jumlah soal) X jawaban betul. Contohnya skor 20 berarti bisa kemungkinan soal berjumlah 10 butir dan user hanya dapat menjawab dengan betul sebanyak dua butir soal saja. Terdapat tiga tombol yaitu Coba lagi untuk kembali memilih mata pelajaran, Rangking untuk menyimpan data rangking dan ini hanya dapat diakses jika user telah login ke dalam aplikasi. Menu utama untuk kembali ke halaman menu utama. Untuk cuplikan kode java nya adalah sebagai berikut. protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_hasil); url_php = getString(R.string.php_url); TextView edskorhasil = (TextView) findViewById(R.id.edSkorHasil);
132
SharedPreferences sp = PreferenceManager .getDefaultSharedPreferences(Hasil.this); int jumlah = sp.getInt("jumlahsoal", 0); int betul = sp.getInt("betul", 0); float skor = 0; skor = (100 / jumlah) * betul; edskorhasil.setText(String.valueOf(skor)); CustomListView = this; Resources res = getResources(); ListView t = (ListView) findViewById(R.id.lvHasilTes); adapter = new HasilTesAdapter(CustomListView, CustomListViewValuesArr, res); t.setAdapter(adapter); new ProsesAsync2().execute(); }
Kode di atas adalah untuk menghitung hasil dari nilai soal yang telah selesai dikerjakan oleh user.
133
6.1.13 Halaman Rangking
Gambar 6.13 Halaman Rangking
134
android:textAppearance="?android:attr/textAppearanceLarge" /> <Button android:id="@+id/btnDaftarD" style="@style/btnStyleArsenic" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentBottom="true" android:layout_centerHorizontal="true" android:onClick="loadMenuUtama" android:text="Menu Utama" />
135
Halaman berisi daftar rangking secara online yang membandingkan data rata-rata nilai dari setiap user yang terdaftar dan melakukan tes dengan menggunakan aplikasi ini. Untuk cuplikan kode java nya adalah sebagai berikut. protected String doInBackground(String... args) { JSONArray hasil = null; String pesan = null; int success = 0; String tabel = "LIST"; String proses = "RANGKING"; List
params = new ArrayList(); params.add(new BasicNameValuePair("tabel", tabel)); params.add(new BasicNameValuePair("proses", proses)); JSONObject json = jsonParser.makeHttpRequest(url_php, "POST", params); try { success = json.getInt(TAG_SUCCESS); pesan = json.getString(TAG_PESAN); if (success == 1) { hasil = json.getJSONArray(TAG_HASIL); for (int j = 0; j < hasil.length(); j++) { RangkingModel mn = new RangkingModel(); JSONObject c = hasil.getJSONObject(j); mn.setNomor(String.valueOf(j + 1)); mn.setUsername(c.getString("username")); mn.setRata(c.getInt("rata")); CustomListViewValuesArr.add(mn); } } } catch (JSONException e) { e.printStackTrace(); }
136
return pesan; }
Kode di atas adalah untuk mengambil data yang ada dalam database mysql dengan menggunakan proses yang berjalan pada background.
6.1.14 Halaman Manajemen Data
Gambar 6.14 Halaman Manajemen Data
137
<Button android:id="@+id/btnDaftarD" style="@style/btnStyleSeagull" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/edNamaPM" android:layout_marginTop="14dp" android:onClick="loadAdminUserData" android:text="USER" /> <Button android:id="@+id/Button01" style="@style/btnStyleSeagull" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnDaftarD" android:onClick="loadAdminMapelData" android:text="MAPEL" /> <Button android:id="@+id/btnUpdate" style="@style/btnStyleSeagull" android:layout_width="wrap_content"
138
android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/Button01" android:onClick="loadAdminSoalData" android:text="SOAL" /> <Button android:id="@+id/Button02" style="@style/btnStyleSeagull" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_alignParentLeft="true" android:layout_alignParentRight="true" android:layout_below="@+id/btnUpdate" android:onClick="loadAdminHasilData" android:text="HASIL" />
Halaman berisi daftar tombol menu untuk user admin yang dapat digunakan untuk mengatur data-data yang digunakan pada aplkasi. Tombol menu akan menuju ke halaman edit data. Untuk dapat mengakses halaman ini maka user harus login sebagai user level admin. Untuk cuplikan kode java nya adalah sebagai berikut. public void loadAdminHasilData(View a) { Intent intent = new Intent(this, AdminHasilData.class); startActivity(intent); } public void loadAdminMapelData(View a) { Intent intent = new Intent(this, AdminMapelData.class); startActivity(intent); } public void loadAdminSoalData(View a) { Intent intent = new Intent(this, AdminSoalData.class); startActivity(intent); }
139
public void loadAdminUserData(View a) { Intent intent = new Intent(this, AdminUserData.class); startActivity(intent); } public void loadMenuUtama() { Intent intent = new Intent(this, MenuUtama.class); startActivity(intent); }
Kode di atas adalah untuk memunculkan berbagai halaman yang dapat dipilih pada menu admin ini.
140
BAB VII HASIL DAN PEMBAHASAN
Hasil dan pembahasan dari aplikasi pelatihan soal ujian nasional tingkat SMP berbasis android ini terdiri dari beberapa tampilan program dan pejelasan tampilannya.
7.1. Tampilan Halaman Pembuka
Gambar 7.1 Tampilan Halaman Pembuka Halaman yang akan pertama kali muncul saat user menjalankan aplikasi. Halaman ini berisi judul dari aplikasi pada bagian atas, di bawahnya adalah gambar pembuka, kemudian di bawahnya gambar adalah
141
versi dari aplikasi. User dapat menyentuh klik pada layar untuk melanjutkan ke halaman berikutnya. 7.2. Tampilan Halaman Menu
Gambar 7.2 Tampilan Halaman Menu Utama
Halaman menu utama berisi tombol-tombol yang berfungsi sebagai menu navigasi antar halaman. Terdapat tombol-tombol dengan fungsi sebagai berikut : Login yang jika dipilih akan memindahkan user ke halaman login. Daftar jika tombol ini dikilik maka akan menuju ke halaman daftar untuk pendaftaran user baru. Latihan Soal jika dipilih akan menuju ke halaman untuk memulai Latihan Soal. Tutorial jika dipilih akan menuju ke halaman tutorial yang berisi penjelasan singkat tentang cara penggunaan aplikasi. Profil jika dipilih akan memperlihatkan halaman
142
berisi profil dari penulis tugas akhir ini. Tentang jika dipilih akan menuju ke halaman berisi informasi tentang aplikasi seperti versi aplikasi dan sebagainya. Admin jika ditekan akan memunculkan halaman menu khusus admin, tombol menu admin ini jika diakses oleh user login yang tidak mempunyai level admin maka akan memunculkan pesan error dan akses ke halaman akan ditolak.
143
7.3. Tampilan Halaman Login
Gambar 7.3 Tampilan Gambar 7.4 Tampilan Gambar 7.5 Tampilan Halaman Login Proses Login Proses Login Sukses
Halaman untuk melakukan login terdapat isian username dan password yang digunakan untuk proses login ke aplikasi. Sebelum login terlebih dahulu harus melakukan pendaftaran. Di dalam tampilan proses login diatas terlihat username beserta password yang sudah di inputkan dan terlihat tampilan proses login sukses.
144
7.4. Tampilan Halaman Mendaftar
Gambar 7.6 Tampilan Input Halaman Daftar
Gambar 7.7 Tampilan Proses Halaman Daftar
Gambar 7.8 Tampilan Pendaftaran Sukses
Halaman untuk melakukan proses pendaftaran user baru aplikasi. Dengan mengisi kotak teks username, password, nama dan email yang terdapat di tampilan input halaman daftar dengan memberikan contoh dengan data diri Andi Yulianto kemudian menekan tombol daftar maka data pendaftaran akan diproses bisa dilihat di tampilan proses. Di tampilan selanjutnya terdapat pendaftaran sukses untuk data diri Andi Yulianto yang diinputkan sebelumnya. Jika user dengan username yang sama telah ada maka akan muncul pesan error.
145
7.5
Tampilan Halaman Tentang
Gambar 7.9 Tampilan Halaman Tentang
Halaman tentang bisa dibuka setelah menekan tombol tentang di halaman menu utama. Halaman tentang berisi mulai dari nama aplikasi, versi aplikasi serta deskripsi singkat dari aplikasi.
146
7.6 Tampilan Halaman Tutorial
Gambar 7.10 Tampilan Halaman Tutorial
Halaman tutorial bisa dibuka setelah menekan tombol tutorial di halaman menu utama. Halaman ini berisi petunjuk singkat untuk melakukan latihan soal pada aplikasi. Berisi juga keterangan dari menu pilihan sebelum pelatihan soal.
147
7.7 Tampilan Halaman Profil
Gambar 7.11 Tampilan Halaman Profil
Halaman profil bisa dibuka setelah menekan tombol profil di halaman menu utama. Halaman ini berisi profil dari pembuat aplikasi. Halaman ini berisi foto dan juga nama serta nomor identitas mahasiswa.
148
7.8 Tampilan Halaman Mapel
Gambar 7.12 Tampilan Halaman Mapel
Gambar 7.13 Tampilan Halaman Tipe Soal
Gambar 7.14 Tampilan Halaman Jumlah Soal
Halaman ini bisa dibuka setelah menekan tombol latihan soal di halaman menu utama. Halaman berisi pilihan mata pelajaran yang ada pada aplikasi yaitu mata pelajaran Matematika, Bahasa Indonesia, Bahasa Inggris dan Ilmu Pengetahuan Alam. Setelah menekan salah satu tombol mapel, terdapat tampilan halaman tipe soal Pendalaman, tryout dan prediksi dan dilanjutkan dengan memilih jumlah soal setelah memilih salah satu tipe soal.
149
7.9 Tampilan Halaman Soal
Gambar 7.15 Tampilan Halaman Soal
Gambar 7.16 Tampilan Proses Jawaban
Gambar 7.15 Tampilan Halaman Soal Berikutnya
Halaman ini bisa dibuka setelah melakukan pemilihan jumlah soal yang terdapat pada urutan di pilihan latihan soal di halaman menu utama. Halaman ini berisi soal yang ditanyakan oleh aplikasi yang harus dijawab oleh user dengan cara memilih salah satu jawaban yang disediakan yaitu jawaban poin A, B, C dan D dan setiap soal mempunyai waktu pengerjaan. Setelah memilih muncul proses jawaban dan setelah itu muncul halaman soal berikutnya.
150
7.10 Tampilan Halaman Hasil
Gambar 7.16 Tampilan Halaman Hasil
Halaman ini muncul setelah pelatihan soal selesai dilakukan. Halaman ini berisi hasil dari tes yang telah dilakukan. Halaman ini akan muncul saat jumlah soal sudah sesuai dengan jumlah yang dipilih oleh user untuk sesi pelatihan yang bersangkutan. Perhitungan dari hasil skor nilai yang muncul adalah (100/jumlah soal) X jawaban betul. Contohnya skor 20 berarti bisa kemungkinan soal berjumlah 10 butir dan user hanya dapat menjawab dengan betul sebanyak dua butir soal saja. Terdapat tiga tombol yaitu Coba lagi untuk kembali memilih mata pelajaran, Rangking untuk menyimpan data rangking dan ini hanya dapat diakses jika user telah login ke dalam aplikasi. Menu utama untuk kembali ke halaman menu utama.
151
7.11 Tampilan Halaman Rangking
Gambar 7.17 Tampilan Halaman Rangking Halaman
rangking bisa dibuka kalau jika user sudah melakukan
pendaftaran sebelumnya dan melakukan serangkaian proses pelatihan soal. Halaman ini berisi daftar rangking secara online yang membandingkan data rata-rata nilai dari setiap user yang terdaftar dan melakukan tes.
152
7.2 Tampilan Halaman Manajemen Data
Gambar 7.18 Tampilan Halaman Manajemen Data
Untuk proses manajemen data ini maka user harus login menggunakan username yang mempunyai level status hak admin. User admin akan dapat mengakses halaman administrasi data aplikasi. Pada halaman manajemen data ini admin dapat memilih salah satu tabel data yang ada pada menu yaitu data user, mata pelajaran, soal dan hasil. Setelah dipilih salah satu maka akan muncul tabel daftar data.
153
BAB VIII KESIMPULAN DAN SARAN
8.1 KESIMPULAN Berikut ini adalah kesimpulan yang dapat dirangkum berdasarkan penelitian yang telah dilakukan. 1. Dari penelitian ini telah dihasilkan sebuah aplikasi pelatihan ujian nasional berbasis android yang dapat digunakan oleh siswa sekolah menengah pertama sebagai alat bantu pelatihan soal menjelang Ujian Nasional. 2. Aplikasi dapat dijalankan melalui ponsel pintar atau smartphone dengan sistem operasi android. 3. Aplikasi berjalan dengan koneksi internet untuk beberapa fungsi khusus seperti cek rangking hasil nilai dan juga proses login dan pendaftaran.
8.2 SARAN-SARAN Saran-saran yang diberikan untuk digunakan dalam penyempurnaan topik penelitian yang diambil adalah sebagai berikut : 1. Penambahan jumlah materi sesuai tahun pelaksanaan ujian, sehingga soal akan menjadi lebih banyak dan lebih lengkap.
154
2. Adanya pengelompokkan soal berdasarkan relevansi pokok bahasan, sehingga soal berbeda yang masih satu bahasan dapat munculkan dalam tes. 3. Pembuatan aplikasi yang sama tetapi berjalan pada platform mobile yang lain seperti ios dan juga java j2me.
Demikian penutup yang berisikan kesimpulan dan saran dari penulis semoga dapat bermanfaat dan memberikan inspirasi untuk pengembangan ke depan.
155