Pengantar Dasar-Dasar Web Service dengan Django

 

Pengantar Dasar-Dasar Web Service dengan Django

“Everybody should learn to program a computer, because it teaches you how to think.” - Steve Jobs, former CEO and creator of Apple.

Di modul sebelumnya, Anda sudah mengetahui dasar dari Back-End mulai dari definisi server, web server, REST, hingga desain URL. Nah, berikutnya kita akan mulai memprogram, di modul ini Anda akan banyak bersentuhan dengan kode, Anda akan belajar mengenai dasar-dasar web service dengan Django. Berikut adalah objektif pembelajaran yang akan dicapai pada modul kali ini.

  • Menunjukkan tools yang dibutuhkan untuk membuat RESTful API dengan Python
  • Memaparkan keuntungan dari menggunakan Django di Python.
  • Menjelaskan keuntungan dari menggunakan Django Rest Framework.
  • Mendemonstrasikan Django untuk RESTful API.
  • Mendemonstrasikan Django Rest Framework untuk RESTful API.

Let's start!

Tools Back-End dengan Python

Anda sudah tidak sabar, kan, memprogram Back-End dengan Python? Eits, tenang dulu jangan gegabah karena ada prasyarat yang perlu kita penuhi terlebih dahulu. Namun, syaratnya tidak sesulit membangun candi dalam satu malam. Apa saja syaratnya? Syaratnya adalah membutuhkan beberapa tools. Berikut tools yang diperlukan.

Catatan

Anda dapat melewati materi ini dan lanjut ke materi berikutnya jika sudah mengetahui dan memasang tools yang akan dijelaskan.


IDE

IDE (Integrated Development Environment) adalah software yang dapat membantu programmer dalam mengembangkan aplikasi dengan efisien. Salah satu IDE yang populer digunakan, terutama untuk Python adalah PyCharm. PyCharm merupakan IDE yang dikembangkan oleh JetBrains. Meskipun bukan bersifat open-source, PyCharm edisi Community memiliki kekurangan seperti dukungan terhadap bahasa pemrograman yang terbatas, ia hanya mendukung bahasa pemrograman Python, Rust, Dart dan sebagainya.

dos-3f5d9f356ecc28c5e3a4c25787a1426620241101153643.jpeg

Anda dapat mengunduhnya dengan mengunjungi halaman unduh dari PyCharm. PyCharm memiliki kelebihan berupa fitur yang dapat membantu proses pengembangan proyek, seperti data science dan web. PyCharm memiliki fitur “ready to use”, seperti tools databases dan web framework. Selain itu, PyCharm memiliki fitur code completion yang canggih untuk kode Python, debugger yang membantu dan integrasi dengan Version Control System (VCS).

Sepanjang kelas ini, kami akan menggunakan PyCharm dan merekomendasikan Anda untuk menggunakan PyCharm.


Python

Hal yang paling penting adalah Python. Pastikan di komputer Anda sudah terpasang Python. Di kelas ini, kami akan menggunakan Python versi 3.10. Pastikan menggunakan versi yang sama jika Anda ingin mengikuti kode yang ada di kelas.

Biasanya, untuk pengguna UNIX based (Linux/macOS), Python sudah terpasang secara default. Jika belum, silakan unduh dan pasang Python terlebih dahulu dengan mengikuti tutorial memasang python.

dos-a7236b4ad4f55e99a52bcf8a37ebaa0120241101153643.jpeg


Django

Django merupakan web framework yang akan kita gunakan di sepanjang kelas ini. Jangan khawatir jika belum memiliki Django di komputer lokal Anda karena di kelas ini akan kita bahas cara memasang Django.

dos-d4c658dd173c557ad7ef5cc18c8c199d20241101153643.jpeg

Sudah siap? Jika ya, yuk lanjut ke materi selanjutnya!

  1. pipenv --version

Jika Pipenv sudah terpasang, Anda akan melihat tampilan seperti berikut ini di Terminal

dos-e87b48cd0ac284e029c222217f95ceb520241101154305.jpeg

