InfoCreate an account or log in to access more pages.

Version 2 of 2

Pendahuluan

Generated Aksbel book section. · Working · Sep 22, 2026 19:55 · saved by @mujirin

Pendahuluan

Bayangkan Anda ingin membuat sebuah website sederhana: halaman beranda yang rapi, daftar artikel, halaman detail artikel, formulir kontak, fitur login, dan mungkin halaman khusus admin untuk mengelola isi website. Dari luar, website terlihat seperti kumpulan halaman. Namun di baliknya ada banyak pekerjaan kecil yang saling terhubung: browser meminta halaman, server menjawab, data disimpan di basis data, tampilan disusun dengan HTML dan CSS, interaksi dibantu JavaScript, lalu semua itu diamankan dan diterbitkan agar dapat diakses orang lain.

Buku ini ditulis untuk membawa Anda dari titik awal itu: belum tahu programming, tetapi ingin memahami cara membuat website dengan Django sampai cukup siap membangun proyek nyata.

Django adalah web framework berbasis Python. Istilah framework berarti kerangka kerja: sekumpulan alat, aturan, dan pola yang membantu kita membangun aplikasi tanpa harus menulis semuanya dari nol. Jika membuat rumah, framework mirip dengan sistem konstruksi yang sudah menyediakan pola pondasi, dinding, jalur listrik, dan aturan keselamatan. Kita tetap harus merancang rumahnya, tetapi tidak perlu menciptakan ulang semua perkakas dari awal. Dokumentasi resmi Django menyebut Django sebagai framework web Python tingkat tinggi yang dirancang untuk membantu pengembangan cepat dengan desain yang bersih dan praktis (Django Software Foundation, n.d.-a).

Dalam buku ini, Django bukan diperlakukan sebagai “alat ajaib”. Kita akan mempelajarinya pelan-pelan dari dasar: apa itu website, apa itu program, bagaimana Python bekerja, bagaimana halaman web dibentuk, lalu bagaimana Django menyatukan semuanya.

Mengapa belajar Django?

Pemrograman web menarik karena hasilnya mudah dilihat. Ketika Anda menulis kode dengan benar, Anda dapat membuka browser dan melihat halaman muncul. Ketika Anda menambahkan data artikel, daftar artikel berubah. Ketika Anda membuat tombol login, pengguna bisa masuk. Ada hubungan langsung antara ide, kode, dan hasil.

Django cocok untuk belajar pemrograman web karena ia menyediakan banyak bagian penting yang biasanya dibutuhkan website nyata: pengaturan URL, template untuk membuat halaman HTML dinamis, ORM untuk bekerja dengan basis data, sistem admin, form, autentikasi pengguna, dan berbagai fitur keamanan. ORM adalah singkatan dari Object-Relational Mapping, yaitu cara bekerja dengan data basis data menggunakan object Python, bukan menulis perintah SQL mentah setiap saat. Kita akan membahasnya dari dasar di Bab 10.

Python sendiri juga dikenal sebagai bahasa yang cukup ramah untuk pemula karena sintaksnya relatif jelas dibaca. Tutorial resmi Python memperkenalkan konsep dasar seperti angka, teks, list, fungsi, module, class, dan exception secara bertahap, dan konsep-konsep inilah yang juga akan kita pakai ketika belajar Django (Python Software Foundation, n.d.).

Namun, penting untuk jujur sejak awal: belajar Django bukan hanya belajar satu alat. Anda akan bertemu beberapa lapisan pengetahuan. Ada Python sebagai bahasa pemrograman. Ada HTML untuk struktur halaman. Ada CSS untuk tampilan. Ada JavaScript untuk interaksi di browser. Ada basis data untuk menyimpan informasi. Ada HTTP untuk komunikasi antara browser dan server. Ada keamanan, testing, Git, dan deployment. Semua ini mungkin terdengar banyak, tetapi buku ini menyusunnya secara bertahap agar tidak terasa seperti tumpukan istilah.

Tujuan kita bukan menghafal semua hal. Tujuan kita adalah membangun pemahaman yang cukup kuat sehingga Anda tahu:

  • bagian mana yang sedang dikerjakan,
  • mengapa bagian itu dibutuhkan,
  • bagaimana membaca error,
  • bagaimana mencari dokumentasi,
  • dan bagaimana memperbaiki kode sedikit demi sedikit.

Website dari sudut pandang pemula

Sebelum masuk ke Django, kita perlu memahami gambaran besar.

