bab iv rancangan sistem dan program usulan 4.1. … file31 bab iv rancangan sistem dan program...

81
31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa berlaku alat-alat keselamatan kapal berbasis web, dimana teknisi tidak perlu membuka secara keseluruhan alat-alat keselamatan kapal untuk melakukan perpanjangan masa berlaku teknisi hanya perlu membuka melalui aplikasi perpanjangan masa berlaku menu yang menggunakan website. Berikut adalah spesifikasi kebutuhan ( system requirement) dari sistem berbasis website. Halaman Teknisi: A1. Teknisi dapat mengelola data user login A2. Teknisi dapat mengelola data item master A3. Teknisi dapat melihat masa berlaku item master A4. Teknisi dapat melihat laporan Halaman Admin: B1. Admin dapat mengelola data B2. Admin dapat menerima permintaan

Upload: dodiep

Post on 05-May-2019

229 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

31

BAB IV

RANCANGAN SISTEM DAN PROGRAM USULAN

4.1. Analisis Kebutuhan Software

A. Tahapan Analisis

Sistem perpanjangan masa berlaku alat-alat keselamatan kapal berbasis web,

dimana teknisi tidak perlu membuka secara keseluruhan alat-alat keselamatan

kapal untuk melakukan perpanjangan masa berlaku teknisi hanya perlu membuka

melalui aplikasi perpanjangan masa berlaku menu yang menggunakan website.

Berikut adalah spesifikasi kebutuhan (system requirement) dari sistem berbasis

website.

Halaman Teknisi:

A1. Teknisi dapat mengelola data user login

A2. Teknisi dapat mengelola data item master

A3. Teknisi dapat melihat masa berlaku item master

A4. Teknisi dapat melihat laporan

Halaman Admin:

B1. Admin dapat mengelola data

B2. Admin dapat menerima permintaan

Page 2: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

32

B. Use Case Diagram

1. Use Case Diagram Halaman User

Gambar IV.1 Use Case Diagram Halaman User

Pilih Kategori

Tampilkan Berdasarkan

Kategori

Pilih Jenis Perpanjangan

Tampilkan Detail

Perpanjangan

Tampilkan Masa Berlaku

Login

Masukan Data

<<include>>

<<include>>

<<include>>

<<include>>

Cetak Data

Menerima Email

<<include>>

<<include>>

Page 3: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

33

a. Deskripsi Use Case Mengelola Data User Login

Tabel IV.1

Deskripsi Use Case Diagram Mengelola Data User Login

Use Case Name Mengelola Data User Login Requirements A1 Goal Admin dapat menambah, mengedit dan menghapus data user

login

Pre-conditions Admin telah login

Post-conditions Data user login tersimpan, terupdate atau terhapus

Failed and conditions Gagal menyimpan, mengupdate atau menghapus

Primary Actors Admin Main Flow / Basic Path 1. Admin Melihat daftar user login

2. Admin menambah data user login 3. Admin menyimpan data user login

Alternate Flow / Invariant 1 2a. Admin mengedit data user login

Invariant 2 2b. Admin menghapus data user login

b. Deskripsi Use Case Mengelola Data Item Master

Tabel IV.2

Deskripsi Use Case Diagram Mengelola Data Item Master

Use Case Name Mengelola Data Item Master Requirements A2 Goal Admin dapat menambah, mengedit dan menghapus data

item master

Pre-conditions Admin telah login

Post-conditions Data item master tersimpan, terupdate atau terhapus

Failed and conditions Gagal menyimpan, mengupdate atau menghapus

Primary Actors Admin Main Flow / Basic Path 1. Admin melihat daftar item master

2. Admin menambah data item master 3. Admin menyimpan data item master

Alternate Flow / Invariant 1 2a. Admin mengedit data item master

Invariant 2 2b. Admin menghapus data item master

Page 4: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

34

c. Deskripsi Use Case View Masa Berlaku

Tabel IV.3

Deskripsi Use Case Diagram View Masa Berlaku

Use Case Name View Masa Berlaku Requirements A3 Goal Admin dapat melihat masa berlaku

Pre-conditions Admin telah login

Post-conditions Tampil data kapal

Failed and conditions Gagal tampil atau simpan

Primary Actors Admin Main Flow / Basic Path 1. Admin melihat masa berlaku

2. Admin menyimpan data masa berlaku

Alternate Flow / Invariant 1 2a. Admin mencetak masa berlaku

d. Deskripsi Use Case Laporan

Tabel IV.4

Deskripsi Use Case Diagram Laporan

Use Case Name View Laporan

Requirements A4 Goal Admin dapat melihat laporan

Pre-conditions Admin telah login

Post-conditions Report tampil atau disimpan

Failed and conditions Gagal tampil, simpan

Primary Actors Admin Main Flow / Basic Path 1. Admin menginput data

2. Admin menyimpan data laporan

Alternate Flow / Invariant 1 2a. Admin cetak laporan

Page 5: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

35

2. Use Case Diagram Halaman Admin

Gambar IV.2 Use Case Diagram Halaman Admin

a. Deskripsi Use Case Mengelola Data

Tabel IV.5

Deskripsi Use Case Diagram Mengelola Data

Use Case Name Mengelola Data

Requirements B1 Goal Admin melihat status masa berlaku

Pre-conditions Admin telah login

Post-conditions Tampil data atau proses data

Failed and conditions Gagal tampil atau proses

Primary Actors Admin Main Flow / Basic Path 1. Admin menginput data

2. Admin mengirim data

Alternate Flow / Invariant 1 2a. Admin member status selesai pada data

b. Deskripsi Use Case Menerima Permintaan

Page 6: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

36

Tabel IV.6

Deskripsi Use Case Diagram Menerima Permintaan

Use Case Name Menerima Permintaan

Requirements B2 Goal Admin dapat menerima permintaan

Pre-conditions Admin telah login

Post-conditions Tampil data

Failed and conditions Gagal tampil, simpan atau cetak

Primary Actors Admin Main Flow / Basic Path 1. Admin menginput data

2. Cashier menyimpan data

Alternate Flow / Invariant 1 2a. Admin cetak permintaan

Invariant 2 -

Page 7: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

37

Menerima email

Mengisi Data Alat Keselamatan

Menyimpan Data

Memilih jenis perpanjangan

Tampilkan Item ILR dan PMK

Start

Mencetak Sertifikat

Lanjutkan permintaan yang lain

End

C. Activity Diagram

Activity Diagram menggambarkan berbagai alir aktifitas dalam sistem

yang sedang dirancang, bagaimana masing-masing alir berawal, decision

yang mungkin terjadi dan bagaimana mereka berakhir.

1. Activity Diagram Login Menu

Gambar IV.3 Activity Diagram Login Menu

Page 8: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

38

Add

Edit

Memilih jenis

perpanjangan

Update data

Hapus Data

Input data Simpan Data

Start

End

Delete

2. Activity Diagram Admin Mengelola Data

Gambar IV.4 Activity Diagram Admin Mengelola Data

Page 9: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

39

customer pesan permohonan

kategori

isi

cetak lakukan

Nm perusahaan

Alamat

Confm pass No hp

email

passwd

Nm kapal

tindakan Nm perusahaan

reques

owner

Date of inspect

Name of ship

capacity

Next of inspect

pmk ilr pmk ilr

4.2. Desain

4.2.1. Database

1. Entity Relationship Diagram (ERD)

Gambar IV.5 Entity Relationship Diagram (ERD)

Page 10: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

40

2. Logical Record Structure (LRS)

Gambar IV.6 Logical Record Structure (LRS)

3. Spesifikasi File

a. Spesifikasi File Table User_login

Nama Database : DbMP

Nama File : Tabel User Login

Akronim : dbo.user_login

Tipe File : File Master

Akses File : Random

Panjang Record : 0.008 Megabyte

Kunci Field : userid

Customer

Nama perusahaan

Alamat

Email No. handphone

Password

Confrm password

Permohonan

Nama perusahaan

Nama kapal

tindakan

Isi

owner reques

date of inspection

Name of ship

capacity

next of inspection

kategori

pmk ilr

Cetak

Isi pmk

Isi ilr

Page 11: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

41

Tabel IV.8

Spesifikasi File Tabel User Login

No. Elemen Data Nama Field Type Size Keterangan

1 User ID userid char 7 Primary Key

2 Nama User name char 50

3 Password password varchar 100

4 Level level char 10

b. Spesifikasi File Table Item Master

Nama Database : DbMP

Nama File : Tabel Item Master

Akronim : dbo.item_master

Tipe File : File Master

Akses File : Random

Panjang Record : 0.008 Megabyte

Kunci Field : plu

Tabel IV.9

Spesifikasi File Tabel Item Master

No. Elemen Data Nama Field Type Size Keterangan

1 Kode Item plu char 5 Primary Key

2 Deskripsi Item description varchar 50

3 Satuan unit char 15

