Program Ascii_Arickanjass;
uses crt;
{@arickanjass 2012
http://www.arickanjass.blogspot.com/}
var
sisa, desimal, b, kode_ascii, biner, menu, temp : longint;
huruf,keluar : char;
biner_string : string;
procedure ascii;
begin
temp := kode_ascii;
biner_string := '';
repeat
begin
if kode_ascii mod 2 = 0 then
biner_string := '0' + biner_string
else
biner_string := '1' + biner_string;
kode_ascii := kode_ascii div 2;
end;
until kode_ascii = 0;
kode_ascii := temp;
end;
procedure karakter;
begin
huruf := chr(kode_ascii);
end;
procedure nomor;
begin
kode_ascii := ord(huruf);
end;
procedure binary;
begin
b:= 1;
repeat
sisa := biner mod 10;
biner := biner div 10;
kode_ascii := kode_ascii + sisa * b;
b := b * 2;
until biner = 0;
end;
begin
{copyright @arickanjass 2012.
allright reserved. dont edit & copy without trademark!}
repeat
clrscr;
writeln ('MENU UTAMA');
writeln ('');
writeln ('[1] kode ascii ke karakter dan biner');
writeln ('[2] karakter ke kode ascii dan biner');
writeln ('[3] biner ke kode ascii dan karakter');
writeln ('[4] keluar');
writeln ('');
write ('masukkan pilihan anda : ');
readln (menu);
writeln ('');
if menu = 1 then
begin
write ('masukkan kode ascii : ');
readln (kode_ascii);
ascii;
karakter;
writeln ('karakter ascii = ',huruf);
writeln ('biner ascii = ',biner_string);
end
else
if menu = 2 then
begin
write ('masukkan karakter : ');
readln (huruf);
nomor;
ascii;
writeln ('kode ascii = ',kode_ascii);
writeln ('biner ascii = ',biner_string);
end
else
if menu = 3 then
begin
write ('masukkan biner : ');
readln (biner);
binary;
karakter;
writeln ('kode ascii = ',kode_ascii);
writeln ('karakter ascii = ',huruf);
end
else
if menu = 4 then
begin
keluar := 'T';
break;
end
else
writeln ('anda salah input');
writeln ('');
write ('ingin coba lagi [Y/T] : ');
readln (keluar);
until upcase(keluar) = 'T';
end.