Modul Pertemuan 1: Pengenalan Firebase & Konsep Dasar NoSQL
🎯 Tujuan Pembelajaran
-
Siswa memahami apa itu Firebase dan layanan utamanya.
-
Siswa memahami perbedaan konsep database SQL (Relasional) dan NoSQL (Document-oriented).
-
Siswa mampu melakukan inisialisasi dan membuat project baru di Firebase Console.
1. Apa itu Firebase?
Firebase adalah platform Backend-as-a-Service (BaaS) buatan Google.
Dengan Firebase, developer dapat membangun aplikasi mobile dan web dengan cepat tanpa perlu membuat server, menulis API dari nol, atau mengonfigurasi database secara manual. Semuanya sudah disediakan dan siap pakai.
Dalam studi kasus Aplikasi Logbook PKL ini, kita akan menggunakan 3 layanan utama Firebase:
-
Firebase Authentication: Menangani sistem Login dan Register.
-
Cloud Firestore (NoSQL): Database real-time untuk menyimpan profil pengguna dan catatan absensi/logbook harian.
-
Firebase Storage: Tempat untuk menyimpan file, seperti foto bukti kegiatan PKL.
2. Memahami NoSQL: Move On dari SQL
Selama belajar RPL, kalian pasti sudah sangat akrab dengan MySQL (Database Relasional) di mana data disimpan dalam bentuk Tabel, Baris, dan Kolom.
Di Firebase, kita menggunakan Cloud Firestore yang menerapkan arsitektur NoSQL berbasis Document.
Data tidak lagi disimpan dalam tabel yang kaku, melainkan dalam format yang fleksibel mirip dengan objek JSON.
🔄 Perbandingan Istilah SQL vs NoSQL (Firestore)
| Konsep di SQL (MySQL) | Konsep di NoSQL (Firestore) | Penjelasan |
|---|---|---|
| Database | Database | Tempat penyimpanan utama seluruh data. |
| Table (Tabel) | Collection (Koleksi) | Kumpulan dari berbagai dokumen. (Contoh: Collection "users" dan "attendances") |
| Row (Baris) | Document (Dokumen) | Satu entitas data tunggal. (Contoh: Data milik 1 siswa spesifik) |
| Column (Kolom) | Field (Atribut) | Atribut spesifik. (Contoh: nama, nisn, status_kehadiran) |
| Primary Key | Document ID | Kode unik penanda dokumen. Biasanya di-generate otomatis berupa kombinasi huruf dan angka acak. |
(Catatan: Cara merancang rancang bangun datanya atau Data Modeling akan kita bahas lebih detail dan kita praktekkan pada pertemuan khusus tentang Cloud Firestore nanti).
3. Praktek: Membuat Project Firebase
Sebelum kita menyentuh coding Flutter, langkah pertama yang mutlak harus dilakukan adalah menyiapkan "rumah" backend-nya terlebih dahulu.
Langkah-langkah Setup:
-
Pastikan kalian sudah login di browser menggunakan akun Google masing-masing.
-
Buka tautan Firebase Console berikut: https://console.firebase.google.com/
-
Di halaman utama, klik tombol "Add project" (Tambahkan project) atau "Create a project" (Buat project).
-
Masukkan nama project kalian. Ketik:
Logbook-PKL-App(atau sesuaikan dengan nama kelompok kalian). Lalu klik Continue (Lanjutkan). -
Pada langkah Google Analytics, untuk saat ini matikan/disable saja toggle-nya agar project lebih ringan dan sederhana. Lalu klik Create Project (Buat Project).
-
Tunggu proses loading (Provisioning resources) selesai.
-
Jika sudah muncul keterangan "Your new project is ready", klik Continue.
-
Selamat! Kalian sekarang sudah berada di halaman Dashboard utama project Firebase kalian.
4. Persiapan Pertemuan Berikutnya
Pada Pertemuan 2, kita akan langsung menghubungkan project Firebase yang baru saja kalian buat di atas ke dalam template aplikasi Flutter menggunakan alat bantu resmi dari Google bernama FlutterFire CLI.
✅ Tugas Penting:
Pastikan kalian tidak lupa akun Google mana yang kalian gunakan hari ini untuk membuat project Firebase, karena kita akan terus menggunakannya sampai aplikasi logbook ini selesai!