Program Pascal Untuk Konversi Desimal ke Romawi ke Biner ke Hexadesimal - kali ini saya melanjutkan program saya sebelumnya yaitu konversi dari desimal ke biner, untuk kali ini saya akan membagi dengan kawan - kawan program konversi dari Desimal > Romawi > Biner > Hexadesimal. namun seperti biasa kawan - kawan jangan terlalu terpaku pada program ini, program ini semata - mata hanya untuk pengetahuan.
Baca juga : Contoh Program Sederhana PHP Untuk Mengitung Bilangan Prima
anda dapat mengetik script program yang panjang ini di bawah atau mengcopy pastenya di program pascal anda. untuk lebih jelasnya lihat script di bawah :
Baca juga : Contoh Program Sederhana PHP Untuk Mengitung Bilangan Prima
anda dapat mengetik script program yang panjang ini di bawah atau mengcopy pastenya di program pascal anda. untuk lebih jelasnya lihat script di bawah :
program konversi_desimal_romawi_biner_hexa;
uses crt;
var masukan, i : integer;
{*** Fungsi untuk mengkoversi nilai integer menjadi string ***}
function inttostr(i : longint) : string;
var
s: string;
begin
str(i, s);
inttostr := s;
end;
{*** Fungsi untuk mengkonversi bilangan desimal menjadi angka romawi ***}
function convroman(intangka : integer): string;
var
i : integer;
intseribu, intlimaratus : integer;
intseratus, intlimapuluh : integer;
intsepuluh, intlima, intsatu : integer;
strseribu, strlimaratus : string;
strseratus, strlimapuluh : string;
strsepuluh, strlima, strsatu : string;
strromawi : string;
begin
i:=0;
strromawi :=''; strseribu :='';
intseribu := 0; strlimaratus :='';
intlimaratus := 0; strseratus :='';
intseratus := 0; strlimapuluh :='';
intlimapuluh := 0; strsepuluh :='';
intsepuluh := 0; strlima :='';
intlima := 0; strsatu :='';
intsatu := 0;
{==========================================}
intsatu := intangka;
intseribu := intangka div 1000;
intsatu := intsatu - (intseribu * 1000);
intlimaratus := intsatu div 500;
intsatu := intsatu - (intlimaratus * 500);
intseratus := intsatu div 100;
intsatu := intsatu - (intseratus * 100);
intlimapuluh := intsatu div 50;
intsatu := intsatu - (intlimapuluh * 50);
intsepuluh := intsatu div 10;
intsatu := intsatu - (intsepuluh * 10);
intlima := intsatu div 5;
intsatu := intsatu - (intlima * 5);
{=================================================}
for i:= 0 to intseribu-1 do
strseribu := strseribu + 'M';
if intseratus <> 4 then
for i:=0 to intlimaratus-1 do
strlimaratus := strlimaratus + 'D';
for i:=0 to intseratus-1 do
strseratus := strseratus + 'C';
if intseratus = 4 then
if intlimaratus = 1 then
strseratus := strromawi + 'CM'
else
strseratus := strromawi + 'CD';
if intsepuluh <> 4 then
for i:=0 to intlimapuluh -1 do
strlimapuluh := strlimapuluh + 'L';
for i:=0 to intsepuluh -1 do
strsepuluh := strsepuluh + 'X';
if intsepuluh = 4 then
if intlimapuluh = 1 then
strsepuluh := strromawi + 'XC'
else
strsepuluh := strromawi + 'XL';
if intsatu <> 4 then
for i:=0 to intlima-1 do
strlima := strlima + 'V';
for i:=0 to intsatu-1 do
strsatu := strsatu + 'I';
if intsatu = 4 then
if intlima = 1 then
strsatu := strromawi + 'IX'
else
strsatu := strromawi + 'IV';
strromawi := strseribu + strlimaratus + strseratus + strlimapuluh +
strsepuluh + strlima + strsatu;
convroman := strromawi;
end;
{*** Akhir function konversi romawi ***}
{======================================}
{*** Function untuk konversi desimal ke binear ***}
function binear(intangka : integer): string;
var
intnilai : longint;
intlen : integer;
j : integer;
strhasil : string;
strend : string[1];
strsub : string;
begin
strhasil :='';
strend :='';
strsub :='';
repeat
intnilai := intangka mod 2;
intangka := intangka div 2;
strhasil := strhasil + inttostr(intnilai);
until intangka = 1;
intlen := length(strhasil);
strend := inttostr(intangka);
for j := intlen downto 1 do
strsub := strsub + copy(strhasil, j, 1);
binear := strend + strsub;
end;
{*** Akhir dari function konversi desimal ke biner ***}
{=====================================================}
{*** Function untuk mengkonversi dari desimal ke hexa desimal ***}
function hexadec(intangka :integer): string;
var
intnilai : longint;
intlen : integer;
j : integer;
strhasil : string;
strhexa : string;
strend : string[1];
strsub : string;
begin
strhasil :='';
strhexa :='';
strsub :='';
strend :='';
repeat
intnilai := intangka mod 16;
intangka := intangka div 16;
case intnilai of
10 : strhexa := 'A';
11 : strhexa := 'B';
12 : strhexa := 'C';
13 : strhexa := 'D';
14 : strhexa := 'E';
15 : strhexa := 'F';
else
strhexa := inttostr(intnilai);
end;
strhasil := strhasil + strhexa;
until intangka < 16;
intlen := length(strhasil);
strend := inttostr(intangka);
for j := intlen downto 1 do
strsub := strsub + copy(strhasil, j, 1);
hexadec := strend + strsub;
end;
{*** Akhir dari Function untuk mengkonversi desimal ke hexadesimal ***}
{=====================================================================}
{*** Program Utama ***}
{=====================================================================}
begin
clrscr;
textcolor(10);
write('Masukan nilai yang akan di konversi :');
read(masukan);
writeln('Romawi : ',convroman(masukan));
writeln('Biner : ',binear(masukan));
writeln('Hexadesimal : ',hexadec(masukan));
for i :=0 to 4 do
writeln(' ');
write('{==========Copyright by @Jin_Toples==========}');
read(masukan);
end.
Program Pascal Untuk Konversi Desimal ke Romawi ke Biner ke Hexadesimal anda sekarang sudah selesai, baca juga tutorial program pascal lainnya.



0 komentar