Dalam pemrograman Python dan MicroPython, blok program dan indentasi merupakan konsep penting yang digunakan untuk menentukan struktur logika dari kode. Tidak seperti bahasa pemrograman lain yang menggunakan kurung kurawal {}
atau kata kunci seperti BEGIN
dan END
, Python dan MicroPython menggunakan indentasi (spasi atau tab) untuk menentukan blok kode.
1. Fungsi Indentasi
Indentasi berfungsi untuk menunjukkan hierarki atau level di dalam kode. Setiap baris yang berada di dalam blok tertentu harus diberi indentasi yang sama. Ini digunakan untuk memisahkan struktur kode seperti loop, fungsi, pengambilan keputusan, dan blok kode lainnya. Jika indentasi tidak konsisten, interpreter MicroPython akan menghasilkan error.
2. Cara Menggunakan Indentasi di MicroPython
- Indentasi dengan spasi: Biasanya indentasi di Python dan MicroPython menggunakan 4 spasi.
- Indentasi dengan tab: Anda juga dapat menggunakan tab, tetapi pastikan konsisten—jangan mencampur penggunaan spasi dan tab dalam satu program.
Contoh sederhana menunjukkan bagaimana indentasi bekerja dalam loop dan if-else:
from machine import Pinfrom time import sleep# Inisialisasi LED pada GPIO2led = Pin(2, Pin.OUT)# Fungsi untuk mengedipkan LEDdef blink_led(): while True: # Loop tak terhingga led.value(1) # Nyalakan LED (indentasi 4 spasi) sleep(1) # Tunggu 1 detik (indentasi 4 spasi) led.value(0) # Matikan LED (indentasi 4 spasi) sleep(1) # Tunggu 1 detik (indentasi 4 spasi)# Panggil fungsi blink_ledblink_led()
Pada contoh di atas:
- Fungsi
blink_led
: Semua pernyataan di dalam fungsi ini diindentasi 4 spasi dari batas kiri. - Loop
while True:
: Blok di dalam loop diindentasi 4 spasi lagi. - Semua pernyataan yang berada dalam blok harus memiliki indentasi yang konsisten.
3. Blok Program dalam Pengambilan Keputusan
Ketika menggunakan struktur pengambilan keputusan seperti if
, elif
, dan else
, indentasi digunakan untuk mengelompokkan instruksi yang berada dalam setiap kondisi.
Contoh pengambilan keputusan sederhana:
from machine import Pinbutton = Pin(0, Pin.IN) # Inisialisasi GPIO 0 sebagai input untuk tombolled = Pin(2, Pin.OUT) # Inisialisasi GPIO 2 sebagai output untuk LED# Fungsi untuk menyalakan atau mematikan LED berdasarkan status tomboldef control_led(): if button.value() == 1: # Jika tombol ditekan (indentasi 4 spasi) led.value(1) # Nyalakan LED (indentasi 4 spasi) else: # Jika tombol tidak ditekan (indentasi 4 spasi) led.value(0) # Matikan LED (indentasi 4 spasi)# Loop utamawhile True: control_led() # Panggil fungsi control_led
Penjelasan:
- Pada blok
if button.value() == 1:
, semua pernyataan di dalam kondisiif
diindentasi ke kanan untuk menunjukkan bahwa mereka bagian dari blokif
. - Hal yang sama berlaku untuk blok
else
.
4. Blok Program dalam Fungsi
Fungsi dalam MicroPython menggunakan indentasi untuk menentukan pernyataan yang termasuk dalam blok fungsi tersebut. Semua pernyataan di dalam fungsi harus diberi indentasi.
Contoh pembuatan fungsi:
# Fungsi untuk menyalakan LEDdef turn_on_led(): led.value(1) # Nyalakan LED (indentasi 4 spasi)# Fungsi untuk mematikan LEDdef turn_off_led(): led.value(0) # Matikan LED (indentasi 4 spasi)
Pada contoh di atas:
- Semua pernyataan di dalam fungsi
turn_on_led
danturn_off_led
diindentasi 4 spasi. - Setiap fungsi memiliki blok sendiri yang diidentifikasi oleh indentasi tersebut.
5. Kesalahan yang Sering Terjadi Terkait Indentasi
Kesalahan umum yang sering ditemui pemula saat menggunakan MicroPython berkaitan dengan konsistensi indentasi. Karena Python dan MicroPython sangat bergantung pada indentasi untuk struktur kode, kesalahan kecil seperti mencampur spasi dan tab atau tidak memberikan indentasi yang konsisten akan menyebabkan program tidak dapat dijalankan.
Contoh kesalahan:
if button.value() == 1:led.value(1) # Kesalahan! Tidak ada indentasi pada blok if
Ini akan menghasilkan error karena pernyataan led.value(1)
seharusnya diindentasi untuk menjadi bagian dari blok if
.
6. Struktur Blok Program yang Kompleks
MicroPython mendukung struktur program yang kompleks dengan banyak tingkat blok yang diatur oleh indentasi. Contoh berikut menunjukkan bagaimana beberapa blok program dapat terstruktur dengan menggunakan indentasi yang tepat:
from machine import Pinfrom time import sleepled = Pin(2, Pin.OUT) # Inisialisasi LEDbutton = Pin(0, Pin.IN) # Inisialisasi tombol# Fungsi untuk kontrol LEDdef control_led(): if button.value() == 1: # Jika tombol ditekan for i in range(5): # Loop untuk mengedipkan LED 5 kali led.value(1) # Nyalakan LED sleep(0.5) # Tunggu 0.5 detik led.value(0) # Matikan LED sleep(0.5) # Tunggu 0.5 detik else: # Jika tombol tidak ditekan led.value(0) # Pastikan LED mati# Loop utamawhile True: control_led() # Panggil fungsi kontrol LED
Pada contoh di atas:
- Blok
for i in range(5):
berada di dalam blokif
, dan semua pernyataan di dalamfor
diindentasi lebih jauh (4 spasi dariif
). - Semua pernyataan yang termasuk dalam blok
else:
juga diindentasi secara konsisten.
Kesimpulan
Blok program dan indentasi adalah bagian penting dari struktur pemrograman MicroPython. Indentasi digunakan untuk menunjukkan hubungan hierarki antara berbagai pernyataan dan blok program, seperti dalam loop, pengambilan keputusan, dan fungsi. Indentasi yang konsisten tidak hanya penting untuk mencegah kesalahan runtime, tetapi juga membantu dalam menjaga kode tetap rapi, mudah dibaca, dan terstruktur dengan baik.
Referensi :
https://hackaday.com/2024/07/11/embedded-python-micropython-is-amazing/
https://micropython.org/
https://www.lamone.my.id/2024/10/micropython.html