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

dokumen-dokumen yang mirip
Algoritme dan Pemrograman

Algoritme dan Pemrograman

a[0] a[1] a[2] a[3] a[4] a[5] x

Algoritme dan Pemrograman

Bab 9 Pointer. 9.1 Pendeklarasian pointer

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

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

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

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Fungsi. Fungsi. y = f (x) = x m = jumlah ( a, b ) = a + b

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

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

Algoritma Pemrograman 2B (Pemrograman C++)

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

BAB 6 FUNGSI TUJUAN PRAKTIKUM

pada program di atas, akan ditampilkan alamat memori dari variabel x, bukan nilai x.

Algoritme dan Pemrograman

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

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

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

MODUL 5 SUBPROGRAM / FUNGSI

Kisi- kisi UTS- P. Kisi- kisi UTS- T

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

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Bab 10 Fungsi & Prosedur

Fungsi 2 DASAR PEMROGRAMAN

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

Pointer. ted = &andy;

Algoritme dan Pemrograman

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

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

BAB V FUNGSI Tujuan : 5.1 Dasar Fungsi

POINTER. Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN Overview. Definisi Pointer Operasi Pointer Pointer dan Argumen Fungsi

Pemrograman Dasar C. Minggu 10

Mengenal Subroutine pada Pemrograman C Dian Wirdasari

Pointer. Objektif. Bahan Bacaan

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

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

MAKALAH POINTER PADA BAHASA C

ALGORITMA DAN STRUKTUR DATA

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

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

POINTER. Tim Alpro Teknik Informatika

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

Struktur Kontrol Perulangan (Loop) Algoritme dan Pemrograman. Struktur Kontrol Perulangan: while. Struktur Kontrol Perulangan: while

Algoritma dan Pemrograman. Loop control structures: WHILE. Loop control structures: WHILE Perhatikan potongan program berikut: 12/29/2011

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

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

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

PERTEMUAN V PEMROGRAMAN TERSTRUKTUR DENGAN VISUAL C Setiap bahasa C mempunyai satu fungsi dengan nama main (program utama).

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

Achmad Solichin.

Algoritme dan Pemrograman

POINTER DASAR PEMROGRAMAN

Fungsi DASAR PEMROGRAMAN

Imam Fahrur Rozi. Algoritma dan Pemrograman FUNGSI BAG. 2

Pendahuluan Pemrograman Mikrokontroler

Function nama dipisahkan

Pengumuman Pekan ke- 5

1 MODUL 8 POINTER MODUL 8 POINTER

Fungsi DASAR PEMROGRAMAN

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Pointer. Yuliana Setiowati

Fungsi : Dasar Fungsi

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

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

Pertemuan 6. Pemrograman Modular

Fungsi, Parameter, Rekursi

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

SOAL C++ Created by Yuli Astuti,S.Kom Copyright 2009

Pemrograman Dasar C. Minggu 9

12/29/2011 ILKOM IPB 1. Algoritme dan Pemrograman. Review Latihan Slide 10. Review Latihan Slide 10

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

Minggu ke-11 Fungsi (Function)

Ekspresi dan Operator. Algoritme dan Pemrograman. Jenis Operator C. Operator Aritmetika. Operasi Logika 09/22/2013 ILKOM IPB 1.

TUGAS TEORI ALGO LANJUT

ARRAY & POINTER. Listing 8.1. EXPENSES.C demonstrates the use of an array. AP3: Array & Pointer

December 11 PROSEDUR AKHMAD BILYYASIF.

12/29/2011. Algoritme dan Pemrograman. Bit. Bitwise operator

2 BEBERAPA FUNGSI PUSTAKA DALAM BAHASA C

Algoritme dan Pemrograman

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

01. Review Array, Pointer dan Struktur

FUNGSI DALAM BAHASA C

5. Fungsi. S. Indrianii L, M.T

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

Minggu ke-14 Typedef, Struct & Command Line Argument

Fungsi Lanjut DASAR PEMROGRAMAN

PRAKTIKUM 7 FUNGSI 1

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

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

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

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

By : Agus Priyanto, M.Kom ST3 Telkom Purwokerto Structure and Pointer

ARRAY. Karakteristik

BAB VIII POINTER. Tujuan :

Operator Precedence dan Associativity DASAR PEMROGRAMAN. JULIO ADISANTOSO Departemen Ilmu Komputer IPB. Pertemuan 2

Transkripsi:

Algoritme dan Pemrograman Kuliah #9 Pointer Address and Pointers Address (alamat) Tiap variabel memiliki dua atribut: alamat (address) dan nilai (value). Alamat adalah lokasi dalam memori komputer. Pada lokasi tersebut, suatu nilai disimpan. Operator untuk mendapatkan alamat adalah ampersand (&). Format untuk menuliskan alamat adalah %p. Pointers Pointer adalah variabel yang nilainya berupa alamat. Pointer ke integer adalah variabel yang dapat menyimpan alamat dari suatu bilangan integer. Operator untuk mendeklarasikan pointer adalah asterisk (*) Pointer Pointer digunakan untuk memanipulasi memori komputer. Pointer dideklarasikan menggunakan asterisk (*). Contoh: int *a; berarti variabel a berisi alamat memori, dimana pada alamat memori tersebut berisi bilangan integer. a=&x; a x int *a; x 7 int x=7; ILKOM IPB 1

