Page 158 - KM Informatika-BS-KLS-IX
P. 158

Input: Masukan untuk program ini terdiri atas sebuah bilangan biner dengan
              parity bit genap dengan nama bilBiner
              bilBiner : merupakan bilangan yang akan dikonversi

              Output: Tulisan di layar berupa isi dari variabel bilDesimal
              bilDesimal : bilangan desimal yang merupakan hasil konversi dari bilangan
              bilBiner

              Jika masukan bilBiner bukanlah bilangan biner yang banyaknya bit 1 genap,
              program menampilkan hasil -1.
              Tabel di bawah ini adalah contoh input dan output dari program ini.

                   Nomor             Contoh Input            Contoh Output
               1                1111                    7
               2                10000                   -1

              Untuk membuat program ini, kalian harus membuat sebuah function. Function
              yang perlu kalian buat ialah function BinerEvenToDecimal. Untuk membuat
              function ini, kalian dapat memodifikasi function BinerToDecimal.



              Perbedaan  dari  function  BinerEvenToDecimal  dengan  function
              BinerToDecimal

              Parameter  function merupakan bilangan biner dengan  parity bit genap.
              Oleh  karena itu, untuk  mengubah  bilangan menjadi desimal, kalian perlu
              melakukan pemeriksaan  terlebih  dahulu  apakah  bilangan  biner  tersebut
              adalah bilangan yang benar.

              •   Jika bilangan tersebut  benar, kembalikan bilangan desimal  yang
                  merupakan hasil konversi dari bilangan biner tersebut.
              •   Jika bilangan tersebut  tidak  benar, kembalikan bilangan -1  yang
                  menunjukkan bilangan tersebut bukan bilangan yang benar.
              Modifikasi yang perlu dilakukan adalah:

              1.  Tidak mengonversi digit paling akhir dari bilangan biner.
              2.  Menghitung banyaknya bit 1 dari bilangan biner. Jika
                  a.  banyaknya bit 1 adalah ganjil, kembalikan -1;
                  b.  banyaknya bit 1 adalah 0, kembalikan bilangan desimal hasil konversi
              Untuk menghitung banyaknya bit, tentu diperlukan sebuah variabel tambahan
              untuk menampung banyaknya bit 1 yang sudah ditemukan.


               142     Informatika SMP Kelas IX
   153   154   155   156   157   158   159   160   161   162   163