PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER TUGAS AKHIR EKO JULIO MISRA

Ukuran: px
Mulai penontonan dengan halaman:

Download "PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER TUGAS AKHIR EKO JULIO MISRA"

Transkripsi

1 PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER TUGAS AKHIR Oleh : EKO JULIO MISRA PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNOLOGI INFORMASI POLITEKNIK NEGERI PADANG 2017

2 PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER TUGAS AKHIR Diajukan sebagai salah satu syarat untuk mendapatkan gelar Ahli Madya pada Jurusan Teknologi Informasi Program Studi Teknik Komputer Oleh : EKO JULIO MISRA PROGRAM STUDI TEKNIK KOMPUTER JURUSAN TEKNOLOGI INFORMASI POLITEKNIK NEGERI PADANG 2017

3 PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER Diajukan sebagai salah satu syarat untuk mendapatkan gelar Ahli Madya pada Jurusan Teknologi Informasi Program Studi Teknik Komputer Oleh : EKO JULIO MISRA Tugas Akhir ini telah diperiksa dan disetujui oleh: Pembimbing I Pembimbing II Yuhefizar, S.Kom., M.Kom NIP Ir. H.A. Mooduto, M.Kom NIP Disahkan oleh: Ketua Jurusan Teknologi Informasi Ketua Program Studi Teknik Komputer Ronal Hadi, ST. M.Kom NIP Deni Satria, S.Kom., M.Kom NIP

4 PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID BERBASIS CLIENT SERVER Oleh : EKO JULIO MISRA Tugas Akhir ini telah diuji dan dipertahankan didepan tim penguji sidang Tugas Akhir Diploma III Politeknik Negeri Padang Pada hari Senin Tanggal 9 Oktober 2017 Tim Penguji, Ketua Sekretaris Yuhefizar, S.Kom., M.Kom NIP Cipto Prabowo, ST., MT NIP Anggota Anggota Defni, S.Kom., M.Kom NIP Deni Satria, S.Kom., M.Kom NIP

5 DAFTAR RIWAYAT HIDUP DATA PRIBADI Nama : Eko Julio Misra Tempat / Tanggal Lahir : Padang, 23 Juli 1994 Jenis Kelamin : Laki laki Agama : Islam Kebangsaan : Indonesia Alamat : Jl. Cisadane no 33 Padang Baru Timur PENDIDIKAN SD Negeri 03 Alai SMP Negeri 12 Padang SMK Negeri 6 Padang Politeknik Negeri Padang Demikian Daftar Riwayat Hidup ini saya buat dengan sebenar benarnya, Atas perhatian saya ucapkan terima kasih. Hormat saya (Eko Julio Misra)

