Pendahuluan
Kantin adalah sebuah ruangan dalam sebuah gedung umum yang dapat digunakan pengunjungnya untuk makan, baik makanan yang
dibawa sendiri maupun yang dibeli di sana. Biasanya para pembeli harus
mengantri dalam sebuah jalur yang disediakan untuk membeli makanan.
Kantin hampir selalu ada di tiap sekolah, perguruan tinggi, maupun instansi
pemerintah dan swasta di Indonesia. Biasanya kantin menjadi tempat berkumpul bagi
orang-orang yang sedang menikmati waktu istrahat. Pesan-ambil-bayar-duduk mungkin merupakan prinsip para pengguna
fasilitas kantin. Ramainya kantin disebabkan oleh obrolan orang-orang yang
makan bersama. Kebanyakan mereka menganggap penting kantin sebagai tempat
bersosialisasi.
Sebagaimana
kita sadari di Stikom Bali kehadiran Kantin sangat dibutuhkan oleh para mahasiswa
serta dosen dalam ruang lingkup kampus. Karena mahasiswa maupun dosen biasa
mendapatkan makanan, minuman atau hanya sebagai tempat dari kantin yang berada
di kampus. Selain lebih mudah di jangkau, pelayanan di kantin juga relatif
lebih nyaman daripada berbelanja di warung.
Dengan
merancang sistem informasi penjualan/transaksi di Kantin Stikom Bali ini, diharapkan
sistem informasi ini nantinya dapat menjadi salah satu sumber informasi yang dapat
digunakan oleh para pengelola kantin untuk mendapatkan informasi yang
dibutuhkan secara lebih mudah dan informatif
bagi para konsumen.
Ilustrasi
Sistem
1. Pengunjung
akan memilih makanan yang di inginkan yang berada pada setiap stand yang di berbeda.
2. Pedagang
mencatat pesanan pengunjung, dan memberikan nota pesanan kepada pengunjung.
3. Pengunjung
membayar nota pada kasir, untuk di masukan kesistem.
4. Pengunjung
menunggu pesanan.
5. Pengunjung
menikmati hidangan.
Gambar ilustrasi sistem :
Gambar Kantin Stikom Bali :
A.
Menganalisa
kebutuhan data
Penentuan
entitas
1. Kasir
2.
Pedagang
3.
Makanan
4.
Transaksi
5.
Detail_Transaksi
Penentuan
Atribut
1.
Kasir : Kode_kasir [PK], Nama_pnjaga_kasir, Almt_pnjaga_kasir, notlp_pnjaga_kasir
2.
Pedagang : Kode_pedagang [PK], Nama_pedagang,
Alamat_ pedagang, Notlp_pedagang
3.
Makanan : Kode_makanan [PK], Nama_makanan,
Jenis_makanan, Harga_makanan
4.
Transaksi : Kode_transaksi [PK], Tgl_transaksi
5.
Detail_Transaksi : Harga_makanan, Jumlah_makanan
Kardinalitas yang terjadi
1.
Seorang Kasir mengelola banyaknya Transaksi
Banyaknya Transaksi dikelola oleh seorang
Kasir
2.
Seorang
Pedagang melakukan banyak Transaksi
Banyaknya Transaksi dilakukan oleh
seorang Pedagang
3.
Transaksi mempunyai satu detail transaksi
Detail transaksi mempunyai
satu Transaksi
4.
Banyak makanan mempunyai detail satu transaksi
Detail
transaksi mempunyai banyak makanan
B.
Membuat Entity
Relationship Diagram (ERD)
Kode_pedagangg
|
|
|
Alamat_pedagang
|
Transaksi
|
Pedagang
|
Kasir
|
Detail_Transaksi
|
|
Mempunyai
|
|
mempunyai
|
|
Mengelola
|
|
Almt_pnjaga_kasir
|
|
Notlp_pnjaga_kasir
|
|
Nama_pnjaga_Kasir
|
|
Nama_pedagang
|
|
Notlp_pedagang
|
|
Kode_transaksi
|
|
Tgl_Transaksi
|
|
|
|
Kode_kasir
|
Jumlah_makanan
|
1
|
1
|
1
|
M
|
1
|
M
|
Makanan
|
|
Kode_makanan
|
|
Jenis_makanann
|
Nama_makanan
|
|
Harga_makanan
|
|
Harga_makanan
|
|
Mempunyai
|
M
|
1
|
1.
Kasir mengelola
banyaknya Transaksi
1.
Tabel utama: Kasir
2.
Tabel kedua: Transaksi
3.
Relationship: One-to-Many
(1:M)
4.
Attribute penghubung:
kode_Kasir (FK kode_kasir di Transaksi )
2.
Seorang Pedagang melakukan banyak Transaksi
·
Tabel utama: Pedagang
·
Tabel kedua: Transaksi
·
Relationship:
One-to-Many (1:M)
·
Attribute penghubung: Kode_pedagang
(FK Kode_pedagang di Transaksi )
3.
Satu Transaksi
Mempunyai satu Detail_transaksi
·
Tabel utama: Transaksi
·
Tabel kedua:
Detail_Transaksi
·
Relationship:
One-to-One (1:1)
·
Attribute penghubung:
Kode_transaksi (FK Kode_transaksi di Detail_Transaksi)
4.
Banyak Makanan mempunyai satu Detail_Transaksi
·
Tabel utama: Makanan
·
Tabel kedua:
Detail_Transaksi
·
Relationship: Many-to-One
(M:1)
·
Attribute penghubung: Kode_makanan
(FK Kode_makanan di Detail_Transaksi )
C. Konseptual Database
Transaksi
|
|
PK
|
Kode_Transaksi
|
FK
|
Kode_kasir
|
FK
|
Kode_pedagang
|
Tgl_transaksi
|
Kasir
|
|
PK
|
Kode_kasir
|
Nama_pnjaga_kasir
|
|
Almt_pnjaga_kasir
|
|
|
Notlp_pnjaga_kasir
|
Pedagang
|
|
PK
|
Kode_pedagang
|
|
Nama_pedagang
|
|
Notlp_pedagang
|
|
Alamat_pedagang
|
Makanan
|
|
PK
|
Kode_makanan
|
Nama_makanan
|
|
|
Jenis_makanan
|
|
Harga_makanan
|
Detail_Transaksi
|
|
FK
|
Kode_Transaksi
|
FK
|
Kode_makanan
|
|
Jumlah_makanan
|
|
Harga_makanan
|
D. Normalisai Tabel
1.
Bentuk Tidak Normal
Bentuk Tidak Normal
2. Bentuk
Normal Ke-satu (1NF : First Normal Form)
Untuk membentuk bentuk tidak normal menjadi bentuk normal kesatu, harus melengkapi data diatas menjadi sebagai berikut:
3. Bentuk
Normal Ke-dua (2NF : Second Normal Form)
Kode_transaksi
Tgl_transaksi,
kode_makanan, Nama_makanan,
Harga_makanan,
Jumlah_makanan Total_harga
Kode_pnjaga_kasir Nama_pnjaga_kasir
Kode_pedagang
Nama_pedagang
Kode_transaksi
Tgl_transaksi,
kode_makanan, Nama_makanan,
Harga_makanan,
Jumlah_makanan Total_harga
Kode_pnjaga_kasir Nama_pnjaga_kasir
Kode_pedagang
Nama_pedagang
4.
Bentuk Normal Ke-tiga (3NF : Third
Normal Form)
Kode_transaksi
Tgl_transaksi, kode_makanan,
Nama_makanan
Kode_Transaksi Tgl_transaksi, Kode_makanan
Kode_makanan Nama_makanan
E.
Mengaplikasikan
Ke DBMS (SQL Server)
1.
Data Definition Language (DDL)
a. Membuat
database baru dengan nama KantinSTIKOM
Create database KantinSTIKOM
Use KantinSTIKOM
|
b. Membuat
tabel Kasir :
create table Kasir
(
kode_kasir
char (3)constraint
pk_petugas_kd_petugas
primary key
not null,
nama_pnjaga_kasir
varchar (30),
alamat_pnjaga_kasir
varchar (50),
notlp_pnjaga_kasir
char (12),
);
|
c. Membuat
tabel Pedagang :
create table pedagang
(
kode_pedagang
char(5)constraint
pk_pedagang_kd_pedagang
primary key
not null,
nama_pedagang
varchar(30),
alamat_pedagang
varchar(50),
notlp_pedagang
char(12)
);
|
d. Membuat
tabel Makanan :
create table Makanan
(
kode_makanan
char(5)constraint
pk_makanan_kd_makanan
primary key
not null,
nama_makanan
varchar(30),
jenis_makanan
varchar(30),
harga_makanan
int
);
|
e. Membuat
tabel Transaksi
create table transaksi
(
kode_transaksi
char(8)constraint
pk_transaksi_kd_transaksi primary key not null,
kode_kasir
char(3) constraint
fk_kasir_kd_kasir foreign key
references
kasir(kode_kasir)
on delete cascade on update cascade,
kode_pedagang
char(5) constraint
fk_pedagang_kd_pedagang foreign key
references
pedagang(kode_pedagang)on delete cascade on update cascade,
Tgl_transaksi
date
);
|
f.
Membuat table Detail_transaksi
create table Detail_Transaksi
(
kode_transaksi
char(8)constraint
fk_transaksi_kd_transaksi foreign key
references
transaksi(kode_transaksi) on delete cascade on update cascade,
kode_makanan
char(5)constraint
fk_makanan_kd_makanan foreign key
references
Makanan(Kode_makanan) on delete
cascade on update cascade,
Jumlah_makanan
int,
Harga_makanan
int
);
|
2.
Data Manipulation Language (DML)
a. Mengisi
data pada tabel Kasir
insert into Kasir
values ('K01','Komang Asem','Jl. Raya Renon No.23, Denpasar','081999222333')
insert into Kasir
values ('K02','Made
Rooney','Jl. Teuku Umar Barat, No.13, Denpasar','081999000111')
|
Select *from Kasir
b.
insert into pedagang
values ('P1001','Wayan Ronaldo','Jl. Aminta Sari No. 9, Sanur','087760099009')
insert into pedagang
values ('P1002','Nyoman Messi','Jl. Ahmad Yani No. 192, Denpasar','087862299111')
insert into pedagang
values ('P1003','Ketut Wilshere','Jl. Tukad Balian No. 89, Denpasar','081999119005')
insert into pedagang
values ('P1004','Ngurah Tevez','Jl. Pulau Lombok No. 1, Denpasar','087763210123')
|
Select *from
pedagang
c. Mengisi data pada tabel Makanan
insert into Makanan
values ('M1001','Nasi Goreng Sepesial','Main Course','12000')
insert into Makanan
values ('M1002','Nasi Goreng SeeFood','Main Course','13000')
insert into Makanan
values ('M1003','Nasi + Ayam Bakar','Main Course','12000')
insert into Makanan
values ('M1004','Nasi Tempong','Main Course','12000')
insert into Makanan
values ('M1005','Nasi Pecel','Main Course','10000')
insert into Makanan
values ('M2011','Sup Ayam Bawang','Appetizers','8000')
insert into Makanan
values ('M2012','Sup Vegetarian','Appetizers','6000')
insert into Makanan
values ('M2013','Rujak','Appetizers','6000')
insert into Makanan
values ('M3021','Roti Bakar','Desserts','8000')
insert into Makanan
values ('M3022','Pancake','Desserts','8000')
insert into Makanan
values ('M3023','Pisang
Keju Goreng','Desserts','6000')
|
Select *from Makanan
d.
Mengisi data pada tabel Transaksi
Insert into Transaksi
values ('00000292','K01','P1001','06/17/2014')
Insert into Transaksi
values ('00000298','K02','P1003','06/17/2014')
Insert into Transaksi
values ('00000302','K02','P1002','06/17/2014')
Insert into Transaksi
values ('00000310','K01','P1001','06/17/2014')
Insert into Transaksi
|
Select *from transaksi
e.
Mengisi data pada tabel Detail_Transaksi
insert into Detail_Transaksi
values ('00000292','M1004','2','12000')
insert into Detail_Transaksi
values ('00000292','M3022','1','8000')
insert into Detail_Transaksi
values ('00000298','M1003','1','12000')
insert into Detail_Transaksi
values ('00000298','M2011','1','8000')
insert into Detail_Transaksi
values ('00000298','M3023','1','6000')
insert into Detail_Transaksi
values ('00000298','M3023','1','6000')
insert into Detail_Transaksi
values ('00000302','M3021','5','8000')
insert into Detail_Transaksi
values ('00000310','M1002','1','13000')
insert into Detail_Transaksi
values ('00000310','M3023','1','600
|
select*from Detail
0 comments:
Post a Comment