Friday, April 1, 2016

Konversi Angka Ke Kata Huruf Dengan Bahasa Pemrograman C++

https://mada-education.blogspot.co.id/2016/03/konversi-angka-ke-kata-huruf-c.html
Assalamualaikum, kali ini aku akan membagikan ilmu ku tentang konversi kata ke huruf dengan bahasa Pemrograman C++.
Disini postingan kali ini aku akan membuat konversi kata dan di sertai dengan penjelasannya lengkap.


Sebelum melakukan pemrograman aku menggunakan DEV C++, karena ukuran nya yang hanya 48Mb dan tidak berat. Untuk mengunduh aplikasi silakan kunjungi https://sourceforge.net/projects/orwelldevcpp/
. Jika sudah  terdownload silakan install dan buka kemudian buat project c++ nya.

Tuliskan kode berikut :

#include <iostream>
#include <math.h>

using namespace std;


void angka (int a){

    if (a==1) { 
        cout<<" Satu ";
    } else if (a==2) {
        cout<<" Dua ";
    } else if (a==3) {
        cout<<" Tiga ";
    } else if (a==4) {
        cout<<" Empat ";
    } else if (a==5) {
        cout<<" Lima ";
    } else if (a==6) {
        cout<<" Enam ";
    } else if (a==7) {
        cout<<" Tujuh ";
    } else if (a==8) {
        cout<<" Delapan ";
    } else if (a==9) {
        cout<<" Sembilan ";
    } else if (a==10) {
        cout<<" Sepuluh ";
    } else if (a==11) {
        cout<<" Sebelas ";
    }
}

void terbilang (int b){
  
    if (b<=11) {
        angka(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<=9999)) {
        terbilang(b/1000);
        cout<<"Ribu";
        terbilang(b%1000);
    } else if ((b>=10000)&&(b<=99999)) {
        terbilang(b/1000);
        cout<<"Ribu";
        terbilang(b%1000);
    } else if ((b>=100000)&&(b<=999999)) {
        terbilang(b/1000);
        cout<<"Ribu";
        terbilang(b%1000);
    } else if ((b==1000000)) {
        terbilang(b/1000000);
        cout<<"Juta";
        terbilang(b%1000000);
    } else if ((b>1000000)) {
        cout<<"ERROR\n";
        cout<<"nilai yang Anda masukan melampaui database aplikasi";
    }
}

int main(){
    int nilai;
    cout<<"Aplikasi Penkonversi Angka ke Kata"<<endl;
    cout<<"============================"<<endl;
    cout<<"Masukkan Bilangan Anda: ";
    cin>>nilai;
  
    if (nilai<0){
        cout<<"Minus ";
        terbilang(abs(nilai));
    } else {
        terbilang(nilai);
    }
    cout<<"\n============================\n";
    return 0;
}


#Penjelasan
Dibawah ini aku sajikan penjelasan mengenai setiap kode diatas :

#include <iostream> berfungsi untuk memasukan sebuah file header yang berguna untuk input dan output stream misalnya dapat menggunakan cin dan cout .

#include <math.h> berfungsi untuk memasukan sebuah file header yang berguna untuk perhitungan matematika misalnya dapat menggunakan fungsi abs() untuk perhitungan absolute .

using namespace std berfungsi untuk agar setiap penulisan kode pada C++ selalu tidak diawali dengan std::  

void angka (int a) berfungsi untuk membuat fungsi bernama angka dimana bertipe void yang artinya tidak mempunyai kembalian return. Jika void kembaliannya dapat berupa angka atau huruf yang mana dapat ditampilkan melalui cout. Untuk fungsi void berparameter int a, yang mana dalam parameter tersebut harus dimasukan huruf jika fungsi tersebut dipanggil. Fungsi ini berguna untuk mengubah nilai angka menjadi huruf, misalnya 1 terbilang "satu".

