Lompat ke konten Lompat ke sidebar Lompat ke footer

Membuat Program Konversi Bilangan Bulat Menjadi Biner Menggunakan Python

Setelah berhasil mengubah bilangan bulat menjadi bilangan biner secara manual, selanjutnya adalah mengubahnya menggunakan script atau code dengan python. Ide dari pembuatan program ini adalah memasukkan bilangan bulatnya, kemudian akan keluar bilangan biner berupa 1 0 1 0 dst.

Script lengkapnya kira-kira seperti ini:

Script Konversi Bilangan Biner Pada Python

Langsung saja kita bahas algoritma dari script konversi bilangan biner di atas.


Konsep Dasar Konversi Bilangan Bulat Menjadi Bilangan Biner

Sebelum membahas script Python di atas, enaknya review sedikit tentang konsep konversi bilangan biner. 

Konversi bilangan biner dilakukan dengan berulang kali membagi bilangan bulat dengan angka 2. Proses pembagian dilakukan hingga hasil pembulatan bawah bilangan tersebut adalah 0. Jadi berapa kali pembagiannya akan berbeda-beda tergantung bilangan bulat yang akan dikonversi.

Setiap perulangan pembagian, terdapat 2 proses yang dilakukan. Pertama mencari sisa hasil bagi bilangan bulat dengan angka 2. Sisa ini menentukan apakah digit bilangan biner adalah 0 atau 1. Kemudian mencari hasil bagi yang dibulatkan kebawah.

Penambahan digit bilangan biner dilakukan dari kanan ke kiri, dengan penambahan 1 digit setiap perulangannya. Jadi jumlah digit bilangan biner akan sama dengan berapa kali pembagian dilakukan.

Variabel Input dan Output

Variabel Input dan Output Konversi Bilangan Biner

Input untuk script ini adalah bilangan bulat, disimpan pada variabel number pada baris ke-2. Nilai 14 hanya sebagai contoh. Nantinya bisa diganti sesuai dengan angka yang akan dikonversi.

Sedangkan Output nya adalah bilangan biner. Karena Python tidak memiliki variabel berjenis biner, maka digunakan variabel string. Variabel biner sebagai output diisi dengan string kosong (""). Nantinya string kosong ini akan diisi dengan digit bilangan biner dari setiap perulangan pembagian.

Loop Menggunakan While

While Loop Pada Python

Karena perulangan pembagian tidak diketahui berapa kali, maka digunakan loop while. Inisiasi loop ini dilakukan pada baris ke-8. While loop disini menggunakan kondisi number > 0. Artinya selama nilai dari variabel number masih lebih besar dari 0, statemen yang ada di bawahnya akan terus berulang.

Mencari Hasil Bagi dan Penentuan Digit Bilangan Biner

Mencari Hasil Bagi dan Menentukan Digit Bilangan Biner

Proses selanjutnya adalah mencari sisa hasil bagi bilangan dengan angka 2. Statemen nya ada pada baris  ke-10. Mencari sisa hasil bagi disebut sebagai Modulus. Operator Modulus pada Python adalah (%).

Sisa pembagian dengan angka 2 akan selalu 1 atau 0. Nilai ini dijadikan penentu apakah digit bilangan biner yang ditambahkan 0 atau 1.

Statemen if pada baris ke-13 memiliki kondisi jika sisa_bagi = 1, maka akan ditambahkan "1" pada digit bilangan biner. Penambahannya dilakukan pada baris ke-14. 

Karena penambahannya dilakukan dari kanan ke kiri, maka statemen nya ditulis biner = "1" + biner. Artinya, "1" ditambah dengan bilangan biner yang sudah ada sebelumnya. Sehingga digit "1" yang barus ditambahkan posisinya akan berada paling kiri pada string di variabel biner.

Pada awalnya variabel biner berisi string kosong, sehingga digit pertama pada variabel tersebut adalah digit hasil penghitungan konversi bilangan biner.

Penulisan statemen sepertinya ini berguna untuk mengupdate nilai suatu variabel tanpa membuat variabel baru. Dan hal ini bisa dilakukan pada Python.

Statemen else pada baris ke-15 artinya jika sisa_bagi bukan 1, maka akan ditambahkan "0" pada digit bilangan biner. Proses penambahannya ada pada baris ke-16, dan penjelasannya seperti pada penambahan digit "1" sebelumnya.

Menghitung Batas Bawah Pembagian

Menghitung Batas Bawah Pembagian Pada Python

Proses terakhir dari konversi bilangan biner adalah mencari batas bawah pembagian dengan angka 2. Proses ini akan mengupdate isi variabel number sehingga siap digunakan untuk proses pembagian selanjutnya.

Batas pembagian bawah pada Python disebut sebagai floor division dan memiliki operator (//). Misalkan 7 // 2, maka hasilnya adalah 3, bukan 3.5. 

Baris ke-19 berisi statemen number = number // 2, yang artinya variabel number nilainya diupdate menjadi batas bawah dari pembagian number sebelumnya dengan angka 2. Misalkan number awalnya 14, berarti setelah statemen ini nilainya menjadi 7.

Kondisi While Tidak Terpenuhi dan Proses Loop Selesai

variabel number akan terus berubah nilainya. Yang awalnya 14, jadi 7, 3, 1, dan 0. Ketika nilai variabel number sudah 0, maka syarat number > 0 sudah tidak berlaku dan akhirnya proses loop dihentikan.

Akhirnya akan terbentuk bilangan biner yang disimpan pada variabel biner. Jumlah digitnya akan sama dengan berapa kali proses loop terjadi. Pada kasus ini, hasil konversi bilangan 14 adalah "1110". Nilai ini dicek pada baris ke-19.

Posting Komentar untuk "Membuat Program Konversi Bilangan Bulat Menjadi Biner Menggunakan Python"