The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by email.anra, 2016-06-12 11:43:22

makalah struktur data

makalah struktur data

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


Click to View FlipBook Version