Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

dokumen-dokumen yang mirip
POINTER. Tim Alpro Teknik Informatika

T I P E D A T A P R I M I T I F V A R I A B E L D A N S T A T E M E N P E N U G A S A N E K S P R E S I D A N O P E R A T O R A R I T M A T I K A

STRUCT. d e d d y a d i n a n d r a

Algoritma dan Struktur Data. Pointer Pada Struct

POINTER. Tim Alpro Teknik Informatika

Data Structures. Class 4 Arrays. Pengampu : TATI ERLINA, M.I.T. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Pemrograman Lanjut. Interface

Operator dan Assignment

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

Pemrograman Berbasis Objek Operator dan Assignment

Data Structures. Class 3 Pengenalan Struktur Data dan ADT. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

BAB III POINTER. Type *variabel-name

Minggu ke-3 Tipe Data Dalam C

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

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

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

elemen Dasar Bahasa Pemrograman C

Java Operators. Nurochman

Dasar Pemrograman Java

E-Commerce. Lesson 2. Nizar Rabbi Radliya PHP : Variable, Constant, Data Type, Operator. 2 SKS Semester 7 UNIKOM

Pemrograman Dasar C. Minggu 9

Referensi Bahasa Pemrograman Java

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

Variable. Variable (cont) Variable (cont) Tipe Data

Tipe Data. Pendahuluan. Objektif. Bahan Bacaan

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Basic Input/Output Operator Yoannita

Dasar Pemrograman C. Hendawan Soebhakti. Oktober 2009

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

C Programming (re-view)

Pertemuan 2. Gambaran Umum C

Program Menggabungkan 2 Tipe String

Tipe Data dan Operator

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Tipe Data Dasar. Data bisa dinyatakan dalam bentuk konstanta atau variabel.

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


Melakukan Operasi Logika

Ekspresi Reguler Definisi. Notasi Ekspresi Regular. Contoh Ekspresi Reguler [2]

LOGIKA ALGORITMA. Pertemuan 4. By: Augury

DIG1G3 Implementasi Struktur Data


Achmad Solichin.

Algoritma dan Pemrograman. Oleh: Eddy Prasetyo N

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

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

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

OPERATOR BAHASA C. Obyektif : 4. Mengetahui macam-macam operator dalam Bahasa C. 5. Mengetahui dan dapat menggunakan format pada tiap tipe data..

Dasar Pemrograman Java

Pre Lab P 03 Tipe Data, Operator dan Expresi

ARRAY. Karakteristik

OBJECT ORIENTED PROGRAMMING. Day 3 : Operator dan Assignment

TIF APPLIED MATH 1 (MATEMATIKA TERAPAN 1) Week 3 SET THEORY (Continued)

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

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

Algoritma dan Struktur Data. Pertemuan 7 Linked List

06/03/2018. Tidak memiliki parameter. Melakukan inisialisasi semua variabel private dengan nilai awal.

Data bisa dinyatakan dalam bentuk konstanta atau variabel.

OPERATOR-OPERATOR DALAM JAVA

DAFTAR ISI ABSTRAK ABSTRACT KATA PENGANTAR

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

Algoritma Pemrograman. Fery Updi,M.Kom

PENGENALAN KONSEP PEMROGRAMAN. (dalam bahasa C)

Operator dan Assignment. Pertemuan 3 Pemrograman Berbasis Obyek

Makalah. STRUKTUR DATA ( Array )

Dasar Pemrograman Java

Algoritma dan Struktur Data Praktikum 3. Pointer

Tipe Data Dasar. Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu:

Week 1 PEMROGRAMAN BERBASIS OBYEK

Merupakan tipe data bilangan pecahan seperti 1.5, 2.1, dsb Tipe data ini memiliki ukuran 32 bit dengan panjang range 3.4 x 1038.

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

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

Algoritma dan Struktur Data. Linked List

Pointer. Pointer adalah variabel yang menyimpan alamat dari variabel yang lainnya. Deklarasi pointer : datatype *ptr_name; Contoh:

BAB 3 TYPE DATA, VARIABLE DAN OPERATOR

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

Struktur Data adalah : suatu koleksi atau kelompok data yang dapat dikarakteristikan oleh organisasi serta operasi yang didefinisikan terhadapnya.

Pointer. Objektif. Bahan Bacaan

POINTER DASAR PEMROGRAMAN

MODUL DUA VARIABEL DAN TIPE VARIABEL

Minggu ke-11 Fungsi (Function)

Nama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

KONSEP POINTER DAN LINKED LIST

S TA C K Sunu Wibirama

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

SINGLE LINKED LIST (NON CIRCULAR)

Keseimbangan Torsi Coulomb

Modul I MENGGABUNGKAN SCRIPT PHP DAN HTML

Dependent VS independent variable

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

