• Tidak ada hasil yang ditemukan

Cepat Menguasai. pustaka-indo.blogspot.com. Jubilee Enterprise. Ringkas dan tepat mempelajari C++ untuk programmer pemula

N/A
N/A
Protected

Academic year: 2021

Membagikan "Cepat Menguasai. pustaka-indo.blogspot.com. Jubilee Enterprise. Ringkas dan tepat mempelajari C++ untuk programmer pemula"

Copied!
128
0
0

Teks penuh

(1)

PT ELEX MEDIA KOMPUTINDO Kompas Gramedia Building

Jl. Palmerah Barat 29-37, Jakarta 10270 Telp. (021) 53650110-53650111, Ext 3214 Webpage: http://www.elexmedia.co.id Kelompok Pemrograman Keterampilan Tingkat Pemula Tingkat Menengah Tingkat Mahir Jenis Buku Referensi Tutorial Latihan 121150272 ISBN 978-602-02-5826-3

C++ dianggap sebagai bahasa pemrograman masa depan. Oleh karena itu, mempelajari C++

di saat sekarang bernilai investasi. Dari sudut pandang ekonomis inilah, kami suguhkan tema

C++ kepada para pembaca sebagai salah satu alternatif pemrograman di tengah beragamnya

tema programming.

Buku ini mengupas tentang C++ dan bagaimana Anda bisa mempelajari pemrograman ini

dengan cepat dan ringkas. Diharapkan, Anda akan mengenal bahasa pemrograman yang di

masa mendatang akan dihargai sangat tinggi ini. Dengan penjelasan yang praktis, singkat,

dan jelas akan memudahkan Anda selangkah demi selangkah mengenal C++. Bacalah dan

praktikkan dalam latihan sehari-hari untuk membuat script yang praktis dan fungsional.

Materi selengkapnya antara lain:

y

Pengenalan C++

y

Sintak-sintak dasar C++

y

String dalam C++

y

Abstraksi dan enkapsulasi data dalam C++

y

Pengambilan keputusan dalam C++

y

Interface dalam C++

y

Penanganan eksepsi dalam C++

y

Namespace dalam C++

y

Pointer dalam C++

y

Pengulangan dalam C++

y

Operator dalam C++

Ringkas dan tepat mempelajari C++

untuk programmer pemula

Jubilee Enterprise

Jubilee Enterprise

Cepat Menguasai

Cepat Menguasai

Cepat Menguasai

pustaka-indo.blogspot.com

(2)
(3)

Cepat Menguasai C++

(4)

Sanksi Pelanggaran Pasal 113

Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta

1. Setiap Orang yang dengan tanpa hak melakukan pelanggaran hak ekonomi sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf i untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 1 (satu) tahun dan/atau pidana denda paling banyak Rp100.000.000 (seratus juta rupiah). 2. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau

pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf c, huruf d, huruf f, dan/atau huruf h untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 3 (tiga) tahun dan/atau pidana denda paling banyak Rp500.000.000,00 (lima ratus juta rupiah).

3. Setiap Orang yang dengan tanpa hak dan/atau tanpa izin Pencipta atau pemegang Hak Cipta melakukan pelanggaran hak ekonomi Pencipta sebagaimana dimaksud dalam Pasal 9 ayat (1) huruf a, huruf b, huruf e, dan/atau huruf g untuk Penggunaan Secara Komersial dipidana dengan pidana penjara paling lama 4 (empat) tahun dan/atau pidana denda paling banyak Rp1.000.000.000,00 (satu miliar rupiah).

4. Setiap Orang yang memenuhi unsur sebagaimana dimaksud pada ayat (3) yang dilakukan dalam bentuk pembajakan, dipidana dengan pidana penjara paling lama 10 (sepuluh) tahun dan/atau pidana denda paling banyak Rp4.000.000.000,00 (empat miliar rupiah).

(5)

Cepat Menguasai C++

Jubilee Enterprise

(6)

Cepat Menguasai C++

Jubilee Enterprise

2015, PT Elex Media Komputindo, Jakarta

Hak cipta dilindungi undang-undang

Diterbitkan pertama kali oleh

Penerbit PT Elex Media Komputindo

Kelompok Gramedia, Anggota IKAPI, Jakarta 2015

121150272

ISBN:

9786020258263

Dilarang keras menerjemahkan, memfotokopi, atau memperbanyak sebagian

atau seluruh isi buku ini tanpa izin tertulis dari penerbit.

Dicetak oleh Percetakan PT Gramedia, Jakarta

Isi di luar tanggung jawab percetakan

(7)

Kata Pengantar

C++ dianggap sebagai bahasa pemrograman masa depan. Oleh karena itu,

mempelajari C++ di saat sekarang bernilai investasi. Dari sudut pandang

ekonomis inilah, kami berniat untuk menyuguhkan tema C++ kepada para

pembaca sebagai salah satu alternatif pemrograman di tengah banyak tema

programming lainnya yang gencar di dunia perbukuan.

Buku ini mengupas tentang C++ dan bagaimana Anda bisa mempelajari

pemrograman ini dengan cepat dan ringkas. Diharapkan, setelah membaca

buku ini, Anda akan mengenal bahasa pemrograman yang di masa

men-datang akan dihargai sangat tinggi.

Kalau sudah begitu, kami berharap agar Anda bisa membaca buku ini

dengan baik dan mempraktikkannya dalam latihan sehari-hari untuk

membuat script yang praktis dan fungsional.

Yogyakarta, 10 Desember 2014

Gregorius Agung

Founder Jubilee Enterprise

"Information Technology is Our Passion and Book is Our Way"

Do you need top-notch IT Book? Just .... thinkjubilee.com

(8)

Daftar Isi

Kata Pengantar ... v

Daftar Isi ... vi

BAB 1 Sekilas Mengenai C++ ... 1

Pemrograman Berorientasi Objek ... 1

Library Standar ... 2

Penggunaan C++ ... 2

BAB 2 Menyiapkan C++ ... 3

Editor Teks ... 3

Compiler C++ ... 3

Menginstal Compiler GNU C/C++ ... 4

UNIX/ Linux ... 4

Mac OS

... 4

Windows

... 4

BAB 3 Sintaks Dasar C++ ... 5

Struktur Program C++ ... 6

Compile dan Eksekusi Program C++ ... 6

Titik-koma dan Blok dalam C++ ... 7

Identifier C++ ... 7

Kata Kunci C++ ... 8

Spasi dalam C++ ... 8

BAB 4 Komentar dalam C++ ... 9

BAB 5 Tipe Data dalam C++ ... 11

Tipe Data Primitif ... 11

Deklarasi typedef ... 13

(9)

BAB 6 Tipe Variabel dalam C++ ... 15

Definisi Variabel dalam C++ ... 15

Deklarasi Variabel dalam C++ ... 16

BAB 7 Lingkup Variabel ... 17

Variabel Lokal ... 17

Variabel Global ... 18

Inisialisasi Variabel Lokal dan Global ... 18

BAB 8 Konstanta dalam C++ ... 19

Mendefinisikan Konstanta ... 19

Preprocessor #define ... 19

Kata Kunci Const ... 20

BAB 9 Operator dalam C++ ... 21

Operator Aritmatika ... 21

Operator Relasional ... 23

Operator Logika ... 25

Operator Assignment ... 26

BAB 10 Perulangan dalam C++ ... 29

Perulangan While ... 29

Perulangan dowhile ... 30

Perulangan for ... 31

Perulangan Bersarang ... 32

Statemen Break ... 34

Kata Kunci Continue ... 35

BAB 11 Pengambilan Keputusan dalam C++ ... 37

Statemen if ... 37

Statemen ifelse ... 38

Statemen ifelse ifelse ... 39

