Minggu ke-11 Fungsi (Function)

dokumen-dokumen yang mirip
Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Minggu ke-12 Built-in Function

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

PRAKTIKUM 12 POINTER 2

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

Pointer. Objektif. Bahan Bacaan

Minggu ke-14 Typedef, Struct & Command Line Argument

Pernyataan (Statement)

PRAKTIKUM 12 POINTER 2

PRAKTIKUM 11 POINTER 1

Pernyataan (Statement) dan Input/Output

Tipe Data. Pendahuluan. Objektif. Bahan Bacaan

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Struct dan Fungsi. Pendahuluan. Objektif. Bahan Bacaan

Typedef dan Struct. Pendahuluan. Objektif. Bahan Bacaan

Minggu ke-3 Tipe Data Dalam C

Minggu ke-13 Berkas (File)

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

Algoritma Pemrograman 2B (Pemrograman C++)

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

Kurikulum Qt. { Basic OOP } Chapter 4. Function

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Pemrograman Dasar C. Minggu 9

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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Penambahan Simpul (Node)

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

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

ARRAY. Karakteristik

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

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

Achmad Solichin.

Fungsi DASAR PEMROGRAMAN

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

Algoritme dan Pemrograman

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

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

Kurikulum Qt. Chapter 4 Function. Fungsi

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

Array (Single Dimension)

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

Tipe Data, Variabel, Input/Output

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

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

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

Pemrograman Dasar C. Minggu 6

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

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

Fungsi, Parameter, Rekursi

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

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

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

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

Bahasa C-M6 By Jamilah, Skom 1

Pointer. Yuliana Setiowati

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

Array (Single Dimension)

Pemrograman Dasar C. Minggu 10

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

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

Fungsi DASAR PEMROGRAMAN

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

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

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

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

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

PEMROGRAMAN BERORIENTASI OBJEK

Pemrograman Dasar C. Minggu 8

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

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

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Function nama dipisahkan

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

Pertemuan 6. Pemrograman Modular

a[0] a[1] a[2] a[3] a[4] a[5] x

Binary Search Tree (BST)

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

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

Algoritma dan Struktur Data. Ramos Somya

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

BAB 4 PENGENALAN BAHASA C

Algoritma Pemrograman & Struktur Data

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

Algoritme dan Pemrograman

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

Fungsi : Dasar Fungsi

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

Pointer. ted = &andy;

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

Modul 1 Dasar Dasar Bahasa Pemrograman C

VARIABEL & TIPE DATA PEMROGRAMAN C++

Algoritma dan Struktur Data. Pointer Pada Struct

MAKALAH POINTER PADA BAHASA C

# SEVEN PROCUDURE & FUNCTION

Transkripsi:

Minggu ke-11 Fungsi (Function) Pendahuluan Memahami konsep fungsi (function) yang biasa dikenal sebagai sub modul atau sub program. Function berguna dalam pengembangan prosedural dan pemecahan permasalahan. Dalam C, function diimplementasi untuk halhal yang khusus dan dipakai berkali-kali dalam program. Function didefinisikan sebagai objek tersendiri yang tidak boleh bersarang. Penggunaan function dapat mempermudah pengembangan program dan modifikasi. Objektif Memperkenalkan cara pendeklarasian function Menjelaskan cara pemanggilan function Konsep call by value dan call by reference Pengenalan beberapa fungsi string Bahan Bacaan Buku pegangan atau buku-buku lain yang menjelaskan tentang topik ini. Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 1

Pendeklarasian Function Deklarasi Fungsi (Function) Fungsi ada yang bernilai dan ada pula yang tidak bernilai. Sebuah fungsi bertipe void merupakan fungsi yang tidak bernilai. Sedangkan fungsi yang bertipe selain void dapat disebut sebagai fungsi bernilai. Cara deklarasi fungsi adalah sebagai berikut: tipe nama_fungsi(daftar parameter) statement Tipe dari suatu fungsi dapat berupa void, int, float, double, long, struct dan lain-lain. Sebuah fungsi bertipe void tidak akan mengirimkan nilai apabila fungsi tersebut selesai dieksekusi, sebaliknya fungsi yang bertipe selain void akan mengirimkan nilai apabila fungsi tersebut selesai dieksekusi. Pengiriman nilai menggunakan statemen return. Contoh 1: float celciustofahreinheit(float celcius) return ((celcius * 9/5) + 32); Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 2

Pendeklarasian Function (Lanjutan) Perhatikan pemanggilan fungsi penjumlahan berikut ini: int penjumlahan(int operan1, int operan2) return (operan1 + operan2); Contoh di atas memperlihatkan bahwa fungsi penjumlahan memiliki 2 buah parameter yaitu a dan b yang kedua-duanya bertipe int. Begitu juga dengan fungsi penjumlahan itu sendiri, juga bertipe int. Maksud dari penjumlahan bertipe int adalah apabila fungsi penjumlahan ini dipanggil maka fungsi ini akan memberikan sebuah nilai integer kepada statement yang memanggilnya. Perhatikan pemanggilan fungsi penjumlahan tersebut 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; Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 3

