Menu
CoddyTech

file sumber

Termasuk bagian Pemrograman Berorientasi Objek dalam perjalanan C di Coddy. Pelajaran 3 dari 61.

Sejauh ini, kita telah menempatkan deklarasi fungsi di file header, tetapi kode fungsi yang sebenarnya (definisi) berada di file utama. Langkah berikutnya dalam pemrograman modular adalah memindahkan definisi tersebut ke file sumber mereka sendiri (file .c).

Ini membuat struktur tiga bagian yang rapi: header mendeklarasikan fungsi, file sumber terpisah mendefinisikannya, dan main hanya menggunakannya. Berikut tampilannya:

// math_utils.h
#ifndef MATH_UTILS_H
#define MATH_UTILS_H

int add(int a, int b);

#endif
// math_utils.c
#include "math_utils.h"

int add(int a, int b) {
    return a + b;
}
// main.c
#include <stdio.h>
#include "math_utils.h"

int main() {
    printf("%d\n", add(5, 3));
    return 0;
}

Perhatikan bahwa math_utils.c menyertakan header-nya sendiri. Ini memastikan definisi fungsi cocok dengan deklarasinya. Jika keduanya tidak cocok, compiler akan mendeteksi error tersebut. File utama hanya perlu menyertakan header untuk menggunakan fungsi tersebut. File utama tidak perlu mengetahui cara kerja add secara internal.

Pemisahan ini menyembunyikan detail implementasi dan memungkinkan kamu mengubah logika fungsi tanpa menyentuh file yang menggunakan fungsi tersebut.

challenge icon

Tantangan

Mudah

Mari buat utilitas matematika sederhana dengan menyusun kodemu ke dalam struktur tiga file yang tepat: header untuk deklarasi, file sumber untuk implementasi, dan file utama yang menggunakannya.

Kamu akan membuat tiga file:

  • math_ops.h: File header yang berisi deklarasi fungsi untuk dua operasi: multiply dan subtract. Kedua fungsi menerima dua bilangan bulat dan mengembalikan bilangan bulat. Jangan lupa menyertakan guard menggunakan simbol MATH_OPS_H.
  • math_ops.c: File sumber yang berisi implementasi sebenarnya dari multiply dan subtract. File ini harus menyertakan header-nya sendiri untuk memastikan deklarasi sesuai dengan definisi.
  • main.c: File utama yang menyertakan header dan menggunakan kedua fungsi untuk melakukan perhitungan.

Fungsi multiply harus mengembalikan hasil kali dua bilangan bulat, dan subtract harus mengembalikan bilangan bulat pertama dikurangi bilangan bulat kedua.

Kamu akan menerima dua input bilangan bulat: a dan b.

Di fungsi utama, cetak hasil kedua operasi pada baris terpisah:

Product: {result of multiply}
Difference: {result of subtract}

Contohnya, dengan input 8 dan 3, outputnya adalah:

Product: 24
Difference: 5

Coba sendiri

#include <stdio.h>
#include "math_ops.h"

int main() {
    int a, b;
    scanf("%d", &a);
    scanf("%d", &b);
    
    // TODO: Panggil fungsi multiply dengan a dan b, lalu simpan hasilnya
    
    // TODO: Panggil fungsi subtract dengan a dan b, lalu simpan hasilnya
    
    // TODO: Cetak hasilnya dalam format:
    // Produk: {hasil dari multiply}
    // Selisih: {hasil dari subtract}
    
    return 0;
}
quiz iconUji dirimu

Pelajaran ini berisi kuis singkat. Mulai pelajarannya untuk menjawab kuis dan melacak progresmu.

Semua pelajaran di Pemrograman Berorientasi Objek

Latihan sendiri: Compiler C online