Anda di halaman 1dari 67

RANGKUMAN MATERI W3SCHOOL BAHASA

PEMOGRAMAN C++

DISUSUN OLEH :
Alfean Cahyadi Putro
KELAS
X1

SMA NEGERI 10 DEPOK


Jl. Raya Curug, RT.01/RW.06, Curug, Kec. Bojongsari, Kota Depok, Jawa Barat
16517
TAHUN PELAJARAN 2023/2023
DAFTAR ISI

DAFTAR ISI..............................................................................................................................................i
Apa itu C++?....................................................................................................................................1
Mengapa Menggunakan C++.......................................................................................................1
C++ TUTORIAL.......................................................................................................................................2
C++ HOME.............................................................................................................................................2
C++ SINTAKS...........................................................................................................................................2
C++ OUTPUT..........................................................................................................................................3
1. (PRINT TEKS)..............................................................................................................................3
2. New Lines..................................................................................................................................3
C++ COMMENT......................................................................................................................................4
C++ VARIABLES......................................................................................................................................5
1. Declare Variables.......................................................................................................................5
2. Declare Multiple Variables.........................................................................................................7
3. Identifier....................................................................................................................................8
4. Constans....................................................................................................................................8
C++ USER INPUT...................................................................................................................................9
1. BASIC DATA TYPES......................................................................................................................9
C++ DATA TYPES.....................................................................................................................................9
2. Numbers..................................................................................................................................10
3. Boolens....................................................................................................................................10
4. Character.................................................................................................................................10
5. Strings......................................................................................................................................10
C++ OPERATORS...................................................................................................................................11
1. Arithmetic................................................................................................................................11
2. Asignment................................................................................................................................12
3. Comparison..............................................................................................................................12
4. Logical......................................................................................................................................13
C++ STRINGS........................................................................................................................................13
1. Strings......................................................................................................................................13
2. Concatenation..........................................................................................................................13
3. Numbers and Strings................................................................................................................14
4. String Length............................................................................................................................14

i
5. Access Strings..........................................................................................................................15
6. Special Characters....................................................................................................................15
7. User Input Strings....................................................................................................................16
8. Omitting Namespace...............................................................................................................16
C++ MATH............................................................................................................................................17
C++ BOOLEANS....................................................................................................................................17
1. Boolean Values........................................................................................................................17
2. Boolean Expressions................................................................................................................18
C++ CONDITIONS.................................................................................................................................18
1. If...............................................................................................................................................18
2. Else..........................................................................................................................................19
3. Else If.......................................................................................................................................20
4. Short Hand If Else....................................................................................................................21
C++ SWITCH.........................................................................................................................................21
C++ WHILE LOOP.................................................................................................................................23
1. While Loop...............................................................................................................................23
2. Do/While Loop.........................................................................................................................23
C++ FOR LOOP.....................................................................................................................................24
C++ BREAK AND CONTINUE.................................................................................................................25
C++ ARRAYS.........................................................................................................................................26
1. Arrays.......................................................................................................................................26
2. Arrays and loops......................................................................................................................27
3. Omit Array Size........................................................................................................................28
4. Get Array Size...........................................................................................................................28
5. Multi Dimensional....................................................................................................................29
C++ STRUCTURES.................................................................................................................................33
C++ REFERENCES.................................................................................................................................35
1. Create References....................................................................................................................35
2. Memory Address.....................................................................................................................35
C++ POINTERS......................................................................................................................................36
1. Create Pointers........................................................................................................................36
2. Derefencing..............................................................................................................................37
3. Modify Pointers.......................................................................................................................37
C++ Functions......................................................................................................................................38
C++ Functions......................................................................................................................................38
1. C++ Fungctions.........................................................................................................................38

ii
C++ FUNCTIONS PARAMETERS............................................................................................................40
1. Parameters and Arguments.....................................................................................................40
2. Default Parameter....................................................................................................................41
3. Multiple Parameters................................................................................................................41
4. Return Values...........................................................................................................................42
5. Pass By Refence.......................................................................................................................42
6. Pass Arrays...............................................................................................................................43
C++ FUNCTIONS OVERLOADING..........................................................................................................43
C++ RECURSION...................................................................................................................................44
C++ CLASES..........................................................................................................................................46
C++ OOP..............................................................................................................................................46
C++ CLASSES AND OBJECT...................................................................................................................47
C++ CLASS METHODS...........................................................................................................................49
C++ CONSTRUCTORS............................................................................................................................50
C++ ACCESS SPECIFIER.........................................................................................................................52
C++ ENCAPSULATION...........................................................................................................................53
C++ INHERITANCE................................................................................................................................55
1. C++ Inheritance........................................................................................................................55
2. C++ Multilevel Inheritance.......................................................................................................55
3. C++ Multiple Inheritance.........................................................................................................56
4. C++ Access Specifiers...............................................................................................................57
C++ POLYMORPHISM...........................................................................................................................58
C++ FILES.............................................................................................................................................60
C++ EXCEPTION....................................................................................................................................62
C++ HOW TO........................................................................................................................................63
ADD TWO NUMBERS...........................................................................................................................63

iii
Apa itu C++?
C++ adalah bahasa lintas platform yang dapat digunakan untuk membuat
aplikasi berkinerja tinggi.

C++ dikembangkan oleh Bjarne Stroustrup, sebagai perpanjangan


dari bahasa C.

C++ memberi pemrogram kendali tingkat tinggi atas sumber daya sistem
dan memori.

Bahasa ini diperbarui 4 kali besar pada tahun 2011, 2014, 2017, dan 2020
menjadi C++11, C++14, C++17, C++20.

Mengapa Menggunakan C++


C++ adalah salah satu bahasa pemrograman paling populer di dunia.

C++ dapat ditemukan di sistem operasi saat ini, Antarmuka Pengguna


Grafis, dan sistem tertanam.

C++ adalah bahasa pemrograman berorientasi objek yang memberikan


struktur yang jelas pada program dan memungkinkan kode untuk digunakan
kembali, sehingga menurunkan biaya pengembangan.

C++ bersifat portabel dan dapat digunakan untuk mengembangkan aplikasi


yang dapat disesuaikan dengan berbagai platform.

C++ menyenangkan dan mudah dipelajari!

Karena C++ mirip dengan C , C# dan Java , memudahkan pemrogram untuk


beralih ke C++ atau sebaliknya.
C++ TUTORIAL

Pada bagian awalan masuk ke halaman website w3school https://www.w3schools.com/ , lalu


pencet bagian sub tema C++,

C++ HOME

Pada tampilan awal C++ akan terlihat seperti


prompt pada gambar disamping

Buka Codeblocks dan buka File > Baru > File Kosong .
Tulis kode C++ berikut dan simpan file sebagai myfirstprogram.cpp( File > Save File as ):

C++ SINTAKS
Baris 1: #include <iostream> adalah pustaka file header yang memungkinkan kita bekerja dengan
objek masukan dan keluaran, seperti cout(digunakan pada baris 5). File header menambahkan
fungsionalitas ke program C++.
Baris 2: using namespace std artinya kita dapat menggunakan nama objek dan variabel dari
perpustakaan standar.

Baris 3: Baris kosong. C++ mengabaikan spasi. Tapi kami menggunakannya untuk membuat kode
lebih mudah dibaca.

2
Baris 4: Hal lain yang selalu muncul dalam program C++ adalah int main(). Ini disebut fungsi . Kode
apa pun di dalam tanda kurung kurawal {}akan dieksekusi.

Baris 5: cout (diucapkan "see-out") adalah objek yang digunakan bersama dengan operator
penyisipan ( <<) untuk mengeluarkan/mencetak teks. Dalam contoh kita, ini akan menampilkan "Halo
Dunia!".

