Senin, 24 Oktober 2016

Tutorial Membuat Program Menghitung Tagihan Air

Kali ini saya akan memberikan tutorial membuat program untuk sebuah masalah pembayaran tagihan air. Ini sebenarnya adalah tugas kampus saya dan saya ingin membagikannya di blog ini program ini bermanfaat bagi orang yang membutuhkan, baik untuk mempelajari pemrograman C atau untuk kepentingan lainnya. 
Tagihan penggunaan air merupakan biaya yang dikenakan kepada konsumen terhadap pemakaian konsumsi air dalam satuan m3.
Tagihan air ini dibedakan menjadi 2 buah kategori penggunaan, untuk pengguna rumah tangga dan pengguna usaha.
Biaya Pemeliharaan M(BPM) ditetapkan berdasarkan kategori. BPM untuk rumah tangga bernilai Rp10,00 dan BPM untuk usaha bernilai Rp20,00.
Jumlah penggunaan air saat ini dihitung dengan mengurangi jumlah penggunaan air bulan ini dengan jumlah penggunaan air bulan lalu.
Biaya penggunaan air dihitung dengan ketentuan Rp50,00 untuk 10m3pertama, dan perm3 berikutnya dikali Rp10,00.
Untuk Biaya administrasi dikenakan sebesar Rp50,00.
Denda berlaku apabila penggunaan air melebihi batas. Denda untuk penggunaan air yang melebihi 100m3 adalah sebesar Rp20,00, dan untuk penggunaan air yang lebih dari 20m3 hingga 100m3 dikenakan denda sebesar Rp10,00.
Dan untuk total biaya seluruhnya dihitung dengan menambah biaya BPM, biaya administrasi, biaya penggunaan air, dan denda

Seperti biasa, kita membuat sebuah file c baru untuk membuat program c. Kemudian kita mendeklarasikan beberapa konstanta dari soal diatas. 

1. Langkah pertama buka aplikasi yang kalian gunakan untuk membuat codenya, disini saya menggunakan aplikasi Notepad+++.
2. Langkah kedua kita deklarasikan beberapa konstanta sesuai dengan yang dibutuhkan pada soal diatas.


  Variabel kategori bertipe data char digunakan untuk menerima masukkan yang nantinya digunakan untuk menentukan kategori penggunaan air, berupa rumah tangga atau usaha. Var bpm digunakan untuk menyimpan jumlah bpm yang berlaku,  pemakaian_sebelumnya dan pemakaian_sekarang untuk menyimpan jumlah penggunaan air bulan lalu dan bulan saat ini, Selisih untuk menyimpan jumlah pemakaian air bulan ini ( dari pemakaian_sebelumnya dikurang pemakaian_sekarang), tda digunakan untuk menyimpan biaya tarif dasar awal pemakain air, dan yang terakhir adalah variabel nilai_denda untuk menyimpan jumlah denda yang berlaku.

3. Selanjutnya kita akan menambah beberapa baris program untuk menerima masukkan dan menyimpan ke masing – masing variabel.

Description: https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiToN6Ehog-GUfEsUBqMbkTcwPqFZvBtjrfCfie5rqqhnxwRwlXNghMt3KqoNgsXq_uzs3uwPdCDOaKqxmm-ub4HXwF-ZoMSXcschQ07jS2c9Z4qW8kW6Ag5xKGtdmEI0i6AtrlQzyQI3Y/s1600/hfjnfgjn.JPG

 Pada kode diatas kita memeriksa masukkan kategori dengan kondisi bila kategori bernilai R maka kategori tersebut adalah untuk Rumah Tangga, dan bila kategori bernilai U maka kategori tersebut adalah untuk Usaha. Kita juga mengassignment variabel bpm sesuai dengan kategori dengan nilai konstanta bpm yang telah di deklarasikan sebelumnya.

Selain itu kita juga menerima masukkan untuk variabel pemakaian_sebelumnya dan pemakaian_sekarang untuk jumlah pemakaian air bulan lalu dan bulan saat ini. Selanjutnya kita menghitung besar pemakaian dengan cara mengurangi pemakaian_sekarang dengan pemakaian_lalu dan menyimpannya pada variabel Selisih. Setelah itu kita menampilkan variabel selisih.

4. Selanjutnya kita akan membuat kode untuk biaya pemakaiannya dan denda.




Kode diatas digunakan untuk menentukan besaran biaya yang dikenakan. Apabila besar_pemakaian lebih dari 20m3 maka biaya penggunaan air akan dihitung dengan cara harga 10m3 pertama Rp50,00 ditambah dengan sisa dari besar pemakaian yang telah dikurangi 10 dan dikalikan dengan harga pemakaian yang lebih dari 10mRp10,00.
Apabila besar pemakaian tidak lebih dari 10m3, maka biaya pemakaian akan berlaku sesuai dengan harga 10m3 pertama saja Rp50,00.
Setelah itu, apabila besar pemakaian melebihi 100m3, denda yang berlaku adalah denda yang lebih dari 100m3 sesuai denda yang telah kita deklarasikan Rp20,00. Begitu juga apabila besar pemakaian berjumlah 20m3 hingga 100m3 akan berlaku denda sesuai denda diatas yaitu Rp10,00. Dan denda  akan bernilai 0 apabila besar pemakaian berjumlah dibawah atau sama dengan 10m3.

