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..
).
Pada program ini terdapat 3 sub-program penting yang harus kita tulis, yaitu :
- Sub program untuk konversi dari angka Biner ke Desimal.
- Sub program untuk konversi dari angka Desimal ke Biner.
- 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 :
- Download file program di atas dengan klik TOMBOL INI.
- Simpan pada directori BIN yang ada di dalam folder program C/C++ kalian.
- 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… )
loading...
loading...





November 5th, 2009 at 8:31 am
mantap ganzz….
good luck buat ujian kita hari senin nanti
loading...
loading...
November 5th, 2009 at 9:40 am
Sip dahhhh….gud luck !
loading...
loading...
November 8th, 2009 at 12:40 am
wiidih,,
om acid programnya keren..
tapi masi bagusan program Hello World gw..
atau ga program menu yang musti milih exit..
wkwkwk
loading...
loading...
November 8th, 2009 at 12:50 am
Hahaha…elo mah gelo sih bud….masa buat program menu, tapi gak bisa dipilih selain pilihan exit…ada2 aja loe…haha..
loading...
loading...
November 8th, 2009 at 2:21 pm
numpang donlot nih tadz….
skalian nanya dh, ni konversi dari biner ke desimalnya bisa lbih dari 5 digit gk?
loading...
loading...
November 8th, 2009 at 8:26 pm
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…
loading...
loading...
November 21st, 2009 at 7:12 pm
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….
loading...
loading...
November 24th, 2009 at 3:01 pm
aciiidd.. blognya seru deh . bagus . iri gw . hahaha
loading...
loading...
November 24th, 2009 at 4:28 pm
Hehe….thx ya fit…wah, curang…dipake bwt ngomen jg blog gw….hahahah….
loading...
loading...