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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

Fungsi 2 DASAR PEMROGRAMAN

Fungsi Lanjut DASAR PEMROGRAMAN

PRAKTIKUM 15 : PARAMETER FUNGSI

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

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

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

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

MODUL 5 SUBPROGRAM / FUNGSI

KONSEP PEMROGRAMAN PRAKTIKUM 15 FUNGSI PARAMETER PASS BY VALUE & PREFERENCE

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

nama array untuk menyimpan data jumlah data

Algoritma Pemrograman 2B (Pemrograman C++)

Fungsi DASAR PEMROGRAMAN

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

Fungsi DASAR PEMROGRAMAN

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

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

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

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

Fungsi : Dasar Fungsi

PRAKTIKUM 7 FUNGSI 1

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

Fungsi, Parameter, Rekursi

Algoritme dan Pemrograman

PRAKTIKUM 8 FUNGSI 2

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

Fungsi (II) Parameter pada fungsi Jenis variabel pada fungsi

A. TUJUAN PEMBELAJARAN

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

10.1 DASAR FUNGSI PADA BAHASA C

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

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

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

FUNGSI DALAM BAHASA C

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

FUNGSI DALAM BAHASA C

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

PRAKTIKUM 14 STRUKTUR 2

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Alpro & Strukdat 1 C++ (Sub Program) Dwiny Meidelfi, S.Kom., M.Cs.

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

Pemrograman Dasar C. Minggu 9

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

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

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

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

Minggu ke-11 Fungsi (Function)

SUBPROGRAM (SUBRUTIN)

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

BAB 6 FUNGSI TUJUAN PRAKTIKUM

POINTER DASAR PEMROGRAMAN

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

Kurikulum Qt. { Basic OOP } Chapter 4. Function

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

PRAKTIKUM 11 POINTER 1

xxxx alamat Praktikum 11 POINTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

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

PRAKTIKUM 14 STRUKTUR 2

PRAKTIKUM 12 POINTER 2

December 11 PROSEDUR AKHMAD BILYYASIF.

Laporan Praktikum TMD02 Algoritma dan Struktur Data dengan C. Coding 1. NIM/ No. Reg. : : Mhd. Syarif : : Blog

Fungsi 1 DASAR PEMROGRAMAN

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

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2016

PRAKTIKUM 19 : ARRAY 2

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

Algoritma dan Struktur Data. Pointer Pada Struct

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

Kurikulum Qt. Chapter 4 Function. Fungsi

Function nama dipisahkan

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

SIFAT - SIFAT DAN MANFAAT FUNGSI

Subprogram (dalam Bahasa C++ + Flowchart)

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

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

MATERI/BAHAN PRAKTIKUM FUNGSI

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

Pemrograman Dasar C. Minggu 6

Looping : break, continue, nested loop

Konsep Pemrograman Praktikum 14 Fungsi : Parameter Fromal & Aktual

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

PEMROGRAMAN BERORIENTASI OBJEK

MAKALAH POINTER PADA BAHASA C

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

Tipe Data dan Variabel

Transkripsi:

No. LST/EKA/EKA255/09 Revisi : 00 Tgl : 8 Sept 2014 Hal 1 dari 5 A. TUJUAN PEMBELAJARAN 1. Memahami perbedaan pengiriman parameter secara nilai dan secara alamat. 2. Memecah program dalam fungsi fungsi yang sederhana. 3. Menjelaskan tentang pemrograman terstruktur. B. DASAR TEORI Pemanggilan dengan nilai 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"); void tukar(int x, int y) z = x; x = y; y = z; 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 (Lihat gambar 15.1). Pada saat pemanggilan fungsi, maka : x bernilai 88 (nilai a) y bernilai 77 (nilai b)

No. LST/EKA/EKA255/09 Revisi : 00 Tgl : 8 Sept 2014 Hal 2 dari 5 Sesudah pernyataan-pernyataan berikut dijalankan, maka : z = x; x = y; y = z; x akan bernilai 77 dan y bernilai 88. Gambar 1. Proses penukaran nilai Gambar tersebut menjelaskan bahwa a dan b tidak berubah. Yang berubah hanyalah parameter x dan y. 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) z = *px; *px = *py; *py = z; printf("x = %d y = %d\n", *px, *py); Adapun perubahan dalam parameter aktualnya menjadi : tukar(&a,&b); //alamat a dan alamat b

No. LST/EKA/EKA255/09 Revisi : 00 Tgl : 8 Sept 2014 Hal 3 dari 5 Dalam deklarasi parameter int *px, int *py 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. Ilustrasi penempatan di memory untuk masing-masing variabel ditunjukkan pada gambar 2. Gambar 2. Variabel pointer px menunjuk variabel a dan variabel pointer 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) z = *px; *px = *py;

FAKULTAS TEKNIK No. LST/EKA/EKA255/09 Revisi : 00 Tgl : 8 Sept 2014 Hal 4 dari 5 *py = z; printf("x = %d y = %d\n", *px, *py); Setelah px menunjuk a dan py menunjuk b, proses penukaran isi a dan b dilakukan dengan cara sebagai berikut : z = *px; /* 1 */ *px = *py; /* 2 */ *py = z; /* 3 */ Pertama variabel z diisi dengan nilai yang ditunjuk oleh px. Kedua, yang ditunjuk oleh px diisi dengan yang ditunjuk oleh py (berarti a diisi dengan b). Ketiga, yang ditunjuk oleh py diberi nilai z. Dengan melalui tiga pernyataan di atas, nilai a dab b dapat diubah di dalam fungsi. C. TUGAS PENDAHULUAN Buatlah desain flowchart untuk setiap soal dalam percobaan D. PERCOBAAN 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 Permutasi :,! Kombinasi :,!!! Contoh Input : n = 3 dan r = 2 Output : Permutasi = 6 Kombinasi =3 3. Buatlah sebuah fungsi untuk mengubah dua bilangan masukan, masing-masing dinaikkan dengan 2. Masukan dilakukan di main(). Selanjutnya tampilkan hasil akhir bilangan setelah dirubah di main(). Gunakan pass by reference! 4. Perhatikan gambar segitiga ABC di samping ini, dengan sudut ABC adalah sikusiku. Buatlah sebuah program yang menerima input berupa : besar sudut BAC

No. LST/EKA/EKA255/09 Revisi : 00 Tgl : 8 Sept 2014 Hal 5 dari 5 (dalam besaran derajat), dan panjang sisi AB (dalam meter). Program tersebut bisa menampilkan output berupa panjang sisi BC (dalam meter). A B C Petunjuk : terlebih dahulu ubah besaran derajat menjadi radian E. 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