BAB 6. FUNGSI. Tujuan penggunaan fungsi : 1. Program menjadi terstruktur 2. Dapat mengurangi pengulangan kode program.

dokumen-dokumen yang mirip
Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Algoritma Pemrograman 2B (Pemrograman C++)

FUNCTIONS. Function adalah satu blok instruksi yang akan dieksekusi ketika dipanggil dari bagian lain dalam suatu program.

Algoritme dan Pemrograman

Sedangkan bentuk umum pendefinisian fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement... }

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

Function. Function adalah satu blok instruksi yang dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format dari function :

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

Contoh function 1 : Output : // function example The result is 8 #include <iostream.h>

Kisi- kisi UTS- P. Kisi- kisi UTS- T

Pertemuan Function. Obyektif Praktikum : 1. Mengerti konsep dasar penggunaan Function

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Fungsi DASAR PEMROGRAMAN

Function. Contoh function 1 : // function example #include <stdio.h> int addition (int a, int b){ int r; r=a+b; return (r); }

FUNGSI II. Variabel Statis. Sifat variabel statis: Sintaks: static tipe_data nama_variabel; Contoh: static int angka;

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

Fungsi DASAR PEMROGRAMAN

Bab 10 Fungsi & Prosedur

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

MODUL 5 SUBPROGRAM / FUNGSI

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

Fungsi Lanjut DASAR PEMROGRAMAN

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Konsep Pemrograman. Bab 8. Fungsi 2. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Address and Pointers. Pointer

Scope Variable. Sebuah variabel di dalam sebuah fungsi memiliki jangkauan tertentu. Skop variabel terdiri dari:

Fungsi : Dasar Fungsi

PROCEDURE DAN FUNCTION

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

Function nama dipisahkan

Fungsi 2 DASAR PEMROGRAMAN

5. Fungsi. S. Indrianii L, M.T

Fungsi. Fungsi. Dasar Komputer & Pemrograman 1. dipecah Sub Program. Program. Dasar Komputer & Pemrograman TC22052 Kartika Firdausy - UAD

MODUL. Fungsi (Function) Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

FUNGSI DALAM BAHASA C

E STRUKTUR DATA & E PRAKTIK STRUKTUR DATA. Pointer & Function. Alfa Faridh Suni, S.T., M.T. PTIK

Untuk mengurangi pengulangan program yang sama agar program menjadi terstruktur, rapi dan lebih mudah dikembangkan.

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

SUB PROGRAM (FUNGSI)

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

December 11 PROSEDUR AKHMAD BILYYASIF.

Algoritma & Pemrograman FUNGSI. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM. Smart, Trustworthy, And Teamwork

BAB II TEORI DASAR. Gambar 1 Kurva untuk interpolasi linier. Sehingga diperoleh persamaan dari interpolasi linier sebagai berikut :

Fungsi, Parameter, Rekursi

Kurikulum Qt. Chapter 4 Function. Fungsi

PEMROGRAMAN BERORIENTASI OBJEK

A. TUJUAN 1. Mengetahui perbedaan antara variabel lokal, eksternal, statis dan register

Fungsi 1 DASAR PEMROGRAMAN

Kurikulum Qt. { Basic OOP } Chapter 4. Function

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

Algoritma & Pemrograman #7. by antonius rachmat c, s.kom, m.cs

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

Memudahkan dalam pengembangan program Menghemat ukuran program

FUNGSI DALAM BAHASA C

Pemgrograman Modular. Keuntungan:

/* File program : tukar1.c Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua data */

Latihan & Kisi-kisi UTS DASAR PEMROGRAMAN

Perulangan, Percabangan, dan Studi Kasus

TUGAS TEORI ALGO LANJUT

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

Pemrograman Dasar C. Minggu 8

Algoritma & Pemrograman #8. by antonius rachmat c, s.kom, m.cs

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi Penggolongan Variabel dan Semester 3

PRAKTIKUM 7 FUNGSI 1

Chapter 1 KONSEP DASAR C

PENGENALAN C++ Bab 1

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

BAB V Tujuan 5.1 Rekursi Dasar

Tipe Data dan Operator

Algoritma dan Struktur Data

Tipe Data, Variabel, Input/Output

Bab 2. Dasar-Dasar Pemrograman C

