Control Flow¶
Setelah kita mengenal beberapa tipe data, operator, dan struktur data dasar yang disediakan oleh Python. Sekarang kita akan mulai mencoba membuat struktur kode yang menggunakan apa yang sudah dipelajari untuk membuat sebuah keputusan berdasarkan kondisi dan alur kerja tertentu.
Pada bagian ini, kita akan belajar memahami bagaimana sebuah kode Python dieksekusi dan bagaimana kita bisa mendesain kode untuk menghasilkan luaran tertentu. Kita akan belajar:
Indentasi dalam Python¶
Ada konsep penting dalam Python yang perlu kita pahami terlebih dahulu, khususnya dalam mendesain arus kontrol dalam Python. Konsep ini adalah pengganti konsep “perlunya titik koma (;
)” atau “penggunaan kurung siku untuk membuat kode blok” pada bahasa pemrograman yang lain, yaitu indentasi.
Meskipun python tidak memerhatikan hal-hal tersebut, python sangat sensitif terhadap indentasi. Perhatikan contoh kode di bawah ini.
normal = 10
unconditionally_indented = 19
Jika kita jalankan kode di atas, maka kita akan mendapatkan eror dengan jenis seperti di bawah ini:
Error
File "<ipython-input-2-da407e82eb69>", line 2
unconditionally_indented = 19
^
IndentationError: unexpected indent
Andaikan kita tidak teliti atau tidak sengaja menekan tombol “spasi” sehingga kode kita berbentuk seperti di atas, variabel unconditionally_indented
yang tidak sejajar dengan normal
. Setiap kali Python menemukan kasus yang serupa, kita akan mendapat eror IndentationError
. Tapi tenang saja, sesuai dengan pesan erornya, kita telah melakukan kesalahan unexpected indent, yaitu indentasi yang tidak tepat.
Peran indentasi di Python sangat beragam, seperti:
Pernyataan multi-baris
Seperti yang pernah kita lihat pada penulisan struktur data sebelumnya, kita bisa menaruh elemen suatu penampung (container) pada baris berikutnya dengan indentasi yang tetap berada di dalam penampungnya, seperti
[]
,()
, atau lainnya. Untuk kasus lain yang tidak melibatkan penampung, kita bisa menambahkan sebuah backslash\
pada setiap akhir baris untuk menulis di baris berikutnya. Opsi lainnya, kita bisa dengan sengaja membungkus objek dengan sebuah()
meskipun kita tidak bermaksud mendefinisikan tuple.text = "masih dalam " \ "satu baris" operation = 5 \ + 10 \ - (2 * 3.14) long_text = ( "Ini adalah teks yang sangat panjang. " "Sehingga, kita perlu membuat beberapa baris di sini. " "Tapi " "cukup " "segini " "saja " )
Blok Kode
Sebuah blok kode adalah kumpulan kode yang diawali dengan pernyataan akar (root statement) yang diakhiri dengan
:
dan dilanjutkan di baris berikutnya dengan indentasi (umumnya berjarak 4 spasi), diakhiri dengan baris tanpa indentasi.if True: print("Pernyataan ini dalam satu kode blok") print("Ini dan kode di bawah juga termasuk") indent = 4 still_indent = 44 print("Ini juga masih dalam satu blok kode") print("Tanpa indentasi. Tidak termasuk blok kode di atas")