Saat ini, Anda sudah mengetahui package manager PIP dan virtual environment Pipenv. Di materi selanjutnya, Anda akan berlatih untuk memasang keduanya. So, langsung saja lanjut ke materi berikutnya!

Latihan: Memasang PIP dan Pipenv

Jika di komputer sudah terpasang PIP dan Pipenv, Anda dapat melewati latihan ini. Bagi yang belum, yuk simak langkah-langkah berikut ini.

  1. Pertama, buka Terminal Anda.
  2. Kemudian, jalankan perintah berikut ini.
    1. python -m ensurepip
    Module ensurepip akan digunakan untuk memasang PIP. ensurepip memungkinkan kita untuk memasang PIP ke Python yang sudah terpasang di lokal komputer atau di virtual environment.
  1. Setelah itu, Anda dapat mengecek apakah PIP sudah terpasang atau belum dengan menjalankan perintah:
    1. pip --version
  1. Jika berhasil, Anda akan melihat versi PIP yang terpasang seperti berikut.
    dos-43226e0a94004b5278044638eb6bb80520241101155306.jpeg
    Selamat! Anda sudah berhasil memasang PIP. Mudah, kan?
  1. Oke, sekarang PIP sudah terpasang. Langkah selanjutnya adalah memasang Pipenv. Cara yang disarankan untuk memasang Pipenv pada sebagian besar sistem operasi (Linux, macOS, dan Windows) adalah menggunakan perintah berikut.
    1. pip install --user pipenv
  1. Jalankan perintah berikut ini untuk mengecek versi Pipenv yang telah berhasil dipasang.
    1. pipenv --version
  1. Jika berhasil, akan tampil versi dari Pipenv seperti berikut ini.
    dos-724524d124c127063ac09d42906e291720241101155423.jpeg 
  1. Untuk membuat virtualenvironment dengan Pipenv, Anda dapat menggunakan perintah berikut.
    1. pipenv shell

Sejauh ini, Anda sudah siap untuk memulai perjalanan mengembangkan aplikasi Back-End dengan Python karena semua syarat dan tools yang diperlukan sudah terpenuhi. Mari kita lanjut!

Pengembangan Lebih Mudah dengan Web Framework

dos-139ce1da9dee317948ab40fd1287467120241101155704.jpeg

Sebelum masuk lebih dalam ke pembahasan Web Framework, alangkah baiknya kita bahas analogi sederhana untuk memahaminya. Mari kita analogikan Web Framework dengan sebuah origami. Origami adalah seni melipat kertas yang berasal dari Jepang. Sesuai dengan namanya, bahan utama yang digunakan untuk membuatnya disebut dengan kertas origami. Origami dapat melatih kreativitas dan problem solving. Selain itu, origami juga dapat dijadikan sebagai hiasan dinding atau ruangan.

Untuk membuat origami, selain dengan melipatnya secara manual dari kertas origami, ada juga yang namanya origami modular. Alih-alih melipatnya dari nol, kita dapat membuat origami dari bagian identik yang sudah ada, seperti segitiga dan kotak untuk membuat objek.

dos-a19e9e5213612439134cf2b3fa0f1e7c20241101155704.jpeg

Kenapa menggunakan origami modular untuk membuat objek? Karena dengan menggunakan origami modular, proses pembuatan origami akan lebih mudah dan cepat. Tidak perlu membuatnya dari awal dengan melipat dari kertas origami, Anda dapat menggunakan origami modular untuk membuat objek yang diinginkan. Misalnya, untuk membuat objek rumah, Anda dapat menggunakan kombinasi origami modular seperti kotak dan segitiga untuk membuatnya. Origami modular dapat kita sebut sebagai framework (kerangka kerja).

dos-972a6a2a0aa4c0b39d3956bd918ad2cb20241101155704.jpeg

Dalam pengembangan aplikasi Back-End, kita juga dapat menggunakan framework. Framework yang digunakan untuk pengembangan web disebut dengan web framework. Web framework adalah sebuah kerangka kerja yang dapat membantu mempermudah pengembangan web termasuk dalam membuat web service.

