PRAKTIKUM 8 FUNGSI 2

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. Mengetahui perbedaan antara variabel lokal, eksternal, statis dan register

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

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

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

Fungsi Lanjut DASAR PEMROGRAMAN

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

Fungsi 2 DASAR PEMROGRAMAN

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

Algoritma Pemrograman 2B (Pemrograman C++)

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

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

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

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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

ULFA OCTA PRISNANDA

PRAKTIKUM 7 FUNGSI 1

BAB 6 FUNGSI TUJUAN PRAKTIKUM

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

Fungsi : Dasar Fungsi

Fungsi DASAR PEMROGRAMAN

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Tipe Data, Variabel, Input/Output

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

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

Fungsi DASAR PEMROGRAMAN

PRAKTIKUM 12 POINTER 2

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

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

PRAKTIKUM 12 POINTER 2

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

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

Pemrograman Dasar C. Minggu 8

PRAKTIKUM 11 POINTER 1

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

Kurikulum Qt. { Basic OOP } Chapter 4. Function

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Fungsi, Parameter, Rekursi

xxxx alamat Praktikum 11 POINTER

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

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

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

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

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

FUNGSI DALAM BAHASA C

Struktur Program Bahasa C

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

Fungsi 1 DASAR PEMROGRAMAN

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

Pointer. Yuliana Setiowati

PRAKTIKUM 6 PENGULANGAN PROSES 2

2. Uraian Materi. a. Pengertian Fungsi

SIFAT - SIFAT DAN MANFAAT FUNGSI

PRAKTIKUM 5 PENGULANGAN PROSES 1

FUNGSI DALAM BAHASA C

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

BAB 3 PERULANGAN DAN FUNGSI

Memudahkan dalam pengembangan program Menghemat ukuran program

Pendahuluan Pemrograman Mikrokontroler

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

POINTER DASAR PEMROGRAMAN

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 3 DASAR PEMROGRAMAN C

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

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

PERTEMUAN III OBJEK DAN CLASS TUJUAN PRAKTIKUM

BAHASA PEMROGRAMAN C

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

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

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

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

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

PRAKTIKUM 3 KONSTRUKTOR DAN OVERLOADING

Algoritma Pemrograman. Fery Updi,M.Kom

Pemrograman Berorientasi. Class dan Obyek 2

Function nama dipisahkan

PERULANGAN PROSES. Proses perulangan ditandai dengan mekanisme yang disebut loop. Proses Loop : Proses yang berulang-ulang

MAKALAH POINTER PADA BAHASA C

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

PRAKTIKUM 10 STRING A B C D E \0. Gambar 11.1 Komposisi penyimpanan string dalam memori

Achmad Solichin.

Pemrograman Dasar C. Minggu 6

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

Bahasa Pemrograman 2.

Kurikulum Qt. Chapter 4 Function. Fungsi

Modul 1 Dasar Dasar Bahasa Pemrograman C

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

PERULANGAN Pengampu : Agus Priyanto, M.Kom

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

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

Minggu ke-11 Fungsi (Function)

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

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

Chapter 1 KONSEP DASAR C

BAB IV PENGULANGAN PROSES

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

Transkripsi:

PRAKTIKUM 8 FUNGSI 2 A. Tujuan 1. Mengetahui perbedaan antara variabel lokal, eksternal, dan variabel statis 2. Memahami dalam menciptakan sejumlah fngsi B. DASAR TEORI 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 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 pada gambar 9.1. Praktikum Dasar Programming 1 70

void fung_x(void) int x;.. x adalah variabel lokal bagi fungsi fung_x() Gambar 9.1 Variabel lokal 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 dan fung_1() tidak ada kaitannya, sebab masing-masing merupakan variabel lokal. /* File program : lokal.c */ #include <stdio.h> void fung_1(void); int i = 20; fung_1(); printf("nilai i di dalam = %d\n", i); Praktikum Dasar Programming 1 71

