Belajar pemrograman C dimulai dari memahami contoh program C sederhana dan penjelasannya. Bahasa C merupakan fondasi penting dalam dunia programming yang wajib dikuasai setiap programmer. Artikel ini akan membahas berbagai contoh program C mulai dari yang paling dasar hingga yang lebih kompleks, lengkap dengan penjelasan detail untuk memudahkan pemahaman Anda.
Mengapa Belajar Bahasa Pemrograman C?
Bahasa C adalah salah satu bahasa pemrograman paling fundamental dan berpengaruh dalam sejarah komputer. Dikembangkan oleh Dennis Ritchie pada tahun 1972, bahasa C menjadi dasar bagi banyak bahasa pemrograman modern seperti C++, Java, dan Python.
💡 Keunggulan Bahasa C:
• Sintaks yang sederhana dan mudah dipahami
• Performa eksekusi yang sangat cepat
• Portabilitas tinggi (dapat dijalankan di berbagai platform)
• Kontrol memori yang detail
• Dasar untuk memahami bahasa pemrograman lainnya
Struktur Dasar Program C
Sebelum mempelajari contoh program, penting untuk memahami struktur dasar program C. Setiap program C memiliki komponen-komponen berikut:
// Preprocessor directive
#include <stdio.h>
// Fungsi utama
int main() {
// Kode program
return 0;
}
Penjelasan Struktur:
•#include <stdio.h>
– Menyertakan library standar input/output
•int main()
– Fungsi utama tempat eksekusi program dimulai
•return 0;
– Mengembalikan nilai 0 menandakan program berhasil dijalankan
Contoh Program C Sederhana #1: Hello World
Program “Hello World” adalah tradisi dalam belajar bahasa pemrograman apapun. Mari kita lihat implementasinya dalam bahasa C:
🌟 Program Hello World
#include <stdio.h>
int main() {
printf("Hello, World!\n");
return 0;
}
Output:
Hello, World!
Penjelasan Detail:
•printf()
– Fungsi untuk menampilkan output ke layar
•\n
– Karakter escape untuk membuat baris baru
• Tanda kutip ganda menandakan string literal
• Setiap statement diakhiri dengan semicolon (;)
Contoh Program C Sederhana #2: Variabel dan Tipe Data
Program berikut mendemonstrasikan penggunaan berbagai tipe data dalam bahasa C:
📊 Program Variabel dan Tipe Data
#include <stdio.h>
int main() {
// Deklarasi variabel dengan berbagai tipe data
int umur = 25;
float tinggi = 175.5;
char grade = 'A';
double gaji = 5000000.75;
// Menampilkan nilai variabel
printf("Umur: %d tahun\n", umur);
printf("Tinggi: %.1f cm\n", tinggi);
printf("Grade: %c\n", grade);
printf("Gaji: %.2f\n", gaji);
return 0;
}
Output:
Umur: 25 tahun
Tinggi: 175.5 cm
Grade: A
Gaji: 5000000.75
Tabel Tipe Data dalam Bahasa C
Tipe Data | Ukuran (byte) | Format Specifier | Contoh |
---|---|---|---|
int | 4 | %d | 42, -10, 0 |
float | 4 | %f | 3.14, -2.5 |
double | 8 | %lf | 3.141592653589793 |
char | 1 | %c | ‘A’, ‘x’, ‘5’ |
Contoh Program C Sederhana #3: Input dari User
Program interaktif yang menerima input dari pengguna menggunakan fungsi scanf()
:
⌨️ Program Input User
#include <stdio.h>
int main() {
char nama[50];
int umur;
// Meminta input dari user
printf("Masukkan nama Anda: ");
scanf("%s", nama);
printf("Masukkan umur Anda: ");
scanf("%d", &umur);
// Menampilkan hasil
printf("\nHalo %s!\n", nama);
printf("Umur Anda adalah %d tahun.\n", umur);
return 0;
}
Output:
Masukkan nama Anda: Budi
Masukkan umur Anda: 20
Halo Budi!
Umur Anda adalah 20 tahun.
⚠️ Penting: Perhatikan penggunaan operator & (ampersand) pada
scanf("%d", &umur)
. Operator ini diperlukan untuk memberikan alamat memori variabel kepada fungsi scanf().
Contoh Program C Sederhana #4: Operasi Matematika
Untuk mempelajari konsep dasar pemrograman lebih lanjut, Anda bisa mengikuti Tutorial Pemrograman Dasar di Kelas Programmer.
🧮 Program Kalkulator Sederhana
#include <stdio.h>
int main() {
float angka1, angka2;
float tambah, kurang, kali, bagi;
// Input dua angka
printf("Masukkan angka pertama: ");
scanf("%f", &angka1);
printf("Masukkan angka kedua: ");
scanf("%f", &angka2);
// Operasi matematika
tambah = angka1 + angka2;
kurang = angka1 - angka2;
kali = angka1 * angka2;
bagi = angka1 / angka2;
// Menampilkan hasil
printf("\n=== HASIL OPERASI ===\n");
printf("%.2f + %.2f = %.2f\n", angka1, angka2, tambah);
printf("%.2f - %.2f = %.2f\n", angka1, angka2, kurang);
printf("%.2f * %.2f = %.2f\n", angka1, angka2, kali);
printf("%.2f / %.2f = %.2f\n", angka1, angka2, bagi);
return 0;
}
Output:
Masukkan angka pertama: 10
Masukkan angka kedua: 3
=== HASIL OPERASI ===
10.00 + 3.00 = 13.00
10.00 - 3.00 = 7.00
10.00 * 3.00 = 30.00
10.00 / 3.00 = 3.33
Contoh Program C Sederhana #5: Struktur Kontrol (If-Else)
Program yang menggunakan struktur kontrol untuk membuat keputusan berdasarkan kondisi tertentu:
🎯 Program Penentuan Grade
#include <stdio.h>
int main() {
float nilai;
char grade;
printf("Masukkan nilai (0-100): ");
scanf("%f", &nilai);
// Struktur if-else untuk menentukan grade
if (nilai >= 90) {
grade = 'A';
} else if (nilai >= 80) {
grade = 'B';
} else if (nilai >= 70) {
grade = 'C';
} else if (nilai >= 60) {
grade = 'D';
} else {
grade = 'E';
}
printf("Nilai Anda: %.1f\n", nilai);
printf("Grade: %c\n", grade);
// Memberikan keterangan tambahan
if (grade == 'A' || grade == 'B') {
printf("Selamat! Anda lulus dengan baik.\n");
} else if (grade == 'C' || grade == 'D') {
printf("Anda lulus, tapi perlu belajar lebih giat.\n");
} else {
printf("Maaf, Anda tidak lulus. Silakan coba lagi.\n");
}
return 0;
}
Output (contoh input 85):
Masukkan nilai (0-100): 85
Nilai Anda: 85.0
Grade: B
Selamat! Anda lulus dengan baik.
Contoh Program C Sederhana #6: Perulangan (Loop)
Program yang mendemonstrasikan penggunaan berbagai jenis loop dalam bahasa C:
🔄 Program Tabel Perkalian
#include <stdio.h>
int main() {
int angka, i;
printf("Masukkan angka untuk tabel perkalian: ");
scanf("%d", &angka);
printf("\n=== TABEL PERKALIAN %d ===\n", angka);
// Menggunakan for loop
for (i = 1; i <= 10; i++) {
printf("%d x %d = %d\n", angka, i, angka * i);
}
return 0;
}
Output (contoh input 7):
Masukkan angka untuk tabel perkalian: 7
=== TABEL PERKALIAN 7 ===
7 x 1 = 7
7 x 2 = 14
7 x 3 = 21
7 x 4 = 28
7 x 5 = 35
7 x 6 = 42
7 x 7 = 49
7 x 8 = 56
7 x 9 = 63
7 x 10 = 70
Contoh Program dengan While Loop
#include <stdio.h>
int main() {
int angka = 1;
int jumlah = 0;
printf("Menghitung jumlah 1 sampai 10:\n");
// Menggunakan while loop
while (angka <= 10) {
jumlah += angka;
printf("Angka: %d, Jumlah: %d\n", angka, jumlah);
angka++;
}
printf("Total jumlah: %d\n", jumlah);
return 0;
}
Contoh Program C Sederhana #7: Array (Larik)
Program yang menunjukkan penggunaan array untuk menyimpan multiple data:
📋 Program Nilai Mahasiswa
#include <stdio.h>
int main() {
int nilai[5];
int i, jumlah = 0;
float rata_rata;
// Input nilai
printf("Masukkan 5 nilai mahasiswa:\n");
for (i = 0; i < 5; i++) {
printf("Nilai ke-%d: ", i + 1);
scanf("%d", &nilai[i]);
jumlah += nilai[i];
}
// Menghitung rata-rata
rata_rata = (float)jumlah / 5;
// Menampilkan hasil
printf("\n=== HASIL ANALISIS ===\n");
printf("Nilai yang dimasukkan: ");
for (i = 0; i < 5; i++) {
printf("%d ", nilai[i]);
}
printf("\nJumlah total: %d\n", jumlah);
printf("Rata-rata: %.2f\n", rata_rata);
return 0;
}
Output:
Masukkan 5 nilai mahasiswa:
Nilai ke-1: 85
Nilai ke-2: 90
Nilai ke-3: 78
Nilai ke-4: 92
Nilai ke-5: 88
=== HASIL ANALISIS ===
Nilai yang dimasukkan: 85 90 78 92 88
Jumlah total: 433
Rata-rata: 86.60
Contoh Program C Sederhana #8: Fungsi (Function)
Untuk memahami konsep algoritma dan struktur data lebih mendalam, silakan pelajari Algoritma dan Struktur Data di Kelas Programmer.
⚙️ Program dengan Fungsi
#include <stdio.h>
// Deklarasi fungsi
int tambah(int a, int b);
int kurang(int a, int b);
int kali(int a, int b);
float bagi(int a, int b);
void tampilkanMenu();
int main() {
int pilihan, angka1, angka2;
tampilkanMenu();
printf("Pilih operasi (1-4): ");
scanf("%d", &pilihan);
printf("Masukkan angka pertama: ");
scanf("%d", &angka1);
printf("Masukkan angka kedua: ");
scanf("%d", &angka2);
switch (pilihan) {
case 1:
printf("Hasil: %d + %d = %d\n", angka1, angka2, tambah(angka1, angka2));
break;
case 2:
printf("Hasil: %d - %d = %d\n", angka1, angka2, kurang(angka1, angka2));
break;
case 3:
printf("Hasil: %d * %d = %d\n", angka1, angka2, kali(angka1, angka2));
break;
case 4:
if (angka2 != 0) {
printf("Hasil: %d / %d = %.2f\n", angka1, angka2, bagi(angka1, angka2));
} else {
printf("Error: Pembagian dengan nol!\n");
}
break;
default:
printf("Pilihan tidak valid!\n");
}
return 0;
}
// Implementasi fungsi
void tampilkanMenu() {
printf("=== KALKULATOR SEDERHANA ===\n");
printf("1. Penjumlahan\n");
printf("2. Pengurangan\n");
printf("3. Perkalian\n");
printf("4. Pembagian\n");
}
int tambah(int a, int b) {
return a + b;
}
int kurang(int a, int b) {
return a - b;
}
int kali(int a, int b) {
return a * b;
}
float bagi(int a, int b) {
return (float)a / b;
}
Contoh Program C Sederhana #9: String dan Karakter
🔤 Program Manipulasi String
#include <stdio.h>
#include <string.h>
int main() {
char nama[50];
char nama_copy[50];
int panjang, i;
printf("Masukkan nama Anda: ");
fgets(nama, sizeof(nama), stdin);
// Menghilangkan newline dari fgets
nama[strcspn(nama, "\n")] = 0;
// Menghitung panjang string
panjang = strlen(nama);
// Menyalin string
strcpy(nama_copy, nama);
printf("\n=== ANALISIS STRING ===\n");
printf("Nama asli: %s\n", nama);
printf("Nama copy: %s\n", nama_copy);
printf("Panjang nama: %d karakter\n", panjang);
// Menampilkan karakter satu per satu
printf("Karakter per karakter:\n");
for (i = 0; i < panjang; i++) {
printf("Posisi %d: %c\n", i, nama[i]);
}
// Mengubah ke huruf besar
printf("\nNama dalam huruf besar: ");
for (i = 0; i < panjang; i++) {
if (nama[i] >= 'a' && nama[i] <= 'z') {
printf("%c", nama[i] - 32);
} else {
printf("%c", nama[i]);
}
}
printf("\n");
return 0;
}
Contoh Program C Sederhana #10: Struct (Struktur Data)
👤 Program Data Mahasiswa dengan Struct
#include <stdio.h>
#include <string.h>
// Definisi struct
struct Mahasiswa {
char nama[50];
char nim[15];
int umur;
float ipk;
};
int main() {
struct Mahasiswa mhs[3];
int i;
float total_ipk = 0;
// Input data mahasiswa
printf("=== INPUT DATA MAHASISWA ===\n");
for (i = 0; i < 3; i++) {
printf("\nMahasiswa ke-%d:\n", i + 1);
printf("Nama: ");
scanf("%s", mhs[i].nama);
printf("NIM: ");
scanf("%s", mhs[i].nim);
printf("Umur: ");
scanf("%d", &mhs[i].umur);
printf("IPK: ");
scanf("%f", &mhs[i].ipk);
total_ipk += mhs[i].ipk;
}
// Menampilkan data
printf("\n=== DATA MAHASISWA ===\n");
printf("%-15s %-12s %-5s %-5s\n", "Nama", "NIM", "Umur", "IPK");
printf("----------------------------------------\n");
for (i = 0; i < 3; i++) {
printf("%-15s %-12s %-5d %.2f\n",
mhs[i].nama, mhs[i].nim, mhs[i].umur, mhs[i].ipk);
}
printf("\nRata-rata IPK: %.2f\n", total_ipk / 3);
return 0;
}
Tips Kompilasi dan Menjalankan Program C
Untuk menjalankan program C, Anda perlu mengkompilasi kode terlebih dahulu. Berikut adalah langkah-langkahnya:
🔧 Langkah Kompilasi:
1. Simpan kode dalam file dengan ekstensi .c (contoh: program.c)
2. Buka terminal/command prompt
3. Navigasi ke direktori file
4. Kompilasi:gcc program.c -o program
5. Jalankan:./program
(Linux/Mac) atauprogram.exe
(Windows)
Compiler C yang Populer
- GCC (GNU Compiler Collection) – Gratis, cross-platform
- Clang – Modern, fast compilation
- Microsoft Visual C++ – Untuk Windows
- Turbo C++ – Klasik, untuk pembelajaran
- Code::Blocks – IDE dengan compiler terintegrasi
Debugging dan Error Handling
Untuk mempelajari teknik debugging yang lebih advanced, kunjungi Debugging Programming Techniques di Kelas Programmer.
🐛 Program dengan Error Handling
#include <stdio.h>
int main() {
int angka1, angka2;
float hasil;
int valid_input = 0;
// Input dengan validasi
while (!valid_input) {
printf("Masukkan angka pertama: ");
if (scanf("%d", &angka1) == 1) {
valid_input = 1;
} else {
printf("Error: Input harus berupa angka!\n");
while (getchar() != '\n'); // Clear buffer
}
}
valid_input = 0;
while (!valid_input) {
printf("Masukkan angka kedua: ");
if (scanf("%d", &angka2) == 1) {
valid_input = 1;
} else {
printf("Error: Input harus berupa angka!\n");
while (getchar() != '\n');
}
}
// Pembagian dengan pengecekan
if (angka2 == 0) {
printf("Error: Tidak dapat membagi dengan nol!\n");
return 1; // Exit dengan error code
}
hasil = (float)angka1 / angka2;
printf("Hasil pembagian: %.2f\n", hasil);
return 0; // Exit sukses
}
Latihan dan Exercise
💪 Latihan Mandiri
Cobalah buat program C sederhana untuk:
1. Menghitung luas dan keliling lingkaran
2. Konversi suhu Celsius ke Fahrenheit dan Kelvin
3. Mencari bilangan terbesar dari 3 angka
4. Membuat program ATM sederhana
5. Menghitung faktorial suatu bilangan
Contoh Solusi: Program Luas Lingkaran
#include <stdio.h>
#define PI 3.14159
int main() {
float radius, luas, keliling;
printf("Masukkan jari-jari lingkaran: ");
scanf("%f", &radius);
luas = PI * radius * radius;
keliling = 2 * PI * radius;
printf("Luas lingkaran: %.2f\n", luas);
printf("Keliling lingkaran: %.2f\n", keliling);
return 0;
}
❓ Frequently Asked Questions (FAQ)
Q: Apa perbedaan antara printf() dan scanf() dalam bahasa C?
A: printf() digunakan untuk menampilkan output ke layar, sedangkan scanf() digunakan untuk menerima input dari user. printf() adalah fungsi output, scanf() adalah fungsi input.
Q: Mengapa harus menggunakan #include di awal program?
A: #include adalah preprocessor directive yang menyertakan library standar input/output. Tanpa ini, fungsi seperti printf() dan scanf() tidak akan dikenali oleh compiler.
Q: Apa fungsi return 0 di akhir program C?
A: return 0 menandakan bahwa program telah selesai dijalankan dengan sukses. Nilai 0 menunjukkan tidak ada error, sedangkan nilai selain 0 menunjukkan adanya error.
Q: Bagaimana cara mengatasi error “undefined reference to main”?
A: Error ini terjadi karena tidak ada fungsi main() dalam program. Setiap program C harus memiliki fungsi main() sebagai titik awal eksekusi program.
Q: Apa perbedaan antara int, float, dan char dalam bahasa C?
A: int untuk bilangan bulat, float untuk bilangan desimal, dan char untuk karakter tunggal. Masing-masing memiliki ukuran memori dan range nilai yang berbeda.
Q: Bagaimana cara membuat komentar dalam kode C?
A: Gunakan // untuk komentar satu baris atau /* */ untuk komentar multi-baris. Komentar tidak akan dieksekusi oleh compiler dan berguna untuk dokumentasi kode.
Q: Apa yang dimaksud dengan array dalam bahasa C?
A: Array adalah kumpulan variabel dengan tipe data yang sama yang disimpan dalam memori secara berurutan. Array memungkinkan penyimpanan multiple data dengan satu nama variabel.
Q: Bagaimana cara menangani input string yang mengandung spasi?
A: Gunakan fgets() instead of scanf() untuk membaca string dengan spasi. fgets() dapat membaca seluruh baris termasuk spasi, sedangkan scanf() berhenti pada spasi pertama.
Kesimpulan
Contoh program C sederhana dan penjelasannya yang telah dibahas dalam artikel ini memberikan fondasi yang kuat untuk memulai journey programming Anda. Mulai dari program Hello World yang paling dasar hingga penggunaan struct yang lebih kompleks, setiap contoh dirancang untuk membangun pemahaman secara bertahap.
🎯 Key Takeaways:
• Pahami struktur dasar program C dengan baik
• Praktikkan setiap contoh program secara langsung
• Eksperimen dengan modifikasi kode untuk pemahaman lebih dalam
• Gunakan compiler yang sesuai dengan sistem operasi Anda
• Jangan takut membuat error – itu bagian dari proses belajar
Bahasa C memang memiliki learning curve yang cukup steep, namun dengan konsistensi dan praktik yang rutin, Anda akan menguasainya dengan baik. Setiap programmer profesional pasti pernah memulai dari program sederhana seperti yang telah kita bahas. Terus berlatih, eksplorasi fitur-fitur lanjutan, dan jangan ragu untuk mencoba membuat program yang lebih kompleks seiring dengan meningkatnya skill Anda.