Program Sederhana Keterangan Uang

Hampir sebagian besar program menggunakan kondisi IF.
Kondisi IF atau disebut juga kondisi pemisalan sangat penting sekali digunakan dalam pembuatan program.
Sebagai contoh sederhana adalah saat pengisian password suatu program.
Password akan salah jika password yang dimasukan tidak sesuai dengan settingan password dalam program.
Contoh lainnya yang sering kita alami adalah saat kita membuka email.
Email kita akan terbuka jika kita telah terdaftar dan benar mengisinya pada saat mengetikan user dan password.
Berikut ini adalah contoh program menggunakan kondisi if bersarang.

#include
#include

int main(int argc, char *argv[])
{
long uang,sisa1,sisa2,sisa3,sisa4,sisa5,sisa6,sisa7,sisa8,sisa9,sisa10;

printf(“Masukan jumlah uang : “); scanf(“%li”,&uang);
sisa1 = uang / 100000;
if (sisa1 > 0)
uang = uang%100000;

sisa2 = uang / 50000;
if (sisa2 > 0)
uang = uang % 50000;

sisa3 = uang / 20000;
if (sisa3 > 0)
uang = uang % 20000;

sisa4 = uang / 10000;
if (sisa4 > 0)
uang = uang % 10000;

sisa5 = uang / 5000;
if (sisa5 > 0)
uang = uang % 5000;

sisa6 = uang / 1000;
if (sisa6 > 0)
uang = uang % 1000;

sisa7 = uang / 500;
if (sisa7 > 0)
uang = uang % 500;

sisa8 = uang / 200;
if (sisa8 > 0)
uang = uang / 200;

sisa9 = uang / 100;
if (sisa9 > 0)
uang = uang % 100;

sisa10 = uang / 50;
if (sisa10 > 0)
uang = uang % 50;

printf(“Rp. 100000 : %li lembar\n”,sisa1);
printf(“Rp. 50000 : %li lembar\n”,sisa2);
printf(“Rp. 20000 : %li lembar\n”,sisa3);
printf(“Rp. 10000 : %li lembar\n”,sisa4);
printf(“Rp. 5000 : %li lembar\n”,sisa5);
printf(“Rp. 1000 : %li lembar\n”,sisa6);
printf(“Rp. 500 : %li lembar\n”,sisa7);
printf(“Rp. 200 : %li keping\n”,sisa8);
printf(“Rp. 100 : %li keping\n”,sisa9);
printf(“Rp. 50 : %li keping\n”,sisa10);
printf(“sisa uang : %li sen\n”,uang);
system(“PAUSE”);
return 0;
}

Program diatas adalah program sederhana mengetahui banyak uang perlembar atau perkeping yang dimasukan user.
Bila user memasukan “125000” maka keluaran program :
Rp. 100.000 : 1 lembar
Rp. 50.000 : 0 lembar
Rp. 20.000 : 1 lembar
Rp. 10.000 : 0 lembar
Rp. 5.000 : 1 lembar
dan seterusnya.

Logikanya seperti ini, saat user memasukan sejumlah uang, inputan user disimpan dalam variabel uang.
Variabel sisa1 atau yang lainnya digunakan untuk mengetahui sejumlah uang tiap pecahan, seperti sisa1 untuk pecahan 100000.
Dari situlah kita dapat mengetahuinya dengan menggunakan operasi “/” (div : hasil pembagian).
Lalu setelah itu ada kondisi IF, kalau dibaca, jika sisa1 lebih besar dari 0 maka lakukan,
uang sama dengan uang % (mod : sisa hasil bagi) 100000.
Dari contoh uang Rp. 125000, maka sisa1 = 1, otomasis akan melakukan siklus if karena kondisi benar yaitu 1 > 0.
Variabel uang akan berubah menjadi hasil bagi uang dengan 100000, uang = uang % 100000.
Dimana variabel uang menjadi Rp. 25.000 karena sisa hasil pembagian 125000 dengan 100000 adalah 25000.
Setelah itu melakukan proses selanjutnya yaitu sisa2 = uang / 50000.
Sisa2 digunakan untuk mengetahui jumlah pecahan Rp.50000. Karena variabel uang telah berubah menjadi 25000,
maka hasil dari proses ini adalah sisa2 = 25000/50000, sisa2 = 0.
Lalu ke proses kondisi IF, if(sisa2 > 0), karena kondisi ini salah maka tidak melakukan perintah isi dari IF.
Selanjutnya masuk ke proses sisa3= uang/20000. Variabel uang masih tetap bernilai 25000.
Sisa3 menghasilkan nilai 1. Masuk ke kondisi IF dan nilainya adalah benar yaitu 1 > 0,
maka melakukan perintah isi dari IF yaitu uang = uang % 20000, sehingga variabel uang bernilai 5000,
karena sisa hasil pembagian atau disebut mod “%” antara 25000 dengan 20000 adalah 5000.
Dan selanjutnya terus melakukan proses-proses dibawahya.

moga dimengerti, gak ngerti atau ada yang protes bisa langsung comment, maklum masih belajar juga…

Iklan