2. Uraian Materi. a. Pengertian Fungsi

Pemrograman Dasar C. Minggu 6

Algoritme dan Pemrograman

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Pendahuluan Pemrograman Mikrokontroler

Bahasa C-M6 By Jamilah, Skom 1

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

PERTEMUAN XII. int x = 20; // dapat ditulis dgn auto int x = 20; double y = 2.22; // dapat ditulis dgn auto double y = 2.22;

Program pendek dan simple = mudah dihandle. Program besar, banyak dan kompleks = tidak

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

Algoritme dan Pemrograman

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Fungsi Rekursif. Bentuk umum fungsi rekursif.

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

Transkripsi:

BAB 6. FUNGSI Suatu fungsi adalah suatu bagian dari program yang dimaksudkan untuk mengerjakan suatu tugas tertentu dan letaknya dipisahkan dari bagian program yang menggunakannya. Tujuan penggunaan fungsi : 1. Program menjadi terstruktur 2. Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk : 1. Pendeklarasian fungsi sebagai prototype fungsi. 2. Pendefinisian fungsi. 3. pemanggilan fungsi dari program lain. 1. Prototipe Fungsi Prototipe fungsi merupakan model dari sebuah fungsi yang berguna untuk mendeklarasikan cirri-ciri fungsi, meliputi : 1. nama fungsi 2. tipe nilai balik fungsi. 3. jumlah dan tipe argument. Bentuk umum : jenis_data nama fungsi (jenis_data, jenis_data, ); Prototype fungsi tidak perlu dituliskan bila suatu fungsi terletak di atas fungsi yang memanggilnya. Contoh : long kuadrat(long); int maks(int a, int b); void garis( ); long nilai(int,int); 2. Pendefinisian Fungsi Mendefinisikan fungsi adalah menyusun perintah-perintah yang akan dilakukan fungsi itu sesuai dengan tugas yang akan dilakukannya. Bentuk umum : [jenis data] nama_fungsi ([jenis_data arg1], jenis data ag2], ) [deklarasi variable]; [kode program]; [pernyataan return]; 3. Pemanggilan Fungsi Fungsi-fungsi yang telah didefinisikan dapat dipanggil dari bagian-bagian fungsi lain. Pada saat sebuah fungsi dipanggil, alur eksekusi program akan berpindah ke fungsi yang dipanggil itu. Setelah selesai mengeksekusi fungsi, kendali program akan BahasaC M11. Jamilah, SKom.,MT 1

dikembalikan kepada fungsi yang memanggil, dan alur eksekusi program dilanjtukan pada pernyataan setelah pemanggilan fungsi tersebut. Bentuk umum : Nama_fungsi( [jenis_data arg1], [jenis data ag2], ); Nama fungsi( ); Contoh fungsi tanpa nilai balik : void factor( ); /*prototype fungsi*/ int angka; printf( berikan sebuah bilangan bulat: ); scanf( %d, &angka); factor(angka); /*pemanggilan fungsi*/ void factor(int angka) /*fungsi*/ int f,g; f = 2; while (angka %f!= 0) /*selama angka mod f tdk sama dengan 0*/ f++; g = angka/f; printf( KPK = %d, PBB = %d\n,f,g); output : berikan sebuah bilangan bulat: 27 KPK = 3, PBB = 9 Pengiriman Argumen Pengiriman data dari satu fungsi ke fungsi lain, dapat dilakukan dengan dua cara: 1. mengirimkan salinan data, disebut juga pengiriman dengan nilai (passing by value), dan 2. mengirimkan alamat data, disebut juga pengiriman dengan alamat (passing by reference atau passing by address). Contoh : /*1. pengiriman argument dengan nilai dan fungsi dengan nilai balik*/ #include<stdio.h> void main ( ) int fungsi(int x); /*prototipe fungsi*/ int x = 5, y =4; printf( Dalam fungsi main( ): x = %d, y = %d\n, x, y); y += fungsi(x); /*memanggil fungsi &mengirim nilai x */ printf( Dalam fungsi main( ): x = %d, y = %d\n, x, y); BahasaC M11. Jamilah, SKom.,MT 2

