• Tidak ada hasil yang ditemukan

BAB I PENDAHULUAN Sejarah C++

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB I PENDAHULUAN Sejarah C++"

Copied!
51
0
0

Teks penuh

(1)

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++.

(2)

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

(3)

• 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 Assembler Link Editor File EXE Kode Assembler Kode Obyek Library

(4)

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 fungsi-fungsi luar yang disimpan dalam suatu library lain. Link Editor akan

(5)

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 ; }

(6)

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 :

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 <iostream>

#include <iostream.h> Int main ( ) {

(7)

Contoh kerangka umun C++ modern : #include <iostream> Using namespace std; Int main ( ) { … Return 0 ; }

(8)

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++.

(9)

• 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++ :

Didalam variable juga terdapat berbagai macam jenis variable, yaitu sebagai berikut :

o Variable Global

(10)

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.

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

(11)

 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 :

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

(12)

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

(Dalam Bit)

RENTANG

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

(Dalam Bit)

RENTANG PRESISI

(13)

Double 64 2.3E-308 sampai 1.7E+308 15 digit presisi Long double 80 3.4E-4932 sampai 1.1E+4932 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

(Dalam Bit)

RENTANG

Char 8 -128 sampai 127 atau 0 sampai 255

Unsigned char 8 0 sampai 255

Signed char 8 -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.

(14)

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 :

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 :

2.3.Operator

Operator dibagi kedalam 4 bagian , yaitu sebagai berikut : • Operator Assignment Struct nama_struktur { Tipe_data variabel1; Tipe_data variabel2 ; … };

Enum nama_tipe {nilai_1,nilai_2, …};

(15)

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 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 :

OPERATOR JENIS OPERASI CONTOH

+ Membuat nilai positif +7

- Membuat nilai negative -7

++ Increment C++

(16)

C--o OpertC--or Aritmetika

Operator aritmetika adalah operator yang digunakan untuk melakukan operasi-operasi aritmetika.

Adapun yang termasuk operator aritmetika, yaitu sebagai berikut :

o Operator Logika

Operator logika adalah operator yang digunakan untuk melakukan operasi dimana nilai yang dihasilkan dari operaso tersebut hanya berupa nilai benar

OPERATOR JENIS OPERASI CONTOH

+ Penjumlahan 2 + 3 = 5

- Pengulangan 5 – 3 = 2

* Perkalian 2 * 3 = 6

/ Pembagian 10 / 2 = 5

(17)

(true) dan salah (false). Nilai tersebut disebut dengan nilai Boolean. Boolean sendiri ditemukan oleh seorang matematikawan inggris yang bernama George Bool.

OPERATOR JENIS OPERASI CONTOH

&& AND (dan) 1 && 1 = 1

|| OR (atau) 1 || 0 = 1

! NOT (negasi) !0 = 1

o Operator Relasional

Operator relasional adalah operator yang digunakan untuk menentukan relasi atau hubungan dari 2 buah operand

OPERATOR JENIS OPERASI CONTOH

> Lebih Besar (5 > 2) = 1 (Benar)

< Lebih Kecil (5 < 2) = 0 (Salah)

>= Lebih Besar atau Sama Dengan (5 >= 2) = 1 (Benar) <= Lebih Kecil atau Sama Dengan (5 <= 2) = 0 (Salah)

== Sama Dengan (5 == 2) = 0 (Salah)

!= Tidak Sama Dengan (5 != 2) = 1 (Salah)

o Operator Bitwise

Operator bitwise berguna untuk melakukan operasi-operasi yang berhubungan dengan pemanipulasian bit.

(18)

• 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 :

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.

OPERATOR JENIS OPERASI CONTOH

& AND 1 & 0 = 0

| OR 1 | 0 = 1

^ Exlusive OR (XOR) 1 ^ 1 = 0

~ NOT ~1 = 0

>> Shift Right 5 << 1 = 10

<< Shift Left 10 >> 1 = 5

(19)

