PROGRAM C++
STRUK PEMBELANJAAN
ARRAY 1 DIMENSI
TUGAS KELOMPOK
Diajukan untuk memenuhi salah satu tugas mata kuliah
STRUKTUR DATA
KELOMPOK
12156234 ABDUR ROZAQ
12154439 ADE NUR RAMDHANI
12156234 DEDY HERIYANTO
12155211 FATKHUL AMIN
12155751 SUPRIYADI ARIFIN
Jurusan Manajemen Informatika
Akademi Manajemen Informatika dan Komputer Bina Sarana Informatika Jakarta
Cabang BSI Pemuda
2016
i
KATA PENGANTAR
Puji syukur kami panjatkan kehadirat Tuhan Yang Maha Esa karena dengan rahmat,
karunia, serta taufik dan hidayah-Nya kami dapat menyelesaikan makalah tentang Program C++
dengan tema Struk Pembelanjaan menggunakan Array 1 Dimensi ini dengan baik meskipun
banyak kekurangan didalamnya. Dan juga kami berterima kasih pada Bapak Budi Supriyadi, S.T.
selaku Dosen mata kuliah Struktur Data AMIK BSI yang telah memberikan tugas ini kepada
kami.
Kami sangat berharap makalah ini dapat berguna dalam rangka menambah wawasan serta
pengetahuan kita mengenai proses pembuatan Program C++ dengan tema Struk Pembelanjaan
menggunakan Array 1 Dimensi.
Kami juga menyadari sepenuhnya bahwa di dalam makalah ini terdapat kekurangan dan
jauh dari kata sempurna. Oleh sebab itu, kami berharap adanya kritik, saran dan usulan demi
perbaikan makalah yang telah kami buat di masa yang akan datang, mengingat tidak ada sesuatu
yang sempurna tanpa saran yang membangun.
Semoga makalah sederhana ini dapat dipahami bagi siapapun yang membacanya.
Sekiranya makalah yang telah disusun ini dapat berguna bagi kami sendiri maupun orang yang
membacanya. Sebelumnya kami mohon maaf apabila terdapat kesalahan kata-kata yang kurang
berkenan dan kami memohon kritik dan saran yang membangun dari semua pihak demi
perbaikan makalah ini di waktu yang akan datang.
ii
DAFTAR ISI i
ii
Halaman Judul iii
Kata Pengantar
Daftar Isi 1
1
Bab I Pendahuluan 1
1.1 Latar Belakang
1.2 Rumusan Masalah 2
1.3 Tujuan Penulisan 5
11
Bab II Pembahasan
2.1 Header atau Preprocessor 15
2.2 Syntax 15
2.3 Screenshot & Alur Program 16
Bab III Penutup
3.1 Kesimpulan
3.2 Saran
Daftar Pustaka
iii
BAB I
PENDAHULUAN
1.1 Latar Belakang
Sekarang ini, perkembangan ilmu komputer sangatlah pesat. Penggunaan komputer
khususnya di Indonesia, sudah merupakan hal yang umum bagi semua golongan masyarakat.
Komputer dan sistem komputer, hampir tidak lepas pemanfaatannya di berbagai bidang.
Salah satu bidang dalam pemanfaatan sistem komputerisasi adalah bidang bisnis,
termasuk di dalamnya ialah UKM ( Usaha Kecil dan Menengah ). Namun masih banyak pelaku
UKM yang belum menggunakan sistem komputerisasi untuk usaha yang dikelolanya, dalam hal
ini contohnya mencetak struk atau bukti pembelanjaan.
1.2 Rumusan Masalah
1. Bagaimana membuat struktur program kasir untuk mencetak sebuah bukti pembelanjaan
dengan menggunakan Array 1 Dimensi pada bahasa pemrograman C++.
1.3 Tujuan Penulisan
1. Membuat struktur program kasir untuk mencetak sebuah bukti pembelanjaan dengan
menggunakan Array 1 Dimensi pada bahasa pemrograman C++.
2. Memenuhi salah satu tugas untuk mata kuliah Struktur Data.
1
BAB II
PEMBAHASAN
2.1 Header / Preprocessor
Pada pembuatan program struk pembelanjaan untuk toko astronomi, kami menggunakan
beberapa header / preprocessor yang telah tersedia secara default pada IDE Borland C++ 5.02,
antara lain :
1. Conio.h
Conio merupakan singkatan dari Console Input Output, fungsi conio.h adalah untuk
mengontrol input output. Beberapa fungsi pustaka yang kami gunakan dari header conio.h ialah :
a. clrscr
fungsi clrscr adalah untuk membersihkan layar dari semua output yang sebelumnya telah
dicetak. Bentuk umum penulisannya : clrscr ( ) ;
b. getch
fungsi getch kami gunakan untuk menahan tampilan pada layar. Bentuk umum
penulisannya : getch ( ) ;
c. gotoxy
fungsi gotoxy digunakan untuk mengarahkan cursor ke titik koordinat tertentu. Bentuk
umum penulisannya : gotoxy ( koordinat_horizontal, koordinat_vertikal ) ;
2. Stdio.h
Stdio.h merupakan singkatan dari Standard Input Output, header ini biasanya digunakan
untuk bahasa pemrograman C, tetapi bisa juga digunakan dalam bahasa pemrograman C++.
Fungsi umum header ini sama dengan header iostream.h pada bahasa pemrograman C++, yaitu
untuk proses input dan output. Fungsi pustaka yang kami gunakan pada header ini adalah :
a. printf
fugsi printf digunakan untuk menampilkan suatu output pada layar, sama halnya seperti
fungsi cout pada header iostream.h. Bentuk umum penulisannya :
printf ( “ Hello World “ ) ; → menampilkan tulisan yang berada dalam tanda “ “.
2
3. Dos.h
Penggunaan header dos.h pada program struk pembelanjaan untuk toko astronomi ini
hanya kami gunakan untuk memanggil fungsi struct date dan struct time yang telah didefinisikan
pada header dos.h. Bentuk umum pendeklarasian dan pemanggilannya :
struct date nama_variabel ; → pendeklarasian structure date.
struct time nama_variabel ; → pendeklarasian structure time.
getdate ( & nama_variabel ); → mengambil informasi date dan menampungnya dalam variable.
gettime (& nama_variabel ); → mengambil informasi time dan menampungnya dalam variable.
nama_variabel . da_day ; → menampilkan tanggal dan hari.
nama_variabel . da_mon ; → menampilkan bulan.
nama_variabel . da_year ; → menampilkan tahun.
nama_variabel . ti_hour ; → menampilkan jam.
nama_variabel . ti_min ; → menampilkan menit.
nama_variabel . ti_sec ; → menampilkan detik.
4. Iomanip.h
Iomanip merupakan singkatan dari Input Output Manipulation, manipulator pada
umumnya digunakan untuk mengatur tampilan layar, fungsi pustaka dari header iomanip.h yang
kami gunakan adalah sebagai berikut :
a. setiosflags
Dipakai untuk mengatur output menjadi rata kiri atau rata kanan. Bentuk umum
penulisannya : setiosflags ( ios::right ) atau setiosflags( ios::left )
b. setw
Dipakai untuk mengatur jarak spasi. Bentuk umum penulisannya : setw ( jumlah_spasi )
contoh : setw ( 15 )
3
5. Iostream.h
Iostream merupakan singkatan dari Input Output Stream, header ini biasanya digunakan
pada bahasa pemrograman C++ untuk melakukan perintah input dan output, tetapi terdapat juga
beberapa fungsi manipulator yang ada pada header iostream. Beberapa fungsi pustaka yang kami
gunakan dalam header iostream adalah sebagai berikut :
a. cin
Fungsi cin digunakan untuk proses input data ke dalam sebuah variable dengan cara
menerima inputan dari keyboard, data yang diinput bisa berupa huruf ataupun angka. Bentuk
umum penulisannya : cin >> nama_variabel ;
b. cout
Fungsi cout digunakan untuk menampilkan suatu output pada layar. Bentuk umum
penulisannya : → menampilkan tulisan yang berada dalam tanda “ “.
cout << “ Hello World “ ; → menampilkan data pada variable yang dipanggil.
cout << nama_variable ;
c. endl
Fungsi endl merupakan suatu fungsi manipulator yang digunakan untuk menyisipkan
karakter NewLine atau mengatur pindah baris. Bentuk umum penulisannya : cout << endl ;
6. Windows.h
Header ini khusus untuk pengguna OS Windows, fungsinya yaitu mendeklarasikan
semua fungsi – fungsi yang berada dalam Windows API ( Application Programming Interface ).
Namun pada program ini, kami hanya menggunakan fungsi untuk melakukan pewarnaan.
Pendeklarasian fungsi pewarnaan :
color ( char value )
{
SetConsoleTextAttribute ( GetStdHandle(STD_OUTPUT_HANDLE), value ) ;
return 0;
}
Pemanggilan fungsi pewarnaan :
color ( char value ) ; contoh : color ( 11 ) ; → semua output yang berada di bawah code
berikut akan menjadi warna biru.
4
2.2 Syntax
Pada program struk pembelanjaan untuk toko astronomi ini kami menggunakan Syntax
sebagai berikut :
1. Array Dimensi 1
Array adalah Tipe terstruktur yang terdiri dari sejumlah komponen-komponen yang
mempunyai tipe sama. Suatu Array mempunyai jumlah komponen yang banyaknya tetap.
Banyaknya komponen dalam suatu larik ditunjukan oleh suatu indeks untuk membedakan
variabel yang satu dengan variabel yang lainnya.
Bentuk Umum pendeklarasian array :
Tipe_Data Nama_Variabel[Ukuran]
Contoh dalam program ini :
int jml_harga [50];
2. Condition
a. If – else majemuk
Bentuk dari if-else majemuk sebenarnya serupa dengan nested if, keuntungan
penggunaan if-else majemuk dibanding dengan nested if adalah penggunaan bentuk penulisan
yang lebih sederhana.
Bentuk Umum Penulisannya:
if (syarat)
{
… perintah;
… perintah;
}
else if (syarat)
{
… perintah;
… perintah;
}
else
{
… perintah;
5
… perintah;}
Contoh dalam program :
if (strcmpi(order[i].code, "UTA01")==0
{
strcpy(order[i].nitem, "Ular Tangga");
order[i].harga = 15000;
}
else if (strcmpi(order[i].code, "TR001")==0)
{
strcpy(order[i].nitem, "T-RING");
order[i].harga = 200000;
}
else if (strcmpi(order[i].code, "GL001")==0)
{
strcpy(order[i].nitem, "Green Laser");
order[i].harga = 125000;
}
else if (strcmpi(order[i].code, "KA001")==0)
{
strcpy(order[i].nitem, "Kaos Astronomi");
order[i].harga = 90000;
}
else
{
cout<<" KODE ITEM SALAH\r";
goto input1;
}
6
b. Switch-case
Bentuk dari switch - case merupakan pernyataan yang dirancangan khusus untuk
menangani pengambilan keputusan yang melibatkan sejumlah atau banyak alternatif
penyelesaian. Pernyataan switch - case ini memiliki kegunaan sama seperti if – else bertingkat,
tetapi penggunaannya untuk memeriksa data yang bertipe karakter atau integer.
Bentuk penulisan perintah ini sebagai berikut:
switch ( ekspresi integer atau karakter )
{
case konstanta-1 :
… perintah;
… perintah;
break;
case konstanta-2 :
… perintah;
… perintah;
break;
default :
… perintah;
… perintah;
}
Contoh dalam program :
switch(n)
{
case 1 :
n = i + 1;
break;
case 2 :
n = i;
goto menu;
case 3 :
i = 0;
jumbel_item = 0;
ttl_hrg = 0;
goto input;
default :
cout<<" Pilihan Salah \n\n";
goto input2;
}
7
3. Looping
a. For
Bentuk umum pernyataan for :
for ( inisialisasi; syarat pengulangan; pengubah nilai pencacah )
{
pernyataan / perintah;
pernyataan / perintah;
pernyataan / perintah;
}
Contoh dalam program :
for(i=0; i<=n; i++)
{
cout<<" "<<setiosflags(ios::left)<<setw(5)<<(i+1);
cout<<setiosflags(ios::left)<<setw(15)<<order[i].nitem;
cout<<setiosflags(ios::left)<<setw(10)<<order[i].harga;
cout<<setiosflags(ios::left)<<setw(6)<<order[i].jb;
cout<<setiosflags(ios::left)<<setw(8)<<jml_harga[i];
cout<<endl;
}
4. Goto
Pernyataan goto merupakan instruksi untuk mengarahkan eksekusi program ke-
pernyataan yang diawali dengan suatu label. Label merupakan suatu pengenal (identifier) yang
diikuti dengan tanda titik dua ( : ).
Bentuk umum pernyataan goto label sebagai berikut :
goto label;
Contoh dalam program :
goto menu;
8
5. Function
Fungsi (Function) merupakan blok dari kode yang dirancang untuk melaksanakan tugas
khusus. Kegunaan dari fungsi ini adalah untuk:
- Mengurangi pengulangan penulisan program yang berulangan atau sama.
- Program menjadi lebih terstruktur, sehingga mudah dipahami dan dapat lebih dikembangkan.
Bentuk umum pernyataan Function :
nama_fungsi (argumen)
{
… pernyataan / perintah;
… pernyataan / perintah;
… pernyataan / perintah;
}
Contoh dalam program :
judul ( ) *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*\n";
{
~ TOKO ASTRONOMI ~ \n";
cout<<"\t
cout<<"\t *=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*=*\n\n";
cout<<"\t
return 0;
}
9
6. Structure
Struktur digunakan untuk mengelompokan sejumlah data yang mempunyai tipe data yang
berbeda. Variabel-variabel yang membentuk sebuah struktur dinamakan elemen struktur.
Struktur sama seperti Record di dalam Bahasa Pemrograman Pascal.
Salah satu bentuk umum deklarasi structure :
struct
{
elemen_struktur;
.....
.....
} nama_tipe_struktur;
Contoh dalam program :
struct
{
int jb;
int harga;
char nitem[15];
char code[4];
} order[50];
10
2.3 Screenshot & Alur Program
1. Menu Utama
Keterangan :
- Menu utama digunakan untuk beralih ke menu lainnya yang terdapat dalam program ini, atau
menjalankan perintah-perintah lainnya yang berada pada menu utama.
- Jika pengguna memilih untuk input angka 1, maka selanjutnya pengguna akan dialihkan
secara otomatis ke halaman menu input pesanan.
- Jika pengguna memilih untuk input angka 2, maka selanjutnya pengguna akan dialihkan
secara otomatis ke halaman menu cetak pesanan.
- Jika pengguna memilih untuk input angka 3, maka semua pesanan yang sebelumnya telah
dimasukkan akan dihapus.
- Jika pengguna memilih untuk input angka 4, maka program akan keluar atau berakhir secara
otomatis.
- Pada bagian “PESANAN SAAT INI” akan mencetak informasi nama item dan jumlah
pembelian item yang telah diinputkan sebelumnya.
11
2. Menu Input Pesanan
Keterangan :
- Tabel bagian kode digunakan untuk format inputan dalam pemesanan item.
- Pilih angka 1 untuk konfirmasi penginputan pesanan, atau pilih angka 2 untuk kembali ke
menu awal.
- Jika pengguna memilih input angka 1, maka penomoran urutan pesanan akan dimulai dari
angka 1.
- Selanjutnya masukkan kode item sesuai keterangan pada tabel di atas.
- Masukkan jumlah pembelian dari item yang dipilih.
- Kemudian akan terdapat 3 pilihan baru yaitu, 1. Tambah pesanan 2. Simpan pesanan 3. Input
Ulang Pesanan.
- Jika pengguna memilih angka 1, maka proses penginputan pesanan akan berlanjut seperti
sebelumnya.
- Jika pengguna memilih angka 2, maka semua inputan pesanan yang telah dilakukan akan
disimpan, dan secara otomatis pengguna dialihkan ke halaman menu utama.
- Jika pengguna memilih angka 3, maka semua inputan yang telah dilakukan akan dihapus atau
dikosongkan.
12
3. Menu Cetak Pesanan
Keterangan :
- Menu cetak pesanan akan menampilkan tanggal pembelian serta jam pembelian secara real
time, sesuai perangkat yang digunakan untuk menjalankan program ini.
- Menu cetak pesanan juga menampilkan seluruh informasi tentang data-data yang telah
diinputkan sebelumnya pada menu input pesanan.
- Data-data yang ditampilkan tersebut antara lain adalah :
a. Nomor urut pesanan
b. Nama item pesanan
c. Harga satuan tiap item
d. Jumlah beli tiap item
e. Jumlah harga ( Harga satuan dikalikan Jumlah beli )
f. Total item pembelian yaitu, jumlah keseluruhan item yang dibeli dalam transaksi.
g. Total harga yaitu, jumlah keseluruhan harga yang dibeli dalam transaksi tersebut.
h. Discount yang akan diberikan jika total item pembelian lebih dari atau sama dengan 10,
atau total harga pembelian lebih dari Rp. 500.000,-.
i. Total bayar yaitu, total harga dikurangi discount yang didapat.
13
j. Uang bayar yaitu, uang yang dibayarkan oleh pelanggan ( uang bayar harus lebih dari
atau sama dengan total bayar )
k. Kembali, yaitu uang bayar dikurangi total bayar.
- Pada bagian bawah menu cetak pesanan terdapat 2 pilihan lagi, yaitu :
a. Input ulang : Jika pengguna memilih ini, maka semua pesanan yang telah diinputkan
sebelumnya akan dihapus lalu pengguna secara otomatis dialihkan kembali ke menu
utama.
b. Keluar program : Jika pengguna memilih ini, maka program akan keluar atau berakhir.
14
BAB III
PENUTUP
3.1 Kesimpulan
Pembuatan struk pembelanjaan dengan sistem komputerisasi, menyajikan informasi lebih
teratur dan sistematis dibandingkan dengan cara manual. Beberapa manfaat yang bisa didapatkan
dengan menggunakan sistem komputerisasi pada pembuatan struk pembelanjaan adalah sebagai
berikut :
1. Menghindari kesalahan - kesalahan perhitungan dalam penjumlahan atau perkalian
yang sering kali terjadi pada cara manual.
2. Mempersingkat waktu pemrosesan data pesanan.
3. Memberikan hasil informasi yang akurat kepada pembeli maupun penjual.
3.2 Saran
Untuk pengembangan dari program struk pembelanjaan ini kedepannya, diharapkan bisa
menggunakan sistem database agar dapat menyimpan history transaksi yang terjadi, sehingga
semua data-data hasil transaksi yang telah terjadi dapat diakses kembali jika dibutuhkan oleh
pengguna kapan saja.
15
Daftar Pustaka
- Modul Praktikum AMIK BSI : Pemrograman C++ menggunakan Borland C++ 5.02.
- http://www.programmingsimplified.com/c/dos.h
- http://stackoverflow.com/questions/3826281/how-do-i-make-a-c-program-that-filter-out-
non-integers
- http://www.mathworks.com/help/matlab/ref/strcmpi.html?
- http://www.cplusplus.com/forum/beginner/77879/
16