Catatan: Setiap pernyataan C++ diakhiri dengan titik koma ;.

Catatan: Badan int main()dapat juga ditulis sebagai:


int main () { cout << "Hello World! "; return 0; }

Ingat: Kompiler mengabaikan spasi putih. Namun, beberapa baris membuat kode lebih mudah
dibaca.

Baris 6: return 0 mengakhiri fungsi utama.

Baris 7: Jangan lupa menambahkan tanda kurung kurawal penutup }untuk mengakhiri fungsi utama.

Anda mungkin melihat beberapa program C++ yang berjalan tanpa perpustakaan namespace
standar. Baris tersebut using namespace stddapat dihilangkan dan diganti dengan stdkata kunci,
diikuti dengan ::operator untuk beberapa objek:

C++ OUTPUT
1. (PRINT TEKS)
Objek cout, bersama dengan << operator, digunakan untuk mengeluarkan nilai/mencetak
teks:

3
2. New Lines
Untuk menyisipkan baris baru, Anda dapat menggunakan \n karakter:

Dua \n karakter yang saling berurutan akan


membuat baris kosong:

Cara lain untuk menyisipkan baris baru adalah dengan manipulator endl:

4
C++ COMMENT

C++ VARIABLES
1. Declare Variables
Variabel C++

Variabel adalah wadah untuk menyimpan nilai data.

Di C++, ada berbagai jenis variabel (didefinisikan dengan kata kunci berbeda), misalnya:

 int- Menyimpan bilangan bulat (bilangan bulat), tanpa desimal, seperti 123 atau -123
 double- Menyimpan angka floating point, dengan desimal, seperti 19,99 atau -19,99
 char- menyimpan karakter tunggal, seperti 'a' atau 'B'. Nilai char diapit oleh tanda kutip
tunggal
 string- menyimpan teks, seperti "Hello World". Nilai string diapit oleh tanda kutip ganda
 bool- menyimpan nilai dengan dua status: benar atau salah

5
6
2. Declare Multiple Variables

Untuk mendeklarasikan lebih dari satu variabel bertipe sama , gunakan


daftar yang dipisahkan koma:

Dan dapat menetapkan nilai yang sama ke beberapa variabel dalam satu baris

7
3. Identifier

Semua variabel C++ harus diidentifikasi dengan nama unik . Nama-nama unik ini disebut
pengidentifikasi . Pengidentifikasi dapat berupa nama pendek (seperti x dan y) atau nama
yang lebih deskriptif (usia, jumlah, totalVolume).

Catatan: Disarankan untuk menggunakan nama deskriptif untuk membuat kode yang mudah
dipahami dan dipelihara:

Aturan umum penamaan variabel adalah:

1. Nama dapat berisi huruf, angka, dan garis bawah


2. Nama harus diawali dengan huruf atau garis bawah (_)
3. Nama peka terhadap huruf besar-kecil ( myVardan myvarmerupakan variabel yang berbeda)
4. Nama tidak boleh mengandung spasi atau karakter khusus seperti !, #, %, dll.
5. Kata-kata yang dicadangkan (seperti kata kunci C++, seperti int) tidak dapat digunakan
sebagai nama

4. Constans
Bila Anda tidak ingin orang lain (atau diri Anda sendiri) mengubah nilai variabel yang ada,
gunakan constkata kunci (ini akan mendeklarasikan variabel sebagai "konstan", yang berarti tidak
dapat diubah dan hanya dapat dibaca ):

Anda harus selalu mendeklarasikan variabel sebagai konstan ketika Anda memiliki nilai yang
kecil kemungkinannya berubah:

Saat Anda mendeklarasikan variabel konstan, variabel tersebut harus diberi nilai:

8
C++ USER INPUT
1. BASIC DATA TYPES
Anda telah mempelajari apa coutyang digunakan untuk menghasilkan (mencetak)
nilai. Sekarang kita akan menggunakannya cinuntuk mendapatkan input pengguna.

cinadalah variabel standar yang membaca data dari keyboard dengan operator ekstraksi ( >>).

Pada contoh berikut, pengguna dapat memasukkan angka yang disimpan dalam variabel x. Kemudian
kami mencetak nilai x:

Cout diucapkan "lihat-keluar". Digunakan untuk keluaran , dan menggunakan operator penyisipan
( <<)

Cin diucapkan "lihat ke dalam". Digunakan untuk input , dan menggunakan operator ekstraksi ( >>)

C++ DATA TYPES


Seperti yang dijelaskan dalam bab Variabel , variabel dalam C++ harus berupa tipe data
tertentu:

9
2. Numbers
Gunakan intsaat Anda perlu menyimpan bilangan bulat tanpa desimal, seperti 35 atau 1000,
dan floatatau doublesaat Anda memerlukan bilangan floating point (dengan desimal), seperti 9,99
atau 3,14515.

3.

Boolens
Tipe data boolean dideklarasikan dengan boolkata kunci dan hanya dapat mengambil
nilai trueatau false. Nilai Boolean sebagian besar digunakan untuk pengujian bersyarat.

Ketika nilai dikembalikan, true = 1 dan false = 0

4. Character
Tipe char data digunakan untuk menyimpan satu karakter. Karakter harus diapit oleh tanda
kutip tunggal, seperti 'A' atau 'c':

Alternatifnya, jika Anda sudah familiar dengan ASCII, Anda bisa menggunakan nilai ASCII
untuk menampilkan karakter tertentu:

10
5. Strings
Tipe stringdigunakan untuk menyimpan rangkaian karakter (teks). Ini bukan tipe bawaan,
tetapi berperilaku seperti tipe ini dalam penggunaan paling
dasar. Nilai string harus diapit oleh tanda kutip ganda:

Untuk menggunakan string, Anda harus menyertakan file header tambahan di kode sumber,
perpustakaan <string>:

C++ OPERATORS
1. Arithmetic
Operator digunakan untuk melakukan operasi pada variabel dan nilai. Pada contoh di bawah,
kita menggunakan + operator untuk menjumlahkan dua nilai:

Meskipun +operator sering digunakan untuk menjumlahkan dua nilai, seperti pada contoh di
atas, operator juga dapat digunakan untuk menjumlahkan variabel dan nilai, atau variabel dan
variabel lain:

C++ membagi operator menjadi beberapa kelompok berikut:

 Operator aritmatika
 Operator penugasan
 Operator perbandingan
 Operator logika
 Operator bitwise

11
2. Asignment
Operator penugasan digunakan untuk memberikan nilai pada variabel. Pada contoh di
bawah, kita menggunakan operator penugasan ( =) untuk menetapkan nilai 10 ke variabel
bernama x :

Operator penugasan penjumlahan ( ) +=menambahkan nilai ke variabel:

3. Comparison
Operator perbandingan digunakan untuk membandingkan dua nilai (atau variabel). Hal ini
penting dalam pemrograman, karena membantu kita menemukan jawaban dan mengambil
keputusan.

Nilai kembalian suatu perbandingan adalah salah satu 1atau 0, yang berarti benar (1)
atau salah (0). Nilai-nilai ini dikenal sebagai nilai Boolean , dan Anda akan mempelajarinya lebih
lanjut di bab Boolean dan If..Else .

Pada contoh berikut, kita menggunakan operator yang lebih besar dari> ( ) untuk mencari
tahu apakah 5 lebih besar dari 3:

12
4. Logical

Seperti halnya operator perbandingan , Anda juga dapat menguji nilai benar ( 1)
atau salah ( 0) dengan operator logika .

Operator logika digunakan untuk menentukan logika antar variabel atau nilai:

C++ STRINGS
1. Strings
String digunakan untuk menyimpan teks.

