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

dokumen-dokumen yang mirip
PRAKTIKUM 8 FUNGSI 2

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

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

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

Fungsi Lanjut DASAR PEMROGRAMAN

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

Fungsi 2 DASAR PEMROGRAMAN

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

Algoritma Pemrograman 2B (Pemrograman C++)

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

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

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.

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

POINTER II. Oleh : Mike Yuliana PENS-ITS

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

BAB 6 FUNGSI TUJUAN PRAKTIKUM

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

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

ULFA OCTA PRISNANDA

Fungsi DASAR PEMROGRAMAN

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Fungsi : Dasar Fungsi

Pemrograman Dasar C. Minggu 8

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

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

Fungsi DASAR PEMROGRAMAN

PRAKTIKUM 7 FUNGSI 1

Fungsi, Parameter, Rekursi

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

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

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

FUNGSI DALAM BAHASA C

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

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

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.

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

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

Tipe Data, Variabel, Input/Output

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

FUNGSI DALAM BAHASA C

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

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

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

Bab 2. Dasar-Dasar Pemrograman C

Fungsi 1 DASAR PEMROGRAMAN

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

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

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

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

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

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

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

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

Function nama dipisahkan

December 11 PROSEDUR AKHMAD BILYYASIF.

POINTER DASAR PEMROGRAMAN

MODUL 5 SUBPROGRAM / FUNGSI

Kurikulum Qt. Chapter 4 Function. Fungsi

2. Uraian Materi. a. Pengertian Fungsi

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

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

SIFAT - SIFAT DAN MANFAAT FUNGSI

Pendahuluan Pemrograman Mikrokontroler

MAKALAH POINTER PADA BAHASA C

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

PRAKTIKUM 12 POINTER 2

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

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

Minggu ke-11 Fungsi (Function)

Pemrograman Dasar C. Minggu 9

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

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

KONSEP PEMROGRAMAN PRAKTIKUM 15 FUNGSI PARAMETER PASS BY VALUE & PREFERENCE

Pemrograman Dasar C. Minggu 6

Pointer. Yuliana Setiowati

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

PRAKTIKUM 12 POINTER 2

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Konsep Pemrograman. Bab 14. Struktur 1. Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006 PENS-ITS. Umi Sa adah

Dasar Pemrograman C. Hendawan Soebhakti. Oktober 2009

POINTER I. Oleh : Mike Yuliana PENS-ITS

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

Algoritma dan Struktur Data. Pointer Pada Struct

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

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

Bab 3. Decision 1 (Pengambilan Keputusan)

xxxx alamat Praktikum 11 POINTER

Algoritme dan Pemrograman

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

MEMORI. Gambar 1. Hirarki Memori

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

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

PRAKTIKUM 11 POINTER 1

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

Transkripsi:

Bab 8. Fungsi 2 Politeknik Elektronika Negeri Surabaya 2006

Overview Parameter Aktual dan Parameter Formal Pengiriman parameter secara pass by value Penggolongan Variabel berdasarkan Kelas Penyimpanan Variabel lokal/auto Variabel global/eksternal Variabel statis Variabel register Pengenalan Terstruktur

Parameter Formal dan Parameter Aktual Parameter formal adalah variabel yang ada pada daftar parameter dalam definisi fungsi. Parameter aktual adalah parameter (tidak selalu berupa variabel) yang dipakai dalam pemanggilan fungsi.

Parameter Formal dan Parameter Aktual Pada contoh program di atas misalnya, maka dalam fungsi jumlah() variabel x dan y dinamakan sebagai parameter formal, sedangkan variabel a dan b adalah parameter aktual

Pengiriman Parameter secara pass by value Adalah cara pengiriman parameter pada semua contoh yang telah dibahas sebelumnya (Bab 7 Fungsi 1) Yang dikirim sebagai paramenter aktual adalah value/nilainya parameter aktual akan dicopy oleh parameter formal perubahan apapun yang terjadi pada parameter formal tidak akan berpengaruh kepada parameter aktual perubahan di dalam fungsi tidak bisa terbaca di tempat fungsi tsb dipanggil

Contoh pass by value #include <stdio.h> void tukar(int, int); main(){ int a=5, b=3; } printf("sebelum pemanggilan fungsi\n"); printf("a=%d, b=%d\n", a, b); tukar(a, b); printf("sesudah pemanggilan fungsi\n"); printf("a=%d, b=%d\n", a, b);

Penggolongan 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 : variabel lokal/auto variabel eksternal/global variabel statis variabel register

Variabel Lokal (auto) Variabel lokal adalah variabel yang dideklarasikan dalam sebuah fungsi Karakteristik variabel lokal adalah sbb : 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, sehingga bisa dideklarasikan dengan menambahkan kata kuci auto di depan tipe-data variabel. Kata kunci ini bersifat opsional, biasanya disertakan sebagai penjelas saja.

Variabel Lokal (auto) #include <stdio.h> void fung_1(void); main(){ int i = 20; } fung_1(); printf("nilai i di dalam main() = %d\n", i); void fung_1(void) { int i = 11; } printf("nilai i di dalam fung_1() = %d\n", i);

Variable Eksternal (global) Variabel eksternal merupakan variabel yang dideklarasikan di luar fungsi Karakteristiknya adalah sbb : dapat diakses oleh semua fungsi kalau tak diberi nilai, secara otomatis diinisialisasi dengan nilai sama dengan nol. variabel eksternal haruslah dideklarasikan sebelum definisi dari 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

