Anda di halaman 1dari 19

MENERAPKAN

PENGGUNAAN FUNGSI
Pengertian Fungsi
• FUNGSI ADALAH SATU BLOK KODE YANG MELAKUKAN TUGAS TERTENTU ATAU SATU BLOK
INSTRUKSI YANG DI EKSEKUSI KETIKA DIPANGGIL DARI BAGIAN LAIN DALAM SUATU PROGRAM.

• FUNGSI DALAM BAHASA C ADALAH SUBPROGRAM, ATAU SEKUMPULAN KODE YANG DITARUH
DALAM SEBUAH BLOK DAN DIBUAT UNTUK MENJALANKAN TUGAS KHUSUS, SALAH SATU TUJUAN
PENGGUNAAN DARI FUNGSI DALAM PEMROGRAMAN ADALAH UNTUK MEMBUAT PROGRAM
LEBIH TERSETRUKTUR DAN EFISIEN SEHINGGA PROGRAM MUDAH DIPAHAMI ATAU DIBACA
ALUR PROGRAMNYA.
Tujuan Pembuatan Fungsi 

 MEMUDAHKAN DALAM PEMBUATAN PROGRAM.


 MENGHEMAT UKURAN PROGRAM.
 KEUNTUNGAN MEMAKAI FUNGSI :
 MENGURAIKAN TUGAS PEMROGRAMAN RUMIT MENJADI LANGKAH-LANGKAH
YANG LEBIH SEDERHANA ATAU KECIL.
 MENGURANGI DUPLIKASI KODE (KODE YANG SAMA DITULIS BERULANG-ULANG)
DALAM PROGRAM.
 DAPAT MENGGUNAKAN KODE YANG DITULIS DALAM BERBAGAI PROGRAM YANG
BERBEDA.
 MEMECAH PROGRAM BESAR MENJADI KECIL SEHINGGA DAPAT DIKERJAKAN
OLEH PROGRAMMER-PROGRAMMER ATAU DIPECAH MENJADI BEBERAPA
TAHAP SEHINGGA MEMPERMUDAH PENGERJAAN DALAM SEBUAH PROJEK
 MENYEMBUNYIKAN INFORMASI DARI USER SEHINGGA MENCEGAH ADANYA
PERBUATAN ISENG SEPERTI MEMODIFIKASI ATAU MENGUBAH PROGRAM YANG
KITA BUAT
 MENINGKATKAN KEMAMPUAN PELACAKAN KESALAHAN, JIKA TERJADI
SUATU KESALAHAN KITA TINGGAL MENCARI FUNGSI YANG BERSANGKUTAN
SAJA DAN TAK PERLU MENCARI KESALAHAN TERSEBUT DI SELURUH
PROGRAM.
Bentuk Umum Sebuah Fungsi

Tipedata namafungsi(daftarparameter)
Deklarasi & Definisi

BAIK DATA MAUPUN FUNGSI HARUS DIDEKLARASIKAN. DATA PERLU


DIDEKLARASIKAN AGAR COMPILER TAHU BERAPA BYTE MEMORI YANG HARUS
DISEDIAKAN UNTUK DATA YANG BERSANGKUTAN, SEDANGKAN FUNGSI PERLU
DIDEKLARASIKAN AGAR COMPILER DAPAT MEMERIKSA KETEPATAN
PEMANGGILAN FUNGSI YANG BERSANGKUTAN.
DEKLARASI DAN DEFINISI ADALAH LANGKAH AWAL DALAM SETIAP PENULISAN
PROGRAM TIDAKTERKECUALI DALAM BAHASA C++
cara mendeklarasikan
sebuah fungsi pada bahasa
C

Tipe_datakeluaran nama_fungsi (tipe_data_1 nama_variabel_1,


…,tipe_data_n nama_variabel_n){
proses
return variabel_keluaran
}

Keterangan :
• tipe_data_keluaran, dapat berupa salah satu tipe data C, misalnya char atau int. Kalo penentu tipe tidak disebutkan maka
dianggap bertipe int.nama_fungsi, ini merupakan nama dari fungsi yang digunakan untuk memanggil fungsi tersebut.
tipe_data_1 nama_variabel_1, merupakan parameter yang diterima oleh fungsi untuk diolah pada proses yang terdapat didalam
fungsi.
• proses, berisi deklarasi variabel (jika ada) dan program yang akan melakukan tugas yang akan diberikan kepada fungsi.
• return variabel_keluaran, nilai balikan yang akan dikirim oleh fungsi kepada yang memanggil fungsi tersebut.
Parameter
• NILAI DALAM SUATU SUBPROGRAM FREEPASCAL SIFATNYA ADALAH LOKAL, ARTINYA
HANYA DAPAT DIGUNAKAN PADA MODUL ATAU UNIT YANG BERSANGKUTAN SAJA, TIDAK
DAPAT DIGUNAKAN PADA MODUL ATAU UNIT PROGRAM YANG LAINNYA. PARAMETER
ADALAH DATA MASUKAN UNTUK SUBPROGRAM YANG NANTINYA AKAN DIPROSES LEBIH
LANJUT DALAM SUBPROGRAM TERSEBUT. DALAM PASCAL, DIKENAL DUA MACAM
PARAMETER, YAITU

1, parameter nilai (value parameter), dan


2, parameter referensi (reference parameter)
 fungsi dalam Bahasa pemrograman C++, yaitu:

Ø  parameter masukan.
Ø  parameter keluaran.
Ø  parameter gabungan antara masukan dan keluaran
Nilai balik

Fungsi dengan nilai balik adalah suatu fungsi yang dapat


