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