void fung_1(void) int i = 11; printf("nilai i di dalam fung_1() = %d\n", i); Contoh eksekusi : nilai i di dalam fung_1() = 11 nilai i di dalam = 20 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. Contoh variabel eksternal ada pda program ekstern1.c yaitu berupa variabel i. Pada pendeklarasian int i = 273; menyatakan bahwa i merupakan variabel eksternal dan diberi nilai awal sama denan 273. Nilai dari variabel i selanjutnya dapat diubah oleh fungsi tambah() maupun. Setiap fungsi tambah() dipanggil maka nilai i akan bertambah satu. /* File program : ekstern1.c Contoh program dengan variabel eksternal */ #include <stdio.h> int i = 273; /* variabel eksternal */ void tambah(void); printf("nilai awal i = %d\n", i); Praktikum Dasar Programming 1 72

i += 7; tambah(); tambah(); void tambah(void) i++; Contoh eksekusi : Nilai awal i = 273 Nilai i kini = 280 Nilai i kini = 281 Nilai i kini = 282 Pada contoh di atas, terlihat bahwa i hanya dideklarasikan di bagian atas program, dan tak dideklarasikan lagi dalam fungsi maupun tambah(). Oleh karena i merupakan variabel eksternal maka dapat digunakan oleh kedua fungsi tsb. Namun ada satu hal yang perlu diketahui, 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. Sebagai contoh, program ekstern1.c ditulis kembali menjadi seperti pada ekstern2.c. /* File program : ekstern2.c Contoh program yang menggunakan variabel eksternal dan memakai kata kunci extern */ #include <stdio.h> int i = 273; /* variabel eksternal */ void tambah(void); Praktikum Dasar Programming 1 73

extern int i; /* variabel eksternal */ printf("nilai awal i = %d\n", i); i += 7; tambah(); tambah(); void tambah(void) extern int i; /* variabel eksternal */ i++; Contoh eksekusi : Nilai awal i = 273 Nilai i kini = 280 Nilai i kini = 281 Nilai i kini = 282 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. Untuk lebih jelasnya perhatikan contoh program di bawah ini. /* File program : ekstern3.c Contoh program yang menggunakan variabel eksternal dan variabel lokal dengan nama yang sama */ #include <stdio.h> int i = 273; /* variabel eksternal */ void tambah(void); extern int i; /* variabel eksternal */ printf("nilai awal i = %d\n", i); i += 7; Praktikum Dasar Programming 1 74

tambah(); tambah(); void tambah(void) int i; /* variabel lokal */ i++; Contoh eksekusi : Nilai awal i = 273 Nilai i kini = 280 Nilai i kini = 280 Nilai i kini = 280 Pada program di atas, bagi fungsi i adalah variabel eksternal. Namun bagi fungsi tambah(), i merupakan variabel lokal, sebab pada fungsi ini i dideklarasikan tanpa kata kunci extern. Hal ini terlihat jelas dengan mengamati hasil eksekusi program. Pernyataan: i++; Pada fungsi tambah() tidak mempengaruhi nilai i yang ditampilkan pada fungsi (bandingkan dengan hasil eksekusi pada ekstern2.c). Variabel Statis Variabel statis dapat berupa variabel internal (didefinisikan di dalam fungsi) maupun variabel eksternal. Sifat variabel ini : 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 Praktikum Dasar Programming 1 75