Website adalah kumpulan halaman dan layanan yang dapat diakses melalui jaringan, biasanya internet. Ketika Anda mengetik alamat seperti https://example.com/artikel/pertama/, browser mengirim permintaan ke server. Browser adalah aplikasi seperti Chrome, Firefox, Safari, atau Edge yang bertugas mengambil, membaca, dan menampilkan halaman web. Server adalah komputer atau program yang menerima permintaan dan memberikan jawaban.

Dalam dunia web, permintaan dari browser disebut request, dan jawaban dari server disebut response. Komunikasi ini biasanya memakai HTTP, yaitu protokol atau aturan komunikasi web. MDN Web Docs menjelaskan bahwa ketika kita mengakses halaman web, browser mengambil berkas seperti HTML, CSS, dan JavaScript dari server, lalu memprosesnya untuk menampilkan halaman kepada pengguna (MDN Web Docs, n.d.).

Contoh sederhananya seperti ini:

  1. Anda membuka /blog/.
  2. Browser mengirim request: “Saya ingin halaman daftar artikel.”
  3. Django menerima request itu.
  4. Django mengambil data artikel dari basis data.
  5. Django memasukkan data itu ke template HTML.
  6. Server mengirim response berupa halaman HTML.
  7. Browser menampilkan halaman tersebut.

Dari luar, pengguna hanya melihat daftar artikel. Dari dalam, ada alur kerja yang jelas. Buku ini akan mengulang pola ini berkali-kali sampai terasa alami.

Apa yang akan Anda bangun?

Buku ini bukan hanya berisi penjelasan. Anda akan membangun keterampilan melalui proyek bertahap.

Pada awalnya, proyek Anda akan sangat sederhana: menjalankan Python, menulis beberapa fungsi, memahami folder, dan membuat halaman HTML. Setelah itu, Anda mulai membuat proyek Django pertama. Anda akan belajar membuat URL, view, dan template. Kemudian Anda menambahkan model dan basis data. Setelah itu, Anda memakai Django Admin untuk mengelola data tanpa harus membuat halaman admin dari nol.

Di bagian tengah buku, Anda akan membangun aplikasi blog lengkap. Blog dipilih bukan karena semua orang harus menjadi penulis blog, tetapi karena blog memiliki banyak fitur inti yang juga muncul di website lain:

  • daftar data,
  • halaman detail,
  • kategori,
  • tag,
  • tanggal publikasi,
  • slug,
  • pagination,
  • pencarian,
  • komentar,
  • login pengguna,
  • dan pengelolaan konten.

Slug adalah teks pendek yang ramah URL, misalnya belajar-django-dari-nol. Slug biasanya dipakai agar alamat halaman mudah dibaca manusia. Daripada URL seperti /artikel/57/, kita bisa membuat URL seperti /artikel/belajar-django-dari-nol/.

Menjelang akhir buku, Anda akan belajar tentang upload file, desain UI dengan Bootstrap atau Tailwind, keamanan dasar, testing, Git, dan deployment. Deployment berarti proses menerbitkan aplikasi agar berjalan di lingkungan production, yaitu lingkungan yang dipakai oleh pengguna sungguhan, bukan hanya komputer belajar Anda. Dokumentasi Django menyediakan checklist deployment untuk membantu pengembang memeriksa pengaturan penting sebelum aplikasi dipublikasikan (Django Software Foundation, n.d.-c).

Pada proyek akhir, Anda akan memilih bentuk website yang cocok untuk portofolio: blog personal, katalog produk, website komunitas, atau platform sederhana dengan akun pengguna. Portofolio penting karena pemrograman bukan hanya soal mengatakan “saya bisa”, tetapi menunjukkan hasil kerja yang bisa dibuka, diuji, dan dijelaskan.

Cara berpikir yang akan dilatih

Banyak pemula mengira inti programming adalah menghafal perintah. Sebenarnya, programming lebih mirip belajar memecahkan masalah secara teratur.

Misalnya Anda ingin membuat halaman daftar artikel. Cara berpikirnya bukan langsung “kode apa yang harus saya tulis?”, melainkan:

  1. Data apa yang dibutuhkan?
  2. Dari mana data itu diambil?
  3. URL apa yang dibuka pengguna?
  4. View apa yang memproses request?
  5. Template apa yang menampilkan data?
  6. Bagaimana jika datanya kosong?
  7. Bagaimana jika terjadi error?
  8. Bagaimana cara menguji bahwa halaman ini benar?

Pertanyaan-pertanyaan ini akan muncul berulang kali. Semakin sering Anda memakainya, semakin rapi cara berpikir Anda.

