Ahlan wa sahlan !

Ahlan wa sahlan...
TIKmawar adalah blog TIK untuk guru dan siswa yang ingin memahami teknologi secara logis, praktis, dan menyenangkan. Bareng Bu Mawar, kita akan belajar TIK tidak hanya klik-klik, tetapi juga memahami maksudnya .

Prosedur dalam Bahasa C

Kenapa setelah dipanggil, nilai variabel bisa berubah?

Tidak semua bagian program harus menghasilkan nilai. Ada yang tugasnya hanya mengubah data. Inilah prosedur.

Dalam bahasa C:

  • Tidak ada kata khusus untuk prosedur

  • Prosedur dibuat seperti fungsi, tetapi:

    • Tipe kembalian void

    • Artinya: tidak mengembalikan nilai

Contoh:

void contohProsedur() { // perintah di sini }

Parameter pada Prosedur

Prosedur boleh:

  • Memiliki parameter
  • Tidak memiliki parameter

Yang membedakan prosedur dari fungsi adalah:

  • Prosedur bisa mengubah nilai parameter

Mengubah Nilai Parameter

Jika prosedur ingin mengubah nilai suatu variabel:

  • Parameter ditulis dengan tanda *
  • Saat dipanggil, variabel diberi tanda &

Untuk tahap awal:

  • Cukup pahami bahwa * dan & dipakai agar nilai variabel bisa berubah
  • Penjelasan detailnya ada di materi Pointer

Contoh Konsep Prosedur (Tanpa Kode Rumit)

  1. plus1

    • Menambah nilai variabel sebesar 1

    • Setelah prosedur dijalankan, nilainya berubah

  2. plusd

    • Menambah nilai variabel sesuai angka tertentu

    • Nilai variabel ikut berubah

  3. swap

    • Menukar nilai dua variabel

    • Setelah dijalankan, kedua nilai berubah

contoh :
#include <stdio.h>

// prosedur untuk menambah nilai
void tambahSatu(int *nilai) {
    *nilai = *nilai + 1;
}

int main() {
    int angka = 5;

    printf("Nilai sebelum prosedur: %d\n", angka);

    tambahSatu(&angka); // memanggil prosedur

    printf("Nilai sesudah prosedur: %d\n", angka);

    return 0;
}

Penjelasan :

  • void tambahSatu → prosedur (tidak mengembalikan nilai)
  • int *nilai → alamat variabel agar nilainya bisa diubah
  • &angka → mengirim alamat variabel ke prosedur
  • Setelah prosedur dipanggil, nilai variabel berubah

Ilustrasi:

Angka awal = 5 → diproses prosedur → menjadi 6


Apa itu Fungsi di bahasa C?

Bagaimana program mengubah data masukan menjadi hasil keluaran? 

Kenapa satu kode bisa dipakai berkali-kali tanpa menulis ulang? Jawabannya ada pada fungsi.

Fungsi membantu program menjadi lebih rapi, jelas, dan mudah dipahami.

Apa itu Fungsi?

Fungsi adalah bagian program yang dibuat untuk mengerjakan satu tugas tertentu, lalu memberikan hasil.

Ibarat mesin:

Masukan → diproses → keluar hasil

Artinya: fungsi akan mengembalikan nilai bilangan bulat

Bagian-bagian Fungsi

Sebuah fungsi terdiri dari beberapa bagian penting:

1. Nama Fungsi

  • Nama yang digunakan untuk memanggil fungsi
  • Harus jelas sesuai tugasnya

Contoh:hitungJumlah

2. Tipe Kembalian (Return Type)

  • Menentukan jenis hasil yang dikembalikan fungsi
  • Menjadi janji antara fungsi dan pemanggilnya


Contoh:int

Parameter (Boleh Ada atau Tidak)

Data awal yang dibutuhkan fungsi untuk bekerja. Disebut juga masukan fungsi


3. Parameter (Boleh Ada atau Tidak)

  • Data awal yang dibutuhkan fungsi untuk bekerja
  • Disebut juga masukan fungsi

4. Badan Fungsi

Berisi langkah-langkah perintah yang dijalankan

Ditulis dalam tanda { }

Fungsi dalam pemrograman mirip dengan fungsi matematika:
  • Ada input
  • Ada proses
  • Ada output


Pengantar Subprogram

Bayangkan kalau setiap tugas harus dikerjakan dari awal. Capek, kan? Di pemrograman, ada cara agar pekerjaan bisa dipakai ulang: subprogram.

Subprogram adalah bagian kecil dari program yang bisa dipanggil dan digunakan kembali. Dengan menggunakan subprogram, program menjadi lebih rapi, terstruktur, dan mudah dipahami.

Program utama cukup memanggilnya, tanpa perlu tahu isi detail perintah di dalamnya.

Subprogram dalam Pemrograman
Dalam pemrograman, subprogram ada dua jenis:
  • Fungsi
  • Prosedur
Namun, dalam bahasa C, yang digunakan hanya fungsi. Prosedur di bahasa C dibuat seperti fungsi, tetapi tidak mengembalikan nilai.
Perbedaan Fungsi dan Prosedur (Mudah Dipahami)
1. Fungsi
  • Mengerjakan perhitungan
  • Mengembalikan hasil
  • Tidak mengubah data asal

Contoh logika:
Masuk angka → diproses → keluar hasil

2. Prosedur
  • Mengerjakan proses
  • Tidak mengembalikan hasil
  • Bisa mengubah nilai data

Contoh logika:
Masuk data → diproses → data berubah
Fungsi main dalam Bahasa C

Dalam bahasa C:
Program utama juga disebut fungsi. Namanya main

Contoh:
int main() → mengembalikan nilai (biasanya return 0)
void main() → tidak mengembalikan nilai

Searching-Sequential Search

Kalau data tidak diurutkan, bagaimana cara komputer mencarinya? Apakah langsung ketemu?

Bagaimana komputer menemukan satu data di antara banyak data?  

Jawabannya dimulai dari algoritma paling sederhana: Sequential Search.

Searching adalah proses mencari data tertentu di dalam kumpulan data. Proses ini sama pentingnya dengan sorting (mengurutkan) dalam pemrograman.

Contohnya:

  • Mencari nama teman di daftar absensi
  • Mencari kontak di HP
  • Mencari kata di kamus
  • Mencari file di folder komputer

Apa itu Sequential Search?

Sequential Search adalah cara mencari data dengan memeriksa satu per satu mulai dari data pertama sampai data terakhir. 

Misalnya:

Kita ingin mencari nilai X

Data disimpan dalam sebuah tabel/array

Cara kerjanya:

  • Mulai dari indeks paling awal.
  • Bandingkan data dengan nilai X.
  • Jika cocok → pencarian berhenti (data ditemukan).
  • Jika tidak cocok → lanjut ke data berikutnya.

es berhenti jika:

  • Nilai X ditemukan, atau
  • Sudah sampai elemen terakhir.
Contoh program :

#include <stdio.h>

int main() {
    int i;
    int data[10] = {1, 50, 6, 200, 3, 100, 30, 8, 99, 100};
    int cari = 8;
    int ditemukan = 0;

    // proses pencarian satu per satu
    for (i = 0; i < 10; i++) {
        if (data[i] == cari) {
            ditemukan = 1;
            break; // berhenti jika data ditemukan
        }
    }

    // hasil pencarian
    if (ditemukan == 1) {
        printf("Data %d ditemukan pada indeks %d", cari, i);
    } else {
        printf("Data tidak ditemukan");
    }

    return 0;
}
Penjelasan :
  • data[10] → kumpulan data (seperti daftar nilai)
  • cari → nilai yang ingin dicari
  • for → mengecek data dari awal sampai akhir
  • if (data[i] == cari) → membandingkan data dengan nilai yang dicari
  • break → menghentikan pencarian jika sudah ketemu
  • ditemukan → penanda apakah data ada atau tidak

Pengantar Program dalam Bahasa C

 Setiap program C ternyata tidak berdiri sendiri. Ada dua bagian penting yang harus selalu ada.

Teks program dalam Bahasa C terdiri dari dua bagian:

  1. Teks yang diproses oleh compiler.
  2. Teks yang tidak diproses oleh compiler, yaitu yang dituliskan di antara /* dan */ berisi komentar bisa beberapa baris yang memudahkan kamu untuk memahami sebuah program. Bisa juga dengan // yaitu komentar hanya di satu baris.

Kamu dapat membedakan kedua jenis teks tersebut dari contoh-contoh yang diberikan. Sebuah program dalam Bahasa C disimpan dengan ekstensi “.c”. Sebuah program utama terdiri dari dua bagian, yaitu:

  1. Kamus/ header: bagian program yang berisi nama-nama yang dideklarasikan (fungsi, variabel, dll).
  2. Program (badan program): bagian yang berisi instruksi/perintah yang dijalankan komputer.

Setiap kalimat dalam bahasa C, baik berupa deklarasi maupun instruksi, selalu diakhiri dengan ”;” , atau diakhiri dengan suatu blok yang terdiri dituliskan di antara dan }.

