• Tidak ada hasil yang ditemukan

DPPL Advanced Restaurant System

N/A
N/A
Protected

Academic year: 2021

Membagikan "DPPL Advanced Restaurant System"

Copied!
40
0
0

Teks penuh

(1)

DESKRIPSI PERANCANGAN PERANGKAT LUNAK

Advanced Restaurant System

untuk:

Mata Kuliah Rekayasa Perangkat Lunak

Dipersiapkan oleh:

Kelompok 03 K-03

Alif Raditya Rochman

/ 13511013

Iskandar Setiadi

/ 13511073

Kelvin Valensius

/ 13511009

Michael Yurry

/ 18211044

Ryan Ignatius H.

/ 13511070

Program Studi Teknik Informatika/Sistem dan Teknologi Informasi

STEI - ITB

Jl. Ganesha 10, Bandung 40132

Program Studi Teknik Informatika / Sistem dan Teknologi Informasi

Nomor Dokumen

Halaman

DPPL-03

40

(2)

DAFTAR PERUBAHAN

Revisi

Deskripsi

A

B

C

D

E

F

G

INDEX TGL - A B C D E F G Ditulis oleh Diperiksa oleh Disetujui oleh

(3)

Daftar Halaman Perubahan

(4)

Daftar Isi

1. Pendahuluan ... 5

1.1 Tujuan Penulisan Dokumen ... 5

1.2 Lingkup Masalah ... 5

1.3 Definisi dan Istilah ... 5

1.4 Aturan Penamaan dan Penomoran ... 6

1.5 Referensi ... 6

1.6 Ikhtisar Dokumen ... 6

2 Deskripsi Perancangan Global... 7

2.1 Rancangan Lingkungan Implementasi... 7

2.2 Deskripsi Data ... 9

2.2.1 Definisi Domain/Type ... 9

2.2.2 E-R Diagram ... 10

2.2.3 Daftar Tabel Basisdata ... 12

2.3 Deskripsi Modul ... 13

3 Deskripsi Perancangan Rinci ... 15

3.1 Deskripsi Rinci Tabel ... 15

3.1.1 Tabel Feedback ... 15 3.1.2 Tabel Outcome ... 15 3.1.3 Tabel Feedback ... 15 3.1.4 Tabel Citarasa ... 16 3.1.5 Tabel Income ... 16 3.1.6 Tabel Buy ... 17 3.1.7 Tabel Sell ... 17

3.2 Deskripsi Rinci Modul... 15

3.2.1 Modul 01 ... 18

3.2.1.1 Fungsi Modul ... 18

3.2.1.2 Spesifikasi Layar Utama ... 18

3.2.1.3 Spesifikasi Query ... 19

3.2.1.4 Spesifikasi Field Data Layar ... 20

3.2.1.5 Spesifikasi Objek-Objek pada Layar ... 20

3.2.1.6 Spesifikasi Proses/Algoritma ... 22

3.2.2 Modul 02 ... 23

3.2.2.1 Fungsi Modul ... 23

3.2.2.2 Spesifikasi Layar Utama ... 24

3.2.2.3 Spesifikasi Query ... 26

3.2.2.4 Spesifikasi Field Data Layar ... 26

3.2.2.5 Spesifikasi Objek-Objek pada Layar ... 28

3.2.2.6 Spesifikasi Proses/Algoritma ... 30

3.2.3 Modul 03 ... 32

3.2.3.1 Fungsi Modul ... 32

3.2.3.2 Spesifikasi Layar Utama ... 32

3.2.3.3 Spesifikasi Query ... 33

3.2.3.4 Spesifikasi Field Data Layar ... 34

3.2.3.5 Spesifikasi Objek-Objek pada Layar ... 34

3.2.4 Modul 04 ... 36

3.2.4.1 Fungsi Modul ... 36

3.2.4.2 Spesifikasi Layar Utama ... 36

3.2.4.3 Spesifikasi Query ... 37

3.2.4.4 Spesifikasi Field Data Layar ... 38

3.2.4.5 Spesifikasi Objek-Objek pada Layar ... 38

(5)

1. Pendahuluan

1.1 Tujuan Penulisan Dokumen

Tujuan utama dari pembuatan DPPL ini adalah sebagai pedoman untuk

developer

untuk mendukung

segala kegiatan bisnis pada sebuah restoran secara digital. Kegiatan bisnis yang dimaksud mencakup

segala aspek kegiatan yang berinteraksi dengan sistem device tertentu. Kegiatan restoran yang

dimaksud mencakup proses pemesanan makanan, pengolahan menu, harga, serta laporan keuangan

yang dapat direkapitulasi dalam jangka waktu tertentu.

1.2 Lingkup Masalah

Di zaman modern ini, pada umumnya segala aktivitas telah mengimplementasikan sistem yang

terdigitalisasi. Kegiatan-kegiatan tersebut bervariasi mulai dari pendidikan, transportasi sampai hal

makanan pun ikut merasakan dampak nyata dari kemajuan teknologi tersebut. SKPL ini akan

membahas serta menganalisis aplikasi kemajuan teknologi pada sistem restoran. Biasanya pada

restoran, sering terjadi masalah-masalah seperti kesalahan pemesanan yang diakibatkan oleh

miskomunikasi, kesalahan penulisan dikarenakan tulisan yang buruk oleh pelanggan, salah nomor

meja dan lain sebagainya. Kecurangan juga dapat terjadi ketika pelayan memanipulasi data

pengeluaran dan pemasukan karena tidak setiap transaksi dan pemesanan dapat dilihat oleh manager.

Kesulitan lainnya yaitu ketika merubah menu dan menambahkan suatu promosi pada lembar menu.

Biaya tambahan yang diakibatkan oleh pencetakan kertas pesanan, maupun buruknya manajemen

transaksi menjadi suatu kekurangan dari sistem restoran tradisional. Oleh sebab itu rekayasa perangkat

lunak ini dibuat untuk memenuhi kebutuhan kemajuan teknologi di restoran tersebut.

1.3 Definisi dan Istilah

Berikut ini adalah penjelasan dari semua definisi dan singkatan yang digunakan dalam dokumen ini:

No.

Istilah

Definisi

1

Pelanggan

Orang yang membayar produk dan yang akan memutuskan

kebutuhannya

2

Manager

Orang yang mengatur dan mengkordinasikan pekerjaan

(6)

1.4 Aturan Penamaan dan Penomoran

Berikut ini adalah aturan penomoran yang digunakan dalam sistem ini:

ID

Penjelasan

FR-XX

Merupakan notasi dari Functional Requirement ke- XX

M-XX

Merupakan notasi dari Modul ke- XX

QUE-XX

Merupakan notasi dari Query ke- XX

ALGO-XX

Merupakan notasi dari Algoritma ke- XX

1.5 Referensi

Dalam pengerjaan dokumentasi PL ini, referensi-referensi yang digunakan adalah sebagai berikut:

Roger S. Pressman; Software Engineering: A Practitioner’s Approach (7

th

Ed.); Mc Graw-Hill,

2010

Ian Sommerville; Software Engineering (8

th

Ed.); Addison-Wesley, 2007

Slide kuliah & Template dokumen IF 2036 – Rekayasa Perangkat Lunak ITB Tahun 2013

SKPL-03 Advanced Restaurant System Edisi 19 April 2013

1.6 Ikhtisar Dokumen

Dokumen DPPL untuk

Advanced Restaurant System

ini berisi deskripsi kebutuhan

pengembangan perangkat lunak secara rinci. Dokumen ini dibagi menjadi 3 bagian utama,

yaitu:

1.

Bab 1 Pendahuluan, berisi tujuan penulisan dokumen, lingkup masalah yang ditangani

pada perangkat lunak

advanced restaurant system

, definisi (beserta istilah dan

singkatan), aturan penomoran, referensi yang digunakan untuk dokumen ini, serta

deskripsi umum dokumen (ikhtisar)

2.

Bab 2 Deskripsi Perancangan Global, berisi deskripsi rancangan lingkungan

