• Tidak ada hasil yang ditemukan

BAB IV PERANCANGAN SISTEM

4.2 Perancangan Layer Akses dan Layer Antarmuka

4.2.2 Perancangan Layer Antarmuka

Pada tahap ini akan diidentifikasi kelas-kelas yang akan dijadikan media komunikasi antara user dengan sistem. Kelas interface yang diidentifikasi disesuaikan dengan kebutuhan user terhadap sistem. Nama kelas pada kelas antarmuka diikuti dengan kata User Interface (UI). Berikut adalah kelas-kelas interface yang teridentifikasi pada tahap analisis:

1. Kelas Login UI

2. Kelas Input Data Pelanggan UI 3. Kelas Edit Data Pelanggan UI 4. Kelas pemesanan UI

5. Kelas Input Data produk UI 6. KelasEdit Data produk UI 7. Kelas Data kategori UI

8. Kelas Laporan UI

9. Kelas Laporan Penjualan transaksi harian UI 10. Kelas Laporan penjualan transaksi bulanan UI 11. Kelas Laporan penjualan transaksi Tahunan UI

Berikut merupakan class diagram untuk kelas bisnis yang telah digabungkan dengan kelas antarmuka yang telah teridentifikasi :

190

Kelas Akses

login UI

input data pelanggan UI edit data pelanggan UI

laporan UI laporan bulanan Id_order Nama_bulan total lihat laporan() cetak laporan() keluar() laporan bulanan UI laporan harian UI laporan harian Id_order Tanggal total lihat laporan() cetak laporan() keluar() laporan tahunan Id_order Tahun total lihat laporan() cetak laporan() keluar() laporan tahunan UI pemesanan UI Data laporan Id_order userId tanggal product_id jumlah total lihat laporan() cetak laporan() keluar()

input data produk UI

edit data produk UI pemesanan id_order userId product_id product_name product_price jumlah satuan ongkir total tanggal simpan() ubah() hapus() batal() 1..* 1..* 1..* 1..*

memb eri data

Login data pelanggan userId email pass user_name address negara provinsi dob tel login() registrasi() simpan() edit() hapus() keluar() 1..* 1 1..* 1 melakukan data kategori cat_id cat_name Tambah() simpan() ubah() hapus() keluar() data kategori UI AlfamartDB OpenConnection() CloseConnection() data produk product_id cat_id cat_name product_name product_price product_weight product_weight_unit product_price_unit product_image product_in_stock Tambah() simpan() ubah() hapus() keluar() 1 1..* 1 1..* mengisi 1..* 1 1..* 1 memiliki

4.2.2.1 Penciptaan Tabel dengan SQL

SQL memiliki perintah-perintah yang mencakup perintah untuk menciptakan tabel dalam konteks basis data relasional, yaitu perintah-perintah yang bertipe DDL (Data Definition Language).

Sintak utama SQL untuk menciptakan tabel adalah CREATE TABLE ditambah definisi-definisi atribut-atribut serta batasan-batasan (constrains). Atribut didefinisikan menurut namanya, tipe-tipe data, ranah nilai yang mungkin (domain), serta batasan-batasannya (misalnya NOT NULL). Kunci-kunci serta integritas referensial juga dapat didefinisikan secara serentak.

Berikut SQL untuk membuat beberapa table dalam basis data penjadwalan.

CREATE TABLE `pelanggan` (

`userid` int(8) NOT NULL auto_increment, `email` varchar(255) default NULL,

`pass` varchar(255) default NULL, `user_name` varchar(255) default NULL, `address` text collate latin1_general_ci, `negara` varchar(100) i default NULL, `provinsi` varchar(100) default NULL, `dob` date default NULL,

`tel` varchar(255) NOT NULL, PRIMARY KEY (`userid`))

CREATE TABLE pemesanan Id_order int (10) NOT NULL,