Statemen ifelse Bersarang ... 40

Statemen Switch... 41

Statemen Switch Bersarang ... 43

(10)

BAB 12 Fungsi dalam C++ ... 45

Mendefinisikan Fungsi ... 45

Memanggil Fungsi ... 46

Argumen Fungsi ... 47

Pemanggilan Berdasarkan Nilai ... 47

Pemanggilan Berdasarkan Pointer ... 48

Pemanggilan Berdasarkan Referensi ... 49

BAB 13 Array dalam C++ ... 51

Deklarasi Array ... 51

Inisialisasi Array ... 52

Mengakses Elemen Array ... 52

Memasukkan Array ke dalam Fungsi ... 53

Cara 1

... 53

Cara 2

... 54

Cara 3

... 54

Mengembalikan Array dari Fungsi ... 55

BAB 14 String dalam C++ ... 57

Karakter String C-style... 57

Kelas String dalam C++ ... 59

BAB 15 Pointer dalam C++ ... 61

Apa Itu Pointer? ... 62

Menggunakan Pointer ... 62

Pointer Null ... 63

Aritmatika Pointer ... 64

Pertambahan ... 64

Pengurangan ... 65

Perbandingan Pointer ... 65

Memasukkan Pointer ke dalam Fungsi ... 66

Mengembalikan Pointer dari Fungsi... 67

BAB 16 Referensi dalam C++ ... 69

Referensi vs Pointer ... 69

Membuat Referensi ... 70

Referensi sebagai Parameter ... 71

Referensi Sebagai Nilai Balikan ... 72

pustaka-indo.blogspot.com

(11)

BAB 17 Kelas dan Objek dalam C++ ... 73

Definisi Kelas ... 73

Mendefinisikan Objek ... 74

Mengakses Data Member ... 74

Fungsi Member Kelas ... 75

Modifier Akses Kelas ... 76

Member Public ... 76

Member Private ... 77

Member Protected... 79

Konstruktor dan Destruktor ... 80

Konstruktor Kelas ... 80

Konstruktor Berparameter ... 81

Destruktor Kelas ... 82

Pointer this ... 83

Member Static dalam Kelas ... 84

Variabel static ... 84

Fungsi static ... 85

BAB 18 Pewarisan dalam C++ ... 87

Superkelas dan Subkelas ... 87

Pewarisan Multiple ... 89

BAB 19 Overload dalam C++ ... 91

Overload Fungsi ... 91

BAB 20 Polimorfisme dalam C++ ... 93

Fungsi Virtual ... 95

BAB 21 Abstraksi dan Enkapsulasi Data

dalam C++ ... 97

Abstraksi Data ... 97

Enkapsulasi Data ... 98

BAB 22 Interface dalam C++ ... 99

(12)

BAB 23 File dan Stream dalam C++ ... 101

Membuka File ... 102

Menutup File ... 102

Menulis ke dalam File ... 103

Membaca File ... 103

Contoh Membaca dan Menulis ke dalam File ... 103

Pointer Posisi File ... 104

BAB 24 Penanganan Eksepsi dalam C++ ... 105

Melempar Eksepsi ... 106

Menangkap Eksepsi ... 106

Eksepsi Standar C++ ... 108

Membuat Eksepsi Baru ... 109

BAB 25 Namespace dalam C++ ... 111

Mendefinisikan Namespace ... 111

Directive Using ... 112

(13)

BAB 1

Sekilas Mengenai C++

Bahasa pemrograman C++ adalah bahasa pemrograman yang bersifat

statis, compiled, general-purposed, case-sensitive, dan mendukung

pemrograman prosedural, pemrograman berorientasi objek, maupun

pemrograman generik.

C++ dikembangkan oleh Bjarne Stroustrup pada tahun 1979 di Bell Labs,

Murray Hill, New Jersey sebagai bahasa pemrograman middle-level yang

merupakan kombinasi bahasa high-level dan low-level.

Pemrograman Berorientasi Objek

C++ mendukung pemrograman berorientasi objek, termasuk empat pilar

utama pemrograman berorientasi objek:

Enkapsulasi.

Data hiding.

Pewarisan.

(14)

Library Standar

Library standar C++ terdiri dari tiga bagian berikut:

Inti bahasa yang terdiri dari variabel, tipe data, literal, dan

sebagainya.

Library standar C++ berisi kumpulan fungsi untuk

memani-pulasi file, string, dan sebagainya.

Standard Template Library (STL) berisi kumpulan method

untuk memanipulasi struktur data, dan sebagainya.

Penggunaan C++

C++ digunakan oleh para programmer dalam berbagai domain aplikasi.

C++ banyak digunakan untuk membuat driver dan software lainnya yang

secara langsung memanipulasi hardware.

Antarmuka sistem informasi Apple Macintosh dan Windows

meng-gunakan C++ sebagai bahasa pemrograman utamanya.

(15)

BAB 2

Menyiapkan C++

Sebelum mulai menggunakan C++, Anda perlu menyiapkan software

berikut dalam komputer Anda.

Editor Teks

Editor teks digunakan untuk menulis program Anda. Anda dapat

menggunakan editor seperti: Windows Notepad, OS Edit command, Brief,

Epsilon, EMACS, vim, atau vi.

File yang Anda buat dengan editor disebut source file, dan untuk C++ file

biasanya diberi nama dengan ekstensi .cpp, .cp, atau .c.

Compiler C++

Compiler digunakan untuk melakukan proses compile kode program

menjadi program yang dapat dijalankan.

Compiler yang sering digunakan adalah compiler GNU C/C++ yang dapat

Anda gunakan secara gratis.

Anda juga dapat menggunakan compiler lain atau IDE seperti Eclipse,

NetBeans, dan lainnya.

(16)

Menginstal Compiler GNU C/C++

Berikut ini langkah-langkah untuk menginstal GNU C/C++ (GCC) pada

Linux, Mac OS, dan Windows.

UNIX/ Linux

Jika Anda menggunakan Liux atau UNIX, Anda dapat memeriksa apakah

GCC sudah terinstal dengan menggunakan perintah berikut pada

command line:

$ g++-v

Jika sudah terinstal, akan ditampilkan pesan seperti pada contoh berikut:

Using built-in specs. Target: i386-redhat-linux

Configuredwith:../configure --prefix=/usr ... Thread model: posix

gcc version 4.1.220080704(RedHat4.1.2-46)

Jika belum terinstal, Anda dapat menginstalnya dengan instruksi yang

ada pada situs

http://gcc.gnu.org/install/.

Mac OS

Jika Anda menggunakan Mac OS, Anda dapat mengunduh dan menginstal

Xcode development environment pada situs Apple.

Anda dapat mengunduhnya dari situs developer.apple.com/

technologies/tools/.

Windows

Untuk menginstal GCC pada Windows, Anda perlu menginstal MinGW.

Untuk menginstal MinGW Anda pertama-tama dapat mengunduhnya

pada situs

www.mingw.org

dan memilih versi terbaru dengan nama

MinGW-<versi>.exe

.

Dalam menginstal MinGW, minimal Anda harus menginstal core,

gcc-g++, binutils, dan MinGW runtime.

Setelah instalasi selesai, Anda kemudian dapat menjalankan gcc, g++, ar,

ranlib, dlltool, dan tools GNU lainnya dari command line.

(17)

BAB 3

Sintaks Dasar C++

Sebuah program C++ dapat didefinisikan sebagai kumpulan objek yang

saling berkomunikasi melalui method-method yang ada.

Berikut ini penjelasan singkat mengenai kelas, objek, method, dan

variabel instance:

Objek - sebuah objek memiliki keadaan dan perilaku. Contoh:

Seekor anjing memiliki keadaan - warna, nama, jenis, dan

