Anda di halaman 1dari 5

DATABASE UNDIAN MOBIL AKHIR

TAHUN
BAGI PELANGGAN TETAP REDBLACK
RESTO
Oleh : Rahmat Taufik R.L Bau

Seorang Menejer Redblack Resto ingin mengadakan sebuah undian akhir tahun untuk
pelanggan setianya. Pelanggan tetap mempunyai sebuah Member Card dan akan mendapatkan
satu nomor undian setiap total pembelanjaan lebih dari Rp. 100.000,- untuk makanan, minuman
maupun souvenir yang kemudian akan diundi berdasarkan nomor undian pada akhir tahun.
Seorang programmer diminta untuk membuatkan sebuah database dimana dalam
database tersebut bisa mewakili data-data yang diperlukan untuk keperluan pengundian pada
akhir tahun nanti. Untuk setiap pelanggan bisa mendapatkan nomor undian lebih dari satu dan
satu nomor undian hanya berlaku untuk satu pelanggan saja. Nomor undian didapat dari tiap total
pembelian diatas dari Rp. 200.000,- dan pada saat pengundian nanti hanya aka nada satu nomor
undian yang mendapatkan sebuah mobil dari Redblack Resto.
Sehingga kemudian muncul dua buah tabel, yaitu tabel pelanggan dan tabel kupon seperti
dibawah ini :
Id_member
G07150001
G12150023
S02140014
S02160111

Nama
Alamat
No_tel
Rahmat
Jl. Jlagran
0852990xxx
Taufik
Jl. Kaliurang
081299060xxx
Arel
Jl. Haryadi
085650991xxx
Opick
Jl. Jlagran
087812345xxx
Tabel 1.1 Tabel Pelanggan Tetap Redblack Resto

Dalam tabel Pelanggan terdapat 4 record yang akan diisi, yaitu :


-

Id_member, untuk setiap ID pelanggan tetap di Redblack Resto. Id_member


bersifat unik dimana dalam tiap fieldnya tidak bisa ada yang yang sama.
Nama, sebagai keterangan nama per pelanggan
Alamat, sebagai keterangan alamat per pelanggan
No_telp, sebagai keterangan nomor kontak yang bisa dihubungi guna
kebutuhan promosi maupun pemberian info terhadap pelanggan tetap
Redblack Resto
No_kupon
MMo01622
3
MM011610
1

12/01/2016

Tanggal

Id_member
G12150023

10/01/2016

S08150111

SS0216008 01/02/2016
G12150023
MS0216377 15/02/2016
S02140014
Tabel 1.2 Tabel No Kupon Undian Redblack Resto

Dalam tabel kupon terdapat 3 record yang akan diisi, yaitu :


-

No_kupon, untuk setiap pembelian diatas Rp. 200.000 maka system akan
menambahkan field baru berupa seri angka dan huruf yang akan menjadi
nomor kupon pada saat pengundian. No_kupon bersifat unik dimana dalam
tiap fieldnya tidak bisa ada yang yang sama.
Tanggal, sebagai keterangan kapan diperolehnya nomor kupon
Id_member, untuk mengetahui siapa pemegang dari tiap nomor kupon.

Dari kedua tabel tersebut sejatinya sudah memenuhi syarat sebagai system informasi
untuk mengundi siapa yang nanti akan memenangkan undian tahunan Redblack Resto, namun
ada sebuah kelemahan terdapat didalamnya, yaitu masih bisa di manipulasi.
Untuk setiap nomor kupon tidak bisa dicek apakah kupon tersebut valid atau tidak. Bisa
saja untuk tiap pelanggan yang mempunyai koneksi di dalam untuk memanipulasi data dengan
memperbanyak nomor undiannya, karena tidak ada relasi antara no kupon dengan tabel yang
yang bisa memvalidasi apakah nomor kupon tersebut benar-benar valid.
1. Model Data Relasional
Bersinggungan dengan database, programmer memilih model data relasional dalam
pengembangannya, dimana ia menghubungkan sebuah tabel dengan tabel lainnya sehingga
terdapat keterhubungan antar tabel.
Karena Redblack Resto sudah mempunyai data pelanggan pada databasenya maka
programmer hanya menambahkan satu tabel saja kedalam database, yaitu tabel kupon yang
nantinya akan direlasikan dengan tabel pelanggan.

Gambar 1.1 Relasi antar tabel yang sudah dibuat


