Berikut ini adalah contoh program bank account sederhana yang menggabungkan konsep array/ larik dengan konsep object pada OOP. Dengan integrasi ini, program mampu menyimpan lebih dari satu object yang mempunyai induk class yang sama, yaitu bank account. Untuk navigasi dari object satu ke object yang lain digunakan data dari nomer rekening yang tersimpan dalam array.
#include "iostream.h"
class bank_account
{
private:
int pin;
long int no_rekening, no_rek_tujuan;
char nama [20];
char alamat [30];
long int uang;
long int saldo;
char tagihan [10];
public:
bank_account() //default constructor
{ cout << "Constructor executed..." << endl;
saldo = 0;
pin = 0;
}
bank_account(int x, int y = 1000) //parameterized cons
{ saldo = x;
pin = y;
}
bank_account(bank_account &ba)
{ saldo = ba.saldo;
pin = ba.pin;
}
~bank_account()
{ cout << "Destructor executed..." << endl;
}
void rek_baru()
{ cout <> nama;
cout <> alamat;
cout <> no_rekening;
cout <> pin;
cout <> saldo;
cout << "Rekening Anda sudah aktif\n";
};
void setoran()
{ cout <> uang;
saldo = saldo + uang;
cout << "Saldo Anda sekarang adalah = " << saldo << endl;
};
void penarikan()
{ cout <> uang;
if (saldo >= uang)
{ saldo = saldo - uang;
cout << "Saldo Anda sekarang adalah = " << saldo << endl;
}
else cout << "Saldo tidak mencukupi\n";
};
void cek_saldo()
{ cout << "Saldo Anda = " << saldo << endl;
}
long int get_rek()
{ return(no_rekening);
}
};
void main()
{
bank_account nasabah[5];
int menu, nomer, jumlah_nasabah = 0;
do
{
cout << "\nMENU\n1. Buat Rekening\n2. Setoran\n3. Penarikan\n";
cout <> menu;
switch (menu)
{
case 1: nasabah[jumlah_nasabah].rek_baru();
jumlah_nasabah++; break;
case 2: cout <> nomer;
for(int i=0; i=5) cout <<"Not found\n";
break;
case 3: cout <> nomer;
for(int i=0; i=5) cout <<"Not found\n";
break;
case 4: cout <> nomer;
for(int i=0; i=5) cout <<"Not found\n";
}
}while (menu < 5);
cout << "bye bye...\n";
}
Program OOP Bank Account Sederhana
Ada beberapa fungsi yang belum disertakan dalam program ini, yaitu:
- penggantian PIN
- penutupan rekening
- transfer uang antar rekening, dan
- pembayaran tagihan-tagihan
#include "iostream.h"
class bank_account
{
private:
int pin;
long int no_rekening, no_rek_tujuan;
char nama [20];
char alamat [30];
long int uang;
long int saldo;
char tagihan [10];
public:
void rek_baru()
{ cout <> nama;
cout <> alamat;
cout <> no_rekening;
cout <> pin;
cout <> saldo;
cout << "Rekening Anda sudah aktif\n";
};
void setoran()
{ cout <> uang;
saldo = saldo + uang;
cout << "Saldo Anda sekarang adalah = " << saldo << endl;
};
void penarikan()
{ cout <> uang;
if (saldo >= uang)
{ saldo = saldo - uang;
cout << "Saldo Anda sekarang adalah = " << saldo << endl;
}
else cout << "Saldo tidak mencukupi\n";
};
void cek_saldo()
{ cout << "Saldo Anda = " << saldo << endl;
}
};
void main()
{
bank_account nasabah;
int menu;
do
{
cout << "\nMENU\n1. Buat Rekening\n2. Setoran\n3. Penarikan\n";
cout <> menu;
switch (menu)
{
case 1: nasabah.rek_baru(); break;
case 2: nasabah.setoran(); break;
case 3: nasabah.penarikan(); break;
case 4: nasabah.cek_saldo(); break;
}
}while (menu < 5);
}
- penggantian PIN
- penutupan rekening
- transfer uang antar rekening, dan
- pembayaran tagihan-tagihan
#include "iostream.h"
class bank_account
{
private:
int pin;
long int no_rekening, no_rek_tujuan;
char nama [20];
char alamat [30];
long int uang;
long int saldo;
char tagihan [10];
public:
void rek_baru()
{ cout <> nama;
cout <> alamat;
cout <> no_rekening;
cout <> pin;
cout <> saldo;
cout << "Rekening Anda sudah aktif\n";
};
void setoran()
{ cout <> uang;
saldo = saldo + uang;
cout << "Saldo Anda sekarang adalah = " << saldo << endl;
};
void penarikan()
{ cout <> uang;
if (saldo >= uang)
{ saldo = saldo - uang;
cout << "Saldo Anda sekarang adalah = " << saldo << endl;
}
else cout << "Saldo tidak mencukupi\n";
};
void cek_saldo()
{ cout << "Saldo Anda = " << saldo << endl;
}
};
void main()
{
bank_account nasabah;
int menu;
do
{
cout << "\nMENU\n1. Buat Rekening\n2. Setoran\n3. Penarikan\n";
cout <> menu;
switch (menu)
{
case 1: nasabah.rek_baru(); break;
case 2: nasabah.setoran(); break;
case 3: nasabah.penarikan(); break;
case 4: nasabah.cek_saldo(); break;
}
}while (menu < 5);
}
Program Billing Restoran Sederhana
Berikut ini contoh program sederhana untuk melakukan billing transaksi di sebuah restoran. Program ditulis dengan menggunakan bahasa C++ secara prosedural. Program ini juga merupakan jawaban soal UTS SP mata kuliah Bahasa Pemrograman 1. Semoga bermanfaat.
Jalannya program: user/ petugas billing akan memasukkan data menu masakan yang dipesan. Setelah itu dimasukkan jumlah porsinya. Program akan menghitung dan menampilkan biaya per menu. Program akan kembali ke halaman menu. User bisa mengulangi untuk memasukkan menu yang lain. Jika sudah tidak ada lagi menu yang mau dimasukkan maka user memilih menu "Selesai" untuk menampilkan Total biaya yang harus dibayar dari keseluruhan menu yang dipesan. Selamat mencoba...
#include "stdio.h"
void main()
{
int pilihan, biaya, porsi, total=0;
do
{
printf("MENU RESTORAN NIKMAT\n");
printf("1. Sate Ayam\n2. Sate Kambing\n3. Soto Iga Sapi\n");
printf("4. Selesai\n5. EXIT\n");
printf("Pilihan = ");
scanf("%d", &pilihan);
switch(pilihan)
{
case 1:
biaya = 7000;
printf("Porsi = "); scanf("%d", &porsi);
biaya = biaya * porsi;
total = total + biaya;
printf("Biaya = %d\n", biaya);
break;
case 2: //modify case 1
break;
case 3: //modify case 1
break;
case 4:
printf("Total biaya = %d\n", total);
total = 0; //di-nol-kan utk awal perhitungan baru
break;
case 5:
printf("Program shut down...");
break;
}
}while (pilihan != 5);
}
Jalannya program: user/ petugas billing akan memasukkan data menu masakan yang dipesan. Setelah itu dimasukkan jumlah porsinya. Program akan menghitung dan menampilkan biaya per menu. Program akan kembali ke halaman menu. User bisa mengulangi untuk memasukkan menu yang lain. Jika sudah tidak ada lagi menu yang mau dimasukkan maka user memilih menu "Selesai" untuk menampilkan Total biaya yang harus dibayar dari keseluruhan menu yang dipesan. Selamat mencoba...
#include "stdio.h"
void main()
{
int pilihan, biaya, porsi, total=0;
do
{
printf("MENU RESTORAN NIKMAT\n");
printf("1. Sate Ayam\n2. Sate Kambing\n3. Soto Iga Sapi\n");
printf("4. Selesai\n5. EXIT\n");
printf("Pilihan = ");
scanf("%d", &pilihan);
switch(pilihan)
{
case 1:
biaya = 7000;
printf("Porsi = "); scanf("%d", &porsi);
biaya = biaya * porsi;
total = total + biaya;
printf("Biaya = %d\n", biaya);
break;
case 2: //modify case 1
break;
case 3: //modify case 1
break;
case 4:
printf("Total biaya = %d\n", total);
total = 0; //di-nol-kan utk awal perhitungan baru
break;
case 5:
printf("Program shut down...");
break;
}
}while (pilihan != 5);
}
Program Queue Memakai Linked List
#include "stdio.h"
#include "stdlib.h"
#include "conio.h"
struct node{
int info;
struct node *next;
};
typedef struct node *simpul;
void main()
{
simpul baru, front=NULL, rear=NULL, temp;
int pilih;
do
{
printf("MENU\n");
printf("1. ENQUEUE\n");
printf("2. VIEW\n");
printf("4. DEQUEUE\n");
printf("PILIH: ");
scanf("%d", &pilih);
switch(pilih)
{
case 1:
int data;
printf("Data Masuk: ");
scanf("%i", &data);
baru = (simpul) malloc(sizeof (struct node));
baru->info = data;
baru->next = NULL; //tidak menuju simpul mana2
if (front == NULL) //khusus simpul pertama LL
{ front = baru;
rear = baru;
}
else //untuk simpul2 berikutnya
{ rear->next = baru;
rear = baru;
}
break;
case 2:
temp = front; //tampilkan mulai dr depan
while(temp!=NULL) //ulangi sampai temp NULL
{ printf("%i ", temp->info);
temp = temp->next; //geser temp ke belakang
}
printf("\n");
break;
case 4:
if(front != NULL)
{ temp = front;
printf("Data keluar = %d\n", temp->info);
front = temp->next;
free(temp);
printf("\n");
}
else printf("Queue sudah kosong!\n");
break;
}
}while (pilih!=5);
}
#include "stdlib.h"
#include "conio.h"
struct node{
int info;
struct node *next;
};
typedef struct node *simpul;
void main()
{
simpul baru, front=NULL, rear=NULL, temp;
int pilih;
do
{
printf("MENU\n");
printf("1. ENQUEUE\n");
printf("2. VIEW\n");
printf("4. DEQUEUE\n");
printf("PILIH: ");
scanf("%d", &pilih);
switch(pilih)
{
case 1:
int data;
printf("Data Masuk: ");
scanf("%i", &data);
baru = (simpul) malloc(sizeof (struct node));
baru->info = data;
baru->next = NULL; //tidak menuju simpul mana2
if (front == NULL) //khusus simpul pertama LL
{ front = baru;
rear = baru;
}
else //untuk simpul2 berikutnya
{ rear->next = baru;
rear = baru;
}
break;
case 2:
temp = front; //tampilkan mulai dr depan
while(temp!=NULL) //ulangi sampai temp NULL
{ printf("%i ", temp->info);
temp = temp->next; //geser temp ke belakang
}
printf("\n");
break;
case 4:
if(front != NULL)
{ temp = front;
printf("Data keluar = %d\n", temp->info);
front = temp->next;
free(temp);
printf("\n");
}
else printf("Queue sudah kosong!\n");
break;
}
}while (pilih!=5);
}
Contoh Program Queue Menggunakan Array Bahasa C
#include "stdio.h"
void main()
{ int queue[5];
int depan = -1;
int belakang = -1;
int pilihan, data, i;
do{
printf("MENU\n");
printf("1. ENQUEUE\n2. DEQUEUE\n3. VIEW\n4. EXIT\n");
printf("Pilihan = "); scanf("%d", &pilihan);
switch (pilihan)
{
case 1: //enqueue
//apakah queue belum penuh?
if (belakang < 4 )
{ printf("Data Masuk = "); scanf("%d", &data);
queue[belakang+1] = data;
belakang++;
if (belakang == 0)
depan = 0;
}
else
printf("Queue penuh!\n");
break;
case 2: //dequeue
//apakah queue belum kosong?
if (depan <= belakang)
{ printf("Data keluar = %d\n", queue[depan]);
depan++;
}
else
printf("Queue kosong!\n");
break;
case 3:
for(i=depan; i<=belakang; i++)
printf("%d ", queue[i]);
printf("\n");
break;
}
}while (pilihan != 4);
}
Artikel terkait:
Queue dengan Liked List
Queue Array Java
Queue Linked List Java
Queue Library Java
void main()
{ int queue[5];
int depan = -1;
int belakang = -1;
int pilihan, data, i;
do{
printf("MENU\n");
printf("1. ENQUEUE\n2. DEQUEUE\n3. VIEW\n4. EXIT\n");
printf("Pilihan = "); scanf("%d", &pilihan);
switch (pilihan)
{
case 1: //enqueue
//apakah queue belum penuh?
if (belakang < 4 )
{ printf("Data Masuk = "); scanf("%d", &data);
queue[belakang+1] = data;
belakang++;
if (belakang == 0)
depan = 0;
}
else
printf("Queue penuh!\n");
break;
case 2: //dequeue
//apakah queue belum kosong?
if (depan <= belakang)
{ printf("Data keluar = %d\n", queue[depan]);
depan++;
}
else
printf("Queue kosong!\n");
break;
case 3:
for(i=depan; i<=belakang; i++)
printf("%d ", queue[i]);
printf("\n");
break;
}
}while (pilihan != 4);
}
Artikel terkait:
Queue dengan Liked List
Queue Array Java
Queue Linked List Java
Queue Library Java
Subscribe to:
Posts (Atom)