Roadmap belajar Bahasa C dari nol sampai mampu membuat Final Project.
Belajar β Praktik β Error β Debug β Paham β Build
Repository ini adalah catatan perjalanan belajar Bahasa C dari dasar hingga membuat sebuah project yang menggabungkan seluruh materi yang telah dipelajari.
Repository ini tidak dibuat hanya untuk menyimpan source code.
Tujuan utamanya adalah membuat sebuah alur belajar yang jelas dan terstruktur.
Tidak tahu C
β
Belajar syntax dasar
β
Memahami logika
β
Belajar struktur data
β
Belajar pointer
β
Belajar file
β
Menggabungkan semuanya
β
π FINAL PROJECT
Setelah menyelesaikan repository ini, diharapkan mampu memahami dan menggunakan:
- Variable
- Data Type
- Input & Output
- Operator
- Conditional
- Switch Case
- Looping
- Array
- String
- Function
- Pointer
- Structure
- File Handling
- Error Handling
- Modular Programming
- Basic Data Management
Dan yang paling penting:
Mampu memahami cara berpikir ketika membuat program menggunakan Bahasa C.
Klik setiap pertemuan untuk masuk ke materi.
π START
β
βΌ
βββββββββββββββββββββββ
β 01. Pengenalan C β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 02. Variabel β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 03. Operator β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 04. Percabangan β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 05. Switch Case β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 06. Perulangan β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 07. Array β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 08. String β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 09. Function β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 10. Pointer β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 11. Structure β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 12. File Handling β
ββββββββββββ¬βββββββββββ
β
βΌ
βββββββββββββββββββββββ
β 13. FINAL PROJECT β
ββββββββββββ¬βββββββββββ
β
βΌ
π FINISH
Belajar dasar-dasar Bahasa C.
Materi:
- Apa itu C
- Struktur program C
main()printf()#include- Compile & Run
- Hello World
π Masuk ke Pertemuan 01 β
Belajar bagaimana program menyimpan data.
Materi:
- Variable
- Constant
intfloatdoublechar- Input dengan
scanf()
π Masuk ke Pertemuan 02 β
Belajar bagaimana melakukan operasi terhadap data.
Materi:
- Arithmetic Operator
- Assignment Operator
- Comparison Operator
- Logical Operator
- Increment & Decrement
π Masuk ke Pertemuan 03 β
Mulai belajar membuat program yang dapat mengambil keputusan.
Materi:
ifelseelse if- Nested Condition
- Conditional Logic
π Masuk ke Pertemuan 04 β
Belajar membuat pilihan berdasarkan beberapa kondisi.
Materi:
switchcasebreakdefault
π Masuk ke Pertemuan 05 β
Belajar menjalankan instruksi berulang kali.
Materi:
forwhiledo while- Nested Loop
breakcontinue
π Masuk ke Pertemuan 06 β
Belajar menyimpan banyak data dalam satu struktur.
Materi:
- Array 1 Dimensi
- Array 2 Dimensi
- Index
- Traversing
- Searching
- Basic Array Processing
π Masuk ke Pertemuan 07 β
Belajar mengolah data teks.
Materi:
- String
- Character Array
strlen()strcpy()strcmp()strcat()- Input String
π Masuk ke Pertemuan 08 β
Mulai membangun program secara modular.
Materi:
- Function
- Parameter
- Return Value
- Function Prototype
- Scope
- Modular Programming
π Masuk ke Pertemuan 09 β
Salah satu konsep paling penting dalam Bahasa C.
Materi:
- Address
- Pointer
&*- Pointer Variable
- Pointer sebagai Parameter
- Hubungan Pointer dengan Array
π Masuk ke Pertemuan 10 β
Belajar membuat tipe data yang terdiri dari beberapa informasi.
Contoh:
struct Mahasiswa
{
char nama[50];
int umur;
float ipk;
};Materi:
struct- Member
- Array of Structure
- Structure dengan Function
- Structure dengan Pointer
π Masuk ke Pertemuan 11 β
Sekarang program mulai bisa menyimpan data secara permanen.
Materi:
FILE *fopen()fclose()fprintf()fscanf()fgets()fputs()fgetc()fputc()fread()fwrite()- Text File
- Binary File
π Masuk ke Pertemuan 12 β
Semua materi digabungkan menjadi satu project.
Fitur:
βββββββββββββββββββββββββββββββββ
β SISTEM DATA MAHASISWA β
βββββββββββββββββββββββββββββββββ€
β 1. Tambah Data β
β 2. Tampilkan Data β
β 3. Cari Mahasiswa β
β 4. Ubah Data β
β 5. Hapus Data β
β 6. Rata-rata IPK β
β 7. IPK Tertinggi β
β 8. Status Kelulusan β
β 9. Simpan Data β
β10. Load Data β
β 0. Keluar β
βββββββββββββββββββββββββββββββββ
Konsep yang digunakan:
Variable
+
Operator
+
Conditional
+
Switch Case
+
Looping
+
Array
+
String
+
Function
+
Pointer
+
Structure
+
File Handling
β
βΌ
π SISTEM DATA MAHASISWA
π Masuk ke Final Project β
π» Lihat Source Code Final Project β
| Pertemuan | Materi | Status |
|---|---|---|
| 01 | Pengenalan C | β |
| 02 | Variabel & Tipe Data | β |
| 03 | Operator | β |
| 04 | Percabangan | β |
| 05 | Switch Case | β |
| 06 | Perulangan | β |
| 07 | Array | β |
| 08 | String | β |
| 09 | Function | β |
| 10 | Pointer | β |
| 11 | Structure | β |
| 12 | File Handling | β |
| 13 | Final Project | π |
Progress: 13 / 13 Pertemuan β 100%
Repository ini disusun berdasarkan urutan pembelajaran.
belajar-bahasa-c/
β
βββ README.md
β
βββ pertemuan-01/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-02/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-03/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-04/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-05/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-06/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-07/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-08/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-09/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-10/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-11/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-12/
β βββ catatan.md
β βββ ...
β
βββ pertemuan-13/
βββ catatan.md
βββ sistem_mahasiswa.c
Repository ini menggunakan:
| Tools | Keterangan |
|---|---|
| C | Programming Language |
| GCC | Compiler |
| VS Code | Code Editor |
| Git | Version Control |
| GitHub | Repository & Documentation |
Cek:
gcc --versionJika berhasil, akan muncul informasi versi GCC.
Masuk ke folder program:
cd pertemuan-13Kemudian:
gcc sistem_mahasiswa.c -o sistem_mahasiswasistem_mahasiswa.exe./sistem_mahasiswaFinal Project menggunakan:
data_mahasiswa.txt
Format penyimpanan:
NIM|Nama|Jurusan|IPK
Contoh:
23123456|Ilham Firmansyah|Informatika|3.85
23123457|Budi|Sistem Informasi|3.70
23123458|Andi|Teknik Komputer|3.90
File ini digunakan agar data tetap tersedia meskipun program ditutup.
Jangan gunakan repository ini hanya sebagai tempat copy-paste.
Gunakan pola:
π Baca Materi
β
β¨οΈ Ketik Source Code
β
βΆοΈ Jalankan
β
π₯ Temukan Error
β
π Cari Penyebab
β
π οΈ Perbaiki
β
π§ͺ Modifikasi
β
π§ Pahami
Karena:
Programming bukan tentang siapa yang paling banyak menghafal syntax.
Programming adalah tentang kemampuan memahami masalah dan menemukan solusi.
Setelah menyelesaikan seluruh materi, coba modifikasi Final Project.
Beberapa ide:
Tambahkan fitur:
Sort Mahasiswa
Berdasarkan:
- Nama
- NIM
- IPK
Tambahkan:
Filter Mahasiswa
Contoh:
Tampilkan mahasiswa dengan IPK >= 3.50
Tambahkan validasi:
NIM tidak boleh sama
Tambahkan:
Jumlah mahasiswa LULUS
Jumlah mahasiswa TIDAK LULUS
Buat sistem login sederhana sebelum masuk ke menu utama.
Setelah menyelesaikan roadmap ini, kita sudah mengenal:
C Programming
β
βββββββββββββββββββΌββββββββββββββββββ
β β β
Fundamental Logic Data
β β β
Variable If / Else Array
Data Type Switch String
Input / Output Loop Structure
β β β
βββββββββββββββββββΌββββββββββββββββββ
β
Function
β
Pointer
β
File Handling
β
βΌ
π FINAL PROJECT
Repository ini berfokus pada fundamental C.
Setelah memahami materi di sini, pembelajaran dapat dilanjutkan ke topik yang lebih dalam seperti:
Advanced C
β
βββ Dynamic Memory Allocation
β
βββ malloc()
βββ calloc()
βββ realloc()
βββ free()
β
βββ Advanced Pointer
β
βββ Pointer to Function
β
βββ Linked List
β
βββ Stack
β
βββ Queue
β
βββ Tree
β
βββ Hash Table
β
βββ Data Structure & Algorithm
Kemudian dapat dilanjutkan ke:
C
β
Data Structure
β
Algorithm
β
Operating System
β
Networking
β
Embedded System
β
Systems Programming
Repository ini dibangun dengan satu prinsip sederhana:
Don't just memorize.
Understand.
Atau dalam versi perjalanan belajar:
Belum bisa
β
Coba
β
Error
β
Penasaran
β
Debug
β
Mengerti
β
Bisa
β
Bikin sendiri
Karena error bukan tanda bahwa kita gagal.
Error adalah bagian dari proses belajar programming.
βββββββββββββββββββββββββββββββ
β START LEARNING β
ββββββββββββββββ¬βββββββββββββββ
β
βΌ
π Fundamental C
β
βΌ
π§ Programming Logic
β
βΌ
π¦ Data Structures
β
βΌ
βοΈ Function & Pointer
β
βΌ
πΎ File Handling
β
βΌ
π₯ Combine Everything
β
βΌ
π FINAL PROJECT
β
βΌ
π FUNDAMENTAL C DONE
Setelah menyelesaikan seluruh roadmap:
I started with:
"Hello World"
and ended with:
"Data Management System"
π₯ Dari program sederhana:
printf("Hello World");sampai program yang memiliki:
β Data Structure
β Function
β Pointer
β Searching
β Updating
β Deleting
β Calculation
β File Storage
β Data Loading
- Memahami dasar Bahasa C
- Memahami programming logic
- Memahami data structure dasar
- Memahami function
- Memahami pointer
- Memahami structure
- Memahami file handling
- Membuat Final Project
- Menyusun dokumentasi pembelajaran
Repository ini merupakan repository pembelajaran.
Jika menemukan:
- Typo
- Kesalahan kode
- Penjelasan yang kurang tepat
- Bug
- Improvement
Silakan membuat:
Issue
atau:
Pull Request
Semua feedback sangat dihargai untuk meningkatkan kualitas repository.
Repository ini dibuat untuk tujuan pembelajaran.
Silakan digunakan sebagai referensi untuk belajar Bahasa C.
ββββββββββββββββββββββββββββββββββββββββ
β β
β C LEARNING JOURNEY β
β β
β 13 / 13 MEETINGS β
β β
β ββββββββββββββββββββ 100% β
β β
β π FINAL PROJECT COMPLETED β
β β
ββββββββββββββββββββββββββββββββββββββββ
Terima kasih sudah mengikuti perjalanan belajar Bahasa C ini.
Perjalanan belum benar-benar selesai.
Ini baru:
FUNDAMENTAL
β
STRONG FOUNDATION
β
NEXT LEVEL
Keep coding. Keep debugging. Keep learning.
Code β Break β Debug β Understand β Build.
π₯ Happy Coding with C! π₯
printf("Keep learning si Gantengg!");
Ilham Firmansyah
Developer & Computer Science Learner.
Repository ini merupakan dokumentasi perjalanan belajar Bahasa C dari dasar hingga Final Project.
π MIT License β
This project is licensed under the MIT License.
See the LICENSE file for details.