Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

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

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

Algoritma dan Pemrograman. Pertemuan Ke-7 Statement Pengendalian 2

Algoritma dan Pemrograman. Pertemuan Ke-8 Statement Pengulangan 1

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

Algoritma dan Pemrograman. Pertemuan Ke-9 Statement Pengulangan 2

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

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

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

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-5 Rekursif

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

BAB III POINTER. Type *variabel-name

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

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-5 Input dan Output

Algoritma dan Pemrograman

Algoritma dan Pemrograman. Pertemuan Ke-1 Pengantar Algoritma

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

RENCANA PEMBELAJARAN SEMESTER (RPS)

RENCANA PEMBELAJARAN SEMESTER (RPS)

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

POINTER. Tim Alpro Teknik Informatika

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

P3 Dasar Struktur Data TIF42/SIF42

DASAR PEMROGRAMAN. Institut Teknologi Sumatera

POINTER. Tim Alpro Teknik Informatika

Algoritma Pemrograman & Struktur Data

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

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

TIPE, NAMA, DAN NILAI

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

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

MODUL V POINTER DAN STRING

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

BAB IX LINKED LIST (SENARAI BERANTAI)

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

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

Achmad Solichin.

STMIK AMIKOM YOGYAKARTA. Kusnawi, S.Kom, M.Eng

Bahasa Pemrograman- TIS SKS

REVIEW ARRAY. Institut Teknologi Sumatera

Tipe Data dan Operator

GARIS-GARIS BESAR PROGRAM PENGAJARAN (GBPP)

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Pointer. ted = &andy;

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

Algoritma Pemrograman. Fery Updi,M.Kom

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

Algoritme dan Pemrograman

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

BAB 5 PERULANGAN DAN ARRAY

VARIABEL & TIPE DATA PEMROGRAMAN C++

Tipe Data dan Variabel. Dosen Pengampu Muhammad Zidny Naf an, M.Kom

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

Array (Larik) Modul 7

Satuan Acara Perkuliahan (SAP) UNIVERSITAS GUNADARMA

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

SATUAN ACARA PERKULIAHAN (SAP)

MODUL V PERULANGAN. Perulangan digunakan untuk menjalankan satu atau lebih perintah secara berulang selama kondisi tertentu.

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Algoritma Pemrograman

Algoritma Pemrograman

POINTER. Pemrograman Bahasa C++

Abstrak data tipe. Struktur data-arita witanti ozzy suria Ganjil 2017

SATUAN ACARA PENGAJARAN (SAP) : Aswir Premadi, S.T., M.Sc. (Eng) Pertemuan Minggu ke : 1 & 2 ( 1 x 2 x 50 )

Pertemuan 7. REVIEW dan QUIS

Achmad Solichin.

Program Menggabungkan 2 Tipe String

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

Algoritma dan Struktur Data STACK

Dasar Pemrograman Java

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

A. Putting a Program Together

A. Putting a Program Together

Pendahuluan Struktur Data. Nisa ul Hafidhoh

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

OPERATOR-OPERATOR DALAM JAVA

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

disebut ternary operator. Di dalam suatu operasi dapat terdapat banyak operator. Urutan eksekusi dari operatoroperator

Pertemuan 4 OPERATOR DAN STATEMEN I/O

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

: Algoritma dan Pemrograman I Modul Praktikum ke : 08

Tabel Informasi. Hal di atas dapat dilakukan dengan menambah dan mengambil atribut identifier yang digunakan pada program, melalui tabel informasi.

SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN KOMPUTER STMIK AMIKOM YOGYAKARTA

(3) BAHAN KAJIAN (materi ajar)

Kontrak Perkuliahan & Introduction

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

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

Basic Input/Output Operator Yoannita

MATERI IV ARRAY. Materi Praktikum Pemograman Bahasa C++ dengan menggunakan variabel Array

Chapter 3.2 : Tipe, Nama dan Nilai

P 4 Bab 3 : Dasar Pemrograman C

Transkripsi:

Algoritma dan Pemrograman Lanjut Pertemuan Ke-11 Pointer 2 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 2 Deskripsi Materi : Materi ini membahas tipe data pointer, operatoroperator yang dapat dipakai dana penggunaannya bersama tipe data terstrutur yang lain 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 2 PENDAHULUAN Pointer adalah vriabel yang berisi alamat memori sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu. ISI A. 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 unary yang mengembalikan alamat dari operandnya. Contoh Program 1: int *ptr, num; ptr = &num; *ptr = 100; cout << num << " "; (*ptr)++; cout << num << " "; (*ptr)*2; cout << num << "\n"; B. Expresi Pointer Pointer Aritmatika Hanya 4 operator aritmatik dapat digunakan pada pointer + +, = =, +, dan -. Asumsi integer 32 bit.

