Mohon tunggu...
Zakkiya fitra Rahmadina
Zakkiya fitra Rahmadina Mohon Tunggu... Mahasiswa - Mahasiswa

i love tiktok

Selanjutnya

Tutup

Pendidikan

Perancangan Aplikasi Sistem Informasi Manajemen Restoran

3 Januari 2025   18:29 Diperbarui: 3 Januari 2025   18:29 33
+
Laporkan Konten
Laporkan Akun
Kompasiana adalah platform blog. Konten ini menjadi tanggung jawab bloger dan tidak mewakili pandangan redaksi Kompas.
Lihat foto
Pendidikan. Sumber ilustrasi: PEXELS/McElspeth

Studi kasus: aplikasi sistem informasi manajemen restoran 

Aplikasi sistem informasi manajemen restoran bertujuan untuk meningkatkan efisiensi operasional dan pelayanan dengan mengelola data pelanggan, staf, menu, pemasok, dan pesanan secara terpusat. Sistem ini mempermudah pencatatan, mempercepat proses transaksi, serta mendukung pengambilan keputusan berbasis data. Dengan demikian, restoran dapat memberikan layanan yang lebih baik, mengurangi kesalahan manual, dan meningkatkan produktivitas. 

sistem ini memiliki 5 entitas yaitu:

  1. Pelanggan

    • Atribut:
      • id_pelanggan: Primary key, unik untuk setiap pelanggan.
      • nama: Nama pelanggan.
      • email: Alamat email pelanggan.
      • telepon: Nomor telepon pelanggan.
    • Deskripsi: Entitas ini menyimpan data pelanggan yang memesan makanan atau minuman di restoran.
  2. Pesanan

    • Atribut:
      • id_pesanan: Primary key, unik untuk setiap pesanan.
      • tanggal: Tanggal pesanan dibuat.
      • total_harga: Total harga dari pesanan.
      • status: Status pesanan (misalnya, selesai, dalam proses).
      • metode_bayar: Metode pembayaran yang digunakan (misalnya, tunai, kartu kredit).
    • Deskripsi: Entitas ini menyimpan data tentang pesanan yang dibuat oleh pelanggan.
  3. Staf

    • Atribut:
      • id_staf: Primary key, unik untuk setiap staf.
      • nama: Nama staf.
      • role: Peran staf di restoran (misalnya, pelayan, kasir).
    • Deskripsi: Entitas ini menyimpan data staf yang menangani pesanan pelanggan.
  4. Menu

    • Atribut:
      • id_menu: Primary key, unik untuk setiap item menu.
      • nama: Nama menu.
      • harga: Harga menu.
      • kategori: Kategori menu (misalnya, makanan, minuman).
    • Deskripsi: Entitas ini menyimpan informasi tentang daftar menu yang tersedia di restoran.
  5. Pemasok

    • Atribut:
      • id_pemasok: Primary key, unik untuk setiap pemasok.
      • nama: Nama pemasok.
      • kontak: Informasi kontak pemasok.
    • Deskripsi: Entitas ini menyimpan data tentang pemasok yang menyediakan bahan atau barang untuk restoran.

Relasi dan Penjelasannya

  1. Pelanggan "melakukan" Pesanan

    • Relasi: 1:M (One-to-Many)
      • Penjelasan: Satu pelanggan dapat membuat banyak pesanan, tetapi satu pesanan hanya terkait dengan satu pelanggan.
      • Fungsi: Relasi ini memastikan bahwa setiap pesanan tercatat atas nama pelanggan yang sesuai.
  2. Staf "menangani" Pesanan

    • Relasi: 1:M (One-to-Many)
      • Penjelasan: Satu staf dapat menangani banyak pesanan, tetapi satu pesanan hanya dapat ditangani oleh satu staf.
      • Fungsi: Relasi ini menghubungkan pesanan dengan staf yang bertanggung jawab atas layanan pesanan tersebut.
  3. Pesanan "mencakup" Menu

    • Relasi: 1:M (One-to-Many)
      • Penjelasan: Satu pesanan dapat mencakup banyak item menu, dan satu item menu dapat dipesan oleh banyak pesanan.
      • Fungsi: Relasi ini memungkinkan pencatatan detail pesanan, seperti item menu yang dipilih pelanggan.
  4. Menu "disediakan oleh" Pemasok

    • Relasi: 1:M (One-to-Many)
      • Penjelasan: Satu pemasok dapat menyediakan banyak menu, tetapi satu menu hanya disediakan oleh satu pemasok.
      • Fungsi: Relasi ini memastikan bahwa setiap menu yang tersedia di restoran memiliki sumber bahan yang jelas dari pemasok tertentu.

Selanjutnya untuk EERD (Enhanced Entity Relationship Diagram), yang merupakan pengembangan dari ERD dengan menambahkan elemen-elemen detail seperti tipe data atribut dan hubungan antar entitas. Berikut adalah penjelasannya tabel pada EERD:

