Anda di halaman 1dari 4

Penggunaan Python Web Framework Flask Untuk

Pemula
Rahadian Irsyad
Laboratorium Telematika, Sekolah Teknik Elektro & Informatika,
Institut Teknologi Bandung, e-mail: rahadian.irsyad@gmail.com

Abstraksi— Paper ini memberikan gambaran microframework serta alasan-alasan Flask


umum tentang penggunaan Python Web cocok sebagai alat untuk web development bagi
Framework bernama Flask untuk pemula. Flask developer pemula.
merupakan sebuah web microframework
II. Web Microframework Flask
berlisensi BSD, dimana Flask memiliki
fleksibilitas tinggi dalam penggunaanya karena A. Flask
memiliki core yang sederhana. Flask sangat Flask adalah sebuah web framework yang
cocok digunakan bagi pemula dalam web ditulis dengan bahasa Python dan tergolong
development karena tingkat kompleksitas yang sebagai jenis microframework [1]. Flask
lebih rendah dibanding web framework lain. berfungsi sebagai kerangka kerja aplikasi dan
tampilan dari suatu web. Dengan menggunakan
Keywords— Web Framework, Python, Flask, Flask dan bahasa Python, pengembang dapat
Web Development. membuat sebuah web yang terstruktur dan
I. Pendahuluan dapat mengatur behaviour suatu web dengan
lebih mudah.
Pada saat ini, teknologi, terutama internet,
telah berkembang sangat pesat. Perkembangan Flask termasuk pada jenis microframework
yang pesat ini memunculkan peningkatan yang karena tidak memerlukan suatu alat atau
sangat signifikan dari jumlah pengguna internet. pustaka tertentu dalam penggunaannya.
Dari perkembangan teknologi dan peningkatan Sebagian besar fungsi dan komponen umum
jumlah pengguna internet, timbul kebutuhan- seperti validasi form, database, dan sebagainya
kebutuhan dan keahlian-keahlian tentang tidak terpasang secara default di Flask [2]. Hal
internet, salah satunya adalah web development. ini dikarenakan fungsi dan komponen-
komponen tersebut sudah disediakan oleh
Web development adalah sebuah kegiatan pihak ketiga dan Flask dapat menggunakan
pengembangan halaman-halaman web yang ada ekstensi yang membuat fitur dan komponen-
di internet. Halaman web adalah barang utama komponen tersebut seakan diimplementasikan
yang ada di internet, dimana seluruh pengguna oleh Flask sendiri.
internet pasti akan mengakses suatu web
tertentu yang ada di internet. Oleh sebab itu, Selain itu, meskipun Flask disebut sebagai
kebutuhan akan web di internet akan terus microframework, bukan berarti Flask
bertambah dan ini menimbulkan keahlian mempunyai kekurangan dalam hal
tentang web development pun semakin fungsionalitas. Microframework disini berarti
dibutuhkan. bahwa Flask bermaksud untuk membuat core
dari aplikasi ini sesederhana mungkin tapi tetap
Dengan perkembangan teknologi saat ini, dapat dengan mudah ditambahkan [2]. Dengan
terdapat banyak alat untuk membantu kegiatan begitu, fleksibilitas serta skalabilitas dari Flask
web development, salah satunya adalah web dapat dikatakan cukup tinggi dibandingkan
framework yang dibuat menggunakan bahasa dengan framework lainnya.
Python, yaitu Flask. Flask adalah sebuah alat
yang membantu membuat kerangka untuk B. Installasi Flask
sebuah web dan dengan menggunakan Flask, Web framework Flask ditulis menggunakan
pengembang pemula pun dapat menciptakan bahasa Python, sehingga sebelum Flask dapat
sebuah web yang bagus. digunakan, maka developer harus menginstall
Python pada perangkat yang akan digunakan.
Pada paper ini akan dijelaskan gambaran
Oleh sebab itu, web developer yang akan
umum Flask sebagai sebuah web
menggunakan Flask sebagai web framework Setelah mengaktifkan virtual environtment,
untuk web development harus setidaknya shell pada komputer akan berubah menjadi
mempelajari bahasa pemrograman Python seperti ini.
terlebih dahulu, sebelum dapat menggunakan (virenv)$
Flask seutuhnya.
Hal ini menandakan bahwa virtual
Dalam melakukan installasi Flask pada
environtment telah aktif dan proyek Python
sebuah perangkat, dibutuhkan PIP yang
yang akan dibuat telah terisolasi dan
biasanya sudah terinstall pada Python versi 3.4
mempunyai sumber dependensi tersendiri.
ke atas. PIP adalah sebuah package
management system yang biasa digunakan Setelah mengaktifkan virtual environtment,
untuk mengatur dan menginstall package yang Flask dapat diinstall tanpa perlu
berisi modul-modul Python [3]. PIP digunakan mengkhawatirkan adanya konflik dependensi
untuk menginstall Flask karena Flask ditulis dengan proyek Python lainnya. Masukkan
dan dikembangkan dengan bahasa dan modul- perintah ini setelah masuk dan mengaktifkan
modul pemrograman Python. Dengan virtual environtment untuk menginstall Flask.
menggunakan PIP, semua hal yang dibutuhkan $ pip install Flask
untuk installasi Flask akan diunduh dan
dipasang dalam satu perintah. Untuk memeriksa keberhasilan installasi
Flask, buat sebuah file berisi kode Python
Sebelum melakukan installasi, pengguna berikut dan beri nama file tersebut ‘hello.py’.
Flask sebaiknya menggunakan virtual
environtment dalam proses pengembangan web. from flask import Flask
Virtual environtment adalah sebuah sistem
untuk mengisolasi sebuah proyek Python agar
tidak terjadi konflik dengan proyek Python app = Flask(__name__)
lainnya [4]. Dengan virtual environtment,
sebuah proyek Python—atau Flask pada kasus
ini, seakan ada pada satu komputer sendiri @app.route("/")
dengan dependensi sendiri dan tidak def hello():
berhubungan dengan proyek Python lainnya.
Untuk menginstall virtual environtment return "Hello World!"
masukkan perintah ini di shell. Selanjutnya, jalankan file tersebut
$ pip install virtualenv menggunakan Flask dengan memasukkan
perintah berikut.
Setelah menginstall virtual environtment di
komputer, selanjutnya masuk ke direktori yang $ FLASK_APP=hello.py flask
akan dijadikan tempat proyek Python berada. run
Setelah itu, buat dan aktifkan virtual Setelah itu akan muncul pemberitahuan
environtment disana dengan memasukkan bahwa Flask telah berjalan di localhost.
perintah, sesuai dengan versi Python yang
* Running on
digunakan.
http://localhost:5000/
# python 2:
Selanjutnya, buka aplikasi browser di
$ virtualenv virenv komputer dan akses IP 127.0.0.1 atau localhost
# python 3: di komputer tersebut. Maka akan muncul
sebuah halaman seperti ini.
$ python3 -m venv virenv
Perintah di atas adalah perintah untuk
membuat sebuah virtual environtment dengan
nama virenv. Untuk mengaktifkan virtual
environtment yang telah dibuat di direktori
tujuan, masukkan perintah ini.
$ source virenv/bin/activate
8.
9. if __name__ == '__main__':
10. app.run(debug=True)
Pada baris ke-1, kode tersebut mengambil
kode-kode dasar yang dibutuhkan dalam
pembuatan proyek. flask disini merupakan
kerangka kerja dan Flask adalah tipe data
class Python. Dengan kata lain, Flask adalah
prototype yang digunakan untuk membuat
contoh aplikasi web. Selain itu, dengan
Gambar 1. Halaman hasil hello.py menggunakan kode yang serupa dengan kode di
baris-1, Flask dapat menggunakan berbagai
C. Fitur-fitur Flask fitur yang disediakan oleh pihak ketiga, seperti
Seperti yang telah dijelaskan di poin A, validasi form dengan WTForms dan sebagainya.
Flask merupakan microframework yang berarti Caranya cukup dengan mengunduh package
Flask mempunyai core yang sangat sederhana dan module dari pihak ketiga tersebut dan
dan kecil, namun tetap dapat ditambah dan menuliskan kode seperti ini.
tumbuh. Berdasarkan hal tersebut, fitur-fitur
bawaan dari Flask sendiri termasuk sedikit from flask_wtf import
jumlahnya, diantaranya adalah FlaskForm

