Deskripsi :
Bilangan Romawi adalah bilangan unik yang memiliki aturan-aturan yang berlaku dan terdiri dari huruf-huruf CAPITAL seperti I, X, C, M, V, L, dan v. Di Indonesia bilangan ini sangat jarang digunakan sekali, tapi untuk hal-hal tertentu saja. Pada dasarnya, bilangan Romawi memiliki bilangan dasar dan maksimal perulangan ganda pada huruf-huruf dalam suatu angka yaitu 3. Misal XXX = 30 bukan XXXX=40.
Pada dasarnya adapun aturan dari bilangan romawi tersebut adalah sebagai berikut :
- Angka romawi memiliki arti : I = 1 , V = 5, X = 10, L = 50, C = 100, D = 500, M = 100.
 - Romawi tidak mengenal 4 buah symbol yang di lakukan secara berurutan. Misal, IIII itu seharusnya IV, XXXX seharusnya LX, dsb.
 - Lambang romawi seperti IV, MC, CD, dsb, memiliki ciri khas yaitu Simbol pertama memiliki nilai Lebih Kecil dari pada simbol kedua.
 - Jika ditemukankondisi nomor 3 maka pembacaanya adalah lambang kedua dikurangi lambang pertama.
 - Jika ditemukan Lambang seperti contoh pada nomor 3 maka yang di bandingkan maju 2 langkah, misal: CMII pertama-tama kita bandingkan karakter pertama dan kedua dahulu yaitu C dan M. C memiliki nilai yang kurang dari M. Selanjutnya, kita membandingkan I dengan I bukan M dengan I.
 - Berdasarkan nomor 4 dan 5 diperoleh pembacaan bila CMII maka akan dibaca M – C + I + I.
 - Jika kondisi Lambang Kedua Lebih besar dari pada lambang pertama, maka pembacaan tinggal dijumlahkan saja misal: MVII maka M + V + I + I.
 
Source code Program :
- 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);
 - }
 - }
 - }
 
No comments:
Post a Comment