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

dokumen-dokumen yang mirip
POINTER II. Oleh : Mike Yuliana PENS-ITS

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

PRAKTIKUM 12 POINTER 2

PRAKTIKUM 12 POINTER 2

MAKALAH POINTER PADA BAHASA C

BAB VIII POINTER. Tujuan :

xxxx alamat Praktikum 11 POINTER

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 : Passing Parameter by Value & Semester 3

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

POINTER DASAR PEMROGRAMAN

main() { int y, x = 87; /* x & y bertipe int */ int *px; /* var pointer yg menunjuk ke data yang bertipe int */

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

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Konsep Pemrograman. Bab 11. Pointer 1. 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 */

Konsep Pemrograman. Bab 15. Struktur 2. 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.

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

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

Fungsi, Parameter, Rekursi

POINTER I. Oleh : Mike Yuliana PENS-ITS

Algoritma Pemrograman 2B (Pemrograman C++)

Algoritme dan Pemrograman

Fungsi 2 DASAR PEMROGRAMAN

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

Fungsi DASAR PEMROGRAMAN

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

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

POINTER. Pemrograman Bahasa C++

PRAKTIKUM 14 STRUKTUR 2

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

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

PRAKTIKUM 14 STRUKTUR 2

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

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

ARRAY & STRUKTUR. Contoh Deklarasi :

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

MODUL 5 SUBPROGRAM / FUNGSI

Pointer. Yuliana Setiowati

PRAKTIKUM 11 POINTER 1

PRAKTIKUM 7 FUNGSI 1

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Fungsi DASAR PEMROGRAMAN

PERTEMUAN VIII STRUKTUR LANJUT

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

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

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

Fungsi : Dasar Fungsi

Algoritma dan Struktur Data. Pointer Pada Struct

Fungsi Lanjut DASAR PEMROGRAMAN

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

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

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

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

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

printf (" ======== Program untuk memilih nama bulan dalam setahun ======== \n \n");

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

Pemrograman Dasar C. Minggu 9

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

Fungsi 1 DASAR PEMROGRAMAN

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

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

Praktikum 21 String

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

Tujuan : date day month year

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

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

Minggu ke-11 Fungsi (Function)

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

ALGORITMA & PEMROGRAMAN II ARRAY

Kurikulum Qt. { Basic OOP } Chapter 4. Function

Struct 2 A. TUJUAN PEMBELAJARAN

PEMROGRAMAN BERORIENTASI OBJEK

IT234 ALGORITMA DAN STRUKTUR DATA FUNGSI

TUGAS TEORI ALGO LANJUT

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

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

Achmad Solichin.

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

Algoritme dan Pemrograman

Minggu ke-10 Pointer. Pendahuluan. Objektif. Bahan Bacaan

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Prosedur merupakan modul program yang mengerjakan instruksi spesifik dan menghasilkan efek netto. Efek netto diketahui dengan membandingkan keadan awa

1 MODUL 8 POINTER MODUL 8 POINTER

POINTER. Praktikum 10 (3/5) A. TUJUAN 1. Menjelaskan tentang Pointer to Array 2. Menjelaskan tentang Pointer to String

ALGORITMA (2) Mengupas Kentang

Pointer. Objektif. Bahan Bacaan

Kurikulum Qt. Chapter 4 Function. Fungsi

Pointer 1 A. TUJUAN PEMBELAJARAN

ARRAY. Karakteristik

Bab 8. Dasar-Dasar OOP

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

Algoritme dan Pemrograman

Function nama dipisahkan

Transkripsi:

Bab 13. Pointer 3 Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006

Overview Pointer dalam Fungsi 1. Pointer Sebagai Parameter Fungsi Parameter Formal dan Parameter Aktual Cara Melewatkan Parameter dalam Fungsi Pass by Value Pass by Reference (Pointer Sebagai Parameter Fungsi) 2. Pointer Sebagai Keluaran Fungsi (return value)

Parameter Formal dan Parameter Aktual Konsep Pemrograman 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 Konsep Pemrograman Pada contoh program di atas misalnya, maka dalam fungsijumlah() variabel x dan y dinamakan sebagai parameter formal, sedangkan variabel a dan b adalah parameter aktual

Pengiriman Parameter dalam Fungsi Konsep Pemrograman Ada dua cara untuk melewatkan parameter ke dalam fungsi, yaitu berupa : Pengiriman berupa nilai/value (pass by value) à semua contoh fungsi yang telah dibahas sebelumnya (pada bab fungsi) Pengiriman berupa address/referensi (pass by reference) à WHEN?

Pengiriman Parameter dalam Fungsi Konsep Pemrograman PASS BY VALUE yang dikirim sebagai paramenter aktual adalah value/nilainya parameter aktual akan dicopy oleh parameter formal perubahan apapun pada parameter formal tidak akan berpengaruh kepada parameter aktual à perubahan di dalam fungsi tidak bisa terbaca di tempat fungsi tsb dipanggil PASS BY REFERENCE yang dikirim sebagai parameter aktual adalah address/alamat dari sebuah value yang menerima kiriman tsb atau yang menjadi parameter formal adalah variabel POINTER (à variabel yang khusus untuk menampung address) perubahan di dalam fungsi bisa terbaca kembali di tempat fungsi tsb dipanggil

Pass by Value #include <stdio.h> void tukar (int, int); main(){ int a = 5, b = 2; printf("nilai sebelum pemanggilan fungsi: a = %d; b = %d\n",a,b); tukar(a,b); printf("\nnilai sesudah pemanggilan fungsi: a = %d; b = %d\n",a,b); void tukar(int x, int y){ int z; printf("\nnilai di awal fungsi tukar(): x = %d; y = %d\n", x, y); z = x; x = y; y = z; printf("\nnilai di akhir fungsi tukar(): x = %d; y = %d\n", x, y);

Pass by Reference #include <stdio.h> void tukar (int *, int *); main(){ int a = 5, b = 2; printf("nilai sebelum pemanggilan fungsi: a = %d; b = %d\n", a, b); tukar(&a,&b); printf("\nnilai setelah pemanggilan fungsi: a = %d; b = %d\n",a,b); void tukar(int *x, int *y){ int z; printf("\nnilai di awal fungsi tukar(): *x = %d; *y = %d\n",*x,*y); z = *x; *x = *y; *y = z; printf("nilai di akhir fungsi tukar(): *x = %d; *y = %d\n",*x,*y);

Pointer Sebagai return value Fungsi Suatu fungsi dapat dibuat agar return valuenya berupa pointer. Misalnya, suatu fungsi menghasilkan return value berupa pointer yang menunjuk ke string nama-nama bulan Dimain() user diminta memasukkan bulan ke berapa à variabelbln bertipe int Dalam fungsinama_bulan() kode int tsb akan diubah ke dalam nama stringnya

Pointer Sebagai return value Fungsi #include <stdio.h> char *nama_bulan(int n); main() { int bln; char *pkar; printf("masukkan Bulan 1..12 : "); scanf("%d", &bln); pkar = nama_bulan(bln); printf("bulan ke-%d adalah %s\n", bln, pkar);

Pointer Sebagai return value Fungsi char *nama_bulan(int n){ char *month[] = { "NGAWUR", "Januari", "Februari", "Maret", "April", "Mei", "Juni", "Juli", "Agustus", "September", "Oktober", "November", "Desember" ; return ((n<1 n>12)? month[0] : month[n]);

Pointer Sebagai return value Fungsi Pada definisi fungsi di atas, char *nama_bulan() menyatakan bahwa return value dari fungsinama_bulan() berupa pointer to char (pointer yang menunjuk ke obyek char atau string). Dalam fungsinama_bulan(), mula-mula array bernamamonth[] dideklarasikan dan sekaligus diinisialisasi agar elemen-elemennya yang berupa pointer menunjuk ke sejumlah string yang menyatakan nama bulan. Di bagian akhir fungsi, pernyataan return ( (n<1 n>12)? month[0] : month[n] ); menyatakan bahwa hasil fungsi (return value = RV) berupa pointer sbb: jika masukan fungsi n<1 atau n>12 à RV = month[0], yaitu array yang berisi address/pointer yang menunjuk ke string NGAWUR jika masukan fungsi berupa n yang terletak antara 1 sampai dengan 12 à RV =bulan[n], yaitu array yang berisi address/pointer yang menunjuk ke salah satu string Januari s/d Desember

Latihan Untuk semua contoh program yang ada pada teori Pointer 3 : 1. Gambarlah ilustrasi alokasi memori dari setiap baris pernyataan yang diproses 2. Perkirakan hasil eksekusinya

Latihan 1. Untuk program di bawah ini, gambarkan ilustrasi alokasi memori dari setiap baris pernyataan yang diproses perkirakan hasil eksekusinya #include <stdio.h> void naikkan_nilai(int *x, int *y); main() { int a = 3, b = 7; printf("semula : a = %d b = %d\n", a, b); naikkan_nilai(&a, &b); printf("kini : a = %d b = %d\n", a, b); void naikkan_nilai(int *x, int *y){ *x = *x + 2; *y = *y + 2;

Latihan 2. Buatlah sebuah program dengan mendefinisikan sebuah fungsirotasi() yang menerima tiga parameter berupa variabel a, b, danc. Fungsi ini melakukan rotasi sehingga nilaiaberpindah keb,bkecdan nilaickeasekembalinya ke fungsimain().