Program Java: Konversi Angka Desimal ke Angka Romawi
konversi angka desimal ke romawi sudah pernah saya tampilkan dalam pemograman C++, sekarang saya akan berikan coding untuk konversi dari bilangan bulat ke desimal dengan pemograman java. Saya sendiri menemukan 2 macam coding untuk konversi bilangan bulat ke romawi. Jadi bisa anda jadikan refrensi.
Program Pertama
Coding Program bisa di download di sini
Program ke dua
Coding Program bisa di download di sini
selamat mencoba!!
refrensi:
http://adhit8.blogspot.com/2009/10/program-konversi-bilangan-bulat-desimal.html
Program Pertama
import java.util.*;
public class KonversiDesimalToRomawi {
public static void main (String args[])
{
int bil;
String tampil="";
//inisialisasi berupa array
String [] biasa = {"","I","II", "III", "IV", "V",
"VI", "VII", "VIII", "IX"};
String [] sepuluh = {"", "X", "XX","XXX","XL"};
String [] limapuluh = {"", "L", "LX", "LXX", "LXXX","XC"};
String [] seratus = {"", "C", "CC", "CCC", "CD"};
String [] limaratus = {"", "D", "DC", "DCC", "DCCC", "CM"};
String [] seribu = {"", "M", "MM", "MMM", "Mv", "v"};
// inputan dari keyboard
System.out.print("Masukkan bilangan desimal : ");
Scanner obj = new Scanner(System.in);
bil = obj.nextInt();
//kondisi dimana angka tdk lebih dari 5000
if (bil>5000)
{
System.out.println("Maaf.., Angka Desimal Yang Di "+
"Inputkan Harus Di Bawah 5000");
}
else
{
//defenisi
int lmrts = bil % 1000;
int srts = lmrts % 500;
int lmpl = srts % 100;
int spl = lmpl % 50;
int ak = spl % 10;
int a = bil/1000;
tampil += ""+seribu[a];
//aturan konversi desimal ke romawi
if ( (lmrts >=900) && (lmrts <= 999))
{
tampil += "CM";
//90
if( (lmpl >= 90) && (lmpl <= 99) )
{
tampil += "XC";
int f= ak/1;
tampil += ""+biasa[f];
}
else
{
int d = lmpl/50;
tampil += ""+limapuluh[d];
int e = spl/10;
tampil += ""+sepuluh[e];
int f= ak/1;
tampil += ""+biasa[f];
}
}
else
{
int b = lmrts/500;
tampil += ""+limaratus[b];
//400
if ( (srts >= 400)&& (srts <= 499) )
{
tampil += "CD";
//90
if( (lmpl >= 90) && (lmpl <= 99) )
{
tampil += "XC";
int f= ak/1;
tampil += ""+biasa[f];
}
else
{
int d = lmpl/50;
tampil += ""+limapuluh[d];
int e = spl/10;
tampil += ""+sepuluh[e];
int f= ak/1;
tampil += ""+biasa[f];
}
}
else
{
int c = srts/100;
tampil += ""+seratus[c];
if((lmpl >= 90)&&(lmpl <= 99))
{
tampil += "XC";
int f= ak/1;
tampil += ""+biasa[f];
}
else
{
int d = lmpl/50;
tampil += ""+limapuluh[d];
int e = spl/10;
tampil += ""+sepuluh[e];
int f= ak/1;
tampil += ""+biasa[f];
}
}
}
System.out.println("Maka angka Romawinya "+tampil);
}
}
}
public class KonversiDesimalToRomawi {
public static void main (String args[])
{
int bil;
String tampil="";
//inisialisasi berupa array
String [] biasa = {"","I","II", "III", "IV", "V",
"VI", "VII", "VIII", "IX"};
String [] sepuluh = {"", "X", "XX","XXX","XL"};
String [] limapuluh = {"", "L", "LX", "LXX", "LXXX","XC"};
String [] seratus = {"", "C", "CC", "CCC", "CD"};
String [] limaratus = {"", "D", "DC", "DCC", "DCCC", "CM"};
String [] seribu = {"", "M", "MM", "MMM", "Mv", "v"};
// inputan dari keyboard
System.out.print("Masukkan bilangan desimal : ");
Scanner obj = new Scanner(System.in);
bil = obj.nextInt();
//kondisi dimana angka tdk lebih dari 5000
if (bil>5000)
{
System.out.println("Maaf.., Angka Desimal Yang Di "+
"Inputkan Harus Di Bawah 5000");
}
else
{
//defenisi
int lmrts = bil % 1000;
int srts = lmrts % 500;
int lmpl = srts % 100;
int spl = lmpl % 50;
int ak = spl % 10;
int a = bil/1000;
tampil += ""+seribu[a];
//aturan konversi desimal ke romawi
if ( (lmrts >=900) && (lmrts <= 999))
{
tampil += "CM";
//90
if( (lmpl >= 90) && (lmpl <= 99) )
{
tampil += "XC";
int f= ak/1;
tampil += ""+biasa[f];
}
else
{
int d = lmpl/50;
tampil += ""+limapuluh[d];
int e = spl/10;
tampil += ""+sepuluh[e];
int f= ak/1;
tampil += ""+biasa[f];
}
}
else
{
int b = lmrts/500;
tampil += ""+limaratus[b];
//400
if ( (srts >= 400)&& (srts <= 499) )
{
tampil += "CD";
//90
if( (lmpl >= 90) && (lmpl <= 99) )
{
tampil += "XC";
int f= ak/1;
tampil += ""+biasa[f];
}
else
{
int d = lmpl/50;
tampil += ""+limapuluh[d];
int e = spl/10;
tampil += ""+sepuluh[e];
int f= ak/1;
tampil += ""+biasa[f];
}
}
else
{
int c = srts/100;
tampil += ""+seratus[c];
if((lmpl >= 90)&&(lmpl <= 99))
{
tampil += "XC";
int f= ak/1;
tampil += ""+biasa[f];
}
else
{
int d = lmpl/50;
tampil += ""+limapuluh[d];
int e = spl/10;
tampil += ""+sepuluh[e];
int f= ak/1;
tampil += ""+biasa[f];
}
}
}
System.out.println("Maka angka Romawinya "+tampil);
}
}
}
Coding Program bisa di download di sini
Program ke dua
import java.io.*;
public class konversi
{
public static void main (String[]args)
{
InputStreamReader in= new InputStreamReader (System.in);
BufferedReader rd = new BufferedReader(in);
String input=null;
int angka=0;
try
{
System.out.print("Masukkan Bilangan Bulat anda: ");
input=rd.readLine();
angka = Integer.parseInt(input);
if(angka<1||angka>5000)
{
System.out.println("Tahun harus dalam jangkuan 1....5000");
}
else{
while (angka>=1000){
System.out.print("M");
angka=angka-1000;
}
if (angka>=500){
if(angka>=900){
System.out.print("CM");
angka=angka-900;
}
else{
System.out.print("D");
angka=angka-500;
}
}
while (angka>=100){
if(angka>=400){
System.out.print("CD");
angka=angka-400;
}
else{
System.out.print("C");
angka=angka-100;
}
}
if(angka>=50){
if(angka>=90){
System.out.print("XC");
angka=angka-90;
}
else{
System.out.print("L");
angka=angka-50;
}
}
while(angka>=10){
if(angka>=40){
System.out.print("XL");
angka=angka-40;
}
else{
System.out.print("X");
angka=angka-10;
}
}
if(angka>=5){
if(angka==9){
System.out.print("IX");
angka=angka-9;
}
else{
System.out.print("V");
angka=angka-5;
}
}
while(angka>=1){
if(angka==4){
System.out.print("IV");
angka=angka-4;
}
else{
System.out.print("I");
angka=angka-1;
}
}
}
{
System.out.println("");
}
}
catch(IOException ioe)
{
System.out.println(ioe.getMessage());
System.exit(1);
}
catch(NumberFormatException nfe)
{
System.out.println(nfe.getMessage());
System.exit(1);
}
}
}
public class konversi
{
public static void main (String[]args)
{
InputStreamReader in= new InputStreamReader (System.in);
BufferedReader rd = new BufferedReader(in);
String input=null;
int angka=0;
try
{
System.out.print("Masukkan Bilangan Bulat anda: ");
input=rd.readLine();
angka = Integer.parseInt(input);
if(angka<1||angka>5000)
{
System.out.println("Tahun harus dalam jangkuan 1....5000");
}
else{
while (angka>=1000){
System.out.print("M");
angka=angka-1000;
}
if (angka>=500){
if(angka>=900){
System.out.print("CM");
angka=angka-900;
}
else{
System.out.print("D");
angka=angka-500;
}
}
while (angka>=100){
if(angka>=400){
System.out.print("CD");
angka=angka-400;
}
else{
System.out.print("C");
angka=angka-100;
}
}
if(angka>=50){
if(angka>=90){
System.out.print("XC");
angka=angka-90;
}
else{
System.out.print("L");
angka=angka-50;
}
}
while(angka>=10){
if(angka>=40){
System.out.print("XL");
angka=angka-40;
}
else{
System.out.print("X");
angka=angka-10;
}
}
if(angka>=5){
if(angka==9){
System.out.print("IX");
angka=angka-9;
}
else{
System.out.print("V");
angka=angka-5;
}
}
while(angka>=1){
if(angka==4){
System.out.print("IV");
angka=angka-4;
}
else{
System.out.print("I");
angka=angka-1;
}
}
}
{
System.out.println("");
}
}
catch(IOException ioe)
{
System.out.println(ioe.getMessage());
System.exit(1);
}
catch(NumberFormatException nfe)
{
System.out.println(nfe.getMessage());
System.exit(1);
}
}
}
Coding Program bisa di download di sini
selamat mencoba!!
refrensi:
http://adhit8.blogspot.com/2009/10/program-konversi-bilangan-bulat-desimal.html
:h:
BalasHapuskk
BalasHapusada kebalikannya ga ?
tolong di posting juga gan
untuk kepentingan tugas
tolong ya gan romawi to decimal :D