• Built-in development server. from wtforms import


• Debugger cepat. StringField
• Integrated support untuk pengetesan from wtforms.validators import
unit. DataRequired
• Kompatibel dengan mesin aplikasi
Google. Pada baris ke-3, kode tersebut membuat
• RESTful request dispatching. sebuah instance dari class Flask dengan nama
• Jinja2 templating. app. Variabel __name__ adalah sebuah
• Mendukung secure cookies. variabel khusus yang akan mengambil string
• Berbasis unicode. dari '__main__'.
• Mengikuti WSGI 1.0
Pada baris ke-5 hingga 7, kode tersebut
Selain itu, Flask juga didukung dengan mendefinisikan sebuah fungsi dari aplikasi web
dokumentasi yang sangat baik dan banyak ini. Kode @app.route('/') memetakan ke
forum yang ada di internet untuk URL home atau (localhost:5000/) dan
mendiskusikan masalah terkait Flask [1]. kode def home(): mendefinisikan sebuah
D. Cara kerja Flask fungsi bernama home yang akan dipanggil
Setelah mengenal Flask dan menginstall ketika halaman home atau '/' diakses.
Flask pada poin-poin sebelumnya, poin ini akan Sehingga ketika halaman home atau '/'
menjelaskan bagaimana cara kerja Flask secara diakses akan mengembalikan sebuah string
umum. Cara kerja Flask dapat dijelaskan “Hey there!” pada halaman tersebut.
melalui kode file bernama ‘hey.py’ berikut. Baris ke-5 hingga 7 adalah poin utama dari
1. from flask import Flask Flask. Ketika rute masukan diganti menjadi
halaman lain, contohnya ’/profile’, maka
2.
fungsi yang dijalankan adalah fungsi yang
3. app = Flask(__name__) sudah disiapkan ketika web diakses dengan
4. alamat ’localhost:5000/profile’.
Seperti pada kode contoh berikut
5. @app.route('/')
from flask import Flask
6. def home():
7. return "Hey there!"
app = Flask(__name__) • Fleksibilitas tinggi, dengan konfigurasi
yang sangat mudah diubah.

