Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan



dokumen-dokumen yang mirip
Minggu ke-11 Fungsi (Function)

Minggu ke-12 Built-in Function

Pointer. Objektif. Bahan Bacaan

void naikkan_nilai (int *x, int *y) { *x = *x + 2; *y = *y + 2; }

Minggu ke-10 Pointer. Pendahuluan. Objektif. Bahan Bacaan

PRAKTIKUM 12 POINTER 2

PRAKTIKUM 12 POINTER 2

Tipe Data. Pendahuluan. Objektif. Bahan Bacaan

PRAKTIKUM 11 POINTER 1

Struct dan Fungsi. Pendahuluan. Objektif. Bahan Bacaan

Pernyataan (Statement) dan Input/Output

Pernyataan (Statement)

Minggu ke-14 Typedef, Struct & Command Line Argument

Typedef dan Struct. Pendahuluan. Objektif. Bahan Bacaan

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Konsep Pemrograman. Bab 13. Pointer 3. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Algoritma Pemrograman 2B (Pemrograman C++)

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

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

Kurikulum Qt. { Basic OOP } Chapter 4. Function

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

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

MODUL. Pointer. Modul Praktikum C++ Dasar Pemrograman Komputer JURUSAN TEKNIK ELEKTRO FAKULTAS TEKNIK

ARRAY. Karakteristik

Pemrograman Dasar C. Minggu 9

Untuk menyimpan string sepanjang 10, kita perlu menyediakan tempat sepanjang 11 karakter : char NPM[11];

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

Algoritme dan Pemrograman

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Penambahan Simpul (Node)

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

Achmad Solichin.

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Algoritma Pemrograman & Struktur Data

Fungsi. Tim PHKI Modul Dasar Pemrograman Fakultas Ilmu Komputer UDINUS Semarang

Fungsi, Parameter, Rekursi

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

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

File. Dalam bahasa pemrograman C, terdapat dua jenis stream: teks (ASCII) dan binari. Minggu ini, FILE dan stream jenis teks akan dibahas.

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

Minggu ke-3 Tipe Data Dalam C

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

Array (Single Dimension)

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

Kurikulum Qt. Chapter 4 Function. Fungsi

PENGENALAN BAHASA C. A. Struktur Kode Program dalam Bahasa C Secara garis besar, suatu kode program dalam bahasa C memiliki struktur umum seperti ini:

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

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

Algoritma dan Struktur Data. Ramos Somya

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

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

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

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

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Pointer. Yuliana Setiowati

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

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

Fungsi : Dasar Fungsi

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Array (Single Dimension)

PEMROGRAMAN BERORIENTASI OBJEK

ALGORITMA (2) Mengupas Kentang

VARIABEL & TIPE DATA PEMROGRAMAN C++

Algoritme dan Pemrograman

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

Tipe Data, Variabel, Input/Output

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

Pertemuan 6. Pemrograman Modular

Fungsi DASAR PEMROGRAMAN

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

