Anda di halaman 1dari 22

MODUL I

PENGENALAN PROGRAM C++

1.1. Pendahuluan
Seperti kita ketahui, komputer dapat melakukan banyak hal untuk membantu
kehidupan manusia. Sebenarnya kemampuan komputer tersebut tergantung pada
perintah yang diberikan ke komputer dan komputer hanya melakukan apa yang
diperintahkan. Perintah ini disebut sebagai program komputer yang ditulis dalam
suatu bahasa pemrograman. Ada banyak bahasa pemrograman yang sudah diciptakan
orang, seperti BASIC, Pascal, C, C++, Fortran, Java, dan sebagainya. Dalam
praktikum ini, akan digunakan bahasa pemrograman C++.

Bahasa pemrograman C++ diciptakan oleh Bjarne Stroustrup dari AT & T Bell
Labs, Murray Hill New Jersey USA mulai tahun 1979. Bahasa ini merupakan
pengembangan dari bahasa C yang mempunyai kemampuan untuk menggabungkan
program C dengan bahasa mesin. Bahasa C++ mempunyai semua fitur yang dimiliki
oleh bahasa C, ditambah kemampuan untuk membuat program yang berorientasi
objek. Pada mulanya bahasa ini dinamakan “C with classes”, baru pada tahun 1983
bahasa ini dinamakan C++.

Program C++ adalah program yang berisi instruksi (statements) dan ekspresi
yang mengikuti kaidah bahasa pemrograman C++. Program ini dapat ditulis
menggunakan editor teks seperti notepad ataupun menggunakan editor bawaan dari
kompiler. Program C++ ditulis dengan nama file ekstensi .CPP. Agar program ini
dapat dijalankan, maka harus dikompilasi terlebih dulu dengan menggunakan
kompiler C++. Saat ini banyak kompiler C++ yang beredar di pasaran dengan
beberapa variasi C++, seperti Turbo C++ dan Borland C++ yang dikembangkan oleh
Borland International, Visual C++ yang dikembangkan oleh Microsoft Corporation
dan juga Dev C++ yang dapat diunduh gratis. Kompiler ini ditulis dengan bahasa
pemrograman Delphi. Meskipun demikian, program C++ sudah distandarisasi oleh
ANSI sehingga suatu program C++ dapat dijalankan oleh kompiler C++ apapun. Pada
praktikum ini dianjurkan menggunakan kompiler Dev C++ yang lebih mudah
digunakan dan tidak membutuhkan banyak memory.

1.2. Program C++ yang Pertama


Dalam pemrograman, program yang ditulis dalam suatu bahasa pemrograman
disebut juga source code atau source file. Hal ini untuk membedakan dengan program
hasil compiler yang disebut object code atau object file (biasanya mempunyai nama
file ekstensi .OBJ) dan program yang dijalankan (dieksekusi) yang disebut executable
code atau executable file (biasanya mempunyai nama file ekstensi .EXE) atau sering
disebut program aplikasi. Proses mengubah program C++ menjadi aplikasi dapat
dilihat pada gambar 1.1 di halaman berikut.

Modul 1: Pengenalan Program C++ 1


Praktikum C++ Dasar

Source Code Compiler Object code Library Executable


+ Linker code
Gambar 1.1 Proses pembuatan program aplikasi

Untuk menulis program C++, gunakan editor yang disediakan oleh Dev C++.
Setelah dipanggil dengan mengklik DevC++, maka program akan menampilkan editor
C++ seperti dapat dilihat pada gambar 1.2 di bawah ini.

Gambar 1.2 Editor Dev C++

Pada menu bar, pilih File lalu New - Source File. Lalu ketikkan contoh program
C++ pada gambar 1.3 di bawah ini.

//Program TEST
#include <iostream>
using namespace std;

int main()
{
cout<<" Saya baru belajar C++"<<endl;
cout<<" Semoga Sukses"<<endl;
}
Gambar 1.3 Program C++ yang pertama