Id_member pada tabel kupon selain berfungsi sebagai keterangan siapa
pemegang tiap nomor kupon, juga berfungsi sebagai Foreign Key, dimana nantinya
data dari pemegang kupon tersebut akan diminta langsung dari tabel pelanggan
yang sudah direlasikan pada tabel kupon.

Untuk bisa memcahkan masalah dari database diatas adalah dengan


menambahkan record baru kedalam tabel kupon dimana record tersebut akan
membantu pengelola dalam menvalidasi apakah tiap nomor kupon yang didapat
tiap pelanggan benar-benar memenuhi persyaratan, yaitu dengan menambahkan
kolom No_struk.

Gambar 1.2 Penambahan record baru yang direlasikan ke tabel lain


Dengan adanya record baru yang direlasikan ke tabel Struk, maka akan
dapat ditelusuri apakah nomor kupon yang didapat tiap pelanggan adalah valid
dengan memperhatikan total transaksi diamana disebutkan sebagai persyaratannya
dalam undian, yaitu harus melebihi dari Rp. 200.000.
2. Entitas Relational Diagram
Untuk mengetahui apakah sebuah system bisa berjalan dengan benar
digunakan dua metode yaitu dengan menggunakan Normalisasi atau Entitas
Relational Diagram (ERD). Karena dalam system informasi yang dibuat datadatanya sudah ada maka metode yang paling cocok digunakan untuk sistem undi
Redblack Resto yaitu dengan menggunakan ERD.
Entitas Relational Diagram (ERD) adalah sebuah cara untuk melacak
sebuah sistem apakah sudah memenuhi kebutuhan pengguna dengan
menggunakan sebuah diagram.
2.1

ERD Antar Tabel

ID_MEMBER

NO_KUPON

NAMA

TANGGAL

Dapat

ID_MEMBER
NO_STRUK

KUPON

PELANGGAN

Validasi
ALAMAT

NO_TELP
TANGGAL

NO_STRUK
ITEM
JAM

STRUK

TOTAL

Pada ERD diatas terdapat 3 entitas, yaitu


-

Gambar 1.3 Hubungan Tabel Pelanggan, Kupon dan


Entitas Pelanggan dengan atributnya Id_member, Nama, Alamat dan No_tel
Struk No_kupon,
dalam ERD
Entitas Kupon dengan atributnya
Tanggal, Id_member, No_struk
Entitas Struk dengan atributnya No_struk, Tanggal, Jam, Item dan Total

Untuk Entitas Pelanggan dihubungkan dengan Relasi Dapat kepada Entitas Kupon
dan Entitas Kupon dihubungkan dengan Relasi Validasi kepada Entitas Struk
Dari diagram diatas diketahui bahwa untuk tiap pelanggan akan
mendapatkan sebuah kupon jika setelah divalidasi total belanja yang ada pada
struk lebih dari Rp. 200.000, maka dengan ERD dibuktikan bahwa sistem yang
dibuat sudah memenuhi kebutuhan Menejer Redblack Resto untuk melakukan
pengundian di akhir tahun.
2.2

SQL

Structured Query Language (SQL) adalah sebuah bahasa pemrograman untuk


mengelola data yang terdapat dalam sebuah database agar tabel yang sudah ada
dalam database tidak hanya berfungsi sebagai inventaris data tapi juga bisa
diproses menjadi sebuah sistem informasi dengan menggunakan perintah-perintah
SQL yang sudah disediakan.

Perintah SQL untuk mengisi data pada Tabel Kupon


insert into kupon values(MMo116223, 12/01/2016, G12150023,
0122345);
kata insert digunakan untuk menginput data kedalam tabel
kata into kupon digunakan sebagai parameter tabel yang mana yang
nantinya akan diinput
kata value digunakan untuk menjabarkan nilai dari masing-masing kolom
pada sebuah tabel
Perintah SQL untuk menvalidasi no kupon
IF (No_struk.kupon=No_struk.struk AND total.struk > 200000) THEN
PRINT Nomor Kupon Valid;
ELSE
PRINT Nomor Kupon Tidak Valid;
END IF;
Jika nomor struk yang ada pada tabel kupon sama dengan nomor struk yang
ada pada tabel struk dan total pembelajaan lebih dari 200.000 rupiah maka

akan keluar notifikasi bahwa nomor kupon valid, jika tidak, maka akan keluar
notifikasi bahwa nomor kupon tidak valid.

Anda mungkin juga menyukai