Konversi Bilangan Angka ke Romawi dan Sebaliknya dengan C# dan VB.NET
Apa itu Bilangan Romawi ?
Bilangan romawi adalah bilangan unik yang memiliki aturan-aturan yang berlaku yang terdiri dari huruf Capital seperi I,X,C,M,V,L. Bilangan romawi memiliki bilangan dasar dan maksimal perulangan ganda pada huruf-huruf dalam suatu angka yaitu 3 kali, misalnya XXX = 30 atau III = 3.
oke langsung saja Konversi Bilangan Angka ke Romawi dengan C# dan VB.NET,
1. Buat sebuah project Windows Form dengan visual studio anda
2. Tambahkan 4 Textbox 2 button dan 4 label lalu desain form seperti gambar dibawah ini

3. Tambahkan namespace System.Collections.Generic
4. Buat fungsi dengan nama RomanToInteger (fungsi ini digunakan untuk merubah romawi ke angka)
C#
public int RomanToInteger(string StrRomanValue) { Dictionary<string,int> RomanNumbers = new Dictionary<string,int>(); RomanNumbers.Add("M", 1000); RomanNumbers.Add("CM", 900); RomanNumbers.Add("D", 500); RomanNumbers.Add("CD", 400); RomanNumbers.Add("C", 100); RomanNumbers.Add("XC", 90); RomanNumbers.Add("L", 50); RomanNumbers.Add("XL", 40); RomanNumbers.Add("X", 10); RomanNumbers.Add("IX", 9); RomanNumbers.Add("V", 5); RomanNumbers.Add("IV", 4); RomanNumbers.Add("I", 1); int result = 0; foreach (var pair in RomanNumbers) { while (StrRomanValue.IndexOf(pair.Key.ToString()) == 0) { result += int.Parse(pair.Value.ToString()); StrRomanValue = StrRomanValue.Substring(pair.Key.ToString().Length); } } return result; }
VB.NET
Private Function RomanToInteger(ByVal StrRomanValue As String) As Integer Dim RomanNumbers As New Dictionary(Of String, Integer)() RomanNumbers.Add("M", 1000) RomanNumbers.Add("CM", 900) RomanNumbers.Add("D", 500) RomanNumbers.Add("CD", 400) RomanNumbers.Add("C", 100) RomanNumbers.Add("XC", 90) RomanNumbers.Add("L", 50) RomanNumbers.Add("XL", 40) RomanNumbers.Add("X", 10) RomanNumbers.Add("IX", 9) RomanNumbers.Add("V", 5) RomanNumbers.Add("IV", 4) RomanNumbers.Add("I", 1) Dim result As Integer = 0 For Each pair As KeyValuePair(Of String, Integer) In RomanNumbers While StrRomanValue.IndexOf(pair.Key.ToString()) = 0 result += Integer.Parse(pair.Value.ToString()) StrRomanValue = StrRomanValue.Substring(pair.Key.ToString().Length) End While Next Return result End Function
5. Buat fungsi dengan nama IntegerToRoman (fungsi ini untuk mengubah romawi ke angka)
C#
public string IntegerToRoman(int IntNumberValue) { Dictionary<string, int> RomanNumbers = new Dictionary<string, int>(); RomanNumbers.Add("M", 1000); RomanNumbers.Add("CM", 900); RomanNumbers.Add("D", 500); RomanNumbers.Add("CD", 400); RomanNumbers.Add("C", 100); RomanNumbers.Add("XC", 90); RomanNumbers.Add("L", 50); RomanNumbers.Add("XL", 40); RomanNumbers.Add("X", 10); RomanNumbers.Add("IX", 9); RomanNumbers.Add("V", 5); RomanNumbers.Add("IV", 4); RomanNumbers.Add("I", 1); string result = ""; foreach (var pair in RomanNumbers) { while (IntNumberValue >= pair.Value) { IntNumberValue -= pair.Value; result += pair.Key; } } return result; }
VB.NET
Public Function IntegerToRoman(IntNumberValue As Integer) As String Dim RomanNumbers As New Dictionary(Of String, Integer)() RomanNumbers.Add("M", 1000) RomanNumbers.Add("CM", 900) RomanNumbers.Add("D", 500) RomanNumbers.Add("CD", 400) RomanNumbers.Add("C", 100) RomanNumbers.Add("XC", 90) RomanNumbers.Add("L", 50) RomanNumbers.Add("XL", 40) RomanNumbers.Add("X", 10) RomanNumbers.Add("IX", 9) RomanNumbers.Add("V", 5) RomanNumbers.Add("IV", 4) RomanNumbers.Add("I", 1) Dim result As String = "" For Each pair As KeyValuePair(Of String, Integer) In RomanNumbers While IntNumberValue >= pair.Value IntNumberValue -= pair.Value result += pair.Key End While Next Return result End Function
6. Jalankan program tersebut maka akan seperti gambar dibawah ini
![]() |
Mengubah Romawikke Angka |
![]() |
Mengubah Angka ke Romawi |

Anda dapat mendownload source codenya dibawah ini
Sekian pembahasan tentang Konversi Bilangan Angka ke Romawi dengan C# dan VB.NET,
Tunggu tutorial menarik lainnya, karena itu kunjungi terus blog ini
Posting Komentar untuk "Konversi Bilangan Angka ke Romawi dan Sebaliknya dengan C# dan VB.NET"