memi-liki perilaku - makan, berlari, menggonggong. Objek merupakan

instance dari kelas.

Kelas - kelas dapat didefinisikan sebagai sebuah template/

blueprint yang mendeskripsikan perilaku/keadaan yang

didukung oleh tipe kelas tersebut.

Method - method dasarnya merupakan perilaku. Sebuah kelas

bisa memiliki beberapa method. Di dalam method, logika

dituliskan, data dimanipulasi dan semua operasi dieksekusi.

Variabel instance - setiap objek memiliki kumpulan variabel

uniknya masing-masing. Keadaan suatu objek ditentukan oleh

nilai-nilai yang dimasukkan dalam variabel instance yang ada.

(18)

Struktur Program C++

Berikut ini contoh kode sederhana yang menampilkan teks “Halo Dunia”.

#include<iostream> using namespace std;

// eksekusi program dimulai pada main() int main()

{

cout <<"Halo Dunia"; // menampilkan Halo Dunia return 0;

}

Berikut ini penjelasan bagian-bagian dari program tersebut:

Bahasa pemrograman C++ mendefinisikan beberapa header,

yang berisi informasi yang diperlukan atau informasi yang

berguna bagi program. Pada contoh program di atas, header

<iostream> diperlukan.

Baris using namespace std; memberitahu compiler untuk

menggunakan namespace std.

Baris

//

eksekusi program dimulai pada main() merupakan

komentar single-line. Komentar single-line diawali dengan tanda

// dan berakhir pada akhir baris tersebut.

Baris int main() adalah fungsi utama di mana eksekusi program

mulai dijalankan.

Baris cout <<"Halo Dunia"; menyebabkan pesan “Halo Dunia”

ditampilkan pada layar monitor.

Baris return 0; mengakhiri fungsi main() dan mengembalikan

nilai 0 sebagai nilai balikan.

Compile dan Eksekusi Program C++

Berikut ini langkah-langkah untuk menyimpan file, compile dan

menjalankan program.

Buka editor teks dan tambahkan contoh kode di atas.

Simpan file dengan nama: hello.cpp.

Buka jendela command prompt dan buka direktori

(19)

Ketikkan ‘g++ hello.cpp’ dan tekan enter untuk melakukan

compile.

Ketikkan ‘a.out’ untuk menjalankan program.

Pesan ‘Halo Dunia’ akan ditampilkan.

$ g++ hello.cpp $ ./a.out Halo Dunia

Titik-koma dan Blok dalam C++

Dalam C++, titik koma merupakan terminator. Setiap statemen

individual harus diakhiri dengan tanda titik koma.

Berikut contoh kode yang terdiri dari tiga statemen:

x = y; y = y+1; add(x, y);

Blok merupakan kumpulan statemen yang berhubungan logis yang

dibungkus oleh tanda kurung kurawal buka dan tutup { }.

Berikut contohnya:

{

cout <<"Halo Dunia"; // menampilkan Halo Dunia return 0;

}

Identifier C++

Identifier C++ merupakan nama yang digunakan untuk mengidentifikasi

variabel, fungsi, kelas, modul, atau item lainnya yang dibuat oleh

pengguna.

Sebuah identifier diawali dengan huruf A - Z, atau a - z atau underscore _

yang diikuti dengan huruf, underscore, dan angkah (0-9).

C++ bersifat case-sensitive sehingga Manpower dan manpower

merupakan dua identifier yang berbeda.

Berikut ini beberapa contoh penulisan identifier:

mohd zara abc move_name a_123 myname50 _temp j a23b9 retVal

(20)

Kata Kunci C++

Berikut ini daftar kata kunci yang ada kalam C++. Kata-kata kunci ini

tidak dapat digunakan sebagai nama identifier.

Asm

else

new

this

Auto

enum

operator

throw

Bool

explicit

private

true

Break

export

protected

try

Case

extern

public

typedef

Catch

false

register

typeid

Char

float

reinterpret_cast

typename

Class

for

return

union

Const

friend

short

unsigned

const_cast

goto

signed

using

continue

If

sizeof

virtual

Default

inline

Static

void

Delete

int

static_cast

volatile

Do

long

Struct

wchar_t

Double

mutable

Switch

while

dynamic_cast

namespace

Template

Daftar kata kunci dalam C++

Spasi dalam C++

Baris yang berisi spasi atau berisi komentar disebut baris kosong dan

akan diabaikan oleh compiler C++. Spasi dalam C++ digunakan untuk

mendeskripsikan baris kosong, tab, baris baru dan komentar. Spasi

memisahkan satu bagian statemen dengan bagian lainnya. Berikut

contohnya:

(21)

BAB 4

Komentar dalam C++

Komentar dalam suatu program merupakan statemen yang menjelaskan

kode yang ada dalam program.

C++ mendukung penggunaan komentar single-line dan multi-line. Semua

karakter yang ada dalam komentar akan diabaikan oleh compiler C++.

Berikut ini contoh komentar multi-line yang diawali dengan /* dan

diakhiri dengan */:

/* Ini adalah komentar */

/* Ini adalah contoh * komentar multi-line * dalam C++

*/

Berikut ini contoh komentar single-line yang diawali dengan //:

#include<iostream> usingnamespace std;

main() {

cout <<"Hello World"; // menampilkan Hello World

return0; }

(22)

Ketika kode tersebut di-compile, // menampilkan Hello World akan

diabaikan dan kode tersebut akan menghasilkan output berikut:

Hello World

Dalam komentar /* dan */, karakter // tidak memiliki arti, dan

sebaliknya dalam komentar //, karakter /* dan */ tidak memiliki arti.

Dengan demikian Ada dapat membuat komentar di dalam komentar lain:

/* Baris untuk menampilkan Hello World menjadi komentar: cout << "Hello World"; // menampilkan Hello World */

(23)

BAB 5

Tipe Data dalam C++

Tipe Data Primitif

C++ menyediakan beberapa tipe data primitif yang dapat Anda gunakan.

Berikut ini daftar tipe data dasar dalam C++:

Tipe

Kata Kunci

Boolean

bool

Character

char

Integer

int

Floating point

float

Double floating point

double

Valueless

void

Wide character

wchar_t

Daftar tipe data primitif

Beberapa tipe data tersebut dapat dimodifikasi dengan modifier signed,

unsigned, short, dan long.

(24)

Berikut ini tabel yang menjelaskan tipe variabel, lebar bit, dan nilai

minimum dan maksimumnya.

Tipe

Lebar Bit

Jangkauan Nilai

char

1byte

-127 sampai 127 atau 0

sampai 255

unsigned char

1byte

0 sampai 255

signed char

1byte

-127 sampai 127

int

4bytes

-2147483648

sampai

2147483647

unsigned int

4bytes

0 sampai 4294967295

signed int

4bytes

-2147483648

sampai

2147483647

short int

2bytes

-32768 sampai 32767

unsigned short int

Range

0 sampai 65,535

signed short int

Range

-32768 sampai 32767

long int

4bytes

-2,147,483,647 sampai

2,147,483,647

signed long int

4bytes

sama dengan long int

unsigned long int

4bytes

0 sampai 4,294,967,295

float

4bytes

+/- 3.4e +/- 38 (~7

digits)

double

8bytes

+/- 1.7e +/- 308 (~15

digits)

long double

8bytes

+/- 1.7e +/- 308 (~15

digits)

wchar_t

2 atau 4 bytes

1 karakter

Daftar tipe variabel, lebar bit, dan jangkauannya

Ukuran variabel mungkin berbeda dengan tabel tersebut, tergantung

compiler dan komputer yang Anda gunakan.

(25)

Berikut ini contoh kode untuk menampilkan ukuran tipe data pada

