Pengaturan

Gambar

Lainnya

Tentang KASKUS

Pusat Bantuan

Hubungi Kami

KASKUS Plus

© 2024 KASKUS, PT Darta Media Indonesia. All rights reserved

DarknessTalicAvatar border
TS
DarknessTalic
Daftar Soal Algoritma Pemrograman (ALPRO)
nona212
nona212 memberi reputasi
1
217.3K
3.3K
GuestAvatar border
Guest
Tulis komentar menarik atau mention replykgpt untuk ngobrol seru
Mari bergabung, dapatkan informasi dan teman baru!
Programmer Forum
Programmer ForumKASKUS Official
20.2KThread4.3KAnggota
Tampilkan semua post
ekadpAvatar border
ekadp
#24
1234 ke Satu Ribu Dua Ratus Tiga Puluh Empat
Quote:


wah pertanyaannya menarik emoticon-Smilie

Code:

FUNCTION string NilaiKeAngka(integer N);
{
switch / case N of
{
0 : return "Nol"
1 : return "Satu"
2 : return "Dua"
...
9 : return "Sembilan"
}
}

//*************** Trilyun ***************

Rp <- ''
ribu <- Trunc(angka / 1.000.000.000.000)
if ribu > 0 then
{
strBelakang <- 'trilyun'

ratus <- Trunc(ribu / 100)
if ratus > 0 then
{
strRatus <- 'ratus'
}
else
{
ratus <- Trunc(ribu / 10)
if ratus > 0 then
{
if ratus = 1
strRatus <- 'belas'
else
strRatus <- 'puluh'
}
else
{
ratus <- Trunc(ribu / 1)
strRatus <- ''
}
}
strAngka <- NilaiKeAngka(ratus)

//penggabungan string-nya
Rp <- Rp + strAngka + ' ' + strRatus + ' ' + strBelakang + ' '

//pengurangan angka
angka <- angka - (ribu * 1.000.000.000.000)
}


//*************** Milyar ***************

ribu <- Trunc(angka / 1.000.000.000)
if ribu > 0 then
{
strBelakang <- 'milyar'

ratus <- Trunc(ribu / 100)
if ratus > 0 then
{
strRatus <- 'ratus'
}
else
{
ratus <- Trunc(ribu / 10)
if ratus > 0 then
{
if ratus = 1
strRatus <- 'belas'
else
strRatus <- 'puluh'
}
else
{
ratus <- Trunc(ribu / 1)
strRatus <- ''
}
}
strAngka <- NilaiKeAngka(ratus)

//penggabungan string-nya
Rp <- Rp + strAngka + ' ' + strRatus + ' ' + strBelakang + ' '

//pengurangan angka
angka <- angka - (ribu * 1.000.000.000)
}


//*************** Juta ***************


ribu <- Trunc(angka / 1.000.000)
if ribu > 0 then
{
strBelakang <- 'juta'

ratus <- Trunc(ribu / 100)
if ratus > 0 then
{
strRatus <- 'ratus'
}
else
{
ratus <- Trunc(ribu / 10)
if ratus > 0 then
{
if ratus = 1
strRatus <- 'belas'
else
strRatus <- 'puluh'
}
else
{
ratus <- Trunc(ribu / 1)
strRatus <- ''
}
}
strAngka <- NilaiKeAngka(ratus)

//penggabungan string-nya
Rp <- Rp + strAngka + ' ' + strRatus + ' ' + strBelakang + ' '

//pengurangan angka
angka <- angka - (ribu * 1.000.000)
}


//*************** Ribu ***************


ribu <- Trunc(angka / 1.000)
if ribu > 0 then
{
strBelakang <- 'ribu'

ratus <- Trunc(ribu / 100)
if ratus > 0 then
{
strRatus <- 'ratus'
}
else
{
ratus <- Trunc(ribu / 10)
if ratus > 0 then
{
if ratus = 1
strRatus <- 'belas'
else
strRatus <- 'puluh'
}
else
{
ratus <- Trunc(ribu / 1)
strRatus <- ''
}
}
strAngka <- NilaiKeAngka(ratus)

//penggabungan string-nya
Rp <- Rp + strAngka + ' ' + strRatus + ' ' + strBelakang + ' '

//pengurangan angka
angka <- angka - (ribu * 1.000)
}


//*************** Satuan ***************


ribu <- Trunc(angka / 1)
if ribu > 0 then
{
strBelakang <- ''

ratus <- Trunc(ribu / 100)
if ratus > 0 then
{
strRatus <- 'ratus'
}
else
{
ratus <- Trunc(ribu / 10)
if ratus > 0 then
{
if ratus = 1
strRatus <- 'belas'
else
strRatus <- 'puluh'
}
else
{
ratus <- Trunc(ribu / 1)
strRatus <- ''
}
}
strAngka <- NilaiKeAngka(ratus)

//penggabungan string-nya
Rp <- Rp + strAngka + ' ' + strRatus + ' ' + strBelakang + ' '

//pengurangan angka
angka <- angka - (ribu * 1.000)
}


Dimana Trunc adalah pembulatan ke bawah, misalnya: 2,3 -> 2 atau 2,75 -> 2

PS. kode tersebut sengaja gak eike optimasi, agar lebih enak dibaca emoticon-Smilie
0
Ikuti KASKUS di
© 2023 KASKUS, PT Darta Media Indonesia. All rights reserved.