Variable Eksternal (global) int i; void tambah(void); main(){ extern int i; } printf("nilai awal i = %d\n", i); i += 7; printf("nilai i kini = %d\n", i); tambah(); printf("nilai i kini = %d\n", i); tambah(); printf("nilai i kini = %d\n", i); puts(""); void tambah(void){ extern int i; } i++;

Variable Eksternal (global) Kalau dalam suatu program terdapat suatu variabel eksternal, maka suatu fungsi (yang ada pada program yang sama) bisa saja menggunakan nama variabel yang sama dengan variabel eksternal, namun diperlakukan sebagai variabel lokal. Untuk lebih jelasnya perhatikan contoh program berikut ini.

Variable Eksternal (global) int i = 273; void tambah(void); main(){ extern int i; //variabel eksternal //variabel eksternal } printf("nilai awal i = %d\n", i); i += 7; printf("nilai i kini = %d\n", i); tambah(); printf("nilai i kini = %d\n", i); tambah(); printf("nilai i kini = %d\n\n", i); void tambah(void){ int i = 10; //variabel lokal } i++; printf("nilai i dalam fungsi tambah() = %d\n", i);

Variabel Statis Variabel statis dapat berupa variabel internal (didefinisikan di dalam fungsi) maupun variabel eksternal. Karakteristiknya adalah sbb : Kalau variabel statis bersifat internal, maka variabel hanya dikenal oleh fungsi tempat variabel dideklarasikan Kalau variabel statis bersifat eksternal, maka variabel dapat dipergunakan oleh semua fungsi yang terletak pada file yang sama, tempat variabel statis dideklarasikan Berbeda dengan variabel lokal, variabel statis tidak akan hilang sekeluarnya dari fungsi (nilai pada variabel akan tetap diingat). Inisialisasi akan dilakukan hanya sekali, yaitu saat fungsi dipanggil yang pertama kali. Kalau tak ada inisialisasi oleh pemrogram secara otomatis akan diberi nilai awal nol Variabel statis diperoleh dengan menambahkan kata kunci static di depan tipe data variabel.

Variabel Statis #include <stdio.h> void fung_y(void); main(){ int y = 20; } fung_y(); printf("nilai y dalam main() fung_y(); printf("nilai y dalam main() = %d\n", y); = %d\n\n", y); void fung_y(void){ static int y; } y++; printf("nilai y dalam fung_y() = %d\n", y);

Variabel Register Variabel register adalah variabel yang nilainya disimpan dalam register dan bukan dalam memori RAM. Variabel yang seperti ini hanya bisa diterapkan pada variabel yang lokal atau parameter formal, yang bertipe char atau int. Variabel register biasa diterapkan pada variabel yang digunakan sebagai pengendali loop. Tujuannya untuk mempercepat proses dalam loop, sebab variabel yang dioperasikan pada register memiliki kecepatan yang jauh lebih tinggi daripada variabel yang diletakkan pada RAM

#include <stdio.h> main(){ register int i; int jumlah = 0; for(i = 1; i <= 1000000; i++) jumlah = jumlah + i; } printf("1 + 2 + 3 +... + 1000000 = %d\n\n", jumlah);

Pengenalan Konsep Pemrograman Terstruktur Fungsi sangat bermanfaat untuk membuat program yang terstruktur. Suatu program yang terstruktur dikembangkan dengan menggunakan top-down design (rancang atas bawah). Pada C suatu program disusun dari sejumlah fungsi dengan tugas tertentu., selanjutnya masing masing fungsi dipecahpecah lagi menjadi fungsi yang lebih kecil. Pembuatan program dengan cara ini akan memudahkan dalam pencarian kesalahan ataupun dalam hal pengembangan dan tentu saja mudah dipahami/ dipelajari.

Pengenalan Konsep Pemrograman Terstruktur Dalam bentuk diagram, model suatu program C yang terstruktur adalah seperti yang tertera pada bagan di halaman berikut. Namun sekali lagi perlu diketahui, bahwa pada C semua fungsi sebenarnya berkedudukan sederajat.

Pengenalan Konsep Pemrograman Terstruktur Fungsi main() terdiri atas fungsi_a() sampai dengan fungsi_n(), menegaskan bahwa dalam program dalam fungsi main() akan memanggil fungsi_a() sampai dengan fungsi_n(). Adapun fungsi-fungsi yang dipanggil oleh fungsi main() tsb juga bisa memanggil fungsi-fungsi yang lain.

Latihan 1. Definisikanlah function untuk menentukan bilangan terbesar dari 2 bilangan yang diinputkan di main(). Function mempunyai parameter berupa 2 buah bilangan yang akan dibandingkan dan memberikan return value berupa bilangan yang terbesar. Sertakan pula prototype function tsb. 2. Buatlah suatu fungsi permutasi() dan kombinasi() untuk menghitung permutasi dan kombinasi dari suatu pasangan bilangan, yang dinyatakan dengan formula sbb:

Latihan Untuk program-program di bawah ini : Trace secara manual semua program di bawah ini baris per barisnya, dan tampilkan nilai semua variabel pada setiap baris prosesnya. Tebaklah tampilkan keluaran programnya

Latihan 3.

Latihan 4.

Latihan 5. 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.

Latihan 6. 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