void tukar_xy(struct koordinat *pos_xy){ int z; z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z;

INF-103 Pemrograman II FUNGSI C++ Dr. Taufik Fuadi Abidin, M.Tech Irvanizam, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

Pendahuluan Pemrograman Mikrokontroler

Pengenalan C++ Oleh : Dewi Sartika

PERTEMUAN 3 KONSEP TIPE DATA

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

POINTER. Tim Alpro Teknik Informatika

Algoritma dan Struktur Data. Pointer Pada Struct

POINTER. Tim Alpro Teknik Informatika

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

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

MAKALAH POINTER PADA BAHASA C

A. TUJUAN 1. Menjelaskan tentang konsep dari variabel pointer. zzzz. Address. Gambar 8.1 Variabel pointer px menunjuk ke variabel x

ABSTRACT DATA TYPE (ADT) Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc

Fungsi DASAR PEMROGRAMAN

Minggu ke-13 Berkas (File)

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Char. Karakter dan bilangan

Modul 1 Dasar Dasar Bahasa Pemrograman C

ALGORITMA & PEMROGRAMAN II ARRAY

PEMROGRAMAN DAN METODE NUMERIK Semester 2/ 2 sks/ MFF 1024

PRAKTIKUM 11 POINTER 1

SINGLE LINKED LIST (NON CIRCULAR)

Transkripsi:

Fungsi (Function) Pendahuluan Fungsi (function) adalah sub modul atau sub program yang dibuat untuk menyelesaikan hal tertentu. Fungsi memiliki nama dan dalam ANSI/C, diimplementasi untuk hal-hal yang khusus dan dapat dipanggil berkali-kali (berulang) dalam program. Penggunaan fungsi dalam program mempermudah proses pengembangan aplikasi dan mempermudah proses perawatan program. Objektif Memperkenalkan cara mendeklarasi fungsi (function) Menjelaskan cara memanggil fungsi (function) dalam program Memperkenalkan konsep called-by value dan called-by reference Memperkenalkan beberapa fungsi yang berkaitan dengan manipulasi string Bahan Bacaan Buku pegangan atau bahan-bahan lain yang menjelaskan tentang pointer dalam bahasa pemrograman C. Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 1

Pendeklarasian Fungsi (Function) Cara Mendeklarasi Fungsi Fungsi ada yang mengirim nilai setelah semua pernyataan dalam fungsi selesai dieksekusi dan ada pula yang tidak mengirim nilai. Fungsi yang bertipe void adalah fungsi yang tidak mengirim nilai, sedangkan fungsi yang bertipe selain void disebut dengan fungsi yang bernilai (fungsi yang mengirim nilai setelah semua pernyataan di dalam fungsi selesai dieksekusi). Cara mendeklarasi sebuah fungsi adalah: tipe nama_fungsi(parameter) pernyataan; Tipe dari sebuah fungsi dapat berupa void, int, float, double, long, struct dan lain-lain. Fungsi yang bertipe void tidak akan mengirimkan nilai setelah fungsi selesai dieksekusi, sedangkan fungsi yang tidak bertipe void akan mengirimkan sebuah nilai ketika fungsi selesai dieksekusi. Pengiriman nilai oleh fungsi dilakukan menggunakan pernyataan return. Contoh 1: float celcius_to_fahreinheit(float celcius) return (celcius * (9/5) + 32); Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 2

Pendeklarasian Fungsi Lanjutan Perhatikan fungsi penjumlahan berikut ini: int penjumlahan(int operan1, int operan2) return (operan1 + operan2); Fungsi penjumlahan di atas memiliki 2 buah parameter yaitu operan1 dan operan2 yang kedua-duanya bertipe int. Fungsi penjumlahan itu sendiri juga bertipe int. Maksud dari sebuah fungsi bertipe int adalah ketika fungsi tersebut dipanggil dalam program maka fungsi tersebut akan mengirimkan kembali sebuah nilai integer kepada pernyataan dimana fungsi tersebut dipanggil. Perhatikan contoh pemanggilan fungsi penjumlahan dalam program: #include <stdio.h> int main(void) int a, b, c; printf("penjumlahan dua bilangan bulat\n"); printf("a = "); scanf("%d", &a); printf("b = "); scanf("%d", &b); c = penjumlahan(a, b); printf("hasil penjumlahan a + b = %d\n", c); return 1; Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 3

Fungsi Bertipe void Contoh 2: void judul_tabel() printf("-----------------------\n"); printf(" No. U r a i a n\n"); printf("-----------------------\n"); Perhatikan bahwa fungsi judul_tabel tidak memiliki nilai (tidak bernilai). Hal ini ditunjukkan pada bagian tipe dari fungsi yang bernilai void. Kemudian, perhatikan pula bahwa tidak ada pernyataan return pada bagian akhir fungsi. Selain itu, perhatikan pula bahwa fungsi judul_tabel tidak memiliki parameter. Hal ini terlihat pada bagian tanda kurung buka dan tutup setelah nama fungsi. Cara pemanggilan fungsi tersebut sama saja seperti pada contoh sebelumnya, hanya saja pada saat fungsi tersebut dipanggil, tidak ada variabel yang menampung nilai dari fungsi, atau dengan kata lain, pernyataan pemanggilan fungsi tidak menggunakan pernyataan assignment yang menggunakan tanda =. #include <stdio.h> int main(void) int i; judul_tabel(); /* pemanggilan fungsi */ return 1; Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 4

Konsep Called-by Value Called-by Value Pengiriman nilai parameter secara called-by value dilakukan dengan mengkopikan nilai yang dikirim kepada parameter fungsi. Perhatikan fungsi penjumlahan sebelumnya. Pada saat fungsi tersebut dipanggil nilai a dan b di-copy secara berurutan kepada parameter operan1 dan operan2. Apabila terjadi nilai operan1 atau operan2 berubah maka nilai dari variabel a dan b tidak akan terpengaruh. Perhatikan contoh berikut ini: #include <stdio.h> int penjumlahan(int, int); /* prototype fungsi*/ int main(void) int a = 2, b = 6, c; c = penjumlahan(a, b); printf("hasil penjumlahan a + b = %d\n", c); printf("a = %d\n", a); printf("b = %d\n", b); return 1; Perhatikan int penjumlahan(int operan1, int operan2) operan1 = operan1 + 2; return (operan1 + operan2); Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 5

Konsep Called-by Value (Lanjutan) Pembahasan Program Sebelumnya: Pada saat program dijalankan, compiler akan mengalokasikan memori untuk a, b dan c. Variabel a bernilai 2 dan variabel b bernilai 6. Sementara, variabel c belum memiliki nilai. 2 6? a b c Penyataan c = penjumlahan(a, b); membuat compiler untuk mengalokasi dua variabel lokal tambahan yaitu operan1 dan operan2 dan kemudian, mengkopi nilai a dan b kepada kedua variabel lokal itu. 2 6 operan operan 1 2 Perubahan nilai variabel operan1 pada pernyataan operan1 = operan1 + 2; tidak akan mempengaruhi nilai variabel a yang dideklarasi secara global pada fungsi main()karena nilai variabel a telah di-copy ke variabel lokal operan1. Hasil dari program di atas bila dijalankan adalah: Hasil penjumlahan a + b = 10 a = 2 b = 6 Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 6

Konsep Called-by Reference Called-by Reference Maksud dari pengiriman parameter secara called-by reference adalah pengiriman alamat dari suatu variabel kepada parameter fungsi yang bertipe pointer. Pemberian alamat kepada parameter dapat mengakibatkan perubahan nilai pada variabel yang alamatnya dikirimkan. Perhatikan contoh berikut ini: #include <stdio.h> int penjumlahan(int *, int *); /* prototype fungsi */ int main(void) int a = 2, b = 6, c; c = penjumlahan(&a, &b); printf("hasil penjumlahan a + b = %d\n", c); printf("a = %d\n", a); printf("b = %d\n", b); return 1; Perhatikan int penjumlahan(int * pa, int * pb) *pb = *pb - 3; return (*pa + *pb); Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 7

Konsep Called-by Reference (Lanjutan) Pada saat program sebelumnya dijalankan, compiler akan mengalokasikan tiga tempat dalam memori masingmasing-masing untuk variabel a, b dan c. Variabel a bernilai 2 dan variabel b bernilai 6, sementara variabel c belum memiliki nilai. 2 6? a b c pernyataan c = penjumlahan(&a, &b); Akan memberikan alamat dari variable a dan b kepada pointer pa dan pb. a 2 6 b pa pb Pernyataan dereferencin *pb = *pb - 3; mengakibatkan nilai variabel b berubah menjadi 3 dan hasil penjumlahan bernilai 5. Keluaran dari program di atas bila dijalankan adalah: Hasil penjumlahan a + b = 5 a = 2 b = 3 Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 8

Fungsi yang Berkaitan dengan String char * strcpy(char * s, char * source) Mengkopi source ke s termasuk '\0' char * strcat(char * s, char * source) Menyambung string source ke s int strcmp(char * s1, char * s2) Membandingkan string s1 dengan s2 Bernilai negatif bila s1 < s2 Berniali 0 bila s1 = s2 Bernilai positif bila S1 > s2 Bagaimanakah implementasi fungsi tersebut? Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 9

Contoh Implementasi Fungsi strcpy Implementasi versi 1: char *strcpy(char *dest, *source) while ((*dest++ = *source++)!="\0"); Diskusikan return dest; Implementasi versi 2: char *strcpy(char *dest, *source) while (*dest++ = *source++) ; Diskusikan return dest; Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 10

Contoh Implementasi Fungsi strcat Contoh Implementasi fungsi strcat: Contoh manipulasi string: char *strcat(char *first, char *second) char *p; p =first; while (*p++) ; --p; while (*p++ = *second++) ; char stra[80] = "Sebuah string untuk tujuan demo"; char strb[80]; int main(void) char *pa; /* sebuah pointer ke character */ char *pb; /* sebuah pointer ke character */ puts(stra); /* print string A */ pa = stra; /* pointer pa tunjuk ke string A */ puts(pa); /* tampilkan yang ditunjuk pa */ pb = strb; /* pointe pb tunjuk ke string B */ putchar('\n'); /* buat baris baru */ return first; /* selama *pa tidak '\0' tidak null */ while(*pa!= '\0') *pb++ = *pa++; *pb = '\0'; /* beri null string kepada strb */ puts(strb); /* print string B */ return EXIT_SUCCESS; Taufik Fuadi Abidin - Irvanizam, Jurusan Informatika, FMIPA Universitas Syiah Kuala http://www.informatika.unsyiah.ac.id 11