Program perhitungan harga pulsa dengan C++

Bissmillahirrahmanirrahim...
Assalamualaikum Warrahmatullahi Wabarokatuh...

Kali ini saya akan sedikit sharing soal tugas akhir Mata Kuliah Algoritma & Pemrograman (praktek) pada semester 2 kemarin. Kebetulan tugas yang kami buat adalah program perhitungan harga pulsa yang di khususkan digunakan oleh kasir konter pulsa supaya dalam hal pelayanan terhadap konsumen bisa lebih cepat, dan ke akuratan data bisa dipertanggung jawabkan (Asyik, heheh).

Dalam program kami terdapat penggunaan :
  1. Struct
  2. Array
  3. Perulangan
  4. If
  5. Tabel
Dimana penggunaan struct kami gunakan untuk mengelompokkan beberapa tipe variabel yang berlainan. Seperti berikut: 



Dalam struct tersebut terdapat beberapa variabel yang berlainan seperti karakter (char) dan Integer (int). Dan untuk pemanggilan struct misalkan berupa nama konsumen. Maka penulisannya sebagai berikut :
Juga sama halnya dengan Array, tetapi array hanya bisa digunakan untuk variabel variabel yang memiliki kesamaan tipe data. Misalkan tidak boleh ada float dan int secara bersamaan.
Sedangkan dalam perintah perulangan, kita tidak menggunakan while ataupun do while, tetapi menggunakan for.Dikarenakan penggunaan for lebih simple sehingga tidak membutuhkan penulisan program yang terlalu panjang.
Dan untuk penggunaan perintah “If” kita gunakan untuk menentukan harga pembayar pulsa dari sebuah nominal pulsa. Misalkan seorang konsumen ingin membeli pulsa dengan nominal 5ribu, maka untuk mengetahui nominal harga pulsa yang dibayarkan kita menggunakan perintah if. Dan karena kebanyakan semua operator menggunakan harga yang sama, maka kita tidak perlu untuk menspesifikasikan harga untuk masing masing operatornya, hanya cukup dengan harga umum semua operator, dan untuk setiap harga kita telah mengkonvert nya kedalam suatu kode, jadi misalkan untuk nominal 5b kita konvert dengan kode A, untuk 10rb kita konvert ke kode B, Konvert tersebut bertujuan agar ketika kita menginputkan data tidak terlalu lama, misalkan ketika kita menginputkan data berupa nominal 100.000 maka kita terlalu banyak dalam segi penginputan nya, tetapi ketika kita mengguanakan kode, kita hanya tinggal memasukan kode nya saja. Contohnya untuk 100.000 kita hanya menginputkan kode “E” dan hasilnya sama dengan ketika kita menginputkan 100.000, tetapi lebih efisien. Untuk penulisannya sebagai berikut :

Sedangakan untuk pembuatan tabel secara otomatis kita menggunakan bantuan perulangan for, untuk memasukan data tersebut kedalam tabel, dibantu dengan fungsi setw atau yang biasa disebut sebagai fungsi manipulator layar yang digunakan untuk mengatur lebar tampilan dilayar dari suatu nilai variable. Tetapi untuk memasukan fungsi tersebut kita harus menggunakan header iomanip.h (#include<iomanip.h>)
Sehingga dengan menggunakan perintah perinta diatas dapat menghasilkan program yang sesuai dengan keinginan kami. Dan berikut tampilan program kami:

Dan berikut syntax lengkap program kami:

#include <iostream.h>
#include <conio.h>
#include <iomanip.h>

struct pulsa
{
     char noperator[50];
   char nnama[50];

   char nnominal[10];
   int nuntung[10];
   int jm;
   int i ;
};

void main ()
{
int jm,total=0;
int i;
char noperator[10];
char nnohp[15];
char nnominal[10] ;
int nbayar[10]={0};


;
pulsa pls;
cout<<"------ HOGWARTS CELL -----"<<endl<<endl;
cout<<"Nama Konsumen : ";cin.getline(pls.nnama,15);
cout<<"Jumlah isi    : ";cin>>jm;
cout<<endl;
clrscr();
for(i=1;i<=jm;i++)
{
cout<<"Pengisian #"<<i<<endl<<endl;

cout <<"Masukan Nama Operator      : ";cin>>noperator;
cout <<"Masukan Nomor HP           : ";cin>>nnohp;
cout<<"+-------------+--------------+"<<endl;
cout<<"|   NOMINAL   | KODE NOMINAL |"<<endl;
cout<<"+-------------+--------------+"<<endl;
cout<<"| Rp 5000     |       A      |"<<endl;
cout<<"| Rp 10000    |       B      |"<<endl;
cout<<"| Rp 25000    |       C      |"<<endl;
cout<<"| Rp 50000    |       D      |"<<endl;
cout<<"| Rp 100000   |       E      |"<<endl;
cout<<"+-------------+--------------+"<<endl;
cout<<endl;
cout <<"Masukan Kode Nominal       : ";cin>>nnominal[i];
cout<<endl;
clrscr();
if (nnominal[i]=='A'|nnominal[i]=='a'){nbayar[i]=5500;}
else if (nnominal[i]=='B'|nnominal[i]=='b'){nbayar[i]=11000;}
else if (nnominal[i]=='C'|nnominal[i]=='c'){nbayar[i]=26000;}
else if (nnominal[i]=='D'|nnominal[i]=='d'){nbayar[i]=49000;}
else if (nnominal[i]=='E'|nnominal[i]=='e'){nbayar[i]=99000;}
}

cout<<"------ HOGWARTS CELL -----"<<endl<<endl;
cout<<"Nama : "<<pls.nnama;
cout<<endl<<endl;
cout<<"+----+---------+------+\n";
cout<<"| No | nominal | bayar|\n";
cout<<"+----+---------+------+\n";
for(i=1;i<=jm;i++)
{
cout<<"|";cout<<setiosflags(ios::left)<<setw(4)<<i;
cout<<"|";cout<<setw(9)<<nnominal[i];
cout<<"|";cout<<setw(6)<<nbayar[i];
cout<<setw(7)<<"|";cout<<"\n";
}
cout<<"+----+---------+------+\n";

for(int i=1;i<=jm;i++){
     total=total+nbayar[i];
   }
cout<<"| Total        |"<<setiosflags(ios::left)<<setw(6)<<total;
cout<<"|"<<endl;
cout<<"+----+---------+------+\n";
cout<<endl;
int pbayar;
cout<<"masukan uang pembayaran : ";cin>>pbayar;
cout<<endl;
cout<<"kembalian : ";
if(pbayar<total){
     cout<<"DUIT KURANG !!!!";
}else{
     cout<<(pbayar-total);
   }

getch();

}


Oke, semoga bisa bermanfaat ya.
Wassalamualaikum Warrohmatullahi Wabarokatuh...










Komentar