Anda di halaman 1dari 41

MODUL PRAKTIKUM LOGIKA DAN PEMROGRAMAN

MENGGUNAKAN BAHASA C++


OLEH
RISNA PALUPI
UNIVERSITAS NUSANTARA PGRI KEDIRI
2009
BAB I
PENGENALAN BAHASA C++
1.1. PENDAHULUAN
Bahasa pemrograman computer terdiri atas dua bagian, yaitu bahasa
pemrograman tingkat tinggi (high level language) dan bahasa pemrograman
tingkat rendah (low level language). Penggolongan ini didasarkan pada
kemudahan untuk mempelajari bahasa pemrograman komputer tersebut dan
kecepatan eksekusinya.
Makin tinggi tingkat suatu bahasa pemrograman komputer, maka
bahasa pemrograman komputer tersebut akan makin mudah dipelajari. Dan
sebaliknya, makin rendah tingkat suatu bahasa pemrograman komputer,
maka makin tinggi kecepatan eksekusinya.
Bahasa pemrograman C++ adalah salah satu bahasa pemrograman
komputer tingkat tinggi. al ini dikarenakan bahasa pemrograman C++
termasuk bahasa pemrograman komputer yang mudah dipelajari. !etapi
bahasa pemrograman C++ lebih banyak digunakan daripada bahasa
pemrograman lainnya, karena memiliki kecepatan eksekusi yang cukup tinggi
bila dibandingkan dengan bahasa pemrograman komputer tingkat tinggi
lainnya.
Bahasa pemrograman C++ memiliki keunikan tersendiri dari bahasa
pemrograman komputer yang lain, yaitu bersi"at case sensitive (membedakan
antara huru" kecil dan huru" kapital), dimana hampir semua perintah dalam
bahasa pemrograman C++ menggunakan huru" kecil.
1.2 PENGGUNAAN COMPILER C++
Dalam praktikum ini kita akan menggunakan tool software !urbo C++,
untuk menjalankan so"t#are tersebut langkah$langkah yang dilakukan, yaitu%
&. Mendouble click icon turbo C++
2
'. Maka akan muncul tampilan aplikasi sebagai berikut,
(. )alu untuk menulis program C++*coding kita buka +ile ,e#, maka akan
muncul layar putih tempat untuk menulis program C++.
-. .ntuk mengeksekusi dan mencompile (menjalankan) program C++ yang
telah kita buat kita mengklik tombol petir berikut%
/. 0pabila program yang telah dibuat sudah benar akan muncul layar dengan
background hitam*putih (aplikasi). 1edangkan apabila masih salah akan
muncul pesan kesalahan diba#ah tempat anda menulis program dan tidak
akan muncul layar hitam sampe program yang anda tulis benar.
1.3 STRUKTUR PROGRAM C++
1.3.1 TUJUAN PRAKTIKUM
a. Mengetahui struktur program C++
b. Mengetahui si"at dan "ungsi tiap struktur program C++
1.3.2. TEORI DASAR
1truktur dasar program bahasa C++ adalah sebagai berikut%
o PREPROCESSOR DIRECTIVES
o DEKLARASI GLOBAL
o FUNGSI UTAMA
Preprocessor directives merupakan perintah dalam bahasa C++ yang
akan membuat dan mengkompilasi "ile perantara dengan program utama.
3
Deklarasi global merupakan bagian program C++ tempat
pendeklarasian konstanta, 2ariabel, "ungsi atau header "ungsi, tipe data baru,
atau struktur data yang memiliki si"at global.
+ungsi utama adalah "ungsi pertama yang akan dieksekusi oleh
kompiler C++. Dan kompiler C++ hanya akan mengeksekusi "ungsi$"ungsi
lain yang dipanggil pada "ungsi utama atau yang memiliki hubungan dengan
"ungsi utama secara tidak langsung.
De"inisi "ungsi merupakan tempat pende"inisian header "ungsi yang
telah dideklarasikan pada bagian deklarasi global.
1.3.3 STRUKTUR LISTING PROGRAM
Cono!"
1
2
3
4
5
6
7
8
9
10
11
//preprocessor directive
#include <stdio.h> //file header
//deklarasi global
int TES = 1000
//fungsi uta!a
int !ain"#
$
printf"%&ilai TES= 'd%( TES#
return 0
)
1.3.# PROSEDUR PRAKTIKUM
&. Buat program seperti pada contoh diatas
'. Pelajari dan jalankan program
(. 3ika terjadi kesalahan program, perbaikilah sehingga program dapat
berjalan.
-. apus header dan jalankan program
/. 4embalikan header.
5. Pindahkan deklarasi global ke bagian paling akhir dari program dan
jalankan program.
6. 4embalikan baris deklarasi global ke tempat semula.
4
#include<nama_file_header.h> preprocessor directives
tipe*data nama_variabel; delarasi variable !lobal
tipe*data main"# f$n!si $tama
%
&
7. apus kata int pada "ungsi utama dan jalankan program.
1.3.$ DATA HASIL PERCOBAAN
&. 0pa yang terjadi apabila header dihapus dan program dijalankan8
'. 0pa yang terjadi pada saat deklarasi global dipindahkan ke bagian akhir
program8
(. 0pa yang terjadi pada saat kata int pada "ungsi utama dihapus8
NB " So%& '%n (%)%*%n '+,&+- '+./0%- '+.,12,&.%n '+ %.!+0
20%.+.,1
1.# PERN3ATAAN4 VARIABEL4 KONSTANTA DAN TIPE DATA
1.#.1 TUJUAN PERCOBAAN
o Memahami pengertian dan penggunaan pernyataan, 2ariabel dan
konstanta dalam bahasa C++
o Memahami penggunaan tipe data standar pada bahasa C++
o Memahami cara pende"inisian tipe data baru pada bahasa C++
1.#.2 TEORI DASAR
Pernyataan dalam bahasa C++ merupakan serangkaian atau kelompok
rangkaian perintah*simbol standar C++, perintah*simbol yang dide"inisikan
pemrogram, 2ariabel*konstanta, dan atau operator yang diakhiri dengan
tanda 9 (titik koma*semi-colon).
:ariabel pada bahasa C++ adalah bagian dari memori yang hanya
dapat menampung satu data*in"ormasi pada satu #aktu, dimana
data*in"ormasi tersebut dapat berubah setelah dideklarasikan selama
pengeksekusian program. :ariabel dilambangkan dengan simbol yang
dide"inisikan oleh pemrogram dan 2ariabel harus dideklarasikan terlebih
dahulu sebelum dapat digunakan. Pendeklarasian 2ariabel pada bahasa C++
adalah sebagai berikut,
5
pern'ataan;
tipe_data nama_variabel;
:ariabel dapat langsung diberi nilai a#al pada saat pendeklarasiannya.
Pemberian nilai tersebut dapat dilakukan dengan cara sebagai berikut,
4onstanta merupakan 2ariabel yang data*nilainya tidak dapat diubah
setelah dideklarasikan selama pengeksekusian program. Cara
mendeklarasikan konstanta adalah sebagai berikut,
Cara lain untuk mendeklarasikan konstanta adalah dengan
mendeklarasikannya sebagai makro, yaitu sebagai berikut,
Besarnya bagian memori yang digunakan oleh 2ariabel atau konstanta
untuk menampung data*in"ormasi tergantung dari tipr data*in"ormasi yang
digunakan. !ipe$tipe data standar yang terde"inisikan pada bahasa C++ dapat
dilihat dalam tabel &.&.
!abel &.&. !ipe$tipe data standar pada bahasa C++
!ipe data .kuran
presisi
3angkauan nilai 3umlah digit
presisi
&. char
'. int
(. long int
-. "loat (desimal)
/. double
5. long double
& byte
' byte
- byte
- byte
7 byte
&; byte
$&'7 sampai +&'6
$('657 sampai +('656
$'&-6-(75-7 sampai
+'&-6-(75-6
(.-<&;
$(7
hingga (.-<&;
+(7
&.6<&;
$(;7
hingga &.6<&;
+(;7
(.-<&;
$-=('
hingga &.&<&;
+-=('
$
$
$
5$6
&/$&5
&=
P/1o'+5+.%-+%n +2/ '%% ,n-+6n/' '%n -+6n/'
.ntuk pemodi"ikasian +2/ ,n-+6n/' diterapkan pada data bertipe
bilangan bulat (char, short, int dan long). :ariable yang ditambahi unsigned
akan 1/n7/*%*.%n n+&%+ 7%n6 /0.%n',n6 '+'%&%1n7% -/&%&, */0n+&%+
2o-++54 -/!+n66% (%n6.%,%nn7% %.%n */0,*%!.
6
tipe_data nama_variabel(nilai_a)al;
const tipe_data
#define nama_maro definisi_maro;
.ntuk pemodi"ikasian tipe -+6n/' merupakan de"ault dari tipe data
dasar, yang menyatakan data bernilai positi" maupun negati2e. Pemodi"ikasian
tipe data dapat dilihat pada tabel &.'
!abel &.'. !ipe$tipe data pemodi"ikasian pada bahasa C++
&. char * signed char
'. unsigned char
(. int * signed int
-. short int * signed short int
/. unsigned int
5. long int * signed long int
6. unsigned long int
.ntuk mende"inisikan suatu tipe data baru selain tipe$tipe data standar
pada bahasa C++ digunakan perintah berikut%
Cono! P0o60%1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
**contoh pen$!asan dan pen!!$naan tipe data
+incl$de ,iostream.h-
**delarasi !lobal
void main"#
%
int .; ** si!ned int **delarasi variable local
$nsi!ned int ';

. ( /1;
co$t ,, 0. ( 1 ,, . ,, 23n4;
' ( /1;
co$t ,, 0' ( 1 ,, ' ,, 23n4;
&
1.#.3 PROSEDUR PRAKTIKUM
&. 1alinlah program diatas.
'. )alu jalankan program diatas pelajari hasilnya.
(. )alu gantilah tipe data < dengan tipe data char
-. )alu gantilah tipe data y dengan tipe data unsigned char
/. 0pabila terjadi kesalahan perbaikilah nilai 2ariabel sampai benar.
5. )alu gantilah tipe data < dengan tipe data long int.
6. )alu gantilah tipe data y dengan tipe data unsigned long int.
7. 0pabila terjadi kesalahan perbaikilah dengan mengganti nilai 2ariabel
sampai benar.
7
t+pedef tipe_data tipe_data_bar$;
1.#.# DATA HASIL PERCOBAAN 8TK I9
&. Bagaimana hasil dari prosedur praktikum & dan '8
'. Bagaimana hasil dari prosedur praktikum ( sampai /8
(. Bagaimana hasil dari prosedur praktikum 5 sampai 78
NB " So%& '%n (%)%*%n '+,&+- '+./0%- '+.,12,&.%n '+ %.!+0
20%.+.,1
1.$. M%-,.%n '%n K/&,%0%n 8In2, '%n O,2,9
1.$.1 T,(,%n
.ntuk memahami penggunaan input*output routines pada bahasa C++
1.$.2 T/o0+ D%-%0
Pustaka input*output merupakan pustaka yang berisi stream dan
"ungsi$"ungsi input*output. Pustaka ini telah ada di header -'+o.! dan
+o-0/%1.!.
Dalam bahasa C pustaka >*? yang digunakan adalah -'+o.! yang
berisi "ungsi$"ungsi seperti 20+n5 dan -:%n5. 1can"(cin) digunakan untuk
memasukkan sebuah nilai ke 2ariable dan print"(cout) digunakan untuk
mencetak suatu nilai dari 2ariable maupun konstanta. 1intak dari scan" dan
print" sebagai berikut%
@ang dimaksud dengan string "ormat pada "ungsi scan" dan print"
merupakan string karakter yang terdiri atas ( jenis yaitu%
&) 4arakter #hitespace yang merupakan blank, tab(At) dan baris baru(An)
') 4arakter selain #hitespace yang merupakan 01C>> selain tanda B
() +ormat spesi"ik yang dia#ali dengan B memiliki "ormat sebagai
berikut%
8
Scanf(string format, alamat variabel);
Printf(string format, variabel)
%[width] tipearater
Dalam bahasa C++ pustaka >*? yang digunakan adalah +o-0/%1.!
yang berisi dengan stream input cin*scan", stream output*print" cout, untuk
standard error stream menggunakan cerr dan clog, untuk cerr yang telah
terbu""er. ?perasi untuk cin sebagai input digunakan operator CC dan cout,
cerr, clog sebagai output menggunakan operator DD.
Cono! 2/n66,n%%n In2, O,2,
1. Cono! 2/n66,n%%n 20+n5 '%n -:%n5
2. Cono! 2/n66,n%%n :+n '%n :o,
1.$.3 P0o-/',0 P0%.+.,1 8TGS II9
9
&. salinlah program contoh pertama dan kedua
'. apabila ada kesalahan perbaikilah sampai tidak ada error.
(. gantilah inputan untuk kedua contoh program dengan angka ;,7777
-. perbaikilah hingga output kedua contoh program sama dengan nilai
inputnya.
/. lakukan prosedur ( dan - tetapi nilai input diganti dengan angka $&'/;;;
5. lakukan prosedur ( dan - tetapi nilai input diganti dengan angka &,/ < &;
pangkat $/ * &,/e$/
1.$.#. D%% H%-+& P0%.+.,1
&. 0pa yang harus diganti pada program contoh & dan ' apabila input
diganti dengan ;,77778
'. 0pa yang harus diganti pada program contoh & dan ' apabila input
diganti dengan $&'/;;;8
(. 0pa yang harus diganti pada program contoh & dan ' apabila input
diganti dengan &,/ < &; pangkat $/8
-. bagaimana output program sesuai prosedur ($5 8
BAB II
10
OPERATOR DAN SELEKSI
2.1. O2/0%o0
2.1.1. T,(,%n P0%.+.,1
Memahami penggunaan operator unary dan binary pada C++
Memahami prioritas dan urutan pengeksekusian operator pada
C++
2.1.2. T/o0+ D%-%0
?perator merupakan symbol yang biasa dilibatkan dalam program
untuk melakukan sesuatu operasi atau manipulasi. ?perand adalah
objek dari operator. ?perator dan o2/0%n' akan membentuk ekspresi.
Ekspresi ini dapat membentuk suatu pernyataan. Berikut ini
penggolongan operator$operator standar yang terdapat dalam bahasa
pemrograman C++.
1. O2/0%o0 A0+1%+.%
?perator aritmatika yang disediakan oleh C++ antara lain
perkalian, pembagian, modulus, penjumlahan, pengurangan, yang
berturut turut di#akili oleh symbol F,*,B,+,$.
Contoh program %
; < # = 3
2. O2/0%o0 P/n,6%-%n
?perator penugasan yang berupa symbol sama dengan ( G )
ber"ungsi untuk memberikan suatu nilai ke suatu 2ariable.
3. O2/0%o0 P/n%+.%n '%n P/n,0,n%n
11
?perator ini berhubungan dengan operator aritmatika. ?perator
penaikan (increment) dan operator penurunan (decrement) berturut$
turut di#akili oleh symbol ++ dan $$. ?perator ini bisa diletakkan di
belakang atau didepan operand.
Contoh program
#. O2/0%o0 B+)+-/ 8M%n+2,&%-+ B+9
.ntuk keperluan manipulasi data dalam bentuk bit C++
menyediakan enam buah operator yaitu geser bit kekiri, geser bit
kekanan, and, or, <or dan nor yang berturut$turut menggunakan
symbol DD, CC, H, I, J, K
Contoh program%
$. O2/0%o0 R/&%-+
?perator relasi digunakan untuk membandingkan dua buah
operand*:0L>0BE). ?perator yang digunakan%
C lebih dari CG lebih dari atau sama dengan
MG tidak sama dengan D kurang dari
GG sama dengan DG kurang dari atau sama dengan
12
Contoh program
12 > 3 ? 1
12 @ 3 0
A. O2/0%o0 Lo6+.%
?perator logika digunakan untuk menghubungkan dua buah
operand menjadi sebuah ungkapan kondisi. ?perator yang digunakan%
HH (and), II(or), M(not).
Contoh program
;. O2/0%o0 Kon'+-+
?perator kondisi digunakan untuk mendapatkan sebuah nilai dari
dua buah kemungkinan, berdasarkan suatu kondisi. Biasanya
menggunakan pernyataan berkondisi +5.
Bentuk umumnya %
13
ekspresi 8 ?perand' % ?perand(
,ilai yang diambil dari operand' kalau operand& bernilai benar.
,ilai yang diambil dari operand( kalau operand& bernilai salah.
Contoh program
2.1.3 P0o-/',0 P/0:o*%%n
&.Buatlah program untuk menghitung luas segitiga
'. Buatlah program untuk menghitung s G r+pFN$p
(. Buatlah program menggunakan operator penaikan dan penurunan
-. Buatlah program menggunakan operator bit#ise
/. Buatlah program menggunakan operator logika
5. Buatlah program menggunakan operator kondisi
6. Buatlah program menggunakan operator relasi.
2.1.#. D%% H%-+& 2/0:o*%%n 8TGS III9
&. Bagaimana output prosedur no & 8
'. Bagaimana output prosedur no ' dan bagaimana urutan pengerjaan
operatornya8
(. Bagaimana output prosedur no ( 8
-. Bagaimana output prosedur no - 8
/. Bagaimana output prosedur no / 8
5. Bagaimana output prosedur no 5 8
6. Bagaimana output prosedur no 6 8
7. Bagaimana output prosedur no 7 8
14
NB" 20o60%1 7%n6 '+*,% +'%. *o&/! -%1% %n%0% %n%. 7%n6
-%, '%n 7%n6 &%+n -/0% +'%. *o&/! -%1% '/n6%n :ono! '+%%-.
S//&%! 20%.+.,1 ,6%- )%(+* '+.,12,&.%n ./ ./,% ./&%-.
2.2. SELEKSI KONDISI
2.2.1. T,(,%n P0%.+.,1
Memahami penggunaan penyeleksi kondisi yang ada di dalam
bahasa pemrograman C++
2.2.2. T/o0+ D%-%0
Perintah untuk percabangan bersyarat yang disediakan oleh C++
adalah if, if-else,switch.
19 P/0n7%%%n if
Pernyataan i" mempunyai "ormat sebagai berikut%
4ondisi yang akan diperiksa oleh pernyataan i" harus dituliskan di
dalam tanda kurung dan harus memiliki nilai benar atau salah.
Pernyataan akan dilaksanakan apabila kondisi bernilai benar.
29 P/0n7%%%n if-else
Pernyataan i"$else mempunyai "ormat sebagai berikut%
1eperti pada pernyataan i" maka kondisi yang akan diperiksa oleh
pernyataan i" harus dituliskan di dalam tanda kurung dan harus
memiliki nilai benar atau salah. Pernyataan& akan dilaksanakan apabila
kondisi bernilai benar dan pernyataan' akan dilaksanakan apabila
kondisi bernilai salah. Contoh program &%
15
if "ondisi# pern'ataan;
if "ondisi# pern'ataan1;
else pern'ataan2;
39 P/0n7%%%n switch
3ika dalam program, dibutuhkan penyeleksi kondisi dengan
banyak alternati2e (lebih dari dua), biasanya digunakan pernyataan
switch. Pernyataan s#itch mempunyai "ormat sebagai berikut%
pernyataanO& hanya akan dilaksanakan apabila nilai 2ariabel sama
dengan nilai&O2ariabel. PernyataanO' hanya akan dilaksanakan apabila
nilai 2ariable sama dengan nilai'O2ariabel. PernyataanOn hanya akan
dilaksanakan apabila nilai 2ariabel tidak ada yang sesuai dengan nilai$
nilai 2ariabel penguji diatasnya.
2.2.3. P0o-/',0 P/0:o*%%n 8TGS III9
&. 3alankan contoh program &, masukkan nilai seperti (;, //,
5;, 5&, 7;.
'. )akukan modi"ikasi contoh program & dengan seleksi kondisi dimulai
dari 6%6%&.
16
s,itch "variabel#
$
case nilai1_variabel - pern'ataan_1;brea;
case nilai2_variabel - pern'ataan_2;brea;
.
.
default 5 pern'ataan_n; brea;
&
3. L%.,.%n 1o'+5+.%-+ &%6+ ,n,. :ono! 20o60%1 1 '/n6%n
.on'+-+ (+.% n+&%+ '+%%- A0 '+n7%%.%n &,&,-4 (+.% n+&%+n7%
&/*+! ./:+& '%0+ #0 '+n7%%.%n 6%6%&. N+&%+ %n%0% #0 '%n A0
1%.% !%0,- 1/n6+.,+ ,(+%n ,&%n6.
#. B,%&%! 20o60%1 1/n66,n%.%n .on'+-+ ,n,. 1/n6!+,n6
:0+/0+% */0% *%'%n 1/n66,n%.%n In'/.- M%--% T,*,! 8IMT94
7%n6 *+-% '+!+,n6 '/n6%n "
IMT = *B
2
*=*/0% *%'%n 8.69
=+n66+ *%'%n 819
:0+/0+% IMT -**4
IMT @= 1C.$ K,0,-
1C.$@IMT@= 2$ No01%&
2$@IMT@= 30 G/1,.
IMT>30 K/6/1,.%n
O,2,"
B/0% *%'%n 8.69 = #$
T+n66+ *%'%n 819 = 1.;2
N+&%+ IMT %n'% 1;.04 %n'% /01%-,. :0+/0+% .,0,-
2.2.# D%% !%-+& 2/0:o*%%n
&. Bagaimana hasil dari prosedur &8
'. Bagaimana coding dari prosedur '8
(. Bagaimana hasil dan coding prosedur (8
Contoh program '
17
18
BAB III
PERULANGAN
3.1. P/0,&%n6%n 8Loo2+n69
3.1.1. T,(,%n P0%.+.,1
Memahami penggunaan jenis perulangan terstruktur yang ada
pada bahasa pemrograman C++
3.1.2. T/o0+ D%-%0
1%. P/0,&%n6%n 5o0
Perulangan "or juga digunakan untuk mengulangi serangkaian
instruksi, yang pada umumnya digunakan pada perulangan dalam
bentuk iterasi. Pernyataan "or memiliki "ormat sebagai berikut%
4eterangan%
.ngkapan& % nilai a#al suatu perulangan iterasi
.ngkapan' % kondisi yang menjadi syarat agar perulangan atau iterasi
tetap berlangsung
.ngkapan( % umumnya kontrol perulangan atau iterasi
Perulangan "or akan mengeksekusi pernyataan selama bagian
pernyataan sesuai dengan ungkapan yang ada pada ungkapan'.
19
for "$n!apan1; $n!apan2; $n!apan3#
pern'ataan;
1*. Fo0 */0-%0%n6 8n/-/' &oo29
Pada aplikasi tertentu, terkadang kita menggunakan pernyataan
"or yang berada di dalam pernyataan "or. 1alah satu contohnya adalah
apabila kita ingin menghasilkan tampilan sebagai berikut%
F
F F
F F F
F F F F
F F F F F
Contoh programnya, yaitu%
2. P/0,&%n6%n )!+&/
Perulangan dengan #hile merupakan perulangan yang
1/1/0&,.%n '%n 1/n66,n%.%n syarat a#al. Berikut ini adalah
deklarasi perulangan #hile.
Bagian pernyataan juga dapat berupa pernyataan majemuk, bentuk
deklarasinya adalah sebagai berikut%
20
)hile "ondisi#
6ern'ataan;

3. P/0,&%n6%n 'oD.)!+&/
Pada perulangan dengan doP#hile memerlukan suatu syarat
tertentu agar bagian pernyataan terus dieksekusi yaitu syarat akhir.
Deklarasinya%
o
21
)hile "ondisi#
%
6ern'ataan_1;
6ern'ataan_2;
6ern'ataan_n;
&
do
%
6ern'ataan_1;
6ern'ataan_2;
6ern'ataan_n;
&
)hile "ondisi#;
pada perulangan doP#hile, pernyataan akan dijalankan berulang$
ulang sampai kondisi bernilai salah.
3.1.3 P0o-/',0 P0%.+.,1 8TGS V9
&. 1alinlah contoh program #hile diatas
'. Coba kerjakan contoh program #hile tersebut menggunakan doP
#hile.
(. gunakan "or bersarang untuk menghasilkan output %
, G -
& F F F F F F
' ' F F F F
( ( ( F F
- - - -
22
BAB IV
ARRA3
#.1. A00%7
#.1.1 T,(,%n P0%.+.,1
Memahami penggunaan array dalam C++
3.2.2 D%-%0 T/o0+
0rray atau )arik adalah 2ariabel kompleks*struktur yang memiliki
tipe data yang sama. Elemen$elemen array tersusun secara seNuensial
dalam memori computer. 0rray dapat berupa satu dimensi, dua
dimensi, tiga dimensi, ataupun banyak dimensi.
1. A00%7 -%, '+1/n-+
@aitu kumpulan elemen$elemen identik yang tersusun dalam satu
baris. Elemen$elemen tersebut memiliki tipe data yang sama, tetapi isi
dari elemen itu boleh berbeda. Berikut ini adalah konsep array satu
dimensi%
; & ' ( - / 5 6 7 =
&6 '& (( & -7 ; ' &5 6' =
Bentuk umum
tipe.ata 7ama8rra' 9:$mlah;lemen< ( %,=nisialisasi-&;
int Bola Q&;R G S &6, '&, ((, dstT9
Contoh%
unsigned int >in!!i?adan 9100<;**delarasi arra'
bool @adir 95< ( %tr$eA tr$eA falseA false&;**pemberian nilai
arra' pada inisialisasi
Pendeklarasian array dia#ali dengan penyebutan +2/ '%%
'++.,+ n%1% E%0+%*/& %00%74 '++.,+ (,1&%! /&/1/n. 3ika array
hendak diberi nilai a#al, nilai$nilai a#al dituliskan dalam inisialisasi. 3ika
23
inisialisasi kurang dari jumlah elemen array, sisanya akan
diinisialisasikan dengan nol.
Elemen array diakses dengan menyebutkan indeks posisi elemen
tersebut dalam array. Elemen pertama array memiliki indeks ;.
unsigned int >in!!i?adan 9100< **tin!!i badan memilii 100 elemen
>in!!i?adan 90< ( 7; **men!eset elemen pertama >in!!i?adan
>in!!i?adan 95< ( 16; **men!eset elemen eenam
temp ( >in!!i?adan999<; **men!opi elemen terahir e variabel temp
Contoh program &
Lesult G result + billyQnR
2. A00%7 ',% '+1/n-+
1ering digambarkan sebagai sebuah matriks dan merupakan
perluasan dari sebuah array satu dimensi. 3ika array satu dimensi
hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka
array dua dimensi terdiri dari beberapa baris dan beberapa kolom
elemen yang bertipe sama sehingga dapat digambarkan sebagai
berikut%
; & ' ( - / 5 6 7 =
&6 '& (( & -7 ; ' &5 6' =
76 5/ - 5 6 '( 7& &;
>nt MatriksQ-RQ&;R
24
0
1
2
3
Bentuk umum
tipe.ata 7ama8rra' 9:$mlah?aris<9:$mlahBolom< (
%
%,=nisialisasi?aris1-&A
%,=nisialisasi?aris2-&A
C.
%,=nisialisasi?aris7-&A
&;
contoh
double Datri. 94<94<;** pemesanan tempat arra'
bool 6apan 92<92< ( % %tr$eA false&A %falseA tr$e& &;
contoh progra! /
output +ang diinginkan
Tabel 1 Data Kelulusan
Jurusan 1992 1993 1994 1995
1. Teknik Informatika 35 45 80 120
2. ana!emen Informatika 100 110 70 101
3. Teknik Kom"uter 10 15 20 17
25
26
#.1.2. P0o-/',0 P0%.+.,1
&. 1alinlah program &
'. Pada program & pengisian array melalui inisialisasi, buatlah program
seperti program & tetapi pengisian array melalui "ungsi
utama*pengesetan array.
(. Buatlah program menggunakan "or yang menghasilkan output%
0Q&, &R G &
0Q&, 'R G '
0Q', &R G ( subject% tugas/*kelas*nama
0Q', 'R G -
BQ&, &R G /
BQ&, 'R G 5
BQ', &R G 6
BQ', 'R G 7

27
BAB V
FUNGSI
$.1. T,(,%n P0%.+.,1
$.2. D%-%0 T/o0+
0pabila kita membuat program yang terlalu panjang, membuat
kita akan kesulitan membaca dan memahami program. 1ehingga kita
perlu memecah program tersebut manjadi beberapa bagian (modul)
yang memudahkan kita untuk mencari kesalahan program,
memperbaiki, dan membuat dokumentasi program. .ntuk membuat
modul tersebut C++ menyediakan "ungsi.
+ungsi berguna untuk mengumpulkan statemen yang dapat
dijalankan menjadi satu dalam suatu blok dan menjalankannya kembali
hanya dengan menuliskan nama "ungsi yang menampungnya. +ungsi
juga dapat dipakai untuk menampung baris$baris perintah yang sering
dipakai dalam sebuah program.
Deklarasi "ungsi dapat dilakukan dengan dua cara yaitu%
eader "ungsi tanpa parameter atau "ungsi tanpa return 2alue
eader "ungsi dengan parameter atau "ungsi dengan return 2alue
&. eader "ungsi tanpa parameter atau "ungsi tanpa return 2alue
B/n,. U1,1
T+2/'%% nama+ungsi
Cono!
In 3umlah>si()
'o,*&/ Landom()
Eo+' Clear()
28
Blok "ungsi tanpa parameter
T+2/'%% nama+ungsi ()
S
T
Contoh program &
'. eader "ungsi dengan parameter atau "ungsi tanpa return 2alue
Penulisan header "ungsi dengan parameter hampir sama dengan
"ungsi tanpa parameter, yaitu dia#ali dengan tipe data, lalu nama
"ungsi, dan diikuti dengan parameter$parameter (yang berada di dalam
tanda kurung) yang masing$masing dipisahkan dengan koma beserta
dengan tipenya.
B/n,. U1,1
T+2/'%% nama+ungsi ( Dda"tarOparameterC)
Cono!
29
In 3umlahkan(int a, int b)
'o,*&/ 0rcCos(double <)
Blok "ungsi tanpa parameter
T+2/'%% nama+ungsi (parameter)
S
T
Contoh program '
30
$.3. P0o-/',0 20%.+.,1
1. B,%&%! 5,n6-+ %n2% 2%0%1//0 1/n6!+,n6 &,%- &+n6.%0%n
'%n Eo&,1/ %*,n6.
2. B,%&%! 5,n6-+ '/n6%n 2%0%1//0 1/n6!+,n6 &,%- &+n6.%0%n
'%n Eo&,1/ %*,n6.
3. O,2,"
M/n,
1. H+,n6 L,%- L+n6.%0%n
2. H+,n6 Vo&,1/ %*,n6
P+&+!%n An'% = 1
M/n6!+,n6 L,%- L+n6.%0%n
M%-,..%n 2!+ = 3.1#
M%-,..%n (%0+?(%0+ &+n6.%0%n = 10
L,%- &+n6.%0%n = 31#
%%,
P+&+!%n An'% = 2
M/n6!+,n6 Vo&,1/ T%*,n6
M%-,..%n 2!+ = 3.1#
M%-,..%n (%0+?(%0+ %*,n6 = 10
M%-,..%n +n66+ %*,n6 = 10
L,%- &+n6.%0%n = 31#0
31
BAB VI
STRUCTURE
A.1 T,(,%n P0%.+.,1
A.2 D%-%0 T/o0+
1tructure atau struktur adalah kumpulan elemen$elemen data
yang digabungkan menjadi satu kesatuan. Masing$masing elemen data
dikenal dengan sebutan "ield*kolom. +ield data tersebut dapat memiliki
tipe data yang sama ataupun berbeda. Ualaupun "ield$"ield tersebut
berada dalam satu kesatuan, masing$masing "ield tersebut dapat
diakses secara indi2idual.
+ield$"ield tersebut digabungkan menjadi satu dengan tujuan
untuk kemudahan dalam operasinya. Misalnya kita ingin mencatat
data$data mahasis#a dan pelajar dalam sebuah program, untuk
membedakannya dapat membuat sebuah 0/:o0' 1%!%-+-)% 7%n6
/0'+0+ '%0+ 5+/&'?5+/&' NIM4 n%1%4 %&%1%4 '%n IPK serta sebuah
0/:o0' 2/&%(%0 7%n6 /0'+0+ '%0+ 5+/&'?5+/&' N%1%4 No1o0U0,4
%&%1% '%n J,1&%!N+&%+. Dengan demikian akan lebih mudah
membedakan keduanya.
1. D/.&%0%-+ -0,:,0/
Pendeklarasian structure selalu dia#ali oleh kata baku -0,:
diikuti nama structure dan deklarasi "ield$"ield di antara kurung
kura#al.
Bentuk .mum%
-0,: nama1truct
S
+2/D%%1 +ield&9
+2/D%%2 +ield'9
PP..
+2/D%%N +ield,9
T9
32
Contoh%
-0,: Mahasis#a
S
:!%0 ,>MQ&;R9
:!%0 ,amaQ';R9
:!%0 0lamatQ&;R9
5&o% >P49
T9
Cono! 20o60%1
?utput%
33
A.3. P0o-/',0 P0%.+.,1
&. 1alinlah contoh program diatas
'. Buatlah program sehingga memberikan output sebagai berikut9
Eorm data ar'a)an
((((((((((((((((((
7ama 5 8!$s @ermanto
FaGi 5 2000000
Htat$s "0 bel$m meniahA 1 s$dahA 2 Ganda#5 1
:$mlah ana 5 3
Das$an data la!iI "J*># 5 '
7ama 5 Kia =la)an
FaGi 5 1500000
Htat$s "0 bel$m meniahA 1 s$dahA 2 Ganda#5 2
:$mlah ana 5 2
Das$an data la!iI "J*># 5 t
34
BAB VII
STRING DAN CHARACTER
;.1 T,(,%n P0%.+.,1
Memahami penggunaan string dan character dalam C++, serta
mengetahui penggunaan "ungsi$"ungsi untuk manipulasi string.
;.2 D%-%0 T/o0+
Pada C++ tidak ada tipe 2ariable elemen yang spesi"ic untuk
menyimpan string. .ntuk keperluan ini dapat digunakan array dengan tipe
:!%0, dimana berisi elemen dengan tipe :!%0. Perlu di ingat bah#a tipe :!%0
digunakan untuk menyimpan & karakter, karena itu array dari char digunakan
untuk menyimpan string. Contoh %
:!%0 (/nn7 F20GH
Dapat menyimpan sampai dengan '; karakter %
Penyimpanan karakter$nya dapat direpresentasikan seperti diba#ah ini :

Perhatikan, karakter ,.)) (IJ0I) selalu disertakan diakhir string untuk
indikasi akhir dari string.
In+-+%&+-%-+ -0+n6
1ama halnya seperti array$array sebelumnya, inisialisasi pada string sbb
%
char m'strin!9< ( % L@LA LeLA LlLA LlLA LoLA L30L &;
Contoh diatas, merupakan inisialisasi 5 buah elemen bertipe :!%04 yaitu H/&&o
dan karakter null IJ0I. .ntuk menentukan nilai konstan, pada string
digunakan tanda kutip ganda (V), sedangkan untuk karakter kutip tunggal (W).
35
1tring yang diapit oleh kutip ganda sudah mengandung karakter ,ull pada
akhir string, contoh %
char m'strin! 9< ( % L@LA LeLA LlLA LlLA LoLA L30L &;
char m'strin! 9< ( M@elloM; ##
contoh diatas merupakan deklarasi array 17-0+n6 yang berisi 5 elemen.
P/1*/0+%n n+&%+ 2%'% -0+n6
1ama halnya seperti pemberian nilai pada array$array sebelumnya, untuk
array dengan tipe char dapat dituliskan %
!+string001 = 232
!+string011 = 2e2
!+string0/1 = 2l2
!+string041 = 2l2
!+string051 = 2o2
!+string061 = 2702
F,n6-+?F,n6-+ '%&%1 S0+n6 8-0+n6.!9
1. F,n6-+ -0:27
Cara pemberian nilai seperti contoh diatas sangat tidak praktis.
.mumnya untuk pemberian nilai pada array bertipe char digunakan "ungsi
-0:27. -0:27 (-0ing :o27) mende"inisikan :-0+n6 (-0+n6.!) library dan
dapat dipanggil dengan cara %
strcp+ "string1( string2#
instruksi diatas menyebabkan isi daristring2 di$copy ke string1. string2 dapat
berupa array, pointer, atau konstanta string.
Contoh : Output :
// setting value to string 8. Soulie
36
Perhatikan, header@-0+n6.!> harus disertakan agar bisa menggunakan
"ungsi -0:27. Bisa juga menggunakan "ungsi sederhana seperti misalkan
diberi nama setstring, dengan operasi yang sama seperti -0:27.
Contoh : Output :
// setting value to string 8. Soulie
Metode lain yang dapat digunakan untuk inisialisasi nilai yaitu input stream
(:+n). Dalam kasus ini, nilai string ditentukan oleh user saat eksekusi
program. 4etika menggunakan :+n4 biasanya digunakan metode 6/&+n/,
Pemanggilannya sbb %
:+n.6/&+n/ 8 :!%0 bufferFG4 +n length4 :!%0 delimiter = I JnI9H
dimana, buffer adalah alamat untuk menyimpan input, length adalah
maksimum panjang bu""er,dan delimiter adalah karakter yang digunakan
untuk menentukan input akhir, dengan de"ault X atau dengan (IJnI).
Contoh :
// cin with strings
37
Output :
9hat2s +our na!e: :$an
3ello 8uan.
9hich is +our favourite tea!: =nter Dilan
; like ;nter <ilan too.
Perhatikan kedua pemanggilan :+n.6/&+n/, menggunakan identi"ier yang
sama (17*,55/0). 1ama halnya seperti penggunaan operator e<traction,
sehingga dapat dituliskan %
cin -- m'b$ffer;
>nstruksi diatas dapat berjalan, hanya saja mempunyai keterbatasan bila
dibandingkan dengan :+n.6/&+n/, diantaranya %
Dapat menerima & kata saja (bukan kalimat lengkap).
!idak diperkenankan untuk memberikan ukuran bu""er. 0kan
menyebabkan program tidak stabil jika user meng$input lebih besar
dari kapasitas array yang ada.
2. F,n6-+ S0&/n
Merupakan "ungsi manipulasi string yang digunakan untuk menghitung
panjang string. 1ehingga "ungsi ini memberikan nilai balik panjang string.
1intaks%
-+K/L -0&/n 8:on- :!%0M string9H
Contoh cara pengoperasiannya, yaitu%
6anGan! ( strlen"b$n!a#;
3. F,n6-+ S0:%
38
Merupakan "ungsi yang digunakan untuk menggabungkan string. +ungsi
ini memberikan nilai balik string yang sudah digabung.
1intaks%
char= strcat "char= dest( const char= src#
Contoh cara pengoperasiannya, yaitu%
Htrcat"str1A str2#
Htrcat"0a$1A 0belaGar1#
#. F,n6-+ -0:12
Merupakan "ungsi yang digunakan untuk membandingkan dua buah
string yaitu string& dan string'.
1intaks%
strcmp! int strc!p "const char= string1( const char= string2#
Contoh%
Htrcmp "str1A str2#
Htrcmp"0a$1A 0a$1#( 0
$. S00/E
Merupakan string yang digunakan untuk membalik string.
Contoh%
Htrrev"str#;
Htr am$
Htrrev"str#
Htr $ma
Cttn : char* sama dengan char[]
KonE/0-+ -0+n6 ./ +2/ &%+nn7%
1tring dapat berisi data dengan tipe lain seperti angka. Contoh N19;;N.
:-'&+* (-'&+*.!) library menyediakan ( "ungsi yang dapat menangani hal
tersebut %
%o+" con2erts string to +n type.
%o&" con2erts string to &on6 type.
%o5" con2erts string to 5&o% type.
39
+ungsi$"ungsi ini menerima & parameter dan mengembalikan nilainya kedalam
tipe yang diminta (int, long or "loat). +ungsi ini dikombinasikan dengan
metode 6/&+n/ pada :+n.
Contoh : Output :
// cin and ato* functions Enter price- 2.75
Enter >uantit+- 21
Total price- 6?.?6
40
DAFTAR PUSTAKA
4adir, 0. ';;(. Pemrograman C++, Membahas Pemrograman
Berorientasi ?byek Menggunakan !urbo C++ dan Borland C++.
Penerbit 0ndy @ogyakarta.
Mahmudy, U.M. ';;-. Modul Praktikum 1emester Yanjil ';;- X ';;/
Pemrograman C++. 3urusan Matematika +akultas M>P0
.ni2ersitas Bra#ijaya Malang.
,,. ';;=. )aporan Praktikum Dasar 4omputer dan Pemrograman.
3urusan Elektro, +akultas !eknik .ni2ersitas Bra#ijaya Malang.
1anjaya, D. ';;/. 0syiknya Belajar 1truktur Data di Planet C++.
Penerbit P!. Ele< Media 4omputindo 4elompok Yramedia. 3akarta
41

Anda mungkin juga menyukai