4 Ukuran size char 10

5 Kategory category nchar 10

Page 12: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

42

c. Spesifikasi File Table Order

Nama Database : DbMP

Nama File : Tabel Order

Akronim : dbo.order

Tipe File : File Master

Akses File : Sequence

Panjang Record : 0.008 Megabyte

Kunci Field : -

Tabel IV.10

Spesifikasi File Tabel Order

No. Elemen Data Nama Field Type Size Keterangan

1 No. Pemesanan order_number char 12

2 Waktu Pemesanan order_date datetime

3 No. Meja table_id char 2

4 No. POS pos_id char 2

5 Urutan Pemesanan sort_no int

6 Kode Item plu char 100 Foreign Key

7 Jumlah Pemesanan qty int

Page 13: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

43

d. Spesifikasi File Table Status Order

Nama Database : DbMP

Nama File : Tabel Status Order

Akronim : dbo.statusorder

Tipe File : File Master

Akses File : Sequence

Panjang Record : 0.008 Megabyte

Kunci Field : -

Tabel IV.11

Spesifikasi File Tabel Status Order

No. Elemen Data Nama Field Type Size Keterangan

1 No. Pemesanan order_number char 12

2 Status Selesai Finish tinyint

3 Waktu Selesai FinishedOn datetime

Page 14: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

44

e. Spesifikasi File Table Sales Order

Nama Database : DbMP

Nama File : Tabel Sales Order

Akronim : dbo.salesorder

Tipe File : File Master

Akses File : Sequence

Panjang Record : 0.008 Megabyte

Kunci Field : -

Tabel IV.12

Spesifikasi File Tabel Sales Order

No. Elemen Data Nama Field Type Size Keterangan

1 No. Pemesanan order_number char 12

2 Jenis Pembayaran payment_type char 5

3 Total Pembayaran amount numeric

4 Diskon discount numeric

5 Kembalian change numeric

6 Waktu Pembayaran paidon datetime

Page 15: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

45

4.2.2. Software Architecture

A. Class Diagram

Gambar IV.10 Class Diagram

Page 16: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

46

B. Sequence Diagram

1. Sequence Diagram Halaman Admin

a. Sequence Diagram Admin Login Menu

Gambar IV.11 Sequence Diagram Admin Login Menu

Page 17: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

47

b. Sequence Diagram Admin Menerima Pembayaran

Gambar IV.12 Sequence Diagram Admin Menerima Pembayaran

Page 18: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

48

c. Sequence Diagram Admin Mengelola Data User Login

Gambar IV.13 Sequence Diagram Admin Mengelola Data User Login

Page 19: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

49

d. Sequence Diagram Admin Tambah Data User Login

Gambar IV.14 Sequence Diagram Admin Tambah Data User Login

Page 20: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

50

e. Sequence Diagram Admin Ubah Data User Login

Gambar IV.15 Sequence Diagram Admin Ubah Data User Login

Page 21: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

51

f. Sequence Diagram Admin Hapus Data User Login

Gambar IV.16 Sequence Diagram Admin Hapus Data User Login

Page 22: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

52

g. Sequence Diagram Admin Cari Data User Login

Gambar IV.17 Sequence Diagram Admin Cari Data User Login

Page 23: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

53

h. Sequence Diagram Admin Mengelola Data Item Master

Gambar IV.18 Sequence Diagram Admin Mengelola Data Item Master

Page 24: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

54

i. Sequence Diagram Admin Tambah Data Item Master

Gambar IV.19 Sequence Diagram Admin Tambah Data Item Master

Page 25: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

55

j. Sequence Diagram Admin Ubah Data Item Master

Gambar IV.20 Sequence Diagram Admin Ubah Data Item Master

Page 26: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

56

k. Sequence Diagram Admin Hapus Data Item Master

Gambar IV.21 Sequence Diagram Admin Hapus Data Item Master

Page 27: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

57

l. Sequence Diagram Admin Cari Data Item Master

Gambar IV.22 Sequence Diagram Admin Cari Data Item Master

Page 28: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

58

m. Sequence Diagram Admin Melihat Report

Gambar IV.23 Sequence Diagram Admin Melihat Report

Page 29: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

59

n. Sequence Diagram Admin Mengelola Pemesanan

Gambar IV.24 Sequence Diagram Admin Mengelola Pemesanan

Page 30: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

60

2. Sequence Diagram Halaman Cashier

a. Sequence Diagram Cashier Login Menu

Gambar IV.25 Sequence Diagram Cashier Login Menu

Page 31: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

61

b. Sequence Diagram Cashier Menerima Pembayaran

Gambar IV.26 Sequence Diagram Cashier Menerima Pembayaran

Page 32: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

62

c. Sequence Diagram Cashier Mengelola Pemesanan

Gambar IV.27 Sequence Diagram Cashier Mengelola Pemesanan

Page 33: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

63

C. Component Diagram

Gambar IV.28 Component Diagram

D. Deployment Diagram

Gambar IV.29 Deployment Diagram

Page 34: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

64

4.2.3. User Interface

A. Form Order Menu

Pada form ini, waiter dapat menginput pesanan makanan

maupun minuman yang dipesan oleh customer.

Gambar IV.30 Tampilan Order Menu

Page 35: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

65

B. Form Login Menu

Form ini digunakan untuk admin atau cashier untuk mengakses

menu yang ada didalam applikasi menu utama.

Gambar IV.31 Tampilan Login Menu

Page 36: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

66

C. Form Main Menu

Form ini berisi menu-menu master yang akan digunakan admin

atau cashier untuk menginput data master maupun

pembayaran.

Gambar IV.32 Tampilan Main Menu

Page 37: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

67

D. Form List Order

Form ini lebih digunakan untuk pastry cook untuk mengetahui

menu apa aja yang harus dibuat dan untuk menyatakan bahwa

menu telah selesai dibuat atau belum.

Gambar IV.33 Tampilan List Order

Page 38: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

68

E. Form Point Of Sales

Form ini digunakan cashier untuk mengecek makanan atau

minuman apa saja yang sudah dipesan customer serta nominal

yang harus dibayar.

Gambar IV.34 Tampilan Point Of Sales

Page 39: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

69

F. Form Payment

Form ini untuk melanjutkan pembayaran dari form point of

sales. Seperti menginput jenis pembayaran, diskon dan total

pembayaran yang harus dibayar customer.

Gambar IV.35 Tampilan Payment

Page 40: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

70

G. Form User Login

Form ini digunakan oleh admin untuk mengelola data user

seperti user id, name, password dan level, baik itu data admin

maupun cashier.

Gambar IV.36 Tampilan User Login

Page 41: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

71

H. Form Item Master

Form ini digunakan oleh admin untuk menambahkan,

mengubah maupun menghapus data item master yang ada.

Gambar IV.37 Tampilan Item Master

Page 42: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

72

I. Form Report

Form ini digunakan oleh admin untuk melihat data item master

dan data penjualan dari café tersebut.

Gambar IV.38 Tampilan Report

Page 43: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

73

4.3. Code Generation

A. Class Order

package com.example.dine.in.mobile; import android.os.Bundle; import android.app.Activity; import android.app.AlertDialog.Builder; import android.text.style.BulletSpan; import android.view.Menu; import android.view.View; import android.widget.ArrayAdapter; import android.widget.EditText; import android.widget.Spinner; import android.widget.Toast; import org.ksoap2.SoapEnvelope; import org.ksoap2.serialization.SoapObject; import org.ksoap2.serialization.SoapSerializationEnvelope; import org.ksoap2.transport.HttpTransportSE; import android.app.*; import android.os.*; import android.widget.TextView; import android.app.AlertDialog; import android.content.DialogInterface; import android.content.res.Resources; import android.view.KeyEvent; import android.widget.Button; public class Order extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_order); Spinner cmbpos=(Spinner) findViewById(R.id.cmbpos); String[] menuArray=new String[] {"01","02"}; ArrayAdapter<String> adapter; adapter=adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,menuArray); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); cmbpos.setAdapter(adapter); Spinner cmbmeja=(Spinner) findViewById(R.id.cmbmeja);

Page 44: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

74

String[] menuArray1=new String[] {"1","2","3","4","5","6","7","8","9"}; ArrayAdapter<String> adapter1; adapter1=adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item,menuArray1); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); cmbmeja.setAdapter(adapter); Spinner cmbmakanan=(Spinner) findViewById(R.id.cmbmakanan); //String[] menuArray2=new String[] {"-","Apple Crumble Slice APC01","Advocaad Mousse Slice AVM01","Blueberry Cheese Cake Slice BCC01","Chocolate Devil Cake Slice CDC01","Cheese Bacon","Chicken Pie"}; Resources res = getResources(); String[] menuArray2 = res.getStringArray(R.array.Food); ArrayAdapter<String> adapter2; adapter2=adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, menuArray2); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); cmbmakanan.setAdapter(adapter); Spinner cmbminuman=(Spinner) findViewById(R.id.cmbminuman); //String[] menuArray3=new String[] {"-","Green Tea Latte","Iced Coffee","Iced Chocolate","Coffee Milkshakes","Blackcurrant","English Breakfast"}; String[] menuArray3=res.getStringArray(R.array.Beverage); ArrayAdapter<String> adapter3; adapter3=adapter=new ArrayAdapter<String>(this,android.R.layout.simple_spinner_item, menuArray3); adapter.setDropDownViewResource(android.R.layout.simple_spinner_dropdown_item); cmbminuman.setAdapter(adapter); } @Override public boolean onCreateOptionsMenu(Menu menu) { getMenuInflater().inflate(R.menu.activity_order, menu);

