目次
- 1 1. Pendahuluan
- 2 2. Alasan Python tidak memiliki pernyataan switch
- 3 3. Contoh penggunaan if-elif-else
- 4 4. Percabangan menggunakan tipe kamus (dictionary)
- 5 5. Fitur baru Python 3.10: Pengenalan pernyataan match-case
- 6 6. Contoh Penerapan match-case
- 7 7. Perbandingan if-elif-else, tipe kamus, dan match-case
- 8 8. Ringkasan
1. Pendahuluan
Python, karena kesederhanaannya dan sintaks yang intuitif, banyak digunakan oleh programmer, namun ada orang yang terkejut karena tidak ada struktur 「switch-case」 seperti di bahasa lain. Oleh karena itu, di Python Anda perlu menggunakan 「if-elif-else」 atau 「tipe kamus(dictionary)」 untuk mewujudkan proses serupa. Dalam artikel ini, kami akan menjelaskan secara berurutan metode percabangan kondisi tradisional di Python, alternatif yang menggunakan tipe kamus, serta pernyataan 「match-case」 baru yang diperkenalkan di Python 3.10. Dengan begitu, Anda dapat menguasai cara percabangan kondisi yang efisien di Python dan menerapkannya dalam pemrograman nyata.2. Alasan Python tidak memiliki pernyataan switch
Python tidak mengadopsi pernyataan switch-case karena kesederhanaan dan keterbacaannya. Desainer Python berusaha membuat bahasa sesederhana mungkin dan menghilangkan duplikasi serta sintaks yang berlebihan. Pernyataan switch berguna di bahasa lain, tetapi di Python fungsi yang sama dapat dicapai dengan pernyataan “if-elif-else” atau menggunakan tipe kamus, sehingga tidak diperlukan penambahan pernyataan switch. Sebenarnya, dalam dokumentasi resmi Python juga disebutkan bahwa dengan menggunakan pernyataan if-elif-else, fungsi switch dapat dicakup. Berikut adalah contoh kode switch dalam bahasa C dan sejenisnya.switch (value) {
case 1:
printf("Value is 1");
break;
case 2:
printf("Value is 2");
break;
default:
printf("Other value");
}
Di Python, ini dapat diubah menjadi seperti berikut.value = 1
if value == 1:
print("Value is 1")
elif value == 2:
print("Value is 2")
else:
print("Other value")
Dengan cara ini, Python dapat dengan mudah melakukan percabangan kondisi tanpa pernyataan switch.3. Contoh penggunaan if-elif-else
Metode paling dasar untuk melakukan percabangan kondisi di Python adalah pernyataan “if-elif-else”. Ini sangat efektif ketika menjalankan proses yang berbeda berdasarkan beberapa kondisi. Berikut adalah contoh penggunaan tipikalnya.value = 100
if value < 50:
print("Nilai kecil")
elif value < 100:
print("Nilai sedang")
else:
print("Nilai besar")
Dalam kode ini, nilai variabel value
akan menghasilkan pesan yang berbeda. Pernyataan if-elif-else memungkinkan percabangan kondisi yang sederhana dan intuitif.Masalah ketika kondisi bertambah
Namun, ketika tingkat hierarki pernyataan if-elif-else menjadi dalam, kode dapat menjadi sulit dibaca. Khususnya, saat menangani kondisi yang kompleks, metode yang menggunakan “dictionary” yang akan diperkenalkan berikutnya sangat efektif.4. Percabangan menggunakan tipe kamus (dictionary)
Dengan menggunakan tipe kamus Python, Anda dapat mengimplementasikan percabangan yang mirip dengan pernyataan switch-case. Tipe kamus adalah struktur data yang menyimpan pasangan kunci dan nilai, sehingga dapat mengekspresikan banyak percabangan secara ringkas. Pada contoh berikut, hasil yang sesuai akan ditampilkan berdasarkan nilai yang dimasukkan oleh pengguna.numbers = {1: "Satu", 2: "Dua", 3: "Tiga"}
value = int(input("Masukkan angka 1-3: "))
if value in numbers:
print(f"Angka yang dipilih: {numbers[value]}")
else:
print("Masukkan angka 1-3")
Dengan cara ini, menggunakan tipe kamus memungkinkan kode tetap singkat dan mudah dibaca bahkan ketika ada banyak kondisi.Keuntungan tipe kamus
Percabangan menggunakan tipe kamus memiliki keuntungan utama yaitu tetap menjaga keterbacaan kode bahkan ketika kondisi bertambah, sehingga memudahkan pemeliharaan. Khususnya, ketika ada beberapa proses untuk nilai, ini lebih efisien dibandingkan pernyataan if-elif-else.5. Fitur baru Python 3.10: Pengenalan pernyataan match-case
Pernyataan “match-case” yang diperkenalkan sejak Python 3.10 memiliki sintaks yang sangat mirip dengan perataan switch-case, memungkinkan penulisan beberapa kondisi secara ringkas. Fitur baru ini khususnya kuat dalam pencocokan pola, dan dibandingkan dengan metode tradisional menggunakan pernyataan if-elif-else atau menggunakan tipe kamus, secara signifikan meningkatkan keterbacaan dan pemeliharaan kode.Struktur dasar match-case
Berikut adalah contoh penggunaan dasar pernyataan match-case.def check_value(value):
match value:
case 1:
print("Satu dipilih")
case 2:
print("Dua dipilih")
case _:
print("Pilihan selain 1 atau 2")
Dalam kode ini, proses yang berbeda dijalankan sesuai dengan nilai variabel value
. case _
berfungsi sebagai proses default yang dijalankan ketika tidak ada kondisi yang terpenuhi.6. Contoh Penerapan match-case
Pernyataan match-case cocok untuk percabangan kondisi yang lebih kompleks dan pencocokan pola. Misalnya, dapat melakukan pemrosesan berdasarkan jumlah elemen dalam daftar atau tipe data.Pernyataan match-case yang Menangani Beberapa Kondisi
def process_data(data):
match data:
case [x, y]:
print(f"Daftar berisi 2 elemen: {x}, {y}")
case [x, y, z]:
print(f"Daftar berisi 3 elemen: {x}, {y}, {z}")
case _:
print("Jumlah elemen daftar berbeda")
Dalam contoh ini, pemrosesan berbeda dilakukan berdasarkan jumlah elemen daftar. Pernyataan match-case memiliki keunggulan dapat menuliskan beberapa kondisi atau pola secara sederhana.
7. Perbandingan if-elif-else, tipe kamus, dan match-case
Setiap metode percabangan kondisi memiliki kelebihan dan kekurangannya masing-masing. Berikut tabel perbandingannya.Metode | Kelebihan | Kekurangan |
---|---|---|
if-elif-else | Sederhana dan intuitif | Jika banyak kondisi, kode menjadi rumit |
Tipe kamus(dictionary) | Mudah dibaca, efektif ketika banyak kondisi | Tidak semua kondisi dapat dimasukkan ke dalam kamus |
match-case | Efektif untuk banyak percabangan kondisi dan pencocokan pola | Hanya tersedia pada Python 3.10 ke atas |