Skip to content

Repository files navigation

Belajar C#

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.

Tujuan

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#.

Materi Pembelajaran

Pertemuan 01 — Dasar-Dasar C#

Mempelajari dasar-dasar bahasa C# dan struktur program sederhana.

Materi:

  • Mengenal C#
  • Struktur program C#
  • Main
  • Console.WriteLine()
  • Komentar
  • Program sederhana
  • Output ke console

Folder:

pertemuan-01/

Pertemuan 02 — Variable, Data Type & Input

Mempelajari cara menyimpan dan menerima data dari user.

Materi:

  • Variable
  • int
  • double
  • float
  • char
  • string
  • bool
  • Console.ReadLine()
  • Konversi data
  • String
  • Input sederhana

Folder:

pertemuan-02/

Pertemuan 03 — Operator

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/

Pertemuan 04 — Percabangan

Mempelajari bagaimana program mengambil keputusan berdasarkan kondisi.

Materi:

  • if
  • if else
  • if else if
  • Nested if
  • Logical AND
  • Logical OR
  • Logical NOT
  • Ternary operator
  • Pengecekan nilai
  • Pengecekan bilangan
  • Sistem kelulusan sederhana

Folder:

pertemuan-04/

Pertemuan 05 — Perulangan

Mempelajari cara menjalankan kode secara berulang.

Materi:

  • while
  • do while
  • for
  • Nested loop
  • break
  • continue
  • Looping dengan if
  • Menjumlahkan angka
  • Tabel perkalian

Folder:

pertemuan-05/

Pertemuan 06 — Function / Method

Mempelajari cara membuat kode yang dapat digunakan kembali menggunakan function atau method.

Materi:

  • Function
  • Method
  • Parameter
  • Multiple parameter
  • Return value
  • void
  • bool
  • Function dengan if
  • Function dengan loop
  • Calculator
  • Input dengan function
  • Pengecekan bilangan
  • Rata-rata
  • Program terstruktur

Folder:

pertemuan-06/

Pertemuan 07 — Array

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/

Pertemuan 08 — String

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/

Pertemuan 09 — Class & Object

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
  • public
  • private
  • Encapsulation
  • static
  • Class Siswa
  • Class Kalkulator
  • Class Rekening
  • Data siswa

Folder:

pertemuan-09/

Pertemuan 10 — Inheritance

Mempelajari konsep pewarisan dalam OOP.

Materi:

  • Inheritance
  • Parent class
  • Child class
  • Pewarisan property
  • Pewarisan method
  • Method pada child class
  • Constructor inheritance
  • base
  • base() constructor
  • base method
  • protected
  • Multilevel inheritance
  • Inheritance Hewan
  • Inheritance Kendaraan
  • Inheritance Siswa
  • Inheritance Karyawan
  • Studi kasus inheritance

Folder:

pertemuan-10/

Pertemuan 11 — Polymorphism

Mempelajari konsep polymorphism pada C#.

Materi:

  • Polymorphism
  • virtual
  • override
  • 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/

Pertemuan 12 — Abstract Class & Abstraction

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/

Pertemuan 13 — Interface

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/

Pertemuan 14 — Exception Handling

Mempelajari cara menangani error ketika program sedang berjalan.

Materi:

  • Exception
  • try
  • catch
  • finally
  • Exception
  • FormatException
  • DivideByZeroException
  • IndexOutOfRangeException
  • Multiple catch
  • Exception message
  • throw
  • Input dengan exception
  • Kalkulator dengan exception
  • Rekening dengan exception
  • Studi kasus exception

Folder:

pertemuan-14/

Pertemuan 15 — Collections

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 16 — LINQ

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

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.


Menjalankan Program

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.


Alur Pembelajaran

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

Konsep OOP yang Dipelajari

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

Setelah menyelesaikan seluruh materi dalam repository ini, dasar-dasar C# yang dipelajari sudah mencakup:

Fundamental

  • Syntax C#
  • Variable
  • Data Type
  • Input dan Output
  • Operator
  • Conditional
  • Looping
  • Function / Method

Pengolahan Data

  • Array
  • String
  • List
  • Dictionary
  • LINQ

Object-Oriented Programming

  • Class
  • Object
  • Encapsulation
  • Inheritance
  • Polymorphism
  • Abstraction
  • Interface

Error Handling

  • Exception
  • try
  • catch
  • finally
  • throw

Langkah Selanjutnya

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.


Kesimpulan

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

Author

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.

About

Roadmap belajar C# dari dasar hingga OOP, Exception Handling, Collections, dan LINQ. Dilengkapi contoh kode, latihan, dan studi kasus untuk pemula yang ingin belajar C# secara bertahap. Cocok untuk belajar C#, pemrograman dasar, dan Object-Oriented Programming.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages