Senin, 24 April 2017

Program Penukaran Uang Rupiah (C++)

Tags
Yap, good morning all. Pada artikel kali ini saya berkesempatan untuk berbagi program sederhana yang saya tulis dalam bahasa pemrograman C++. Program ini cukup sederhana, karena tujuannya hanya untuk mengetahui pecahan apa saja yang bisa diperoleh dari uang yang kita inputkan. Tentunya dalam bentuk mata uang Rupiah. Nominal pecahan yang saya pakai dalam program ini mulai dari 100 perak, 200 perak, 500 perak, seribu, 2 ribu, 5 ribu, 10 ribu, 20 ribu, 50 ribu, dan 100 ribu. Berikut hasil running Program Penukaran Uang Rupiah:

Ketika inputan negatif

Ketika inputan 0

Ketika inputan < 100

Rp 21.900,00

Rp 289.999,00

Source code:
#include <iostream>
//develop251.blogspot.com
using namespace std;

void pecahanDari(int x){
    if(x<=0){
        cout << "Anda tidak bermaksud menukar uang" << endl;
    }else if(x<100){
        cout << "Pecahan terkecil adalah 100 perak" << endl;
    }else{
        int _100rb = 0;
        int _50rb = 0;
        int _20rb = 0;
        int _10rb = 0;
        int _5rb = 0;
        int _2rb = 0;
        int _1rb = 0;
        int _500 = 0;
        int _200 = 0;
        int _100 = 0;
        
        while(x>=100000){
            _100rb++;
            x-=100000;
        }
        
        while(x>=50000){
            _50rb++;
            x-=50000;
        }

        while(x>=20000){
            _20rb++;
            x-=20000;
        }

        while(x>=10000){
            _10rb++;
            x-=10000;
        }

        while(x>=5000){
            _5rb++;
            x-=5000;
        }

        while(x>=2000){
            _2rb++;
            x-=2000;
        }

        while(x>=1000){
            _1rb++;
            x-=1000;
        }

        while(x>=500){
            _500++;
            x-=500;
        }

        while(x>=200){
            _200++;
            x-=200;
        }

        while(x>=100){
            _100++;
            x-=100;
        }
        
        if(_100rb) cout << _100rb << " lembar Rp 100.000,00" << endl;
        if(_50rb) cout << _50rb << " lembar Rp 50.000,00" << endl;
        if(_20rb) cout << _20rb << " lembar Rp 20.000,00" << endl;
        if(_10rb) cout << _10rb << " lembar Rp 10.000,00" << endl;
        if(_5rb) cout << _5rb << " lembar Rp 5.000,00" << endl;
        if(_2rb) cout << _2rb << " lembar Rp 2.000,00" << endl;
        if(_1rb) cout << _1rb << " lembar Rp 1.000,00" << endl;
        if(_500) cout << _500 << " koin Rp 500,00" << endl;
        if(_200) cout << _200 << " koin Rp 200,00" << endl;
        if(_100) cout << _100 << " koin Rp 100,00" << endl;
        if(x) cout << "sisa Rp " << x << ",00" << endl;    
    }
}

int main(){
    int uang;
    
    cout << "PROGRAM PENUKARAN UANG" << endl << endl;
    cout << "Uang Anda : "; cin >> uang; cout << endl;
    pecahanDari(uang);

    return 0;
}

Minggu, 09 April 2017

Apa itu Algoritma?

Animasi Pengurutan (Metode Quick Sort)

Algoritma? Apa itu Algoritma? Algoritma adalah prosedur langkah demi langkah untuk menyelesaikan suatu perhitungan. "Algoritma" berasal dari kata "Algoritmi", bentuk latin dari al-Khwarizmi (Muḥammad ibn Mūsā al-Khwārizmī), seorang ahli dalam bidang matematika, astronomi, astrologi, dan geografi yang berasal dari Persia.

Algoritma sangatlah penting dalam pembuatan suatu program komputer. Biasanya sebuah algoritma dihubungkan dengan pengolahan informasi, data dibaca dari sumber masukan, ditulis ke perangkat keluaran, dan/atau disimpan untuk pengolahan selanjutnya.

Untuk beberapa proses komputasi, algoritma harus ditentukan secara teliti, yaitu dijabarkan dengan cara ia bakal berlaku untuk semua kemungkinan yang dapat timbul. Setiap langkah tambahan harus secara sistematis dihadapi, kasus per kasus. Karena algoritma adalah kumpulan dari langkah-langkah yang tepat, urutan dari komputasi selalu penting bagi berfungsinya algoritma. Instruksi dijelaskan dimulai "dari atas" dan terus "ke bawah".

Algoritma dapat digambarkan dengan banyak notasi, termasuk bahasa alamiah, pseudocode, diagram alur, atau bahasa pemrograman. Ekspresi bahasa alamiah terhadap algoritma cenderung lebih banyak dan rancu, sehingga jarang digunakan untuk algoritma yang kompleks. Pseudocode dan diagram alur adalah cara yang terstruktur untuk menggambarkan algoritma yang mencegah banyaknya kerancuan pada pernyataan-pernyataan bahasa alamiah. Sedangkan bahasa pemrograman ditujukan untuk mengekspresikan algoritma dalam sebuah bentuk yang dapat dieksekusi oleh komputer.

Knuth menganjurkan kita bahwa "cara terbaik untuk belajar algoritma adalah mencobanya ... langsung ambil pulpen dan kertas dan bekerja lewat contoh". lalu bagaimana dengan eksekusi yang sebenarnya? Programmer harus menerjemahkan algoritma ke dalam bahasa yang mana komputer dapat mengeksekusi secara efektif.

Salah satu contoh algoritma sederhana adalah menemukan bilangan terbesar dalam sebuah deretan angka (tak berurut). Solusinya membutuhkan pemeriksaan setiap angka dalam deret, tetapi hanya sekali. Dari hal ini muncullah algoritma sederhana, yang bisa dinyatakan dalam kalimat bahasa deskripsi tingkat tinggi:
  1. Jika tidak ada angka dalam deret maka tidak ada bilangan terbesar
  2. Asumsikan item pertama dalam deret adalah yang terbesar
  3. Untuk setiap sisa angka dalam deret, anggap angka tersebut menjadi yang terbesar dalam deret
  4. Bila tidak ada lagi angka yang tersisa pada deret untuk diperiksa, anggap angka terbesar sekarang menjadi angka yang terbesar dalam deret


Referensi:
  • https://id.wikipedia.org/wiki/Algoritma
  • https://id.wikipedia.org/wiki/Al-Khawarizmi