6 LISTING PROGRAM MainActivity package com.tiara.tiara.soalumpn; import android.content.dialoginterface; import android.content.intent; import android.os.bundle; import android.support.design.widget.floatingactionbutton; import android.support.design.widget.snackbar; import android.support.v4.app.fragmentmanager; import android.support.v7.app.alertdialog; import android.view.view; import android.support.design.widget.navigationview; import android.support.v4.view.gravitycompat; import android.support.v4.widget.drawerlayout; import android.support.v7.app.actionbardrawertoggle; import android.support.v7.app.appcompatactivity; import android.support.v7.widget.toolbar; import android.view.menu; import android.view.menuitem; import android.widget.toast; public class MainActivity extends AppCompatActivity implements NavigationView.OnNavigationItemSelectedListener { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_main); Toolbar toolbar = (Toolbar) findviewbyid(r.id.toolbar); setsupportactionbar(toolbar); FloatingActionButton fab = (FloatingActionButton) findviewbyid(r.id.fab); fab.setonclicklistener(new View.OnClickListener() { public void onclick(view view) { Snackbar.make(view, "Replace with your own action", Snackbar.LENGTH_LONG).setAction("Action", null).show(); ); DrawerLayout drawer = (DrawerLayout) findviewbyid(r.id.drawer_layout); ActionBarDrawerToggle toggle = new ActionBarDrawerToggle(

7 this, drawer, toolbar, R.string.navigation_drawer_open, R.string.navigation_drawer_close); drawer.setdrawerlistener(toggle); toggle.syncstate(); NavigationView navigationview = (NavigationView) findviewbyid(r.id.nav_view); navigationview.setnavigationitemselectedlistener(this); public void onbackpressed() { DrawerLayout drawer = (DrawerLayout) findviewbyid(r.id.drawer_layout); if (drawer.isdraweropen(gravitycompat.start)) { drawer.closedrawer(gravitycompat.start); else { super.onbackpressed(); public boolean oncreateoptionsmenu(menu menu) { // Inflate the menu; this adds items to the action bar if it is present. getmenuinflater().inflate(r.menu.main, menu); return true; public boolean onoptionsitemselected(menuitem item) { // Handle action bar item clicks here. The action bar will // automatically handle clicks on the Home/Up button, so long // as you specify a parent activity in AndroidManifest.xml. int id = item.getitemid(); //noinspection SimplifiableIfStatement if (id == R.id.action_settings) { return true; return public boolean onnavigationitemselected(menuitem item) { // Handle navigation view item clicks here. int id = item.getitemid();

8 { switch (id) { case R.id.latihansoal: Intent soal = new Intent(this, Latihan_Soal.class); startactivity(soal); case R.id.pembahasan: Intent pembahasan = new Intent(this, Pembahasan.class); startactivity(pembahasan); case R.id.nilai: Intent nilailatihan = new Intent(this, Nilai_Latihan.class); startactivity(nilailatihan); case R.id.keluar: AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.settitle("keluar").setmessage("yakin Keluar? "); builder.setpositivebutton("ya", new DialogInterface.OnClickListener() public void onclick(dialoginterface dialog, int which) { finish(); ).setnegativebutton("tidak", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { dialog.cancel(); ).show(); DrawerLayout drawer = (DrawerLayout) findviewbyid(r.id.drawer_layout); drawer.closedrawer(gravitycompat.start); return true; public void btnlatihan (View v) { Intent intent = new Intent(this, Latihan_Soal.class); startactivity(intent); public void btnpembahasan (View v) { Intent intent = new Intent(this, Pembahasan.class); startactivity(intent); public void btnnilai (View v) {

9 Intent intent = new Intent(this, Nilai_Latihan.class); startactivity(intent); public void btnkeluar (View v) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.settitle("keluar").setmessage("yakin Keluar? "); builder.setpositivebutton("ya", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { finish(); ).setnegativebutton("tidak", new DialogInterface.OnClickListener() { public void onclick(dialoginterface dialog, int which) { dialog.cancel(); ).show(); Tentang package com.tiara.tiara.soalumpn; import android.support.v7.app.appcompatactivity; import android.os.bundle; public class Biodata extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_biodata); LatihanSoal package com.tiara.tiara.soalumpn; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; public class Latihan_Soal extends AppCompatActivity {

10 protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_latihan_soal); public void rekayasa (View v) { Intent intent = new Intent(this, Activity_bidang_rekayasa.class); startactivity(intent); public void tataniaga (View v) { Intent intent = new Intent(this, Activity_bidang_tataniaga.class); startactivity(intent); BidangRekayasa package com.tiara.tiara.soalumpn; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; public class Activity_bidang_rekayasa extends AppCompatActivity { protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_bidang_rekayasa); public void mulairekayasa (View v) { Intent intent = new Intent(this, SoalRekayasa.class); startactivity(intent); SoalRekayasa package com.tiara.tiara.soalumpn; import android.content.intent; import android.support.annotation.idres; import android.support.v7.app.appcompatactivity; import android.os.bundle;

11 import android.view.view; import android.view.view.onclicklistener; import android.widget.button; import android.widget.radiobutton; import android.widget.radiogroup; import android.widget.textview; import android.widget.toast; import com.android.volley.request; import com.android.volley.requestqueue; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.jsonobjectrequest; import com.android.volley.toolbox.volley; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import java.util.arraylist; import java.util.hashmap; public class SoalRekayasa extends AppCompatActivity { private TextView soalrek1, soalrek2, soalrek3, soalrek4, soalrek5, soalrek6, soalrek7, soalrek8, soalrek9, soalrek10, soalrek11, soalrek12, soalrek13, soalrek14, soalrek15, soalrek16, soalrek17, soalrek18, soalrek19, soalrek20, soalrek21, soalrek22, soalrek23, soalrek24, soalrek25, soalrek26, soalrek27, soalrek28, soalrek29, soalrek30, soalrek31, soalrek32, soalrek33, soalrek34, soalrek35, soalrek36, soalrek37, soalrek38, soalrek39, soalrek40, soalrek41, soalrek42, soalrek43, soalrek44, soalrek45, soalrek46, soalrek47, soalrek48, soalrek49, soalrek50; private RadioGroup rg1, rg2, rg3, rg4, rg5, rg6, rg7, rg8, rg9, rg10, rg11, rg12, rg13, rg14, rg15, rg16, rg17, rg18, rg19, rg20, rg21, rg22, rg23, rg24, rg25, rg26, rg27, rg28, rg29, rg30, rg31, rg32, rg33, rg34, rg35, rg36, rg37, rg38, rg39, rg40, rg41, rg42, rg43, rg44, rg45, rg46, rg47, rg48, rg49, rg50; private RadioButton rb1a, rb1b, rb1c, rb1d, rb1e, rb2a, rb2b, rb2c, rb2d, rb2e, rb3a, rb3b, rb3c, rb3d, rb3e, rb4a, rb4b, rb4c, rb4d, rb4e, rb5a, rb5b, rb5c, rb5d, rb5e, rb6a, rb6b, rb6c, rb6d, rb6e, rb7a, rb7b, rb7c, rb7d, rb7e, rb8a, rb8b, rb8c, rb8d, rb8e, rb9a, rb9b, rb9c, rb9d, rb9e, rb10a, rb10b, rb10c, rb10d, rb10e, rb11a, rb11b, rb11c, rb11d, rb11e, rb12a, rb12b, rb12c, rb12d, rb12e, rb13a, rb13b, rb13c, rb13d, rb13e, rb14a, rb14b,

12 rb14c, rb14d, rb14e, rb15a, rb15b, rb15c, rb15d, rb15e, rb16a, rb16b, rb16c, rb16d, rb16e, rb17a, rb17b, rb17c, rb17d, rb17e, rb18a, rb18b, rb18c, rb18d, rb18e, rb19a, rb19b, rb19c, rb19d, rb19e, rb20a, rb20b, rb20c, rb20d, rb20e, rb21a, rb21b, rb21c, rb21d, rb21e, rb22a, rb22b, rb22c, rb22d, rb22e, rb23a, rb23b, rb23c, rb23d, rb23e, rb24a, rb24b, rb24c, rb24d, rb24e, rb25a, rb25b, rb25c, rb25d, rb25e, rb26a, rb26b, rb26c, rb26d, rb26e, rb27a, rb27b, rb27c, rb27d, rb27e, rb28a, rb28b, rb28c, rb28d, rb28e, rb29a, rb29b, rb29c, rb29d, rb29e, rb30a, rb30b, rb30c, rb30d, rb30e, rb31a, rb31b, rb31c, rb31d, rb31e, rb32a, rb32b, rb32c, rb32d, rb32e, rb33a, rb33b, rb33c, rb33d, rb33e, rb34a, rb34b, rb34c, rb34d, rb34e, rb35a, rb35b, rb35c, rb35d, rb35e, rb36a, rb36b, rb36c, rb36d, rb36e, rb37a, rb37b, rb37c, rb37d, rb37e, rb38a, rb38b, rb38c, rb38d, rb38e, rb39a, rb39b, rb39c, rb39d, rb39e, rb40a, rb40b, rb40c, rb40d, rb40e, rb41a, rb41b, rb41c, rb41d, rb41e, rb42a, rb42b, rb42c, rb42d, rb42e, rb43a, rb43b, rb43c, rb43d, rb43e, rb44a, rb44b, rb44c, rb44d, rb44e, rb45a, rb45b, rb45c, rb45d, rb45e, rb46a, rb46b, rb46c, rb46d, rb46e, rb47a, rb47b, rb47c, rb47d, rb47e, rb48a, rb48b, rb48c, rb48d, rb48e, rb49a, rb49b, rb49c, rb49d, rb49e, rb50a, rb50b, rb50c, rb50d, rb50e; private double b = 0, s = 0, hasilrekayasa = 0; private Button btnselesai; private RequestQueue requestqueue; private JsonObjectRequest jsonobjectrequest; ArrayList<HashMap<String, String>> list_data; String url = " protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_soal_rekayasa); btnselesai = (Button)findViewById(R.id.btnSelesai); btnselesai.setonclicklistener(new PanggilHasilRekayasa()); soalrek1 = (TextView)findViewById(R.id.soalrek1); rg1 = (RadioGroup)findViewById(R.id.rg1); rb1a = (RadioButton)findViewById(R.id.rb1a); rb1b = (RadioButton)findViewById(R.id.rb1b); rb1c = (RadioButton)findViewById(R.id.rb1c); rb1d = (RadioButton)findViewById(R.id.rb1d); rb1e = (RadioButton)findViewById(R.id.rb1e); soalrek2 = (TextView)findViewById(R.id.soalrek2); rg2 = (RadioGroup)findViewById(R.id.rg2);

13 rb2a = (RadioButton)findViewById(R.id.rb2a); rb2b = (RadioButton)findViewById(R.id.rb2b); rb2c = (RadioButton)findViewById(R.id.rb2c); rb2d = (RadioButton)findViewById(R.id.rb2d); rb2e = (RadioButton)findViewById(R.id.rb2e); soalrek3 = (TextView)findViewById(R.id.soalrek3); rg3 = (RadioGroup)findViewById(R.id.rg3); rb3a = (RadioButton)findViewById(R.id.rb3a); rb3b = (RadioButton)findViewById(R.id.rb3b); rb3c = (RadioButton)findViewById(R.id.rb3c); rb3d = (RadioButton)findViewById(R.id.rb3d); rb3e = (RadioButton)findViewById(R.id.rb3e); soalrek4 = (TextView)findViewById(R.id.soalrek4); rg4 = (RadioGroup)findViewById(R.id.rg4); rb4a = (RadioButton)findViewById(R.id.rb4a); rb4b = (RadioButton)findViewById(R.id.rb4b); rb4c = (RadioButton)findViewById(R.id.rb4c); rb4d = (RadioButton)findViewById(R.id.rb4d); rb4e = (RadioButton)findViewById(R.id.rb4e); soalrek5 = (TextView)findViewById(R.id.soalrek5); rg5 = (RadioGroup)findViewById(R.id.rg5); rb5a = (RadioButton)findViewById(R.id.rb5a); rb5b = (RadioButton)findViewById(R.id.rb5b); rb5c = (RadioButton)findViewById(R.id.rb5c); rb5d = (RadioButton)findViewById(R.id.rb5d); rb5e = (RadioButton)findViewById(R.id.rb5e); soalrek6 = (TextView)findViewById(R.id.soalrek6); rg6 = (RadioGroup)findViewById(R.id.rg6); rb6a = (RadioButton)findViewById(R.id.rb6a); rb6b = (RadioButton)findViewById(R.id.rb6b); rb6c = (RadioButton)findViewById(R.id.rb6c); rb6d = (RadioButton)findViewById(R.id.rb6d); rb6e = (RadioButton)findViewById(R.id.rb6e); soalrek7 = (TextView)findViewById(R.id.soalrek7); rg7 = (RadioGroup)findViewById(R.id.rg7); rb7a = (RadioButton)findViewById(R.id.rb7a); rb7b = (RadioButton)findViewById(R.id.rb7b); rb7c = (RadioButton)findViewById(R.id.rb7c); rb7d = (RadioButton)findViewById(R.id.rb7d); rb7e = (RadioButton)findViewById(R.id.rb7e); soalrek8 = (TextView)findViewById(R.id.soalrek8); rg8 = (RadioGroup)findViewById(R.id.rg8);

14 rb8a = (RadioButton)findViewById(R.id.rb8a); rb8b = (RadioButton)findViewById(R.id.rb8b); rb8c = (RadioButton)findViewById(R.id.rb8c); rb8d = (RadioButton)findViewById(R.id.rb8d); rb8e = (RadioButton)findViewById(R.id.rb8e); soalrek9 = (TextView)findViewById(R.id.soalrek9); rg9 = (RadioGroup)findViewById(R.id.rg9); rb9a = (RadioButton)findViewById(R.id.rb9a); rb9b = (RadioButton)findViewById(R.id.rb9b); rb9c = (RadioButton)findViewById(R.id.rb9c); rb9d = (RadioButton)findViewById(R.id.rb9d); rb9e = (RadioButton)findViewById(R.id.rb9e); soalrek10 = (TextView)findViewById(R.id.soalrek10); rg10 = (RadioGroup)findViewById(R.id.rg10); rb10a = (RadioButton)findViewById(R.id.rb10a); rb10b = (RadioButton)findViewById(R.id.rb10b); rb10c = (RadioButton)findViewById(R.id.rb10c); rb10d = (RadioButton)findViewById(R.id.rb10d); rb10e = (RadioButton)findViewById(R.id.rb10e); soalrek11 = (TextView)findViewById(R.id.soalrek11); rg11 = (RadioGroup)findViewById(R.id.rg11); rb11a = (RadioButton)findViewById(R.id.rb11a); rb11b = (RadioButton)findViewById(R.id.rb11b); rb11c = (RadioButton)findViewById(R.id.rb11c); rb11d = (RadioButton)findViewById(R.id.rb11d); rb11e = (RadioButton)findViewById(R.id.rb11e); soalrek12 = (TextView)findViewById(R.id.soalrek12); rg12 = (RadioGroup)findViewById(R.id.rg12); rb12a = (RadioButton)findViewById(R.id.rb12a); rb12b = (RadioButton)findViewById(R.id.rb12b); rb12c = (RadioButton)findViewById(R.id.rb12c); rb12d = (RadioButton)findViewById(R.id.rb12d); rb12e = (RadioButton)findViewById(R.id.rb12e); soalrek13 = (TextView)findViewById(R.id.soalrek13); rg13 = (RadioGroup)findViewById(R.id.rg13); rb13a = (RadioButton)findViewById(R.id.rb13a); rb13b = (RadioButton)findViewById(R.id.rb13b); rb13c = (RadioButton)findViewById(R.id.rb13c); rb13d = (RadioButton)findViewById(R.id.rb13d); rb13e = (RadioButton)findViewById(R.id.rb13e); soalrek14 = (TextView)findViewById(R.id.soalrek14); rg14 = (RadioGroup)findViewById(R.id.rg14);

15 rb14a = (RadioButton)findViewById(R.id.rb14a); rb14b = (RadioButton)findViewById(R.id.rb14b); rb14c = (RadioButton)findViewById(R.id.rb14c); rb14d = (RadioButton)findViewById(R.id.rb14d); rb14e = (RadioButton)findViewById(R.id.rb14e); soalrek15 = (TextView)findViewById(R.id.soalrek15); rg15 = (RadioGroup)findViewById(R.id.rg15); rb15a = (RadioButton)findViewById(R.id.rb15a); rb15b = (RadioButton)findViewById(R.id.rb15b); rb15c = (RadioButton)findViewById(R.id.rb15c); rb15d = (RadioButton)findViewById(R.id.rb15d); rb15e = (RadioButton)findViewById(R.id.rb15e); soalrek16 = (TextView)findViewById(R.id.soalrek16); rg16 = (RadioGroup)findViewById(R.id.rg16); rb16a = (RadioButton)findViewById(R.id.rb16a); rb16b = (RadioButton)findViewById(R.id.rb16b); rb16c = (RadioButton)findViewById(R.id.rb16c); rb16d = (RadioButton)findViewById(R.id.rb16d); rb16e = (RadioButton)findViewById(R.id.rb16e); soalrek17 = (TextView)findViewById(R.id.soalrek17); rg17 = (RadioGroup)findViewById(R.id.rg17); rb17a = (RadioButton)findViewById(R.id.rb17a); rb17b = (RadioButton)findViewById(R.id.rb17b); rb17c = (RadioButton)findViewById(R.id.rb17c); rb17d = (RadioButton)findViewById(R.id.rb17d); rb17e = (RadioButton)findViewById(R.id.rb17e); soalrek18 = (TextView)findViewById(R.id.soalrek18); rg18 = (RadioGroup)findViewById(R.id.rg18); rb18a = (RadioButton)findViewById(R.id.rb18a); rb18b = (RadioButton)findViewById(R.id.rb18b); rb18c = (RadioButton)findViewById(R.id.rb18c); rb18d = (RadioButton)findViewById(R.id.rb18d); rb18e = (RadioButton)findViewById(R.id.rb18e); soalrek19 = (TextView)findViewById(R.id.soalrek19); rg19 = (RadioGroup)findViewById(R.id.rg19); rb19a = (RadioButton)findViewById(R.id.rb19a); rb19b = (RadioButton)findViewById(R.id.rb19b); rb19c = (RadioButton)findViewById(R.id.rb19c); rb19d = (RadioButton)findViewById(R.id.rb19d); rb19e = (RadioButton)findViewById(R.id.rb19e); soalrek20 = (TextView)findViewById(R.id.soalrek20); rg20 = (RadioGroup)findViewById(R.id.rg20);

16 rb20a = (RadioButton)findViewById(R.id.rb20a); rb20b = (RadioButton)findViewById(R.id.rb20b); rb20c = (RadioButton)findViewById(R.id.rb20c); rb20d = (RadioButton)findViewById(R.id.rb20d); rb20e = (RadioButton)findViewById(R.id.rb20e); soalrek21 = (TextView)findViewById(R.id.soalrek21); rg21 = (RadioGroup)findViewById(R.id.rg21); rb21a = (RadioButton)findViewById(R.id.rb21a); rb21b = (RadioButton)findViewById(R.id.rb21b); rb21c = (RadioButton)findViewById(R.id.rb21c); rb21d = (RadioButton)findViewById(R.id.rb21d); rb21e = (RadioButton)findViewById(R.id.rb21e); soalrek22 = (TextView)findViewById(R.id.soalrek22); rg22 = (RadioGroup)findViewById(R.id.rg22); rb22a = (RadioButton)findViewById(R.id.rb22a); rb22b = (RadioButton)findViewById(R.id.rb22b); rb22c = (RadioButton)findViewById(R.id.rb22c); rb22d = (RadioButton)findViewById(R.id.rb22d); rb22e = (RadioButton)findViewById(R.id.rb22e); soalrek23 = (TextView)findViewById(R.id.soalrek23); rg23 = (RadioGroup)findViewById(R.id.rg23); rb23a = (RadioButton)findViewById(R.id.rb23a); rb23b = (RadioButton)findViewById(R.id.rb23b); rb23c = (RadioButton)findViewById(R.id.rb23c); rb23d = (RadioButton)findViewById(R.id.rb23d); rb23e = (RadioButton)findViewById(R.id.rb23e); soalrek24 = (TextView)findViewById(R.id.soalrek24); rg24 = (RadioGroup)findViewById(R.id.rg24); rb24a = (RadioButton)findViewById(R.id.rb24a); rb24b = (RadioButton)findViewById(R.id.rb24b); rb24c = (RadioButton)findViewById(R.id.rb24c); rb24d = (RadioButton)findViewById(R.id.rb24d); rb24e = (RadioButton)findViewById(R.id.rb24e); soalrek25 = (TextView)findViewById(R.id.soalrek25); rg25 = (RadioGroup)findViewById(R.id.rg25); rb25a = (RadioButton)findViewById(R.id.rb25a); rb25b = (RadioButton)findViewById(R.id.rb25b); rb25c = (RadioButton)findViewById(R.id.rb25c); rb25d = (RadioButton)findViewById(R.id.rb25d); rb25e = (RadioButton)findViewById(R.id.rb25e); soalrek26 = (TextView)findViewById(R.id.soalrek26); rg26 = (RadioGroup)findViewById(R.id.rg26);

17 rb26a = (RadioButton)findViewById(R.id.rb26a); rb26b = (RadioButton)findViewById(R.id.rb26b); rb26c = (RadioButton)findViewById(R.id.rb26c); rb26d = (RadioButton)findViewById(R.id.rb26d); rb26e = (RadioButton)findViewById(R.id.rb26e); soalrek27 = (TextView)findViewById(R.id.soalrek27); rg27 = (RadioGroup)findViewById(R.id.rg27); rb27a = (RadioButton)findViewById(R.id.rb27a); rb27b = (RadioButton)findViewById(R.id.rb27b); rb27c = (RadioButton)findViewById(R.id.rb27c); rb27d = (RadioButton)findViewById(R.id.rb27d); rb27e = (RadioButton)findViewById(R.id.rb27e); soalrek28 = (TextView)findViewById(R.id.soalrek28); rg28 = (RadioGroup)findViewById(R.id.rg28); rb28a = (RadioButton)findViewById(R.id.rb28a); rb28b = (RadioButton)findViewById(R.id.rb28b); rb28c = (RadioButton)findViewById(R.id.rb28c); rb28d = (RadioButton)findViewById(R.id.rb28d); rb28e = (RadioButton)findViewById(R.id.rb28e); soalrek29 = (TextView)findViewById(R.id.soalrek29); rg29 = (RadioGroup)findViewById(R.id.rg29); rb29a = (RadioButton)findViewById(R.id.rb29a); rb29b = (RadioButton)findViewById(R.id.rb29b); rb29c = (RadioButton)findViewById(R.id.rb29c); rb29d = (RadioButton)findViewById(R.id.rb29d); rb29e = (RadioButton)findViewById(R.id.rb29e); soalrek30 = (TextView)findViewById(R.id.soalrek30); rg30 = (RadioGroup)findViewById(R.id.rg30); rb30a = (RadioButton)findViewById(R.id.rb30a); rb30b = (RadioButton)findViewById(R.id.rb30b); rb30c = (RadioButton)findViewById(R.id.rb30c); rb30d = (RadioButton)findViewById(R.id.rb30d); rb30e = (RadioButton)findViewById(R.id.rb30e); soalrek31 = (TextView)findViewById(R.id.soalrek31); rg31 = (RadioGroup)findViewById(R.id.rg31); rb31a = (RadioButton)findViewById(R.id.rb31a); rb31b = (RadioButton)findViewById(R.id.rb31b); rb31c = (RadioButton)findViewById(R.id.rb31c); rb31d = (RadioButton)findViewById(R.id.rb31d); rb31e = (RadioButton)findViewById(R.id.rb31e); soalrek32 = (TextView)findViewById(R.id.soalrek32); rg32 = (RadioGroup)findViewById(R.id.rg32);

18 rb32a = (RadioButton)findViewById(R.id.rb32a); rb32b = (RadioButton)findViewById(R.id.rb32b); rb32c = (RadioButton)findViewById(R.id.rb32c); rb32d = (RadioButton)findViewById(R.id.rb32d); rb32e = (RadioButton)findViewById(R.id.rb32e); soalrek33 = (TextView)findViewById(R.id.soalrek33); rg33 = (RadioGroup)findViewById(R.id.rg33); rb33a = (RadioButton)findViewById(R.id.rb33a); rb33b = (RadioButton)findViewById(R.id.rb33b); rb33c = (RadioButton)findViewById(R.id.rb33c); rb33d = (RadioButton)findViewById(R.id.rb33d); rb33e = (RadioButton)findViewById(R.id.rb33e); soalrek34 = (TextView)findViewById(R.id.soalrek34); rg34 = (RadioGroup)findViewById(R.id.rg34); rb34a = (RadioButton)findViewById(R.id.rb34a); rb34b = (RadioButton)findViewById(R.id.rb34b); rb34c = (RadioButton)findViewById(R.id.rb34c); rb34d = (RadioButton)findViewById(R.id.rb34d); rb34e = (RadioButton)findViewById(R.id.rb34e); soalrek35 = (TextView)findViewById(R.id.soalrek35); rg35 = (RadioGroup)findViewById(R.id.rg35); rb35a = (RadioButton)findViewById(R.id.rb35a); rb35b = (RadioButton)findViewById(R.id.rb35b); rb35c = (RadioButton)findViewById(R.id.rb35c); rb35d = (RadioButton)findViewById(R.id.rb35d); rb35e = (RadioButton)findViewById(R.id.rb35e); soalrek36 = (TextView)findViewById(R.id.soalrek36); rg36 = (RadioGroup)findViewById(R.id.rg36); rb36a = (RadioButton)findViewById(R.id.rb36a); rb36b = (RadioButton)findViewById(R.id.rb36b); rb36c = (RadioButton)findViewById(R.id.rb36c); rb36d = (RadioButton)findViewById(R.id.rb36d); rb36e = (RadioButton)findViewById(R.id.rb36e); soalrek37 = (TextView)findViewById(R.id.soalrek37); rg37 = (RadioGroup)findViewById(R.id.rg37); rb37a = (RadioButton)findViewById(R.id.rb37a); rb37b = (RadioButton)findViewById(R.id.rb37b); rb37c = (RadioButton)findViewById(R.id.rb37c); rb37d = (RadioButton)findViewById(R.id.rb37d); rb37e = (RadioButton)findViewById(R.id.rb37e); soalrek38 = (TextView)findViewById(R.id.soalrek38); rg38 = (RadioGroup)findViewById(R.id.rg38);

19 rb38a = (RadioButton)findViewById(R.id.rb38a); rb38b = (RadioButton)findViewById(R.id.rb38b); rb38c = (RadioButton)findViewById(R.id.rb38c); rb38d = (RadioButton)findViewById(R.id.rb38d); rb38e = (RadioButton)findViewById(R.id.rb38e); soalrek39 = (TextView)findViewById(R.id.soalrek39); rg39 = (RadioGroup)findViewById(R.id.rg39); rb39a = (RadioButton)findViewById(R.id.rb39a); rb39b = (RadioButton)findViewById(R.id.rb39b); rb39c = (RadioButton)findViewById(R.id.rb39c); rb39d = (RadioButton)findViewById(R.id.rb39d); rb39e = (RadioButton)findViewById(R.id.rb39e); soalrek40 = (TextView)findViewById(R.id.soalrek40); rg40 = (RadioGroup)findViewById(R.id.rg40); rb40a = (RadioButton)findViewById(R.id.rb40a); rb40b = (RadioButton)findViewById(R.id.rb40b); rb40c = (RadioButton)findViewById(R.id.rb40c); rb40d = (RadioButton)findViewById(R.id.rb40d); rb40e = (RadioButton)findViewById(R.id.rb40e); soalrek41 = (TextView)findViewById(R.id.soalrek41); rg41 = (RadioGroup)findViewById(R.id.rg41); rb41a = (RadioButton)findViewById(R.id.rb41a); rb41b = (RadioButton)findViewById(R.id.rb41b); rb41c = (RadioButton)findViewById(R.id.rb41c); rb41d = (RadioButton)findViewById(R.id.rb41d); rb41e = (RadioButton)findViewById(R.id.rb41e); soalrek42 = (TextView)findViewById(R.id.soalrek42); rg42 = (RadioGroup)findViewById(R.id.rg42); rb42a = (RadioButton)findViewById(R.id.rb42a); rb42b = (RadioButton)findViewById(R.id.rb42b); rb42c = (RadioButton)findViewById(R.id.rb42c); rb42d = (RadioButton)findViewById(R.id.rb42d); rb42e = (RadioButton)findViewById(R.id.rb42e); soalrek43 = (TextView)findViewById(R.id.soalrek43); rg43 = (RadioGroup)findViewById(R.id.rg43); rb43a = (RadioButton)findViewById(R.id.rb43a); rb43b = (RadioButton)findViewById(R.id.rb43b); rb43c = (RadioButton)findViewById(R.id.rb43c); rb43d = (RadioButton)findViewById(R.id.rb43d); rb43e = (RadioButton)findViewById(R.id.rb43e); soalrek44 = (TextView)findViewById(R.id.soalrek44); rg44 = (RadioGroup)findViewById(R.id.rg44);

20 rb44a = (RadioButton)findViewById(R.id.rb44a); rb44b = (RadioButton)findViewById(R.id.rb44b); rb44c = (RadioButton)findViewById(R.id.rb44c); rb44d = (RadioButton)findViewById(R.id.rb44d); rb44e = (RadioButton)findViewById(R.id.rb44e); soalrek45 = (TextView)findViewById(R.id.soalrek45); rg45 = (RadioGroup)findViewById(R.id.rg45); rb45a = (RadioButton)findViewById(R.id.rb45a); rb45b = (RadioButton)findViewById(R.id.rb45b); rb45c = (RadioButton)findViewById(R.id.rb45c); rb45d = (RadioButton)findViewById(R.id.rb45d); rb45e = (RadioButton)findViewById(R.id.rb45e); soalrek46 = (TextView)findViewById(R.id.soalrek46); rg46 = (RadioGroup)findViewById(R.id.rg46); rb46a = (RadioButton)findViewById(R.id.rb46a); rb46b = (RadioButton)findViewById(R.id.rb46b); rb46c = (RadioButton)findViewById(R.id.rb46c); rb46d = (RadioButton)findViewById(R.id.rb46d); rb46e = (RadioButton)findViewById(R.id.rb46e); soalrek47 = (TextView)findViewById(R.id.soalrek47); rg47 = (RadioGroup)findViewById(R.id.rg47); rb47a = (RadioButton)findViewById(R.id.rb47a); rb47b = (RadioButton)findViewById(R.id.rb47b); rb47c = (RadioButton)findViewById(R.id.rb47c); rb47d = (RadioButton)findViewById(R.id.rb47d); rb47e = (RadioButton)findViewById(R.id.rb47e); soalrek48 = (TextView)findViewById(R.id.soalrek48); rg48 = (RadioGroup)findViewById(R.id.rg48); rb48a = (RadioButton)findViewById(R.id.rb48a); rb48b = (RadioButton)findViewById(R.id.rb48b); rb48c = (RadioButton)findViewById(R.id.rb48c); rb48d = (RadioButton)findViewById(R.id.rb48d); rb48e = (RadioButton)findViewById(R.id.rb48e); soalrek49 = (TextView)findViewById(R.id.soalrek49); rg49 = (RadioGroup)findViewById(R.id.rg49); rb49a = (RadioButton)findViewById(R.id.rb49a); rb49b = (RadioButton)findViewById(R.id.rb49b); rb49c = (RadioButton)findViewById(R.id.rb49c); rb49d = (RadioButton)findViewById(R.id.rb49d); rb49e = (RadioButton)findViewById(R.id.rb49e); soalrek50 = (TextView)findViewById(R.id.soalrek50); rg50 = (RadioGroup)findViewById(R.id.rg50);

21 rb50a = (RadioButton)findViewById(R.id.rb50a); rb50b = (RadioButton)findViewById(R.id.rb50b); rb50c = (RadioButton)findViewById(R.id.rb50c); rb50d = (RadioButton)findViewById(R.id.rb50d); rb50e = (RadioButton)findViewById(R.id.rb50e); getsoalrek(); getnilairek(); private void getsoalrek() { requestqueue = Volley.newRequestQueue(this); list_data = new ArrayList<HashMap<String, String>>(); jsonobjectrequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { public void onresponse(jsonobject response) { try { JSONObject jsonobject = new JSONObject(response.toString()); JSONArray jsonarray = jsonobject.getjsonarray("soal_rek"); for (int i = 0; i < jsonarray.length(); i++) { JSONObject json = jsonarray.getjsonobject(i); HashMap<String, String> map = new HashMap<String, String>(); map.put("rek_soal", json.getstring("rek_soal")); map.put("rek_a", json.getstring("rek_a")); map.put("rek_b", json.getstring("rek_b")); map.put("rek_c", json.getstring("rek_c")); map.put("rek_d", json.getstring("rek_d")); map.put("rek_e", json.getstring("rek_e")); list_data.add(map); soalrek1.settext(list_data.get(0).get("rek_soal")); rb1a.settext(list_data.get(0).get("rek_a")); rb1b.settext(list_data.get(0).get("rek_b")); rb1c.settext(list_data.get(0).get("rek_c")); rb1d.settext(list_data.get(0).get("rek_d")); rb1e.settext(list_data.get(0).get("rek_e")); soalrek2.settext(list_data.get(1).get("rek_soal")); rb2a.settext(list_data.get(1).get("rek_a")); rb2b.settext(list_data.get(1).get("rek_b")); rb2c.settext(list_data.get(1).get("rek_c")); rb2d.settext(list_data.get(1).get("rek_d")); rb2e.settext(list_data.get(1).get("rek_e")); soalrek3.settext(list_data.get(2).get("rek_soal")); rb3a.settext(list_data.get(2).get("rek_a")); rb3b.settext(list_data.get(2).get("rek_b"));

22 rb3c.settext(list_data.get(2).get("rek_c")); rb3d.settext(list_data.get(2).get("rek_d")); rb3e.settext(list_data.get(2).get("rek_e")); soalrek4.settext(list_data.get(3).get("rek_soal")); rb4a.settext(list_data.get(3).get("rek_a")); rb4b.settext(list_data.get(3).get("rek_b")); rb4c.settext(list_data.get(3).get("rek_c")); rb4d.settext(list_data.get(3).get("rek_d")); rb4e.settext(list_data.get(3).get("rek_e")); soalrek5.settext(list_data.get(4).get("rek_soal")); rb5a.settext(list_data.get(4).get("rek_a")); rb5b.settext(list_data.get(4).get("rek_b")); rb5c.settext(list_data.get(4).get("rek_c")); rb5d.settext(list_data.get(4).get("rek_d")); rb5e.settext(list_data.get(4).get("rek_e")); soalrek6.settext(list_data.get(5).get("rek_soal")); rb6a.settext(list_data.get(5).get("rek_a")); rb6b.settext(list_data.get(5).get("rek_b")); rb6c.settext(list_data.get(5).get("rek_c")); rb6d.settext(list_data.get(5).get("rek_d")); rb6e.settext(list_data.get(5).get("rek_e")); soalrek7.settext(list_data.get(6).get("rek_soal")); rb7a.settext(list_data.get(6).get("rek_a")); rb7b.settext(list_data.get(6).get("rek_b")); rb7c.settext(list_data.get(6).get("rek_c")); rb7d.settext(list_data.get(6).get("rek_d")); rb7e.settext(list_data.get(6).get("rek_e")); soalrek8.settext(list_data.get(7).get("rek_soal")); rb8a.settext(list_data.get(7).get("rek_a")); rb8b.settext(list_data.get(7).get("rek_b")); rb8c.settext(list_data.get(7).get("rek_c")); rb8d.settext(list_data.get(7).get("rek_d")); rb8e.settext(list_data.get(7).get("rek_e")); soalrek9.settext(list_data.get(8).get("rek_soal")); rb9a.settext(list_data.get(8).get("rek_a")); rb9b.settext(list_data.get(8).get("rek_b")); rb9c.settext(list_data.get(8).get("rek_c")); rb9d.settext(list_data.get(8).get("rek_d")); rb9e.settext(list_data.get(8).get("rek_e")); soalrek10.settext(list_data.get(9).get("rek_soal")); rb10a.settext(list_data.get(9).get("rek_a"));

23 rb10b.settext(list_data.get(9).get("rek_b")); rb10c.settext(list_data.get(9).get("rek_c")); rb10d.settext(list_data.get(9).get("rek_d")); rb10e.settext(list_data.get(9).get("rek_e")); soalrek11.settext(list_data.get(10).get("rek_soal")); rb11a.settext(list_data.get(10).get("rek_a")); rb11b.settext(list_data.get(10).get("rek_b")); rb11c.settext(list_data.get(10).get("rek_c")); rb11d.settext(list_data.get(10).get("rek_d")); rb11e.settext(list_data.get(10).get("rek_e")); soalrek12.settext(list_data.get(11).get("rek_soal")); rb12a.settext(list_data.get(11).get("rek_a")); rb12b.settext(list_data.get(11).get("rek_b")); rb12c.settext(list_data.get(11).get("rek_c")); rb12d.settext(list_data.get(11).get("rek_d")); rb12e.settext(list_data.get(11).get("rek_e")); soalrek13.settext(list_data.get(12).get("rek_soal")); rb13a.settext(list_data.get(12).get("rek_a")); rb13b.settext(list_data.get(12).get("rek_b")); rb13c.settext(list_data.get(12).get("rek_c")); rb13d.settext(list_data.get(12).get("rek_d")); rb13e.settext(list_data.get(12).get("rek_e")); soalrek14.settext(list_data.get(13).get("rek_soal")); rb14a.settext(list_data.get(13).get("rek_a")); rb14b.settext(list_data.get(13).get("rek_b")); rb14c.settext(list_data.get(13).get("rek_c")); rb14d.settext(list_data.get(13).get("rek_d")); rb14e.settext(list_data.get(13).get("rek_e")); soalrek15.settext(list_data.get(14).get("rek_soal")); rb15a.settext(list_data.get(14).get("rek_a")); rb15b.settext(list_data.get(14).get("rek_b")); rb15c.settext(list_data.get(14).get("rek_c")); rb15d.settext(list_data.get(14).get("rek_d")); rb15e.settext(list_data.get(14).get("rek_e")); soalrek16.settext(list_data.get(15).get("rek_soal")); rb16a.settext(list_data.get(15).get("rek_a")); rb16b.settext(list_data.get(15).get("rek_b")); rb16c.settext(list_data.get(15).get("rek_c")); rb16d.settext(list_data.get(15).get("rek_d")); rb16e.settext(list_data.get(15).get("rek_e")); soalrek17.settext(list_data.get(16).get("rek_soal"));

24 rb17a.settext(list_data.get(16).get("rek_a")); rb17b.settext(list_data.get(16).get("rek_b")); rb17c.settext(list_data.get(16).get("rek_c")); rb17d.settext(list_data.get(16).get("rek_d")); rb17e.settext(list_data.get(16).get("rek_e")); soalrek18.settext(list_data.get(17).get("rek_soal")); rb18a.settext(list_data.get(17).get("rek_a")); rb18b.settext(list_data.get(17).get("rek_b")); rb18c.settext(list_data.get(17).get("rek_c")); rb18d.settext(list_data.get(17).get("rek_d")); rb18e.settext(list_data.get(17).get("rek_e")); soalrek19.settext(list_data.get(18).get("rek_soal")); rb19a.settext(list_data.get(18).get("rek_a")); rb19b.settext(list_data.get(18).get("rek_b")); rb19c.settext(list_data.get(18).get("rek_c")); rb19d.settext(list_data.get(18).get("rek_d")); rb19e.settext(list_data.get(18).get("rek_e")); soalrek20.settext(list_data.get(19).get("rek_soal")); rb20a.settext(list_data.get(19).get("rek_a")); rb20b.settext(list_data.get(19).get("rek_b")); rb20c.settext(list_data.get(19).get("rek_c")); rb20d.settext(list_data.get(19).get("rek_d")); rb20e.settext(list_data.get(19).get("rek_e")); soalrek21.settext(list_data.get(20).get("rek_soal")); rb21a.settext(list_data.get(20).get("rek_a")); rb21b.settext(list_data.get(20).get("rek_b")); rb21c.settext(list_data.get(20).get("rek_c")); rb21d.settext(list_data.get(20).get("rek_d")); rb21e.settext(list_data.get(20).get("rek_e")); soalrek22.settext(list_data.get(21).get("rek_soal")); rb22a.settext(list_data.get(21).get("rek_a")); rb22b.settext(list_data.get(21).get("rek_b")); rb22c.settext(list_data.get(21).get("rek_c")); rb22d.settext(list_data.get(21).get("rek_d")); rb22e.settext(list_data.get(21).get("rek_e")); soalrek23.settext(list_data.get(22).get("rek_soal")); rb23a.settext(list_data.get(22).get("rek_a")); rb23b.settext(list_data.get(22).get("rek_b")); rb23c.settext(list_data.get(22).get("rek_c")); rb23d.settext(list_data.get(22).get("rek_d")); rb23e.settext(list_data.get(22).get("rek_e"));

25 soalrek24.settext(list_data.get(23).get("rek_soal")); rb24a.settext(list_data.get(23).get("rek_a")); rb24b.settext(list_data.get(23).get("rek_b")); rb24c.settext(list_data.get(23).get("rek_c")); rb24d.settext(list_data.get(23).get("rek_d")); rb24e.settext(list_data.get(23).get("rek_e")); soalrek25.settext(list_data.get(24).get("rek_soal")); rb25a.settext(list_data.get(24).get("rek_a")); rb25b.settext(list_data.get(24).get("rek_b")); rb25c.settext(list_data.get(24).get("rek_c")); rb25d.settext(list_data.get(24).get("rek_d")); rb25e.settext(list_data.get(24).get("rek_e")); soalrek26.settext(list_data.get(25).get("rek_soal")); rb26a.settext(list_data.get(25).get("rek_a")); rb26b.settext(list_data.get(25).get("rek_b")); rb26c.settext(list_data.get(25).get("rek_c")); rb26d.settext(list_data.get(25).get("rek_d")); rb26e.settext(list_data.get(25).get("rek_e")); soalrek27.settext(list_data.get(26).get("rek_soal")); rb27a.settext(list_data.get(26).get("rek_a")); rb27b.settext(list_data.get(26).get("rek_b")); rb27c.settext(list_data.get(26).get("rek_c")); rb27d.settext(list_data.get(26).get("rek_d")); rb27e.settext(list_data.get(26).get("rek_e")); soalrek28.settext(list_data.get(27).get("rek_soal")); rb28a.settext(list_data.get(27).get("rek_a")); rb28b.settext(list_data.get(27).get("rek_b")); rb28c.settext(list_data.get(27).get("rek_c")); rb28d.settext(list_data.get(27).get("rek_d")); rb28e.settext(list_data.get(27).get("rek_e")); soalrek29.settext(list_data.get(28).get("rek_soal")); rb29a.settext(list_data.get(28).get("rek_a")); rb29b.settext(list_data.get(28).get("rek_b")); rb29c.settext(list_data.get(28).get("rek_c")); rb29d.settext(list_data.get(28).get("rek_d")); rb29e.settext(list_data.get(28).get("rek_e")); soalrek30.settext(list_data.get(29).get("rek_soal")); rb30a.settext(list_data.get(29).get("rek_a")); rb30b.settext(list_data.get(29).get("rek_b")); rb30c.settext(list_data.get(29).get("rek_c")); rb30d.settext(list_data.get(29).get("rek_d")); rb30e.settext(list_data.get(29).get("rek_e"));

26 soalrek31.settext(list_data.get(30).get("rek_soal")); rb31a.settext(list_data.get(30).get("rek_a")); rb31b.settext(list_data.get(30).get("rek_b")); rb31c.settext(list_data.get(30).get("rek_c")); rb31d.settext(list_data.get(30).get("rek_d")); rb31e.settext(list_data.get(30).get("rek_e")); soalrek32.settext(list_data.get(31).get("rek_soal")); rb32a.settext(list_data.get(31).get("rek_a")); rb32b.settext(list_data.get(31).get("rek_b")); rb32c.settext(list_data.get(31).get("rek_c")); rb32d.settext(list_data.get(31).get("rek_d")); rb32e.settext(list_data.get(31).get("rek_e")); soalrek33.settext(list_data.get(32).get("rek_soal")); rb33a.settext(list_data.get(32).get("rek_a")); rb33b.settext(list_data.get(32).get("rek_b")); rb33c.settext(list_data.get(32).get("rek_c")); rb33d.settext(list_data.get(32).get("rek_d")); rb33e.settext(list_data.get(32).get("rek_e")); soalrek34.settext(list_data.get(33).get("rek_soal")); rb34a.settext(list_data.get(33).get("rek_a")); rb34b.settext(list_data.get(33).get("rek_b")); rb34c.settext(list_data.get(33).get("rek_c")); rb34d.settext(list_data.get(33).get("rek_d")); rb34e.settext(list_data.get(33).get("rek_e")); soalrek35.settext(list_data.get(34).get("rek_soal")); rb35a.settext(list_data.get(34).get("rek_a")); rb35b.settext(list_data.get(34).get("rek_b")); rb35c.settext(list_data.get(34).get("rek_c")); rb35d.settext(list_data.get(34).get("rek_d")); rb35e.settext(list_data.get(34).get("rek_e")); soalrek36.settext(list_data.get(35).get("rek_soal")); rb36a.settext(list_data.get(35).get("rek_a")); rb36b.settext(list_data.get(35).get("rek_b")); rb36c.settext(list_data.get(35).get("rek_c")); rb36d.settext(list_data.get(35).get("rek_d")); rb36e.settext(list_data.get(35).get("rek_e")); soalrek37.settext(list_data.get(36).get("rek_soal")); rb37a.settext(list_data.get(36).get("rek_a")); rb37b.settext(list_data.get(36).get("rek_b")); rb37c.settext(list_data.get(36).get("rek_c")); rb37d.settext(list_data.get(36).get("rek_d"));

27 rb37e.settext(list_data.get(36).get("rek_e")); soalrek38.settext(list_data.get(37).get("rek_soal")); rb38a.settext(list_data.get(37).get("rek_a")); rb38b.settext(list_data.get(37).get("rek_b")); rb38c.settext(list_data.get(37).get("rek_c")); rb38d.settext(list_data.get(37).get("rek_d")); rb38e.settext(list_data.get(37).get("rek_e")); soalrek39.settext(list_data.get(38).get("rek_soal")); rb39a.settext(list_data.get(38).get("rek_a")); rb39b.settext(list_data.get(38).get("rek_b")); rb39c.settext(list_data.get(38).get("rek_c")); rb39d.settext(list_data.get(38).get("rek_d")); rb39e.settext(list_data.get(38).get("rek_e")); soalrek40.settext(list_data.get(39).get("rek_soal")); rb40a.settext(list_data.get(39).get("rek_a")); rb40b.settext(list_data.get(39).get("rek_b")); rb40c.settext(list_data.get(39).get("rek_c")); rb40d.settext(list_data.get(39).get("rek_d")); rb40e.settext(list_data.get(39).get("rek_e")); soalrek41.settext(list_data.get(40).get("rek_soal")); rb41a.settext(list_data.get(40).get("rek_a")); rb41b.settext(list_data.get(40).get("rek_b")); rb41c.settext(list_data.get(40).get("rek_c")); rb41d.settext(list_data.get(40).get("rek_d")); rb41e.settext(list_data.get(40).get("rek_e")); soalrek42.settext(list_data.get(41).get("rek_soal")); rb42a.settext(list_data.get(41).get("rek_a")); rb42b.settext(list_data.get(41).get("rek_b")); rb42c.settext(list_data.get(41).get("rek_c")); rb42d.settext(list_data.get(41).get("rek_d")); rb42e.settext(list_data.get(41).get("rek_e")); soalrek43.settext(list_data.get(42).get("rek_soal")); rb43a.settext(list_data.get(42).get("rek_a")); rb43b.settext(list_data.get(42).get("rek_b")); rb43c.settext(list_data.get(42).get("rek_c")); rb43d.settext(list_data.get(42).get("rek_d")); rb43e.settext(list_data.get(42).get("rek_e")); soalrek44.settext(list_data.get(43).get("rek_soal")); rb44a.settext(list_data.get(43).get("rek_a")); rb44b.settext(list_data.get(43).get("rek_b")); rb44c.settext(list_data.get(43).get("rek_c"));

28 rb44d.settext(list_data.get(43).get("rek_d")); rb44e.settext(list_data.get(43).get("rek_e")); soalrek45.settext(list_data.get(44).get("rek_soal")); rb45a.settext(list_data.get(44).get("rek_a")); rb45b.settext(list_data.get(44).get("rek_b")); rb45c.settext(list_data.get(44).get("rek_c")); rb45d.settext(list_data.get(44).get("rek_d")); rb45e.settext(list_data.get(44).get("rek_e")); soalrek46.settext(list_data.get(45).get("rek_soal")); rb46a.settext(list_data.get(45).get("rek_a")); rb46b.settext(list_data.get(45).get("rek_b")); rb46c.settext(list_data.get(45).get("rek_c")); rb46d.settext(list_data.get(45).get("rek_d")); rb46e.settext(list_data.get(45).get("rek_e")); soalrek47.settext(list_data.get(46).get("rek_soal")); rb47a.settext(list_data.get(46).get("rek_a")); rb47b.settext(list_data.get(46).get("rek_b")); rb47c.settext(list_data.get(46).get("rek_c")); rb47d.settext(list_data.get(46).get("rek_d")); rb47e.settext(list_data.get(46).get("rek_e")); soalrek48.settext(list_data.get(47).get("rek_soal")); rb48a.settext(list_data.get(47).get("rek_a")); rb48b.settext(list_data.get(47).get("rek_b")); rb48c.settext(list_data.get(47).get("rek_c")); rb48d.settext(list_data.get(47).get("rek_d")); rb48e.settext(list_data.get(47).get("rek_e")); soalrek49.settext(list_data.get(48).get("rek_soal")); rb49a.settext(list_data.get(48).get("rek_a")); rb49b.settext(list_data.get(48).get("rek_b")); rb49c.settext(list_data.get(48).get("rek_c")); rb49d.settext(list_data.get(48).get("rek_d")); rb49e.settext(list_data.get(48).get("rek_e")); soalrek50.settext(list_data.get(49).get("rek_soal")); rb50a.settext(list_data.get(49).get("rek_a")); rb50b.settext(list_data.get(49).get("rek_b")); rb50c.settext(list_data.get(49).get("rek_c")); rb50d.settext(list_data.get(49).get("rek_d")); rb50e.settext(list_data.get(49).get("rek_e")); catch (JSONException e) { e.printstacktrace();

29 , new Response.ErrorListener() { public void onerrorresponse(volleyerror error) { Toast.makeText(SoalRekayasa.this, error.getmessage(), Toast.LENGTH_SHORT).show(); ); requestqueue.add(jsonobjectrequest); private void getnilairek() { rg1.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb1a : b += 1; case R.id.rb1b : case R.id.rb1c : case R.id.rb1d : case R.id.rb1e : default: ); rg2.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb2a : case R.id.rb2b :

30 ); b += 1; case R.id.rb2c : case R.id.rb2d : case R.id.rb2e : default: rg3.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb3a : case R.id.rb3b : case R.id.rb3c : case R.id.rb3d : case R.id.rb3e : b += 1; default: ); rg4.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() {

31 public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb4a : case R.id.rb4b : case R.id.rb4c : case R.id.rb4d : b += 1; case R.id.rb4e : default: ); rg5.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb5a : case R.id.rb5b : case R.id.rb5c : b += 1; case R.id.rb5d : case R.id.rb5e : default:

32 ); rg6.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb6a : case R.id.rb6b : case R.id.rb6c : case R.id.rb6d : b += 1; case R.id.rb6e : default: ); rg7.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb7a : case R.id.rb7b : case R.id.rb7c : case R.id.rb7d :

33 ); case R.id.rb7e : b += 1; default: rg8.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb8a : case R.id.rb8b : case R.id.rb8c : case R.id.rb8d : b += 1; case R.id.rb8e : default: ); rg9.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb9a : case R.id.rb9b :

34 ); case R.id.rb9c : case R.id.rb9d : b += 1; case R.id.rb9e : default: rg10.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb10a : case R.id.rb10b : b += 1; case R.id.rb10c : case R.id.rb10d : case R.id.rb10e : default: ); rg11.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) {

35 ); case R.id.rb11a : case R.id.rb11b : b += 1; case R.id.rb11c : case R.id.rb11d : case R.id.rb11e : default: rg12.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb12a : case R.id.rb12b : b += 1; case R.id.rb12c : case R.id.rb12d : case R.id.rb12e : default: );

36 rg13.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb13a : case R.id.rb13b : b += 1; case R.id.rb13c : case R.id.rb13d : case R.id.rb13e : default: ); rg14.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb14a : b += 1; case R.id.rb14b : case R.id.rb14c : case R.id.rb14d : case R.id.rb14e :

37 ); default: rg15.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb15a : b += 1; case R.id.rb15b : case R.id.rb15c : case R.id.rb15d : case R.id.rb15e : default: ); rg16.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb16a : case R.id.rb16b : case R.id.rb16c :

38 ); case R.id.rb16d : case R.id.rb16e : b += 1; default: rg17.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb17a : b += 1; case R.id.rb17b : case R.id.rb17c : case R.id.rb17d : case R.id.rb17e : default: ); rg18.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb18a :

39 ); case R.id.rb18b : case R.id.rb18c : b += 1; case R.id.rb18d : case R.id.rb18e : default: rg19.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb19a : case R.id.rb19b : case R.id.rb19c : case R.id.rb19d : case R.id.rb19e : b += 1; default: ); rg20.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() {

40 public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb20a : case R.id.rb20b : b += 1; case R.id.rb20c : case R.id.rb20d : case R.id.rb20e : default: ); rg21.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb21a : case R.id.rb21b : case R.id.rb21c : case R.id.rb21d : b += 1; case R.id.rb21e : default:

41 ); rg22.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb22a : b += 1; case R.id.rb22b : case R.id.rb22c : case R.id.rb22d : case R.id.rb22e : default: ); rg23.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb23a : case R.id.rb23b : case R.id.rb23c : case R.id.rb23d : b += 1;

42 ); case R.id.rb23e : default: rg24.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb24a : b += 1; case R.id.rb24b : case R.id.rb24c : case R.id.rb24d : case R.id.rb24e : default: ); rg25.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb25a : case R.id.rb25b : b += 1;

43 ); case R.id.rb25c : case R.id.rb25d : case R.id.rb25e : default: rg26.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb26a : case R.id.rb26b : b += 1; case R.id.rb26c : case R.id.rb26d : case R.id.rb26e : default: ); rg27.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) {

44 ); case R.id.rb27a : b += 1; case R.id.rb27b : case R.id.rb27c : case R.id.rb27d : case R.id.rb27e : default: rg28.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb28a : case R.id.rb28b : case R.id.rb28c : case R.id.rb28d : b += 1; case R.id.rb28e : default: );

45 rg29.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb29a : case R.id.rb29b : case R.id.rb29c : b += 1; case R.id.rb29d : case R.id.rb29e : default: ); rg30.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb30a : case R.id.rb30b : b += 1; case R.id.rb30c : case R.id.rb30d : case R.id.rb30e :