5. Langkah kelima adalah menampilkan output dari variabel – variabel serta total biaya yang ditagihkan.


6. Terakhir kita uji program yang telah kita buat di atas.




Kita memilih kategori Rumah Tangga dengan jumlah pemakaian bulan lalu sebesar 10 dan pemakaian bulan ini sebesar 20. jadi Jumlah pemakaian air bulan ini adalah 10m3.
Untuk kategori rumah biaya bpm yang berlaku sebesar Rp10,00. Kemudian biaya yang dikenakan adalah sebesar Rp50,00 karena besar pemakaian tidak melebihi 10m3. Kemudian denda yang berlaku adalah 0, karena tidak melebihi 20m3 ataupun melebihi 100m3. Sedangkan biaya admin tetap sama, yaitu Rp50,00.
Jadi total biaya keseluruhan adalah Rp50,00 (administrasi) + Rp10,00 (bpm) + Rp50,00 (biaya air) + Rp0,00 (denda) = Rp110,00.
Selanjutnya percobaan untuk golongan Usaha 

Kita memilih kategori Usaha dengan jumlah pemakaian bulan lalu sebesar 30 dan pemakaian bulan ini sebesar 45. jadi Jumlah pemakaian air bulan ini adalah 15m3.
Untuk kategori usaha biaya bpm yang berlaku sebesar Rp20,00. Kemudian biaya yang dikenakan adalah sebesar Rp100,00 karena besar pemakaian tidak melebihi 20m3. Kemudian denda yang berlaku adalah 0, karena tidak melebihi 10m3 ataupun melebihi 100m3. Sedangkan biaya administrasi tetap sama, yaitu Rp50,00.
Jadi total biaya keseluruhan adalah Rp50,00 (administrasi) + Rp20,00 (bpm) + Rp100,00 (biaya air) + Rp0,00 (denda) = Rp170,00.
Jadi program yang kita buat berjalan sukses,selamat mencoba.

Berikut ini adalah source kode lengkap program yang kita buat.

#include <stdio.h>
int  main (void)
int bpm,pemakaian_sebelumnya,pemakaian_sekarang,selisih,tda,administrasi,nilai_denda,total_biaya,denda;
char jenis;

            tda=0; /*Inisialisasi nilai tarif dasar listrik */
            administrasi=50;//tarif dasar administrasi//
            denda;
            printf("Pilih Jenis Golongan Pengguna: \n");
            printf("============================= \n");
            printf("Keterangan \n");
            printf("R=Rumah tangga \n");
            printf("S=Usaha \n");
            printf("============================= \n");
            printf("Jenis Pengguna: ");
            scanf("%s", &jenis);
            if(jenis=='R')//untuk menentukan jenis golongan pengguna//
                        {
                                    bpm=10;//untuk golongan rumah tangga//
                        }
                        else
                        {
                                    bpm=20;//untuk golongan usaha//
                        }
            printf("Nilai BPM=%d", bpm);
            printf("\n============================= \n");
            printf("Pemakaian sebelumnya: ");
            scanf("%d" , &pemakaian_sebelumnya );
            printf("Pemakaian sekarang: ");
            scanf("%d" , &pemakaian_sekarang);
            selisih= pemakaian_sekarang-pemakaian_sebelumnya;
            printf("Selisih=%d", selisih);
            if(selisih>0)
                        {
                                    if(selisih<=10)
                                                {
                                                            tda=50;//biaya pemakaian 10 meter pertama//
                                                }
                                    else
                                                {
                                                            tda=50+(selisih-10)*10;
                                                }
                        }
            printf("\nBiaya Pemakaian=%d", tda);
            printf("\n============================= \n");
            printf("Administrasi=50 \n");
            printf("============================= \n");
            printf("Denda: \n");
            printf("Keterangan \n");
            printf("============================= \n");
            printf("Y=Ya \n");
            printf("T=Tidak \n");
            printf("Denda: ");
            scanf("%s", &denda);
            if(denda=='Y')
                        {
                                    if(selisih>20)
                                                {
                                                            if(selisih<=100)
                                                                        {
                                                                                    nilai_denda=10;
                                                                        }
                                                            else
                                                                        {
                                                                                    nilai_denda=20;
                                                                        }
                                                }                     
                        }
                       
            printf("Nilai Denda=%d\n", nilai_denda);
           
            total_biaya= administrasi+bpm+tda+nilai_denda;
            printf("============================= \n");
            printf("\nTotal Biaya=%d", total_biaya);
           
           
            return (0);
}

0 komentar:

Posting Komentar