Kumpulan Kode SQL

1.


    CREATE DATABASE AbsensiDB;
    USE AbsensiDB;
    
    CREATE TABLE Siswa (
        id INT AUTO_INCREMENT PRIMARY KEY,
        nama VARCHAR(50) NOT NULL
    );
    
    CREATE TABLE Absensi (
        id INT AUTO_INCREMENT PRIMARY KEY,
        siswa_id INT,
        tanggal DATE NOT NULL,
        status ENUM('Hadir', 'Tidak Hadir', 'Status Tidak Valid') NOT NULL,
        FOREIGN KEY (siswa_id) REFERENCES Siswa(id)
    );
    
    -- Insert sample data
    INSERT INTO Siswa (nama) VALUES ('Ali'), ('Budi'), ('Citra'), ('Dewi'), ('Eka');    

2. Barbershop


-- Membuat tabel pelanggan
CREATE TABLE pelanggan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(255) NOT NULL
);

-- Membuat tabel antrian
CREATE TABLE antrian (
    id INT AUTO_INCREMENT PRIMARY KEY,
    pelanggan_id INT NOT NULL,
    waktu_berangkat TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (pelanggan_id) REFERENCES pelanggan(id)
);

-- Membuat tabel status barbershop
CREATE TABLE status_barbershop (
    id INT PRIMARY KEY,
    buka BOOLEAN NOT NULL
);

-- Menambahkan status awal barbershop (buka)
INSERT INTO status_barbershop (id, buka) VALUES (1, TRUE);

-- Menambahkan beberapa pelanggan sebagai contoh
INSERT INTO pelanggan (nama) VALUES ('John Doe');
INSERT INTO pelanggan (nama) VALUES ('Jane Smith');
INSERT INTO pelanggan (nama) VALUES ('Alice Brown');
INSERT INTO pelanggan (nama) VALUES ('Bob Johnson');

-- Menambahkan pelanggan ke dalam antrian
INSERT INTO antrian (pelanggan_id) VALUES (1);
INSERT INTO antrian (pelanggan_id) VALUES (2);
INSERT INTO antrian (pelanggan_id) VALUES (3);
INSERT INTO antrian (pelanggan_id) VALUES (4);

3. Bioskop


-- Membuat tabel film untuk menyimpan daftar film yang tersedia
CREATE TABLE film (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(255) NOT NULL,
    harga INT NOT NULL
);

-- Menambahkan data film yang tersedia
INSERT INTO film (nama, harga) VALUES 
('Film A', 50000),
('Film B', 60000),
('Film C', 70000),
('Film D', 55000);

