Cari di Blog Ini !

Google Area

Yahoo Area !

RSS UG Warta Warga

Categories

Berlangganan Artikel

Berlangganan Via Email :

Powered By: FeedBurner

 

November 2009
M T W T F S S
« Oct   Dec »
 1
2345678
9101112131415
16171819202122
23242526272829
30  

Follow Me !

Copyright !

  • 05Nov

    Halo guys ! Akhirnya, setelah sekian lama, saya bisa kembali menulis program lagi. Program yang kali ini akan saya bahas adalah program untuk persiapan Ujian OSK. Sebelumnya, terima kasih untuk rico ( mr. cool / ricool ) atas postingan sebagian besar coding-an pada grup 2IA01 (grup tidak terbuka untuk umum) yang ada di Facebook ( eksis gitu loh…hahaha… ). Berhubung kodingan yang terlalu panjang, saya mengambil inisiatif untuk meringkas kode tersebut ( walaupun masih tetap panjang …hehehe.. :P ).

    Pada program ini terdapat 3 sub-program penting yang harus kita tulis, yaitu :

    1. Sub program untuk konversi dari angka Biner ke Desimal.
    2. Sub program untuk konversi dari angka Desimal ke Biner.
    3. Sub program untuk enentukan gerbang logika.

    Pada sub program yang ke 3, terdapat beberapa sub program lagi, tergantung pilihan yang nantinya akan user inputkan.

    Berikut ini adalah hasil kreasi saya ( karena adanya batasan layar, kode yang tampil mungkin tidak maksimal ) :

    #include "stdio.h"
    #include "math.h"
    #include "conio.h"


    void binary(int a) {
    if(a>1) {
    binary(a/2);
    }
    printf("%d",a%2);
    }

    void main () {
    int pil;
    do {
    clrscr();
    gotoxy(24,1);
    printf("Listing Ujian OSK kelas 2IA01 \n \n");
    gotoxy(25,3);
    printf("+-------------------------+\n");
    gotoxy(25,4);
    printf("| Menu Ujian |\n");
    gotoxy(25,5);
    printf("+-------------------------+\n");
    gotoxy(25,6);
    printf("| 1. Biner ke Desimal |\n");
    gotoxy(25,7);
    printf("| 2. Desimal ke Biner |\n");
    gotoxy(25,8);
    printf("| 3. Gerbang Logika |\n");
    gotoxy(25,9);
    printf("| 4. Exit |\n");
    gotoxy(25,10);
    printf("+-------------------------+\n \n");
    printf("Masukkan pilihan anda : ");
    scanf("%d",&pil);
    switch (pil) {
    case 1 : {
    int dec=0,flag=0.0;
    int bin, bit;
    double exp=0.0;

    clrscr();
    printf("\n Silahkan 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) {
    printf("\nBukan angka Biner !!\n");
    }
    else {
    printf("\nAngka dalam Desimal : %d \n",dec);
    }
    getch();
    break;
    }
    case 2 : {
    int in;

    clrscr();
    printf("\n Masukkan bilangan Desimal : ");
    scanf("%d",&in);
    if(in<0) {
    printf("Input SALAH ! ");
    }
    printf("\n Hasilnya adalah : ");
    binary(in);
    getch();
    break;
    }
    case 3 : {
    int c,d,ch;
    char user;

    do {
    clrscr();
    printf ("\n Silahkan input dua angka Biner : \n");
    scanf("\n %d \n %d",&c,&d);
    } while(!(((c==1)||(c==0)) && (d==1)||(d==0)));
    printf("Pilih Logical Gate yang akan Anda gunakan : \n");
    printf("====================== \n");
    printf("| 1. Logika .AND. | \n");
    printf("| 2. Logika .OR. | \n");
    printf("| 3. Logika .NOT. | \n");
    printf("| 4. Logika .NAND. | \n");
    printf("| 5. Logika .NOR. | \n");
    printf("| 6. Logika .EXOR. | \n");
    printf("| 7. Logika .EXNOR. | \n");
    printf("====================== \n");
    scanf("%d", &ch);
    switch(ch) {
    case 1 : {
    if (c==1 && d==1) {
    printf("Hasilnya : 1");}
    else printf("Hasilnya : 0");
    break;
    }
    case 2 : {
    if (c==0 && d==0) {
    printf("Hasilnya : 0");}
    else printf("Hasilnya : 1");
    break;
    }
    case 3 : {
    if (c==1 && d==1) {
    printf("Hasilnya : 1");}
    else printf("Hasilnya : 0");
    break;
    }
    case 4 : {
    if (c==1 && d==1) {
    printf("Hasilnya : 0");}
    else printf("Hasilnya : 1");
    break;
    }
    case 5 : {
    if (c==0 && d==0) {
    printf("Hasilnya : 1");}
    else printf("Hasilnya : 0");
    break;
    }
    case 6 : {
    if (c==d) {
    printf("Hasilnya : 0");}
    else printf("Hasilnya : 1");
    break;
    }
    case 7 : {
    if (c==d) {
    printf("Hasilnya : 1");}
    else printf("Hasilnya : 0");
    break;
    }
    }
    getch();
    break;
    }
    }
    } while (pil!=4);
    }

    Hmm…kira – kira seperti itulah code dari program persiapan ujian yang saya buat. Jika kalian bingung membaca kodingan di atas, saya sertakan file berekstensi *.CPP yang bisa kalian download DISINI. Untuk cara membukanya :

    1. Download file program di atas dengan klik TOMBOL INI.
    2. Simpan pada directori BIN yang ada di dalam folder program C/C++ kalian.
    3. Jalankan TC.Exe kemudian open file yang sudah kalian download tadi.

    Beres deh…. semoga ujian kita minggu depan lancar dan aman terkendali. Amiiiinnnn….;)

    Oh iya, ditunggu jempol sama komentarnya yach…. ;) ( komentar aja males banget deh…heran….wkwkwk… )

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

    Posted by rasyid @ 1:21 am

    Tags: , , , , , ,

