Halo Agan Sista semua, Alhamdulillah setelah sekian lama blog ini tidak tersentuh, akhir nya hari ini ada bahan untuk di bahas.

Pernahkah kalian memperhatikan saat setelah membeli barang atau mendapat check nota bank? Pasti beberapa ada form yang di isikan sekumpulan kata yang mengandung pembilang dari sebuah atau sekelompok angka, misal Rp. 32.500 maka pada bagian pembilang akan di tulis tiga puluh dua ribu lima ratus rupiah.

Pada kali ini, kita akan membahas bagaimana cara membuat pembilang angka dengan C++. Berikut adalah contoh kode program nya:
#include <iostream>
#include <string>
#include <cmath>

using namespace std;
string angka[] = {"", "Satu", "Dua", "Tiga", "Empat", "Lima", "Enam", "Tujuh", "Delapan", "Sembilan", "Sepuluh", "Sebelas"};

string satuan (int a) {
    if (a <= 11) {
        cout << angka[a] <<" ";//memanggil lokasi / index array angka
    }
}

void terbilang (int b) {
    if (b<=11) {
        satuan(b);
    } else if ((b>11) && (b<=19)) {
        terbilang(b%10);
        cout<<"Belas ";
    } else if ((b>=20)&&(b<=99)) {
        terbilang(b/10);
        cout<<"Puluh ";
        terbilang(b%10);
    } else if ((b>=100)&&(b<=199)) {
        cout<<"Seratus ";
        terbilang(b%100);
    } else if ((b>=200)&&(b<=999)) {
        terbilang(b/100);
        cout<<"Ratus ";
        terbilang(b%100);
    } else if ((b>=1000)&&(b<=1999)) {
        cout << "Seribu ";
        terbilang(b%1000);
    } else if ((b>=2000)&&(b<=99999)) {
        terbilang(b/1000);
        cout<<"Ribu ";
        terbilang(b%1000);
    } else if ((b>=100000)&&(b<=199999)) {
        cout << "Seratus ";
        terbilang(b%100000);
    } else if ((b>=200000)&&(b<=999999)) {
        terbilang(b/1000);
        cout<<"Ribu ";
        terbilang(b%1000);
    } else if ((b>=1000000)&&(b<=999999999)) {
        terbilang(b/1000000);
        cout<<"Juta ";
        terbilang(b%1000000);
    } else if ((b>=1000000000)&&(b<=2147483647)) {
        terbilang(b/1000000000);
        cout<<"Miliar ";
        terbilang(b%1000000000);
    } else if (b>=2147483647) {
        cout<<"Melebihi Batas, Coba Angka di Bawah 2147483647";
    }
}
int main(){
    int nilai;
    cout<<"Masukkan Bilangan: "; cin>>nilai;
    cout<< nilai << " Terbilang: ";
    if (nilai<0) {
        cout<<"Minus ";
        terbilang(abs(nilai));
    } else {
        terbilang(nilai);
    }
}

Dan berikut adalah contoh output nya:

Penjelasan singkat nya seperti ini gan sist:
  1. #include iostream buat fungsi standart c++.
  2. #include string untuk fungsi string atau menampilkan karakter pada array dan if else.
  3. #include cmath agar dapat menjalankan fungsi abs (absolut) pada input angka, sehingga input angka akan di rubah dulu kedalam bentuk absolut (tanpa tanda plus(+) atau minus (-)).
  4. string angka[] tujuannya menggunakan array adalah agar tidak banyak menggunakan if else berkali kali dalam men define angka di bawah 11.
  5. terbilang(b/10); Untuk membagi angka inputan untuk hasil nya memanggil array yang sudah di define di atas. Misal kita inputkan angka 20, maka pada proses ini akan dilakukan operasi pembagian 20/10 = 2, lalu di panggil index array 2 yang berisi string "Dua ".
  6. cout<<"Puluh "; Untuk mencetak kata "Puluh " setelah operasi di atas.
  7. terbilang(b%10); Adalah fungsi modulus untuk mencari sisa pembagian nya. Misal pada contoh di atas input nya adalah 20, maka 10 modulus 10 adalah 0, setelah itu akan memanggil index array 0 yang berisi string " ". Sehingga hasil akhir yang muncul di layar adalah "Dua Puluh". Begitupun dengan operasi pembagian dan modulus berikutnya.
      Demikian penjelasan singkat mengenai cara membuat pembilang angka dengan c++, semoga bermanfaat. Jangan lupa share ke teman dan grup kalian.