Mohon tunggu...
Muzhar Maulana
Muzhar Maulana Mohon Tunggu... Mahasiswa - Mahsiswa

Olahraga, bermaij game online

Selanjutnya

Tutup

Pendidikan

Rancangan ERD, EERD dan Pembuatan Aplikasi Sistem Pemesanan Tiket Pesawat

28 Desember 2024   08:12 Diperbarui: 28 Desember 2024   08:12 54
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
GAMBAR 1.ERD (sumber dok. pribadi)

Pada artikel ini, kita akan membahas sebuah studi kasus tentang sistem pemesanan tiket pesawat yang dirancang untuk mempermudah pelanggan dalam melakukan pemesanan secara digital. Dengan sistem ini, pelanggan dapat melihat jadwal penerbangan, memilih rute, maskapai, dan jadwal keberangkatan, serta melakukan pembayaran tiket tanpa harus datang langsung ke loket.

Tujuan Sistem

  1. Mempermudah pelanggan dalam memesan tiket pesawat.
  2. Meningkatkan efisiensi operasional maskapai dengan manajemen data yang terorganisir.
  3. Memberikan laporan penjualan tiket yang akurat untuk analisis dan pengambilan keputusan manajemen.

Deskripsi Relasi 

  1. Pengguna ke Pemesanan: Setiap Pengguna dapat melakukan banyak Pemesanan tiket penerbangan (one-to-many).

  2. Jadwal Penerbangan ke Pemesanan: Setiap Jadwal Penerbangan dapat memiliki banyak Pemesanan, tetapi satu Pemesanan hanya terkait dengan satu jadwal (one-to-many).

  3. Penerbangan ke Jadwal Penerbangan: Setiap Penerbangan (rute tertentu) dapat memiliki banyak Jadwal Penerbangan untuk berbagai waktu keberangkatan (one-to-many).

  4. Pemesanan ke Pembayaran: Setiap Pemesanan memiliki satu Pembayaran, sehingga hubungan ini bersifat one-to-one.

Berdasarkan deskripsi di atas, entitas utama yang terlibat adalah:

  1. Pengguna: Menyimpan informasi pelanggan, seperti nama, email, nomor telepon, dan password.
  2. Penerbangan: Mencatat informasi maskapai, rute penerbangan, dan nomor penerbangan.
  3. Jadwal Penerbangan: Menyimpan informasi detail tentang waktu keberangkatan, waktu kedatangan, harga tiket, dan jadwal penerbangan.
  4. Pemesanan: Mencatat transaksi pemesanan tiket pesawat oleh pengguna.
  5. Pembayaran: Menyimpan detail transaksi pembayaran dari setiap pemesanan.

Hubungan antar entitas ini dapat divisualisasikan menggunakan diagram relasi entitas (ERD), seperti yang ditampilkan pada gambar 1 dibawah ini. Diagram ini menggambarkan bagaimana data dalam sistem saling berhubungan, mulai dari proses pelanggan memilih jadwal penerbangan hingga menyelesaikan pembayaran tiket.

Dari gambar yang ditampilkan, dapat dilihat bahwa setiap entitas dalam sistem pemesanan tiket pesawat telah memiliki atribut masing-masing, yaitu:

1. Pengguna

Entitas Pengguna menyimpan data tentang pelanggan yang menggunakan sistem pemesanan tiket. Atribut utama yang dimiliki adalah:

  • id_pengguna: Primary key yang unik untuk setiap pengguna.
  • nama: Nama lengkap pengguna.
  • email: Alamat email pengguna untuk kontak digital.
  • nomor_tlp: Nomor telepon pengguna.
  • password: Kata sandi untuk mengakses akun pengguna.

2. Penerbangan