Variabel stringberisi kumpulan karakter yang diapit tanda kutip ganda:

Untuk menggunakan string, Anda harus menyertakan file header tambahan di kode sumber,
perpustakaan <string>:

2. Concatenation
Operator + dapat digunakan antar string untuk menjumlahkannya guna membuat string
baru. Ini disebut penggabungan :

13
Pada contoh di atas, kami menambahkan spasi setelah firstName untuk membuat spasi antara John
dan Doe pada output. Namun, Anda juga bisa menambahkan spasi dengan tanda kutip ( " "atau ' '):

String dalam C++ sebenarnya adalah sebuah objek yang berisi fungsi yang dapat melakukan
operasi tertentu pada string. Misalnya, Anda juga dapat menggabungkan string
dengan append()fungsi:

3. Numbers and Strings


PERINGATAN!

C++ menggunakan +operator untuk penjumlahan dan penggabungan . Nomor ditambahkan. String
digabungkan. Jika dijumlahkan dua angka, hasilnya adalah angka:

Jika Anda menambahkan dua string, hasilnya adalah rangkaian string:

Jika Anda mencoba menambahkan nomor ke string, terjadi kesalahan:

4. String Length
Untuk mendapatkan panjang string, gunakan length()fungsi:

Tip: Anda mungkin melihat beberapa program C++ yang menggunakan size()fungsi tersebut untuk
mendapatkan panjang string. Ini hanyalah alias dari length(). Terserah Anda sepenuhnya apakah
Anda ingin menggunakan length()atau size():

14
5. Access Strings
Anda dapat mengakses karakter dalam string dengan mengacu pada nomor indeksnya di
dalam tanda kurung siku []. Contoh ini mencetak karakter pertama di myString

Catatan: Indeks string dimulai dengan 0: [0] adalah karakter pertama. [1] adalah karakter kedua, dan
seterusnya. Contoh ini mencetak karakter kedua di myString :

Untuk mengubah nilai karakter tertentu dalam string, lihat nomor indeks, dan gunakan tanda kutip
tunggal:

6. Special Characters
Karena string harus ditulis dalam tanda kutip, C++ akan salah memahami string ini, dan
menghasilkan kesalahan:

string txt = "We are the so-called "Vikings" from the north.";

Solusi untuk menghindari masalah ini adalah dengan menggunakan karakter escape backslash .

Karakter escape garis miring terbalik ( \) mengubah karakter khusus menjadi karakter string:

Urutannya \" menyisipkan tanda kutip ganda dalam sebuah string:

Urutannya \' menyisipkan satu kutipan dalam sebuah string:

Urutannya \\ menyisipkan satu garis miring terbalik dalam sebuah string:

15
7. User Input Strings
>>Operator ekstraksi on dapat digunakan cinuntuk menyimpan string yang dimasukkan oleh
pengguna:

Namun, cinpertimbangkan spasi (spasi, tab, dll) sebagai karakter penutup, yang berarti karakter
tersebut hanya dapat menyimpan satu kata (walaupun Anda mengetik banyak kata):

Dari contoh di atas, Anda mengharapkan program mencetak "John Doe", namun hanya mencetak
"John".

Itu sebabnya, ketika bekerja dengan string, kita sering menggunakan getline() fungsi untuk membaca
sebaris teks. Dibutuhkan cinsebagai parameter pertama, dan variabel string sebagai parameter
kedua:

8. Omitting Namespace
Anda mungkin melihat beberapa program C++ yang berjalan tanpa perpustakaan namespace
standar. Baris tersebut using namespace stddapat dihilangkan dan diganti dengan stdkata kunci,
diikuti dengan ::operator untuk string(dan cout) objek:

16
C++ MATH
C++ memiliki banyak fungsi yang memungkinkan Anda melakukan tugas matematika pada angka.

Fungsi tersebut dapat digunakan untuk mencari nilai x dan y tertinggi :max(x,y)

Dan fungsinya dapat digunakan untuk mencari nilai terendah dari x dan y :min(x,y)

Fungsi lainnya, seperti sqrt(akar kuadrat), round(membulatkan angka) dan log (logaritma natural),
dapat ditemukan di <cmath>file header:

C++ BOOLEANS
Boolean adalah dasar untuk semua perbandingan dan kondisi C++.

1. Boolean Values
Seringkali, dalam pemrograman, Anda memerlukan tipe data yang hanya dapat memiliki satu dari
dua nilai, seperti:

 YA TIDAK
 HIDUP/MATI
 BENAR SALAH

Untuk ini, C++ memiliki booltipe data yang dapat mengambil nilai true (1) atau false (0).

Variabel boolean dideklarasikan dengan boolkata kunci dan hanya dapat mengambil
nilai trueatau false:

Dari contoh di atas, Anda dapat membaca bahwa suatu truenilai return 1, dan falsereturn 0.

17
Namun, lebih umum mengembalikan nilai boolean dengan membandingkan nilai dan variabel

2. Boolean Expressions
Ekspresi Boolean mengembalikan nilai boolean 1(benar) atau 0 (salah).

Hal ini berguna untuk membangun logika, dan menemukan jawaban.

Anda dapat menggunakan operator perbandingan , seperti operator yang lebih besar dari ( >), untuk
mengetahui apakah suatu ekspresi (atau variabel) bernilai benar atau salah:

atau lebih mudah lagi

Pada contoh di bawah ini, kita menggunakan operator sama dengan ( ==) untuk mengevaluasi
ekspresi:

Mari kita pikirkan “contoh kehidupan nyata” di mana kita perlu mencari tahu apakah seseorang
sudah cukup umur untuk memilih.

Pada contoh di bawah ini, kita menggunakan >=operator perbandingan untuk mengetahui apakah
usia ( 25) lebih besar dari ATAU sama dengan batas usia pemungutan suara, yang ditetapkan
menjadi 18:

Keren, bukan? Pendekatan yang lebih baik lagi (karena kita sedang dalam proses sekarang), adalah
dengan menggabungkan kode di atas dalam sebuah if...else pernyataan, sehingga kita dapat
melakukan tindakan yang berbeda tergantung pada hasilnya:

C++ CONDITIONS
1. If
Anda sudah tahu bahwa C++ mendukung kondisi logis yang biasa dari matematika:

18
Kurang dari: a < b

Kurang dari atau sama dengan: a <= b

 Lebih besar dari: a > b


 Lebih besar dari atau sama dengan: a >= b
 Sama dengan a == b
 Tidak Sama dengan: a != b

Anda dapat menggunakan ketentuan ini untuk melakukan tindakan berbeda untuk keputusan
berbeda.

C++ memiliki pernyataan kondisi berikut:

 Gunakan ifuntuk menentukan blok kode yang akan dieksekusi, jika kondisi yang ditentukan
benar
 Gunakan elseuntuk menentukan blok kode yang akan dieksekusi, jika kondisi yang sama
salah
 Gunakan else ifuntuk menentukan kondisi baru yang akan diuji, jika kondisi pertama salah
 Gunakan switchuntuk menentukan banyak blok kode alternatif yang akan dieksekusi

Gunakan ifpernyataan untuk menentukan blok kode C++ yang akan dieksekusi jika kondisinya true.

Perhatikan bahwa if dalam huruf kecil. Huruf besar (If atau IF) akan menghasilkan kesalahan.

Pada contoh di bawah, kita menguji dua nilai untuk mengetahui apakah 20 lebih besar dari 18. Jika
kondisinya true, cetak beberapa teks:

Kami juga dapat menguji variabel:

Pada contoh di atas kita menggunakan dua variabel, x dan y , untuk menguji apakah x lebih
besar dari y (menggunakan >operator). Karena x adalah 20, dan y adalah 18, dan kita mengetahui
bahwa 20 lebih besar dari 18, kita mencetak ke layar bahwa "x lebih besar dari y".

