Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

dokumen-dokumen yang mirip
Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

Algoritma dan Pemrograman. Pertemuan Ke-12 Tipe data array/larik 1

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-7 Pencarian (Searching) 2

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-6 Pencarian (Searching) 1

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

Algoritma dan Pemrograman. Pertemuan Ke-8 Statement Pengulangan 1

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-8 Pengurutan (Sorting) 1

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-3 Record/Struct dan Array Of Record

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-2 Array (Larik)

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-9 Pengurutan (Sorting) 2

Algoritma dan Pemrograman. Pertemuan Ke-11 Function

Algoritma dan Pemrograman. Pertemuan Ke-4 Konsep Tipe Data, Operator Dan Identifier

Algoritma dan Pemrograman. Pertemuan Ke-5 Input dan Output

Algoritma dan Pemrograman. Pertemuan Ke-2 Dasar-dasar Algoritma

Algoritma dan Pemrograman

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-13 Arsip (File) 2

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma

RENCANA PEMBELAJARAN SEMESTER (RPS)

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

Pointer dan Referensi

RENCANA PEMBELAJARAN SEMESTER (RPS)

MODUL V POINTER DAN STRING

Pointer (Penunjuk) Modul 6

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-14 Arsip (File) 3

ALGORITMA DAN PEMROGRAMAN 2. 3 SKS By : Sri Rezeki Candra Nursari

P3 Dasar Struktur Data TIF42/SIF42

POINTER. Pemrograman Bahasa C++

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

Pointer (Part 1) Alamat dan Pointer. Dadang mulyana. sederhana.

DISUSUN OLEH BAB XI POINTER. alamat. memori. sepenuhnya. pointer. dan Pointer. menggunakan. menyebabkan. Alamat. untuk.

Achmad Solichin.

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

Algoritma Pemrograman & Struktur Data

SINGLE LINKED LIST (NON CIRCULAR)

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

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

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

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

Pointer. Objektif. Bahan Bacaan

PRAKTIKUM 11 POINTER 1

Algoritma dan Struktur Data Praktikum 3. Pointer

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

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

Pointer, File Header & Makro

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

BAB III POINTER. Type *variabel-name

POINTER. Tim Alpro Teknik Informatika

Identifier dan Tipe Data

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

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

POINTER. Tim Alpro Teknik Informatika

Pengenalan C++ Oleh : Dewi Sartika

Pertemuan 7. REVIEW dan QUIS

KARAKTER DAN STRING, ARRAY, STRUCT DAN REVIEW PADA BAHASA C

VARIABEL & TIPE DATA PEMROGRAMAN C++

Struktur Bahasa C dan C++

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

IT234 - Algoritma dan Struktur Data. Ramos Somya

BAB 6 POINTER DAN REFERENCE

TIPE, NAMA, DAN NILAI

A. TUJUAN PEMBELAJARAN

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

PRAKTIKUM 11 POINTER 1

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Array (Larik) Modul 7

MAKALAH POINTER PADA BAHASA C

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

01. Review Array, Pointer dan Struktur

1. Tipe Data Sederhana Hanya dimungkinkan untuk menyimpan sebuah nilai data dalam sebuah variabel Ada 5 macam : int, float, double, char, boolen

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Array Dimensi Satu. Pendahuluan. Slamet Kurniawan, S.Kom

Algoritma Pemrograman & Struktur Data

PENGERTIAN. 2. Operator Unary 3. Operator Binary 4. Operator Ternary

PEMROGRAMAN BERORIENTASI OBJEK. Operator. Budhi Irawan, S.Si, M.T

MODUL I PENGENALAN IDE C++, ALGORITMA DAN PEMROGRAMAN

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

BAB VIII POINTER. Tujuan :

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

BAB II TEORI DASAR. Gambar 1 Kurva untuk interpolasi linier. Sehingga diperoleh persamaan dari interpolasi linier sebagai berikut :

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

Pemrograman I Bab III Tipe Data, Variabel, dan Operasi Perhitungan. Adam Mukharil Bachtiar, S.Kom. Universitas Komputer Indonesia

Pointer 1 A. TUJUAN PEMBELAJARAN

Tipe Data dan Operator

