• Tidak ada hasil yang ditemukan

BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN. Berikut ini spesifikasi kebutuhan (system requirement) dari aplikasi

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN. Berikut ini spesifikasi kebutuhan (system requirement) dari aplikasi"

Copied!
21
0
0

Teks penuh

(1)

20

BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1. Analisa Kebutuhan Software

A. Tahapan Analisis

Berikut ini spesifikasi kebutuhan (system requirement) dari aplikasi

peLayanan masyarakat yaitu:

Halaman Masyarakat:

A1. Masyarakat melakukan daftar akun

A2. Masyarakat melakukan login dengan input Username dan password.

A3. Masyarakat input jenis laporan

Halaman Bagian Layanan:

B1. Bagian Layanan melakukan login dengan input Username dan password.

B2. Bagian Layanan melakukan verifikasi laporan baru

B3. Bagian Layanan lihat data laporan masyarakat

Halaman Bagian Penindakan:

C1. Bagian Penindakan

melakukan login dengan input Usernname dan

password.

C2. Bagian Penindakan melakukan update data laporan

C3. Bagian Penindakan lihat data laporan

(2)

B. Use Case Diagram

1. Use Case Diagram Masyarakat Input Laporan

Gambar IV.1 Use Case Diagram Masyarakat Input Laporan

Deskripsi Use Case Diagram Masyarakat Input Laporan:

Tabel IV.1

Deskripsi Use Case Masyarakat Input Laporan

Use Case Name

Input Laporan

Requirements

A1,A2,A3

Goal

Masyarakat dapat input Laporan

Pre-condition

Masyarakat daftar,login

Post-condition

Masyarakat simpan input Laporan

Failed end condition

Masyarakat gagal simpan

Primary Actor

Masyarakat

Main Flow/Basic Path

1. Masyarakat melakukan daftar akun

2. Masyarakat melakukan login

3. Masyarakat Input data Laporan

Invariant

-

uc Masyarakat

Masyarakat

Login

Daftar Akun

Input Jenis Laporan

Input Username dan Passw ord

(3)

2. Use Case Diagram Halaman Bagian Layanan

Gambar IV.2 Use Case Diagram Halaman Layanan

Deskripsi Use Case Diagram Halaman Layanan:

Tabel IV.2

Use Case Diagram Halaman Layanan

Use Case Name

Halaman layanan

Requirements

B1,B2,B3

Goal

Layanan dapat verifikasi dan menampilkan data

laporan

Pre-Conditions

Layanan melakukan login

Post-Conditions

Data laporan terverifikasi

Failed end condition

Gagal verifikasi

Primary Actors

Layanan

Main Flow / Basic Path

1. Layanan melakukan login

2. Layanan verifikasi laporan baru

3. Layanan lihat data laporan masyarakat

Alternate Flow/Invariant 1

-

Invarian 2

-

uc Layanan

Layanan

login

Verifikasi Laporan Baru

Lihat Data Laporan Masyarakat

Input Username dan Passw ord

(4)

3. Use Case Diagram Halaman Penindakan

Gambar IV.3 Use Case Diagram Halaman Penindakan

Deskripsi Use Case Diagram Halaman Penindakan:

Tabel IV.3

Use Case Diagram Halaman Penindakan

Use Case Name

Halaman Penindakan

Requirements

C1,C2,C3

Goal

Penindakan dapat update Laporan

Pre-Conditions

Penindakan melakukan login

Post-Conditions

Data Laporan terupdate

Failed end condition

Gagal update Laporan

Primary Actors

Penindakan

Main Flow / Basic Path

1. Penindakan melakukan login

2. Penindakan update data Laporan

3. Penindakan lihat data Laporan

Alternate Flow/Invariant 1

-

Invarian 2

-

uc Penindakan

Penindakan

login

Update Data Laporan

Lihat Data laporan

Input Username dan Passw ord

(5)

C. Activity Diagram

1. Activity Diagram Halaman Masyarakat Input Laporan

Gambar IV.4 Activity Diagram Halaman Masyarakat Input Laporan

act Sistem Layanan Masyarakat

Masyarakat

Mulai

Buka Aplikasi

input username

dan password Sesuai?

Masuk sistem layanan Pilih Menu Laporan Kejadian Selesai Input Data Simpan Data Aplikasi Mobile [Tidak] [Ya]

(6)

2. Activity Diagram Layanan Verifikasi Laporan

Gambar IV.5 Activity Diagram Layanan Verifikasi Laporan

