# CRUD Database dengan Supabase

### **Pendahuluan**

Dalam dunia pemrograman, pemahaman mengenai **manipulasi database** adalah hal yang sangat penting, terutama bagi programmer pemula. Salah satu konsep dasar yang wajib dikuasai adalah **CRUD**, yaitu singkatan dari *Create, Read, Update,* dan *Delete*. Konsep ini digunakan untuk mengelola data dalam sebuah database.

Presentasi ini disusun oleh **Ahmad Afan Shobari** dan menjelaskan implementasi CRUD menggunakan **Supabase**, sebuah platform backend modern berbasis *open-source* yang menjadi alternatif dari Firebase.

---

## **Apa Itu Supabase?**

**Supabase** adalah platform pengembangan backend *open-source* yang dibuat oleh **Paul Copplestone** dan **Ant Wilson**. Supabase sering disebut sebagai **alternatif dari Firebase**, namun memiliki perbedaan mendasar:

* **Supabase menggunakan PostgreSQL** sebagai basis datanya, sehingga mendukung query berbasis SQL.
    
* Sedangkan **Firebase tidak menggunakan SQL**, karena berbasis *NoSQL database*.
    

Supabase memberikan kemudahan bagi developer untuk membuat dan mengelola backend aplikasi tanpa harus membangun server secara manual. Fitur-fitur seperti autentikasi, penyimpanan data, dan API otomatis dapat diakses dengan mudah.

---

## **Pengenalan CRUD**

CRUD adalah singkatan dari empat operasi dasar dalam pengelolaan data:

1. **Create (Membuat data)**
    
2. **Read (Membaca data)**
    
3. **Update (Mengubah data)**
    
4. **Delete (Menghapus data)**
    

Keempat fungsi ini menjadi fondasi utama dalam setiap aplikasi berbasis database, baik itu aplikasi web maupun mobile.

---

## **Fungsi CREATE dalam Database**

Fungsi **CREATE** digunakan untuk membuat database maupun tabel baru.  
Contoh syntax dasar SQL:

```pgsql
-- Membuat database baru
CREATE DATABASE toko;

-- Membuat tabel baru
CREATE TABLE users (
    id SERIAL PRIMARY KEY,
    name VARCHAR(100) NOT NULL,
    umur INTEGER,
    kelas INTEGER NOT NULL
);
```

Dengan perintah ini, programmer dapat mendefinisikan struktur data yang akan digunakan dalam sistem.

---

## **Jenis-Jenis Tipe Data**

Dalam pembuatan tabel, setiap kolom memiliki tipe data yang berbeda sesuai dengan kebutuhan. Beberapa tipe data umum yang digunakan antara lain:

* **serial** – nomor urut otomatis
    
* **integer** – bilangan bulat
    
* **varchar** – teks pendek dengan batas karakter
    
* **date** – tanggal
    
* **boolean** – nilai benar/salah
    
* **text** – teks panjang
    
* **numeric** – angka desimal
    

Pemilihan tipe data yang tepat akan memengaruhi efisiensi dan kecepatan database.

---

## **Menambah Data: INSERT**

Untuk menambahkan data ke dalam tabel, digunakan perintah **INSERT**.  
Contoh syntax:

```pgsql
INSERT INTO users (name, umur, kelas) VALUES
('Akyel Malino', 18, 10),
('Alif Fauzan', 17, 10);
```

Perintah di atas akan menambahkan dua data baru ke dalam tabel **users**.

---

## **Mengambil Data: SELECT**

Untuk menampilkan atau membaca data dari database, digunakan perintah **SELECT**.  
Contoh penggunaan:

```pgsql
SELECT name FROM users;           -- Menampilkan hanya kolom name
SELECT * FROM users;              -- Menampilkan seluruh kolom
SELECT * FROM users WHERE umur > 17;  -- Menampilkan data dengan umur di atas 17
```

Kata kunci **WHERE** digunakan untuk menyaring data berdasarkan kondisi tertentu.

---

## **Mengubah Data: UPDATE**

Perintah **UPDATE** digunakan untuk mengubah data yang sudah ada.  
Contohnya:

```pgsql
UPDATE users SET name = 'Halim Samodra' WHERE id = 5;
```

Tiga kata kunci penting yang harus diperhatikan dalam perintah ini adalah:

* **UPDATE** – menentukan tabel yang ingin diubah
    
* **SET** – menentukan kolom dan nilai baru
    
* **WHERE** – menentukan baris data yang akan diperbarui
    

---

## **Menghapus Data: DELETE**

Untuk menghapus data dari tabel, digunakan perintah **DELETE**.  
Contoh syntax:

```pgsql
DELETE FROM users WHERE id = 3;
```

Perintah di atas akan menghapus data dengan **id = 3** dari tabel **users**.  
Hati-hati dalam menggunakan **DELETE**, karena data yang dihapus tidak dapat dikembalikan tanpa *backup*.

---

## **Kesimpulan**

CRUD merupakan konsep fundamental dalam pengelolaan database dan menjadi dasar bagi semua aplikasi berbasis data. Supabase mempermudah penerapan konsep ini karena menyediakan backend yang terintegrasi dengan PostgreSQL serta antarmuka yang mudah digunakan.

Dengan memahami dan menguasai perintah dasar CRUD — **Create**, **Read**, **Update**, dan **Delete** — seorang programmer dapat membangun aplikasi yang efisien, dinamis, dan mudah dikembangkan.

---

### **Kata Penutup**

> “Belajarlah karena dengan belajar kamu akan mendapatkan apa yang akan kamu dapatkan.”  
> — *Ahmad Afan Shobari*

---
