Bismillah.
Kita lanjutkan lagi seri latihan logika dengan python, semakin banyak contoh kasus yang kita selesaikan maka logika kita akan semakin terlatih untuk memecahkan suatu permasalahan pemrograman.
Pertemuan sebelumnya kita telah membahas tentang cara mencari angka terbesar dari 3 angka hanya dengan if-else
.
Dan pada pertemuan kali ini, kita akan memecahkan kasus pertukaran isi dari dua variabel.
Skenario Kasus
Kita memiliki 2 buah variabel: a
dan b
.
Keduanya memiliki masing-masing nilai awal.
Pertanyaannya adalah: bagaimana cara menukarkan isi dari kedua variabel tersebut?
Setidaknya ada 3 cara yang bisa kita coba, cara pertama menggunakana variabel ketiga sebagai variabel bantuan, cara kedua memanfaatkan operasi penjumlahan, dan cara yang ketiga adalah menggunakan trik khusus pada python.
Mari kita coba satu persatu!
Cara 1: Menggunakan Variabel Bantuan
Cara yang paling masyhur dalam kasus ini adalah menggunakan variabel bantuan.
Kenapa harus menggunakan variabel bantuan? Karena dengan variabel bantuan kita bisa menampung sementara salah satu nilai dari dua variabel agar tidak hilang.
Analoginya seperti jika kita memiliki dua buah gelas; gelas pertama berisi kopi dan gelas kedua berisi teh.
Bagaimana caranya agar kita bisa menukarkan isi dari dua gelas tersebut? Caranya gampang. Kita ambil saja gelas ketiga untuk menampung sementara isi dari salah satu gelas yang lain.
Mari kita praktikkan.
Pertama-tama, kita buat dulu dua variabel lalu kita tampilkan nilai awalnya:
gelas_a = 'kopi'
gelas_b = 'teh'
print('[nilai awal]')
print(f'gelas_a = {gelas_a}, gelas_b = {gelas_b}\n')
Output:
[nilai awal]
gelas_a = kopi, gelas_b = teh
Setelah itu, kita tambahkan variabel baru sebagai variabel bantuan, kemudian kita tukarkan isi dari 2 variabel utama:
# variabel bantuan
gelas_c = gelas_a
# proses pertukaran
gelas_a = gelas_b
gelas_b = gelas_c
Jangan lupa tampilkan hasil setelah ditukar:
print('[nilai akhir]')
print(f'gelas_a = {gelas_a}, gelas_b = {gelas_b}')
Output secara keseluruhan:
[nilai awal]
gelas_a = kopi, gelas_b = teh
[nilai akhir]
gelas_a = teh, gelas_b = kopi
Kalau tidak terjadi error, sekarang nilai dua variabel gelas_a
dan gelas_b
sudah tertukar π
Cara 2: Menggunakan Penjumlahan
Cara yang kedua adalah cara yang cukup unik, kita bisa menukarkan isi dari dua variabel tanpa harus menggunakan variabel tambahan.
Caranya gimana?
Cukup dengan penjumlahan dan pengurangan.
Kita bikin dulu variabelnya:
a = 20
b = 10
print('[nilai awal]')
print(f'a = {a}, b = {b}\n')
Output:
[nilai awal]
a = 20, b = 10
Tulis kode program untuk inti logika penukaran:
# di sini hanya menggunakan penjumlahan dan pengurangan π
a = a + b
b = a - b
a = a - b
Mungkin kelihatannya agak ribet. Tapi kalau teman-teman mau, teman-teman bisa petakan satu-persatu hasil dari 3 step di atas dalam sebuah kertas untuk mengerti apa yang sebenarnya terjadi π
Setelah itu tampilkan kembali hasilnya:
print('[nilai akhir]')
print(f'a = {a}, b = {b}\n')
Jalankan lagi kode programnya. Dan tara! sekarang dua variabel kita telah tertukar!
[nilai awal]
a = 20, b = 10
[nilai akhir]
a = 10, b = 20
*NB: Cara ini hanya berlaku untuk data numerik.
Cara 3: Keajaiban Python
Cara yang ketiga adalah cara yang paling mudah, dan cara ini saya kira adalah cara yang unik pada bahasa pemrograman python.
Kita bisa langsung menukarkan dua buah variabel dengan cara seperti ini:
a = 'singkong'
b = 'keju'
print('[nilai awal]')
print(f'a = {a}, b = {b}\n')
a, b = b, a
print('[nilai akhir]')
print(f'a = {a}, b = {b}')
Output:
[nilai awal]
a = singkong, b = keju
[nilai akhir]
a = keju, b = singkong
Kesimpulan
Menukarkan isi dari dua variabel adalah kasus yang sangat umum di dunia pemrograman. Ia biasanya dijadikan sebagai tugas-tugas di perkuliahan. Tujuannya apa? Untuk melatih logika berpikir kita.
Untuk menyelesaikannya, setidaknya terdapat 3 cara (yang sudah kita coba di sini):
- Cara yang pertama menggunakan variabel ke-3 sebagai bantuan.
- Cara yang kedua menggunakan penjumlahan (dan hanya bekerja untuk data numerik saja).
- Sedangkan cara yang ketiga adalah dengan menggunakan assignment biasa (yang merupakan fitur unik dari bahasa pemrograman python itu sendiri).
Kode Program Lengkap
Kode program lengkap dari pertemuan kali ini bisa kalian dapatkan pada repositori python-latihan-logika di github.
Jangan lupa kasih star ya!βπ
Pertemuan Selanjutnya
Insyaallah pada pertemuan yang akan datang kita akan membahas bagaimana cara menentukan bilangan genap dan ganjil!
Jika ada pertanyaan atau sesuatu yang ingin didiskusikan, atau bahkan request tutorial, jangan sungkan-sungkan untuk berkomentar, ya! π
Terima kasih banyak!