algoritma & pemrograman (function)

Post on 18-Nov-2014

1.012 Views

Category:

Documents

10 Downloads

Preview:

Click to see full reader

DESCRIPTION

Presentasi Algoritma dan Pemrograman dengan Bahasa C (Function). oleh Achmad Solichin (http://achmatim.net)

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