Algoritma Yang Digunakan:
1. Jika kelipatan 1000 diganti dengan satu M
2. Sisanya jika di atas 900 ditambahkan CM
3. Sisanya jika di atas 500 ditambahkan D
4. Sisanya jika di atas 400 ditambahkan CD
5. Sisanya jika kelipatan 100 diganti dengan satu C //mengulang algoritma kelipatan 1000
6. Sisanya jika di atas 90 ditambahkan XC
7. Sisanya jika di atas 50 ditambahkan L
8. Sisanya jika di atas 40 ditambahkan CL
9. Sisanya jika kelipatan 10 diganti dengan satu C //mengulang algoritma kelipatan 1000 atau 100
10. Sisanya jika di atas 9 ditambahkan IX
11. Sisanya jika di atas 5 ditambahkan V
12. Sisanya jika di atas 4 ditambahkan IV
13. Sisanya ditambahkan I
Untuk algortima di atas 1000 bisa mengulang kelipatan 1000 ke atas dengan menemukan simbol penggantinya dalam Romawi
Implementasi ke Kode Java:
Dalam koding ini dugunakan If Else If
buatlah satu kelas dengan nama Konversi
/* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package inymgd; /** * * @author monday */ import java.io.*; public class Konversi { public static void main (String args[]) { try{ //deklarasi variabel penampung angka int angka; do{ //menampilkan input stream agar tampil dilayar System.out.print ("Masukkan Angka Desimal (1-4000): "); //input tersebut dibaca dan dimasukkan ke variabel angka BufferedReader bfr = new BufferedReader (new InputStreamReader(System.in)); angka = Integer.parseInt(bfr.readLine()); }while(angka < 1 || angka > 4000); //deklarasi variabel penampung romawiawi String romawi = ""; //implementasikan algoritma do{ if (angka >= 1000){ angka = angka - 1000; romawi = romawi + "M"; } else if (angka >= 900){ angka = angka - 900; romawi = romawi + "CM"; } else if (angka >= 500){ angka = angka - 500; romawi = romawi + "D"; } else if (angka >= 400){ angka = angka - 400; romawi = romawi + "CD"; } else if (angka >=100){ angka = angka - 100; romawi = romawi + "C"; } else if (angka >=90){ angka = angka - 90; romawi = romawi + "XC"; } else if (angka >=50){ angka = angka - 50; romawi = romawi + "L"; } else if (angka >=40){ angka = angka - 40; romawi = romawi + "XL"; } else if (angka >=10){ angka = angka - 10; romawi = romawi + "X"; } else if (angka >=9){ angka = angka - 9; romawi = romawi + "IX"; } else if (angka >=5){ angka = angka - 5; romawi = romawi + "V"; } else if (angka >=4){ angka = angka - 4; romawi = romawi + "IV"; } else if (angka >=1){ angka = angka - 1; romawi = romawi + "I"; } }while (angka > 0); //menampilkan hasil konversi System.out.println("Angka Romawi: "+ romawi); }catch (IOException io){ System.out.println ("Error: " + io.getMessage()); } } }
Tidak ada komentar:
Posting Komentar