act Sistem Layanan Masyarakat

Bagian Layanan

Mulai

Buka Aplikasi

input username

dan password Sesuai?

Masuk sistem layanan Pilih Menu Laporan Kejadian Selesai Verifikasi Data Laporan Simpan Data Aplikasi Mobile [Tidak] [Ya]

(7)

3. Activity Diagram Penindakan Update Data Laporan

Gambar IV.6 Activity Diagram Penindakan Update Data Laporan

act Sistem Layanan Masyarakat

Bagian Penindakan

Mulai

Buka Aplikasi

input username

dan password Sesuai?

Masuk sistem layanan Pilih Menu Laporan Kejadian Selesai Update Data Laporan Simpan Data Aplikasi Mobile [Tidak] [Ya]

(8)

4.2. Desain

4.2.1. Database

1. Entity Relationship Diagram

Tb_Pengguna Isi Tb_Kejadian mengelola Tb_Petugas

Nama_pengguna kronologi jenis Photo_kejadian Tgl_kejadian No_kejadian photo password email Id_pengguna password No_telepon Jenis_kelamin Nama_petugas No_induk status Id_pengguna photo Akses No_induk 1 1 1 1

Gambar IV.7 Entity Relationship Diagram

2. Logical Record Structure

Penggambaran hubungan antar tabel dalam website ini dapat di gambarkan

sebagai berikut:

Tb_pengguna PK Id_pengguna Nama_pengguna email password photo Tb_petugas PK No_induk Nama_petugas Jenis_kelamin No_telepon Password Akses Photo Tb_kejadian PK No_kejadian Tgl_kejadian Photo_kejadian Jenis Kronologi status Id_pengguna No_induk

Gambar IV.8. Logical Record Structure

3. Spesifikasi File

a. Nama file

: Tabel Pengguna

Akronim

: tb_pengguna.myd

Fungsi

: Untuk menyimpan data pengguna

Tipe

: File master

(9)

Panjang Karakter : 121 karakter

Akses file

: Random (Acak)

Kunci field

: id_pengguna

Tabel IV.4. Spesifikasi File Tabel Pengguna

No Elemen Data

Akronim

Type

Size

Ket

1

Id_pengguna

Id_pengguna

Int

11

Primary key

2

Nama_pengguna Nama_pengguna

Varchar

60

3

email

email

Text

-

4

password

password

Varchar

50

5

photo

photo

Text

-

b. Nama file

: Tabel Petugas

Akronim

: Tb_petugas.myd

Fungsi

: Untuk Menyimpan Data Petugas

Tipe

: File Master

Organisasi file

: Index sequential

Panjang Karakter : 93 karakter

Akses file

: Random (Acak)

Kunci field

: No_induk

Tabel IV.5. Spesifikasi File Tabel Petugas

No

Elemen Data

Akronim

Type

Size

Ket

1

No_induk

No_induk

Varchar

20

Primary Key

2

Nama_petugas

Nama_petugas

Varchar

60

3

Jenis_kelamin

Jenis_kelamin

Enum

„Laki-Laki‟,‟Perm

puan‟

-

4

No_telepon

No_telepon

Varchar

13

5

Password

Password

Text

-

6

Akses

Akses

Enum

„Layanan‟,‟

Penindakan‟

7

Photo

Photo

Text

-

c. Nama file

: Tabel Kejadian

Akronim

: Tb_kejadian.myd

Fungsi

: Untuk Menyimpan Data Laporan

Tipe

: File Transaksi

Organisasi file

: Index sequential

Panjang Karakter : 103 karakter

Akses file

: Random (Acak)

Kunci field

: no_Laporan

Tabel IV.6. Spesifikasi File Tabel Laporan

(10)

1

no_Laporan

No_kejadian

Int

11

Primary Key

2

Nama_Laporan

Tgl_kejadian

Varchar

20

3

Deskripsi

Photo_kejadian

Text

30

4

Tgl_mulai

Jenis

Date

-

5

Tgl_selesai

Kronologi

Date

-

6

Nilai_Laporan

Id_pengguna

Varchar

20

Forgien Key

7

Status

Status

Enum‟ On

Going‟,‟Proses‟

-

8

No_induk

No_induk

Varchar

20

Forgien Key

4.2.2. Software Architecture

A. Component Diagram

Gambar IV.9. Component Diagram

B. Deployment Diagram

Gambar IV.10. Deployment Diagram

cmp Component Model

Serv er