userid` int(8) NOT NULL auto_increment, product_id` int(4) NOT NULL auto_increment, product_name` varchar(50) NOT NULL default, Harga_produk int (10) NOT NULL,

Satuan varchar (15) NOT NULL, Ongkos kirim int (10) NOT NULL, Total int (10) NOT NULL,

tanggal varchar (6) NOT NULL, PRIMARY KEY (Id_order) FOREIGN KEY (userId) FOREIGN KEY (product_id)

CREATE TABLE `category` (

`cat_id` int(4) unsigned NOT NULL auto_increment,

`cat_name` varchar(50) collate latin1_general_ci NOT NULL default '', PRIMARY KEY (`cat_id`))

CREATE TABLE `products` (

`product_id` int(4) NOT NULL auto_increment, `cat_id` int(4) NOT NULL default '0',

`product_name` varchar(50) NOT NULL default '', `product_price` int(8) NOT NULL default '0', `product_weight` int(4) NOT NULL default '0',

`product_weight_unit` varchar(10) NOT NULL default '', `product_price_unit` varchar(10) NOT NULL default '', `product_image` varchar(250) default NULL,

`product_in_stock` int(8) default NULL, `promo` tinyint(1) NOT NULL default '0', `besar_promo` int(4) NOT NULL default '0', PRIMARY KEY (`product_id`)

FOREIGN KEY (`cat_id`))

CREATE TABLE `admin` (

`email` varchar(255) default NULL, `pass` varchar(255) default NULL)

4.2.2.2 Perancangan Layer Akses untuk Operasi Dalam Sistem a. Perancangan Layer Akses untuk Operasi registrasi

Pernyataan SQL pada layer akses dibawah ini digunakan untuk menginput data pelanggan (registrasi).

"Insert into userinfo(userId,email, pass, user_name, address,negara,provinsi,dob,tel)

values('$userId’,’$email','$pass','$name','$address', '$negara', '$provinsi','$_dob','$tel')";

b. Perancangan Layer Akses untuk Operasi Login

Pernyataan SQL pada layer akses dibawah ini digunakan untuk login admin.

"Select * from admin where email='$user' and pass='$pass'" ;

c. Perancangan Layer Akses untuk Operasi Ubah Data Pelanggan

Pernyataan SQL pada layer akses dibawah ini digunakan untuk mengubah data pelanggan.

"UPDATE userinfo SET email = '$email', pass = '$pass',user_name = '$name', address = '$address', negara = '$negara', provinsi = '$provinsi', dob =

'$_dob',tel = '$tel' WHERE userid =

'".$_SESSION['user_ID']."'" ;

d. Perancangan Layer Akses untuk Operasi Input Data produk

Pernyataan SQL pada layer akses dibawah ini digunakan untuk menambah data produk. "insert into products(cat_id, product_name,product_price,product_price_unit,product_w eight,product_weight_unit,product_in_stock,product_imag e)values('$cat_id', '$pro_name','$pro_price','$pro_price_unit','$pro_weight ','$pro_weight_unit','$pro_in_stock','$pro_img')";

e. Perancangan Layer Akses untuk Operasi Ubah Data produk

Pernyataan SQL pada layer akses dibawah ini digunakan untuk mengubah data produk.

"UPDATE `products` SET `product_name` = '$pro_name', `product_price` = '$pro_price', `product_in_stock` = '$pro_in_stock', `product_image` = '$pro_img' WHERE `products`.`product_id` = '$id_pro' LIMIT 1";

f. Perancangan Layer Akses untuk Operasi Hapus Data produk

Pernyataan SQL pada layer akses dibawah ini digunakan untuk menghapus data produk.

"DELETE FROM `products` WHERE `products`.`product_id` = '$id' LIMIT 1";

g. Perancangan Layer Akses untuk Operasi input data pengiriman pemesanan (order)

Pernyataan SQL pada layer akses dibawah ini digunakan untuk mengisi data pengiriman pesanan / order.

"insert into order_tbl(user_id,order_date,order_address,order_zip,or der_country,order_provinsi,sessionid,payment_method,amo unt)value (‘$user_id’,’$order_date’,’$order_address’,’$order_zip’ ,’$order_country’,’$order_provinsi’,’$sessionid’,’$paym ent_method’,’$amount’)";

h. Perancangan Layer Akses untuk Operasi ubah data admin

Pernyataan SQL pada layer akses dibawah ini digunakan untuk mengubah password admin.

"UPDATE admin SET pass = '$pass_baru' where email='".$_SESSION['user_admin']."' limit 1" ;

Dokumen terkait