Lompat ke konten Lompat ke sidebar Lompat ke footer

Functions pada Struktur Data

Fungsi/function adalah suatu kumpulan instruksi/perintah/program yang dikelompokkan menjadi satu, letaknya terpisah dari program yang menggunakan fungsi tersebut, memiliki nama tertentu yang unik, dan digunakan untuk mengerjakan suatu tujuan tertentu.


Keutungan penggunaan fungsi

  • Dapat melakukan pendekatan top down dan divide and conquer:
    • Top down: penelusuran program mudah
    • Divide and conquer: program besar dapat dipisah menjadi program program kecil.
  • Kode program menjadi lebih pendek, mudah dibaca, dan mudah dipahami
  • Program dapat dikerjakan oleh beberapa orang sehingga program cepat selesai dengan koordinasi yang mudah.
  • Mudah dalam mencari kesalahan kesalahan karena alur logika jelas  dan sederhana
  • Kesalahan dapat dilokalisasi dalam suatu modul tertentu saja.
  • Modifikasi program dapat dilakukan pada suatu modul tertentu saja tanpa mengganggu program keseluruhan
  • Fungsi- fungsi menjadikan program mempunyai struktur yang jelas.
    • Dengan memisahkan langkah langkah detail ke satu atau lebih fungsi- fungsi, maka fungsi utama (main) akan menjadi lebih pendek, jelas dan mudah dimengerti.
  • Fungsi-fungsi digunakan untuk menghindari penulisan program yang sama yang ditulis secara berulang-ulang. Langkah-langkah tersebut dapat dituliskan sekali saja secara terpisah dalam bentuk fungsi. Selanjutnya bagian program yang membutuhkan langkah-langkah ini tidak perlu selalu menuliskannya, tidak cukup memanggil fungsi tersebut.
  • Mempermudah dokumentasi.
  • Reusability: Suatu fungsi dapat digunakan kembali oleh program atau fungsi lain.


Kategori Fungsi dalam C


Standard Library Function
  • Yaitu fungsi-fungsi yang telah disediakan oleh C dalam file-file header atau librarynya. Misalnya: clrscr(), printf(), getch()
  • Untuk function ini kita harus mendeklarasikan terlebih dahulu library yang akan digunakan, yaitu dengannmenggunakan preprosesor direktif. Misalnya: #include <conio.h>
Programmer-Defined Function
  • Adalah function yang dibuat oleh programmer sendiri.
  • Function ini memiliki nama tertentu yang unik dalam program, letaknya terpisah dari program utama, dan bisa dijadikan satu ke dalam suatu library buatan programmer itu sendiri yang kemudian juga di-includekan jika ingin menggunakannya.

Perancangan Fungsi


Dalam membuat fungsi, perlu diperhatikan:
  • Data yang diperlukan sebagai inputan
  • Informasi apa yang harus diberikan oleh fungsi yang dibuat ke pemanggilnya
  • Algoritma apa yang harus digunakan untuk mengolah data menjadi informasi

Stuktur Fungsi

  • Deklarasi fungsi diakhiri dengan titik koma
  • Deklarasi function (function prototype/declaration), terdiri dari:
    • Judul fungsi
    • Tipe data yang akan dikembalikan/void
    • Tidak ada kode implementasi function tersebut
  • Bentuk umum:
    • tipe_data|void nama_fungsi([arguman 1, argument 2,....]);
  • Tipe_data dapat berupa segala tipe data yang dikenal C ataupun tipe data buatan, namun tipe data dapat juga tidak ada dan digantikan dengan void yang berarti fungsi tersebut tidak mengembalikan nilai apapun
  • Nama fungsi adalah nama yang unik
  • Argumen dapat ada atau tidak (opsional) yang digunakan untuk menerima argumen/parameter.
  • Antar argumen-argumen dipisahkan dengan menggunakan tanda koma.
  • Suatu fungsi perlu dideklarasikan sebelum digunakan.
  • Untuk alasan dokumentasi program yang baik, sebaiknya semua fungsi yang digunakan dideklarasikan terlebih dahulu
  • Deklarasi fungsi ditulis sebelum fungsi tersebut digunakan
  • Tubuh Function/Definisi Function (Function Definition), terdiri dari:
    • function prototype yang disertai dengan kode implementasi dari function tersebut, yang berisikan statemen/instruksi yang akan melakukan tugas sesuai dengan tujuan dibuatnya fungsi tersebut.