implementasi, deskripsi basis data yang dikelola oleh

advanced restaurant system

,

serta deskripsi hirarki dari modul proses yang akan dibangun

3.

Bab 3 Deskripsi Perancangan Rinci (penjabaran Bab 2), berisi deskripsi rinci tabel,

deskripsi rinci masing-masing modul yang mencakup fungsi beserta

spesifikasi-spesifikasinya, dan matriks kerunutan dari perancangan

advanced restaurant system

ini.

(7)

2 Deskripsi Perancangan Global

2.1 Rancangan Lingkungan Implementasi

Advanced Restaurant System (ARS) merupakan sistem yang mendukung segala kegiatan bisnis pada

sebuah restoran. Sistem ini terhubung dengan suatu device yang dapat menerima pesanan dari

pelanggan dalam bentuk digital, kemudian device tersebut akan menyampaikan kepada sistem. ARS

meneruskan kepada juru masak di dapur untuk menyiapkan makanannya. Setiap makanan memiliki

harga modal dan pemasukan yang tercatat dalam sebuah

database.

Pelanggan dapat memasukkan

kritik dan saran melalui device tersebut yang kemudian akan diteruskan ke dalam sistem untuk

disimpan. Manager sewaktu-waktu dapat melihat pemasukan dan pengeluaran dari sistem restoran.

Sistem dapat memberikan hasil 5 makanan terlaris. Juru masak juga dapat memasukkan input berupa

recommendation suatu makanan maupun cita rasa yang dimiliki, dan disimbolkan dalam bentuk icon.

Pelanggan dapat melihat kategori makanan terlaris, recommended, dan sesuai cita rasanya. Manager

juga dapat melihat kritik dan saran dari pelanggan untuk menjadi bahan evaluasi. Pemasukan dan

pengeluaran dari makanan yang ada dicatat secara otomatis dari pembelian dan penjualan makanan.

Adapun manager dapat melihat hasil laporan dari usaha restoran tersebut. Kasir dapat mengubah

modal dan harga dari makanan tersebut. Kasir juga dapat memasukkan pengeluaran/pendapatan

restoran yang berasal bukan dari makanan yang dijual. Kasir juga dapat memasukkan promo makanan

saat itu yang dapat dilihat oleh pelanggan melalui device yang tersedia di setiap meja.

(8)

Sistem

Advanced Restaurant

memiliki batasan-batasan sebagai berikut:

1.

Perangkat lunak melakukan penyimpanan data menggunakan MySQL berbasis Web

2.

Perangkat lunak dapat terintegrasi dengan semua device untuk pelanggan secara

real-time

3.

Perangkat lunak menerima input data pesanan dari pelanggan dan akan ter-

update

langsung

pada sistem

4.

Perangkat lunak harus mendukung penggunaan

multi-platform

, yaitu adanya integrasi data

antara device

portable

dengan device non-

portable

seperti PC

5.

Perangkat lunak mendukung pengolahan laporan keuangan menggunakan SPSS maupun

Microsoft Office

Aplikasi

Client-Server

ini akan berfungsi dengan spesifikasi:

Server : Terdiri atas 1 set PC yang aktif selama jam operasional dan dapat terhubung dengan client.

Server dikelola oleh admin

Client : Terdiri dari beberapa device yang terhubung ke server selama server aktif.

OS

: Server menggunakan FreeBSD version >= 8.2, Client berbasis PC menggunakan Windows

version >= XP, Client berbasis device portable menggunakan OS berbasis Android

DBMS : MySQL version >= 5.1

Berikut ini adalah tabel kebutuhan-kebutuhan yang diperlukan dalam perancangan ini:

ID Kebutuhan Penjelasan

FR-01

P/L dapat menampilkan daftar menu

beserta citarasanya

Menu yang ditampilkan adalah menu yang

stoknya masih

available

. Citarasa disimpan

dalam bentuk

icon

gambar

FR-02

P/L

dapat

menerima

dan

mentransmisikan pesanan

Pesanan ditampilkan dalam bentuk digital, dalam

bentuk id beserta jumlahnya

FR-03

P/L dapat menampilkan serta memproses

transaksi pemesanan

Transaksi pemesanan dikelola oleh kasir

FR-04

P/L

dapat

mencetak

struk

hasil

pemesanan

Struk hasil pemesanan didapat dari finalisasi

transaksi antara pelanggan dengan kasir

FR-05

P/L dapat mengupdate semua daftar

menu yang tersimpan beserta citarasanya

Daftar menu dapat dimanipulasi oleh admin

(operasi tambah, hapus, serta update)

FR-06

P/L dapat menerima dan menyimpan

kritik & saran dari pelanggan

Pelanggan dapat memberikan kritik & saran

melalui device yang dipasang di setiap meja

FR-07

P/L dapat menampilkan rekap transaksi

penjualan

Rekap transaksi penjualan dapat dilihat oleh

manager dan dikustomisasi sesuai periode

tertentu

FR-08

P/L dapat mengenerate dan menampilkan

laporan keuangan

Laporan keuangan merupakan gabungan dari

rekap

transaksi

maupun

pendapatan

dan

pengeluaran

non-food

yang dapat diakses

manager

(9)

ID Kebutuhan Penjelasan

FR-09

P/L dapat menampilkan dan melakukan

proses update promo

Admin dapat menambahkan promo kedalam

datastore

. Promo yang dimaksud adalah diskon

yang dilangsungkan dalam periode tertentu

FR-10

P/L dapat menampilkan dan melakukan

proses update rekomendasi makanan

Koki dapat memberikan rekomendasi makanan

dan sistem dapat memberikan rekomendasi

tambahan sesuai

best-seller

yang terjual

FR-11

P/L dapat melakukan manajemen stok

Manager dapat menambahkan dan mengupdate

harga modal dari suatu stok menu yang tersimpan

FR-12

P/L dapat menerima masukan berupa

pendapatan eksternal

Admin dapat menambahkan masukan berupa

pendapatan tambahan yang tidak terproses dalam

jual beli antara pelanggan dengan restoran

2.2 Deskripsi Data

Bagian ini berisikan deskripsi tabel-tabel basis data yang mendukung Advanced Restaurant System

yang telah kami rancang. Berikut ini adalah penjabaran dari masing-masing bagian basis data:

2.2.1 Definisi Domain/Type

Domain name Power Designer Type

recommended

BOOLEAN

timestamp

DATETIME

diskon

FLOAT

harga

INT

id_buy

INT

id_citarasa

INT

id_feedback

INT

id_income

INT

id_makanan

INT

id_outcome

INT

id_sell

INT

modal

INT

no_meja

INT

(10)

Domain name Power Designer Type

price

INT

quantity

INT

stok

INT

content

TEXT

keterangan

TEXT

gambar

VARCHAR

nama

VARCHAR

2.2.2 E-R Diagram

Gambar 2.2.2-1 Entity-Relationship Diagram Advanced Restaurant System

Entity :

Feedback

o

id_feedback

o

timestamp

o

content

Outcome

o

id_outcome

(11)

o

price

o

keterangan

o

timestamp

Makanan

o

id_makanan

o

stok

o

diskon

o

nama

o

modal

o

recommended

o

harga

o

keterangan

Citarasa

o

id_citarasa

o

nama

o

gambar

Income

o

id_income

o

no_meja

o

keterangan

o

price

o

timestamp

Relationship :

Buy, relasi antara entitas Outcome dengan Makanan. Relasi ini merupakan relasi many-to-many

yang mempunyai atribut quantity.

Has, relasi antara entitas Makanan dengan Citarasa. Relasi ini merupakan relasi one-to-many

antara Citarasa dan Makanan.

Sell, relasi antara entitas Income dengan Makanan. Relasi ini merupakan relasi many-to-many

yang mempunyai atribut quantity.

(12)

2.2.3 Daftar Tabel Basisdata

Awali dengan daftar tabel basisdata, primary key dan deskripsi isinya.

Nama Tabel Primary key Data Store pada DFD Terkait

Elemen E/R

Terkait Deskripsi isi