Penjelasan Tabel dan Atribut

  1. Tabel table_pemasok

    • Atribut:
      • id_pemasok: Primary key, unik untuk setiap pemasok.
      • nama: Nama pemasok.
      • kontak: Informasi kontak pemasok.
    • Relasi:
      • Berhubungan dengan tabel table_menu.
      • Penjelasan: Setiap pemasok menyediakan satu atau lebih menu di restoran. Relasi ini memastikan bahwa setiap menu memiliki pemasok yang terkait.
  2. Tabel table_menu

    • Atribut:
      • id_menu: Primary key, unik untuk setiap item menu.
      • nama: Nama item menu.
      • harga: Harga menu.
      • kategori: Kategori menu (misalnya makanan, minuman).
    • Relasi:
      • Ke Tabel table_pemasok: Relasi 1:M (One-to-Many), satu pemasok dapat menyediakan banyak menu.
      • Ke Tabel table_pesanan: Relasi 1:m (One-to-Many) melalui foreign key.
      • Penjelasan:
        • Tabel ini menyimpan daftar menu yang tersedia, termasuk informasi harganya.
        • Menu yang ada dapat dimasukkan dalam berbagai pesanan oleh pelanggan.
  3. Tabel table_pelanggan

    • Atribut:
      • id_pelanggan: Primary key, unik untuk setiap pelanggan.
      • nama: Nama pelanggan.
      • email: Email pelanggan.
      • telepon: Nomor telepon pelanggan.
    • Relasi:
      • Ke Tabel table_pesanan: Relasi 1:M (One-to-Many).
      • Penjelasan: Setiap pelanggan dapat membuat banyak pesanan, tetapi satu pesanan hanya terkait dengan satu pelanggan.
  4. Tabel table_pesanan

    • Atribut:
      • id_pesanan: Primary key, unik untuk setiap pesanan.
      • tanggal: Tanggal pesanan dibuat.
      • total_harga: Total harga dari pesanan.
      • status: Status pesanan (misalnya selesai, dalam proses).
      • metode_bayar: Metode pembayaran (misalnya tunai, kartu kredit).
      • Foreign Key:
        • table_pelanggan_id_pelanggan: Menghubungkan pesanan ke pelanggan yang membuatnya.
        • table_staf_id_staf: Menghubungkan pesanan ke staf yang menanganinya.
    • Relasi:
      • Ke Tabel table_menu: Relasi 1:M (One-to-Many), satu pesanan dapat mencakup banyak menu.
      • Ke Tabel table_pelanggan: Relasi 1:M (One-to-Many).
      • Ke Tabel table_staf: Relasi 1:M (One-to-Many).
      • Penjelasan: Tabel ini menyimpan informasi detail dari setiap pesanan, termasuk menu yang dipesan, pelanggan, dan staf yang bertugas.
  5. Tabel table_staf

    • Atribut:
      • id_staf: Primary key, unik untuk setiap staf.
      • nama: Nama staf.
      • role: Peran staf di restoran (misalnya pelayan, kasir).
    • Relasi:
      • Ke Tabel table_pesanan: Relasi 1:M (One-to-Many).
      • Penjelasan: Setiap staf dapat menangani banyak pesanan, tetapi satu pesanan hanya ditangani oleh satu staf.

Penjelasan Relasi

  1. Relasi table_pemasok - table_menu

    • Tipe: 1:M (One-to-Many).
    • Penjelasan: Satu pemasok dapat menyediakan banyak item menu, tetapi satu menu hanya berasal dari satu pemasok.
  2. Relasi table_menu - table_pesanan

    • Tipe: 1: M (Many-to-Many).
    • Penjelasan: Satu pesanan dapat mencakup banyak item menu, dan satu menu dapat dipesan dalam banyak pesanan.
  3. Relasi table_pelanggan - table_pesanan

    • Tipe: 1:M (One-to-Many).
    • Penjelasan: Satu pelanggan dapat membuat banyak pesanan, tetapi satu pesanan hanya milik satu pelanggan.
  4. Relasi table_staf - table_pesanan

    • Tipe: 1:M (One-to-Many).
    • Penjelasan: Satu staf dapat menangani banyak pesanan, tetapi satu pesanan hanya ditangani oleh satu staf.

Selanjutnya setelah rancangan ERD dan EERD adalah implementasi aplikasi menggunakan Yii Framewok penjelasannya dapat diliat pada video youtube dimana ini.


Follow Instagram @kompasianacom juga Tiktok @kompasiana biar nggak ketinggalan event seru komunitas dan tips dapat cuan dari Kompasiana
Baca juga cerita inspiratif langsung dari smartphone kamu dengan bergabung di WhatsApp Channel Kompasiana di SINI

HALAMAN :
  1. 1
  2. 2
  3. 3
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