-- Membuat tabel pembelian_tiket untuk mencatat transaksi pembelian tiket
CREATE TABLE pembelian_tiket (
    id INT AUTO_INCREMENT PRIMARY KEY,
    tanggal TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Membuat tabel detail_pembelian_tiket untuk mencatat detail film yang dibeli dan jumlah tiket
CREATE TABLE detail_pembelian_tiket (
    id INT AUTO_INCREMENT PRIMARY KEY,
    pembelian_tiket_id INT,
    film_id INT,
    jumlah_tiket INT,
    total_harga INT,
    FOREIGN KEY (pembelian_tiket_id) REFERENCES pembelian_tiket(id),
    FOREIGN KEY (film_id) REFERENCES film(id)
);

4. Dealer Kartu (Black Jack Simplified)


CREATE DATABASE card_game;
USE card_game;

-- Tabel untuk menyimpan informasi pemain
CREATE TABLE players (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan informasi permainan
CREATE TABLE games (
    id INT AUTO_INCREMENT PRIMARY KEY,
    player_id INT,
    dealer_hand VARCHAR(255),
    player_hand VARCHAR(255),
    result ENUM('win', 'lose', 'draw') NOT NULL,
    played_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (player_id) REFERENCES players(id) ON DELETE CASCADE
);

-- Tabel untuk menyimpan deck kartu
CREATE TABLE deck (
    id INT AUTO_INCREMENT PRIMARY KEY,
    card_value VARCHAR(5) NOT NULL
);

-- Memasukkan daftar kartu ke dalam deck
INSERT INTO deck (card_value) VALUES
('2'), ('3'), ('4'), ('5'), ('6'), ('7'), ('8'), ('9'), ('10'), ('J'), ('Q'), ('K'), ('A');

5. Diler Kendaraan


CREATE DATABASE vehicle_dealer;
USE vehicle_dealer;

-- Tabel untuk menyimpan informasi kendaraan
CREATE TABLE vehicles (
    id INT AUTO_INCREMENT PRIMARY KEY,
    model VARCHAR(100) NOT NULL,
    price INT NOT NULL,
    stock INT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan transaksi pembelian
CREATE TABLE purchases (
    id INT AUTO_INCREMENT PRIMARY KEY,
    vehicle_id INT,
    quantity INT NOT NULL,
    total_price INT NOT NULL,
    purchased_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (vehicle_id) REFERENCES vehicles(id) ON DELETE CASCADE
);

-- Menambahkan beberapa kendaraan ke dalam tabel
INSERT INTO vehicles (model, price, stock) VALUES
('Mobil Sedan', 300000000, 10),
('Motor Sport', 100000000, 5),
('Mobil SUV', 500000000, 3);

6. Gaji


CREATE DATABASE payroll_system;
USE payroll_system;

-- Tabel untuk menyimpan data karyawan
CREATE TABLE employees (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    position VARCHAR(100),
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan data gaji
CREATE TABLE salaries (
    id INT AUTO_INCREMENT PRIMARY KEY,
    employee_id INT,
    basic_salary DOUBLE NOT NULL,
    allowance DOUBLE NOT NULL,
    deduction DOUBLE NOT NULL,
    total_salary DOUBLE NOT NULL,
    paid_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (employee_id) REFERENCES employees(id) ON DELETE CASCADE
);

-- Contoh data karyawan
INSERT INTO employees (name, position) VALUES
('Budi Santoso', 'Manager'),
('Ani Wijaya', 'Staff'),
('Joko Susilo', 'Supervisor');

-- Contoh data gaji
INSERT INTO salaries (employee_id, basic_salary, allowance, deduction, total_salary) VALUES
(1, 5000000, 1000000, 500000, 5500000),
(2, 3000000, 500000, 200000, 3300000),
(3, 4000000, 700000, 300000, 4400000);

7. Kafe


CREATE DATABASE cafe_system;
USE cafe_system;

-- Tabel untuk menyimpan menu kafe
CREATE TABLE menu (
    id INT AUTO_INCREMENT PRIMARY KEY,
    item_name VARCHAR(100) NOT NULL,
    price INT NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan pesanan pelanggan
CREATE TABLE orders (
    id INT AUTO_INCREMENT PRIMARY KEY,
    order_date TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan detail pesanan
CREATE TABLE order_details (
    id INT AUTO_INCREMENT PRIMARY KEY,
    order_id INT,
    menu_id INT,
    quantity INT NOT NULL,
    total_price INT NOT NULL,
    FOREIGN KEY (order_id) REFERENCES orders(id) ON DELETE CASCADE,
    FOREIGN KEY (menu_id) REFERENCES menu(id) ON DELETE CASCADE
);

-- Contoh data menu
INSERT INTO menu (item_name, price) VALUES
('Kopi', 15000),
('Teh', 10000),
('Espresso', 20000),
('Cappuccino', 25000),
('Kue', 12000);

8. Kalkulator


CREATE DATABASE kasir_system;
USE kasir_system;

-- Tabel untuk menyimpan daftar barang
CREATE TABLE barang (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    harga DOUBLE NOT NULL,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan transaksi
CREATE TABLE transaksi (
    id INT AUTO_INCREMENT PRIMARY KEY,
    tanggal TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    total_harga DOUBLE NOT NULL,
    uang_dibayar DOUBLE NOT NULL,
    kembalian DOUBLE NOT NULL
);

-- Tabel untuk menyimpan detail transaksi
CREATE TABLE detail_transaksi (
    id INT AUTO_INCREMENT PRIMARY KEY,
    transaksi_id INT,
    barang_id INT,
    jumlah INT NOT NULL,
    total DOUBLE NOT NULL,
    FOREIGN KEY (transaksi_id) REFERENCES transaksi(id) ON DELETE CASCADE,
    FOREIGN KEY (barang_id) REFERENCES barang(id) ON DELETE CASCADE
);

-- Contoh data barang
INSERT INTO barang (nama, harga) VALUES
('Beras', 50000),
('Gula', 15000),
('Minyak Goreng', 30000),
('Susu', 20000),
('Roti', 10000);

9. Kasir


-- Membuat tabel untuk menyimpan informasi barang
CREATE TABLE barang (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    nama TEXT NOT NULL,
    harga REAL NOT NULL
);

-- Membuat tabel untuk menyimpan transaksi yang terjadi
CREATE TABLE transaksi (
    id INTEGER PRIMARY KEY AUTOINCREMENT,
    tanggal DATETIME DEFAULT CURRENT_TIMESTAMP,
    total_harga REAL NOT NULL,
    uang_dibayar REAL NOT NULL,
    kembalian REAL NOT NULL
);

-- Menambahkan beberapa barang contoh ke dalam tabel barang
INSERT INTO barang (nama, harga) VALUES ('Apel', 10000);
INSERT INTO barang (nama, harga) VALUES ('Pisang', 8000);
INSERT INTO barang (nama, harga) VALUES ('Jeruk', 12000);
INSERT INTO barang (nama, harga) VALUES ('Mangga', 15000);
INSERT INTO barang (nama, harga) VALUES ('Semangka', 20000);

10. Kereta


CREATE DATABASE sistem_kereta;
USE sistem_kereta;

-- Tabel untuk menyimpan daftar kereta
CREATE TABLE kereta (
    id INT AUTO_INCREMENT PRIMARY KEY,
    nama VARCHAR(100) NOT NULL,
    tujuan VARCHAR(100) NOT NULL,
    waktu_berangkat TIME NOT NULL,
    kapasitas INT NOT NULL,
    terisi INT DEFAULT 0,
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Tabel untuk menyimpan pemesanan tiket
CREATE TABLE pemesanan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    kereta_id INT,
    jumlah_tiket INT NOT NULL,
    tanggal_pemesanan TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
    FOREIGN KEY (kereta_id) REFERENCES kereta(id) ON DELETE CASCADE
);

-- Contoh data kereta
INSERT INTO kereta (nama, tujuan, waktu_berangkat, kapasitas, terisi) VALUES
('Ekspres Jakarta', 'Bandung', '10:00:00', 100, 0),
('Argo Bromo', 'Surabaya', '15:00:00', 150, 0),
('Kelas Ekonomi', 'Yogyakarta', '12:00:00', 200, 0);

Mau Lebih Banyak Kode? Lihat Di Github Saya (Kode 11 - 20)

Klik Disini