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

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

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

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

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

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

4. Arrays. int billy [5]; maka setiap elemen array billy akan di-inisialisasikan sebagai 0 :

Pertemuan Arrays. Obyektif Praktikum : 1. Memahami penggunaan Array. 2. Dapat menerapkan array dengan elemen multidimensi

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

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

Algoritme dan Pemrograman

Struktur Kontrol. Contoh, Akan tercetak x is 100 jika nilai yang disimpan pada variable x adalah 100:

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

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

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

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

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

VARIABEL & TIPE DATA PEMROGRAMAN C++

PROCEDURE DAN FUNCTION

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Function. maupun satu blok instruksi yang dituliskan diantara kurung kurawal {}. // function example The result is 8 #include <iostream.

Minggu ke-11 Fungsi (Function)

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

Tipe Data, Variabel, Input/Output

Pointer. ted = &andy;

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

Kurikulum Qt. Chapter 4 Function. Fungsi

Pertemuan 6. Pemrograman Modular

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

3. Struktur Perulangan dalam C++

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

PEMROGRAMAN BERORIENTASI OBJEK

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

Algoritma Pemrograman 2B (Pemrograman C++)

Fungsi DASAR PEMROGRAMAN

Pemrograman Dasar C. Minggu 6

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

Kurikulum Qt. { Basic OOP } Chapter 4. Function

PENGENALAN PROGRAM DALAM BAHASAA C

Pointer dan Array Dinamik. IF2121 / Algoritma dan Struktur Data Sem /2018

POINTER DASAR PEMROGRAMAN

SUB PROGRAM (FUNGSI)

Pemrograman Dasar M E T H O D / F U N G S I

LABORATORIUM SISTEM INFORMASI

Bab 10 Fungsi & Prosedur

3. Struktur Perulangan dalam Bahasa C++

BAHASA PEMROGRAMAN C

Fungsi DASAR PEMROGRAMAN

Algoritme dan Pemrograman

Sejarah C++ Struktur Bahasa C++

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

ALGORITMA DAN STRUKTUR DATA

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

Pointer. Pointer adalah variabel yang menyimpan alamat dari variabel yang lainnya. Deklarasi pointer : datatype *ptr_name; Contoh:

Algoritme dan Pemrograman

STRING DASAR PEMROGRAMAN

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

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

Algoritme dan Pemrograman

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

Konsep Pemrograman. Bab 7. Fungsi1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

OPERATOR-OPERATOR DALAM JAVA

Data bisa dinyatakan dalam bentuk konstanta atau variabel.

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

Chapter 1 KONSEP DASAR C

PENGENALAN BAHASA C. Praktikum 3

Bahasa C-M6 By Jamilah, Skom 1

Pernyataan (Statement) dan Input/Output

Sejarah C++ Struktur Bahasa C++

LOGIKA ALGORITMA. Pertemuan 4. By: Augury

Pemrograman Lanjut. Class, dan Instance Variable. Aryo Pinandito, ST, M.MT Team Teaching Pemrograman Lanjut

Fungsi, Parameter, Rekursi

Fungsi : Dasar Fungsi

Pendahuluan Pemrograman Mikrokontroler

A. TUJUAN PEMBELAJARAN

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

Pengenalan Bahasa C. Yuli Sun Hariyani D3 Teknik Telekomunikasi Institut Teknologi Telkom

Struktur Dasar Bahasa C Tipe Data Dalam bahasa C terdapat lima tipe data dasar, yaitu :

Struktur Program C++ Pertemuan 3

Kontrak Kuliah. Stored Procedures and Function. Edi Sugiarto, S.Kom, M.Kom

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

Pengumuman ALGORITME DAN PEMROGRAMAN

Spesifikasi: Ukuran: 14x21 cm Tebal: 225 hlm Harga: Rp Terbit pertama: Februari 2005 Sinopsis singkat:

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

Praktikum Dasar Pemrograman 2014 MODUL 3: Array dan String

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Bab 2. Dasar-Dasar Pemrograman C

Game Technology Design Course College of Multi Media Yogyakarta Spring Tri Anggraeni, S.Kom., M.Sc.

BAB VI BAHASA C Pendahuluan

OPERASI PERNYATAAN KONDISI

BAB 4 PENGENALAN BAHASA C

8.1 FUNGSI, DEKLARASI DAN DEFINISI NYA

Algoritma dan Struktur Data. Pointer Pada Struct