Feedback id_feedback feedback Feedback (entitas)

Ini adalah tabel berisi data feedback dari customer

Outcome id_outcome order Outcome (entitas)

Ini adalah tabel berisi rincian pengeluaran yang dilakukan restoran Makanan id_makanan food Makanan

(entitas)

Ini adalah tabel berisi rincian makanan apa saja yang ada di menu

Citarasa id_citarasa food Citarasa (entitas)

Ini adalah tabel berisi rincian citarasa beserta link menuju gambar citarasa tersebut Income id_income order Income

(entitas)

Ini adalah tabel berisi rincian pemasukan yang dilakukan restoran Buy

id_makanan, id_outcome,

quantity

order Buy (relasi)

Ini adalah tabel relasi antara tabel Makanan dan tabel Outcome

Sell

id_income, id_makanan,

quantity

order Sell (relasi)

Ini adalah tabel relasi antara tabel Income dan tabel Makanan

(13)

2.3 Deskripsi Modul

Gambar 2.3-1 Struktur Modul Advanced Restaurant System

Berikut ini adalah keterangan dari masing-masing modul yang dispesifikasikan diatas:

No

Nama Modul

Keterangan

M-01

Pengolahan Pesanan

Modul ini terdiri atas 3 bagian utama, yaitu permintaan

pesanan (1.1), entri pesanan (1.2), dan finalisasi

pesanan (1.3). Finalisasi pesanan dapat dibagi menjadi

3 bagian, yaitu update / cancel pesanan (1.3.1),

pembayaran pesanan (1.3.2), dan pencetakan struk

(1.3.3).

Modul ini secara umum menangani transaksi

pemesanan makanan oleh pelanggan sampai proses

pembayaran yang dilayani oleh kasir berakhir.

M-02

Pengolahan Menu dan

Rekomendasi

Modul ini terdiri atas 5 bagian utama, yaitu manajemen

menu (2.1), entri / cancel promo (2.2), entri citarasa

(2.3), manajemen harga modal (2.4), dan manajemen

rekomendasi (2.5).

(14)

No

Nama Modul

Keterangan

Modul ini secara umum menangani segala hal yang

terkait dengan menu restoran, misalnya harga,

rekomendasi, citarasa, dan promo.

M-03

Pengolahan Laporan

Modul ini terdiri atas 2 bagian utama, yaitu entri

income

eksternal (3.1) dan manajemen laporan

keuangan (3.2). Manajemen laporan keuangan dapat

dibagi menjadi 2 bagian, yaitu update dan monitoring

laporan (3.2.1) dan cetak laporan (3.2.2).

Modul ini secara umum menangani pemrosesan

laporan keuangan (baik dari proses penjualan makanan

maupun

income

eksternal) yang ditangani oleh

manajemen restoran.

M-04

Pengolahan Feedback

Modul ini terdiri atas 2 bagian utama, yaitu entri

feedback (4.1) dan rekapitulasi feedback (4.2).

Modul ini secara umum menangani mekanisme entri

oleh pelanggan dan rekapitulasi feedback yang dapat

diakses oleh manajemen restoran.

(15)

3 Deskripsi Perancangan Rinci

3.1 Deskripsi Rinci Tabel

3.1.1 Tabel Feedback

Identifikasi/Nama : Feedback

Deskripsi Isi : Ini adalah tabel berisi data feedback dari customer Jenis : tabel datainduk/referensi/transaksi

Volume : 100000 data Laju : 100 data/hari Primary Key : id_feedback

Id Field Deskripsi Tipe & length Boleh

NULL Default Keterangan

id_feedback Index tabel

Feedback INT(6) NO - Primary key

timestamp Waktu feedback

disubmit DATETIME NO - -

content Isi feedback TEXT NO - -

Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

3.1.2 Tabel Outcome

Identifikasi/Nama : Outcome

Deskripsi Isi : Ini adalah tabel berisi rincian pengeluaran yang dilakukan restoran Jenis : tabel datainduk/referensi/transaksi

Volume : 100000 data Laju : 1000 data / hari Primary Key : id_outcome

Id Field Deskripsi Tipe & length Boleh

NULL Default Keterangan

id_outcome Index tabel

Outcome INT(8) NO - Primary key

timestamp

Waktu data pengeluaran

disubmit

DATETIME NO - -

price Harga transaksi

pengeluaran INT(8) NO - -

keterangan

Keterangan transaksi pengeluaran

TEXT YES NULL -

Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

3.1.3 Tabel Makanan

Identifikasi/Nama : Makanan

Deskripsi Isi : Ini adalah tabel berisi rincian makanan apa saja yang ada di menu Jenis : tabel datainduk/referensi/transaksi

Volume : 250 data Laju : 100 data / hari Primary Key : id_makanan

(16)

Id Field Deskripsi Tipe & length Boleh

NULL Default Keterangan

id_makanan Index tabel

Makanan INT(3) NO - Primary key

stok Jumlah stok

makanan INT(5) NO - -

diskon Diskon makanan

(jika ada) FLOAT(3) YES 0.0 -

nama Nama makanan VARCHAR(64) NO - -

keterangan Keterangan tentang

makanan TEXT NO - -

harga Harga makanan INT(7) NO - -

recommended Rekomendasi chef

atau tidak BOOLEAN YES NO -

modal Harga modal

makanan INT(7) NO - -

id_citarasa Index citarasa dari

tabel Citarasa INT(2) YES NULL

Refer ke tabel Citarasa Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

3.1.4 Tabel Citarasa

Identifikasi/Nama : Citarasa

Deskripsi Isi : Ini adalah tabel berisi rincian citarasa beserta link menuju gambar citarasa tersebut Jenis : tabel datainduk/referensi/transaksi

Volume : 25 data Laju : 100 data / hari Primary Key : id_citarasa

Id Field Deskripsi Tipe & length Boleh

NULL Default Keterangan

id_citarasa Index tabel Citarasa INT(2) NO - Primary key

nama Nama citarasa VARCHAR(64) NO - -

gambar Link gambar

citarasa VARCHAR(128) NO - -

Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

3.1.5 Tabel Income

Identifikasi/Nama : Income

Deskripsi Isi : Ini adalah tabel berisi rincian pemasukan yang dilakukan restoran Jenis : tabel datainduk/referensi/transaksi

Volume : 100000 data Laju : 1000 data / hari Primary Key : id_income

Id Field Deskripsi Tipe & length Boleh

(17)

id_income Index tabel Income INT(8) NO - Primary key Timestamp Waktu data pemasukan disubmit DATETIME NO - -

no_meja Nomor meja yang

memesan pesanan INT(3) YES NULL -

keterangan Keterangan data

pemasukan TEXT YES NULL -

price Harga transaksi

pemasukan INT(8) NO - -

Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

3.1.6 Tabel Buy

Identifikasi/Nama : Buy

Deskripsi Isi : Ini adalah tabel relasi antara tabel Makanan dan tabel Outcome Jenis : tabel datainduk/referensi/transaksi

Volume : 1000000 data Laju : 5000 data / hari

Primary Key : id_makanan, id_outcome, quantity

Id Field Deskripsi Tipe & length Boleh

NULL Default Keterangan

id_makanan Index makanan dari

tabel Makanan INT(3) NO -

Primary key, Refer ke tabel

Makanan id_outcome Index outcome dari

tabel Outcome INT(8) NO -

Primary key, Refer ke tabel

Outcome quantity Jumlah makanan

dalam transaksi ini INT(4) NO - Primary key Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

3.1.7 Tabel Sell

Identifikasi/Nama : Sell

Deskripsi Isi : Ini adalah tabel relasi antara tabel Income dan tabel Makanan Jenis : tabel datainduk/referensi/transaksi

Volume : 1000000 data Laju : 5000 data / hari

Primary Key : id_income, id_makanan, quantity

Id Field Deskripsi Tipe & length Boleh

NULL Default Keterangan

id_income Index income dari

tabel Income INT(8) NO -

Primary key, Refer ke tabel

Income id_makanan Index makanan dari

tabel Makanan INT(3) NO -