Apa saja yang keunggulan dari web framework? Berikut keunggulan dari menggunakan web framework.

  • Mempercepat Pengembangan Aplikasi
    Web framework mengurangi boilerplate karena ia menyediakan sekumpulan tools dan library yang siap pakai sehingga developer menulis sedikit kode. Selain itu, pengembangan lebih cepat karena hal-hal yang sering dilakukan dalam pengembangan web telah disediakan oleh web framework.
  • Maintenance Lebih Mudah
    Web framework mempermudah pemeliharaan aplikasi karena memiliki struktur kode yang terstruktur, menyederhanakan proses debug, dan penulisan kode yang konsisten.
  • Aman
    Web framework selalu dioptimasi dari segi performa dan keamanan karena banyak perusahaan dan developer yang menggunakannya. Selain itu, kode yang ada juga sudah teruji di lingkungan production (battle-tested).
  • Didukung oleh Komunitas
    Tidak perlu cemas, web framework didukung oleh komunitas yang besar. Web framework selalu diperbarui dari segi keamanan dan kode. Kita dapat meminta dukungan komunitas terkait sumber daya belajar maupun dukungan teknis.

Lantas, apa saja web framework yang ada di Python? Yuk, kita bahas.

  • Flask
    dos-22a2abad11ecf867a23deee0db22359320241101155852.jpeg
    Flask adalah framework WSGI yang ringan ditulis dengan Python. Flask dirancang untuk menjadi ringan, fleksibel, dan sederhana. Flask juga disebut sebagai micro-framework karena tidak menyediakan banyak abstraksi. Dengan Flask, Anda dapat merancang aplikasi web dari yang sederhana hingga kompleks. Selain itu, Flask memiliki banyak extensions yang disediakan oleh komunitas. 
  • FastAPIdos-5907651a403785beac6ece9e304ad0ef20241101155704.jpegFastAPI adalah web framework modern untuk Python yang tujuannya merancang dan membangun API dengan cepat, efisien, dan aman. FastAPI memiliki sintaks yang intuitif dan code completion. Selain itu, FastAPI memiliki fitur API dokumentasi yang otomatis.
  • Django
    dos-661ef5b9edb446fbc71331ded4f46c7a20241101155928.jpeg
    Django adalah web framework Python yang dapat mendukung pengembangan yang cepat dan desain kode yang bersih. Django menangani sebagian besar hal-hal yang sering dilakukan dalam pengembangan web sehingga developer bisa fokus menulis logika bisnis. Django dapat digunakan secara gratis dan open-source. Django memiliki perhatian yang serius terhadap keamanan yang dapat membantu developer menghindari kesalahan dalam keamanan.

    Jangan khawatir ketika ingin menggunakan Django di level production karena Django sangat stabil dan telah digunakan oleh perusahaan, seperti Disqus, Instagram, Pinterest, dan Mozilla bertahun-tahun. Django didukung oleh independen foundation yang bernama Django Software Foundation. Selain itu, Django juga disebut sebagai web framework “battery-included” karena ia menyediakan banyak fitur esensial yang sudah tersedia secara default, seperti autentikasi, keamanan, sistem admin, routing, ORM (Object Relational Mapping), bahkan panel web admin yang dibangkitkan otomatis dari ORM.

Memilih framework yang digunakan bergantung terhadap kebutuhan dan masalah apa yang ingin diselesaikan. Jadi keputusan mau menggunakan framework apa merupakan pilihan personal. Namun, di sepanjang kelas ini, kami akan menggunakan web framework Django dengan versi Long-Term Support (LTS). Long-Term Support (LTS) adalah versi perangkat lunak yang menerima perbaikan bug dan pemeliharaan selama jangka waktu tertentu, meskipun versi terbaru telah dirilis.

Materi selanjutnya, kita akan mencoba memasang Django. So, siapkan kopi dan camilan Anda!

Pengembangan Lebih Mudah dengan Web Framework