2. Else
Gunakan elsepernyataan tersebut untuk menentukan blok kode yang akan
dieksekusi jika kondisinya false.

19
Sintaksis

Contoh

Pada contoh di atas, waktu (20) lebih besar dari 18, maka kondisinya adalah false. Karena itu,
kami beralih ke elsekondisi dan mencetak "Selamat malam" di layar. Jika waktunya kurang dari 18,
program akan mencetak "Selamat siang".

3. Else If
Gunakan else ifpernyataan tersebut untuk menentukan kondisi baru jika kondisi pertama
adalah false.

Sintaksis

Contoh

Pada contoh di samping, waktu (22) lebih besar dari 10,


maka kondisi pertamanya adalah false. Kondisi berikutnya,
dalam else ifpernyataan, juga false, jadi kita beralih
ke else kondisi karena kondisi1 dan kondisi2 keduanya false-
dan mencetak ke layar "Selamat malam".

Namun, jika waktunya adalah 14, program kita akan mencetak


"Selamat siang".

20
4. Short Hand If Else
Ada juga singkatan if else, yang dikenal sebagai operator ternary karena terdiri dari tiga
operan. Ini dapat digunakan untuk mengganti beberapa baris kode dengan satu baris. Ini sering
digunakan untuk menggantikan pernyataan if else sederhana:

Sintaksis

Daripada menulis

Contoh

Anda cukup menulis

Contoh

C++ SWITCH
Gunakan switchpernyataan tersebut untuk memilih salah satu dari banyak
blok kode yang akan dieksekusi.

Begini Cara kerjanya:

 Ekspresi switchdievaluasi satu kali


 Nilai ekspresi dibandingkan dengan nilai masing-masingcase
 Jika ada kecocokan, blok kode terkait akan dieksekusi

21
 Kata kunci breakdan defaultbersifat opsional, dan akan dijelaskan nanti di bab ini

Contoh di bawah ini menggunakan nomor hari kerja untuk menghitung nama hari kerja:

Ketika C++ mencapai break kata kunci, ia keluar dari blok switch.

Ini akan menghentikan eksekusi lebih banyak kode dan pengujian kasus di dalam blok.

Ketika kecocokan ditemukan, dan pekerjaan selesai, saatnya istirahat. Tidak perlu pengujian lebih
lanjut.

Istirahat dapat menghemat banyak waktu eksekusi karena "mengabaikan" eksekusi seluruh kode
lainnya di blok switch.

Kata default kunci menentukan beberapa kode untuk dijalankan jika tidak ada kasus yang cocok:

22
C++ WHILE LOOP
1. While Loop
Loop dapat mengeksekusi suatu blok kode selama kondisi tertentu tercapai.

Loop berguna karena menghemat waktu, mengurangi kesalahan, dan membuat kode lebih
mudah dibaca.

Perulangan while melakukan perulangan melalui blok kode selama kondisi yang ditentukan
adalah true:

Pada contoh di bawah, kode dalam perulangan akan dijalankan berulang-ulang selama
variabel ( i) kurang dari 5:

Catatan: Jangan lupa untuk menambah variabel yang digunakan dalam kondisi, jika tidak, perulangan
tidak akan pernah berakhir!

2. Do/While Loop
Perulangan do/whileadalah varian dari whileperulangan. Perulangan ini akan mengeksekusi
blok kode satu kali, sebelum memeriksa apakah kondisinya benar, kemudian akan mengulangi
perulangan selama kondisinya benar.

23
Contoh di bawah ini menggunakan do/whileloop. Perulangan akan selalu dieksekusi setidaknya satu
kali, meskipun kondisinya salah, karena blok kode dieksekusi sebelum kondisi diuji:

Jangan lupa untuk menambah variabel yang digunakan dalam kondisi, jika tidak, perulangan tidak
akan pernah berakhir!

C++ FOR LOOP


Ketika Anda tahu persis berapa kali Anda ingin melakukan perulangan pada suatu blok kode,
gunakan perulangan foralih-alih whileperulangan:

Pernyataan 1 dieksekusi (satu kali) sebelum eksekusi blok kode.

Pernyataan 2 mendefinisikan kondisi untuk mengeksekusi blok kode.

Pernyataan 3 dieksekusi (setiap saat) setelah blok kode dieksekusi.

Contoh dibawah ini akan mencetak angka 0 sampai 4:

Pernyataan 1 menetapkan variabel sebelum loop dimulai (int i = 0).

Pernyataan 2 mendefinisikan kondisi agar perulangan dapat berjalan (i harus kurang dari 5). Jika
kondisinya benar maka perulangan akan dimulai lagi, jika salah maka perulangan akan berakhir.

Pernyataan 3 meningkatkan nilai (i++) setiap kali blok kode dalam loop dieksekusi.

24
Contoh lain ini hanya akan mencetak nilai genap antara 0 dan 10

Dimungkinkan juga untuk menempatkan satu perulangan di dalam perulangan lainnya. Ini
disebut loop bersarang .

"Loop dalam" akan dieksekusi satu kali untuk setiap iterasi dari "loop luar":

