BAB I PENDAHULUAN
1.1.
Sejarah C++
Pada tahun 1969, laboratorium Bell AT&T di Muray Hill, New Jersey menggunakan bahasa assembly untuk mengembangkan system operasi UNIX. Maksudnya untuk membuat system operasi yang dapat bersifat “programmer-friendly”. Setelah UNIX berjalan, Ken Thompson, seorang pengembang system di laboratorium tersebut mengembangkan bahasa baru dengan nama bahasa B. Huruf B ini diambil dari BCPL. Bahasa B ini digunakan untuk menulis ulang atau merevisi system operasi UNIX. Karena bahasa B ini masih bersifat interpret dan lambat, maka pada tahun 1971, system operasi UNIX kemudian ditulis ulang dengan menggunakan bahasa C, yaitu bahasa pemrograman yang dikembangkan oleh Dennis Ritchie, seorang pengembang system di laboratorium yang sama. Bahasa C masih sering digunakan untuk melakukan pengembangan-pengembangan program dan system-sistem operasi, diantaranya system operasi Windows. Namun karena bahasa C merupakan bahasa yang masih tergolong susah untuk dipelajari karena bersifat procedural murni dimana untuk membentuk suatu obyek masih membutuh banyak sekali penulisan kode. Untuk mengatasi masalah ini, pada tahun 1983, seorang doctor bernama Bjarne Stroustrup yang juga bekerja di laboratorium yang sama menciptakan bahasa baru yaitu bahasa C++ yang merupakan bahasa hibryd dari bahasa C. Bahasa C++ didasarkan atas bahasa C sehingga kita dapat melakukan kompilasi program-program yang ditulis dalam bahasa C dengan menggunakan compiler C++.
1
Keistimewaan dari bahasa C++ adalah karena bahasa ini mendukung pemrograman berarah obyek atau lebih yang lebih sering dikenal dengan istilah Object Oriented Programming ( OOP ). 1.2.
C dan C++
Pengelompokan tingkatan dari bahasa pemrograman dibagi jadi 3 tingkatan, yaitu : •
Bahasa Tingkat Tinggi Dalam bahasa tingkat tinggi terdapat bahasa pemrograman : o Ada o Modula-2 o Pascal o COBOL o FORTRAN o BASIC
•
Bahasa Tingkat Menengah Dalam bahasa tingkat menengah terdapat bahasa pemrogram : o Java o C++ o C o FORTH
2
•
Bahasa Tingkat Rendah Dalam bahasa tingkat rendah terdapat bahasa pemrogram : o Macro-Assembler o Assembler
Menurut Bjarne Stroustrup ( Pencipta C++), alas an mengapa C diambil sebagai bahasa dasar dari pembentukan bahasa C++ adalah sebagai berikut : Dapat dihubungkan dengan bahasa tingkat rendah
•
Berjalan di manapun dan untuk masalah apapun
•
Berjalan mulus dalam system operasi UNIX
1.3.
•
Konsep Kompilasi dan Eksekusi Program
Kode Program ( Source Code ) Preposesor
Compiler Kode Assembler Assembler Kode Obyek
Library Link Editor
File EXE 3
Konsep kompilasi dan eksekusi program : •
Prepocessor Bagian
preposessor, yaitu yang diawali dengan tanda # ( pound ) dan
menghasilkan file yang akan dilewatkan ke dalam compiler. Beberapa preposesor tersebut di antaranya adalah sebagai berikut : o #include o #define o #ifdef
•
Kompiler C++ Compiler akan menerjemahkan kode program yang telah dilewatkan oleh preposesor ke dalam bahasa assembly.
•
Assembler Assembler menerima keluaran dari compiler C++ dan akan membuat sebuah kode obyek. Jika dalam kode program kita tidak menggunakan fungsi-fungsi yang terdapat pada library lain, maka kode obyek ini akan langsung dieksekusi menjadi file EXE.
•
Link Editor Bagian ini dikerjakan jika kode program yang kita buat menggunakan fungsifungsi luar yang disimpan dalam suatu library lain. Link Editor akan
4
mengkobmbinasikan kode obyek dan library yang ada untuk menjadikan sebuah file EXE.
1.4.
Kerangka Program C++
Setiap program yang ditulis dalam bahasa C++ pasti akan memiliki sebuah fungsi utama dengan nama main( ). Jika kita ingin mendefinisikan fungsi-fungsi lain maka kita akan melakukannya di luar fungsi utama tersebut. Sintaks yang digunakan untuk menuliskan fungsi utama dalam bahasa C++ sebagai berikut : Int main ( ) { Statement yang akan dilakukan ; … Return 0 ; }
5
1.5.
File.H (Header File)
File header (file dengan ekstensi .h) adalah file yang berisi fungsi-fungsi dan telah dikompilasi sebelumnya. Jika kita akan menggunakan suatu file header tertentu, maka kita akan mendaftarkannya melalui directive #include. Sintaks yang digunakan untuk proses input/output (I/O) dalam bahasa C++ adalah sebagai berikut : #include
1.6.
C++ Klasik dan C++ Modern
Perbedaan C++ klasik dan C++ modern adalah sebagai berikut : •
C++ klasik masih menggunakan namespace global, sedangkan C++ modern menggunakan namespace std.
•
C++ klasih menggunakan file header iostream.h, sedangkan C++ modern menggunakan iostream.
Untuk lebih mudah memahaminya, berikut ini kerangka umun penulisan program yang digunakan C++ klasik dan C++ modern : Contoh kerangka umun C++ klasik : #include Int main ( ) { … Return 0 ; } 6
Contoh kerangka umun C++ modern :
#include Using namespace std; Int main ( ) { … Return 0 ; }
7
BAB II PEMBAHASAN
2.1.Identifier Identifier adalah suatu pengenal atau pengidentifikasi yang ikita deklarasikan agar compiler dapat mengenalinya. Identifier sendiri dapat berupa nama variaber, konstanta, fungsi, kelas, template, maupun namespace. Identifier sebagai variable dan konstanta berfungsi untuk menampung sebuah nilai yang digunakan dalam program. Dalam
menentukan
atau
membuat
identifier
dalam
program,
kita
harus
memperhatikan hal-hal sebagai berikut : •
Bahasa C++ bersifat case sensitive, yaitu bahasa C++ membedakan variable yang ditulis dengan huruf capital dan huruf kecil.
•
Identifier tidak boleh berupa angka atau diawali dengan karakter yang berupa angka.
•
Identifier tidak boleh mengandung spasi seperti.
•
Identifier tidak boleh menggunakan karakter-karakter symbol seperti (#,@,?,!, $,dll).
•
Identifier tidak boleh menggunakan kata kunci (keyword) yang terdapat pada C++.
8
•
Nama identifier sebaiknya disesuaikan dengan kebutuhan.
•
Sebisa mungkin, hindarilah penggunaan nama identifier yang sama dengan identifier yang digunakan oleh C++.
Berdasarkan jenisnya, identifier dibagi ke dalam 2 bagian, yaitu : •
Konstanta Konstanta adalah jenis identifier yang bersifat konstan atau tetap, artinya nilai dari konstanta di dalam program tidak dapat di ubah. Dalam C++, terdapat 2 buah cara untuk membuat sebuah konstanta, yaitu : o Menggunakan Preprocessor Directive #define o Menggunakan Kata Kunci const
•
Variabel Variable adalah sebuah identifier yang mempunyai nilai dinamis, artinya nilai variable tersebut dapat kita ubah sesuai kebutuhan dalam program. Bentuk umun pendeklarasian sebuah variable dalam C++ :
Tipe_data nama_variabel ; Didalam variable juga terdapat berbagai macam jenis variable, yaitu sebagai berikut : o Variable Global
9
Variable global adalah sebuah variable yang dapat dikenali oleh semua lingkungan dalam program kita. o Variabel Lokal Varibel local adalah variable yang hanya dikenal oleh suatu fungsi saja. o Inisialisasi Variabel Dalam penulisan program ada saatnya kita harus melakukan inisialisasi nilai terhadap sebuah variable yang dideklarasikan. Artinya jika kita tidak melakukan pengisian nilai terhadap variable tersebut, maka variable masih berisi nilai default.
o Variabel Statis Variabel statis adalah variable yang menempati memori computer secara permanen. Artinya nilai terakhir dari variable ini akan terus disimpan. Dalam C++, untuk menyatakan variable statis adalah dengan menggunakan kata kunci static. Adapun bentuk umum pendeklarasian adalah seperti yang tampak di bawah ini. Static tipe_data nama_variabel;
Variable statis dibagi 2 jenis, yaitu sebagai berikut :
Variable Statis Local Variable statis local ini diterapkan di dalam suatu fungsi, sehingga nama variable hanya akan dikenali di dalam fungsi saja
10
Variable Statis Global Variable statis global adalah sebuah variable yang dapat dikenali oleh semua lingkungan dalam program. Artinya kita diizinkan untuk melakukan pembuatan fungs-fungsi dalam file yang terpisah dari program utama.
o Variable Register Variable register adalah variable yang disimpan di register CPU. Dengan demikian untuk mengisikan atau mengubah nilai dari variable register tentunya tidak memerlukan akses memori sehingga prosesnya juga akan lebih cepat. Bentuk umum dari pendeklarasian variable register adalah sebagai berikut : Register tipe_data nama_variabel;
2.2.Tipe Data Tipe data berfungsi untuk merepresentasikan jenis dari sebuah nilai yang terdapat dalam program. Tipe data dibagi menjadi 3 bagian, yaitu sebagai berikut : •
Tipe Data Dasar Dalam C++ terdapat beberapa tipe data dasar yang telah didefinisikan, yaitu sebagai berikut : o Tipe Bilangan Bulat
11
Tipe data ini digunakan untuk data-data angka yang tidak mengandung angka dibelakang koma.
Tipe data yang termasuk ke dalam kategori ini adalah seperti yang terlihat pada table di bawah ini. TIPE DATA
UKURAN
RENTANG
(Dalam Bit) Int
16 atau 32
-32.768 sampai 32.767 atau -2.147.483.648 sampai 2.147.483.647
Unsigned int
16 atau 32
0 sampai 65.535 atau 0 sampai 4.294.967.295
Signed int
16 atau 32
Sama seperti int
Short int
16
-32.768 sampai 32.767
Unsigned short int
16
0 sampai 65.535
Signed short int
16
Sama seperti short int
Long int
32
-2.147.483.648 sampai 2.147.483.647
Signed long int
32
Sama seperti long int
Unsigned long int
32
0 sampai 4.294.967.295
o Tipe Bilangan Riil Tipe bilangan riil adalah tipe yang merepresentasikan data-data bilangan yang mengandung angka di belakang koma. Tipe data yang termasuk ke dalam kategori ini adalah seperti yang terlihat pada table di bawah ini. TIPE DATA
UKURAN
RENTANG
PRESISI
Float
(Dalam Bit) 32
1.2E-38 sampai 3.4E+38
6 digit presisi 12
Double Long double
64 80
2.3E-308 sampai 1.7E+308 3.4E-4932 sampai 1.1E+4932
15 digit presisi 19 digit presisi
o Tipe Logika tipe ini merepresentasikan data-data yang hanya mengandung 2 buah nilai, yaitu nilai logika (Boolean). Nilai logika itu sendiri hanya terdiri dari nilai benar (direpresentasikan dengan nilai selain 0, biasanya nilai 1) dan nilai salah (direpresentasikan dengan nilai 0).
o Tipe Karakter/String Tipe ini merepresentasikan data-data yang berupa karakter. Tipe data yang termasuk ke dalam kategori ini adalah seperti yang terlihat pada table di bawah ini.
•
TIPE DATA
UKURAN
RENTANG
Char Unsigned char Signed char
(Dalam Bit) 8 8 8
-128 sampai 127 atau 0 sampai 255 0 sampai 255 -128 sampai 127
Tipe Data Bentukan Tipe data bentukan adalah tipe data yang dibuat sendiri sesuai kebutuhan dalam program yang akan kita buat. Tipe ini lebih dikenal dengan sebutan dalam bahasa asing, yaitu user defined types.
Adapun yang termasuk ke dalam tipe data bentukan,yaitu sebagai berikut : 13
o Struktur Struktur adalah tipe data bentukan yang menyimpan lebih dari satu variable yang bertipe sama maupun berbeda. Bentuk umum pendeklarasian tipe data struktur di dalam C++ sebagai berikut : Struct nama_struktur { Tipe_data variabel1; Tipe_data variabel2 ; … }; o Enumerasi Tipe enumerasi adalah tipe data yang nilainya terbatas pada nilai-nilai yang telah didefinisikan saja. Tipe enumerasi digunakan untuk membentuk tipe data yang nilainya bersifat pasti. Bentuk umum pendeklarasian tipe data enumerasi di dalam C++ sebagai berikut : Enum nama_tipe {nilai_1,nilai_2, …};
2.3.Operator Operator dibagi kedalam 4 bagian , yaitu sebagai berikut : •
Operator Assignment
14
Operator assignment adalah operator yang berfungsi untuk memaasukkan (assign) nilai ke dalam suatu variable ataupun konstanta.Operator ini dilambangkan dengan tanda sama dengan (=). •
Operator Unary Operator unary adalah operator yang hanya melibatkan sebuah operand. Adapun yang termasuk operator unary yang tampak pada table berikut ini : OPERATOR + ++ --
•
JENIS OPERASI Membuat nilai positif Membuat nilai negative Increment Decrement
CONTOH +7 -7 C++ C--
Operator Binary Operator binary adalah operator yang digunakan dalam operasi yang melibatkan 2 buah operand. Dalam bahasa C++, operator binary ini dikelompokan ke dalam 4 jenis, yaitu sebagai berikut :
15
o Opertor Aritmetika Operator aritmetika adalah operator yang digunakan untuk melakukan operasi-operasi aritmetika. Adapun yang termasuk operator aritmetika, yaitu sebagai berikut :
OPERATOR + * / %
JENIS OPERASI Penjumlahan Pengulangan Perkalian Pembagian Sisa Bagi (Modulus)
CONTOH 2+3=5 5–3=2 2*3=6 10 / 2 = 5 10 % 4 = 2
o Operator Logika Operator logika adalah operator yang digunakan untuk melakukan operasi dimana nilai yang dihasilkan dari operaso tersebut hanya berupa nilai benar
16
(true) dan salah (false). Nilai tersebut disebut dengan nilai Boolean. Boolean sendiri ditemukan oleh seorang matematikawan inggris yang bernama George Bool.
OPERATOR && || !
JENIS OPERASI AND (dan) OR (atau) NOT (negasi)
CONTOH 1 && 1 = 1 1 || 0 = 1 !0 = 1
o Operator Relasional Operator relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari 2 buah operand OPERATOR > < >= <= == !=
JENIS OPERASI Lebih Besar Lebih Kecil Lebih Besar atau Sama Dengan Lebih Kecil atau Sama Dengan Sama Dengan Tidak Sama Dengan
CONTOH (5 > 2) = 1 (Benar) (5 < 2) = 0 (Salah) (5 >= 2) = 1 (Benar) (5 <= 2) = 0 (Salah) (5 == 2) = 0 (Salah) (5 != 2) = 1 (Salah)
o Operator Bitwise Operator bitwise berguna untuk melakukan
operasi-operasi yang
berhubungan dengan pemanipulasian bit.
17
OPERATOR & | ^ ~ >> << •
JENIS OPERASI AND OR Exlusive OR (XOR) NOT Shift Right Shift Left
CONTOH 1&0=0 1|0=1 1^1=0 ~1 = 0 5 << 1 = 10 10 >> 1 = 5
Operator Ternary Operator ternary adalah operator yang digunakan dalam operasi yang melibatkan tiga buah operand. Adapun operator yang digunakan untuk menyatakannya adalah operator ? :. Berikut ini bentuk umum dari penggunaan operator ternary, yaitu sebagai berikut :
Ekspresi 1 ? Ekspresi 2 : Ekspresi 3;
2.4.Percabangan Percabangan adalah suatu pemilihan statemen yang akan dieksekusi dimana pemilihan tersebut didasarkan atas kondisi tertentu. Percabangan terdapat 4 jenis, yaitu sebagai berikut : •
Struktur Satu Kondisi Struktur satu kondisi merupakan struktur yang melibatkan satu buah ekspresi yang akan diperiksa.
18
Bentuk umum dari struktur satu kondisi adalah sebagai berikut :
If (kondisi) { Statement1; Statement2; … }
•
Struktur Dua Kondisi Struktur percabangan jenis ini sedikit lebih kompleks bila dibandingkan dengan struktur satu kondisi karena menyediakan aksi altenatif dimana kondisi tidak terpenuhi. Bentuk umum struktur dua kondisi adalah sebagai berikut : If (kondisi){ Statement_jika_kondisi_terpenuhi; } Else { Statement_jika_kondisi_tidak_terp enuhi;
•
} Struktur Tiga Kondisi
Struktur tiga kondisi merupakan perluasan dari struktur yang memiliki dua kondisi di atas, yaitu dengan menyisipkan (menambahkan) satu atau lebih kondisi ke dalamnya. 19
Bentuk umum dari struktur percabangan yang memiliki lebih dari 2 kondisi adalah sebagai berikut :
If (kondisi1) { Statement_jika_kondisi1_terpenuhi; } Else if (kondisi2) { Statement_jika_kondisi2_terpenuhi; } Else if (kondisi3){ Statement_jika_kondisi3_terpenuhi; } … Else { Statement_jika_semua_kondisi_diatas_tidak_terpenuh i; }
•
Pemilihan menggunakan kata kunci switch Selain menggunakan struktur if, c++ juga menawarkan kepada kita untuk dapat melakukan pemilihan dengan menggunakan kunci switch.
20
Bentuk umum dari struktur percabangan yang menggunakan kata kunci switch ini adalah sebagai berikut :
Switch (ekspresi) { Case nilai_konstan1 : statement_statement;break; Case nilai_konstan2 : statement_statement;break; … Case nilai_konstanN : statement_statement;break; Default statement_statement_altenatif;
2.5.Pengulangan Pengulangan adalah suatu proses yang melakukan statement-statement dalam sebuah program secara terus-menerus sampai terdapat kondisi untuk menghentikannya Dalam bahasa C++ terdapat tiga buah jenis struktur pengulangan, yaitu sebagai berikut : •
Struktur For Struktur pengulangan for digunakan untuk melakukan pengulangan yang telah diketahui banyaknya.
For (variable = nilai_awal;kondisi;variable++) Adapun bentuk umum dari struktur for adalah sebagai{berikut : Statement_yang_akan_diulang; } For (variable = nilai_awal;kondisi;variable--) { Statement_yang_akan_diulang;
21
Struktur For juga terdapat beberapa jenis, yaitu sebagai berikut : o Struktur For dengan banyak variable Struktur for di dalam C++ dapat juga melibatkan lebih dari satu variable, namun yang jelas satu diantaranya akan digunakan sebagai indeks pengulangan. o Struktur For bersarang Sama halnya seperti pada percabangan, pada struktur pengulangan juga dapat menerapkan pengulangan bersarang (nested looping). Bentuk umum struktur for bersarang, yaitu sebagai berikut :
For (variabel1=nilai awal;kondis1;variable1++){ For (variabel2=nilai awal;kondis2;variable2++){ For (variabel3=nilai awal;kondis3;variable3++){ Statement_statement_yang_akan_di ulang; … } } }
22
•
Struktur While Struktur pengulangan jenis ini adalah pengulangan yang melakukan pengecekan kondisi di awal blok struktur. Adapun bentuk umum dari struktur pengulangan while ini adalah seperti yang tampak di bawah ini : While (kondisi) { Statement_statement_yang_akan_di ulang; }
•
Struktur Do-While Berbeda dengan while yang melakukan pengecekan kondisi di awal blok pengulangan, pada struktur do-while kondisi justru ditempatkan di bagian akhir. Adapun bentuk umum dari struktur do-while :
Do { Statement_yang_akan_diu lang; } while (kondisi);
2.6.Statement Peloncatan
23
Peloncatan artinya kita memaksa agar pengeksekusian statement berjalan sesuai urutan yang kita inginkan, yaitu dengan cara meloncat dari statement yang satu ke statement yang lain. Dalam C++, terdapat 4 fitur yang berguna untuk melakukan hal ini, yaitu sebagai berikut : •
Menggunakan Kata Kunci break Kata kunci ini berfungsi untuk menghentikan proses pengulangan dan program akan langsung meloncat ke statement yang berada di bawah blok pengulangan yang bersangkutan.
•
Menggunakan Kata Kunci continue Berbeda sekali dengan kata kunci break yang berguna untuk menghentikan pengulangan, kata kunci continue ini justru berfungsi melanjutkan proses pengulangan.
•
Menggunakan Kata Kunci goto Kata kunci ini berfungsi untuk menuju lokasi yang dituju, tergantung dimana kita menempatkan label. Label berfungsi untuk menyatakan lokasi yang akan dituju.
•
Menggunakan Fungsi exit() Fungsi ini berfungsi untuk proses terminasi atau keluar dari program.
24
BAB III PROGRAM
Program yang penulis buat adalah program penjualan dalam supermarket. Berikut ini script program / coding program yang penulis buat. •
Source Code 1 :
#include using namespace std; int pil,pila,pilb,pilc,pild,pile,a,pin; long int pocky,kinder,yupi,marbles,potato,chitato,good,timtam,magnum,walls ,member,harga,diskon,total,carpem,cash,kembali; int main() { char ulang; do { atas : cout<<'\n'; cout<<"================================="<<e ndl; cout<<"= Program Penjualan Supermarket ="<<endl; cout<<"= 1.Coklat ="<<endl; cout<<"= 2.Permen ="<<endl; cout<<"= 3.Snack ="<<endl; cout<<"= 4.Biscuit ="<<endl; cout<<"= 5.Ice Cream\t ="<<endl; cout<<"= 6.Exit ="<<endl; cout<<"================================="<<e ndl;
25
Source code 1 diatas berisi variable int / integer yang terdiri dari pil, pila, pilb, pilc, pild, pile, a, dan pin. Selain itu juga terdapat long integer yang terdiri dari pocky, kinder, yupi, marbles, potato, chitato, good, timtam, magnum, walls, member, harga, diskon, total, carpem, cash, dan kembali, dan yang terakhir char / charcter yang terdiri dari variable ulang. Int main disini berfungsi sebagai fungsi utama di dalam fungsi utama ini terdapat do yang merupakan fungsi perulangan dan atas merupakan fungsi dari peloncatan yang akan di jelaskan di source code dibawah. Cout berfungsi untuk menampilkan output ke layar monitor. Di program ini terdapat 6 pilihan yang dapat dipilih seperti yang ditampilkannya di layar output diantaranya sebagai berikut : 1. Coklat, 2. Permen , 3. Snack, 4. Biscuit, 5. Ice cream, dan yang terakhir adalah 6. Exit. Hasil output source code 1 :
26
Source Code 2 : switch (pil){ case 1 : co: cout<<'\n'; cout<<"=================="<<endl; cout<<"= 1.Pocky ="<<endl; cout<<"= 2.Kinder Bueno ="<<endl; cout<<"= 3.Back ="<<endl; cout<<"= 4.Exit ="<<endl; cout<<"=================="<<endl; cout<<"Masukkan Produk Yang Dibeli : ";cin>>pila; cout<<'\n'; switch (pila){ case 1 : cout<<"========="<<endl; cout<<"= Pocky ="<<endl; cout<<"========="<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; pocky=a*5000; cout<<"========================================== ==="<<endl; cout<<"= Kuantitas "<>a; cout<<'\n'; kinder=a*10000; cout<<"========================================== ==="<<endl; cout<<"= Kuantitas "<
27
Source code 2 akan tampil apabila pada source code 1 kita memilih pilihan 1. Coklat didalam program ini terdapat 2 macam produk yang dapat dipilih, yaitu 1. Pocky dan 2. Kinder Bueno. Switch disini merupakan fungsi dari kata kunci switch yang merupakan percabangan di dalam switch ini terdapat case 1 yang didalamnya terdapat pilihan 1. Pocky, 2. Kinder Bueno, 3. Back, 4. Exit. Jika pilihan 1. Pocky atau pilihan 2. Kinder Bueno yang dipilih, maka user akan diminta untuk mengisi kuantitas dan program akan ototmatis menghitung jumlah harga dari produk tersebut sesuai dengan yang rumus yang dimasukkan. Pilihan 3. Back ini berfungsi untuk kembali ke program source code 1. program disini dapat kembali karena terdapat goto atas yang merupakan pasangan dari atas di source code 1. Kemudian pilihan 4. Exit berfungsi untuk keluar / terminasi dari program. Selain itu default dalam source code berfungsi apabila user mengisi selain keempat pilihan di atas maka program akan secara otomatis mengulang source code 2 untuk diisi oleh user. Berikut hasil program source code 2 , yaitu sebagai berikut :
28
Source Code 3 : case 2 : pe : cout<<'\n'; cout<<"============="<<endl; cout<<"= 1.Yupi ="<<endl; cout<<"= 2.Marbles ="<<endl; cout<<"= 3.Back ="<<endl; cout<<"= 4.Exit ="<<endl; cout<<"============="<<endl; cout<<"Masukkan Produk Yang Dibeli : ";cin>>pilb; cout<<'\n'; switch (pilb){ case 1 : cout<<"========"<<endl; cout<<"= Yupi ="<<endl; cout<<"========"<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; yupi=a*2000; cout<<"========================================= ===="<<endl; cout<<"= Kuantitas "<>a; cout<<'\n'; marbles=a*3000; cout<<"========================================= ===="<<endl; cout<<"= Kuantitas "<
Source code 3 memiliki fungsi yang sama dengan source code 2 perbedaannya adalah bagian produk tersebut merupakan bagian dari 2. Permen sehingga produk yang ditampilkan berbeda dengan source code 2, berikut pilihan yang ditampilkan, yaitu 1. Yupi, 2. Marbles, 3. Back, dan 4. Exit. Hasil dari source code 3, yaitu sebagai berikut :
30
Source Code 4 : case 3 : sn : cout<<'\n'; cout<<"==================="<<endl; cout<<"= 1.Potato Chips ="<<endl; cout<<"= 2.Chitato\t ="<<endl; cout<<"= 3.Back ="<<endl; cout<<"= 4.Exit ="<<endl; cout<<"==================="<<endl; cout<<"Masukkan Produk Yang Dibeli : ";cin>>pilc; cout<<'\n'; switch (pilc) { case 1 : cout<<"================"<<endl; cout<<"= Potato Chips ="<<endl; cout<<"================"<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; potato=a*15000; cout<<"========================================== ==="<<endl; cout<<"= Kuantitas "<>a; cout<<'\n'; chitato=a*12000; cout<<"========================================== ==="<<endl; cout<<"= Kuantitas "<
Source code 4 juga memiliki fungsi yang sama dengan yang diatas perbedaannya juga terdapat pada produk yang ditampilkannya, pada bagian produk 3. Snack ini produk yang akan ditampilkan adalah 1. Potato Chips, 2 Chitato. Hasil program tersebut sebagai berikut :
32
Source Code 5 : case 4 : bi : cout<<'\n'; cout<<"==================="<<endl; cout<<"= 1.Good Time ="<<endl; cout<<"= 2.Timtam ="<<endl; cout<<"= 3.Back ="<<endl; cout<<"= 4.Exit ="<<endl; cout<<"==================="<<endl; cout<<"Masukkan Produk Yang Dibeli : ";cin>>pild; cout<<'\n'; switch (pild) { case 1 : cout<<"================"<<endl; cout<<"= Good Time ="<<endl; cout<<"================"<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; good=a*20000; cout<<"======================================= ======"<<endl; cout<<"= Kuantitas "<>a; cout<<'\n'; timtam=a*15000; cout<<"======================================= ======"<<endl; cout<<"= Kuantitas "<
Source code 5 juga memiliki fungsi yang sama dengan source code di atas perbedaannya juga terdapat pada produk tersebut merupakan bagian dari 4. Biscuit produk yang ditampilkannya, yaitu 1. Good Time, 2. Timtam. Hasil tersebut adalah sebagai berikut :
34
Source Code 6 : case 5 : ic : cout<<'\n'; cout<<"==================="<<endl; cout<<"= 1.Magnum ="<<endl; cout<<"= 2.Walls ="<<endl; cout<<"= 3.Back ="<<endl; cout<<"= 4.Exit ="<<endl; cout<<"==================="<<endl; cout<<"Masukkan Produk Yang Dibeli : ";cin>>pile; cout<<'\n'; switch (pile) { case 1 : cout<<"================"<<endl; cout<<"= Magnum ="<<endl; cout<<"================"<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; magnum=a*10000; cout<<"======================================= ======"<<endl; cout<<"= Kuantitas "<>a; cout<<'\n'; walls=a*7000; cout<<"======================================= ======"<<endl; cout<<"= Kuantitas "<
Source code 6 juga memiliki fungsi yang sama dengan source code diatas perbedaannya juga terdapat pada produk tersebut merupakan bagian dari 5. Ice cream produk yang akan di tampilkannya, yaitu 1. Magnum, dan 2. Walls. Hasil dari program tersebut adalah sebagai berikut :
36
Source Code 7 : case 6 : goto ext; default : cout<<"Tidak Terdapat Pilihan Ke- "<>ulang; } while (ulang=='y'); system("cls"); if(ulang=='n'){ mem : harga = pocky+kinder+yupi+marbles+potato+chitato+good+timtam+magnum+walls ; cout<<"============= Total Pembelian ==========="<<endl; cout<<'\n'; if(pocky!=0){ cout<<"Pocky : "<<pocky<<"\t="<<endl; } if(kinder!=0){ cout<<"Kinder Bueno : "<
Case 6 disini merupakan pilihan ke 6 dari source code 1 , yaitu untuk keluar dari program 6. Exit. Kemudian coding yang yang menampilkan “ Jika Belum Selesai Silakan Tekan y dan Selesai Tekan n : “ ini merupakan jika masih terdapat produk yang belum dimasukkan, maka tekan y sehingga program tersebut akan mengulang programnya dimana y ini dapat mengulang karena terdapat kondisi pengulangan, yaitu while(ulang=y), dan apabila tidak terdapat produk yang perlu dimasukkan lagi maka tekan n untuk melanjut ke program berikutnya. n disini merupakan kondisi percabangan, yaitu if(ulang=='n'). maksud disini apabila jika ulang sama dengan n maka program akan menghitung jumlah total harga dari produk yang dibeli setelah di hitung maka selanjutnya akan masuk kedalam kondisi percabangan dimana jika kuantitas produk tidak sama dengan 0 maka program akan menampilkan nama produk yang dibeli dan harga dari masing-masing produk yang dibeli. Hasil dari program tersebut adalah sebagai berikut :
38
Source Code 8 : cout<<'\n'; cout<<"======================================== ="<<endl; cout<<"= Total Harga Barang : "<
Source code diatas akan menampilkan total harga barang yang dibeli kemudian program juga akan menampilkan 1. Member, 2. Non member, 3. Exit. dan juga akan menampilkan "Jika Member Tekan 1 dan Jika Non Member Tekan 2 : “ disini program akan meminta user untuk memasukkan pilihan yang diinginkan. Hasil dari program tersebut adalah sebagai berikut :
39
Source Code 9 : if (member==1){ cout<<"================== Member ==============="<<endl; cout<<"====================================== ==="<<endl; cout<<"============= Total Pembelian ==========="<<endl; cout<<'\n'; if(pocky!=0){ cout<<"Pocky : "<<pocky<<"\t="<<endl; } if(kinder!=0){ cout<<"Kinder Bueno : "<
40
Source code akan ditampilkan apabila source code 8 diisi dengan 1. Member. Disini program akan menampilkan kembali nama produk yang dibeli dan harga dari masingmasing produk yang dibeli. Hasil dari program tersebut adalah sebagai berikut :
Source Code 10 : cout<<'\n'; cout<<"====================================== ==="<<endl; cout<<"= Total Harga Sebelum Diskon : "<
Source code 11 akan ditampilkan apabila pada source code 10 memilih pilihan 1. Cash. Disini program akan menampilkan kembali harga sebelum diskon dan harga setelah diskon. Kemudian program akan menampilkan cash dimana user akan diminta untuk memasukkan jumlah yang akan dibayar dan kemudian akan masuk ke dalam rumus yang berisi kembali-total-cash. Maksudnya disini total pemberian akan dikurangi dengan jumlah yang akan dibayar kemudian program akan menampilkan jumlah kembalian yang akan dikembalikan ke customer. Hasil program tersebut adalah sebagai berikut :
43
Source Code 12 : else if (carpem==2){ cout<<"======================================= =="<<endl; cout<<"===============Credit Card==============="<<endl; cout<<"======================================= =="<<endl; cout<<"= Total Harga Sebelum Diskon : "<
Source code 12 akan ditampilkan oleh program apabila pada source code 10 user mengisinya dengan 2. Credit Card. Pada coding ini program akan menampilkan kembali harga sebelum diskon dan harga setelah diskon kemudian user akan diminta untuk memasukkan pin setelah pin dimasukkan program akan menampilkan “transaksi sedang di proses” dan “transaksi berhasil”. Hasil dari program tersebut adalah sebagai berikut :
44
Source Code 13 : else if (carpem==3){ goto mem; } else { goto ext; } }
Source code di atas merupakan pilihan ke- 3. Back , dan 4. Exit. Goto mem ini akan membuat program kembali ke program pemilihan member atau non member. Dan pilihan 4. Exit berfungsi untuk keluar / terminasi dari program. Source Code 14 : else if (member==2) { cout<<"============== Non Member =========="<<endl; cout<<"===================================="< <endl; cout<<"========== Total Pembelian ========="<<endl; cout<<'\n'; if(pocky!=0){ cout<<"Pocky : "<<pocky<<"\t ="<<endl; } if(kinder!=0){ cout<<"Kinder Bueno : "<
Source code 14 ini merupakan pilihan kedua dari source code 8 yaitu 2. Non member. program akan menampilkan kembali nama produk yang dibeli dan harga dari masingmasing produk yang dibeli. Hasil program tersebut adalah sebagai berikut :
Source Code 15 : cout<<'\n'; cout<<"===================================="<<e ndl; cout<<"= Total Harga Barang : "<>carpem; cout<<'\n'; system("cls"); if (carpem==1){ cout<<"======================================= 46 =="<<endl; cout<<"================= Cash
Source code 15 program akan meminta user untuk memasukkan cara pembayaran seperti source code 10 di program ini juga terdapat 4 pilihan, yaitu 1. Cash, 2. Credit Card, 3. Back, dan 4. Exit. Kemudian jika user mengisi program dengan 1. Cash, maka program akan menampilkan total harga barang yang dibeli setelah itu user akan diminta untuk mengisi jumlah yang akan dibayar. Dan program akan masuk ke dalam rumus, yaitu kembali=harga-cash setelah itu program akan menghitung jumlah yang akan dikembalikan kepada customer. Hasil program tersebut adalah sebagai berikut :
Source Code 16 : else if (carpem==2){ cout<<"======================================= =="<<endl; cout<<"===============Credit Card==============="<<endl; cout<<"======================================= =="<<endl; cout<<"======================================= 47 =="<<endl; cout<<"= Total Harga Barang : "<
Source code 16 akan ditampilkan apabila user mengisi cara pembayaran yang berada pada source code 15 dengan 2. Credit Card. Disini program akan menampilkan total harga barang yang dibeli kemudian user akan diminta untuk memasukkan pin setelah pin dimasukkan program akan menampilkan “transaksi sedang di proses” dan ”transaksi berhasil”. Hasil dari program tersebut adalah sebagai berikut :
Source Code 17 : else if (carpem==3){ goto mem; } else { goto ext; } } else { goto ext; } } 48
Source code di atas merupakan pilihan ke- 3. Back , dan 4. Exit dari pilihan dari source code 15. Goto mem ini akan membuat program kembali ke program pemilihan member atau non member. Dan pilihan 4. Exit berfungsi untuk keluar / terminasi dari program. Kemudian else{ goto ext; }} terakhir merupakan pilihan 3. Exit dari source code 8. Source Code 18 : cout<<"\n================================= ========\n"; cout<<"\n\t\t=Terima Kasih=\t\t\n"; cout<<"\n================================= ========\n"<<endl; system ("pause"); ext:
Jika program selesai melakukan transaksi, maka program akan menampilkan “terima kasih”. Coding “ext : exit(0);” ini merupakan fungsi statement peloncatan goto coding ini digunakan dalam program yang penulis buat apabila didalam program yang dibuat terdapat pilihan exit maka program akan secara langsung melanjut ke coding “ext: exit(0);” dan “exit(0)” ini merupakan kata kunci exit untuk keluar dari program sehingga user memilih pilihan exit dalam program, maka program akan secara otomatis terminasi / keluar dari program. Hasil program tersebut adalah sebagai berikut :
49
BAB IV PENUTUP
4.1.Kesimpulan Kesimpulan yang didapat setelah memperlajari bahasa pemrogram C++, yaitu sebagai berikut : •
Bahasa C++ merupakan bahasa yang dikembangkan dari bahasa C karena bahasa C merupakan bahasa yang masih tergolong susah untuk dipelajari karena masih bersifat procedural murni dimana untuk membentuk suatu obyek masih membutuh banyak sekali penulisan kode sehingga untuk mengatasi ini bahasa C++ ini di kembangkan.
•
Terdapat perbedaan diantara bahasa C++ klasik dengan bahasa C++ modern yang bisa terletak pada file header dimana C++ klasik menggunakan iostream.h, sedangkan C++ modern menggunakna iostream. Selain itu juga terdapat perbedaan dimana C++ klasik menggunakan using namespace global sedangkan C++ modern menggunakan using namespace std.
50
DAFTAR PUSTAKA
Budi Raharjo & Imam Heryanto, Pemrograman Borland C++ Builder, Informatika Bandung, 2003. Budi Raharjo, Pemrograman C++ Mudah dan Cepat Menjadi Master C++ dengan Mengungkap Rahasia-rahasia Pemrograman dalam C++, Informatika Bandung, 2006.
51