UAS SISTEM BASIS DATA : Database MongoDb

Alysha Ananda Shafa

Sosial Media


0 orang menyukai ini
Suka

Summary

Proyek ini merupakan simulasi dari sistem e-commerce sederhana berbasis MongoDB dengan integrasi backend menggunakan Python Flask. Struktur data mencerminkan relasi dunia nyata antara pengguna(user) dan tanggungan mereka, telepon, produk yang dibeli, perusahaan yang menyediakan produk, dan gudang. Sistem ini didukung operasi membaca data melalui endpoint API untuk menampilkan semua informasi dalam JSON.

Description

Pada proyek kami yang buat di sini saya Alysha Ananda Shafa(2410511087) dan tim saya Astrella Syadira Ramadhante(2410511094), Ismail Faruqy(2410511092), setiap tim memiliki peran pengerjaan masing-masing untuk keseluruhan proyek E-commerce platform.

Sistem yang dirancang di sini merepresentasikan alur data sebuah bisnis ritel sederhana dengan desain skema yang realistis menggunakan MongoDB sebagai database NoSQL dan Flask sebagai backend API service.

Disini saya memulai proses dengan membuat database baru di MongoDB Compass dengan menamainnya db_ecommerce. Setelah itu saya membuka MongoDB Shell untuk memasukkan entitas yang sudah kami buat. Di dalamnya, entitas pertama yang saya buat adalah User — representasi pelanggan utama sistem. Setiap user diidentifikasi oleh id_user, memiliki nama depan (first_name) dan nama belakang (surname), lengkap dengan informasi login seperti email, password, serta tanggal registrasi (created_at). Karena pengguna di dunia nyata tidak hidup sendirian, saya tambahkan juga daftar tanggungan (sebagai weak entity) yang berisi anggota keluarga atau kerabat dekat — lengkap dengan nama, hubungan, dan tanggal lahir. Relasi ini mencerminkan konsep one-to-many, di mana satu user bisa memiliki lebih dari satu tanggungan.

Tidak hanya itu, karena tiap orang biasanya punya lebih dari satu nomor, saya tambahkan atribut telephone yang disimpan sebagai array. Ini merepresentasikan multi-valued attribute khas NoSQL — fleksibel tanpa batasan jumlah.

Lalu saya beralih ke dunia transaksi. Sebuah user tentu bisa membeli berbagai produk, maka dari itu saya buat koleksi Beli yang mencatat relasi one-to-many antara user dan produk. Setiap data beli menyimpan informasi siapa user-nya, produk apa yang dibeli (id_produk), berapa banyak (total), dan kapan transaksinya terjadi (tanggal_beli). Ini memberikan gambaran jelas tentang aktivitas pembelian pelanggan.

Produk-produk yang dibeli user tersimpan di koleksi Produk. Masing-masing memiliki id_produk, nama, harga, stok, dan deskripsi singkat. Di sini saya pastikan tiap produk mengacu pada sebuah perusahaan — menciptakan relasi many-to-one ke koleksi Company. Artinya, satu perusahaan bisa memproduksi banyak produk berbeda.

Perusahaan sendiri juga saya buat di koleksi Company, menyimpan data seperti id_company, nama, email_perusahaan, dan alamat lengkap. Namun, sebuah perusahaan dalam sistem ini tidak berdiri sendiri — ia terhubung langsung secara one-to-one dengan koleksi Gudang. Setiap perusahaan punya satu gudang penyimpanan khusus, yang menyimpan informasi id_gudang, nama gudang, alamat, dan referensi ke id_company.

User memiliki banyak Tanggungan (anak, istri, dll) → One to Many
Ringkasan Relasi:

 

Setelah membuat database selanjutnnya saya akan menghubungkan/connect database menggunakan Python Flask, dimana menggunakan endpoint API sederhana (/get) untuk mengambil seluruh data yang sudah dibuat dalam format JSON. Sehingga membuat bagian backend lebih mudah saat proses debugging dan pengujian data lewat tools seperti Postman.

Melalui proyek ini terutama bagian yang saya kerjakan saya belajar bagaimana menyusun skema database NOSQL yang terstruktur, bagaimana merepresentasikan relasi antar entitas meskipun dalam bentuk dokumen (bukan tabel), serta bagaimana menyajikan data melalui API menggunakan Flask  sebuah fondasi penting untuk project data-driven application skala besar.

Informasi Course Terkait
  Kategori: Web Programming
  Course: Big Data Base dengan Cassandra