komputer Anda:

#include<iostream> using namespace std; int main() {

cout <<"Ukuran char : "<<sizeof(char)<< endl; cout <<"Ukuran int : "<<sizeof(int)<< endl;

cout <<"Ukuran short int : "<<sizeof(shortint)<< endl; cout <<"Ukuran long int : "<<sizeof(longint)<< endl; cout <<"Ukuran float : "<<sizeof(float)<< endl; cout <<"Ukuran double : "<<sizeof(double)<< endl; cout <<"Ukuran wchar_t : "<<sizeof(wchar_t)<< endl;

return0; }

Kode tersebut menggunakan endl untuk memasukkan baris baru,

operator << untuk menampilkan beberapa nilai, dan fungsi sizeof()

untuk mendapatkan ukuran dari tipe data.

Kode tersebut akan menghasilkan output yang mungkin berbeda untuk

masing-masing komputer:

Ukuran char:1 Ukuran int:4 Ukuran shortint:2 Ukuran longint:4 Ukuran float:4 Ukuran double:8 Ukuran wchar_t:4

Deklarasi typedef

Anda dapat membuat nama baru untuk tipe yang ada dengan

meng-gunakan typedef.

Berikut sintaksnya:

typedef type namabaru;

Berikut contoh penggunaannya:

typedef int intbaru;

(26)

Tipe Enum

Tipe enum mendeklarasikan nama tipe opsional dan menentukan

beberapa identifier yang dapat digunakan sebagai nilai dari tipe

tersebut. Setiap enumerator merupakan konstanta dengan tipe enum.

Berikut sintaksnya:

enum nama-enum { daftar nama } daftar-variabel;

Berikut ini contoh enum warna dan variabel w dengan tipe warna.

Variabel w berisi nilai “biru”:

enum warna { merah, hijau, biru } w; w = biru;

Secara default, nilai dari nama pertama adalah 0, nama kedua 1, nama

ketiga 2, dan seterusnya. Tetapi Anda dapat mengatur nilai nama dengan

menambah initializer.

Berikut contohnya, hijau memiliki nilai 5 dan biru akan memiliki nilai 6:

(27)

BAB 6

Tipe Variabel dalam C++

Variabel merupakan wadah penyimpanan yang memiliki nama/identifier

yang dapat dimanipulasi oleh program. Setiap variabel dalam C++

memiliki tipe tertentu, yang menentukan ukuran dan layout dari memori

variabel; jangkauan nilai yang dapat ditampung; dan operasi-operasi

yang dapat dijalankan terhadap variabel.

Definisi Variabel dalam C++

Berikut sintaks untuk mendefinisikan variabel:

tipe daftar_variabel;

Berikut ini contoh dalam mendefinisikan variabel:

int i, j, k; char c, ch; float f, gaji; double d;

Variabel dapat diinisialisasi (memasukkan nilai dalam variabel) pada

saat dideklarasi. Inisializer terdiri dari tanda sama dengan yang diikuti

dengan ekspresi konstan sebagai berikut:

tipe nama_variabel = nilai;

Berikut contohnya:

extern int d = 3, f = 5; // deklarasi d dan f.

int d = 3, f = 5; // definisi dan inisialisasi d dan f. byte z = 22; // definisi dan inisialisasi z.

(28)

Deklarasi Variabel dalam C++

Berikut ini contoh deklarasi variabel di bagian awal, yang kemudian

didefinisikan diinisialisasi dalam fungsi main():

#include<iostream> using namespace std; // Definisi variabel: extern int a, b; extern int c; extern float f; int main () { // Definisi variabel: int a, b; int c; float f; // Inisialisasi aktual a =10; b =20; c = a + b; cout << c << endl ; f =70.0/3.0; cout << f << endl ; return0; }

Kode tersebut akan menghasilkan output berikut:

30 23.3333

Konsep yang sama juga berlaku untuk deklarasi fungsi di mana Anda

menentukan nama fungsi pada waktu deklarasi dan definisi aktualnya

dapat dibuat di tempat lain. Berikut contohnya:

// deklarasi fungsi int fung(); int main() { // pemanggilan fungsi int i = fung(); } // definisi fungsi int fung() { return 0; }

(29)

BAB 7

Lingkup Variabel

Lingkup adalah bagian/area dalam program. Ada tiga area di mana

variabel dapat dideklarasikan:

Di dalam fungsi atau blok yang disebut variabel lokal.

Pada definisi parameter fungsi yang disebut parameter formal.

Di luar fungsi yang disebut variabel global.

Variabel Lokal

Variabel yang dideklarasikan di dalam suatu fungsi atau blok adalah

variabel lokal. Berikut contoh penggunaannya:

#include<iostream> using namespace std;

