Alfean Cahyadi Putro x.1
Alfean Cahyadi Putro x.1
PEMOGRAMAN C++
DISUSUN OLEH :
Alfean Cahyadi Putro
KELAS
X1
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++ 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.
C++ HOME
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!".
Ingat: Kompiler mengabaikan spasi putih. Namun, beberapa baris membuat kode lebih mudah
dibaca.
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:
Cara lain untuk menyisipkan baris baru adalah dengan manipulator endl:
4
C++ COMMENT
C++ VARIABLES
1. Declare Variables
Variabel C++
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
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:
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 ( >>)
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.
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:
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 :
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.
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:
C++ menggunakan +operator untuk penjumlahan dan penggabungan . Nomor ditambahkan. String
digabungkan. Jika dijumlahkan dua angka, hasilnya adalah angka:
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:
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).
Anda dapat menggunakan operator perbandingan , seperti operator yang lebih besar dari ( >), untuk
mengetahui apakah suatu ekspresi (atau variabel) bernilai benar atau salah:
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
Anda dapat menggunakan ketentuan ini untuk melakukan tindakan berbeda untuk keputusan
berbeda.
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:
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
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
Contoh
C++ SWITCH
Gunakan switchpernyataan tersebut untuk memilih salah satu dari banyak
blok kode yang 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!
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 .
25
Pernyataan tersebut continuemenghentikan satu iterasi (dalam perulangan), jika kondisi tertentu
terjadi, dan berlanjut dengan iterasi berikutnya dalam perulangan.
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:
Untuk membuat array yang terdiri dari tiga bilangan bulat, Anda dapat menulis:
26
Untuk mengubah nilai elemen tertentu, lihat nomor indeks:
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":
Namun, pendekatan terakhir dianggap sebagai "praktik yang baik", karena akan mengurangi
kemungkinan kesalahan dalam program Anda.
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:
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.
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):
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.
34
C++ REFERENCES
1. Create References
Variabel referensi adalah "referensi" ke variabel yang sudah ada, dan dibuat
dengan operator &:
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.
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.
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
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:
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:
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:
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:
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.
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.
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
Contoh dijelaskan
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:
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?
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
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:
Pada contoh di bawah, Carkelas (anak) mewarisi atribut dan metode dari Vehiclekelas (induk)
- Berguna untuk penggunaan kembali kode: menggunakan kembali atribut dan metode kelas yang
ada saat Anda membuat kelas baru.
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.
58
Ingat dari bab Warisan bahwa kita menggunakan :simbol untuk mewarisi dari suatu kelas.
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.
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.
Contoh dijelaskan
Kami menggunakan tryblok untuk menguji beberapa kode: Jika variabelnya agekurang dari 18, kami
akan throwmembuat pengecualian, dan menanganinya di catchblok kami.
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