MODUL V POINTER DAN STRING

ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Pemrograman Lanjut Tipe Data dan Constructor PTIIK

Tipe bentukan dan pointer selanjutnya akan kita pelajari pada modul pemrograman 1 (akhir semester).

PRAKTIKUM 11 POINTER 1

Transkripsi:

Data Structures Class 5 Pointer McGraw-Hill Technology Education Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

What is a variable? 1. Each variable must be defined before you can use it inside your program. 2. Did you ask yourself why we have to declare variables? 1. First reason is... 2. Second reason is...

Definition A variable has a name, an address, a type and a value. A pointer is a variable which declared A pointer is a variable which declared as a pointer type. It contains the memory address (locations) of another variable.

Example For example: if one variable is a data type and second variable is the pointer type which points to the first variable, then the contents of second variable is the address of first variable. Value at address 5 2000 2000 3000 Address of First variable

DECLARATION OF POINTERS Syntax:- int *b;

Similarly we can declare char and floating type pointer:- char *p; float *q;

INITIALIZATION OF POINTER Pointer variable can be initialize by following these steps: 1. first declare or initialized an integer variable (suppose int x;) 2. declare a pointer variable 3. assign address of variable to pointer variable.

syntax int a; int *b; b=&a;

PROGRAM void main(void) { int a=5; int *b; b=&a; printf( value of a =%d,a); printf( value of a =%d,*b); printf( address of a =%u,b); printf( value of b=address of a =%u,b); }

Pointer Operators 10

Pointer Operators (Cont..) 11

DEREFERENCING OPERATION OF POINTER The contents of any variable is referenced by a pointer variable. For example: if int x=5; int *b; b=&x; Now if we want to print the value of x variable by using pointer b. how can it possible? *b performs the "dereferencing" operation on b; it looks at the address stored in b, and goes to that address and returns the value.

bagaimana cara merepresentasikan sebuah diagram pohon dari perusahaan XYZ? Masalah : Kita ingin merepresentasikan struktur data nonlinear ke dalam memori komputer yang bersifat linear. Solusi : pemetaan dengan menggunakan pointer. 13

Terdapat dua cara dalam mengakses huruf c sebagai data yang tersimpan. 1. secara langsung 2. secara tidak langsung dengan menggunakan pointer (dikenal dengan indirection). indirection bertingkat dapat juga diciptakan dengan menggunakan pointer 14

Kelemahan penggunaan pointer: 1. Bisa sangat rumit dan sulit dipakai dengan level indirection yang banyak. 2. Ketika dipakai secara tidak benar, pointer dapat membuat struktur data sangat sulit dimengerti. Kapanpun pointer digunakan dalam membuat struktur data, harus dipertimbangkan tradeoff antara kompleksitas dan fleksibilitasnya. Pointer dan indirection tidak hanya ada pada memori komputer, tapi juga dalam aspek lain pemakaian komputer. e.g. Contohnya hyperlinks pada web page (dapat juga bersifat double indirection ). 15

Pointer vs Variabel Biasa 16

Ilustrasi Pointer. 17

Contoh Program 18

Operator Pointer 19

Contoh Pointer dideklarasikan dengan cara: tipe_data *nama_variabel_pointer; Contoh inisialisasi pointer, contoh: 20

Contoh yang salah 21

Operasi pada Pointer 1. Operasi Assignment Antar variabel pointer dapat dilakukan operasi assignment. Contoh 1: Assignment dan sebuah alamat dapat ditunjuk oleh lebih dari satu pointer Contoh 2: Mengisi variabel dengan nilai yang ditunjuk oleh sebuah variabel pointer Contoh 3: Mengoperasikan isi variabel dengan menyebut alamatnya dengan pointer Contoh 4: Mengisi dan mengganti variabel yang ditunjuk oleh pointer 22

Contoh 1 : Assigment, sebuah alamat dapat ditunjuk oleh lebih dari satu pointer 23

Contoh 2 : Mengisi variabel dengan nilai yang ditunjuk oleh sebuah variabel pointer 24

Contoh 3 : Mengoperasikan isi variabel dengan menyebut alamatnya dengan pointer 25

Contoh 4 : Mengisi dan mengganti variabel yang ditunjuk oleh pointer 26

Operasi pada Pointer (2) 2. Operasi aritmatika Arithmetic operation can also be done with pointer variables. Postfix, prefix, increment, decrement are possible with pointers. 27

FOR EXAMPLE: Example: int a=5; int *b; b=&a; Here b++ or ++b means 1000+2=1002 & b or b means 1000-2=998. Its doesn t affect the address of a. a b 5 1000 1000 2000 a 5 After b++ or ++b b 1002 In other variables Ex- int a=5; a++ or ++a means 5+1=6 and a or a means 5-1=4. 1000 2000