int main () {

// Deklarasi variabel lokal: int a, b; int c; // inisialisasi aktual a =10; b =20; c = a + b; cout << c; return0; }

(30)

Variabel Global

Variabel global didefinisikan di luar fungsi, biasanya di bagian atas kode

program.

Variabel global dapat diakses oleh semua fungsi dan dapat digunakan

oleh program setelah dideklarasikan.

Berikut ini contoh penggunaan variabel lokal dan global:

#include<iostream> using namespace std;

// Deklarasi variabel global: int g;

int main () {

// Deklarasi variabel lokal: int a, b; // inisialisasi aktual a =10; b =20; g = a + b; cout << g; return0; }

Inisialisasi Variabel Lokal dan Global

Ketika sebuah variabel didefinisikan, variabel tersebut tidak diinisialisasi

oleh sistem. Anda harus menginisialisasinya secara manual.

Variabel global diinisialisasi secara otomatis oleh sistem jika Anda

mendefinisikannya sebagai berikut:

Tipe Data

Initializer

Int

0

Char

'\0'

Float

0

Double

0

(31)

BAB 8

Konstanta dalam C++

Konstanta merupakan referensi nilai tetap yang tidak dapat diubah.

Konstanta berperan seperti variabel biasa, tetapi nilai konstanta bersifat

tetap dan tidak dapat diubah setelah didefinisikan.

Mendefinisikan Konstanta

Konstanta biasanya didefinisikan dengan menggunakan huruf kapital.

Ada dua cara untuk mendefinisikan konstanta dalam C++:

Menggunakan preprocessor #define.

Menggunakan kata kunci const.

Preprocessor #define

Berikut ini bentuk penggunaan preprocessor #define:

#define identifier nilai

Berikut contoh penggunaannya:

#include<iostream> using namespace std; #define PANJANG 10 #define LEBAR 5 #define BARISBARU '\n' int main()

(32)

{

int luas;

luas = PANJANG * LEBAR;

cout << luas; cout << BARISBARU;

return 0; }

Kode tersebut akan menghasilkan output berikut:

50

Kata Kunci Const

Anda dapat menggunakan awalan const untuk mendeklarasikan

konstanta dengan tipe tertentu.

Berikut sintaksnya:

const tipe nama_konstanta = nilai;

Berikut contoh penggunaannya:

#include<iostream> using namespace std;

int main() {

const int PANJANG =10; const int LEBAR =5;

const char BARISBARU ='\n';

int luas;

luas = PANJANG * LEBAR;

cout << luas; cout << BARISBARU;

return 0; }

Kode tersebut akan menghasilkan output berikut:

(33)

BAB 9

Operator dalam C++

Operator Aritmatika

Operator aritmatika digunakan pada ekspresi matematik seperti pada

operasi aljabar. Berikut ini daftar operator aritmatika.

Diasumsikan bahwa variabel A bernilai 10 dan B bernilai 20, maka:

Operator

Deskripsi

Contoh

+

Penjumlahan - Menambahkan

nilai-nilai yang ada di kedua

sisi operator

A + B hasilnya 30

-

Pengurangan - Mengurangkan

nilai operan di sebelah kiri

dengan nilai operan di

sebelah kanan

A - B hasilnya -10

*

Perkalian - Mengalikan

nilai-nilai yang ada di kedua sisi

operator

A * B hasilnya 200

/

Pembagian - Membagi nilai

operan di sebelah kiri dengan

nilai operan di sebelah kanan

(34)

%

Modulus

-

Melakukan

pembagian nilai operan di

sebelah kiri dengan nilai

operan di sebelah kanan dan

mengembalikan sisa nilainya

B % A hasilnya 0

++

Peningkatan - Menambahkan

1 pada nilai operan

B++ hasilnya 21

--

Penurunan - Mengurangkan 1

dari nilai operan

B-- hasilnya 19

Operator aritmatika dalam C++

Berikut ini contoh penggunaan operator aritmatika:

#include<iostream> using namespace std; main() { int a =21; int b =10; int c; c = a + b;

cout <<"Line 1 - Nilai c adalah :"<< c << endl ;

c = a - b;

cout <<"Line 2 - Nilai c adalah :"<< c << endl ;

c = a * b;

cout <<"Line 3 - Nilai c adalah :"<< c << endl ;

c = a / b;

cout <<"Line 4 - Nilai c adalah :"<< c << endl ;

c = a % b;

cout <<"Line 5 - Nilai c adalah :"<< c << endl ;

c = a++;

cout <<"Line 6 - Nilai c adalah :"<< c << endl ;

c = a--;

cout <<"Line 7 - Nilai c adalah :"<< c << endl ;

return0; }

Kode tersebut akan menghasilkan output berikut:

Line 1 - Nilai c adalah :31 Line 2 - Nilai c adalah :11 Line 3 - Nilai c adalah :210

(35)

Line 4 - Nilai c adalah :2 Line 5 - Nilai c adalah :1 Line 6 - Nilai c adalah :21 Line 7 - Nilai c adalah :22

Operator Relasional

Berikut ini operator relasional yang didukung dalam C++.

Diasumsikan bahwa variabel A bernilai 10 dan B bernilai 20, maka:

Operator

Deskripsi

Contoh

==

Memeriksa apakah nilai kedua

operan sama atau tidak, jika sama

maka kondisi bernilai benar.

(A == B) adalah

tidak benar.

!=

Memeriksa apakah nilai kedua

operan sama atau tidak, jika tidak

sama maka kondisi bernilai benar.

(A != B) adalah

benar.

>

Memeriksa apakah nilai operan di

sebelah kiri lebih dari nilai operan

di sebelah kanan, jika ya maka

kondisi bernilai benar.

(A > B) adalah

tidak benar.

<

Memeriksa apakah nilai operan di

sebelah kiri kurang dari nilai

operan di sebelah kanan, jika ya

maka kondisi bernilai benar.

(A < B) adalah

benar.

>=

Memeriksa apakah nilai operan di

sebelah kiri lebih dari atau sama

dengan nilai operan di sebelah

kanan, jika ya maka kondisi

bernilai benar.

(A >= B) adalah

tidak benar.

<=

Memeriksa apakah nilai operan di

sebelah kiri kurang dari atau

sama dengan nilai operan di

sebelah kanan, jika ya maka

kondisi bernilai benar.

(A <= B) adalah

benar.

(36)

Berikut ini contoh penggunaannya:

#include<iostream> using namespace std; main() { int a =21; int b =10; int c ; if( a == b ) {

cout <<"Line 1 - a sama dengan b"<< endl ; }

else {

cout <<"Line 1 - a tidak sama dengan b"<< endl ; }

if( a < b ) {

cout <<"Line 2 - a kurang dari b"<< endl ; }

else {

cout <<"Line 2 - a tidak kurang dari b"<< endl ; }

if( a > b ) {

cout <<"Line 3 - a lebih dari b"<< endl ; }

else {

cout <<"Line 3 - a tidak lebih dari b"<< endl ; }

/* Mengubah nilai a dan b */ a =5;

b =20;

if( a <= b ) {

cout <<"Line 4 - a kurang dari \ atau sama dengan b"<< endl ; }

if( b >= a ) {

cout <<"Line 5 - b lebih dari \ atau sama dengan a"<< endl ; }

return0; }

(37)

Kode tersebut akan menghasilkan output berikut:

Line 1 - a tidak sama dengan b Line 2 - a tidak kurang dari b Line 3 - a lebih dari b

Line 4 - a kurang dari atau sama dengan b Line 5 - b lebih dari atau sama dengan a

Operator Logika

Berikut ini daftar operator logika dalam C++.

Diasumsikan bahwa nilai variabel A adalah 1 dan B adalah 0, maka:

Operator

Deskripsi

Contoh

&&

Operator logika AND. Jika

kedua operan bukan nol, maka

kondisi bernilai benar.

(A && B) adalah

tidak benar.

||

Operator logika OR. Jika ada

operan yang bukan nol, maka

kondisi bernilai benar.

(A || B) adalah

benar.

!

Operator logika NOT.

Diguna-kan untuk membalik keadaan

logika dari operan. Jika kondisi

bernilai benar maka operator

NOT akan membuatnya

men-jadi tidak benar.

!(A && B) adalah

benar.

Operator logika dalam C++

Berikut ini contoh penggunaannya:

#include<iostream> using namespace std; main() { int a =5; int b =20; int c ; if( a && b ) {

cout <<"Line 1 - Kondisi benar"<< endl ; }

(38)

if( a || b ) {

cout <<"Line 2 - Kondisi benar"<< endl ; }

/* Mengubah nilai a dan b */ a =0;

b =10;

if( a && b ) {

cout <<"Line 3 - Kondisi benar"<< endl ; }

else {

cout <<"Line 4 - Kondisi tidak benar"<< endl ; }

if(!(a && b)) {

cout <<"Line 5 - Kondisi benar"<< endl ; }

return0; }

Kode tersebut akan menghasilkan output berikut:

Line 1 - Kondisi benar Line 2 - Kondisi benar Line 3 - Kondisi tidak benar Line 4 - Kondisi benar

Operator Assignment

Berikut ini daftar operator assignment dalam C++:

Operator Deskripsi

Contoh

=

Memasukkan

nilai

pada

operan di sebelah kanan ke

dalam operan di sebelah kiri

C = A + B akan

memasukkan nilai A

+ B ke dalam C

+=

Menjumlahkan nilai operan di

sebelah kiri dengan nilai

operan di sebelah kanan dan

memasukkan

hasilnya

ke

dalam operan di sebelah kiri

C += A hasilnya sama

dengan C = C + A

(39)

-=

Mengurangkan nilai operan di

sebelah kiri dengan nilai

operan di sebelah kanan dan

memasukkan

hasilnya

ke

dalam operan di sebelah kiri

C -= A hasilnya sama

dengan C = C - A

*=

Mengalikan nilai operan di

sebelah kiri dengan nilai

operan di sebelah kanan dan

memasukkan

hasilnya

ke

dalam operan di sebelah kiri

C *= A hasilnya sama

dengan C = C * A

/=

Membagi nilai operan di

sebelah kiri dengan nilai

operan di sebelah kanan dan

memasukkan

hasilnya

ke

dalam operan di sebelah kiri

C /= A hasilnya sama

dengan C = C / A

%=

Menggunakan

operasi

modulus

terhadap

kedua

operan

dan

memasukkan

hasilnya ke dalam operan di

sebelah kiri

C %= A hasilnya

sama dengan C = C %

A

Operator assignment dalam C++

Berikut contoh penggunaan operator assignment:

#include<iostream> using namespace std; main() { int a =21; int c ; c = a;

