Di tutorial kali ini saya ingin membagi sedikit ilmu bagaimana cara convert angka romawi ke angka desimal menggunakan bahasa pemrograman Dart,
Adapun code nya bisa dilihat dibawah ini:
Dari kode diatas jika dijalankan maka akan keluar hasil convert angka romawi III menjadi angka desimal 3
void main() { print(convertRomawiToNumber("III")); } String convertRomawiToNumber(String? romawi) { Map<String, int> romawiToNumber = { "I": 1, "V": 5, "X": 10, "L": 50, "C": 100, "D": 500, "M": 1000 }; int total = 0; List<int> listRomawiToNumber = []; //cek invalid INPUT if (romawi == null || romawi.length < 1) { return "INVALID INPUT"; } //cek invalid ROMAWI for (int i = 0; i < romawi.length; i++) { if (!(romawiToNumber.keys.toList().contains(romawi.split("")[i]))) { return "INVALID ROMAWI"; } } //Convert ROMAWI TO NUMBER for (int i = 0; i < romawi.length; i++) { listRomawiToNumber.add(romawiToNumber[romawi.split("")[i]]!); } //SET DEFAULT TOTAL WITH LAST VALUE LIST RESULT ROMAWI TO NUMBER total += listRomawiToNumber[listRomawiToNumber.length - 1]; //LOGIC CHECK ROMAWI for (int i = listRomawiToNumber.length - 1; i >= 0; i--) { if (i >= 1) { if (listRomawiToNumber[i] <= listRomawiToNumber[i - 1]) { total += listRomawiToNumber[i - 1]; } else { total -= listRomawiToNumber[i - 1]; } } } //RETURN TOTAL return total.toString(); }

