Cara Membuat Realtime Database Di Firebase, Dan Memilih Start In Test Mode

Cara Membuat Realtime Database Di Firebase, Dan Memilih Start In Test Mode


Untuk membuat Realtime Database di Firebase dan memilih Start in test mode, ikuti langkah-langkah berikut:


1️⃣ Buat Proyek Firebase

  1. Buka Firebase ConsoleFirebase Console
  2. Klik "Add Project" (Tambahkan Proyek)
  3. Masukkan nama proyek (misalnya: CaturNineOnline)
  4. Matikan Google Analytics jika tidak diperlukan
  5. Klik "Create Project" dan tunggu hingga proses selesai
  6. Klik "Continue" setelah proyek selesai dibuat

2️⃣ Tambahkan Realtime Database

  1. Di Firebase Console, pilih proyek yang telah dibuat
  2. Di menu sebelah kiri, klik Build → Realtime Database
  3. Klik "Create Database"
  4. Pilih lokasi database
    • Pilih asia-southeast1 (Singapura) agar lebih cepat untuk Indonesia
    • Klik "Next"
  5. Pilih "Start in test mode"
    • Test mode memungkinkan semua pengguna membaca & menulis data
    • Nantinya bisa diperketat dengan aturan keamanan
  6. Klik "Enable" untuk mengaktifkan database

3️⃣ Konfigurasi Database

Setelah Realtime Database dibuat:

  1. URL Database akan muncul seperti ini:
    https://catur-nine.firebaseio.com/
    
  2. Atur aturan akses jika diperlukan:
    Klik tab Rules dan pastikan aturan default seperti ini (untuk test mode):
    {
      "rules": {
        ".read": true,
        ".write": true
      }
    }
    
    Catatan:
    • Mode Test membiarkan siapa pun bisa membaca & menulis data.
    • Untuk keamanan, ubah .read dan .write ke false setelah pengujian selesai.

4️⃣ Integrasi Firebase ke Python (Pygame)

Sekarang, kita bisa menghubungkan Pygame dengan Firebase menggunakan Firebase Admin SDK.

  1. Install Firebase Admin SDK di Python

    pip install firebase-admin
  2. Unduh kunci JSON Firebase

    • Di Firebase Console → Klik ⚙ Project Settings
    • Masuk ke tab Service Accounts
    • Klik Generate New Private KeyDownload JSON File
    • Copy paste isi file JSON ini dan tempelkan ke teks editor (Pydroid3) Anda. Lalu Simpan file JSON ini di proyek Python Anda (dengan nama file misalnya: firebase_key.json)
  3. Hubungkan Python ke Firebase

    import firebase_admin
    from firebase_admin import credentials, db
    
    # Autentikasi dengan Firebase menggunakan kunci JSON
    cred = credentials.Certificate("firebase_key.json")
    firebase_admin.initialize_app(cred, {
        "databaseURL": "https://catur-nine.firebaseio.com/"
    })
    
    # Menulis data ke Realtime Database
    ref = db.reference("game_state")
    ref.set({
        "turn": "white",
        "board": "Initial state"
    })
    
    print("Data berhasil dikirim ke Firebase!")
    

Kesimpulan

Sekarang Firebase Realtime Database telah dibuat dan terhubung ke Python!

  • Test Mode memungkinkan akses bebas untuk pengujian.
  • Aturan bisa diperketat nanti untuk keamanan.
  • Pygame bisa membaca & menulis data ke Firebase secara real-time! πŸš€

Kode yang meng-Hubungkan Python ke Firebase  tersebut sebaiknya disimpan dalam sebuah file Python dengan nama yang sesuai dengan fungsinya. Beberapa pilihan nama file yang direkomendasikan:

  1. firebase_setup.py → Jika kode ini hanya untuk menghubungkan Firebase dengan Python
  2. firebase_init.py → Jika kode ini digunakan untuk inisialisasi dan pengaturan awal Firebase
  3. firebase_config.py → Jika digunakan untuk menyimpan konfigurasi Firebase yang bisa dipanggil dari file lain
  4. sync_firebase.py → Jika fungsinya untuk mengirim atau menyinkronkan data ke Firebase

Langkah-Langkah:

  1. Buat file baru di proyek Python Anda, misalnya:
    firebase_setup.py
    
  2. Simpan kode tersebut dalam file
  3. Jalankan file di terminal atau command prompt:
    python firebase_setup.py
    
  4. Jika berhasil, output akan muncul:
    Data berhasil dikirim ke Firebase!
    