Primary key, Refer ke tabel

Makanan quantity Jumlah makanan

dalam transaksi ini INT(2) NO - Primary key Catatan : kolom “Boleh NULL” berisi “NO” artinya tidak boleh kosong, berisi “YES” artinya boleh NULL

(18)

3.2 Deskripsi Rinci Modul

3.2.1 Modul 01 : Pengolahan Pesanan

3.2.1.1 Fungsi Modul

No Fungsi Jenis Tabel Terkait

1 Menampilkan menu pesanan Report Tabular Makanan, Sell, Citarasa

2 Melakukan entri pesanan Form Entry Tabular Makanan, Sell, Citarasa

3 Menampilkan promo setiap menu Report Tabular Makanan

4 Mengupdate pesanan Form Entry Tabular Makanan, Sell

5 Membatalkan pesanan Form Entry Tabular Makanan, Sell

6 Menampilkan total harga Form berisi dialog saja Makanan, Sell

7 Melakukan pembayaran pesanan Form Entry Tabular Makanan, Sell, Income

8 Mengupdate stok tersisa Proses tanpa layar Makanan, Sell

9 Mencetak struk Proses tanpa layar Makanan, Sell

3.2.1.2 Spesifikasi Layar Utama

(19)

Gambar 3.2.1.2-2 Layar Modul Pengolahan Pesanan (Login Panel)

Gambar 3.2.1.2-3 Layar Modul Pengolahan Pesanan (Cashier Panel)

3.2.1.3 Spesifikasi Query

ID Query Deskripsi Ekspresi Query

QUE-01

Menampilkan daftar makanan dengan nama tertentu dan memilih atribut nama,

keterangan, gambar, stok, harga, modal dengan syarat stok makanan tidak kosong

SELECT Makanan.nama, keterangan, gambar, stok, harga, modal FROM Makanan, Citarasa, Sell WHERE Makanan.id_citarasa =

(20)

QUE-02

Mendapatkan semua data username dan password yang tersimpan dalam tabel Pengguna (tabel eksternal)

SELECT * FROM Pengguna

QUE-03 Mencari recommended makanan tertentu SELECT recommended FROM Makanan

3.2.1.4 Spesifikasi Field Data Layar

Label Field Tabel/

Query Validasi Keterangan

buttonBuy_Utama quantity Sell NOT NULL Kuantitas dari stok makanan yang tersedia

textFieldUsername_Login username Pengguna NOT NULL Username staff untuk autentikasi perangkat lunak textFieldPassword_Login password Pengguna NOT NULL Password staff untuk autentikasi

perangkat lunak

buttonBuy_Cashier quantity Sell NOT NULL Kuantitas dari stok makanan yang tersedia

3.2.1.5 Spesifikasi Objek-Objek pada Layar

Id_Objek Jenis Keterangan

tabPromo_Utama Tab Jika di-klik, akan menampilkan daftar makanan yang sedang dalam masa promo

labelPromoXX_Utama Label

Label yang berisi nama makanan ke-XX yang sedang dalam masa promo(XX merupakan index promo dimulai dari 1 sampai total jenis makanan yang sedang promo)

buttonGoPromo_Utama Button Jika di-klik, maka hanya akan menampilkan makanan dengan nama makanan pada labelPromoXX_Utama

tabBestSeller_Utama Tab Jika di-klik, akan menampilkan daftar makanan yang merupakan best seller

labelBestSellerXX_Utama Label

Label yang berisi nama makanan ke-XX yang merupakan Best Seller (XX merupakan index best seller dimulai dari 1 sampai total jenis makanan yang merupakan best seller)

buttonGoBestSeller_Utama Button Jika di-klik, maka hanya akan menampilkan makanan dengan nama makanan pada labelBestSellerXX_Utama

tabRecommendation_Utama Tab Jika di-klik, akan menampilkan daftar makanan yang direkomendasi chef

labelRekomendasiXX_Utama Label

Label yang berisi nama makanan ke-XX yang direkomendasi chef (XX merupakan index rekomendasi dimulai dari 1 sampai total jenis makanan yang direkomendasi)

buttonGoRekomendasi_Utama Button Jika di-klik, maka hanya akan menampilkan makanan dengan nama makanan pada labelRekomendasiXX_Utama

labelAdmin_Utama Label Label yang memberikan keterangan buttonAdmin_Utama

buttonAdmin_Utama Button Jika di-klik, maka aplikasi akan masuk kedalam tampilan Login Panel (Gambar 3.2.1.2-2)

(21)

Id_Objek Jenis Keterangan

itemList_Utama List List yang berisikan daftar nama FoodItem, masing-masing memiliki 2 buah button dan 1 label quantity yang dipilih

addItemList_Utama Button Button yang berfungsi untuk menambah quantity pesanan

removeItemList_Utama Button Button yang berfungsi untuk mengurangi quantity pesanan

labelQItemList_Utama Label Label yang memberikan keterangan jumlah quantity pesanan

labelTransactionOv_Utama Label Label yang memberikan keterangan Transaction Overview

labelTotal_Utama Label Label yang memberikan keterangan jumlah pesanan beserta harga total dari semua pesanan yang dipesan

buttonBuy_Utama Button

Jika di-klik, button ini akan menggunakan algoritma

CheckOrderValid untuk melakukan validasi pesanan. Jika pesanan tidak valid, maka akan ditampilkan alertbox pada layar yang memberikan pesan bahwa pesanan invalid. Jika pesanan valid, maka pesanan akan ditransmisikan ke layar cashier untuk proses pembayaran.

Tabel 3.2.1.5-1 Objek-Objek pada Layar Utama

Id_Objek Jenis Keterangan

labelLogin_Login Label Label yang memberikan keterangan Login Panel

labelUsername_Login Label Label yang memberikan keterangan textFieldUsername_Login

textFieldUsername_Login TextField Untuk mengetikkan username dari staff restoran

labelPassword_Login Label Label yang memberikan keterangan textFieldPassword_Login

textFieldPassword_Login TextField Untuk mengetikkan password dari staff restoran

buttonForgetPass_Login Button Jika di-klik, program akan mengirimkan password default kepada username sesuai e-mail yang terdaftar

buttonSignIn_Login Button

Jika di-klik, button ini akan menggunakan algoritma

CheckUserValid untuk melakukan validasi user. Jika user tidak valid, maka akan ditampilkan alertbox pada layar yang

memberikan pesan bahwa user invalid. Jika user valid, maka layar akan ditransmisikan ke panel sesuai peran staff (Gambar 3.2.1.2-3 untuk cashier/kasir)

buttonBack_Login Button Jika di-klik, maka akan ditampilkan layar sebelumnya, yaitu halaman utama (Gambar 3.2.1.2-1)

Tabel 3.2.1.5-2 Objek-Objek pada Login Panel

Id_Objek Jenis Keterangan

(22)

Id_Objek Jenis Keterangan

labelDaftarMenu_Cashier Label Label yang memberikan keterangan buttonGoDaftarMenu_Cashier

buttonGoDaftarMenu_Cashier Button Jika di-klik, maka akan ditampilkan daftar menu secara keseluruhan dari tabel Makanan

labelDaftarPromo_Cashier Label Label yang memberikan keterangan buttonGoDaftarPromo_Cashier

buttonGoDaftarPromo_Cashier Button Jika di-klik, maka akan ditampilkan daftar promo yang sedang aktif secara keseluruhan dari tabel Makanan

labelRekap_Cashier Label Label yang memberikan keterangan buttonGoRekap_Cashier

buttonGoRekap_Cashier Button Jika di-klik, maka akan ditampilkan daftar rekap (Modul 2) sesuai hak akses staff yang sedang login / terautentikasi

labelLogout_Cashier Label Label yang memberikan keterangan buttonGoLogout_Cashier

buttonLogout_Cashier Button Jika di-klik, maka akan ditampilkan layar halaman utama dengan status staff logout (Gambar 3.2.1.2-1)

labelCurrCashier_Cashier Label Label yang memberikan keterangan nama cashier / kasir yang sedang login / terautentikasi

