Program

Import Library

library(RMySQL)
## Warning: package 'RMySQL' was built under R version 4.5.2
## Loading required package: DBI
## Warning: package 'DBI' was built under R version 4.5.2
library(DBI)
library(RMariaDB)
## Warning: package 'RMariaDB' was built under R version 4.5.2

Menghubungkan Server Ke database Rstudio

db <- dbConnect(
  RMySQL::MySQL(),
  host = "127.0.0.1",
  user = "root",
  password = ""
)

Membuat dan Mengakses Database Baru

dbExecute(db, "CREATE DATABASE IF NOT EXISTS `OjekOnline`")
## [1] 1
dbExecute(db, "USE `OjekOnline`")
## [1] 0

Membuat Tabel Data Baru

1.Tabel Pelanggan

dbExecute(db, "
    CREATE TABLE IF NOT EXISTS Pelanggan (
        ID_Pelanggan VARCHAR(15) PRIMARY KEY,
        Nama_Pelanggan VARCHAR(50) NOT NULL,
        Nomor_HP VARCHAR(20) NOT NULL,
        Email VARCHAR(100) NOT NULL);
        ")
## [1] 0

2.Tabel Driver

dbExecute(db, "
    CREATE TABLE IF NOT EXISTS Driver (
        ID_Driver VARCHAR(10) PRIMARY KEY,
        Nama_Driver VARCHAR(50),
        No_Kendaraan VARCHAR(15),
        Tarif_Per_Km INT
    );
")
## [1] 0

3. Tabel Layanan

dbExecute(db, "
    CREATE TABLE IF NOT EXISTS Layanan (
        ID_Layanan VARCHAR(10) PRIMARY KEY,
        Nama_Layanan VARCHAR(50),
        Harga_Dasar INT
    );
")
## [1] 0

4. Tabel Pesanan

dbExecute(db, "
    CREATE TABLE IF NOT EXISTS Pesanan (
        ID_Pesanan VARCHAR(15) PRIMARY KEY,
        ID_Pelanggan VARCHAR(15),
        ID_Driver VARCHAR(10),
        ID_Layanan VARCHAR(10),
        Tanggal DATE,
        Jarak_Km DOUBLE,
        Total INT,
        Metode_Bayar VARCHAR(20),
        FOREIGN KEY(ID_Pelanggan) REFERENCES Pelanggan(ID_Pelanggan),
        FOREIGN KEY(ID_Driver) REFERENCES Driver(ID_Driver),
        FOREIGN KEY(ID_Layanan) REFERENCES Layanan(ID_Layanan)
    );
")
## [1] 0

Menginput Data

1. Menginput Data Tabel Pelanggan

dbExecute(db,"
    INSERT INTO Pelanggan VALUES
    ('PL001','Siti','08123456','siti@gmail.com'),
    ('PL002','Budi','08123457','budi@gmail.com'),
    ('PL003','Nana','08123458','nana@gmail.com'),
    ('PL004','Rara','08123459','rara@gmail.com');
")
## [1] 4

2. Menginput Data Tabel Driver

dbExecute(db,"
    INSERT INTO Driver VALUES
    ('DR01','Rangga','BK1234AA',2000),
    ('DR02','Dimas','BK4321BB',2500),
    ('DR03','Fajar','BK9988CC',2000);
")
## [1] 3

3. Menginput Data Tabel Layanan

dbExecute(db,"
    INSERT INTO Layanan VALUES
    ('LY01','GoRide',8000),
    ('LY02','GoFood',9000),
    ('LY03','GoSend',7000);
")
## [1] 3

4. Menginput Data Tabel Pesanan

dbExecute(db,"
    INSERT INTO Pesanan VALUES
    ('P001','PL001','DR01','LY01','2025-12-01', 5, 5*2000+8000, 'Qris'),
    ('P002','PL002','DR02','LY02','2025-12-02', 3, 3*2500+9000, 'Cash'),
    ('P003','PL003','DR03','LY01','2025-12-02', 4, 4*2000+8000, 'Transfer'),
    ('P004','PL004','DR02','LY03','2025-12-03',10,10*2500+7000, 'Qris');
")
## [1] 4

Studi Kasus

Melampirkan Tabel

1. Menampilkan Isi Tabel Data Pelanggan

2. Menampilkan Isi Tabel Menu Ramen

3. Menampilkan Isi Tabel Pegawai

4. Menampilkan Isi Tabel Pesanan

Penggunaan Update

## [1] 1

Penggunaan Insert

## [1] 1

Laporan Pesanan Ojek Online

Total Pendapatan Ongkos Ojek

Layanan Terlaris