Belajar Entity Relationship Diagram: Studi kasus Sistem Tiket untuk Event

Hello, spirit of learning. Pembelian tiket dalam sebuah event tentu kita sering jumpai, apalagi ketika kita melihat media sosial banyak orang menghadiri event yang diadakan oleh penyelenggara di beberapa kota besar hampir setiap bulannya. Kali ini mari kita bahas mengenai Sistem Tiket untuk Event.

Entitas

Suatu sistem tiket dalam sebuah event cukup sederhana dalam prosesnya, tentu kita sudah memiliki gambaran dengan cara kita membeli tiket untuk event tersebut secara online. Poin penting yang bisa kita ambil dimana kita sebagai pengguna membeli tiket untuk event yang ingin kita ikuti.

ERDSistemTiketEvent_BuildWithAngga

Atribut

Dalam pembelian tiket untuk sebuah event secara online, kita diharuskan mengisi beberapa data pribadi hal ini juga bisa kita terapkan kedalam pembuatan ERD sebagai referensi yang kita butuhkan untuk database yang akan kita buat. Dan berikut atribut yang kita perlukan dari setiap entitas.

  • Pengguna
ERDSistemTiketEvent_BuildWithAngga
  • Event
ERDSistemTiketEvent_BuildWithAngga
  • Tiket
ERDSistemTiketEvent_BuildWithAngga
  • Pembayaran
ERDSistemTiketEvent_BuildWithAngga

Hubungan antar Entitas

Perlu diingat dalam pembuatan atribut sendiri setidaknya kita memahami hubungan dari setiap entitas yang ada, karena ini akan berdampak juga kedepannya jika kita sudah masuk kedalam pembuatan database. Ada beberapa poin yang bisa kita ambil dalam sistem tiket untuk event.

  • Setiap pengguna dapat memesan banyak tiket (1-N)
  • Setiap event memiliki banyak tiket (1-N)
  • Setiap tiket yang ada dilakukan satu pembayaran (1-1)
ERDSistemTiketEvent_BuildWithAngga

Contoh Penerapan dalam SQL


-- Tabel Pengguna
CREATE TABLE Pengguna (
    UserID INT PRIMARY KEY AUTO_INCREMENT,
    FullName VARCHAR(100) NOT NULL,
    Email VARCHAR(100) NOT NULL,
    PhoneNumber VARCHAR(15),
    Address TEXT
);

-- Tabel Event
CREATE TABLE Event (
    EventID INT PRIMARY KEY AUTO_INCREMENT,
    EventName VARCHAR(100) NOT NULL,
    EventDate DATETIME,
    Location VARCHAR(255),
);

-- Tabel Tiket
CREATE TABLE Tiket (
    TicketID INT PRIMARY KEY AUTO_INCREMENT,
    UserID INT,
    EventID INT,
    PurchaseDate DATE,
    SeatNumber VARCHAR(10),
    Status ENUM('Booked', 'Cancelled') DEFAULT 'Booked',
    FOREIGN KEY (UserID) REFERENCES Pengguna(UserID),
    FOREIGN KEY (EventID) REFERENCES Event(EventID)
);

-- Tabel Pembayaran
CREATE TABLE Pembayaran (
    PaymentID INT PRIMARY KEY AUTO_INCREMENT,
    TicketID INT,
    PaymentDate DATE,
    Amount DECIMAL(10, 2),
    PaymentMethod VARCHAR(50),
    FOREIGN KEY (TicketID) REFERENCES Tiket(TicketID)
);

Kesimpulan

Entity Relationship Diagram (ERD) untuk sistem tiket event ini mencakup entitas utama seperti Pengguna, Event, Tiket, dan Pembayaran. Semua entitas memiliki fitur dan hubungan yang jelas, yang memungkinkan pengelolaan data yang efektif. Pengguna dapat memesan tiket event, dan mengelola pembayaran dengan menggunakan implementasi SQL yang disediakan, yang memastikan pembuatan tabel yang diperlukan dan penghubungan data yang baik. Sistem ini mempercepat proses pemesanan tiket, sehingga pengguna dan pengelola event memiliki pengalaman yang lebih baik.

Jika kamu tertarik untuk mempeluas wawasan kamu dalam membuat ERD dan mempelajari Framework Laravel, ayo ikuti rekomendasi Kelas Online Belajar Laravel 11, Filament, MySQL: Bikin Web Portal Berita | BuildWithAngga. Jangan berhenti disini mari kita perluas wawasan kita dalam belajar hal baru!