Menuliskan Data Laporan kedalam File .txt dengan C



saya akan menuliskan cooding untuk mencari biaya total PDAM yang harus dibayar dengan syarat syarat yang telah ditentukan. setiap fungsi perhitungan akan saya pisahkan menjadi fungsi fungsi sendiri dan hasil keluaran yang berupa total biaya dan rincian biayanya akan ditampilkan pada sebuah file baru dengan format .txt


#include <stdio.h>
#define ADM 50.0
#define BPM_R 10.0
#define BPM_U 20.0
#define DENDA100 20.0
#define DENDA10 10.0
#define P10 50.0
#define PLANJUT 10.0





float fungsiDenda(float P){

float denda;
    if(P>=100.0){
    denda=DENDA100;
    }
    else if(P>=10 && P<100){
    denda=DENDA10;
    }
    else{
    denda=0;
    }
    return(denda);
}









float kategori(char kat){
float BPM;

        if(kat=='U'){
            BPM=BPM_U;
        }
        else{
            BPM=BPM_R;
        }



    return(BPM);
}







float pemakaian(float P){
float BP;
float BP10;//  buat nampung nilai penggunaan jika nilai penggunaan lebih dari 10
    if(P>=10.0){

        BP10=P-10;
        BP=P10+(BP10*PLANJUT);
    }else if(P==0){
        BP=0;
    }
    else{
        BP=P10;
    }

return(BP);
}







//float fungsiDnda(float P);
//float kategori(char kat);
//float pemakaian(float P);
int main(){

int lagi;
float total;

float BPM;
float BP;
float denda;
char kat; //apakah dia rmh tangga atau biaya
float Plalu;
float Pskrng;
float P;//pengunaan

awal :
    system("cls");

printf("KATEGORI BIAYA PEMELIHARAAN");
printf("\nRumah Tangga      --> biaya pemeliharaan meter %.1f",BPM_R);
printf("\nUsaha             --> biaya pemeliharaan meter(BPM) %.1f\n",BPM_U);

printf("\nTARIF PEMAKAIAN AIR");
printf("\npemakain 10m3 pertama         = Rp.%.1f",P10);
printf("\npemakain/m3 selanjutnya       = Rp.%.1f",PLANJUT);

printf("\n\nADMINISTRASI Rp.50\n");

printf("\nDENDA");
printf("\nDenda Pemakaian > 100m3 denda                 = Rp.%.1f",DENDA100);
printf("\nDenda Pemakaian > 10m3 < 100m3 denda          = Rp.%.1f\n",DENDA10);


printf("\n================================================================================\n");

printf("\nketik R untuk kategori Rumah Tangga ");
printf("\nketik U untuk kategori Usaha\n ");
printf("\nmasukan Kategori anda ");
scanf("%c",&kat);



if(kat=='R' || kat=='U'){

BPM=kategori(kat);


    }else{
        printf("\nANDA HARUS MENGINPUTKAN R ATAU U !! \n");
        getch(1);
        goto awal;
    }






pemakaian :
    system("cls");
printf("\nmasukan Besar Pemakaian bulan sekarang\n");
scanf("%f",&Pskrng);
printf("\nmasukan Besar Pemakaian bulan lalu\n");
scanf("%f",&Plalu);


if(Plalu>Pskrng){
        printf("\nPEMAKAIAN BULAN LALU HARUS LEBIH BESAR DARI BULAN SEKARANG !!\n");
        getch(1);
        goto pemakaian;
}else{
P=Pskrng-Plalu;
}
BP=pemakaian(P);
denda=fungsiDenda(P);



printf("\n================================================================================\n");

total=ADM+BPM+BP+denda;




FILE *pointer;
FILE *tulis;

    pointer = fopen("laporanPDAM.txt", "r");
        if(pointer==NULL){
                tulis = fopen("laporanPDAM.txt", "w");
                    if(kat=='U'){
                        fprintf(tulis,"\nKategori Anda                       = Usaha");
                    }
                    else{
                        fprintf(tulis,"\nKategori Anda                      = Rumah Tangga");
                    }

                    fprintf(tulis,"\nTotal Penggunaan Air Anda Bulan Ini = %.1f m3\n",P);


                    fprintf(tulis,"\nBiaya Admistrasi Anda             = Rp.%.1f",ADM);
                    fprintf(tulis,"\nBiaya Biaya Pemeliharaan Anda     = Rp.%.1f",BPM);
                    fprintf(tulis,"\nBiaya Biaya Pemakaian Air Anda    = Rp.%.1f",BP);
                    fprintf(tulis,"\nBiaya Denda Pemakaian Anda        = Rp.%.1f\n",denda);

                    fprintf(tulis,"\nTotal Biaya yang Harus Anda Membayar = Rp.%.1f\n",total);
                    fclose(tulis);
        }else{
                    tulis = fopen("laporanPDAM.txt", "w");
                    if(kat=='U'){
                        fprintf(tulis,"\nKategori Anda                       = Usaha");
                    }
                    else{
                        fprintf(tulis,"\nKategori Anda                       = Rumah Tangga");
                    }

                    fprintf(tulis,"\nTotal Penggunaan Air Anda Bulan Ini = %.1f m3\n",P);


                    fprintf(tulis,"\nBiaya Admistrasi Anda             = Rp.%.1f",ADM);
                    fprintf(tulis,"\nBiaya Biaya Pemeliharaan Anda     = Rp.%.1f",BPM);
                    fprintf(tulis,"\nBiaya Biaya Pemakaian Air Anda    = Rp.%.1f",BP);
                    fprintf(tulis,"\nBiaya Denda Pemakaian Anda        = Rp.%.1f\n",denda);

                    fprintf(tulis,"\nTotal Biaya yang Harus Anda Membayar = Rp.%.1f\n",total);
                    fclose(tulis);

        }


printf("\n===========================SUSKES MENYIMPAN LAPORAN=============================\n");
printf("\n================================================================================\n");
printf("\nTekan (1) untuk mengulang tekan (0) untuk kembali\n");
scanf("%d",&lagi);


        if(lagi==1)
            goto awal;
        else
            goto keluar;


keluar :
  printf("\n===================================TENGKYU======================================");
  printf("\n        ==========================================================");
  getch(1);
  exit(1);

return(0);

}