Bentuk umum dari struktur satu kondisi adalah sebagai berikut :

• 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 :

• 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. If (kondisi) { Statement1; Statement2; … } If (kondisi){ Statement_jika_kondisi_terpenuhi; } Else { Statement_jika_kondisi_tidak_terp enuhi; }

(20)

Bentuk umum dari struktur percabangan yang memiliki lebih dari 2 kondisi adalah sebagai berikut :

• Pemilihan menggunakan kata kunci switch

Selain menggunakan struktur if, c++ juga menawarkan kepada kita untuk dapat melakukan pemilihan dengan menggunakan kunci switch.

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; }

(21)

Bentuk umum dari struktur percabangan yang menggunakan kata kunci switch ini adalah sebagai berikut :

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.

Adapun bentuk umum dari struktur for adalah sebagai berikut :

21 Switch (ekspresi) { Case nilai_konstan1 : statement_statement;break; Case nilai_konstan2 : statement_statement;break; … Case nilai_konstanN : statement_statement;break; Default statement_statement_altenatif; For (variable = nilai_awal;kondisi;variable++) { Statement_yang_akan_diulang; } For (variable =

(22)

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;

} }

(23)

• 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 :

• 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 :

2.6.Statement Peloncatan While (kondisi) { Statement_statement_yang_akan_di ulang; } Do { Statement_yang_akan_diu lang; } while (kondisi);

(24)

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()

(25)

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<iostream> 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;

(26)

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.

(27)

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<<"* 5000/pack : "<<pocky<<"\t ="<<endl;

cout<<"========================================== ==="<<endl<<endl;goto bawah;

case 2 : cout<<"================"<<endl; cout<<"= Kinder Bueno ="<<endl;

cout<<"================"<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n';

kinder=a*10000;

cout<<"========================================== ==="<<endl;

cout<<"= Kuantitas "<<a<<"* 10000/pack : "<<kinder<<"\t ="<<endl;

cout<<"========================================== ==="<<endl<<endl;goto bawah;

case 3 : goto atas; case 4 : goto ext;

(28)

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.

(29)

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<<"* 2000/pack : "<<yupi<<"\t\t ="<<endl; cout<<"========================================= ===="<<endl<<endl;goto bawah; case 2 : cout<<"==========="<<endl; cout<<"= Marbles ="<<endl;

cout<<"==========="<<endl;

cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n';

marbles=a*3000;

cout<<"========================================= ===="<<endl;

cout<<"= Kuantitas "<<a<<"* 3000/pack : "<<marbles<<"\t\t ="<<endl;

cout<<"========================================= ===="<<endl<<endl;goto bawah;

case 3 : goto atas; case 4 : goto ext;

(30)

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.

(31)

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<<"* 15000/pack : "<<potato<<"\t ="<<endl; cout<<"========================================== ==="<<endl<<endl;goto bawah; case 2 : cout<<"==========="<<endl; cout<<"= Chitato ="<<endl;

cout<<"==========="<<endl;

cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n';

chitato=a*12000;

cout<<"========================================== ==="<<endl;

cout<<"= Kuantitas "<<a<<"* 12000/pack : "<<chitato<<"\t ="<<endl;

cout<<"========================================== ==="<<endl<<endl;goto bawah;

case 3 : goto atas; case 4 : goto ext;

(32)

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.

(33)

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<<"* 20000/pack : "<<good<<"\t ="<<endl; cout<<"======================================= ======"<<endl<<endl;goto bawah; case 2 : cout<<"============"<<endl; cout<<"= Timtam ="<<endl;

cout<<"============"<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; timtam=a*15000; cout<<"======================================= ======"<<endl;

cout<<"= Kuantitas "<<a<<"* 15000/pack : "<<timtam<<"\t ="<<endl;

cout<<"======================================= ======"<<endl<<endl;goto bawah;

(34)

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.

