Page 183 - PEMROGRAMAN DASAR MENGGUNAKAN C
P. 183

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;
                      }
   178   179   180   181   182   183   184   185   186   187   188