Variabel statis diperoleh dengan menambahkan kata kunci static di depan tipe data variabel. Sebagai contoh perhatikan program di bawah ini. /* File program : statis.c Contoh variabel statis */ #include <stdio.h> void fung_y(void); int y = 20; fung_y(); fung_y(); printf("nilai y dalam = %d\n", y); void fung_y(void) static int y; y++; printf("nilai y dalam fung_y() = %d\n", y); Contoh eksekusi : Nilai y dalam fung_y() = 1 Nilai y dalam fung_y() = 2 Nilai y dalam = 20 Praktikum Dasar Programming 1 76

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, sedangkan fungsi_2() dipanggil oleh fungsi_1(). fungsi_a() fungsi_b() fungsi_c() Gambar 9.2 Komunikasi antar fungsi dalam C /* File program : kom_fung.c contoh fungsi yang memanggil fungsi yang lain */ #include <stdio.h> void fungsi_1(void); void fungsi_2(void); fungsi_1(); void fungsi_1() puts("fungsi 1 dijalankan"); fungsi_2(); Praktikum Dasar Programming 1 77

void fungsi_2() puts("fungsi 2 dijalankan"); Contoh eksekusi : fungsi 1 dijalankan fungsi 2 dijalankan 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 dipecah-pecah 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. Dalam bentuk diagram, model suatu program C yang terstruktur adalah seperti yang tertera pada bagan berikut ini. Namun sekali lagi perlu diketahui, bahwa pada C semua fungsi sebenarnya berkedudukan sederajat. Fungsi terdiri dari fungsi_a() sampai dengan fungsi_n(), menegaskan bahwa dalam program fungsi akan memanggil fungsi_a() sampai dengan fungsi_n(). Adapun fungsi-fungsi yang dipanggil oleh fungsi juga bisa memanggil fungsi-fungsi yang lain Praktikum Dasar Programming 1 78

fungsi utama fungsi_a() fungsi_n() fungsi_a1() fungsi_am() Gambar 9.4 Model terstruktur Program C Kesimpulan Fungsi digunakan untuk memecah program yang besar menjadi program-program kecil sesuai dengan fungsi masing-masing. Fungsi bisa memberikan nilai balik dan bisa tanpa memberikan nilai balik kepada fungsi yang memanggilnya. Fungsi yang memberikan nilai balik harus memiliki tipe dan ditulis didepan nama fungsi. Bila fungsi tidak memberikan nilai balik maka fungsi tersebut bertipe void dan ditulis didepan nama fungsi. C. TUGAS PENDAHULUAN 1. Apa hasil dari program dibawah ini, dan berikan penjelasan: int total,i; for(i=0;i<5;i++) total=total+i; printf( jadi nilainya adalah %d,total); Praktikum Dasar Programming 1 79

D. PERCOBAAN 1. Trace secara manual semua program di bawah ini baris per barisnya, dan tampilkan nilai semua variabel pada setiap baris prosesnya. Selain itu, tebaklah tampilkan keluaran programnya a) int OddEvenTest(int); int a, hasil; a = 5; hasil = OddEvenTest(a); printf("a=%d; hasil=%d\n",a,hasil); int OddEvenTest(int b) int a; Gambarkan hubungan antara bagian program yang memanggil fungsi, parameter actual, parameter formal dan hasil balik dari fungsi a = b % 2; return a; b) void demo(void); int i=0; while(i < 3) demo(); i++; void demo(void) auto int var_auto = 0; static int var_static = 0; Apa yang terjadi bila - var_auto++ - var_static++ diletakkan sebelum fungsi printf( ) printf("auto = %d, static = %d\n", var_auto, var_static); var_auto++; var_static++; Praktikum Dasar Programming 1 80

c) void fung_a(void); void fung_b(void); int x = 20; x += 2; fung_a(); fung_a(); printf("\nnilai x dalam = %d\n\n", x); void fung_a(void) static x = 5; x++; printf("nilai x dalam fung_a() = %d\n", x); fung_b(); void fung_b(void) x--; printf("nilai x dalam fung_b() = %d\n", x); 2. 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 centimetre - Fungsi c_to_m()untuk mengubah ukuran dari satuan centimeter ke meter Dalam 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 Praktikum Dasar Programming 1 81

D. LAPORAN RESMI 1. Buatlah flowchart dari seluruh percobaan yang telah dilakukan. Praktikum Dasar Programming 1 82