BAB IV
IMPLEMENTASI DAN PENGUJIAN
Setelah melakukan analisis dan perancangan terhadap aplikasi ini, maka tahap selanjutnya adalah tahap implementasi dan pengujian terhadap aplikasi. Pada tahap implementasi ini terdapat empat pembahasan, yaitu:
1. Implementasi pembuatan basis data.
2. Implementasi aplikasi yang meliputi perancangan antarmuka dan proses pengkodean program.
4.1 IMPLEMENTASI PEMBUATAN BASIS DATA
Implementasi pembuatan basis data dibuat menggunakan antarmuka phpMyAdmin via browser. Gambar-gambar dibawah ini menampilkan hasil implementasi pembuatan tabel-tabel terdiri dari 5 tabel fungsional yaitu tbl_pasien, tbl_dokter, tbl_resepsionis, tbl_antrian, tbl_periksa. Penjelasan dari tabel-tabel tersebut telah dijelaskan pada tahap analisis dan perancangan bab sebelumnya.
Gambar 4.1 Struktur Tabel Admins
Gambar 4.3 Struktur Tabel Kustomer
Gambar 4.4 Struktur Tabel Orders
Gambar 4.5 Struktur Tabel Orders_detail
Gambar 4.7 Struktur Tabel Produk
4.2 IMPLEMENTASI ANTARMUKA SISTEM 4.2.1 Halaman Login Web
Gambar 4.9 Halaman Login Web
Halaman login web adalah halaman yang digunakan oleh admin untuk
login ke dalam sistem. Jika tidak valid maka akan menampilkan pesan login salah.
4.2.2 Halaman Utama Web
Gambar 4.10 Halaman Utama Web
Halaman utama web adalah halaman yang tampil setelah pengguna berhasil melakukan login. Di halaman ini tampak menu-menu untuk admin. Terdapat menu Master dan Transaksi.
4.2.3 Halaman Master Produk
Gambar 4.11 Halaman Produk
Halaman Ini adalah halaman untuk menampilkan daftar produk yang dilihat oleh Admin. Di halaman ini Admin dapat melakukan tambah produk, ubah data produk, atau hapus data produk. Data tersebut akan tersimpan di database dan ditampilkan di menu Katalog pada aplikasi Android.
4.2.4 Halaman Tambah Produk Baru
Gambar 4.12 Halaman Tambah Produk Baru
Halaman ini adalah halaman yang digunakan untuk menambah produk baru.
4.2.5 Halaman Ubah Data Produk
Gambar 4.13 Halaman Ubah Data Produk
Halaman ini adalah halaman yang digunakan untuk mengubah data produk. Perubahan akan tersimpan di basis data.
4.2.6 Halaman Master Propinsi
Gambar 4.14 Halaman Propinsi
Halaman Ini adalah halaman untuk menampilkan daftar propinsi yang dilihat oleh Admin. Di halaman ini Admin dapat melakukan tambah propinsi, ubah data propinsi, atau hapus data propinsi. Data tersebut akan tersimpan di database dan ditampilkan di aplikasi Android saat proses pemesanan produk oleh pelanggan.
4.2.7 Halaman Tambah Propinsi Baru
Gambar 4.15 Halaman Tambah Propinsi Baru
Halaman ini adalah halaman yang digunakan untuk menambah propinsi baru.
4.2.8 Halaman Ubah Data Propinsi
Gambar 4.16 Halaman Ubah Data Propinsi
Halaman ini adalah halaman yang digunakan untuk mengubah nama Propinsi. Perubahan akan tersimpan di basis data.
4.2.9 Halaman Master Ongkir
Gambar 4.17 Halaman Ongkos Kirim
Halaman Ini adalah halaman untuk menampilkan daftar ongkos kirim yang dilihat oleh Admin. Di halaman ini Admin dapat melakukan tambah ongkos kirim, ubah data ongkos kirimi, atau hapus data ongkos kirim. Data tersebut akan tersimpan di database dan ditampilkan di aplikasi Android saat proses pemesanan produk oleh pelanggan.
4.2.10 Halaman Tambah Ongkos Kirim Baru
Gambar 4.18 Halaman Tambah Ongkos Baru
Halaman ini adalah halaman yang digunakan untuk menambah daftar ongkos kirim baru.
4.2.11 Halaman Ubah Data Ongkos Kirim
Gambar 4.19 Halaman Ubah Data Propinsi
Halaman ini adalah halaman yang digunakan untuk mengubah data ongkos kirim. Perubahan akan tersimpan di basis data.
4.2.12 Halaman Transaksi Pemesanan
Gambar 4.20 Halaman Pemesanan
Halaman Ini adalah halaman untuk menampilkan daftar pesanan yang dilihat oleh Admin. Di halaman ini Admin dapat melakukan perubahan status pemesanan dan melihat detail pemesanan.
4.2.13 Halaman Ubah Status Pemesanan
Gambar 4.21 Halaman Ubah Status Pemesanan
Halaman ini adalah halaman yang digunakan untuk mengubah status.
4.2.14 Halaman Detail Pemesanan
Gambar 4.22 Halaman Detail Pemesanan
Halaman ini adalah halaman yang digunakan Admin untuk melihat detail pemesanan.
4.2.15 Halaman Laporan
Gambar 4.23 Halaman Laporan
Halaman ini adalah halaman yang digunakan Admin untuk melihat laporan pemesanan yang sudah Lunas.
4.2.16 Splash Screen
Spalsh screen adalah tampilan awal saat pengguna pertama kali menjalankan aplikasi di perangkat android.
4.2.17 Halaman Utama
Gambar 4.25 Halaman Utama
Halaman ini adalah halaman utama aplikasi berupa katalok produk yang bias dipilih oleh user untuk dibeli. Jika salah satu daftar produk dipilih maka tampilan akan merujuk ke halaman Detail Produk.
Class yang digunakan untuk menampilkan daftar produk di menu katalog adalah class AmbilData dari file Katalog.java dengan script berikut:
class AmbilData extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(Katalog.this);
pDialog.setMessage("Mohon tunggu...");
pDialog.setIndeterminate(false);
pDialog.setCancelable(false);
pDialog.show(); }
protected String doInBackground(String... args) {
List<NameValuePair> params = new ArrayList<NameValuePair>(); JSONObject json = jParser.makeHttpRequest(url_produk,"GET",params);
try {
string_json = json.getJSONArray("produk");
for (int i = 0; i < string_json.length(); i++) {
String id_produk = c.getString(TAG_ID); String produk = c.getString(TAG_PRODUK);
String harga = "Harga : " + c.getString(TAG_HARGA); String link_image = c.getString(TAG_GAMBAR); HashMap<String, String> map = new HashMap<String, String>(); map.put(TAG_ID, id_produk); map.put(TAG_PRODUK, produk); map.put(TAG_HARGA, harga); map.put(TAG_GAMBAR, link_image); DaftarProduk.add(map); } } catch (JSONException e) { e.printStackTrace(); } return null; }
protected void onPostExecute(String file_url) {
pDialog.dismiss();
runOnUiThread(new Runnable() {
public void run() {
SetListViewAdapter(DaftarProduk);
} }); }
}
4.2.18 Halaman Detail Produk
Gambar 4.26 Halaman Detail Produk
Halaman ini adalah halaman untuk pengguna melihat informasi terkait produk yang dipilih di halaman Produk berupa deskripsi dan harga produk. Pada halaman ini terdapat tombol Beli yang apabila ditekan maka produk akan
Class yang digunakan untuk menampilkan detail produk adalah class
AmbilDetailProduk dari file DetailProduk.java dengan script berikut:
class AmbilDetailProduk extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(DetailProduk.this);
pDialog.setMessage("Mohon Tunggu ... !");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show(); }
protected String doInBackground(String... params) {
try {
List<NameValuePair> params1 = new ArrayList<NameValuePair>(); params1.add(new BasicNameValuePair("idproduk",idproduk));
JSONObject json = jsonParser.makeHttpRequest(
url_detail_produk, "GET", params1);
string_json = json.getJSONArray("produk");
runOnUiThread(new Runnable() {
public void run() {
ImageView thumb_image = (ImageView) findViewById(R.id.imageView1); TextView produk = (TextView) findViewById(R.id.produk);
TextView deskripsi = (TextView) findViewById(R.id.deskripsi); TextView toko = (TextView) findViewById(R.id.toko);
TextView harga = (TextView) findViewById(R.id.harga);
try {
// ambil objek member pertama dari JSON Array
JSONObject ar = string_json.getJSONObject(0);
String produk_d = ar.getString("nama");
String deskripsi_d = ar.getString("deskripsi"); String toko_d = ar.getString("toko");
String harga_d = ar.getString("harga"); produk.setText(produk_d);
deskripsi.setText(deskripsi_d); toko.setText("Toko : " + toko_d);
harga.setText("Harga : Rp."+ harga_d + ",-");
ImageLoader imageLoader = new ImageLoader(getApplicationContext());
imageLoader.DisplayImage(ar.getString(TAG_GAMBAR),thumb_image); } catch (JSONException e) {
// TODO Auto-generated catch block
e.printStackTrace(); } } }); } catch (JSONException e) { e.printStackTrace(); } return null; }
protected void onPostExecute(String file_url) {
pDialog.dismiss(); }
4.2.19 Halaman Keranjang Belanja
Gambar 4.27 Halaman Keranjang Belanja
Halaman ini adalah halaman yang digunakan untuk melihat detail pesanan produk yang di pesan oleh pengguna berupa jumlah item, total berat item dan subjumlah harga produk. Pada halaman ini terdapat 2 tombol yaitu tombol Lanjutkan Belanja yang apabila dipilih maka pengguna akan diarahkan kembali ke halaman Katalog produk dan tombol Check Out untuk melanjutkan transaksi yang apabila dipiliha maka pengguna akan diarahkan ke halaman Formulir Pelanggan. Apabila pelanggan ingin mengupdate jumlah prooduk yang akan dipesan, maka pelanggan harus sentuh gambar produk yang ingin diupdate sehingga akan diarahkan ke halaman Update Belanja.
Gambar 4.28 Halaman Update Belanja
Class yang digunakan untuk memasukkan produk ke dalam
keranjang belanja adalah class SimpanKeranjang dari file DetailProduk.java
dengan script berikut:
class simpanKeranjang extends AsyncTask<String, String, String> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog = new ProgressDialog(DetailProduk.this);
pDialog.setMessage("Keranjang Belanja..silahkan tunggu");
pDialog.setIndeterminate(false);
pDialog.setCancelable(true);
pDialog.show(); }
protected String doInBackground(String... args) {
session.checkSession();
HashMap<String, String> user = session.getUserDetails();
final String sesid = user.get(SessionManager.KEY_NAME);
String id_produk = idproduk;
String session = sesid;
// Membangun Parameters
List<NameValuePair> params = new ArrayList<NameValuePair>(); params.add(new BasicNameValuePair("id_produk", id_produk)); params.add(new BasicNameValuePair("session", session));
// mengirim data yang diupdate lewat request http // Dengan method POST
JSONObject json = jsonParser.makeHttpRequest(url_tambah_keranjang,"POST",
params);
// cek json sukses tag (apakah 1 atau 0)
try {
int sukses = json.getInt(TAG_SUKSES);
// sukses mengupdate data
Intent i = new Intent(DetailProduk.this, Keranjang.class);
startActivity(i);
// kirim result code 100 untuk notifikasi kalau simpan dilaksanakan
setResult(100, i); finish();
} else {
// gagal update data
} } catch (JSONException e) { e.printStackTrace(); } return null; }
protected void onPostExecute(String file_url) {
pDialog.dismiss(); }
}
4.2.20 Halaman Fromulir Pelanggan
Gambar 4.29 Halaman Formulir Pelanggan
Halaman ini adalah halaman yang digunakan untuk mengisi data pemesan seperti nama, alamat lengkap dan nomor telepon untuk menentukan berapa jumlah biaya pengiriman pesanan. Pada halaman ini terdapat tombol simpan yang apabila dipilih maka akan menyimpan pesanan dan membentuk bukti pemesanan berupa file pdf yang secara otomatis akan tersimpan di folder xyzhomeindustry pada penyimpanan perangkat Android.
Class yang digunakan untuk menyimpan adalah class SimpanTransaksi dari file PelangganTrans.java dengan script berikut:
private class SimpanTransaksi extends AsyncTask<Void, Void, Void> {
protected void onPreExecute() {
super.onPreExecute();
pDialog3 = new ProgressDialog(PelangganTrans.this);
pDialog3.setMessage("Simpan Transaksi ..");
pDialog3.setCancelable(false);
pDialog3.show(); }
@Override
protected Void doInBackground(Void... arg0) {
session.checkSession();
HashMap<String, String> user = session.getUserDetails();
final String idsesi = user.get(SessionManager.KEY_NAME);
int sukses;
Intent in = getIntent();
// ambil berat produk dari intent sebelumnya
String berat = in.getStringExtra("berat");
String namapel = nama.getText().toString();
String alamatpel = alamat.getText().toString();
String telponpel = telpon.getText().toString();
String id_kota = txtKabupaten.getText().toString();
try {
List<NameValuePair> params1 = new ArrayList<NameValuePair>(); params1.add(new BasicNameValuePair("namapel",namapel)); params1.add(new BasicNameValuePair("alamatpel",alamatpel)); params1.add(new BasicNameValuePair("telponpel",telponpel)); params1.add(new BasicNameValuePair("id_kota",id_kota)); params1.add(new BasicNameValuePair("idsesi",idsesi)); params1.add(new BasicNameValuePair("berat",berat));
JSONObject json2 = jParser.makeHttpRequest(url_simpan_trans,"POST", params1);
Log.d("Respon ", json2.toString());
// cek json sukses tag (apakah 1 atau 0)
sukses = json2.getInt(TAG_SUKSES);
if (sukses == 1) {
// sukses menyimpan transaksi
Log.d("Transaksi tersimpan!", json2.toString());
//Intent i = new Intent(PelangganTrans.this, SplashActivity.class);
//startActivity(i);
//finish();
} else {
// gagal update data
} } catch (JSONException e) { e.printStackTrace(); } return null; } @Override
protected void onPostExecute(Void result) {
pDialog3.dismiss(); }
Gambar 4.30 Simpan Bukti Pemesanan
Class yang digunakan untuk menampilkan data pesanan pada file bukti
pesanan adalah class CetakTransaksi dari file PelangganTrans.java dengan script
berikut:
private class CetakTransaksi extends AsyncTask<Void, Void, Void> {
@Override
protected void onPreExecute() {
super.onPreExecute();
pDialog4 = new ProgressDialog(PelangganTrans.this);
pDialog4.setMessage("Mencetak PDF ..");
pDialog4.setCancelable(false);
pDialog4.show(); }
@Override
protected Void doInBackground(Void... arg0) {
session.checkSession();
HashMap<String, String> user = session.getUserDetails();
final String idsesi = user.get(SessionManager.KEY_NAME); List<NameValuePair> params1 = new ArrayList<NameValuePair>(); params1.add(new BasicNameValuePair("idsesi",idsesi));
final JSONObject json3 = jParser.makeHttpRequest(url_cetak_trans,"POST", params1);
Log.d("Respon ", json3.toString());
if (json3 != null) {
runOnUiThread(new Runnable() {
public void run() {
try {
String idorder = json3.getString(TAG_IDORDER); String namapel = json3.getString(TAG_NAMA); String alamatpel = json3.getString(TAG_ALAMAT); String telponpel = json3.getString(TAG_TELPON); String subtotal = json3.getString(TAG_SUBTOTAL); String ongkir = json3.getString(TAG_ONGKIR);
String grandtotal = json3.getString(TAG_GRANDTOTAL);
try {
Document doc = new Document();
final String path =
Environment.getExternalStorageDirectory().getAbsolutePath() +
"/xyzhomeindustry";
File dir = new File(path);
if(!dir.exists())
dir.mkdirs();
Log.d("PDFCreator", "PDF Path: " + path); String fpath = idsesi + ".pdf";
File file = new File(dir, fpath);
FileOutputStream fOut = new FileOutputStream(file);
PdfWriter.getInstance(doc, fOut);
//open the document
doc.open();
/* Create Paragraph and Set Font */
Paragraph p1 = new Paragraph("BUKTI PEMESANAN");
/* Create Set Font and its Size */
Font paraFont= new Font(Font.HELVETICA);
paraFont.setSize(17);
p1.setAlignment(Paragraph.ALIGN_CENTER); p1.setFont(paraFont);
//add paragraph to document
doc.add(p1);
/* Create Paragraph and Set Font */
Paragraph p2 = new Paragraph("XYZ Home Industry");
/* Create Set Font and its Size */
Font paraFont2= new Font(Font.HELVETICA);
paraFont2.setSize(15);
p2.setAlignment(Paragraph.ALIGN_CENTER); p2.setFont(paraFont2);
//add paragraph to document
doc.add(p2);
/* Inserting Image in PDF */
Bitmap bitmap = BitmapFactory.decodeResource(getBaseContext().getResources(), R.drawable.xyz); bitmap.compress(Bitmap.CompressFormat.JPEG, 100 , stream); Image.getInstance(stream.toByteArray()); myImg.setAlignment(Image.MIDDLE);
//add image to document
doc.add(myImg);
/* Create Paragraph and Set Font */
Paragraph p4 = new Paragraph(" Nomor Order = "+idorder);
/* Create Set Font and its Size */
Font paraFont4= new Font(Font.HELVETICA);
paraFont4.setSize(14);
p4.setAlignment(Paragraph.ALIGN_CENTER); doc.add(p4);
/* Create Paragraph and Set Font */
Paragraph p5 = new Paragraph(" Nama Pemesan = "+namapel)
/* Create Set Font and its Size */
Font paraFont5= new Font(Font.HELVETICA);
paraFont5.setSize(14);
p5.setAlignment(Paragraph.ALIGN_CENTER); p5.setFont(paraFont5);
//add paragraph to document
doc.add(p5);
/* Create Paragraph and Set Font */
Paragraph p6 = new Paragraph(" Alamat = "+alamatpel);
/* Create Set Font and its Size */
Font paraFont6= new Font(Font.HELVETICA);
paraFont6.setSize(14);
p6.setAlignment(Paragraph.ALIGN_CENTER); p6.setFont(paraFont6);
//add paragraph to document
doc.add(p6);
/* Create Paragraph and Set Font */
Paragraph p7 = new Paragraph(" Telpon = "+telponpel);
/* Create Set Font and its Size */
Font paraFont7= new Font(Font.HELVETICA);
paraFont7.setSize(14);
p7.setAlignment(Paragraph.ALIGN_CENTER); p7.setFont(paraFont7);
//add paragraph to document
doc.add(p7);
/* Create Paragraph and Set Font */
Paragraph p8 = new Paragraph(" "); p8.setAlignment(Paragraph.ALIGN_CENTER); doc.add(p8);
float[] columnWidths = {0.5f, 5f, 1.2f, 1.5f, 2f};
PdfPTable table = new PdfPTable(columnWidths);
PdfPCell c1 = new PdfPCell(new Phrase("No")); c1.setHorizontalAlignment(Element.ALIGN_LEFT); table.addCell(c1);
c1 = new PdfPCell(new Phrase("Nama Produk")); c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);
c1 = new PdfPCell(new Phrase("Harga"));
c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);
c1 = new PdfPCell(new Phrase("Qty"));
c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);
c1 = new PdfPCell(new Phrase("Total"));
c1.setHorizontalAlignment(Element.ALIGN_CENTER); table.addCell(c1);
string_cetak = json3.getJSONArray("trans");
int a=1;
for (int i = 0; i < string_cetak.length(); i++) {
JSONObject c = string_cetak.getJSONObject(i);
String namabuku = c.getString("namabuku"); String hargabuku = c.getString("harga"); String quantity = c.getString("qty");
String totalharga = c.getString("totharga"); String count = String.valueOf(a);
table.addCell(hargabuku); table.addCell(quantity); table.addCell(totalharga); a++; } table.addCell(""); table.addCell(""); table.addCell(""); table.addCell("Subtotal"); table.addCell(subtotal); table.addCell(""); table.addCell(""); table.addCell("");
table.addCell("Total Ongkir"); table.addCell(ongkir);
table.addCell(""); table.addCell(""); table.addCell("");
table.addCell("Grand Total"); table.addCell(grandtotal); doc.add(table);
/* Create Paragraph and Set Font */
Paragraph p9 = new Paragraph(
"--- ---");
/* Create Set Font and its Size */
paraFont2.setSize(15);
p9.setAlignment(Paragraph.ALIGN_CENTER);
//add paragraph to document
doc.add(p9);
/* Create Paragraph and Set Font */
Paragraph p10 = new Paragraph("*Ini adalah bukti pemesanan Anda,
Silahkan transfer ke norek. XXXXXXXX Bank BCA.");
/* Create Set Font and its Size */
paraFont2.setSize(15);
p10.setAlignment(Paragraph.ALIGN_CENTER);
//add paragraph to document
doc.add(p10);
/* Create Paragraph and Set Font */
Paragraph p11 = new Paragraph("*Jika dalam 3 hari tidak melakukan
pembayaran, maka pemesanan dianggap hangus.");
/* Create Set Font and its Size */
paraFont2.setSize(15);
p11.setAlignment(Paragraph.ALIGN_CENTER);
//add paragraph to document
doc.add(p11); doc.close();
String cpath = idsesi + ".pdf";
//Buka file pdf otomatis dengan pdf reader
File files= new
File(Environment.getExternalStorageDirectory().getAbsolutePath() +
"/xyzhomeindustry/" + cpath);
if (files.exists()){
Uri paths = Uri.fromFile(files);
Intent intent = new Intent(Intent.ACTION_VIEW);
intent.setDataAndType(paths, "application/pdf"); intent.setFlags(Intent.FLAG_ACTIVITY_CLEAR_TOP); try { startActivity(intent); finish(); session.destroySession();
Toast.makeText(getApplicationContext(), "Bukti Pemesanan
tersimpan pada SDCARD Anda dalam folder
xyzhomeindustry...", Toast.LENGTH_LONG).show(); }
catch (ActivityNotFoundException e) { finish();
session.destroySession();
Toast.makeText(PelangganTrans.this, "Tidak Ada Aplikasi
untuk membuka File PDF", Toast.LENGTH_SHORT).show();
Toast.makeText(getApplicationContext(), "Bukti Pemesanan
tersimpan pada SDCARD Anda dalam folder
xyzhomeindustry...", Toast.LENGTH_LONG).show(); }
}
} catch (DocumentException de) {
Log.e("PDFCreator", "DocumentException:" + de); } catch (IOException e) {
Log.e("PDFCreator", "ioException:" + e); } } catch (JSONException e) { e.printStackTrace(); } } }); } return null; } @Override
protected void onPostExecute(Void result) {
pDialog4.dismiss(); }
}
4.3 PENGUJIAN
Pengujian yang dilakukan di tahap akhir pembuatan aplikasi klinik gigi menggunakan metode black box. Pengujian dilakukan terhadap tombol-tombol fungsional yang ada di aplikasi. Setiap tombol diuji kesesuaian hasil keluarannya dan tidak adanya error yang muncul. Keseluruhan pengujian dirangkum dalam tabel skenario pengujian yang terdiri dari kolom skenario, bagian yang diuji, fungsi, hasil yang diinginkan, dan status.
4.3.1 Data Hasil Pengujian
No. Skenario Hasil yang Diinginkan Status
1 Login pengguna web 1. Jika benar akan diteruskan ke halaman
Utama.
2. Jika salah maka ada peringatan dan diminta login kembali.
3.
Sukses
2 Tambah produk 1. Semua isian harus terisi, kecuali gambar
produk. Jika berhasil data produk bertambah.
Sukses
3 Ubah produk 1. Data dapat diubah, kolom tidak boleh
kosong, kecuali gambar produk. 2. Jika berhasil data produk berubah.
Sukses
4 Hapus produk 3. Data produk dapat diubah.
Jika berhasil data produk berkurang.
5 Tambah propinsi 2. Semua isian harus terisi. Jika berhasil data propinsi bertambah.
Sukses
6 Ubah propinsi 4. Data dapat diubah, kolom tidak boleh
kosong.
5. Jika berhasil data propinsi berubah.
Sukses
7 Hapus propinsi 6. Data produk dapat diubah.
Jika berhasil data propinsi berkurang.
Sukses
8 Tambah ongkos kirim 3. Semua isian harus terisi. Jika berhasil data ongkos kirim bertambah.
Sukses
9 Ubah ongkos kirim 7. Data dapat diubah, kolom tidak boleh
kosong.
8. Jika berhasil data ongkos kirim berubah.
Sukses
10 Hapus ongkos kirim 9. Data produk dapat diubah.
Jika berhasil data ongkos kirim berkurang.
Sukses
11 Melihat data pemesanan
10. Terdapat daftar data pemesanan pelanggan Sukses
12 Ubah status pesanan 11. Mengubah status sesuai status pesanan berupa menu drop list, jika disimpan maka status pesanan akan berubah.
Sukses
13 Detail data pesanan 12. Terdapat detail data pesanan berupa ID order, Nama, Alamat dan Telepon Pemesan, serta daftar produk pesanan
Sukses
14 Logout 13. Muncul pop up pemberitahuan bahwa user
telah log out dan kembali ke menu login
Sukses
No. Skenario Hasil yang Diinginkan Status
1 Buka aplikasi mobile Muncul tampilan Splash Screen berupa logo XYZ Home Industry. Setelah 5 detik maka muncul katalog produk
Sukses
2 Pilih produk Saat klik gambar produk maka muncul
detail produk, terdapat tombol Beli
Sukses
3 Beli produk pilihan Saat klik tombol Beli pada detail produk
maka muncul tampilan keranjang belanja, terdapat tombol Lanjut Belanja dan tombol Checkout
Sukses
4 Ubah jumlah pesanan produk pilihan
Saat menyentuh gambar produk maka muncul menu Update Belanja yang berisi pilihan quantity dari 1 sampai 100,
kemudian pilih tombol update maka jumlah produk pada keranjang belanja akan
terupdate.
Sukses
5 Hapus pesanan produk pilihan
Saat memilih tombol Hapus pada menu Update Belanja maka produk pada keranjang belanja akan berkurang
Sukses
6 CheckOut pemesanan Saat memilih tombol CheckOut pada menu keranjang belanja maka muncul menu formulir pemesanan
Tabel 4.2. Tabel Pengujian Aplikasi Android
4.3.2 Analisis Hasil
Setelah melakukan pengujian dengan menggunakan metode black box dan menjalankan program aplikasi toko online berbasis web dan android, setiap menu berjalan dengan baik dan fungsi-fungsi sesuai dengan rencana. Pengujian berhasil dilakukan dengan browser Google Chrome 47.0.2526.106. Admin berhasil melakukan login, menambah dan mangubah serta menghapus data produk, propinsi dan ongkos kirim. Pengguna berhasil melakukan pemesanan di aplikasi berbasis Android.
7 Simpan pemesanan Setelah mengisi data pada formulir
pemesanan dan klik tombol Simpan, bukti pemesanan tersimpan di dalam folder xyzhomeindustry