πŸ”₯ Sekarang Firebase telah dikonfigurasi dan bisa digunakan dalam proyek catur_nine! πŸš€

Ketika kode isi file firebase_setup.py dieksekusi, tapi  muncul Error 404 Not Found pada Firebase Realtime Database, ini menunjukkan bahwa database tidak ditemukan atau URL yang digunakan salah. Berikut beberapa kemungkinan penyebab dan cara mengatasinya:


1. Periksa URL Database

πŸ”Ή Masalah:

  • URL yang Anda gunakan dalam kode adalah:
    https://catur-nine.firebaseio.com/
    
  • Tetapi Firebase sekarang menggunakan domain .firebasedatabase.app, bukan .firebaseio.com

πŸ”Ή Solusi:

  • Buka Firebase ConsoleRealtime Database
  • Salin URL database yang benar
  • Ubah kode Anda seperti ini:
    firebase_admin.initialize_app(cred, {
        "databaseURL": "https://catur-nine-default-rtdb.asia-southeast1.firebasedatabase.app/"
    })
    
  • Ganti "catur-nine-default-rtdb" dengan nama proyek Anda.

2. Pastikan Realtime Database Sudah Dibuat

πŸ”Ή Masalah:

  • Realtime Database belum diaktifkan di Firebase
  • Mode keamanan masih dalam kondisi Tertutup (Locked Mode)

πŸ”Ή Solusi:

  • Masuk ke Firebase Console
  • Pilih Project AndaRealtime Database
  • Jika belum ada database, buat dulu dengan klik Create Database
  • Pilih Start in test mode agar bisa menulis data tanpa otentikasi
  • Coba jalankan ulang kode Python

3. Pastikan File JSON Key Benar

πŸ”Ή Masalah:

  • File firebase_key.json yang digunakan mungkin salah atau belum diunduh

πŸ”Ή Solusi:

  • Unduh ulang key dari Firebase:

    • Masuk ke Firebase ConsoleProject settings
    • Pilih Service Accounts
    • Klik Generate new private key
    • Simpan file firebase_key.json di direktori proyek
  • Pastikan kode menunjuk ke file JSON yang benar:

    cred = credentials.Certificate("firebase_key.json")
    

4. Gunakan Koneksi Internet Stabil

Jika masih error, pastikan koneksi internet tidak terputus atau diblokir firewall.


πŸ”Ή Kesimpulan:

  • πŸ”§ Gunakan URL Database yang benar (firebasedatabase.app)
  • Pastikan Realtime Database sudah dibuat dan dalam mode "test mode"
  • πŸ”‘ Gunakan file JSON autentikasi yang valid

Setelah mengikuti langkah-langkah ini, coba jalankan ulang skrip Python Anda. πŸš€

Jika masih muncul Ertor, maka perhatikan Penulisan Kode harus benar dan tidak mengandung kesalahan pada bagian databaseURL. Berikut beberapa perbaikan yang harus dilakukan:

1. Kesalahan pada URL Firebase

Masalah utama adalah penggunaan spasi dalam URL:

"databaseURL": "https://nama proyek anda.asia-southeast1.firebasedatabase.app/"

Spasi dalam URL akan menyebabkan error "Failed to resolve hostname".

Solusi:
Pastikan Anda menggunakan nama database yang benar dan tidak mengandung spasi. Ubah URL seperti ini:

"databaseURL": "https://nama-proyek-anda.asia-southeast1.firebasedatabase.app/"

Pastikan Anda mengganti nama-proyek-anda dengan nama proyek Anda yang sesuai dengan Firebase Console.


2. Pastikan Realtime Database Sudah Dibuat

Buka Firebase ConsoleRealtime Database
Jika belum ada database, klik Create Database

  • Pilih Asia Southeast1 (Singapura) agar lebih cepat
  • Pilih Start in test mode (untuk pengujian tanpa autentikasi)

3. Pastikan File JSON Key Valid

Jika masih error, pastikan file firebase_key.json sudah benar.
Cara mendapatkannya:

  • Masuk ke Firebase Console
  • Buka Project Settings
  • Pilih Service Accounts
  • Klik Generate new private key
  • Simpan file .json ini di folder proyek Anda

Kode yang sudah diperbaiki

import firebase_admin
from firebase_admin import credentials, db

