C++ Dianggap sebagai bahasa pemrograman masa depan. Oleh karena itu,
mempelajari C++ di saat sekarang bernilai investasi. Sekarang sudah banyak
program/aplikasi yang dibuat dengan menggunakan bahasa pemrograman C++
mulai dari aplikasi windows, sistem operasi, game bahkan C++ sudah banyak
digunakan juga untuk peralatan-peralatan sistem tertanam atau mikrokontroler
misalnya robot.
Ebook ini membahas dasar-dasar pemrograman C++ dengan menggunakan IDE
Code::Blocks. Ebook ini dikhususkan bagi para mahasiswa-mahasiswiku untuk
dijadikan HandOut/Modul/Pegangan materi yang baru mempelajari bahasa
pemrograman untuk pertama kali. Namun ketika anda ingin mempelajari bahasa
pemrograman C++ adalah anda terlebih dahulu mengetahui matakuliah
Algoritma.
Penulis memahami bahwa pembuatan ebook ini masih jauh dari kesan
sempurna karena ilmu dan sumber-sumber yang penulis miliki dan peroleh
masih relatif sedikit, sehingga apabila pembaca menemukan kesalahan atau
kekeliruan pada penulisan ataupun penjelasan materi dalam ebook ini, pembaca
dapat mengirimkan pemberitahuan kesalahan tersebut ke alamat email ke :
danandj@gmail.com agar penulis dapat merevisi kesalahan ataupun kekeliruan
tersebut.
Akhir kata, penulis ucapkan beribu terima kasih kepada pihak-pihak yang telah
membantu terselesaikannya ebook ini. Penulis berharap ebook ini dapat
berguna bagi para pembaca. Selamat Belajar, semoga ilmu anda bermanfaat
bagi anda dan lingkungan anda.
Salam.
Danandjaya Saputra
BAB 1
1.1 PENGENALAN PEMROGRAMAN
Pemrograman adalah proses menulis, menguji, memperbaiki serta memelihara kode yang
membangun atau menghasilkan suatu program komputer. Perhatikan gambar dibawah ini :
Gambar diatas menunjukan bahwa proses dalam pemrograman terdiri dari 4, yaitu :
1. Menulis, yaitu mengetik kode program di komputer menggunakan software IDE
(Integrated Development Environment). Contoh IDE : CodeBlocks, DevC++, Visual Studio)
2. Menguji, yaitu setelah kode program di ketik atau di run, kode program tersebut harus di
cek apakah ada error atau tidak
3. Memperbaiki, yaitu jika ada error atau bugs dalam kode program setelah diuji maka harus
di perbaiki.
4. Memelihara, yaitu jika program sudah berhasil di jalankan dan digunakan oleh pengguna,
ada baiknya kita lakukan pemeliharaan/perawatan supaya program dapat berjalan terus
untuk di gunakan oleh pengguna .
Bjarne Stroustrup
(ilmuwan komputer dan profesor di bidang ilmu komputer di Texas A&M University)
Berbagai macam free Compiler tersedia di sana, mulai dari GNU GCC Compiler, Cygwin
Compiler, Borland C++ Compiler, sampai dengan compiler untuk mikrokontroller seperti GNU
Compiler for AVR, ARM, MSP430, PowerPC, Keil C51 Compiler, IAR 8051 compiler, IAR ARM
compiler, dan masih banyak lagi.
Code::Blocks ini bersifat multi-platform atau cross-platform, artinya dapat diinstal di berbagai
Sistem Operasi seperti Windows, Linux dan MacOS tanpa kehilangan fitur-fitur utamanya.
Semuanya akan sama persis di setiap sistem operasi tempat instalannya.
Keuntungan menggunakan IDE ini selain karena opensource adalah ukuran installer dan
aplikasinya yang ringan, output aplikasinya yang sangat lightweight (sekitar 30kb), code editor
Sedangkan template program/aplikasi yang dapat Anda buat dengan Code::Blocks adalah
sebagai berikut : (console application, Win32 GUI application, ARM Project, AVR Project,
Direct X project, Fortran application, Matlab project, OpenCV project, QT4 project, dan masih
banyak yang lainnya.
6. Kemudian akan muncul tampilan instalasi seperti dibawah ini, klik tombol
Next
7. Pilih I Agree
2. Double klik shortcut Code:Blocks tersebut (lingkaran warna kuning), setelah itu akan
tampil layar splash seperti dibawah ini.
5. Kemudian pada tampilan dibawah ini, silahkan isi Project Title dan Folder to Create
Project in nya, setelah di isi klik tombol Next
Pilih lokasi
folder tempat
penyimpanan
projectnya di
komputer anda
9. Setelah di klik akan muncul kode programmnya, seperti gambar dibawah ini
int main()
{
Isi Kode Program
Bodi Kode Program cout << "Hello world!" << endl;
return 0; Akhir Kode Program
}
Note :
Setiap 1 perintah dalam 1 baris isi kode
program, harus di akhiri dengan ; (titik koma)
Iostream sendiri dibutuhkan untuk melakukan kegiatan input dan output didalam bahasa
pemrograman C++. Perintah cout dan cin berada didalam library iostream, sehingga tanpa
mencantumkan header tersebut kode program yang dibuat tidak akan bisa di compile atau
run.
Contoh Program 3.2 (Program menampilkan jurusan di STTI Tanjungpinang)
Praktikan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std;
int main()
{
cout << "STTI TANJUNGPINANG" << endl;
cout << "Memiliki Program Studi : " << endl;
cout << "1. TEKNIK INFORMATIKA" << endl;
cout << "2. SISTEM INFORMASI" << endl;
cout << "3. KOMPUTER AKUNTANSI" << endl;
return 0;
}
LATIHAN
1. Buatlah program untuk menampilkan biodata anda, yang terdiri dari :
a. NIM
b. NAMA
c. PROGRAM STUDI
d. ALAMAT
e. NO. TELEPON
f. TEMPAT LAHIR
g. ASAL SEKOLAH
h. HOBI
2. Buatlah program untuk menampilkan NIM anda dengan menggunakan symbol #
Ingat !!! Setiap pendeklarasian variabel selalu berpasangan dengan tipe data.
Note :
cin digunakan agar variabel di dalam program dapat menerima/menyimpan inputan user atau
keyboard.
Contoh Program 4.3 (Cara menggunakan tipe data int)
Praktikan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std;
int main()
{
int umur;
cout << "Masukan umur anda sekarang : "; cin>>umur;
cout << "Umur anda : " << umur;
return 0;
}
int main()
{
int a;
a=10;
b. Variabel Global, yaitu variabel yang di deklarasikan sebelum int main() atau sebelum bodi
kode program. Variabel global dapat digunakan di seluruh bagian program.
#include <iostream>
using namespace std;
int a;
int main()
{
a=10;
cout << "Nilai A : " << a;
return 0;
}
c. Variabel Statis, yaitu variabel yang nilainya tidak bisa di rubah selama program running.
#include <iostream>
using namespace std;
int main()
{
int a;
a=10;
cout << "Nilai A : " << a;
return 0;
}
d. Variabel Dinamis, yaitu variabel yang nilainya dapat diubah-ubah sesuai inputan
user/pengguna.
#include <iostream>
using namespace std;
int main()
{
int A;
4.1.4 KONSTANTA
Konstanta merupakan variabel yang nilainya bersifat tetap/konstan (tidak dapat diubah –
ubah lagi). Konstanta digunakan untuk nilai-nilai yang berupa tetapan seperti pada saat akan
menghitung luas lingkaran membutuhkan nilai π yaitu 3.14 ataupun 22/7.
Terdapat dua cara penulisan konstanta yaitu dengan cara :
1. Menggunakan #define
#include <iostream>
using namespace std;
int main()
{
cout << "Nilai phi : " << phi;
return 0;
}
2. Menggunakan const
#include <iostream>
using namespace std;
int main()
{
cout << "Nilai phi : " << phi;
return 0;
}
int main()
{
int a;
a=10;
cout << "Nilai A : " << a;
return 0;
}
2. Operator Unary, merupakan operator yang hanya melibatkan sebuah operand saja.
Beberapa jenis operator unary :
Operator Jenis Operasi Example
++ Increment / Penaikan A=0;
A++;
Hasilnya 1
-- Decrement / Penurunan A=0;
A--;
Hasilnya -1
5. Operator Logika, merupakan operator yang digunakan untuk melakukan operasi yang
menghasilkan suatu nilai TRUE atau FALSE (disebut sebagai nilai Boolean). Yang termasuk
kedalam operator logika adalah sbb :
Operator Jenis Operasi Example
&& AND 1 && 1 = true
|| OR 1 || 0 = true
! NOT !1 = false
int main()
{
int luas, panjang, lebar;
cout << "Masukan panjang = "; cin >> panjang;
cout << "Masukan lebar = "; cin >> lebar;
int main()
{
float luas, r;
cout << "Masukan jari-jari lingkaran = "; cin>>r;
luas = phi * r * r;
cout << "Luas Lingkaran = " << luas;
return 0;
}
int main()
{
int a, b, c;
cout << "Masukan nilai A = "; cin>>a;
cout << "Masukan nilai B = "; cin>>b;
c=a+b;
cout << "Hasil penjumlahan A dan B = " << c << endl;
c=a-b;
cout << "Hasil pengurangan A dan B = " << c << endl;
c=a*b;
cout << "Hasil perkalian A dan B = " << c << endl;
c=a/b;
cout << "Hasil pembagian A dan B = " << c << endl;
c=a>b;
cout << "Hasil perbandingan A > B = " << c << endl;
c=a<b;
cout << "Hasil perbandingan A < B = " << c << endl;
c=a>=b;
cout << "Hasil perbandingan A >= B = " << c << endl;
c=a<=b;
cout << "Hasil perbandingan A <= B = " << c << endl;
c=a==b;
cout << "Hasil perbandingan A == B = " << c << endl;
c=a!=b;
cout << "Hasil perbandingan A != B = " << c << endl;
return 0;
}
int main()
{
float hasil_bbi, tinggi_badan;
cout<<"Masukan tinggi badan anda : "; cin>>tinggi_badan;
hasil_bbi = (tinggi_badan-100)-((tinggi_badan-100)*0.1);
cout<<"Maka berat badan ideal anda : "<<hasil_bbi<<" KG"<<endl;
return 0;
}
LATIHAN
1. Sebuah Supermarket “ BIG DISC“ menjual barang-barang keperluan sehari-hari. Semua
barang yang dibeli akan dikenakan pajak sebesar 10% dari total belanja. Dalam bulan ini
terdapat pemberian discout sebesar 20% kepada pembeli untuk setiap pembelanjaan
yang mereka lakukan. Hitung Total Bayar untuk setiap pembelanjaan yang dilakukan oleh
pembeli!
2. Buatlah program untuk menghitung Nilai Akhir Mahasiswa dengan ketentuan sbb :
ABSENSI = 20 %
TUGAS = 25 %
NA = (20%*ABSENSI) + (25%*TUGAS) + (20%*UTS) +(35%*UAS)
UTS = 20 %
UAS = 35 %
6.2 PERCABANGAN IF
Percabangan if hanya digunakan untuk 1 kondisi saja, jika kondisinya bernilai benar maka
pernyataan didalam blok kode programnya akan di eksekusi, jika salah pernyataan akan
dilewatkan.
Benar IF Salah
KONDISI
Pernyataan
int main()
{
int jumlah_barang;
if(jumlah_barang>10)
{
cout << "Maaf, Jumlah melebihi 10 \n";
}
Benar IF Salah
KONDISI
Pernyataan 1 Pernyataan 2
int main()
{
int password;
if(password==12345)
{
cout << "Password anda benar \n";
}
else
{
cout << "Password anda salah \n";
}
return 0;
}
Benar IF Salah
KONDISI 1
Pernyataan 2 Pernyataan 3
int main()
{
int bil;
if(bil > 0)
{
cout<<"Angka Positif"<<endl;
}
else if (bil < 0)
{
cout<<"Angka Negatif";
}
else
{
cout<<"Bukan Angka Positif dan Negatif"<<endl;
}
return 0;
}
Benar IF Salah
KONDISI 1
Benar IF Salah
KONDISI 2
int main()
{
string username;
int password;
cout<<"Masukan username : "; cin>>username;
cout<<"Masukan password : "; cin>>password;
if(username=="admin")
{
if(password==12345)
{
cout<<"Berhasil login" << endl;
}
else
{
cout<<"Password anda salah" << endl;
}
}
return 0;
}
int main()
{
int AngkaHari;
switch (AngkaHari)
{
case 1 : cout<<"Angka Hari 1 merupakan hari SENIN";
break;
case 2 : cout<<"Angka Hari 2 merupakan hari SELASA";
break;
case 3 : cout<<"Angka Hari 3 merupakan hari RABU";
break;
case 4 : cout<<"Angka Hari 4 merupakan hari KAMIS";
break;
case 5 : cout<<"Angka Hari 5 merupakan hari JUMAT";
break;
case 6 : cout<<"Angka Hari 6 merupakan hari SABTU";
break;
case 7 : cout<<"Angka Hari 7 merupakan hari MINGGU";
break;
default : cout<<"Angka Hari yang anda masukan tidak ditemukan";
break;
}
cout<<endl;
return 0;
}
int main()
{
char pil;
cout<<"Pilih Kode Paket berdasarkan pilihan berikut :"<<endl;
cout<<"A : Ayam + Nasi + Salad + Coca-Cola "<<endl;
cout<<"B : Ayam + Nasi + Coca-Cola "<<endl;
cout<<"C : Ayam + Nasi + Frestea "<<endl;
cout<<"Input Pilihan Paket [A/B/C] :"; cin>>pil;
switch (pil)
{
case 'A' :
cout<<"Anda Memilih Paket A : Ayam + Nasi + Salad + Coca-Cola"<<endl;
cout<<"Harga Paket A adalah : Rp. 25.000,-";
break;
case 'B' :
cout<<"Anda Memilih Paket B : Ayam + Nasi + Coca-Cola"<<endl;
cout<<"Harga Paket B adalah : Rp. 20.000,-";
break;
case 'C' :
cout<<"Anda Memilih Paket C : Ayam + Nasi + Frestea"<<endl;
cout<<"Harga Paket C adalah : Rp. 18.000,-";
break;
default :
cout<<"PILIHAN TIDAK ADA";
break;
}
cout<<endl;
return 0;
}
2. Buatlah sebuah program untuk menentukan nilai huruf berdasarkan ketentuan berikut :
3. Buatlah sebuah program untuk menentukan total bayar berdasarkan ketentuan berikut
ini :
a. Terdapat beberapa kategori barang yang dijual dan memperoleh discount, yaitu :
Baju, terdiri dari :
• Baju lengan pendek dengan harga Rp. 80.000,-
• Baju lengan panjang dengan harga Rp. 100.000,-
Jika jumlah pembelian ≥ 5 maka diberikan discount 20 %
Celana, terdiri dari :
• Celana pendek - harga Rp. 75.000,-
• Celana panjang - harga Rp. 150.000,-
Jika jumlah pembelian ≥ 5 maka diberikan discount 15 %
b. Tiap total belanja akan dikenakan pajak sebesar 10%
Keterangan :
Ekspresi1 disebut dengan Inisialisasi nilai awal yang diberikan kepada suatu variabel untuk
digunakan sebagai pembanding dalam ekspresi2/kondisi.
Ekspresi2 disebut dengan kondisi, jika kondisi bernilai true, maka pernyataan didalam blok
kode program for akan di eksekusi.
Ekspresi3 disebut dengan pengatur kenaikan nilai awal atau variabel yang akan merubah nilai
variabel pada inisialisasi nilai awal, dengan tujuan agar kondisinya tidak selamanya trus
sehingga proses looping bisa berakhir.
Contoh Program 7.1 (Cara menggunakan for, menampilkan angka menaik)
Praktekan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std; Hasil Output Program :
1
2
int main() 3
4
{ 5
int i;
for(i=1;i<=5;i++)
int main()
{
int i;
for(i=1;i<=100;i++)
{
cout<< i << " SAYA TIDAK ADA MENGULANGINYA LAGI" << endl;
}
return 0;
}
while(kondisi)
{
Pernyataan yang akan diulang;
}
int i;
i=1;
while(i<=5)
{
cout<<i<<endl;
i= i+1;
}
return 0;
}
int main()
Contoh Program 7.6 (Cara menggunakan while utk berhenti di dalam proses
pengulangan)
Praktekan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std;
Hasil Output Program :
int main() 1
2
{ 3
int i;
i=1;
while(i<=5)
{
cout<<i<<endl;
if(i==3){
break;
}
i= i+1;
}
return 0;
}
int main()
do
{
Pernyataan yang akan diulang;
} while(kondisi);
int main()
{
char konfirmasi;
do
{
cout<<"SELAMAT DATANG DI STTI TANJUNGPINANG"<<endl;
cout<<"Apakah anda ingin mencetak lagi (tekan y/n) :"; cin>>konfirmasi;
}while(konfirmasi=='y');
cout<<"===ANDA TELAH KELUAR, TERIMA KASIH==="<<endl;
return 0;
}
for(ekspresi1;ekspresi2;ekspresi3)
{
for(ekspresi1;ekspresi2;ekspresi3)
{
Pernyataan yang akan diulang;
}
}
Note : Didalam for kedua anda bisa menambahkan for lagi, dst.
Contoh Program 7.11 (Cara menggunakan for bersarang)
Praktekan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std;
2. WHILE Bersarang
Secara konsep hampir sama dengan For bersarang, tetapi Perulangan While tersarang (nested
While) merupakan perulangan While yang satu di dalam perulangan While yang lainnya.
Berikut sintaks penggunaan WHILE bersarang :
while(kondisi)
{
while(kondisi)
{
Pernyataan yang akan diulang;
}
}
Note : Didalam while kedua anda bisa menambahkan while lagi, dst.
Contoh Program 7.12 (Cara menggunakan while bersarang)
Praktekan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std;
Hasil Output Program :
int main() 1
12
{ 123
1234
int i,j; 12345
i=1;
while(i<=5)
{
j=1;
while(j<=i)
{
cout<<j<<" ";
j=j+1;
}
cout<<endl;
i=i+1;
LATIHAN
1. Buatlah program untuk menampilkan angka ganjil antara range 1- 100
2. Buatlah program untuk menampilkan angka genap antara range 1- 100
3. Buatlah tampilan untuk menuliskan kalimat “Bahasa Pemrograman C++” sebanyak n
kali. n ditentukan berdasarkan inputan user
4. Modifikasi soal no.1 dan 2, buat program yang didalamnya terdapat 2 buah pilihan,
yaitu :
a. Menampilkan bilangan ganjil
b. Menampilkan bilangan genap
Dimana nilai range akhirnya ditentukan oleh inputan user
5. Buatlah tampilan berikut ini :
int main()
{
hitungLuasPersegi(3,4);
return 0;
}
Contoh Program 8.2 (Cara membuat function tampa nilai balik dan tampa
parameter)
Praktekan di komputer anda contoh program di bawah ini
#include <iostream>
using namespace std;
void tampilMenuMakanan()
{
cout<<"Menu makanan : "<<endl;
cout<<"1. Sate ayam"<<endl;
cout<<"2. Mie goreng"<<endl;
cout<<endl;
}
void tampilMenuMinuman()
{
cout<<"Menu minuman : "<<endl;
cout<<"1. Teh obeng"<<endl;
cout<<"2. Air mineral"<<endl;
cout<<endl;
}
int main()
{
int Luas;
Luas = hitungLuasPersegi(3,4);
cout<<"Luas Persegi = "<<Luas<<endl;
return 0;
}
int kuadrat(int x)
{
int hasil = x * x;
return hasil;
}
int main()
{
int x;
cout<<"Masukkan Angka = ";cin>>x;
cout<<"Hasil : " <<kuadrat(x);
return 0;
}
Dwi Nurul Huda. Handout Bahasa Pemrograman C++ STTI Tanjungpinang. Tanjungpinang
Al Fatta, Hanif, Dasar Pemrograman C++. Penerbit Andi. Yogyakarta
Nursyamsu Ardi, Masuki dunia hacker dengan C++. Jasakom.
Kadir, Abdul. Pemrograman C++ Membahas Pemrograman berorientasi Objek Menggunakan
Turbo C++ dan Borland C++. ANDI. Yogyakarta
Kurniadi, Indrawoko. Logika & Algoritma Dasar Menggunakan C++. Mitra Wacana Media.
Jakarta
Raharjo, Budi. Pemrograman C++. Informatika. Bandung