Dalam buku ini, kita akan sering membedakan beberapa hal yang terdengar mirip:

Kode adalah instruksi yang ditulis programmer. Contoh: print("Halo").

Program adalah kumpulan instruksi yang dapat dijalankan komputer. File Python sederhana bisa menjadi program kecil.

Aplikasi web adalah program yang berjalan di server dan merespons request dari browser. Website Django termasuk aplikasi web.

Frontend adalah bagian yang berhubungan langsung dengan tampilan dan interaksi di browser: HTML, CSS, JavaScript, tombol, form, warna, layout, dan responsivitas.

Backend adalah bagian yang berjalan di server: logika aplikasi, pengambilan data, autentikasi, izin akses, validasi, dan penyimpanan ke basis data.

Django terutama berada di sisi backend, tetapi ia juga membantu menghasilkan HTML untuk frontend melalui template. Karena itu, belajar Django tetap membutuhkan pemahaman HTML dan CSS. JavaScript juga akan diperkenalkan secukupnya agar Anda tahu kapan interaksi perlu dilakukan di browser dan kapan harus diproses oleh server.

Mengapa keamanan dibahas sejak awal?

Website yang dapat menerima input pengguna harus berhati-hati. Input adalah data yang diberikan dari luar program, misalnya nama pengguna, komentar, kata sandi, gambar yang diunggah, atau kata kunci pencarian. Jika input tidak divalidasi dan tidak ditangani dengan benar, website bisa mengalami masalah keamanan.

Django menyediakan perlindungan terhadap beberapa serangan umum, termasuk mekanisme untuk membantu mencegah Cross Site Request Forgery, SQL injection, Cross Site Scripting, dan clickjacking, selama fitur-fiturnya dipakai dengan benar (Django Software Foundation, n.d.-b). Kita belum perlu memahami semua istilah itu sekarang. Yang perlu dipahami adalah prinsipnya: website tidak boleh langsung mempercayai data dari pengguna.

Contoh sederhana: jika ada form komentar, pengguna mungkin mengetik komentar biasa seperti:

Artikelnya membantu, terima kasih!

Namun pengguna lain mungkin mencoba memasukkan teks yang berisi kode berbahaya. Website yang baik harus memperlakukan input sebagai data yang perlu diperiksa, bukan sebagai perintah yang boleh langsung dijalankan.

Keamanan bukan bab tambahan yang ditempel di akhir. Keamanan adalah kebiasaan berpikir. Karena itu, sejak belajar form, login, upload file, dan deployment, kita akan menanyakan: “Apakah ini aman? Apa yang boleh dilakukan pengguna? Apa yang tidak boleh?”

Tentang error: jangan panik

Jika Anda baru belajar programming, error bisa terasa menakutkan. Layar menampilkan pesan panjang berbahasa Inggris, ada nama file, nomor baris, dan istilah yang belum dikenal. Tetapi bagi programmer, error adalah bagian normal dari pekerjaan.

Error bukan tanda bahwa Anda tidak berbakat. Error adalah cara komputer memberi tahu bahwa ada sesuatu yang tidak sesuai dengan aturan. Tugas kita adalah membaca pesan itu, menemukan sumber masalah, lalu memperbaikinya.

Misalnya Anda menulis:

