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