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

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

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

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

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

Pointer dan Referensi

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

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

POINTER. Pemrograman Bahasa C++

Struktur Bahasa C dan C++

Konsep Dasar Pemrograman Dan Pengenalan C++

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

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

Modul program di dalam C++ disebut fungsi (function)

Pertemuan 2 ARRAY DIMENSI 1 & 2

Identifier dan Tipe Data

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

Pert 2 Struktur Data (mengajarkomputer.wordpress.com) ARRAY DIMENSI 1 & 2

PEMROGRAMAN BERORIENTASI OBJEK

MODUL V POINTER DAN STRING

Keg. Pembelajaran 3 : Operator dalam Bahasa C++

Identifier Tipe Data Yoannita, S.Kom.

Algoritma dan Struktur Data Praktikum 3. Pointer

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

PRAKTIKUM 11 POINTER 1

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

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

Pertemuan 2 ARRAY DIMENSI 1 & 2

Komentar, Identifier, Konstanta dan Variabel

MODUL IV OPERASI DASAR MASUKAN DAN KELUARAN

ARRAY DIMENSI 1 & 2. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen.

PRAKTIKUM 4 PERCABANGAN

DISUSUN OLEH BAB IX. Structt. //untuk. long. int nip; char. nama[31]; char } HAL 1

Modul 3 INPUT DAN OUTPUT

PENGENALAN BAHASA C DAN C++

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

MODUL DUA VARIABEL DAN TIPE VARIABEL

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

MODUL II VARIABEL, TIPE DATA & KONSTANTA

DASAR PEMROGRAMAN ARRAY. Array Satu Dimensi Array Dua Dimensi. Yoannita. Some slide from Hermawan,S.Kom

PRAKTIKUM 11 POINTER 1

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

SL 1201 Materi tentang Fungsi

Array (Larik) Modul 7

PENGENALAN C++ DADANG MULYANA 2012

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

VARIABEL & TIPE DATA PEMROGRAMAN C++

Pointer (Penunjuk) Modul 6

PEMROGRAMAN TERSTRUKTUR OLEH : IR. H. SIRAIT, MT

elemen Dasar Bahasa Pemrograman C

Struktur Program C++ Preprocessor directive : perintah dalam bahasa c++ yang akan membuat dan mengkompilasi file perantara dengan program utama

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

01. Review Array, Pointer dan Struktur

Konsep Array dalam PBO

Pointer 1 A. TUJUAN PEMBELAJARAN

Operator Aritmatika MODUL III OPERATOR

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

Contoh Program C++ Sederhana. Script Program : #include<conio.h> #include<stdio.h> main() { cout<< Selamat Datang Di Lab H <<endl;

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

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VIII

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

OPERASI DASAR MASUKAN DAN KELUARAN

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Struct & Pointer. Agung Sasongko, M.Kom

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

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

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

Achmad Solichin.

BAB 6 POINTER DAN REFERENCE

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

FUNGSI. tipe Tipe nilai yang dihasilkan oleh fungsi. Jika tidak dinyatakan, hasil fungsi dianggap bilangan bulat (int)

P3 Dasar Struktur Data TIF42/SIF42

ALGORITMA (2) Mengupas Kentang

3. Elemen Dasar C++ S. Indriani S. L., M.T L.,

BAB III Pengenalan Tipe Data dan Bahasa Pemrograman C/C++

MATA KULIAH : LOGIKA DAN ALGORITMA KONSEP DASAR ALGORITMA

PEMROGRAMAN TERSTRUKTUR D3MI 2016

Keyword,Tipe data & Variabel. Keywords pada c Tipedata Variabel Konstanta

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

Tipe Data dan Operator

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

Algoritma Pemrograman. Fery Updi,M.Kom

Pointer, File Header & Makro

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

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

POINTER. Tim Alpro Teknik Informatika

Pemrograman Berorientasi Obyek (C++) Departemen Ilmu Komputer FMIPA IPB 2013

BAB IV STRUKTUR RUNTUNAN DAN PERCABANGAN

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

BAB II. STRUKTUR DAN POINTER

MODUL 1 Alur Seleksi dengan C++

ELEMEN DASAR C++ C++ mempunyai cara untuk menyatakan karakter-karakter yang tidak mempunyai kode tombol (seperti karakter tombol) misalnya \n.

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

BAB VIII POINTER. Tujuan :

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

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

Pengenalan Array. Array Satu Dimensi

TEKNIK ELEKTRO FAKULTAS TEKNIK UNISMA

Pertemuan : 2(Dua) Pokok Bahasan : Instruksi yang Fundamental Tujuan Khusus : Mahasiswa dapat mengerti konsep pembuatan data

Transkripsi:

Pointer (Part 1) Dadang mulyana Alamat dan Pointer Konsep pointer sebenarnya cukup sederhana. Pointer sesungguhnya berisi alamat dari suatu data, bukan data sebagaimana variabel yang telah anda kenal. 1

Alamat dan Pointer Setiap byte di dalam memori komputer memiliki sebuah alamat. Di dalam memori inilah variabel disimpan. Tetapi tentu saja pemrogram tidak perlu menyebutkan alamat dari suatu variabel secara explisit. Pada saat program dimuat di dalam memori, variabel akan diletakkan dengan sendirinya pada alamat tertentu. Alamat dan Pointer Suatu pointer di dalam program dimaksudkan untuk menunjuk suatu alamat memori. Misalnya kalau pint adalah pointer, dan vint adalah variabel yang terletak di memori beralamat 0xfff2,, pointer pint dapat diatur agar menunjuk ke variabel vint. 2

