cara integrasi flask dengan sqlite untuk aplikasi web

Cara Integrasi Flask dengan SQLite untuk Aplikasi Web

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.

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top