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
   181   182   183   184   185   186   187   188   189   190   191