Membuat Angka romawi dengan PHP

Assalamualaikum

Ni ane mw share mengenai bagaimana cara membuat fungsi atau method untuk membuat angka romawi di php

ane membuat logic yang cukup sederhana, mudah2n bisa bermanfaat buat agan2 yng membacca

function getRomawi($angka) {
$jumangka = str_split($angka);
$jumlah = count($jumangka);
if ($jumlah == 4)
$this->empat($angka, $jumlah);
elseif ($jumlah == 3)
$this->tiga($angka, $jumlah);
elseif ($jumlah == 2)
$this->dua($angka, $jumlah);
elseif ($jumlah == 1)
$this->satu($angka, $jumlah);
else
echo”Angka terlalu besar ” . $angka . ” === Angka maksimal 3999″;
}

function satu($angka, $jumlah) {
switch ($angka) {
case 1:
echo ‘I’;
break;
case 2:
echo ‘II’;
break;
case 3:
echo ‘III’;
break;
case 4:
echo ‘IV’;
break;
case 5:
echo ‘V’;
break;
case 6:
echo ‘VI’;
break;
case 7:
echo ‘VII’;
break;
case 8:
echo ‘VIII’;
break;
case 9:
echo ‘IX’;
break;
}
}

function dua($angka, $jumlah) {
switch ($angka-10) {
case 1:
echo ‘X’;
break;
case 2:
echo ‘XX’;
break;
case 3:
echo ‘XXX’;
break;
case 4:
echo ‘XL’;
break;
case 5:
echo ‘L’;
break;
case 6:
echo ‘LX’;
break;
case 7:
echo ‘LXX’;
break;
case 8:
echo ‘LXXX’;
break;
case 9:
echo ‘XC’;
break;
}
}

function tiga($angka, $jumlah) {
switch ($angka – 100) {
case 1:
echo ‘C’;
break;
case 2:
echo ‘CC’;
break;
case 3:
echo ‘CCC’;
break;
case 4:
echo ‘CD’;
break;
case 5:
echo ‘D’;
break;
case 6:
echo ‘DC’;
break;
case 7:
echo ‘DCC’;
break;
case 8:
echo ‘DCCC’;
break;
case 9:
echo ‘CM’;
break;
}
}

function empat($angka, $jumlah) {
switch ($angka – 1000) {
case 1:
echo ‘M’;
break;
case 2:
echo ‘MM’;
break;
case 3:
echo ‘MMM’;
break;
}
}

Semoga Bermanfaat

Iklan

One comment

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s