9 Responses

WP_Orange_Techno
  • RcoolNo Gravatar Says:

    mantap ganzz….

    good luck buat ujian kita hari senin nanti :)

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

    Sip dahhhh….gud luck ! ;)

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • budiartha artNo Gravatar Says:

    wiidih,,
    om acid programnya keren..
    tapi masi bagusan program Hello World gw..
    atau ga program menu yang musti milih exit..

    wkwkwk

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

    Hahaha…elo mah gelo sih bud….masa buat program menu, tapi gak bisa dipilih selain pilihan exit…ada2 aja loe…haha..

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

    numpang donlot nih tadz….
    skalian nanya dh, ni konversi dari biner ke desimalnya bisa lbih dari 5 digit gk?

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

    yang lebih dari 5 belom bisa…kenapa gak bisa, soalnya tipe data integer kan rentangnya dari -32 ribu sekian sampai +32 ribu sekian….jadi cuman 5 digit ( 32xxx )…kalau mau yang lebih dari 5, paling mungkin kita bacanya per karakter ( input dibaca sebagai string ) baru tiap karakter itu dirubah ke tipe integer. Namun, sampai sekarang , saya masih bingung menerapkan cara tersebut di C…. kalau di VB seh bisa…hahha…

    GD Star Rating
    loading...
    GD Star Rating
    loading...
  • dessy rabiah paradhitaNo Gravatar Says:

    aduhhhh makasi ya sebelum nya

    tapi jujur ya gw ga ngrti kya gni2 an kalu bkn tugas juga ga bakal gw bikin hahahahaha ya gw anak gundar tpi diklimlng lo gundr mana. jujur ya gw ga bgtu paham bgt kya gnian maka nya ajarin gw lo kan nak ti….

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

    aciiidd.. blognya seru deh . bagus . iri gw . hahaha

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

    Hehe….thx ya fit…wah, curang…dipake bwt ngomen jg blog gw….hahahah….

    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.