Anda di halaman 1dari 4

STUDI KASUS:

Ada seorang pengembang aplikasi yang ingin membuat aplikasi ojek online. Bagaimana basis data
yang harus dirancang untuk menyimpan segala data yang ada pada aplikasi tersebut?
Basis data apa yang sesuai dengan kebutuhan pengembang app tersebut?

Tahapan Perancangan:
1. Analisis sistem
2. Penentuan entitas dan atribut
3. Penentuan relasi
4. Desain basis data
5. Implementasi basis data
6. Integrasi dengan sistem aplikasi
7. Uji coba basis data
8. Dokumentasi

No Tahapan Keterangan
1 Analisis Analisis kebutuhan data harus dilakukan terlebih dahulu untuk menentukan
sistem jenis data apa yang diperlukan dan bagaimana data tersebut akan
diorganisir. Misalnya, aplikasi ojek online memerlukan data pengguna
(seperti nama, alamat, dan nomor telepon), data pengemudi (seperti nomor
plat kendaraan, jenis kendaraan, dan lokasi saat ini), dan data pemesanan
(seperti lokasi penjemputan, tujuan, dan biaya).

2 Penentuan Ketiga proses diimplementasikan menggunakan ERD


entitas
3 Penentuan Tabel "pengguna" dengan kolom "id", "nama", "email", "password",
relasi "alamat", "nomor_telepon", "role" (sebagai pengguna atau pengemudi),
4 Desain basis dan "saldo" (jumlah uang yang tersedia di akun pengguna).
data
Tabel "pengemudi" dengan kolom "id", "nama", "nomor_plat",
"jenis_kendaraan", "lokasi_sekarang", "status" (tersedia atau sedang tidak
tersedia), dan "id_pengguna" (kunci asing ke tabel "pengguna").

Tabel "pemesanan" dengan kolom "id", "id_pengguna" (kunci asing ke tabel


"pengguna"), "id_pengemudi" (kunci asing ke tabel "pengemudi"),
"lokasi_penjemputan", "lokasi_tujuan", "jarak", "biaya", dan "status"
(sedang menunggu, sedang dalam perjalanan, atau selesai).
Basis data ini memiliki tiga tabel yaitu "pengguna", "pengemudi", dan
"pemesanan". Setiap pengguna (baik pengguna biasa maupun pengemudi)
memiliki sebuah ID (primary key) untuk setiap entitasnya.

Tabel "pengemudi" memiliki relasi many-to-one (banyak ke satu) dengan


tabel "pengguna", artinya satu pengguna dapat menjadi banyak pengemudi,
namun satu pengemudi hanya bisa memiliki satu akun pengguna. Hal ini
ditunjukkan dengan adanya relasi "id_pengguna" pada tabel "pengemudi"
yang mengacu ke kolom "id" pada tabel "pengguna".

Tabel "pemesanan" memiliki relasi many-to-one (banyak ke satu) dengan


tabel "pengguna" dan "pengemudi", artinya satu pengguna/pengemudi
dapat memiliki banyak pemesanan, namun satu pemesanan hanya dapat
diambil oleh satu pengemudi dan dilakukan oleh satu pengguna. Hal ini
ditunjukkan dengan adanya relasi "id_pengguna" dan "id_pengemudi" pada
tabel "pemesanan" yang mengacu ke kolom "id" pada tabel "pengguna" dan
"pengemudi".

Setiap pemesanan memiliki sebuah ID (primary key) untuk setiap entitasnya,


dan berisi informasi seperti lokasi penjemputan, lokasi tujuan, jarak, biaya,
dan status pemesanan.

Tabel "pengemudi" menyimpan informasi tentang pengemudi, seperti


nomor plat kendaraan, jenis kendaraan, lokasi sekarang, dan status (apakah
sedang tersedia atau tidak).

Tabel "pengguna" menyimpan informasi tentang pengguna aplikasi, seperti


nama, email, password, alamat, nomor telepon, role (apakah sebagai
pengguna biasa atau pengemudi), dan saldo.
5 Implementasi Berikut adalah langkah-langkah untuk membuat database ojek online
basis data menggunakan PgAdmin:
1. Buka PgAdmin dan buat server baru dengan mengklik ikon "Add
New Server" pada panel sebelah kiri.
2. Pada tab "General", beri nama server sesuai keinginan Anda dan
masukkan informasi login ke PostgreSQL server.
3. Pada tab "Connection", masukkan informasi host, port, dan nama
database.
4. Setelah selesai, klik tombol "Save" untuk menyimpan konfigurasi
server.
5. Setelah terkoneksi dengan server, buat database baru dengan
mengklik kanan pada ikon server dan memilih "Create" ->
"Database...".
6. Beri nama database sesuai dengan keinginan Anda dan pastikan
pengaturan encoding adalah UTF-8.
7. Setelah database terbuat, buat tabel-tabel yang dibutuhkan dengan
memilih database dan memilih "Tools" -> "Query Tool".
8. Pada Query Tool, Anda dapat menuliskan perintah SQL untuk
membuat tabel-tabel dan menambahkan kolom-kolom pada tabel.
Berikut contoh perintah SQL untuk membuat tabel-tabel yang
diperlukan:

CREATE TABLE pengguna (


id SERIAL PRIMARY KEY,
nama VARCHAR(50) NOT NULL,
email VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(50) NOT NULL,
alamat VARCHAR(100) NOT NULL,
nomor_tlpn VARCHAR(20) NOT NULL,
role VARCHAR(10) NOT NULL,
saldo INTEGER NOT NULL
);

CREATE TABLE pengemudi (


id SERIAL PRIMARY KEY,
nama VARCHAR(50) NOT NULL,
nomor_plat VARCHAR(20) NOT NULL UNIQUE,
jenis_kendaraan VARCHAR(20) NOT NULL,
lokasi_sekarang VARCHAR(100) NOT NULL,
status BOOLEAN NOT NULL,
id_pengguna INTEGER REFERENCES pengguna(id) ON DELETE
CASCADE
);

CREATE TABLE pemesanan (


id SERIAL PRIMARY KEY,
id_pengguna INTEGER REFERENCES pengguna(id) ON DELETE
CASCADE,
id_pengemudi INTEGER REFERENCES pengemudi(id),
lokasi_jemput VARCHAR(100) NOT NULL,
lokasi_tujuan VARCHAR(100) NOT NULL,
jarak INTEGER NOT NULL,
biaya INTEGER NOT NULL,
status VARCHAR(20) NOT NULL
);
6 Integrasi Dijelaskan pada pertemuan selanjutnya
dengan app
7 Uji coba basis Dijelaskan pada pertemuan selanjutnya
data
8 Dokumentasi Dijelaskan pada pertemuan selanjutnya

Anda mungkin juga menyukai