dos-139ce1da9dee317948ab40fd1287467120241101155704.jpeg

Sebelum masuk lebih dalam ke pembahasan Web Framework, alangkah baiknya kita bahas analogi sederhana untuk memahaminya. Mari kita analogikan Web Framework dengan sebuah origami. Origami adalah seni melipat kertas yang berasal dari Jepang. Sesuai dengan namanya, bahan utama yang digunakan untuk membuatnya disebut dengan kertas origami. Origami dapat melatih kreativitas dan problem solving. Selain itu, origami juga dapat dijadikan sebagai hiasan dinding atau ruangan.

Untuk membuat origami, selain dengan melipatnya secara manual dari kertas origami, ada juga yang namanya origami modular. Alih-alih melipatnya dari nol, kita dapat membuat origami dari bagian identik yang sudah ada, seperti segitiga dan kotak untuk membuat objek.

dos-a19e9e5213612439134cf2b3fa0f1e7c20241101155704.jpeg

Kenapa menggunakan origami modular untuk membuat objek? Karena dengan menggunakan origami modular, proses pembuatan origami akan lebih mudah dan cepat. Tidak perlu membuatnya dari awal dengan melipat dari kertas origami, Anda dapat menggunakan origami modular untuk membuat objek yang diinginkan. Misalnya, untuk membuat objek rumah, Anda dapat menggunakan kombinasi origami modular seperti kotak dan segitiga untuk membuatnya. Origami modular dapat kita sebut sebagai framework (kerangka kerja).

dos-972a6a2a0aa4c0b39d3956bd918ad2cb20241101155704.jpeg

Dalam pengembangan aplikasi Back-End, kita juga dapat menggunakan framework. Framework yang digunakan untuk pengembangan web disebut dengan web framework. Web framework adalah sebuah kerangka kerja yang dapat membantu mempermudah pengembangan web termasuk dalam membuat web service.

Apa saja yang keunggulan dari web framework? Berikut keunggulan dari menggunakan web framework.

  • Mempercepat Pengembangan Aplikasi
    Web framework mengurangi boilerplate karena ia menyediakan sekumpulan tools dan library yang siap pakai sehingga developer menulis sedikit kode. Selain itu, pengembangan lebih cepat karena hal-hal yang sering dilakukan dalam pengembangan web telah disediakan oleh web framework.
  • Maintenance Lebih Mudah
    Web framework mempermudah pemeliharaan aplikasi karena memiliki struktur kode yang terstruktur, menyederhanakan proses debug, dan penulisan kode yang konsisten.
  • Aman
    Web framework selalu dioptimasi dari segi performa dan keamanan karena banyak perusahaan dan developer yang menggunakannya. Selain itu, kode yang ada juga sudah teruji di lingkungan production (battle-tested).
  • Didukung oleh Komunitas
    Tidak perlu cemas, web framework didukung oleh komunitas yang besar. Web framework selalu diperbarui dari segi keamanan dan kode. Kita dapat meminta dukungan komunitas terkait sumber daya belajar maupun dukungan teknis.