labelTransactionList_Cashier Label Label yang memberikan keterangan Transaction List

tablePesananList_Cashier Table

Tabel yang secara keseluruhan berisikan pesanan dari pelanggan beserta kuantitas masing-masing pesanan dan total harga (mekanisme PPN diserahkan kepada restoran)

addQPesanan_Cashier Button Button yang berfungsi untuk menambah quantity pesanan

removeQPesanan_Cashier Button Button yang berfungsi untuk mengurangi quantity pesanan

checkBoxCetakStruk_Cashier CheckBox CheckBox yang digunakan sebagai penanda cetak struk (jika true maka akan dicetak struk akhir)

buttonBuy_Cashier Button

Jika di-klik, maka akan ditampilkan layar yang menerima masukkan uang customer, dan menggunakan prosedur FinishTransaction, akan ditampilkan jumlah kembalian serta transaksi dimasukkan kedalam tabel income.

Tabel 3.2.1.5-3 Objek-Objek pada Cashier Panel

3.2.1.6 Spesifikasi Proses/Algoritma

<Id. Proses > : ALGO-01 (CheckOrderValid)

Objek terkait : textFieldUsername_Login, textFieldPassword_Login, buttonBuy_Utama Event : buttonBuy_Utama onClick

Initial State (IS):

Menampilkan semua jenis makanan yang tersedia

Final State (FS):

Melakukan validasi pemesanan dan mentransmisikan kelayar kasir

Spesifikasi Proses/algoritma:

FOR EACH quantity IN pesanan DO

IF (quantity – Sell.quantity < 0) THEN

Tampilkan layar pesan “Pesanan tidak valid” BREAK

(23)

Transmisikan Pesanan ke Cashier Panel

<Id. Proses > : ALGO-02 (CheckUserValid)

Objek terkait : itemList_Utama, labelQItemList_Utama, buttonSignIn_Login Event : buttonSignIn_Login onClick

Initial State (IS):

NONE

Final State (FS):

Mengecek validitas Username dan Password yang dimasukkan. Jika masukkan valid, maka akan ditampilkan layar selanjutnya, yaitu Cashier Panel.

Spesifikasi Proses/algoritma:

If (IsNotEmpty(textFieldUsername_Login)) AND (IsNotEmpty(textFieldPassword_Login)) THEN

IF (Match(textFieldUsername_Login, textFieldPassword_Login)) THEN Tampilkan layar Cashier Panel

ELSE

Tampilkan layar pesan “Username dan Password tidak cocok” ELSE

Tampilkan layar pesan “Username dan Password tidak boleh kosong”

<Id. Proses > : ALGO-03 (FinishTransaction)

Objek terkait : tablePesananList_Cashier, checkBoxCetakStruk_Cashier, buttonBuy_Cashier Event : buttonBuy_Cashier onClick

Initial State (IS):

Menampilkan semua jenis pesanan dari pelanggan

Final State (FS):

Menerima pembayaran dari pelanggan dan mencetak struk jika diperlukan, serta mentransmisikan data kedalam basis data

Spesifikasi Proses/algoritma:

IF (jumlahBayar > subTotal) THEN

jumlahKembalian = jumlahBayar – subtotal Transmisikan data kedalam tabel Income

IF (isChecked(checkBoxCetakStruk_Cashier)) THEN Transmisikan data ke printer Struk

ELSE

Tampilkan layar pesan “Jumlah uang yang diterima tidak mencukupi”

3.2.2 Modul 02 : Pengolahan Menu dan Rekomendasi

3.2.2.1 Fungsi Modul

No Fungsi Jenis Tabel Terkait

1 Menampilkan promo Report Tabular Makanan

2 Menghapus promo Form Entry Tabular Makanan

3 Mengupdate promo Form Entry Columnar Makanan

4 Menampilkan menu beserta cita rasa, modal dan

harganya Report Tabular Makanan, Citarasa

(24)

6 Mengupdate menu Form Entry Tabular Makanan,

7 Menghapus menu Form Entry Tabular Makanan

8 Mengupdate cita rasa Form Entry Columnar Makanan, Citarasa

9 Menghapus cita rasa Form Entry Columnar Makanan, Citarasa

10 Menampilkan rekomendasi Report Tabular Makanan

11 Mengupdate recommendation Form Entry Tabular Makanan

12 Menghapus recommendation Form Entry Tabular Makanan

13 Mengupdate modal Form Entry Columnar Makanan

14 Mengupdate harga Form Entry Columnar Makanan

3.2.2.2 Spesifikasi Layar Utama

(25)

Gambar 3.2.2.2-2 Layar Modul Pengolahan Menu dan Rekomendasi (Chef)

(26)

Gambar 3.2.2.2-4 Layar Update Menu

3.2.2.3 Spesifikasi Query

ID Query Deskripsi Ekspresi Query

QUE-04

Mencari makanan dengan nama tertentu dan memilih atribut nama, keterangan, gambar, stok, harga, modal

SELECT Makanan.nama, keterangan, gambar, stok, harga, modal FROM Makanan, Citarasa WHERE Makanan.id_citarasa =

Citarasa.id_citarasa AND Makanan.nama = [TextFieldSearchFood]

QUE-05 Mencari makanan dengan nama tertentu SELECT * FROM Makanan WHERE nama = [TextFieldNewPromo]

QUE-06 Mencari diskon makanan tertentu SELECT diskon FROM Makanan WHERE nama = [TextFieldNewPromo]

QUE-07 Mencari citarasa dengan nama tertentu SELECT * FROM Citarasa WHERE nama = [TextFieldNewCitaRasa]

QUE-08 Mencari makanan dengan nama tertentu SELECT * FROM Makanan WHERE nama = [TextFieldNewRecommendation]

QUE-09 Mencari recommended makanan tertentu

SELECT recommended FROM Makanan WHERE nama =

[TextFieldNewRecommendation]

3.2.2.4 Spesifikasi Field Data Layar

Label Field Tabel/

(27)

TextFieldSearchFood Makanan.nama Makanan,

Citarasa - Nama makanan yang ingin dicari TextFieldNewPromo nama Makanan NOT NULL Nama makanan yang akan

ditambahkan dalam daftar promo

TextFieldNewDiskon diskon Makanan

NOT NULL, lebih dari 0, kurang dari 100

Besar diskon makanan yang baru

Tabel 3.2.2.4-1 Spesifikasi Field Data pada Layar Admin

Label Field Tabel/

Query Validasi Keterangan

TextFieldNewCitaRasa nama Citarasa NOT NULL

Nama citarasa yang ingin ditambahkan

TextFieldNewRecommendation recommended Makanan NOT NULL

Nama makanan yang akan direkomendasikan

Tabel 3.2.2.4-2 Spesifikasi Field Data pada Layar Chef

Label Field Tabel/

Query Validasi Keterangan

TextFieldNewNama nama Makanan NOT NULL

Nama makanan yang ingin ditambahkan

TextFieldNewKeterangan keterangan Makanan NOT NULL

Keterangan makanan yang ingin ditambahkan

TextFieldNewStok stok Makanan NOT NULL

Stok makanan yang ingin ditambahkan

TextFieldNewHarga harga Makanan NOT NULL

Harga makanan yang ingin ditambahkan

TextFieldNewModal modal Makanan NOT NULL

Modal makanan yang ingin ditambahkan

ComboBoxCitaRasa Makanan.id_citarasa Makanan, Citarasa

NOT NULL

ComboBox berisi daftar citarasa yang tersedia

Tabel 3.2.2.4-3 Spesifikasi Field Data pada Layar Penambahan Menu

Label Field Tabel/

Query Validasi Keterangan

TextFieldNewNama nama Makanan - Nama makanan yang ingin ditambahkan

TextFieldNewKeterangan keterangan Makanan - Keterangan makanan yang ingin ditambahkan

TextFieldNewStok stok Makanan - Stok makanan yang ingin ditambahkan

TextFieldNewHarga harga Makanan - Harga makanan yang ingin ditambahkan