print("Halo"

Python akan memberi error karena tanda kurung penutup belum ada. Pesan error membantu kita mencari letak masalah. Nanti, ketika memakai Django, error bisa berasal dari URL yang belum terdaftar, template yang salah nama, model yang belum dimigrasikan, atau variabel yang belum dikirim ke template. Semuanya bisa dipelajari.

Kebiasaan penting yang akan kita bangun adalah:

  • membaca error dari atas dan bawah,
  • mencari nama file yang kita ubah terakhir,
  • memperhatikan nomor baris,
  • mengubah satu hal dalam satu waktu,
  • dan menguji ulang setelah memperbaiki.

Ini terdengar sederhana, tetapi sangat penting. Programmer yang baik bukan orang yang tidak pernah error, melainkan orang yang mampu menelusuri error dengan tenang.

Cara menggunakan buku ini

Bacalah buku ini seperti belajar membuat sesuatu, bukan seperti membaca kamus. Jangan terburu-buru mengejar bab akhir. Setiap bab dirancang untuk menambah satu lapisan pemahaman.

Ketika bertemu kode, ketik ulang jika memungkinkan. Menyalin dan menempel kode memang cepat, tetapi mengetik ulang membantu Anda memperhatikan tanda kurung, titik dua, indentasi, nama variabel, dan struktur program. Dalam Python, indentasi atau penjorokan baris bukan sekadar hiasan; indentasi menunjukkan blok kode. Contohnya:

if usia >= 17:
    print("Boleh membuat KTP")

Baris print(...) menjorok ke dalam untuk menunjukkan bahwa ia dijalankan hanya jika kondisi usia >= 17 benar. Detail seperti ini akan menjadi kebiasaan jika sering dilatih.

Simpan proyek dengan rapi. Jangan mencampur semua latihan dalam satu folder berantakan. Biasakan membuat folder khusus, memakai virtual environment, dan menulis commit Git ketika nanti sudah sampai pada bab Git. Kebiasaan kecil ini membuat proyek lebih mudah dirawat.

Jika Anda merasa lambat, itu normal. Pemrograman web memiliki banyak bagian bergerak. Bahkan programmer berpengalaman pun masih membaca dokumentasi. Yang membedakan pemula dan orang berpengalaman bukan bahwa orang berpengalaman hafal semuanya, melainkan mereka tahu cara mencari, membaca, mencoba, dan memperbaiki.

Gambaran perjalanan buku

Perjalanan buku ini dapat dibayangkan sebagai naik tangga.

Tangga pertama adalah memahami cara kerja website. Anda akan mengenal browser, server, URL, HTTP, request, response, HTML, CSS, JavaScript, basis data, dan posisi Django di antara semua itu.

Tangga kedua adalah menyiapkan alat kerja. Anda akan memasang Python, editor kode, terminal, Git, dan virtual environment. Ini seperti menata meja belajar sebelum mulai membuat proyek.

Tangga ketiga adalah belajar Python. Anda akan memahami variabel, tipe data, operasi dasar, percabangan, perulangan, fungsi, list, dictionary, module, package, class, object, dan exception.

Tangga keempat adalah belajar fondasi web: HTML, CSS, dan JavaScript dasar. Anda tidak harus menjadi desainer profesional atau ahli frontend, tetapi perlu memahami struktur, tampilan, dan interaksi dasar halaman web.

Tangga kelima adalah masuk ke Django: project, app, settings, URL routing, view, template, model, migration, admin, form, autentikasi, relasi data, class-based view, upload file, dan fitur sosial.

Tangga keenam adalah membuat website lebih nyata: desain UI, pencarian, filter, keamanan, testing, Git, dan deployment.

Tangga terakhir adalah proyek akhir. Di sinilah Anda menggabungkan semuanya menjadi website yang bisa ditunjukkan sebagai portofolio.

Sikap belajar yang disarankan

Ada tiga sikap yang akan sangat membantu.

Pertama, penasaran tetapi sabar. Jika ada istilah baru, jangan langsung merasa harus menguasainya sempurna. Pahami secukupnya untuk melanjutkan, lalu kembali lagi ketika sudah punya konteks.

Kedua, berani mencoba. Banyak pemahaman muncul setelah Anda mengubah kode dan melihat akibatnya. Misalnya, ubah teks di template, jalankan server, lalu lihat hasilnya. Ubah URL, lihat error-nya, lalu perbaiki. Eksperimen kecil membuat konsep menjadi nyata.

Ketiga, rapi sejak awal. Nama file yang jelas, folder yang teratur, commit yang bermakna, dan catatan kecil akan sangat membantu ketika proyek membesar. Kerapian bukan urusan nanti; kerapian adalah bagian dari cara berpikir programmer.

Buku ini tidak menjanjikan Anda menjadi ahli dalam semalam. Namun jika Anda mengikuti bab demi bab, mengetik kode, mencoba latihan, membaca error, dan menyelesaikan proyek akhir, Anda akan memiliki dasar yang kuat untuk membangun website Django sendiri.

Mari mulai dari pertanyaan paling dasar: sebenarnya, bagaimana cara kerja sebuah website?

References

Django Software Foundation. (n.d.-a). Django overview. https://www.djangoproject.com/start/overview/

Django Software Foundation. (n.d.-b). Security in Django. https://docs.djangoproject.com/en/stable/topics/security/

Django Software Foundation. (n.d.-c). Deployment checklist. https://docs.djangoproject.com/en/stable/howto/deployment/checklist/

MDN Web Docs. (n.d.). Getting started with the web. https://developer.mozilla.org/en-US/docs/Learn/Getting_started_with_the_web

Python Software Foundation. (n.d.). The Python Tutorial. https://docs.python.org/3/tutorial/

τ TheoryTrace