iseplutpi

Mengitung tarif Listrik PLN

Jan 31st, 2020
248
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 7.82 KB | None | 0 0
  1. /*
  2. Program ini dibuat sebagai tugas Mengitung tarif Listrik PLN
  3. © 2019 ISEP LUTPI NUR
  4. */
  5. #include<iostream>
  6. #include<fstream>
  7. #include<time.h>
  8. #include<conio.h>
  9. #include<stdio.h>
  10. using namespace std;
  11. int main(){
  12.     time_t now = time(0);
  13.     tm *ltm = localtime(&now);
  14.     int aa,ba;
  15.     string ab,bb;
  16.     //Converter Bulan akngka jadi bulan Teks
  17.     aa=1+ltm->tm_mon;
  18.     if (aa > 13 || aa < 0){
  19.         cout << "Salah";
  20.     }else {
  21.         if(aa==1){
  22.             ab="Januari";
  23.         }
  24.         if(aa==2){
  25.             ab="Februari";
  26.         }
  27.         if(aa==3){
  28.             ab="Maret";
  29.         }
  30.         if(aa==4){
  31.             ab="April";
  32.         }
  33.         if(aa==5){
  34.             ab="Mei";
  35.         }
  36.         if(aa==6){
  37.             ab="Juni";
  38.         }
  39.         if(aa==7){
  40.             ab="Juli";
  41.         }
  42.         if(aa==8){
  43.             ab="Agustus";
  44.         }
  45.         if(aa==9){
  46.             ab="September";
  47.         }
  48.         if(aa==10){
  49.             ab="Oktober";
  50.         }
  51.         if(aa==11){
  52.             ab="November";
  53.         }
  54.         if(aa==12){
  55.             ab="Desember";
  56.         }
  57.     }
  58.  
  59.     int baris;
  60.     //header
  61.     cout << "+=====================================================" << endl;
  62.     cout << "| PROGRAM PERHITUNGAN TARIF LISTRIK SEDERHANA" << endl;
  63.     cout << "| "<< ltm->tm_hour <<":"<< ltm->tm_min <<":"<< ltm->tm_sec <<" | "<<ltm->tm_mday<<" "<<ab<<" "<<1900+ltm->tm_year<<" | ISEP LUTPI NUR"<<endl;
  64.     cout << "+=====================================================" << endl;
  65.     cout << "Masukan berapa alat yang akan di hitung : "; cin >> baris;
  66.  
  67.     float wat[baris], jam[baris], total[baris], totaljam[baris], tarif, hari;
  68.     long totalbiaya=0;
  69.     int pembayaran;
  70.     ifstream baca;
  71.     ofstream tulis;
  72.     tulis.open("data.bin", ios::trunc | ios::binary);
  73.     tulis.close();
  74.     string kata,kalimat;
  75.     cout << endl;
  76.  
  77.     cout << endl;
  78.     cout << "==============INPUT PERHITUNGAN PER ALAT==============" << endl;
  79.     cin.ignore(1,'\n');
  80.     for(int i=1; i<=baris; i++){
  81.         cout << "Nama alat " << i << "                      : ";
  82.         getline(cin,kata);
  83.         tulis.open("data.bin", ios::app | ios::binary);
  84.         tulis << kata << "\n";
  85.         tulis.close();
  86.         cout << "   Tegangan listrik (Wat)        : ";
  87.         cin >> wat[i];    salah:
  88.         cout << "   Digunakan berapa jam per hari : ";
  89.         cin >> jam[i];
  90.         if(jam[i]>24){
  91.             cout << "   +-----------------------------------+" << endl;
  92.             cout << "   |  Input yang anda masukan melebihi |" << endl;
  93.             cout << "   |  24 jam silahkan masukan ulang    |" << endl;
  94.             cout << "   +-----------------------------------+" << endl;
  95.             goto salah;
  96.         }
  97.         cin.ignore(1,'\n');
  98.     }
  99.  
  100.  
  101.     //Input harga per kWh
  102.     cout << endl;
  103.     cout << "===============INPUT PERHITUNGAN TARIF================" << endl;
  104.     cout << "Masukan tarif per kWh Rp.  : "; cin >> tarif;
  105.     cout << "Dihitung dalam berapa hari : "; cin >> hari;
  106.     cout << endl;
  107.     cout << "==OUTPUT PEMAKAIAN DAN TARIF BIAYA LISTRIK PER ALAT===" << endl;
  108.  
  109.  
  110.  
  111.     //Operasi penjumlahan
  112.     for(int i=1; i<=baris; i++){
  113.         total[i]=(wat[i]*jam[i])/1000;
  114.         total[i]=total[i]*tarif;
  115.         total[i]=total[i]*hari;
  116.         totaljam[i]=jam[i]*hari;
  117.         totalbiaya=totalbiaya+total[i];
  118.     }
  119.  
  120.  
  121.  
  122.     //Output
  123.     for(int i=1; i<=baris; i++){
  124.         baca.open("data.bin", ios::in | ios::binary);
  125.         for(int j=1; j<=i; j++){
  126.             getline(baca,kalimat);
  127.         }
  128.         baca.close();
  129.         cout << i << ". " << kalimat << endl;
  130.         cout << "   Dipakai " << jam[i] << " jam perhari "<< wat[i] <<" wat dengan biaya Rp." << total[i]/hari << endl;
  131.         cout << "   Dipakai " << totaljam[i] << " jam selama " << hari << " hari" << endl;
  132.         cout << "   Jumlah biaya : Rp." << total[i] << endl;
  133.     }
  134.  
  135.     //Total
  136.     cout << endl;
  137.     cout << "   Total Tarif Listrik Perhari : Rp." << totalbiaya/hari;
  138.     cout << "\n" << endl;
  139.     cout << "========================TOTAL=========================" << endl;
  140.     cout << "   Total seluruh biaya listrik selama " << hari << " hari adalah " << endl;
  141.     cout << "   Rp." << totalbiaya << endl;
  142.     bayar:
  143.     cout << "======================================================"  << endl;
  144.     cout << "Masukan pembayaran: "; cin  >>  pembayaran;
  145.     cout << pembayaran << " - " << totalbiaya << " = " << pembayaran-totalbiaya << endl;
  146.         if(pembayaran < totalbiaya){
  147.         int pembagi=(-1);
  148.         cout << "   +-----------------------------------+" << endl;
  149.         cout << "   |  Uang anda kurang Rp." << (pembayaran-totalbiaya)*pembagi << endl;
  150.         cout << "   +-----------------------------------+" << endl;
  151.         goto bayar;
  152.         }
  153.     cout << "Kembalian: " << pembayaran-totalbiaya << endl;
  154.     cout << "======================================================"  << endl;
  155.    
  156.     // Cetak struk
  157.     char struk;
  158.     cout << "Cetak Struk [Y/T] ";
  159.     cin  >>  struk;
  160.    
  161.  
  162.     // Struk
  163.     if(struk == 'Y' || struk == 'y'){
  164.         ofstream datakwh;
  165.         datakwh.open("struk.txt",ios::trunc);
  166.         datakwh << "+=====================================================" << endl;
  167.         datakwh << "| PROGRAM PERHITUNGAN TARIF LISTRIK SEDERHANA" << endl;
  168.         datakwh << "| "<<ltm->tm_hour<<":"<<ltm->tm_min<<":"<<ltm->tm_sec<<" |"<<ltm->tm_mday<<" "<<ab<<" "<<1900+ltm->tm_year<<" | ISEP LUTPI NUR"<<endl;
  169.         datakwh << "+=====================================================" << endl;
  170.        
  171.         datakwh << endl;
  172.         datakwh << "===================PERHITUNGAN TARIF==================" << endl;
  173.         datakwh << "Tarif per kWh Rp." << tarif << endl;
  174.         datakwh << "Dihitung dalam " << hari << " hari" <<endl;
  175.         datakwh << endl;
  176.         datakwh << "======PEMAKAIAN DAN TARIF BIAYA LISTRIK PER ALAT======" << endl;
  177.  
  178.  
  179.         for(int i=1; i<=baris; i++){
  180.             baca.open("data.bin", ios::in | ios::binary);
  181.             for(int j=1; j<=i; j++){
  182.                 getline(baca,kalimat);
  183.             }
  184.             baca.close();
  185.             datakwh << i << ". " << kalimat << endl;
  186.             datakwh << "   Dipakai " << jam[i] << " jam perhari "<< wat[i] <<" wat dengan biaya Rp." << total[i]/hari << endl;
  187.             datakwh << "   Dipakai " << totaljam[i] << " jam selama " << hari << " hari" << endl;
  188.             datakwh << "   Jumlah biaya : Rp." << total[i] << endl;
  189.         }
  190.  
  191.         datakwh << endl;
  192.         datakwh << "   Total Tarif Listrik Perhari : Rp." << totalbiaya/hari;
  193.         datakwh << "\n" << endl;
  194.         datakwh << "========================TOTAL=========================" << endl;
  195.         datakwh << "   Total seluruh biaya listrik selama " << hari << " hari adalah " << endl;
  196.         datakwh << "   Rp." << totalbiaya << endl;
  197.         datakwh << "======================================================"  << endl;
  198.         datakwh << pembayaran << " - " << totalbiaya << " = " << pembayaran-totalbiaya << endl;
  199.         datakwh << "Kembalian: " << pembayaran-totalbiaya << endl;
  200.         datakwh << "======================================================"  << endl;
  201.         datakwh << "  PROGRAM PERHITUNGAN TARIF LISTRIK SEDERHANA SELESAI "  << endl;
  202.         datakwh << "    \u00A9 2019 Isep Lutpi Nur 2113191079 USB YPKP BDG     "  << endl;
  203.         datakwh << "======================================================\n\n\n\n\n\n\n\n\n";
  204.  
  205.         datakwh.close();
  206.     }
  207.  
  208.  
  209.     //Foother
  210.     cout << "======================================================"  << endl;
  211.     cout << "  PROGRAM PERHITUNGAN TARIF LISTRIK SEDERHANA SELESAI "  << endl;
  212.     cout << "    \u00A9 2019 Isep Lutpi Nur 2113191079 USB YPKP BDG     "  << endl;
  213.     cout << "======================================================";
  214.     getch();
  215. }
Advertisement
Add Comment
Please, Sign In to add comment