Cari di Blog Ini !

Google Area

Yahoo Area !

RSS UG Warta Warga

Categories

Berlangganan Artikel

Berlangganan Via Email :

Powered By: FeedBurner

 

October 2009
M T W T F S S
« Sep   Nov »
 1234
567891011
12131415161718
19202122232425
262728293031  

Follow Me !

Copyright !

  • 07Oct

    Nih, buat yang pada gak bisa download listingnya, bisa copas kode di bawah ini trus simpen dengan file extension *.CPP :

    #include<stdio.h>
    #include<math.h>
    #include<conio.h>

    int main() {
    int dec=0,flag=0.0;
    int bin, bit;
    double exp=0.0;

    lagi:
    clrscr();
    printf("Masukkan bilangan biner :");
    scanf("%d",& bin);
    while (bin) {
    bit=bin%10;
    if (bit!=0 && bit!=1) {
    flag=1;}
    bin=bin/10;
    dec=dec+bit*pow(2,exp);
    exp++;
    }

    if(flag==1) {printf("\n Bukan Angka biner ! \n");
    printf("Silahkan ulangi lagi ! \n");
    getch();
    flag=0;
    exp=0.0;
    dec=0;
    goto lagi;       }
    else {
    printf("\n Nilai dalam Desimal : %d \n",dec);}
    getch();
    return (0);
    }

    Output Program :

    gbr1

    Output saat program dijalankan.

    Output Saat dimasukkan bilangan biner.

    Output Saat dimasukkan bilangan biner.

    Output saat terjadi kesalahan penulisan

    Output saat terjadi kesalahan penulisan

    Logika Program Biner :

    Program ini merupakan program yang tujuannya adalah melatih kita dalam penggunaan perintah – perintah umum dalam C++ seperti PRINTF, SCANF, WHILE dan GOTO.
    Pada laporan kali ini, saya akan menulis tentang program untuk konversi nilai dari binary ke decimal. Untuk itu, perlu dilakukan beberapa pendeklarasian terlebih dahulu. Pada bagian deklarasi, saya mendeklarkan beberapa variable yang akan saya gunakan, yaitu bin, bit dan dec dalam tipe Integer ( int ), kemudian exp dalam double, dan flag.
    Pada saat dijalankan, program akan meminta user untuk memasukkan angka biner. Kemudian, program akan masuk ke dalam blok perulangan WHILE. Di dalam blok perulangan tersebut, akan dilakukan pengecekan nilai yang diinputkan oleh user. Cara pengecekannya adalah dengan membagi nilai user dengan angka 10. Perintahnya adalah bit = bin%10 . Apabila “sisa pembagiannya” (bit) tidak sama dengan 1 atau 0, maka program akan merubah nilai flag menjadi 1 kemudian langsung keluar dari perulangan tanpa menjalankan perintah selanjutnya. Bila sisa pembagian dari nilai user adalah 1 atau 0, maka program akan menjalankan proses perhitungan berikut :

    bin=bin/10;
    dec=dec+bit*pow(2,exp);
    exp++;

    setelah nilai dari bin menjadi 0, maka program akan keluar dari perulangan WHILE.

    Setelah keluar dari perulangan, ada statement kondisi untuk menyeleksi nilai dari variable flag. Untuk menyeleksi nilai flag tersebut, kita menggunakan perintah IF … Else. Jika nilai dari flag tersebut adalah 1, maka program akan memberitahukan user bahwa nilai yang diinputkan bukanlah nilai binary. Kemudian, program akan mengulang kembali ke awal untuk meminta user memasukkan nilai binary, karena ada perintah GOTO ( GOTO adalah perintah yang digunakan untuk mengalihkan program ke baris tertentu sesuai keinginan kita ). Jika nilai flag adalah 0, maka program akan mencetak hasil dari perhitungan di atas. Kemudian program akan selesai karena ada perintah RETURN.

    Contoh Soal untuk pembuktian Listing :

    Bila kita masukkan nilai 101 maka program akan langsung beralih ke baris perintah
    bit=bin%10;
    tanda % dalam perhitungan, mewakili sisa pembagian ( modulo ). Karena hasilnya adalah bit = 1, maka program berlanjut ke
    bin=bin/10;
    dec=dec+bit*pow(2,exp);
    exp++;

    kemudian, bin = 101/10 maka bin = 10 ( karena hasil dalam int ). Lalu dec = 0 + 1*pow(2,0) maka dec = 1. Pow adalah fungsi matematika untuk pangkat. Nilai awal dec dan exp adalah 0. Nilai exp bertambah karena ada perintah exp++ dibawahnya. Tanda ++ menandakan nilai akan bertambah secara otomatis. Karena nilai bin masih memenuhi syarat, maka perulangan akan terjadi kembali.

    bit = 10%10 => 0
    Untuk bin = 10 maka,
    bin = 10/10 => 1
    dec = 1+0*pow(2,1) => dec = 1

    bit =1%10 => 1
    kemudian, perulangan selanjutnya adalah bin =1 maka,
    bin = 1/10 => 0
    dec = 1 + 1*pow(2,2) => dec = 1 + 4 => dec = 5

    program akan keluar dari perulangan karena nilai bin sudah tidak memenuhi lagi. Maka, hasil akhir dari proses konversi nilai binary 101 ke nilai decimal adalah 5. ( dapat dilihat pada output program ).

    Di tunggu Jempol atasnya sama komentarnya dari kawan – kawan sekalian. ;)

    GD Star Rating
    loading...
    GD Star Rating
    loading...

    Posted by rasyid @ 8:58 pm

    Tags: , , , ,