saya asumsikan kalian telah memahami fungsi-fungsi dari setiap perhitungan diatas karna yang akan saya tekankan disini adalah penjelasan tentang bagaimana cara menampilkan laporan pembayaran biaya PDAM ini kedalam file .txt pada sintak ini :

FILE *pointer;
FILE *tulis;

    pointer = fopen("laporanPDAM.txt", "r");
        if(pointer==NULL){
                tulis = fopen("laporanPDAM.txt", "w");
                    if(kat=='U'){
                        fprintf(tulis,"\nKategori Anda                       = Usaha");
                    }
                    else{
                        fprintf(tulis,"\nKategori Anda                      = Rumah Tangga");
                    }

                    fprintf(tulis,"\nTotal Penggunaan Air Anda Bulan Ini = %.1f m3\n",P);


                    fprintf(tulis,"\nBiaya Admistrasi Anda             = Rp.%.1f",ADM);
                    fprintf(tulis,"\nBiaya Biaya Pemeliharaan Anda     = Rp.%.1f",BPM);
                    fprintf(tulis,"\nBiaya Biaya Pemakaian Air Anda    = Rp.%.1f",BP);
                    fprintf(tulis,"\nBiaya Denda Pemakaian Anda        = Rp.%.1f\n",denda);

                    fprintf(tulis,"\nTotal Biaya yang Harus Anda Membayar = Rp.%.1f\n",total);
                    fclose(tulis);
        }else{
                    tulis = fopen("laporanPDAM.txt", "w");
                    if(kat=='U'){
                        fprintf(tulis,"\nKategori Anda                       = Usaha");
                    }
                    else{
                        fprintf(tulis,"\nKategori Anda                       = Rumah Tangga");
                    }

                    fprintf(tulis,"\nTotal Penggunaan Air Anda Bulan Ini = %.1f m3\n",P);


                    fprintf(tulis,"\nBiaya Admistrasi Anda             = Rp.%.1f",ADM);
                    fprintf(tulis,"\nBiaya Biaya Pemeliharaan Anda     = Rp.%.1f",BPM);
                    fprintf(tulis,"\nBiaya Biaya Pemakaian Air Anda    = Rp.%.1f",BP);
                    fprintf(tulis,"\nBiaya Denda Pemakaian Anda        = Rp.%.1f\n",denda);

                    fprintf(tulis,"\nTotal Biaya yang Harus Anda Membayar = Rp.%.1f\n",total);
                    fclose(tulis);

        }


disana terdapat 2 pointer yaitu pointer "pointer" dan pointer "tulis".

pointer "pointer" adalah pointer yang berfungsi untuk membuka file laporanPDAM.txt pointer = fopen("laporanPDAM.txt", "r"); fopen adalah fungsi untuk menentukan file yang akan dieksekusi dengan mode tertentu (w, r, a, w+, dll). "laporanPDAM.txt" adalah file yang dipilih. dan r adalah mode untuk membuka dan membaca file laporanPDAM.txt tersebut.
kemudian pointer "pointer" akan diperiksa, apabila NULL atau kosong if(pointer==NULL) (artinya file tersebut belum ada jadi tidak ada file yang dibuka atau di baca) maka tulis = fopen("laporanPDAM.txt", "w"). perintah tersebut digunakan untuk membuat file laporanPDAM.txt". kemudian tuliskan laporan kedalam file laporanPDAM.txt.
jika kondisi pertama tidak terpenuhi (if(pointer==NULL))(artinya jika file tersebut sudah ada) maka tuliskan laporan kedalam file laporanPDAM.txt. dan ganti isi dari file laporanPDAM.txt yang sebelumnya dengan laporan yang baru. fungsi fclose(nama_pointer) adalah fungsi untuk menutup file yang tepilih atau dibuka oleh fungsi fopen sebelumnya.

jika ada yang kalian belum mengerti, kalian bisa menanyakannya di kolom komentar. atau jika ada koreksi dan masukan kalian juga bisa tuliskan disana atau line jika kalian tau kontak line aku.




Komentar

Posting Komentar

Postingan populer dari blog ini

PERAN DATABASE DALAM APLIKASI MEDIA SOSIAL DAN JEJARING SOSIAL

Mengurutkan bilangan dengan C

Membuat segitiga siku siku berisi bilangan berurut dengan C

Pengertian dan Manusia Sebagai makhluk Sosial Dan Individu Serta Dampak Media Sosial dan Jejaring Sosial terhadap Manusia

Hubungan Sosial Media Dengan Etika Komputer dan Etika Internet

Manusia Sebagai Makhluk Individu dan Makhluk Sosial

Review Aplikasi kaskus, Nelayan dan Sebangsa

Gunung Batur, 10 juli 2017