Flask adalah kerangka kerja (framework) web yang ringan dan populer yang ditulis dalam bahasa pemrograman Python. SQLite sendiri adalah sebuah basis data yang sederhana dan self-contained yang dapat digunakan secara lokal dalam aplikasi.
Integrasi antara Flask dan SQLite memungkinkan pengembang untuk membuat aplikasi web yang menggunakan basis data SQLite sebagai penyimpanan datanya.
Artikel ini akan membahas langkah-langkah yang diperlukan untuk mengintegrasikan Flask dengan SQLite dalam pembuatan aplikasi web.
Instalasi Flask dan SQLite
Langkah pertama adalah memastikan bahwa Flask dan SQLite sudah terinstal di lingkungan pengembangan Anda. Anda dapat menginstal Flask dengan menggunakan pip, yaitu alat manajemen paket Python.
Buka terminal atau command prompt dan jalankan perintah berikut:
pip install Flask
SQLite, pada umumnya, sudah termasuk dalam instalasi Python. Jadi, Anda tidak perlu menginstalnya secara terpisah.
Mengimpor Flask dan SQLite
Selanjutnya, Anda perlu mengimpor modul Flask dan SQLite ke dalam file Python Anda. Buka file Python yang akan digunakan untuk mengembangkan aplikasi web Anda dan tambahkan baris berikut di bagian atas file:
from flask import Flask import sqlite3
Modul Flask
akan digunakan untuk membuat aplikasi Flask, sedangkan modul sqlite3
akan digunakan untuk mengakses dan mengelola basis data SQLite.
Membuat Instance Flask
Setelah mengimpor modul Flask, Anda perlu membuat instance aplikasi Flask. Instance ini akan menjadi titik masuk untuk aplikasi web Flask Anda.
Tambahkan kode berikut di bawah baris yang telah ditambahkan sebelumnya:
app = Flask(__name__)
Pada baris di atas, __name__
adalah parameter yang akan memberikan nama unik untuk instance aplikasi Flask Anda.
Membuat Koneksi SQLite di Flask
Untuk mengakses basis data SQLite, Anda perlu membuat koneksi ke database. Dalam fungsi get_db_connection()
, koneksi SQLite dibuat dengan menggunakan modul sqlite3
.
Berikut adalah contoh implementasi fungsi get_db_connection()
:
def get_db_connection(): conn = sqlite3.connect('database.db') conn.row_factory = sqlite3.Row return conn
Dalam contoh di atas, kita membuat koneksi ke file basis data “database.db”. Anda dapat mengganti nama file dengan nama yang sesuai dengan kebutuhan Anda.
Fungsi ini juga mengatur row_factory
ke sqlite3.Row
agar hasil query dapat diakses dalam bentuk objek yang dapat diindeks dengan nama kolom.
Membuat Tabel dalam Database
Sebelum menggunakan basis data SQLite, Anda perlu memastikan bahwa tabel yang dibutuhkan telah dibuat. Anda dapat menggunakan fungsi create_table()
untuk membuat tabel jika belum ada. Berikut adalah contoh implementasinya:
def create_table(): conn = get_db_connection() conn.execute('CREATE TABLE IF NOT EXISTS nama_tabel (kolom1 tipe_data1, kolom2 tipe_data2, ...)') conn.close()
Gantilah “nama_tabel” dan “kolom1 tipe_data1, kolom2 tipe_data2, …” dengan contoh yang lebih konkret.
Dalam contoh di atas, kita membuat tabel bernama “users” dengan tiga kolom yaitu “id” (integer sebagai primary key yang otomatis bertambah), “name” (teks), dan “email” (teks). Anda dapat mengganti nama tabel dan kolom sesuai dengan kebutuhan aplikasi Anda.
Mengeksekusi Query pada Database
Untuk mengeksekusi query pada basis data SQLite, kita dapat menggunakan fungsi execute_query()
seperti di bawah ini:
def execute_query(query, values): conn = get_db_connection() cursor = conn.cursor() cursor.execute(query, values) conn.commit() cursor.close() conn.close()
Fungsi ini menerima dua parameter, yaitu query
(query SQL yang akan dieksekusi) dan values
(nilai-nilai yang akan diikatkan ke dalam query). Dalam contoh di atas, kita menggunakan objek cursor
untuk mengeksekusi query dan conn.commit()
untuk mengirim perubahan ke basis data setelah operasi selesai.
Membaca Data dari Database
Untuk membaca data dari basis data SQLite, kita dapat menggunakan fungsi get_data()
seperti berikut:
def get_data(): conn = get_db_connection() cursor = conn.cursor() cursor.execute('SELECT * FROM users') data = cursor.fetchall() cursor.close() conn.close() return data
Dalam contoh di atas, kita menjalankan query “SELECT * FROM users” untuk mengambil semua data dari tabel “users”. Hasil query diambil dengan menggunakan fetchall()
dan dikembalikan sebagai data yang dapat digunakan dalam aplikasi Flask.
Menampilkan Data menggunakan Flask
Terakhir, kita dapat menggunakan Flask untuk menampilkan data yang diperoleh dari basis data dalam aplikasi web. Berikut adalah contoh bagaimana Anda dapat menampilkan data menggunakan template Jinja:
from flask import render_template @app.route('/') def index(): data = get_data() return render_template('index.html', data=data)
Dalam contoh di atas, kita menggunakan fungsi render_template()
untuk mengirimkan data ke template “index.html”. Data tersebut akan dapat diakses di dalam template Jinja dan dapat digunakan untuk menampilkan informasi ke pengguna.
Penutup
Itulah langkah-langkah untuk mengintegrasikan Flask dengan SQLite dalam pembuatan aplikasi web. Dengan mengikuti langkah-langkah ini, Anda dapat membuat aplikasi web yang menggunakan basis data SQLite sebagai penyimpanan datanya. Anda dapat menyesuaikan dan memperluas implementasi ini sesuai dengan kebutuhan dan kompleksitas proyek Anda.