Penjelasan dari program di atas mulai dari baris pertama adalah sebagai berikut :
1. //Program TEST : baris ini dinamakan komentar, diawali dengan sepasang tanda
garis miring (//), biasanya berisi penjelasan tentang program.
2. #include <iostream> : merupakan suatu bentuk instruksi yang memerintahkan
preprosesor untuk menyisipkan (include) file lain (dalam contoh ini, file
iostream) pada saat program di-linker. File ini perlu disertakan karena ada
perintah cout dalam kode program. Pada umumnya file yang dapat di-include

Modul 1: Pengenalan Program C++ 2


Praktikum C++ Dasar

dibuat dengan ekstensi .h dan harus disisipkan di awal file, karena itu disebut file
judul (header file). File ini mengandung berbagai deklarasi, fungsi, dan lain-lain.
3. using namespace std; : menunjukkan bahwa program akan mengakses entitas
yang merupakan bagian dari namespace std karena semua nama yang digunakan
oleh file iostream adalah bagian dari namespace std.
4. tanda ; (titik koma) : tanda ini digunakan untuk mengakhiri sebuah instruksi pada
program C++, dalam hal ini instruksi using namespace std.
5. int main( ) : merupakan awal dari fungsi yang menjadi titik awal eksekusi
program C++. Setiap program C++ harus mempunyai fungsi main() ini. Kata int
menunjukkan bahwa fungsi menghasilkan nilai bertipe integer. Untuk fungsi
main, tipe data ini tidak ada pengaruhnya.
6. { : kurung buka, merupakan tanda untuk memulai kode program dalam fungsi
main. Semua kode yang menjadi anggota fungsi harus berada di dalam sepasang
tanda kurung ini.
7. cout << “Saya baru belajar C++” : cout adalah suatu fungsi yang digunakan
untuk menampilkan suatu keluaran ke layar monitor (console out). Simbol <<
adalah operator stream insertion sehingga tulisan Saya baru belajar Visual C++
yang berada di antara sepasang tanda petik, ditampilkan ke layar.
8. << endl; : menunjukkan baris telah berakhir (end line), sehingga kursor akan
pindah ke baris berikutnya.
9. cout <<”Semoga sukses” << endl; : untuk menampilkan tulisan Semoga sukses,
lalu kursor akan pindah ke baris berikutnya.
10. } : kurung tutup menandakan akhir dari program dalam fungsi main(). Karena
fungsi main () merupakan fungsi satu-satunya, maka tanda ini juga menunjukkan
akhir dari program.

1.2.1. Menyimpan Program


Setelah mengetik program, disarankan untuk menyimpannya lebih dulu ke media
penyimpan sebelum memprosesnya lebih lanjut. Untuk menyimpan program, pilih
menu File | Save atau mengklik icon save pada menu bar lalu ketikkan nama file
sesuai keinginan anda atau gunakan nama file default yang disediakan editor. Secara
otomatis program akan disimpan dalam bentuk file dengan nama ekstensi .CPP.

1.2.2. Debugging

Debugging adalah proses untuk menghilangkan kesalahan dalam program atau


dengan kata lain, proses memperbaiki program sehingga tidak lagi mengandung
kesalahan. Hasil dari debugging adalah program yang bebas dari kesalahan sehingga
program dapat di-compile dan dihasilkan object code. Selanjutnya, object code ini
digabungkan dengan file include untuk masuk ke proses linker sehingga dihasilkan
executable file (program aplikasi) yang sesuai dengan tujuan pembuatan program.

Pada umumnya ada 2 jenis kesalahan yang sering ditemukan dalam penulisan
program, yaitu:
1. Kesalahan sintaks (syntax error) seperti salah mengetik perintah, tanda kurung
tidak berpasangan, kurang tanda baca dan sejenisnya. Kesalahan ini biasa ditemui
pada proses compile. Compiler akan memberitahu letak terjadinya kesalahan
sintaks dalam program, dan programmer harus memperbaikinya. Proses compile

Modul 1: Pengenalan Program C++ 3


Praktikum C++ Dasar

dan linker hanya dapat diselesaikan jika program sudah tidak terdapat kesalahan
sintaks.
2. Kesalahan ketika program dieksekusi (runtime error) yaitu hasil dari program
tidak sesuai dengan yang diharapkan. Dalam hal ini, programmer harus membaca
statement program dengan teliti untuk menemukan letak kesalahan.

Pada DevC++, proses debugging dilakukan dengan hanya mengklik sebuah


tombol saja yaitu tombol atau F11 dan jika tidak ditemui kesalahan (0 errors)
dalam program maka dihasilkan executable file dan langsung dieksekusi sehingga
tidak terlihat proses compile dan linker-nya. Tetapi jika ditemui kesalahan, proses
compile akan berhenti, programmer harus memperbaiki kesalahan lalu proses
debugging diulangi lagi dari awal.

1.2.3. Mengeksekusi Program


Program yang dapat dieksekusi adalah program yang telah melewati proses
compile dan linker sehingga didapat program yang mempunyai nama file ekstensi
.exe. Pada contoh, akan dihasilkan file aplikasi dengan nama TEST.exe. File inilah
yang dieksekusi. Hasil eksekusi file TEST.exe dapat dilihat pada layar monitor,
seperti gambar 1.4 di bawah ini.

Gambar 1.4 Hasil eksekusi file TEST.exe

1.3. Bentuk Dasar Program C++


Secara umum program C++ berbentuk seperti gambar 1.5 berikut:

#include <nama file>


using namespace std;

int main( )
{
pernyataan;
....................;
pernyataan;
}

Gambar 1.5 Bentuk dasar program C++

Modul 1: Pengenalan Program C++ 4


Praktikum C++ Dasar

Bentuk program di atas adalah bentuk program yang paling sederhana, karena
hanya terdiri dari satu blok fungsi yaitu fungsi main ( ). Pada umumnya program C++
merupakan kumpulan fungsi-fungsi dan salah satu dari fungsi tersebut harus bernama
main ( ). Badan fungsi adalah deretan instruksi yang ditulis di antara sepasang tanda
kurung {....}.

1.3.1. File Header


Sesuai namanya, file header harus ditulis diawal program. Penulisan file header
didahului dengan simbol # yang disebut sebagai preprocesor directive yang
digunakan untuk memerintahkan preprocessor menyertakan file lain ke dalam
program. Nama file yang akan disertakan ditulis diantara kurung < >. Pada umumnya
file tersebut merupakan file dengan ekstensi .h yang di dalamnya terdapat deklarasi,
fungsi, variabel, atau konstanta yang diperlukan oleh program. Penulisan file header
adalah sebagai berikut :
# include <file header> atau
# include “PATH:file header”

Penulisan cara pertama memiliki arti bahwa file header yang akan disertakan
berada pada direktori default (default directory), sedangkan penulisan cara kedua, file
header yang akan disertakan berada pada direktori yang bernama PATH. Pada contoh
program di atas (lihat gambar 1.3), file header iostream perlu disertakan, karena
fungsi cout (baca : c out) yang digunakan terdapat pada file header tersebut.

1.3.2. Fungsi main( )


Program C++ dapat terdiri dari banyak fungsi dengan nama yang berbeda-beda,
tetapi harus mempunyai sebuah fungsi main( ) yang mengontrol fungsi-fungsi yang
lain. Fungsi main( ) merupakan fungsi utama yang harus ada dalam program C++.
Alternatif penulisan fungsi adalah dengan menggunakan instruksi void yang ditulis
sebelum nama fungsi main( ). Penulisan void main() menunjukkan bahwa fungsi
main ( ) tersebut tidak memiliki nilai yang dikembalikan.
Pada DevC++, jika hanya mempunyai sebuah fungsi maka harus ditulis int
main(), tetapi jika dalam program ada fungsi lain maka dapat digunakan void main ()
sebagai fungsi utamanya.

1.3.3. Komentar
Komentar adalah bagian dari program yang diabaikan oleh compiler.
Komentar tidak melaksanakan aksi apapun tetapi digunakan oleh programmer untuk
menuliskan catatan, keterangan atau deskripsi tambahan mengenai kode program yang
ditulis. C++ memiliki dua cara untuk menuliskan komentar yaitu:
1. // Baris Komentar: akan mengabaikan apapun mulai dari tanda garis miring
dobel sampai akhir dari baris yang sama
2. /* Blok Komentar */ : mengabaikan apapun yang berada diantara tanda /* dan */

Modul 1: Pengenalan Program C++ 5


Praktikum C++ Dasar

1.4. Fungsi-Fungsi Pustaka C++


Bahasa C++ tidak menyediakan banyak perintah (command), tetapi sebagai
gantinya banyak menyediakan banyak fungsi pustaka (library functions) atau disebut
juga disebut library routines. Beberapa fungsi C++ beserta file header-nya dapat
dilihat pada tabel 1.1 berikut.

Tabel 1.1 Beberapa Fungsi Pustaka pada Program C++


Fungsi Kegunaan File Header
cout Mengarahkan data ke standar output (monitor) iostream
cin Membaca data dari standar input (keyboard) iostream
clrscr( ) Menghapus layar conio.h
printf( ) Menampilkan pesan ke layar stdlib.h
rand( ) Menghasilkan bilangan bulat secara acak antara 0 stdlib.h
sampai dengan suatu nilai batas
sin( ) Memperoleh nilai sinus math.h atau complex.h
log10( ) Memberikan logaritma basis 10 math.h atau complex.h
toupper( ) Mengubah argumen menjadi huruf besar ctype.h
tolower( ) Mengubah argumen menjadi huruf kecil ctype.h

1.5. Fungsi cout dan cin


Fungsi cout, bertujuan untuk menampilkan pesan ke standar output, biasanya
monitor. Fungsi ini merupakan fungsi khas pada C++.
Kebalikannya dari fungsi cout adalah fungsi cin (dibaca C in). Fungsi digunakan
untuk memasukkan data dari standar input, biasanya keyboard lalu disimpan dalam
suatu variabel.
Sebagai contoh ketikkan program pada gambar 1.6 berikut ini.
/* program yang ke dua
program untuk mencoba instruksi cout dan cin */
#include <iostream>
using namespace std;
int main()
{
char nama[20]; // deklarasi variabel nama bertipe karakter, panjang max 20 karakter
int nim;
//menuliskan pesan, nama ditulis tanpa spasi
cout << "Ketikkan nama anda : ";
// menerima input
cin >> nama;
cout << endl;
cout << "Ketikkan nomor mahasiswa anda : ";
cin >> nim;
cout << endl << endl;
//menuliskan output ke layar
cout << "Nama anda adalah : " << nama << endl;
cout << "Nomor mahasiswa anda adalah : " << nim << endl;
}
Gambar 1.6 Program dengan cout dan cin

Modul 1: Pengenalan Program C++ 6


Praktikum C++ Dasar

Pada program di atas, pada baris pernyataan (3 baris dari bawah):

cout << “ Nama anda adalah : “ << nama << endl;


Tanda << merupakan operator yang disebut sebagai operator stream insertion
yang berfungsi untuk mengarahkan operand (data) yang terletak di sebelah kanannya
ke obyek yang terletak di sebelah kirinya. Pada contoh di atas, tulisan / teks:

“ Nama anda adalah : “

diarahkan ke cout, hingga menghasilkan tulisan tersebut ke layar. Berikutnya,


variabel nama setelah operator penyisipan kedua, menunjukkan agar isi variabel nama
dituliskan ke layar.

Untuk instruksi memasukkan data:


cin >> nama;

menyatakan bahwa karakter yang diketikkan pada keyboard akan dibaca dan disimpan
sebagai variabel nama.
Sebagai latihan lebih lanjut dengan cout dan cin, ketikkan program pada gambar 1.7
di halaman berikut.

1.6. Elemen Dasar C++


Program C++ terdiri dari deretan instruksi atau statements dan ekspresi yang
ditulis mengikuti aturan sintaks bahasa pemrograman C++ dan bertujuan untuk
menyelesaikan suatu masalah. Pada umumnya program C++ terdiri dari kumpulan
subprogram atau fungsi. Beberapa fungsi ada yang sudah didefinisikan dan disimpan
dalam standard library sehingga menjadi bagian dari program C++. Ada 3 macam
simbol yang digunakan untuk menuliskan program C++ yaitu identifier (pengenal),
reserved words (kata kunci), dan simbol khusus.

1.6.1. Identifier
Identifier adalah nama yang dipakai untuk menyatakan variabel, konstanta
bernama, fungsi, label, objek, atau hal-hal lain yang perlu dideklarasikan atau
didefinisikan oleh program. Setiap identifier yang dibuat harus memenuhi aturan
berikut ini:
1. Terdiri dari satu atau beberapa karakter yang berupa huruf, angka, atau garis
bawah ( _ ).
2. Harus diawali oleh huruf atau garis bawah
3. Tidak boleh mengandung spasi
4. Panjang maksimal 32 karakter signifikan
5. Huruf besar dan huruf kecil dibedakan (case sensitive) sehingga identifier
HARGA, harga dan Harga adalah 3 identifier yang berbeda.
6. Tidak berupa kata kunci, fungsi atau obyek-obyek lainnya yang telah dipakai oleh
bahasa C++.
7. Harus unik, tidak ada identifier yang sama dalam satu program.
8. Tidak menggunakan reserved words atau fungsi dalam standar library

Modul 1: Pengenalan Program C++ 7


Praktikum C++ Dasar

/*program ketiga.cpp
program latihan dengan cout dan cin
program untuk memasukkan, menampilkan dan menghitung angka
*/
#include <iostream.h>
using namespace std;

int main()
{
int a, b, c;
cout << "Program penjumlahan sederhana" << endl;
cout << "Jumlah dari 3 + 5 adalah : " << 8 << endl;
cout << " 9 + 6 = " << 9 + 6 << endl;
cout <<endl;
//menuliskan pesan
cout<<"Ketikkan 2 angka integer, pisahkan dengan spasi : ";

// menerima 2 buah angka


cin >> a;
cin >> b;
cout <<endl;
cout <<"Jumlah dari "<< a <<" dan " << b << " adalah " << a + b<<endl;
//menuliskan pesan
cout <<"Ketikkan 2 angka integer, pisahkan dengan spasi : ";

//menerima 2 buah angka


cin >> a;
cin >> b;
//menjumlahkan 2 buah angka
c = a + b;
cout <<endl;
cout<<"Jumlah dari "<< a <<" dan "<< b <<" adalah "<< c <<endl;
return 0;
}
Gambar 1.7 Program dengan cout dan cin (2)

Contoh Indentifier yang benar dan salah dapat dilihat pada tabel 1.1 berikut.
Tabel 1.1 Contoh identifier yang benar dan salah
Benar Salah
Pengenal 5Data diawali dengan angka
Data1 data 1 mengandung spasi
Data_1 Data-1 mengandung karakter –
_1 d %1 mengandung karakter %
Cos menggunakan fungsi C++

1.6.2. Reserved words


Reserved word atau disebut juga kata kunci (keywords) adalah kumpulan kata
yang sudah digunakan oleh C++ untuk suatu keperluan atau fungsi tertentu. Reserved
words ditulis dengan huruf kecil dan tidak boleh didefinisikan lagi oleh programmer.
Beberapa reserved words yang sering digunakan dapat dilihat pada tabel 1.2 di
halaman berikut.

Modul 1: Pengenalan Program C++ 8


Praktikum C++ Dasar

Tabel 1.2 Daftar reserved words C++


asm delete goto Public template
and bool include False True
not or typename Enum template
auto do if Register This
break double inline Return typedef
case else int Short union
char enum long signed unsigned
class extern new sizeof virtual
const float cperator static Void
continue for private struct volatile
default friend protected switch while

1.6.3. Simbol khusus


Simbol khusus adalah simbol yang digunakan sebagai permisah atau untuk
melakukan operasi aritmetika dan logika. Simbol khusus yang sering digunakan
adalah: + - / % = < == > <= >= != . , ; ? ( ) { } blank.

1.7. Tipe Data


Pada umumnya tujuan dari pembuatan program adalah untuk memanipulasi
data. Contohnya data numerik biasanya dimanipulasi dengan melakukan operasi
aritmetika. Dengan demikian tipe data juga dapat menentukan operasi yang dapat
dilakukan terhadap data tersebut. Tipe data juga menentukan banyaknya lokasi
memori yang diperlukan untuk menyimpan data.

Tipe data dasar pada C++ dibagi menjadi:


1. Tipe data sederhana: merupakan tipe data yang sudah didefinisikan dalam C++
dan menjadi dasar dari tipe data terstruktur. Tipe data sederhana terdiri dari :
a. Bilangan bulat:
 char: digunakan untuk merepresentasikan sebuah karakter, digit atau
simbol khusus, dan ditulis diantara tanda petik tunggal.
 short (short integer)
 int (integer)
 long (long integer)
 unsigned int
 unsigned short  unsigned long
 bool: untuk merepresentasikan nilai boolean true dan false.
b. Bilangan pecahan:
 float: disebut juga single precission dengan jumlah angka signifikan
antara 6 sampai 7 digit.
 double: double precission dengan jumlah angka signifikan 15 digit
 long double
c. Enumeration: tipe data yang didefinisikan oleh programmer

Modul 1: Pengenalan Program C++ 9


Praktikum C++ Dasar

Banyaknya byte dan jangkauan dari masing-masing tipe data tergantung dari jenis
komputer dan compiler yang digunakan. Secara umum dapat dilihat pada tabel 1.3
di bawah ini.
2. Tipe data terstruktur: merupakan gabungan dari beberapa tipe data sederhana,
contohnya array, struct dan lain-lain.
3. Pointer

Tabel 1.3 Banyaknya byte yang dialokasikan untuk suatu tipe data
Tipe Data Ukuran Memori Jangkauan Nilai
Char 1 byte -128 hingga + 127
Int 4 byte -2.147.438.648 hingga 2.147.438.647
Short 2 byte -32768 hingga + 32767
Long 4 byte -2.147.438.648 hingga 2.147.438.647
unsigned int 4 byte 0 – 4.294.877.295
Bool 1 byte true atau false
Float 4 byte 3.4x10-38 hingga 3.4x10+38
Double 8 byte 1.7x10-308 hingga 1.7x10+308
long double 10 byte 3.4x10-4932 hingga 1.1x10+4932

1.8. Variabel dan Konstanta


Semua data yang dimasukkan ke dalam memori komputer harus diberi nama dan
ditentukan tipenya. Ada 2 macam perlakuan data dalam memori komputer yaitu :
1. Data yang nilainya tetap selama program berjalan, disebut konstanta (named
constant). Contohnya:
const double PHI = 3.1413;
const int NILAI = 25;
2. Data yang nilainya dapat berubah selama proram berjalan, disebut variabel.
Contohnya:
int uts;
char huruf;

1.8.1. Mendeklarasikan Variabel


Deklarasi variabel bertujuan untuk mengenalkan variabel ke program dan
menentukan tipe data yang dapat disimpan di dalamnya. Deklarasi variabel akan
menyebabkan pengalokasian memori yang banyaknya tergantung dari tipe data yang
akan disimpannya. Untuk memudahkan pembacaan, deklarasi variabel sebaiknya
diletakkan di awal program, tetapi C++ memungkinkan peletakan deklarasi variabel
di mana saja dalam program.

Bentuk umum deklarasi variabel :


tipe_data daftar_variabel;

Contoh : int jumlah, bayar;


float harga_per_unit, total_harga;
char c;

Modul 1: Pengenalan Program C++ 10


Praktikum C++ Dasar

Deklarasi di atas berarti akan dialokasikan memori sebanyak 2 x 4 byte untuk


menyimpan 2 data integer yang bernama jumlah dan bayar, 2 x 4 byte untuk
menyimpan 2 data real (float) yang bernama harga_per_unit dan total_harga, dan 1
byte untuk menyimpan data karakter yang bernama c.

1.8.2. Memberikan nilai ke variabel (Assignment)


Ada 3 cara untuk memberikan (assign) sebuah nilai ke variabel yaitu:
1. Langsung diberi nilai awal setelah dideklarasikan.
Contoh :
int jumlah;
jumlah = 10;
atau dapat juga ditulis :
int jumlah = 10;

Perintah di atas berarti alokasikan 4 byte memori yang diberi nama jumlah untuk
menyimpan data integer yang bernilai 10
2. Di dalam program:
variabel = nilai_variabel;

Contoh : jumlah = 10; harga_per_unit = 17.5;

Perintah di atas berarti, nilai 10 akan disimpan dalam lokasi memori yang bernama jumlah
dan nilai 17.5 akan disimpan dalam lokasi memori yang bernama harga_per_unit
3. Melalui keyboard dengan menggunakan fungsi cin,
Contoh: cin >> jumlah

Perintah di atas berarti nilai integer (berapapun) yang diketikkan melalui keyboard akan
disimpan dalam lokasi memori yang bernama jumlah.

1.8.3. Variabel dan konstanta bertipe long


Apabila diinginkan untuk memproses bilangan bulat yang nilainya lebih besar
dari tipe int, digunakan tipe long. Contoh deklarasi:
long jum_penduduk;

Sebagai latihan untuk penggunaan konstanta dan variabel, ketikkan program pada gambar 1.8
dan gambar 1.9 berikut ini.
// Program 4: latihan karakter
#include <iostream>
using namespace std;

int main( )
{
char kar, a; // deklarasi variabel kar dan a
kar = ‘A’ // penugasan karakter ‘A’ ke variabel kar
cout << “Isi kar = “ <<kar<<’\n’; kar = 66;
cout << “Isi kar = “ <<kar<<’\n’; cout << endl; cout << endl;
cout << ” Ketikkan sebuah karakter ”<< endl;
cin >> a; cout << endl; cout << ”Karakter yang diketik : ” << a <<endl; cout <<endl;
cout << ” Ketikkan sebuah angka ”<< endl;
cin >> a; cout << endl;
cout << ”Angka yang diketik : ” << a << endl; }

Gambar 1.8 Program untuk latihan tipe data karakter

Modul 1: Pengenalan Program C++ 11


Praktikum C++ Dasar

// Program 5: latihan bilangan


#include <iostream.h>
using namespace std;

int main( )
{
int bil; // deklarasi variabel bil bertipe integer
bil = 32763; // memasukkan angka 32763 ke variabel bil
cout << “Isi bil = “ <<bil<<’\n’;
bil = -66;
cout << “Isi bil = “ <<bil<<’\n’;
long jum_penduduk; // deklarasi variabel bertipe long
jum_penduduk=170123456;
cout << “Isi variabel jum_penduduk = “ <<jum_penduduk<<’\n’;
}

Gambar 1.9 Program untuk latihan bilangan

1.8.4. Variabel dan konstanta bertipe float, double dan long double
Tipe float, double atau long double digunakan untuk data numerik yang
berhubungan dengan pecahan. Contoh deklarasinya:

float panjang;
double phi;
long double tetapan;

1.8.5. Konstanta Bernama


Konstanta bernama adalah nama yang diberikan untuk suatu nilai, baik berupa
bilangan bulat maupun bilangan pecahan. Bentuk umum deklarasi konstanta bernama
adalah sebagai berikut:
const tipe_data nama_konstanta = nilai;

Sebagai contoh :
const float PHI = 3.141592;

Berbeda dengan variabel, suatu konstanta bernama tidak dapat diubah setelah
didefinisikan. Pernyataan PHI = 3.14 tidak diperkenankan lagi di dalam program.

1.9. Operator dan Ekspresi


Ekspresi (atau ungkapan) adalah statement program yang mempunyai nilai.
Pada umumnya ekspresi dalam C++ dapat berupa :
1. pengenal (variabel)
2. konstanta
3. atau kombinasi antara elemen di atas dengan operator

Modul 1: Pengenalan Program C++ 12


Praktikum C++ Dasar

Contoh ekspresi:
A = 1;
B = A + 5;
C = A * B;

Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan
sesuatu operasi atau manipulasi data. Misalnya untuk :
1. menjumlahkan dua buah nilai
2. memberikan nilai ke suatu variabel
3. membandingkan kesamaan dua buah nilai

Berdasarkan banyaknya operand yang dilibatkan, operator mempunyai sifat seperti


tabel 1.6 berikut ini.

Tabel 1.6 Sifat operator


Sifat Keterangan Contoh
Unary Operator ini hanya melibatkan sebuah operand -1
Binary Operator ini melibatkan dua buah operand 1+2
Ternary Operator ini melibatkan tiga buah operand (a > b) ? a : b

1.9.1. Operator Aritmetika


Operator yang digunakan untuk operasi aritmatika dan ekspresi yang
menggunakanya disebut ekspresi aritmetika. Hasil dari ekspresi aritmetika adalah
konstanta integer atau real. Operator aritmetika tergolong sebagai operator binary.
Macam-macam operator aritmetika dan urutan prioritas pengerjaannya dapat dilihat
pada tabel 1.7. berikut ini.

Tabel 1.7 Operator Aritmetika


Operator Keterangan Contoh Prioritas
* Perkalian 2*3 1

/ Pembagian 7/2 1

% Sisa pembagian (modulus) 7%2 1

+ Penjumlahan 5+4 2

- Pengurangan 5-4 2

Operand

3 + 2 - 1

Operator

Modul 1: Pengenalan Program C++ 13


Praktikum C++ Dasar

Dalam penulisan ekspresi, operator aritmetika harus ditulis dengan jelas. Contoh
pemakaian operator aritmetika untuk memperoleh nilai deskriminan dari suatu
persamaan kuadrat adalah:
d = b2 – 4ac  d= b * b - 4 * a * c
Contoh pengerjaan ekspresi berdasarkan urutan prioritas :
x=2+3*2 ==> hasilnya x = 8
x=2*3%2 ==> hasilnya x = 0

1.9.2. Operator Kombinasi


Untuk menyingkat penulisan ekspresi aritmetika dapat digunakan operator
kombinasi (compound operators atau combined assignment operators) seperti tabel
1.8 berikut ini.

Tabel 1.8 Operator Kombinasi


Operator Contoh Ekspresi aritmetika
+= x += 5; x = x + 5;
-= Y -= 2; Y = Y – 2;
*= p *= q; p = p * q;
/= A /= B; A = A/B;
%= C %= 3; C = C % 3;

Penggunaan operator kombinasi ini dapat dilihat pada gambar 1.20 berikut ini.

/* Program 6: program untuk menghitung inventori kertas */


#include <iostream.h>
using namespace std;

int main()
{
int k70, k80, kfl, jual;
cout <<"Program inventori\n";
cout << endl;
cout <<"Ketikkan banyaknya kertas 70 gr mula-mula ";
cin >> k70;
cout <<"Ketikkan banyaknya kertas 80 gr mula-mula ";
cin >> k80;
cout <<"Ketikkan banyaknya kertas folio mula-mula ";
cin >> kfl; cout << endl;
cout <<"Ketikkan banyaknya kertas 70 gr yang terjual ";
cin >> jual; k70 -= jual;
cout << endl;
cout <<"Ketikkan banyaknya kertas 80 gr yang terjual ";
cin >> jual; k80 -= jual;
cout << endl;
cout <<"Ketikkan banyaknya kertas folio yang terjual ";
cin >> jual; kfl -= jual; cout << endl; cout<< endl;
cout <<"Banyaknya kertas 70 gr tersisa = " << k70 << endl;
cout <<"Banyaknya kertas 80 gr tersisa = " << k80 << endl;
cout <<"Banyaknya kertas folio tersisa = " << kfl << endl;

return 0;
}

Modul 1: Pengenalan Program C++ 14


Praktikum C++ Dasar

Gambar 1.20 Contoh penggunaan operator kombinasi

1.9.3. Operator Penurunan dan Penaikan


Selain operator di atas, C++ mendiakan operator khusus yang digunakan untuk
menambah atau mengurangi nilai variabel sebanyak 1. Operator tersebut adalah:
1. Operator menaikkan nilai (increment): ++ digunakan untuk menaikkan nilai
variabel sebesar satu.
Contoh : x = x + 1; → dapat ditulis ++x; atau x++
2. Operator menurunkan nilai (decrement): -- digunakan untuk menurunkan nilai
variabel sebesar satu.
Contoh : y = y - 1; → dapat ditulis --y; atau y--

1.9.4. Operator Relasional


Operator relasional biasa digunakan untuk membandingkan dua buah nilai.
Ekspresi yang mengunakan operator relasional disebut ekspresi logika. Hasil dari
ekspresi logika adalah konstanta logika TRUE atau FALSE. Macam-macam operator
relasional dapat dilihat pada tabel 1.9 berikut ini.

Tabel 1.9 Operator Relasional


Operator Keterangan
== sama dengan (bukan penugasan/assignment)
!= tidak sama dengan
> lebih dari
< kurang dari
>= lebih dari atau sama dengan
<= kurang dari atau sama dengan

Contoh ekspresi relasional yang menggunakan operator relasi :


x >= y

Hasil ekspresi ini adalah:


1. 1 (true) kalau nilai x lebih besar atau sama dengan nilai y
2. 0 (false) kalau nilai x lebih kecil dari nilai y

1.9.5. Operator Logika


Operator logika biasa digunakan untuk menghubungkan dua buah ekspresi
logika menjadi sebuah ekspresi logika. Macam-macam operator logika:
1. && (operator logika AND)
2. || (operator logika OR)
3. ! (operator logika NOT)

1.9.6. Operator Kondisi


Operator kondisi biasa dipakai untuk mendapatkan sebuah nilai dari 2 buah
kemungkinan, berdasarkan suatu kondisi. Format pemakaiannya :

ekspresi1?ekspresi2:ekspresi3

Modul 1: Pengenalan Program C++ 15


Praktikum C++ Dasar

Hasil dari ekspresi berupa :


1. nilai dari ekspresi = ekspresi2 kalau ekspresi1 bernilai benar
2. nilai dari ekspresi = ekspresi3 kalau ekspresi1 bernilai salah

Lihat contoh program pada gambar 1.21 berikut ini.


//Program 7: contoh program operator kondisi
#include <iostream>
using namespace std;

int main( )
{
int bil1,bil2,minim;
bil1=53; bil2=6;
minim=bil1<bil2?bil1:bil2; // jika bil1 < bil2 maka minim = bil1, selain itu, minim = bil2
cout << "Bilangan terkecil = " <<minim<<'\n';
}
Gambar 1.21 Contoh program dengan operator kondisi

1.9.7. Konversi Melalui Operator Cast


Disamping pengkonversian secara otomatis, C++ juga menyediakan
cara pengkonversian yang diatur sendiri oleh programmer yaitu dengan menggunakan
operator cast.
Ada dua cara untuk mengkonversikan tipe data :
1. dengan menambahkan (tipe_data) di depan variabel , contoh:
char kar=’A’;
cout <<”nilai ASCII dari “<<kar<<”:”<<(int)kar<<’\n’;
èakan menghasilkan data bertipe int
2. menggunakan bentuk tipe_data(data) , contoh:

(int) kar atau dapat ditulis int (kar)

1.10. Memformat Output


Memformat output adalah mengatur tampilan output sedemikian sehingga
mudah dibaca dan enak dilihat. Sebagai contoh dapat lihat pada program di gambar
1.22 berikut ini

//program 8: contoh program tanpa format


#include <iostream>
using namespace std;
int main( )
{
Int bil1 = 12, bil2 = 345, bil3 = 5789,
bil4 = 234, bil5 = 45678, bil6 = 890,
bil7 = 1234, bil8 = 56, bil9 = 789;
// tampilkan bilangan
cout << bil1 << " " << bil2 << " " << bil3 << endl;
cout << bil4 << " " << bil5 << " " << bil6 << endl;
cout << bil7 << " " << bil8 << " " << bil9 << endl; }

Modul 1: Pengenalan Program C++ 16


Praktikum C++ Dasar

Gambar 1.22 Output program tidak diformat


Output dari program di atas adalah seperti berikut:
12 345 6789
234 45678 890
1234 56 789

Tampilan di atas kelihatan tidak teratur dan agak sulit dilihat karena angka tidak
berada dalam 1 kolom yang sama. Untuk mengatasi hal ini, dapat digunakan instruksi
yang mengatur lebar kolom agar angka dapat tampil dalam 1 kolom yang sama.
Instruksi tersebut adalah setw(n) dengan n adalah lebar kolom. Instruksi ini berada
dalam file library iomanip sehingga harus ditambahkan pada include directive. Lihat
program di gambar 1.23 yang menggunakan instruksi setw ini sehingga angka-angka
tampil dalam kolom yang sama.
// Program 9: contoh program dengan format output
#include <iostream>
#include <iomanip>
using namespace std;

int main( )
{
int bil1 = 12, bil2 = 345, bil3 = 5789,
bil4 = 234, bil5 = 45678, bil6 = 890,
bil7 = 1234, bil8 = 56, bil9 = 789;

cout << setw(8) << bil1 << setw(8) << bil2 << setw(8) << bil3 << endl;
cout <<setw(8) << bil4 << setw(8) << bil5 << setw(8) << bil6 << endl;
cout << setw(8) <<bil7 << setw(8) << bil8 << setw(8) << bil9 << endl;
}

Gambar 1.23 Contoh program dengan setw()

Hasil dari program:

12 345 5789
234 45678 890
1234 56 789

Instruksi setw(8) artinya adalah output akan ditulis dalam tempat yang lebarnya 8
karakter, dengan rata kanan.
Instruksi setw ini juga dapat digunakan untuk mengatur tampilan data yang bertipe
real maupun karakter, lihat program pada gambar 1.24 di halaman berikut ini.
Perhatikan perbedaan tampilan output antara output yang tidak menggunakan
instruksi setw dengan yang menggunakan instruksi setw.

Untuk data bertipe real yang mengandung titik decimal, instruksi setw tidak dapat
mengatur tampilan berdasarkan letak titik desimal sehingga tampilan output masih
terlihat tidak teratur. Khusus untuk data real, dapat digunakan instruksi
setprecision(n). Instruksi ini akan mengatur tampilan bilangan real sehingga hanya
ditampilan sebanyak n bilangan termasuk tanda titik decimal. Sebagai contoh

Modul 1: Pengenalan Program C++ 17


Praktikum C++ Dasar

penggunakan instruksi setprecision(n) ini dapat dilihat pada program di gambar 1.25
di halaman berikut.
#include <iostream> // Program 10 : contoh program dengan format output
#include <iomanip>
using namespace std;

int main( )
{
char n1[10] = "ani", n2[10] = "budi", n3[10] = "charlie", n4[10] = "diana";
double bil1 = 12.3456, bil2 = 78.91, bil3 = 2.34, bil4 = 567.123;

cout <<"Output tanpa instruksi setw" << endl;


cout << n1 << " " << n2 << endl;
cout << n3 << " " << n4 << endl<< endl;
cout << bil1 << " " << bil2 << endl;
cout << bil3 << " " << bil4 << " "<< endl << endl ;
cout <<"Output dengan instruksi setw" << endl;
cout << setw(8) << n1 << setw(8) << n2 << endl;
cout << setw(8) << n3 << setw(8) << n4 << endl << endl;
cout << setw(10) << bil1 << setw(10) << bil2 << endl;
cout << setw(10) << bil3 << setw(10) << bil4 << endl;
}

Gambar 1.24 Program dengan format output

#include <iostream> // program 11: contoh program dengan format output


#include <iomanip>
using namespace std;
int main( )
{
double bil1 = 22.0, bil2 = 7.0 , bil4 = 32.3456, bil5 = 78.91;
double bil3, bil6 ;

bil3 = bil1/bil2;
bil6 = bil4 + bil5;
cout <<"Output tanpa instruksi setprecision" << endl;
cout << bil3 << endl<<endl;
cout << bil4 << endl;
cout << bil5 << endl;
cout << "-------- + " << endl;
cout << bil6 << endl << endl;
cout <<"Output dengan instruksi setprecision" << endl;
cout << setprecision(7) << bil3 << endl;
cout << setprecision(5) << bil3 << endl;
cout << setprecision(3) << bil3 << endl;
cout << setprecision(1) << bil3 << endl << endl;
cout << setprecision(4);
cout << setw(8) << bil4 << endl;
cout << setw(8) << bil5 << endl;
cout << "-------- + " << endl;
cout << setprecision(5);
cout << setw(8) << bil6 << endl << endl;
}

Modul 1: Pengenalan Program C++ 18


Praktikum C++ Dasar

Gambar 1.25 Program dengan instruksi setprecision(n)


LATIHAN
1. Buat program untuk menghitung keliling segiempat dengan rumus :
Keliling = 2*(panjang+lebar)
Mintakan inputan dari user untuk panjang dan lebar segiempat kemudian cetak
keliling segiempat tersebut. Ketentuan variabel yang digunakan :

Variabel untuk nama variabel tipe


panjang panjang float
lebar lebar float
keliling kell float

Tampilan di layar yang diinginkan :


Panjang segiempat :
Lebar segiempat :
Keliling segiempat :

2. Buat program untuk menghitung luas dan keliling lingkaran dengan rumus :
keliling =PI*2*jari; luas=PI*jari*jari;
Tentukanlah nama variabel dan tipenya jika diinginkan tampilan di layar seperti
berikut:

3. Buat program untuk konversi dari derajad Fahrenheit ke derajat Celcius :


Celcius = 5*(Fahrenheit-32)/9
Sebagai input : derajad celcius
Sebagai output : derajad fahrenheit
Ketentuan variabel yang digunakan :
Variabel untuk nama variabel tipe
celcius C float
fahrenheit F float

Tampilan di layar yang diinginkan :

4. Buat program untuk konversi jam:menit ke menit :


Hasil menit = jam*60+menit
Sebagai input : jam dan menit

Modul 1: Pengenalan Program C++ 19


Praktikum C++ Dasar

Sebagai output : jam, menit, dan hasil menit Ketentuan


variabel yang digunakan :
Variabel untuk nama variabel tipe
Jam jam integer
Menit menit integer
Hasil menit hasil integer

Tampilan di layar yang diinginkan :


Inputkan jam : 12
Inputkan menit : 45
Hasil konversi 12 jam 45 menit = 765 menit

5. Apa yang ditampilkan oleh program berikut ini?

#include <iostream.h>
using namespace std;
int one, duo, tre;

one = duo = tre = 5;


int main()
one += 4;
duo *=2;
tre -= 4;
one /=3;

cout << one << endl;


cout << duo << endl;
cout << tre << endl;
return 0;

6. Apa yang ditampilkan oleh program berikut ini jika angka 6 dimasukkan sebagai
input?.

#include <iostream>
using namespace std;

int main()
{
const int per_botol = 1860;
const double rate = 0.2;
int botol, banyak;
double kom;

cout <<" Program untuk menghitung komisi dari permen yang dijual" << endl;

cout <<" Ketikkan banyaknya botol permen yang dijual: ";


cin >> botol;
banyak = botol * per_botol;

cout << " Banyaknya permen yang dijual = " << banyak << " buah" << endl;
kom = banyak * rate;
cout <<" Besarnya komisi = " << kom << " buah" << endl;
return 0;

Modul 1: Pengenalan Program C++ 20


Praktikum C++ Dasar

7. Carilah kesalahan pada program berikut ini lalu perbaiki dan tampilkan hasilnya
7.a.
using namespace std;
int main ()
{
double number1, number2, sum;
Cout << "Ketikkan angka: ";
Cin << number1;
Cout << "Ketikkan angka lagi: ";
Cin << number2;
number1 + number2 = sum;
Cout "Jumlah dari kedua angka = " << sum
return 0;
}
7.b.
#include <iostream>;
using namespace std;
main
{
double number, half;
cout << "Ketikkan sebuah angka yang akan dibagi 2\n"
cin >> number1;
half =/ 2;
cout << “Angka mula-mula << number1 << endl << “Hasil bagi 2 = << half << endl;
return 0;
}

Untuk program nomor 8 dan seterusnya, nama variabel, tipe data, dan format untuk
input dan output ditentukan sendiri.

8. Pada suatu pertandingan atletik tingkat internasional perlu dikonversikan hasil


pertandingan dari sistem metrik ke sistem lokal. Buatlah algoritma untuk:
a. Mengkonversikan hasil pertandingan lompat tinggi dari meter ke feet dan
inci.
b. Jika diketahui waktu dari hasil pertandingan lari 100 m, hitunglah waktu
yang diperlukan untuk menempuh 100 yard. Diasumsikan, kecepatan
pelari konstan.

9. Sebuah perusahaan real estate membayar pegawai penjualannya sebesar Rp.


400.000,- sebulan ditambah komisi sebesar Rp. 100.000,- untuk tiap potong real
estate yang dijual si pegawai dan 1 persen dari nilai yang dijual. Tiap bulan
bagian penggajian menyiapkan data gaji untuk tiap pegawai. Data gaji terdiri
dari nama pegawai, jumlah real estate yang dijual, dan nilai total dari real estate
yang dijual. Buatlah algoritma untuk menghitung dan menampilkan gaji
pegawai pada bulan tertentu.

10. Biaya asuransi ladang pertanian terhadap bencana alam adalah 3.5 persen dari
biaya yang ditanggung per hektar dikali dengan luas tanah yang akan
diasuransikan. Buatlah algoritma untuk membaca jenis ladang, luas ladang, dan

Modul 1: Pengenalan Program C++ 21


Praktikum C++ Dasar

biaya yang ditanggung, lalu menghitung dan menampilkan besarnya asuransi


yang harus dibayar petani.

11. Diketahui sebuah mobil dengan bensin sebanyak 20 liter dapat bergerak sejauh
240 km jika berkendaraan di dalam kota dan dan 300 km jika berkendaraan di
luar kota. Hitunglah efisiensi (km/liter) untuk masing-masing lokasi. Hitung
pula rata-rata efisiensi untuk mobil tersebut.

12. Sebuah perusahaan menerima jasa pembuatan kotak dari kayu. Modal dan
ongkos untuk membuat kotak kayu adalah Rp. 3.500,- per cm3. Tetapi
perusahaan menetapkan harga pembuatan Rp. 5.000,- per cm3. Buatlah program
untuk membaca dimensi kotak yang dipesan pelanggan (dalam cm), menghitung
biaya yang dibayar pelanggan dan untung yang didapat oleh perusahaan.

13. Sebuah agen penjualan tiket pertunjukan dalam 3 katagori yaitu:


c. Kelas II, harga tiket Rp. 200.000,-
d. Kelas I, harga tiket Rp. 300.000,-
e. Kelas VIP, harga tiket Rp. 500.000,-
Seorang pembeli dapat membeli beberapa tiket dari kelas yang berbeda. Dan
agen mendapatkan komisi 7.5% dari tiket yang dibeli.
Buatlah program untuk membaca katagori tiket dan banyaknya tiket yang dibeli,
menghitung total harga tiket dan komisi yang diterima oleh agen.

14. Buatlah program untuk mencetak slip pembayaran dari sebuah toko ritel yang
berisi nama barang, harga satuan, banyaknya barang dan total harga barang yang
harus dibayar.

15. Buatlah program untuk menghitung harga jual suatu barang jika diketahui harga
modalnya, pajak pertambahan nilai (PPN) 10%, biaya sewa toko 8%,
keuntungan 20% dan biaya lain-lain 5%.

16. Sebuah sistem persamaan linier berbentuk:


ax + by = c dan dx + ey = f
Solusi dari persamaan linier di atas adalah:
ce – bf af - cd
x = ------------ y = ----------
ae – bd ae – bd
Buatlah algoritma untuk membaca koefisien a, b, c, d, e dan f lalu menhitungnilai
untuk x dan y. Jelaskan pula kondisi ketika algoritma ini tidak dapat digunakan.

17. Sebuah perusahaan minuman energi melakukan survey terhadap 12345 orang.
Hasilnya adalah 14% dari mereka yang disurvey membeli minuman energi
sekurangnya 1 kali perminggu. Dari mereka yang membeli minuman energi ada
62% yang menyukai rasa lemon, dan sisanya menyukai rasa jeruk. Buatlah
algoritma untuk menghitung banyaknya orang yang:
a. membeli minuman energi sekurangnya satu kali seminggu
b. menyukai rasa lemon
c. menyukai rasa jeruk

Modul 1: Pengenalan Program C++ 22

Anda mungkin juga menyukai