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

dokumen-dokumen yang mirip
Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

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

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

PRAKTIKUM 8 FUNGSI 2

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

Fungsi 2 DASAR PEMROGRAMAN

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

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

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

Fungsi Lanjut DASAR PEMROGRAMAN

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

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

Fungsi DASAR PEMROGRAMAN

PRAKTIKUM 16 BAHASA C : BAB FUNGSI SUB-BAB : PENGGOLONGAN VARIABLE & PEMPROGRAMAN TERSTRUKTUR DWI SETIYA NINGSIH //

PRAKTIKUM 7 FUNGSI 1

Algoritma Pemrograman 2B (Pemrograman C++)

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

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

POINTER II. Oleh : Mike Yuliana PENS-ITS

BAB 6 FUNGSI TUJUAN PRAKTIKUM

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

Fungsi DASAR PEMROGRAMAN

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

MODUL 5 SUBPROGRAM / FUNGSI

Fungsi : Dasar Fungsi

Algoritma dan Struktur Data. Pertemuan 5 Pointer

FUNGSI DALAM BAHASA C

FUNGSI DALAM BAHASA C

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

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

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

ULFA OCTA PRISNANDA

Fungsi, Parameter, Rekursi

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

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

Algoritme dan Pemrograman

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

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

xxxx alamat Praktikum 11 POINTER

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

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

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

10.1 DASAR FUNGSI PADA BAHASA C

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

Fungsi 1 DASAR PEMROGRAMAN

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

Tipe Data, Variabel, Input/Output

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

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

Minggu ke-11 Fungsi (Function)

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

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

ARRAY DIMENSI SATU Setiap elemen array dapat diakses melalui indeks. Indeks array secara default dimulai dari 0.

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

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

December 11 PROSEDUR AKHMAD BILYYASIF.

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

Algoritma dan Struktur Data. Pointer Pada Struct

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

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

PROCEDURE DAN FUNCTION

Achmad Solichin.

Kurikulum Qt. { Basic OOP } Chapter 4. Function

POINTER DASAR PEMROGRAMAN

SUBPROGRAM (SUBRUTIN)

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

Function nama dipisahkan

PROSEDUR/SUB RUTIN. Algoritma & Pemrograman. Pengampu : Agus Priyanto, M.Kom SEKOLAH TINGGI TEKNOLOGI TELEMATIKA TELKOM

MAKALAH POINTER PADA BAHASA C

PRAKTIKUM 15 : PARAMETER FUNGSI

PRAKTIKUM 12 POINTER 2

Subprogram (dalam Bahasa C++ + Flowchart)

2. Uraian Materi. a. Pengertian Fungsi

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

PRAKTIKUM 11 POINTER 1

SUB PROGRAM (FUNGSI)

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Bab 2. Dasar-Dasar Pemrograman C

SL 1201 Materi tentang Fungsi

SIFAT - SIFAT DAN MANFAAT FUNGSI

belajar pemograman C++ Dasar

MODUL ALGORITMA DAN PEMROGRAMAN. STMIK AMIKOM Yogyakarta. Rajif Agung Yunmar, S.Kom., M.Cs.

Memudahkan dalam pengembangan program Menghemat ukuran program

BAB VIII POINTER. Tujuan :