database layanan Serv er Aplikasi Layanan Masyarakat

User Layanan Client

«use»

deployment Deployment Model

«executionEnvironment»

Serv er

«device»

User Layanan Aplikasi Layanan Masyarakat

«device» Serv er Aplikasi :: Layanan Client Tcp Ip «use» «use»

(11)

4.2.3. User Interface

1. Halaman Loading Aplikasi Halaman Masyarakat

Gambar IV.11. Halaman Loading Aplikasi Halaman Masyarakat

(12)

Gambar IV.12. Halaman Login Masyarakat

3. Halaman Utama Masyarakat

Gambar IV.13. Halaman Utama Masyarakat

4. Halaman Input Laporan

(13)

5. Halaman Informasi

Gambar IV.15. Halaman Informasi

(14)

Gambar IV.16. Halaman Halaman Login User Layanan dan Penindakan

7. Halaman Utama Bagian Layanan

Gambar IV.17. Halaman Utama Bagian Layanan

8. Halaman Laporan Masyarakat

(15)

4.3. Code Generation

inputLaporan

package com.example.simpel; import android.app.ProgressDialog; import android.content.Intent; import android.graphics.Bitmap; import android.os.Build; import android.os.Bundle; import android.provider.MediaStore; import android.support.annotation.Nullable; import android.support.design.widget.TextInputEditText; import android.support.v4.app.Fragment; import android.util.Base64; import android.util.Log; import android.view.LayoutInflater; import android.view.View; import android.view.ViewGroup; import android.widget.Button; import android.widget.EditText; import com.android.volley.VolleyError; import com.android.volley.toolbox.StringRequest; import com.android.volley.toolbox.Volley; import com.bumptech.glide.Glide; import com.example.simpel.setting.UserParcelable; import org.json.JSONException; import org.json.JSONObject; import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.HashMap; import java.util.Map;