cout <<"Line 1 - Operator =, Nilai c = : "<<c<< endl ;

c += a;

cout <<"Line 2 - Operator +=, Nilai c = : "<<c<< endl ;

c -= a;

cout <<"Line 3 - Operator -=, Nilai c = : "<<c<< endl ;

c *= a;

cout <<"Line 4 - Operator *=, Nilai c = : "<<c<< endl ;

c /= a;

(40)

c =200;

c %= a;

cout <<"Line 6 - Operator %=, Nilai c = : "<<c<< endl ;

return0; }

Kode tersebut akan menghasilkan output berikut:

Line 1 - Operator =, Nilai c =:21 Line 2 - Operator +=,Nilai c =:42 Line 3 - Operator -=, Nilai c =:21 Line 4 - Operator *=, Nilai c =:441 Line 5 - Operator /=, Nilai c =:21 Line 6 - Operator %=, Nilai c =:11

(41)

BAB 10

Perulangan dalam C++

Perulangan While

Perulangan while adalah struktur kontrol yang memungkinkan Anda

mengulangi suatu proses dengan jumlah perulangan tertentu.

Berikut ini sintaks dari perulangan while:

while(kondisi) {

statemen; }

Selama kondisi bernilai benar, maka statemen dalam tubuh while akan

terus dieksekusi. Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// Deklarasi variabel lokal: int a = 10;

// eksekusi perulangan while while( a < 20 )

(42)

{

cout << "nilai a: " << a << endl; a++;

}

return 0; }

Kode tersebut akan menghasilkan output berikut:

nilai a: 10 nilai a: 11 nilai a: 12 nilai a: 13 nilai a: 14 nilai a: 15 nilai a: 16 nilai a: 17 nilai a: 18 nilai a: 19

Perulangan do…while

Perulangan do…while sama seperti pengulangan while, tetapi

perulangan do…while pasti akan dieksekusi minimal satu kali.

Berikut sintaksnya:

do { statemen } while(kondisi);

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main () {

// Deklarasi variabel lokal: int a = 10;

// eksekusi perulangan do do

{

cout << "nilai a: " << a << endl; a = a + 1;

}while( a < 20 );

return 0; }

(43)

Kode tersebut akan menghasilkan output berikut:

nilai a: 10 nilai a: 11 nilai a: 12 nilai a: 13 nilai a: 14 nilai a: 15 nilai a: 16 nilai a: 17 nilai a: 18 nilai a: 19

Perulangan for

Perulangan for adalah struktur kontrol repetitif yang memungkinkan

Anda untuk mejalankan proses dengan jumlah perulangan tertentu

(jumlah perulangan sudah diketahui sebelumnya).

Berikut ini sintaksnya:

for(inisialisasi; kondisi; pertambahan) {

statemen }

Berikut ini aliran proses dalam perulangan for:

Bagian inisialisasi dieksekusi pertama kali dan hanya sekali.

Bagian ini memungkinkan Anda untuk mendeklarasikan dan

menginisialisasi variabel kontrol perulangan.

Setelah itu, kondisi dievaluasi. Jika bernilai benar, statemen

dalam tubuh for dieksekusi. Jika tidak, statemen tidak

diekse-kusi dan proses berlanjut pada bagian setelah perulangan for.

Setelah statemen dalam for dieksekusi, aliran proses kembali

pada bagian pertambahan. Statemen pertambahan ini

memung-kinkan Anda untuk meng-update variabel kontrol dalam for.

Kondisi kemudian dievaluasi lagi. Jika benar, statemen dalam

perulangan for kembali dieksekusi, dan dilanjutkan ke bagian

pertambahan. Jika tidak, perulangan for selesai dan proses

ber-lanjut pada bagian setelah perulangan for.

(44)

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main () {

// eksekusi perulangan for

for( int a = 10; a < 20; a = a + 1 ) {

cout << "nilai a: " << a << endl; }

return 0; }

Berikut ini hasil output:

nilai a: 10 nilai a: 11 nilai a: 12 nilai a: 13 nilai a: 14 nilai a: 15 nilai a: 16 nilai a: 17 nilai a: 18 nilai a: 19

Perulangan Bersarang

C# memungkinkan Anda untuk menggunakan suatu perulangan di dalam

perulangan yang lain.

Sintaks untuk perulangan for bersarang:

for ( inisialisasi; kondisi; pertambahan ) {

for ( inisialisasi; kondisi; pertambahan ) {

statemen; }

statemen; }

Sintaks untuk perulangan while bersarang:

while(kondisi) {

(45)

while(kondisi) { statemen; } statemen; }

Sintaks untuk perulangan do…while bersarang:

do {

statemen; // Anda dapat menggunakan beberapa statemen

do { statemen; } while( kondisi ); } while( kondisi );

Anda juga dapat memasukkan jenis perulangan yang berbeda di dalam

suatu perulangan. Perulangan for dapat berisi perulangan while dan

sebaliknya.

Contoh berikut menggunakan perulangan for bersarang untuk

menemukan bilangan prima di antara 2 sampai 100:

#include <iostream> using namespace std;

int main() {

int i, j;

for(i=2; i<100; i++) {

for(j=2; j <= (i/j); j++) if(!(i%j))

break; // jika faktor ditemukan, bukan // bilangan prima

if(j > (i/j))

cout << i << " adalah bilangan prima\n"; }

return 0; }

(46)

Kode tersebut akan menghasilkan output berikut:

2 adalah bilangan prima 3 adalah bilangan prima 5 adalah bilangan prima 7 adalah bilangan prima 11 adalah bilangan prima 13 adalah bilangan prima 17 adalah bilangan prima 19 adalah bilangan prima 23 adalah bilangan prima 29 adalah bilangan prima 31 adalah bilangan prima 37 adalah bilangan prima 41 adalah bilangan prima 43 adalah bilangan prima 47 adalah bilangan prima 53 adalah bilangan prima 59 adalah bilangan prima 61 adalah bilangan prima 67 adalah bilangan prima 71 adalah bilangan prima 73 adalah bilangan prima 79 adalah bilangan prima 83 adalah bilangan prima 89 adalah bilangan prima 97 adalah bilangan prima

Statemen Break

Kata kunci break digunakan untuk menghentikan eksekusi perulangan.

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main () {

// Deklarasi variabel lokal: int a = 10;

// eksekusi perulangan do do

{

cout << "nilai a: " << a << endl; a = a + 1; if( a > 15) { // menghentikan perulangan break; } } while( a < 20 ); return 0; }

(47)

Berikut ini output dari kode tersebut:

nilai a: 10 nilai a: 11 nilai a: 12 nilai a: 13 nilai a: 14 nilai a: 15

Kata Kunci Continue

Kata kunci continue digunakan untuk melompat pada iterasi selanjutnya

pada perulangan.

Pada perulangan for, kata kunci menyebabkan aliran proses

melompat langsung pada bagian pertambahan.

Pada perulangan while, aliran proses melompat langsung pada

bagian kondisi.

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// Deklarasi variabel lokal: int a = 10; // eksekusi perulangan do do { if( a == 15) { // melewatkan iterasi. a = a + 1; continue; }

cout << "nilai a: " << a << endl; a = a + 1;

}

while( a < 20 );

return 0; }

(48)

Kode tersebut akan menghasilkan output berikut:

nilai a: 10 nilai a: 11 nilai a: 12 nilai a: 13 nilai a: 14 nilai a: 16 nilai a: 17 nilai a: 18 nilai a: 19

(49)

BAB 11

Pengambilan Keputusan

dalam C++

Statemen if

Statemen if terdiri dari sebuah ekspresi Boolean yang diikuti dengan

satu statemen atau lebih.

Berikut ini sintaks untuk statemen if:

if(ekspresi_boolean) {

// Statemen akan dieksekusi jika ekspresi Boolean // bernilai benar

}

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// deklarasi variabel lokal: int a = 10;

// memeriksa kondisi boolean if( a < 20 )

{

// jika kondisi benar tampilkan baris berikut cout << "a kurang dari 20;" << endl;

}

(50)

return 0; }