Transkripsi:

Function Function adalah satu blok instruksi yang akan dieksekusi ketika dipanggil dari bagian lain dalam suatu program. Format penulisan function : type name ( argument1, argument2,...) statement; Dimana : type, adalah tipe data yang akan dikembalikan/dihasilkan oleh function. name, adalah nama yang memungkinkan kita memanggil function. arguments (dispesifikasikan sesuai kebutuhan). Setiap argumen terdiri dari tipe data diikuti identifier, seperti deklarasi variable (contoh, int x) dan berfungsi dalam function seperti variable lainnya. Juga dapat melakukan passing parameters ke function itu ketika dipanggil. Parameter yang berbeda dipisahkan dengan koma. statement, merupakan bagian badan suatu function. Dapat berupa instruksi tunggal maupun satu blok instruksi yang dituliskan diantara kurung kurawal {. Contoh function 1 : // function example int addition (int a, int b){ int r; r=a+b; return (r); int main () { int z; z = addition (5,3); printf("the result is %d", z); return 0; The result is 8 Dari program diatas, ketika eksekusi akan dimulai dari fungsi main. main function memulai dengan deklarasi variabel z bertipe int. Setelah itu instruksi pemanggilan fungsi addition. Jika diperhatikan, ada kesamaan antara sruktur pemanggilan dengan deklarasi fungsi itu sendiri, perhatikan contoh dibawah ini : Instruksi pemanggilan dalam fungsi main untuk fungsi addition, memberikan 2 nilai : 5 dan 3 mengacu ke parameter int a dan int b yang dideklarasikan untuk fungsi addition. Saat fungsi dipanggil dari main, kontrol program beralih dari fungsi main ke fungsi addition. Nilai dari kedua parameter yang diberikan (5 dan 3) di-copy ke variable local ; int a dan int b. Fungsi addition mendeklarasikan variable baru (int r;), kemudian ekspresi r=a+b;, yang berarti r merupakan hasil penjumlahan dari a dan b, dimana a dan b bernilai 5 dan 3 sehingga hasil akhirnya 8. perintah selanjutnya adalah : return (r); Merupakan akhir dari fungsi addition, dan mengembalikan kontrol pada fungsi main. Statement return dikuti dengan variabel r (return (r);), sehingga nilai dari r yaitu 8 akan dikembalikan : AP3/TI/Ayuliana,ST., MMSI/2009 1

Dengan kata lain pemanggilan fungsi (addition (5,3)) adalah menggantikan dengan nilai yang akan dikembalikan (8). Contoh function 2 : // function example int subtraction (int a, int b){ int r; r=a-b; return (r); int main (){ int x=5, y=3, z; z = subtraction (7,2); printf("the first result is %d\n", z); printf("the second result is %d\n", subtraction (7,2)); printf("the third result is %d\n", subtraction (x,y)); z= 4 + subtraction (x,y); printf("the fourth result is %d\n", z); return 0; The first result is 5 The second result is 5 The third result is 2 The fourth result is 6 Fungsi diatas melakukan pengurangan dan mengembalikan hasilnya. Jika diperhatikan dalam fungsi main, dapat dilihat beberapa cara pemanggilan fungsi yang berbeda. Perhatikan penulisan pemanggilan function, format penulisan pada dasarnya sama. Contoh 1 : z = subtraction (7,2); printf("the first result is %d\n", z); Contoh 2 : printf("the second result is %d\n", subtraction (7,2)); Contoh 3 : printf("the third result is %d\n", subtraction (x,y)); Hal lain dari contoh diatas, parameter yang digunakan adalah variable, bukan konstanta. Contoh diatas memberikan nilai dari x dan y, yaitu 5 dan 3, hasilnya 2. contoh 4 : z = 4 + subtraction (x,y); Atau dapat dituliskan : z = subtraction (x,y) + 4; Akan memberikan hasil akhir yang sama. Perhatikan, pada setiap akhir ekspresi selalu diberi tanda semicolon (;). Function tanpa tipe (Kegunaan void) Deklarasi fungsi akan selalu diawali dengan tipe dari fungsi, yang menyatakan tipe data apa yang akan dihasilkan dari fungsi tersebut. Jika tidak ada nilai yang akan dikembalikan, maka dapat digunakan tipe void. AP3/TI/Ayuliana,ST., MMSI/2009 2

Contoh function 3 : // void function example void dummyfunction (void) { printf("i'm a function!"); int main (){ dummyfunction (); return 0; I'm a function! Argument passed by value dan by reference. Parameter yang diberikan ke fungsi masih merupakan passed by value. Berarti, ketika memanggil sebuah fungsi, yang diberikan ke fungsi adalah nilainya, tidak pernah men-spesifikasikan variablenya. Sebagai Contoh, pemanggilan fungsi addition, menggunakan perintah berikut : int x=5, y=3, z; z = addition ( x, y ); Yang berarti memanggil fungsi addition dengan memberikan nilai dari x dan y, yaitu 5 dan 3, bukan variabelnya. Tetapi, dapat juga memanipulasi dari dalam fungsi, nilai dari variable external. Untuk hal itu, digunakan argument passed by reference. Passing by reference merupakan cara efektif yang memungkinkan sebuah fungsi mengembalikan lebih dari satu nilai. Contoh function 4 : // more than one returning value void prevnext (int x, int *prev, int *next){ prev = x-1; next = x+1; int main (){ int x=100, y, z; prevnext (x, &y, &z); printf("previous= %d", next = %d, y, z); return 0; Previous=99, Next=101 AP3/TI/Ayuliana,ST., MMSI/2009 3

Contoh function 5 : #include < stdio.h> void exchange ( int *a, int *b ){ int temp; temp = *a; *a = *b;*b = temp; printf("from function exchange: "); printf("a = %d, b = %d\n", *a, *b); void main(){ int a = 5, b = 7; printf("from main: a = %d, b = %d\n", a, b); exchange(&a, &b); printf("back in main: "); printf("a = %d, b = %d\n", a, b); From main: a = 5, b = 7 From function exchange: a = 7, b = 5 Back in main: a = 7, b = 5 Recursivity Function Rekursif merupakan kemampuan sebuah fungsi untuk memanggil dirinya sendiri. Sangat berguna untuk pengerjaan sorting atau perhitungan factorial. Contoh, format perhitungan factorial : n! = n * (n-1) * (n-2) * (n-3)... * 1 Misalkan, 5! ( 5 faktorial), akan menjadi : 5! = 5 * 4 * 3 * 2 * 1 = 120 Contoh function 6 : // factorial calculator long factorial (long a){ if (a > 1) return (a * factorial (a-1)); else return (1); int main () { long l; printf("type a number: ");scanf( %l, &l); printf("! %l = %l ", l, factorial(l)); return 0; Type a number: 9!9 = 362880 AP3/TI/Ayuliana,ST., MMSI/2009 4

Prototyping function. Format: type name ( argument_type1, argument_type2,...); Hampir sama dengan deklarasi fungsi pada umumnya, kecuali : Tidak ada statement fungsi yang biasanya dituliskan dalam kurung kurawal {. Diakhiri dengan tanda semicolon (;). Dalam argumen dituliskan tipe argumen, bersifat optional. Contoh function 7 : // prototyping void odd (int a); void even (int a); int main (){ int i; do { printf("type a number: (0 to exit)"); scanf("%d", &i); odd (i); while (i!=0); return 0; void odd (int a){ if ((a%2)!=0) printf("number is odd.\n"); else even (a); void even (int a){ if ((a%2)==0) printf("number is even.\n"); else odd (a); Type a number (0 to exit): 9 Number is odd. Type a number (0 to exit): 6 Number is even. Type a number (0 to exit): 1030 Number is even. Type a number (0 to exit): 0 Number is even. Contoh diatas tidak menjelaskan tentang efektivitas program tetapi bagaimana prototyping dilaksanakan. Perhatikan prototype dari fungsi odd dan even: void odd (int a); void even (int a); Memungkinkan fungsi ini dipergunakan sebelum didefinisikan. Hal lainnya mengapa program diatas harus memiliki sedikitnya 1 fungsi prototype, karena fungsi dalam odd terdapat pemanggilan fungsi even dan dalam even terdapat pemanggilan fungsi odd. Jika tidak satupun dari fungsi tersebut dideklarasikan sebelumnya, maka akan terjadi error. AP3/TI/Ayuliana,ST., MMSI/2009 5

Array sebagai parameter Adakalanya array diberikan kedalam fungsi sebagai parameter. Dalam C++ tidak memungkinkan untuk pass by value satu blok memory sebagai parameter kedalam suatu fungsi. Untuk menggunakan array sebagai parameter maka yang harus dilakukan saat pendeklarasian fungsi adalah spesifikasi tipe array pada argumen, Contoh: void procedure (int arg[]) Contoh function 8 : // arrays as parameters void printarray(int arg[], int length){ int n; for ( n=0; n<length; n++) printf ("%d ", arg[n]); printf("\n"); ATAU Contoh function 9 : // arrays as parameters void printarray(int *arg, int length){ int n; for ( n=0; n<length; n++) printf ("%d ", arg[n]); printf("\n"); void main (){ int firstarray[] = {5, 10, 15; int secondarray[] = {2, 4, 6, 8, 10; printarray (firstarray,3); printarray (secondarray,5); 5 10 15 2 4 6 8 10 void main (){ int firstarray[] = {5, 10, 15; int secondarray[] = {2, 4, 6, 8, 10; printarray (firstarray,3); printarray (secondarray,5); 5 10 15 2 4 6 8 10 Dari contoh diatas, instruksi (int arg[]) dan juga (int *arg)menjelaskan bahwa semua array bertipe int, berapapun panjangnya. oleh sebab itu dideklarasikan parameter kedua dengan sifat yang sama seperti parameter pertama. String Konstanta string, seperti : "I am a string" merupakan array bertipe karakter. Direpresentasikan dalam bahasa C dengan menggunakan Double quote dan diakhiri dengan karakter khusus null \0'' sehingga program dapat menemukan akhir dari suatu string. Konstanta string sering digunakan dalam menampilkan output dari suatu program dengan menggunakan keyword printf, contoh : printf("hello, world\n"); printf("the value of a is: %f\n", a); AP3/TI/Ayuliana,ST., MMSI/2009 6

Contoh String 1 : //String example void main(){ char text_1[100], text_2[100], text_3[100]; char *ta, *tb; char message[] = "Hello, I am a string; what are you?"; int i; printf("original message: %s\n", message); // copy the message to text_1 the hard way i=0; while ((text_1[i] = message[i])!= '\0' ) i++; printf("text_1: %s\n", text_1); //use explicit pointer arithmetic ta=message; tb=text_2; while ( ( *tb++ = *ta++ )!= '\0' ) ; printf("text_2: %s\n", text_2); printf("\n\nselesai"); getch(); Original message: Hello, I am a string; what are you? Text_1: Hello, I am a string; what are you? Text_2: Hello, I am a string; what are you? Library standard string'' terdiri dari beberapa function yang sangat berguna untuk manipulasii, berikut beberapa contoh fungsi untuk manipulasi string : char *strcpy(s,ct) menyalin string ct ke string s, termasuk :\0''; dan mengembalikan s char *strncpy(s,ct,n) menyalin n buah karakter dari string ct ke string s, dan mengembalikan s char *strncat(s,ct) menggabungkan string ct keakhir string s dan mengembalikan s char *strncat(s,ct,n) menggabungkan n buah karakter dari string ct ke akhir string s, diakhiri dengan \0, dan mengembalikan s int strcmp(cs,ct) membandingkan string cs dan string ct; mengembalikan 0 jika cs=ct, >0 jika cs>ct, <0 jika cs<ct char *strchr(cs,ct) mengembalikan pointer ke urutan pertama dari string ct atau Null jika tidak ada size_t strlen(cs mengembalikan panjang string cs (s dan t merupakan char*, cs dan ct merupakan konstanta char*. AP3/TI/Ayuliana,ST., MMSI/2009 7

Contoh String 2 : #include<stdio.h> #include < string.h> void main( ) { char line[100], *sub_text; strcpy(line,"hello, I am a string;"); printf("line: %s\n", line); //add to end of string strcat(line," what are you?"); printf("line: %s\n", line); //find length of string, strlen brings back, length as type size_t printf("length of line: %d\n", (int)strlen(line)); // find occurence of substrings if ( (sub_text = strchr ( line, 'W' ) )!= NULL ) printf("string starting with \"W\" ->%s\n", sub_text); if ( ( sub_text = strchr ( line, 'w' ) )!= NULL ) printf("string starting with \"w\" ->%s\n", sub_text); if ( ( sub_text = strchr ( sub_text, 'u' ) )!= NULL ) printf("string starting with \"w\" ->%s\n", sub_text); output : Line: hello, I am a string; Line: hello, I am a string; what are you? Length of line: 35 String starting with w what are you? String starting with w u AP3/TI/Ayuliana,ST., MMSI/2009 8