Flask Tutorial: Setup dan Route Pertama

Python By TryzTech Team
FlaskPythonBackendWeb Development
Bagikan

Flask adalah framework web Python yang ringan. Pola dasarnya sederhana: sebuah URL dihubungkan ke function Python, lalu nilai yang dikembalikan function tersebut dikirim kepada client sebagai response. Client-nya bisa berupa browser, aplikasi mobile, frontend JavaScript, atau service lain.

Kita akan mulai dari bentuk aplikasi Flask yang paling kecil. Belum ada database, template, atau struktur folder yang panjang. Targetnya cukup satu: menyiapkan project yang terisolasi, menjalankan development server, lalu memahami perjalanan request sampai menjadi tulisan di browser.

Siapkan Folder dan Virtual Environment

Pastikan Python 3 sudah tersedia. Kamu bisa mengeceknya dari terminal dengan python --version, python3 --version, atau py --version di Windows.

Buat folder khusus agar file latihan tidak bercampur dengan project lain. Setelah itu, buat virtual environment bernama .venv. Virtual environment menjaga Flask dan package lain tetap berada di project ini, sehingga versinya tidak bentrok dengan project Python yang berbeda.

Di macOS atau Linux, jalankan:

# File: terminal (macOS/Linux)
mkdir flask-first-route
cd flask-first-route
python3 -m venv .venv
source .venv/bin/activate
python -m pip install flask

Di Windows PowerShell, perintahnya sedikit berbeda:

# File: terminal (Windows PowerShell)
mkdir flask-first-route
cd flask-first-route
py -m venv .venv
.\.venv\Scripts\Activate.ps1
python -m pip install flask

Kalau aktivasi berhasil, biasanya nama (.venv) muncul di awal baris terminal. Kamu juga bisa memastikan Flask sudah terpasang dengan menjalankan python -m flask --version.

Tulis Aplikasi Flask Pertama

Buat file app.py di dalam folder project, lalu isi dengan kode berikut:

# File: app.py
from flask import Flask

app = Flask(__name__)


@app.route("/")
def home():
    return "Hello, Flask!"

Mari pecah kodenya supaya peran setiap bagian terlihat jelas:

  • from flask import Flask mengambil class Flask dari package yang baru di-install.
  • app = Flask(__name__) membuat object aplikasi. Nama app bukan aturan wajib, tetapi nama ini umum dipakai dan cocok dengan command yang akan kita jalankan.
  • @app.route("/") mendaftarkan URL /, yaitu halaman utama aplikasi.
  • home() adalah function yang dijalankan ketika URL tersebut diminta.
  • Nilai dari return menjadi response. Untuk contoh ini, Flask mengirim teks biasa.

Decorator @app.route() berada tepat di atas function karena keduanya saling berhubungan. Tanpa decorator itu, home() tetap function Python biasa, tetapi Flask tidak tahu URL mana yang harus memanggilnya.

Jalankan Development Server

Pastikan virtual environment masih aktif, lalu jalankan:

# File: terminal
python -m flask --app app run --debug

Bagian --app app meminta Flask mencari object aplikasi di module app, yaitu file app.py. Kalau file tersebut Kamu beri nama main.py, command-nya perlu diubah menjadi python -m flask --app main run --debug.

Opsi --debug mengaktifkan pesan error yang lebih jelas dan me-reload server ketika kode berubah. Fitur ini nyaman untuk development lokal, tetapi jangan dipakai di production karena dapat menampilkan informasi internal aplikasi.

Terminal akan menampilkan alamat seperti http://127.0.0.1:5000. Buka alamat itu di browser. Jika semuanya benar, halaman akan menampilkan Hello, Flask!.

Apa yang Terjadi Saat URL Dibuka?

Saat Kamu membuka http://127.0.0.1:5000/, browser mengirim request GET ke development server. Flask melihat path /, menemukan route yang cocok, lalu menjalankan home(). String yang dikembalikan function itu diubah menjadi response HTTP dan dikirim kembali ke browser.

Alurnya bisa diringkas seperti ini: request masuk, Flask memilih route, function dijalankan, lalu response dikirim. Nanti isi response bisa berkembang menjadi HTML, redirect, JSON, file, atau halaman error, tetapi alur dasarnya tetap sama.

Tambahkan Satu Alamat Lagi

Supaya hubungan URL dan function makin terasa, tambahkan route /about di bawah home():

# File: app.py
from flask import Flask

app = Flask(__name__)


@app.route("/")
def home():
    return "Hello, Flask!"


@app.route("/about")
def about():
    return "Aplikasi Flask pertamaku"

Simpan file, lalu buka http://127.0.0.1:5000/about. Karena debug mode aktif, server seharusnya membaca perubahan tanpa perlu dijalankan ulang secara manual. URL yang tidak didaftarkan, misalnya /contact, akan menghasilkan response 404 Not Found.

Coba Ubah Sendiri

  • Ubah response / menjadi kalimat yang lebih panjang.
  • Buat route /contact dan isi dengan alamat email contoh.
  • Ganti nama file menjadi main.py, lalu sesuaikan nilai setelah --app.
  • Buka URL yang belum terdaftar dan perhatikan status 404 di terminal.

Kalau Aplikasinya Belum Jalan

  • Jangan beri nama file flask.py. Nama itu bertabrakan dengan package Flask dan biasanya memicu error import yang membingungkan.
  • Jalankan command dari folder yang berisi app.py. Kalau terminal berada di folder lain, Flask tidak akan menemukan module app.
  • Pastikan virtual environment aktif sebelum meng-install atau menjalankan Flask.
  • Periksa kembali tanda kutip, titik dua setelah def home():, dan indentasi pada baris return.

Project kecil ini memang hanya mengirim satu baris teks, tetapi semua bagian pentingnya sudah ada: object aplikasi, route, request, dan response. Begitu hubungan keempatnya terasa masuk akal, menambahkan halaman atau endpoint baru tinggal mengembangkan pola yang sama.

Lanjutkan membaca topik yang masih satu konteks.

Jangan Ketinggalan Info Terbaru

Dapatkan artikel teknologi, tips, dan insights menarik langsung ke email Kamu.