Algoritma dan Pemrograman 2 POINTER. Pointer : variable yang berisi alamat memori dari suatu variable yang berisi suatu nilai tertentu.

Pendahuluan Pemrograman Mikrokontroler

BAB IX LINKED LIST (SENARAI BERANTAI)

BAB VIII SUB PROGRAM : Fungsi Tanpa Pengembalian Nilai

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

Konsep Dasar Pemrograman Dan Pengenalan C++

elemen Dasar Bahasa Pemrograman C

Transkripsi:

Algoritma dan Pemrograman Lanjut Pertemuan Ke-10 Pointer 1 Disusun Oleh : Wilis Kaswidjanti, S.Si.,M.Kom. Jurusan Teknik Informatika Fakultas Teknologi Industri Universitas Pembangunan Nasional Veteran Yogyakarta

Algoritma dan Pemrograman Lanjut Judul Materi : Pointer 1 Deskripsi Materi : Materi ini membahas tipe data pointer, pendeklarasian dan cara pengaksesannya Tujuan Instruksional Khusus : 1. Mendefinisikan dan menggunakan tipe data pointer 2. Mendeskripsikan tipe data pointer 3. Memahami kegunaan pointer Referensi : Buku Teks Munir, Rinaldi (2005), Algoritma dan Pemrograman dalam Bahasa Pascal dan C, Buku 2, Edisi Ketiga, Penerbit Informatika Bandung. Charibaldi, N. (2004), Modul Kuliah Algoritma Pemrograman II, Edisi Kedua, Yogyakarta Buku Acuan/Referensi Brassard, Gilles (1999), Fundamentals of algorithma, PrinteceHall. Jarne, Stroustrup B. (1997), C++ Programming language, AT &T. Kristanto, Andri (2003), Algoritma pemrograman C++, Graha Ilmu. Schildt,Herbert (2000), The Complete Reference C++, McGraw-Hill. Sedgewick, R. (2000), Algoritma Third edition In C part 5, Addison Wesley.

POINTER 1 PENDAHULUAN Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat di memori komputer dari suatu obyek lain, yaitu obyek yang ditunjuk oleh pointer yang mempunyai nilai tertentu. ISI A. Bentuk umum deklarasi variable pointer : Algoritma (Pseodocode) : nama_pointer : pointer to tipedata C++ : tipedata *nama_pointer; (deklarasi pointer null) nama_pointer = (tipedata *) malloc(size_t size); (deklarasi pointer kosong) Dengan : tipedata adalah tipe dasar nilai yang berada di memori yang ditunjuk oleh pointer. nama_pointer adalah nama variable pointer. (*) adalah operator memori yang fungsinya untuk mengembalikan nilai variable pada alamatnya yang ditentukan oleh operand. malloc(size_t size) adalah deklarasi pengalokasian memori kosong dengan ukuran kapasitas sebesar size

Ilustrasi : pointer null nama_pointer pointer kosong nama_pointer (isi)null (alamat) Contoh : Algoritma (Pseodocode) : p : pointer to integer nilai : pointer to real s : pointer to char C++ : int *p; float *nilai; char *s; Contoh lain dalam bahasa C++ dan dengan ilustrasi : int *p; int *q; p q p=(int *) malloc(sizeof(int)); p (isi)null

