Repository ini berisi catatan dan contoh kode pembelajaran bahasa pemrograman C# dari dasar hingga konsep Object-Oriented Programming (OOP), Collections, dan LINQ.
Repository ini dibuat sebagai dokumentasi proses belajar C# secara bertahap melalui beberapa pertemuan dengan contoh program sederhana yang dapat langsung dicoba.
Repository ini dibuat untuk:
- Mempelajari dasar-dasar bahasa C#.
- Memahami syntax dasar C#.
- Memahami konsep Object-Oriented Programming (OOP).
- Berlatih membuat program sederhana.
- Memahami cara mengolah data menggunakan Collections dan LINQ.
- Menjadi dokumentasi perjalanan belajar C#.
- Menjadi referensi ketika membutuhkan contoh kode dasar C#.
Mempelajari dasar-dasar bahasa C# dan struktur program sederhana.
Materi:
- Mengenal C#
- Struktur program C#
MainConsole.WriteLine()- Komentar
- Program sederhana
- Output ke console
Folder:
pertemuan-01/
Mempelajari cara menyimpan dan menerima data dari user.
Materi:
- Variable
intdoublefloatcharstringboolConsole.ReadLine()- Konversi data
- String
- Input sederhana
Folder:
pertemuan-02/
Mempelajari operator yang digunakan dalam C#.
Materi:
- Operator aritmatika
- Operator assignment
- Operator perbandingan
- Operator logika
- Increment
- Decrement
- Prefix
- Postfix
- Ternary operator
- Operasi matematika sederhana
Folder:
pertemuan-03/
Mempelajari bagaimana program mengambil keputusan berdasarkan kondisi.
Materi:
ifif elseif else if- Nested
if - Logical AND
- Logical OR
- Logical NOT
- Ternary operator
- Pengecekan nilai
- Pengecekan bilangan
- Sistem kelulusan sederhana
Folder:
pertemuan-04/
Mempelajari cara menjalankan kode secara berulang.
Materi:
whiledo whilefor- Nested loop
breakcontinue- Looping dengan
if - Menjumlahkan angka
- Tabel perkalian
Folder:
pertemuan-05/
Mempelajari cara membuat kode yang dapat digunakan kembali menggunakan function atau method.
Materi:
- Function
- Method
- Parameter
- Multiple parameter
- Return value
voidbool- Function dengan
if - Function dengan loop
- Calculator
- Input dengan function
- Pengecekan bilangan
- Rata-rata
- Program terstruktur
Folder:
pertemuan-06/
Mempelajari cara menyimpan banyak data dalam satu variabel menggunakan Array.
Materi:
- Membuat Array
- Index Array
- Mengubah data Array
- Looping Array
- Input Array
- Menjumlahkan Array
- Nilai terbesar
- Nilai terkecil
- Mencari data
- Rata-rata
- Array dengan function
- Array string
- Array nilai
Folder:
pertemuan-07/
Mempelajari pengolahan data berupa teks.
Materi:
- String
- Input string
Length- Mengakses karakter
- Looping string
ToUpper()ToLower()- Concatenation
- String interpolation
- Perbandingan string
Contains()StartsWith()EndsWith()IndexOf()Replace()Substring()Trim()- String Array
- Menghitung karakter
- Function dengan string
- Data siswa
Folder:
pertemuan-08/
Mulai masuk ke konsep Object-Oriented Programming (OOP).
Materi:
- Class
- Object
- Property
- Method dalam class
- Constructor
- Constructor dengan parameter
this- Method dengan parameter
- Method dengan return
publicprivate- Encapsulation
static- Class Siswa
- Class Kalkulator
- Class Rekening
- Data siswa
Folder:
pertemuan-09/
Mempelajari konsep pewarisan dalam OOP.
Materi:
- Inheritance
- Parent class
- Child class
- Pewarisan property
- Pewarisan method
- Method pada child class
- Constructor inheritance
basebase()constructorbasemethodprotected- Multilevel inheritance
- Inheritance Hewan
- Inheritance Kendaraan
- Inheritance Siswa
- Inheritance Karyawan
- Studi kasus inheritance
Folder:
pertemuan-10/
Mempelajari konsep polymorphism pada C#.
Materi:
- Polymorphism
virtualoverride- Method overriding
- Parent reference
- Child object
- Multiple child class
base- Array polymorphism
- List polymorphism
- Polymorphism Kendaraan
- Polymorphism Hewan
- Polymorphism Pembayaran
- Polymorphism Shape
- Polymorphism Employee
- Studi kasus polymorphism
Folder:
pertemuan-11/
Mempelajari konsep abstraction menggunakan abstract class.
Materi:
- Abstraction
abstract class- Abstract method
- Abstract property
- Method biasa pada abstract class
override- Constructor pada abstract class
base- Abstract class dengan polymorphism
- Array abstract class
- Abstract Hewan
- Abstract Kendaraan
- Abstract Pembayaran
- Abstract Shape
- Abstract Employee
- Abstract Produk
- Studi kasus abstraction
Folder:
pertemuan-12/
Mempelajari konsep interface sebagai contract dalam OOP.
Materi:
- Interface
- Penamaan interface dengan
I - Interface method
- Interface property
- Implementasi interface
- Interface polymorphism
- Multiple class dengan interface
- Multiple interface
- Interface Array
- Interface List
- Interface Kendaraan
- Interface Hewan
- Interface Pembayaran
- Interface Produk
- Studi kasus interface
Folder:
pertemuan-13/
Mempelajari cara menangani error ketika program sedang berjalan.
Materi:
- Exception
trycatchfinallyExceptionFormatExceptionDivideByZeroExceptionIndexOutOfRangeException- Multiple
catch - Exception message
throw- Input dengan exception
- Kalkulator dengan exception
- Rekening dengan exception
- Studi kasus exception
Folder:
pertemuan-14/
Mempelajari cara menyimpan dan mengelola kumpulan data secara lebih fleksibel.
Materi:
- Collections
List<T>Add()- Mengakses data List
- Mengubah data List
Remove()RemoveAt()Count- Looping List
Contains()IndexOf()Sort()Reverse()Dictionary<TKey, TValue>- Key dan Value
- Looping Dictionary
- Studi kasus Collections
Folder:
pertemuan-15/
Pertemuan terakhir membahas LINQ (Language Integrated Query) untuk melakukan filter, pencarian, pengurutan, dan pengolahan data.
Materi:
- LINQ
Where()Select()OrderBy()OrderByDescending()First()FirstOrDefault()Any()Count()Sum()Average()Min()Max()Contains()- Lambda expression
- Method chaining
- LINQ pada String
- LINQ pada Object
- Studi kasus LINQ
Folder:
pertemuan-16/
Struktur repository secara umum:
belajar-csharp/
│
├── pertemuan-01/
├── pertemuan-02/
├── pertemuan-03/
├── pertemuan-04/
├── pertemuan-05/
├── pertemuan-06/
├── pertemuan-07/
├── pertemuan-08/
├── pertemuan-09/
├── pertemuan-10/
├── pertemuan-11/
├── pertemuan-12/
├── pertemuan-13/
├── pertemuan-14/
├── pertemuan-15/
├── pertemuan-16/
├── run.ps1
└── README.md
Setiap folder pertemuan berisi beberapa contoh program yang dibuat untuk mempelajari konsep tertentu secara bertahap.
Repository ini menggunakan file C# secara individual.
Untuk menjalankan salah satu file, gunakan:
.\run.ps1 pertemuan-01/01_nama_file.cs
Contoh:
.\run.ps1 pertemuan-16/15_studi_kasus_linq.cs
Nama file dapat disesuaikan dengan file yang ingin dijalankan.
Materi dalam repository ini disusun secara bertahap:
Dasar C#
↓
Variable & Data Type
↓
Operator
↓
Percabangan
↓
Perulangan
↓
Function / Method
↓
Array
↓
String
↓
Class & Object
↓
Inheritance
↓
Polymorphism
↓
Abstraction
↓
Interface
↓
Exception Handling
↓
Collections
↓
LINQ
Pada bagian OOP, repository ini membahas konsep utama:
- Class
- Object
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- Interface
Konsep-konsep tersebut merupakan dasar penting dalam pengembangan aplikasi menggunakan C#.
Setelah menyelesaikan seluruh materi dalam repository ini, dasar-dasar C# yang dipelajari sudah mencakup:
- Syntax C#
- Variable
- Data Type
- Input dan Output
- Operator
- Conditional
- Looping
- Function / Method
- Array
- String
- List
- Dictionary
- LINQ
- Class
- Object
- Encapsulation
- Inheritance
- Polymorphism
- Abstraction
- Interface
- Exception
trycatchfinallythrow
Setelah memahami materi dasar C#, langkah selanjutnya adalah mulai menerapkan konsep-konsep tersebut ke dalam project.
Contoh project yang dapat dibuat:
- Program Kasir
- Sistem Data Mahasiswa
- Sistem Perpustakaan
- Sistem Manajemen Nilai
- Aplikasi To-Do List
- Sistem Login
- Aplikasi CRUD
- Desktop Application
- Web Application
- REST API
- Game sederhana
Tujuan berikutnya bukan hanya mempelajari syntax, tetapi mulai membangun aplikasi menggunakan konsep yang sudah dipelajari.
Repository ini merupakan dokumentasi perjalanan belajar C# dari dasar hingga konsep OOP, Collections, dan LINQ.
Pembelajaran dilakukan secara bertahap melalui contoh program sederhana agar setiap konsep dapat dipahami dan langsung dipraktikkan.
Urutan pembelajaran:
Fundamental
↓
Programming Logic
↓
Data Structure Dasar
↓
Object-Oriented Programming
↓
Exception Handling
↓
Collections
↓
LINQ
↓
Project Nyata
Dengan menyelesaikan 16 pertemuan ini, repository ini dianggap selesai sebagai materi dasar pembelajaran C#.
Namun, proses belajar C# tentunya belum berhenti di sini.
Learn → Practice → Build → Improve
Ilham Firmansyah
Repository ini dibuat sebagai dokumentasi dan catatan perjalanan belajar bahasa pemrograman C# dan mengisi waktu luang selama libur semester 4, Repository selesai pada tanggal 19 September 2026 pukul 10:34 WIB, Kabupaten Tangerang, Banten, Indonesia.
⭐ Jika repository ini bermanfaat, jangan lupa untuk memberikan Bintang.