Dalam latihan kode program bahasa Pascal kali ini kita akan bahas cara mengkonversi angka desimal ke angka biner. Materi ini berhubungan dengan logika matematika, array, serta konsep perulangan while do dan for do.
Soal Konversi Bilangan Desimal ke Biner
Buatlah kode program dalam bahasa Pascal yang menerima satu inputan angka desimal (basis 10), dan menampilkan output dalam bentuk angka biner (basis 2).
Berikut hasil yang diinginkan (1):
## Program Pascal Konversi Desimal ke Biner ## ================================================ Input angka desimal: 130 Angka binernya adalah : 10000010
Berikut hasil yang diinginkan (2):
## Program Pascal Konversi Desimal ke Biner ## ================================================ Input angka desimal: 300 Angka binernya adalah : 100101100
Tips Membuat Kode Program Konversi Desimal ke Biner
Soal ini melatih pemahaman terkait logika matematika, tipe data array dan konsep perulangan (looping). Berikut tutorial pendahuluan yang bisa diikuti:
- Pengertian Variabel dalam Bahasa Pascal
- Cara Penggunaan Perintah Read dan Readln
- Pengertian Tipe Data Integer Pascal
- Pengertian Tipe Data Array Pascal
- Operator Aritmatika Pascal
- Perulangan FOR DO Bahasa Pascal
- Perulangan WHILE DO Bahasa Pascal
Pemecahan dari soal ini sangat bergantung ke rumus cara konversi angka desimal menjadi angka biner. Salah satu solusi yang sering dipakai adalah menyimpan sisa hasil bagi dengan angka 2 hingga tidak ada lagi yang bisa di bagi.
Sebagai contoh, berapa angka biner dari 25 desimal? berikut rumusnya =
25/2 = 12, sisa 1 12/2 = 6, sisa 0 6/2 = 3, sisa 0 3/2 = 1, sisa 1 1/2 = 0, sisa 1
Baca angka sisa dari bawah ke atas = 11001, maka 25 desimal = 11001 biner.
Contoh lain, berapa angka binar dari 123?
123/2 = 61, sisa 1 61/2 = 30, sisa 1 30/2 = 15, sisa 0 15/2 = 7, sisa 1 7/2 = 3, sisa 1 3/2 = 1, sisa 1 1/2 = 0, sisa 1
Baca angka sisa dari bawah ke atas = 1111011, maka 123 desimal = 1111011 biner.
Di dalam kode program nanti, kita perlu perulangan untuk mencari angka sisa (memakai operator mod). Karena angka ini cukup banyak, bisa disimpan ke dalam array. Selanjutnya proses pembacaan array harus dilakukan dari angka terakhir (perulangan menurun).
Kode Program Bahasa Pascal Konversi Desimal ke Biner
Berikut salah satu solusi dari soal konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Pascal:
program konversi_bilangan_desimal_ke_biner; uses crt; var a: array[0..9] of integer; n,i: integer; begin clrscr; writeln('## Program Pascal Konversi Desimal ke Biner ##'); writeln('================================================'); writeln; write('Input angka desimal: '); readln(n); i := 0; while n > 0 do begin a[i] := n mod 2; n := n div 2; i := i+1; end; write('Angka binernya adalah : '); for i := i-1 downto 0 do write(a[i]); readln; end.
Di baris 4-5 terdapat pendefinisian 3 buah variabel, yakni array a untuk menampung 10 element, n untuk menampung nilai awal (angka desimal yang diinput user), dan i sebagai variabel bantu yang dipakai untuk proses perulangan.
Di baris 13, inputan user akan ditampung ke dalam variabel n.
Perulangan while do di baris 16-21 dipakai untuk mencari sisa hasil bagi. Angka sisa ini disimpan ke dalam array a[i] dalam setiap iterasi. Operator mod dipakai untuk mencari sisa hasil bagi, dan operator div dipakai untuk pembagian angka bulat.
Adapun perulangan for do di baris 25-26 berfungsi untuk menampilkan sisa hasil bagi yang tersimpan di dalam array a. Namun kali ini prosesnya menurun, mulai dari i := i-1Â hingga 0.
Demikian kode program konversi bilangan desimal ke bilangan biner menggunakan bahasa pemrograman Pascal. Semoga tutorial ini bisa bermanfaat.