(35)

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<<"* 10000/pcs : "<<magnum<<"\t ="<<endl; cout<<"======================================= ======"<<endl<<endl;goto bawah; case 2 : cout<<"============="<<endl; cout<<"= Walls ="<<endl;

cout<<"============="<<endl; cout<<"Masukkan Kuantitas Barang : ";cin>>a; cout<<'\n'; walls=a*7000; cout<<"======================================= ======"<<endl;

cout<<"= Kuantitas "<<a<<"* 7000/pack : "<<walls<<"\t ="<<endl;

cout<<"======================================= ======"<<endl<<endl;goto bawah;

(36)

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.

(37)

Source Code 7 :

case 6 : goto ext;

default : cout<<"Tidak Terdapat Pilihan Ke- "<<pil<<'\n';goto atas; }

bawah :

cout<<"Jika Belum Selesai Silakan Tekan y dan Selesai Tekan n : ";cin>>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 : "<<kinder<<"\t="<<endl; } if(yupi!=0){ cout<<"Yupi : "<<yupi<<"\t="<<endl; } if(marbles!=0){ cout<<"Marbles : "<<marbles<<"\t="<<endl; } if(potato!=0){ cout<<"Potato Chips : "<<potato<<"\t="<<endl; } if(chitato!=0){ cout<<"Chitato : "<<chitato<<"\t="<<endl; } if(good!=0){

cout<<"Good Time : "<<good<<"\t="<<endl; }

if(timtam!=0){

(38)

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.

(39)

Source Code 8 :

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 : cout<<'\n';

cout<<"======================================== ="<<endl;

cout<<"= Total Harga Barang : "<<harga<<" \t="<<endl;

cout<<"======================================== ="<<endl;

cout<<'\n';

cout<<"================================="<<endl; cout<<"= Member Mendapat Potongan 10 % ="<<endl;

(40)

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 : "<<kinder<<"\t="<<endl; } if(yupi!=0){ cout<<"Yupi : "<<yupi<<"\t="<<endl; } if(marbles!=0){ cout<<"Marbles : "<<marbles<<"\t="<<endl; } if(potato!=0){ cout<<"Potato Chips : "<<potato<<"\t="<<endl; } if(chitato!=0){ cout<<"Chitato : "<<chitato<<"\t="<<endl; } if(good!=0){ cout<<"Good Time : "<<good<<"\t="<<endl; } if(timtam!=0){ cout<<"Timtam : "<<timtam<<"\t="<<endl; }

(41)

Source code akan ditampilkan apabila source code 8 diisi dengan 1. Member. Disini program akan menampilkan kembali nama produk yang dibeli dan harga dari masing-masing produk yang dibeli.

Hasil dari program tersebut adalah sebagai berikut :

Source Code 10 : cout<<'\n';

cout<<"====================================== ==="<<endl;

cout<<"= Total Harga Sebelum Diskon : "<<harga<<" \t="<<endl;

diskon= harga*0.10;

cout<<"= Diskon 10% : "<<"("<<diskon<<")"<<" \t="<<endl;

total = harga-diskon;

cout<<"= Total Harga Setelah Diskon : "<<total<<" \t="<<endl;

cout<<"====================================== ==="<<endl;

(42)

Source code 10 karena merupakan pilihan dari member dimana member mendapat potongan harga sebesar 10%, maka program tersebut akan menampilkan total harga sebelum diskon kemudian akan masuk ke rumus dimana diskon=harga*0.10 selanjutnya total harga pembelian akan dikurangi dengan diskon sehingga akan menampilkan total harga setelah diskon. Kemudian program akan menampilkan cara pembayaran yaitu, 1. Cash, 2. Credit card. Disini user akan diminta untuk mengisi cara pembayaran. Selain itu juga terdapat pilihan 3. Back untuk kembali ke program source 8, yaitu program pemilihan member atau non member, dan 4. Exit.

(43)

Source Code 11 :

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 : if (carpem==1){ cout<<"====================================== ==="<<endl; cout<<"================= Cash =================="<<endl; cout<<"====================================== ==="<<endl;

cout<<"= Total Harga Sebelum Diskon : "<<harga<<" \t="<<endl;

diskon= harga*0.10;

cout<<"= Diskon 10% : "<<"("<<diskon<<")"<<" \t="<<endl;

(44)

Source Code 12 :

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 : else if (carpem==2){ cout<<"======================================= =="<<endl; cout<<"===============Credit Card==============="<<endl; cout<<"======================================= =="<<endl;

cout<<"= Total Harga Sebelum Diskon : "<<harga<<" \t="<<endl;

diskon= harga*0.10;

cout<<"= Diskon 10% : "<<"("<<diskon<<")"<<" \t="<<endl;

total = harga-diskon;

cout<<"= Total Harga Setelah Diskon : "<<total<<" \t="<<endl;

(45)

Source Code 13 :

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 (carpem==3){ goto mem; } else { goto ext; } } 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 : "<<kinder<<"\t ="<<endl; } if(yupi!=0){ cout<<"Yupi : "<<yupi<<"\t ="<<endl; } if(marbles!=0){ cout<<"Marbles : "<<marbles<<"\t ="<<endl; } if(potato!=0){

cout<<"Potato Chips : "<<potato<<"\t ="<<endl; }

(46)

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 masing-masing produk yang dibeli.

Hasil program tersebut adalah sebagai berikut :

Source Code 15 : cout<<'\n';

cout<<"===================================="<<e ndl;

cout<<"= Total Harga Barang : "<<harga<<" \t ="<<endl;

cout<<"===================================="<<e ndl;

cout<<"=================="<<endl; cout<<"= 1. Cash ="<<endl;

cout<<"= 2. Credit Card ="<<endl; cout<<"= 3. Back ="<<endl; cout<<"= 4. Exit ="<<endl;

cout<<"=================="<<endl;

cout<<"Masukkan Cara Pembayaran : ";cin>>carpem; cout<<'\n';

system("cls"); if (carpem==1){

(47)

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;

(48)

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; } }

