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

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

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

PRAKTIKUM 8 FUNGSI 2

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

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

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

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

Fungsi 2 DASAR PEMROGRAMAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Algoritma Pemrograman 2B (Pemrograman C++)

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

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

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

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

Fungsi : Dasar Fungsi

BAB 6 FUNGSI TUJUAN PRAKTIKUM

ULFA OCTA PRISNANDA

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

Fungsi DASAR PEMROGRAMAN

POINTER II. Oleh : Mike Yuliana PENS-ITS

Fungsi DASAR PEMROGRAMAN

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

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

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

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

Tipe Data, Variabel, Input/Output

Fungsi 1 DASAR PEMROGRAMAN

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

nama array untuk menyimpan data jumlah data

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

PRAKTIKUM 12 POINTER 2

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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Semester 3 Perulangan for 4 X 50 menit

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

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

FUNGSI DALAM BAHASA C

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

PRAKTIKUM 7 FUNGSI 1

Pemrograman Dasar C. Minggu 8

PROCEDURE DAN FUNCTION

PRAKTIKUM 12 POINTER 2

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

Fungsi, Parameter, Rekursi

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

MODUL 5 SUBPROGRAM / FUNGSI

FUNGSI DALAM BAHASA C

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Semester 3 Perulangan while, do..while 4 X 50 menit

Function nama dipisahkan

Pemrograman Berorientasi. Class dan Obyek 2

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

Kurikulum Qt. { Basic OOP } Chapter 4. Function

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Memudahkan dalam pengembangan program Menghemat ukuran program

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

Suatu konstanta string ditulis dengan diawali dan diakhiri tanda petik ganda, misalnya:

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

Pointer 2 A. TUJUAN PEMBELAJARAN. 1. Memahami tentang Pointer to Array 2. Memahami tentang Pointer to String

MEMORI. Gambar 1. Hirarki Memori

Michael Lionardi

PERTEMUAN 2 KONSEP DASAR PEMROGRAMAN

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

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

Modul program di dalam C++ disebut fungsi (function)

Dasar Pemrograman TIP FTP UB

Jobsheet 09. Overloading and Overriding Method

Algoritma dan Pemrograman FUNGSI

Bahasa Pemrograman 2.

MAKALAH POINTER PADA BAHASA C

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN

Pendahuluan Pemrograman Mikrokontroler

Pertemuan 2 (2) : Membuat Class dan mengakses Anggota Class

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

SUB PROGRAM (FUNGSI)

Variabel dengan tipe dasar hanya dapat menyimpan sebuah nilai

Tipe Data dan Variabel

LAPORAN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN ( Implementasi Rekursi Pada Java)

Dasar Pemrograman Java

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

Kurikulum Qt. Chapter 4 Function. Fungsi

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

BEKERJA DENGAN JAVA CLASS LIBRARY

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Bab 2. Dasar-Dasar Pemrograman C

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

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

PERTEMUAN 2 ARRAY, PERCABANGAN, DAN PERULANGAN

A. TUJUAN PEMBELAJARAN

Minggu ke-11 Fungsi (Function)

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

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

Kurikulum Qt. Chapter 5 Pointer dan References. Agenda. Apa itu Pointer? Memory Komputer. Mengambil Alamat Memory dari Variabel

Struct 2 A. TUJUAN PEMBELAJARAN

Transkripsi:

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 1 dari 7 A. TUJUAN PEMBELAJARAN 1. Mengetahui perbedaan antara variabel lokal, eksternal, statis dan register 2. Memahami komunikasi antar sejunlah fungsi 3. Mengenal Konsep 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 1 void fung_x(void) Int x;... X adalah variabel lokal bagi fungsi fung_x() Gambar 1. Variabel Lokal

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 2 dari 7 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. 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 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 Variabel statis diperoleh dengan menambahkan kata kunci static di depan tipe data vriabel. 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

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 3 dari 7 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. 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 16.2. 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() Gambar 2. Komunikasi antar fungsi dalam C Pengenalan Konsep 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 main() terdiri dari fungsi_a() sampai dengan fungsi_n(), menegaskan bahwa dalam program fungsi main() akan memanggil fungsi_a() sampai dengan fungsi_n(). Adapun fungsi-fungsi yang dipanggil oleh fungsi main() juga bisa memanggil fungsi-fungsi yang lain. Model terstruktur Program C ditunjukkan pada gambar 3

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 4 dari 7 Gambar 3. Model terstruktur Program C C. PERCOBAAN Lakukan percobaan-percobaan untuk bisa menjawab semua pertanyaan di bawah ini, analisislah dan tuliskan alasannya 1. Adakah sesuatu yang salah pada sebuah fungsi yang tidak mempunyai return value? Jelaskan analisismu tentang sebuah fungsi yang tidak memiliki return value! 2. Apakah yang terjadi jika sebuah fungsi memberikan return value tetapi tidak diassign ke variabel apapun? 3. Apakah yang terjadi jika sebuah fungsi diassign ke sebuah variabel padahal fungsi tersebut tidak memiliki return value? 4. 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

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 5 dari 7 (a) int OddEvenTest(int); main() int a, hasil; a = 5; hasil = OddEvenTest(a); printf("a=%d; hasil=%d\n",a,hasil); OddEvenTest(int b) int a; a = b % 2; return a; a hasil b (b) void demo(void); main() int i=0; while(i < 3) demo(); i++; void demo(void) auto int var_auto = 0; static int var_static = 0; printf("auto = %d, static = %d\n", var_auto, var_static); ++var_auto; ++var_static; i var_auto var_static

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 6 dari 7 (c) void fung_a(void); void fung_b(void); int x = 20; main() x += 2; fung_a(); fung_a(); printf("\nnilai x dalam main() = %d\n\n",x); void fung_a(void) static x = 5; x++; printf("nilai x dalam fung_a() = %d\n", x); fung_b(); x void fung_b(void) x--; printf("nilai x dalam fung_b() = %d\n", x); 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.

No. LST/EKA/EKA255/10 Revisi : 00 Tgl : 8 Sept 2014 Hal 7 dari 7 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 D. LAPORAN RESMI 1. Untuk setiap listing program dari percobaan-percobaan di atas, ambil capture outputnya. 2. Tuliskan kesimpulan dari percobaan yang telah anda lakukan. 3. Jelaskan perbedaan antara pass by value dengan pass by reference! 4. Berikan contoh function call dan definisi fungsinya