Page 45: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

75

return true; } public void getID_OnClick(View vw){ getOrderID(); } public void btnsend_OnClick(View vw){ SaveOrder(); } public void btnclose_OnClick(View vw){ AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.setMessage("Do you want to close?") .setCancelable(false) .setPositiveButton("Yes", new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { finish(); System.exit(0); } }) .setNegativeButton("No",new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.cancel(); } }).show(); } public void getOrderID(){ try { SoapObject request = new SoapObject("http://tempuri.org/", "getID"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet=true; envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE("http://192.168.43.168/ws/Service1.asmx"); androidHttpTransport.call("http://tempuri.org/getID", envelope); SoapObject result = (SoapObject)envelope.bodyIn; String resultData = result.getProperty(0).toString(); TextView txtId = (TextView)findViewById(R.id.txtid); txtId.setText(resultData); } catch (Exception e) {

Page 46: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

76

e.printStackTrace(); Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show(); } } public void getFoodList(){ try { SoapObject request = new SoapObject("http://tempuri.org/", "getFoodList"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet=true; envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE("http://192.168.43.168/ws/Service1.asmx"); androidHttpTransport.call("http://tempuri.org/getFoodList", envelope); SoapObject result = (SoapObject)envelope.bodyIn; String resultData = result.getProperty(0).toString(); TextView txtId = (TextView)findViewById(R.id.txtid); txtId.setText(resultData); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show(); } } public void getBeverageList(){ try { SoapObject request = new SoapObject("http://tempuri.org/", "getBvrgList"); SoapSerializationEnvelope envelope = new SoapSerializationEnvelope(SoapEnvelope.VER11); envelope.dotNet=true; envelope.setOutputSoapObject(request); HttpTransportSE androidHttpTransport = new HttpTransportSE("http://192.168.43.168/ws/Service1.asmx"); androidHttpTransport.call("http://tempuri.org/getBvrgList", envelope); SoapObject result = (SoapObject)envelope.bodyIn;

Page 47: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

77

String resultData = result.getProperty(0).toString(); TextView txtId = (TextView)findViewById(R.id.txtid); txtId.setText(resultData); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show(); } } public void SaveOrder(){ try { Spinner cboPosID = (Spinner)findViewById(R.id.cmbpos); Spinner cboTableID = (Spinner)findViewById(R.id.cmbmeja); Spinner cboFood = (Spinner)findViewById(R.id.cmbmakanan ); Spinner cboBvrg = (Spinner)findViewById(R.id.cmbminuman); EditText txtID = (EditText)findViewById(R.id.txtid); EditText txtQty = (EditText)findViewById(R.id.txtjumlahmakan); EditText txtQty2 = (EditText)findViewById(R.id.txtjumlahminum); if (cboPosID.getSelectedItem().toString().length() > 0 && cboTableID.getSelectedItem().toString().length() > 0 && cboFood.getSelectedItem().toString().length() > 0 && cboBvrg.getSelectedItem().toString().length() > 0 && txtID.getText().toString().length()> 0 && txtQty.getText().toString().length()> 0 && txtQty2.getText().toString().length()> 0 ) { SoapObject FoodOrder = new SoapObject("http://tempuri.org/", "saveOrder"); FoodOrder.addProperty("prmOrderID",txtID.getText().toString()); FoodOrder.addProperty("prmTableID",cboTableID.getSelectedItem().toString()); FoodOrder.addProperty("prmPosID",cboPosID.getSelectedItem().toString()); FoodOrder.addProperty("prmOrderFood",cboFood.getSelectedItem().toString());

Page 48: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

78

FoodOrder.addProperty("prmFoodQty", txtQty.getText().toString()); FoodOrder.addProperty("prmOrderBeverage",cboBvrg.getSelectedItem().toString()); FoodOrder.addProperty("prmBeverageQty",txtQty2.getText().toString()); SoapSerializationEnvelope envFood = new SoapSerializationEnvelope(SoapEnvelope.VER11); envFood.dotNet=true; envFood.setOutputSoapObject(FoodOrder); HttpTransportSE androidHttpTransport = new HttpTransportSE("http://192.168.43.168/ws/Service1.asmx"); androidHttpTransport.call("http://tempuri.org/saveOrder", envFood); //SoapObject result = (SoapObject)envelope.bodyIn; //String resultData = result.getProperty(0).toString(); Toast.makeText(getApplicationContext(), "Order has been sent, proceed to next order please", Toast.LENGTH_LONG ).show(); } else Toast.makeText(getApplicationContext(), "Field must be input", Toast.LENGTH_LONG ).show(); } catch (Exception e) { e.printStackTrace(); Toast.makeText(getApplicationContext(),e.getMessage(),Toast.LENGTH_LONG).show(); } } } /*Button btn_keluar = (Button) findViewById(R.id.btnclose); btn_keluar.setOnClickListener(new View.OnClickListener() { public void onClick(View view) { close(); } });*/ /* public void close(){ public boolean onKeyDown(int keyCode, KeyEvent event) {

Page 49: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

79

if (keyCode == KeyEvent.KEYCODE_BACK) { close(); } return super.onKeyDown(keyCode, event); } } } */

B. Class Service1

Imports System.Web.Services

Imports System.Web.Services.Protocols

Imports System.ComponentModel

Imports System.Data

Imports System.Data.SqlClient

' To allow this Web Service to be called from script, using

ASP.NET AJAX, uncomment the following line.

' <System.Web.Script.Services.ScriptService()> _

<System.Web.Services.WebService(Namespace:="http://tempuri.org/")>

_

<System.Web.Services.WebServiceBinding(ConformsTo:=WsiProfiles.Bas

icProfile1_1)> _

<ToolboxItem(False)> _

Public Class Service1

Inherits System.Web.Services.WebService

<WebMethod()> _

Public Function HelloWorld() As String

Return "Hello World"

End Function

<WebMethod()> _

Public Function getID() As String

Dim sRetVal As String = ""

Using oConn As SqlConnection = New SqlConnection("initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd=")

Using oCmd As SqlCommand = New

SqlCommand("sp_CreateID", oConn)

oCmd.CommandType = CommandType.StoredProcedure

Dim oParam As SqlParameter = New

SqlParameter("@NewID", SqlDbType.Char, 12)

oParam.Direction = ParameterDirection.Output

oCmd.Parameters.Add(oParam)

oConn.Open()

oCmd.ExecuteNonQuery()

oConn.Close()

sRetVal = oParam.Value

End Using

End Using

Return sRetVal

End Function

Page 50: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

80

<WebMethod()> _

Public Function saveOrder(ByVal prmOrderID As String, ByVal

prmTableID As String, ByVal prmPosID As String, ByVal prmOrderFood

As String, ByVal prmFoodQty As String, ByVal prmOrderBeverage As

String, ByVal prmBeverageQty As String) As Boolean

Using oConn As SqlConnection = New SqlConnection("initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd=")

If oConn.State = ConnectionState.Closed Then

oConn.Open()

Try

Using oCmd As New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = String.Format("INSERT INTO

[statusOrder] SELECT x.* FROM (SELECT '{0}' as a,0 as b,GETDATE()

as c) x Left Join statusOrder z on x.a=z.order_number WHERE

z.order_number is null", prmOrderID)

oCmd.ExecuteNonQuery()

oCmd.Dispose()

End Using

If prmOrderFood <> "-" Then

Using oCmd As New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = String.Format("INSERT

INTO [order] SELECT '{0}',GETDATE(),'{1}','{2}',isnull((select top

1 sort_no FROM [order] Where order_number='{0}' order by sort_no

desc),0) + 1,'{3}',{4}", prmOrderID, prmTableID, prmPosID,

Right(Trim(prmOrderFood), 5), prmFoodQty)

oCmd.ExecuteNonQuery()

oCmd.Dispose()

End Using

End If

If prmOrderBeverage <> "-" Then

Using oCmd As New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = String.Format("INSERT

INTO [order] SELECT '{0}',GETDATE(),'{1}','{2}',isnull((select top

1 sort_no FROM [order] Where order_number='{0}' order by sort_no

desc),0) + 1,'{3}',{4}", prmOrderID, prmTableID, prmPosID,

Right(Trim(prmOrderBeverage), 5), prmBeverageQty)

oCmd.ExecuteNonQuery()

oCmd.Dispose()

End Using

End If

Return True

Catch ex As Exception

Return False

End Try

End Using

End Function

<WebMethod()> _

Public Function getFoodList(ByRef prmArray As String()) As

Boolean

Dim thisList As New List(Of String)()

Page 51: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

81

Using oConn As SqlConnection = New SqlConnection("initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd=")

If oConn.State = ConnectionState.Closed Then

oConn.Open()

Try

Using oCmd As New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = "select

rtrim([description]) + ' ' + rtrim([unit]) + ' ' + case

rtrim([size]) when '-' then '' else rtrim([size]) + ' cm ' end +

+ rtrim(plu) from item_master where category='FOOD'"

Dim oReader As SqlDataReader =

oCmd.ExecuteReader

Do While oReader.Read

thisList.Add(oReader.GetValue(0).ToString)

Loop

oReader.Close()

oCmd.Dispose()

End Using

prmArray = thisList.ToArray

Return True

Catch ex As Exception

prmArray = Nothing

Return False

End Try

End Using

End Function

End Class

C. Class login_menu

Imports System.Configuration

Imports System.Data.SqlClient

Public Class login_menu

Private Sub login_menu_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

txtpass.UseSystemPasswordChar = Not chkshow.Checked

End Sub

Private Sub btnexit_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnexit.Click

If MsgBox("Do you want to exit?", MsgBoxStyle.YesNo,

"Confirm") = vbYes Then

Application.Exit()

End If

End Sub

Private Sub chkshow_CheckedChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

chkshow.CheckedChanged

txtpass.UseSystemPasswordChar = Not chkshow.Checked

End Sub

Page 52: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

82

Private Sub btnlogin_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btnlogin.Click

If txtid.Text.Trim <> "" And txtpass.Text.Trim <> "" Then

Dim fHasRow As Boolean = False, fPassCorrect As

Boolean = False

Dim sNama As String = "", sLevel As String = "",

sHashPass As String = ""

Using oConn As SqlConnection = New

SqlConnection("initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd=")

oConn.Open()

Using oCmd As SqlCommand = New

SqlCommand(String.Format("SELECT [name],[level],[password] FROM

user_login WHERE userid='{0}'", txtid.Text.Trim), oConn)

Dim oReader As SqlDataReader =

oCmd.ExecuteReader

fHasRow = oReader.HasRows

If oReader.HasRows Then

Do While oReader.Read

sNama = oReader.GetValue(0)

sLevel = oReader.GetValue(1)

sHashPass = oReader.GetValue(2)

Loop

End If

oReader.Close()

End Using

End Using

If Not fHasRow Then

MsgBox("User ID Doesn't Exist, Please

Correctly...!!", MsgBoxStyle.Information, "Verification")

txtid.Focus()

txtid.SelectAll()

txtpass.Text = ""

Else

Try

fPassCorrect = VerifyHash(txtpass.Text.Trim,

sHashPass)

If Not fPassCorrect Then

MsgBox("Password Not Match With User ID,

Check again...!!", MsgBoxStyle.Information, "Verification")

txtpass.Focus()

txtpass.SelectAll()

Else

MsgBox(String.Format("Welcome {0}{1} Your

Level : {2}", sNama, vbCr, sLevel), MsgBoxStyle.Information,

"Login")

gNama = sNama

gLevel = sLevel

'Dim fShow As New Main_Menu

'fShow.Show()

Main_Menu.Show()

Me.Hide()

End If

Catch exFormat As FormatException

MsgBox("Data hashed invalid, harap hubungi

admin", MsgBoxStyle.Exclamation, "Warning")

Page 53: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

83

Catch ex As Exception

MsgBox("Aplikasi mengalami masalah intrnal.

silahkan hubungi IT support", MsgBoxStyle.Exclamation, "Warning")

End Try

End If

End If

End Sub

Private Sub txtpass_KeyDown(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles txtpass.KeyDown

If e.KeyCode = Keys.Enter Then

If txtpass.Text.Trim <> "" Then

btnlogin.Focus()

End If

End If

End Sub

End Class

D. Class Main_Menu

Public Class Main_Menu

Private Sub Main_Menu_FormClosing(ByVal sender As Object,

ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles

Me.FormClosing

Me.Dispose()

login_menu.Show()

End Sub

Private Sub Main_Menu_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

lbluser.Text = gNama

For Each oCtrl As Control In Me.Controls

If TypeOf oCtrl Is Button Then

If Not (oCtrl.Name.ToUpper = "BTNLIST" OrElse

oCtrl.Name.ToUpper = "BTNPOS" OrElse oCtrl.Name.ToUpper =

"BTNEND") Then

If gLevel.Trim.ToUpper = "ADMIN" Then

oCtrl.Enabled = True

Else

oCtrl.Enabled = False

End If

Else

oCtrl.Enabled = True

End If

End If

Next

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Timer1.Tick

lbltime.Text = Format(Now, "hh:mm:ss tt")

lbldate.Text = Format(Now, "dddd, dd MMMM yyyy")

Page 54: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

84

End Sub

Private Sub btnitem_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnitem.Click

Item_Master.Show()

Me.Hide()

End Sub

Private Sub btnend_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnend.Click

Me.Dispose()

login_menu.Show()

End Sub

Private Sub btnuser_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnuser.Click

User_Login.Show()

Me.Hide()

End Sub

Private Sub btnreport_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btnreport.Click

Report.Show()

End Sub

Private Sub btnpos_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnpos.Click

Point_Of_Sales.Show()

Me.Hide()

End Sub

Private Sub btnlist_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnlist.Click

List_Order.Show()

Me.Hide()

End Sub

End Class

E. Class List_Order

Imports System.Data

Imports System.Data.SqlClient

Public Class List_Order

Dim mProcess As Boolean = False

Private Sub pRefreshGridData()

Cursor.Current = Cursors.WaitCursor

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Dim _sqlView As String = "SELECT sort_no as [No

Urut],b.description as [Order],Qty as

[Jumlah],order_number,order_date,table_id FROM [order] a inner

join item_master b on rtrim(a.plu) = rtrim(b.plu) where

Page 55: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

85

order_number in (select Top 1 order_number from statusOrder where

Finish = 0 order by FinishedOn)"

Dim _sqlDA As New SqlDataAdapter(_sqlView, oConn)

Dim _sqlDS As New DataSet

_sqlDA.Fill(_sqlDS)

dvMain.DataSource = _sqlDS.Tables(0)

_sqlDA.Dispose()

_sqlDS.Dispose()

End Using

If dvMain.RowCount > 0 Then

lblOrder.Text = dvMain.Rows(0).Cells(3).Value

lblOrderdate.Text = dvMain.Rows(0).Cells(4).Value

lblTable.Text = dvMain.Rows(0).Cells(5).Value

dvMain.Columns(3).Visible = False

dvMain.Columns(4).Visible = False

dvMain.Columns(5).Visible = False

End If

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Dim _sqlView As String = String.Format("Select a.*

FROM (select order_number as [Order ID],table_id as [Table

ID],count(order_number) as [Qty Order],sum(qty) as [Total Order]

from [order] group by order_number,table_id) a inner join

statusOrder b on a.[Order ID] = b.order_number where b.finish = 0

and b.finishedOn > (select FinishedOn from statusOrder where

order_number ='{0}')", lblOrder.Text.Trim)

Dim _sqlDA As New SqlDataAdapter(_sqlView, oConn)

Dim _sqlDS As New DataSet

_sqlDA.Fill(_sqlDS)

dvQueue.DataSource = _sqlDS.Tables(0)

_sqlDA.Dispose()

_sqlDS.Dispose()

End Using

Cursor.Current = Cursors.Default

End Sub

Private Sub List_Order_FormClosing(ByVal sender As Object,

ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles

Me.FormClosing

btnback_Click(Nothing, Nothing)

End Sub

Private Sub List_Order_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

mProcess = False

tmrMain.Enabled = True

End Sub

Page 56: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

86

Private Sub btnFinish_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btnFinish.Click

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Using oCmd As New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = String.Format("UPDATE

statusOrder SET Finish=1, FinishedOn=GETDATE() WHERE

order_number='{0}'", lblOrder.Text.Trim)

oCmd.ExecuteNonQuery()

oCmd.Dispose()

End Using

End Using

pRefreshGridData()

End Sub

Private Sub btnback_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnback.Click

Me.Dispose()

Main_Menu.Show()

End Sub

Private Sub tmrMain_Tick(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles tmrMain.Tick

If Not mProcess Then

mProcess = True

pRefreshGridData()

mProcess = False

End If

End Sub

End Class

F. Class Point_Of_Sales

Imports System.Data

Imports System.Text

Imports System.Data.SqlClient

Imports System.Configuration

Public Class Point_Of_Sales

Friend lTotal As Long = 0, sOrderNo As String = ""

Private Sub btnback_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnback.Click

Me.Dispose()

Main_Menu.Show()

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Timer1.Tick

lbltime.Text = Format(Now, "hh:mm:ss tt")

lbldate.Text = Format(Now, "dddd, dd MMMM yyyy")

Page 57: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

87

End Sub

Private Sub Point_Of_Sales_FormClosing(ByVal sender As Object,

ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles

Me.FormClosing

btnback_Click(Nothing, Nothing)

End Sub

Private Sub Point_Of_Sales_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

lbluser.Text = gNama

txttableid.Focus()

End Sub

Private Sub txtsales_KeyDown(ByVal sender As Object, ByVal e

As System.Windows.Forms.KeyEventArgs) Handles txttableid.KeyDown

If e.KeyCode = Keys.Enter Then

If txttableid.Text.Trim <> "" Then

pShowOrderList(txttableid.Text.Trim)

End If

End If

End Sub

Private Sub pShowOrderList(ByVal prmTableNo As String)

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Dim _sqlView As String = String.Format("SELECT

b.description as [Order],b.price as [Harga/item],a.qty, [Total] =

b.price * a.qty,a.order_number FROM [order] a inner join

item_master b on rtrim(a.plu) = rtrim(b.plu) inner join

statusOrder c on a.order_number = c.order_number where

a.table_id='{0}' AND Finish = 1 and a.order_number not in (select

distinct order_number from Salesorder)", prmTableNo.Trim)

Dim _sqlDA As New SqlDataAdapter(_sqlView, oConn)

Dim _sqlDS As New DataSet

_sqlDA.Fill(_sqlDS)

gridpos.DataSource = _sqlDS.Tables(0)

_sqlDA.Dispose()

_sqlDS.Dispose()

gridpos.Columns(4).Visible = False

If gridpos.RowCount > 0 Then

lTotal = 0

lblnosales.Text = "No. Sales:"

lblOrder.Text = gridpos.Rows(0).Cells(4).Value

lblnosales.Visible = False

lblOrder.Visible = False

For Each oRow As DataGridViewRow In gridpos.Rows

lTotal = lTotal + oRow.Cells(3).Value

Next

txttotal.Text = String.Format("Rp. {0}",

FormatNumber(lTotal, 0, TriState.False, TriState.False,

TriState.True))

Page 58: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

88

Else

lblnosales.Text = "Note :"

lblOrder.Text = "Order belum selesai diproses"

txttotal.Text = ""

lblnosales.Visible = True

lblOrder.Visible = True

End If

End Using

End Sub

Private Sub btnpayment_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btnpayment.Click

sOrderNo = lblOrder.Text.Trim

Payment.Show()

Me.Dispose()

End Sub

End Class

G. Class Payment

Imports System.Data

Imports System.Data.SqlClient

Public Class Payment

Friend mOrderNo As String, mTotal As Long

Private Sub Payment_Deactivate(ByVal sender As Object, ByVal e

As System.EventArgs) Handles Me.Deactivate

btncancel_Click(Nothing, Nothing)

End Sub

Private Sub Payment_Load(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles MyBase.Load

dvPayment.Columns.Clear()

dvPayment.Rows.Clear()

dvPayment.Columns.Add("No", "No.")

dvPayment.Columns("No").Width = 50

dvPayment.Columns.Add("Type", "Tipe Bayar")

dvPayment.Columns("Type").Width = 150

dvPayment.Columns.Add("Amount", "Jumlah Bayar")

dvPayment.Columns("Amount").Width = 220

lblOrderNo.Text = Point_Of_Sales.sOrderNo.Trim

lbltotal.Text = FormatNumber(Point_Of_Sales.lTotal, 0,

TriState.True, TriState.False, TriState.True)

txtdisc.Text = "0"

lblnetamount.Text = FormatNumber(Point_Of_Sales.lTotal, 0,

TriState.True, TriState.False, TriState.True)

lblbayar.Text = "0"

lblkembali.Text = "0"

End Sub

Private Sub txtdisc_GotFocus(ByVal sender As Object, ByVal e

As System.EventArgs)

If txtdisc.Text.Trim <> "" Then

Page 59: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

89

txtdisc.Text = FormatNumber(txtdisc.Text, 0,

TriState.True, TriState.False, TriState.False)

End If

End Sub

Private Sub txtdisc_KeyDown(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyEventArgs)

If e.KeyCode = Keys.Enter Then

If txtdisc.Text.Trim <> "" Then

cmbtype.Focus()

End If

End If

End Sub

Private Sub txtdisc_LostFocus(ByVal sender As Object, ByVal e

As System.EventArgs)

If txtdisc.Text.Trim <> "" Then

lblnetamount.Text =

FormatNumber(FormatNumber(lbltotal.Text, 0, TriState.True,

TriState.False, TriState.False) - CLng(txtdisc.Text), 0,

TriState.True, TriState.False, TriState.True)

txtdisc.Text = FormatNumber(txtdisc.Text, 0,

TriState.True, TriState.False, TriState.True)

End If

End Sub

Private Sub btncancel_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btncancel.Click

Point_Of_Sales.Show()

Me.Close()

Me.Dispose()

End Sub

Private Sub btnadd_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnadd.Click

If txtamount.Text.Trim <> "" And

IsNumeric(txtamount.Text.Trim) Then

dvPayment.Rows.Add()

Using oRow As DataGridViewRow =

dvPayment.Rows(dvPayment.RowCount - 1)

oRow.Cells(0).Value = dvPayment.RowCount

oRow.Cells(1).Value = IIf(cmbtype.SelectedIndex =

0, "CASH", "CARD")

oRow.Cells(2).Value =

FormatNumber(txtamount.Text.Trim, 0, TriState.False,

TriState.False, TriState.True)

End Using

Dim lRunTotal As Long = 0

For Each oRow As DataGridViewRow In dvPayment.Rows

lRunTotal = lRunTotal +

FormatNumber(oRow.Cells(2).Value, 0, TriState.False,

TriState.False, TriState.False)

Next

lblbayar.Text = FormatNumber(lRunTotal, 0,

TriState.False, TriState.False, TriState.True)

lblkembali.Text = FormatNumber(lRunTotal -

FormatNumber(lblnetamount.Text, 0, TriState.True, TriState.False,

TriState.False), 0, TriState.True, TriState.False, TriState.True)

End If

Page 60: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

90

End Sub

Private Sub btnpaid_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnpaid.Click

If dvPayment.RowCount > 0 Then

If CLng(FormatNumber(lblkembali.Text, 0,

TriState.True, TriState.False, TriState.False)) > -1 Then

Dim dPaidTime As Date = Now()

For Each oRow As DataGridViewRow In dvPayment.Rows

Dim lDisc As Long = 0, lReturn As Long = 0

If oRow.Cells(1).Value = "CASH" Then

lReturn = FormatNumber(lblkembali.Text, 0,

TriState.True, TriState.False, TriState.False)

End If

If oRow.Index = dvPayment.RowCount - 1 Then

lDisc = FormatNumber(txtdisc.Text.Trim, 0,

TriState.True, TriState.False, TriState.False)

End If

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Using oCmd As New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText =

String.Format("INSERT INTO SalesOrder SELECT

'{0}','{1}',{2},{3},{4},'{5}'", lblOrderNo.Text.Trim,

oRow.Cells(1).Value, FormatNumber(oRow.Cells(2).Value, 0,

TriState.True, TriState.False, TriState.False), lDisc, lReturn,

dPaidTime.ToString("yyyy-MM-dd HH:mm:ss"))

oCmd.ExecuteNonQuery()

oCmd.Dispose()

End Using

End Using

Next

btncancel_Click(Nothing, Nothing)

Else

cmbtype.Focus()

End If

End If

End Sub

Private Sub cmbtype_SelectedIndexChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

cmbtype.SelectedIndexChanged

txtamount.Text = ""

txtamount.Focus()

End Sub

End Class

Page 61: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

91

H. Class User_Login

Imports System.Data

Imports System.Text

Imports System.Data.SqlClient

Imports System.Configuration

Public Class User_Login

Private Sub User_Login_FormClosing(ByVal sender As Object,

ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles

Me.FormClosing

btnback_Click(Nothing, Nothing)

End Sub

Private Sub User_Login_Load(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles MyBase.Load

lbluser.Text = gNama

Call pvRefreshGridData()

Call clear()

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

chkshow.Visible = False

txtpass.UseSystemPasswordChar = Not chkshow.Checked

End Sub

Private Sub btnadd_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnadd.Click

Call aktif()

Call clear()

txtid.Focus()

End Sub

Private Sub aktif()

txtid.Enabled = True

txtname.Enabled = True

txtpass.Enabled = True

rdbadmin.Enabled = True

rdbcashier.Enabled = True

btnadd.Enabled = False

btncancel.Enabled = True

btndelete.Enabled = False

btnsave.Enabled = True

chkshow.Visible = True

End Sub

Private Sub nonaktif()

txtid.Enabled = False

txtname.Enabled = False

txtpass.Enabled = False

rdbadmin.Enabled = False

rdbcashier.Enabled = False

chkshow.Visible = False

btnadd.Enabled = True

btncancel.Enabled = False

btndelete.Enabled = False

btnsave.Enabled = False

Page 62: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

92

End Sub

Private Sub clear()

txtid.Text = ""

txtname.Text = ""

txtpass.Text = ""

'rdbadmin.Text = False

'rdbcashier.Text = False

End Sub

Private Sub pvRefreshGridData()

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Dim _sqlView As String = "SELECT userid as [User ID],

name as [Name], password as [Password], level as [Level] FROM

user_login"

Dim _sqlDA As New SqlDataAdapter(_sqlView, oConn)

Dim _sqlDS As New DataSet

_sqlDA.Fill(_sqlDS)

griduser.DataSource = _sqlDS.Tables(0)

_sqlDA.Dispose()

_sqlDS.Dispose()

End Using

End Sub

Private Sub btncancel_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btncancel.Click

Call clear()

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

End Sub

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnsave.Click

Dim squery As String = ""

Dim sLevel As String = ""

Using oConn As SqlConnection = New SqlConnection

oConn.ConnectionString = "initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd="

oConn.Open()

Using oCmd As SqlCommand = New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = "select * from user_login where

userid='" & txtid.Text & "'"

If rdbadmin.Checked Then

sLevel = "Admin"

Else

Page 63: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

93

sLevel = "Cashier"

End If

Using oReader As SqlDataReader =

oCmd.ExecuteReader

If oReader.HasRows Then

squery = String.Format("UPDATE user_login

SET name='{1}'," & _

"password='{2}',level='{3}' WHERE userid='{0}'", txtid.Text.Trim,

txtname.Text.Trim, ComputeHash(txtpass.Text.Trim, Nothing),

sLevel)

Else

squery = String.Format("INSERT into

user_login VALUES('{0}','{1}','{2}','{3}')", txtid.Text.Trim,

txtname.Text.Trim, ComputeHash(txtpass.Text.Trim, Nothing),

sLevel)

End If

MsgBox("Data has been saved...",

MsgBoxStyle.Information, "Info")

oReader.Close()

Call clear()

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

End Using

oCmd.CommandText = squery

oCmd.ExecuteNonQuery()

End Using

If oConn.State = ConnectionState.Open Then

oConn.Close()

End Using

Call pvRefreshGridData()

End Sub

Private Sub btnedit_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnedit.Click

btnedit.Visible = False

btnfind.Visible = True

Call aktif()

Call clear()

txtid.Focus()

btndelete.Enabled = True

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Timer1.Tick

lbltime.Text = Format(Now, "hh:mm:ss tt")

lbldate.Text = Format(Now, "dddd, dd MMMM yyyy")

End Sub

Private Sub btnback_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnback.Click

Me.Dispose()

Main_Menu.Show()

End Sub

Page 64: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

94

Private Sub chkshow_CheckedChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

chkshow.CheckedChanged

txtpass.UseSystemPasswordChar = Not chkshow.Checked

End Sub

Private Sub griduser_CellContentClick(ByVal sender As

System.Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles

griduser.CellContentClick

If griduser.RowCount > 0 Then

If

griduser.Rows(e.RowIndex).Cells(0).Value.ToString.Trim <> "" Then

txtid.Text =

griduser.Rows(e.RowIndex).Cells(0).Value

txtname.Text =

griduser.Rows(e.RowIndex).Cells(1).Value

txtpass.Text =

griduser.Rows(e.RowIndex).Cells(2).Value

rdbadmin.Text =

griduser.Rows(e.RowIndex).Cells(3).Value

End If

End If

End Sub

Private Sub btnfind_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnfind.Click

If txtid.Text <> "" Then

Dim okoneksi As New SqlConnection

okoneksi.ConnectionString = "initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd="

okoneksi.Open()

Dim okomen As New SqlCommand

okomen.Connection = okoneksi

okomen.CommandType = CommandType.Text

okomen.CommandText = String.Format("select * from

user_login where userid='{0}'", txtid.Text)

Dim orider As SqlDataReader = okomen.ExecuteReader

If orider.HasRows Then

Do While orider.Read

txtid.Text = orider.GetValue(0).ToString

txtname.Text = orider.GetValue(1).ToString

txtpass.Text = orider.GetValue(2).ToString

If UCase(orider.GetValue(3).ToString.Trim) =

"ADMIN" Then

rdbadmin.Checked = True

Else

rdbcashier.Checked = True

End If

Loop

txtid.Enabled = False

Else

MsgBox("Data not found, please check again...!!",

MsgBoxStyle.Exclamation, "Verification")

txtid.Text = ""

txtid.Focus()

Page 65: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

95

End If

orider.Close()

okomen.Dispose()

okoneksi.Close()

okoneksi.Dispose()

End If

End Sub

Private Sub btndelete_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btndelete.Click

Dim squery As String = ""

Using oConn As SqlConnection = New SqlConnection

oConn.ConnectionString = "initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd="

oConn.Open()

If txtid.Text <> "" Then

If MsgBox("Are you sure to delete this data?",

MsgBoxStyle.YesNo, "Confirm") = vbYes Then

Dim okomen As New SqlCommand

okomen.Connection = oConn

okomen.CommandType = CommandType.Text

okomen.CommandText = "delete user_login where

userid='" & txtid.Text & "'"

okomen.ExecuteNonQuery()

MsgBox("Data has been delete...!!",

MsgBoxStyle.Information, "Info")

Call clear()

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

End If

End If

End Using

Call pvRefreshGridData()

End Sub

Private Sub txtid_KeyDown(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles txtid.KeyDown

If e.KeyCode = Keys.Enter Then

If txtid.Text.Trim <> "" Then

Dim okoneksi As New SqlConnection

okoneksi.ConnectionString = "initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd="

okoneksi.Open()

Dim okomen As New SqlCommand

okomen.Connection = okoneksi

okomen.CommandType = CommandType.Text

okomen.CommandText = String.Format("select * from

user_login where userid='{0}'", txtid.Text)

Dim orider As SqlDataReader = okomen.ExecuteReader

If orider.HasRows Then

MsgBox("Data already exist, please check

again...!!", MsgBoxStyle.Exclamation, "Verification")

Do While orider.Read

txtid.Text = orider.GetValue(0).ToString

Page 66: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

96

txtname.Text = orider.GetValue(1).ToString

txtpass.Text = orider.GetValue(2).ToString

If UCase(orider.GetValue(3).ToString.Trim)

= "ADMIN" Then

rdbadmin.Checked = True

Else

rdbcashier.Checked = True

End If

Loop

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

Else

txtname.Focus()

End If

orider.Close()

okomen.Dispose()

okoneksi.Close()

okoneksi.Dispose()

End If

End If

End Sub

Private Sub txtname_KeyDown(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles txtname.KeyDown

If e.KeyCode = Keys.Enter Then

txtpass.Focus()

End If

End Sub

End Class

I. Class Item_Master

Imports System.Data

Imports System.Text

Imports System.Data.SqlClient

Imports System.Configuration

Public Class Item_Master

Private Sub Item_Master_FormClosing(ByVal sender As Object,

ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles

Me.FormClosing

btnback_Click(Nothing, Nothing)

End Sub

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles MyBase.Load

'TODO: This line of code loads data into the

'MPDataSet.item_master' table. You can move, or remove it, as

needed.

lbluser.Text = gNama

Call pvRefreshGridData()

Call clear()

Call nonaktif()

Call listcombobox()

Page 67: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

97

Call listcombobox2()

btnedit.Visible = True

btnfind.Visible = False

End Sub

Private Sub btnsave_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnsave.Click

Dim squery As String = ""

Dim sCategory As String = ""

Using oConn As SqlConnection = New SqlConnection

oConn.ConnectionString = "initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd="

oConn.Open()

Using oCmd As SqlCommand = New SqlCommand

oCmd.Connection = oConn

oCmd.CommandType = CommandType.Text

oCmd.CommandText = "select * from item_master

where plu='" & txtplu.Text & "'"

If rdbfood.Checked Then

sCategory = "Food"

Else

sCategory = "Beverage"

End If

Using oReader As SqlDataReader =

oCmd.ExecuteReader

If oReader.HasRows Then

squery = String.Format("UPDATE item_master

SET description='{1}'," & _

"unit='{2}',size='{3}',price='{4}', category='{5}' WHERE

plu='{0}'", txtplu.Text.Trim, txtdesc.Text.Trim,

cmbunit.Text.Trim, cmbsize.Text.Trim, txtprice.Text.Trim,

sCategory)

Else

squery = String.Format("INSERT into

item_master VALUES('{0}','{1}','{2}','{3}','{4}','{5}')",

txtplu.Text.Trim, txtdesc.Text.Trim, cmbunit.Text.Trim,

cmbsize.Text.Trim, txtprice.Text.Trim, sCategory)

End If

MsgBox("Data has been saved...",

MsgBoxStyle.Information, "Info")

oReader.Close()

Call clear()

Call nonaktif()

End Using

oCmd.CommandText = squery

oCmd.ExecuteNonQuery()

End Using

If oConn.State = ConnectionState.Open Then

oConn.Close()

End Using

Page 68: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

98

Call pvRefreshGridData()

End Sub

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles Timer1.Tick

lbltime.Text = Format(Now, "hh:mm:ss tt")

lbldate.Text = Format(Now, "dddd, dd MMMM yyyy")

End Sub

Private Sub clear()

txtplu.Text = ""

txtdesc.Text = ""

txtprice.Text = ""

End Sub

Private Sub listcombobox()

cmbunit.Text = "-"

cmbunit.Items.Add("Slice")

cmbunit.Items.Add("Pcs")

cmbunit.Items.Add("Individual")

cmbunit.Items.Add("Whole")

cmbunit.Items.Add("Small")

cmbunit.Items.Add("Medium")

cmbunit.Items.Add("Large")

End Sub

Private Sub listcombobox2()

cmbsize.Text = "-"

cmbsize.Items.Add("20")

cmbsize.Items.Add("22")

cmbsize.Items.Add("15x15")

cmbsize.Items.Add("30x30")

cmbsize.Items.Add("40x40")

End Sub

Private Sub nonaktif()

txtplu.Enabled = False

txtdesc.Enabled = False

cmbunit.Enabled = False

cmbsize.Enabled = False

txtprice.Enabled = False

btnadd.Enabled = True

btncancel.Enabled = False

btndelete.Enabled = False

btnsave.Enabled = False

cmbunit.Text = "-"

cmbsize.Text = "-"

rdbfood.Enabled = False

rdbbeverage.Enabled = False

End Sub

Private Sub btncancel_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btncancel.Click

Call clear()

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

End Sub

Page 69: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

99

Private Sub btnadd_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnadd.Click

Call aktif()

Call clear()

txtplu.Focus()

End Sub

Private Sub aktif()

txtplu.Enabled = True

txtdesc.Enabled = True

cmbunit.Enabled = True

cmbsize.Enabled = True

txtprice.Enabled = True

btnadd.Enabled = False

btncancel.Enabled = True

btndelete.Enabled = False

btnsave.Enabled = True

rdbfood.Enabled = True

rdbbeverage.Enabled = True

End Sub

Private Sub btndelete_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles btndelete.Click

Dim squery As String = ""

Using oConn As SqlConnection = New SqlConnection

oConn.ConnectionString = "initial

catalog=MP;server=.\SQLEXPRESS;uid=sa;pwd="

oConn.Open()

If txtplu.Text <> "" Then

If MsgBox("Are you sure to delete this data?",

MsgBoxStyle.YesNo, "Confirm") = vbYes Then

Dim okomen As New SqlCommand

okomen.Connection = oConn

okomen.CommandType = CommandType.Text

okomen.CommandText = "delete item_master where

plu='" & txtplu.Text & "'"

okomen.ExecuteNonQuery()

MsgBox("Data has been delete...!!",

MsgBoxStyle.Information, "Info")

Call clear()

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

End If

End If

End Using

Call pvRefreshGridData()

End Sub

Private Sub btnfind_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnfind.Click

If txtplu.Text <> "" Then

Dim okoneksi As New SqlConnection

okoneksi.ConnectionString = "initial

catalog=MP;server=TEN_TEN\SQLEXPRESS;uid=sa;pwd="

Page 70: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

100

okoneksi.Open()

Dim okomen As New SqlCommand

okomen.Connection = okoneksi

okomen.CommandType = CommandType.Text

okomen.CommandText = String.Format("select * from

item_master where plu='{0}'", txtplu.Text)

Dim orider As SqlDataReader = okomen.ExecuteReader

If orider.HasRows Then

Do While orider.Read

txtplu.Text = orider.GetValue(0).ToString

txtdesc.Text = orider.GetValue(1).ToString

cmbunit.Text = orider.GetValue(2).ToString

cmbsize.Text = orider.GetValue(3).ToString

txtprice.Text = orider.GetValue(4).ToString

If UCase(orider.GetValue(5).ToString.Trim) =

"FOOD" Then

rdbfood.Checked = True

Else

rdbbeverage.Checked = True

End If

Loop

txtplu.Enabled = False

Else

MsgBox("Data not found, please check again...!!",

MsgBoxStyle.Exclamation, "Verification")

txtplu.Text = ""

txtplu.Focus()

End If

orider.Close()

okomen.Dispose()

okoneksi.Close()

okoneksi.Dispose()

End If

End Sub

Private Sub btnedit_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnedit.Click

btnedit.Visible = False

btnfind.Visible = True

Call aktif()

Call clear()

txtplu.Focus()

btndelete.Enabled = True

End Sub

Private Sub pvRefreshGridData()

Using oConn As SqlConnection = New

SqlConnection("Server=.\SQLEXPRESS;Initial Catalog=MP;User

ID=sa;password=")

oConn.Open()

Dim _sqlView As String = "SELECT plu as [PLU],

description as [Description], unit as [Unit], size as [Size],

price as [Price], category as [Category] FROM item_master"

Dim _sqlDA As New SqlDataAdapter(_sqlView, oConn)

Dim _sqlDS As New DataSet

Page 71: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

101

_sqlDA.Fill(_sqlDS)

griditem.DataSource = _sqlDS.Tables(0)

_sqlDA.Dispose()

_sqlDS.Dispose()

End Using

End Sub

Private Sub griditem_CellContentClick(ByVal sender As

System.Object, ByVal e As

System.Windows.Forms.DataGridViewCellEventArgs) Handles

griditem.CellContentClick

If griditem.RowCount > 0 Then

If

griditem.Rows(e.RowIndex).Cells(0).Value.ToString.Trim <> "" Then

txtplu.Text =

griditem.Rows(e.RowIndex).Cells(0).Value

txtdesc.Text =

griditem.Rows(e.RowIndex).Cells(1).Value

cmbunit.Text =

griditem.Rows(e.RowIndex).Cells(2).Value

cmbsize.Text =

griditem.Rows(e.RowIndex).Cells(3).Value

txtprice.Text =

griditem.Rows(e.RowIndex).Cells(4).Value

rdbfood.Text =

griditem.Rows(e.RowIndex).Cells(3).Value

End If

End If

End Sub

Private Sub txtplu_KeyDown(ByVal sender As Object, ByVal e As

System.Windows.Forms.KeyEventArgs) Handles txtplu.KeyDown

If e.KeyCode = Keys.Enter Then

If txtplu.Text.Trim <> "" Then

If txtplu.Text <> "" Then

Dim okoneksi As New SqlConnection

okoneksi.ConnectionString = "initial

catalog=MP;server=TEN_TEN\SQLEXPRESS;uid=sa;pwd="

okoneksi.Open()

Dim okomen As New SqlCommand

okomen.Connection = okoneksi

okomen.CommandType = CommandType.Text

okomen.CommandText = String.Format("select *

from item_master where plu='{0}'", txtplu.Text)

Dim orider As SqlDataReader =

okomen.ExecuteReader

If orider.HasRows Then

MsgBox("Data already exist, please check

again...!!", MsgBoxStyle.Exclamation, "Verification")

Do While orider.Read

Page 72: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

102

txtplu.Text =

orider.GetValue(0).ToString

txtdesc.Text =

orider.GetValue(1).ToString

cmbunit.Text =

orider.GetValue(2).ToString

cmbsize.Text =

orider.GetValue(3).ToString

txtprice.Text =

orider.GetValue(4).ToString

If

UCase(orider.GetValue(5).ToString.Trim) = "FOOD" Then

rdbfood.Checked = True

Else

rdbbeverage.Checked = True

End If

Loop

Call nonaktif()

btnedit.Visible = True

btnfind.Visible = False

Else

txtdesc.Focus()

End If

orider.Close()

okomen.Dispose()

okoneksi.Close()

okoneksi.Dispose()

End If

End If

End If

End Sub

Private Sub btnback_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnback.Click

Me.Dispose()

Main_Menu.Show()

End Sub

Private Sub cmbunit_SelectedIndexChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

cmbunit.SelectedIndexChanged

cmbunit.Focus()

End Sub

Private Sub cmbsize_SelectedIndexChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

cmbsize.SelectedIndexChanged

txtprice.Focus()

End Sub

End Class

Page 73: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

103

J. Class Report

Imports System.Data

Imports System.Text

Imports System.Data.SqlClient

Imports System.Configuration

Public Class Report

Private Sub Report_FormClosing(ByVal sender As Object, ByVal e

As System.Windows.Forms.FormClosingEventArgs) Handles

Me.FormClosing

btnback_Click(Nothing, Nothing)

End Sub

Private Sub Report_Load(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles MyBase.Load

End Sub

Private Sub btnback_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnback.Click

Me.Dispose()

Main_Menu.Show()

End Sub

Private Sub pShowReport(ByVal prmReportName As String,

Optional ByVal prmArg() As Object = Nothing)

Try

Dim oCRApp As CRAXDRT.Application = New

CRAXDRT.Application

Dim oCR As CRAXDRT.Report =

oCRApp.OpenReport(String.Format("{0}\{1}",

My.Application.Info.DirectoryPath, prmReportName).Replace("//",

"/"))

With oCR

Dim sServer As String = ".\SQLEXPRESS"

Dim sDB As String = "MP"

Dim sUID As String = "sa"

Dim sPass As String = ""

For Each oLogonTable As CRAXDRT.DatabaseTable In

.Database.Tables

oLogonTable.SetLogOnInfo(sServer, sDB, sUID,

sPass)

Next

If Not prmArg Is Nothing Then

For Each oParam As

CRAXDRT.ParameterFieldDefinition In oCR.ParameterFields

If

oParam.ParameterFieldName.ToUpper.ToString.Contains("START") Then

oParam.ClearCurrentValueAndRange()

oParam.AddCurrentValue(prmArg(0))

ElseIf

oParam.ParameterFieldName.ToUpper.ToString.Contains("END") Then

oParam.ClearCurrentValueAndRange()

oParam.AddCurrentValue(prmArg(1))

Page 74: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

104

End If

Next

End If

'.SQLQueryString = prmQuery

.ExportOptions.FormatType =

CRAXDRT.CRExportFormatType.crEFTPortableDocFormat

.ExportOptions.DestinationType =

CRAXDRT.CRExportDestinationType.crEDTDiskFile

Try

If

IO.File.Exists(String.Format("{0}\tmpReport.pdf",

My.Application.Info.DirectoryPath).Replace("\\", "\")) Then

IO.File.Delete(String.Format("{0}\tmpReport.pdf",

My.Application.Info.DirectoryPath).Replace("\\", "\"))

End If

Catch e As Exception

End Try

.ExportOptions.DiskFileName =

String.Format("{0}\tmpReport.pdf",

My.Application.Info.DirectoryPath).Replace("\\", "\")

.ExportOptions.PDFExportAllPages =

.ExportOptions.PDFExportAllPages

.ExportOptions.PDFFirstPageNumber =

.ExportOptions.PDFFirstPageNumber

.ExportOptions.PDFLastPageNumber =

.ExportOptions.PDFLastPageNumber

.Export(False)

End With

oCR = Nothing

oCRApp = Nothing

If IO.File.Exists(String.Format("{0}\tmpReport.pdf",

My.Application.Info.DirectoryPath).Replace("\\", "\")) Then

System.Diagnostics.Process.Start(String.Format("{0}\tmpReport.pdf"

, My.Application.Info.DirectoryPath).Replace("\\", "\"))

End If

Catch ex As Exception

End Try

End Sub

Private Sub optItem_CheckedChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

optItem.CheckedChanged

dtpStart.Enabled = False

dtpEnd.Enabled = False

End Sub

Private Sub optOrder_CheckedChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

optOrder.CheckedChanged

dtpStart.Enabled = True

Page 75: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

105

dtpEnd.Enabled = True

End Sub

Private Sub optTable_CheckedChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

optTable.CheckedChanged

dtpStart.Enabled = True

dtpEnd.Enabled = True

End Sub

Private Sub optPos_CheckedChanged(ByVal sender As

System.Object, ByVal e As System.EventArgs) Handles

optPos.CheckedChanged

dtpStart.Enabled = True

dtpEnd.Enabled = True

End Sub

Private Sub btnview_Click(ByVal sender As System.Object, ByVal

e As System.EventArgs) Handles btnview.Click

If optItem.Checked Then

pShowReport("RptItemMaster.rpt")

ElseIf optOrder.Checked Then

Dim dStartDate As Date = dtpStart.Value

Dim dEndDate As Date = dtpEnd.Value

Dim arg(1) As Object

arg(0) = dStartDate

arg(1) = dEndDate

pShowReport("RptSalesByOrder.rpt", arg)

ElseIf optTable.Checked Then

Dim dStartDate As Date = dtpStart.Value

Dim dEndDate As Date = dtpEnd.Value

Dim arg(1) As Object

arg(0) = dStartDate

arg(1) = dEndDate

pShowReport("RptSalesByTable.rpt", arg)

ElseIf optPos.Checked Then

Dim dStartDate As Date = dtpStart.Value

Dim dEndDate As Date = dtpEnd.Value

Dim arg(1) As Object

arg(0) = dStartDate

arg(1) = dEndDate

pShowReport("RptSalesByPos.rpt", arg)

End If

End Sub

End Class

Page 76: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

106

4.4. Testing

A. Form Order

Tabel IV.13

Hasil Pengujian Black Box Testing Form Order

B. Form Login Menu

Tabel IV.14

Hasil Pengujian Black Box Testing Form Login Menu

Page 77: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

107

C. Form Main Menu

Tabel IV.15

Hasil Pengujian Black Box Testing Form Main Menu

D. Form Point Of Sales

Tabel IV.16

Hasil Pengujian Black Box Testing Form Point Of Sales

Page 78: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

108

E. Form User Login

Tabel IV.17

Hasil Pengujian Black Box Testing Form User Login

F. Form Item Master

Tabel IV.18

Hasil Pengujian Black Box Testing Form Item Master

Page 79: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

109

4.5. Support

Dalam pembuatan applikasi pemesanan makanan dan minuman ini,

penulis menggunakan 2 bahasa pemrograman yaitu java dan vb. Untuk

mendukung itu semua, masing-masing memiliki spesifikasi hardware dan

software tersendiri. Untuk java, disini penulis menggunakan software

eclipse, untuk vb menggunakan vb.net, sedangkan untuk databasenya

sendiri menggunakan SQL SERVER 2005 EXPRESS.

Untuk penggunaan hardware, penulis menyarankan memakai

processor Core I3 atau sesudahnya dengan RAM minimal 2GB. Sebab

software eclipse itu sendiri lumayan banyak menggunakan resources

memory.

4.5.1. Spesifikasi Hardware dan Software

Tabel IV.19

Spesifikasi Hardware dan Software

Kebutuhan Keterangan

Sistem Operasi : Windows 7

Processor : Core I 3, 2.10 GHz

RAM : 2 GB

Harddisk : 600 GB

CD-ROM : DVD R/W

Monitor : 14"

Keyboard : 85 keys

Printer : Dot Matrik (Struk), Laser Jet (Report)

Mouse : Optical Mouse USB

Browser : Mozilla Firefox, Google Chrome

Software : Eclipse, VB.Net, SQL Server 2005 EXPRESS

Page 80: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

110

4.6. Spesifikasi Dokumen Sistem Usulan

Berikut ini akan dibahas dokumen sistem usulan dari sistem

pemesanan makanan dan minuman pada Michel’s Patisserie :

a. Nama Dokumen : Struk Pembayaran

Fungsi : Sebagai bukti pembayaran

Sumber : Cashier

Tujuan : Pelanggan

Media : Kertas

Frekuensi : Setiap pelanggan melakukan pembayaran

Format : Lampiran B – 1

b. Nama Dokumen : Laporan Data Item Master

Fungsi : Sebagai acuan menu untuk cashier atau waiters

Sumber : Admin

Tujuan : cashier atau waiters

Media : Kertas

Frekuensi : Setiap dibutuhkan untuk laporan

Format : Lampiran B – 2

c. Nama Dokumen : Laporan Penjualan Per Sales Order

Fungsi : Sebagai laporan penjualan per nomor sales

Sumber : Admin

Tujuan : Store Manager

Media : Kertas

Frekuensi : Setiap store manager memerlukan data tersebut

Format : Lampiran B – 3

Page 81: BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. … file31 BAB IV RANCANGAN SISTEM DAN PROGRAM USULAN 4.1. Analisis Kebutuhan Software A. Tahapan Analisis Sistem perpanjangan masa

111

d. Nama Dokumen : Laporan Penjualan Per Table ID

Fungsi : Sebagai laporan penjualan per nomor meja

Sumber : Admin

Tujuan : Store Manager

Media : Kertas

Frekuensi : Setiap store manager memerlukan data tersebut

Format : Lampiran B – 4

e. Nama Dokumen : Laporan Penjualan Per POS ID

Fungsi : Sebagai laporan penjualan per nomor POS

Sumber : Admin

Tujuan : Store Manager

Media : Kertas

Frekuensi : Setiap store manager memerlukan data tersebut

Format : Lampiran B – 5