int fungsi(int x) int y; /*pendefinisian fungsi*/ y = ++x; printf( Dalam fungsi : x = %d, y = %d\n, x,y); return y; // kembali ke prog utama&mengirim nilai y ke y+ = fungsi(x) output : Dalam fungsi main( ) : x =,y = Dalam fungsi : x =, y = Dalam fungsi main( ) : x =,y = return merupakan perintah yang berfungsi untuk mengembalikan nilai dari fungsi. Bentuk Umum: return [(ekspresi)] Contoh : return; return 0; return (x*x); return (x > y? x : y) Lingkup Variabel Variabel internal (lokal) adalah variabel yang dideklarasikan dalam fungsi. Hanya dikenal oleh fungsi tempat variabel dideklarasikan. Variabel eksternal (global) merupakan variabel yang dideklarasikan di luar fungsi. Dapat diakses oleh semua fungsi. Variabel Statis dapat berupa variabel internal (lokal) maupun variabel eksternal (global). Variabel statis tidak akan hilang sekeluarnya dari fungsi (nilai pada variabel akan tetap). Variabel register adalah variabel yang nilainya disimpan dalam register dan bukan dalam memori RAM. Fungsi Rekursi Fungsi C dapat dipakai secara rekursi maksudnya adalah suatu fungsi dapat memanggil dirinya sendiri. Syarat-syarat : 1. Harus ada kasus penghentian. 2. Tiap-tiap sturuktur pemanggilan harus lebih sederhana daripada srtruktur pemanggilan sebelumnnya. Proses rekursi 1. Semua variable otomatis yang terdapat di dalam fungsi rekursif akan memiliki lokasi memory sendiri pada setiap pemanggilannya. 2. Pernyataan-pernyataan yang terdapat sebelum rekursif akan dieksekusi dengan urutan yang sama. 3. Pernyatan-pernyataan yang terdapat setelah pemanggilan rekursif akan dikerjakan dengan urutan yang terbalik terhadap pemanggilan. 4. Kode program untuk fungsi rekursif tidak duplikat, walaupun fungsi tersebut dipanggil beberapa kali. BahasaC M11. Jamilah, SKom.,MT 3

Contoh 1: void hitung(int) ; hitung(1) ; /*pemanggilan fungsi dan mengirim nilai 1 */ void hitung (int n) printf( %d angka,,n); if (n<5) hitung(n+1); // fungsi rekursi dengan menaikkan nilai n selama n < dari 5 printf( %d angka,,n); // pemanggilan rekursif dikerjakan dengan urutan yang terbalik terhadap pemanggilan, yaitu n dari 5 sampai 1 output : 1 angka, 2 angka, 3 angka, 4 angka, 5 angka, 5 angka, 4 angka, 3 angka, 2 angka, 1 angka Contoh2 : #include<conio.h> int m,n; long pangkat (int, int); /*prototipe fungsi*/ printf( input bilangan dan eksponen : ); scanf( %d %d, &m, &n); printf( %d pangkat %d = %ld\n, m, n, pangkat(m,n) ; getch( ); long pangkat(int m,int n) static long p = 1; if (n = = 0) return 1; else p = m* pangkat(m, n-1); return p; /*fungsi*/ /*p berupa variable statis*/ /*syarat penghentian*/ /*pemanggilan rekursif*/ output : input bilangan dan eksponen : 3 4 3 pangkat 4 = 81 Jenis-jenis rekusif : 1. Rekursi akhir (tail recusive), apabila pemanggilan dilakukan pada bagian akhir fungsi. 2. Rekursi tunggal (singly rekursi), apabila tiap-tiap pemanggilan paling banyak membentuk satu pemanggilan lagi. 3. rekursi ganda (doubly recursive), apabila tiap-tiap pemanggilan membentuk lebih dari satu pemanggilan. BahasaC M11. Jamilah, SKom.,MT 4

Contoh variable local, global dan static: int A = 10; // A variable global void ingat(); //deklarasi fungsi atau prototype fungsi int m = 10; //m variable lokal printf( main() : m = %d dan A = %d\n, m,a); ingat(); ingat(); ingat(); void ingat() static int m = 77 ; m++ ; printf( ingat() : m = %d dan A = %d, m,a); output : main() : m = 10 dan A = 10 ingat() : m = 78 dan A = 10 ingat() : m = 79 dan A = 10 BahasaC M11. Jamilah, SKom.,MT 5