Alamat dan Pointer Mengetahui Alamat Suatu Variabel Alamat suatu variabel dapat diketahui dengan mudah, caranya tambahkan operator alamat, berupa simbol & di depan nama variabel. Dengan mengirimkan ke cout, alamat dari suatu variabel akan ditampilkan ke layar. 3

Mengetahui Alamat Suatu Variabel //program75.cpp int bil1 = 5; float bil2 = 7.5; double bil3 = 17.777; cout<<"isi variabel : "<<endl; cout<<"bil1 = "<<bil1<<endl; cout<<"bil2 = "<<bil2<<endl; cout<<"bil3 = "<<bil3<<endl; cout<<endl; cout<<"alamat variabel : "<<endl; cout<<"bil1 = "<<&bil1<<endl; cout<<"bil2 = "<<&bil2<<endl; cout<<"bil3 = "<<&bil3<<endl; Mengetahui Alamat Suatu Variabel Perlu diketahui, notasi 0x pada hasil program di depan menyatakan notasi heksadesimal. Pada C++, tanda & juga dipakai untuk referensi (alias dari suatu variabel). 4

Mendefinisikan Variabel Pointer Format : tipe_data *nama_variabel tipe_data dapat berupa sembarang tipe data seperti halnya variabel bukan pointer. nama_variabel adalah variabel pointer. Mengisi Variabel Pointer Supaya variabel pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk. Misalnya terdapat pendefinisian seperti berikut : int vint = 55; int *pint; Variabel pint dapat diatur agar menunjuk ke vint dengan cara sebagai berikut : pint = &vint; Pernyataan diatas berarti : pint diisi dengan alamat dari vint. 5

Mengisi Variabel Pointer //program76.cpp int vint = 55; int *pint; pint = &vint; //pointer menunjuk ke vint cout<<"alamat vint = "<<&vint<<endl; cout<<"isi pint = "<<pint<<endl; Mengisi Variabel Pointer Pada contoh di depan : cout<<"pint = "<<pint<<endl; Baris tersebut ternyata menampilkan isi dari pointer itu sendiri, bukan isi dari variabel vint. 6

Mengakses Nilai Yang Ditunjuk Pointer Berdasarkan contoh di depan, nilai dari vint dapat diakses melalui pint setelah pernyataan dibawah ini dijalankan. pint = &vint; Cara mengaksesnya adalah dengan melibatkan operator tak langsung yang berupa simbol * dan diletakkan di depan nama variabel pointer. Contoh : *pint; Berarti nilai yang ditunjuk oleh pint. Mengakses Nilai Yang Ditunjuk Pointer //program77.cpp int vint = 55; int *pint; pint = &vint; //pointer menunjuk ke vint cout<<"isi vint = "<<vint<<endl; cout<<"alamat vint = "<<&vint<<endl; cout<<"isi pint = "<<pint<<endl; cout<<"nilai yang ditunjuk oleh pint : "<<*pint<<endl; 7

Mengakses Nilai Yang Ditunjuk Pointer Program di depan menunjukkan pengaksesan terhadap vint dapat dilakukan melalui *pint. Contoh berikut menunjukkan isi vint diubah melalui *pint. Mengakses Nilai Yang Ditunjuk Pointer //program78.cpp int vint = 55; int *pint; pint = &vint; //pointer menunjuk ke vint cout<<"isi vint semula = "<<vint<<endl; *pint = 77; cout<<"isi vint sekarang = "<<vint<<endl; 8

Pointer Void Pada contoh-contoh program di depan telah ditunjukkan pointer yang menunjuk ke tipe data tertentu. Sebenarnya juga dimungkinkan untuk membuat pointer tak bertipe. Caranya yakni dengan meletakkan kata kunci void di bagian penentu tipe pointer. Contoh : void *ptr; Suatu pointer void seperti contoh diatas dapat digunakan untuk menunjuk ke sembarang tipe data. Pointer Void //program79.cpp int bil1 = 55; float bil2 = 33.45; void *ptr; ptr = &bil1; //bisa menunjuk ke int cout<<"nilai yang ditunjuk ptr : "<<*(int*)ptr<<endl; ptr = &bil2; //bisa menunjuk ke float cout<<"nilai yang ditunjuk ptr : "<<*(float*)ptr<<endl; 9

Pointer Void Pada program di depan, bentuk berikut perlu diberikan : *(int*)ptr *(float*)ptr Ini disebabkan C++ tidak tahu maksud *ptr mengingat ptr adalah pointer void. Cara ini bukan hanya berlaku jika kita bermaksud mengambil nilai yang ditunjuk oleh ptr tapi juga ketika kita mengubahnya. Seperti contoh program berikut : Pointer Void //program80.cpp int bilangan = 55; void *ptr; ptr = &bilangan; cout<<"bilangan semula : "<<bilangan<<endl; *(int*)ptr = 77; //mengubah nilai bilangan melalui ptr cout<<"bilangan sekarang : "<<bilangan<<endl; 10