TextFieldNewModal modal Makanan - Modal makanan yang ingin ditambahkan

ComboBoxCitaRasa Makanan.id_citarasa Makanan, Citarasa -

ComboBox berisi daftar citarasa yang tersedia

(28)

3.2.2.5 Spesifikasi Objek-Objek pada Layar

Id_Objek Jenis Keterangan

LabelAdmin/Chef Label Berisi nama pemakai yang sedang login

ButtonLogOut Button Melakukan log out saat button di-klik

TextFieldSearchFood TextField Untuk mengetikkan nama/jenis makanan yang ingin dicari

ButtonGo Button Jika di-klik, maka akan menjalankan ALGO-1

TabPromo Tab Jika di-klik, akan menampilkan daftar makanan yang sedang dalam masa promo

LabelPromoXX Label

Label yang berisi nama makanan ke-XX yang sedang dalam masa promo(XX merupakan index promo dimulai dari 1 sampai total jenis makanan yang sedang promo)

LabelDiskonXX Label Label yang berisi besar diskon makanan ke-XX

TextFieldNewDiskonXX TextField Untuk mengetikkan besar diskon makanan ke-XX yang baru

ButtonDeletePromoXX Button Jika di-klik, maka akan menghapus promo makanan ke-XX dengan mengeset atribut diskonnya menjadi 0

ButtonUpdatePromoXX Button Jika di-klik, akan menjalankan ALGO-3

TextFieldNewPromo TextField Untuk mengetikkan nama makanan yang akan dijadikan promo

ButtonNewPromo Button Jika di-klik, akan menjalankan ALGO-2

ButtonNewFood Button Jika di-klik, akan menampilkan layar 3.2.2.2-3

LabelNamaMakananXX Label Berisi nama makanan ke-XX (XX merupakan index makanan dimulai dari 1 sampai total jenis makanan yang terdata)

LabelKeteranganMakananXX Label Berisi keterangan makanan ke-XX

IconCitaRasaMakanan Icon Berisi icon/gambar cita rasa makanan ke-XX

LabelStokMakananXX Label Berisi stok makanan ke-XX

LabelHargaMakananXX Label Berisi harga makanan ke-XX

LabelModalMakananXX Label Berisi modal makanan ke-XX

ButtonDeleteMakanan Button Jika di-klik, akan menghapus makanan ke-XX tersebut dalam daftar menu

ButtonUpdateMakanan Button Jika di-klik, akan menampilkan layar 3.2.2.2-4

(29)

Id_Objek Jenis Keterangan

TabRecommendation Tab Jika di-klik, akan menampilkan daftar makanan yang direkomendasi chef

LabelRekomendasiXX Label

Label yang berisi nama makanan ke-XX yang direkomendasi chef (XX merupakan index rekomendasi dimulai dari 1 sampai total jenis makanan yang direkomendasi)

ButtonDeleteRekomendasiXX Button Jika di-klik, maka akan menghapus rekomendasi makanan ke-XX dengan mengeset field recommended-nya dengan NO

TextFieldNewRekomendasi TextField Untuk mengetikkan nama makanan yang akan direkomendasi

ButtonNewRekomendasi Button

Jika di-klik, akan menambah daftar rekomendasi dengan makanan pada TextFieldNewRekomendasi (jika makanan tersebut belum direkomendasi)

TabCitaRasa Tab Jika di-klik, akan menampilkan daftar citarasa beserta gambarnya yang terdaftar

LabelCitaRasaXX Label Label yang berisi nama citarasa ke-XXbeserta gambarnya (XX merupakan index citarasa dimulai dari 1 sampai total citarasa)

ButtonDeleteCitaRasaXX Button Jika di-klik, maka akan menghapus citarasa ke-XX dari tabel Citarasa

TextFieldNewCitaRasa TextField Untuk mengetikkan nama citarasa yang baru

ButtonNewCitaRasa Button Jika di-klik, akan menjalankan ALGO-4

IconNewCitaRasa Icon Gambar Citarasa yang baru

ButtonBrowse Button Jika di-klik, akan membuka link untuk mencari gambar cita rasa yang baru

Tabel 3.2.2.5-2 Objek-Objek pada Layar Chef

Id_Objek Jenis Keterangan

TextFieldNewNama TextField Untuk mengetikkan nama makanan yang baru

TextFieldNewKeterangan TextField Untuk mengetikkan keterangan makanan yang baru

TextFieldNewStok TextField Untuk mengetikkan stok makanan yang baru

TextFieldNewHarga TextField Untuk mengetikkan harga makanan yang baru

TextFieldNewModal TextField Untuk mengetikkan modal makanan yang baru

ComboBoxCitaRasa ComboBox Untuk memilih citarasa makanan yang baru

ButtonEntry Button Jika di-klik, akan mendaftarkan makanan yang baru ke dalam tabel Makanan dan kembali ke layar 3.2.2.2-1

ButtonCancel Button Jika di-klik, akan membatalkan penambahan menu dan kembali ke layar 3.2.2.2-1

(30)

Tabel 3.2.1.5-3 Objek-Objek pada Layar Penambahan Menu

Id_Objek Jenis Keterangan

TextFieldNewNama TextField Untuk mengganti nama makanan

TextFieldNewKeterangan TextField Untuk mengganti keterangan makanan

TextFieldNewStok TextField Untuk mengganti stok makanan

TextFieldNewHarga TextField Untuk mengganti harga makanan

TextFieldNewModal TextField Untuk mengganti modal makanan

ComboBoxCitaRasa ComboBox Untuk mengganti citarasa makanan

ButtonUpdate Button Jika di-klik, akan mengupdate data makanan bila TextField tidak NULL dan kembali ke layar 3.2.2.2-1

ButtonCancel Button Jika di-klik, akan membatalkan update menu dan kembali ke layar 3.2.2.2-1

Tabel 3.2.2.5-4 Objek-Objek pada Layar Update Menu

3.2.2.6 Spesifikasi Proses/Algoritma

Hanya diisi untuk proses/algoritma yang rumit

<Id. Proses > : ALGO-04

Objek terkait : ButtonGo, TextFieldSearchFood Event : ButtonGo on Click

Initial State (IS):

Menampilkan semua jenis makanan yang tersedia

Final State (FS):

Menampilkan jenis makanan yang sesuai dengan masukan pada TextFieldSerachFood

Spesifikasi Proses/algoritma:

IF (isNULL(TextFieldSearchFood)) THEN

Tampilkan semua jenis makanan yang tersedia ELSE

Jalankan Result = QUE-1 IF (isNotNULL(Result)) THEN Tampilkan hasil query tersebut ELSE

Tampilkan layar pesan “Makanan tidak ditemukan”

<Id. Proses > : ALGO-05

Objek terkait : ButtonNewPromo, TextFieldNewPromo Event : ButtonNewPromo on Click

Initial State (IS):

NONE

Final State (FS):

Menambahkan daftar promo dengan makanan sesuai dengan TextFieldNewPromo

Spesifikasi Proses/algoritma:

IF (isNULL(TextFieldNewPromo)) THEN

Tampilkan layar pesan “Nama makanan kosong” ELSE

Jalankan Cek = QUE-2 IF (IsNULL(Cek))) THEN

Tampilkan layar pesan “Nama makanan tidak ditemukan” ELSE

(31)

Jalankan Result = QUE-3 IF (Result = 0) THEN

Update atribut promo makanan tersebut menjadi 10 (default value) Tampilkan dalam daftar promo

ELSE

Tampilkan layar pesan “Makanan telah terdapat dalam daftar promo”

<Id. Proses > : ALGO-06

Objek terkait : ButtonUpdatePromoXX, TextFieldNewDiskonXX, LabelDiskonXX, LabelPromoXX Event : ButtonUpdatePromoXX on Click

Initial State (IS):

Makanan dengan nama pada LabelPromoXX memiliki diskon sebesar LabelDiskonXX

Final State (FS):

Mengupdate diskon makanan dengan nama pada LabelPromoXX menjadi TextFieldNewDiskonXX

Spesifikasi Proses/algoritma:

