Penerapan SQL Database dan RStudio untuk Pengolahan Data Ramen Restaurant
Menginport library dibutuhkan paling awal agar dapat membaca package yang akan digunakan
library(RMySQL)
## Loading required package: DBI
library(DBI)
dbb <- dbConnect(
RMySQL::MySQL(),
host = "127.0.0.1",
user = "root",
password = "")
Sebelum membuat tabel di perlukan membuat database pada server yang terlah dimasukkan, dimana pada program ini servernya bernama “dbb”
dbExecute(dbb, "CREATE DATABASE IF NOT EXISTS `RamenRestaurant`")
## [1] 1
dbExecute(dbb, "USE `RamenRestaurant`")
## [1] 0
Menggunakan database yang telah di buat sebelumnya, dibuatkan tabel di dalamnya
#Tabel Data_Pelanggan
dbExecute(dbb, "
CREATE TABLE Data_Pelanggan (
ID_Pelanggan VARCHAR(15) PRIMARY KEY NOT NULL,
Nama_Pelanggan VARCHAR(50) NOT NULL,
Nomor_HP INT NOT NULL,
Alamat_Email VARCHAR(100) NOT NULL
);
")
## [1] 0
#Tabel Pegawai
dbExecute(dbb, "
CREATE TABLE Pegawai (
ID_Pegawai VARCHAR(10) PRIMARY KEY,
Nama_Pegawai VARCHAR(50) NOT NULL,
Jabatan VARCHAR(25) NOT NULL
);
")
## [1] 0
#Tabel Pesanan
dbExecute(dbb, "
CREATE TABLE Pesanan (
ID_Pesanan VARCHAR(10) PRIMARY KEY,
ID_Pelanggan VARCHAR(15) NOT NULL,
ID_Pegawai VARCHAR(10) NOT NULL,
ID_Ramen VARCHAR(10) NOT NULL,
Tanggal_Transaksi DATE NOT NULL,
Total INT,
Pembayaran VARCHAR(15) NOT NULL,
FOREIGN KEY (ID_Pelanggan) REFERENCES Data_Pelanggan(ID_Pelanggan),
FOREIGN KEY (ID_Pegawai) REFERENCES Pegawai(ID_Pegawai)
);
")
## [1] 0
#Tabel Data_Pelanggan
dbExecute(dbb,"
INSERT INTO Data_Pelanggan (ID_Pelanggan, Nama_Pelanggan, Nomor_Hp, Alamat_Email) VALUES
('LY001','Cika','08123','cika@gmail.com'),
('LY002','Tasya Aulia','08124','tasyaaulia@gmail.com'),
('LY003','Santi','08125','santi@gmail.com'),
('LY004','Raihani Annida','08126','raihaniannida@gmail.com')
")
## [1] 4
#Tabel Pegawai
dbExecute(dbb, "
INSERT INTO Pegawai (ID_Pegawai, Nama_Pegawai, Jabatan) VALUES
('PG001', 'Hana', 'Waiters'),
('PG002', 'Ryo', 'Waiters'),
('PG003', 'Ikhwan', 'Casher')
")
## [1] 3
#Tabel Pesanan
dbExecute(dbb, "
INSERT INTO Pesanan (ID_Pesanan, ID_Pelanggan, ID_Pegawai, ID_Ramen, Tanggal_Transaksi, Total, Pembayaran) VALUES
('P12011', 'LY001', 'PG001', 'R001', '2025-12-01', '45000', 'Qris'),
('P12021', 'LY002', 'PG002', 'R002', '2025-12-02', '45000', 'Debit'),
('P12022', 'LY003', 'PG003', 'R003', '2025-12-02', '40000', 'Transfer'),
('P12031', 'LY004', 'PG003', 'R002', '2025-12-03', '45000', 'Qris'),
('P12041', 'LY002', 'PG002', 'R003', '2025-12-04', '40000', 'Qris'),
('P12051', 'LY003', 'PG001', 'R001', '2025-12-05', '45000', 'Transfer'),
('P12052', 'LY001', 'PG001', 'R003', '2025-12-05', '40000', 'Qris'),
('P12061', 'LY004', 'PG003', 'R002', '2025-12-06', '45000', 'Qris'),
('P12071', 'LY003', 'PG002', 'R003', '2025-12-07', '40000', 'Qris');
")
## [1] 9
Berdasarkan database yang telah di buat dan tabel-tabel yang ada dalam database, pada kali ini saya akan menampilkan hasilnya
Dari data yang tersedia, berikut saya akan menampilkan laporan pesanan apa saja pada minggu ini.