9 Responses

WP_Orange_Techno
  • el7cosmosNo Gravatar Says:

    waah, saya tidak ikut praktikum pertama gara-gara telat…sayang sekali :(

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • rasyidNo Gravatar Says:

    Ada2 aja loe bie…bisa sampe telat begitu…hahaha…

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • ivaNo Gravatar Says:

    aduuhh..mau tpi saya g sekelas..
    sama g ya?
    truus cuma suruh buat logikanyaa..
    mauu dun logikanya..:P

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • rasyidNo Gravatar Says:

    Mau apaan kamu, iva ? Aduh, kalo masalah logika, silahkan sesuaikan dengan logika berfikir anda…hahha… :P

    Kasih jempol sama rate artikelnya yah….

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • ceperUGNo Gravatar Says:

    cid thanks y listingnya, cos w lom nyatet kmrn, oiya cid w pgn tanya tu tugas warta warga kaya apa cid w masih g ngerti?????????

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • rasyidNo Gravatar Says:

    seep, sama2 bro…

    Maksudnya tugas wartawarga apaan ? kalo kamu dapet tugas softskills dari dosen pengampu ( melalui Lecturer Message ), kamu mengerjakannya di BLOG PRIBADI. Baru kemudian di submit melalui menu “Tugas” yang ada di studentsite. Kalau di Wartawarga itu, sifat tulisannya bebas. Tidak berbau perkuliahan… ;)

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • el7cosmosNo Gravatar Says:

    cid…gw ngetest ya!

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • uingNo Gravatar Says:

    cara pake perintah GOTO gimana y?

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • rasyidNo Gravatar Says:

    @uing, perintah GOTO di C++ ? hampir sama dengan perintah GOTO pada pascal.

    Pertama, kamu harus memposisikan sebuah label yang nantinya akan dijadikan tempat untuk kembali (goto)

    Pada contoh program saya diatas, ada sebuah label lagi:…nah, nantinya, pada blok main program saya akan kembali ke posisi tersebut dengan menggunakan perintah goto seperti ini :

    goto lagi;

    mudah -mudahan bisa membantu :D

    GD Star Rating
    loading...
    GD Star Rating
    loading...

 
Add to Technorati Favorites

Tinggalkan Balasan

Perhatian: Komentar anda akan menunggu konfirmasi dari Acid baru kemudian ditampilkan.