Ada juga " for-each loop" (diperkenalkan dalam C++ versi 11 (2011), yang digunakan secara eksklusif
untuk melakukan loop melalui elemen dalam array (atau kumpulan data lainnya):

Contoh berikut menampilkan semua elemen dalam array, menggunakan " for-each loop":

Catatan: Jangan khawatir jika Anda tidak memahami contoh di atas. Anda akan mempelajari lebih
lanjut tentang array di bab C++ Array .

C++ BREAK AND CONTINUE


Anda telah melihat breakpernyataan yang digunakan pada bab awal tutorial ini. Itu digunakan untuk
"melompat keluar" dari sebuah switchpernyataan.

Pernyataan tersebut breakjuga dapat digunakan untuk keluar dari lingkaran .

Contoh ini melompat keluar dari loop ketika isama dengan 4:

25
Pernyataan tersebut continuemenghentikan satu iterasi (dalam perulangan), jika kondisi tertentu
terjadi, dan berlanjut dengan iterasi berikutnya dalam perulangan.

Contoh ini melewatkan nilai 4:

Anda juga dapat menggunakan breakdan continuedalam perulangan while:

C++ ARRAYS
1. Arrays
Array digunakan untuk menyimpan beberapa nilai dalam satu variabel, alih-alih mendeklarasikan
variabel terpisah untuk setiap nilai.

Untuk mendeklarasikan array, tentukan tipe variabel, tentukan nama array diikuti dengan tanda
kurung siku dan tentukan jumlah elemen yang harus disimpan:

Kami sekarang telah mendeklarasikan variabel yang menampung


array empat string. Untuk memasukkan nilai ke dalamnya, kita dapat menggunakan array literal -
tempatkan nilai dalam daftar yang dipisahkan koma, di dalam kurung kurawal:

Untuk membuat array yang terdiri dari tiga bilangan bulat, Anda dapat menulis:

26
Untuk mengubah nilai elemen tertentu, lihat nomor indeks:

2. Arrays and loops


Anda dapat mengulang elemen array dengan for loop.

Contoh berikut menampilkan semua elemen dalam array cars :

Contoh ini menampilkan indeks setiap elemen beserta nilainya:

Dan contoh ini menunjukkan cara melakukan loop melalui array bilangan bulat:

Ada juga " for-each loop" (diperkenalkan dalam C++ versi 11 (2011), yang digunakan secara eksklusif
untuk mengulang elemen dalam array:

27
Contoh berikut menampilkan semua elemen dalam array, menggunakan " for-each loop":

3. Omit Array Size


Di C++, Anda tidak perlu menentukan ukuran array. Kompiler cukup pintar untuk menentukan ukuran
array berdasarkan jumlah nilai yang dimasukkan:

Contoh diatas sama dengan

Namun, pendekatan terakhir dianggap sebagai "praktik yang baik", karena akan mengurangi
kemungkinan kesalahan dalam program Anda.

Dimungkinkan juga untuk mendeklarasikan array tanpa menentukan elemen


pada deklarasi, dan menambahkannya nanti:

4. Get Array Size


Untuk mengetahui ukuran array, Anda dapat menggunakan sizeof() operator:

Mengapa hasilnya 20 malah muncul 5, padahal array berisi 5 elemen?

Itu karena sizeof()operator mengembalikan ukuran suatu tipe dalam bytes .

Anda belajar dari bab Tipe Data bahwa suatu int tipe biasanya berukuran 4 byte, jadi dari contoh di
atas, 4 x 5 (4 bytes x 5 elements) = 20 bytes .

28
Untuk mengetahui berapa banyak elemen yang dimiliki sebuah array , Anda harus membagi ukuran
array dengan ukuran tipe data yang dikandungnya:

Pada Bab Array dan Loop , kita menulis ukuran array dalam kondisi loop ( i < 5). Ini tidak ideal, karena
ini hanya akan berfungsi untuk array dengan ukuran tertentu.

Namun, dengan menggunakan sizeof()pendekatan dari contoh di atas, kini kita dapat membuat loop
yang berfungsi untuk array dengan ukuran berapa pun, sehingga lebih berkelanjutan.

Daripada menulis:

Lebih baik menulis:

Perhatikan bahwa, dalam C++ versi 11 (2011), Anda juga dapat menggunakan loop "untuk setiap" :

Ada baiknya untuk mengetahui berbagai cara melakukan loop melalui array, karena Anda mungkin
menemukan semuanya di program yang berbeda.

5. Multi Dimensional
Array multidimensi adalah array dari array.

Untuk mendeklarasikan array multidimensi, tentukan tipe variabel, tentukan nama array
diikuti dengan tanda kurung siku yang menentukan berapa banyak elemen yang dimiliki array utama,
diikuti dengan tanda kurung siku lainnya yang menunjukkan berapa banyak elemen yang dimiliki sub-
array. :

Seperti halnya array biasa, Anda dapat memasukkan nilai dengan literal array - daftar yang
dipisahkan koma di dalam kurung kurawal. Dalam array multidimensi, setiap elemen dalam literal
array adalah literal array lainnya.

29
Setiap kumpulan tanda kurung siku dalam deklarasi array menambahkan dimensi lain ke dalam
array. Array seperti di atas dikatakan mempunyai dua dimensi.

Array dapat memiliki sejumlah dimensi. Semakin banyak dimensi yang dimiliki sebuah array, semakin
kompleks kodenya. Array berikut memiliki tiga dimensi:

Untuk mengakses elemen array multidimensi, tentukan nomor indeks di setiap dimensi array.

Pernyataan ini mengakses nilai elemen pada baris pertama (0) dan kolom ketiga (2) dari array huruf

Ingatlah bahwa: Indeks array dimulai dengan 0: [0] adalah elemen pertama. [1] adalah elemen
kedua, dan seterusnya.

Untuk mengubah nilai suatu elemen, lihat nomor indeks elemen di setiap dimensi:

Untuk melakukan perulangan pada array multidimensi, Anda memerlukan satu perulangan untuk
setiap dimensi array.

Contoh berikut menampilkan semua elemen dalam array huruf :

30
Contoh ini menunjukkan cara melakukan loop melalui array tiga dimensi:

Array multidimensi sangat bagus dalam merepresentasikan grid. Contoh ini menunjukkan kegunaan
praktisnya. Dalam contoh berikut kita menggunakan array multidimensi untuk merepresentasikan
permainan kecil Battleship:

31
32
C++ STRUCTURES
Struktur (disebut juga struct) adalah cara mengelompokkan beberapa variabel terkait ke dalam satu
tempat. Setiap variabel dalam struktur dikenal sebagai anggota struktur.

Berbeda dengan array , struktur dapat berisi banyak tipe data berbeda (int, string, bool, dll.).

Untuk membuat struktur, gunakan struct kata kunci dan deklarasikan setiap anggotanya di dalam
kurung kurawal.

Setelah deklarasi, tentukan nama variabel struktur ( myStructure pada contoh di bawah):

Untuk mengakses anggota struktur, gunakan sintaks titik ( .):

Anda dapat menggunakan tanda koma ( ,) untuk menggunakan satu


struktur dalam banyak variabel:

Contoh ini menunjukkan cara menggunakan struktur dalam dua variabel


berbeda

33
Dengan memberi nama pada struktur, Anda bisa memperlakukannya sebagai
tipe data. Ini berarti Anda dapat membuat variabel dengan struktur ini di
mana saja dalam program kapan saja.

Untuk membuat struktur bernama, masukkan nama struktur tepat


setelah structkata kunci:

Untuk mendeklarasikan variabel yang menggunakan struktur, gunakan nama


struktur sebagai tipe data variabel:

34
C++ REFERENCES
1. Create References
Variabel referensi adalah "referensi" ke variabel yang sudah ada, dan dibuat
dengan operator &:

Sekarang, kita bisa menggunakan nama variabel foodatau nama


referensi meal untuk merujuk ke foodvariabel:

2. Memory Address
Pada contoh di halaman sebelumnya, &operator digunakan untuk membuat variabel referensi. Tapi
itu juga bisa digunakan untuk mendapatkan alamat memori suatu variabel; yang merupakan lokasi
penyimpanan variabel di komputer.

35
Ketika sebuah variabel dibuat di C++, alamat memori diberikan ke variabel tersebut. Dan ketika kita
memberikan nilai pada variabel, itu disimpan di alamat memori ini.

Untuk mengaksesnya, gunakan & operator, dan hasilnya akan mewakili lokasi penyimpanan variabel:

Catatan: Alamat memori dalam bentuk heksadesimal (0x..). Perhatikan bahwa Anda mungkin tidak
mendapatkan hasil yang sama dalam program Anda.

Dan mengapa mengetahui alamat memori bermanfaat?


Referensi dan Pointer (yang akan Anda pelajari di bab berikutnya) penting dalam C++, karena
memberikan Anda kemampuan untuk memanipulasi data dalam memori komputer - yang dapat
mengurangi kode dan meningkatkan kinerja .

Kedua fitur ini menjadi salah satu hal yang membuat C++ menonjol dibandingkan bahasa
pemrograman lain, seperti Python dan Java

C++ POINTERS
1. Create Pointers
Anda telah belajar dari bab sebelumnya, bahwa kita bisa mendapatkan alamat memori suatu
variabel dengan menggunakan & operator:

Namun pointer adalah variabel yang menyimpan alamat memori sebagai nilainya .

Variabel penunjuk menunjuk ke tipe data (seperti intatau string) dengan tipe yang sama, dan dibuat
dengan *operator. Alamat variabel yang sedang Anda kerjakan ditetapkan ke penunjuk

Buatlah sebuah variabel pointer bernama ptr, yang menunjuk pada suatu stringvariabel, dengan
menggunakan tanda asterisk *( string* ptr). Perhatikan bahwa tipe pointer harus cocok dengan tipe
variabel yang Anda kerjakan.

36
Gunakan &operator untuk menyimpan alamat memori variabel bernama food, dan tetapkan ke
penunjuk.

Sekarang, ptrmenyimpan nilai foodalamat memori.

Tip: Ada tiga cara untuk mendeklarasikan variabel pointer, namun cara pertama lebih disukai:

2. Derefencing
Pada contoh di halaman sebelumnya, kita menggunakan variabel pointer untuk
mendapatkan alamat memori suatu variabel (digunakan bersama dengan
operator & referensi ). Namun, Anda juga dapat menggunakan pointer untuk mendapatkan nilai
variabel, dengan menggunakan operator *( operator dereferensi ):

Perhatikan bahwa * tanda tersebut dapat membingungkan di sini, karena ia melakukan dua hal
berbeda dalam kode kita:

 Saat digunakan dalam deklarasi (string* ptr), ini menciptakan variabel penunjuk .
 Jika tidak digunakan dalam deklarasi, ia bertindak sebagai operator dereferensi .

3. Modify Pointers
Anda juga dapat mengubah nilai penunjuk. Namun perhatikan bahwa ini juga akan
mengubah nilai variabel asli:

37
C++ Functions
C++ Functions
1. C++ Fungctions
Fungsi adalah blok kode yang hanya berjalan ketika dipanggil.

Anda dapat meneruskan data, yang dikenal sebagai parameter, ke dalam suatu fungsi.

Fungsi digunakan untuk melakukan tindakan tertentu, dan penting untuk menggunakan kembali
kode: Tentukan kode satu kali, dan gunakan berkali-kali.

C++ menyediakan beberapa fungsi yang telah ditentukan sebelumnya, seperti main(), yang
digunakan untuk mengeksekusi kode. Namun Anda juga dapat membuat fungsi Anda sendiri untuk
melakukan tindakan tertentu.

Untuk membuat (sering disebut dengan mendeklarasikan ) suatu fungsi, tentukan nama fungsi
tersebut, diikuti dengan tanda kurung () :

Contoh Dijelaskan

 myFunction()adalah nama fungsinya


 voidberarti fungsi tersebut tidak memiliki nilai kembalian. Anda akan mempelajari lebih
lanjut tentang nilai kembalian nanti di bab berikutnya
 di dalam fungsi (tubuh), tambahkan kode yang mendefinisikan apa yang harus dilakukan
fungsi tersebut

Fungsi yang dideklarasikan tidak langsung dijalankan. Mereka "disimpan untuk digunakan nanti", dan
akan dieksekusi nanti, saat dipanggil.

Untuk memanggil suatu fungsi, tuliskan nama fungsi tersebut diikuti dengan dua tanda kurung () dan
titik koma;

Dalam contoh berikut, myFunction()digunakan untuk mencetak teks (aksi), ketika dipanggil:

38
Suatu fungsi dapat dipanggil beberapa kali:

Fungsi C++ terdiri dari dua bagian:

 Deklarasi: tipe kembalian, nama fungsi, dan parameter (jika ada)


 Definisi: isi fungsi (kode yang akan dieksekusi)

Catatan: Jika fungsi yang ditentukan pengguna, seperti myFunction()dideklarasikan


setelah main()fungsi tersebut, kesalahan akan terjadi :

Namun, dimungkinkan untuk memisahkan deklarasi dan definisi fungsi - untuk optimasi kode.

Anda akan sering melihat program C++ yang memiliki deklarasi fungsi di atas main(), dan definisi
fungsi di bawah main(). Ini akan membuat kode lebih terorganisir dan lebih mudah dibaca:

39
C++ FUNCTIONS PARAMETERS
1. Parameters and Arguments
Informasi dapat diteruskan ke fungsi sebagai parameter. Parameter bertindak sebagai variabel di
dalam fungsi.

Parameter ditentukan setelah nama fungsi, di dalam tanda kurung. Anda dapat menambahkan
parameter sebanyak yang Anda inginkan, cukup pisahkan dengan koma:

Contoh berikut memiliki fungsi yang


menggunakan stringfname sebagai parameter. Saat fungsi dipanggil, kita
meneruskan nama depan, yang digunakan di dalam fungsi untuk mencetak
nama lengkap:

40
2. Default Parameter
Anda juga dapat menggunakan nilai parameter default dengan menggunakan tanda sama dengan
( =).

Jika kita memanggil fungsi tanpa argumen, maka fungsi tersebut akan menggunakan nilai default
("Norwegia"):

Parameter dengan nilai default, sering disebut sebagai " parameter opsional ". Dari contoh di
atas, countrymerupakan parameter opsional dan "Norway"merupakan nilai default.

3. Multiple Parameters
Di dalam fungsinya, Anda dapat menambahkan parameter sebanyak yang Anda inginkan:

Perhatikan bahwa saat Anda bekerja dengan beberapa parameter, pemanggilan fungsi harus
memiliki jumlah argumen yang sama dengan jumlah parameter, dan argumen harus diteruskan
dalam urutan yang sama.

41
4. Return Values
Kata void kunci, yang digunakan pada contoh sebelumnya, menunjukkan bahwa fungsi tersebut
tidak boleh mengembalikan nilai. Jika Anda ingin fungsi mengembalikan nilai, Anda bisa
menggunakan tipe data (seperti int, string, dll.) sebagai ganti void, dan menggunakan return kata
kunci di dalam fungsi:

Contoh ini mengembalikan jumlah fungsi dengan dua parameter :

Anda juga dapat menyimpan hasilnya dalam sebuah variabel:

5. Pass By Refence
Pada contoh di halaman sebelumnya, kita menggunakan variabel normal saat meneruskan
parameter ke suatu fungsi. Anda juga dapat meneruskan referensi ke fungsi tersebut. Ini bisa
berguna ketika Anda perlu mengubah nilai argumen:

42
6. Pass Arrays
Anda juga dapat meneruskan array ke suatu fungsi:

C++ FUNCTIONS OVERLOADING


Dengan fungsi yang berlebihan , beberapa fungsi dapat memiliki nama yang sama dengan parameter
berbeda:

Perhatikan contoh berikut, yang memiliki dua fungsi yang menjumlahkan bilangan dengan tipe
berbeda:

43
Daripada mendefinisikan dua fungsi yang seharusnya melakukan hal yang sama, lebih baik
membebani salah satunya.

Pada contoh di bawah, kita membebani plusFuncfungsi tersebut agar berfungsi untuk
keduanya int dan double:

Catatan: Beberapa fungsi dapat memiliki nama yang sama selama jumlah dan/atau jenis
parameternya berbeda.

C++ RECURSION
Rekursi adalah teknik pemanggilan fungsi itu sendiri. Teknik ini memberikan cara untuk memecah
permasalahan rumit menjadi permasalahan sederhana yang lebih mudah diselesaikan.

Rekursi mungkin agak sulit untuk dipahami. Cara terbaik untuk mengetahui cara kerjanya adalah
dengan bereksperimen dengannya.

Menjumlahkan dua angka mudah dilakukan, namun menjumlahkan rentang angka lebih
rumit. Dalam contoh berikut, rekursi digunakan untuk menjumlahkan serangkaian angka dengan
memecahnya menjadi tugas sederhana menjumlahkan dua angka:

44
Contoh Dijelaskan

Saat sum()fungsi tersebut dipanggil, ia menambahkan parameter kke jumlah semua angka yang lebih
kecil kdan mengembalikan hasilnya. Ketika k menjadi 0, fungsinya hanya mengembalikan 0. Saat
dijalankan, program mengikuti langkah-langkah berikut:

Karena fungsi tersebut tidak memanggil dirinya sendiri ketika kbernilai 0, program berhenti di sana
dan mengembalikan hasilnya.

Pengembang harus sangat berhati-hati dengan rekursi karena sangat mudah untuk menulis fungsi
yang tidak pernah berhenti, atau fungsi yang menggunakan memori atau daya prosesor dalam
jumlah berlebih. Namun, jika ditulis dengan benar, rekursi dapat menjadi pendekatan pemrograman
yang sangat efisien dan elegan secara matematis.

45
C++ CLASES
C++ OOP
OOP adalah singkatan dari Pemrograman Berorientasi Objek.

Pemrograman prosedural adalah tentang menulis prosedur atau fungsi yang melakukan operasi pada
data, sedangkan pemrograman berorientasi objek adalah tentang membuat objek yang berisi data
dan fungsi.

Pemrograman berorientasi objek memiliki beberapa keunggulan dibandingkan pemrograman


prosedural:

 OOP lebih cepat dan mudah dijalankan


 OOP menyediakan struktur program yang jelas
 OOP membantu menjaga kode C++ KERING "Jangan Ulangi Sendiri", dan membuat kode
lebih mudah dipelihara, dimodifikasi, dan di-debug
 OOP memungkinkan pembuatan aplikasi penuh yang dapat digunakan kembali dengan kode
lebih sedikit dan waktu pengembangan lebih singkat

Tip: Prinsip "Jangan Ulangi Diri Sendiri" (KERING) adalah tentang mengurangi pengulangan
kode. Anda harus mengekstrak kode-kode yang umum untuk aplikasi tersebut, dan menempatkannya
di satu tempat dan menggunakannya kembali daripada mengulanginya.

C++ Apa itu Kelas dan Objek?

Kelas dan objek adalah dua aspek utama pemrograman berorientasi objek.

Perhatikan ilustrasi berikut untuk melihat perbedaan antara kelas dan objek:

Jadi, kelas adalah templat untuk objek, dan objek adalah turunan dari kelas.

Saat objek individual dibuat, objek tersebut mewarisi semua variabel dan fungsi dari kelas.

Anda akan belajar lebih banyak tentang kelas dan objek di bab berikutnya.

46
C++ CLASSES AND OBJECT
C++ adalah bahasa pemrograman berorientasi objek.

Segala sesuatu di C++ dikaitkan dengan kelas dan objek, beserta atribut dan
metodenya. Misalnya: dalam kehidupan nyata, mobil adalah sebuah benda . Mobil memiliki atribut ,
seperti berat dan warna, serta metode , seperti penggerak dan rem.

Atribut dan metode pada dasarnya adalah variabel dan fungsi yang dimiliki oleh kelas. Ini
sering disebut sebagai "anggota kelas".

Kelas adalah tipe data yang ditentukan pengguna yang dapat kita gunakan dalam program
kita, dan berfungsi sebagai konstruktor objek, atau "cetak biru" untuk membuat objek

Untuk membuat kelas, gunakan class kata kunci:

Contoh dijelaskan

 Kata classkunci digunakan untuk membuat kelas yang disebut MyClass.


 Kata publickuncinya adalah penentu akses , yang menentukan bahwa anggota (atribut dan
metode) kelas dapat diakses dari luar kelas. Anda akan mempelajari lebih lanjut
tentang penentu akses nanti.
 Di dalam kelas, ada variabel integer myNumdan variabel string myString. Ketika variabel
dideklarasikan dalam suatu kelas, mereka disebut atribut .
 Terakhir, akhiri definisi kelas dengan titik koma ;.

Di C++, sebuah objek dibuat dari sebuah kelas. Kita telah membuat kelas bernama MyClass, jadi
sekarang kita bisa menggunakannya untuk membuat objek.

Untuk membuat objek MyClass, tentukan nama kelas, diikuti dengan nama objek.

Untuk mengakses atribut kelas ( myNumdan myString), gunakan sintaks titik ( .) pada objek:

47
Anda dapat membuat beberapa objek dari satu kelas:

48
C++ CLASS METHODS
Metode adalah fungsi yang dimiliki oleh kelas.

Ada dua cara untuk mendefinisikan fungsi yang dimiliki suatu kelas:

Definisi di dalam kelas

Definisi di luar kelas

Pada contoh berikut, kita mendefinisikan suatu fungsi di dalam kelas, dan kita beri nama
" myMethod".

Catatan: Anda mengakses metode sama seperti Anda mengakses atribut; dengan membuat objek
kelas dan menggunakan sintaks titik ( .):

Untuk mendefinisikan suatu fungsi di luar definisi kelas, Anda harus mendeklarasikannya di dalam
kelas dan kemudian mendefinisikannya di luar kelas. Hal ini dilakukan dengan menentukan nama
kelas, diikuti ::operator resolusi cakupan, diikuti dengan nama fungsi:

49
Anda juga dapat menambahkan parameter:

C++ CONSTRUCTORS
Konstruktor di C++ adalah metode khusus yang dipanggil secara otomatis ketika objek suatu kelas
dibuat.

Untuk membuat konstruktor, gunakan nama yang sama dengan kelasnya, diikuti dengan tanda
kurung ():

50
Catatan: Konstruktor memiliki nama yang sama dengan kelas, selalu public, dan tidak memiliki nilai
balik apa pun.

Konstruktor juga dapat mengambil parameter (seperti fungsi biasa), yang berguna untuk
menetapkan nilai awal atribut.

Kelas berikut memiliki brand, modeldan yearatribut, dan konstruktor dengan parameter berbeda. Di
dalam konstruktor kita mengatur atribut sama dengan parameter konstruktor ( brand=x, dll). Saat
kita memanggil konstruktor (dengan membuat objek kelas), kita meneruskan parameter ke
konstruktor, yang akan menyetel nilai atribut terkait menjadi sama:

Sama seperti fungsi, konstruktor juga dapat didefinisikan di luar kelas. Pertama, deklarasikan
konstruktor di dalam kelas, lalu definisikan di luar kelas dengan menentukan nama kelas, diikuti
dengan :: operator resolusi cakupan, diikuti dengan nama konstruktor (yang sama dengan kelas):

51
C++ ACCESS SPECIFIER
Sekarang, Anda sudah cukup familiar dengan publickata kunci yang muncul di semua contoh kelas
kita:

Kata publickuncinya adalah penentu akses. Penentu akses menentukan bagaimana anggota (atribut
dan metode) suatu kelas dapat diakses. Pada contoh di atas, anggotanya adalah public- yang artinya
dapat diakses dan dimodifikasi dari luar kode.

Namun, bagaimana jika kita ingin anggota menjadi pribadi dan tersembunyi dari dunia luar?

Di C++, ada tiga penentu akses:

 public- anggota dapat diakses dari luar kelas


 private- anggota tidak dapat diakses (atau dilihat) dari luar kelas
 protected- anggota tidak dapat diakses dari luar kelas, namun mereka dapat diakses di kelas
yang diwarisi. Anda akan mempelajari lebih lanjut tentang Warisan nanti.

Dalam contoh berikut, kami menunjukkan perbedaan antara publicdan privateanggota:

52
Catatan: Dimungkinkan untuk mengakses anggota pribadi suatu kelas menggunakan metode publik
di dalam kelas yang sama. Lihat bab berikutnya ( Enkapsulasi ) tentang cara melakukan ini.

Tip: Mendeklarasikan atribut kelas Anda sebagai atribut pribadi (sering mungkin) dianggap sebagai
praktik yang baik. Ini akan mengurangi kemungkinan Anda sendiri (atau orang lain) mengacaukan
kodenya. Ini juga merupakan bahan utama konsep Enkapsulasi , yang akan Anda pelajari lebih lanjut
di bab berikutnya.

Catatan: Secara default, semua anggota kelas adalah privatejika Anda tidak menentukan penentu
akses:

C++ ENCAPSULATION
Arti dari Enkapsulasi adalah untuk memastikan bahwa data "sensitif" disembunyikan dari
pengguna. Untuk mencapai hal ini, Anda harus mendeklarasikan variabel/atribut kelas
sebagai private(tidak dapat diakses dari luar kelas). Jika Anda ingin orang lain membaca atau
mengubah nilai anggota pribadi, Anda dapat menyediakan metode get dan set publik .

Untuk mengakses atribut privat, gunakan metode "get" dan "set" publik:

53
Contoh dijelaskan

Atributnya salary adalah private, yang memiliki akses terbatas.

Metode publik setSalary()mengambil parameter ( s) dan menugaskannya ke salaryatribut (gaji = s).

Metode publik getSalary()mengembalikan nilai salaryatribut privat.

Di dalamnya main(), kita membuat objek kelas Employee. Sekarang kita dapat
menggunakan setSalary()metode ini untuk menyetel nilai atribut privat menjadi 50000. Kemudian
kita memanggil getSalary()metode pada objek untuk mengembalikan nilainya.

Mengapa Enkapsulasi?

 Mendeklarasikan atribut kelas Anda sebagai pribadi (sering mungkin) dianggap sebagai
praktik yang baik. Enkapsulasi memastikan kontrol yang lebih baik terhadap data Anda,
karena Anda (atau orang lain) dapat mengubah satu bagian kode tanpa mempengaruhi
bagian lainnya
 Peningkatan keamanan data

54
C++ INHERITANCE
1. C++ Inheritance
Di C++, dimungkinkan untuk mewarisi atribut dan metode dari satu kelas ke kelas lainnya. Kami
mengelompokkan "konsep warisan" menjadi dua kategori:

 kelas turunan (anak) - kelas yang mewarisi dari kelas lain


 kelas dasar (induk) - kelas yang diwarisi

Untuk mewarisi suatu kelas, gunakan :simbol.

Pada contoh di bawah, Carkelas (anak) mewarisi atribut dan metode dari Vehiclekelas (induk)

Mengapa dan Kapan Menggunakan "Warisan"?

- Berguna untuk penggunaan kembali kode: menggunakan kembali atribut dan metode kelas yang
ada saat Anda membuat kelas baru.

2. C++ Multilevel Inheritance


Suatu kelas juga dapat diturunkan dari satu kelas, yang sudah diturunkan dari kelas lain.

Pada contoh berikut, MyGrandChildditurunkan dari kelas MyChild(yang diturunkan dari MyClass).

55
3. C++ Multiple Inheritance
Suatu kelas juga dapat diturunkan dari lebih dari satu kelas dasar, dengan menggunakan daftar yang
dipisahkan koma:

56
4. C++ Access Specifiers
Anda belajar dari bab Access Specifier bahwa ada tiga specifier yang tersedia di C++. Sampai saat ini,
kami hanya menggunakan public(anggota suatu kelas dapat diakses dari luar kelas)
dan private(anggota hanya dapat diakses di dalam kelas). Penentu ketiga, protected, mirip
dengan private, tetapi juga dapat diakses di kelas yang diwarisi :

57
C++ POLYMORPHISM
Polimorfisme berarti "banyak bentuk", dan ini terjadi ketika kita memiliki banyak kelas yang
dihubungkan satu sama lain melalui pewarisan.

Seperti yang kami tentukan di bab sebelumnya; Warisan memungkinkan kita mewarisi atribut dan
metode dari kelas lain. Polimorfisme menggunakan metode tersebut untuk melakukan tugas yang
berbeda. Hal ini memungkinkan kita melakukan satu tindakan dengan cara berbeda.

Misalnya, bayangkan kelas dasar bernama Animalyang memiliki metode


bernama animalSound(). Kelas Turunan Hewan dapat berupa Babi, Kucing, Anjing, Burung - Dan
mereka juga memiliki penerapan suara binatang sendiri (babi mengoceh, dan kucing mengeong, dll.):

58
Ingat dari bab Warisan bahwa kita menggunakan :simbol untuk mewarisi dari suatu kelas.

Sekarang kita dapat membuat Pigobjek Dogdan mengganti animalSound()metodenya:

59
Mengapa dan Kapan Menggunakan "Warisan" dan "Polimorfisme"?

- Berguna untuk penggunaan kembali kode: menggunakan kembali atribut dan metode kelas yang
ada saat Anda membuat kelas baru.

C++ FILES
Perpustakaan fstreammemungkinkan kita bekerja dengan file.

Untuk menggunakan fstreamperpustakaan, sertakan file standar <iostream> DAN header <fstream>:

Ada tiga kelas yang termasuk dalam fstreamperpustakaan, yang digunakan untuk membuat, menulis
atau membaca file:

60
Untuk membuat file, gunakan kelas ofstreamor fstream, dan tentukan nama file.

Untuk menulis ke file, gunakan operator penyisipan ( <<)

Mengapa kami menutup file tersebut?

Ini dianggap sebagai praktik yang baik, dan dapat membersihkan ruang memori yang tidak
diperlukan.

Untuk membaca dari suatu file, gunakan kelas ifstreamatau fstream , dan nama file.

Perhatikan bahwa kita juga menggunakan whileloop bersama dengan getline()fungsi (yang termasuk
dalam ifstreamkelas) untuk membaca file baris demi baris, dan untuk mencetak konten file:

61
C++ EXCEPTION
Saat mengeksekusi kode C++, berbagai kesalahan dapat terjadi: kesalahan pengkodean yang
dilakukan oleh programmer, kesalahan karena input yang salah, atau hal-hal lain yang tidak terduga.

Ketika terjadi kesalahan, C++ biasanya akan berhenti dan menghasilkan pesan kesalahan. Istilah
teknisnya adalah: C++ akan memunculkan pengecualian (melemparkan kesalahan).

Penanganan pengecualian di C++ terdiri dari tiga kata kunci: try, throwdan catch:

Pernyataan ini trymemungkinkan Anda untuk menentukan blok kode yang akan diuji kesalahannya
saat sedang dieksekusi.

Kata throwkunci memunculkan pengecualian ketika masalah terdeteksi, yang memungkinkan kita
membuat kesalahan khusus.

Pernyataan tersebut catchmemungkinkan Anda untuk menentukan blok kode yang akan dieksekusi,
jika terjadi kesalahan pada blok coba.

Kata kunci try dan catchberpasangan:

Perhatikan contoh berikut:

Contoh dijelaskan

Kami menggunakan tryblok untuk menguji beberapa kode: Jika variabelnya agekurang dari 18, kami
akan throwmembuat pengecualian, dan menanganinya di catchblok kami.

Di catchblok tersebut, kami menangkap kesalahan dan melakukan sesuatu untuk


mengatasinya. Pernyataan tersebut catch mengambil parameter : dalam contoh kita, kita
menggunakan intvariabel ( myNum) (karena kita melemparkan pengecualian inttipe ke dalam tryblok
( age)), untuk menghasilkan nilai age.

62
Jika tidak ada kesalahan yang terjadi (misalnya if ageis 20dan bukannya 15, artinya akan lebih besar
dari 18), blok catchakan dilewati:

Anda juga dapat menggunakan throwkata kunci untuk menampilkan nomor referensi, seperti
nomor/kode kesalahan khusus untuk tujuan pengorganisasian:

Jika Anda tidak mengetahui throw tipe yang digunakan dalam tryblok, Anda dapat menggunakan
sintaks "tiga titik" ( ...) di dalam catchblok, yang akan menangani semua jenis pengecualian:

C++ HOW TO
ADD TWO NUMBERS
Pelajari cara menjumlahkan dua angka di C++:

Dalam contoh ini, pengguna harus memasukkan dua angka. Kemudian kita
cetak jumlahnya dengan menghitung (menjumlahkan)
kedua angka tersebut:

63

Anda mungkin juga menyukai