Entitas Penerbangan mencatat informasi tentang rute penerbangan yang tersedia. Atribut utama meliputi:

  • id_penerbangan: Primary key yang unik untuk setiap penerbangan.
  • maskapai: Nama maskapai yang mengoperasikan penerbangan.
  • asal: Kota atau bandara asal penerbangan.
  • tujuan: Kota atau bandara tujuan penerbangan.
  • nomor_penerbangan: Nomor penerbangan untuk identifikasi rute.

3. Jadwal Penerbangan

Entitas Jadwal Penerbangan menyimpan informasi jadwal keberangkatan dan kedatangan untuk penerbangan tertentu. Atribut utama meliputi:

  • id_jadwal: Primary key yang unik untuk setiap jadwal penerbangan.
  • tgl_keberangkatan: Tanggal keberangkatan penerbangan.
  • waktu_keberangkatan: Waktu keberangkatan penerbangan.
  • waktu_kedatangan: Waktu kedatangan penerbangan.
  • harga_tiket: Harga tiket penerbangan untuk jadwal tertentu.

4. Pemesanan

Entitas Pemesanan mencatat transaksi pemesanan tiket pesawat oleh pengguna. Atribut utamanya adalah:

  • id_pemesanan: Primary key yang unik untuk setiap pemesanan.
  • tgl_pemesanan: Tanggal saat pemesanan dilakukan.
  • jumlah_penumpang: Jumlah tiket atau kursi yang dipesan.
  • status_pemesanan: Status pemesanan (misalnya, "proses", "selesai", atau "batal").

5. Pembayaran

Entitas Pembayaran menyimpan informasi tentang transaksi pembayaran dari setiap pemesanan tiket. Atribut utama meliputi:

  • id_pembayaran: Primary key yang unik untuk setiap pembayaran.
  • tgl_pembayaran: Tanggal transaksi pembayaran dilakukan.
  • metode_pembayaran: Metode pembayaran yang digunakan (misalnya, transfer bank, kartu kredit, atau e-wallet).
  • status_pembayaran: Status pembayaran (misalnya, "berhasil" atau "gagal").

Setelah menyusun desain ERD dari basis data sistem pemesanan tiket pesawat, langkah berikutnya adalah membuat desain EERD untuk basis data tersebut. Desain ini memberikan detail lebih lanjut tentang relasi antar entitas dan atribut khusus yang dimiliki masing-masing entitas. Visualisasi lengkapnya dapat dilihat pada gambar 2. berikut

GAMBAR 2. EERD (sumber dok.pribadi)
GAMBAR 2. EERD (sumber dok.pribadi)
  Berdasarkan gambar desain tabel diatas, berikut adalah penjelasan dari masing-masing tabel  dan hubunganya :

1. Pengguna

Tabel pengguna menyimpan informasi tentang pengguna sistem yang memesan tiket penerbangan. Kolom-kolom utama meliputi:

  • id_pengguna sebagai primary key.
  • nama untuk menyimpan nama pengguna.
  • email untuk kontak pengguna secara digital.
  • nomor_telepon untuk informasi kontak telepon.
  • password untuk keamanan akses pengguna.

Relasi:
Tabel pengguna memiliki hubungan one-to-many dengan tabel pemesanan, di mana satu pengguna dapat melakukan banyak pemesanan.

2. Pemesanan
Tabel pemesanan mencatat transaksi pemesanan tiket. Kolom-kolom utama meliputi:

  • id_pemesanan sebagai primary key.
  • id_jadwal sebagai foreign key yang merujuk ke tabel jadwal penerbangan.
  • id_pengguna sebagai foreign key yang merujuk ke tabel pengguna.
  • jumlah_penumpang untuk mencatat jumlah penumpang dalam satu pemesanan.
  • tgl_pemesanan untuk mencatat tanggal pemesanan tiket.
  • status_pemesanan untuk mencatat status pemesanan (misalnya, berhasil atau dibatalkan).

Relasi:
Tabel pemesanan memiliki hubungan many-to-one dengan tabel pengguna dan tabel jadwal penerbangan.