46 ); default: rg31.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb31a : case R.id.rb31b : case R.id.rb31c : case R.id.rb31d : b += 1; case R.id.rb31e : default: ); rg32.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb32a : case R.id.rb32b : case R.id.rb32c : b += 1;

47 ); case R.id.rb32d : case R.id.rb32e : default: rg33.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb33a : case R.id.rb33b : case R.id.rb33c : b += 1; case R.id.rb33d : case R.id.rb33e : default: ); rg34.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb34a : b += 1;

48 ); case R.id.rb34b : case R.id.rb34c : case R.id.rb34d : case R.id.rb34e : default: rg35.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb35a : case R.id.rb35b : case R.id.rb35c : b += 1; case R.id.rb35d : case R.id.rb35e : default: ); rg36.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() {

49 public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb36a : case R.id.rb36b : case R.id.rb36c : b += 1; case R.id.rb36d : case R.id.rb36e : default: ); rg37.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb37a : case R.id.rb37b : b += 1; case R.id.rb37c : case R.id.rb37d : case R.id.rb37e : default:

50 ); rg38.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb38a : case R.id.rb38b : case R.id.rb38c : case R.id.rb38d : case R.id.rb38e : b += 1; default: ); rg39.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb39a : b += 1; case R.id.rb39b : case R.id.rb39c : case R.id.rb39d :

51 ); case R.id.rb39e : default: rg40.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb40a : case R.id.rb40b : case R.id.rb40c : b += 1; case R.id.rb40d : case R.id.rb40e : default: ); rg41.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb41a : b += 1; case R.id.rb41b :

52 ); case R.id.rb41c : case R.id.rb41d : case R.id.rb41e : default: rg42.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb42a : b += 1; case R.id.rb42b : case R.id.rb42c : case R.id.rb42d : case R.id.rb42e : default: ); rg43.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) {

53 ); case R.id.rb43a : case R.id.rb43b : case R.id.rb43c : b += 1; case R.id.rb43d : case R.id.rb43e : default: rg44.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb44a : case R.id.rb44b : case R.id.rb44c : b += 1; case R.id.rb44d : case R.id.rb44e : default: );

54 rg45.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb45a : case R.id.rb45b : case R.id.rb45c : b += 1; case R.id.rb45d : case R.id.rb45e : default: ); rg46.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb46a : case R.id.rb46b : case R.id.rb46c : case R.id.rb46d : case R.id.rb46e : b += 1;

55 ); default: rg47.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb47a : case R.id.rb47b : case R.id.rb47c : b += 1; case R.id.rb47d : case R.id.rb47e : default: ); rg48.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb48a : case R.id.rb48b : case R.id.rb48c :