Perhatikan contoh berikut. int *p1 // assume; p1==2000 p1++; p1--; Contoh program 2 pointer Aritmatika. Pointer Aritmatika int i[10], *i_ptr; double f[10], *f_ptr; int x; i_ptr = i; //i_ptr points to first element of i f_ptr = f; //f_ptr points to first element of f for(x=0;x<10;x++) cout << i_ptr+x << " " << f_ptr+x << "\n"; Pointer Perbandingan Pointer dapat dibandingkan dengan menggunakan operator hubungan, seperti!=, = =, <, dan >. Contoh Program 3 : int num[10]; int *start, *end; start = num; end = &num[9]; while(start!= end) cout << "Masukkan bilangan sebanyak 9 data: "; cin >> *start; start++;

C. Pointer Dan Array Array dan pointer adalah dua struktur data yang saling berkaitan satu sama lain didalam C, dan dapat saling dipertukarkan penggunaannya. Hal ini karena suatu array dapat didefinisikan sebagai pointer ke elemen pertama dari array tersebut. Pointer dapat di-array seperti tipe data yang lain dalam C++. Sebagai contoh, untuk menyatakan sebuah array pi dari pointer sebanyak 10 buah data yang bertipe 10 integer, dapat dituliskan sebagai berikut : int *pi[10]; Untuk menentukan alamat dari variable integer disebut var ke elemen ketiga dari pointer array, dapat dituliskan sebagai berikut : int var; Pi[2] = &var Contoh program 4 array pointer int numbers[5]; int *p; p = numbers; *p = 10; p++; *p = 20; p = &numbers[2]; *p = 30; p = numbers + 3; *p = 40; p = numbers; *(p+4) = 50; for(int n=0;n<5;n++) cout << numbers[n] << ", "; D. Pointer dalam Pointer. Diperbolehkan dalam C++ menggunakan pointer dalam pointer yang masih bisa berisi data yang sama atau berbeda. Dalam kondisi pointer biasa atau pointer tunggal, diagramnya adalah sebagai berikut : Pointer Tunggal Untuk Pointer dalam Pointer, diagramnya adalah sebagai berikut :

Contoh : char a; char *b; char **c; a = z ; b = &a; c = &b; Pointer dalam Pointer dan misalnya berisi data-data yang acak pada memori 7230, 8092, dan 10502, maka diagramnya adalah sebagai berikut : Dari diagram diatas dapat disimpulkan : c adalah sebuah variable dengan tipe (char **) yang berisi 8092. *c adalah sebuah variable dengan tipe (char *) yang berisi 7230. **c adalah sebuah variable dengan tipe (char) yang berisi z. Contoh program 5 pointer dalam pointer int x, *p, **q; x = 10; p = &x; q = &p; cout << **q; //prints the value of x

Penjelasan Program : Proses pendeklarasian pointer dalam pointer dapat dilihat pada pernyataan : int x, *p, **q; x = 10; p = &x; q = &p; dan hasilnya adalah : 10 E. Masalah yang kadang terjadi pada pointer. 1. Pointer yang tidak di inisialisasikan. 2. Null pointer. Sesudah pointer dinyatakan dan sebelum nilainya ditentukan, pointer akan berisi sebuah nilai yang berubah-ubah. Jika pointer berisi Null atau nilai (0), diasumsikan untuk tidak menunjuk apapun. Beberapa tipe pointer dapat dimulai ke Null ketika dinyatakan sehingga menghindari salah penggunaan atau pointer yang tidak di inisialisasikan. 3. Kesalahan dalam pointer perbandingan. Membuat perbandingan pointer antara dua obyek yang berbeda, mungkin menghasilkan hasil yang tidak diharapkan. 4. Pengembalian nilai pointer. Kadang setelah mendeklarasikan nilai pointer, kita lupa mengembalikan ke nilai semula. PENUTUP Pointer adalah tipe data dalam pemrograman yang dapat dikenai operator aritmatika tertentu dan operator perbandingan. Pointer dapat dipadukan dengan tipe data terstruktur array. SOAL-SOAL 1. Apa output dari contoh program 1 sampai dengan 4 di atas. 2. Apa output dari program berikut :

int m, n, *x, **y; m = 10; x = &m; y = &x; n = **y + 5; x = &n; cout << m << endl; cout << n << endl; cout << *x << endl; cout << **y << endl;