Contoh program sederhana :

  1. /* ini komentar, bisa lebih dari 1 baris
  2.  Program menuliskan “ahlan wa sahlan ! */
  3. #include<stdio.h>
  4. int
  5. main()
  6. {                   //komentar dalam 1 baris : badan program
  7.     printf("ahlan wa sahlan !\n ");
  8. return 0;
  9. }

 Pernah menulis printf tapi muncul error? Bisa jadi karena lupa #include <stdio.h>

Tanpa #include <stdio.h>, program C tidak bisa menampilkan apa pun ke layar.

Analogi : sebelum memasak, kita butuh alat. Dalam bahasa C, #include <stdio.h> adalah alat pertamanya.

Apa itu #include <stdio.h>

  • #include adalah perintah preprocessor (dijalankan sebelum program dikompilasi).
  • <stdio.h> adalah header file (berkas pustaka) standar C.
  • stdio singkatan dari Standard Input Output.

Artinya:
kita memasukkan definisi fungsi-fungsi input dan output standar ke dalam program C.

fungsi main akan mengembalikan sebuah angka bulat ke komputer.

Mengembalikan ke siapa?Bukan ke layar, tapi ke sistem/komputer (OS).

Angka itu digunakan komputer untuk tahu: program berjalan normal atau terjadi kesalahan