IF (isNULL(TextFieldNewDiskonXX) OR (TextFieldNewDiskonXX < 0) OR (TextFieldNewDiskon > 100)) THEN

Tampilkan layar pesan “Diskon tidak sesuai, harus di antara 0% sampai 100%” ELSE

Update atribut diskon makanan dengan nama pada LabelPromoXX menjadi TextFieldNewDiskonXX

<Id. Proses > : ALGO-07

Objek terkait : TextFieldNewCitaRasa, ButtonNewCitaRasa, IconNewCitaRasa Event : ButtonNewCitaRasa on Click

Initial State (IS):

Makanan dengan nama pada LabelPromoXX memiliki diskon sebesar LabelDiskonXX

Final State (FS):

Mengupdate diskon makanan dengan nama pada LabelPromoXX menjadi TextFieldNewDiskonXX

Spesifikasi Proses/algoritma:

IF (isNULL(TextFieldNewCitaRasa)) THEN

Tampilkan layar pesan “Nama citarasa kosong” ELSE IF (isNULL(IconNewCitaRasa)) THEN

Tampilkan layar pesan “Gambar citarasa kosong” ELSE

Jalankan Result = QUE-4 IF (isNULL(Result)) THEN

Tambahkan citarasa baru dengan nama pada TextFieldCitaRasa dan gambar pada IconNewCitaRasa

ELSE

Tampilkan layar pesan “Citarasa telah terdaftar”

<Id. Proses > : ALGO-08

Objek terkait : ButtonNewRecommendation, TextFieldNewRecommendation Event : ButtonNewRecommendation on Click

Initial State (IS):

NONE

Final State (FS):

Menambahkan daftar rekomendasi dengan makanan sesuai dengan TextFieldNewRecommendation

Spesifikasi Proses/algoritma:

IF (isNULL(TextFieldNewRecommendation)) THEN Tampilkan layar pesan “Nama makanan kosong” ELSE

Jalankan Cek = QUE-5 IF (IsNULL(Cek))) THEN

Tampilkan layar pesan “Nama makanan tidak ditemukan” ELSE

Jalankan Result = QUE-6 IF (Result = NO) THEN

Update atribut recommended makanan tersebut menjadi YES Tampilkan dalam daftar rekomendasi

(32)

Tampilkan layar pesan “Makanan telah terdaftar dalam daftar rekomendasi”

3.2.3 Modul 03 : Pengolahan Laporan

3.2.3.1 Fungsi Modul

No Fungsi Jenis Tabel Terkait

1 Memuat laporan dalam periode tertentu Report Tabular Makanan, Income,

Outcome

2 Mencetak laporan Form Button Makanan, Income,

Outcome

3 Memilih periode laporan Form Button Makanan, Income,

Outcome 4 Menambahkan pengeluaran yang tidak

berkaitan dengan menu makanan Form Entry Columnar Income, Outcome

5 Menambahkan pemasukan yang tidak

berkaitan dengan menu makanan Form Entry Columnar Income, Outcome

6 Mengurangi pengeluaran yang tidak berkaitan

dengan menu makanan Form Entry Tabular Income, Outcome

7 Mengurangi pemasukan yang tidak berkaitan

dengan menu makanan Form Entry Tabular Income, Outcome

8 Memilih jenis tampilan laporan Form Button Makanan, Income,

Outcome

3.2.3.2 Spesifikasi Layar Utama

(33)

Gambar 3.2.3.2-2 Layar Tambah Income

Gambar 3.2.3.2-1 Layar Tambah Outcome

3.2.3.3 Spesifikasi Query

ID Query Deskripsi Ekspresi Query

QUE-10 FOOD_INCOME_SELECT

SELECT nama_makanan, harga_makanan FROM Makanan natural join Transaksi WHERE tanggal transaksi = ‘%-MEI-2013’

QUE-11 NON_FOOD_INCOME_SELECT

SELECT judul_transaksi, biaya_transaksi FROM income WHERE tanggal transaksi = ‘%-MEI-2013’

QUE-12 NON_FOOD_OUTCOME_SELECT

SELECT judul_transaksi, biaya_transaksi FROM outcome WHERE tanggal transaksi = ‘%-MEI-2013’

(34)

3.2.3.4 Spesifikasi Field Data Layar

Label Field Tabel/

Query Validasi Keterangan

textFieldNewIncomeTitle price Income NOT NULL Diisi dengan judul transaksi pemasukan non-makanan

textFieldNewIncomeRp price Income

NOT NULL, NUMERIC, NOT ZERO

Diisi dengan jumlah transaksi pemasukan non-makanan

textFieldNewOutcomeTitle price Outcome NOT NULL Diisi dengan judul transaksi pengeluaran non-makanan

textFieldNewOutcomeRp price Outcome

NOT NULL, NUMERIC, NOT ZERO

Diisi dengan jumlah transaksi pengeluaran non-makanan

Tabel 3.2.3.4-1 Spesifikasi Field Semua Data Layar Pada Modul 3

3.2.3.5 Spesifikasi Objek-Objek pada Layar

Id_Objek Jenis Keterangan

labelPeriode Label Teks yang merupakan periode laporan

labelTotalIncome Label Teks yang merupakan total pemasukan

labelFoodIncome Label Teks yang merupakan total pemasukan dari makanan

labelNonFoodIncome Label Teks yang merupakan total pemasukan dari non-makanan

buttonChangePeriod Button Bila diklik akan memunculkan dialog untuk mengganti periode laporan

buttonAddIncome Button Bila diklik akan memunculkan dialog untuk menambahkan transaksi pemasukan non-makanan

buttonAddOutcome Button Bila diklik akan memunculkan dialog untuk menambahkan transaksi pengeluaran non-makanan

buttonPrint Button Bila diklik akan menjalankan prosedur cetak

optionAll Filter

Option

Bila dipilih, akan menfilter list item laporan sehingga item dengan kategori food dan non-food akan ditampilkan

optionFoodOnly Filter

Option

Bila dipilih, akan menfilter list item laporan sehingga item dengan kategori food akan ditampilkan

optionNonFoodOnly Filter

Option

Bila dipilih, akan menfilter list item laporan sehingga item dengan kategori non-food akan ditampilkan

optionIncomeOnly Filter

Option

Bila dipilih, akan menfilter list item laporan sehingga item dengan kategori food dan kategori income non-food akan ditampilkan

optionOutcomeOnly Filter

Option

Bila dipilih, akan menfilter list item laporan sehingga item dengan kategori outcome non-food akan ditampilkan

(35)

Id_Objek Jenis Keterangan

labelJudulTransaksiXX Label

Teks yang merupakan penjelasan tentang judul transaksi (nama makanan bila transaksi tersebut berhubungan adalah transaksi makanan)

labelKategoriXX Label Teks yang merupakan kategori transaksi (makanan / non-makanan)

labelIncomeOutcomeXX Label Teks yang merupakan income atau outcome dari transaksi tersebut

Tabel 3.2.3.5-1 Objek-Objek pada Layar Manajemen Laporan

Id_Objek Jenis Keterangan

textFieldNewIncomeTitle Label Diisi dengan judul transaksi pemasukan non-makanan

textFieldNewIncomeRp Label Diisi dengan jumlah transaksi pemasukan non-makanan

buttonAddIncome Button Mengirimkan data income yang baru

buttonCancelAddIncome Button Membatalkan aksi penambahan income dan kembali ke layar manajemen laporan

Tabel 3.2.3.5-2 Objek-Objek pada Layar Tambah Income

Id_Objek Jenis Keterangan

textFieldNewOutcomeTitle Label Diisi dengan judul transaksi pengeluaran non-makanan

textFieldNewOutcomeRp Label Diisi dengan jumlah transaksi pengeluaran non-makanan

buttonAddOutcome Button Mengirimkan data outcome yang baru

buttonCancelAddOutcome Button Membatalkan aksi penambahan outcome dan kembali ke layar manajemen laporan

(36)

3.2.4 Modul 04 : Pengolahan Feedback

3.2.4.1 Fungsi Modul