mengembalikan suatu nilai ke dalam fungsi utama. Dalam membuat
fungsi, harus didefinisikan tipe data dari niali yang akan
dikembalikan. Sebelum dapat memanggil suatu fungsi, kita harus
mendeklarasikannya terlebih dahulu. Pendeklarasian fungsi dengan
nilai balik diawali dengan tipe data yang akan dikembalikan nilainya.
Kemudian diikuti dengan nama fungsi dan daftar perameternya.
Rekrusif

Rekursif adalah suatu proses yang memanggil dirinya sendiri yang biasanya
dilakukan oleh fungsi atau prosedur pada pemrograman prosedural, seperti
contohnya bahasa pemrograman C, atau metode pada pemrograman
berorientasi objek seperti C++ atau Java
Contoh  menghitung faktorial menggunakan
proses rekursif :
Rekrusif akan terus berjalan sampai kondisi
berhenti terpenuhi, oleh karena itu dalam
sebuah rekrusif perlu adanya blok-blok kode
sebagai berikut 

Ø  Basis
           Basis merupakan kode yang menjadi titik berhenti dari sebuah
proses rekursi karena proses rekursi akan terus berjalan berputar
memanggil dirinya sendiri sampai sebuah kondisi basis terpenuhi. Oleh
karena itu basis sangat penting dalam sebuah proses rekursi, karena tanpa
basis sebuah proses rekursi akan terus dijalankan tanpa henti.

Ø  Rekursi
         Rekursi merupakan kode dalam hal ini sebuah blok program
(prosedur, fungsi atau metode) memanggil dirinya sendiri, misalnya ada
sebuah fungsi hitung hasil faktorial, bahwa di dalamnya blok kode fungsi
itu memanggil dirinya sendiri.
• Sangat mudah untuk melakukan perulangan dengan batasan
Kelebihan Perulangan yang luas dalam artian melakukan perulangan dalam skala
Rekursif yang besar.
• Dapat melakukan perulangan dengan batasan fungsi.

• Tidak bisa melakukan nested loop atau looping bersarang.


• Biasanya membuat fungsi sulit untuk dipahami, hanya
cocok untuk persoalan tertentu saja.
• Trace error sulit.
Kekurangan Perulangan
• Memerlukan stack yang lebih besar, sebab setiap kali fungsi
Rekursif:
dipanggil, variabel lokal dan parameter formal akan
ditempatkan ke stack dan ada kalanya akan menyebabkan
stack tak cukup lagi (Stack Overrun).
• Proses agak berbelit-belit karena terdapat pemangilan fungsi
yang berulang-ulang dan pemanggilan data yang ditumpuk.
Pengertian Pointer
• POINTER MERUPAKAN SEBUAH VARIABEL YANG BERISI ALAMAT DARI VARIABEL
LAIN. SUATU POINTER DIMAKSUDKAN UNTUK MENUNJUKAN KE SUATU ALAMAT
MEMORI SEHINGGA ALAMAT DARI SUATU VARIABEL DAPAT DIKETAHUI DENGAN
MUDAH. ARTI POINTER DALAM BAHASA SEHARI-HARI ADALAH PETUNJUK
ATAU BISA DI BILANG PENENTU ATAU POINTER SECARA SEDERHANA BISA
DIARTIKAN SEBAGAI TIPE DATA YANG NILAINYA MENGARAH PADA NILAI
YANG TERDAPAT PADA SEBUAH AREA MEMORI (ALAMAT MEMORI). NAMUN
DALAM BAHASA C, POINTER BISA BERFUNGSI SEBAGAI VARIABEL ARRAY
BERARTI POINTER SEBAGAI PENUNJUK ELEMEN ARRAY KE-0 DALAM VARIABEL C
Fungsi Pointer
             Fungsi Pointer yang utama adalah untuk
menyimpan alamat memori dari sebuah
variable. Selain menyimpan alamat dari sebuah
variable, Pointer juga berfungsi untuk
menyimpan alamat memori dari sebuah fungsi.
Modularisasi
• KONSEP-KONSEP PEMROGRAMAN ADALAH KEMAMPUAN UNTUK GROUP
BEBERAPA BARIS KODE KE DALAM SEBUAH UNIT YANG DAPAT DIMASUKAN
DALAM PROGRAM KAMI. YANG ASLI UNTUK KATA INI ADALAH SUB-
PROGRAM. NAMA LAIN MELIPUTI: MAKRO, SUB-RUTIN, PROSEDUR, MODUL
DAN FUNGSI. FUNGSI-FUNGSI PENTING KARENA MEMBOLEHAKN KITA UNTUK
MENGAMBIL PROGRAM BESAR DAN RUMIT UNTUK MEMBAGI MEREKA
MENJADI POTONGAN-POTONGAN KECIL DIATUR. KARENA FUNGSI YANG
LEBIH KECIL ADALAH BAGIAN PROGRAM SECARA KESELURUHAN
Umumnya fungsi
jatuh kedalam
dua kategori

Fungsinya hanya di gunakan untuk membagi dan sub control


program . fungsi ini adalah fungsi unik yang di tulis. Lain-lain
Control program
program dapat menggunaka fungsi serupa bahkan fungsi dengan
nama yang sama, tetapi isi dari fungsi hampir selalu berbeda.

Fungsinya dirancang untuk digunakn dengan beberapa program .


fungsi ini melakukan tugas tertentu dan dengan itu bisa digunakan
dalam berbagai program karena program lain juga perlu untuk
Tugas Spesifik melakukan tugas tertentu . spesifik tugas fungsi kadang-kadang
disebut sebagai blok bangunan . karena mereka sudah di uji dan oke.
Kita dapat menggunakannya dengan keyakinan lebih efisien untuk
menulis program yang besar
Selesai

Anda mungkin juga menyukai