Lantas, apa saja web framework yang ada di Python? Yuk, kita bahas.

  • Flask
    dos-22a2abad11ecf867a23deee0db22359320241101155852.jpeg
    Flask adalah framework WSGI yang ringan ditulis dengan Python. Flask dirancang untuk menjadi ringan, fleksibel, dan sederhana. Flask juga disebut sebagai micro-framework karena tidak menyediakan banyak abstraksi. Dengan Flask, Anda dapat merancang aplikasi web dari yang sederhana hingga kompleks. Selain itu, Flask memiliki banyak extensions yang disediakan oleh komunitas. 
  • FastAPIdos-5907651a403785beac6ece9e304ad0ef20241101155704.jpegFastAPI adalah web framework modern untuk Python yang tujuannya merancang dan membangun API dengan cepat, efisien, dan aman. FastAPI memiliki sintaks yang intuitif dan code completion. Selain itu, FastAPI memiliki fitur API dokumentasi yang otomatis.
  • Django
    dos-661ef5b9edb446fbc71331ded4f46c7a20241101155928.jpeg
    Django adalah web framework Python yang dapat mendukung pengembangan yang cepat dan desain kode yang bersih. Django menangani sebagian besar hal-hal yang sering dilakukan dalam pengembangan web sehingga developer bisa fokus menulis logika bisnis. Django dapat digunakan secara gratis dan open-source. Django memiliki perhatian yang serius terhadap keamanan yang dapat membantu developer menghindari kesalahan dalam keamanan.

    Jangan khawatir ketika ingin menggunakan Django di level production karena Django sangat stabil dan telah digunakan oleh perusahaan, seperti Disqus, Instagram, Pinterest, dan Mozilla bertahun-tahun. Django didukung oleh independen foundation yang bernama Django Software Foundation. Selain itu, Django juga disebut sebagai web framework “battery-included” karena ia menyediakan banyak fitur esensial yang sudah tersedia secara default, seperti autentikasi, keamanan, sistem admin, routing, ORM (Object Relational Mapping), bahkan panel web admin yang dibangkitkan otomatis dari ORM.

Memilih framework yang digunakan bergantung terhadap kebutuhan dan masalah apa yang ingin diselesaikan. Jadi keputusan mau menggunakan framework apa merupakan pilihan personal. Namun, di sepanjang kelas ini, kami akan menggunakan web framework Django dengan versi Long-Term Support (LTS). Long-Term Support (LTS) adalah versi perangkat lunak yang menerima perbaikan bug dan pemeliharaan selama jangka waktu tertentu, meskipun versi terbaru telah dirilis.

Materi selanjutnya, kita akan mencoba memasang Django. So, siapkan kopi dan camilan Anda!

Latihan: Memasang Django

Setelah mengetahui pengertian Django, kini lah saatnya untuk memulai menggunakannya. Sebelum menggunakannya, Anda harus memasangnya terlebih dahulu.

Yuk, ikuti tahap-tahap berikut ini.

  1. Buka Terminal Anda.
  2. BKemudian, buatlah folder baru (Anda bebas untuk membuat folder di direktori apa pun). Pada contoh berikut, nama foldernya adalah “python-projects”.
  3. Setelah itu, masuklah ke direktori baru tersebut.dos-1ca0e831dd696722d8dc85b37e554ccf20241104152509.jpeg
  4. Kemudian, buatlah folder dengan nama “django-basic”.
  5. Selanjutnya masuk ke direktori django-basic.dos-374584a794fa5293d631cb57a2ee53f120241104152509.jpeg
  6. Setelah itu, buat dan aktifkan virtual environmentdengan Pipenv. Jalankan perintah berikut.
    1. pipenv shell
    Hasilnya akan tampak seperti berikut.
    dos-682f3640728adaf4c74b509d7b88462c20241104152614.jpeg
  1. Selanjutnya, jalankan perintah berikut untuk memasang Django.
    1. pipenv install django==4.2
    Perintah di atas akan memasang Django dengan versi LTS saat ini (pada saat latihan ini ditulis, Desember 2024), yaitu 4.2. Jika ingin memasang  versi Django yang spesifik, kita dapat menambahkan “==”, diikuti dengan versi yang ingin dipasang.
  1. Tunggu hingga proses selesai.dos-6563da84d8fb0803715654fc8f59668320241104152510.jpeg
  2. Selanjutnya, Anda dapat memeriksa versi Django yang telah berhasil dipasang dengan perintah berikut ini.
    1. django-admin --version
    Anda akan melihat Django versi 4.2.
    dos-5099ee0e555d2ef2d911901c353e1a5720241104152756.jpeg

Itulah cara memasang Django. Bagaimana, mudah, kan? Setelah berhasil memasang Django, kita akan berkenalan lebih lanjut dengan Django, yuk kita lanjut!


Bersambung ke: 

Latihan: Memasang Django


Comments

Popular posts from this blog

IT Dev

cara menginstal dan menggunakan npm dotenv