ASP.NET Core API #3: Mendesain Database Wisata – Tabel Kategori dan Daftar Wisata

ASP.NET Core API #3: Mendesain Database Wisata – Tabel Kategori dan Daftar Wisata

Halo lagi, calon programmer cilik! 

Di artikel sebelumnya kita sudah bisa bikin API yang bilang "Hello World". Sekarang kita akan buatkan dia tempat nyimpen data yang beneran. Ibarat kita punya lemari es, sekarang kita mau isi lemari es itu dengan makanan-makanan lezat. Di dunia programming, lemari es itu namanya database, dan makanannya adalah data.

🤣 Kenapa database perempuan? Karena dia butuh relasi! (Canda dulu biar nggak tegang)

Kita akan buat dua tabel:

  • KategoriWisata – buat nyimpen jenis wisata, misal Pantai, Gunung, Museum.
  • DaftarWisata – buat nyimpen tempat wisata lengkap dengan detailnya.

Relasinya: satu kategori bisa punya banyak tempat wisata. Kayak satu emak bisa punya banyak anak gitu deh.

Langkah 1: Buka SQL Server Management Studio (SSMS)

  • Buka SSMS, masuk ke server lokal (biasanya localhost atau .\SQLEXPRESS). Klik Connect.


  • Di panel kiri, klik kanan pada Databases -> New Database...


  • Beri nama database: WisataDB. Klik OK. Tunggu sampai muncul di daftar database.


💡 Kalau bingung nyari database baru, coba refresh (klik kanan Databases -> Refresh).

Langkah 2: Membuat Tabel KategoriWisata

Klik kanan database WisataDB -> New Query. Akan muncul jendela kosong untuk menulis perintah SQL.



Ketik perintah berikut:

CREATE TABLE KategoriWisata (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Nama VARCHAR(100) NOT NULL,
    Deskripsi VARCHAR(255)
);

Penjelasan:

  • Id – nomor unik untuk setiap kategori. IDENTITY(1,1) artinya otomatis diisi nomor 1,2,3,... (kaya antrian bakso).
  • Nama – nama kategori, misal "Pantai". NOT NULL wajib diisi.
  • Deskripsi – penjelasan tambahan, boleh kosong.


Setelah diketik, tekan F5 atau klik Execute. Kalau muncul "Command(s) completed successfully", berarti tabel sudah jadi.



Langkah 3: Membuat Tabel DaftarWisata

Masih di jendela query yang sama (atau buka baru), ketik perintah berikut:

CREATE TABLE DaftarWisata (
    Id INT PRIMARY KEY IDENTITY(1,1),
    Nama VARCHAR(100) NOT NULL,
    Deskripsi TEXT,
    Lokasi VARCHAR(150),
    HargaTiket DECIMAL(10,2),
    KategoriId INT NOT NULL,
    FOREIGN KEY (KategoriId) REFERENCES KategoriWisata(Id)
);

Penjelasan:

  • Id – nomor unik tempat wisata.
  • Nama – nama tempat wisata, wajib diisi.
  • Deskripsi – penjelasan panjang, boleh kosong.
  • Lokasi – alamat atau daerah.
  • HargaTiket – harga tiket masuk (uang).
  • KategoriId – ini adalah kunci yang menghubungkan ke tabel KategoriWisata. Angka ini harus ada di tabel kategori. Makanya kita kasih FOREIGN KEY biar terjaga hubungannya.

Execute lagi. Sekarang kita punya dua tabel yang bersahabat.

Langkah 4: Melihat Relasi (Optional)

Di SSMS, kamu bisa lihat diagram database dengan cara: di folder Database Diagrams, klik kanan -> New Database Diagram, pilih kedua tabel. Nanti akan terlihat garis penghubung antara KategoriId dan Id. Keren kan?



Langkah 5: Mengisi Data Contoh

Biar tidak kosong, kita isi beberapa data. Jalankan perintah berikut (bisa di query yang sama atau baru):

-- Isi Kategori
INSERT INTO KategoriWisata (Nama, Deskripsi) VALUES 
('Pantai', 'Wisata tepi laut dengan pasir putih'),
('Gunung', 'Pendakian dan pemandangan alam'),
('Museum', 'Tempat belajar sejarah dan budaya');

-- Isi Daftar Wisata
INSERT INTO DaftarWisata (Nama, Deskripsi, Lokasi, HargaTiket, KategoriId) VALUES
('Pantai Kuta', 'Pantai dengan sunset terkenal', 'Bali', 15000, 1),
('Gunung Bromo', 'Gunung berapi aktif dengan lautan pasir', 'Jawa Timur', 30000, 2),
('Museum Nasional', 'Koleksi sejarah dan budaya Indonesia', 'Jakarta', 10000, 3);

Jalankan. Data sudah masuk.

Langkah 6: Mengecek Data

Coba lihat data dengan perintah:

SELECT * FROM KategoriWisata;
SELECT * FROM DaftarWisata;

Hasilnya akan muncul di tab Results. Kalau muncul tabel dengan data, berarti sukses!

📝 Perhatikan bahwa kolom KategoriId di DaftarWisata berisi angka 1,2,3 yang sesuai dengan Id di KategoriWisata. Itulah yang disebut relasi.

Apakah Harus Manual? Bisa Pakai Migration?

Di artikel ini kita bikin tabel manual biar jelas. Nanti pas kita hubungkan ke API, kita bisa pakai Entity Framework Core yang bisa bikin tabel otomatis dari kode (namanya migration). Tapi untuk sekarang, kita sudah punya database yang siap dipakai.

Di artikel selanjutnya (ASP.NET Core API #4), kita akan menghubungkan API kita dengan database ini menggunakan Entity Framework. Kita akan baca data dari tabel dan tampilkan di API. Seru!

Bonus: Struktur Tabel dalam Bentuk Gambar (dalam angan-angan)

Struktur KategoriWisata
KolomTipe DataKeterangan
IdINTPrimary Key, auto number
NamaVARCHAR(100)Wajib diisi
DeskripsiVARCHAR(255)Boleh kosong
Struktur DaftarWisata
KolomTipe DataKeterangan
IdINTPrimary Key, auto number
NamaVARCHAR(100)Wajib diisi
DeskripsiTEXTBoleh panjang
LokasiVARCHAR(150)Alamat
HargaTiketDECIMAL(10,2)Harga dalam rupiah
KategoriIdINTForeign Key ke KategoriWisata.Id
😁 Gimana? Udah mulai pusing? Istirahat dulu, minum susu, jangan lupa makan. Besok kita sambung lagi!

Ditulis oleh Kakak programmer yang dulu juga bingung bedain tabel dan lemari. Kalau ada pertanyaan, tulis di komentar ya!

Lebih baru Lebih lama

نموذج الاتصال