Kode tersebut akan menghasilkan output berikut:

a kurang dari 20 nilai a adalah : 10

Statemen if…else

Statemen if dapat diikuti dengan statemen else opsional, yang dieksekusi

jika ekspresi Boolean bernilai salah.

Berikut ini sintaksnya:

if(ekspresi_boolean) {

// Dieksekusi jika ekspresi Boolean bernilai benar }

else {

// Dieksekusi jika ekspresi Boolean bernilai salah }

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// deklarasi variabel lokal: int a = 100;

// memeriksa kondisi boolean if( a < 20 )

{

// jika kondisi benar tampilkan baris berikut cout << "a kurang dari 20;" << endl;

} else {

// jika kondisi tidak benar tampilkan baris berikut cout << "a tidak kurang dari 20;" << endl;

}

cout << "nilai a adalah : " << a << endl;

return 0; }

(51)

Kode tersebut akan menghasilkan output berikut:

a tidak kurang dari 20 nilai a adalah : 100

Statemen if…else if…else

Statemen if dapat diikuti dengan statemen else if…else opsional.

Saat menggunakan statemen if, else if, else ada beberapa hal yang harus

Anda perhatikan:

Sebuah statemen if dapat memiliki nol atau satu statemen else

dan harus digunakan setelah statemen else if.

Sebuah statemen if dapat memiliki nol atau banyak statemen

else if dan harus digunakan sebelum statemen else.

Setelah sebuah statemen else if dieksekusi, statemen else if atau

else yang lain tidak akan diperiksa (akan langsung melompat

pada kode setelah else terakhir).

Berikut sintaksnya:

if(ekspresi_boolean1) {

// Dieksekusi jika ekspresi boolean 1 bernilai benar }

else if(ekspresi_boolean2) {

// Dieksekusi jika ekspresi boolean 2 bernilai benar }

else if(ekspresi_boolean3) {

// Dieksekusi jika ekspresi boolean 3 bernilai benar }

else {

// Dieksekusi jika tidak ada kondisi di atas yang // bernilai benar.

}

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main () {

(52)

int a = 100;

// memeriksa kondisi boolean if( a == 10 )

{

// jika kondisi benar tampilkan baris berikut cout << "Nilai a adalah 10" << endl;

}

else if( a == 20 ) {

// jika kondisi else if bernilai benar cout << "Nilai a adalah 20" << endl; }

else if( a == 30 ) {

// jika kondisi else if bernilai benar cout << "Nilai a adalah 30" << endl; }

else {

// jika tidak ada kondisi di atas yang bernilai benar cout << "Tidak ada nilai yang cocok" << endl;

}

cout << "Nilai a adalah : " << a << endl;

return 0; }

Kode tersebut akan menghasilkan output berikut:

Tidak ada nilai yang cocok Nilai a adalah: 100

Statemen if…else Bersarang

Anda dapat memasukkan statemen if else ke dalam statemen if else

lainnya.

Berikut ini sintaks dari statemen if else bersarang:

if(ekspresi_boolean1) {

// Dieksekusi jika ekspresi boolean 1 bernilai benar if(ekspresi_boolean2)

{

// Dieksekusi jika ekspresi boolean 2 bernilai benar }

(53)

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// deklarasi variabel lokal: int a = 100;

int b = 200;

// memeriksa kondisi boolean if( a == 100 )

{

// jika kondisi benar, periksa kondisi berikut if( b == 200 )

{

// jika kondisi benar, tampilkan baris berikut cout << "Nilai a 100 dan b 200" << endl; }

}

cout << "Nilai a adalah : " << a << endl; cout << "Nilai b adalah : " << b << endl;

return 0; }

Hasil dari kode tersebut adalah sebagai berikut:

Nilai a 100 dan b 200 Nilai a adalah : 100 Nilai b adalah : 200

Statemen Switch

Statemen switch memungkinkan sebuah variabel diperiksa

kesamaan-nya dengan daftar nilai-nilai yang ada. Setiap nilai dalam daftar disebut

case. Berikut ini sintaks statemen switch:

switch(expression) { case nilai : // Statemen break; // opsional case nilai : // Statemen break; // opsional

// Anda dapat menggunakan beberapa statemen case. default: // opsional

// Statemen }

(54)

Berikut ini aturan penggunaan statemen switch:

Variabel yang digunakan dalam switch hanya boleh berupa byte,

short, int, atau char.

Anda dapat menggunakan beberapa case di dalam switch. Setiap

case diikuti dengan nilai yang akan dibandingkan dan tanda titik

dua (:).

Nilai case harus sama tipe datanya dengan variabel dalam

switch dan harus berupa konstanta atau literal.

Ketika variabel yang dibandingkan sama dengan dengan case,

statemen pada case tersebut akan dieksekusi sampai pada kata

kunci break.

Ketika sampai pada kata kunci break, switch berhenti

dieksekusi, dan aliran proses melompat pada kode sesudah

statemen switch.

Tidak semua case memerlukan break. Jika tidak ada break,

aliran proses akan terus dilanjutkan pada case selanjutnya

sampai pada break.

Statemen switch dapat memiliki case default, yang diletakkan

pada akhir statemen. Default dijalankan jika tidak ada case yang

dijalankan.

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// deklarasi variabel lokal: char nilai = 'D';

switch(nilai) {

case 'A' :

cout << "Sempurna!" << endl; break;

case 'B' : case 'C' :

cout << "Bagus" << endl; break;

case 'D' :

cout << "Anda lulus" << endl; break;

case 'F' :

cout << "Coba lagi" << endl; break;

(55)

default :

cout << "Nilai tidak valid" << endl; }

cout << "Nilai Anda adalah " << nilai << endl;

return 0; }

Kode tersebut menghasilkan output sebagai berikut:

Anda lulus

Nilai Anda adalah D

Statemen Switch Bersarang

Anda dapat memasukkan statemen switch di dalam statemen switch lain.

Berikut ini sintaks untuk statemen switch bersarang:

switch(ch1) {

case 'A':

cout << "Bagian A dari switch luar"; switch(ch2)

{

case 'A':

cout << "Bagian A dari switch dalam"; break;

case 'B': /* kode untuk case B dari switch dalam */ }

break;

case 'B': /* kode untuk case B dari switch luar */ }

Berikut ini contoh penggunaannya:

#include <iostream> using namespace std;

int main() {

// deklarasi variabel lokal: int a = 100;

int b = 200;

switch(a) {

case 100:

cout << "Ini bagian switch luar" << endl; switch(b)

{

(56)

cout << "Ini bagian switch dalam" << endl; }

}

cout << "Nilai a adalah : " << a << endl; cout << "Nilai b adalah : " << b << endl;

return 0; }

Kode tersebut akan menghasilkan output berikut:

Ini bagian switch luar Ini bagian switch dalam Nilai a adalah : 100 Nilai b adalah : 200

Operator ? :

Operator ini juga disebut operator ternary. Operator ini terdiri dari tiga

operand dan digunakan untuk mengevaluasi ekspresi Boolean.

Berikut ini syntax penulisan operator ternary:

Ekspresi1 ? Ekspresi2 : Ekspresi3

Urutan prosesnya adalah sebagai berikut:

1.

Ekspresi1 dievaluasi.

2.

Jika bernilai benar, Ekspresi2 dievaluasi dan menjadi nilai keluaran

(perintah yang dieksekusi).

3.

Jika bernilai salah, Ekspresi3 dievaluasi dan menjadi nilai keluaran

(57)

BAB 12

Fungsi dalam C++

Fungsi adalah sekumpulan statemen yang secara bersama-sama

melaku-kan suatu tugas. Setiap program C++ memiliki minimal satu fungsi

main(). Fungsi juga sering disebut method, sub-rutin, prosedur, dan

sebagainya.

Mendefinisikan Fungsi

Saat mendefinisikan fungsi, Anda dasarnya mendeklarasikan

elemen-elemen dari strukturnya.

Berikut sintaks untuk mendefinisikan fungsi dalam C++:

tipe_balikan nama_fungsi ( daftar parameter ) {

tubuh fungsi }

Berikut penjelasan masing-masing elemen:

tipe_balikan: tipe data dari nilai yang dikembalikan oleh fungsi.

Jika fungsi tidak mengembalikan nilai maka tipe balikannya

void.

nama_fungsi: nama fungsi merupakan identifier yang bersifat

(58)

daftar parameter: parameter dalam tanda kurung digunakan

untuk memberikan dan menerima data dari fungsi. Parameter

bersifat opsional sehingga fungsi tidak harus memiliki daftar

parameter.

tubuh fungsi: mengandung instruksi yang dibutuhkan untuk

menyelesaikan tugas tertentu.

Berikut ini contoh penggunaan fungsi maks() yang menggunakan dua

nilai integer dan mengembalikan nilai terbesar di antaranya.

// fungsi mengembalikan nilai maksimum di antara dua angka

int maks(int num1, int num2) {

// deklarasi variabel lokal int hasil; if (num1 > num2) hasil = num1; else hasil = num2; return hasil; }

Memanggil Fungsi

Anda dapat memanggil fungsi dengan menggunakan nama fungsi dan

memberikan parameter yang sesuai (jika fungsi memiliki parameter).

Berikut ini contohnya:

#include <iostream> using namespace std;

// deklarasi fungsi

int maks(int num1, int num2);

int main() {

// deklarasi variabel lokal: int a = 100;

int b = 200; int ret;

// memanggil fungsi untuk mendapatkan nilai maksimum ret = maks(a, b);

cout << "Nilai maksimum adalah : " << ret << endl;

return 0; }

(59)

// fungsi mengembalikan nilai maksimum di antara dua angka int maks(int num1, int num2)

{

// deklarasi variabel lokal int hasil; if (num1 > num2) hasil = num1; else hasil = num2; return hasil; }

Kode tersebut akan menghasilkan output berikut:

Nilai maksimum adalah : 200

Argumen Fungsi

Jika sebuah fungsi menggunakan argumen/parameter, fungsi tersebut

harus mendeklarasikan variabel yang akan menampung nilai argumen.

Variabel ini disebut parameter formal dari fungsi.

Dalam pemanggilan fungsi, ada beberapa cara untuk memberikan nilai

argumen ke dalam fungsi.

Pemanggilan Berdasarkan Nilai

Metode pemanggilan fungsi berdasarkan nilai memberikan salinan nilai

argumen ke dalam parameter formal dari fungsi. Perubahan pada

parameter di dalam fungsi tidak akan berpengaruh pada argumen.

Berikut ini contoh fungsi swap():

// definisi fungsi swap untuk menukar nilai. void swap(int x, int y)

{

int temp;

temp = x; /* menyimpan nilai x */ x = y; /* memasukkan y ke dalam x */ y = temp; /* memasukkan x ke dalam y */

return; }

(60)

Berikut ini contoh pemanggilan fungsi swap() dengan memberikan nilai

aktual:

#include <iostream> using namespace std;

// deklarasi fungsi void swap(int x, int y);

int main() {

// deklarasi variabel lokal: int a = 100;

int b = 200;

cout << "Sebelum swap, nilai a :" << a << endl; cout << "Sebelum swap, nilai b :" << b << endl;

// memanggil fungsi swap. swap(a, b);

cout << "Setelah swap, nilai a :" << a << endl; cout << "Setelah swap, nilai b :" << b << endl;

return 0; }

Kode tersebut akan menghasilkan output berikut:

Sebelum swap, nilai a :100 Sebelum swap, nilai b :200 Setelah swap, nilai a :100 Setelah swap, nilai b :200

Pemanggilan Berdasarkan Pointer

Metode pemanggilan fungsi berdasarkan pointer memberikan salinan

alamat dari argumen ke dalam parameter formal dari fungsi. Perubahan

terhadap parameter di dalam fungsi akan berpengaruh pada argumen

aslinya. Berikut ini contoh fungsi swap():

// definisi fungsi swap untuk menukar nilai. void swap(int *x, int *y)

{

int temp;

temp = *x; /* menyimpan nilai pada alamat x */ *x = *y; /* memasukkan y ke dalam x */

*y = temp; /* memasukkan x ke dalam y */

return; }

(61)

Berikut ini contoh pemanggilan fungsi swap() dengan menggunakan

pointer:

#include <iostream> using namespace std;

// deklarasi fungsi

void swap(int *x, int *y);

int main () {

// deklarasi variabel lokal: int a = 100;

int b = 200;

cout << "Sebelum swap, nilai a :" << a << endl; cout << "Sebelum swap, nilai b :" << b << endl;

/* memanggil fungsi untuk menukar nilai.

* &a mengindikasikan pointer a (alamat variabel a) dan * &b mengindikasikan pointer b (alamat variabel b). */

swap(&a, &b);

cout << "Setelah swap, nilai a :" << a << endl; cout << "Setelah swap, nilai b :" << b << endl;

return 0; }

Berikut output dari kode tersebut:

Sebelum swap, nilai a :100 Sebelum swap, nilai b :200 Setelah swap, nilai a :200 Setelah swap, nilai b :100

Pemanggilan Berdasarkan Referensi

Metode pemanggilan fungsi berdasarkan referensi memberikan salinan

referensi dari argumen ke dalam parameter formal dari fungsi.

Perubahan terhadap parameter di dalam fungsi akan berpengaruh pada

argumen aslinya. Berikut ini contoh fungsi swap():

// definisi fungsi swap untuk menukar nilai. void swap(int &x, int &y)

{

int temp;

temp = x; /* menyimpan nilai pada alamat x */ x = y; /* memasukkan y ke dalam x */

y = temp; /* memasukkan x ke dalam y */

return; }

Referensi

Dokumen terkait

masing-masing; (3) Guru mengadakan komunikasi terutama dalam memperoleh informasi tentang anak didik dan menghindari segala bentuk penyalahgunaan; (4) Guru

Pelaksanaan tugas dan fungsi aparat Pemerintah Kecamatan Malunda yang melibatkan peran serta masarakat dan swasta dapat dilihat diantaranya melalui partisipasi dalam bidang

Tahap pasca lapangan pada penelitian ini terdiri dari re-interpretasi peta penggunaan lahan dan jaringan jalan, pembuatan peta kekasaran permukaan, pemodelan run up

Hasil penelitian menunjukkan bahwa pendidikan kelompok sebaya dapat meningkatkan pengetahuan dan sikap tentang pendewasaan usia perkawinan pada rema- ja, namun tidak terdapat

Penelitian ini bertujuan untuk mendapatkan nilai optimum dari kadar etanol dalam pembuatan bioetanol menggunakan pati bonggol pisang. Untuk mendapat kadar etanol yang

Pengetahuan Ibu hamil tentang IUD postplasenta pada kelompok eksperimen pada saat posttest atau setelah diberi konseling dan leaflet dalam kategori tinggi sebanyak

Dengan melihat berbagai pertimbangan dari jenis perbankan tersebut, maka perlu dilakukan analisa terhadap penerapan masing-masing sistem tersebut dengan