56 ); case R.id.rb48d : b += 1; case R.id.rb48e : default: rg49.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb49a : b += 1; case R.id.rb49b : case R.id.rb49c : case R.id.rb49d : case R.id.rb49e : default: ); rg50.setoncheckedchangelistener(new RadioGroup.OnCheckedChangeListener() { public void oncheckedchanged(radiogroup int checkedid) { switch (checkedid) { case R.id.rb50a : b += 1;

57 ); case R.id.rb50b : case R.id.rb50c : case R.id.rb50d : case R.id.rb50e : default: class PanggilHasilRekayasa implements OnClickListener { public void onclick(view v) { hasilrekayasa = ((b * 4) - s) / 2; Intent intent = new Intent(SoalRekayasa.this, Hasil_Rekayasa.class); intent.putextra("rekayasa", "" + hasilrekayasa); startactivity(intent); HasilRekayasa package com.tiara.tiara.soalumpn; import android.content.intent; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.view; import android.widget.textview; public class Hasil_Rekayasa extends AppCompatActivity { TextView txthasilrekayasa; protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate);

58 setcontentview(r.layout.activity_hasil_rekayasa); txthasilrekayasa = (TextView)findViewById(R.id.txtHasilRekayasa); Intent intent = getintent(); String hasil = (String)intent.getSerializableExtra("Rekayasa"); txthasilrekayasa.settext(hasil); public void pembahasanrekayasa (View v) { Intent intent = new Intent(this, PembahasanRekayasa.class); startactivity(intent); PembahasanRekayasa package com.tiara.tiara.soalumpn; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.widget.imageview; import android.widget.textview; import android.widget.toast; import com.android.volley.request; import com.android.volley.requestqueue; import com.android.volley.response; import com.android.volley.volleyerror; import com.android.volley.toolbox.jsonobjectrequest; import com.android.volley.toolbox.volley; import com.bumptech.glide.glide; import org.json.jsonarray; import org.json.jsonexception; import org.json.jsonobject; import java.util.arraylist; import java.util.hashmap; public class PembahasanRekayasa extends AppCompatActivity { private TextView jr1, jr2, jr3, jr4, jr5, jr6, jr7, jr8, jr9, jr10, jr11, jr12, jr13, jr14, jr15, jr16, jr17, jr18, jr19, jr20, jr21, jr22, jr23, jr24, jr25, jr26, jr27, jr28, jr29, jr30, jr31, jr32, jr33, jr34, jr35, jr36, jr37, jr38, jr39, jr40, jr41, jr42, jr43, jr44, jr45, jr46, jr47, jr48, jr49, jr50; private ImageView gr1, gr2, gr3, gr4, gr5, gr6, gr7, gr8, gr9, gr10, gr11, gr12, gr13, gr14, gr15, gr16, gr17, gr18, gr19, gr20,

59 gr21, gr22, gr23, gr24, gr25, gr26, gr27, gr28, gr29, gr30, gr31, gr32, gr33, gr34, gr35, gr36, gr37, gr38, gr39, gr40, gr41, gr42, gr43, gr44, gr45, gr46, gr47, gr48, gr49, gr50; private RequestQueue requestqueue; private JsonObjectRequest jsonobjectrequest; ArrayList<HashMap<String, String>> list_data; String url = " protected void oncreate(bundle savedinstancestate) { super.oncreate(savedinstancestate); setcontentview(r.layout.activity_pembahasan_rekayasa); jr1 = (TextView)findViewById(R.id.jr1); jr2 = (TextView)findViewById(R.id.jr2); jr3 = (TextView)findViewById(R.id.jr3); jr4 = (TextView)findViewById(R.id.jr4); jr5 = (TextView)findViewById(R.id.jr5); jr6 = (TextView)findViewById(R.id.jr6); jr7 = (TextView)findViewById(R.id.jr7); jr8 = (TextView)findViewById(R.id.jr8); jr9 = (TextView)findViewById(R.id.jr9); jr10 = (TextView)findViewById(R.id.jr10); jr11 = (TextView)findViewById(R.id.jr11); jr12 = (TextView)findViewById(R.id.jr12); jr13 = (TextView)findViewById(R.id.jr13); jr14 = (TextView)findViewById(R.id.jr14); jr15 = (TextView)findViewById(R.id.jr15); jr16 = (TextView)findViewById(R.id.jr16); jr17 = (TextView)findViewById(R.id.jr17); jr18 = (TextView)findViewById(R.id.jr18); jr19 = (TextView)findViewById(R.id.jr19); jr20 = (TextView)findViewById(R.id.jr20); jr21 = (TextView)findViewById(R.id.jr21); jr22 = (TextView)findViewById(R.id.jr22); jr23 = (TextView)findViewById(R.id.jr23); jr24 = (TextView)findViewById(R.id.jr24); jr25 = (TextView)findViewById(R.id.jr25); jr26 = (TextView)findViewById(R.id.jr26); jr27 = (TextView)findViewById(R.id.jr27); jr28 = (TextView)findViewById(R.id.jr28); jr29 = (TextView)findViewById(R.id.jr29); jr30 = (TextView)findViewById(R.id.jr30); jr31 = (TextView)findViewById(R.id.jr31); jr32 = (TextView)findViewById(R.id.jr32); jr33 = (TextView)findViewById(R.id.jr33); jr34 = (TextView)findViewById(R.id.jr34); jr35 = (TextView)findViewById(R.id.jr35);

60 jr36 = (TextView)findViewById(R.id.jr36); jr37 = (TextView)findViewById(R.id.jr37); jr38 = (TextView)findViewById(R.id.jr38); jr39 = (TextView)findViewById(R.id.jr39); jr40 = (TextView)findViewById(R.id.jr40); jr41 = (TextView)findViewById(R.id.jr41); jr42 = (TextView)findViewById(R.id.jr42); jr43 = (TextView)findViewById(R.id.jr43); jr44 = (TextView)findViewById(R.id.jr44); jr45 = (TextView)findViewById(R.id.jr45); jr46 = (TextView)findViewById(R.id.jr46); jr47 = (TextView)findViewById(R.id.jr47); jr48 = (TextView)findViewById(R.id.jr48); jr49 = (TextView)findViewById(R.id.jr49); jr50 = (TextView)findViewById(R.id.jr50); gr1 = (ImageView)findViewById(R.id.gr1); gr2 = (ImageView)findViewById(R.id.gr2); gr3 = (ImageView)findViewById(R.id.gr3); gr4 = (ImageView)findViewById(R.id.gr4); gr5 = (ImageView)findViewById(R.id.gr5); gr6 = (ImageView)findViewById(R.id.gr6); gr7 = (ImageView)findViewById(R.id.gr7); gr8 = (ImageView)findViewById(R.id.gr8); gr9 = (ImageView)findViewById(R.id.gr9); gr10 = (ImageView)findViewById(R.id.gr10); gr11 = (ImageView)findViewById(R.id.gr11); gr12 = (ImageView)findViewById(R.id.gr12); gr13 = (ImageView)findViewById(R.id.gr13); gr14 = (ImageView)findViewById(R.id.gr14); gr15 = (ImageView)findViewById(R.id.gr15); gr16 = (ImageView)findViewById(R.id.gr16); gr17 = (ImageView)findViewById(R.id.gr17); gr18 = (ImageView)findViewById(R.id.gr18); gr19 = (ImageView)findViewById(R.id.gr19); gr20 = (ImageView)findViewById(R.id.gr20); gr21 = (ImageView)findViewById(R.id.gr21); gr22 = (ImageView)findViewById(R.id.gr22); gr23 = (ImageView)findViewById(R.id.gr23); gr24 = (ImageView)findViewById(R.id.gr24); gr25 = (ImageView)findViewById(R.id.gr25); gr26 = (ImageView)findViewById(R.id.gr26); gr27 = (ImageView)findViewById(R.id.gr27); gr28 = (ImageView)findViewById(R.id.gr28); gr29 = (ImageView)findViewById(R.id.gr29); gr30 = (ImageView)findViewById(R.id.gr30); gr31 = (ImageView)findViewById(R.id.gr31); gr32 = (ImageView)findViewById(R.id.gr32);

61 gr33 = (ImageView)findViewById(R.id.gr33); gr34 = (ImageView)findViewById(R.id.gr34); gr35 = (ImageView)findViewById(R.id.gr35); gr36 = (ImageView)findViewById(R.id.gr36); gr37 = (ImageView)findViewById(R.id.gr37); gr38 = (ImageView)findViewById(R.id.gr38); gr39 = (ImageView)findViewById(R.id.gr39); gr40 = (ImageView)findViewById(R.id.gr40); gr41 = (ImageView)findViewById(R.id.gr41); gr42 = (ImageView)findViewById(R.id.gr42); gr43 = (ImageView)findViewById(R.id.gr43); gr44 = (ImageView)findViewById(R.id.gr44); gr45 = (ImageView)findViewById(R.id.gr45); gr46 = (ImageView)findViewById(R.id.gr46); gr47 = (ImageView)findViewById(R.id.gr47); gr48 = (ImageView)findViewById(R.id.gr48); gr49 = (ImageView)findViewById(R.id.gr49); gr50 = (ImageView)findViewById(R.id.gr50); getjawabanrek(); private void getjawabanrek() { requestqueue = Volley.newRequestQueue(this); list_data = new ArrayList<HashMap<String, String>>(); jsonobjectrequest = new JsonObjectRequest(Request.Method.GET, url, null, new Response.Listener<JSONObject>() { public void onresponse(jsonobject response) { try { JSONObject jsonobject = new JSONObject(response.toString()); JSONArray jsonarray = jsonobject.getjsonarray("pembahasan_rek"); for (int i = 0; i < jsonarray.length(); i++) { JSONObject json = jsonarray.getjsonobject(i); HashMap<String, String> map = new HashMap<String, String>(); map.put("rek_jawaban", json.getstring("rek_jawaban")); map.put("rek_gambar", json.getstring("rek_gambar")); list_data.add(map); jr1.settext(list_data.get(0).get("rek_jawaban")); jr2.settext(list_data.get(1).get("rek_jawaban")); jr3.settext(list_data.get(2).get("rek_jawaban")); jr4.settext(list_data.get(3).get("rek_jawaban")); jr5.settext(list_data.get(4).get("rek_jawaban")); jr6.settext(list_data.get(5).get("rek_jawaban")); jr7.settext(list_data.get(6).get("rek_jawaban"));

62 jr8.settext(list_data.get(7).get("rek_jawaban")); jr9.settext(list_data.get(8).get("rek_jawaban")); jr10.settext(list_data.get(9).get("rek_jawaban")); jr11.settext(list_data.get(10).get("rek_jawaban")); jr12.settext(list_data.get(11).get("rek_jawaban")); jr13.settext(list_data.get(12).get("rek_jawaban")); jr14.settext(list_data.get(13).get("rek_jawaban")); jr15.settext(list_data.get(14).get("rek_jawaban")); jr16.settext(list_data.get(15).get("rek_jawaban")); jr17.settext(list_data.get(16).get("rek_jawaban")); jr18.settext(list_data.get(17).get("rek_jawaban")); jr19.settext(list_data.get(18).get("rek_jawaban")); jr20.settext(list_data.get(19).get("rek_jawaban")); jr21.settext(list_data.get(20).get("rek_jawaban")); jr22.settext(list_data.get(21).get("rek_jawaban")); jr23.settext(list_data.get(22).get("rek_jawaban")); jr24.settext(list_data.get(23).get("rek_jawaban")); jr25.settext(list_data.get(24).get("rek_jawaban")); jr26.settext(list_data.get(25).get("rek_jawaban")); jr27.settext(list_data.get(26).get("rek_jawaban")); jr28.settext(list_data.get(27).get("rek_jawaban")); jr29.settext(list_data.get(28).get("rek_jawaban")); jr30.settext(list_data.get(29).get("rek_jawaban")); jr31.settext(list_data.get(30).get("rek_jawaban")); jr32.settext(list_data.get(31).get("rek_jawaban")); jr33.settext(list_data.get(32).get("rek_jawaban")); jr34.settext(list_data.get(33).get("rek_jawaban")); jr35.settext(list_data.get(34).get("rek_jawaban")); jr36.settext(list_data.get(35).get("rek_jawaban")); jr37.settext(list_data.get(36).get("rek_jawaban")); jr38.settext(list_data.get(37).get("rek_jawaban")); jr39.settext(list_data.get(38).get("rek_jawaban")); jr40.settext(list_data.get(39).get("rek_jawaban")); jr41.settext(list_data.get(40).get("rek_jawaban")); jr42.settext(list_data.get(41).get("rek_jawaban")); jr43.settext(list_data.get(42).get("rek_jawaban")); jr44.settext(list_data.get(43).get("rek_jawaban")); jr45.settext(list_data.get(44).get("rek_jawaban")); jr46.settext(list_data.get(45).get("rek_jawaban")); jr47.settext(list_data.get(46).get("rek_jawaban")); jr48.settext(list_data.get(47).get("rek_jawaban")); jr49.settext(list_data.get(48).get("rek_jawaban")); jr50.settext(list_data.get(49).get("rek_jawaban")); Glide.with(getApplicationContext()).load(" + list_data.get(0).get("rek_gambar")).crossfade().into(gr1);

63 Glide.with(getApplicationContext()).load(" + list_data.get(1).get("rek_gambar")).crossfade().into(gr2); Glide.with(getApplicationContext()).load(" + list_data.get(2).get("rek_gambar")).crossfade().into(gr3); Glide.with(getApplicationContext()).load(" + list_data.get(3).get("rek_gambar")).crossfade().into(gr4); Glide.with(getApplicationContext()).load(" + list_data.get(4).get("rek_gambar")).crossfade().into(gr5); Glide.with(getApplicationContext()).load(" + list_data.get(5).get("rek_gambar")).crossfade().into(gr6); Glide.with(getApplicationContext()).load(" + list_data.get(6).get("rek_gambar")).crossfade().into(gr7); Glide.with(getApplicationContext()).load(" + list_data.get(7).get("rek_gambar")).crossfade().into(gr8); Glide.with(getApplicationContext()).load(" + list_data.get(8).get("rek_gambar")).crossfade().into(gr9); Glide.with(getApplicationContext()).load(" + list_data.get(9).get("rek_gambar")).crossfade().into(gr10); Glide.with(getApplicationContext()).load(" + list_data.get(10).get("rek_gambar")).crossfade().into(gr11); Glide.with(getApplicationContext()).load(" + list_data.get(11).get("rek_gambar")).crossfade().into(gr12); Glide.with(getApplicationContext()).load(" + list_data.get(12).get("rek_gambar")).crossfade().into(gr13);

64 Glide.with(getApplicationContext()).load(" + list_data.get(13).get("rek_gambar")).crossfade().into(gr14); Glide.with(getApplicationContext()).load(" + list_data.get(14).get("rek_gambar")).crossfade().into(gr15); Glide.with(getApplicationContext()).load(" + list_data.get(15).get("rek_gambar")).crossfade().into(gr16); Glide.with(getApplicationContext()).load(" + list_data.get(16).get("rek_gambar")).crossfade().into(gr17); Glide.with(getApplicationContext()).load(" + list_data.get(17).get("rek_gambar")).crossfade().into(gr18); Glide.with(getApplicationContext()).load(" + list_data.get(18).get("rek_gambar")).crossfade().into(gr19); Glide.with(getApplicationContext()).load(" + list_data.get(19).get("rek_gambar")).crossfade().into(gr20); Glide.with(getApplicationContext()).load(" + list_data.get(20).get("rek_gambar")).crossfade().into(gr21); Glide.with(getApplicationContext()).load(" + list_data.get(21).get("rek_gambar")).crossfade().into(gr22); Glide.with(getApplicationContext()).load(" + list_data.get(22).get("rek_gambar")).crossfade().into(gr23); Glide.with(getApplicationContext()).load(" + list_data.get(23).get("rek_gambar")).crossfade().into(gr24); Glide.with(getApplicationContext()).load(" + list_data.get(24).get("rek_gambar")).crossfade().into(gr25);

65 Glide.with(getApplicationContext()).load(" + list_data.get(25).get("rek_gambar")).crossfade().into(gr26); Glide.with(getApplicationContext()).load(" + list_data.get(26).get("rek_gambar")).crossfade().into(gr27); Glide.with(getApplicationContext()).load(" + list_data.get(27).get("rek_gambar")).crossfade().into(gr28); Glide.with(getApplicationContext()).load(" + list_data.get(28).get("rek_gambar")).crossfade().into(gr29); Glide.with(getApplicationContext()).load(" + list_data.get(29).get("rek_gambar")).crossfade().into(gr30); Glide.with(getApplicationContext()).load(" + list_data.get(30).get("rek_gambar")).crossfade().into(gr31); Glide.with(getApplicationContext()).load(" + list_data.get(31).get("rek_gambar")).crossfade().into(gr32); Glide.with(getApplicationContext()).load(" + list_data.get(32).get("rek_gambar")).crossfade().into(gr33); Glide.with(getApplicationContext()).load(" + list_data.get(33).get("rek_gambar")).crossfade().into(gr34); Glide.with(getApplicationContext()).load(" + list_data.get(34).get("rek_gambar")).crossfade().into(gr35); Glide.with(getApplicationContext()).load(" + list_data.get(35).get("rek_gambar")).crossfade().into(gr36); Glide.with(getApplicationContext()).load(" + list_data.get(36).get("rek_gambar")).crossfade().into(gr37);

66 Glide.with(getApplicationContext()).load(" + list_data.get(37).get("rek_gambar")).crossfade().into(gr38); Glide.with(getApplicationContext()).load(" + list_data.get(38).get("rek_gambar")).crossfade().into(gr39); Glide.with(getApplicationContext()).load(" + list_data.get(39).get("rek_gambar")).crossfade().into(gr40); Glide.with(getApplicationContext()).load(" + list_data.get(40).get("rek_gambar")).crossfade().into(gr41); Glide.with(getApplicationContext()).load(" + list_data.get(41).get("rek_gambar")).crossfade().into(gr42); Glide.with(getApplicationContext()).load(" + list_data.get(42).get("rek_gambar")).crossfade().into(gr43); Glide.with(getApplicationContext()).load(" + list_data.get(43).get("rek_gambar")).crossfade().into(gr44); Glide.with(getApplicationContext()).load(" + list_data.get(44).get("rek_gambar")).crossfade().into(gr45); Glide.with(getApplicationContext()).load(" + list_data.get(45).get("rek_gambar")).crossfade().into(gr46); Glide.with(getApplicationContext()).load(" + list_data.get(46).get("rek_gambar")).crossfade().into(gr47); Glide.with(getApplicationContext()).load(" + list_data.get(47).get("rek_gambar")).crossfade().into(gr48); Glide.with(getApplicationContext()).load(" + list_data.get(48).get("rek_gambar")).crossfade().into(gr49);

67 Glide.with(getApplicationContext()).load(" + list_data.get(49).get("rek_gambar")).crossfade().into(gr50); catch (JSONException e) { e.printstacktrace();, new Response.ErrorListener() { public void onerrorresponse(volleyerror error) { Toast.makeText(PembahasanRekayasa.this, error.getmessage(), Toast.LENGTH_SHORT).show(); ); requestqueue.add(jsonobjectrequest);

68 ABSTRAK Pembuatan aplikasi ini dilakukan untuk memudahkan calon mahasiswa yang ingin melanjutkan studinya kepoliteknik negeri, maka dari itu calon mahasiswa tersebut harus mengikuti Ujian Masuk Politeknik Negeri. Sebelum mengikuti ujian tentunya calon mahasiswa tersebut harus berlatih mengerjakan contoh soal Ujian Masuk Politeknik Negeri. Karena contoh soal Ujian Masuk Politeknik Negeri tidak diterbitkan di toko toko buku, maka calon mahasiswa tersebut akan kesulitan dalam mengerjakan soal Ujian Masuk Politeknik Negeri. Pembuatan aplikasi ini dilakukan dengan cara mencari dan mengumpulkan soal soal UMPN dari tahun tahun sebelumnya lalu diolah menjadi sebuah database kemudian dihubungkan dengan aplikasi android yang sudah didesain di Android Studio menggunakan bahasa pemrograman Java. Kata Kunci : Android Studio, Database, Soal UMPN. v

69 ABSTRACT Making this application is done to facilitate the prospective students who want to continue their studies to the state polytechnic, therefore the prospective student must follow the entrance exam State Polytechnic. Before taking the exam of course the prospective student must practice working on examples of exams State Polytechnic. Because the example of the State Polytechnic Entrance Examination is not published in bookstores, the prospective student will have difficulty in doing the question of State Polytechnic entrance examination. Making this application is done by searching and collecting UMPN problems from previous years and then processed into a database and then connected with android applications that have been designed in Android Studio using the Java programming language. Keywords: Android Studio, Database, UMPN problems. vi

70 KATA PENGANTAR Puji syukur kehadirat Allah SWT yang telah memberikan rahmat dan karunia Nya kepada penulis sehingga akhirnya penulis dapat juga menyelesaikan tugas akhir ini dengan judul PEMBUATAN APLIKASI SOAL UMPN BESERTA PEMBAHASANNYA MENGGUNAKAN ANDROID. Salawat serta salam Penulis ucapkan kepada junjungan segala umat yakni Nabi kita Nabi Muhammad SAW yang telah memberikan hidayah, petunjuk kepada umatnya dipermukaan bumi. Penulis menyadari akan keterbatasan kemampuan dan pengetahuan yang ada, sehingga proses penulisan tugas akhir ini tidak terlepas dari bantuan serta bimbingan dari berbagai pihak. Untuk itu pada kesempatan ini perkenankanlah penulis mengucapkan terima kasih yang sebesar besarnya kepada : 1. Allah S.W.T yang telah memberikan rahmat dan karunia NYA kepada penulis sehingga dapat menyelesaikan tugas akhir ini. 2. Bapak Ronal Hadi ST, M.Kom selaku ketua jurusan Teknologi Informasi Politeknik Negeri Padang. 3. Bapak Deni Satria, S.Kom., M.Kom selaku ketua program studi Teknik Komputer. 4. Bapak Yuhefizar, S.Kom, M.Kom selaku Dosen Pembimbing I yang telah meluangkan waktu memberikan bimbingan, arahan serta saran saran sehingga tugas akhir ini dapat diselesaikan dengan baik. vii

71 5. Bapak Ir. H.A. Mooduto, M.Kom selaku Dosen pembimbing II yang telah memberikan bimbingan dan petunjuk serta meluangkan waktunya selama penyusunan tugas akhir ini sehingga tugas akhir ini dapat diselesaikan dengan baik. 6. Bapak dan Ibu staf, dosen, karyawan dan karyawati Politeknik Negeri Padang yang telah memberikan dorongan, bantuan dan pengetahuan selama mengikuti perkuliahan. 7. Guru guru Matematika dan Bahasa Inggris SMKN 6 Padang yang telah membantu mencarikan pembahasan soal soal UMPN. 8. Senior dan junior yang telah memberikan bantuan dan semangat selama mengerjakan penulisan tugas akhir ini. Penulis menyadari bahwa tugas akhir ini masih jauh dari kesempurnaan, untuk itu penulis sangat mengharapkan saran saran dan kritikan yang membangun guna penyempurnaan tugas akhir ini. Akhir kata penulis berharap semoga tugas akhir ini bermanfaat bagi kita semua yang membutuhkan aplikasi soal UMPN. Padang, Oktober 2017 Penulis viii

72 DAFTAR ISI LEMBAR JUDUL TUGAS AKHIR...i LEMBAR PEROLEHAN GELAR...ii LEMBAR PERSETUJUAN / PENGESAHAN TUGAS AKHIR...iii LEMBAR PENGUJI TUGAS AKHIR...iv ABSTRAKSI (INDONESIAN)...v ABSTRACT (in ENGLISH)...vi KATA PENGANTAR...vii DAFTAR ISI...ix DAFTAR TABEL...xi DAFTAR GAMBAR...xii BAB I PENDAHULUAN LATAR BELAKANG RUMUSAN MASALAH TUJUAN BATASAN MASALAH METODOLOGI SISTEMATIKA PENULISAN TUGAS AKHIR...5 BAB II LANDASAN TEORI SISTEM PENERIMAAN MAHASISWA BARU POLITEKNIK NEGERI PADANG ANDROID STUDIO ANDROID BAHASA PEMROGRAMAN JAVA TEKNOLOGI JAVA KARAKTERISTIK JAVA FITUR JAVA DATABASE STRUKTUR NAVIGASI STRUKTUR NAVIGASI LINEAR STRUKTUR NAVIGASI NON LINEAR STRUKTUR NAVIGASI HIERARCHI STRUKTUR NAVIGASI COMPOSITE...22 BAB III ANALISIS DAN PERANCANGAN ANALISIS SISTEM ANALISIS KEBUTUHAN SISTEM ANALISIS KEBUTUHAN FUNGSIONAL ANALISIS KEBUTUHAN NON FUNGSIONAL RANCANGAN SISTEM PERANCANGAN STRUKTUR NAVIGASI FLOWCHART SISTEM PERANCANGAN DATABASE PENENTUAN NILAI PERANCANGAN ANTAR MUKA (INTERFACE)...29 BAB IV IMPLEMENTASI DAN PENGUJIAN IMPLEMENTASI...40 ix

73 4.2 PENGUJIAN APLIKASI PENGUJIAN HALAMAN SOAL UMPN PENGUJIAN HALAMAN TENTANG PENGUJIAN HALAMAN LATIHAN SOAL PENGUJIAN HALAMAN BIDANG REKAYASA PENGUJIAN HALAMAN BIDANG TATA NIAGA PENGUJIAN HALAMAN SOAL PENGUJIAN HALAMAN NILAI PENGUJIAN HALAMAN PEMBAHASAN PENGUJIAN BUTTON KELUAR PENGUJIAN APLIKASI SOAL UMPN PADA SMARTPHONE ANDROID PENGUJIAN SERVER TAMPILAN TABEL DATABASE UMPN TAMPILAN FILE PHP...56 BAB V PENUTUP KESIMPULAN SARAN...59 DAFTAR PUSTAKA...xiii x

74 DAFTAR TABEL Tabel 3.1 Tabel Pembahasan Tabel 3.2 Tabel Soal xi

75 DAFTAR GAMBAR Gambar 2.1 Home Screen Gambar 2.2 Messaging Gambar 2.3 Dialler Gambar 2.4 Contact Gambar 2.5 Setting Gambar 3.1 Perancangan Struktur Navigasi Gambar 3.2 Flowchart Sistem Aplikasi Soal Ujian Masuk Politeknik Negeri Gambar 3.3 Antar Muka pada Halaman Soal UMPN Gambar 3.4 Antar Muka pada Halaman Tentang Gambar 3.5 Antar Muka pada Halaman Bidang Studi Gambar 3.6 Antar Muka pada Halaman Rekayasa Gambar 3.7 Antar Muka pada Halaman Tata Niaga Gambar 3.8 Antar Muka pada Halaman Soal Gambar 3.9 Antar Muka pada Menu Nilai Gambar 3.10 Antar Muka pada Halaman Pembahasan Gambar 4.1 Pengujian Halaman Soal UMPN Gambar 4.2 Pengujian Halaman Tentang Gambar 4.3 Pengujian Halaman Latihan Soal Gambar 4.4 Pengujian Halaman Bidang Rekayasa Gambar 4.5 Pengujian Halaman Bidang Tata Niaga Gambar 4.6 Pengujian Halaman Soal Gambar 4.7 Pengujian Halaman Nilai Gambar 4.8 Pengujian Halaman Pembahasan Gambar 4.9 Pengujian Button Keluar Gambar 4.10 Tampilan Halaman Soal UMPN Gambar 4.11 Tampilan Halaman Tentang Gambar 4.12 Tampilan Halaman Latihan Soal Gambar 4.13 Tampilan Halaman Bidang Rekayasa Gambar 4.14 Tampilan Halaman Bidang Tata Niaga Gambar 4.15 Tampilan Halaman Soal Gambar 4.16 Tampilan Halaman Nilai Gambar 4.17 Tampilan Halaman Pembahasan Gambar 4.18 Tampilan Button Keluar Gambar 4.19 Tampilan Tabel Pembahasan_rek Gambar 4.20 Tampilan Tabel Pembahasan_tn Gambar 4.21 Tampilan Tabel Soal_rek Gambar 4.22 Tampilan Tabel Soal_tn Gambar 4.23 Tampilan File Soal_rek Gambar 4.24 Tampilan File Soal_tn Gambar 4.25 Tampilan File Pembahasan_rek Gambar 4.26 Tampilan File Pembahasan _tn xii

76 DAFTAR PUSTAKA [1] Winarno, Edy., Ali Zaki., SmitDev Community (2011) : Membuat Aplikasi Android untuk Pemula. Jakarta : Elex Media Komputindo. [2] Safaat. H, Nazruddin (2011) : Android Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung : Informatika Bandung. [3] Tim HLI Android (2015) : Aplikasi Android Soal Pilihan Ganda. Jakarta : Elex Media Komputindo. [4] Siregar, Ivan Michael dkk (2010) : Mengembangkan Aplikasi Enterprise Berbasis Android. Bandung : Gava Media. [5] Siregar, Ivan Michael (2011) : Membongkar Source Code Berbagai Aplikasi Android. Bandung : Gava Media. xiii

77 1 BAB I PENDAHULUAN 1.1 LATAR BELAKANG Saat ini banyak calon mahasiswa yang memilih untuk melanjutkan studinya ke politeknik negeri di seluruh Indonesia, maka salah satu caranya yaitu calon mahasiswa tersebut harus mengikuti Ujian Masuk Politeknik Negeri (UMPN). Sebelum mengikuti ujian tentunya calon mahasiswa tersebut harus berlatih mengerjakan contoh soal Ujian Masuk Politeknik Negeri (UMPN). Karena contoh soal Ujian Masuk Politeknik Negeri (UMPN) tidak diterbitkan di toko toko buku, maka calon mahasiswa tersebut akan kesulitan dalam mengerjakan soal Ujian Masuk Politeknik Negeri (UMPN). Oleh karena itu maka dibuatlah aplikasi Soal UMPN beserta pembahasannya menggunakan Android. Android merupakan sistem operasi berbasis Linux yang dirancang untuk perangkat seluler layar sentuh seperti smartphone dan komputer tablet. Android awalnya dikembangkan oleh Android, Inc., dengan dukungan finansial dari Google, yang kemudian membelinya pada tahun Sistem Operasi ini dirilis secara resmi pada tahun 2007, bersamaan dengan didirikannya Open Handset Alliance, konsorsium dari perusahaan software, hardware, dan telekomunikasi yang bertujuan untuk memajukan standar terbuka perangkat seluler. Saat ini perkembangan Android sebagai sistem operasi untuk Smartphone berkembang pesat dan penggunanya terus meningkat tajam dari tahun ke tahun. Menurut Sundar Pichai Vice President Google (2014), OS Android telah mempunyai pengguna aktif mencapai 1 miliar orang.

78 2 Berangkat dari hal diatas maka dituangkan ide berupa tugas akhir yang berjudul Pembuatan Aplikasi Soal UMPN Beserta Pembahasannya Menggunakan Android Berbasis Client Server. 1.2 RUMUSAN MASALAH Adapun permasalahan yang akan dikaji dalam pembuatan tugas akhir ini antara lain : 1. Bagaimana merancang tampilan interface pada aplikasi Soal UMPN yang user friendly. 2. Bagaimana merancang aplikasi Soal UMPN pada platform android. 3. Bagaimana menentukan skor di dalam penilaian aplikasi Soal UMPN pada platform android. 4. Bagaimana cara menghubungkan sebuah aplikasi dengan sebuah server. 1.3 TUJUAN Adapun tujuan yang ingin dicapai dalam pembuatan tugas akhir ini antara lain : 1. Merancang tampilan interface pada aplikasi Soal UMPN yang user friendly. 2. Menentukan skor di dalam penilaian aplikasi Soal UMPN pada platform android. 3. Menghubungkan sebuah aplikasi dengan sebuah server.

79 3 4. Memudahkan calon mahasiswa baru Politeknik Negeri Padang berlatih mengerjakan soal soal UMPN. 1.4 BATASAN MASALAH Asumsi dan ruang lingkup permasalahan yang dikerjakan dalam tugas akhir ini antara lain : 1. Android Studio yang digunakan adalah Android Studio versi Pembuatan aplikasi pada platform android dengan menggunakan bahasa pemrograman java. 3. Sistem android yang digunakan minimal versi 4.4 (Kitkat). 4. Soal UMPN yang ada di aplikasi ini adalah soal UMPN Politeknik Negeri Padang tahun 2015 dan Jumlah soal untuk masing masing mata pelajaran di setiap bidang studi yaitu a. Bidang Studi Rekayasa : i. Matematika sebanyak 15 soal, ii. Bahasa Indonesia sebanyak 10 soal, iii. Bahasa Inggris sebanyak 10 soal, dan iv. Fisika sebanyak 15 soal. b. Bidang Studi Tata Niaga : i. Matematika sebanyak 10 soal, ii. Bahasa Indonesia sebanyak 10 soal, iii. Bahasa Inggris sebanyak 10 soal, iv. Akuntansi sebanyak 10 soal, dan

80 4 v. Ekonomi Terapan sebanyak 10 soal. 1.5 METODOLOGI Beberapa metode yang digunakan dalam penulisan tugas akhir ini, yaitu 1. Studi Literatur Pada tahap ini dilakukan pengumpulan semua data yang berkaitan dengan aplikasi yang akan dibuat serta mencari berbagai teori yang mendukung dalam pembuatan Tugas Akhir melalui beberapa literatur seperti buku, website, dan informasi lainnya. 2. Konsultasi Mengadakan konsultasi dengan Pembimbing Tugas Akhir. Serta berkonsultasi dengan orang orang yang ahli di bidang yang sesuai dengan tugas akhir penyusun untuk mendapatkan arahan yang lebih terkordinasi. 3. Analisis Masalah Dilakukan dengan menganalisis terhadap masalah yang perlu dipecahkan untuk penyelesaian tugas akhir ini dan solusi yang digunakan untuk tugas akhir ini. 4. Pengujian Sistem Dilakukan dengan menguji aplikasi apakah dapat menjalankan fungsi yang diinginkan dan sesuai dengan rencana yang telah dibuat sebelumnya. Pengujian diarahkan untuk menemukan kesalahan dan memastikan bahwa masukan yang diberikan menghasilkan keluaran yang sesuai. 5. Penulisan Laporan Tugas Akhir

81 5 Penyusunan laporan dilakukan untuk memberikan penjelasan berkaitan dengan data data yang telah terkumpul dan juga sebagai dokumentasi dari tugas akhir. 6. Analisis Hasil dan Penarikan Kesimpulan Melakukan analisis dari hasil pengujian yang telah dilakukan, dan melalukan penarikan kesimpulan dari hasil pembuatan tugas akhir ini. 1.6 SISTEMATIKA PENULISAN TUGAS AKHIR Agar lebih jelas dan mudah dipahami maka laporan Tugas Akhir ini ditulis dengan sistem dan tahapan sebagai berikut : BAB I : PENDAHULUAN Berisikan latar belakang, rumusan masalah, tujuan, batasan masalah, metode penyelesaian tugas akhir, dan sistematika penulisan tugas akhir. BAB II : LANDASAN TEORI Membahas tentang soal soal apa yang akan diujikan dalam UMPN, bahasa pemrograman, software untuk membuat aplikasi soal UMPN beserta database server yang akan digunakan. Lalu menjelaskan apa itu sistem operasi Android dan Android Studio. BAB III : ANALISA DAN PERANCANGAN Pada bab ini akan dibahas bagaimana cara merancang aplikasi soal UMPN menggunakan Android yang mudah digunakan oleh user (user friendly) serta cara menghubungkannya ke database server dan menganalisa apa apa saja yang dibutuhkan dalam pembuatan aplikasi Soal UMPN menggunakan Android

82 6 berbasis client server seperti fitur fitur yang terdapat di dalam aplikasi tersebut, kriteria pengguna (user), serta software dan hardware yang dibutuhkan. BAB IV : IMPLEMENTASI DAN PENGUJIAN Pada bab ini berisikan implementasi pembuatan aplikasi soal UMPN menggunakan Android berbasis client server sekaligus pengujian dan penggunaan aplikasi tersebut. BAB V : PENUTUP Berisi kesimpulan dan saran pembuatan aplikasi soal UMPN menggunakan Android berbasis client server.

83 7 BAB II LANDASAN TEORI 2.1 Sistem Penerimaan Mahasiswa Baru Politeknik Negeri Padang Penerimaan Mahasiswa baru Politeknik Negeri Padang dibuka melalui beberapa jalur yaitu : 1. PMDK PN (Penelusuran Minat dan Kemampuan Politeknik Negeri) PMDK PN merupakan pola seleksi nasional untuk ke Politeknik Negeri se Indonesia yang diperuntukkan bagi siswa yang memiliki prestasi akademik dan prestasi lainnya yang relevan. Siswa yang secara konsisten menunjukkan prestasinya tersebut akan mendapatkan kesempatan mengikuti jalur PMDK PN ini dan apabila memenuhi kriteria yang ditetapkan oleh panitia PMDK PN maka bisa dinyatakan lulus PMDK PN. 2. Jalur Mandiri PNP Jalur mandiri PNP ada 2 yaitu : a. SNUN (Seleksi Nilai Ujian Nasional) PNP Seleksi Nilai Ujian Nasional (SNUN) merupakan jalur seleksi penerimaan mahasiswa baru yang diadakan secara mandiri oleh Politeknik Negeri Padang untuk menyeleksi calon mahasiswa baru. Jika memiliki nilai UN yang besar, maka mendaftarlah di SNUN PNP ini karena akan memiliki peluang yang besar untuk diterima di Politeknik Negeri Padang. b. UMPN (Ujian Masuk Politeknik Negeri) Ujian Masuk Politeknik Negeri (UMPN) merupakan jalur ujian tulis bersama yang dilakukan politeknik negeri dimana pendaftar dapat memilih program studi politeknik negeri yang ada di seluruh Indonesia.

84 8 Program studi di Politeknik Negeri Padang dibagi dalam 2 bidang yaitu rekayasa dan tata niaga, materi ujian untuk masing masing bidang studi yaitu : i. Bidang Rekayasa : Matematika, Bahasa Indonesia, Bahasa Inggris, dan Fisika. ii. Bidang Tata Niaga : Matematika, Bahasa Indonesia, Bahasa Inggris, Akuntansi dan Ekonomi Terapan. 3. Bidikmisi PNP Bidikmisi merupakan biaya bantuan pendidikan yang diberikan kepada calon mahasiswa yang berasal dari keluarga tidak mampu yang memiliki keinginan untuk melanjutkan ke Pergurunan Tinggi. 2.2 Android Studio Android Studio adalah sebuah IDE untuk Android Development yang diperkenalkan google pada acara Google I/O Android Studio merupakan pengembangkan dari Eclipse IDE, dan dibuat berdasarkan IDE Java populer, yaitu IntelliJ IDEA. Android Studio merupakan IDE resmi untuk pengembangan aplikasi Android. Sebagai pengembangan dari Eclipse, Android Studio mempunyai banyak fitur fitur baru dibandingkan dengan Eclipse IDE. Berbeda dengan Eclipse yang menggunakan Ant, Android Studio menggunakan Gradle sebagai build environment. Fitur fitur lainnya adalah sebagai berikut : Menggunakan Gradle based build system yang fleksibel. Bisa mem build multiple APK.

85 9 Template support untuk Google Services dan berbagai macam tipe perangkat. Layout editor yang lebih bagus. Built-in support untuk Google Cloud Platform, sehingga mudah untuk integrasi dengan Google Cloud Messaging dan App Engine. Import library langsung dari Maven repository. 2.3 Android Android merupakan generasi baru platform mobile, platform yang memberikan pengembang untuk melakukan pengembangan sesuai dengan yang diharapkan. Sistem operasi yang mendasari Android dilisensikan di bawah GUI, General Public Lisensi Versi 2, yang sering dikenal dengan istlah copyleft lisensi di mana setiap perbaikan pihak ketiga harus terus jatuh di bawah terms. Android didistribusikan dibawah Lisensi Apache Software, yang memungkinkan untuk distribusi kedua dan seterusnya. Komersialisasi pengembang (produsen headset khususnya) dapat memilih untuk meningkatkan platform tanpa harus memberikan perbaikan mereka ke masyarakat open source. Sebaliknya, pengembang dapat keuntungan dari perangkat tambahan seperti perbaikan dan mendistribusikan ulang pekerjaan mereka dibawah lisensi apa pun yang mereka inginkan. Pengembang Android diperbolehkan untuk mendistribusikan aplikasi mereka di bawah skema lisensi apa pun yang diinginkan. Pengembang dapat memilih beberapa pilihan ketika membuat aplikasi yang berbasis android.

86 10 Sebagian besar pengembang menggunakan Eclipse yang tersedia secara bebas untuk merancang dan mengembangkan aplikasi Android. Eclipse adalah IDE yang paling populer untuk pengembangan Android, karena memiliki Android plug-in yang tersedia untuk memfasilitasi pengembangan Android. Selain itu, Eclipse juga mendapat dukungan langsung dari Google untuk menjadi IDE pengembang aplikasi Android, ini terbukti dengan adanya penambahan plugins untuk eclipse untuk membuat project android di mana source software langsung dari situs resminya Google. Akan tetapi hal di atas tidak mampu menutup kemungkinan untuk menggunakan IDE yang lain seperti Netbeans untuk melakukan pengembangan android. Aplikasi Android dapat dikembangkan pada sistem operasi seperti, Windows XP / Vista / Seven, Mac OS X, dan Linux. Antarmuka yang biasanya ada pada sistem Android yaitu : Pada gambar 2.1 menunjukkan tampilan home screen. Home Screen merupakan antarmuka pertama pada sistem Android yang berisi widget dan wallpaper. Gambar 2.1 Home Screen Pada gambar 2.2 menunjukkan tampilan messaging. Messaging berfungsi untuk mengirim dan menerima sms (short message service) yang

87 11 ditampilkan dalam bentuk percakapan, sehingga kita bisa mengetahui history pesan sms sebelumnya. Gambar 2.2 Messaging Pada gambar 2.3 menunjukkan tampilan dialler. Dialler, berfungsi untuk melakukan panggilan dan penerimaan telepon. Gambar 2.3 Dialler Pada gambar 2.4 menunjukkan tampilan contact. Contact, berfungsi untuk menyimpan nama dan nomor kontak.

88 12 Gambar 2.4 Contact Pada gambar 2.5 menunjukkan tampilan setting. Setting, berfungsi untuk melakukan pengaturan perangkat yang akan digunakan. Gambar 2.5 Setting Sliding Drawer, berfungsi sebagai antar muka untuk menampilkan aplikasi yang telah terinstall.

89 Bahasa Pemrograman Java Java adalah bahasa pemrograman yang berorientasi objek (OOP) dan dapat dijalankan pada berbagai platform sistem operasi. Perkembangan Java tidak hanya terfokus oada satu sistem operasi, tetapi dikembangkan untuk berbagai sistem operasi dan bersifat open source. Java telah mengakomodasi hampir seluruh fitur pentingbahasa bahasa pemrograman yang ada sejak perkembangan komputasi modern manusia : a. SIMULA, bahasa pada tahun 65-an, bahasa yang paling mempengaruhi Java sekaligus C++. Dari bahasa ini diadopsi bentukan bentukan dasar dari pemrograman berorientasi objek. b. LISP, bahasa tahun 55-an. Diadopsi fasilitas garbage collection, serta kemampuan untuk meniru generic list processing, meski fasilitas ini jarang yang memanfaatkannya. c. Algol, bahasa pada tahun 60-an, diambil struktur kendali yang dimilikinya. d. C++, diadopsi sintaks, sebagian semantiks dan exception handling e. Bahasa Ada, diambil strongly type, dan exception handling. f. Objective C, diambil fasilitas interface. g. Bahasa SmallTalk, diambil pendekatan single-root class hiérarchie, dimana objek adalah satu kesatuan hirarki pewarisan h. Bahasa Eiffel, fasilitas assertion yang mulai diterapkan di sebagian JDK Teknologi JAVA Di bawah ini merupakan teknologi JAVA seperti :

90 14 a. Sebuah Bahasa Pemrograman Java dapat membuat seluruh bentuk aplikasi, desktop, web dan lainnya, sebagaimana dibuat dengan menggunakan bahasa pemrograman konvensional yang lain. b. Sebuah Development Environment Teknologi Java menyediakan banyak tools seperti compiler, interpreter, penyusun dokumentasi, paket kelas dan sebagainya. c. Sebuah Aplikasi Aplikasi dengan teknologi Java secara umum adalah aplikasi serba guna yang dapat dijalankan pada seluruh mesin yang memiliki Java Runtime Environment (JRE). d. Sebuah Deployment Environment Terdapat dua komponen utama dari Deployment Environment. Yang pertama adalah JRE, yang terdapat pada paket J2SDK, mengandung kelas kelas untuk semua paket teknologi Java yang meliputi kelas dasar dari Java, komponen GUI dan sebagainya. Komponen yang lain terdapat pada Web Browser. Hampir seluruh Web Browser komersial menyediakan interpreter dan runtime environment dari teknologi Java Karakteristik JAVA Java memiliki beberapa karakteristik seperti di bawah ini : a. Sederhana (Simple) dan Intepreted Bahasa pemrograman Java menggunakan Sintaks mirip dengan C++ namun sintaks pada Java telah banyak diperbaiki terutama

91 15 menghilangkan penggunaan pointer yang rumit dan multiple inheritance. Java juga menggunakan automatic memory allocation dan memory garbage collection. Program Java dijalankan menggunakan interpreter yaitu Java Virtual Machine (JVM). Hal ini menyebabkan source code Java yang telah dikompilasi menjadi Java bytecodes dapat dijalankan pada platform yang berbeda beda. b. Berorientasi objek (Object Oriented) dan Terdistribusi (Distributed) Java menggunakan pemrograman berorientasi objek yang membuat program dapat dibuat secara modular dan dapat dipergunakan kembali. Pemrograman berorientasi objek memodelkan dunia nyata kedalam objek dan melakukan interaksi antar objek objek tersebut. Java dibuat untuk membuat aplikasi terdistribusi secara mudah dengan adanya libraries networking yang terintegrasi pada Java. c. Robust and Secure Java mempuyai reliabilitas yang tinggi. Compiler pada Java mempunyai kemampuan mendeteksi error secara lebih teliti dibandingkan bahasa pemrograman lain. Java mempunyai runtime Exception handling untuk membantu mengatasi error pada pemrograman. Sebagai bahasa pemrograman untuk aplikasi internet dan terdistribusi, Java memiliki beberapa mekanisme keamanan untuk menjaga aplikasi tidak digunakan untuk merusak sistem komputer yang menjalankan aplikasi tersebut. d. Portable and Performance Source code maupun program Java dapat dengan mudah dibawa ke platform yang berbeda beda tanpa harus dikompilasi ulang.

92 16 Performance pada Java sering dikatakan kurang tinggi. Namun performance Java dapat ditingkatkan menggunakan kompilasi Java lain seperti buatan Inprise, Microsoft ataupun Symantec yang menggunakan Just In Time Compilers. e. Multithreaded and Dynamic Java mempunyai kemampuan untuk membuat suatu program yang dapat melakukan beberapa pekerjaan secara sekaligus dan simultan serta didesain untuk dapat dijalankan pada lingkungan yang dinamis. Perubahan pada suatu class dengan menambahkan properties ataupun method dapat dilakukan tanpa menggangu program yang menggunakan class tersebut. f. Architecture Neutral Program Java merupakan platform independent. Program cukup mempunyai satu buah versi yang dapat dijalankan pada platform berbeda dengan Java Virtual Machine Fitur JAVA Ada 3 macam fitur JAVA yaitu : a. JAVA Virtual Machine JVM adalah sebuah mesin imajiner (maya) yang bekerja dengan menyerupai aplikasi pada sebuah mesin nyata. JVM menyediakan spesifikasi hardware dan platform dimana kompilasi kode Java terjadi. Spesifikasi inilah yang membuat aplikasi berbasis Java menjadi bebas dari platform manapun karena proses kompilasi diselesaikan oleh JVM.

93 17 Aplikasi program Java diciptakan dengan file teks berekstensi.java. Program ini dikompilasi menghasilkan satu berkas bytecode berekstensi.class atau lebih. Bytecode adalah serangkaian instruksi serupa instruksi kode mesin. Perbedaannya adalah kode mesin harus dijalankan pada sistem komputer dimana kompilasi ditujukan, sementara bytecode berjalan pada java interpreter yang tersedia di semua platform sistem komputer dan sistem operasi. b. Garbage Collection Banyak bahasa pemrogaman lain yang mengijinkan seorang pemrogram mengalokasikan memori pada saat dijalankan. Namun, setelah menggunakan alokasi memori tersebut, harus terdapat cara untuk menempatkan kembali blok memori tersebut supaya program lain dapat menggunakannya. Dalam C, C++ dan bahasa lainnya, adalah pemrogram yang mutlak bertanggung jawab akan hal ini. Hal ini dapat menyulitkan bilamana pemrogram tersebut alpa untuk mengembalikan blok memori sehingga menyebabkan situasi yang dikenal dengan nama memory leaks. Program Java melakukan garbage collection yang berarti program tidak perlu menghapus sendiri objek objek yang tidak digunakan lagi. Fasilitas ini mengurangi beban pengelolaan memori oleh pemrogram dan mengurangi atau mengeliminasi sumber kesalahan terbesar yang terdapat pada bahasa yang memungkinkan alokasi dinamis. c. Code Security

94 18 Code Security terimplementasi pada Java melalui penggunaan Java Runtime Environment (JRE). Java menggunakan model pengamanan 3 lapis untuk melindungi sistem dari untrusted Java Code. 1) Class loader menangani pemuatan kelas Java ke runtime interpreter. Proses ini menyediakan pengamanan dengan memisahkan kelas kelas yang berasal dari local disk dengan kelas kelas yang diambil dari jaringan. Hal ini membatasi aplikasi Trojan karena kelas kelas yang berasal dari local disk yang dimuat terlebih dahulu. 2) Bytecode verifier membaca bytecode sebelum dijalankan dan menjamin bytecode memenuhi aturan aturan dasar bahasa Java. 3) Manajemen keamanan menangani keamanan tingkat aplikasi dengan mengendalikan apakah program berhak mengakses sumber daya seperti sistem file, port jaringan, proses eksternal dan sistem windowing. 2.5 Database Database adalah kumpulan data yang disimpan secara sistematis di dalam komputer dan dapat diolah menggunakan software untuk menghasilkan informasi. Pendefinisian database meliputi spesifikasi berupa tipe, struktur, dan juga batasan batasan data yang akan disimpan. Database merupakan aspek yang sangat penting dalam sistem informasi dimana database merupakan gudang penyimpanan data yang akan diolah lebih lanjut. Database menjadi penting

95 19 karena dapat menghindari duplikasi data, hubungan antar data yang tidak jelas, organisasi data, dan juga update yang rumit. Proses memasukkan dan mengambil data ke dan dari media penyimpanan data memerlukan perangkat lunak yang disebut dengan sistem manajemen basis data (DBMS). DBMS merupakan sistem software yang memungkinkan user untuk memelihara, mengontrol, dan mengakses data secara praktis dan efisien. Dengan kata lain semua akses ke basis data akan ditangani oleh DBMS. Ada beberapa fungsi yang harus ditangani DBMS yaitu mengolah pendefinisian data, dapat menangani permintaan pemakai untuk mengakses data, memeriksa security dan integrity data yang didefinisikan oleh DBA (Database Administrator), menangani kegagalan dalam pengaksesan data yang disebabkan oleh kerusakan sistem maupun disk, dan menangani unjuk kerja semua fungsi secara efisien. Tujuan utama dari DBMS adalah untuk memberikan tinjauan abstrak data kepada user. Jadi sistem menyembunyikan informasi tentang bagaimana data disimpan, dipelihara, dan tetap dapat diambil secara efisien. Pertimbangan efisien di sini adalah bagaimana merancang struktur data yang kompleks tetapi masih tetap bisa digunakan oleh pengguna awam tanpa mengetahui kompleksitas strukturnya. Dilihat dari jenisnya, database dibagi menjadi dua yaitu: a. Database Flat File Database ini ideal untuk data berukuran kecil dan dapat dirubah dengan mudah. Pada dasarnya, mereka tersusun dari sekumpulan string dalam satu atau lebih file yang dapat diurai untuk mendapatkan informasi yang disimpan. Database ini baik digunakan untuk menyimpan daftar atau data yang sederhana dan dalam jumlah kecil. Database ini akan menjadi

96 20 sangat rumit apabila digunakan untuk menyimpan data dengan struktur kompleks walaupun dimungkinkan pula untuk menyimpan data semacam itu. Masalah dari database ini adalah rentan pada korupsi data karena tidak adanya penguncian yang melekat ketika data digunakan atau dimodifikasi. b. Database Relasional Database ini mempunyai struktur yang lebih logis terkait cara penyimpanan. Kata "relasional" berasal dari kenyataan bahwa tabel tabel yang berada di database dapat dihubungkan satu dengan lainnya. Database relasional menggunakan sekumpulan tabel dua dimensi yang masing masing tabel tersusun atas baris dan kolom. Untuk membuat hubungan antara dua atau lebih tabel, digunakan key yaitu primary key di salah satu tabel dan foreign key di tabel yang lain. Saat ini, database relasional menjadi pilihan karena keunggulannya. Beberapa kelemahan dari database ini adalah implementasi yang lebih sulit untuk data dalam jumlah besar dengan tingkat kompleksitasnya yang tinggi. 2.6 Struktur Navigasi Struktur navigasi adalah urutan alur informasi dari suatu aplikasi multimedia. Dengan menggunakan struktur navigasi yang tepat maka suatu aplikasi multimedia mempunyai suatu pedoman dan arah informasi yang jelas. Dalam pembuatan aplikasi multimedia terdapat empat macam bentuk dasar struktur navigasi yang digunakan, yaitu :

97 Struktur Navigasi Linear Struktur yang hanya mempunyai satu rangkaian cerita berurut. Tampilan yang dapat ditampilkan pada struktur jenis ini adalah satu halaman sebelumnya atau satu halaman sesudahnya tidak dapat dua halaman sebelumnya atau dua halaman sesudahnya. Biasanya struktur ini digunakan Multimedia Presentasi karena tidak menuntut keinteraksian tetapi hanya memerlukan keindahan dan kemudahan menampilkan data sebagai informasi Struktur Navigasi Non Linear Struktur navigasi non linear (tidak berurut) merupakan pengembangan dari struktur navigasi linear. Pada struktur ini diperkenankan membuat navigasi bercabang. Percabangan yang dibuat pada struktur linear ini berbeda dengan percabangan pada struktur hierarki, karena pada percabangan non linear ini walaupun terdapat percabangan, tetapi tiap-tiap tampilan mempunyai kedudukan yang sama tidak ada master page dan slave page Struktur Navigasi Hierarchi Struktur navigasi hierarchi ( bercabang ) merupakan suatu struktur yang mengandalkan percabangan untuk menampilkan informasi yang berdasarkan kriteria tertentu. Informasi pada halaman utama disebut parent dan informasi pada cabangnya disebut child.

98 Struktur Navigasi Composite Struktur Navigasi Composite (campuran) merupakan struktur gabungan dari ketiga struktur sebelumnya. Struktur ini disebut juga struktur navigasi bebas. Kelebihan dengan menggunakan struktur navigasi ini adalah suatu aplikasi mampu memberikan keterkaitan informasinya lebih baik.

99 23 BAB III ANALISIS DAN PERANCANGAN 3.1 Analisis Sistem Aplikasi ini merupakan aplikasi yang berguna bagi calon mahasiswa Politeknik Negeri Padang dalam mengerjakan soal UMPN. Dengan adanya penjelasan di akhir pengerjaan soal maka calon mahasiswa bisa belajar mengenai apa saja yang akan diuji dalam soal UMPN tersebut. Dengan menggunakan perangkat mobile yang berbasis Android, aplikasi ini dapat digunakan tanpa harus terhubung pada internet sehingga menambah kemudahan bagi user, selain itu juga mudah dibawa dan diakses kapan saja. 3.2 Analisis Kebutuhan Sistem Analisis kebutuhan sistem merupakan beberapa kebutuhan bahan dalam sistem yang akan dipergunakan untuk menambah atau membantu jalannya proses pembuatan suatu sistem. Di bagian ini akan dibagi menjadi dua bagian yaitu analisis kebutuhan fungsional dan analisis kebutuhan non fungsional. A. Analisis Kebutuhan Fungsional Analisis kebutuhan fungsional merupakan paparan mengenai fitur fitur yang akan dimasukkan ke dalam aplikasi Ujian Masuk Politeknik Negeri (UMPN). Fitur fitur tersebut antara lain sebagai berikut : 1. Menu Tentang Aplikasi yang berisi penjelasan mengenai aplikasi soal Ujian Masuk Politeknik Negeri (UMPN). 2. Soal soal Ujian Masuk Politeknik Negeri (UMPN) tahun 2015.

100 24 3. Pembahasan soal soal Ujian Masuk Politeknik Negeri (UMPN) berdasarkan mata pelajarannya. 4. Menampilkan nilai yang diperoleh oleh user. B. Analisis Kebutuhan Non Fungsional Analisis kebutuhan non fungsional adalah bagian yang akan mendukung proses pembuatan sistem aplikasi soal UMPN. a. Analisis Kebutuhan Software Software yang dibutuhkan dalam pembuatan aplikasi soal UMPN yaitu i. Sistem Operasi Windows 7. ii. Android Studio versi iii. JDK (Java Development Kit) Version 8 Update 60. iv. ADT (Android Development Tool). v. AVD (Android Virtual Device). b. Analisis Kebutuhan Hardware Hardware yang dibutuhkan dalam pembuatan aplikasi soal UMPN yaitu i. Processor Intel(R) Core(TM) i3 3217U 1,80GHz. ii. Memory 2 GB (1,45 GB usable). iii. Mouse dan keyboard. iv. Smartphone Android versi Kitkat. c. Kriteria Pengguna (user) Syarat syarat pengguna aplikasi soal Ujian Masuk Politeknik Negeri (UMPN) yaitu i. Mengerti Operasional Smartphone.

101 25 ii. Mampu mengoperasikan Aplikasi pada Smartphone. iii. Memiliki Smartphone Android minimal versi 4.4 (Kitkat). iv. Calon mahasiswa Politeknik Negeri. 3.3 Rancangan Sistem Rancangan sistem meliputi beberapa perancangan seperti : A. Perancangan Struktur Navigasi Struktur navigasi yang dipakai dalam pembuatan aplikasi ini adalah struktur navigasi campuran. Pada gambar 3.1 diperlihatkan perancangan struktur dari sistem aplikasi soal Ujian Masuk Politeknik Negeri (UMPN) yang akan dibuat : Gambar 3.1 Perancangan Struktur Navigasi Dari perancangan struktur navigasi di atas, dapat dilihat bahwa perpindahan antar fitur yang tersedia dapat dilakukan melalui menu. Karena Android mendukung fitur layar sentuh kapasitif yang dapat menerima input dari sentuhan jari, sehingga navigasi dapat dengan menggunakan sentuhan pada layar.

102 26 B. Flowchart Sistem Pada gambar 3.2 di bawah menunjukkan flowchart dari Sistem Aplikasi Soal Ujian Masuk Politeknik Negeri Padang (UMPN) : Gambar 3.2 Flowchart Sistem Aplikasi Soal Ujian Masuk Politeknik Negeri Padang (UMPN) Keterangan : 1. Ketika aplikasi pertama launch maka akan langsung muncul ke Halaman Utama. 2. Pada Halaman Utama terdapat 3 buah Button menu yakni Latihan Soal, Tentang, dan Keluar.

103 27 3. Apabila memilih menu Latihan Soal maka akan muncul 2 buah Button yaitu Rekayasa, dan Tata Niaga. 4. Apabila memilih menu Rekayasa maka akan muncul petunjuk UMPN Bidang Rekayasa dan Button Mulai. 5. Apabila memilih menu Tata Niaga maka akan muncul petunjuk UMPN Bidang Tata Niaga dan Button Mulai. 6. Apabila mengklik Button Mulai di menu Rekayasa atau Tata Niaga maka akan masuk ke halaman soal. 7. Apabila mengklik Button Nilai di halaman soal maka akan muncul halaman nilai yang menampilkan nilai pengguna aplikasi. 8. Apabila mengklik Button Pembahasan di halaman nilai maka akan muncul halaman pembahasan yang menampilkan pembahasan soal yang dikerjakan di halaman soal oleh user. C. Perancangan Database Database digunakan untuk menyimpan data data semua soal yang akan ditampilkan pada aplikasi. Database yang digunakan pada aplikasi ini yaitu umpn.sql. Database umpn.sql terdiri dari : i. tabel pembahasan_rek, ii. tabel pembahasan_tn. iii. tabel soal_rek, dan iv. tabel soal_tn. Untuk tabel pembahasan memiliki kolom dan baris seperti yang terlihat di bawah :

104 28 Tabel 3.1 Tabel Pembahasan Field Type Id Integer Jawaban Varchar Gambar Text Untuk tabel soal memiliki kolom dan baris seperti yang terlihat di bawah : Tabel 3.2 Tabel Soal Field Type Id Integer Soal Varchar Jwba Varchar Jwbb Varchar Jwbc Varchar Jwbd Varchar Jwbe Varchar D. Penentuan Nilai Pada aplikasi soal Ujian Masuk Politeknik Negeri (UMPN) ini terdapat 50 buah pertanyaan di masing masing bidang studi. Jumlah soal untuk masing masing mata pelajaran di setiap bidang studi yaitu : a. Bidang Studi Rekayasa : i. Matematika sebanyak 15 soal dari 45 soal, ii. Bahasa Indonesia sebanyak 10 soal dari 30 soal, iii. Bahasa Inggris sebanyak 10 soal dari 30 soal, dan iv. Fisika sebanyak 15 soal dari 45 soal. b. Bidang Studi Tata Niaga : i. Matematika sebanyak 10 soal dari 30 soal,

105 29 ii. Bahasa Indonesia sebanyak 10 soal dari 30 soal, iii. Bahasa Inggris sebanyak 10 soal dari 30 soal, iv. Akutansi sebanyak 10 soal dari 30 soal dan v. Ekonomi Terapan sebanyak 10 soal dari 30 soal. Nilai yang bisa diperoleh user yaitu : N U = (J B x 4) + (J S x (-1)) Keterangan : J B = Jumlah Jawaban Benar. N U = Nilai Ujian. J S = Jumlah Jawaban Salah. E. Perancangan Antar Muka (Interface) Perancangan Antar Muka (interface) adalah bagian yang penting dalam aplikasi, karena yang pertama kali dilihat ketika aplikasi dijalankan adalah tampilan interface aplikasi. Berikut rancangan interface dari Sistem Aplikasi Soal Ujian Masuk Politeknik Negeri (UMPN) ini : a. Perancangan antar muka (interface) pada Halaman Soal UMPN

106 30 Buttton1 1 Buttton2 2 Buttton3 3 Gambar 3.3 Antar Muka pada Halaman Soal UMPN Keterangan gambar : 1. Button Latihan Soal 2. Button Tentang 3. Button Keluar Pada gambar 3.3 menunjukkan antar muka halaman soal UMPN. Halaman Soal UMPN merupakan halaman yang tampil pada saat aplikasi dijalankan oleh user. Aplikasi ini mempunyai 3 buah Button yakni Button Latihan Soal, Button Tentang dan Button Keluar. Layout yang digunakan pada halaman Soal UMPN adalah Relative Layout karena jarak antar widget diatur secara relatif.

107 31 b. Perancangan antar muka (interface) pada Halaman Tentang TextView 1 2 TextView Button1 3 Gambar 3.4 Antar Muka pada Halaman Tentang Keterangan gambar : 1. Textview untuk menampilkan judul halaman tentang aplikasi 2. Textview untuk menampilkan teks tentang aplikasi. 3. Button Keluar. Pada gambar 3.4 menunjukkan antar muka halaman tentang. Halaman Tentang Aplikasi merupakan halaman yang muncul setelah user mengklik menu tentang aplikasi yang ada pada halaman Soal UMPN. Halaman Tentang Aplikasi menggunakan Textview untuk menampilkan judul halaman dan teks tentang aplikasi. Layout yang digunakan pada halaman tentang aplikasi adalah Linear layout karena menampilkan elemen elemen view dalam arah linear (horizontal

108 32 ataupun vertical). Composite yang digunakan pada halaman tentang aplikasi adalah ScrollView untuk menampilkan data secara scroll. c. Perancangan antar muka (interface) pada Halaman Bidang Studi TextView 1 Buttton1 2 Buttton2 3 Buttton3 4 Gambar 3.5 Antar Muka pada Halaman Bidang Studi Keterangan gambar : 1. Textview untuk menampilkan judul halaman 2. Button Rekayasa 3. Button Tata Niaga 4. Button Keluar Pada gambar 3.5 menunjukkan antar muka halaman bidang studi. Halaman Bidang Studi merupakan halaman yang muncul setelah user mengklik menu bidang studi yang ada di halaman soal UMPN. Halaman Bidang Studi ini mempunyai 3 buah Button yakni Button Rekayasa, Button Tata Niaga, Button dan Button Keluar. Selain

109 33 itu, halaman bidang studi ini mempunyai Textview untuk judul halaman, dan nama button. Layout yang digunakan pada halaman Bidang Studi adalah Relative layout karena jarak antar widget diatur secara relatif. d. Perancangan antar muka (interface) pada Halaman Rekayasa TextView Buttton1 1 2 Buttton2 Buttton3 Buttton4 Buttton Gambar 3.6 Antar Muka pada Halaman Rekayasa Keterangan gambar : 1. TextView untuk menampilkan judul halaman 2. Button Bahasa Indonesia 3. Button Bahasa Inggris 4. Button Matematika 5. Button Fisika 6. Button Keluar

110 34 Pada gambar 3.6 menunjukkan antar muka halaman bidang studi rekayasa. Halaman Rekayasa merupakan halaman yang muncul setelah user mengklik menu rekayasa yang ada di halaman bidang studi. Halaman Rekayasa ini mempunyai 5 buah Button yakni Button Bahasa Indonesia, Button Bahasa Inggris, Button Matematika, Button Fisika, dan Button Keluar. Selain itu, halaman bidang studi ini mempunyai Textview untuk judul halaman, dan nama button. Layout yang digunakan pada halaman Bidang Studi adalah Relative layout karena jarak antar widget diatur secara relatif. e. Perancangan antar muka (interface) pada Halaman Tata Niaga TextView 1 Buttton1 2 Buttton2 3 Buttton3 Buttton4 Buttton5 Buttton Gambar 3.7 Antar Muka pada Halaman Tata Niaga Keterangan gambar : 1. TextView untuk menampilkan judul halaman 2. Button Bahasa Indonesia

111 35 3. Button Bahasa Inggris 4. Button Matematika 5. Button Akuntansi 6. Button Ekonomi 7. Button Keluar Pada gambar 3.7 menunjukkan antar muka halaman bidang studi tata niaga. Halaman Tata Niaga merupakan halaman yang muncul setelah user mengklik menu tata niaga yang ada di halaman bidang studi. Halaman Tata Niaga ini mempunyai 6 buah Button yakni Button Bahasa Indonesia, Bahasa Inggris, Matematika, Akuntansi, Button Ekonomi, Keluar. Selain itu, halaman bidang studi ini mempunyai Textview untuk judul halaman, dan nama button. Layout yang digunakan pada halaman Tata Niaga adalah Relative layout karena jarak antar widget diatur secara relatif. f. Perancangan antar muka (interface) pada Halaman Soal

112 36 TextView TextView TextView Button1 Button2 Button3 Gambar 3.8 Antar Muka pada Halaman Soal 7 Keterangan gambar : 1. Textview untuk menampilkan judul halaman 2. Textview untuk menampilkan no soal 3. Textview untuk menampilkan soal 4. RadioGroup 5. Button Kembali 6. Button Nilai 7. Button Lanjut Pada gambar 3.8 menunjukkan antar muka halaman soal. Halaman Soal merupakan halaman yang muncul setelah user mengklik salah satu menu mata pelajaran yang ada pada halaman bidang studi. Pada Halaman Soal terdapat Radio Group yang menampung 5 buah RadioButton yakni Pilihan a, b, c, d dan e. Selain

113 37 itu, halaman pertanyaan memiliki Button Kembali, Button Nilai, Button Lanjut dan Textview untuk judul halaman, menampilkan soal dan nomor soal. Layout yang digunakan di halaman ini adalah Linear Layout karena menampilkan elemen elemen view dalam arah linear. Composite yang digunakan pada halaman pembahasan adalah ScrollView untuk menampilkan data secara scroll. g. Perancangan antar muka (interface) pada Menu Nilai 1 2 AlertDialog Title AlertDialog Message 4 3 ADButton1 ADButton2 ADButton3 5 Gambar 3.9 Antar Muka pada Menu Nilai Keterangan gambar : 1. AlertDialog Title untuk menampilkan judul menu 2. AlertDialog Message untuk menampilkan nomor yang salah 3. AlertDialog Button Keluar 4. AlertDialog Button Pembahasan 5. AlertDialog Button Lagi Pada gambar 3.9 menunjukkan antar muka menu nilai. Menu Nilai merupakan menu yang muncul setelah user mengklik button nilai pada halaman soal. Menu nilai memiliki 3 buah AlertDialog button yaitu AlertDialog Button Keluar, Pembahasan, dan Lagi serta

114 38 memiliki AlertDialog Title yang menampilkan judul menu dan AlertDialog Message yang menampilkan nomor jawaban yang salah. h. Perancangan antar muka (interface) pada Halaman Pembahasan TextView TextView TextView Button1 4 Gambar 3.10 Antar Muka pada Halaman Pembahasan Keterangan gambar : 1. Textview untuk menampilkan judul halaman 2. Textview untuk menampilkan nama mata pelajaran 3. Textview untuk menampilkan pembahasan mata pelajaran 4. Button Keluar Pada gambar 3.10 menunjukkan antar muka halaman pembahasan. Halaman Pembahasan merupakan halaman yang muncul setelah user mengklik button pembahasan yang ada di menu nilai. Halaman Pembahasan memiliki Button Keluar yang berfungsi untuk

115 39 kembali ke halaman Soal UMPN dan Textview untuk menampilkan judul halaman, nama serta pembahasan mata pelajaran. Layout yang digunakan pada halaman pembahasan adalah Linear layout karena menampilkan elemen elemen view dalam arah linear. Composite yang digunakan pada halaman pembahasan adalah ScrollView untuk menampilkan data secara scroll.

116 40 BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Software yang digunakan dalam pembuatan aplikasi Soal UMPN adalah sebagai berikut : 1. Android Studio versi Android SDK (Software Development Kit). 3. JDK (Java Development Kit) Version 8 Update ADT (Android Development Tool). 5. Genymotion. 4.2 Pengujian Aplikasi Pengujian aplikasi ini dilakukan pada emulator android yang ada di Android Studio versi yaitu Genymotion. Berikut adalah pengujian halaman yang dilakukan di emulator Genymotion tersebut : Pengujian Halaman Soal UMPN Pada gambar 4.1 menunjukkan pengujian halaman soal UMPN. Halaman Soal UMPN merupakan halaman yang pertama kali muncul pada aplikasi soal UMPN. Dimana pada halaman ini terdapat 3 button utama yaitu button bidang studi, button tentang, dan button keluar. Masing masing button ini menggunakan kode layout xml dan kode java. Kode java akan memanggil masing masing button yang sudah di rancang tampilannya di layout xml.

117 41 Gambar 4.1 Pengujian Halaman Soal UMPN Pengujian Halaman Tentang Pada gambar 4.2 menunjukkan pengujian halaman tentang. Halaman Tentang merupakan halaman yang muncul ketika user mengklik button tentang yang ada di halaman soal UMPN. Dimana pada halaman ini berisi penjelasan mengenai aplikasi soal UMPN yang berupa textview dan button keluar. Button keluar ini menggunakan kode layout xml dan kode java. Kode java pada button keluar akan berisi perintah keluar dari halaman tentang ke soal UMPN. Gambar 4.2 Pengujian Halaman Tentang

118 Pengujian Halaman Latihan Soal Pada gambar 4.3 menunjukkan pengujian halaman latihan soal. Halaman Latihan Soal merupakan halaman yang muncul ketika user mengklik button latihan soal yang ada di halaman soal UMPN. Di halaman ini ada 2 image view, dan 2 button utama yaitu button bidang rekayasa, dan button bidang tata niaga. Masing masing button ini menggunakan kode layout xml dan kode java. Kode java akan memanggil masing masing button yang sudah di rancang tampilannya di layout xml. Gambar 4.3 Pengujian Halaman Latihan Soal Pengujian Halaman Bidang Rekayasa Pada gambar 4.4 menunjukkan pengujian halaman bidang rekayasa. Halaman Bidang Rekayasa merupakan halaman yang muncul ketika user mengklik button bidang rekayasa yang ada di halaman latihan soal. Di halaman ini ada 2 image view, 28 textview, dan 1 button yaitu button mulai. Button ini menggunakan kode layout xml dan java. Kode java akan memanggil button yang sudah di rancang tampilannya di layout xml. Di halaman ini berisi petunjuk umum

119 43 ujian masuk politeknik negeri (UMPN) bidang rekayasa, jumlah soal masing masing mata pelajaran dan penilaian. Gambar 4.4 Pengujian Halaman Bidang Rekayasa Pengujian Halaman Bidang Tata Niaga Pada gambar 4.5 menunjukkan pengujian halaman bidang tata niaga. Halaman Bidang Tata Niaga merupakan halaman yang muncul ketika user mengklik button bidang tata niaga yang ada di halaman latihan soal. Di halaman ini ada 2 image view, 31 text view, dan 1 button yaitu button mulai. Button ini menggunakan kode layout xml dan java. Kode java akan memanggil button yang sudah di rancang tampilannya di layout xml. Di halaman ini berisi petunjuk umum ujian masuk politeknik negeri (UMPN) bidang tata niaga, jumlah soal masing masing mata pelajaran dan penilaian.

120 44 Gambar 4.5 Pengujian Halaman Bidang Tata Niaga Pengujian Halaman Soal Pada gambar 4.6 menunjukkan pengujian halaman soal. Halaman Soal merupakan halaman yang muncul ketika user mengklik button mulai yang ada di halaman bidang rekayasa dan halaman bidang tata niaga. Di halaman soal bidang rekayasa ada 1 scroll view, 54 text view, 50 radio group dan 1 button yaitu button selesai sedangkan di halaman soal bidang tata niaga ada 1 scroll view, 55 text view, 50 radio group dan 1 button yaitu button nilai. Button ini menggunakan kode layout xml dan java. Kode java akan memanggil button yang sudah di rancang tampilannya di layout xml. Di halaman ini berisi soal soal UMPN yang disimpan dalam sebuah database MySQL yang bernama umpn. Kemudian soal soal ini akan dipanggil menggunakan perintah volley untuk ditampilkan di dalam aplikasi ini.

121 45 Gambar 4.6 Pengujian Halaman Soal Pengujian Halaman Nilai Pada gambar 4.7 menunjukkan pengujian halaman nilai. Halaman nilai merupakan halaman yang akan muncul setelah user mengklik button nilai yang ada di halaman soal. Di halaman ini ada 6 text view, 3 image view, dan 1 button pembahasan. Nilai yang diperoleh user didapatkan dari perhitungan ((benar x 4) + (salah x -1)). Gambar 4.7 Pengujian Halaman Nilai

122 Pengujian Halaman Pembahasan Pada gambar 4.8 menunjukkan pengujian halaman pembahasan. Halaman Pembahasan merupakan halaman yang akan muncul setelah user mengklik button pembahasan yang ada di halaman nilai. Di halaman ini ditampilkan pembahasan dari soal yang telah dikerjakan user sebelumnya. Ketika user mengklik button keluar maka akan terbuka halaman soal UMPN. Gambar 4.8 Pengujian Halaman Pembahasan Pengujian Button Keluar Pada gambar 4.9 menunjukkan pengujian button keluar. Button keluar merupakan button yang muncul setelah user mengklik button keluar yang terdapat pada halaman soal UMPN. Pada button keluar terdapat beberapa pilihan button yaitu button Iya dan button Tidak. Jika user memilih button Iya maka akan muncul halaman Home Screen. Jika user memilih button Tidak, maka tampilan tetap berada di halaman utama. Setelah user mengklik button keluar yang terdapat pada halaman utama maka akan muncul dialog alert yang memberitahukan kepada user, apakah user ingin keluar atau tidak.

123 47 Gambar 4.9 Pengujian Button Keluar Pengujian Aplikasi Soal UMPN pada Smartphone Android Versi Aplikasi Administrasi Jaringan ini diuji pada perangkat Smartphone OPPO dengan spesifikasi sebagai berikut : a. Merk : OPPO A57 b. Model Number : CPH1701 c. Android Versi : d. Processor : QualcommMSM8940EightCore. e. RAM : 3.0 GB f. ROM : 32 GB Bentuk pengujian aplikasi ini dapat dilihat pada gambar berikut :

124 48 Gambar 4.10 Tampilan Halaman Soal UMPN Pada gambar 4.10 menjelaskan bahwa antar muka (interface) halaman soal UMPN pada aplikasi Soal UMPN setelah dilakukan pengujian pada aplikasi smartphone android versi (Marshmallow). Dari button, dan image view tersusun dengan rapi. Gambar 4.11 Tampilan Halaman Tentang Pada gambar 4.11 menjelaskan bahwa antar muka (interface) halaman tentang pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada

125 49 smartphone android versi (Marshmallow). Dari textview, dan image view tersusun dengan rapi. Gambar 4.12 Tampilan Halaman Latihan Soal Pada gambar 4.12 menjelaskan bahwa antar muka (interface) halaman latihan soal pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone android versi (Marshmallow). Dari button, dan image view tersusun dengan rapi. Gambar 4.13 Tampilan Halaman Bidang Rekayasa

126 50 Pada gambar 4.13 menjelaskan bahwa antar muka (interface) halaman Bidang Rekayasa pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone android versi (Marshmallow). Dari textview, image view, dan button tersusun dengan rapi. Gambar 4.14 Tampilan Halaman Bidang Tata Niaga Pada gambar 4.14 menjelaskan bahwa antar muka (interface) halaman Bidang Tata Niaga pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone android versi (Marshmallow). Dari textview, image view, dan button tersusun dengan rapi.

127 51 Gambar 4.15 Tampilan Halaman Soal Pada gambar 4.15 menjelaskan bahwa antar muka (interface) halaman Bidang Rekayasa pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone android versi (Marshmallow). Dari textview, radio group, image view, dan button tersusun dengan rapi. Gambar 4.16 Tampilan Halaman Nilai Pada gambar 4.16 menjelaskan bahwa antar muka (interface) halaman Nilai pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone

128 52 android versi (Marshmallow). Dari textview, image view dan button tersusun dengan rapi. Gambar 4.17 Tampilan Halaman Pembahasan Pada gambar 4.17 menjelaskan bahwa antar muka (interface) halaman Nilai pada aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone android versi (Marshmallow). Dari textview, dan image view tersusun dengan rapi. Gambar 4.18 Tampilan Button Keluar

129 53 Pada gambar 4.18 menjelaskan bahwa antar muka (interface) button keluar pada halaman Soal UMPN di aplikasi Soal UMPN setelah dilakukan pengujian aplikasi pada smartphone android versi (Marshmallow). Dari alert dialog, dan button tersusun dengan rapi. 4.3 Pengujian Server Pengujian server dilakukan dengan cara mengecek tampilan database dan tampilan dari file php yang berguna untuk memanggil soal dan pembahasan yang ada di dalam database Tampilan Tabel Database UMPN Dibawah ini merupakan tampilan 4 tabel database umpn yaitu tabel pembahasan_rek, pembahasan_tn, soal_rek, dan soal_tn. Gambar 4.19 Tampilan Tabel Pembahasan_rek Gambar 4.19 menunjukkan tabel pembahasan_rek yang memiliki 3 buah kolom yaitu rek_id, rek_jawaban, dan rek_gambar. Kolom rek_id bertipe integer

130 54 dan berisi nomor soal bidang studi rekayasa, kolom rek_jawaban bertipe varchar dan berisi jawaban dari soal bidang studi rekayasa, dan kolom rek_gambar bertipe text dan berisi gambar dari pembahasan soal bidang studi rekayasa. Gambar 4.20 Tampilan Tabel Pembahasan_tn Gambar 4.20 menunjukkan tabel pembahasan_tn yang memiliki 3 buah kolom yaitu rek_id, rek_jawaban, dan rek_gambar. Kolom rek_id bertipe integer dan berisi nomor soal bidang studi tata niaga, kolom rek_jawaban bertipe varchar dan berisi jawaban dari soal bidang studi tata niaga, dan kolom rek_gambar bertipe text dan berisi gambar dari pembahasan soal bidang studi tata niaga.

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 3 MENULISKAN KODE Tujuan: Mahasiswa memahami dan mampu menggunakan komponen dan penulisan kode untuk pembuatan suatu aksi pada aplikasi Android. Pustaka:

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 5 LOOPING STATEMENT Tujuan: Mahasiswa memahami dan mampu memnggunakan struktur kondisi pengulangan untuk mendukung pembuatan suatu aplikasi Android. Pustaka:

Lebih terperinci

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming) TK Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon : +62711-353414 PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 7 INTENT BAGIAN 2 Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi Android. Pustaka:

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 6 PENGGUNAAN INTENT Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi Android.

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 6 PENGGUNAAN ACTIVITY & INTENT Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi

Lebih terperinci

Penggunaan Button di Android

Penggunaan Button di Android Penggunaan Button di Android Oleh: Almibi Akmal Hallo sobat JK, kali ini saya berbagi tutorial bagaimana menggunakan button di android. Button merupakan salah satu bagian penting dari android. Ada dua

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 6 PENGGUNAAN ACTIVITY Tujuan: Mahasiswa memahami siklus hidup suatu activity dan mampu menerapkan penggunaan intent dalam pembuatan suatu aplikasi Android.

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 4 CONDITIONAL STATEMENT Tujuan: Mahasiswa memahami dan mampu memnggunakan struktur kondisi IF..THEN..ELSE.. untuk mendukung pembuatan suatu aplikasi Android.

Lebih terperinci

Praktikum 1 - Getting Started with Android

Praktikum 1 - Getting Started with Android Praktikum 1 - Getting Started with Android Dosen : Tenia Wahyuningrum, S.Kom., MT Sebelum menjalankan aplikasi sederhana Hello World, kita perlu untuk menginstal programming environment. Hello World App

Lebih terperinci

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.dentalexsys;

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.dentalexsys; 1. Konsultasi.java LAMPIRAN package com.example.saksermu.dentalexsys; import android.app.activity; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.menu; import

Lebih terperinci

Cara Membuat Background Dinamis di Android

Cara Membuat Background Dinamis di Android Cara Membuat Background Dinamis di Android Oleh: Yudi Setiawan Sebenarnya judulnya agak aneh ya. Mengapa? karena, maksud dari tutorial ini ialah membuat background seperti aplikasi Instagram. Bagi Anda

Lebih terperinci

DAFTAR PUSTAKA. A. S., R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika.

DAFTAR PUSTAKA. A. S., R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika. DAFTAR PUSTAKA A. S., R., & Shalahuddin, M. (2013). Rekayasa Perangkat Lunak Terstruktur dan Berorientasi Objek. Bandung: Informatika. Departemen Pendidikan Nasional. (2008). Kamus Sistem Isyarat Bahasa

Lebih terperinci

DAFTAR PUSTAKA.

DAFTAR PUSTAKA. DAFTAR PUSTAKA Agarwal, B. B. Tayal S. P. M. Gupta. 2010. SOFTWARE ENGIEENERING & TESTING. London. Jones bartlett Publisher Internasional. Dapur Esensi, Tim. 2014. Hidangan Lezat Nusantara. Jakarta : Erlangga

Lebih terperinci

LAMPIRAN A. Universitas Sumatera Utara

LAMPIRAN A. Universitas Sumatera Utara 69 LAMPIRAN A 70 LAMPIRAN. LISTING PROGRAM 1. Listing program untuk membuat papan dan random huruf package robert.simanjuntak; import java.util.arraylist; import java.util.random; import android.graphics.color;

Lebih terperinci

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.tht;

LAMPIRAN. 1. Konsultasi.java. package com.example.saksermu.tht; LAMPIRAN 1. Konsultasi.java package com.example.saksermu.tht; import android.app.activity; import android.support.v7.app.appcompatactivity; import android.os.bundle; import android.view.menu; import android.view.menuitem;

Lebih terperinci

Memiih Penyimpanan Internal atau External

Memiih Penyimpanan Internal atau External A. TUJUAN PERTEMUAN KE 10 Data dan Akses File Lokal (Aplikasi Baca Tulis File) Mahasiswa diharapkan dapat memahami dan mengetahui tentang Data dan Akses File Lokal yang digunakan pada aplikasi mobile.

Lebih terperinci

Praktikum XI Animasi dan Multimedia

Praktikum XI Animasi dan Multimedia Praktikum XI Animasi dan Multimedia Pokok bahasan: Animasi dan multimedia Membuat aplikasi yang melibatkan komponen multimedia Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui:

Lebih terperinci

Membuat preferensi atau pengaturan pada aplikasi android

Membuat preferensi atau pengaturan pada aplikasi android Membuat preferensi atau pengaturan pada aplikasi android Oleh: Jefri Rendra Wiratmaja Sempat bertanya - tanya pada diri ini "Bagiamana sih membuat pengaturan pada aplikasi android layaknya pengaturan pada

Lebih terperinci

Lecture Notes

Lecture Notes Lecture Notes 15.09.2014 LinearLayout 1. Hapus layout pada file xml 2. Drag drop LinearLayout (Vertical) 3. Drag drop button 3x 4. Lihat code di layout xml, jelaskan ttg id 5. Buat strings.xml dari folder

Lebih terperinci

Membuat Interface Dinamis Menggunakan FrameLayout

Membuat Interface Dinamis Menggunakan FrameLayout Membuat Interface Dinamis Menggunakan FrameLayout Oleh: Hasyemi Rafsanjani Asyari Pada tutorial kali ini kita akan belajar membuat aplikasi android dengan fragment. Seperti yang kita ketahui aplikasi android

Lebih terperinci

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse

Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse Cara Membuat Aplikasi Android Sederhana Menggunakan Eclipse by webmaster - Sunday, December 13, 2015 http://xoxo.student.akademitelkom.ac.id/index.php/2015/12/13/cara-membuat-aplikasi-android-sederhanamenggunakan-eclipse/

Lebih terperinci

Membuat Alert Dialog Pada Android

Membuat Alert Dialog Pada Android Membuat Alert Dialog Pada Android Oleh: Wian Caniggia Eka Putra Hai Sobat.. Kali ini saya akan bagi tutorial android mobile. Kali ini saya akan menjelaskan tentang gimana cara membuat alert dialog pada

Lebih terperinci

PERTEMUAN KE 7 Broadcast Receiver dan Services

PERTEMUAN KE 7 Broadcast Receiver dan Services PERTEMUAN KE 7 Broadcast Receiver dan Services A. TUJUAN Mahasiswa diharapkan dapat memahami dan mengetahui tentang Broadcast Receviver dan Service serta bagaimana menggunakannya. B. TEORI SINGKAT BROADCAST

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB IX. PENGGUNAAN MENU DENGAN VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Menu Menu berguna untuk menampilkan pilihan tambahan yang tidak langsung

Lebih terperinci

ARTIKEL TUGAS AKHIR TUTORIAL APLIKASI RUMUS-RUMUS FISIKA LISTRIK DINAMIS DASAR BERBASIS ANDROID

ARTIKEL TUGAS AKHIR TUTORIAL APLIKASI RUMUS-RUMUS FISIKA LISTRIK DINAMIS DASAR BERBASIS ANDROID ARTIKEL TUGAS AKHIR TUTORIAL APLIKASI RUMUS-RUMUS FISIKA LISTRIK DINAMIS DASAR BERBASIS ANDROID Disusun Oleh Nama : Ika Widya Atni NIM : 24100150 Jurusan : Teknik Komputer Jenjang : Diploma III (D3) SEKOLAH

Lebih terperinci

PAPB-C. Yang harus dipersiapkan: 1. Eclipse 2. AVD/GenieMotion 3. JDK Membuat Android Application Project Baru

PAPB-C. Yang harus dipersiapkan: 1. Eclipse 2. AVD/GenieMotion 3. JDK Membuat Android Application Project Baru User Notification adalah pesan yang diterima oleh user yang tidak muncul dalam user interface utama tapi ada dalam bentuk icon dan dengan detail notifikasinya dalam notification area. Tujuan dari munculnya

Lebih terperinci

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID

TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID TUTORIAL PEMBUATAN APLIKASI SEDERHANA TOUCH AND GESTURE PADA ANDROID Di dalam bahasan kali ini, terdapat tutorial pembuatan aplikasi sederhana touch and gesture pada android. Dalam touch and gesture ini

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB III. HELLO WORLD Dosen Pembina : Bella Hardiyana, S. Kom, M. Kom HelloWorld1 (1) Buatlah sebuah proyek baru dengan spesifikasi dibawah ini : @Override public boolean

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM

BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM BAB IV IMPLEMENTASI DAN PENGUJIAN SISTEM 4.1 Implementasi Tujuan dari tahapan implementasi adalah untuk memastikan apakah perancangan perangkat lunak yang dibuat dapat bekerja secara efektif dan efisien

Lebih terperinci

Praktikum XI Animasi dan Multimedia

Praktikum XI Animasi dan Multimedia Praktikum XI Animasi dan Multimedia Pokok bahasan: Animasi dan multimedia Membuat aplikasi yang melibatkan komponen multimedia Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui:

Lebih terperinci

DAFTAR PUSTAKA. H, Nazruddin Safaat Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika.

DAFTAR PUSTAKA. H, Nazruddin Safaat Pemrograman Aplikasi Mobile Smartphone dan Tablet PC Berbasis Android. Bandung: Informatika. DAFTAR PUSTAKA Angraini, Rika D. 2014. Hubungan Indeks Massa Tubuh (IMT), Aktivitas Fisik, Rokok, Konsumsi Buah, Sayur Dan Kejadian Hipertensi Pada Lansia Di Pulau Kalimantan (Analisis Data Riskesdas 2007).

Lebih terperinci

BAB IV HASIL PENELITIAN DAN PEMBAHASAN

BAB IV HASIL PENELITIAN DAN PEMBAHASAN 34 BAB IV HASIL PENELITIAN DAN PEMBAHASAN 4.1 Implementasi Aplikasi Hasil Implementasi dari rancangan aplikasi untuk mengukur intensitas cahaya pada ruangan dalam rumah. Ada beberapa 8 tombol segment yang

Lebih terperinci

Membuat Tab Layout Menggunakan Android Material Design

Membuat Tab Layout Menggunakan Android Material Design Membuat Tab Layout Menggunakan Android Material Design Fitria Arnita fitriaarnita23@gmail.com Abstrak Material Design adalah panduan komprehensif untuk desain visual, gerak, dan interaksi lintas platform

Lebih terperinci

Membuat Spash Screen

Membuat Spash Screen Membuat Spash Screen Oleh: christiawan eko saputro Tutorial ini sangat simple,pasti udah tau kan Splash Screen, semacam kaya Loading gitu lah :) Buat Project File New SplashScreen dan Beri nama Activity

Lebih terperinci

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS!

DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! DAPATKAN SEGERAA!!!!! PERSEDIAAN TERBATASS! PERTAMA ebook Bahasa Indondesia! Dilengkapi PEMBAHASAN Jelas dan mudah dipahami Sangat Cocok untuk PEMULA!!! Di JAMIN Bisa! Baca Coba Berhasil! L A B. A N D

Lebih terperinci

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR

MOBILE PROGRAMMING. Oleh : CHALIFA CHAZAR MOBILE PROGRAMMING Oleh : CHALIFA CHAZAR MATERI 8 HTTP CONNECTION Tujuan: Mahasiswa memahami dan mampu menerapkan penggunaan http connection dalam pembuatan suatu aplikasi Android. Pustaka: Abdul Kadir,

Lebih terperinci

MODUL 13 KOMPONEN GUI ANDROID

MODUL 13 KOMPONEN GUI ANDROID MODUL 13 KOMPONEN GUI ANDROID A. Tujuan : 1. Memahami berbagai pembuatan komponen di android 2. Memahami passing parameter di android dalam 1 layar 3. Memahami passing parameter di android dalam 2 layar

Lebih terperinci

Bab 4 Hasil dan Pembahasan

Bab 4 Hasil dan Pembahasan Bab 4 Hasil dan Pembahasan Pada bab ini dibahas mengenai implementasi sistem tracer alumni dengan menggunakan teknologi Android berdasarkan perancangan sistem yang telah dijabarkan pada bab sebelumnya.

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB V. USER INTERFACE (UI) PART 2 - BASIC VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom View View dalam pemrograman Android berfungsi sebagai komponen

Lebih terperinci

public class MainActivity extends Activity implements AdapterView.OnItemClickListener{

public class MainActivity extends Activity implements AdapterView.OnItemClickListener{ SOURECE JAVA MAINACTIVITY package id.andang.bukhari; import android.app.activity; import android.content.intent; import android.os.bundle; import android.text.editable; import android.text.textwatcher;

Lebih terperinci

MODUL 10 KOMPONEN GUI ANDROID

MODUL 10 KOMPONEN GUI ANDROID MODUL 10 KOMPONEN GUI ANDROID A. Tujuan : 1. Memahami berbagai pembuatan komponen di android 2. Memahami passing parameter di android dalam 1 layar 3. Memahami passing parameter di android dalam 2 layar

Lebih terperinci

Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.

Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2. Program Database Sederhana di Android Desember 2011 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse, SQLite Artikel ini merupakan lanjutan dari tulisan sebelumnya yang

Lebih terperinci

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0

Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0 Modul Pengembangan Aplikasi Android Berbasis Client- Server Aplikasi sederhana android Versi 1.0 I Ketut Resika Arthana, M.Kom http://www.rey204.com resika.arthana@gmail.com Disajikan dalam mata kuliah

Lebih terperinci

PERTEMUAN KE 6 Intent dan Content Provider. A. TUJUAN Mahasiswa diharapkan dapat memahami dan mengetahui tentang aplikasi mobile.

PERTEMUAN KE 6 Intent dan Content Provider. A. TUJUAN Mahasiswa diharapkan dapat memahami dan mengetahui tentang aplikasi mobile. PERTEMUAN KE 6 Intent dan Content Provider A. TUJUAN Mahasiswa diharapkan dapat memahami dan mengetahui tentang aplikasi mobile. B. TEORI SINGKAT Intent Apa itu intents? Android menggunakan intents untuk

Lebih terperinci

DAFTAR PUSTAKA. Adisasmita, Rahardjo Manajemen Pemerintah Daerah. Yogyakarta: Penerbit Graha Ilmu.

DAFTAR PUSTAKA. Adisasmita, Rahardjo Manajemen Pemerintah Daerah. Yogyakarta: Penerbit Graha Ilmu. DAFTAR PUSTAKA Adisasmita, Rahardjo. 2011. Manajemen Pemerintah Daerah. Yogyakarta: Penerbit Graha Ilmu. Dennis, Alan,wixom,dan David Tegarden. 2012. Systems analysis and design with UML.USA:John Wiley

Lebih terperinci

Call Phone Permission pada Android

Call Phone Permission pada Android Call Phone Permission pada Android Oleh: Adnan w Anadrep Halo, berjumpa lagi dengan saya :) Kali ini saya akan memberikan tutorial di android mengenai penggunaan CALL_PHONE permission. Dalam tutorial ini,

Lebih terperinci

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming)

PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web Programming) Jl Srijaya Negara Bukit Besar Palembang 30139, Telpon : +62711-353414 TK PROGRAM STUDI D3 JURUSAN TEKNIK KOMPUTER POLITEKNIK NEGERI SRIWIJAYA PALEMBANG Pemrograman Berorientasi Objek 3 (Mobile And Web

Lebih terperinci

Praktikum 9 Pemprograman Android GUI 2 Layar

Praktikum 9 Pemprograman Android GUI 2 Layar Praktikum 9 Pemprograman Android GUI 2 Layar Dosen : Ir. Nanang Syahroni M.Kom Pokok Bahasan Konsep pemprograman Java OOP pada Android Deklarasi pemprograman Android Penggunaan Button, Textview, Textfield,

Lebih terperinci

DAFTAR PUSTAKA. Binanto, I., multimedia digital-dasar teori dan pengembangannya, yogyakarta.

DAFTAR PUSTAKA. Binanto, I., multimedia digital-dasar teori dan pengembangannya, yogyakarta. DAFTAR PUSTAKA Abdullah. (2003). Tip & Trik Desain Web Dinamis dengan CSS dan JavaScript. Jakarta: Elex Media Komputindo. Binanto, I., 2010. multimedia digital-dasar teori dan pengembangannya, yogyakarta.

Lebih terperinci

Ijin Akses Agar program kita dapat mengakses GPS, kita harus menambahkan permission pada AndroidManifest.xml sebagai berikut:

Ijin Akses Agar program kita dapat mengakses GPS, kita harus menambahkan permission pada AndroidManifest.xml sebagai berikut: Pemrograman Android GPS MAP Part 1 [Pemrograman Android GPS MAP 01][Level: Menengah] Andi Taru Nugroho Nur Wismono S.Kom.,M.Cs. andi.taru@gmail.com Lisensi Dokumen: Copyright 2012 JavaClopedia.com Seluruh

Lebih terperinci

Pembuatan Aplikasi Android Sederhana dengan Eclipse

Pembuatan Aplikasi Android Sederhana dengan Eclipse Pembuatan Aplikasi Android Sederhana dengan Eclipse by webmaster - Monday, December 14, 2015 http://suyatno.dosen.akademitelkom.ac.id/index.php/2015/12/14/pembuatan-aplikasi-android-sederhanadengan-eclipse/

Lebih terperinci

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID

MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID MODUL 14 INTERKONEKSI CLIENT-SERVER ANDROID A. Tujuan : 1. Memahami interkoneksi client-server dengan php di android 2. Memahami interkoneksi client-server dengan php-mysql 3. Memahami passing parameter

Lebih terperinci

Listing Program. Main.xml. About.xml. Universitas Sumatera Utara

Listing Program. Main.xml. About.xml. Universitas Sumatera Utara Listing Program Main.xml android:background="@drawable/x1"

Lebih terperinci

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Rute terdekat ke rumah sakit di madiun. dikembangkan menggunakan bahasa pemrograman Java.

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Rute terdekat ke rumah sakit di madiun. dikembangkan menggunakan bahasa pemrograman Java. BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM 4.1 Implementasi Sistem Aplikasi Rute terdekat ke rumah sakit di madiun dikembangkan menggunakan bahasa pemrograman Java. Berdasarkan analisis dan perancangan

Lebih terperinci

Praktikum IV Komponen UI (Radio Button, CheckBox dll)

Praktikum IV Komponen UI (Radio Button, CheckBox dll) Praktikum IV Komponen UI (Radio Button, CheckBox dll) Pokok Bahasan: Membuat aplikasi user interface android sederhana Mengenal komponen user interface di android Tujuan Belajar Setelah mempelajari modul

Lebih terperinci

Variabel dan tipe data

Variabel dan tipe data Variabel dan tipe data Variabel dan tipe data adalah sebuah hal yang penting didalam pemrograman. Variabel berfungsi untuk menyimpan sebuah nilai secara sementara di memory komputer. Variabel dan tipe

Lebih terperinci

DAFTAR PUSTAKA.

DAFTAR PUSTAKA. DAFTAR PUSTAKA Arif Akhbarul Huda, 2013. Aplikasi Android Buatan Sendiri. Yogyakarta: ANDI. Binato, Iwan. 2010. Multimedia Digital: Dasar Teori dan Pengembangannya. Yogyakarta: Penerbit Andi. Cecep Kustandi,

Lebih terperinci

PERTEMUAN KE 4 Representasi Data (ListView dan Spinner)

PERTEMUAN KE 4 Representasi Data (ListView dan Spinner) A. TUJUAN PERTEMUAN KE 4 Representasi Data (ListView dan Spinner) Mahasiswa diharapkan dapat memahami dan mengetahui tentang komponen widget, yaitu ListView yang digunakan pada aplikasi mobile. B. TEORI

Lebih terperinci

DAFTAR PUSTAKA. Android KitKat. (2013). Diakses 4 April, 2015, dari

DAFTAR PUSTAKA. Android KitKat. (2013). Diakses 4 April, 2015, dari DAFTAR PUSTAKA Android KitKat. (2013). Diakses 4 April, 2015, dari http://developer.android.com/about/versions/kitkat.html Android Lollipop. (2015). Diakses 4 April, 2015, dari http://developer.android.com/about/versions/lollipop.html

Lebih terperinci

LISTING PROGRAM. TabHost tab = (TabHost) findviewbyid(r.id.tabhost); tab.setup();

LISTING PROGRAM. TabHost tab = (TabHost) findviewbyid(r.id.tabhost); tab.setup(); A-1 LISTING PROGRAM 1. MainActivity.java package com.example.ilmukomputer.mycipher; import android.content.intent; import android.graphics.color; import android.os.bundle; import android.support.v7.app.appcompatactivity;

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN 1 BAB IV IMPLEMENTASI DAN PENGUJIAN Aplikasi penyajian info mobil dan detail spesifikasinya berbasis Android didesain untuk diimplementasikan untuk masyarakat umum. Pengguna yang ditargetkan untuk menggunkan

Lebih terperinci

Listing Program. //mengeset nama tab dan mengisi content pada menu tab anda. tabhost.addtab(spec);

Listing Program. //mengeset nama tab dan mengisi content pada menu tab anda. tabhost.addtab(spec); Listing Program MainActivity.java package com.pakarkepribadian; import android.os.bundle; import android.app.tabactivity; import android.content.intent; import android.content.res.resources; import android.widget.tabhost;

Lebih terperinci

MODUL PRAKTIKUM SISTEM MOBILE DAN APLIKASI. Disusun oleh: Helfy Susilawati, S.Pd, M.T

MODUL PRAKTIKUM SISTEM MOBILE DAN APLIKASI. Disusun oleh: Helfy Susilawati, S.Pd, M.T MODUL PRAKTIKUM SISTEM MOBILE DAN APLIKASI Disusun oleh: Helfy Susilawati, S.Pd, M.T 0410128901 TEKNIK ELEKTRO UNIVERSITAS GARUT 2017 KATA PENGANTAR Puji syukur kita panjatkan kehadirat Allah SWT, karena

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Implementasi merupakan hal terpenting yang harus dilaksanakan guna mendapatkan hasil yang maksimal dari software yang akan dibangun. Implementasi software

Lebih terperinci

Praktikum VI Activity dan Intent

Praktikum VI Activity dan Intent Praktikum VI Activity dan Intent Pokok bahasan: Membuat aplikasi yang melibatkan activity lebih dari satu Memahami konsep activity dan Intent Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan

Lebih terperinci

Cara Membuat Layout Dynamic di Android

Cara Membuat Layout Dynamic di Android Cara Membuat Layout Dynamic di Android Oleh: Yudi Setiawan Dalam pemrograman Android, khususnya untuk aplikasi Native. Anda harus menguasai Java dan XML. Java sebagai algoritmanya dan XML sebagai UI-nya.

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi Setelah sistem dianalisis dan didesain secara rinci, tahap selanjutnya adalah implementasi. Implementasi sistem merupakan tahap meletakkan sistem sehingga

Lebih terperinci

Tutorial Aplikasi Android Sederhana dengan Action Button

Tutorial Aplikasi Android Sederhana dengan Action Button Tutorial Aplikasi Android Sederhana dengan Action Button Deskripsi Aplikasi : Dapat menerima masukan dari pengguna berupa string. Lalu masukan tersebut dapat ditampilkan dengan menekan button. Terdapat

Lebih terperinci

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Pada tahap implementasi sistem akan dijelaskan. mengenai hasil implementasi di dalam aplikasi, berupa

BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM. Pada tahap implementasi sistem akan dijelaskan. mengenai hasil implementasi di dalam aplikasi, berupa BAB IV IMPLEMENTASI DAN PEMBAHASAN SISTEM 4.1 Implementasi Sistem Pada tahap implementasi sistem akan dijelaskan mengenai hasil implementasi di dalam aplikasi, berupa tampilan program dan juga potongan

Lebih terperinci

PRAKTIKUM IX:TUTORIAL PEMBUATAN

PRAKTIKUM IX:TUTORIAL PEMBUATAN LAPORAN PRAKTIKUM Pemograman mobile PRAKTIKUM IX:TUTORIAL PEMBUATAN Database(Part 1). DISUSUN OLEH : Wahyu Nurfian 12.12.0062 LABORATORIUM KOMPUTER & JARINGAN SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER

Lebih terperinci

Bab 4 Hasil dan Pembahasan

Bab 4 Hasil dan Pembahasan Bab 4 Hasil dan Pembahasan 4.1 Implementasi Aplikasi Bab 4 akan dijelaskan bagaimana cara kerja dari perancangan dan implementasi aplikasi virtual gamelan berbasis android dengan menggunakan metode prototype,

Lebih terperinci

Workshop Struktur dan Pemakaian Teknologi Game BAB 4. Menu

Workshop Struktur dan Pemakaian Teknologi Game BAB 4. Menu BAB 4 Menu 69 4.1 Tujuan Pembelajaran 1. Memahami tentang Menu, baik Option maupun Context Menu dan bagaimana penggunaannya. 4.2 Dasar Teori Sebagaimana halnya aplikasi-aplikasi untuk desktop dan beberapa

Lebih terperinci

DAFTAR PUSTAKA. Fathansyah Basis Data.Bandung:Informatika. Jumhara, Zamrony P Panduan Lengkap Pemrograman Android. Yogyakarta: ANDI.

DAFTAR PUSTAKA. Fathansyah Basis Data.Bandung:Informatika. Jumhara, Zamrony P Panduan Lengkap Pemrograman Android. Yogyakarta: ANDI. DAFTAR PUSTAKA Dennis,Alan,Barbara Haley Wixom dan David Tegarden. 2012.Systems Analysis & Design: An Object-Oriented Approach with UML, Version 2.0, 4th ed. New York: John Wiley & Sons. Fathansyah. 2012.Basis

Lebih terperinci

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET

BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET BAB 3 XML LAYOUT, BASIC WIDGET DAN SELECTION WIDGET 3.1 Tujuan Pembelajaran 1. Memahami tentang pembuatan layout dengan XML pada Android 2. Memahami tentang apa sajakah fitur dari Basic Widget dan Selection

Lebih terperinci

Praktikum IX Drag and Drop GUI dan Image Gallery

Praktikum IX Drag and Drop GUI dan Image Gallery Praktikum IX Drag and Drop GUI dan Image Gallery Pokok bahasan: Drag and Drop GUI Fungsi shape Tujuan Belajar: Setelah mempelajari modul ini mahasiswa diharapkan mengetahui: Tampilan GUI yang lebih menarik

Lebih terperinci

Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android

Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android Aplikasi Mobile Informasi Pengenalan Profil Pahlawan Tingkat Dasar di Indonesia Menggunakan Java Berbasis Android Nama : Hurul Aini NPM : 13110335 Fakultas : Ilmu Komputer dan Telknologi Informasi Jurusan

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB VI. USER INTERFACE (UI) PART 3 PICKER VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Picker View Pemilihan tanggal dan waktu merupakan salah satu

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB VII. USER INTERFACE (UI) PART 4 LIST VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Tipe List View List view adalah view yang memperbolehkan untuk

Lebih terperinci

Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse

Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse Custom Button pada Android Februari 2012 Tingkat: Oleh : Feri Djuandi Pemula Menengah Mahir Platform : Android 2.3, Eclipse Salah satu hal yang menyenangkan dalam membuat sebuah aplikasi Android adalah

Lebih terperinci

Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android.

Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android. Kalkulator Sederhana Tutorial berikut akan mengajarkan rekan-rekan cara membuat kalkulator sederhana di android. pertama-tama pastikan di komputer anda telah terinsal AVD dan eclipse. 1. Buat projek android

Lebih terperinci

Membuat list dengan RecylerView dan dependency injection ButterKniffe

Membuat list dengan RecylerView dan dependency injection ButterKniffe Membuat list dengan RecylerView dan dependency injection ButterKniffe Oleh: Adriyadi Savana Buat kalian yang sudah pernah mengenal ListView mungkin pernah mendengar RecylerView, yap! RecyclerView adalah

Lebih terperinci

BAB IV IMPLEMENTASI DAN UJI COBA

BAB IV IMPLEMENTASI DAN UJI COBA BAB IV IMPLEMENTASI DAN UJI COBA Setelah dilakukan tahap analisis dan perancangan sistem, maka tahap selanjutnya yang harus dilakukan adalah implementasi dan uji coba. Pada tahap ini akan dilakukan pengkodean

Lebih terperinci

DAFTAR PUSTAKA. 2. A. A. Huda, 24 Jam!! Pintar Pemrograman Android, Andi, Yogyakarta, 2012.

DAFTAR PUSTAKA. 2. A. A. Huda, 24 Jam!! Pintar Pemrograman Android, Andi, Yogyakarta, 2012. DAFTAR PUSTAKA 1. Stephanus, HS 2011, Mudah Membuat Aplikasi Android, Yogyakarta, Jawa Tengah, pp. 215-222. 2. A. A. Huda, 24 Jam!! Pintar Pemrograman Android, Andi, Yogyakarta, 2012. 3. N. Safaat, Pemrograman

Lebih terperinci

Badiyanto, S.Kom., M.Kom. PBO java

Badiyanto, S.Kom., M.Kom. PBO java Badiyanto, S.Kom., M.Kom PBO java Apa yang Disebut Java? Bahasa pemrograman berorientasi objek murni yang dibuat berdasarkan kemampuankemampuan terbaik bahasa pemrograman objek sebelumnya (C++, Ada, Simula).

Lebih terperinci

Latihan 2 List Menu Bertingkat

Latihan 2 List Menu Bertingkat Latihan 2 List Menu Bertingkat 1. Buat Project baru dengan cara klik menu File New Android Application Project. 2. Beri nama aplikasi yang akan kita buat pada kolom Application Name. Huruf awal harus capital.

Lebih terperinci

Latihan 1 Menghitung Luas Persegi Panjang

Latihan 1 Menghitung Luas Persegi Panjang Latihan 1 Menghitung Luas Persegi Panjang 1. Buat Project baru dengan cara klik menu File New Android Application Project. 2. Beri nama aplikasi yang akan kita buat pada kolom Application Name. Huruf awal

Lebih terperinci

BAB 5 Android Event Handling Mahardeka Tri Ananta

BAB 5 Android Event Handling Mahardeka Tri Ananta BAB 5 Android Event Handling Mahardeka Tri Ananta deka.kelas@gmail.com Konten Event pada Widget Event Handler Event Listener Event Event adalah suatu cara untuk mengumpulkan data tentang interaksi pengguna

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB VIII. MENAMPILKAN GAMBAR DENGAN VIEW Dosen Pembina : Bella Hardiyana, S. Kom Julian Chandra, S. Kom Gallery and ImageView Views Gallery adalah view yang digunakan untuk

Lebih terperinci

UNIVERSITAS KOMPUTER INDONESIA

UNIVERSITAS KOMPUTER INDONESIA UNIVERSITAS KOMPUTER INDONESIA BAB XI. DATABASE LOKAL ANDROID (SQLITE) Dosen Pembina : Bella Hardiyana, S. Kom, M. Kom Sistem database yang digunakan oleh Android adalah SQLite. SQLite adalah database

Lebih terperinci

PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF SI 12 A

PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF SI 12 A PEMROGRAMAN MOBILE PRAKTIKUM 11 ( DATABASE II ) Disusun oleh : CYNTHIA STEFFI CLIFF 12.12.0037 SI 12 A http://cliffnewbie.wordpress.com/ SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER AMIKOM PURWOKERTO

Lebih terperinci

BAB IV IMPLEMENTASI DAN PEMBAHASAN. API yang digunakan dalam sistem adalah MapBox. Untuk menampilkan

BAB IV IMPLEMENTASI DAN PEMBAHASAN. API yang digunakan dalam sistem adalah MapBox. Untuk menampilkan BAB IV IMPLEMENTASI DAN PEMBAHASAN 4.1 Implementasi dan Uji Coba Sistem Implementasi program berdasarakan rancangan sistem yang dibuat meliputi. 4.1.1 Pemetaan Lokasi Dealer Motor Yamaha API yang digunakan

Lebih terperinci

PERTEMUAN KE 9 Camera dan Multimedia

PERTEMUAN KE 9 Camera dan Multimedia PERTEMUAN KE 9 Camera dan Multimedia A. TUJUAN Mahasiswa diharapkan dapat memahami dan mengetahui tentang komponen widget, yaitu Camera dan Multimedia yang digunakan pada aplikasi mobile. B. TEORI SINGKAT

Lebih terperinci

Tutorial Membuat Aplikasi Web View Android pada Eclipse

Tutorial Membuat Aplikasi Web View Android pada Eclipse Tutorial Membuat Aplikasi Web View Android pada Eclipse 1. Membuat Project Baru a. Langkah awal pastinya adalah membuat project baru: File-New-Project b. Kemudian klik Next da nisi informasi yang dibutuhkan

Lebih terperinci

BAB IV HASIL DAN PEMBAHASAN

BAB IV HASIL DAN PEMBAHASAN 45 BAB IV HASIL DAN PEMBAHASAN 4.1 Implementasi Pada tahap ini akan dibahas tentang pembuatan Aplikasi Crowdsourcing Estimasi Waktu Kedatangan Bus TransJogja Berbasis Android. Pada tahap ini juga aplikasi

Lebih terperinci

Gambar 4.1. Tampilan splashscreen aplikasi Saat pertama kali aplikasi di jalankan maka akan tampil halaman awal seperti gamabar 4.1.

Gambar 4.1. Tampilan splashscreen aplikasi Saat pertama kali aplikasi di jalankan maka akan tampil halaman awal seperti gamabar 4.1. BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1. Implementasi Implementasi program merupakan tahap penerapan sistem yang telah dirancang. Dalam tahap implementasi juga dijelaskan mengenai penerapan aplikasi yang

Lebih terperinci

CodeLab : ListView dengan SwipeRefreshLayout dan LoadMore

CodeLab : ListView dengan SwipeRefreshLayout dan LoadMore CodeLab : ListView dengan SwipeRefreshLayout dan LoadMore Deskripsi Adakalanya ketika kita menginginkan aplikasi dapat melakukan load data secara bertahap (per-10 data misalnya) nah ini sudah menjadi case

Lebih terperinci

BAB IV IMPLEMENTASI DAN PENGUJIAN

BAB IV IMPLEMENTASI DAN PENGUJIAN BAB IV IMPLEMENTASI DAN PENGUJIAN Setelah melakukan analisis dan perancangan terhadap aplikasi check point dan penghitung jumlah pada bus AKAP berbasis Android. Pada bab ini akan dibahas mengenai implementasi

Lebih terperinci

Membuat Aplikasi Sederhana Hello World untuk Android

Membuat Aplikasi Sederhana Hello World untuk Android Membuat Aplikasi Sederhana Hello World untuk Android by webmaster - Monday, December 21, 2015 http://ahmadarifudin.student.akademitelkom.ac.id/?p=50 Dalam membuat aplikasi android diperlukan Java SE Development

Lebih terperinci