if (a==1) { 
    cout<<" Satu ";

} else if (a==2) {
    cout<<" Dua ";

} berfungsi untuk mengkonversi angka 1,2,3 dan seterusnya menjadi hurufnya. Fungsi ini berada dalam fungsi void angka (int a) . Cara bacanya kode tersebut :  jika a=1 maka akan ditampilkan "satu", lain jika a=2 maka akan ditampilkan "Dua" dsb. 

void terbilang (int b) berfungsi untuk mengubah semua angka dibawah 1 juta menjadi huruf. Sebenarnya fungsi ini yang akan dipanggil nantinya, bukan fungsi void angka (int a). Didalam fungsi ini terdapat pemanggilan fungsi void angka() dan pemanggilan fungsi dirinya sendiri atau fungsi rekursif. 


Didalam fungsi void terbilang( int b) terdapat beberapa pernyataan, beberapa pernyataannya :
if (b<=11) {
    angka(b);

} else if ((b>11) && (b<=19)) {
     terbilang(b % 10);
     cout<<"Belas ";

}
Dari kode diatas cara membacanya adalah 

1. Jika b kurang dari sama dengan 11 maka akan memanggil fungsi angka(b)
    b adalah angka. Misalnya nilai b adalah 11, maka hasilnya akan ditampilkan "sebelas" 
    dari kondisi  pertama ini kemudian akan berakhir.

2.  Lain jika nilai b lebih dari 11 dan nilai b kurang dari sama dengan 19 atau  bahasanya
     else if ((b>11) && (b<=19)) maka akan memanggil fungsi dirinya sendiri atau
     rekursif. Misalnya nilai variable b yang kita masukkan adalah 15 (karena lebih dari 11 
     dan kurang dari sama dengan 19), maka akan diproses dengan pertama memanggil 
     fungsi dirinya sendiri ( terbilang(b % 10) ). 

     Didalam pemanggilan fungsi dirinya sendiri tsb angka 15 akan 
     di modkan atau % kan dengan angka 10 dahulu, yang berarti 15 % 10 akan menghasilkan 
     angka 5.   % atau mod berfungsi untuk menghitung sisa bagi nya . 
     
     Setelah hasil mod tersebut ditemukan maka akan dia jalankan pemanggilan fungsi 
     dirinya sendiri . Pertama hasilnya yang 5 tadi akan memasuki kondisi pertama atau 
     if (b<=11) , nah b kan sama dengan 5, maka memenuhi kondisi ini. 
     
     Selanjutnya akan memanggil fungsi angka(int a). Didalam fungsi angka akan ditampilkan 
     hasilnya "lima" karena nilai yang kita hasilkan tadi adalah 5 (hasil 15 % 10) dan 
     proses berakhir.

     Setelah itu akan ditampilkan "Belas " atau bahasanya cout<<"Belas ";
     Dan kondisipun terpenuhi (semua proses dalam kondisi else if ((b>11) && (b<=19) )
     sudah berhasil dijalankan semua, maka proses berakhir yang menghasilkan "lima belas" .

abs(nilai) atau abs() berfungsi agar semua angka negatif menjadi positif atau
meng absolute kan, misalnya variable nilai bernilai -5, maka setelah di abs(-5)  maka akan menghasil kan nilai 5.

 
#Hasilnya :
 
https://mada-education.blogspot.co.id/2016/03/konversi-angka-ke-kata-huruf-c.html

Bagikan

Jangan lewatkan

Konversi Angka Ke Kata Huruf Dengan Bahasa Pemrograman C++
4/ 5
Oleh

Subscribe via email

Suka dengan artikel di atas? Tambahkan email Anda untuk berlangganan.

Silahkan berkomentar secara bijak dan sesuai dengan topik pembahasan ...

Untuk menyisipkan kode pendek, gunakan <i rel="code"> ... KODE ... </i>
Untuk menyisipkan kode panjang, gunakan <i rel="pre"> ... KODE ... </i>
Untuk menyisipkan gambar, gunakan <i rel="image"> ... URL GAMBAR ... </i>