Flask Python Tutorial: Buat Aplikasi Web dengan Mudah

Flask

Aku inget banget waktu pertama kali belajar bikin aplikasi web, yang aku temuin duluan tuh Django. Tapi setelah ngulik sebentar, aku ngerasa itu agak terlalu “berat” buat level pemula kayak aku waktu itu. Terus temenku nyaranin, “Coba Flask deh. Ringan, gampang, dan cocok banget buat belajar.” Dan ya, benar banget! Sejak saat itu aku langsung jatuh cinta sama Flask.

Flask tuh ibaratnya seperti Lego. Framework ini ringan dan fleksibel, jadi kamu bisa bangun dari yang sederhana sampai kompleks, tergantung kreativitas dan kebutuhanmu. Di artikel ini, aku mau ajak kamu ikutan belajar bareng membuat aplikasi web dari nol pakai Flask, dengan cara yang mudah dipahami, cocok banget buat kamu yang baru mulai di dunia web development dengan Python.

Apa Itu Flask?

Flask

Flask adalah micro web framework untuk Python yang didesain sederhana namun extensible. Flask tidak membawa banyak hal secara default—tidak ada ORM, tidak ada form handling, atau sistem admin bawaan. Tapi justru itulah yang bikin ringan dan fleksibel.

Beberapa keunggulan yang bikin aku betah banget:

  • Ringan dan cepat buat proyek kecil maupun besar

  • Dokumentasi lengkap dan jelas

  • Komunitas yang aktif

  • Cocok untuk prototyping cepat

Persiapan Sebelum Ngoding

Sebelum kita mulai nulis kode, pastikan kamu sudah install Python (versi 3.x ya). Lalu kita buat environment virtual biar project-mu tetap rapi dan terisolasi.

bash
python -m venv venv
source venv/bin/activate # untuk macOS/Linux
venv\Scripts\activate # untuk Windows
pip install flask

Flask-nya udah siap? Yuk, mulai bikin aplikasinya!

Struktur Proyek Sederhana

Aku selalu mulai dari struktur sederhana kayak gini:

arduino
/myapp
├── app.py
├── templates/
│ └── index.html
└── static/
└── style.css

Dengan struktur ini, kita udah bisa bikin halaman HTML dan styling CSS dasar.

Membuat Aplikasi Pertama

Buka app.py dan tulis kode berikut:

python

from flask import Flask, render_template

app = Flask(__name__)

Lalu buat

@app.route(‘/’)
def home():
return render_template(‘index.html’)

Dan juga

if __name__ == ‘__main__’:
app.run(debug=True)

Lalu buat file templates/index.html:

html
<!DOCTYPE html>
<html>
<head>
<title>My First Flask App</title>
</head>
<body>
<h1>Hello Flask!</h1>
</body>
</html>

Jalankan aplikasi:

bash
python app.py

Buka browser dan kunjungi http://127.0.0.1:5000/, dan boom! Aplikasi web pertamamu jalan!

Routing dan Parameter

Salah satu hal keren dari Flask adalah routing yang sangat sederhana:

python
@app.route('/hello/<name>')
def hello(name):
return f"Hello, {name}!"

Coba buka http://localhost:5000/hello/Budi, kamu akan lihat hasil personalisasi.

Template Engine dengan Jinja2

Flask pakai Jinja2 sebagai template engine, dan itu powerful banget. Kamu bisa kirim variabel dari Python ke HTML:

python
@app.route('/user/<username>')
def user_profile(username):
return render_template('profile.html', name=username)

Di profile.html:

html
<h2>Welcome, {{ name }}!</h2>

Bisa juga pakai loop, kondisi, bahkan nested template.

Form dan Request Flask

Sekarang kita coba bikin form sederhana:

python

from flask import request

@app.route(‘/submit’, methods=[‘GET’, ‘POST’])
def submit():
if request.method == ‘POST’:
name = request.form[‘name’]
return f”Hi {name}, data kamu udah kami terima!”
return ”’
<form method=”POST”>
<input name=”name”>
<input type=”submit”>
</form>
”’

Gampang, kan? Flask bikin interaksi web terasa lebih intuitif.

Error yang Sering Aku Alami

Aku pernah pusing banget karena typo di routing (@app.route('home') padahal harus @app.route('/home')). Fla sk langsung lempar error 404. Jadi pastikan selalu cek syntax-mu!

Kesalahan techno lain:

  • Lupa debug=True, jadi susah lihat error

  • Salah indentasi di render_template

  • Belum bikin folder templates, padahal udah dipanggil

Integrasi CSS dan File Statis

Kalau kamu mau pakai CSS atau gambar:

  • Simpan di folder static/

  • Panggil dari HTML pakai url_for('static', filename='style.css')

Contoh:

html
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}">

Dan sekarang websitemu bisa tampil lebih menarik!

Flask dan SQLite

Flask sangat cocok dipakai bareng SQLite buat aplikasi kecil atau prototipe:

python

import sqlite3

def get_db_connection():
conn = sqlite3.connect(‘database.db’)
conn.row_factory = sqlite3.Row
return conn

Kamu bisa pakai SQLAlchemy juga, tapi untuk awal-awal, SQLite udah cukup kok.

Menambahkan Blueprint (Modularisasi)

Kalau aplikasi kamu mulai besar, pakai Blueprint buat modularisasi:

python

from flask import Blueprint

user_bp = Blueprint(‘user’, __name__)

@user_bp.route(‘/dashboard’)
def dashboard():
return “User Dashboard”

Lalu daftarkan di app.py:

python
app.register_blueprint(user_bp, url_prefix='/user')

Struktur ini bikin project lebih rapi dan maintainable.

Keamanan Dasar Flask

Buat login atau fitur sensitif, jangan lupa:

  • Gunakan session untuk menyimpan data login

  • Gunakan Flask-WTF untuk validasi form

  • Jangan pernah log password secara plain-text!

Contoh:

python

from flask import session

@app.route(‘/login’, methods=[‘POST’])
def login():
user = request.form[‘username’]
session[‘user’] = user

Deploy Aplikasi Flask

Setelah selesai di lokal, kamu bisa deploy ke:

  • Heroku (gratis dan mudah)

  • Render, Vercel, atau PythonAnywhere

Biasanya tinggal buat requirements.txt dan file Procfile, lalu push via Git.

Kesimpulan: Kenapa Flask itu Ideal untuk Pemula dan Pro

Flask punya kombinasi unik: mudah untuk pemula, tapi cukup fleksibel untuk aplikasi besar. Aku pribadi udah beberapa kali bikin prototipe startup, REST API, sampai blog pribadi pakai Flask, dan hasilnya selalu memuaskan.

Framework ini ngajarin kita dasar-dasar web dari nol—gimana routing bekerja, gimana data dikirim lewat HTTP request, gimana HTML dan Python bisa terhubung. Itu semua bekal berharga buat jadi developer web yang solid.

Baca juga artikel berikut: Drone GPS: Terbang Pintar untuk Segala Keperluan

Author