M06 - Framework Python
M06 - Framework Python
Framework Python
I. Definisi Framework
Framework adalah sebuah kerangka kerja yang terdiri dari:
1. Modul: bagian-bagian kode siap pakai.
2. Library/Pustaka: kumpulan fungsi dan class.
3. Struktur: aturan dan pola penulisan kode yang terstandar.
Framework tidak menghilangkan tugas developer, tapi menyediakan alat bantu dan struktur,
sehingga:
1. Aplikasi lebih cepat dikembangkan.
2. Kode lebih rapi dan terorganisir.
3. Lebih mudah dalam pemeliharaan (maintenance).
4. Menghindari penulisan ulang kode (code repetition).
Analogi sederhana:
Bayangkan ingin membangun rumah, jika:
1. Tanpa framework, maka mulai dari menggali pondasi, merangkai bata, menyiapkan listrik, air,
dll sendiri.
2. Dengan framework, maka pondasi sudah siap, material tersedia, tinggal susun desain
rumahnya.
Komponen umum:
a. Routing (mengatur URL)
b. ORM (Object Relational Mapper) untuk akses database
c. Template engine untuk halaman HTML dinamis
d. Authentication (login, register)
e. Middleware (pengolah request/response)
Contoh:
a. Django: Framework paling populer, "batteries included" (semua fitur sudah ada).
b. Web2py: Mudah digunakan, cepat setup-nya.
c. Pyramid: Lebih fleksibel, cocok untuk developer yang ingin kontrol lebih besar.
2. Micro Framework
Ciri khas:
a. Ringan dan sederhana.
b. Hanya menyediakan fitur inti (routing, request/response).
c. Developer bisa memilih library tambahan sendiri.
Kelebihan:
a. Lebih cepat dipelajari.
b. Lebih fleksibel untuk proyek kecil-menengah.
Contoh:
a. Flask: Framework minimalis, sangat populer.
b. Bottle: Satu file, cocok untuk proyek kecil atau embedded systems.
c. Falcon: Fokus pada kecepatan dan efisiensi.
3. Asynchronous Framework
Ciri khas:
a. Mendukung async programming (asynchronous/non-blocking).
b. Cocok untuk aplikasi real-time seperti: Chat, Game multiplayer, Sensor/IoT, dan
Websocket.
Contoh:
a. FastAPI: kombinasi kecepatan dan kemudahan, cocok untuk membuat REST API modern.
b. Sanic: fokus pada performa tinggi.
c. Tornado: bisa digunakan sebagai web server dan framework async.
Langkah-langkah instalasi:
a. Cek Python sudah terinstal
python --version
Aktifkan:
Windows
venv\Scripts\activate
Mac/Linux
source venv/bin/activate
c. Instal Flask
pip install Flask
Penjelasan:
Baris Penjelasan
from flask import Mengimpor class Flask dari library flask.
Flask
app = Flask(__name__) Membuat objek aplikasi Flask, parameter __name__
memberi tahu Flask di mana program utama berada
@app.route('/') Mendefinisikan route URL (/ = root/home)
def home(): Fungsi Python biasa, dipanggil ketika URL / diakses
return "Halo..." Mengembalikan teks yang akan ditampilkan di browser
app.run(debug=True) Menjalankan server lokal, debug=True untuk memudahkan
debugging (otomatis restart saat ada perubahan)
Output aplikasi
Saat program dijalankan, akan muncul pada terminal
* Running on http://127.0.0.1:5000/ (Press CTRL+C to quit)
Referensi: