POINTER II. Oleh : Mike Yuliana PENS-ITS

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

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

PRAKTIKUM 12 POINTER 2

POINTER DASAR PEMROGRAMAN

Pointer 1 A. TUJUAN PEMBELAJARAN

PRAKTIKUM 12 POINTER 2

BAB VIII POINTER. Tujuan :

PRAKTIKUM 11 POINTER 1

POINTER I. Oleh : Mike Yuliana PENS-ITS

xxxx alamat Praktikum 11 POINTER

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

MAKALAH POINTER PADA BAHASA C

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

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

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

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

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

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

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

Algoritme dan Pemrograman

Pointer. Yuliana Setiowati

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

Fungsi DASAR PEMROGRAMAN

Algoritma Pemrograman 2B (Pemrograman C++)

Fungsi, Parameter, Rekursi

Fungsi Lanjut DASAR PEMROGRAMAN

8. Pointer. S. Indriani L, M.T

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

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

Pengenalan C++ Oleh : Dewi Sartika

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

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

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Fungsi 2 DASAR PEMROGRAMAN

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

Fungsi DASAR PEMROGRAMAN

Algoritma dan Struktur Data. Pointer Pada Struct

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

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

Tipe Data. Adri Priadana

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

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

Pemrograman Dasar C. Minggu 9

MODUL 5 SUBPROGRAM / FUNGSI

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

BAB VI BAHASA C Pendahuluan

PRAKTIKUM 11 POINTER 1

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

Fungsi : Dasar Fungsi

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

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

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

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

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

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

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

ARRAY. Karakteristik

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

Algoritma dan Struktur Data. Ramos Somya

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

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

PRAKTIKUM 7 FUNGSI 1

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

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

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

Minggu ke-11 Fungsi (Function)

Kurikulum Qt. { Basic OOP } Chapter 4. Function

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

OPERASI PERNYATAAN KONDISI

Pointer dan Array Dinamik. IF2121 / Algoritma dan Struktur Data Sem /2018

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

Fungsi : Penggolongan Variabel & Pemrograman Terstruktur

Fungsi 1 DASAR PEMROGRAMAN

Pemrograman Dasar C. Minggu 10

PEMROGRAMAN BERORIENTASI OBJEK

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

Pemrograman Dasar C. Minggu 6

PRAKTIKUM 8 FUNGSI 2

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

PRAKTIKUM 19 : ARRAY 2

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

Function nama dipisahkan

Achmad Solichin.

Praktikum 1. Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

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

Algoritma Pemrograman. Fery Updi,M.Kom

Kurikulum Qt. Chapter 4 Function. Fungsi

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

Algoritme dan Pemrograman

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

Transkripsi:

POINTER II Oleh : Mike Yuliana PENS-ITS 1

SASARAN Menjelaskan tentang array dari pointer Menjelaskan tentang pointer menunjuk pointer Menjelaskan tentang pointer dalam fungsi 2

Array of Pointer Suatu array bisa digunakan untuk menyimpan sejumlah pointer. Jika dideklarasikan : char *nama_hari[10]; merupakan pernyataan untuk mendeklarasikan array of pointer to char. Array nama_hari terdiri dari 10 elemen berupa pointer yang menunjuk ke data bertipe char.

Array of Pointer Array pointer bisa diinisialisasi sewaktu pendeklarasian. Jika dideklarasikan: char *namahari[] = { Senin, Selasa, Rabu, Kamis, Jumat, Sabtu, Minggu }; Pada contoh ini : namahari[0] berisi alamat/pointer yang menunjuk ke string Senin. namahari[1] berisi alamat/pointer yang menunjuk ke string Selasa. namahari[2] berisi alamat/pointer yang menunjuk ke string Rabu. dan seterusnya

Contoh #1 #include <stdio.h> main() { int i; char hari[7][7]={"senin","selasa","rabu","kamis", "jumat", "sabtu", "minggu"}; char *phari[7]; for(i=0; i<7;i++) phari[i]= hari[i]; for(i=0; i<7;i++) printf("%s", phari[i]); } 5

Pointer to Pointer Suatu pointer bisa menunjuk ke pointer yang lain Jika dideklarasikan : int var_x = 25, *ptr1, **ptr2; var_x adalah variabel bertipe int. ptr1 adalah variabel bertipe pointer to int pointer yang menunjuk ke sebuah data bertipe int ptr2 adalah variabel bertipe pointer to pointer to int pointer yang menunjuk ke pointer to int (itulah sebabnya deklarasinya berupa int **ptr2; ) Agar ptr1 menunjuk ke variabel var_x dan ptr2 menunjuk ke ptr1, instruksinya sbb : ptr1 = &var_x; ptr2 = &ptr1;

Contoh #2 #include <stdio.h> main(){ int var_x = 273, *ptr1, **ptr2; ptr1 = &var_x; ptr2 = &ptr1; } printf("alamat var_x = %p\n", &var_x); printf("alamat ptr1 = %p\n", &ptr1); printf("isi var_x = %d\n", var_x); printf("isi ptr1 = %p\n", ptr1); printf("isi ptr2 = %p\n", ptr2); printf("\n*ptr1 = %d\n", *ptr1); printf("**ptr2 = %d\n", **ptr2);

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

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 dalam Fungsi Ada dua cara untuk melewatkan parameter ke dalam fungsi, yaitu berupa : Pengiriman berupa nilai/value (pass by ( value semua contoh fungsi yang telah ( fungsi dibahas sebelumnya (pada bab Pengiriman berupa address/alamat (pass by pointer)

Pengiriman Parameter dalam Fungsi 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 POINTER 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 ( address menampung 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 Pointer #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);

LATIHAN SOAL 15

1. Buat program untuk menampilkan int nomor[3]={10,20,30} dengan menggunakan array pointer! 2. Buat program dengan menggunakan fungsi! Serta gambarkan ilustrasi alokasi memori dari setiap baris pernyataan! #include <stdio.h> main() { int a = 3; int b = 7; int *x, *y; x=&a; y=&b; printf("semula : a = %d b = %d\n", a, b); *x = *x + 2; *y = *y + 2; printf("kini : a = %d b = %d\n", a, b); } 16

3. Gambarkan ilustrasi alokasi memori dari setiap baris pernyataan serta perkirakan hasil eksekusinya! int r, q = 7; int go_crazy(int *, int *); main() { int *ptr1 = &q; int *ptr2 = &q; r = go_crazy(ptr1, ptr2); printf("q=%d, r=%d, *ptr1=%d, *ptr2=%d\n",q,r,*ptr1,*ptr2); ptr2 = &r; go_crazy(ptr2, ptr1); printf("q=%d, r=%d, *ptr1=%d, *ptr2=%d\n",q,r,*ptr1,*ptr2); } int go_crazy(int *p1, int *p2) { int x = 5; r = 12; *p2 = *p1 * 2; p1 = &x; return *p1 * 3; } 17