No Fungsi Jenis Tabel Terkait

1 Memuat feedback dalam periode tertentu Report Tabular Feedback

2 Mencetak seluruh feedback Form Button Feedback

3 Memilih periode laporan Form Button Feedback

4 Memilih jenis tampilan feedback Form Button Feedback

5 Memilih feedback yang akan dibuka Form Button Feedback

6 Membukafeedback yang terpilih Report Tabular Feedback

7 Melakukan entri feedback Form Entry Tabular Feedback

10 Menyimpan seluruh input Form Button Feedback

11 Membatalkan seluruh input Form Button Feedback

3.2.4.2 Spesifikasi Layar Utama

(37)

Gambar 3.2.4.2-2 Layar Modul Pengolahan Pesanan (Login Panel)

Gambar 3.2.4.2-3 Layar Modul Feedback (Admin Panel)

3.2.4.3 Spesifikasi Query

ID Query Deskripsi Ekspresi Query

QUE-13 SARAN_SELECT SELECT nama_feedback, content FROM Feedback WHERE timestamp = ‘%-MEI-2013’ QUE-14 KRITIK _SELECT SELECT nama_feedback, content FROM Feedback WHERE timestamp = ‘%-MEI-2013’

(38)

3.2.4.4 Spesifikasi Field Data Layar

Label Field Tabel/

Query Validasi Keterangan

textFieldUsername_Login username Pengguna NOT NULL Username staff untuk autentikasi perangkat lunak textFieldPassword_Login password Pengguna NOT NULL Password staff untuk autentikasi

perangkat lunak

3.2.4.5 Spesifikasi Objek-Objek pada Layar

Id_Objek Jenis Keterangan

textFieldNama Text Field Untuk mengetikkan nama pembuat feedback

textFieldFeedback Text Field Untuk mengetikkan isi content feedback

radioButtonKategori Radio Button Memilih salah satu kategori untuk feedback yang dibuat

buttonSimpan Button Bila diklik akan melakukan Algo-1

buttonBatal Button Bila diklik akan menghapus textFieldNama dan textFieldFeedback

buttonLogin Button Jika di-klik, maka aplikasi akan masuk kedalam tampilan Login Panel (Gambar 3.2.4.2-2)

Tabel 3.2.4.5-1 Objek-Objek pada Layar Feedback

Id_Objek Jenis Keterangan

labelLogin_LoginF Label Label yang memberikan keterangan Login Panel

labelUsername_LoginF Label Label yang memberikan keterangan textFieldUsername_LoginF

textFieldUsername_LoginF TextField Untuk mengetikkan username dari staff restoran

labelPassword_LoginF Label Label yang memberikan keterangan textFieldPassword_LoginF

textFieldPassword_LoginF TextField Untuk mengetikkan password dari staff restoran

buttonForgetPass_LoginF Button Jika di-klik, program akan mengirimkan password default kepada username sesuai e-mail yang terdaftar

buttonSignIn_LoginF Button

Jika di-klik, button ini akan menggunakan algoritma

CheckUserValid untuk melakukan validasi user. Jika user tidak valid, maka akan ditampilkan alertbox pada layar yang

memberikan pesan bahwa user invalid. Jika user valid, maka layar akan ditransmisikan ke panel sesuai peran staff (Gambar 3.2.4.2-3 untuk cashier/kasir)

buttonBack_LoginF Button Jika di-klik, maka akan ditampilkan layar sebelumnya, yaitu halaman utama (Gambar 3.2.4.2-1)

(39)

Id_Objek Jenis Keterangan

textFieldPeriodeF Text Field Teks yang merupakan periode feedback

textFieldTotalFeedback Text Field Teks yang merupakan total feedback

textFieldSaranFeedback Text Field Teks yang merupakan total feedback berjenis saran

textFieldKritikFeedback Text Field Teks yang merupakan total feedback berjenis kritik

buttonChangePeriodF Button Bila diklik akan memunculkan dialog untuk mengganti periode feedback

buttonAddFeeback Button Bila diklik akan kembali ke panel pengisian feedback

buttonPrintF Button Bila diklik akan menjalankan prosedur cetak

optionAllF View Option Bila dipilih, akan menfilter itemListDetail sehingga feedback dengan kategori saran dan kritik akan ditampilkan

optionSaranOnly View Option Bila dipilih, akan menfilter itemListDetailF sehingga feedback dengan kategori saran akan ditampilkan

optionKritikOnly View Option Bila dipilih, akan menfilter itemListDetailF sehingga feedback dengan kategori kritik akan ditampilkan

itemListDetailF Struct Item Diisi dengan list feedback sesuai filter yang dipilih (nama_feedback, jenis_feedback, content)

itemListFeedbackDetail Struct Item Diisi dengan penjelasan tentang detail feedback yang dipilih (nama_feedback, jenis_feedback, content)

(40)

3.3 Matriks Kerunutan

ID Kebutuhan Modul Keterangan

FR-01 Modul 1 (1.1) Menampilkan menu pesanan (Permintaan pesanan)

FR-02 Modul 1 (1.2, 1.3  1.3.1)

Melakukan entri / order pesanan, beserta proses update maupun cancel pesanan FR-03 Modul 1 (1.3  1.3.2) Melakukan pembayaran transaksi pesanan

FR-04 Modul 1 (1.3  1.3.3) Melakukan pencetakan struk transaksi pesanan

FR-05 Modul 2 (2.1, 2.3, 2.4) Melakukan manajemen menu beserta citarasa

FR-06 Modul 4 (4.1, 4.2) Melakukan manajemen feedback

FR-07 Modul 3 (3.2  3.2.1) Menampilkan / melakukan monitoring rekap keuangan

FR-08 Modul 3 (3.2  3.2.2) Mencetak laporan keuangan, baik internal maupun eksternal

FR-09 Modul 2 (2.2) Melakukan entri / cancel promo (diskon)

FR-10 Modul 2 (2.5) Memberikan Chef’s Recommendation

FR-11 Modul 2 (2.1, 2.4) Melakukan manajemen stok makanan

FR-12 Modul 3 (3.1) Menambahkan pemasukan eksternal (diluar proses transaksi restoran)

Gambar

Gambar 2.2.2-1 Entity-Relationship Diagram Advanced Restaurant System  Entity :    Feedback  o  id_feedback  o  timestamp  o  content    Outcome  o  id_outcome
Gambar 2.3-1 Struktur Modul Advanced Restaurant System
gambar  Link gambar
tabel Income  INT(8)  NO  -
+7

Referensi

Dokumen terkait

Kawasan Industri Gresik Ngoro Industrial Park Surabaya Industrial Estate Rungkut Java Integrated Industrial and Port Estate. Maspion Industrial Estate Pergudangan dan Industri Safe

Sementara itu, manfaat yang dapat diperoleh, yaitu meningkatkan pengendalian biaya SI/TI dan sistem yang mendukung strategi bisnis perusahaan; menghasilkan keputusan

Bentuk Kebijakan Pengembangan Taman sebagai Pelestarian Ruang Terbuka Hijau (RTH) di Kota Jambi oleh Dinas Lingkungan Hidup Kota Jambi yaitu kebijakan dalam bentuk roof

pembahasan akan difokuskan pada perhitungan durasi dan konveksitas (convexity) heath jarrow morton dengan model volatilitas konstan, mengestimasi perubahan harga obligasi

(2012) analyzed the temporal and spatial distribution characteristics of Land Surface Temperature (LST) in Shaanxi province using MODIS/LST time series data from 2001 to 2011..

Belum tercapainya kriteria ketuntasan yang diharapkan disebabkan dalam menerapkan model pembelajaran kooperatif tipe TTW pada proses pembelajaran analisis kebutuhan

 3 Dimensi, game bertipe 3 DImensi merupakan game dengan grapis yang baik 3 Dimensi, game bertipe 3 DImensi merupakan game dengan grapis yang baik dalam penggambaran secara

Kesan-kesan buruk lain : Tiada kesan yang penting atau bahaya kritikal yang diketahui.