Bertemu kembali dengan tulisan saya, kali ini saya akan berbagi tentang contoh makalah dan pemrograman c++ yang dipelajari di semester 1, terutama bagi mahasiswa manajemen informatika. makalh dan program ini dibuat sebagai pengganti nilai UAS dan Praktikum, tanpa panjang lebar saya coba jabarkan.
BAB I
PENDAHULUAN
1.1. LATAR BELAKANG
C++ merupakan bahasa pemograman yang bersifat Object Orinted Programing (OOP), merupakan program pengembangan dari bahasa C yang disempurnakan pada tahun 1980 menjadi “C with classes” kemudian pada tahun 1983 berubah menjadi C++.
Untuk mengkompilasi bahasa pemograman C++ maka dibuat program “Borland C++” walaupun sebenarnya selain Borland C++, masih ada program computer lain yang bisa menterjemahkan bahasa C++, misal topspeed C++, Zortech C++ dan sebagainya.
Makalah yang kami buat kali ini bertemakan “Program Kasir Restoran” yang di dalamnya kami masukan beberapa perintah seperti Looping, Array, Class, Macro/Pointer, Fungsi, Perulangan dan Percabangan, Label.
Program ini kami buat untuk mempermudah Kasir/ Penjual dalam menginput data dan mencari ouput dengan hasil yang benar tanpa dilakukan secara manual.
1.2. TUJUAN
Tujuan dari dibuatnya makalah ini adalah untuk memenuhi salah satu tugas mata kuliah Algoritma dan Pemograman yang sekaligus tugas untuk medapatkan nilai UAS. Selain itu kami bisa lebih faham materi yang telah disampaikan dari awal hingga akhir pertemuan dengan cara mempraktekannya dalam membuat program. Dan kami berharap program tersebut bisa dikembangkan dan berguna bagi masyarakat.
1.3. RUANG LINGKUP
Ruang Lingkup makalah ini adalah mahasiswa AMIK BSI, yang mendapatkan mata kuliah Algoritma dan Pemograman.
BAB II
PEMBAHASAN
2.1. LISTING
#include <stdio.h>
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
#define hapus() clrscr()
judul()
{
cout<<"\t\ KAFE MIE TERBANG"<<endl;
cout<<"\t\Jl. Koja Cisalak Pasar"<<endl;
cout<<" Cimanggis Depok (021) 87066442"<<endl;
cout<<"============================================="<<endl<<endl;
}
garis()
{
cout<<"============================================="<<endl;
}
long ttlhrg(long hrg, long jmlprs)
{
return(hrg*jmlprs);
}
long kembali(long uby, long ttlbay)
{
return(uby-ttlbay);
}
main()
{
int i, jml_psn;
long subtotal, u_bayar, u_kembali;
char lagi, nm_kasir[15], nm_pembeli[15];
class menu
{
public:
char nm_mn[8],kd_prs,nm_prs,u_prs[8];
int kd_mn, jml_prs;
long tohar, harga;
};
menu mie[6];
awal:
subtotal=0;
hapus();
judul();
cout<<"Nama Kasir\t: ";gets(nm_kasir);
cout<<"Nama Pembeli\t: ";gets(nm_pembeli);
cout<<"Jumlah Pesanan\t: "; cin>>jml_psn;
cout<<endl<<endl;
for(i=1;i<=jml_psn;i++)
{
cout<<"Pesanan ke - "<<i<<endl;
cout<<"Kode Menu [1/2/3]\t: "; cin>>mie[i].kd_mn;
cout<<"Kode Ukuran Porsi [B/L]\t: "; cin>>mie[i].kd_prs;
if(mie[i].kd_mn==1)
{
strcpy(mie[i].nm_mn, "Menu 1");
if(mie[i].kd_prs=='B'||mie[i].kd_prs=='b')
{
strcpy(mie[i].u_prs, "Biasa");
mie[i].harga=20000;
}
else if(mie[i].kd_prs=='L'||mie[i].kd_prs=='l')
{
strcpy(mie[i].u_prs, "Lapar");
mie[i].harga=25000;
}
else
{
cout<<endl;
cout<<"KODE MENU YANG ANDA MASUKAN SALAH"<<endl;
goto bawah;
}
}
else if(mie[i].kd_mn==2)
{
strcpy(mie[i].nm_mn, "Menu 2");
if(mie[i].kd_prs=='B'||mie[i].kd_prs=='b')
{
strcpy(mie[i].u_prs, "Biasa");
mie[i].harga=30000;
}
else if(mie[i].kd_prs=='L'||mie[i].kd_prs=='l')
{
strcpy(mie[i].u_prs, "Lapar");
mie[i].harga=35000;
}
else
{
cout<<endl;
cout<<"KODE MENU YANG ANDA MASUKAN SALAH"<<endl;
goto bawah;
}
}
else if(mie[i].kd_mn==3)
{
strcpy(mie[i].nm_mn, "Menu 3");
if(mie[i].kd_prs=='B'||mie[i].kd_prs=='b')
{
strcpy(mie[i].u_prs, "Biasa");
mie[i].harga=40000;
}
else if(mie[i].kd_prs=='L'||mie[i].kd_prs=='l')
{
strcpy(mie[i].u_prs, "Lapar");
mie[i].harga=45000;
}
else
{
cout<<endl;
cout<<"KODE MENU YANG ANDA MASUKAN SALAH"<<endl;
goto bawah;
}
}
else
{
cout<<endl;
cout<<"KODE MENU YANG ANDA MASUKAN SALAH"<<endl;
goto bawah;
}
cout<<"Jumlah Porsi\t\t: "; cin>>mie[i].jml_prs;
cout<<endl;
mie[i].tohar=ttlhrg(mie[i].harga, mie[i].jml_prs);
}
hapus();
judul();
cout<<endl;
cout<<"Nama Kasir\t: "<<nm_kasir;
cout<<"\nNama Pembeli\t: "<<nm_pembeli;
cout<<endl<<endl;
garis();
puts("NO Nama Ukuran Harga Jumlah Total ");
puts(" Menu Porsi Menu Porsi");
garis();
cout<<endl;
for(i=1;i<=jml_psn;i++)
{
gotoxy(1,14+i);cout<<i;
gotoxy(5,14+i);cout<<mie[i].nm_mn;
gotoxy(13,14+i);cout<<mie[i].u_prs;
gotoxy(22,14+i);cout<<mie[i].harga;
gotoxy(30,14+i);cout<<mie[i].jml_prs;
gotoxy(39,14+i);cout<<mie[i].tohar<<endl;
subtotal=subtotal+mie[i].tohar;
}
cout<<endl;
garis();
cout<<endl;
cout<<" Total Bayar : "<<subtotal<<endl;
cout<<" Uang Bayar : "; cin>>u_bayar;
u_kembali=kembali(u_bayar, subtotal);
cout<<" Uang Kembali : "<<u_kembali;
cout<<endl<<endl;
bawah:
cout<<"\t Input Data Lagi [Y/T]: ";cin>>lagi;
if(lagi=='y'||lagi=='Y')
goto awal;
else
goto akhir;
getch();
akhir:
}
2.2. TAMPILAN PROGRAM
|
Tampilan Input |
|
Tampilan Output |
2.3.PENJELASAN PROGRAM
2.3.1. File Header
#include<iostream.h> file header ini memeliki beberapa perintah umum cout<< untuk output, cin>> untuk input.
#include<stdio.h> file header ini memiliki beberapa perintah umum seperti scanf, gets, printf, puts, putchar.
#include<conio.h> file header ini memiliki beberapa perintah umum seperti getch(), getche(), clrscr(),
#include<iomanip.h> header ini memiliki beberapa perintah seperti gotoxy, setiosflag
2.3.2. Tipe Data
Tipe Data Keterangan
char untuk menampung data sebuah karakter
int tipe data yang tidak memiliki angka decimal
long sama sperti int, tapi batasan nilainya lebih besar
2.3.3. Operator Aritmatika
Operator Keterangan
* Perkalian
+ Pertambahan
- Pengurangan
/ Pembagian
2.3.4. Perulangan (Looping)
Stuktur pengulangan digunakan untuk mengulang suatu perintah sebanyak yang diinginkan. Untuk melakukan perintah dengan banyak perulangan akan lebih efesien apabila kita menggunakan perintah ini. Fungsi perulangan diantaranya adalah for, nested for, goto, while, do while, dan sebagainya.
2.3.5. Statement goto (label)
Digunakan agar program melompat ke baris yang telah ditentukan. Untuk menggunakan statement goto, digunakan pula label untuk menandakan kemana program tersebut akan melompat. Label dapat ditulis awal:, akhir:.
2.3.6. Seleksi kondisi nested if
Bahasa umumnya adalah if di dalam if.
Perintah if dalam if sering disebut nested-if. Perintah ini
mempunyai bentuk umum sebagai berikut:
Bentuk Umum :
If(kondisi1)
{
if(kondisi2)
{
pernyataan1;
}
else
{
pernyataan2;
}
}
else
{
if(kondisi2)
{
pernyataan1;
}
else
{
pernyataan2;
}
}
Penyelesaian akan dilakukan mulai dari kondisi pertama (kodisi 1), jika kondisi ini dipenuhi maka pernyataan yang diikuti akan dijalankan (pernyataan 1), dan seleksi kondisi dihentikan (kondisi-kondisi yang lain tidak akan diperiksa).
Namun jika seleksi kondisi tidak dipenuhi, maka seleksi kondisi dilanjutkan ke kondisi 2. Jika kondisi 2 terpenuhi, maka pernyataan 2 dilanjutkan. Namu jika tidak maka seleksi dilanjutkan ke kondisi 3, begitu seterusnya.
2.3.7. Array
Adalah suatu variable yang terdiri dari sekumpulan data, dimana data-data tersebut mempunya tipe data yang sama. Setiap data disisipkan dalam alamat memori yang berbeda-beda yang biasa disebut elemen array.
Bentuk umum array :
tipe_data nama_array[baris][kolom]
2.3.8. Fungsi gotoxy
Fungsi ini mempunyai 2 parameter. Parameter tersebut adalah kordinat dimana kita ingin meletakan kursor. X=baris, Y=kolom.
2.3.9. Class
Merupakan gambaran atau abtraksi karakter atau sifat dari suatu objek. Class dapat juga mendefinisikan cirri dan prilaku objek tersebut.
Fungsi class yang kami gunakan pada program ini adalah public pada class. Bentuk umum :
Class class_name
{
Public:
Tipe_data variable
};
Object declaration;
2.3.10. Macro
Preprocessor Directives
Preprocessor directive merupakan suatu perintah yang termasuk kedalam program, tetapi bukanlah instruksi dari program itu sendiri, tetapi untuk preprocessor. Preprocessor ini dijalankan secara otomatis oleh kompiler, ketika didalam proses penterjemahan (Compile) program berlangsung, didalamnya membuat nilai pembuktian pertama dan menterjemahkan code program didalam kode objek. Didalam penggunaan preprocessor directive selalu dimulai dengan tanda : #
Ada beberapa preprocessor directive, diantaranya adalah:
#define nama_konstanta teks
#difine salah satu bentuk praprocesor untuk mendefinisikan suatu nilai tertentu kepada suatu nama konstanta.
Misal : #define mulai { (mulai= “{“
BAB III
PENUTUP
3.1. KESIMPULAN
Kesimpulan yang dapat kita ambil diantaranya :
- Dalam bahasa C++ semua yang berhubungan dengan sintaks harus diperhatikan secara seksama, karena program tidak bisa jalan kalau salah satu sintaks missing.
- Dalam menyusun program, harus diperhatikan huruf besar dan kecil, karena program ini bersifat case sensitive.
- Penggunaan stuktur data yang jelas dan efesien menghasilkan pula program yang jelas dan efektif dan efesien.
- Penggunaan fungsi yang tepat memungkinkan program lebih sederhana dalam proses penyusunanya.
- Array merupakan salah satu stuktur data yang satu fungsinya mendefinisikan alokasi memori sementara pada computer.
DAFTAR PUSTAKA
TIM Penyusun MI 2016, “Modul Praktikum Pemograman C++”, BSI, 2016
Frieyadie, S Kom, “Pemograman C++ dengan Borland C++ 5.02 (Edisi Revisi), penerbit andi, Yogyakarta 2006
Demikianlah contoh makalah dan program yang saya buat, mohon maaf jika masih banyak kekurangan, semoga bisa dijadikan referensi oleh temen-temen mahasiswa. jika ada kritik dan saran atau ada pertanyaan, silahkan tinggalkan pesan di kolom komentar. terima kasih.
Wassalamu'alaikum.......
nice information min
BalasHapuspapan penjepit pcb
sama-sama, semoga bermanfaat
Hapus