A. TEORI
DASAR C++
1. Sejarah
dan Konsep C++
Pemrograman sudah ada semenjak adanya komputer pertama kali diciptakan. Tapi pada awalnya programmer bekerja dengan bahasa komputer yang
sangat sulit untuk di pahami oleh manusia, bahasa itu adalah bahasa mesin.
Karena sangat sulit untuk bekerja dengan bahasa mesin, maka
dari itu dibuatlah bahasa Assembly yang merupakan bahasa rakitan, kumpulan dari
singkatan kode-kode bahasa.
Bahasa tingkat rendah Assembly pun masih sulit untuk manusia,
maka manusia menciptakan bahasa pemrograman tingkat tinggi yang mudah untuk
dipahami oleh manusia. Waktu ke waktu semakin banyak pengembang yang berusaha
untuk mengembangkan bahasa pemrograman, banyak bahasa tingkat tinggi yang
bermunculan dengan fasilitas yang mereka tawarkan, salah satunya adalah C++.
Bahasa C dikembangken di Bell lab pada tahun 1972 ditulis
pertama kali oleh Brian W. Kernighan dan Denies M. Ricthie merupakan bahasa
turunan atau pengembangan dari bahasa B yang ditulis oleh Ken Thompson pada
tahun 1970, yang juga merupakan bahasa yang diturunkan oleh bahasa sebelumnya,
yaitu BCL.
Bahasa C pada awalnya dirancang sebagai bahasa pemrograman
yang dioperasikan pada sistem operasi UNIX. Bahasa C merupakan bahasa
pemrograman yang tergolong di antara bahasa tinggat rendah dan tingkat tinggi
yang biasa disebut dengan Bahasa Tingkat Menengah. Bahasa C mempunyai banyak
kemampuan yang sering digunakan diantaranya kemampuan untuk membuat perangkat
lunak, misalnya dBASE, Word Star dan lain-lain.
Bahasa C++ lahir pada tahun 1980, yang
dibuat oleh Bjarne Stroustrup di
AT&T Bell Laboratories awal
tahun 1980-an berdasarkan C ANSI
(American National Standard Institute). Pertama kali, prototype C++ muncul sebagai C
yang dipercanggih dengan fasilitas kelas, bahasa tersebut disebut “C dengan
kelas” (C with Class).
Pada tahun 1983-1984, C dengan kelas
disempurnakan dengan menambahkan fasilitas overloading operator, yang mulanya disebut “a better C” kemudian berganti nama
pada tahun 1983 menjadi C++. Simbol
++
merupakan operator penaikan pada C,
digunakan untuk menunjukkan bahwa bahasa baru ini merupakan versi yang lebih
canggih dari C.
Borland International merilis kompiler Borland C++ dan Turbo
C++. Kedua kompiler ini sama-sama dapat digunakan untuk mengkompilasi kode C++.
Bedanya, Borland C++ selain dapat digunakan dibawah lingkungan DOS, juga dapat
digunakan untuk pemrograman Windows. Selain Borland International beberapa
perusahaan lain juga merilis kompiler C++, seperti Topspeed C++ dan Zortech
C++.
Awal mula Bjarne Stroustrup membuat membuat C++ adalah ketika
Bjarne Stroustrup melakukan pekerjaan untuk gelar Ph.D. tesis pada salah satu
bahasa pemrograman dan Stroustrup memiliki kesempatan untuk bekerja dengan
bahasa tersebut yang disebut Simula,
Simula merupakan bahasa untuk simulasi. The Simula 67 bahasa
yang merupakan varian bekerja dengan Stroustrup. bahasa tersebut dianggap
sebagai bahasa pertama untuk mendukung paradigma pemrograman
berorientasi obyek. Stroustrup menyadari bahwa paradigma ini sangat
berguna untuk pengembangan perangkat lunak, dengan kelebihan bahasa Simula
tersebut tetapi bahasa Simula memiliki kekurangan yaitu, bahasa Simula terlalu
lambat untuk penggunaan praktis.
Tak Lama kemudian, ia memulai untuk mengerjakan bahasa
pemrograman berdasarkan ide yang telah ia dapatkan. Stroustrup mengerjakan C++
dengan nama awalnya yaitu C With
Class. yang dimaksudkan untuk menjadi superset dari bahasa C, dengan menambahkan pemrograman
berorientasi obyek ke dalam bahasa C.
Alasan Kenapa Stroustrup lebih memilih untuk mengembangkan C
adalah, karena bahasa pemrograman C merupakan bahasa pemrograman yang sangat
popular karena kecepatan, kinerja yang bagus, memungkinkan untuk melakukan
pengkodean bahasa tingkat rendah dan lain sebagainya.
Kompiler Pertama C with class
disebut Cfront, yang berasal dari kompiler C disebut CPRE. CFront adalah
program yang dirancang untuk menerjemahkan C dengan Kelas ke C. hal menarik
yang patut untuk diketahui adalah bahwa Cfront sebagian besar ditulis dalam C
with Class, membuatnya menjadi kompiler self hosting (Kompiler yang dapat mengkompilasi diri
sendiri).
Cfront kemudian ditinggalkan pada
tahun 1993 setelah dianggap sulit untuk mengintegrasikan fitur baru ke
dalamnya. Meskipun demikian, Cfront membuat dampak besar pada implementasi
kompiler masa depan dan pada sistem operasi Unix.
Pada tahun 1985, Stroustrup membuat
buku referensi berjudul The C ++
Programming Language diterbitkan. Pada tahun yang sama, C ++
dilaksanakan sebagai produk komersial. Bahasa ini belum secara resmi
distandarkan. Bahasa ini diperbarui lagi pada tahun 1989 dan menambahkan
fasilitas Protected member,
Static member, serta Inheritance.
Pada tahun 1990, buku The Annotated C ++ Reference dirilis.
Pada tahun yang sama Borland dan Turbo C ++ kompiler dirilis sebagai produk
komersial. Turbo C ++ menambahkan banyak library tambahan yang akan memiliki dampak yang besar
terhadap pengembangan C ++. Meskipun rilis stabil terakhir Turbo C ++ pada
tahun 2006, tapi kompiler tersebut sampai saat ini masih banyak digunakan.
Pada tahun 1998, panitia standar C
++ menerbitkan Standar Internasional pertama untuk C ++ ISO / IEC 14882: 1998.
Pada tahun 2003, panitia mendapati beberapa masalah yang dilaporkan dengan C++
Standar mereka pada tahun 1998, karena itu bahasa diperbaharui yang merupakan
revisi masalah sebelumnya dan dijuluki C ++ 03.
Pada tahun 2005, panitia
Standarisasi C ++ merilis laporan teknis yang dijuluki TR1, merinci berbagai
fitur mereka berencana untuk menambah C ++ standar terbaru. Standar baru itu
secara informal dijuluki C ++ 0x seperti yang diharapkan akan dirilis sebelum
akhir dekade pertama. Namun, ironisnya, standar baru tidak dirilis sampai
pertengahan 2011.
Pada pertengahan 2011, C ++ 11 selesai dan
merupakan C++ standar baru. The
Library Project Meningkat, membuat dampak yang besar terhadap
standar baru, dan beberapa modul baru berasal langsung dari Boost perpustakaan.
Beberapa fitur baru termasuk dukungan ekspresi regular merupakan sebuah
perpustakaan pengacakan komprehensif, perpustakaan threading standar , fungsi
baru untuk pengulangan, Foreach
Loop, kata kunci Auto, Class New Container, dukungan yang
lebih baik untuk daftar inisialisasi Array, dan Variadic
Template.
2. Defenisi
Variabel,Konstanta, Library, Operator, Manipulator & Tipe Data
Variabel adalah suatu tempat untuk menampung data yang nilainya
selalu berubah.
Konstanta adalah suatu tempat untuk menampung data yang nilainya
selalu tetap dan tidak pernah berubah.
Pustaka atau Library adalah
kumpulan program atau fungsi yang telah ada pada compiler atau intepreter untuk
memudahkan pemrogram membuat program dan tidak perlu mengakses langsung sistem
komputer untuk memprogram.
Manipulator adalah fungsi pembantu yang memungkinkan untuk mengontrol
input / output stream. Manipulator pada umumnya digunakan untuk mengatur
tampilan layar. Contohnya untuk mengatur supaya suatu nilai ditampilkan dengan
lebar 8 karakter dan diatur rata kiri terhadap lebar tersebut.
Tipe
data adalah himpunan yang dapat anda temui pada semua data. Dengan memahami
tipe data, anda juga dapat menentukan suatu nilai dapat dimiliki dari data
tersebut ataukah tidak. Salah satu bentuk penerapan tipe data dalam kehidupan
sehari – hari adalah pada bilangan bulat. Karena pada hakikatnya penulisan
suatu bilangan pada data juga dapat bermacam – macam, seperti 5,5 atau
¾. Bilangan yang kami sebutkan adalah termasuk bilangan tak bulat, tidak
seperti bilangan bulat 5, 6, 1, 3 dan masih banyak lagi.
Lebih
kongkritnya lagi suatu tipe data dapat ditemui dalam dunia pemrograman
komputer. Di dalam tahap awal pembuatan program, anda harus menentukan terlebih
dahulu tipe data yang digunakan. Contoh tipe data yang sering digunakan para
programmer adalah Integer, Real, Double, Char, String dan
masih banyak lagi lainnya.
TIPE
|
KETERANGAN
|
|
VOID
|
Diartikan
sebagai tanpa tipe data dan tanpa pengembalian nilai
|
|
INT
|
Bilangan bulat
(integer)
|
|
FLOAT
|
Bilangan
pecahan (floating point)
|
|
DOUBLE
|
Bilangan
pecahan dengan jangkauan data yang lebih luas
|
|
CHAR
|
Karakter
|
|
STRING
|
Tipe data yang bisa menampung banyak karakter sekaligus
|
|
VARCHAR
|
Karakter
|
|
TIME
|
Waktu
|
Operator merupakan simbol yang
biasa dilibatkan dalam pembuatan program untuk melakukan suatu operasi ataupun
manipulasi. Pada operator c++ ada yang tergolong sebagai operator binary (yaitu
operator yang dikenakan untuk dua buah nilai (operand), dan ada yang tergolong
sebagai operator unary (operator yang dikenakan untuk satu buah nilai
(operand).
1. Operator Aritmatika
Adalah operator yang digunakan untuk
melakukan perhitungan matematika. Pada materi sebelumnya kita telah mengenal
pengertian dari Variabel, maka sekarang coba kita asumsikan bahwa variabel a =
30 dan b = 10, maka hasil implementasi dari Operator Aritmatika adalah sebagai
berikut:
Operator
|
Keterangan
|
Contoh
|
+
|
Penjumlahan
|
a + b
hasilnya 40
|
-
|
Pengurangan
|
a – b
hasilnya 20
|
*
|
Perkalian
|
a * b
hasilnya 300
|
/
|
Pembagian
|
a / b
hasilnya 3
|
%
|
Sisa
Pembagian
|
a % b
hasilnya 0
|
2. Operator Penaikan dan Penurunan
Operator penaikan adalah operator yang digunakan untuk
menaikan nilai variabel sebesar 1. Operator penurunan adalah operator yang
digunakan untuk menurunkan nilai variabel sebesar 1.
Contoh:
x = x + 1 ;
y = y - 1 ;
Bisa ditulis menjadi
++ x ; -- y ;
atau:
x ++ ; y -- ;
3. Menentukan Prioritas Operator Penaikan dan Penurunan
Sekarang kita akan mencoba untuk menentukan prioritas
dari operator penaikan dan penurunan, lalu bagaimanakah efek yang ditimbulkan
dari hasil percobaan ini? selengkapnya silakan perhatikan contoh program di
bawah ini:
#include <iostream.h>
#include <conio.h>
/**
*bundet.com
*Penggunaan operator penaikan di belakang variabel
*/
void main() {
int r =
10;
int s; s =
10 + r++ ;
cout <<
"r = " << r <<
'\n' ;
cout <<
"s = " << s <<
'\n' ;
getch();
}
Hasil
eksekusi:
r = 11
s = 20
Penjelasan:
Pada contoh diatas s diisi dengan
penjumlahan nilai 10 dan r. Dengan demikian s akan bernilai 20. setelah s diisi
dengan 20, nilai r baru dinaikan karena operator ++ ditulis dibelakang r.
Disebut post-increment yang artinya dinaikkan dibelakang setelah penjumlahan
antara r dan 10 dilaksanakan.
Contoh lagi:
#include <iostream.h>
#include <conio.h>
/**
*bundet.com
*Penggunaan operator penaikan di depan variabel
*/
void main() {
int r =
10;
int s;
s =
10 + ++r ;
cout <<
"r = " << r <<
'\n' ;
cout <<
"s = " << s <<
'\n' ;
getch();
}
Hasil
eksekusi:
r = 11
s = 20
Penjelasan:
Pada contoh ini, nilai r mula-mula dinaikan terlebih
dahulu karena operator ++ ditempatkan didepan r. Disebut pre-increment kemudian
nilainnya dijumlahkan dengan 10 dan diberikan ke s. Dengan demikian s bernilai
21 dan r sama dengan 11.
4.
Operator Penugasan
Operator
Penugasan adalah operator yang digunakan untuk memberikan nilai ke dalam
variabel tertentu. Asumsikan variabel a bernilai 50 dan variabel b bernilai
30,lalu perhatikan tabel berikut:
Operator
|
Keterangan
|
Contoh
|
=
|
Memberikan
nilai dari operand sisi kanan untuk sisi kiri
|
c = a
+ b
hasilnya
c diberi nilai 80
c = a
= b
Hasilnya
c,a,b bernilai 30
|
+=
|
Menambahkan
operand kiri dengan operand kanan dan menugaskan hasilnya untuk operand kiri
|
c +=
a
sama
dengan
c = c
+ a
|
-=
|
Mengurangi
operand kanan dari operand kiri dan menugaskan hasilnya untuk operand kiri
|
c -=
a
sama
dengan
c = c
- a
|
*=
|
Mengalikan
operand kanan dengan operand kiri dan menugaskan hasilnya untuk operand kiri
|
c *=
a
sama
dengan
c = c
* a
|
/=
|
Membagi
operand kiri dengan operand kanan dan menugaskan hasil untuk operand kiri
|
c /=
a
sama
dengan
c = c
/ a
|
%=
|
Menghitung
sisa pembagian menggunakan dua operand dan memberikan hasilnya ke operand
kiri
|
c %=
a
sama
dengan
c = c
% a
|
5. Operator Kondisi
Operator Kondisi merupakan penyederhanaan dari bentuk
if..else yang setiap blok dari if dan else hanya terdiri dari satu
statement/perintah.
Bentuk umum:
(ekspresi)? (jika benar) : (jika salah);
6. Operator Relasi / Perbandingan
Operator Relasi digunakan untuk
menguji hubungan antara nilai dan atau variabel. Operator ini digunakan dalam
suatu statement bersyarat yang selalu menghasilkan nilai true atau false.
Jenis-jenis operator relasi bisa
dilihat dalam tabel berikut:
Operator
|
Keterangan
|
==
|
Sama
dengan (bukan penugasan)
|
!=
|
Tidak
sama dengan
|
>
|
Lebih
dari
|
<
|
Kurang
dari
|
>=
|
Lebih
dari atau sama dengan
|
<=
|
Kurang
dari atau sama dengan
|
7. Operator Logika
Operator Logika digunakan untuk membandingkan dua nilai variabel
atau lebih. Hasil dari operasi ini adalah nilai boolean true atau false.
Asumsikan variabel a bernilai true, b bernilai false dan c bernilai true, lalu
perhatikan tabel berikut:
Operator
|
Keterangan
|
Contoh
|
&&
|
Jika
semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
|
a
&& b hasilnya false
a
&& c hasilnya true
|
||
|
Jika
salah satu dari operand bernilai benar (TRUE) maka kondisi bernilai benar.
|
a ||
b hasilnya true
a ||
c hasilnya true
|
!
|
Digunakan
untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah menjadi
salah (FALSE), begitu pula sebaliknya
|
!a
hasilnya false
!b
hasilnya true
!( b
&& a ) hasilnya true
|
3. Format
variable konstanta
Ketika
akan menulis variabel, dalam hampir semua bahasa pemrograman terdapat 2
proses: deklarasi dan inisialisasi.
Deklarasi adalah
proses untuk memberitahukan compiler bahasa
C++ bahwa kita akan membuat sebuah variabel. Bahasa C++ termasuk bahasa pemrograman yang menggunakan
konsep strongly typed programming language,
yang artinya untuk setiap variabel harus ditulis akan berisi tipe data apa.
Apakah itu angka bulat (integer),
angka pecahan (float), huruf (char), atau yang lain.
Sebagai
contoh, dalam kode program berikut saya mendeklarasikan 3
buah variabel:
1
2
3
4
5
6
7
8
9
10
|
#include
<iostream>
int main(void)
{
int a;
char b;
float c;
return 0;
}
|
Untuk membuat konstanta dalam
bahasa C++, terdapat 2 cara. Yakni menggunakan keyword #define atau menggunakan keyword #const.
Jika
ingin membuat konstanta dengan keyword #define,
konstanta ini ditulis sebelum main().
Berikut contoh cara pembuatan konstanta menggunakan #define:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
|
#include <iostream>
#define PANJANG 8
#define LEBAR 5
int main(void)
{
printf("Panjang
= %d",PANJANG);
printf("\n");
printf("Lebar
= %d",LEBAR);
printf("\n");
printf("Luas
(panjang*lebar) = %d",PANJANG*LEBAR);
printf("\n");
return 0;
}
|
Berikut contoh kode program bahasa C++ untuk membuat konstanta
menggunakan keyword const:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <iostream>
int main(void)
{
const char
situs[20] = "blogspot.com";
const float ipk = 4.00;
printf("Sedang
belajar bahasa C++ di %s",situs);
printf("\n");
printf("Semoga
dapat IPK %f",ipk);
printf("\n");
return 0;
}
|
4. Input
dan Output (Cin, Cout, Komentar)
Output (keluaran)
adalah aktifitas program yang mendapatkan perintah untuk memberikan informasi
data kepada pengguna (manusia). Data itu biasanya merupakan hasil olahan dari
data sebelumnya. Dalam bahasa C++ kita dapat melakukan pengeluaran
menggunakan object cout.
Untuk
menggunakan object cout kita membutuhkan Insertion Operator dengan
tanda << di antara object dengan ekspresi.
Jika kita ingin melakukan keluaran
(menampilkan) nilai dari suatu variable kita
hanya akan membutuhkan identias dari variable tersebut dan jika kita ingin langsung menampilakan
sebaris kalimat (string), kita
dapat melakukanya dengan menambahkan sepasang tanda petik dua di awal kalimat
dan di akhir kalimat.
Contoh Penulisan
1
2
3
4
5
|
cout<<variable;
//atau
cout<<"Hallo Semua";
//atau
cout<<variable<<" Hallo Semua";
|
Input adalah
interaksi pengguna (manusia) dengan program, memungkinkan program dapat
menerima data atau informasi dari pengguna, dalam bahasa pemrograman C++ kita
dapat melakukanya perintah masukan dengan menggunakan object cin.
Untuk
menggunakan cin kita membutuhkan Extraction
Operator dengan tanda >> yang
diletakan di antara object cin dan ekspresi.
Sebelum kita mencoba fitur masukan (input) pada C++, kita harus
mengetahui bahawa setiap data yang diberikan oleh pengguna akan membutuhkan
tempat penyimpanan, pada komputer dinamakan sebagai memori dan memori dapat
dipesan dengan menggunakan bahasa pemrograman dengan cara mendirikan variable
Maka data yang diberikan oleh
pengguna dalam operasi pemasukan (input) akan disimpan di dalam memori variable
yang telah kita dirikan.
Contoh Penulisan
1
|
cin>>variable;
|
Contoh Program
1
2
3
4
5
6
7
8
9
|
#include <iostream>
using namespace std;
int main
( ) {
int x
;
cout<<"Masukkan sebuah angka : ";
cin>>x;
cout<<"Angka yang dimasukkan adalah
"<<x<<endl;
return 0;
}
|
Di atas adalah contoh
program yang mencontohkan bagaimana penggunaan input output dengan object cout dan cin. Pada baris ke empat didirikan variable x dengan tipe
data integer yang
akan berfungsi untuk penyimpanan data masukan dari pengguna program.
Baris selanjutnya
adalah contoh penggunan keluaran dengan object cout mengeluarkan
sebuah string dengan
kalimat Masukan
sebuah angka : .
Baris ke enam adalah
contoh penggunaan perintah masukan cin, masukan dari pengguna akan dimasukan dan disimpan dalam
memori variable x.
Dan baris ketujuh
adalah penggunaan cout, menampilkan string dengan kalimat Angka yang dimasukan adalah : dan menampilkan isi dari variable x yang merupakan data yang pengguna masukan pada baris
keenam.
Komentar adalah bagian
dari kode program yang tidak ikut dibaca / diterjemahkan pada saat proses
kompilasi. dengan kata lain, komentar tidak akan mempengaruhi jalannya program,
karena hanya berguna untuk mempermudahkan kita dalam mengingat dan menjelaskan
kode / deskripsi program.
Contoh Penulisan
1
|
std::cout<<”BelajarC++”<<std::endl;
// pernyataan di samping akan mencetak “BelajarC++” di layar.
|
Atau
1
2
|
//pernyataan di bawah akan mencetak
“BelajarC++” di layar.
std::cout<<”BelajarC++”<<std::endl;
|
5. Jenis
Manipulator
Manipulator
|
Kegunaan
|
Operasi
|
boolalpha
|
Mengaktifkan flag
|
Input / Output
|
dec
|
Mengaktifkan flag dec
|
Input / Output
|
endl
|
Menampilkan baris baru dan
membuat stream
|
Output
|
ends
|
Menampilkan null
|
Output
|
fixed
|
Mengaktifkan flag fixed
|
Output
|
flush
|
Membuang stream
|
Output
|
hex
|
Mengaktifkan flag hex
|
Input / Output
|
internal
|
Mengaktifkan flag internal
|
Output
|
left
|
Mengaktifkan flag left
|
Output
|
noboolalpha
|
Mematikan flag boolalpha
|
Input / Output
|
noshowbase
|
Mematikan flag showbase
|
Output
|
noshowpoint
|
Mematikan flag showpoint
|
Output
|
noshowpos
|
Mematikan flag showpos
|
Output
|
noskipws
|
Mematikan flag skipws
|
Input
|
nounitbuf
|
Mematikan flag unitbuf
|
Output
|
nouppercase
|
Mematikan flag uppercase
|
Output
|
oct
|
Mematikan flag oct
|
Input / Output
|
resetiosflags (fmtflags f)
|
Mematikan flag yang
dituliskan (f)
|
Input / Output
|
right
|
Mengaktifkan flag right
|
Output
|
scientific
|
Mengaktifkan flag scientific
|
Output
|
setbase (int base)
|
Mengaktifkan basis base
|
Input / Output
|
setfill (int ch)
|
Mengisi karakter dengan ch
|
Output
|
setiodflags (fmtflags f)
|
Mengaktifkan flag yang
dituliskan (f)
|
Input / Output
|
setprecision (int p)
|
Menentukan presisi digit
|
Output
|
setw (int w)
|
Menentukan lebar kolom
|
Output
|
showbase
|
Mengaktifkan flag show base
|
Output
|
showpoint
|
Mengaktifkan flag show point
|
Output
|
showpos
|
Mengaktifkan flag showpos
|
Output
|
skipws
|
Mengaktifkan flag skipws
|
Input
|
unitbuf
|
Mengaktifkan flag unitbuf
|
Output
|
uppercase
|
Mengaktifkan flag uppercase
|
Output
|
ws
|
Mengabaikan karakter
white-space
|
Input
|
6. Percabangan
(If, else, Switch)
1.
Percabangan if
Percabangan if merupakan percabangan yang hanya
memiliki satu blok pilihan saat
kondisi bernilai benar.
Coba perhatikan flowchart berikut ini:
Flowchart tersebut dapat kita baca seperti
ini:
“Jika total
belanja lebih besar dari Rp 100.000, Maka tampilkan pesan Selamat, Anda dapat hadiah“
Kalau dibawah Rp
100.000 bagaimana?
Ya pesannya
tidak akan ditampilkan.
2.
Percabangan if/else
Percabangan if/else merupakan percabangan
yang memiliki dua blok pilihan.
Blok pilihan
pertama untuk kondisi benar,
dan pilihan kedua untuk kondisi salah (else).
Coba perhatikan
flowchart ini:
Ini adalah
flowchart untuk mengecek password.
Apabila password
benar, pesan yang ada pada blok hijau akan ditampilkan: “Selamat datang bos!”
Tapi kalau
salah, maka pesan yang ada di blok merah yang akan ditampilkan: “Password salah, coba lagi!”
Kemudian, pesan
yang berada di blok abu-abu akan tetap ditampilkan, karena dia bukan bagian
dari blok percabangan if/else.
Perhatikan arah
panahnya, setiap blok if/else mengarah ke sana…
3.
Percabangan if/else/if
Percabangan if/else/if merupakan percabangan yang
memiliki lebih dari dua blok
pilihan.
Coba perhatikan flowchart berikut:
4.
Percabangan Switch/Case
Percabangan switch/case adalah
bentuk lain dari percabangan if/else/if.
Kita dapat
mermbuat blok kode (case) sebanyak yang
diinginkan di dalam blok switch.
Pada <value>, kita bisa isi dengan nilai yang
nanti akan dibandingkan dengan varabel.
Setiap case harus diakhiri dengan break. Khusus untuk default,
tidak perlu diakhiri dengan break karena
dia terletak di bagian akhir.
Pemberian break bertujuan agar program berhenti
mengecek case berikutnya saat
sebuah case terpenuhi.
7. Perulangan
Perulangan
adalah suatu proses eksekusi statemen-statemen dalam sebuah program secara
terus-menerus sampai terdapat kondisi untuk menghentikannya. Operasi perulangan
/ looping selalu dijumpai didalam berbagai bahasa pemrograman, hal tersebut
karena struktur perulangan akan sangat membantu dalam efisiensi program.
Dalam
C++ terdapat 3 macam struktur perulangan, yaitu : Struktur For, Struktur While
dan Struktur Do While. Pada kesempatan kali ini kita akan membahas
mengenai 3 macam struktur perulangan tersebut lengkap
dengan contoh program beserta penjelasannya, dimana contoh program kami buat
menggunakan IDE Dev-C++.
1 . Perulangan dengan fungsi for
Penulisan dasar format
perulangan for dalam C++ adalah sebagai berikut:
for (start; condition; increment)
{
statement;
}
Start adalah kondisi pada saat awal perulangan.
Biasanya kondisi awal ini digunakan
untuk membuat dan memberikan nilai kepada variabel yang digunakan untuk
mengontrol perulangan.
Misalkan, kita akan membuat variabel
i, maka untuk kondisi start ini, kita juga harus memberikan nilai awal untuk
variabel i, misalnya dengan 1, maka i=1.
Misalkan kita ingin menghentikan
perulangan jika variabel i telah mencapai nilai 10, maka pada
bagian condition ini kita membuat perintah i<=10.
Yang berarti selama nilai i kurang
atau sama dengan 10, terus lakukan perulangan.
Increment adalah bagian yang digunakan untuk memproses variabel
agar bisa memenuhi kondisi akhir perulangan.
Umumnya nilai variable tersebut
bertambah (i++) / berkurang (i--) 1 (satu).
Condition adalah kondisi yang harus dipenuhi agar perulangan
dijalankan. Selama kondisi ini terpenuhi, maka C++ akan terus melakukan
perulangan.
Statement adalah bagian kode program yang akan diproses secara
terus-menerus selama proses perulangan berlangsung.
2. Perulangan dengan fungsi while
Dalam
perulangan
while
, program akan
terus melakukan perulangan dengan mengeksekusi pernyataan target selama kondisi
tertentu bernilai benar.
Penulisan
dasar format perulangan while dalam C++ adalah sebagai berikut:
while(condition
){
statement
;
}
Condition adalah kondisi yang harus dipenuhi agar
perulangan berlangsung.
Kondisi
ini mirip seperti dalam perulangan for.
Condition
ini akan diperiksa pada tiap perulangan, dan hanya jika hasilnya FALSE, maka
proses perulangan berhenti. Artinya kita tidak tahu berapa banyaknya
perulangan.
Karena,
selama condition bernilai TRUE, maka perulangan akan terus dilakukan.
Statement adalah kode program yang akan diulang.
Tanda kurung
kurawal diperlukan untuk membatasi blok program yang akan
diulang. Jika statement hanya terdiri dari 1 baris, maka tidak diperlukan.
3 Perulangan dengan fungsi do while
Perulangan
while
dan do-while
pada
dasarnya hampir sama.do{
statement
;
}while
(
condition
);
Perbedaan
terletak pada ’lokasi’ pengecekan kondisi perulangan.
Dalam
struktur while, pengecekan untuk kondisi perulangan di lakukan di awal, sehingga
jika kondisi tidak terpenuhi, maka perulangan tidak akan pernah dijalankan.
Namun
pada perulangan do-while:
Pengecekan
kondisi akan dilakukan di akhir perulangan, sehingga walaupun kondisi adalah
FALSE, perulangan akan tetap berjalan minimal 1 kali.
Statement adalah kode program yang akan diulang
& condition adalah kondisi yang harus dipenuhi
agar perulangan berlangsung.
B. CONTOH PROGRAM C++
1 1 . Contoh
Program
a A. Variabel
Berikut
contoh kode program bahasa C untuk membuat konstanta menggunakan Int:
#include <iostream>
usingnamespace
std
;
intmain(){
int
x
,y
,z
;
x
=3;y
=4;
z
=x
*y
;
cout
<<"Hasil perkalian: "
<<
z
;
}
a B. Konstanta
Berikut contoh kode program bahasa C untuk
membuat konstanta menggunakan keyword const;
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
#include <stdio.h>
int main(void)
{
const char
situs[20] = "blogspot.com";
const float ipk = 4.00;
printf("Sedang
belajar bahasa C di %s",situs);
printf("\n");
printf("Semoga
dapat IPK %f",ipk);
printf("\n");
return 0;
}
|
a C. Input Output
#include <cstdlib>
#include <iostream>
//program input
using namespace std;
int main(int argc, char *argv[])
{
char
namadepan[50];
char
namabelakang[50];
cout<<
"Siapa nama depan anda?"<<endl;
cin>>
namadepan;
cout<<
"Siapa nama belakang anda?"<<endl;
cin>>
namabelakang;
cout<<
"namadepan:"<<namadepan<<endl;
cout<<
"namabelakang: "<<namabelakang<<endl;
cout<<namadepan<<"
"<<namabelakang;
return
0;
1 2. Contoh
Program Untuk Percabangan
#include
<cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *arg)
{
string a;
// inisiasi dua buah variabel
int z;
cout
<< "Masukkan Nama Anda : ";
// menampilkan output teks perintah inputan
getline(cin, a);
cout
<< "Masukkan Nilai Anda (angka 1-100): " ;
//
menampilkan output teks perintah inputan
cin
>> z;
//membaca inputan
system("cls");
//perintah untuk membersihkan console, fungsi dari
headers stdlib.h
cout
<< "Halo "<<a<<" Nilai anda adalah :
"<<z<< endl;
//Menampilkan output inputan dari vairabel a & b
if
(z>=60)
{
cout
<<"Anda Lulus";
}else
{
cout
<<"Anda tidak lulus"<< endl;
cout
<<"Silahkan coba lagi tahun depan";
}
//Baris
percabangan if else untuk menguji nilai b
return 0;
}
1 3. Contoh
Program untuk Perulangan
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int
n;
cout<<"Masukkan
angka untuk mulai : ";
cin>>n;
while
(n>0)
{
cout
<<n<<",";
--n;
}
cout<<"STOP!";
return
0;
}
1 4. Contoh
Program Berdasarkan Kasus
#include <iostream>
#include <stdlib.h>
#include <conio.h>
using namespace std;
int main(int argc, char** argv) {
char
nama[40];
char nim[20];
char
universitas[30];
char
umur[20];
char
alamat[30];
float ip;
system("cls");
cout<<"
================================="<<endl;
cout<<" === PROGRAM
BIODATA MAHASISWA ==="<<endl;
cout<<"
================================="<<endl;
cout<<" Input
Nama:";
gets(nama);
cout<<" Input
Universitas :";
cin>>universitas;
cout<<" Input Nim
:";
cin>>nim;
cout<<" Input umur
:";
cin>>umur;
cout<<" Input alamat
:";
cin>>alamat;
cout<<" Input Jumlah
IP:";
cin>>ip;
cout<<endl<<endl;
cout<<"
=========================================="<<endl;
cout<<"
============ BIODATA MAHASISWA
=========="<<endl;
cout<<"
=========================================="<<endl;
cout<<"
=========================================="<<endl;
cout<<" | Nama :"<<nama<<endl;
cout<<" | Nim :"<<universitas<<endl;
cout<<" | Nim :"<<nim<<endl;
cout<<" | Umur :"<<umur<<endl;
cout<<" | alamat
:"<<alamat<<endl;
cout<<" | IP :"<<ip<<endl;
cout<<"
=========================================="<<endl;
getch();
return
0;
}