10 thoughts on “Program Sederhana Keterangan Uang

  1. Assalamu’alaikum mas…
    Salam kenal..
    Mo nanya mas nie mas aku masih bingung dengan kondisi IF.
    Tolong mas ya…seandainya ada kasus begini penilaian juri yg terdiri dari 4 orang dlm suatu lomba,nilai akhirnya adalah menghilangkan nilai terbesar dan terkecil,lalu sisanya dibagi2. Kondisi IF nya gimana ya mas…Tolong bantuannya…
    Aku dah bikin seperti ini :
    #include
    main()
    {
    char nm_psrta;
    int nil1,nil2,nil3,nil4;
    float nil_rata;
    clrscr();

    gotoxy(1,1);printf(“Nama Peserta = “);scanf(“%s”, &nm_psrta);
    gotoxy(1,2);printf(“Nilai Juri 1 = “);scanf(“%d”, &nil1);
    gotoxy(1,3);printf(“Nilai Juri 2 = “);scanf(“%d”, &nil2);
    gotoxy(1,4);printf(“Nilai Juri 3 = “);scanf(“%d”, &nil3);
    gotoxy(1,5);printf(“Nilai Juri 4 = “);scanf(“%d”, &nil4);

    {

    if((nil1>nil2)&&(nil1>nil3)&&(nil1>nil4))
    nil1=0;
    else
    nil1=nil2&&nil3&&nil4; /*ini apakah sudah benar??kalo sudah benar
    kelanjutannya bagaimana?Kalo salah yang benar bagaimana?*/

    nil_rata=((nil1+nil2+nil3+nil4)/2);
    gotoxy(1,6);printf(“Nilai Akhir = %f”,nil_rata);

    }
    getch();
    }

    Terima kasih atas pencerahannya…
    Wassalamu’alaikum Wr.Wb.

  2. @ Irul :

    #include “stdio.h”
    #include “stdlib.h”
    #include “conio2.h”

    int main(int argc, char *argv[])
    {
    char nm_psrta;
    int nil1,nil2,nil3,nil4;
    float nil_rata;
    int Tbesar, Tkecil; // tambahan variabel, buat tempat nilai terbesar dan terkecil

    printf(“Nama Peserta = “);scanf(“%s”, &nm_psrta);
    printf(“Nilai Juri 1 = “);scanf(“%d”, &nil1);
    printf(“Nilai Juri 2 = “);scanf(“%d”, &nil2);
    printf(“Nilai Juri 3 = “);scanf(“%d”, &nil3);
    printf(“Nilai Juri 4 = “);scanf(“%d”, &nil4);

    Tbesar = -9999; // inisialisasi Tbesar
    Tkecil = 9999; // inisilisasi Tkecil

    if(Tbesar < nil1){
    Tbesar = nil1;
    }
    // disini, nilai 1 pasti jadi nilai terbesar karena perbandingannya dengan -9999

    // bandingkan Tbesar yg isinya nilai 1 dengan nilai 2
    if(Tbesar < nil2){
    Tbesar = nil2;
    // jika kondisi ini true, nilai terbesar jadi nilai 2
    }
    // jika salah nilai terbesar masih nilai 1, dan seterusnya

    if(Tbesar < nil3){
    Tbesar = nil3;
    }

    if(Tbesar nil1){
    Tkecil = nil1;
    }

    if(Tkecil > nil2){
    Tkecil = nil2;
    }

    if(Tkecil > nil3){
    Tkecil = nil3;
    }

    if(Tkecil > nil4){
    Tkecil = nil4;
    }

    /*
    udah disini, kita dapet nilai terbesar dan terkecil
    */

    printf(“Nilai TBesar adalah : %d\n”, Tbesar);
    printf(“Nilai TKecil adalah : %d\n”, Tkecil);

    /*
    perhitungannya,,ya tinggal dikurangi aja lagi ama nilai terbesar dan terkecil
    */

    nil_rata = (float)(nil1 + nil2 + nil3 + nil4 – Tbesar – Tkecil) / 2;
    // ada (float) karena kalo gak pake ini,,nilai rata2 gak bentuk desimal
    // karena proses dilakukan dengan operasi “/” div (sisa hasil bagi)

    printf(“Rata – rata : %f\n”, nil_rata);

    /*
    masing2 orang logikanya beda2,, kadang sama kadang juga beda
    tapi sama-sama mecahin masalah pemrograman..

    masalah ini menurut saya lebih enak kalo tiap nilai dari juri
    di simpan dalam array,,jadi nanti bisa di-loop-ing nilainya, sehingga gak
    nulis coding banyak seperti if diatas,,

    karena pake if ya jadi gitu…

    moga dimengerti yaw…
    oiye,,nie program pake devc++,,silakan cari di google
    */

    system(“PAUSE”);
    return 0;
    }

  3. Alhamdulillah.. terima kasih banyak sob.. terbantu sangat.. kebetulan ane ada diberi tugas ama dosen.. nah ane bingung… teman ane bnyak yang mnggunakan array dan for.. nah.. ane pakek yang ini aja.. thnks bgt yaaa.. terbantu sangat.. ane tinggal modifikasi aja 😀

    jadi kalo cuma pake if aja tanpa else bisa juga yaa? heheh.. selama nin kok gak terpikir yaa.. waaa.. thanks sob 😀

  4. mas klo ada soal begini : buat program jika di kantor pos hanya tersedia perangko dgn nilai 5 dan 3,biaya pengiriman di input oleh petugas, ketentuannya
    biaya = nilai perangko
    batas minimal biaya 8
    output program adalah
    berapa jumlah perangko 5 dan berapa jumlah perangko 3 yg digunakan
    contoh : jika biaya di input 8 maka jumlah perangko 5 = 1 dan jumlah perangko 3 = 1
    jika biaya 9 maka perangko 5 = 0 dan perangko 3 = 3
    begitu seterusnya
    mohon di bantu mas krn sy sdh mumet utak atiknya

  5. ga ngerti maksudnya gmn ya?
    ngitung kembalian tinggal hitung total pembayaran – total belanja.

    kembalian = total pembayaran – total belanja.

    kalau maksudnya lembar uang kembalian. pertama mas define dulu uang yang ada seperti uang 100rb, 50rb, dll. lalu kasih if aja, kalo kembalian lebih dari 100rb, berarti ada 1 lembar uang 100rb. dst.

Silahkan Komentar...

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