import static android.app.Activity.RESULT_OK; public class lapor extends Fragment {

private ImageView imagePhoto; private EditText kronologi; private Button simpan; private String lnama,email; private Spinner jenis; private int ident;

private UserParcelable user; private int request_code = 1; private Bitmap bitmap;

private ProgressDialog progressbar; RequestQueue requestQueue; StringRequest stringRequest; View view;

@Nullable @Override

public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundle savedInstanceState) {

view = inflater.inflate(R.layout.fragment_lapor, container, false); imagePhoto = (ImageView) view.findViewById(R.id.gambar_profil); kronologi = (EditText) view.findViewById(R.id.t_kronologi); jenis =(Spinner) view.findViewById(R.id.jenis);

simpan = (Button)view.findViewById(R.id.btn_simpan); requestQueue = Volley.newRequestQueue(getActivity()); simpan.setOnClickListener(new View.OnClickListener() {

(16)

@Override

public void onClick(View v) { simpan();

} });

imagePhoto.setOnClickListener(new View.OnClickListener() { @Override

public void onClick(View v) { Intent i = null;

//verificacion de la version de plataforma if(Build.VERSION.SDK_INT < 19){ //android 4.3 y anteriores i = new Intent(); i.setAction(Intent.ACTION_GET_CONTENT); }else { //android 4.4 y superior i = new Intent(Intent.ACTION_OPEN_DOCUMENT); i.addCategory(Intent.CATEGORY_OPENABLE); } i.setType("image/*"); startActivityForResult(i, request_code); } }); @Override

public void onViewCreated(View view, @Nullable Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState);

//you can set the title for your toolbar here for different fragments different titles getActivity().setTitle("Form Laporan ");

try{

Bundle bundle = getActivity().getIntent().getExtras(); user = bundle.getParcelable("DATA_USER"); if(bundle!=null){

ident = user.getId(); email=user.getEmail(); private void simpan() { if (!validasi()) return;

progressbar = new ProgressDialog(getActivity()); progressbar.setMessage("Menunggu...");

progressbar.show();

String url = "http://192.168.43.227/Korlantas/Laporan/Api/simpan.php?"; stringRequest = new StringRequest(Request.Method.POST, url, new Response.Listener<String>() {

@Override

public void onResponse(String response) {

UserParcelable userParcelable = new UserParcelable();; Log.i("Respon Json: ",""+response);

try {

JSONObject jsonObject = new JSONObject(response); if(jsonObject.names().get(0).equals("success")){ kronologi.setText(""); oast.makeText(getActivity(),jsonObject.getString("success"),Toast.LENGTH_SHORT).show(); progressbar.dismiss(); }else{ Toast.makeText(getActivity(),jsonObject.getString("error"),Toast.LENGTH_SHORT).show(); Log.i("Respon JSON: ",""+jsonObject.getString("error"));

}

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

(17)

}

progressbar.dismiss(); }

}, new Response.ErrorListener() { @Override

public void onErrorResponse(VolleyError error) { Toast.makeText(getActivity(),"Tidak menjangkau server",Toast.LENGTH_SHORT).show(); Log.i("ERROR: ",""+error.toString()); progressbar.dismiss(); } }){ @Override

protected Map<String, String> getParams() throws AuthFailureError { // String sEmail = jenis.getText().toString();

String sNama = kronologi.getText().toString(); String sImagePhoto = convertirImgString(bitmap); String sId = Integer.toString(ident);

String sJenis = jenis.getSelectedItem().toString(); Map<String,String> parameter = new HashMap<>(); parameter.put("id",sId); parameter.put("jenis",sJenis); parameter.put("kronologi",sNama); parameter.put("photo",sImagePhoto); return parameter; } }; requestQueue.add(stringRequest); }

private String convertirImgString(Bitmap bitmap) { String imagenString;

ByteArrayOutputStream array=new ByteArrayOutputStream(); if(bitmap!=null){

bitmap.compress(Bitmap.CompressFormat.JPEG,100,array); byte[] imagenByte=array.toByteArray();

imagenString= Base64.encodeToString(imagenByte,Base64.DEFAULT); }else{

imagenString = "Tidak ada gambar"; }

return imagenString; }

private boolean validasi() { boolean valid = true;

String sNama = kronologi.getText().toString(); String sImage = convertirImgString(bitmap); if (sNama.isEmpty() || sNama.length() < 50) {

kronologi.setError("Kronologi harus di isi minimal 50 karakter"); valid = false; } else { kronologi.setError(null); } return valid; } }

(18)

4.4. Testing

a. Login Masyarakat

Tabel IV.7. Hasil Pengujian Black Box Testing Form Login Masyarakat

No

Skenario

Pengujian

Test Case

Hasil yang

diharapkan

Hasil

Pengujian

Kesim

pulan

1.

Mengkosongkan

semua data, lalu

tekan tombol

“login”

No KTP:

(kosong)

Password:

(kosong)

Sistem akan menolak

dan menampilkan pesan

“Isi dulu bagian

Kursor”

Sesuai

harapan

Valid

2.

Mengisi semua

dan Username

salah, lalu tekan

tombol “login”

No KTP:

084898383922

1

Password:

12345678

Sistem akan menolak

dan menampilkan pesan

“Maaf, Username

admi@gmail.com tidak

dikenal.”

Sesuai

harapan

Valid

3.

Mengisi semua

data dengan

benar dan

lengkap, lalu

tekan tombol

“login”

No KTP:

084898383922

1

Password:

12345678

Sistem menerima akses,

dan masuk kehalaman

utama

Sesuai

harapan

Valid

b. Daftar Masyarakat

Tabel IV.8 Hasil Pengujian Black Box Testing Form Daftar Akun

NO Skenario

Pengujian

Test Case Hasil Yang diharapkan Hasil Pengujian Kesimpul an

1.

Mengkosongka

n semua data,

lalu tekan

tombol

“Daftar”

No KTP:

(kosong)

No Telepon:

(kosong)

Password:

(kosong)

Sistem akan

menolak dan

kursor berada

pada data yang

belum terisi

Sesuai

harapan

Valid

2.

Mengkosongka

n Salah satu,

lalu tekan

tombol

“Daftar”

No KTP:

343234234244

No Telepon:

08675848848

Password:

(kosong)

Sistem akan

menolak dan

kursor berada

pada data yang

belum terisi

Sesuai

harapan

Valid

3.

Mengisi semua

data dengan

benar dan

lengkap, lalu

tekan tombol

No KTP:

343234234244

No Telepon:

08675848848

Password:

Sistem menerima

akses.

Sesuai

harapan

Valid

(19)

“Daftar”

12345678

c. Laporan Masyarakat

Tabel IV.9 Hasil Pengujian Black Box Testing Form Laporan Masyarakat

NO Skenario

Pengujian

Test Case Hasil Yang diharapkan Hasil Pengujian Kesimpul an

1.

Mengkosongka

n semua data,

lalu tekan

tombol

“Simpan”

Jenis Layanan:

(kosong)

Kronologi:

(kosong)

Sistem akan

menolak dan

kursor berada

pada data yang

belum terisi

Sesuai

harapan

Valid

2.

Mengkosongka

n Salah satu,

lalu tekan

tombol

“Simpan”

Jenis Layanan:

(Terisi)

Kronologi:

(kosong)

Sistem akan

menolak dan

kursor berada

pada data yang

belum terisi

Sesuai

harapan

Valid

3.

Mengisi semua

data dengan

benar dan

lengkap, lalu

tekan tombol

“Simpan”

Jenis Layanan:

(Terisi)

Kronologi:

(Terisi)

Sistem menerima

akses.

Sesuai

harapan

Valid

4.5. Support

4.5.1. Spesifikasi Hardware dan Software

1. Spesifikasi Hardware

Dalam pembuatan pada aplikasi mobile d ini, memerlukan sarana pendukung

seperti perangkat keras, adapun perangkat keras yang digunakan adalah:

Processor

2.0 Ghz

Memory

2 GB RAM

Hardisk

80 GB

Keyboard

Standard 101/102-Key

Mouse

Optic / Standard

Printer

Deskjet

(20)

2. Spesifikasi Software

Spesifikasi perangkat lunak yang digunakan adalah:

Sistem Operasi

: Microsoft Windows XP Home Edition Service Pack 2

Software Aplikasi : Android Studio, Adobe Photoshop CS 4,Mozilla

Firefox 12.0, FileZilla

DBMS

: MySQL

Web Server

: Xampp

4.5.2. Publikasi Web

Aplikasi ini di upload dengan menggunakan web hosting yang gratis (Free),

yaitu dengan mengunjungi

http://www.idhostinger.com

.

Domain

Laporan.esy.es

Masyarakatname u359468281

Password

*********

Disk Usage

0.02/1500.0 MG

Bandwidth

100000 MB (100GB)

Home Root

/home/ u359468281

Server Home

server108.idhostinger.com

IP Address

93.188.160.109

Apache ver.

Apache/2.4

PHP version

5.2.*

MySQL ver.

5.1

Activated On

2019-07-15

Status

Active

4.5. Spesifikasi Dokumen Sistem Usulan

Spesifikasi dokumen sistem usulan diantaranya:

Nama Dokumen : Form Laporan

Fungsi

: Sebagai form untuk Laporan

Sumber

: Masyarakat

Tujuan

: Bagian Layanan

(21)

Frekuensi

: Setiap ada Laporan

Gambar

Gambar IV.1 Use Case Diagram Masyarakat Input Laporan  Deskripsi Use Case Diagram Masyarakat Input Laporan:
Gambar IV.2 Use Case Diagram Halaman Layanan  Deskripsi Use Case Diagram Halaman Layanan:
Gambar IV.3 Use Case Diagram Halaman Penindakan  Deskripsi Use Case Diagram Halaman Penindakan:
Gambar IV.4 Activity Diagram Halaman Masyarakat Input Laporan
+7

Referensi

Dokumen terkait

Berdasarkan hasil uji statistik, maka pada penelitian tersebut, hipotesis kerja diterima, yaitu terdapat perbedaan tingkat konsentrasi belajar siswa antara kebisingan

Merencanakan Tebal Perkerasan Lentur dengan metode Bina Marga 1987 dan Perkerasan Kaku dengan metode Bina Marga 2013 pada ruas Jalan Alun-Alun Rambipuji, Kabupaten

1) Sebagian besar ISPA adalah disebabkan virus dan tidak berespon pada terapi antibiotik. Suatu kenyataan yang sering tidak diperhatikan, akibatnya penderita mendapatkan

Setelah mengamati nilai pretest dan posttest dari seluruh indikator minat belajar diketahui bahwa rata-rata nilai pretest sebesar 66,75 dan rata-rata nilai posttest sebesar

Metode ini akan digunakan dalam penelitian yang akan diarahkan pada masalah PT LEN Persero, yaitu pengaruh budaya dan komitmen organisasi terhadap kinerja

Dari hasil studi pendahuluan yang dilakukan pada tanggal 08 Januari 2013 di Posyandu Dusun Jaten Desa Karangan Kecamatan Badegan Kabupaten Ponorogo dari 10 balita

Mielenkiintoista on, että van Beekin ja kumppaneiden (2011) tutkimuksen mukaan työn imussa olevat työholistit tekivät enemmän työtä kuin ei työn imussa