Repository ini berisi perjalanan belajar C++ dari dasar hingga Object-Oriented Programming (OOP).
Materi disusun secara bertahap agar dapat digunakan oleh siapa saja yang ingin mulai belajar C++, terutama untuk pemula yang belum memiliki banyak pengalaman dengan bahasa pemrograman.
Repository ini juga menjadi dokumentasi pembelajaran dan latihan saya dalam memahami fundamental C++ sebelum melanjutkan ke materi Struktur Data.
Repository ini dibuat untuk:
- Mempelajari dasar-dasar bahasa C++.
- Memahami konsep pemrograman secara bertahap.
- Membiasakan diri menulis kode C++.
- Mendokumentasikan proses belajar.
- Menyediakan referensi sederhana untuk pemula.
- Membangun pondasi sebelum mempelajari Struktur Data.
- Mengenal konsep Object-Oriented Programming.
Perjalanan pembelajaran dalam repository ini:
Fundamental C++
│
├── Variable
├── Input & Output
├── Operator
├── Conditional
├── Looping
├── Array
├── Function
│
↓
Intermediate C++
│
├── Reference
├── Pointer
├── Struct
│
↓
Object-Oriented Programming
│
├── Class
├── Object
├── Constructor
├── Getter & Setter
├── Inheritance
├── Polymorphism
└── Abstraction
│
↓
Struktur Data
Materi dasar untuk mengenal bahasa C++ dan struktur program sederhana.
Materi:
- Pengenalan C++
- Struktur program C++
#includemain()coutcin- Variable
- Tipe data
- Komentar
- Program sederhana
Mempelajari bagaimana program menerima input dan menghasilkan output serta menggunakan berbagai operator.
Materi:
- Input
- Output
- Variable
- Operator aritmatika
- Operator assignment
- Operator perbandingan
- Operator logika
Mempelajari bagaimana program mengambil keputusan berdasarkan kondisi tertentu.
Materi:
ifelseelse if- Nested
if switch- Conditional operator
Mempelajari bagaimana menjalankan kode secara berulang.
Materi:
forwhiledo while- Nested loop
breakcontinue
Mempelajari penyimpanan beberapa data dengan tipe yang sama dalam satu struktur.
Materi:
- Array
- Index
- Array satu dimensi
- Array multidimensi
- Perulangan pada Array
- Pengolahan data Array
Mempelajari cara membuat Function untuk memecah program menjadi bagian-bagian yang lebih terstruktur.
Materi:
- Function
- Parameter
- Argument
- Return value
- Function tanpa return
- Function dengan return
- Function dengan beberapa parameter
Mempelajari Reference sebagai cara lain untuk mengakses data melalui alias.
Materi:
- Reference
- Reference variable
- Reference sebagai parameter
- Pass by reference
- Perbedaan Pass by Value dan Pass by Reference
Mempelajari konsep Pointer dan hubungan antara Variable, Address, dan Memory.
Materi:
- Pointer
- Address operator
& - Dereference operator
* - Pointer variable
- Pointer sebagai parameter
- Pointer dan Array
- Pointer dan Function
Mempelajari struct untuk mengelompokkan beberapa data dengan tipe yang berbeda.
Materi:
- Struct
- Member
- Object Struct
- Struct sebagai parameter
- Array of Struct
- Pointer to Struct
Mulai mengenal konsep Object-Oriented Programming melalui Class dan Object.
Materi:
- Konsep OOP
- Class
- Object
- Attribute
- Method
publicprivate- Constructor
Memahami penggunaan Reference dan Pointer dalam konteks Object-Oriented Programming.
Materi:
- Object Reference
- Pointer Object
- Pass by Reference
- Pointer pada Object
- Member Access Operator
- Scope Resolution Operator
Memperdalam penggunaan Class dan Object serta beberapa fitur penting dalam OOP.
Materi:
- Class
- Object
- Attribute
- Method
- Constructor
publicprivate- Getter
- Setter
- Array of Object
this
Menjadi penutup rangkaian pembelajaran dasar C++ dengan mengenal konsep OOP yang lebih lanjut.
Materi:
- Inheritance
- Parent Class
- Child Class
- Method Overriding
virtualoverride- Polymorphism
- Abstraction
- Abstract Class
- Pure Virtual Function
protected- Constructor Inheritance
Setelah menyelesaikan 13 pertemuan, konsep utama yang telah dipelajari adalah:
Variable
↓
Data Type
↓
Input / Output
↓
Operator
↓
Conditional
↓
Looping
↓
Array
↓
Function
↓
Reference
↓
Pointer
↓
Struct
↓
Class
↓
Object
↓
Constructor
↓
Getter / Setter
↓
Inheritance
↓
Polymorphism
↓
Abstraction
Pembelajaran menggunakan beberapa tools sederhana:
- C++
- G++ / GCC
- Visual Studio Code
- Git
- GitHub
Setiap folder memiliki beberapa file .cpp.
Contoh:
pertemuan-01/
└── 01_hello_world.cpp
Compile menggunakan:
g++ 01_hello_world.cpp -o programKemudian jalankan:
program.exe./programNama file executable dapat disesuaikan dengan kebutuhan.
cpp-learning/
│
├── README.md
│
├── pertemuan-01/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-02/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-03/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-04/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-05/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-06/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-07/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-08/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-09/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-10/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-11/
│ ├── README.md
│ └── *.cpp
│
├── pertemuan-12/
│ ├── README.md
│ └── *.cpp
│
└── pertemuan-13/
├── README.md
└── *.cpp
Setelah memahami dasar-dasar C++, langkah berikutnya adalah mempelajari Struktur Data.
Beberapa materi yang dapat dipelajari selanjutnya:
Struktur Data
│
├── Linked List
│ ├── Singly Linked List
│ ├── Doubly Linked List
│ └── Circular Linked List
│
├── Stack
│
├── Queue
│
├── Tree
│ ├── Binary Tree
│ └── Binary Search Tree
│
├── Graph
│
├── Searching
│ ├── Linear Search
│ └── Binary Search
│
└── Sorting
├── Bubble Sort
├── Selection Sort
├── Insertion Sort
├── Merge Sort
└── Quick Sort
Repository ini bukan sekadar kumpulan kode.
Tujuan utamanya adalah membangun pemahaman secara bertahap:
Belajar
↓
Memahami
↓
Mencoba
↓
Error
↓
Debugging
↓
Memperbaiki
↓
Memahami lebih dalam
↓
Membuat program sendiri
Jangan takut dengan error.
Error adalah bagian dari proses belajar programming.
Jika kamu baru belajar C++, jangan langsung mencoba memahami semua materi sekaligus.
Disarankan mengikuti urutan:
Pertemuan 01
↓
Pertemuan 02
↓
Pertemuan 03
↓
...
↓
Pertemuan 13
Setiap pertemuan memiliki contoh kode yang dapat dijalankan dan dipelajari satu per satu.
Cobalah mengubah kode yang tersedia.
Misalnya:
int umur = 20;ubah menjadi:
int umur = 25;Kemudian lihat apa yang terjadi.
Eksperimen kecil seperti ini sangat membantu dalam memahami programming.
Repository ini dibuat sebagai dokumentasi pembelajaran.
Kode dan materi dapat dikembangkan, diperbaiki, dan disesuaikan seiring bertambahnya pemahaman.
Jika menemukan kesalahan atau memiliki saran perbaikan, silakan membuat:
- Issue
- Pull Request
- Discussion
Setelah menyelesaikan:
✅ Fundamental C++
✅ Pointer
✅ Reference
✅ Struct
✅ Class & Object
✅ Basic OOP
maka langkah berikutnya adalah:
Materi tersebut akan menggunakan kembali konsep yang sudah dipelajari di repository ini, terutama:
Pointer
+
Reference
+
Struct / Class
+
Dynamic Memory
Sehingga pembelajaran Struktur Data akan terasa lebih mudah karena pondasi C++ sudah dibangun terlebih dahulu.
[████████████████████] 100%
13 / 13 Pertemuan Selesai
Ilham Firmansyah
Learning C++ step by step.
"Every expert was once a beginner."
Repository ini menggunakan MIT License.
Silakan mempelajari, menggunakan, memodifikasi, dan mengembangkan kode dalam repository ini sesuai ketentuan lisensi.
If you use this repository in your learning materials, teaching, research, or other work, please cite it as:
Firmansyah, I. (2026). Belajar C++. GitHub. https://github.com/illhammf/belajar-cpp
@software{firmansyah_belajar_cpp,
author = {Ilham Firmansyah},
title = {Belajar C++},
year = {2026},
url = {https://github.com/illhammf/belajar-cpp},
license = {MIT}
}
Jika repository ini membantu proses belajar C++ kamu, jangan lupa memberikan ⭐ pada repository ini.
Happy Coding! 🚀
C++ → Practice → Debug → Understand → Build
