Thursday, August 14, 2014

PERANCANGAN SISTEM INFORMASI KANTIN KAMPUS



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

Hubungan atau Relasi yang terjadi :
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

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')


Mengisi data pada tabel Pedagang









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