@app.route(’/’) Selain memiliki keunggulan-keunggulan


yang telah disebutkan, Flask juga memiliki
def home(): kekurangan, diantaranya adalah.
return “Hey there!” • Tidak memiliki ORM dan database
layer bawaan, sehingga harus
menggunakan aplikasi dari pihak
@app.route(‘/profile’) ketiga.
def profile(): • Tidak async-friendly.
return profile_one Karakteristik Flask yang sangat
membutuhkan aplikasi pihak ketiga dalam
Selanjutnya, pada baris ke-9 dan 10, ini menjalankan fitur-fiturnya menjadi pedang
adalah sebuah teknik yang digunakan para bermata dua yang bisa menjadi keunggulan
developer yang menggunakan bahasa maupun kekurangan dari Flask itu sendiri.
pemrograman Python. Pada Python, script yang
sedang dijalankan akan diberikan nama IV. Kesimpulan
'__main__' dan jika script diambil dari Setelah membahas berbagai hal tentang
script lain, maka script tersebut tetap Flask, mulai dari Flask sebagai web
menggunakan nama aslinya, contohnya microframework, proses installasi Flask, fitur-
‘hello.py’. Pada kasus ini, Flask menjalankan fitur yang ditawarkan, serta cara kerja dan
script ini, sehingga variabel __name__ sedikit contoh kode Flask, dapat dikatakan
mempunyai nilai '__main__'. Dengan bahwa Flask sangat cocok digunakan oleh
begitu, kode pada baris ke-9 terpenuhi dan developer pemula yang baru saja mempelajari
aplikasi web akan dijalankan dengan kode web development. Hal ini didasari dengan
app.run(debug=True). Parameter pada kemudahan dalam hal mempelajari framework
method app.run(debug=True)berarti Flask dengan banyaknya dokumentasi dan
Python akan mencetak kesalahan-kesalahan contoh yang ada. Selain itu, kemudahan dalam
yang mungkin terjadi pada halaman web proses installasi Flask menjadikannya pilihan
tersebut[5]. untuk para web developer pemula. Serta,
sebagai microframework, Flask cukup ringan
III. Keunggulan Flask untuk dijalankan tanpa perlu komputer dengan
Berdasarkan penjelasan tentang apa itu spesifikasi tinggi ataupun komponen dan
Flask, cara menginstall Flask, fitur-fitur yang library khusus, sehingga developer yang masih
ditawarkan oleh Flask, dan cara kerja Flask, “coba-coba” dapat dengan mudah mencoba
Flask memiliki keunggulan serta kekurangan Flask.
dibandingkan dengan web framework berbasis Daftar Pustaka
Python lainnya, seperti Django, CherryPy, dan [1] http://flask.pocoo.org
sebagainya. Keunggulan-keunggulan dari Flask (Diakses pada 16/12/2018 14:12)
adalah [2] http://flask.pocoo.org:80/docs/1.0/foreword
(Diakses pada 16/12/2018 15:33)
• Ringan untuk dijalankan karena [3] https://www.w3schools.com/python/python_pi
mempunyai core yang sederhana dan p.asp
(Diakses pada 16/12/2018 15:47)
desain modular.
[4] https://docs.python-guide.org/dev/virtualenvs/
• Dapat menangani fungsi HTTP request (Diakses pada 16/12/2018 16:18)
dengan mudah. [5] https://pythonhow.com/how-a-flask-app-
• API yang baik dan koheren. works/
• Dokumentasi yang banyak dan (Diakses pada 16/12/2018 18.20)
terstruktur dengan baik, penuh dengan
contoh yang dapat digunakan langsung.
• Mudah untuk dipasang dan di-deploy
untuk produksi.
• Mudah untuk diperiksa secara
menyeluruh. (Unit testability.)

Anda mungkin juga menyukai