# Autentikasi dengan Firebase menggunakan kunci JSON
cred = credentials.Certificate("firebase_key.json")
firebase_admin.initialize_app(cred, {
    "databaseURL": "https://nama-proyek-anda.asia-southeast1.firebasedatabase.app/"
})

# Menulis data ke Realtime Database
ref = db.reference("game_state")
ref.set({
    "turn": "white",
    "board": "Initial state"
})

print("Data berhasil dikirim ke Firebase!")

Kesimpulan

Gunakan nama database yang benar tanpa spasi
Pastikan Realtime Database sudah dibuat di Firebase Console
Gunakan kunci JSON yang benar untuk autentikasi

Setelah melakukan perbaikan ini, coba jalankan ulang kode Anda. Jika berhasil, output akan muncul:

Data berhasil dikirim ke Firebase!

πŸš€ Mantap! πŸŽ‰ Berarti koneksi ke Firebase sudah berhasil.

Sekarang, langkah berikutnya apa?
Apakah ingin menampilkan data dari Firebase ke game catur_nine, atau menghubungkan Firebase ke Pygame agar bidak bisa bergerak otomatis?


Kerahasiaan Yang Harus Dijaga

Dalam pengembangan aplikasi yang terhubung ke Firebase dan server online seperti ini, ada beberapa hal yang harus dijaga kerahasiaannya agar tidak disalahgunakan oleh pihak lain. Berikut adalah beberapa yang paling penting:

1. API Key & Credentials

  • File firebase_key.json → Ini adalah kunci autentikasi untuk Firebase. Jangan pernah membagikannya atau mengunggahnya ke repositori publik seperti GitHub.
  • API Key Firebase & Ngrok → Jangan membagikan atau mengekspos API key secara langsung dalam kode. Gunakan variabel lingkungan (environment variables) agar lebih aman.

2. Database Rules & Permissions

  • Jangan biarkan Firebase Realtime Database dalam "test mode" selamanya.
    • Mode ini membolehkan siapa saja membaca dan menulis data tanpa autentikasi.
    • Pastikan setelah uji coba, atur rules Firebase agar hanya pemain yang terautentikasi bisa mengakses data.

Contoh aturan keamanan di Firebase Rules:

{
  "rules": {
    ".read": "auth != null",
    ".write": "auth != null"
  }
}

Ini berarti hanya pengguna yang sudah login bisa membaca dan menulis data.

3. URL Database & Hosting

  • Hindari membagikan URL Firebase Realtime Database atau URL server backend secara publik.
  • Jika menggunakan Ngrok atau VPS, jangan bagikan domain publiknya ke orang yang tidak berkepentingan.

4. Data Sensitif dalam Kode

  • Hindari menyimpan password, token autentikasi, atau data sensitif lainnya di dalam kode.
  • Gunakan .env file atau config terpisah untuk menyimpan informasi sensitif.

5. Keamanan Login & Autentikasi

  • Gunakan Firebase Authentication atau metode login yang aman (Google, Email/Password, dll).
  • Jangan mengizinkan login tanpa verifikasi pengguna.

Kesimpulan

Untuk menjaga keamanan kode dan data:
✅ Simpan firebase_key.json dengan aman.
Gunakan variabel lingkungan untuk API key dan kredensial.
Atur aturan keamanan di Firebase agar tidak bisa diakses sembarang orang.
✅ Jangan mengunggah file berisi informasi sensitif ke tempat publik.

Kalau ada yang perlu diperjelas atau ingin tambahan fitur keamanan, bisa lanjut diskusi! πŸš€


Comments

Popular posts from this blog

MOVE (LANGKAH) CATUR TERBAIK SAYA DI TURNAMEN KEJUARAAN CATUR HARIAN CHESS.COM 2025

π”»π•š π•‹π”Έβ„π•Œβ„• π•Šπ•€π•Šπ”Έ 9, β„‚β„π”Όπ•Šπ•Š.ℂ𝕆𝕄 𝕄𝔼ℕ𝔾𝔸𝔻𝔸𝕂𝔸ℕℕ π•‹π•Œβ„β„•π”Έπ•„π”Όβ„• π•‚π”Όπ•π•Œπ”Έβ„π”Έπ”Έβ„• β„‚π”Έπ•‹π•Œβ„ ℍ𝔸ℝ𝕀𝔸ℕ β„‚β„π”Όπ•Šπ•Š.ℂ𝕆𝕄 2025

Kecerdasan Manusia Dan Kecerdasan Buatan/Ai (Artificial Intelligence)