Skip to content

Repository files navigation

πŸ“š Belajar C++ β€” Dari Dasar hingga OOP

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.


🎯 Tujuan Repository

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.

πŸ—ΊοΈ Roadmap Pembelajaran

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

πŸ“– Daftar Pertemuan

🟒 Fundamental C++

Pertemuan 01 β€” Pengenalan C++

Materi dasar untuk mengenal bahasa C++ dan struktur program sederhana.

Materi:

  • Pengenalan C++
  • Struktur program C++
  • #include
  • main()
  • cout
  • cin
  • Variable
  • Tipe data
  • Komentar
  • Program sederhana

πŸ“‚ Lihat Pertemuan 01


Pertemuan 02 β€” Input, Output & Operator

Mempelajari bagaimana program menerima input dan menghasilkan output serta menggunakan berbagai operator.

Materi:

  • Input
  • Output
  • Variable
  • Operator aritmatika
  • Operator assignment
  • Operator perbandingan
  • Operator logika

πŸ“‚ Lihat Pertemuan 02


Pertemuan 03 β€” Percabangan

Mempelajari bagaimana program mengambil keputusan berdasarkan kondisi tertentu.

Materi:

  • if
  • else
  • else if
  • Nested if
  • switch
  • Conditional operator

πŸ“‚ Lihat Pertemuan 03


Pertemuan 04 β€” Perulangan

Mempelajari bagaimana menjalankan kode secara berulang.

Materi:

  • for
  • while
  • do while
  • Nested loop
  • break
  • continue

πŸ“‚ Lihat Pertemuan 04


Pertemuan 05 β€” Array

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

πŸ“‚ Lihat Pertemuan 05


Pertemuan 06 β€” Function

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

πŸ“‚ Lihat Pertemuan 06


Pertemuan 07 β€” Reference

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

πŸ“‚ Lihat Pertemuan 07


Pertemuan 08 β€” Pointer

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

πŸ“‚ Lihat Pertemuan 08


Pertemuan 09 β€” Struct

Mempelajari struct untuk mengelompokkan beberapa data dengan tipe yang berbeda.

Materi:

  • Struct
  • Member
  • Object Struct
  • Struct sebagai parameter
  • Array of Struct
  • Pointer to Struct

πŸ“‚ Lihat Pertemuan 09


πŸ”΅ Object-Oriented Programming

Pertemuan 10 β€” Dasar OOP

Mulai mengenal konsep Object-Oriented Programming melalui Class dan Object.

Materi:

  • Konsep OOP
  • Class
  • Object
  • Attribute
  • Method
  • public
  • private
  • Constructor

πŸ“‚ Lihat Pertemuan 10


Pertemuan 11 β€” Reference & Pointer dalam OOP

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

πŸ“‚ Lihat Pertemuan 11


Pertemuan 12 β€” Class & Object

Memperdalam penggunaan Class dan Object serta beberapa fitur penting dalam OOP.

Materi:

  • Class
  • Object
  • Attribute
  • Method
  • Constructor
  • public
  • private
  • Getter
  • Setter
  • Array of Object
  • this

πŸ“‚ Lihat Pertemuan 12


Pertemuan 13 β€” Inheritance, Polymorphism & Abstraction

Menjadi penutup rangkaian pembelajaran dasar C++ dengan mengenal konsep OOP yang lebih lanjut.

Materi:

  • Inheritance
  • Parent Class
  • Child Class
  • Method Overriding
  • virtual
  • override
  • Polymorphism
  • Abstraction
  • Abstract Class
  • Pure Virtual Function
  • protected
  • Constructor Inheritance

πŸ“‚ Lihat Pertemuan 13


πŸ“Š Progress Pembelajaran

Pertemuan Materi Status
01 Pengenalan C++ βœ…
02 Input, Output & Operator βœ…
03 Percabangan βœ…
04 Perulangan βœ…
05 Array βœ…
06 Function βœ…
07 Reference βœ…
08 Pointer βœ…
09 Struct βœ…
10 Dasar OOP βœ…
11 Reference & Pointer dalam OOP βœ…
12 Class & Object βœ…
13 Inheritance, Polymorphism & Abstraction βœ…

🧠 Konsep yang Sudah Dipelajari

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

πŸ› οΈ Tools

Pembelajaran menggunakan beberapa tools sederhana:

  • C++
  • G++ / GCC
  • Visual Studio Code
  • Git
  • GitHub

πŸ’» Menjalankan Program

Setiap folder memiliki beberapa file .cpp.

Contoh:

pertemuan-01/
└── 01_hello_world.cpp

Compile menggunakan:

g++ 01_hello_world.cpp -o program

Kemudian jalankan:

Windows

program.exe

Linux / macOS

./program

Nama file executable dapat disesuaikan dengan kebutuhan.


πŸ“ Struktur Repository

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 Pertemuan 13

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

πŸš€ Learning Path

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.


🀝 Untuk Pemula

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.


πŸ“Œ Catatan

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

πŸ“š Next Step

Setelah menyelesaikan:

βœ… Fundamental C++
βœ… Pointer
βœ… Reference
βœ… Struct
βœ… Class & Object
βœ… Basic OOP

maka langkah berikutnya adalah:

πŸš€ Struktur Data dengan C++

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.


⭐ Progress

[β–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆβ–ˆ] 100%

13 / 13 Pertemuan Selesai

πŸ‘¨β€πŸ’» Author

Ilham Firmansyah

Learning C++ step by step.

"Every expert was once a beginner."


πŸ“„ License

Repository ini menggunakan MIT License.

Silakan mempelajari, menggunakan, memodifikasi, dan mengembangkan kode dalam repository ini sesuai ketentuan lisensi.


⭐ Jika Repository Ini Membantu

Jika repository ini membantu proses belajar C++ kamu, jangan lupa memberikan ⭐ pada repository ini.

Happy Coding! πŸš€

C++ β†’ Practice β†’ Debug β†’ Understand β†’ Build

About

Roadmap belajar C++ dari dasar hingga intermediate untuk pemula, lengkap dengan catatan, source code, latihan, dan mini project.

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages