PRAKTIKUM
PEMPROGRAMAN
C++
Disusun Oleh :
Endang Retnoningsih, S.Kom
Puji dan syukur penulis panjatkan kepada Allah SWT karena atas berkat dan rahmat-NYA
Modul Praktikum Pemprograman C++ ini dapat penulis susun. Modul ini merupakan
panduan bagi mahasiswa dalam materi praktikum Pemprograman C++ pada Program Studi
Diploma Tiga AMIK BSI Tangerang.
Dewasa ini sudah banyak berkembang bahasa-bahasa pemprograman tingkat tinggi yang
pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meski demikian
programmer tetap saja harus menuliskan kode-kode program agar objek-objek yang sudah
dibuat dapat bekerja sesuai dengan alur program yang diharapkan. Pada modul ini diberikan
contoh-contoh penggunaan bahasa pemprograman C++ antara lain penggunaan elemen-
elemen dasar C++, operator dan konstanta dalam C++, penggunaan operasi dasar masukan
dan keluaran, penggunaan pernyataan kondisi if dan switch, perulangan (looping), fungsi
(function), array, pointer hingga penggunaan struct dalam C++.
Guna penyempurnaan modul praktikum ini pada masa yang akan datang, penulis berharap
kepada pembaca dan semua pihak yang menggunakan modul ini dapat memberikan saran-
saran dan kritik yang bersifat konstruktif.
Akhir kata penulis mengucapkan terimakasih kepada Bapak Anton, M.Kom selaku Direktur
AMIK BSI Tangerang dan rekan-rekan yang telah memberika dukungan hingga tersusun
Modul Praktikum Pemprograman C++ ini. Semoga modul ini dapat bermanfaat dan
menambah wawasan bagi para pembaca dalam mempelajari bahasa pemprograman.
Salam,
Endang Retnoningsih
Penulis
ii
DAFTAR ISI
iii
7.2. Lingkup Variabel ......................................................................... 50
7.3. Operator Resolusi Lingkup .......................................................... 52
7.4. Referensi ...................................................................................... 53
7.5. Fungsi Rekursi ............................................................................. 54
BAB X Pointer
10.1.Definisi Pointer ........................................................................... 73
10.2.Pointer dan Array ........................................................................ 75
10.3.Pointer dan String ....................................................................... 76
10.4.Pointer dan Fungsi ...................................................................... 77
10.5.Pointer Menunjuk Pointer ........................................................... 78
iv
Modul Pemprograman C++
BAB PENGENALAN
I PROGRAM C++
1.1. SEJARAH BAHASA C
Pencipta C adalah Brian W. Kernighan dan Dennis M. Ritchie pada sekitar tahun 1972. C
adalah bahasa pemrograman terstruktur, yang membagi program dalam bentuk sejumlah
blok. Tujuannya adalah untuk memudahkan dalam pembuatan dan pengembangan program.
Program yang ditulis dengan menggunakan C mudah sekali untuk dipindahkan dari satu
jenis mesin ke jenis mesin lainnya. Hal ini berkat adanya standarisasi bahasa yaitu ANSI
(American National Standards Institute) yang dijadikan acuan oleh para pembuat kompiler C.
C++ diciptakan oleh Bjarne Stroustrup di Laboratorium Bell, AT&T pada tahun 1983.
Bahasa ini bersifat kompatibel dengan bahasa pendahulunya C. Pada mulanya C++ disebut a
better C. Nama C++ sendiri diberikan oleh Rick Mascitti tahun 1983. Adapun tanda ++
berasal dari nama operator penaikan pada bahasa C.
Tujuan utama pembuatan C++ adalah untuk meningkatkan produktivitas pemrogram dalam
membuat aplikasi. PBO dan C++ dapat mengurangi kekompleksitasan, terutama pada
program yang besar yang terdiri dari 10.000 baris atau lebih.
Program C++ dapat ditulis menggunakan sembarang editor teks seperti NOTEPAD ataupun
menggunakan editor bawaan dari kompiler. Program C++ biasa ditulis dengan nama ekstensi
.CPP. Agar program ini bisa dijalankan, maka harus dikompilasi terlebih dulu dengan
menggunakan kompiler C++.
Saat ini banyak kompiler bahasa C++ yang beredar di pasaran. Sebagai contoh Microsoft
Corporation sebagai perusahaan pembuat perangkat lunak yang sangat terkenal,
mengeluarkan produk kompiler C++ berupa Microsoft C/C++ serta Visual C++. Adapun
Borland International juga mengeluarkan Turbo C++ dan Borland C++.
Berikut ini contoh program C++ yang sangat sederhana dapat dilihat di bawah ini :
#include <iostream.h>
void main()
{
cout << "Halo, Apa kabar? \n";
}
1
Modul Pemprograman C++
Keterangan :
Kata void yang mendahului main() digunakan untuk menyatakan bahwa fungsi ini tidak
memiliki nilai balik.
Program C++ memang tidak pernah lepas dari fungsi. Sebab fungsi adalah salah satu
dasar penyusun blok pada C++. Sebuah program C++ minimal mengandung sebuah
fungsi yaitu main(). Fungsi ini menjadi awal dan akhir eksekusi program.
Tanda () digunakan untuk mengapit argumen fungsi, yaitu nilai yang akan dilewatkan ke
fungsi. Pada fungsi main() di atas, tidak ada argumen yang diberikan. Oleh karena itu
tdak ada entri di dalam ().
Tanda “{“ hingga “}” disebut tubuh fungsi. Lebih spesifik lagi, semua yang terletak di
dalam tanda { } disebut blok. Tanda “{“ menyatakan awal eksekusi program sedangkan
“}” menyatakan akhir eksekusi program. Di dalam tanda { } bisa terkandung sejumlah
unit yang disebut pernyataan (statement)
1.3. PERNYATAAN
Baris cout << "Halo, Apa kabar? \n"; merupakan contoh dari sebuah pernyataan. Pernyataan
tersebut digunakan untuk menampilkan tulisan yang terletak pada sepasang tanda petik ganda
ke layar. Dalam hal ini, tulisan yang terletak pada sepasang tanda petik disebut konstanta
string.
Pengenal cout merupakan sebuah obyek didalam didalam C++. Obyek ini disediakan oleh
C++ untuk mengarahkan data ke standard output (normalnya adalah layar).
Tanda “<<” merupakan sebuah operator yang disebut operator penyisipan atau peletakan.
Operator ini akan mengarahkan operand (data) yang terletak di sebelah kanannya ke obyek
yang terletak di sebelah kiri.
Di dalam sebuah string, karakter “\” diikuti dengan karakter tertentu menyatakan sebuah
karakter tunggal. Pada contoh di atas , “\n” adalah karakter pindah baris (newline)
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
cout << "Selamat Belajar C++\n";
cout << "Ternyata Mudah Juga...";
getch();
}
2
Modul Pemprograman C++
Hasil :
Keterangan:
Baris #include <iostream.h> bukanlah suatu pernyataan. Itulah sebabnya tidak ada tanda titik
koma yang diperlukan. Baris tersebut menginstruksikan kepada kompiler untuk menyisipkan
file lain misalnya iostream.h saat program dikompilasi.
File-file yang berakhiran dengan .h disebut file header, yaitu file-file yang berisi berbagai
deklarasi, seperti fungsi, variabel dan sebagainya.
Baris #include <iostream.h> perlu disertakan pada program yang melibatkan obyek cout.
Tanpa kehadiran baris tersebut akan terjadi kesalahan sewaktu program dikompilasi.
#include adalah salah satu pengarah praprosesor yang tersedia pada C++. Bentuk umum
#include dapat berupa :
1. #include <nama file>
Mengisyaratkan bahwa pencarian file dilakukan pada direktori khusus(direktori file
include yang bisa di-set melalui kompiler)
2. #include “nama file”
Menyatakan bahwa pencarian nama file dilakukan pertama kali pada direktori kerja. Jika
nama file tidak ditemukan maka akan dicari pada direktori yangtercantum pada variabel
lingkunngan PATH
Perintah untuk menghapus layar biasa dilibatkan dalam program. Pernyataan yang digunakan
adalah : clrscr(); Pernyataan tersebut menggunakan baris #include <conio.h>
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout << "Halo, Apa kabar ?\n";
cout << "Selamat Belajar C++\n";
cout << "Ternyata Mudah Juga...";
getch();
}
Hasil :
3
Modul Pemprograman C++
C++ memberikan keluasan dalam menuliskan bentuk atau gaya program, misalnya dari
program di atas dapat dirubah menjadi :
#include <iostream.h>
#include <conio.h>
void main() { clrscr(); cout << "Halo, Apa kabar ?\n"; cout << "Selamat Belajar
C++\n"; cout << "Ternyata Mudah Juga..."; getch();}
Namun penulisan diatas tidak dianjurkan karena program sulit dibaca. Program hendaknya
ditulis dalam bentuk yang mudah dibaca oleh siapa saja, bukan dalam bentuk yang paling
padat dan yang paling penting adalah konsistensi gaya yang dipilih. Pemberian spasi kosong
pada posisi tertentu akan membantu program mudah dibaca.
1.7. KOMENTAR
Komentar merupakan bagian yang penting dalam program. Kehadirannya sangat membantu
dalam memahami program, karena berupa penjelasan-penjelasan mengenai program atau
bagian-bagian program.
Penjelasan dapat berupa :
Tujuan atau fungsi program
Saat program dibuat atau direvisi
Keterangan-keterangan lain tentang kegunaan sejumlah pernyataan dalam program.
Seandainya program tidak ditujukan untuk dibaca orang lain, komentar tetap bermanfaat bagi
penulis program itu sendiri. Pada C++, suatu komentar diawali dengan dua tanda garis miring
(//) atau dengan menggunakan bentuk /* dan */
Contoh :
// ----------------------------------------------
// program pencetakan
// dibuat oleh Endang Retnoningsih
// ----------------------------------------------
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr(); /* pernyataan ini berfungsi untuk
membersihkan layar */
cout << "Halo, Apa kabar ?\n";
cout << "Selamat Belajar C++\n";
cout << "Ternyata Mudah Juga...";
getch();
} // akhir program
TUGAS
4
Modul Pemprograman C++
BAB ELEMEN-ELEMEN
II DASAR C++
2.1. HIMPUNAN KARAKTER
Himpunan karakter pada C++ terdiri huruf, digit maupun simbol-simbol lainnya (termasuk
spasi dan karakter kontrol).
Huruf, contoh : A s/d Z dan a s/d z
Digit, contoh : 0 s/d 9
Simbol, contoh : + - * % / dan sebagainya
C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode
tombol (seperti karakter tombol) misalnya \n.
2.2. PENGENAL(IDENTIFIER)
Pengenal adalah suatu nama yang biasa dipakai dalam pemrograman untuk menyatakan :
variabel
konstanta bernama
tipe data
fungsi
label
obyek
pengenal-pengenal lain yang didefinisikan oleh pemrogram
Suatu pengenal dapat berupa satu atau beberapa karakter : huruf, digit, garis bawah,
berawalan dengan huruf atau garis bawah.
panjang maksimal nama pengenal pada C++ tergantung oleh kompiler yang digunakan,
misalnya Borland C++ memperkenankan nama pengenal hingga 32 karakter, sedangkan
Turbo C++ menjamin nama yang signifikan hingga 31 karakter.
Disarankan agar pemberian nama pengenal menggunakan kata yang berarti dan mudah
dibaca, misal : gaji_pegawai lebih baik daripada g ataupun gajipegawai. Pada C++, huruf
kecil dan huruf kapital pada suatu pengenal tidak dianggap sama. Sifat ini dikenal dengan
nama case sensitive. Itulah sebabnya pengenal seperti NAMA dan nama ataupun Nama
menyatakan tiga pengenal yang berbeda.
Contoh :
Nama pengenal yang benar :
nama
NAMA
nama_barang
kuartal_2
Nama pengenal yang salah :
2semester (tidak boleh diawali angka)
5
Modul Pemprograman C++
Kata kunci (keyword) adalah pengenal sistem yang mempunyai makna khusus bagi kompiler.
Kegunaan dari golongan ini tidak dapat diubah. Karena itu, kata kunci tidak dapat digunakan
sebagai pengenal yang dibuat oleh pemrogram.
Contoh :
asm else operator template
auto enum private this
break extern protected typedef
case float public union
char for register unsigned
class friend return virtual
const goto short void
continue if signed volatile
default inline sizeof while
delete int static
do long struct
double new switch
Ukuran memori yang diperlukan untuk masing-masing tipe data sangat bergantung pada
perangkat keras dari komputer yang digunakan. Karena itu jangkauan bilangan dari masing-
masing tipe data juga bisa berlainan antara satu jenis mesin dengan mesin lain.
Tabel ukuran berbagai tipe dasar :
TIPE DATA UKURAN JANGKAUAN NILAI JUMLAH
MEMORI DIGIT
PRESISI
char 1 byte -128 hingga +127 -
Int 2 byte -32768 hingga +32767 -
long 4 byte -2.147.438.648 hingga 2.147.438.647 -
float 4 byte 3.4x10-38 hingga 3.4x10+38 6–7
-308 +308
double 8 byte 1.7x10 hingga1.7x10 15 – 16
long double 10 byte 3.4x10-4932 hingga1.1x10+4932 19
2.5. VARIABEL
Data pada C++ tersusun dari variabel dan konstanta. Variabel digunakan dalam program
untuk menyimpan suatu nilai dan nilai yang ada padanya dapat diubah selama eksekusi
program berlangsung. Sedangkan konstanta menyatakan nilai yang tetap misalnya nilai phi
= 3.14.
6
Modul Pemprograman C++
Contoh :
int jumlah;
float harga_per_unit, total_harga;
Jika suatu variabel diisi dengan nilai diluar jangkauannya, maka nilai yang akan tersimpan
akan diubah sesuai dengan jangkauannya. Misalnya bila suatu variabel bertipe int diberi nilai
75000, yang tersimpan dalam variabel tersebut adalah 9464. (mirip dengan logika timbangan
manual).
Bentuk pernyataan yang digunakan untuk memberikan nilai ke variabel yang telah
dideklarasikan adalah : variabel = nilai;. Pernyataan ini disebut juga dengan pernyataan
penugasan .
Karakter yang ditulis dalam bentuk \ mempunyai arti tersendiri. Karakter-karakter khusus
seperti ini biasa disebut escape sequence characters
KARAKTER KETERANGAN
\0 Karakter ber-ASCII nol (karakter null)
\a Karakter bell
\b Karakter backspace
\f Karakter formfeed (ganti halaman)
\n Karakter newline (pindah baris)
\r Karakter carriage return (ke awal baris) tanpa linefeed
\t Karakter tab horizontal
\v Karakter tab vertikal
\\ Karakter \
\‟ Karakter „
\” Karakter “
\? Karakter ?
\000 Karakter yang nilai oktalnya adalah 3 digit oktal
\xhh Karakter yang nilai heksadesimalnya hh (dua digit heksadesimal)
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
char kode;
clrscr;
cout << "\t*************************\n";
cout << "\tProgram : Cetak\n";
cout << "\tDibuat oleh : Endang Retnoningsih\n";
cout << "\tTanggal : 04/04/2011\n";
cout << "\t*************************\n";
7
Modul Pemprograman C++
kode ='4';
cout << "Kode Anda : " << kode;
getch();
}
Hasil :
Namun jika nilai konstanta melebihi 65.535 dengan sendirinya akan diinterpretasikan sebagai
tipe long, sekalipun tanda L tidak diberikan.
8
Modul Pemprograman C++
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
long tunjangan, gaji ;
clrscr;
tunjangan = 1000000;
gaji = 2000000L;
cout <<"Tunjangan Rp. =" <<tunjangan;
cout <<"\nGaji Rp. =" <<gaji;
getch();
}
Hasil :
Bilangan 3,14159 biasa disebut sebagai konstanta bilangan pecahan. Nilai bilangan pecahan
juga dapat dinyatakan dalam bentuk eksponensial, misal :
2756.3 dapat ditulis menjadi 2.7563E+3 atau 2.7563e+3
sedangkan 0.0123 dapat ditulis 1.23E-2 atau 1.23e-2
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
float a,b,c,d;
clrscr;
a = 2756.3;
b = 2.7563e+3;
c = 0.0123;
d = 1.23e-2;
cout <<"Bilangan a =" <<a;
9
Modul Pemprograman C++
Adakalanya dalam penulisan program, variabel langsung diberi nilai awal setelah
didefinisikan, misal :
int jumlah;
jumlah = 10;
2.6. KONSTANTA
10
Modul Pemprograman C++
void main()
{
int x,y;
clrscr;
x=010; // bilangan oktal
y=0x10; // bilangan heksadesimal
cout <<"Nilai 10 oktal = " <<x <<" desimal";
cout <<"\nNIlai 10 heksadesimal = " <<y <<" desimal";
getch();
}
Hasil :
2. Konstanta String
Konstanta string merupakan deretan karakter yang diawali dan diakhiri dengan tanda petik
ganda (“), misal : “Selamat Belajat C++”. Konstanta ini berbeda dengan kontanta karakter
(yang diawali dengan tanda petik tunggal), misal : “A” tidak sama dengan „A‟.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr;
cout <<"\"Wingardium Leviosa..\", kata Harry Potter\n";
getch();
}
Hasil :
3. Konstanta Bernama
C++ memungkinkan pendefinisian suatu konstanta bernama. Hal ini dilakukan dengan
menggunakan kata kunci conts. Bentuk penulisan : const tipe_data nama_konstanta = nilai;
misal : const float PHI = 3.141592;
Berbeda dengan variabel, suatu konstanta bernama tidak dapat diubah setelah didefinisikan.
Menurut tradisi konstanta bernama ditulis dengan huruf kapital. Pada pendefinisian kontanta
bernama yang bertipe int, kata kunci int boleh tidak ditulis,
misal : const int MAX = 20; dapat ditulis conts MAX = 20;
11
Modul Pemprograman C++
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
const float PHI = 3.141592;
float a=2*PHI;
clrscr;
cout <<"Nilai 2 PHI = " <<a;
getch();
}
Hasil :
Pemodifikasi tipe unsigned diterapkan pada data bertipe bilangan bulat dan menyebabkan
nilai yang terkandung didalamnya selalu bernilai positif, sedangkan tipe signed merupakan
default dari tipe data dasar, yang menyatakan data bisa bernilai positif maupun negatif.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x;
clrscr;
unsigned int y;
x=1;
cout <<"Nilai x = " <<x;
y=-1;
cout <<"\nNilai y = " <<y;
12
Modul Pemprograman C++
getch();
}
Hasil :
Tampak bahwa sekalipun nilai yang diberikan ke x dan y sama-sama bernilai -1 tetapi yang
tersimpan pada kedua variabel berbeda, karena y didefinisikan sebagai unsigned yang hanya
menampung bilangan positif.
TUGAS
13
Modul Pemprograman C++
Operator merupakan simbol yang biasa dilibatkan dalam program untuk melakukan suatu
operasi atau manipulasi, misalnya untuk :
Menjumlahkan dua buah nilai
Memberikan nilai ke suatu variabel
Membandingkan kesamaan dua buah nilai
C++ memiliki operator jauh lebih banyak daripada bahasa-bahasa pemrograman lainnya,
misalnya : a+b. Simbol + merupakan operator untuk melakukan operasi penjumlahan
sedangkan a dan b disebut operand.
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. Operator Aritmatika
Operator untuk operasi aritmatika yang tergolong sebagai operator binary yaitu :
OPERATOR KETERANGAN CONTOH
* Perkalian 2*3
/ Pembagian 7/2
% Sisa pembagian (modulus) 7 % 2
+ Penjumlahan 5+4
– Pengurangan 5–4
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int a,b,c,d;
clrscr();
a=5;
b=600;
14
Modul Pemprograman C++
c=5;
d=b*b-4-a*c;
cout <<"Diketahui nilai a=5, b=600 dan c=5\n";
cout <<"Nilai Determinan = " <<d;
getch();
}
Hasil :
PRIORITAS OPERATOR
Tertinggi . [] ()
++ -- ! ~ instanceof
new (type) ekspresi
- (tanda negatif) + (tanda positif) ~ !
* / %
15
Modul Pemprograman C++
+ -
<< >> >>>
-e -r
< <= > >=
== !=
&
^
|
&&
||
Terendah ?:
= += -= *= /= %= ^=
&= |= <<= >>= >>>=
Jika operator yang memiliki prioritas sama, maka operator yang terletak di sebelah kiri
dalam suatu ungkapan akan diutamakan untuk dijalankan terlebih dahulu.
Misalnya : x = 2+3*2 identik dengan x= 2+(3*2)
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x;
clrscr();
x=2+3*2;
cout <<"Nilai 2+3*2 = " <<x;
x=(2+3)*2;
cout <<"\nNilai (2+3)*2 = " <<x;
getch();
}
Hasil :
4. Operator Penugasan
perator penugasan menggunakan simbol sama dengan (=) berguna untuk memberikan suatu
nilai ke suatu variabel. Operator ini dapat dikenakan sebagai ungkapan ataupun berdiri
sendiri sebagai pernyataan.
16
Modul Pemprograman C++
Penugasan berganda
misalnya : a = b = c = d = e = 1;
Contoh :
void main()
{
int a, b, c, d, e, x;
a=1; b=2; c=3; d=4; e=5;
clrscr();
cout <<"Nilai a=1, b=2, c=3, d=4, e=5";
x = 2 + b;
cout <<"\nNilai 2+b = " <<x;
x = 2 + (b=1);
cout <<"\nNilai 2+(b=1) = " <<x;
a=b=c=d=e=1;
cout <<"\nNilai c dari a=b=c=d=e=1 adalah " <<c;
getch();
}
Hasil :
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iostream.h>
#include <conio.h>
void main()
{
17
Modul Pemprograman C++
int x,y;
clrscr();
cout <<"Nilai x=10";
x=10;
y= 10 + x++;
cout <<"\nNilai 10 + x++ = " <<y;
x=10;
y= 10 + ++x;
cout <<"\nNilai 10 + ++x = " <<y;
x=10;
y= 10 + x--;
cout <<"\nNilai 10 + x-- = " <<y;
x=10;
y= 10 + --x;
cout <<"\nNilai 10 + --x = " <<y;
getch();
}
Hasil :
6. Operator Majemuk
C++ menyediakan operator yang dimaksudkan untuk memendekkan penulisan operasi
penugasan. Daftar berikut memberikan seluruh kemungkinan operator kombinasi dalam
suatu pernyataan.
OPERATOR CONTOH KETERANGAN
+= X+=2; X = X+2;
–= X–=2; X = X–2;
*= X*=2 X = X*2
/= X/=2 X = X/2
%= X%=2 X = X%2
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
float x;
clrscr();
cout <<"Nilai x=5";
x=5;
x+=5;
cout <<"\nNilai x+=5 : " <<x;
x=5;
18
Modul Pemprograman C++
x/=2;
cout <<"\nNilai x/=2 : " <<x;
getch();
}
Hasil :
3.2. UNGKAPAN
Misal : 3 + 2 -1
a=b+c–2
A. Ungkapan Kondisi
Ungkapan kondisi adalah ungkapan yang menjadi dasar bagi pernyataan berkondisi,
misalnya if. Ungkapan ini akan memberikan nilai benar (1) atau salah (0)
Adapun elemen yang membentuk ungkapan ini adalah operator :
1. Operator relasi
Biasa digunakan untuk membandingkan dua buah nilai, misalnya :
OPERATOR KETERANGAN
== Sama dengan
!= Tidak sama dengan
> Lebih dari
< Kurang dari
>= Lebih dari atau sama dengan
<= Kurang dari atau sama dengan
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x;
clrscr();
cout <<"Nilai 1=TRUE 0=FALSE";
x = 3 > 2;
cout <<"\nNilai 3 > 2 = " <<x;
x = 2 > 3;
19
Modul Pemprograman C++
2. Operator Logika
Operator logika biasa digunakan untuk menghubungkan dua buah ungkapan kondisi menjadi
sebuah ungkapan kondisi. Operator ini berupa :
&& untuk logika DAN
|| untuk logika ATAU
! untuk logika BUKAN
UNGKAPAN1 UNGKAPAN2 HASIL HASIL ||
&&
SALAH SALAH SALAH SALAH
SALAH BENAR SALAH BENAR
BENAR SALAH SALAH BENAR
BENAR BENAR BENAR BENAR
Bentuk pemakaian && dan || biasanya ditulis dalam tanda kurung.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x=100;
clrscr();
cout <<"Nilai x = 100, 1=TRUE dan 0=FALSE";
cout <<"\nNilai (x >= 1) && (x <= 50) ="
<< ((x >= 1) && (x <= 50));
cout <<"\nNilai (x >= 1) || (x <= 50) ="
<< ((x >= 1) || (x <= 50));
getch();
}
Hasil :
20
Modul Pemprograman C++
B. Konversi Tipe
Jika terdapat campuran beberapa tipe data dalam suatu ungkapan, C++ dengan sendirinya
akan melakukan konversi dari suatu tipe ke tipe data yang lain, misalnya :
int jumlah;
float harga_unit;
double total;
total = harga_unit * jumlah;
Mula-mula nilai jumlah akan dikonversikan menjadi bertipe float mengingat pasangan
operand ini (harga_unit) bertipe float, dan kemudian dikonversikan ke double (total). Berikut
ini adalah hirarki urutan pengkonversian :
UNGKAPAN1 UNGKAPAN2
long double Tertinggi
double
float
long
int
char Terendah
21
Modul Pemprograman C++
TUGAS
2. Nilai akhir dari pelajaran Pemprograman C++ ditentukan oleh tiga nilai yaitu :
Nilai Absensi bobot 10%
Nilai Praktek bobot 20%
Nilai UTS bobot 30%
Nilai UAS bobot 40%
Buatlah program untuk menghitung nilai akhir, jika diketahui Nilai Absensi 85, Nilai
Praktek=70, Nilai UTS=80 dan Nilai UAS= 75!
3. Buatlah program untuk menghitung Keliling, Luas Permukaan dan Isi dari sebuah bola
dengan rumus :
Keliling = 2 r
Luas Permukaan = 4/3 r3
Isi = 4 r2
Jika diketahui panjang jari-jarinya = 10 !
22
Modul Pemprograman C++
4.1. COUT
Pemakaian cout digunakan untuk meletakkan suatu informasi ke standard output (normalnya
berupa layar). Untuk menampilkan tulisan C++ diikuti dengan ganti baris (newline), Anda
dapat menggunakan perintah : cout <<”C++\n”;
Untuk menampilkan tulisan Tanggal : diikuti dengan variabel tgl dan kemudian baris baru,
Anda dapat menggunakan perintah : cout <<”Tanggal : “ <<tgl <<‟\n‟;
4.2. CIN
Obyek ini bermanfaat untuk membaca data dari standard input yaitu keyboard. Bentuk
pernyataan cin untuk membaca data dari keyboard dan meletakan ke sebuah variabel
bernama var adalah sebagai berikut : cin >> var
dimana tanda >> disebut operator “pengambilan dari”
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
float bil1, bil2, hasil;
clrscr();
cout <<"Masukkan bilangan pertama : ";
cin >>bil1;
cout <<"Masukkan bilangan kedua : ";
cin >>bil2;
hasil = bil1/bil2;
cout <<"Hasil pembagian kedua bilangan : " <<hasil;
getch();
}
Hasil :
Perintah cin juga dapat digunakan untuk membaca sebuah karakter dan string. Untuk
memasukkan sebuah string digunakan perintah : cin.getline (variabel, sizeof(variabel));
23
Modul Pemprograman C++
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
char kode;
char nama[20];
clrscr();
cout <<"Nama Lengkap : ";
cin.getline (nama, sizeof(nama));
cout <<"Kode Jabatan: ";
cin >> kode;
cout <<"\nNama Anda " <<nama <<" dengan kode jabatan = " <<kode;
getch();
}
Hasil :
Bentuk pemakaian :
karakter = getch();
karakter = getche();
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
char karakter;
clrscr();
cout <<"Masukan sebuah karakter :"; karakter = getch();
cout <<"\nAnda mengetik huruf : " <<karakter <<endl;
cout <<"Masukan sebuah karakter :"; karakter = getche();
cout <<"\nAnda mengetik huruf : " <<karakter <<endl;
24
Modul Pemprograman C++
4.4. MANIPULATOR
Manipulator umumnya digunakan untuk mengatur tampilan data, misalnya untuk mengatur
agar suatu nilai ditampilkan dengan lebar 10 karakter dan diatur rata kanan. Untuk
menggunakan manipulator dibutuhkan file header iomanip.h
1. Manipulator endl
Manipulator ini digunakan untuk menyisipkan baris baru (newline) yang identik dengan
\n.
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
int a=10, b=100, c=1000;
clrscr();
cout <<"Nilai a = " << a <<endl;
cout <<"Nilai b = " << b <<endl;
cout <<"Nilai c = " << c <<endl;
getch();
}
Hasil :
2. Manipulator setw()
Bermanfaat untuk mengatur lebar dari suatu tampilan data sehingga dapat diatur rapat
kanan. Apabila nilai parameter lebar pada setw() lebih kecil dari jumlah karakter maka
tidak akan memberikan efek apa-apa.
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
25
Modul Pemprograman C++
void main()
{
int a=10, b=100, c=1000;
clrscr();
cout <<"Nilai a = " << setw(4) <<a <<endl;
cout <<"Nilai b = " << setw(4) <<b <<endl;
cout <<"Nilai c = " << setw(4) <<c <<endl;
getch();
}
Hasil :
3. Manipulator setfill()
Manipulator ini digunakan untuk mengatur karakter yang dipakai memenuhi bagian fied
yang ditentukan setw(), yang tidak dipakai untuk menampilkan data.
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
int a=10, b=100, c=1000;
clrscr();
cout <<setfill ('*');
cout <<"Nilai a = " << setw(4) <<a <<endl;
cout <<"Nilai b = " << setw(4) <<b <<endl;
cout <<"Nilai c = " << setw(4) <<c <<endl;
getch();
}
Hasil :
26
Modul Pemprograman C++
void main()
{
int nilai=250;
clrscr();
cout <<"Nilai bilangan = " <<nilai <<endl;
cout <<"Konversi ke desimal = " << dec << nilai <<endl;
cout <<"Konversi ke oktal = " << oct << nilai <<endl;
cout <<"Konversi ke heksadesimal = " << hex << nilai <<endl;
getch();
}
Hasil :
5. Manipulator setbase()
Digunakan untuk menampilkan suatu data dalam bentuk desimal (bilangan basis 10),
oktal (bilangan basis 8) dan heksadesimal (bilangan basis 16).
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
int nilai=212;
clrscr();
cout <<"Nilai bilangan = " <<nilai <<endl;
cout <<"Konversi ke desimal = " << setbase(10) << nilai <<endl;
cout <<"Konversi ke oktal = " << setbase(8) << nilai <<endl;
cout <<"Konversi ke heksadesimal = " << setbase(16) << nilai <<endl;
getch();
}
Hasil :
6. Manipulator flush
Digunakan agar data yang dikirimkan ke cout langsung ditransfer ke standard output
tanpa menggunakan suatu penyangga (buffer). Hal ini dilakukan untuk mengefisiensikan
pengiriman ke standard output. Namun jika Anda menggunakan endl, sebenarnya
manipulator ini identik dengan newline diikuti dengan flush.
Berikut ini adalah pernyataan yang mempunyai makna yang sama :
27
Modul Pemprograman C++
7. Manipulator ends
Berfungsi untuk menambahkan karakter null (ASCII nol) ke deretan suatu karakter. Hal
ini diperlukan misalnya jika ingin mengirim sejumlah karakter ke file disk atau modem
dan mengakhirinya dengan karakter null.
Misal : cout << „a‟ <<‟b‟ <<‟c‟ <<ends;
Pernyataan di atas mengirimkan tiga buah karakter a, b dan c serta sebuah karakter null .
8. Manipulator setiosflags()
Merupakan manipulator yag dapat dipakai untuk mengontrol sejumlah tanda format,
misalnya :
ios::showpos
Digunakan untuk menampilkan tanda plus pada bilangan positif
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
void main()
{
int x=4, y=-44;
clrscr();
cout <<"Nilai sebelum showpos"<<endl;
cout <<"Nilai x = " <<x <<endl;
cout <<"Nilai y = " <<y <<endl;
cout << setiosflags(ios::showpos);
cout <<"Nilai sesudah showpos"<<endl;
cout <<"Nilai x = " <<x <<endl;
cout <<"Nilai y = " <<y <<endl;
getch();
}
Hasil :
28
Modul Pemprograman C++
clrscr();
cout <<setiosflags(ios::left) << setw(25) <<"N A M A"
<<setiosflags(ios::right) << setw(8) <<"G A J I" <<endl;
cout <<setiosflags(ios::left) << setw(25) <<"Aditya Fajar Ramadhan"
<<setiosflags(ios::right) << setw(8) <<3000000 <<endl;
cout <<setiosflags(ios::left) << setw(25) <<"Sekar Ayu"
<<setiosflags(ios::right) << setw(8) <<950000 << endl;
cout <<setiosflags(ios::left) << setw(25) <<"Annisa"
<<setiosflags(ios::right) << setw(8) <<2000000 << endl;
getch();
}
Hasil :
9. Manipulator resetiosflag()
Digunakan untuk mengembalikan format ke keadaan semula
Contoh :
#include <iostream.h>
#include <conio.h>
#include <iomanip.h>
29
Modul Pemprograman C++
void main()
{
clrscr();
cout <<setiosflags(ios::showpos);
cout <<"Nilai x =" << 44 << endl;
cout <<resetiosflags(ios::showpos);
cout <<"Nilai x setelah di resetiosflags() = " <<44 <<endl;
getch();
}
Hasil :
30
Modul Pemprograman C++
TUGAS
Proses :
FAHRENHEIT = (9/5) * CELCIUS + 32
REAMUR = (4/5) * CELCIUS
Bentuk output :
Nilai FAHRENHEIT : _
Nilai REAMUR : _
2. Nilai akhir dari pelajaran Bahasa C ditentukan oleh empat nilai yaitu :
Nilai Absensi bobot 10%
Nilai Praktek bobot 20%
Nilai UTS bobot 30%
Nilai UAS bobot 40%
Buatlah program untuk menghitung nilai akhir dengan input !
Bentuk Output :
N.I.M : _
Nama : _
Nilai Absensi : _
Nilai Praktek : _
Nilai UTS : _
Nilai UAS : _
Nilai Akhir : _
31
Modul Pemprograman C++
BAB PERNYATAAN
V DAN KONDISI
5. Pernyataan GOTO
Pernyataan yang mengarahkan eksekusi ke pernyataan berlabel yaitu pernyataan yang
diawali oleh suatu nama label dan tanda titik dua.
Bentuk pernyataan :
32
Modul Pemprograman C++
goto label;
label : pernyataan;
Pemakaian goto sedapat mungkin dihindari karena ada kecenderungan membuat program
menjadi rumit dan dapat melewatkan baris program.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
clrscr();
cout <<"Kalimat pertama..." <<endl;
goto selesai;
cout <<"Kalimat kedua..." <<endl;
selesai :
cout <<"Kalimat ketiga..." <<endl;
getch();
}
Hasil :
5.1. IF
Pernyataan if dapat dipakai untuk mengambil keputusan berdasarkan suatu kondisi.
1. Pernyataan if Sederhana
Pernyataan if yang paling sederhana berbentuk :
if (kondisi)
pernyataan;
Dimana :
1. kondisi digunakan untuk menentukan pengambilan keputusan
2. pernyataan dapat berupa sebuah pernyataan ataupun pernyataan majemuk. Bagian ini
dijalankan selama kondisi bernilai benar
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
long beli, diskon;
clrscr();
cout <<"Masukkan jumlah pembelian : Rp. ";
cin >>beli;
diskon=0;
33
Modul Pemprograman C++
Untuk pernyataan if yang diikuti dengan pernyataan majemuk, pernyataan if diapit dengan
tanda { dan }.
Bentuk penulisan :
if (kondisi)
{
pernyataan1;
pernyataan2;
pernyataan3;
}
2. Pernyataan if – else
Bentuk penulisan :
if (kondisi)
pernyataan1;
else
pernyataan2;
Pernyataan1 akan dilaksanakan selama kondisi bernilai benar sedangkan pernyataan2 akan
dilaksanakan selama kondisi bernilai salah. Untuk pernyataan if yang diikuti dengan
pernyataan majemuk, pernyataan if diapit dengan tanda { dan }.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int usia;
clrscr();
cout <<"Masukkan usia Anda : ";
cin >>usia;
if (usia < 17)
{
cout <<"Usia Anda dibawah 17 tahun " <<endl;
cout <<"Anda dilarang masuk...";
}
else
34
Modul Pemprograman C++
{
cout <<"Usia Anda 17 tahun atau lebih" <<endl;
cout <<"Silahkan masuk...";
}
getch();
}
Hasil:
3. Pernyataan if didalam if
Pernyataan if yang terletak di dalam if disebut nested if atau if bersarang.
Bentuk penulisan :
if (kondisi-1)
pernyataan-1;
else if (kondisi-2)
pernyataan-2;
else if (kondisi-m)
pernyataan-m;
else
pernyataan-n;
Penyeleksian akan dilakukan secara bertingkat, begitu ada kondisi yang bernilai benar maka
pernyataan yang bersesuaian dengan kondisi tersebut akan dilaksanakan sedangkan jika tidak
ada kondisi yang memenuhi maka pernyataan-n yang akan dijalankan.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int kode;
clrscr();
cout <<"Tujuan Wisata :" <<endl;
cout <<"1: Bandung 2: Yogyakarta 3: Bali 4: Lombok" <<endl<<endl;
cout <<"Masukkan kode tujuan : ";
cin >>kode;
if(kode==1)
cout <<"Bandung" <<endl;
else if(kode==2)
cout <<"Yoyakarta" <<endl;
else if(kode==3)
cout <<"Bali" <<endl;
else if(kode==4)
cout <<"Lombok" <<endl;
35
Modul Pemprograman C++
else
cout <<"Pilihan Anda salah...";
getch();
}
Hasil :
5. Operator Kondisi
Bahasa C++ menyediakan operator yang tergolong sebagai operator ternary, yakni operator
yang memiliki tiga buah operand dengan menggunakan simbol ?:.
Bentuk penulisan operator ini adalah : kondisi ? ungkapan-1 : ungkapan-2
36
Modul Pemprograman C++
Jika kondisi bernilai benar, maka nilai ungkapan kondisi berupa nilai ungkapan-1 sedangkan
jika kondisi bernilai salah, maka nilai ungkapan kondisi berupa nilai ungkapan-2
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x,y, maks;
clrscr();
cout <<"Masukkan nilai-1 : "; cin >>x;
cout <<"Masukkan nilai-2 : "; cin >>y;
maks=(x>y) ? x : y;
cout <<"Nilai terbesar adalah : " <<maks;
getch();
}
Hasil :
5.2. SWITCH
Di dalam pernyataan switch, sebuah variabel secara berturut-turut diuji oleh daftar konstanta
bilangan bulat atau konstanta karakter. Jika sesuai dengan sebuah konstanta, pernyataan yang
mengikuti konstanta akan dikerjakan.
Bentuk penulisan :
switch (variabel)
{
case konstanta1;
pernyataan;
break;
case konstanta2;
pernyataan;
break;
default
pernyataan;
}
Jika sebuah konstanta sesuai dengan isi variabel, pernyataan-pernyataan setelah case akan
dikerjakan sampai ditemukan pernyataan break. Pernyataan setelah default akan dikerjakan
jika tidak ada konstanta yang sesuai. Pernyataan default bersifat optional. Jika tidak ada
default dan tidak ada konstanta yang sesuai, tidak ada yang dikerjakan.
Ada tiga hal penting dalam pernyataan switch :
1. Switch hanya dapat memeriksa persamaan dengan sebuah konstanta, sedangkan if dapat
memeriksa syarat-syarat lain (lebih besar, lebih kecil, tidak sama dengan dan sebagainya)
2. Tidak ada dua konstanta yang sama didalam sebuah switch
3. Pernyataan switch lebih baik daripada tangga if-else
37
Modul Pemprograman C++
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int kelas;
float harga,pajak;
clrscr();
cout <<"Harga Barang : Rp. ";
cin >>harga;
cout <<"Masukkan Jenis Kelas (1-3) : ";
cin >>kelas;
switch (kelas)
{
case 1 :
cout <<"Jenis Barang : Makanan" << endl;
cout <<"Harga Barang : Rp. " <<harga <<endl;
pajak = 0.1 * harga;
cout <<"Pajak : Rp. " <<pajak <<endl;
break;
case 2 :
cout <<"Jenis Barang : Pakaian, Sepatu" << endl;
cout <<"Harga Barang : Rp. " <<harga <<endl;
pajak = 0.15 * harga;
cout <<"Pajak : Rp. " <<pajak <<endl;
break;
case 3 :
cout <<"Jenis Barang : Mesin-mesin" << endl;
cout <<"Harga Barang : Rp. " <<harga <<endl;
pajak = 0.175 * harga;
cout <<"Pajak : Rp. " <<pajak <<endl;
break;
default :
cout <<"Pilihan Kelas salah...!";
}
getch();
}
Hasil :
Pernyataan break di dalam switch bersifat optional. Break dipakai untuk menghentikan
pelaksanaan pernyataan-pernyataan yang mengikuti sebuah konstanta. Jika break tidak ada,
38
Modul Pemprograman C++
pernyataan pada case berikutnya akan dilaksanakan sampai ditemukan break atau akhir dari
switch.
TUGAS
1. Buat program untuk menenetukan apakah suatu bilangan bersifat GENAP atau GANJIL.
4. Perusahaan Susu ABC ingin membuat sistem penjualan susu dengan tampilan sebagai
berikut :
Susu Indomilk
Harga Susu Rp. 4000.00
Jumlah Pembelian Rp. 20000.00
Untuk daftar harga produk susu dapat dilihat pada tabel di bawah ini :
39
Modul Pemprograman C++
BAB PERULANGAN
VI (LOOPING)
6.1. WHILE
Pernyataan while merupakan salah satu pernyataan yang berguna untuk memproses suatu
pernyataan atau beberapa pernyataan beberapa kali.
Bentuk penulisan :
while (ungkapan)
pernyataan;
Bagian pernyataan yang mengikuti while akan dieksekusi selama ungkapan bernilai benar.
Perlu diketahui, pengujian terhadap ungkapan pada while dilakukan sebelum bagian
pernyataan. Oleh karena itu ada kemungkinan bagian pernyataan pada while tidak dijalankan
sama sekali, yaitu jika kondisi yang pertama kali bernilai salah.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i=1;
clrscr();
while (i<=5)
{
cout <<"Putaran ke-" <<i <<endl;
i++;
}
getch();
}
Hasil :
Pemakaian while dapat digunakan untuk mengatur agar pemakai menekan tombol pilihan
yang absah.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
40
Modul Pemprograman C++
char kode;
clrscr();
cout <<"Pilih salah satu kode [a, b, c] ?";
kode=getch();
while (!((kode =='a') || (kode=='b') || (kode=='c')))
{
kode=getch();
}
cout <<"\nPilihan Anda : " <<kode;
getch();
}
Hasil :
Pernyataan while juga dapat digunakan untuk menangani pemasukan data, menjumlahkannya
dan mencari rata-rata.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i=0;
float nilai, total, rata=0;
clrscr();
cout <<"Mencari Nilai Total dan Rata-rata" <<endl;
cout <<"Masukkan nol untuk keluar..." <<endl;
while (!(nilai == 0))
{
i++;
cout <<"Nilai ke-" <<i <<" = ";
cin >>nilai;
total+=nilai;
}
cout <<"Jumlah total nilai = " <<total <<endl;
cout <<"Rata-rata = " <<(total/(i-1));
getch();
}
Hasil :
41
Modul Pemprograman C++
6.2. DO WHILE
Pernyataan do while juga berguna untuk mengulang proses dan akan dijalankan minimal
satu kali.
Bentuk penulisan :
do
{
pernyataan;
} while (ungkapan)
Bagian pernyataan akan dijalankan secara berulang sampai ungkapan bernilai salah dan
pengujian ungkapan akan dilakukan di belakang setelah pernyataan.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x,y, maks;
char lagi;
do
{
clrscr();
cout <<"Masukkan nilai-1 : "; cin >>x;
cout <<"Masukkan nilai-2 : "; cin >>y;
maks=(x<y) ? x : y;
cout <<"Nilai terkecil adalah : " <<maks;
cout <<"\n\nUlang lagi [Y/T] ? "; cin >>lagi;
}while ((lagi=='y') || (lagi=='Y'));
getche();
}
Hasil :
6.3. FOR
Pernyataan for juga berguna untuk mengulang pengeksekusian terhadap satu atau sejumlah
pernyataan.
Bentuk penulisan :
for (ungkapan1; ungkapan2; ungkapan3)
{
pernyataan;
}
Dimana :
Ungkapan1 merupakan pernyataan inisialisasi sebelum masuk ke for
Ungkapan2 sebagai kondisi yang menentukan pengulangan terhadap pernyataan
Ungkapan3 digunakan sebagai pengatur variabel yang digunakan dalam ungkapan1
42
Modul Pemprograman C++
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
char huruf;
clrscr();
for(huruf='A'; huruf < 'Z'; huruf++)
cout <<huruf <<" ";
getch();
}
Hasil :
Pernyataan for juga dapat digunakan untuk pengendalian isi variabel yang menurun.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int x;
clrscr();
for(x=20; x>=1; x--)
cout <<x <<" ";
getch();
}
Hasil :
43
Modul Pemprograman C++
Hasil :
For Bersarang
Pada aplikasi tertentu, terkadang kita menggunakan pernyataan for yang juga berada di
dalam pernyataan for.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i,j;
clrscr();
for (i=1 ; i <= 3 ; i++)
{
for (j=1 ; j <= 5 ; j++ ) cout <<i;
cout <<"\n";
}
getch();
}
44
Modul Pemprograman C++
Hasil :
Dari contoh tersebut dapat kita simpulkan bahwa variabel i menyatakan baris dan variabel j
menyatakan kolom.
6.4. BREAK
Pernyataan break digunakan untuk memaksa keluar dari loop
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i;
clrscr();
for (i=1; i<=25; i++)
{
cout <<i <<" ";
if (i == 15) break;
}
cout <<"\nSelesai...!";
getch();
}
Hasil :
6.5. CONTINUE
Digunakan untuk menuju ke iterasi (putaran) berikutnya pada pernyataan yang terkait dengan
perulangan
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i;
clrscr();
for (i=1; i<=15; i++)
{
if (i >=5 && i <=10)
45
Modul Pemprograman C++
continue;
cout <<i <<" ";
}
getch();
} Tampak bahwa angka 5 sampai 10
Hasil : tidak ditampilkan disebabkan oleh
perintah CONTINUE
TUGAS
1. Buat program untuk menghasilkan deret bilangan Genap dan Ganjil antara 0 sampai
dengan 50
2. Buat program untuk membuat tabel suhu CELCIUS, FAHRENHEIT dan REAMUR
dengan menggunakan perintah DO-WHILE
Ketentuan :
Nilai Celcius 100 menurun ke 0
Fahrenheit = 1,8 x Celcius + 32
Reamur = 1,8 x Celcius
3. Hitunglah nilai faktorial sebuah bilangan bulat positif, bila rumus untuk faktorial adalah :
n (n!) = n*(n-1).
Contoh : 3! = 3*2*1 = 6
46
Modul Pemprograman C++
BAB FUNGSI
VII (FUNCTION)
Bentuk umum :
tipe nama_fungsi (deklarasi parameter)
{
pernyataan;
pernyataan;
}
Tipe
Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap
bilangan bulat (int)
Deklarasi parameter
Daftar tipe dan nama variabel yang akan menerima nilai pada saat fungsi tersebut
dipanggil. Setiap parameter dipisahkan oleh tanda koma. Jika fungsi tidak mempunyai
parameter daftar ini akan kosong. Jadi hanya tanda kurung saja.
Deklarasi parameter agak berbeda dengan deklarasi variabel. Pada deklarasi variabel,
Anda dapat menyatakan sebuah tipe untuk beberapa variabel yang tipenya sama. Contoh :
int a,b,c;
Tetapi pada deklarasi parameter Anda harus menyatakan setiap tipe dari parameter.
Bentuk umum :
f (tipe nama_var1, tipe nama_var2, …, tipe nama_varn);
47
Modul Pemprograman C++
Pada contoh di atas, fungsi garis() digunakan untuk menampilkan karakter garis. Fungsi
ini dipanggil tiga kali pada fungsi main(). Sebuah fungsi tidak dapat dipanggil kecuali
sudah dideklarasikan. Manfaat dari pototipe fungsi adalah untuk menjamin tipe argumen
yang dilewatkan pada pemanggilan fungsi benar-benar sesuai. Fungsi garis() tidak
memiliki argumen dan nilai baliknya tidak ada (void).
2. Dengan menggunakan pernyataan return. Pernyataan return juga dapat dipakai tanpa
menghasilkan sebuah nilai.
Pernyataan return menyatakan dua hal :
48
Modul Pemprograman C++
Setiap fungsi yang dipanggil di dalam program harus didefinisikan. Letaknya bisa dimana
saja. Khusus untuk fungsi yang disediakan sistem, definisinya sebenarnya ada dalam pustaka,
yang akan digabungkan dengan progam sewaktu proses linking.
Contoh :
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
void garis();
long kuadrat(long x);
void main()
{
clrscr();
cout <<"Nilai X" <<setw(10) <<"Kuadrat" <<endl;
garis();
for(long bil=1; bil <=10; bil++)
cout <<bil <<setw(13) <<kuadrat(bil) <<endl;
garis();
getch();
}
void garis()
{
cout <<"------------------" <<endl;
49
Modul Pemprograman C++
long kuadrat(long x)
{
return(x*x);
}
Hasil :
Pernyataan return didalam fungsi digunakan untuk memberikan nilai balik fungsi.
50
Modul Pemprograman C++
Hasil :
2. Variabel Eksternal
Adalah variabel yang didefinisikan di luar fungsi manapun. Variabel ini dikenal juga
sebagai variabel global, karena variabel ini dikenal di semua fungsi. Pendeklarasian
variabel dapat ditulis dengan awalan extern.
Contoh :
#include<iostream.h>
#include<conio.h>
int x=1;
void tambah();
void main()
{
clrscr();
cout <<"Nilai awal X = " <<x <<endl;
tambah();
tambah();
tambah();
cout <<"Nilai X setelah fungsi = " <<x <<endl;
getch();
}
void tambah()
{
extern x;
x++;
}
Hasil :
3. Variabel Statis
Baik variabel eksternal maupun otomatis dapat berkedudukan sebagai variabel statis.
Variabel statis ditulis dengan awalan static. Suatu variabel statis mempunyai sifat :
a. Jika variabel lokal berdiri sebagai variabel statis, maka :
Variabel tetap hanya dapat diakses pada fungsi yang mendefinisikannya
Variabel tidak hilang saat eksekusi fungsi berakhir
Inisialisasi akan dilakukan sekali saja, jika tidak ada maka variabel diisi
dengan nol
51
Modul Pemprograman C++
b. Jika variabel ekternal dijadikan variabel statis maka variabel ini dapat diakses oleh
semua file yang didefinisikan.
Contoh :
#include<iostream.h>
#include<conio.h>
void tambah();
void main()
{
int x=100;
clrscr();
cout <<"Nilai awal X di fungsi main = " <<x <<endl;
tambah();
tambah();
tambah();
cout <<"Nilai X di fungsi main = " <<x <<endl;
getch();
}
void tambah()
{
static int x=44;
x++;
cout <<"Nilai X di fungsi tambah = " <<x <<endl;
}
Hasil :
Jika perintah static pada fungsi tambah dihapus, maka akan menghasilkan :
52
Modul Pemprograman C++
double x;
clrscr();
x=123.456;
cout <<"Nilai x = "<<x <<" dan ::x = " <<::x <<endl;
::x=75;
cout <<"Nilai x = "<<x <<" dan ::x = " <<::x <<endl;
{
char x='Y';
::x=11;
cout <<"Nilai x = "<<x <<" dan ::x = " <<::x <<endl;
}
getch();
}
Hasil :
7.4. REFERENSI
Digunakan untuk memberikan nama alias dari variabel.
Bentuk deklarasi : int &ref = nama_variabel;
Contoh:
#include<iostream.h>
#include<conio.h>
void main()
{
int i;
int &r = i;
clrscr();
i=22;
cout <<"Nilai i = "<<i <<" dan r = " <<r <<endl;
i=44;
cout <<"Nilai i = "<<i <<" dan r = " <<r <<endl;
getch();
}
Hasil :
Tampak bahwa pengubahan nilai terhadap i maupun r akan memberikan efek yang sama.
53
Modul Pemprograman C++
long faktorial(int m)
{
if (m==0)
return(1);
else
return(m*faktorial(m-1));
}
Hasil :
Contoh program dengan fungsi dan input untuk mencari nilai terbesar dari dua bilangan.
#include<iostream.h>
#include<conio.h>
int proses (int a, int b);
void main()
{
int x, y;
clrscr();
cout <<"Mencari Nilai Terbesar" <<endl;
cout <<"Masukkan nilai x : "; cin >>x;
cout <<"Masukkan nilai y : "; cin >>y;
cout <<"Nilai terbesar adalah : " << proses(x,y);
getch();
}
54
Modul Pemprograman C++
TUGAS
1. Buat program untuk menghitung gaji harian PT. XYZ dengan ketentuan :
Gaji pokok karyawan Rp. 2000/jam
Bila karyawan bekerja lebih dari 7 jam/hari maka kelebihannya dihitung lembur yang
besarnya 1.5 dari gaji pokok
Untuk karyawan yang bekerja 8 jam/hari atau lebih akan mendapat tambahan uang
makan sebesar Rp. 3500
Karyawan yang bekerja 9 jam/hari atau lebih akan mendapat uang transport lembur
sebesar Rp. 4000
Program ini akan terdiri dari 5 buah fungsi : main(), pokok(), lembur(), makan() dan
jasa()
Input : NIP, Nama, Jumlah jam kerja
Output : NIP, Nama, Gaji pokok, Lembur, Uang makan, Transport lem
55
Modul Pemprograman C++
ceil()
Kegunaan : memperoleh nilai pembulatan ke atas.
floor()
Kegunaan : memperoleh nilai pembulatan ke bawah
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
clrscr();
cout <<"Pembulatan dengan ceil()" <<endl;
cout <<"Pembulatan 4.1 = " <<ceil(4.1) <<endl;
cout <<"Pembulatan 4.5 = " <<ceil(4.5) <<endl;
cout <<"Pembulatan 0.4 = " <<ceil(0.4) <<endl;
cout <<"Pembulatan dengan floor()" <<endl;
56
Modul Pemprograman C++
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float x;
clrscr();
cout <<"Masukkan sebuah bilangan : "; cin >>x;
cout <<"Nilai cosinus = " <<cos(x/57.2958) <<endl;
cout <<"Nilai sinus = " <<sin(x/57.2958) <<endl;
cout <<"Nilai tangen = " <<tan(x/57.2958) <<endl;
getch();
}
Hasil :
exp()
Kegunaan : memperoleh nilai eksponensial dari suatu bilangan
57
Modul Pemprograman C++
sqrt()
Kegunaan : menghasilkan akar dari suatu bilangan
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float x;
clrscr();
cout <<"Masukkan sebuah bilangan : "; cin >>x;
cout <<"Nilai exp(x) = " <<exp(x) <<endl;
cout <<"Nilai log(x) = " <<log(x) <<endl;
cout <<"Nilai log10(x) = " <<log10(x) <<endl;
cout <<"Nilai sqrt(x) = " <<sqrt(x) <<endl;
getch();
}
Hasil :
hypot()
Kegunaan : memperoleh sisi miring segitiga siku-siku
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float x, y;
clrscr();
cout <<"Masukkan alas segitiga : "; cin >>x;
cout <<"Masukkan tinggi segitiga : "; cin >>y;
cout <<"Panjang sisi miring = " <<hypot(x,y);
getch();
}
58
Modul Pemprograman C++
Hasil :
max()
Kegunaan : memperoleh nilai terbesar dari dua bilangan.
min()
Kegunaan : memperoleh nilai terkecil dari dua bilangan.
Catatan : fungsi max() dan min() menggunakan file header stdlib.h
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
int x,y;
clrscr();
cout <<"Masukkan nilai x : "; cin >>x;
cout <<"Masukkan nilai y : "; cin >>y;
cout <<"Nilai terbesar adalah " <<max(x,y) <<endl;
cout <<"Nilai terkecil adalah " <<min(x,y);
getch();
}
Hasil :
pow(x,y)
Kegunaan : memperoleh nilai x pangkat y
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
void main()
{
float x,y;
59
Modul Pemprograman C++
clrscr();
cout <<"Masukkan nilai x : "; cin >>x;
cout <<"Masukkan nilai y : "; cin >>y;
cout <<"Nilai x pangkat y = " <<pow(x,y);
getch();
}
Hasil :
srand()
Kegunaan : menghasilkan bilangan bulat secara acak dengan nilai tetap (menggunakan
file header stdlib.h)
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
{
clrscr();
srand(3);
for(int i=0; i<4; i++)
cout <<random(1000) <<endl;
getch();
}
Hasil :
randomize()
Kegunaan : menghasilkan bilangan bulat secara acak yang berubah-ubah setiap kali
program dijalankan (menggunakan file header stdlib.h)
Contoh :
#include<iostream.h>
#include<conio.h>
#include<math.h>
#include<stdlib.h>
void main()
60
Modul Pemprograman C++
{
clrscr();
randomize();
for(int i=0; i<4; i++)
cout <<random(1000) <<endl;
getch();
}
Hasil:
strupr()
Kegunaan : merubah teks menjadi huruf kapital
strlwr()
Kegunaan : merubah teks menjadi huruf kecil
Contoh :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{
char teks[50];
clrscr();
cout <<"Ketik suatu teks : "; cin.getline(teks, sizeof(teks));
cout <<"Panjang teks = " <<strlen(teks) <<endl;
cout <<"Teks dengan huruf kapital : " <<strupr(teks) <<endl;
cout <<"Teks dengan huruf kecil: " <<strlwr(teks) <<endl;
getch();
}
Hasil :
strcat ()
Kegunaan : menggabungkan string
61
Modul Pemprograman C++
Contoh :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{
char teks1[50];
char teks2[50];
clrscr();
cout <<"Ketik teks1 : "; cin.getline(teks1, sizeof(teks1));
cout <<"Ketik teks2 : "; cin.getline(teks2, sizeof(teks2));
cout <<"Digabung Menjadi : " <<strcat(teks1, teks2);
getch();
}
Hasil :
strstr()
Kegunaan : mencari suatu karakter tertentu dalam suatu string
Contoh :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{
char teks1[50];
char teks2[50];
clrscr();
cout <<"Ketik teks1 : "; cin.getline(teks1, sizeof(teks1));
cout <<"Ketik teks2 : "; cin.getline(teks2, sizeof(teks2));
if (strstr(teks1, teks2))
cout <<teks2 <<" terdapat pada " <<teks1;
else
cout <<teks2 <<" tidak ada pada " <<teks1;
getch();
}
Hasil :
62
Modul Pemprograman C++
strrev()
Kegunaan : membalik suatu string
Contoh :
#include<iostream.h>
#include<conio.h>
#include<string.h>
void main()
{
char teks1[50];
clrscr();
cout <<"Ketik teks : "; cin.getline(teks1, sizeof(teks1));
cout <<"Jika dibalik menjadi : " <<strrev(teks1);
getch():
}
Hasil :
TUGAS
1. Buat program untuk menghitung jarak peluru yang ditembakkan dari suatu lokasi dengan
sudut penembakan () dan kecepatan (V0) dimasukan melalui keyboard dan gravitasi (g)
= 9,8. Rumus untuk menghitung jarak adalah :
2 * V0 2 * Sin( ) * Cos()
Jarak peluru =
g
2. Buat program untuk mencari kata apakah POLINDROM atau tidak. Misalnya :
TAAT = TAAT : POLINDROM
KASUR = RUSAK : bukan POLINDROM
63
Modul Pemprograman C++
BAB LARIK
IX (ARRAY)
Array adalah deretan variabel yang berjenis sama dan mempunyai nama sama. Pada bahasa
C, array mempunyai lokasi yang bersebelahan. Alamat terkecil menunjuk ke elemen pertama
dan alamat terbesar menunjuk ke alamat terakhir. Sebuah elemen pada array diakses melalui
subscript atau indeks array yang dimulai dari nol.
misal :
int nilai[5];
Hal ini menyatakan array nilai dapat menyimpan lima buah data bertipe int dan dapat
digambarkan sebagai berikut :
0 1 2 3 4
Sebagai contoh jika ingin mengambil elemen3 pada gambar diatas, dapat diakses dengan
menyebutkan nilai[2].
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int nilai[5];
clrscr();
nilai[0]=11;
nilai[1]=22;
64
Modul Pemprograman C++
nilai[2]=33;
nilai[3]=44;
nilai[4]=45;
cout <<"Data Array ke-1 = " <<nilai[0] <<endl;
cout <<"Data Array ke-2 = " <<nilai[1] <<endl;
cout <<"Data Array ke-3 = " <<nilai[2] <<endl;
cout <<"Data Array ke-4 = " <<nilai[3] <<endl;
cout <<"Data Array ke-5 = " <<nilai[4] <<endl;
getch();
}
Hasil :
Untuk menyingkat program di atas, Anda dapat menggunakan perintah perulangan for untuk
memasukkan dan mencetak data.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int nilai[5];
int i;
clrscr();
for(i=0; i<5; i++)
{
cout <<"Input Data ke-" <<i+1 <<" = "; cin >>nilai[i];
}
cout <<"-- Hasil Input Data --" <<endl;
for(i=0; i<5; i++)
{
cout <<"Data Array ke-" <<i+1 <<" = " <<nilai[i] <<endl;
}
getch();
}
Hasil :
65
Modul Pemprograman C++
Program di atas akan meminta pemakai untuk memasukkan 5 buah data dari keyboard yang
akan disimpan dalam array nilai. Selanjutnya data yang ada pada array tersebut ditampilkan
ke layar.
Program di atas disebut juga dengan array berdimensi satu. Harus dipastikan bahwa tidak ada
pengaksesan elemen data diluar 0 sampai dengan 4, karena dapat menyebabkan data dari
variabel berubah.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i;
int data[7]={11,22,33,44,55,66,77};
clrscr();
for(i=0; i<7; i++)
{
cout <<"Isi elemen ke-" <<i+1 <<" = " <<data[i] <<endl;
}
getch();
}
Hasil :
B. Array String
Pada array jenis ini, indeks pertama menunjukkan banyaknya string dan indeks kedua
menunjukkan panjang maksimum string.
Bentuk penulisan :
char nama_array[jumlah array] [panjang string];
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
char nama[50][20];
int i, data;
clrscr();
66
Modul Pemprograman C++
Hasil :
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
char hari[7][20]={"Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu",
"Minggu"};
int x;
clrscr();
mulai :
cout <<"Masukkan kode hari [1-7] : "; cin >>x;
if ((x>=1 && x<=7))
cout <<"Kode = " <<x <<" adalah hari " <<hari[x-1];
else
{
cout <<"Salah Kode...!" <<endl;
goto mulai;
}
getch();
}
67
Modul Pemprograman C++
Hasil :
Deklarasi array pada bahasa C++ tidak sama dengan bahasa-bahasa lain. Biasanya setiap
dimensi dipisahkan oleh tanda koma, tetapi bahasa C++ meletakkan setiap dimensi di dalam
kurung siku.
Misalnya array dua dimensi dengan deklarasi nilai [2][3]; dapat digambarkan sebagai
berikut :
Nilai[0][0] Nilai[0][1] Nilai[0][2]
Array dua dimensi disimpan di dalam matriks yang tersusun menjadi baris dan kolom. Index
pertama menunjukkan barisnya dan index kedua menunjukkan kolomnya, misal :
A B C
nilai [2][3] =
D E F
Untuk memasukkan data array adalah dengan menyebutkan lokasi baris dan kolom dari suatu
array.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int nilai[2][3];
int x,y;
clrscr();
nilai[0][0] = 11;
nilai[0][1] = 22;
nilai[0][2] = 33;
nilai[1][0] = 44;
nilai[1][1] = 55;
nilai[1][2] = 66;
cout <<"Masukkan index baris [1-2] : ";
cin >>x;
68
Modul Pemprograman C++
Untuk memasukkan data array dua dimensi, Anda dapat menggunakan perulangan for untuk
memasukkan dan mencetak data array.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int nilai[2][3];
int i,j,x,y;
clrscr();
x=1;
for(i=0; i<2; i++)
{
y=1;
for(j=0; j<3; j++)
{
cout <<"Nilai baris-"<<x <<" kolom-"<<y <<" = ";
cin >>nilai[i][j];
y++;
}
x++;
cout <<endl;
}
69
Modul Pemprograman C++
Hasil :
clrscr();
cout <<"-- Data Array --" <<endl;
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
cout <<nilai[i][j] <<" ";
}
cout <<endl;
}
getch();
}
Hasil :
70
Modul Pemprograman C++
misal :
int nilai [2] [3] [3];
Seperti halnya array berdimensi satu atau dua, array berdimensi tiga juga bisa diinisialisasi.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int i,j,k;
int nilai[2][3][3]=
{
{{1,2,3},
{4,5,6},
{7,8,9}},
{{10,11,12},
{13,14,15},
{16,17,18}},
};
clrscr();
cout <<"-- Data Array --" <<endl;
for(i=0; i<2; i++)
{
for(j=0; j<3; j++)
{
for (k=0; k<3; k++)
{
cout <<nilai[i][j][k] <<" ";
}
cout <<endl;
}
}
getch();
}
Hasil :
71
Modul Pemprograman C++
TUGAS
1. Buat program dengan array untuk memasukkan data nilai Bahasa C++.
Input
Jumlah Data : _
NPM :_
Nama :_
Nilai UTS :_
Nilai UAS :_
Nilai Absen :_
Nilai Tugas :_
Proses
NA = ((30%*UTS)+(40%*UAS)+(10%*ABSEN)+(20%*TUGAS))
Output
LAPORAN NILAI PEMROGRAMAN C++
UNIVERSITAS ABC JAKARTA
==============================================================
NO NPM NAMA UTS UAS ABSEN TUGAS AKHIR
==============================================================
==============================================================
Dibuat Oleh : <NAMA ANDA>
2. Buat program untuk mengurutkan data pada array dengan metode bubble sort
72
Modul Pemprograman C++
BAB
X POINTER
Setiap byte di dalam memori komputer memiliki sebuah alamat. Alamat memori dimulai dari
0. Pada komputer yang memiliki memori 640Kb, alamat memori tertinggi yaitu 655.359.
Didalam memori inilah variabel disimpan. Tetapi tentu saja pemogram tidak perlu
menyebutkan alamat dari suatu variabel secara eksplisit. Pada saat program dimuat di dalam
memori, variabel akan diletakkan dengan sendirinya pada alamat tertentu.
Pointer banyak dilibatkan dalam program C++, misalnya untuk melewatkan string dari suatu
fungsi ke fungsi yang lain. Penerapan pointer yang paling umum yaitu untuk menciptakan
variabel dinamis yang memungkinkan untuk memakai memori bebas (memori yang belum
dipakai) selama eksekusi program. Variabel pointer sering dikatakan sebagai variabel yang
menunjuk ke obyek lain. Pada kenyataan yang sebenarnya, variabel pointer berisi alamat dari
suatu objek lain yaitu objek yang dikatakan ditunjuk oleh pointer. Sebagai contoh, px adalah
pointer dan x adalah variabel yang ditunjuk oleh px. Jika px berada pada alamat memori
(alamat awal) 1000, maka px akan berisi 1000.
Agar suatu pointer menunjuk ke variabel lain, mula-mula pointer harus diisi dengan alamat
dari variabel yang akan ditunjuk. Untuk menyatakan alamat dari suatu variabel, operator &
(operator alamat, yang bersifat unary) bisa digunakan dengan cara menempatkan operator di
depan nama variabel.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
int alpha=11;
int beta=22;
int charlie=33;
clrscr();
cout <<"Isi variabel :" <<endl;
cout <<"alpha = " <<alpha <<endl;
cout <<"beta = " <<beta <<endl;
cout <<"charlie = " <<charlie <<endl;
cout <<"Alamat variabel :" <<endl;
cout <<"alpha = " <<&alpha <<endl;
cout <<"beta = " <<&beta <<endl;
cout <<"charlie = " <<&charlie <<endl;
getch();
}
73
Modul Pemprograman C++
Hasil :
x=44;
px=&x;
y=*px;
cout <<"Nilai x = " <<x <<endl;
cout <<"Nilai &x = " <<&x <<endl;
cout <<"Nilai px=&x adalah " <<px <<endl;
cout <<"Isi *px = " <<*px <<endl;
cout <<"Nilai y=*px adalah " <<y;
getch();
}
Hasil :
Antara tipe pointer dan tipe objek yang akan ditunjuk oleh pointer haruslah sejenis.
Contoh :
/* Pemakaian pointer yang salah */
#include <iostream.h>
74
Modul Pemprograman C++
#include <conio.h>
void main()
{
float *pu;
float nu;
int u = 1234;
clrscr();
pu=&u; //pernyataan ini salah karena tipe pu dan u berbeda
nu = *pu;
cout <<"Nilai u = " <<u <<endl;
cout <<"Nilai nu = " <<nu;
getch();
}
Program di bawah ini memberikan gambaran tentang pengubahan isi suatu variabel secara
tak langsung.
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
float d, *pd;
clrscr();
d=54.5;
cout <<"Isi d semula = " <<d <<endl;
pd=&d;
*pd = *pd + 10; // identik dengan d = d + 10
cout <<"Isi d kini = " <<d;
getch();
}
Hasil :
75
Modul Pemprograman C++
clrscr();
ptgl = tgl_lahir; // ptgl berisi alamat array
for (i=0; i<3; i++)
cout <<"Elemen subscript ke-" <<i <<" adalah " <<*(ptgl+i) <<endl;
getch();
}
Hasil :
76
Modul Pemprograman C++
77
Modul Pemprograman C++
clrscr();
cout <<"Masukkan Kode Bulan [1..12] : ";
cin >> bl;
cout <<"Kode bulan : " <<bl <<", nama bulan = " <<nama_bulan(bl) <<endl;
cout <<"Input lagi [y/t] : ";
lagi=getch();
}
while (lagi == 'y' || lagi == 'Y');
}
char *nama_bulan(int n)
{
static char *bulan[] =
{
"Kode bulan salah", "Januari", "Februari", "Maret", "April",
"Mei", "Juni", "Juli", "Agustus", "September", "Oktober",
"November", "Desember"
};
return ((n<1 || n>12) ? bulan[0] : bulan[n]);
}
Hasil :
78
Modul Pemprograman C++
int x = 44;
int *px1;
int **px2;
px1=&x;
px2=&px1;
cout <<"Nilai x=44" <<endl;
cout <<"Nilai &x = " <<&x <<endl;
cout <<"Nilai &px1 = " <<&px1 <<endl;
cout <<"Nilai *px1 = " <<*px1 <<endl;
cout <<"Nilai **px2 adalah : " <<**px2 <<endl;
getch();
}
Hasil :
TUGAS
79
Modul Pemprograman C++
BAB STRUKTUR
XI (STRUCT)
Struktur adalah koleksi dari variabel yang dinyatakan dengan sebuah nama dengan sifat
setiap variabel dapat memiliki tipe yang berlainan. Struktur biasa dipakai untuk
mengelompokkan beberapa informasi yang berkaitan menjadi sebuah kesatuan.
Struktur bermanfaat untuk mengelompokkan sejumlah data dengan tipe yang berlainan.
Masing –masing tipe elemen struktur dapat berlainan. Adapun variabel struktur menyatakan
bahwa variabel struktur yang dideklarasikan bisa lebih dari satu dan dipisahkan dengan tanda
titik koma.
Deklarasi struktur :
struct nama_tipe_struktur
{ tipe field-1;
tipe field-2;
tipe field-n;
} variabel_struktur1, ..., variabel struktur-n;
Misalnya :
struct data_tanggal ATAU struct data_tanggal
{ int tanggal; { int tanggal;
int bulan; int bulan;
int tahun; int tahun;
}; } tgl_lahir;
data_tanggal tgl_lahir;
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
char nama[25];
struct data_tanggal
{ int tanggal;
80
Modul Pemprograman C++
int bulan;
int tahun;
}tgl_lahir;
clrscr();
cout <<"Nama Anda : "; cin.getline(nama, sizeof(nama));
cout <<"Tanggal Lahir : "; cin >>tgl_lahir.tanggal;
cout <<"Bulan Lahir : "; cin >>tgl_lahir.bulan;
cout <<"Tahun Lahir : "; cin >>tgl_lahir.tahun;
clrscr();
cout <<"Nama lengkap : " <<nama <<endl;
cout <<"Tanggal Lahir : " <<tgl_lahir.tanggal <<"-"
<<tgl_lahir.bulan <<"-"
<<tgl_lahir.tahun;
getch();
}
Hasil :
Dalam suatu struktur, elemen yang terkandung di dalamnya bisa juga berupa struktur,
misalnya :
struct data_tanggal
{ int tanggal;
int bulan;
int tahun;
} tgl_lahir;
struct data_rekan
{ char nama[25];
struct data_tanggal tgl_lahir;
} info_rekan;
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
81
Modul Pemprograman C++
int i,n;
struct data_tanggal
{ int tanggal;
int bulan;
int tahun;
};
struct data_rekan
{ char nama[30];
struct data_tanggal tgl_lahir;
}info_rekan;
<<info_rekan.tgl_lahir.bulan <<"-"
<<info_rekan.tgl_lahir.tahun;
getch();
}
Hasil :
82
Modul Pemprograman C++
struct data_tanggal
{ int tanggal;
int bulan;
int tahun;
} lahir;
cout <<"Tanggal Lahir : "; cin >>lahir.tanggal;
cout <<"Bulan Lahir : "; cin >>lahir.bulan;
cout <<"Tahun Lahir : "; cin >>lahir.tahun;
cetak_tanggal(lahir.tanggal, lahir.bulan, lahir.tahun);
}
Contoh :
#include <iostream.h>
#include <conio.h>
void main()
{
struct data_tanggal
{ int tanggal;
83
Modul Pemprograman C++
int bulan;
int tahun;
};
struct data_rekan
{
char nama[21];
struct data_tanggal tgl_lahir;
};
jumlah ++;
cout <<"Mau memasukkan data lagi [y/t] ? ";
tombol = getch(); cout <<endl;
} while (tombol== 'y');
clrscr();
cout <<"Data Rekan : NAMA - TANGGAL LAHIR" <<endl;
for(i=0; i<jumlah; i++)
cout <<info[i].nama <<" - " <<info[i].tgl_lahir.tanggal <<"-"
<<info[i].tgl_lahir.bulan <<"-"
<<info[i].tgl_lahir.tahun <<endl;
getch();
}
Hasil :
84
Modul Pemprograman C++
TUGAS
1. Buat program untuk menentukan zodiak kelahiran dengan menggunakan Array dengan
Struktur.
Bentuk keluaran :
Tanggal Lahir Anda [tgl-bln-tahun] : 24-12-1970
Zodiak Anda adalah : CAPRICORN
85
Modul Pemprograman C++
DAFTAR PUSTAKA
Jogiyanto, H.M. 2006. Konsep Dasar Pemprograman Bahasa C (Edisi Empat). Andi Offset.
Yogyakarta.
Kristianto, Andri. 2009. Algoritma dan Pemrograman dengan C++ (Edisi Dua). Graha Ilmu.
Yogyakarta.
Munir, Rinaldi. 1999. Algoritma dan pemrograman dalam bahasa Pascal dan C.
Informatika. Bandung.
Utama, Didit N. & Widayanti, Riya. 2005. Algoritma & Pemrograman dengan Borland
C++. Graha Ilmu. Yogyakarta.
86