July 15, 2024

Mentransformasikan Bilangan Integer Ke Bilangan Biner Menggunakan Delphi Console

2 min read

Hai adek-adek Mahasiswa PalComTech….!!! Masih ingat kan materi tutorial kita sebelumnya tentang Chromosome Algoritma Genetika ???. Naah.. Menyambung materi pada tutorial tersebut, kali ini kita akan coba mentransformasikan bilangan integer ke dalam bentuk bilangan biner menggunakan Delphi Console. Sebelumnya mari perhatikan deret perhitungan berikut :

Perhitungan ke-1 :

30     =    2 x 15 + 0    ->    angka 30 didapat dari 2 x 15 yg hasilnya adalah 30 dan sisa hasil baginya 0 (nol).

Perhitungan ke-2 :

15     =    2 x 7 + 1    ->    angka 15 didapat dari 2 x 7 yg hasilnya adalah 14 dan sisa hasil baginya 1.

Perhitungan ke-3 :

7       =    2 x 3 + 1      ->    angka 3 didapat dari 2 x 3 yg hasilnya adalah 6 dan sisa hasil baginya 1.

Perhitungan ke-4 :

3       =    2 x 1 + 1      ->   angka 1 didapat dari 2 x 1 yg hasilnya adalah 2 dan sisa hasil baginya 1.

Perhitungan ke-5 :

1       =    (untuk menghasilkan sisa bagi 1 atau 0, angka integer 1 tidak bisa dibagi 2, sehingga 1 dijadikan nilai biner dalam perhitungan terakhir dari angka 30).

Sehingga nilai biner dari angka 30 adalah 11110.

Permasalahannya sekarang adalah bagaimana caranya mengubah perhitungan manual sederhana diatas kedalam bentuk kode program menggunakan Delphi Console. Mari kita perhatikan Algoritma berikut ini :

1)      Siapkan variabel untuk menyimpan angka integer(angka dan Bilangan), hasil pembagian (hasil), sisa pembagian (sisa), nilai biner tiap kali pembagian (Bin), dan variabel akumulasi nilai biner (Biner dan Nilai_Biner).

2)      Input data kedalam variabel Angka

3)      Transfer data dari variabel Angka kedalam variabel Bilangan untuk diproses lebih lanjut.

4)      Cari hasil pembagian data dalam variabel Bilangan dengan angka 2 à Hasil := Bilangan div 2

5)      Asumsikan bahwa nilai awal untuk variabel Biner tidak berisi data atau tidak ada karakter apapun didalamnya, à Biner := ‘  ‘,

6)      Lakukan Looping untuk proses berikut selagi nilai hasil >= 1 ;

  1. Cari nilai sisa pembagian variabel Bilangan dengan angka 2, à Sisa := Bilangan mod 2
  2. Setelah didapat Hasil dan Sisa pembagian, maka untuk sementara cetaklah dulu datanya.
  3. Periksa data yang ada di variabel Sisa, apakah datanya adalah 1 (satu) atau 0 (Nol), jika ya, maka baik 1 atau 0 akan disimpan kedalam variabel Bin.
  4. Akumulasikan nilai Bin bersama nilai Awal Biner, kemudian simpan kedalam variabel Biner. à  Biner := Bin + Biner
  5. Transferlah Hasil pembagian kedalam variabel Bilangan à Bilangan := Hasil
  6. Lakukan kembali langkah 4 dan 6.a didalam tiap kali perulangan ini.
  7. Diakhir pengulangan ini, pasti akan didapat kan Sisa pembagian = 1. Akumulasikan nilai sisa pembagian terakhir ini bersama nilai yang ada di variabel Biner (pada poin 6.d) à Nilai_Biner := ‘1’ + Biner

7)      Setelah perulangan berakhir, maka cetaklah akumulasi Nilai Biner yang didapat untuk angka integer tersebut.

Masih bingung gimana cara buat kode programnya???? Udah dech.. gk usah bingung tingkat dewa pake bangeudh lah… hehehe… 😀 :D.  Langsung aja kita aktifkan Delphi Console dan silahkan adek-adek ketik baris kode program sederhana dibawah ini :

[sourcecode]

Program Chromosome_Genap_Biner;

{$APPTYPE CONSOLE}

Uses

SysUtils;

Var

angka, Hasil, Sisa, bilangan : Integer;

Biner, Nilai_biner : String;

Bin : char;

[/sourcecode]

Coding lengkap dapat dilihat disini

Dan eksekusi kode program diatas, seperti tampilan dibawah ini :

transformasi transformasi

Pemahaman pada tutorial kali ini akan mendekati sempurna, jika adek-adek memperhatikan dan memahami materi pada tutorial sebelumnya yaitu Mengenal Chromosome Algoritma Genetika Untuk Mengubah Bilangan Integer Genap ke Bilangan Biner. Selamat mencobanya dan sekian tutorial dari saya kali ini. Sampai jumpa di tutorial selanjutnya… tetap semangat belajar ya adek-adek… bye..!!

Leave a Reply

Your email address will not be published. Required fields are marked *

Copyright © All rights reserved. | Newsphere by AF themes.