Contoh penggunaan operator * dan & Nilai dari x adalah 7 main() { Nilai dari *a adalah 7 int x; /* x adalah integer */ int *a; /* a adalah pointer ke integer */ x = 7; a = &x; /* a = alamat dari x */ printf( "Alamat x adalah %p" "\nnilai a adalah %p", &x, a); printf( "\n\nnilai dari x adalah %d" "\nnilai dari *a adalah %d", x, *a); Alamat x adalah 0022FF74 Nilai a adalah 0022FF74 Pointer ke NULL Mendefinisikan pointer tetapi tidak menunjuk ke alamat manapun. Main() { int n = 0; int *p = NULL; n = 10; printf("\nalamat n = %p", &n); /* Output berupa alamat */ printf("\nnilai n = %d", n); /* Output berupa nilai */ Alamat n = 0022FF74 Nilai n = 10 Mengubah nilai suatu variabel melalui pointer Apa output program berikut? main() { long int num1=0, num2 = 0; long int *p = NULL; p = &num1; *p = 2; ++num2; num2 += *p; p = &num2; ++*p; printf ("%ld %ld %ld %ld\n", num1, num2, *p, *p+num2); 2 4 4 8 ILKOM IPB 2

Pointer dan array Array dapat didefinisikan sebagai pointer ke elemen pertama dari array. Oleh karena itu, pointer dan array merupakan dua struktur data yang saling berkaitan dan dapat saling dipertukarkan penggunaannya. Deklarasi array dapat menggunakan pointer seperti contoh berikut: int x[]; atau int *x; int y[][]; atau int *y[]; atau int *(*y); Contoh pointer dan array Apa output program berikut? #define N 3 main(){ int i, a[n]; int *b; for(i=0; i<n; i++) a[i]=i; b=a; /* pointer ke elemen pertama dari a */ for(i=0; i<n; i++) { printf("%d ",*b); b++; /* pointer ke elemen berikutnya */ 0 1 2 Pemanggilan fungsi Pemanggilan fungsi: Call by value Call bu reference Call by value, suatu fungsi dipanggil dengan mengirimkan argumen berupa nilai variabel. Contoh: int a=5, b=10, c1, c2, c3; c1=jumlah(5,20); c2=jumlah(a,b); c3=jumlah(3, b); Nilai variabel argumen tidak berubah selama dideklarasikan sebagai variabel lokal. ILKOM IPB 3

Call by Value dan Variabel Lokal int tukar(int a, int b) { int t=a; a=b; b=t; return (a+b); int a=5, b=10; printf( %d %d %d, a, b, tukar(a,b)); APA KELUARAN PROGRAM TERSEBUT? 5 10 15 Call by value dan Variabel Global int a=5, b=10; int tukar() { int t=a; a=b; b=t; return (a+b); printf( %d %d %d, a, b, tukar(a,b)); APA KELUARAN PROGRAM TERSEBUT? 10 5 15 Pemanggilan fungsi: call by reference Call by reference, suatu fungsi dipanggil dengan mengirimkan argumen berupa alamat dari variabel. Oleh karena itu, parameter yang menerima di dalam fungsi haruslah berupa pointer. ILKOM IPB 4

Contoh pemanggilan fungsi: call by reference Apa output program berikut? void misteri(int x, int *y) { int t = x; x = *y; *y = t; int a=5, b=10; misteri(a, &b); /* call by reference */ printf("%d %d\n", a, b); 5 5 Apa keluaran program berikut? int misteri(int, int *); int int a=5, b=10, c=15; a += misteri(b, &c); printf( %d %d %d, a, b, c); int misteri(int a, int *b) { int c=3; *b = a + c; return c; 8 10 13 Latihan 1: apa output program berikut? #define SIZE 4 int a[][size] = {{0,1,2,3, {4,5,6, {7,8,9,10 ; int *p = &a[0][0]; int *q = a[0]; int *r = a[1]; int *s = a[2]; printf("%d ", *(p + SIZE + 1) ); printf("%d ", p[size + 1] ); printf("%d ", p[2 * SIZE + 1] ); printf("%d ", *(q + 2 * SIZE + 2) ); printf("%d ", *r ); printf("%d ", *(r - 2) ); printf("%d\n", s[3] ); 5 5 8 9 4 2 10 ILKOM IPB 5

Latihan 2: apa output program berikut? int x = 2, y; void misteri(int a, int *b) { a = 2*x; *b = y; y = a; x = 5; y = 7; misteri(y, &x); printf("%d %d\n", x, y); 7 10 Latihan 3: apa output program berikut? #define N 10 void what(int *b, int n) { if (n) { printf("%d ", *b++)); what(&b[0], n-1); int x[n]={10, 20, 30, 40, 50; what(x, 5); 10 20 30 40 50 ILKOM IPB 6