algoritma & pemrograman (function)
Post on 18-Nov-2014
1.012 Views
Preview:
DESCRIPTION
TRANSCRIPT
achmatim@gmail.com
FUNCTION
achmatim@gmail.com
FUNCTION adalah sejumlah instruksi yang dikelompokkan menjadi satu, berdiri sendiri, membentuk suatu subprogram yang sering juga disebut subroutine.
achmatim@gmail.com
BAHASA C terdiri dari kumpulan function FUNCTION yang harus ada dalam sebuah
program bahasa C adalah fungsi main() Pertama kali program dijalankan, komputer
akan mencari fungsi main() dan melaksanakan instruksi-instruksi di dalamnya.
achmatim@gmail.com
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = 0; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Deklarasi Fungsi hitung()
achmatim@gmail.com
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = 0; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Bagian ini disebut main program atau program induk atau fungsi induk atau main function.
Pemanggilan fungsi hitung()
achmatim@gmail.com
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = 0; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Pendefinisian fungsi hitung() dimana di bagian ini memuat urutan atau bagaimana fungsi bekerja/berjalan.
achmatim@gmail.com
DEKLARASI FUNGSI
Bentuk umum :
type nama_fungsi (argumen1, argumen2, …);
Tipe fungsiSama seperti tipe data (variabel)Bisa berupa char, int, float, double, dan void
achmatim@gmail.com
DEKLARASI FUNGSI
Bentuk umum :
type nama_fungsi (argumen1, argumen2, …);
Nama FungsiPenamaan fungsi sama seperti penamaan variabel biasa.
achmatim@gmail.com
DEKLARASI FUNGSI
Bentuk umum :
type nama_fungsi (argumen1, argumen2, …);
Argumen atau Parameter FungsiArgument fungsi merupakan masukan yang diperlukan oleh fungsi. Sebuah fungsi boleh tidak memiliki argument. Bentuk penulisan argument sama seperti pendeklarasian sebuah variabel
achmatim@gmail.com
DEKLARASI FUNGSI
Bentuk umum :
type nama_fungsi (argumen1, argumen2, …);
Titik Koma (;)Jangan lupakan akhiri pendeklarasian fungsi dengan titik koma (;)
achmatim@gmail.com
DEKLARASI FUNGSI
Bentuk umum :
type nama_fungsi (argumen1, argumen2, …);
Contoh:int hitung (int a, int b);void tampil(float nilai);void menu();
Letak deklarasi fungsi HARUS berada sebelum fungsi main()
achmatim@gmail.com
PENDEFINISIAN FUNGSIBentuk umum :
type nama_fungsi (argumen1, argumen2, …){ ….. proses di sini …. return value;}
Pada pendefinisian sebuah fungsi, type, nama dan argument fungsi harus SAMA dengan pendeklarasian fungsi.
Setelah argument fungsi TIDAK diakhiri dengan titik koma (;)
Proses fungsi berada di antara { dan }
achmatim@gmail.com
PENDEFINISIAN FUNGSIBentuk umum :
type nama_fungsi (argumen1, argumen2, …){ ….. proses di sini …. return value;}
Return value diberikan sesuai dengan type fungsinya.
Fungsi dengan tipe void, TIDAK memerlukan Return Value
Letak pendefinisian fungsi bisa sebelum atau sesudah fungsi main, tetapi harus setelah deklarasi fungsi.
achmatim@gmail.com
PENDEFINISIAN FUNGSIBentuk umum :
type nama_fungsi (argumen1, argumen2, …){ ….. proses di sini …. return value;}
Pendefinisian fungsi bisa digabung dengan pendeklarasian fungsi, tetapi letaknya HARUS sebelum fungsi main
achmatim@gmail.com
Semua variabel yang dibuat dalam suatu function, akan bersifat LOKAL
Variabel LOKAL hanya dikenal di dalam function yang bersangkutan dan tidak dikenal (tidak dapat diakses) di luar function tersebut.
Variabel GLOBAL harus dideklarasikan di luar semua function.
Variabel GLOBAL dikenal (dapat diakses) dari semua function dalam program
VARIABEL LOKAL DAN GLOBAL
achmatim@gmail.com
VARIABEL LOKAL DAN GLOBAL
t adalah variabel GLOBAL
#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}
achmatim@gmail.com
#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}
VARIABEL LOKAL DAN GLOBAL
a dan b adalah variabel LOKAL
achmatim@gmail.com
VARIABEL LOKAL DAN GLOBAL
A dan b di sini bersifat LOKAL dan tidak ada hubungannya dengan variabel a dan b di fungsi main()
#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}
achmatim@gmail.com
VARIABEL LOKAL DAN GLOBAL
#include <stdio.h>void tambah(int a, int b);int t;void main(){ int a, b; a = 5; b = 2; tambah(a, b); printf(“%d”, t);}void tambah(int a, int b) { t = a + b;}
Variabel t sudah dikenal di semua fungsi baik di fungsi main() maupun di fungsi tambah() tanpa perlu dideklarasikan dulu.
achmatim@gmail.com
PASSING VARIABLE (PENGIRIMAN PARAMETER)
• Passing by Value• Passing by Reference
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Fungsi hitung() memiliki 2 argument (masukan) bertipe integer
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Saat pemanggilan fungsi hitung(), diperlukan 2 parameter (masukan) yang bertipe integer (dalam hal ini a dan b)
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Nilai variabel a dan b yaitu 5 dan 2 akan dikirimkan ke fungsi hitung.
5 2
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Isi variabel a dan b yaitu 5 dan 2 dijumlahkan, dan disimpan ke variabel tot
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Nilai variabel tot yaitu 7 akan dikembalikan (return) ke fungsi hitung() di fungsi main()
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Isi variabel a dan b yaitu 5 dan 2 dijumlahkan, dan disimpan ke variabel tot7
achmatim@gmail.com
PASSING BY VALUE
#include <stdio.h>int hitung(int a, int b);void main(){ int a,b,t; a = 5; b = 2; t = hitung(a,b); printf(“\n%d”, t);}int hitung(int a, int b){ int tot; tot = a + b; return (tot);}
Variabel t bernilai 7 dan akan tercetak 7 di layar
achmatim@gmail.com
Halaman ini tidak benar-benar kosong
achmatim@gmail.com
PASSING BY REFERENCE
#include <stdio.h>int CETAK(int *Q);void main(){ int A, *P; A = 5; P = &A; CETAK(P);}int CETAK(int *Q){ printf(“%d”, *Q);}
Parameter yang dikirim bukan data tapi berupa nilai POINTER (alamat)
achmatim@gmail.com
PASSING BY REFERENCE
#include <stdio.h>int CETAK(int *Q);void main(){ int A, *P; A = 5; P = &A; CETAK(P);}int CETAK(int *Q){ printf(“%d”, *Q);}
Untuk menerima nilai pointer, argumen fungsi juga harus berupa variabel POINTER
achmatim@gmail.com
Sampai jumpa lagi…….
top related