q=(int *) malloc(sizeof(int)); q (isi)null B. Pengaksesan dengan Pointer Untuk mengakses nilai/isi pada memori yang ditunjuk oleh pointer dipakai simbol * Contoh : *p = 10; *q = 20; Pointer menunjuk memori yang ditunjuk pointer lain : Contoh : p = q; berarti p menunjuk ke alamat memori yang ditunjuk oleh q, dan dengan demikian p dan q menunjuk alamat memori yang sama. Ilustrasi : *p = 10 *q = 20 p 10 q 20 p = q p 10 q 20 Contoh program Pointer 1: #include <iostream.h> #include <alloc.h> #include <stdlib.h> void main() {

} int *p, *q; p=(int *)malloc(sizeof(int)); q=(int *)malloc(sizeof(int)); *p=10; *q=20; cout<<"isi info pointer :\n"; cout<<"*p = "<<*p<<endl; cout<<"*q = "<<*q<<endl; cout<<"\nalamat register pointer :\n"; cout<<"p = "<<p<<endl; cout<<"q = "<<q<<endl; p=q; cout<<"\nkondisi akhir isi info pointer :\n"; cout<<"*p = "<<*p<<endl; cout<<"*q = "<<*q<<endl; Output : C. Operator Pointer Ada beberapa operator yang bisa digunakan dalam pointer, yaitu : 1. Operator alamat (yang dilambangkan dengan symbol &) 2. Operator unary yang mengembalikan alamat dari operandnya. Pointer menunjuk variabel statis : Misalkan px adalah variabel bertipe pointer yang akan berisi alamat variabel lain yang bertipe integer, maka dideklarasikan : int x; int *px; Untuk mengatur pointer agar menunjuk ke variabel lain, mula-mula pointer harus diisi dengan alamat dari variabel yang akan ditunjuk. Operator & digunakan untuk menyatakan alamat variabel statis yang akan ditunjuk.

Contoh : Ilustrasi : px = &x; int *px; px int x=10; x 10 px = &x px x 10 Jika suatu variabel statis sudah ditunjuk oleh pointer, isi variabel tersebut dapat diakses melalui variabel itu sendiri (pengaksesan langsung) atau melalui pointer (pengaksesan tidak langsung). Pengaksesan langsung dilakukan langsung oleh variabel statisnya (bukan pointernya). Contoh : x = 10 Operator indirection (pengaksesan tidak langsung), berupa simbol * Contoh : *px = 10 Ilustrasi : value1 = 5; value1 5 mypointer = &value1; mypointer value1 5 *mypointer = 10; mypointer value1 x 5 10

Contoh Program Pointer 2 : #include<iostream.h> main() { int value1 = 5, value2 = 15; int * mypointer; mypointer = &value1; *mypointer = 10; cout << "\nvalue1 = " << value1; cout << \n*mypointer = " << *mypointer; mypointer = &value2; *mypointer = 20; cout << "\nvalue2 = " << value2; cout << "\n*mypointer = "<<*mypointer; } Output : Contoh program Pointer 3 : a b c #include <iostream.h> main() { int x,y; //x dan y bertipe int int *px; //deklarasi px, pointer yang menunjuk obyek //bertipe int x=87; px=&x; //px berisi alamat dari x y =*px; //y berisi nilai yang ditunjuk px } cout<<"alamat x= "<<&x<<endl; cout<<"nilai x= "<<x<<endl; cout<<"alamat yang ditunjuk oleh px= "<<px<<endl; cout<<"nilai yang ditunjuk oleh px= "<<*px<<endl; cout<<"alamat y= "<<&y<<endl; cout<<"nilai y= "<<y; Output :

Ilustrasi : 1 int *px; int x; x int y; y 2 px b px = &x; x=87; x 87 a y=*px; y 87 c PENUTUP Penerapan pointer yang paling umum yaitu menciptakan variable dinamis, yang memungkinkan untuk memakai memori bebas (memori yang belum dipakai) selama eksekusi program. SOAL-SOAL 1. Apa output dari program berikut : #include<iostream.h> main() { int p = 5, q = 15; int *m; m = &q; q = 10; cout << "\np = " << p; cout << "\nq = " << q;

} cout << "\n*m = " << *m; *mypointer = p; mypointer = &p; cout << "\np = " << p; cout << "\nq = " << q; cout << "\n*m = " << *m; 2. Apa output dari program berikut : #include<iostream.h> #include<alloc.h> main() { int j = 2, k = 3; int *p,*q,*r; p =(int *)malloc(sizeof(int)); q =(int *)malloc(sizeof(int)); r = p; *p = k; *q = j; k = *q; r = &j; cout << "\nj = " << j; cout << "\nk = " << k; cout << "\n*p = " << *p; cout << "\n*q = " << *q; cout << "\n*r = " << *r; } 3. Apa output dari program berikut : #include<stdio.h> #include<alloc.h> main() { int m = 10; int *p,*q ; p =(int *)malloc(sizeof(int)); *p = m; q = p; m = *q + *p; p = &m; printf("\nm = %d",m); printf("\n*p = %d",*p); printf("\n*q = %d",*q); }