Pemrograman C+ Kelas X
Pemrograman C+ Kelas X
BAHASA C++
Penerbit
ZEYRANK OFFSET
Aa Oon – Pemrograman Bahasa C++ 1
MODUL KULIAH
Percetakan :
PEMROGRAMAN BAHAS Adjie Group Bekasi
A C++
Penyusun :
1. MARZORILLA, ST
2. Ir. ANVERYENDI
3. ARDIANSYAH
MAULANA, A.Md
4. JUIA TRI UTAMI,
S.Tr.Kom
Aa Oon – Pemrograman Bahasa C++
MODUL 1
1. PENGANTAR C++
C++ diciptakan oleh Bjarne Stroustrup di laboratorium Bell pada
awal tahun 1980-an, sebagai pengembangan dari bahasa C dan
Simula. Saat ini, C++ merupakan salah satu bahasa yang paling
populer untuk pengembangan software berbasis OOP.
Kompiler untuk C++ telah banyak beredar di pasaran. Software
developer yang paling diminati adalah Borland Inc. dan Microsoft
Corp. Produk dari Borland untuk kompiler C++ adalah Turbo
C++, Borland C++, Borland C++ Builder. Sedangkan dari
Microsoft adalah Ms. Visual C++.
Aa Oon – Pemrograman Bahasa C++ 3
Walaupun banyak kompiler yang tersedia, namun pada intinya
bahasa pemrograman yang dipakai adalah C++.
2. STRUKTUR BAHASA C++
Cara terbaik untuk balajar bahasa pemrograman adalah dengan
langsung mempraktikannya. Cobalah contoh program berikut :
Program di atas, misalnya dapat disimpan dengan nama
latih1.cpp. Cara untuk menyimpan dan mengkompile program
berbeda-beda, tergantung kompiler yang dipakai.
Ketika di-run, maka di layar akan muncul sebuah tulisan
“Selamat Belajar C++”. Contoh di atas, adalah sebuah contoh
program sederhana menggunakan C++. Namun, penggalan
program tersebut telah menyertakan sintak-sintak dasar bahasa
C++. Sintak dasar tersebut, akan kita bahas satu per satu:
4 Aa Oon – Pemrograman Bahasa C++
merupakan sebuah baris komentar. Semua baris, yang ditandai
dengan dua buah tanda slash (//), akan dianggap sebagai baris
komentar dan tidak akan berpengaruh pada hasil.
Biasanya, baris komentar dipakai oleh programmer untuk
memberikan penjelasan tentang program.
Baris komentar dalam C++, selain ditandai dengan (//) juga dapat
ditandai dengan (/*….*/).
Perbedaan mendasar dari keduanya adalah :
// baris komentar
/* blok komentar */
#include <iostream.h>
pernyataan yang diawali dengan tanda (#) merupakan pernyataan
untuk menyertakan preprocessor. Pernyataan ini bukan untuk
dieksekusi. #include <iostream.h> berarti memerintahkan
kompiler untuk menyertakan file header iostream.h. Dalam file
header ini, terdapat beberapa fungsi standar yang dipakai dalam
proses input dan output. Seperti misalnya perintah cout yang
dipakai dalam program utama.
int main ()
Baris ini menandai dimulainya kompiler akan mengeksekusi
program. Atau dengan kata lain, pernyataan main sebagai
penanda program utama. Adalah suatu keharusan, dimana sebuah
program yang ditulis dalam bahasa C++ memiliki sebuah main.
main diikuti oleh sebuah tanda kurung () karena main merupakan
sebuah fungsi. Dalam bahasa C++ sebuah fungsi harus diikuti
dengan tanda (), yang nantinya dapat berisi argumen. Dan sintak
formalnya, sebuah fungsi dimulai
dengan tanda {}, seperti dalam contoh program.
Aa Oon – Pemrograman Bahas a C++ 5
6
cou akan dikerjakan. cout termasuk dalam file
t < iostream. cout merupakan perintah untuk menampilkan ke layer.
< "
Sel
am Perlu diingat, bahwa setiap pernyataan dalam C++ harus
at diakhiri dengan tanda semicolon (;) untuk memisahkan antara
Bel
aja pernyataan satu dengan pernyataan lainnya.
r C
+ return 0;
+"; pernyataan return akan menyebabkan fungsi main() menghentikan
peri program dan mengembalikan nilai kepada main. Dalam hal ini,
nta yang dikembalikan adalah nilai 0. Mengenai pengembalian nilai,
h i
akan dijelaskan nanti mengenai Fungsi dalam C++.
ni
mer
Coba tambahkan sebaris pernyataan lagi, sehingga program
upa
contoh di atas akan menjadi seperti berikut:
kan
hal
yan
g a // latihan keduaku
kan #include <iostream.h>
die int main ()
kse {
kus cout << "Selamat Belajar C++";
i ol cout << "di kampusku";
eh return 0;
co }
mpi
ler
dan
merMaka perintah cout yang kedua akan menampilkan sebuah
upa kalimat lagi di layar, dengan tulisan “di kampusku”.
kan
peri
nta
h y
ang
Aa Oon – Pemrograman Bahasa C++
3. TIPE DATA
Type 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
Terdapat 5 tipe data bawaan dari bahasa C, yaitu : void,
Type Keterangan
bool isi bilangan Boolean (True dan False)
wchar_t wide character
Ukuran
Tipe Range
(bits)
unsigned char 8 0 s/d 255
char 8 -128 s/d 127
short int 16 -32,768 s/d 32,767
unsigned int 32 0 s/d 4,294,967,295
int 32 -2,147,483,648 s/d 2,147,483,647
unsigned long 32 0 s/d 4,294,697,295
long 32 -2,147,483,648 s/d 2,147,483,647
float 32 3.4 e-38 s/d 1.7 E +38
double 64 1.7 E-308 s/d 3.4 E + 308
long double 80 3.4 E-4932 s/d 1.1 E + 4932
Sedangkan C++ sendiri menambahkan dua buah tipe data lagi,
integer, float, double, dan char.
yakni : bool dan wchar_t.
Aa Oon – Pemrograman Bahas a C++ 7
4. VARIABEL
Format penulisannya adalah :
Tipe_data pengenal = nilai ;
Sebagai contoh :
int a;
float nomor;
atau dapat juga pemberian nilai awal untuk variable dilakukan
pada saat deklarasi,
contoh :
int a=10;
char s=’a’;
Jika hendak mendeklarasikan beberapa variabel sekaligus dengan
tipe data yang sama, dapat dilakukan dengan 2 cara, yaitu :
int a;
int b;
int c;
atau dapat disederhanakan dengan deklarasi :
int a,b,c;
8 Aa Oon – Pemrograman Bahasa C++
Perhatikan contoh berikut:
Konstanta mirip dengan variable, namun memiliki nilai tetap.
Konstanta dapat berupa nilai Integer, Float, Karakter dan String.
Pendeklarasian konstanta dapat dilakukan dengan 2 cara :
menggunakan (#define)
deklarasi konstanta dengan cara ini, lebih gampang dilakukan
karena akan menyertakan #define sebagai preprocessor
directive.
Aa Oon – Pemrograman Bahas a C++ 9
Dan sintaknya diletakkan bersama – sama dengan pernyataan
#include (di atas main()).
Format penulisannya adalah :
#define pengenal nilai
Contoh penggunaan :
#define phi 3.14159265
#define Newline ‘\n’
#define lebar 100
pendeklarasian dengan #define tanpa diperlukan adanya
tanda = untuk memasukkan nilai ke dalam pengenal dan juga
tanpa diakhiri dengan tanda semicolon(;).
menggunakan (const)
Sedangkan dengan kata kunci const, pendeklarasian
konstanta mirip dengan deklarasi variable yang ditambah kata
depan const.
Contoh :
const int lebar = 100;
const char tab = ‘\t’;
const zip = 1212;
Untuk contoh terakhir, deklarasi variable zip yang tanpa tipe
data, maka compiler akan secara otomatis memasukkannya
ke dalam tipe int.
6. OPERATOR
Dalam C++, terdapat berbagai macam operator yang dapat
dimanfaatkan dalam aplikasi.
Operator Assign (=)
Operator (=), akan memberikan nilai ke dalam suatu variable.
10 Aa Oon – Pemrograman Bahasa C++
Operator Keterangan
+ Penjumlahan
rvalue
- Pengurangan
* Perkalian
/ Pembagian
% Modulus
lvalue A=5
artinya memberikan nilai 5 ke dalam variable a. Sebelah kiri
tanda = dalam pernyataan di atas, dikenal dengan lvalue (left
value) dan di sebelah kanan tanda = dikenal dengan rvalue (right
value). lvalue harus selalu berupa variable, sedangkan rvalue
dapat berupa variable, nilai, konstanta, hasil operasi ataupun
kombinasinya.
Operator Aritmatika ( +, -, *, /, %)
Untuk operator %, sama dengan modulus, yaitu untuk
mengetahui sisa hasil bagi. Misalnya a = 11 % 3, maka variable
a akan terisi nilai 2 karena sisa hasil bagi 11 dan 3 adalah 2.
Operator Majemuk ( +=, -=, *=, /=, %=, <<=, >>=, &=, |= )
Dalam C++, operasi aritmatika dapat disederhanakan
penulisannya dengan format penulisan operator majemuk.
Misalnya :
a += 5 sama artinya dengan menuliskan a = a+5
a *= 5 sama artinya dengan menuliskan a = a*5
a /= 5 sama artinya dengan menuliskan a = a/5
Aa Oon – Pemrograman Bahas a C++ 11
12 a %= 5 sama artinya dengan menuliskan a = a % 5
lvalue a = 5 rvalue
Operator Penaikan dan Penurunan (++ dan --)
Operator penaikan (++) akan menaikkan atau menambahkan
1 nilai variable. Sedangkan operator (--) akan menurunkan
atau mengurangi 1 nilai variable.
Misalnya :
a++;
a+=1;
a=a+1;
untuk ketiga pernyataan tersebut, memiliki arti yang sama
yaitu menaikkan nilai variable 1. Karakteristik dari operator
ini adalah dapat dipakai di awal (++a) atau diakhir (--a)
variable. Untuk penggunaan biasa, mungkin tidak akan
ditemui perbedaan hasil dari cara penulisannya. Namun untuk
beberapa operasi nantinya harus diperhatikan cara peletakan
operator ini, karena akan berpengaruh terhadap hasil.
Contoh 1 : Contoh 2:
B=3; B=3;
A=++B; A=B++;
// A= 4, B=4 //hasil A=3, B=4
Dari contoh1, nilai B dinaikkan sebelum dikopi ke variable
A. Sedangkan pada contoh2, nilai B dikopi terlebih dahulu ke
variable A baru kemudian dinaikkan.
Operator Relasional (==, !=, >, <, >=, <=)
Yang dihasilkan dari operator ini bukan berupa sebuah nilai,
namun berupa bilangan bool yaitu benar atau salah.
Aa Oon – Pemrograman Bahasa C++
Operator Keterangan
== Sama dengan
!= Tidak sama dengan
> Lebih besar dari
< Kurang dari
>= Lebih besar dari atau sama dengan
<= Kurang dari atau sama dengan
Contoh :
(7==5) hasilnya adalah false
(5>4) hasilnya adalah true
(5<5) hasilnya adalah false
Operator Logika ( !, &&, || )
Operator logika juga digunakan untuk memberikan nilai atau
kondisi true dan false. Biasanya operator logika dipakai untuk
membandingkan dua kondisi.
Misalnya:
((5==5) && (3>6)) mengembalikan nilai false, karena (true &&
false)
untuk logika NOT (!), contohnya !(5==5) akan mengembalikan
nilai false, karena !(true).
Operator Kondisional ( ? )
Format penulisan operator kondisional adalah :
kondisi ? hasil1 : hasil2
14 Aa Oon – Pemrograman Bahasa C++
MODUL 2
INPUT & OUTPUT STANDAR
Dalam library C++, iostream mendukung dua operasi dasar yaitu
cout untuk output dan cin untuk input. Biasanya, dengan perintah
cout akan menampilkan sesuatu ke layar monitor dan dengan
perintah cin akan menerima masukan melalui keyboard.
1. Output (cout)
Untuk cout menggunakan operator << (insertion operation).
Aa Oon – Pemrograman Bahasa C++ 15
cout << “Selamat Datang”; //mencetak tulisan Selamat datang
ke layar
cout << 120; //mencetak angka 120 ke layar
cout << x; //mencetak isi nilai variable x ke
layer
Sebagai contoh, perhatikan perbedaan dua pernyataan berikut:
cout << ”Hello”; //menampilkan tulisan Hello ke layar
cout << Hello; //menampilkan isi dari variable Hello ke layar
Insertion Operation (<<) dapat digunakan lebih dari satu dalam
sebuah pernyataan :
cout << “Halo, “<<” saya ”<<” belajar C++ ”;
dengan perintah di atas, maka dilayar akan muncul pesan
Selanjutnya, dapat juga dikombinasikan dengan variable.
Misalnya :
cout << “Halo, saya berusia”<<age<<” tahun “;
maka tampilan di layar, adalah sebagai berikut:
1 Aa Oon – Pemrograman Bahasa C++
6
Yang paling penting dari cout adalah bahwa perintah ini tidak
akan menambahkan perintah ganti baris. Untuk membuktikannya,
perhatikan
contoh berikut:
cout<<”kalimat pertama.”;
cout<<”kalimat kedua.”;
maka di layar akan tampil:
kalimat pertama.kalimat kedua.
cout<<”kalimat pertama.\n”;
cout<<”kalimat kedua.\nkalimat ketiga.”;
tampilan di layar adalah sebagai berikut:
kalimat pertama.
kalimat kedua.
kalimat ketiga.
atau dapat juga dengan menggunakan perintah endl:
cout<<”kalimat pertama.”<<endl;
cout<<”kalimat kedua.”<<endl;
tampilan dilayarnya adalah sebagai berikut:
kalimat pertama.
kalimat kedua.
Aa Oon – Pemrograman Bahasa C++ 17
2. Input (cin)
Untuk menerima inputan dengan perintah cin, maka operator yang
akan digunakan adalah overloaded operator (>>) dan diikuti oleh
variable tempat menyimpan inputan data. Seperti contoh:
int age;
cin>>age;
cin hanya dapat diproses setelah penekanan tombol ENTER.
Jadi, walaupun hanya satu karakter yang dimasukkan, sebelum
penekanan Enter, cin tidak akan merespon apa-apa.
cin juga dapat digunakan menerima beberapa inputan dalam
sekali pernyataan:
cin >> a >> b;
sama dengan pernyataan :
cin>>a;
cin>>b;
18 Aa Oon – Pemrograman Bahasa C++
MODUL 3
KONTROL KONDISI & LOOPING
Dalam sebuah proses program, biasanya terdapat kode penyeleksian
kondisi, kode pengulangan program, atau kode untuk pengambilan
keputusan. Untuk tujuan tersebut, C++ memberikan berbagai
kemudahan dalam sintaknya.
Terdapat sebuah konsep, yakni Blok Instruksi. Sebuah blok dari
instruksi merupakan sekelompok instruksi yang dipisahkan dengan
tanda semicolon (;) dan berada diantara tanda { dan }.
Untuk Blok Instruksi, penggunaan tanda { dan } boleh ditiadakan.
Dengan syarat, hanya pernyataan tunggal yang akan dilaksanakan
oleh blok instruksi.
Aa Oon – Pemrograman Bahasa C++ 19
Apabila pernyataan yang dijalankan lebih dari satu, maka tanda {
dan } wajib
disertakan.
1. SELEKSI KONDISIONAL ( if …else…)
Format penulisannya :
if (kondisi) pernyataan;
kondisi adalah ekspresi yang akan dibandingkan. Jika kondisi
bernilai benar, maka pernyataan akan dijalankan. Namun, jika
kondisi bernilai salah, maka pernyataan akan diabaikan.
Contoh pernyataan berikut akan menampilkan tulisan x adalah
100 apabila x bernilai 100:
if (x==100)
cout << “x adalah 100”;
Jika menginginkan lebih dari sebuah pernyataan yang dijalankan,
ketika
kondisi terpenuhi maka blok instruksi harus menyertakan tanda {
dan }.
if (x==100)
{
cout << “x adalah ”;
cout << x;
}
Bila menginginkan sesuatu dijalankan ketika kondisi tidak
terpenuhi, dapat ditambahkan keyword else.
Sintaknya adalah :
20 Aa Oon – Pemrograman Bahasa C++
if (kondisi)
pernyataan1;
else
pernyataan2;
Contoh :
if (x==100)
cout <<”x adalah 100”;
else
cout <<”x bukan 100”;
Pernyataan if…else… dapat terdiri dari beberapa else. Pada
contoh berikut, program akan memberikan jawaban terhadap
inputan data, apakah berupa nilai positif, negative atau nol :
if (x>0)
cout<<”positive”;
else if (x<0)
cout<<”negative”;
else
cout<<”x adalah 0”;
2. PERULANGAN (loops)
Sebuah atau beberapa pernyataan akan dijalankan secara
berulang-ulang, selama kondisi terpenuhi.
Perulangan dengan while
Sintaknya adalah :
while (kondisi) pernyataan;
pernyataan akan dijalankan selama ekspresi/kondisi bernilai
true.
Aa Oon – Pemrograman Bahasa C++ 21
Contoh :
//hitungan mundur menggunakan while
#include<iostream.h>
int main()
{
int n;
cout<<”Masukkan angka untuk mulai : ”;
cin>>n;
while (n>0)
{
cout << n << “, “;
--n;
}
cout <<”STOP!”;
return 0;
}
Di layar akan tampil :
Masukkan angka untuk mulai : 4
4, 3, 2, 1, STOP!
Algoritma untuk perulangan di atas adalah sebagai berikut :
1. User menginputkan sebuah nilai ke variable n.
2. Pernyataan while akan melakukan pengecekan apakah
(n>0) ?.
Dalam kondisi ini, terdapat 2 kemungkinan :
22 a. true : lakukan pernyataan (langkah 3)
b. false : lompati pernyataan (lanjutkan ke langkah 5..)
3. Lakukan perintah :
cout << n << “, “;
--n;
(cetak n ke layar, dan turunkan 1 nilai n)
Aa Oon – Pemrograman Bahasa C++
4. Akhiri blok. Kembali lagi ke langkah 2..
5. Lanjutkan program setelah blok while. Cetak STOP! Dan
akhiri program.
Perulangan dengan do…while
Sintaknya :
do pernyataan while (kondisi);
Konsep do…while mirip dengan while. Namun pernyataan
akan dijalankan terlebih dahulu sebelum pengecekan kondisi.
Untuk lebih jelasnya, perhatikan contoh berikut:
//sampai penekanan 0
#include<iostream.h>
int main()
{
unsigned long n;
do {
cout << “Masukkan nomor (tekan 0 untuk
mengakhiri) : “;
cin>>n;
cout<<”Anda memasukkan angka : ”
<<n<<”\n”;
} while (n!=0);
Akan tampil :
Masukkan nomor (tekan 0 untuk mengakhiri) : 67
Anda memasukkan angka : 67
Masukkan nomor (tekan 0 untuk mengakhiri) : 12
Anda memasukkan angka : 12
Masukkan nomor (tekan 0 untuk mengakhiri) : 0
Anda memasukkan angka : 0
Aa Oon – Pemrograman Bahas a C++ 23
Perulangan dengan for
Sintaknya :
for (inisialisasi; kondisi; counter) pernyataan;
Pernyataan akan diulangi jika kondisi bernilai true. Sama
seperti perulangan dengan while. Namun for menetapkan
inisialisasi dan penaikan berada dalam ( dan ).
Penjelasannya adalah sebagai berikut:
1) Inisialisasi: akan dieksekusi. Biasanya merupakan
variable yang akan dipakai sebagai counter atau
pencacah. Bagian ini akan dieksekusi hanya sekali.
2) Kondisi: akan diperiksa, jika bernilai true maka
perulangan akan dilanjutkan dan jika bernilai false
maka perulangan akan dilewati.
3) Pernyataan: akan dieksekusi. Biasanya dapat terdiri
dari sebuah instruksi atau blok instruksi yang berada
di antara { dan}.
4) Terakhir, apapun perintah dalam counter akan
dijalankan dan kemudian perulangan kembali lagi ke
langkah 2.
Contoh :
Aa Oon – Pemrograman Bahasa C++
Hasilnya adalah :
10, 9, 8, 7, 6, 5, 4, 3, 2, 1, STOP!
Inisialisasi dan Counter adalah optional atau dapat ditiadakan.
Namun tidak demikian dengan tanda semicolon (;). Misalnya
kita dapat menuliskan: for(;n<10;) jika tanpa inisialisasi dan
tanpa penaikan, atau for(;n<10;n++) jika tanpa inisialisasi
namun tetap menggunakan penaikan.
Nested Loops (Perulangan Bertumpuk)
Perulangan bertumpuk secara sederhana dapat diartikan : terdapat
satu atau lebih loop di dalam sebuah loop. Banyaknya tingkatan
perulangan, tergantung dari kebutuhan.
Penjelasan program:
Perulangan akan menghasilkan nilai sebagai berikut :
baris =1 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
Aa Oon – Pemrograman Bahasa C++ 25
ganti baris !
baris =2 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
baris =3 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
baris =4 ; kolom = 1; cetak 1
kolom = 2; cetak 2
kolom = 3; cetak 3
kolom = 4; cetak 4
kolom = 5 ; cetak 5
ganti baris !
selesai.
Dan di layar akan muncul hasil dengan bentuk matrik sebagai
berikut:
12345
12345
12345
12345
Tambahan :
• perintah break
break berfungsi untuk keluar dari loop, walaupun kondisinya
belum seluruhnya terpenuhi. Biasanya, perintah ini digunakan
untuk memaksa program keluar dari loop. Contoh berikut akan
26 berhenti menghitung sebelum terhenti secara normal.
Aa Oon – Pemrograman Bahasa C++
for (int n=10; n>0;n--)
{
cout<<n<<", ";
if (n==3)
{
cout<<"penghitungan dihentikan !";
break;
}
}
dan di layar akan tampak hasil sebagai berikut :
10, 9, 8, 7, 6, 5, 4, 3, penghitungan dihentikan !
• perintah continue
perintah ini akan melewati satu iterasi yang sesuai dengan syarat
tertentu, dan melanjutkan ke iterasi berikutnya.
Contoh:
for (int n=10; n>0;n--)
{
if (n==5) continue;
cout<<n<<", ";
}
cout<<"STOP !";
dan di layar akan muncul :
10, 9, 8, 7, 6, 4, 3, 2, 1, STOP !
Struktur Selektif dengan switch
Logika menggunakan switch sama dengan menggunakan perintah if
yang telah dijelaskan sebelumnya.
Sintaknya adalah :
Aa Oon – Pemrograman Bahas a C++ 27
switch (pilihan)
{
case nilai1 :
blok pernyataan 1;
break;
case nilai2 :
blok pernyataan 2;
break;
-
-
-
default :
blok pernyataan default;
}
Cara kerjanya:
1) switch akan mengevaluasi pilihan dan apabila isinya sama
dengan nilai1, maka blok pernyataan 1 akan dijalankan
sampai menemukan perintah break untuk kemudian keluar
dari blok switch.
2) Bila pilihan tidak sama isinya dengan nilai1, maka akan
dicocokkan lagi dengan nilai2. dan apabila isinya sama
dengan nilai2, maka blok pernyataan 2 akan dijalankan
sampai menemukan perintah break untuk kemudian keluar
dari blok switch.
3) Terakhir, apabila isi pilihan tidak sesuai dengan nilai1, nilai2
dan seterusnya maka secara otomatis yang dijalankan adalah
blok pernyataan default.
Aa Oon – Pemrograman Bahasa C++
contoh switch contoh if
switch (x) { if (x==1) {
case 1: cout<<”x adalah 1”;
cout<<”x adalah 1”; }
break; else if(x==2) {
case 2: cout<<”x adalah 2”;
cout<<”x adalah 2”;
}
break;
default: else {
cout<<”tidak teridentifikasi”; cout<<”tidak
} teridentifikasi”;
}
Sedangkan untuk program yang memiliki beberapa nilai pilihan,
maka dapat ditulis seperti contoh berikut:
switch (x) {
case 1:
case 2:
case 3:
cout<<”x = 1, 2 atau 3”;
break;
default:
cout<<”x tidak sama dengan 1, 2 atau 3 ”;
}
Aa Oon – Pemrograman Bahas a C++ 29
30 Aa Oon – Pemrograman Bahasa C++
MODUL 4
FUNGSI (1)
Dengan mempergunakan fungsi, maka struktur program akan terlihat
lebih ramping. Fungsi merupakan sebuah blok instruksi yang
dieksekusi dan dipanggil dari bagian lain tubuh program.
Format penulisannya adalah sebagai berikut:
Dimana:
tipe :berisi tipe data yang akan dikembalikan oleh fungsi
nama :merupakan pengenal untuk memanggil fungsi
Aa Oon – Pemrograman Bahas a C++ 31
argumen : (dapat dideklarasikan sesuai dengan
kebutuhan). Tiap-tiap argument terdiri dari
tipe-tipe data yang diikuti oleh pengenalnya.
Sama seperti mendeklarasikan variable baru
(contoh, int x).
pernyataan : merupakan bagian tubuh fungsi. Dapat berupa
pernyataan tunggal ataupun pernyataan
majemuk.
Contoh penggunaan fungsi:
//contoh fungsi
#include <iostream.h>
#include <conio.h>
int penjumlahan(int a, int b)
{
int r;
r=a+b;
return (r);
}
int main()
{
int z;
32 z=penjumlahan(5,3);
cout<<"Hasil penjumlahan = " << z;
return 0;
}
Hasil eksekusinya adalah :
Hasil penjumlahan = 8
Aa Oon – Pemrograman Bahasa C++
Ketika program dieksekusi, yang dijalankan pertama kali adalah
fingsi main(). Terlihat jelas bahwa dalam main() terdapat variable z
dengan tipe data integer. Setelah itu, fungsi penjumlahan dipanggil.
Maka akan terdapat proses pertukaran data sebagai berikut:
int penjumlahan(int a, int b)
z = penjumlahan ( 5 , 3 );
maka setelah terjadi pengisian nilai, variable a akan terisi dengan
nilai 5 dan
variable b akan terisi dengan nilai 3.
Fungsi penjumlahan mendeklarasikan sebuah variable baru lagi (int
r;) dan
kemudian menjumlahkan nilai r=a+b; dengan hasil akhir variable r =
8. Karena masing-masing variable a dan b sudah terisi dengan nilai 5
dan 3.
Kode :
return (r);
merupakan pengakhir fungsi penjumlahan dan memberikan hasil
akhir nilai r kepada fungsi yang memanggilnya (dalam hal ini fungsi
main()). Proses pengembalian nilai dapat digambarkan sebagai
berikut:
int penjumlahan(int a, int b)
8
z = penjumlahan ( 5 , 3 );
maka ketika perintah cout<<"Hasil penjumlahan = " << z;
dijalankan, hasilnya adalah 8.
Scope (Batasan) Variabel
Aa Oon – Pemrograman Bahas a C++ 33
Variabel yang dideklarasikan di dalam tubuh fungsi, hanya dapat
diakses oleh
fungsi itu. Dan tidak dapat dipergunakan di luar fungsi.
Contoh:
Pada program sebelumnya, variable a dan b atau r tidak dapat
digunakan dalam fungsi main(), sebab variable tersebut merupakan
variable lokal dalam fungsi penjumlahan.
Selain variable lokal, terdapat pula variable global yang dapat
diakses dari mana saja.
Dari dalam maupun luar tubuh fungsi. Untuk mendeklarasikan
variable global, harus dituliskan di luar fungsi atau blok instruksi.
Contoh lain fungsi:
#include<iostream.h>
#include<conio.h>
int kurang(int a, int b)
{
int r;
r=a-b;
return (r);
}
int main()
{
int x= 5, y=3, z;
z=kurang(7,2);
cout<<"Pertama : " << z<<endl;
cout<<"Kedua : " << kurang(7,2)<<endl;
cout<<"Ketiga : " << kurang (x,y) <<endl;
34 Aa Oon – Pemrograman Bahasa C++
z=4+kurang(x,y);
cout<<"Keempat : "<<z<<endl;
return 0;
}
Hasilnya adalah :
Pertama : 5
Kedua : 5
Ketiga : 2
Keempat : 6
Dalam program di atas, terdapat sebuah fungsi yang dinamakan
kurang. Fungsi ini mengerjakan tugas untuk mengurangkan nilai
dua buah variable dan kemudian mengembalikan hasilnya.
Sedangkan di dalam fungsi main(), terdapat beberapa kali
pemanggilan terhadap fungsi kurang. Disana terdapat dengan jelas
perbedaan cara pengaksesan dan pengaruh terhadap hasilnya.
Untuk lebih memperjelas, beberapa sintak akan dijelaskan secara
rinci sebagai berikut:
z=kurang(7,2);
cout<<"Pertama : " << z<<endl;
Jika diganti dengan hasil (sesuai dengan pemanggilan fungsinya),
maka akan
didapatkan baris:
z=5;
cout<<"Pertama : " << z<<endl;
sama seperti baris:
cout<<"Kedua : " << kurang(7,2)<<endl;
jika sesuai dengan pemanggilan fungsinya, maka akan didapatkan:
cout<<"Kedua : " << kurang(7,2)<<endl;
Aa Oon – Pemrograman Bahasa C++ 35
sedangkan untuk:
cout<<"Ketiga : " << kurang (x,y) <<endl;
maka isi dari variabel x=5 dan y=3, sehingga dapat diartikan
sebagai baris:
cout<<"Ketiga : " << kurang (5,3) <<endl;
demikian juga halnya dengan baris:
z=4+kurang(x,y);
dapat diartikan dengan baris:
z=4+kurang(5,3);
Pendeklarasian fungsi tanpa tipe (menggunakan void)
Kadang-kadang terdapat fungsi yang tanpa memerlukan adanya
pengembalian nilai. Misalkan, sebuah fungsi yang hanya bertugas
mencetak kalimat ke layar monitor dan tanpa memerlukan adanya
pertukaran parameter. Dalam kondisi seperti ini, maka
dipergunakan kata kunci void.
Contoh program:
#include<iostream.h>
#include<conio.h>
void Ucapan(void)
{
cout<<"Selamat Belajar C++";
}
int main()
{
Ucapan();
return 0;
}
36
Yang harus diperhatikan adalah, pemanggilan fungsi harus
disertai dengan tanda(). Seperti contoh di atas, fungsi Ucapan
walaupun didekarasikan tanpa tipe data dan tanpa argumen,
dipanggil dalam fungsi main dengan Ucapan().
Aa Oon – Pemrograman Bahasa C++
MODUL 5
FUNGSI (2)
Cara pelewatan argumen adalah :
int x= 5, y=3, z;
z=kurang(x,y);
Pada penggalan di atas, terjadi pemanggilan terhadap fungsi kurang()
dengan x dan y masing-masing bernilai 5 dan 3.
Aa Oon – Pemrograman Bahasa C++ 37
int kurang(int a, int b);
z = kurang( x , y);
Dengan pemanggilan tersebut, maka pengisian nilai terhadap
variabel a dan b
dilakukan oleh variabel x dan y yaitu a=5 dan b=3. Ketika terjadi
pengisian nilai seperti ini, maka nilai x dan y tidak akan
mengalami perubahan apapun.
Namun, kadangkala diinginkan sebuah pertukaran nilai yang
mempengaruhi nilai variabel pemberinya. Untuk melakukannya,
diperlukan sebuah fungsi dengan pertukaran nilai secara acuan
(argumen passed by value), seperti contoh berikut:
#include<iostream.h>
#include<conio.h>
void kali (int& a, int& b, int& c)
{
a *= 2;
b *= 2;
c *= 2;
}
int main()
{
int x=1, y=3, z=7;
kali(x,y,z);
cout<< “x= ”<<x<<”, y= “<<y<<”, z= “<<z;
return 0;
}
Hasilnya adalah : x=2, y=6, z=14
Yang berbeda adalah cara pertukaran argumen menggunakan
tanda ampersand (&), yang artinya fungsi melayani pengisian
38 berdasarkan acuan (reference).
Aa Oon – Pemrograman Bahasa C++
void kali (int& a, int& b, int& c)
x y z
kali ( x, y, z );
dengan pengisian nilai seperti ini, maka apabila terjadi perubahan
nilai pada
variable a, b dan c maka akan mempengaruhi nilai variable x, y dan
z.
Nilai default dalam argument
Ketika mendeklarasikan fungsi, maka tiap-tiap parameter yang
dideklarasikan
dapat diberikan sebuah nilai default. Nilai default ini akan
dipergunakan bila
dalam pemanggilan fungsi, tidak diberikan nilai kepada parameter.
Contoh:
#include<iostream.h>
#include<conio.h>
void bagi (int a, int b=2)
{
int r;
r=a/b;
return (r);
}
int main()
{
cout<<bagi(12);
cout<<endl;
cout<<bagi(20,4);
return 0;
}
Aa Oon – Pemrograman Bahas a C++ 39
Hasilnya : 6
5
Dalam program di atas, terdapat dua kali pemanggilan terhadap
fungsi bagi(),
bagi(12),hanya memberikan sebuah nilai kepada fungsi bagi(),
sedangkan dalam pendeklarasian fungsinya, bagi() memerlukan 2
buah parameter. Maka variable b akan otomatis bernilai 2 sesuai
dengan nilai defaultnya. Sedangkan pada pemanggilan yang
kedua,bagi(20,4), Variabel a dan b masing-masing diberikan nilai
20 dan 4. Untuk nilai default, dalam hal ini akan diabaikan.
Fungsi Rekursif
Fungsi rekursif adalah suatu fungsi yang memanggil dirinya
sendiri, artinya fungsi tersebut dipanggil di dalam tubuh fungsi itu
sendiri. Fungsi rekursif sangat berguna bila diimplementasikan
untuk pekerjaan pengurutan data, atau menghitung nilai factorial
suatu bilangan. Misalnya:
#include<iostream.h>
#include<conio.h>
long factorial (long a)
{
if (a>1)
return (a* factorial (a-1));
else
return (1);
}
int main()
{
long l;
cout<<”tuliskan bilangan : ”;
cin>>l;
cout<<”!”<<l<<” = “<<factorial(l);
40 return 0;
}
Aa Oon – Pemrograman Bahasa C++
Hasil :
Tuliskan bilangan : 9
!9 = 362880
Prototype Fungsi
Sampai saat ini, setiap dideklarasikan sebuah fungsi baru diletakkan
di atas fungsi main(). Namun terdapat pula alternative lain dalam
pendeklarasian fungsi baru, yaitu dideklarasikan di bawah fungsi
main() dengan menggunakan prototype fungsi.
Bagi compiler, informasi dalam prototype akan dipakai untuk
memeriksa validitas parameter dalam pemanggilan fungsi.
Keuntungan pemakaian prototype yaitu compiler akan melakukan
konversi seandainya antara tipe parameter dalam definisi dan
parameter saat pemanggilan fungsi tidak sama, atau akan
menunjukkan kesalahan kalau jumlah parameter dalam definisi dan
saat pemanggilan berbeda.
Sintak prototype:
tipe nama (argumen1, argumen2,…);
sama seperti pendeklarasian judul fungsi, kecuali:
1) tidak memiliki baris pernyataan (tubuh fungsi) yang ditandai
dengan { dan }.
2) diakhiri dengan tanda ;
3) dalam pendeklarasian argumennya, cukup hanya dengan
mendeklarasikan tipe datanya saja. Walaupun sangat
dianjurkan untuk menyertakan argumen secara lengkap.
Aa Oon – Pemrograman Bahasa C++ 41
Contoh:
#include<iostream.h>
#include<conio.h>
void bagi (int a, int b);
int main()
{
cout<<bagi(20,4);
return 0;
}
void bagi (int a, int b)
{
int r;
r=a/b;
return (r);
}
untuk pendeklarasian prototype fungsi dapat berbentuk seperti
berikut:
void bagi (int a, int b);
atau
void bagi (int , int );
42 Aa Oon – Pemrograman Bahasa C++
MODUL 6
LARIK (ARRAY)
Pada program yang dibahas terdahulu, banyak menggunakan
variabeltunggal, artinya sebuah variabel hanya digunakan untuk
menyimpan satu nilai. Array atau yang juga biasa disebut array
merupakan koleksi data dimana setiap elemen memakai nama yang
sama dan bertipe sama dan setiap elemen diakses dengan
membedakan indeks array-nya.
Misal, sebuah array bernama nil yang terdiri dari 5 data dengan tipe
int, dapat digambarkan sebagai berikut:
0 1 2 3 4
Nil
int
Aa Oon – Pemrograman Bahas a C++ 43
Tiap ruang kosong merupakan tempat untuk masing-masing elemen
array bertipe integer. Penomorannya berawal dari 0 sampai 4, sebab
dalam array index pertama selalu dimulai dengan 0.
Deklarasi array
Sama seperti variabel, array harus dideklarasikan dulu sebelum
mulai digunakan. Sintaknya adalah:
tipe nama[elemen];
Contoh, untuk pendeklarasian array dengan nama nil di atas adalah:
int nil[5];
Inisialisasi Array
Nilai suatu variabel array dapat juga diinisialisasi secara langsung
pada saat
deklarasi, misalnya:
int nil[5] = { 1,3,6,12,24 }
Maka di penyimpanan ke dalam array dapat digambarkan sebagai
berikut:
0 1 2 3 4
nil 1 3 6 12 24
Mengakses nilai array
Untuk mengakses nilai yang terdapat dalam array, mempergunakan
sintak:
nama[index];
Pada contoh di atas, variabel nil memiliki 5 buah elemen yang
masing-masing
berisi data. Pengaksesan tiap-tiap elemen data adalah:
44 Aa Oon – Pemrograman Bahasa C++
nil[0] nil[1] nil[2] nil[3] nil[4]
nil
Misal, untuk memberikan nilai 75 pada elemen ke 3, maka
pernyataannya adalah:
nil[2] = 75;
atau jika akan memberikan nilai array kepada sebuah variabel a,
dapat ditulis:
a=nil[2];
contoh program:
0 1 2 //contoh array
0 2 4 1
1 5 3 7
#include<iostream.h>
#include<conio.h>
int nil[] = {16, 2, 77, 40};
int n, hasil = 0;
int main()
{
for (n=0; n<5;n++)
{
hasil += nil[n];
}
cout<<hasil;
return 0;
}
Array Dua Dimensi
Struktur array yang dibahas di atas, mempunyai satu dimensi,
sehingga variabelnya disebut dengan variabel array berdimensi satu.
Aa Oon – Pemrograman Bahas a C++ 45
Pada bagian ini, ditunjukkan array berdimensi lebih dari satu, yang
sering disebut dengan array berdimensi dua.
Sebagai contoh, sebuah matrik B berukuran 2 x 3 dapat
dideklarasikan sebagai berikut:
Int b[2][3] = {{2,4,1},{5,3,7}};
yang akan menempati lokasi memori dengan susunan sebagai
berikut:
Contoh program dengan array dua dimensi
//contoh array dua dimensi
#include<iostream.h>
#include<conio.h>
void main()
{
int matrik[2][3] = {{1,2,3},{4,5,6}}
for (i = 0; i<=2; i++)
{
for (j=0;j<=3;j++)
{
cout<<matrik[i,j];
}
cout<<endl;
}
}
46 Aa Oon – Pemrograman Bahasa C++
MODUL 7
String
Dalam pemrograman C++, karena string merupakan kumpulan dari
karakter maka untuk inisialisasi string, dapat dilakukan dengan cara
sebagai berikut:
char namaku[20] ;
maka dari pernyataan di atas, dapat digambarkan sebagai deklarasi
sebuah variabel string (array dari karakter) dengan panjang hingga
20 karakter, termasuk diakhiri dengan karakter null.
0 .. .. .. .. .. .. .. 19
namaku
Aa Oon – Pemrograman Bahas a C++ 47
Ukuran maksimum 20 karakter untuk pernyataan di atas, dalam
pengisiannya
tidak harus penuh.
Contoh, variabel namaku, dapat diisi dengan string “Rachmat” yang
panjangnya 7 karakter , atau dapat digantikan dengan string “Johny”
yang memiliki panjang 5 karakter.
Dari contoh tersebut, suatu string dapat menyimpan karakter kurang
dari panjang totalnya. Dan untuk mengakhiri string, di tiap-tiap akhir
akan ditambahkan sebuah karakter null yang dapat ditulis sebagai
karakter konstan 0 atau ‘\0’.
Contoh berikut akan memberikan string “Rachmat” dan “Johny”
pada variabel
namaku.
Namaku
m 0
Inisialisasi String
Untuk inisialisasi string (pemberian nilai kepada variabel string),
dapat dilakukan dengan beberapa cara :
char namaku[20] = {‘R’,’a’,’c’,’h’,’m’,’a’,’t’,’\0’};
atau
char namaku[20];
namaku[0] = ‘R’;
namaku[1] = ’a’;
namaku[2] = ’c’;
namaku[3] = ’h’;
namaku[4] = ’m’;
namaku[5] = ’a’;
namaku[6] = ’t’;
namaku[7] = ’\0’;
48 Aa Oon – Pemrograman Bahasa C++
atau
char namaku[20] = “Rachmat”;
Perbedaannya, disini adalah pada tanda (‘) yang berarti
menginputkan nilai berupa karakter ke dalam variabel string
sedangkan tanda (“) berarti menginputkan sebuah nilai string ke
dalam variabel string.
Fungsi – fungsi untuk manipulasi string:
Salah satu fungsi yang paling sering digunakan adalah strcpy, yaitu
fungsi untuk mengkopi isi suatu nilai string ke dalam variabel string
lainnya. Fungsi strcpy (string copy) didefinisikan dalam library
cstring(file header string.h) dan dipanggil dengan cara:
strcpy(string1, string2);
Contoh program
// penggunaan strcpy
#include<iostream.h>
#include<conio.h>
int main()
{
char namaku[20];
strcpy(namaku,”Ayu”);
cout<<namaku;
return 0;
}
Hasil outputnya adalah:
Ayu
Untuk memberikan nilai kepada sebuah variabel string, biasanya
digunakan
Aa Oon – Pemrograman Bahasa C++ 49
perintah input stream (cin) dan diikuti oleh metode getline.
Contoh penggunaannya:
// penggunaan cin untuk input string
#include<iostream.h>
int main()
{
char namaku[20];
cout<<”Inputkan data nama : ”;
cin.getline(namaku,20);
cout<<”Nama anda adalah : ”;
cout<<namaku;
return 0;
}
Hasil outputnya adalah
Inputkan data nama : Ayu
Nama anda adalah : Ayu
50 Aa Oon – Pemrograman Bahasa C++
MODUL 8
Pointer
Setiap kali komputer menyimpan data, maka sistem operasi akan
mengorganisasikan lokasi pada memori pada alamat yang unik.
Misal untuk alamat memori 1776, hanya sebuah lokasi yang
memiliki alamat tersebut. Dan alamat 1776 pasti terletak antara
1775 dan 1777.
Dalam pointer, terdapat 2 jenis operator yang biasa digunakan.
Aa Oon – Pemrograman Bahasa C++ 51
Dalam C++, untuk mengetahui alamat tempat penyimpanan
data, dapat digunakan tanda ampersand(&) yang dapat
diartikan “alamat”.
Contoh :
Bil1 = &Bil2;
dibaca: isi variabel bil1 sama dengan alamat bil2
Contoh : Bil1=*Bil2;
dibaca: bil1 sama dengan nilai yang ditunjuk oleh bil2
Deklarasi variabel pointer
tipe * nama_pointer;
tipe merupakan tipe data yang akan ditunjuk oleh variabel, bukan
tipe data dari pointer tersebut.
Contoh program menggunakan pointer
// program pointer
#include <iostream.h>
int main()
{
int nil1 = 5, nil2 = 15;
int *ptr;
ptr = &nil1;
52 *ptr = 10;
ptr=&nil2;
*ptr=20
cout<<”Nilai 1 = ”<<nil1<<”dan nilai 2 = “<<nil2;
return 0;
}
Aa Oon – Pemrograman Bahasa C++
Hasil :
Nilai 1 = 10 dan nilai 2 = 20
Aa Oon – Pemrograman Bahasa C++ 53
d Luc k. . .
. . . g oo
54 Aa Oon – Pemrograman Bahas a C++
Aa Oon – Pemrograman Bahasa C++ 55
56 – Pemrograman Bahasa C++