Function bertipe void Contoh 2: void judultabel() printf("-----------------------\n"); printf(" No. U r a i a n\n"); printf("-----------------------\n"); Perhatikan bahwa fungsi di atas tidak bernilai. Hal ini ditunjukkan dari tipe data fungsi yaitu void. Kemudian perhatikan pula bahwa pada bagian paling bawah dari implementasi fungsi tersebut statement return tidak dipergunakan. Selain itu, lihat pula bahwa fungsi judultabel juga tidak memiliki parameter. Hal ini ditunjukkan dari tanda kurung buka dan kurung tutup langsung setelah nama fungsi. Cara pemanggilan fungsi tersebut sama saja seperti pada contoh sebelumnya, hanya saja pada saat pemanggilan fungsi ini, statemennya berdiri sendiri. #include <stdio.h> int main(void) int i; judultabel(); /* pemanggilan fungsi */ return 1; Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 4

Konsep Call by Value Called by Value Pengiriman nilai parameter secara called by value selalu dilakukan dengan mengkopikan nilai yang dikirim kepada parameter dalam fungsi. Pada contoh sebelumnya pada fungsi penjumlahan, pada saat fungsi tersebut dipanggil nilai a dan b dicopikan kepada masing-masing parameter operan1 dan operan2, sehingga apabila terjadi perubahan kepada nilai operan1 atau operan2, nilai variabel a dan b tidak akan terpengaruh. Perhatikan contoh berikut ini: #include <stdio.h> int penjumlahan(int, int); /* function prototype */ 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); Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 5

Konsep Call by Value (Lanjutan) Pembahasan Program Sebelumnya: Pada saat program tersebut dijalankan, compiler akan mengalokasikan 3 tempat masing-masing-masing kepada a, b dan c. Variabel a bernilai 2 dan variabel b bernilai 6. 2 6? a b c statement c = penjumlahan(a, b); mengakibatkan compiler membuat 2 variabel lokal operan1 dan operan2 dan mengkopi nilai a dan b tersebut kepada kedua variabel lokal itu. operan 2 6 operan Perubahan nilai operan1 pada statemen operan1 = operan1 + 2; tidak akan mengubah nilai a yang dideklarasi secara global pada fungsi main(). Hasil dari program di atas bila dijalankan adalah: 10 2 6 Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 6

Konsep Call by Reference Called by Reference Pengiriman nilai parameter secara called by reference adalah pengiriman alamat dari suatu variabel kepada parameter berupa pointer ke suatu tipe data. Pemberian alamat kepada parameter ini dapat mengakibatkan perubahan nilai dari variabel yang alamatnya dikirimkan. Perhatikan contoh berikut ini: #include <stdio.h> int penjumlahan(int *, int *); /* function prototype */ 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); Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 7

Pembahasan Program Sebelumnya: Konsep Call by Reference (Lanjutan) Pada saat program tersebut dijalankan, compiler akan mengalokasikan 3 tempat masing-masing-masing kepada a, b dan c. Variabel a bernilai 2 dan variabel b bernilai 6. 2 6? a b c statement c = penjumlahan(&a, &b); mengakibatkan compiler memberikan alamat dari variable a dan b dan diberikan kepada pointer pa dan pb. a 2 6 b pa pb Statemen dereferencing *pb = *pb - 3; mengakibatkan nilai variabel b berubah menjadi 3 sehingga hasil penjumlahan menjadi 5. Hasil dari program di atas bila dijalankan adalah: 5 2 3 Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 8

Function String Beberapa Fungsi Berkaitan Dengan String char * strcpy(char * s, char * source) char * strcat(char * s, char * source) int strcmp(char * s1, char * s2) Mengkopi string source ke s termasuk '\0' Menyambung string source ke s Membandingkan string s1 dengan s2 Bernilai negatif bila s1 < s2 Berniali 0 bila s1 = s2 Bernilai positif bila S1 > s2 Bagaimanakah implementasi fungsi tersebut? Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 9

Contoh Implementasi Fungsi strcpy Implementasi versi 1: char *strcpy(char *dest, *source) while ((*dest++ = *source++)!="\0"); return dest; Diskusikan Implementasi versi 2: char *strcpy(char *dest, *source) while (*dest++ = *source++) ; return dest; Diskusikan Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 10

Contoh Implementasi Fungsi strcat Contoh Implementasi fungsi strcat: char *strcat(char *first, char *second) char *p; p =first; while (*p++) ; --p; while (*p++ = *second++) ; Contoh manipulasi string: 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; Copyright 2010, Dr. Taufik Fuadi Abidin, S.Si M.Tech dan Irvanizam M.Sc, Program Studi Informatika FMIPA Universitas Syiah Kuala 11