Page 186 - Project Akhir Media Pendidikan
P. 186
8.4.1. Struktur sebagai Parameter Fungsi
Pada bab sebelumnya kita telah banyak membahas tentang bagaimana cara melewatkan
parameter atau argumen ke dalam sebuah fungsi. Parameter dari fungsi tersebut
tentunya dapat bertipe apa saja, baik tipe data dasar maupun tipe bentukan. Di sini, kita
akan membahas bagaimana cara untuk melewatkan parameter yang bertipe struktur ke
dalam sebuah fungsi.
Sebagai contoh, perhatikan kembali struktur TITIK di atas. Di sini kita akan membuat
program yang dapat menentukan titik tengah dari dua buah koordinat, yaitu dengan cara
melewatkan kedua koordinat tersebut sebagai parameter ke dalam sebuah fungsi. Berikut
ini sintak yang dimaskudkan.
#include <stdio.h>
/* Membuat tipe bentukan bertipe struktur dengan nama TITIK */
typedef struct {
int x;
int y;
} TITIK;
/* Membuat fungsi untuk menentukan titik tengah */
void TitikTengah(TITIK T1, TITIK T2, TITIK *TT) {
(*TT).x = (T1.x + T2.x) / 2;
(*TT).y = (T1.y + T2.y) / 2;
}
int main(void) {
/* Mendeklarasikan variabel-variabel yang dibutuhkan */
TITIK A1, A2, titik_tengah;
/* Memasukan nilai ke dalam A1 dan A2 */
printf(“Titik ke-1:\n”);
printf(“Nilai x = ”); scanf(“%d”, &A1.x);
printf(“Nilai y = ”); scanf(“%d”, &A1.y);
printf(“\nTitik ke-2:\n”);
printf(“Nilai x = ”); scanf(“%d”, &A2.x);
printf(“Nilai y = ”); scanf(“%d”, &A2.y);
/* Memanggil fungsi TitikTengah() */
TitikTengah(A1, A2, &titik_tengah);
/* Menampilkan hasil */
printf(“\nTitik tengah berada pada koordinat (%d,%d)”,
titik_tengah.x, titik_tengah.y);
return 0;
}
182