int main(void) {

    return 0;

}

Maknanya:

return → mengirim balik nilai

0 → tanda program sukses / tidak ada error

Analogi :

Seperti raport kecil yang dikirim ke komputer

Nilai 0 = lulus / aman

Kenapa harus int, bukan yang lain?

Karena:

Komputer paling mudah membaca angka. Bahasa C standar mengharuskan main mengembalikan angka.

Bagaimana? semoga cukup dimengerti, jika masih bingung silakan tanyakan di kolom komentar ya.

Komputer Sekolah Ada, Tapi Siswa Tetap Gaptek?

Banyak sekolah sudah memiliki komputer dan internet. Namun kenyataannya, masih ada siswa yang bingung saat mengerjakan tugas TIK sederhana. Mengapa hal ini bisa terjadi?

Masalahnya sering bukan pada jumlah komputer, tetapi pada cara belajar dan cara mengajar TIK. 

Bisa Pakai Komputer, Tapi Belum Paham.

Sebagian siswa bisa:

  • Menyalakan komputer
  • Membuka aplikasi
  • Mengikuti langkah guru

Namun ketika ditanya fungsi atau diminta menyelesaikan masalah, mereka kebingungan. Ini karena siswa terbiasa meniru langkah, bukan memahami konsep.

Menghafal Menu Bukan Solusi

Belajar TIK sering hanya fokus pada:

  • Menghafal menu
  • Menyelesaikan tugas cepat
  • Mengejar nilai

Padahal, TIK seharusnya melatih logika dan cara berpikir, bukan sekadar klik-klik.

Peran Guru Sangat Penting. Guru TIK tidak hanya mengajarkan aplikasi, tetapi membimbing siswa agar:

  • Mengerti “mengapa”, bukan hanya “bagaimana”
  • Berani mencoba dan salah
  • Mampu berpikir mandiri

TIK Juga Soal Tanggung Jawab

Teknologi harus digunakan dengan bijak. Setiap klik membawa dampak.

(الْعِلْمُ نُورٌ – Ilmu itu cahaya).

Jadi.... Komputer hanyalah alat.

Yang membuat siswa tidak gaptek adalah cara belajar yang benar.

Harus ada kerjasama dan kemauan dari kedua belah pihak. Guru terbuka menerima pertanyaan dan keingintahuan serta siswa tidak hanya yang penting selesai tapi juga antusias dan belajar untuk memahami.

Pengenalan Bahasa C

 Kenapa sih, kita harus belajar coding? 
Coding penting karena dapat melatih logika, membantu memecahkan masalah, dan membuat kita siap menghadapi masa depan digital.

Untuk pemula, sebaiknya belajar apa dulu? 
Sebetulnya ada banyak pilihan, namun Bu Mawar menyarankan untuk belajar bahasa C.

Alasannya :
  • Bahasa C adalah “induk” dari banyak bahasa pemrograman modern (C++, Java, dll.).
  • C menuntut penulisan logika yang jelas dan terstruktur.
  • Sintaks C relatif sedikit dan fokus ke konsep inti.
  • C dekat dengan mesin (memori, pointer, proses).
  • Program C berjalan cepat dan ringan.
  • Banyak kurikulum menjadikan C sebagai bahasa awal.

Sejarah Singkat dan Versi

Bahasa C dikembangkan oleh Dennis M. Ritchie dan Brian W. Kernighan pada awal tahun 1970.

Pada tahun 1986, dikembangkan superset C (kompatibel dengan C, namun dilengkapi dengan kemampuan pemrograman berorientasi objek) oleh Bjarne Stroustrup [Stroustrup-86], yaitu bahasa C++ (C with Class).

Aplikasi dalam bahasa C

Bahasa C banyak dipakai untuk:

  1. Membuat sistem operasi dan program-program sistem.
  2. Pemrograman yang "dekat" ke perangkat keras (misalnya untuk kontrol peralatan).
  3. Membuat tool kit.
  4. Menulis program aplikasi.

Kelebihan bahasa C, sehingga terpilih untuk aplikasi-aplikasi tersebut, adalah kemampuannya untuk membuat kode yang compact, efisien tanpa mengorbankan readability (beda dengan bahasa assembly yang efisien namun susah dibaca, atau bahasa tingkat tinggi lain yang enak dibaca namun tidak efisien). Walaupun tak dapat diingkari bahwa program dalam bahasa C lebih sulit dibaca (karena compact) dibandingkan dengan bahasa tingkat tinggi yang lain.