int fungsi_2() { int main() { fungsi_1(); fungsi_2(); return 0;

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Praktikum 1. Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

Pemrograman Dasar C. Minggu 9

A. TUJUAN PEMBELAJARAN

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

Pemrograman Dasar C. Minggu 6

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

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

Transkripsi:

Praktikum 8 FUNGSI 2 A. TUJUAN 1. Menjelaskan cara pemanggilan fungsi 2. Menjelaskan jenis variabel fungsi berdasarkan kelas penyimpanan 3. Menjelaskan cara membuat beberapa fungsi dalam sebuah program B. DASAR TEORI 1. Pemanggilan dengan Nilai dan Pemanggilan dengan Referensi Pemanggilan dengan nilai (call by value)merupakan cara yang dipakai untuk seluruh fungsi buatan yang telah dibahas pada praktikum sebelumnya. Pada pemanggilan dengan nilai, nilai dari parameter aktual akan disalin ke parameter formal. Dengan cara ini nilai parameter aktual tidak bisa dirubah sekalipun nilai parameter formal berubah. Untuk lebih jelasnya lihat pada fungsi tukar() pada contoh berikut ini. /* File program : tukar1.c Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua data */ #include <stdio.h> void tukar (int, int); main() int a = 88, b = 77; printf("nilai sebelum pemanggilan fungsi\n"); tukar(a,b); printf("\nnilai setelah pemanggilan fungsi\n"); 61

void tukar(int x, int y) int z; z = x; x = y; y = z; printf("\nnilai di akhir fungsi tukar()\n"); printf("x = %d y = %d\n", x, y); Tampak bahwa sekeluarnya dari pemanggilan fungsi tukar(), variabel a dan b (yang dilewatkan ke fungsi tukar() tidak berubah, walaupun pada fungsi tukar() telah terjadi penukaran antara parameter x dan y. Mengapa hal ini bisa terjadi? Sebab x hanyalah salinan dari a dan y adalah salinan dari b. Pada saat pemanggilan fungsi, maka : x bernilai 88 (nilai a) y bernilai 77 (nilai b) Pemanggilan dengan referensi (call by reference) merupakan upaya untuk melewatkan alamat dari suatu variabel ke dalam fungsi. Cara ini dapat dipakai untuk mengubah isi suatu variabel di luar fungsi dengan pelaksanaan pengubahan dilakukan di dalam fungsi. Sebagai contoh perhatikan program tukar2.c yang merupakan modifikasi dari tukar1.c. Perubahan yang pertama terletak dalam definisi fungsi, yang kini berupa void tukar(int *px, int *py) int z; z = *px; *px = *py; *py = z; printf("\nnilai di akhir fungsi tukar()\n"); printf("x = %d y = %d\n", *px, *py); Adapun perubahan dalam parameter aktualnya menjadi : tukar(&a,&b); //alamat a dan alamat b Dalam deklarasi parameter int *px, int *py 62

menyatakan bahwa px dan py adalah suatu variabel pointer. Yang dimaksudkan sebagai variabel pointer adalah suatu variabel yang menunjuk ke variabel lain. Lebih jelasnya, variabel pointer berisi alamat dari variabel lain. Adapun pada pemanggilan fungsi, &a dan &b masing-masing berarti "alamat a" dan "alamat b". Dengan pemanggilan seperti ini, hubungan antara variabel pointer px dan py dengan variabel a dan b adalah seperti ditunjukkan pada gambar di bawah ini Dalam hal ini, px dikatakan menunjuk variabel a dan py menunjuk variabel b. /* File program : tukar2.c Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua data */ #include <stdio.h> void tukar (int *px, int *py); //prototype fungsi main() int a= 88,b = 77; printf("nilai sebelum pemanggilan fungsi\n"); tukar(&a,&b); //alamat a dan alamat b printf("\nnilai setelah pemanggilan fungsi\n"); void tukar(int *px, int *py) int z; z = *px; *px = *py; *py = z; printf("\nnilai di akhir fungsi tukar()\n"); printf("x = %d y = %d\n", *px, *py); 2. Jenis Variabel berdasarkan Kelas Penyimpanan Suatu variabel, di samping dapat digolongkan berdasarkan jenis/tipe data juga dapat diklasifikasikan berdasarkan kelas penyimpanan (storage class). Penggolongan berdasarkan kelas penyimpanan berupa : 63

variabel lokal variabel eksternal variabel statis variabel register Variabel Lokal Variabel lokal adalah variabel yang dideklarasikan dalam fungsi, dengan sifat : secara otomatis diciptakan ketika fungsi dipanggil dan akan sirna (lenyap) ketika eksekusi terhadap fungsi berakhir. Hanya dikenal oleh fungsi tempat variabel tersebut dideklarasikan Tidak ada inisialisasi secara otomatis (saat variabel diciptakan, nilainya tak menentu). Dalam banyak literatur, variabel lokal disebut juga dengan variabel otomatis. Variabel yang termasuk dalam golongan ini bisa dideklarasikan dengan menambahkan kata kuci auto di depan tipe-data variabel. Kata kunci ini bersifat opsional, biasanya disertakan sebagai penjelas saja. Contoh variabel lokal ditunjukkan di bawah void fung_x(void) int x;... x adalah variabel lokal bagi fungsi fung_x() Pada fung_x(), deklarasi int x; dapat ditulis menjadi auto int x; Penerapan variabel lokal yaitu bila variabel hanya dipakai oleh suatu fungsi (tidak dimaksudkan untuk dipakai oleh fungsi yang lain). Pada contoh berikut, antara variabel i dalam fungsi main() dan fung_1() tidak ada kaitannya, sebab masing-masing merupakan variabel lokal. 64

Variabel Eksternal Variabel eksternal merupakan variabel yang dideklarasikan di luar fungsi, dengan sifat : dapat diakses oleh semua fungsi kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama dengan nol. Variabel eksternal haruslah dideklarasikan sebelum definisi fungsi yang akan mempergunakannya. Untuk memperjelas bahwa suatu variabel dalam fungsi merupakan variabel eksternal, di dalam fungsi yang menggunakannya dapat mendeklarasikan variabel itu kembali dengan menambahkan kata kunci extern di depan tipe data variabel. Kalau dalam suatu program terdapat suatu variabel eksternal, suatu fungsi bisa saja menggunakan nama variabel yang sama dengan variabel eksternal, namun diperlakukan sebagai variabel lokal. 3. Menciptakan Sejumlah Fungsi Pada C, semua fungsi bersifat sederajat. Suatu fungsi tidak dapat didefinisikan di dalam fungsi yang lain. Akan tetapi suatu fungsi diperbolehkan memanggil fungsi yang lain, dan tidak tergantung kepada peletakan definisi fungsi pada program. Komunikasi antara fungsi dalam C ditunjukkan dalam gambar 5.9. Gambar tersebut menjelaskan kalau suatu fungsi katakanlah fungsi_a() memanggil fungsi_b(), maka bisa saja fungsi_b() memanggil fungsi_a(). Contoh program yang melibatkan fungsi yang memanggil fungsi yang lain ada pada program kom_fung.c, yaitu fungsi_1() dipanggil dalam main(), sedangkan fungsi_2() dipanggil oleh fungsi_1(). fungsi_a() fungsi_b() fungsi_c() C. PERCOBAAN 1. Buatlah sebuah program untuk menentukan bilangan terbesar dan terkecil dari dua buah bilangan yang diinputkan. Siapkan fungsi besar() untuk memproses bilangan 65

terbesar dan fungsi kecil() untuk memproses bilangan terkecil. Fungsi ini mempunyai return value yang bertipe float. 2. Buat sebuah program untuk menghitung keliling dan luas lingkaran. Masingmasing penghitungan tersebut dilakukan dalam fungsi tersendiri. Fungsi-fungsi tersebut mempunyai return value bertipe float. Jadikan variabel pi (=3.14159f) sebagai variabel eksternal yang dapat digunakan oleh fungsi-fungsi yang terlibat dalam program tersebut. Jari-jari diinputkan melalui keyboard di awal program. 3. Definisikanlah fungsi-fungsi sebagai berikut : - Fungsi f_to_i() untuk mengubah ukuran dari satuan kaki (feet) ke inci - Fungsi i_to_cm() untuk mengubah ukuran dari satuan inci ke centimeter - Fungsi c_to_m()untuk mengubah ukuran dari satuan centimeter ke meter Dalam main() mintalah masukan ukuran dalam satuan kaki (feet) kemudian lakukan konversi sampai mendapatkan keluaran berupa ukuran dalam meter. Tentukan jumlah dan tipe parameter dan return value yang dibutuhkan Keterangan : 1 kaki = 12 inchi, 1 inchi = 2.54 cm, 100 cm = 1 meter D. TUGAS 1. Definisikanlah fungsi main(), masukan() dan average(), sebagai berikut : - Fungsi masukan() menerima satu parameter berupa jumlah data yang akan dimasukkan dan memberikan return value berupa nilai total dari seluruh data yang dimasukkan. Fungsi ini bertugas menerima masukan data sebanyak n kali dan sekaligus menghitung total nilai seluruh data. - Fungsi average() menerima dua parameter berupa jumlah data yang telah dimasukkan dan nilai total seluruh data. Fungsi ini memberikan return value berupa nilai rata-rata dari seluruh data yang dimasukkan. - Pada fungsi main()mintalah masukan jumlah data yang akan diinputkan. Selanjutnya lakukan pemanggilan fungsi masukan() dan average(), kemudian tampilkan nilai rata-rata dari seluruh datanya. 66