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 M3 (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.
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 10m3 Rp10,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