BAB III ANALISA DAN PERANCANGAN 3.1 Gambaran Umum

advertisement
BAB III
ANALISA DAN PERANCANGAN
3.1
Gambaran Umum Perusahaan
Dibawah ini akan dibahas secara ringkas gambaran umum tentang
perusahaan Raja Kepiting, seperti sejarah perusahaan, struktur organisasi,
wewenang dan tanggung jawab dari masing – masing bagian pekerjaan.
3.1.1
Sejarah Perusahaan
Raja Kepiting merupakan sebuah perusahaan yang bergerak
dibidang restoran. Menu utama yang disajikan di restoran Raja Kepiting
adalah makanan seafood. Restoran Raja Kepiting yang pertama didirikan
pada tanggal 17 Agustus 2006, berlokasi di Jalan Raya Serpong KM 7
No. 35 Serpong (Depan WTC Matahari).
Tujuan didirikannya Restoran Raja Kepiting ini adalah untuk
memenuhi para penikmat makanan seafood pada khususnya. Telah
menjadi komitmen, Restoran Raja Kepiting hanya akan menyediakan
hidangan kepiting dengan kualitas terbaik saja. Kepiting yang disajikan
pun berasal dari berbagai wilayah Indonesia, seperti Tarakan dan Timika.
Kepiting merupakan menu unggulan yang disajikan oleh restoran
ini. Saus kepiting yang terbaik dan digemari adalah lada hitam (black
pepper) dan saus padang (chili sauce), namun masih tersedia saus lain
yang tidak kalah lezatnya, seperti saus tiram (oyster sauce), asam manis
67
68
(sweet and sour sauce), goreng mentega (fried butter sauce), dan telor
asin (salted egg).
Untuk makanan jenis seafood, di restoran ini pun menyajikan ikan
laut/ tawar, kerang, sup asparagus jagung kepiting, dan lain-lain. Namun
bagi pengunjung yang tidak bisa menikmati makanan laut, restoran ini
menyediakan olahan ayam, bakmi, bihun dan kwetiau.
Melihat peluang bisnis yang ada, maka Restoran Raja Kepiting
membuka cabang di beberapa tempat. Ruko Flourite FR 33 Summarecon
Gading Serpong dan Food Court Rame Rame di Tangcity Mall pun
menjadi tempat yang digunakan untuk memperlebar bisnis restoran ini.
3.1.2
Struktur Organisasi
Dalam suatu organisasi, terdapat hubungan diantara sumber daya
manusia dengan segala aktivitas bisnis yang ada. Semakin banyak
kegiatan yang dilakukan dalam suatu organisasi, semakin kompleks
hubungan-hubungan yang ada. Untuk itu perlu dibuat suatu bagan yang
menggambarkan hubungan-hubungan tersebut yaitu dengan struktur
organisasi.
Struktur organisasi perusahaan harus memungkinkan adanya
koordinasi kerja antara semua satuan dan jenjang untuk tindakantindakan dalam mencapai tujuan umum perusahaan.
69
Struktur organisasi memerinci pembagian aktivitas kerja dan
selain itu struktur organisasi juga menunjukkan hirarki dari organisasi,
pembagian tugas, tanggung jawab dan wewenang.
Berikut ini merupakan struktur organisasi dari Restoran Raja
Kepiting.
Gambar 3.1 Struktur Organisasi
70
3.1.3
Wewenang dan Tanggung Jawab
Wewenang dan tanggung jawab masing-masing bagian pada
Restoran Raja Kepiting adalah sebagai berikut:
•
Owner, memiliki wewenang dan tanggung jawab antara lain:
-
Pengambilan kebijakan perusahaan
-
Berhak atas pengurangan tenaga kerja
-
Memiliki prioritas utama dalam pengambiilan keputusan penting
yang menyangkut restoran Raja Kepiting
-
Menerima laporan para penanggung jawab dari setiap cabang
restoran
•
Branch Manager, memiliki wewenang dan tanggung jawab antara
lain:
-
Bertanggung jawab terhadap kebijakan operasional
-
Mempunyai wewenang operasional
-
Mengawasi operasional harian perusahaan
-
Memonitor serta mengontrol pelayanan dari Food & Beverage
Production dan Food & Beverages Service
•
Kitchen Head, memiliki wewenang dan tanggung jawab antara lain:
-
Mengorganisasikan penyediaan stok makanan dan minuman
-
Memonitor serta mengontrol pelayanan dari Food & Beverage
Production
•
Food & Beverage Production, memiliki wewenang dan tanggung
jawab antara lain:
71
-
Membuat makanan dan minuman dari pesanan tamu restoran
-
Mengkoordinasikan penyajian makanan dan minuman dengan
Food & Beverage Service
•
Finance & Accounting, memiliki wewenang dan tanggung jawab
antara lain:
•
-
Bertugas mengatur keuangan restoran
-
Bertanggung jawab atas laporan keuangan restoran
-
Memoitor serta mengontrol pelayanan dari Cashier
Cashier, memiliki wewenang dan tanggung jawab antara lain :
-
•
Bertanggung jawab atas transaksi pembayaran
Food & Beverage Service, memiliki wewenang dan tanggung jawab
antara lain :
3.2
-
Bertugas untuk melayani tamu restoran
-
Bertugas menyajikan makanan dan minuman untuk tamu
-
Bertugas sebagai penerima pesanan makanan dan minuman
Analisa Sistem yang Sedang Berjalan
Sistem yang sedang berjalan pada Restoran Raja Kepiting untuk proses
pemesanan makanannya masih menggunakan kertas, sedangkan untuk bagian
kasir menggunakan alat kasir yang umum digunakan. Analisis sistem yang
sedang berjalan diwakilkan / digambarkan oleh Data Flow Diagram (DFD).
72
3.2.1
DFD Sistem yang Sedang Berjalan
Berikut adalah gambaran sistem yang sedang berjalan pada
restoran yang dilukiskan dengan menggunakan Data Flow Diagram
(DFD)
yang
merupakan
alat
bantu
penting
digunakan
untuk
menggambarkan sistem informasi suatu organisasi, pada kasus ini adalah
sistem informasi pada restoran Raja Kepiting.
3.2.1.1 Diagram Konteks
Gambar 3.2 Diagram Konteks Sistem yang Sedang Berjalan
73
3.2.1.2 Diagram Nol
Gambar 3.3 Diagram Nol Sistem yang Sedang Berjalan
3.3
Proses Bisnis Perusahaan
Merupakan proses bisnis yang terjadi sehari – hari pada restoran yang
akan diuraikan sebagai berikut.
3.3.1
Prosedur Pemesanan Makanan
Berikut ini adalah prosedur untuk memesan makanan pada
Restoran Raja Kepiting :
1. Pelanggan yang datang akan langsung diantar ke meja yang tersedia.
74
2. Kemudian pelayan akan memberikan daftar menu makanan kepada
pelanggan.
3. Pelanggan memilih menu makanan dan kemudian pelayan akan
mencatatnya pada kertas yang telah disediakan.
4. Setelah itu pelayan akan menyerahkan kertas pesanan tersebut ke
bagian dapur.
Gambar 3.4 Proses Bisnis Pemesanan Makanan
3.3.2
Prosedur Penambahan Pesanan Makanan
Jika pelanggan akan menambah pesanan, maka berikut ini adalah
prosedur yang dilakukan :
1. Pelanggan akan memanggil pelayan.
75
2. Pelayan akan mencatat pesanan tambahan yang diinginkan oleh
pelanggan.
3. Kemudian pesanan tersebut akan diserahkan ke bagian dapur.
Gambar 3.5 Proses Bisnis Penambahan Pesanan Makanan
3.3.3
Prosedur Pembayaran Tagihan
Jika pelanggan telah selesai makan, maka prosedur untuk
melakukan pembayaran adalah sebagai berikut :
1. Pelanggan datang ke kasir.
2. Kemudian kasir akan memberikan total tagihan kepada pelanggan,
3. Lalu pelanggan memberikan uang ke kasir.
4. Kasir akan mencatat tagihan dan jumlah pembayaran ke mesin kasir.
76
5. Selanjutnya kasir memberikan struk tagihan, dan jika ada uang
kembali, maka akan diserahkan kepada pelanggan.
Gambar 3.6 Proses Bisnis Pembayaran Tagihan
3.3.4
Prosedur Pembelian Stok Bahan Makanan
Berikut ini merupakan prosedur untuk melakukan pembelian stok
bahan makanan pada Restoran Raja Kepiting :
1. Bagian dapur akan melaporkan stok bahan makanan yang hampir
habis kepada Manager.
2. Manager menerima daftar bahan makanan tersebut, kemudian
menyetujui pembelian tersebut.
3. Bagian dapur akan menerima uang dari Manager, lalu bagian dapur
akan membeli bahan makanan tersebut.
4. Khusus untuk pembelian bahan makanan dalam jumlah yang besar,
seperti kepiting, udang, pihak Manager akan meminta pemasok untuk
mengirimkan bahan makanan tersebut sesuai permintaan.
77
5. Bahan makanan yang sudah dikirimkan oleh pemasok akan disimpan
terlebih
dahulu
di
gudang
penyimpanan
sebelum
akhirnya
didistribusikan ke cabang-cabang Restoran Raja Kepiting.
Gambar 3.7 Proses Bisnis Pembelian Stok Bahan Makanan
3.4
Analisis Permasalahan yang Dihadapi
Setelah dilakukan analisis pada sistem yang sedang berjalan, dan
berdasarkan data – data yang didapat dari hasil observasi dan wawancara, maka
didapatkan beberapa kendala atau masalah yang dihadapi Restoran Raja
Kepiting.
78
3.4.1
Permasalahan yang Sedang Dihadapi
Permasalahan yang saat ini sedang dihadapi oleh Restoran Raja
Kepiting adalah sebagai berikut :
1. Penyajian makanan yang tidak sesuai dengan yang seharusnya,
misalnya 1 porsi udang mentega harusnya ada 8 buah udang, tapi
yang disajikan hanya 6 buah udang.
2. Terjadi kesalahan penulisan menu makanan oleh pelayan, sehingga
pihak restoran harus mengganti menu yang sesuai dengan keinginan
pelanggan.
3. Untuk laporan pemasukan masih tidak tersusun dengan rapi, karena
menggunakan kertas pesanan (struk).
4. Stok bahan makanan tidak begitu dapat dikontrol dengan baik, salah
satu contohnya ada karyawan yang sengaja menjual beberapa bahan
makanan tersebut ke pihak lain tanpa sepengetahuan Kepala Dapur
ataupun Manager.
3.4.2
Usulan Pemecahan Masalah
Dari permasalahan yang terjadi tersebut, usulan pemecahan
masalah-masalah yang dihadapi antara lain :
1. Sistem yang dibuat akan menampilkan menu secara detail, sehingga
pelanggan akan mengetahui bahan makanan yang digunakan serta
jumlah bahan pokok setiap porsinya.
79
2. Pelanggan yang akan memesan sendiri menu makanannya, sehingga
meminimalkan kesalahan yang terjadi saat proses pemesanan.
3. Sistem akan menyimpan riwayat pesanan dan total tagihan ke dalam
database, sehingga akan memudahkan pihak restoran untuk melihat
data laporan pemasukan.
4. Sistem stok yang akan dibuat akan menyimpan dan menampilkan
jumlah stok yang masuk.
.
3.5
DFD Sistem yang Diusulkan
Berikut ini adalah diagram aliran data dari sistem yang diusulkan kepada
restoran Raja Kepiting, yang terdiri dari diagram konteks dan diagram nol, yang
dapat dilihat sebagai berikut :
3.5.1
Diagram Konteks
Gambar 3.8 Diagram Konteks Sistem yang Diusulkan
80
3.5.2
Diagram Nol
Gambar 3.9 Diagram Nol Sistem yang Diusulkan
81
3.6
Perancangan Basis Data
Dari hasil analisis sistem yang akan digunakan pada restoran Raja
Kepiting, dilakukan perancangan basis data yang dibagi dalam tiga tahapan
proses, yaitu :
a. Perancangan basis data konseptual (conceptual database design)
b. Perancangan basis data logical (logical database design)
c. Perancangan basis data fisikal (physical database design)
3.6.1
Perancangan Basis Data Konseptual
Perancangan basis data tahap konseptual melingkupi proses
pembuatan model data untuk digunakan pada sistem basis data restoran
Raja Kepiting. Langkah pertama dalam perancangan basis data
konseptual adalah membangun satu atau lebih konseptual datamodel dari
kebutuhan organisasi.
3.6.1.1 Identifikasi Tipe Entitas
Dilakukan identifikasi untuk menentukan tipe entitas yang
diperlukan. Tujuan dari tahap ini adalah untuk menentukan entitas
utama yang dibutuhkan, kemudian dilakukan dokumentasi ke
dalam sebuah tabel yang berisi nama entitas, deskripsi, alias, dan
kejadian yang terjadi pada tiap entitas.
82
Tabel 3.1 Identifikasi Tipe Entitas
No
Entitas
Pegawai
Deskripsi
Orang-orang
Alias
Employee
Occurrence
Setiap pegawai
yang berkerja di
bekerja pada
perusahaan
satu bidang
1
tertentu
Meja
Perlengkapan
yang
2
Table
digunakan
sebagai
tempat
makan
untuk
Setiap
pelanggan
memiliki
satu
meja makan
pelanggan
Pesanan
Menggambarkan
Order
Setiap pesanan
pesanan produk
yang dilakukan
yang dilakukan
oleh pelanggan
3
pelanggan
MenuMakanan
4
Menggambarkan
Produk
Setiap menu
hasil dari bahan
makanan yang
baku yang telah
dihasilkan dari
di proses menjadi
proses produksi
makanan
StokBahanMakanan Menggambarkan
5
bahan makanan
yang digunakan
Raw
Setiap bahan
material
makanan yang
ada di stok
83
untuk membuat
produk
Pembayaran
6
Menggambarkan
Payment
Setiap
proses
pembayaran
pembayaran
dilakukan jika
pesanan
pelanggan telah
selesai makan
Review
Mengambarkan
Review
Review
proses feedback
dilakukan jika
pelanggan
pelanggan telah
terhadap
selesai makan
7
makanan yang
dimakan
3.6.1.2 Identifikasi Tipe Relasi
Dilakukan identifikasi untuk menentukan tipe relasi atau
hubungan-hubungan antar entitas yang sudah didefinisikan.
Tujuan dari tahap ini adalah untuk menentukan hubungan penting
antara entitas-entitas yang telah diidentifikasi.
Langkah – langkah dalam identifikasi tipe relasi adalah
sebagai berikut :
84
a. Perancangan ERD (Entity Relationship Diagram)
0..*
Menghitung_Stok
StokBahanMakanan
1..*
Memengaruhi_Menu
1..*
1..1
Memengaruhi_Stok
Pegawai
1..*
MenuMakanan
1..1
1..*
1..*
0..1
Melakukan_Pemesanan
Review
Menerima_Pembayaran
Pesanan
1..*
1..1
Menghasilkan_Pembayaran
1..1
Memberikan_Saran_Komentar
0..*
Pembayaran
0..*
1..1
Meja
1..1
Melengkapi_Pesanan
1..*
1..1
Melakukan_Pembayaran
Gambar 3.10 Entity Relationship Diagram tahap Konseptual
85
b. Penentuan multiplicity dari hasil relasi
Tabel 3.2 Identifikasi Tipe Relasi
Entitas
Pegawai
Multiplicity
Relationship
Multiplicity
Entitas
1..1
Menghitung_
0..*
StokBahanMakanan
0..*
Pembayaran
0..1
Review
1..*
Pesanan
0..*
Pembayaran
1..1
Pembayaran
1..*
Pesanan
1..*
Menu Makanan
1..*
Pesanan
Stok
1..1
Menerima_Pe
mbayaran
Meja
1..1
Memberikan_
Saran_Komen
tar
1..1
Melakukan_P
emesanan
1..1
Melakaukan_
Pembayaran
Pesanan
1..1
Menghasilkan
_Pembayaran
MenuMakanan
1..*
Melengkapi_P
esanan
StokBahanMakanan
1..*
Memengaruhi
_Menu
1..*
Memengaruhi
_Stok
86
3.6.1.3 Identifikasi dan Asosiasi Atribut
Dilakukan
identifikasi
untuk
mendefinisikan
dan
menjelaskan tiap entitas dan asosiasinya. Tujuan dari langkah inni
adalah untuk mengidentifikasi dan mengasosiasikan atribut dari
suatu entitas atau tipe relasi. Identifikasi dan asosiasi atribut
dengan tipe entitas atau relationship, dapat dilihat di tabel berikut:
Tabel 3.3 Identifikasi Atribut dengan Tipe Entitas
Tipe Data
Entitas
Atribut
MultiNULL
Deskripsi
valued
& Panjang
Pegawai
IdPegawai
Atribut unik untuk
Char (5)
Tidak
Tidak
identifikasi
pegawai
NamaPegawai
Nama pegawai
Varchar(30)
Tidak
Tidak
Jabatan
Jabatan pegawai
Varchar (20)
Tidak
Tidak
JenisKelamin
Jenis kelamin
Char (1)
Tidak
Tidak
Date
Tidak
Tidak
pegawai
TanggalLahir
Tanggal lahir
pegawai
Alamat
Alamat pegawai
Varchar (200)
Tidak
Tidak
NomorHP
Nomor HP
Varchar (16)
Ya
Tidak
Char (3)
Tidak
Tidak
Pegawai
Meja
IdMeja
Atribut unik untuk
identifikasi
87
pelanggan
NamaMeja
Nomor meja
Varchar(10)
Tidak
Tidak
Varchar (10)
Tidak
Tidak
Varchar (5)
Tidak
Tidak
Int
Tidak
Tidak
Char (5)
Tidak
Tidak
pelanggan
Username
Username untuk
login aplikasi
Password
Password untuk
login aplikasi
Status
Status dari meja
tersebut
Pesanan
IdPesanan
Atribut unik untuk
identifikasi
pesanan makanan
NamaMenu
Nama menu
Varchar(100)
Tidak
Tidak
JumlahPesanan
Jumlah pesanan
Int
Tidak
Tidak
Float
Tidak
Tidak
Float
Tidak
Tidak
Date
Tidak
Tidak
Int
Tidak
Tidak
Char (5)
Tidak
Tidak
pelanggan
Harga
Harga satuan
menu makanan
TotalHarga
Total harga
keseluruhan
pesanan pelanggan
TanggalPesan
Waktu pesanan
makanan
StatusPesanan
Status pesanan
makanan
MenuMakana
IdMenu
Atribut unik untuk
88
n
identifikasi menu
makanan
NamaMenu
Nama menu
Varchar (30)
Tidak
Tidak
Float
Tidak
Tidak
Varchar (100)
Ya
Tidak
Char (5)
Tidak
Tidak
makanan
Harga
Harga satuan
menu makanan
Deskripsi
Deskripsi dari
menu makanan
StokBahanMa
IdStok
kanan
Atribut unik untuk
identifikasi stok
bahan makanan
NamaBahan
Nama bahan
Varchar (15)
Tidak
Tidak
SatuanUkuran
Satuan ukuran
Varchar (6)
Tidak
Tidak
HargaSatuanUkuran
Harga satuan
Float
Tidak
Tidak
ukuran bahan
MinimumStok
Minimum stok
Int
Tidak
Tidak
JumlahStok
Jumlah stok yang
Int
Tidak
Tidak
Date
Tidak
Tidak
Char (5)
Tidak
Tidak
Float
Tidak
Tidak
ada
TanggalMasuk
Tanggal masuk
bahan makanan
Pembayaran
IdPembayaran
Atribut unik untuk
identifikasi
pembayaran
TotalHarga
Total harga
pesanan menu
89
makanan
JumlahPembayaran
Jumlah
Float
Tidak
Tidak
Float
Tidak
Tidak
Date
Tidak
Tidak
Char (5)
Tidak
Tidak
Varchar (50)
Tidak
Tidak
Date
Tidak
Tidak
pembayaran yang
diberikan
pelanggan
JumlahUangKembali
Jumlah uang
kembalian
pelanggan
TanggalPembayaran
Tanggal
pembayaran
Review
IdReview
Atribut unik untuk
identifikasi review
Review
Isi review
pelanggan
Tanggal
Tanggal pengisian
review
3.6.1.4 Determinasi Domain Atribut
Dilakukan identifikasi untuk menentukan atribut domain
pada model data tahap konseptual lokal. Atribut domain adalah
kumpulan nilai yang diperbolehkan untuk satu atau lebih atribut.
Atribut domain merupakan fitur yang sangat kuat dalam model
relational. Setiap atribut di dalam relasi ditetapkan dalam domain.
90
Domain mungkin berbeda untuk tiap atribut, atau dua atau lebih
atribut mungkin ditetapkan dalam domain yang sama.
Tabel 3.4 Determinasi Domain Atribut
Entitas
Pegawai
Atribut
IdPegawai
Domain Atribut
5 karakter dengan format Exxxx, dimana karakter ‘E’
merupakan kode pegawai dan empat karakter berikutnya
merupakan nomor pegawai
NamaPegawai
Variasi karakter dengan maksimal jumlah 50 karakter
Jabatan
Variasi karakter dengan maksimal jumlah 20 karakter
JenisKelamin
Sebuah karakter ‘M’ untuk jenis kelamin laki-laki atau ‘F’
untuk jenis kelamin perempuan
Meja
TanggalLahir
Tanggal dengan format dd-mm-yyyy
Alamat
Variasi karakter dengan maksimal jumlah 100 karakter
NomorHP
Variasi karakter dengan maksimal jumlah 14 karakter
IdMeja
5 karakter dengan format Cxxxx, dimana karakter ‘C’
merupakan kode pelanggan dan empat karakter berikutnya
merupakan nomor pelanggan
Pesanan
NamaMeja
Variasi karakter dengan maksimal jumlah 10 karakter
Username
Variasi karakter dengan maksimal jumlah 15 karakter
Password
Variasi karakter dengan maksimal jumlah 5 karakter
Status
Angka bulat (non-desimal)
IdPesanan
5 karakter dengan format Oxxxx, dimana karakter ‘O’
91
merupakan kode pesanan dan empat karakter berikutnya
merupakan nomor pesanan
NamaMenu
Variasi karakter dengan maksimal jumlah 10 karakter
JumlahPesanan Angka bulat (non-desimal)
MenuMakanan
Harga
Angka bulat (non-desimal)
TotalHarga
Angka bulat (non-desimal)
TanggalPesan
Tanggal dengan format dd-mm-yyyy
StatusPesanan
Variasi karakter dengan maksimal jumlah 5 karakter
IdMenu
5 karakter dengan format Mxxxx, dimana karakter ‘M’
merupakan kode menu makanan dan empat karakter
berikutnya merupakan nomor dari menu makanan tersebut
NamaMenu
Variasi karakter dengan maksimal jumlah 30 karakter
Harga
Angka bulat (non-desimal)
Deskripsi
Variasi karakter dengan maksimal jumlah 100 karakter
StokBahanMaka IdStok
5 karakter dengan format Sxxxx, dimana karakter ‘S’
nan
merupakan kode stok dan empat karakter berikutnya
merupakan nomor stok
NamaBahan
Variasi karakter dengan maksimal jumlah 15 karakter
SatuanUkuran
Variasi karakter dengan maksimal jumlah 6 karakter
HargaSatuanU
Angka bulat (non-desimal)
kuran
MinimumStok
Angka bulat (non-desimal)
JumlahStok
Angka bulat (non-desimal)
92
Pembayaran
TanggalMasuk
Tanggal dengan format dd-mm-yyyy
IdPembayaran
5 karakter dengan format Pxxxx, dimana karakter ‘P’
merupakan kode untuk pembayaran dan empat karakter
berikutnya merupakan nomor transaksi pembayaran
TotalHarga
Angka bulat (non-desimal)
JumlahPembay
Angka bulat (non-desimal)
aran
JumlahUangKe Angka bulat (non-desimal)
mbali
TanggalPemba
Tanggal dengan format dd-mm-yyyy
yaran
Review
IdReview
5 karakter dengan format Fxxxx, dimana karakter ‘F’
merupakan kode untuk review / feedback dan empat karakter
berikutnya merupakan nomor review
Review
Variasi karakter dengan maksimal jumlah 50 karakter
Tanggal
Tanggal dengan format dd-mm-yyyy
3.6.1.5 Menentukan Atribut Candidate, Primary dan Alternate Key
Dilakukan identifikasi untuk menentukan candidate key,
dan primary key dari setiap entitas yang ada. Candidate key
adalah sekelompok atribut yang minimal dan secara unik
mengidentifikasikan tiap kejadian dari tipe entitas. Primary key
93
adalah key yang dipilih untuk mengidentifikasikan secara unik
tiap kejadiandari tipe entitas.
Tabel 3.5 Identifikasi Candidate Key dan Primary Key
Entity
Pegawai
Candidate Key
Idpegawai
Primary Key
Idpegawai
Namapegawai
Alamat
Nomorhp
Meja
IdMeja
IdMeja
NamaMeja
Username
Pesanan
Idpesanan
Idpesanan
Namamenu
MenuMakanan
Idmenu
Idmenu
Namamenu
StokBahanMakanan Idstok
Idstok
Namabahan
Pembayaran
Idpembayaran
Idpembayaran
Review
Idreview
Idreview
94
Gambar 3.11 Entity Relationship Diagram tahap Konseptual dengan
Primary Key
95
3.6.1.6 Memeriksa Model dari Redundansi
Pada tahap ini, diperiksa apakah terdapat redundansi pada
relasi yang telah dibuat sebelumnya. Jika ditemukan adanya relasi
yang redundan atau berulang maka akan dilakukan penghilangan
hubungan redundansi yang ada. Dua langkah yang dilakukan pada
tahap ini adalah
1. Memeriksa hubungan One to One
a. Hubungan One to One antara Meja dan Review
Gambar 3.12 Hubugan Antara Meja dan Review
Entitas Meja dan Review tidak redundan dan keduanya
tidak dapat digabungkan menjadi satu entitas, karena
objek masing – masing entitas berbeda.
96
b. Hubungan One to One antara Pesanan dan Pembayaran
Gambar 3.13 Hubungan Antara Pesanan dan
Pembayaran
Entitas Pesanan dan Pembayaran tidak redundan dan
keduanya tidak dapat digabungkan menjadi satu entitas,
karena objek masing – masing entitas berbeda.
2. Memeriksa Redundansi
a. Hubungan antara Stok Bahan Makanan, Menu Makanan
dan Pesanan
•
Relasi Awal :
Gambar 3.14 Hubungan Awal Antara Stok Bahan
Makanan, Menu Makanan dan Pesanan
97
Relasi memengaruhi stok antara Pesanan dan Stok Bahan
Makanan redundan, karena data Pesanan memengaruhi
Stok Bahan Makanan dapat dilihat juga dari relasi
memengaruhi antara Stok Bahan Makanan dan Menu
Makanan. Sehingga tidak diperlukan relasi tambahan
antara Pesanan dan Stok Bahan Makanan, karena Stok
Bahan Makanan akan dipengaruhi dari jumlah yang
digunakan dalam Menu Makanan.
•
Relasi akhir :
Gambar 3.15 Hubungan Akhir Antara Stok Bahan
Makanan, Menu Makanan dan Pesanan
98
b. Hubungan antara Pembayaran, Meja dan Pesanan
•
Relasi awal :
Gambar 3.16 Hubungan Awal Antara Pembayaran,
Meja, dan Pesanan
Relasi
melakukan
pembayaran
antara
Meja
dan
Pembayaran redundan, karena data Meja melakukan
pembayaran dapat dilihat juga dari relasi menghasilkan
pembayaran antara Pesanan dan Pembayaran. Sehingga
tidak diperlukan relasi tambahan antara Meja dan
Pembayaran, karena data Meja dapat dilihat dari relasi
99
menghasilkan
pembayaran
antara
Pesanan
dan
Pembayaran.
•
Relasi akhir :
Gambar 3.17 Hubungan Akhir antara Pembayaran,
Meja, dan Pesanan
100
Gambar 3.18 Entity Relationship Diagram Konseptual Setelah Penghilangan
Hubungan Redundansi
3.6.1.7 Memvalidasi Model Transaksi Pengguna
Pada tahap ini dilakukan validasi model konseptual
dengan transaksi pengguna aplikasi. Tujuan dari tahap ini adalah
memvalidasi model konseptual yang sesuai dengan transaksi
101
pengguna aplikasi. Dibawah ini akan dijelaskan mengenai
tinjauan dari beberapa user yang ada, antara lain :
1. Pegawai memasukan stok dan atau melakukan pengecekan
terhadap ketersediaan barang (bahan makanan) yang ada.
2. Pelanggan masuk ke dalam sistem aplikasi melalui akun
yang telah diberikan, setelah itu pelanggan melakukan
pemesanan menu makanan.
3. Pelanggan memberikan saran / komentar (review) atas menu
makanan yang telah di konsumsi.
4. Pelanggan melakukan pembayaran atas tagihan yang di dapat
dari pesanan.
5. Pegawai menerima pembayaran yang dilakukan pelanggan.
102
Gambar 3.19 Validasi Model Konseptual dengan Transaksi Pengguna
3.6.2
Perancangan Basis Data Logikal
Perancangan basis data logikal adalah proses membangun sebuah
model dari data yang digunakan oleh perusahaan yang berdasar pada
model data yang spesifik, tetapi tidak terikat pada DBMS tertentu dan
pertimbangan fisikal lainnya.
Perancangan pada tahap ini meliputi proses pembuatan model
informasi basis data yang digunakan pada Restoran Raja Kepiting
103
berdasarkan model konseptual yang telah dibuat pada tahap perancangan
basis data sebelumnya.
3.6.2.1 Menentukan Relasi untuk Model Data Logikal
Pada tahap ini akan dibuat model data logikal dan
relasinya untuk memunculkan lagi entitas, relasi dan atribut –
atribut yang telah diidentifikasi pada tahap sebelumnya untuk
diturunkan. Proses penurunan relasi untuk model data logikal
dibagi dalam beberapa tahap :
a. Identifikasi Tipe Entitas Kuat
Tipe entitas kuat adalah entitas – entitas yang tidak memiliki
ketergantungan kepada entitas lain dan berdiri sendiri dengan
primary key miliknya. Tipe entitas kuat biasanya adalah
entitas awal.
Tabel 3.6 Tipe Entitas Kuat
Pegawai
(
JenisKelamin,
IdPegawai,
NamaPegawai,
TanggalLahir,
Jabatan,
Alamat,
NomorHP,
Username,
Password,
Username, Password )
Primary Key ( IdPegawai )
Meja
(
IdMeja,
NamaMeja,
TanggalDatang, Pesanan, Status )
Primary Key ( IdPelanggan )
104
Pesanan ( IdPesanan, NamaMenu, JumlahPesanan, Harga,
TotalHarga, TanggalPesan, StatusPesanan )
Primary Key ( IdPesanan )
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi )
Primary Key ( IdMenu )
StokBahanMakanan
SatuanUkuran,
(
IdStok,
HargaSatuanUkuran,
NamaBahan,
MinimumStok,
JumlahStok, TanggalMasuk )
Primary Key ( IdStok )
Pembayaran
(
IdPembayaran,
JumlahPembayaran,
TotalHarga,
JumlahUangKembali,
TanggalPembayaran )
Primary Key ( IdPembayaran )
Review ( IdReview, Review, Tanggal )
Primary Key ( IdReview )
b. Identifikasi Tipe Entitas Lemah
Entitas lemah terbentuk dari hasil relasi yang mempunyai
semua atribut sederhana dari entitas – entitas lainnya. Entitas
lemah tidak bisa dibuatkan primary key hingga hubungan
dengan entitas asal direlasikan terlebih dahulu.
Tidak terdapat entitas lemah dalam model data ini.
105
c. Identifikasi Tipe Binary Relationship 1:*
Pada entitas – entitas yang mempunyai hubungan one-to-many
memiliki ciri yang unik yaitu entitas yang berada di sisi one
menjadi parent, dan entitas yang berada di sisi many menjadi
child.
1. Tambahkan IdPegawai menjadi foreign key pada Pesanan
untuk hubungan 1..* melayani_pesanan antara Pegawai
dan Pesanan.
Gambar 3.20 Relasi one – to – many Antara Pegawai dan Pesanan
2. Tambahkan
IdPegawai
StokBahanMakanan
menjadi
untuk
foreign
key
hubungan
pada
1..*
menghitung_stok antara Pegawai dan StokBahanMakanan.
106
Gambar 3.21 Relasi one – to – many Antara Pegawai dan StokBahanMakanan
3. Tambahkan
IdPegawai
menjadi
foreign
key
pada
Pembayaran untuk hubungan 1..* menerima_pembayaran
antara Pegawai dan Pembayaran.
Gambar 3.22 Relasi one – to – many Antara Pegawai dan Pembayaran
4. Tambahkan IdPegawai menjadi foreign key pada Review
untuk hubungan 1..* menerima_saran_komentar antara
Pegawai dan Review.
107
Gambar 3.23 Relasi one – to – many Antara Pegawai dan Review
5. Tambahkan IdMeja menjadi foreign key pada Pesanan
untuk hubungan 1..* melakukan_pemesanan antara Meja
dan Pesanan.
Gambar 3.24 Relasi one – to – many Antara Meja dan Pesanan
108
d. Tipe Binary Relationship 1:1
Entitas – entitas yang berhubungan secara one-to-one dibuat
menjadi satu relasi yang sama menggunakan mandatory
participation pada kedua sisinya. Entitas yang terlibat
kemudian digabungkan dan dipilih satu primary key dari
entitas asal, jika ada primary key lain maka akan menjadi
alternate key.
1. Tambahkan IdMeja menjadi foreign key pada Review
untuk
relasi
1..1
yang
menggunakan
mandatory
participation memberikan_saran_komentar antara Meja
dan Review.
Gambar 3.25 Relasi one – to – one Antara Meja dan Review
109
2. Tambahkan
IdPesanan
menjadi
Pembayaran
untuk
relasi
mandatory
participation
1..1
foreign
yang
key
pada
menggunakan
menghasilkan_pembayaran
antara Pesanan dan Pembayaran.
Gambar 3.26 Relasi one – to – one Antara Pesanan dan Pembayaran
e. Tipe Binary Relationship *:*
Untuk setiap hubungan binary many-to-many, dibuat relasi
yang melambangkan hubungan antar entitas dan dimasukkan
seluruh atribut yang merupakan bagian dari relasi. Primary
key yang sama diberikan pada relasi yang baru, namun akan
berperan juga sebagai foreign key.
1. Hubungan
*..*
MenuMakanan
•
Relasi awal :
antara
StokBahanMakanan
dan
110
Gambar 3.27 Relasi Awal many – to – many antara StokBahanMakanan dan
MenuMakanan
Karena
relasi
antara
StokBahanMakanan
dan
MenuMakanan bersifat many-to-many, maka tidak bisa
secara langsung menggabungkan kedua tabel tersebut.
Diperlukan suatu tabel baru untuk dapat menggabungkan
kedua tabel tersebut.
•
Relasi akhir :
Gambar 3.28 Relasi Akhir many – to – many Antara StokBahanMakanan dan
MenuMakanan
111
2. Hubungan *:* antara MenuMakanan dan Pesanan
•
Relasi awal :
Gambar 3.29 Relasi Awal many – to – many Antara MenuMakanan dan Pesanan
Karena relasi antara MenuMakanan dan Pesanan bersifat
many-to-many,
maka
tidak
bisa
secara
langsung
menggabungkan kedua tabel tersebut. Diperlukan suatu
tabel baru untuk dapat menggabungkan kedua tabel
tersebut.
112
•
Relasi akhir :
Gambar 3.30 Relasi Akhir many – to – many Antara MenuMakanan dan Pesanan
f. Atribut Multi-Value
Atribut multi-value adalah atribut yang memiliki lebih dari 1
nilai. Jika terdapat atribut multi-value maka harus dibuatkan
satu entitas baru untuk mewakili atribut multi-value, kemudian
primary key entitas tersebut dimasukkan pada relasi yang baru
berperan sebagai foreign key.
Pada model data ini tidak terdapat atribut multi-value.
3.6.2.2 Memvalidasi Relasi Menggunakan Normalisasi
Tahap selanjutnya yaitu, melakukan normalisasi terhadap
relasi
yang
dibuat
sebelumnya.
Tahap
validasi
relasi
menggunakan normalisasi yang bertujuan untuk menghilangkan
113
anomali – anomali data yang ada. Dalam tahap ini terdapat
beberapa entitas yang sudah dalam bentuk normal, sehingga tidak
diperlukan validasi normalisasi lagi terhadap entitas tersebut.
Berikut ini adalah hasil normalisasi yang ada, yaitu :
Validasi 1NF :
Sebuah relasi dimana persimpangan setiap baris dan
kolom berisi satu dan hanya satu nilai (Connolly & Begg, 2005,
p403).
Sebuah relasi akan berada dalam bentuk 1NF jika
repeating group sudah hilang.
•
Pesanan
UNF :
Pesanan ( IdPesanan, NamaMenu, JumlahPesanan, Harga,
TotalHarga,
TanggalPesan,
StatusPesanan,
IdMeja,
Username, IdPegawai, NamaPegawai, IdMenu )
Hasil 1NF :
Pesanan ( IdPesanan, NamaMenu, JumlahPesanan, Harga,
TanggalPesan,
StatusPesanan,
IdMeja,
Username,
IdPegawai, NamaPegawai, IdMenu )
•
Menu Makanan
UNF :
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi,
IdStok, NamaBahan )
114
Hasil 1NF :
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi,
IdStok, NamaBahan )
Validasi 2NF :
Menurut Connolly dan Begg (2005, p407) relasi dikatakan
2NF jika relasi berada pada 1NF dan setiap atribut yang bukan
primary key bergantung sepenuhnya (full functionally dependent)
terhadap primary key. Full functionally dependent terjadi jika A
dan B merupakan atribut dari suatu relasi, dan B dikatakan
bergantung penuh terhadap A (A->B), namun bukan subset dari
A.
•
Pesanan
1NF :
Pesanan ( IdPesanan, NamaMenu, JumlahPesanan, Harga,
TanggalPesan,
StatusPesanan,
IdMeja,
Username,
IdPegawai, NamaPegawai, IdMenu )
Hasil 2NF :
Pesanan
(
IdPesanan,
TanggalPesan,
StatusPesanan,
IdMeja, Username, IdPegawai, NamaPegawai )
115
PesananDetail ( IdPesanan, IdMenu, NamaMenu, Harga,
JumlahPesanan )
•
MenuMakanan
1NF :
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi,
IdStok, NamaBahan )
Hasil 2NF :
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi )
MenuMakananDetail ( IdMenu, IdStok, NamaBahan )
Validasi 3NF :
Menurut
Connolly dan Begg
(2005,
p409),
Third
Normal Form (3NF) adalah sebuah relasi yang memenuhi first
normal form (1NF) dan second normal form (2NF) di mana tidak
terdapat atribut non-primary key yang bersifat transitively
dependent dari primary key-nya.
•
Pesanan
2NF :
Pesanan
(
IdPesanan,
TanggalPesan,
StatusPesanan,
IdMeja, Username, IdPegawai, NamaPegawai )
116
PesananDetail ( IdPesanan, IdMenu, NamaMenu, Harga,
JumlahPesanan )
Hasil 3NF :
Pesanan
(
IdPesanan,
TanggalPesan,
StatusPesanan,
IdMeja, IdPegawai )
PesananDetail
(
IdPesanan,
IdMenu,
Harga,
JumlahPesanan )
•
MenuMakanan
2NF :
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi )
MenuMakananDetail ( IdMenu, IdStok, NamaBahan )
Hasil 3NF :
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi )
MenuMakananDetail ( IdMenu, IdStok, NamaBahan )
117
Gambar 3.31 Entity Relationship Diagram Logikal
118
3.6.2.3 Memvalidasi Relasi dengan Transaksi Pengguna
Proses ini bertujuan untuk memastikan bahwa relasi pada
model logikal mendukung kebutuhan transaksi. Tahap ini
memeriksa bahwa relasi yang dibuat pada tahap sebelumnya juga
mendukung transaksi yang ada dan memastikan tidak ada error
yang terjadi pada saat membuat relasi. Apabila semua transaksi
dapat dipenuhi oleh model data logikal yang dibuat maka model
data logikal tersebut adalah benar.
Pada perancangan diatas, semua transaksi yang ada dapat
dipenuhi oleh model data logikal yang dibuat.
3.6.2.4 Memeriksa Integrity Constraint
Tahap ini dilakukan untuk memastikan bahwa setiap data
adalah valid dan konsisten. Berikut adalah entitas – entitas yang
digunakan beserta batasan integritasnya (integrity constraint).
Pegawai ( IdPegawai, NamaPegawai, Jabatan, JenisKelamin,
TanggalLahir, Alamat, NomorHP )
Primary Key IdPegawai
Meja ( IdMeja, NamaMeja, Username, Password, Status)
Primary Key IdMeja
119
Pembayaran ( IdPembayaran, TanggalPembayaran, Idpesanan,
IdPegawai )
Primary Key IdPembayaran
Foreign Key IdPesanan References Pesanan ( IdPesanan )
ON DELETE CASCADE ON UPDATE CASCADE
Foreign Key IdPegawai References Pegawai ( IdPegawai )
ON DELETE CASCADE ON UPDATE CASCADE
Pesanan ( IdPesanan, TanggalPesan, StatusPesanan, IdPegawai,
IdMeja )
Primary Key IdPesanan
Foreign Key IdPegawai References Pegawai ( IdPegawai )
ON DELETE CASCADE ON UPDATE CASCADE
Foreign Key IdMeja References Meja ( IdMeja )
ON DELETE CASCADE ON UPDATE CASCADE
PesananDetail ( IdMenu, IdPesanan, Qty, HargaSatuan, Total)
Primary Key IdMenu, IdPesanan
Foreign Key IdMenu References MenuMakanan ( IdMenu )
ON DELETE CASCADE ON UPDATE CASCADE
Foreign Key IdPesanan References Pesanan ( IdPesanan )
ON DELETE CASCADE ON UPDATE CASCADE
120
MenuMakanan ( IdMenu, NamaMenu, Harga, Deskripsi,
IdKategoriMakanan )
Primary Key IdMenu
MenuMakananDetail ( IdMenu, IdStok, Qty )
Primary Key IdMenu, IdStok
Foreign Key IdMenu References MenuMakanan ( IdMenu )
ON DELETE CASCADE ON UPDATE CASCADE
Foreign Key IdStok References StokBahanMakanan ( IdStok)
ON DELETE CASCADE ON UPDATE CASCADE
StokBahanMakanan ( IdStok, NamaBahan, SatuanUkuran,
Harga, MinimumStok, JumlahStok, TanggalMasuk, IdPegawai )
Primary Key IdStok
Foreign Key IdPegawai References Pegawai ( IdPegawai )
ON DELETE CASCADE ON UPDATE CASCADE
Review ( IdReview, Review, TanggalReview, IdMeja, IdPegawai
)
Primary Key IdReview
Foreign Key IdMeja References Meja ( IdMeja )
ON DELETE CASCADE ON UPDATE CASCADE
Foreign Key IdPegawai References Pegawai ( IdPegawai )
ON DELETE CASCADE ON UPDATE CASCADE
121
KategoriMakanan ( IdKategoriMakanan, KategoriMakanan )
Primary Key IdKategoriMakanan
User ( Username, Password, HakAkses, IdPegawai )
Primary Key Username
3.6.2.5 Meninjau Model Data Logikal dengan Pengguna
Tahap ini bertujuan untuk meninjau ulang model data
logikal yang telah dibuat dengan pengguna untuk memastikan
bahwa model data logikal yang dibuat telah merepresentasikan
kebutuhan data organisasi secara benar.
Setelah dilakukan tinjauan dengan pengguna maka
diperoleh hasil bahwa model data logikal yang dibuat telah
merepresentasikan struktur data yang di simpan oleh organisasi.
3.6.3
Perancangan Basis Data Fisikal
Perancangan basis data fisikal bertujuan untuk menerjemahkan
data – data model logikal menjadi data – data model fisikal agar dapat
diimplementasikan pada DBMS tertentu. Tahapan ini terdiri dari desain
relasi dasar, analisis transaksi, dan estimasi kebutuhan disk space.
122
3.6.3.1 Menerjemahkan Model Data Logikal untuk DBMS
Tahapan pertama dalam perancangan basis data fisikal
adalah menerjemahkan model data logikal kedalam model data
fisikal sehingga dapat diimplementasikan pada DBMS target.
3.6.3.1.1 Desain Relasi Dasar
Menerjemahkan atribut – atribut pada model data logikal
ke dalam model data fisikal beserta bahasa SQL yang
digunakan dalam pembuatan suatu entitas.
1. Pegawai
Keterangan:
IdPegawai
: Tipe Data karakter, length 5
NamaPegawai
: Tipe Data variasi karakter, length 30
Jabatan
: Tipe Data variasi karakter, length 20
JenisKelamin
: Tipe Data karakter, length 1 harus ‘M’ atau ‘F’
TanggalLahir
: Tipe Data date
Alamat
: Tipe Data variasi karakter, length 200
NomorHP
: Tipe Data variasi karakter, length 16
CREATE TABLE Pegawai (
IdPegawai
char(5)
NOT NULL,
NamaPegawai
varchar(30)
NOT NULL,
Jabatan
varchar(20)
NOT NULL,
123
JenisKelamin
char(1)
NOT NULL,
TanggalLahir
date
NOT NULL,
Alamat
varchar(200)
NOT NULL,
NomorHP
varchar(16)
NOT NULL,
PRIMARY KEY (`IdPegawai`)
);
2. Meja
Keterangan:
IdMeja
: Tipe Data variasi karakter, length 3
NamaMeja
: Tipe Data variasi karakter, length 10
UserName
: Tipe Data variasi karakter, length 10
Password
: Tipe Data variasi karakter, length 5
Status
: Tipe Data integer, length 1
CREATE TABLE Meja (
IdMeja
char(3)
NOT NULL,
NamaMeja
varchar(10)
NOT NULL,
Username
varchar(10)
NOT NULL,
Password
varchar(5)
NOT NULL,
Status
int(1)
NOT NULL,
PRIMARY KEY (`IdMeja`)
124
);
3. Pembayaran
Keterangan:
IdPembayaran
: Tipe Data karakter, length 5
TanggalPembayaran
: Tipe Data datetime
JumlahPembayaran
: Tipe Data integer, length 7
Idpesanan
: Tipe Data karakter, length 5
IdPegawai
: Tipe Data karakter, length 5
CREATE TABLE Pembayaran (
Idpembayaran
char(5)
NOT NULL,
TanggalPembayaran
date
NOT NULL,
JumlahPembayaran
int(7)
NOT NULL,
IdPesanan
char(5)
NOT NULL,
IdPegawai
char(5)
NOT NULL,
PRIMARY KEY (`Idpembayaran`),
FOREIGN KEY (`IdPesanan`) REFERENCES Pesanan
(`IdPesanan`) ON DELETE CASCADE ON UPDATE
CASCADE,
FOREIGN KEY (`IdPegawai`) REFERENCES Pegawai
(`IdPegawai`) ON DELETE CASCADE ON UPDATE
CASCADE
);
125
4. Pesanan
Keterangan:
IdPesanan
: Tipe Data karakter, length 5
TanggalPesan
: Tipe Data datetime,
StatusPesanan
: Tipe Data Integer, length 1
IdMeja
: Tipe Data karakter, length 3
CREATE TABLE Pesanan (
IdPesanan
char(5)
NOT NULL,
TanggalPesan
date
NOT NULL,
StatusPesanan
int(1)
NOT NULL,
IdMeja
char(3)
NOT NULL,
PRIMARY KEY (`IdPesanan`),
FOREIGN
KEY
(`IdMeja`)
REFERENCES
`Meja`
(`IdMeja`) ON DELETE CASCADE ON UPDATE
CASCADE
);
5. PesananDetail
Keterangan:
IdMenu
: Tipe Data karakter, length 5
IdPesanan
: Tipe Data karakter, length 5
Qty
: Tipe Data integer, length 2
126
HargaSatuan
: Tipe Data integer, length 6
Bumbu
: Tipe Data variasi karakter, length 50
Catatan
: Tipe Data variasi karakter, length 255
Status
: Tipe Data integer, length 1
CREATE TABLE PesananDetail (
IdMenu
char(5)
NOT NULL,
IdPesanan
char(5)
NOT NULL,
Qty
int(2) unsigned
NOT NULL,
HargaSatuan
int(6) unsigned
NOT NULL,
Bumbu
varchar(50)
NOT NULL,
Catatan
varchar(255)
NOT NULL,
Status
int(1)
NOT NULL,
PRIMARY KEY (`IdMenu`,`IdPesanan`),
FOREIGN
KEY
(`IdMenu`)
REFERENCES
`MenuMakanan` (`IdMenu`) ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN KEY (`IdPesanan`) REFERENCES `Pesanan`
(`IdPesanan`) ON DELETE CASCADE ON UPDATE
CASCADE
);
127
6. KategoriMakanan
Keterangan:
IdKategoriMakanan
: Tipe Data karakter, length 3
KategoriMakanan
: Tipe Data variasi karakter, length 50
CREATE TABLE KategoriMakanan (
IdKategoriMakanan
char(3)
NOT NULL,
KategoriMakanan
char(50)
NOT NULL,
PRIMARY KEY (`IdKategoriMakanan`)
);
7. MenuMakanan
Keterangan:
IdMenu
: Tipe Data karakter, length 5
NamaMenu
: Tipe Data variasi karakter, length 100
Harga
: Tipe Data integer, length 6
Deskripsi
: Tipe Data variasi karakter, length 100
NamaGambar
: Tipe Data variasi karakter, length 50
IdKategoriMakanan
: Tipe Data karakter, length 3
128
CREATE TABLE MenuMakanan (
IdMenu
char(5)
NOT NULL,
NamaMenu
varchar(100)
NOT NULL,
Harga
int(6) unsigned
NOT NULL,
Deskripsi
varchar(100)
NOT NULL,
NamaGambar
varchar(50)
NOT NULL,
IdKategoriMakanan
char(3)
NOT NULL,
PRIMARY KEY (`IdMenu`),
FOREIGN KEY (`IdKategoriMakanan`) REFERENCES
`KategoriMakanan` (`IdKategoriMakanan`) ON DELETE
CASCADE ON UPDATE CASCADE
);
8. MenuDetail
Keterangan:
IdMenu
: Tipe Data karakter, length 5
IdStok
: Tipe Data karakter, length 5
Qty
: Tipe Data variasi karakter, length 25
CREATE TABLE MenuDetail (
IdMenu
char(5)
NOT NULL,
IdStok
char(5)
NOT NULL,
Qty
varchar(25)
NOT NULL,
129
PRIMARY KEY (`IdMenu`,`IdStok`),
FOREIGN
KEY
(`IdMenu`)
REFERENCES
`MenuMakanan` (`IdMenu`) ON DELETE CASCADE
ON UPDATE CASCADE,
FOREIGN
KEY
`StokBahanMakanan`
(`IdStok`)
(`IdStok`)
REFERENCES
ON
DELETE
CASCADE ON UPDATE CASCADE
);
9. StokBahanMakanan
Keterangan:
IdStok
: Tipe Data karakter, length 5
NamaBahan
: Tipe Data variasi karakter, length 25
SatuanUkuranTotal
: Tipe Data variasi karakter, length 6
Harga
: Tipe Data integer, length 6
MinimumStok
: Tipe Data integer, length 3
SatuanUkurMin
: Tipe Data variasi karakter, length 10
JumlahStok
: Tipe Data integer, length 3
TanggalMasuk
: Tipe Data date
IdPegawai
: Tipe Data karakter, length 5
Catatan
: Tipe Data variasi karakter, length 255
CREATE TABLE StokBahanMakanan (
IdStok
char(5)
NOT NULL,
130
NamaBahan
varchar(25)
NOT NULL,
SatuanUkuranTotal
varchar(6)
NOT NULL,
Harga
int(6) unsigned
NOT NULL,
MinimumStok
int(3) unsigned
NOT NULL,
SatuanUkurMin varchar(10)
NOT NULL,
JumlahStok
int(3) unsigned
NOT NULL,
TanggalMasuk
date
NOT NULL,
IdPegawai
char(5)
NOT NULL,
Catatan
varchar(255)
NOT NULL,
PRIMARY KEY (`IdStok`),
FOREIGN KEY (`IdPegawai`) REFERENCES `Pegawai`
(`IdPegawai`) ON DELETE CASCADE ON UPDATE
CASCADE
);
10. Review
Keterangan:
IdReview
: Tipe Data karakter, length 5
Review
: Tipe Data variasi karakter, length 255
TanggalReview
: Tipe Data datetime,
IdMeja
: Tipe Data karakter, length 3
CREATE TABLE Review (
IdReview
char(5)
NOT NULL,
Review
varchar(255)
NOT NULL,
131
TanggalReview datetime
NOT NULL,
IdMeja
NOT NULL,
char(3)
PRIMARY KEY (`IdReview`),
FOREIGN
KEY
(`IdMeja`)
REFERENCES
`Meja`
(`IdMeja`) ON DELETE CASCADE ON UPDATE
CASCADE,
);
11. User
Username
: Tipe Data karakter, length 10
Password
: Tipe Data karakter, length 32
HakAkses
: Tipe Data Integer, length 1
IdPegawai
: Tipe Data karakter, length 5
CREATE TABLE LaporanPemasukan (
Username
char(10)
NOT NULL,
Password
char(32)
NOT NULL,
HakAkses
int(1)
NOT NULL,
IdPegawai
char(5)
NOT NULL,
PRIMARY KEY (`Username`),
FOREIGN KEY (`IdPegawai`) REFERENCES `Pegawai`
(`IdPegawai`) ON DELETE CASCADE ON UPDATE
CASCADE
132
);
3.6.3.1.2 Merancang Representasi Data Yang Diturunkan
Derived data adalah data – data berupa hasil kalkulasi
yang dihilangkan pada tahap normalisasi (dari UNF menjadi
1NF). Namun data – data kalkulasi sebenarnya masih
dibutuhkan untuk kebutuhan basis data, tetapi tidak secara
langsung dibuatkan field (atribut) permanen dalam basis data
untuk menyimpan data – data tersebut, dan oleh karena itu
data – data tersebut diturunkan menjadi derived data. Data
yang diturunkan (derived data) dalam entitas – entitas berikut
:
1. Pembayaran dengan menampilkan Total
2. Pesanan dengan menampilkan Total Harga
3.6.3.1.3 Merancang Batasan – Batasan Umum
Tahap ini bertujuan untuk merancang constraint pada
DBMS yang digunakan. Constraint yang digunakan meliputi :
1.
Membatasi bahwa hanya terdapat Jenis Kelamin ‘P’
untuk Pria atau ‘W’ untuk Wanita yang terdapat pada
entitas
Pegawai.
CONSTRAINT
CHECK
dan
IN
digunakan pada atribut JenisKelamin. Perintah SQL –nya
sebagai berikut :
133
CHECK ( JenisKelamin IN (‘P’, ‘W’)).
3.6.3.2 Merancang Organisasi File dan Indeks
Tahapan ini bertujuan untuk merancang organisasi file dan
indeks yang digunakan dalm perancangan basis data fisikal. Pada
tahapan ini pula akan dijelaskan mengenai analisis transaksi dan
perkiraan kebutuhan ukuran disk space pada DBMS target.
3.6.3.2.1 Menganalisis Transaksi
Analisis
transaksi
ini
bertujuan
untuk
memahami fungsionalitas dari transaksi yang dapat
terjadi dari basis data fisikal. Transaksi – transaksi
yang dapat terjadi adalah sebagai berikut :
a.
Menambah, mengubah dan menghapus data
pegawai
b.
Melihat data pegawai
c.
Menambah, mengubah dan menghapus data
meja
d.
Melihat data meja
e.
Menambah, mengubah data pembayaran
f.
Melihat data pembayaran
g.
Menambah, mengubah dan menghapus data
pesanan
h.
Melihat data pesanan
134
i.
Menambah, mengubah dan menghapus data
review
j.
Melihat data review
k.
Menambah, mengubah dan menghapus stok
bahan makanan
l.
Melihat data stok bahan makanan
m.
Menambah, mengubah dan menghapus data
menu makanan detail
n.
Melihat data menu makanan detail
o.
Menambah, mengubah dan menghapus data
menu makanan
p.
Melihat data menu makanan
q.
Menambah, mengubah dan menghapus data
pesanan detail
r.
Melihat data pesanan detail
s.
Menambah, mengubah dan menghapus data
kategori makanan
t.
Melihat data kategori makanan
u.
Menambah, mengubah dan menghapus data
user
v.
Melihat data user
135
Tabel 3.7 Analisis Transaksi Pegawai dan Meja
Transaksi / Relasi
a
I
Pegawai
c
U D R I U D R I
X X X
Meja
b
d
U D R I U D R
X
X X X
Pembayaran
Pesanan
Review
StokBahanMakanan
MenuMakananDetail
MenuMakanan
PesananDetail
KategoriMakanan
User
Tabel 3.8 Analisis Transaksi Pembayaran dan Pesanan
X
136
Transaksi / Relasi
e
I
f
g
U D R I U D R I
h
U D R I U D R
Pegawai
Meja
X
Pembayaran
X
X X
X
Pesanan
X
X X X
X
Review
StokBahanMakanan
MenuMakananDetail
MenuMakanan
X
PesananDetail
X
KategoriMakanan
User
Tabel 3.9 Analisis Transaksi Review dan StokBahanMakanan
Transaksi / Relasi
i
I
J
k
U D R I U D R I
l
U D R I U D R
Pegawai
Meja
X
X
Pembayaran
Pesanan
Review
StokBahanMakanan
X X X
X
X X X
X
137
MenuMakananDetail
MenuMakanan
PesananDetail
KategoriMakanan
User
Tabel 3.10 Analisis Transaksi MenuMakananDetail dan MenuMakanan
Transaksi / Relasi
m
I
n
o
U D R I U D R I
p
U D R I U D R
Pegawai
Meja
Pembayaran
Pesanan
Review
StokBahanMakanan
MenuMakananDetail
MenuMakanan
X X X
X
X
X X X
PesananDetail
KategoriMakanan
User
Tabel 3.11 Analisis Transaksi PesananDetail dan KategoriMakanan
X
138
Transaksi / Relasi
q
I
R
s
U D R I U D R I
t
U D R I U D R
Pegawai
Meja
X
X
X
X
Pembayaran
Pesanan
Review
StokBahanMakanan
MenuMakananDetail
MenuMakanan
PesananDetail
KategoriMakanan
User
X
X X X
X
X X X
X
139
Tabel 3.12 Analisis Transaksi User
Transaksi / Relasi
U
I
v
U D R I U D R
Pegawai
X
X
Meja
Pembayaran
Pesanan
Review
StokBahanMakanan
MenuMakananDetail
MenuMakanan
PesananDetail
KategoriMakanan
User
X X X
X
Ketereangan :
•
‘I’ merupakan kepanjangan dari Insert, yang berarti user dapat
menambah data.
140
•
‘U’ merupakan kepanjangan dari Update, yang berarti user dapat
mengubah data.
•
‘D’ merupakan kepanjangan dari Delete, yang berarti user dapat
menghapus data.
•
‘R’ merupakan kepanjangan dari Read, yang berarti user hanya dapat
membuka dan tidak dapat memodifikasi data.
3.6.3.2.2 Memilih Organisasi File
DBMS yang digunakan dalam perancangan
basis data adalah MySQL dan organisasi file yang
dipilih adalah organisasi file dengan tipe struktur data
relational (hubungan).
3.6.3.2.3 Memilih Indeks
Tahap ini bertujuan untuk meningkatkan
perfoma sistem pada aplikasi. Pemilihan indeks
didasarkan pada atribut yang paling sering digunakan
dan yang paling banyak mengakses suatu record dalam
relasi yang ada sehingga memudahkan saat terjadinya
proses sorting (pengurutan) dan searching (pencarian)
data.
141
Berikut
adalah
rancangan
indeks
yang
digunakan pada entitas – entitas yang terdapat pada
basis data.
Tabel 3.13 Perancangan Indeks
Tabel
Indeks
Pegawai
idpegawai
Meja
idmeja
Pembayaran
idpembayaran
idpegawai
idpesanan
Pesanan
idpesanan
idmeja
Review
idreview
idmeja
StokBahanMakanan
Idstok
idpegawai
MenuMakananDetail
idmenu
idstok
MenuMakanan
idmenu
142
idkategorimakanan
PesananDetail
idmenu
idpesanan
KategoriMakanan
idkategorimakanan
User
username
idpegawai
3.6.3.2.4 Memperkirakan Kebutuhan Disk Space
Tujuan
dari
adanya
perkiraan
(estimasi)
kebutuhan ukuran disk space adalah untuk mengetahui
seberapa banyak kapasitas yang dibutuhkan untuk
menyimpan data dalam basis data (database). Hal ini
diperlukan untuk menentukan besarnya kapasitas yang
diperlukan untuk beberapa tahun kedepan.
Estimasi dapat dilakukan dengan melakukan
perhitungan besar tipe data pada DBMS yang
diinginkan.
143
Tabel 3.14 Estimasi Tabel Pegawai
Ukuran
Nama Entitas
Nama Atribut
Tipe Data
(Bytes)
Pegawai
IdPegawai
Karakter
5
NamaPegawai
Variasi
30
Karakter
Jabatan
Variasi
20
Karakter
JenisKelamin
Karakter
1
TanggalLahir
Date
8
Alamat
Variasi
200
Karakter
NomorHP
Variasi
16
Karakter
Total
280 byte
144
Kapasitas dari table pegawai adalah 280 byte
Data yang ada saat ini 13 pegawai, total penggunaan tabel
pegawai = 13 * 280 = 3640 byte
Diperkirakan dalam 1 tahun terjadi penambahan pegawai
sebanyak 10
Dalam waktu 5 tahun pertumbuhan dari table pegawai adalah
10 * 5 * 280 = 14000 byte
Sehingga total pertumbuhan tabel pegawai selama 5 tahun
ditambah data awal = 14000 + 3640 = 17640 byte
Tabel 3.15 Estimasi Tabel Meja
Nama
Nama
Ukuran
Tipe Data
Entitas
Atribut
Meja
IdMeja
NamaMeja
(Bytes)
Karakter
3
Variasi
10
Karakter
Username
Variasi
10
Karakter
Password
Variasi
5
Karakter
Status
Integer
4
145
Total
32 byte
Kapasitas dari table meja adalah 32 byte
Data yang ada saat ini 25 meja, total penggunaan tabel
meja = 25 * 32 = 800 byte
Diperkirakan dalam 1 tahun terjadi penambahan meja
sebanyak 10
Dalam waktu 5 tahun pertumbuhan dari table meja adalah
10 * 5 * 32 = 1600 byte
Sehingga total pertumbuhan tabel meja selama 5 tahun
ditambah data awal = 1600 + 800 = 2400 byte
Tabel 3.16 Estimasi Tabel Pembayaran
Nama
Tipe
Ukuran
Data
(Bytes)
Karakter
5
TanggalPembayaran Datetime
8
JumlahPembayaran
Int
4
IdPesanan
Karakter
5
IdPegawai
Karakter
5
Nama Atribut
Entitas
Pembayaran
IdPembayaran
Total
27 byte
Kapasitas dari table pembayaran adalah 27 byte
Data yang ada saat ini 10 pembayaran, total penggunaan
tabel pembayaran = 10 * 27 = 270 byte
146
Diperkirakan dalam 1 bulan terjadi penambahan transaksi
(pembayaran) sebanyak 600
Dalam waktu 1 tahun pertumbuhan dari tabel pembayaran
adalah 600 * 12 * 27 = 194400 byte
Dalam waktu 5 tahun pertumbuhan dari table pembayaran
adalah 5 * 194400 = 972000 byte
Sehingga total pertumbuhan tabel pembayaran selama 5
tahun ditambah data awal = 972000 + 270 = 972270 byte
Tabel 3.17 Estimasi Tabel Pesanan
Ukuran
Nama
Nama Atribut
Tipe Data
Entitas
Pesanan
(Bytes)
IdPesanan
Karakter
5
TanggalPesan
Datetime
8
StatusPesanan
Integer
4
IdMeja
Karakter
3
Total
20 byte
Kapasitas dari table pesanan adalah 20 byte
Data yang ada saat ini 10 pesanan, total penggunaan tabel
pesanan = 10 * 20 = 200 byte
Diperkirakan dalam 1 bulan terjadi transaksi pemesanan
sebanyak 600
Dalam waktu 1 tahun pertumbuhan dari table pesanan
147
adalah 600 * 12 * 20 = 144000 byte
Dalam waktu 5 tahun pertumbuhan dari table pesanan
adalah 5 * 144000 = 720000 byte
Sehingga total pertumbuhan tabel pesanan selama 5 tahun
ditambah data awal = 720000 + 200 = 720200 byte
Tabel 3.18 Estimasi Tabel PesananDetail
Ukuran
Nama Entitas
Nama Atribut
Tipe Data
(Bytes)
PesananDetail
IdMenu
Karakter
5
IdPesanan
Karakter
5
Qty
Integer
4
HargaSatuan
Integer
4
bumbu
Variasi
50
Karakter
catatan
Variasi
255
Karakter
Status
Integer
Total
Kapasitas dari table pesanandetail adalah 327 byte
4
327 byte
148
Data yang ada saat ini 25 pesanan detail, total penggunaan
tabel pesanandetail = 10 * 25 = 250 byte
Diperkirakan dalam 1 bulan terjadi transaksi pemesanan
sebanyak 600
Dalam waktu 1 tahun pertumbuhan dari table pesanan adalah
600 * 12 * 327 = 5297400 byte
Dalam waktu 5 tahun pertumbuhan dari table pesanan adalah
5 * 5297400 = 26487000 byte
Sehingga total pertumbuhan tabel pesanandetail selama 5
tahun ditambah data awal = 26487000 + 250 = 26487250
byte
Tabel 3.19 Estimasi Tabel MenuMakanan
Nama Entitas
MenuMakanan
Tipe
Ukuran
Data
(Bytes)
IdMenu
Karakter
5
NamaMenu
Variasi
100
Nama Atribut
Karakter
Harga
Integer
4
Deskripsi
Variasi
100
Karakter
NamaGambar
Variasi
Karakter
50
149
IdKategoriMakanan
Karakter
Total
3
262 byte
Kapasitas dari table menumakanan adalah 262 byte
Data yang ada saat ini 80 menu makanan, total penggunaan
tabel menumakanan = 80 * 262 = 20960 byte
Dalam waktu 1 tahun penambahan menumakanan sebanyak
10
Dalam waktu 5 tahun pertumbuhan dari table menumakanan
adalah 5 * 10 * 262 = 13100 byte
Sehingga total pertumbuhan tabel menumakanan selama 5
tahun ditambah data awal = 13100 + 20960 = 34060 byte
Tabel 3.20 Estimasi Tabel MenuMakananDetail
Ukuran
Nama Entitas
Nama Atribut
Tipe Data
(Bytes)
MenuDetail
IdMenu
Karakter
5
IdStok
Karakter
5
Qty
Variasi
25
Karakter
Total
35 byte
Kapasitas dari table menudetail adalah 35 byte (tiap 1 menu)
Data yang ada saat ini 150 menu makanan detail, total
150
penggunaan tabel menumakanandetail = 150 * 35 = 5250
byte
Dalam waktu 1 tahun penambahan menudetail sebanyak 20
Dalam waktu 5 tahun pertumbuhan dari table menudetail
adalah 5 * 20 * 35 = 3500 byte
Sehingga total pertumbuhan tabel menumakanandetail
selama 5 tahun ditambah data awal = 3500 + 5250 = 8750
byte
Tabel 3.21 Estimasi Tabel StokBahanMakanan
Ukura
Tipe
Nama Entitas
Nama Atribut
n
Data
(Bytes)
StokBahanMakana
IdStok
n
Karakte
5
r
NamaBahan
Variasi
25
Karakte
r
SatuanUkuranTota
Variasi
l
Karakte
6
r
Harga
Integer
4
MinimumStok
Integer
4
151
SatuanUkurMin
Variasi
10
Karakte
r
JumlahStok
Integer
4
TanggalMasuk
Date
8
IdPegawai
Karakte
5
r
catatan
Variasi
255
Karakte
r
Total
326
byte
Kapasitas dari table stokbahanmakanan adalah 326 byte
Data yang ada saat ini 120 stok bahan makanan, total
penggunaan tabel stokbahanmakanan = 120 * 326 = 39120
byte
Diperkirakan dalam 1 bulan terjadi penambahan stok
sebanyak 2
Dalam
waktu
1
tahun
pertumbuhan
dari
table
stokbahanmakanan adalah 2 * 12 * 326 = 7824 byte
Dalam
waktu
5
tahun
pertumbuhan
dari
table
stokbahanmakanan adalah 5 * 7824 = 39120 byte
Sehingga total pertumbuhan tabel stokbahanmakanan selama
152
5 tahun ditambah data awal = 39120 + 39120 = 78240 byte
Tabel 3.22 Estimasi Tabel Review
Nama Entitas
Review
Tipe
Ukuran
Data
(Bytes)
IdReview
Karakter
5
Review
Variasi
255
Nama Atribut
Karakter
TanggalReview
Datetime
8
IdMeja
Karakter
3
Total
271 byte
Kapasitas dari table review adalah 271 byte
Data yang ada saat ini 10 review, total penggunaan tabel
review = 10 * 271 = 2710 byte
Diperkirakan dalam 1 bulan terjadi penambahan review
sebanyak 450
153
Dalam waktu 1 tahun pertumbuhan dari table review adalah
450 * 12 * 271 = 1463400 byte
Dalam waktu 5 tahun pertumbuhan dari table review adalah
5 * 1463400 = 7317000 byte
Sehingga total pertumbuhan tabel review selama 5 tahun
ditambah data awal = 7317000 + 2710 = 7319710 byte
Tabel 3.23 Estimasi Tabel KategoriMakanan
Nama Entitas
KategoriMakanan
Tipe
Ukuran
Data
(Bytes)
Nama Atribut
IdKategoriMakanan Karakter
3
KategoriMakanan
50
Variasi
Karakter
Total
53 byte
Kapasitas dari table kategorimakanan adalah 53 byte
Data yang ada saat ini 15 kategori makanan, total
penggunaan tabel kategorimakanan = 15 * 53 = 795 byte
Diperkirakan dalam 1 tahun terjadi penambahan kategori
makanan sebanyak 10
Dalam
waktu
1
tahun
pertumbuhan
kategorimakanan adalah 10 * 53 = 530 byte
dari
table
154
Dalam
waktu
5
tahun
pertumbuhan
dari
table
kategorimakanan adalah 5 * 530 = 2650 byte
Sehingga total pertumbuhan tabel review selama 5 tahun
ditambah data awal = 2650 + 795 = 3445 byte
Tabel 3.24 Estimasi Tabel User
Nama Entitas
User
Tipe
Ukuran
Data
(Bytes)
Username
Karakter
10
Password
Karakter
32
HakAkses
Integer
4
IdPegawai
Karakter
5
Nama Atribut
Total
51 byte
Kapasitas dari table user adalah 51 byte
Data yang ada saat ini 4 user, total penggunaan tabel user =
4 * 51 = 204 byte
Diperkirakan dalam 1 tahun terjadi penambahan user
sebanyak 10
Dalam waktu 1 tahun pertumbuhan dari table user adalah 10
155
* 51 = 510 byte
Dalam waktu 5 tahun pertumbuhan dari table user adalah 5 *
510 = 2550 byte
Sehingga total pertumbuhan tabel user selama 5 tahun
ditambah data awal = 2550 + 204 = 2754 byte
3.6.3.3 Merancang Mekanisme Keamanan
Mekanisme keamanan sistem yang digunakan adalah
meliputi
penggunaan
Username
dan
Password
sebagai
identifikator user yang akan menjaga keamanan basis data.
Username dan Password disimpan dalam entitas User. Admin
memiliki hak akses tertinggi dalam sistem basis data, dan user –
user lain selain admin masing – masing memiliki kode jabatan
yang diberi hak akses dalam batasan tertentu. Hal ini dilakukan
untuk menjaga keamanan dan integritas data dari sistem basis data
Restoran Raja Kepiting.
156
3.7
Perancangan Aplikasi
Tahap dimana aplikasi dirancang dan terdiri dari 3 tahap yaitu
perancangan struktur menu, STD, dan rancangan layar input/output.
3.7.1
Perancangan Struktur Menu
Berikut ini adalah struktur menu dari aplikasi yang akan dirancang :
157
Gambar 3.32 Struktur Menu Admin
Gambar 3.33 Struktur Menu User
158
3.7.2
State Transition Diagran (STD)
Berikut ini adalah State Transition Diagram (STD) dari aplikasi yang
akan dirancang :
Gambar 3.34 STD Login
159
Gambar 3.35 STD Menu Utama Admin
Gambar 3.36 STD Admin Menu Makanan
160
Gambar 3.37 STD Admin Menu Stok
Gambar 3.38 STD Admin Menu Pegawai
161
Gambar 3.39 STD Admin Menu User
Gambar 3.40 STD Admin Menu Meja
162
Gambar 3.41 STD Admin Menu Kategori Makanan
Gambar 3.42 STD Admin Menu Laporan Pemasukan
163
Gambar 3.43 STD Admin Menu Pembayaran
164
Gambar 3.44 STD Menu Utama User
Gambar 3.45 STD Order
165
Form Checkout
Klik “Checkout”
Tambahkan Data Order
Tambahkan Data Order
Klik “Simpan”
Data Order tidak lengkap,
Tambahkan Pesan Error
Pesan Error
Klik “Ubah”
Ubah Data Order
Ubah Data Order
Klik “Hapus”
Hapus Data Order
Hapus Data Order
Gambar 3.46 STD Checkout
Gambar 3.47 STD Menu Testimoni
3.7.3
Rancangan Layar Input/Output
Pada sub bab ini akan dilakukan perancangan layar input maupun output
yang akan dibuat pada aplikasi. Rancangan layar ini terdiri dari rancangan layar
untuk admin dan juga untuk pelanggan.
a. Perancangan Layar Login Pelanggan
166
Halaman ini merupakan halaman pertama ketika pelanggan akan
melakukan login. Pada halaman ini pelanggan harus memasukkan
username dan password yang dimilikinya. Untuk pelanggan, username dan
password akan diberikan oleh kasir agar dapat melakukan pemesanan
makanan.
Gambar 3.48 Rancangan Layar Login untuk Pelanggan
b. Perancangan Layar Pelanggan Menu Home
Halaman ini merupakan halaman ketika seorang pelanggan berhasil login
pada sistem aplikasi. Pada halaman ini akan ditampilkan menu – menu
makanan yang tersedia di Restoran Raja kepiting.
167
Gambar 3.49 Rancangan Layar Menu Home untuk Pelanggan
c. Perancangan Layar Pelanggan Menu Tagihan
Pada halaman ini akan berisi tagihan atas menu makanan yang telah
dipesan oleh pelanggan.
168
Gambar 3.50 Rancangan Layar Menu Tagihan untuk Pelanggan
d. Perancangan Layar Pelanggan Menu Testimoni
Pada halaman ini pelanggan dapat memberikan saran / komentar terhadap
pelayanan di Restoran Raja Kepiting. Halaman ini bersifat optional, yang
berarti pelanggan dapat memberikan saran / komentar terhadap pelayanan
yang diberikan ataupun tidak. Pelanggan dapat memberikan saran /
komentar di bagian textarea lalu menekan tombol button yang telah
disediakan.
169
Gambar 3.51 Rancangan Layar Menu Testimoni untuk Pelanggan
e. Perancangan Layar Login Admin
Merupakan rancangan layar untuk login admin, pada rancangan layar ini
disediakan textbox yang nantinya digunakan admin untuk memasukkan
username dan password yang dimilikinya untuk dapat mengakses halaman
admin. Pada bagian header nanti akan diletakkan logo dari restoran.
170
Gambar 3.52 Rancangan Layar Login Admin
f. Perancangan Layar Admin Menu Home
Pada rancangan layar ini, di bagian “List of Tables” akan berisi meja – meja
yang akan digunakan pada Restoran Raja Kepiting. Di bagian sebelah kiri
akan digunakan untuk melakukan generate password yang nantinya akan
digunakan oleh pelanggan untuk memesan makanan.
171
Gambar 3.53 Rancangan Layar Menu Home untuk Admin
g. Perancangan Layar Admin Menu “Menu Makanan”
Pada halaman ini akan berisi daftar menu makanan yang berada di Restoran
Raja Kepiting. Menu – menu tersebut nantinya dapat dilakukan perubahan
maupun dihapus dari daftar menu makanan di Restoran Raja Kepiting. Di
bagian sebelah kiri akan dibuatkan form yang nantinya digunakan untuk
menambah atau mengubah menu makanan.
172
Gambar 3.54 Rancangan Layar Menu “Menu Makanan” untuk Admin
h. Perancangan Layar Admin Menu Stok
Pada halaman ini akan berisi daftar stok yang digunakan di Restoran Raja
Kepiting. Daftar stok tersebut nantinya dapat dilakukan perubahan maupun
dihapus dari daftar stok yang ada di Restoran Raja Kepiting. Di bagian
sebelah kiri akan dibuatkan form yang nantinya digunakan untuk
menambah atau mengubah stok.
173
Gambar 3.55 Rancangan Layar Menu Stok untuk Admin
i. Perancangan Layar Admin Menu Pegawai
Berisi daftar pegawai yang bekerja di Restoran Raja Kepiting. Pada layar
ini nantinya akan ditampilkan nama pegawai, jabatan, gender, nomor HP,
dan action dimana dapat dilakukan perubahan data pegawai ataupun
dilakukan penghapusan data pegawai, nantinya akan disediakan pula form
untuk menambah pegawai baru.
174
Gambar 3.56 Rancangan Layar Menu Pegawai untuk Admin
j. Perancangan Layar Admin Menu User
Pada halaman ini nantinya akan ditampilkan pegawai – pegawai yang
memiliki hak khusus, dimana user tersebut dapat melakukan perubahan
terhadap sistem aplikasi ini. Disediakan pula form untuk menambahkan
user baru yang terletak disebelah kiri layar.
175
Gambar 3.57 Rancangan Layar Menu User untuk Admin
k. Perancangan Layar Admin Menu Meja
Pada layar ini akan berisi meja – meja yang dapat digunakan pelanggan
sebagai username yang nantinya digunakan untuk login sistem. Di halaman
ini akan terdapat nama meja, username, password dan action yang dapat
digunakan untuk mengubah atau menghapus data meja. Di sebelah kiri juga
disediakan form untuk menambah meja, jika jumlah meja yang ada
sekarang dianggap kurang cukup.
176
Gambar 3.58 Rancangan Layar Menu Meja untuk Admin
l. Perancangan Layar Admin Menu Kategori Makanan
Berisi Kategori Makanan yang digunakan oleh Restoran Raja Kepiting.
Dalam rancangan ini akan ditampilkan nama kategori makanan dan juga
action yang digunakan untuk mengubah atau menghapus data kategori
makanan. Disediakan pula form untuk menambahkan kategori makanan
baru yang terletak di sebelah kiri layar.
177
Gambar 3.59 Rancangan Layar Menu Kategori Makanan untuk Admin
m. Perancangan Layar Admin Menu Laporan
Pada rancangan ini akan dibuat menu laporan yang terdiri dari 3 bagian,
yaitu laporan per hari, laporan per bulan dan laporan per tahun. Pada
rancangan layar akan ditampilkan no order, nomor meja, waktu pesan,
detail pesanan dan juga total tiap nomor order.
178
Gambar 3.60 Rancangan Layar Menu Laporan untuk Admin
n. Perancangan Layar Admin Menu Transaksi
Pada rancangan layar ini, akan berisi transaksi yang terjadi ketika
terjadinya pemesanan makanan oleh para pelanggan. Pada rancangan ini
akan ditampilkan nomor meja, nama menu jumlah menu yang dipesan,
serta catatan dari menu yang dipesan.
179
Gambar 3.61 Rancangan Layar Menu Transaksi untuk Admin
o. Perancangan Layar Admin Menu Pembayaran
Berisi nomor meja dari pelanggan yang memesan makanan, dimana dari
nomor meja tersebut dapat dilihat nama menu yang dipesan, jumlah menu
yang dipesan, harga satuan menu, dan total harga dari nomor meja tersebut.
Pada layar ini juga disediakan button, untuk melakukan penghitungan,
simpan dan simpan dan cetak.
180
Gambar 3.62 Rancangan Layar Menu Pembayaran untuk Admin
Download