3. Jadwal Penerbangan
Tabel ini menyimpan informasi tentang jadwal penerbangan. Kolom-kolom utama meliputi:

  • id_jadwal sebagai primary key.
  • tanggal_keberangkatan untuk mencatat tanggal penerbangan.
  • waktu_keberangkatan untuk waktu keberangkatan pesawat.
  • waktu_kedatangan untuk waktu kedatangan pesawat.
  • harga_tiket untuk menyimpan harga tiket penerbangan.
  • id_penerbangan sebagai foreign key yang merujuk ke tabel penerbangan.

Relasi:
Tabel jadwal penerbangan memiliki hubungan many-to-one dengan tabel penerbangan.

4. Penerbangan
Tabel ini menyimpan informasi terkait penerbangan. Kolom-kolom utama meliputi:

  • id_penerbangan sebagai primary key.
  • nomor_penerbangan untuk nomor identitas penerbangan.
  • maskapai untuk menyimpan nama maskapai penerbangan.
  • asal untuk kota asal penerbangan.
  • tujuan untuk kota tujuan penerbangan.

Relasi:
Tabel penerbangan memiliki hubungan one-to-many dengan tabel jadwal penerbangan

5. Pembayaran
Tabel pembayaran mencatat transaksi pembayaran tiket. Kolom-kolom utama meliputi:

  • id_pembayaran sebagai primary key.
  • metode_pembayaran untuk mencatat metode pembayaran (misalnya, kartu kredit, transfer bank).
  • tanggal_pembayaran untuk mencatat kapan pembayaran dilakukan.
  • status_pembayaran untuk status pembayaran (misalnya, lunas, pending).
  • id_pemesanan sebagai foreign key yang merujuk ke tabel pemesanan.
  • id_jadwal dan id_pengguna sebagai foreign key tambahan untuk integrasi data.

Relasi:
Tabel pembayaran memiliki hubungan one-to-one dengan tabel pemesanan.

Setelah merancang ERD dan EERD, langkah selanjutnya adalah mengembangkan aplikasi yang menggunakan sistem basis data yang telah dibuat. Aplikasi yang saya kembangkan menggunakan framework Yii, yang berbasis pada pemrograman PHP. Berikut adalah tahapan-tahapan dalam pembuatannya:

1. Buat sebuah folder untuk proyek dengan menggunakan sintaks berikut, kemudian masuk ke dalam folder proyek tersebut.

      composer create-project yiisoft/yii2-app-basic nama_project

2. Gunakan CRUD Generator dari Yii untuk membuat sistem CRUD.

3. Jalankan proyek dengan mengetikkan perintah berikut di terminal:

      php yii serve

4. Akses aplikasi melalui localhost:8080.

Ini adalah tampilan dasar dari aplikasi berbasis website yang telah saya buat:

GAMBAR 3. Tampilan daftar penguna (sumber dok.pribadi
GAMBAR 3. Tampilan daftar penguna (sumber dok.pribadi
GAMBAR4. Tampilan daftar penerbangan (sumber dok.pribadi)
GAMBAR4. Tampilan daftar penerbangan (sumber dok.pribadi)
  Untuk penjelasan lebih mendetail, Anda dapat menoonton video youtube berikut :


 

Baca konten-konten menarik Kompasiana langsung dari smartphone kamu. Follow channel WhatsApp Kompasiana sekarang di sini: https://whatsapp.com/channel/0029VaYjYaL4Spk7WflFYJ2H

HALAMAN :
  1. 1
  2. 2
  3. 3
  4. 4
  5. 5
Mohon tunggu...

Lihat Konten Pendidikan Selengkapnya
Lihat Pendidikan Selengkapnya
Beri Komentar
Berkomentarlah secara bijaksana dan bertanggung jawab. Komentar sepenuhnya menjadi tanggung jawab komentator seperti diatur dalam UU ITE

Belum ada komentar. Jadilah yang pertama untuk memberikan komentar!
LAPORKAN KONTEN
Alasan
Laporkan Konten
Laporkan Akun