Tentang Buku Ini
Informasi lengkap tentang ebook C++ Dasar: versi C++ yang digunakan, prasyarat, struktur bab, dan konvensi penulisan kode.
Versi C++
Ebook ini ditulis menggunakan C++23 — standar terbaru yang disahkan oleh ISO pada 2023. Seluruh contoh kode menggunakan fitur modern C++ dan telah diverifikasi berjalan dengan GCC 13 atau Clang 16 ke atas, dikompilasi dengan flag -std=c++23.
Untuk mengecek versi compiler yang terpasang:
g++ --version
Sebagian besar contoh kode di ebook ini berjalan dengan baik di C++17 atau C++20. Ketika sebuah fitur membutuhkan C++23 atau lebih baru, hal itu akan disebutkan secara eksplisit di dalam bab yang bersangkutan.
Prasyarat
Ebook ini dirancang untuk pemula absolut di C++. Tidak diasumsikan pengalaman C++ sebelumnya. Namun jika kamu pernah belajar bahasa pemrograman apa pun sebelumnya — Python, Java, JavaScript, atau lainnya — kamu akan menemukan banyak konsep yang familiar.
Yang tidak diasumsikan:
- Pengalaman C++ sebelumnya
- Pengetahuan tentang C
- Pemahaman tentang arsitektur komputer secara mendalam
Konsep-konsep sistem seperti stack, heap, dan register akan dijelaskan dari awal saat pertama kali relevan.
Struktur Bab
Enam puluh delapan bab konten dibagi menjadi beberapa bagian:
| Bagian | Bab | Topik |
|---|---|---|
| Fondasi C++ | 1–12 | Instalasi, sintaks, output, variabel, input, tipe data, operator, string, matematika, boolean |
| Kontrol Alur | 13–17 | If-else, switch, while, for, break/continue |
| Memori dan Tipe Lanjut | 18–23 | Array, struct, enum, referensi, pointer, manajemen memori |
| Functions | 24–29 | Fungsi, parameter, overloading, scope, rekursi, lambda |
| OOP | 30–41 | Class, method, constructor, access specifier, enkapsulasi, friend, inheritance, polimorfisme, template, file, tanggal |
| Error Handling | 42–45 | Error, debugging, exception, validasi input |
| Data Structures & STL | 46–55 | STL, vector, list, stack, queue, deque, set, map, iterator, algorithm |
| Namespace | 56 | Namespace |
| Proyek dan How To | 57–59 | Proyek, tambah dua angka, angka acak |
| Referensi | 60–68 | Keywords, iostream, fstream, cmath, string, cstring, ctime, vector, algorithm |
Konvensi Penulisan Kode
Header includes — Seluruh contoh kode menyertakan header yang diperlukan secara eksplisit. Tidak ada #include <bits/stdc++.h> — itu shortcut yang tidak baik untuk kode produksi.
Namespace — Ebook ini menggunakan std::cout, std::string, dan seterusnya secara eksplisit di bab-bab awal untuk kejelasan. Di bagian OOP ke atas, using namespace std; digunakan secara terkontrol ketika konteksnya sudah jelas.
Output yang ditandai — Komentar // Output: di dalam blok kode menunjukkan apa yang akan tercetak saat program dijalankan.
#include <iostream>
int main() {
std::cout << "Halo, C++!" << std::endl;
// Output: Halo, C++!
return 0;
}
Kode yang dipotong — Ketika contoh hanya menampilkan bagian dari program lengkap, bagian yang tidak relevan digantikan dengan // ... untuk menjaga fokus.
Melaporkan Kesalahan
Jika kamu menemukan kesalahan — kode yang tidak terkompilasi, penjelasan yang membingungkan, atau informasi yang sudah tidak akurat — laporkan melalui situs. Setiap laporan dibaca dan direspons.