(49)

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 :

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 :

cout<<"\n================================= ========\n"; cout<<"\n\t\t=Terima Kasih=\t\t\n"; cout<<"\n================================= ========\n"<<endl; system ("pause"); ext:

(50)

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.

(51)

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.

Referensi

Dokumen terkait

Peningkatan kadar lemak diakibatkan adanya penambahan margarin pada cake yang digunakan sebagai pengkilat dan karena menginginkan kue yang lebih empuk, maka.. Jadi,

Setelah ditetapkannya kebijakan tax amnesty pada 1 Juli hingga akhir Agustus 2016, pergerakan dari Indeks Harga Saham Gabungan (IHSG) kian menguat yang tercermin

Berdasarkan uraian diatas, dengan demikian diperlukan adanya penelitian yang dapat menjadi acuan untuk menempatkan dan memadukan antara lingkungan bisnis internal, eksternal,

Pada tahap analisis sistem dilakukan analisis terhadap situs sejenis yang membantu user dalam pemilihan Tablet PC dan menyebarkan kuesioner ke sepuluh orang yang

: 7 tahun 2006 tentang Kode Etik Profesi Polri, bahwa “Anggota Polri yang diputuskan pidana dengan hukuman penjara minimum 3 bulan yang telah berkekuatan hukum tetap,

pemberian pakan campuran rumput gajah dengan daun gliricidia dengan penambahan pakan sumber energi 5 jam setelah pemberian hijauan menunjukkan jumlah bahan kering sel mikroba

Dari hasil tersebut, dapat disimpulkan bahwa sistem penilaian otomatis mendapatkan respon yang sangat baik dari guru kelas X TKJ 1 di SMK Negeri 3 Buduran.. Kata Kunci :

Rendahnya BCMV terbawa benih pada tanaman yang diinokulasi 1 MST dibandingkan dengan 2 MST dapat disebabkan oleh pertumbuhan yang sangat terhambat pada tanaman