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

dokumen-dokumen yang mirip
Pointer (Part 1) Alamat dan Pointer. Dadang mulyana. sederhana.

MENGENAL POINTER. Mengetahui Alamat variabel. Output :

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

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

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

BAB VIII POINTER. Tujuan :

POINTER. Pemrograman Bahasa C++

PRAKTIKUM 11 POINTER 1

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

POINTER DASAR PEMROGRAMAN

PRAKTIKUM 12 POINTER 2

xxxx alamat Praktikum 11 POINTER

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

MAKALAH POINTER PADA BAHASA C

PRAKTIKUM 11 POINTER 1

POINTER II. Oleh : Mike Yuliana PENS-ITS

PRAKTIKUM 12 POINTER 2

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Struktur Bahasa C dan C++

STRUKTUR DATA MENGGUNAKAN C++ Windha Mega PD, S.Kom

Pointer, File Header & Makro

PEMROGRAMAN BERORIENTASI OBJEK. Tipe Data. Budhi Irawan, S.Si, M.T

Konsep Array dalam PBO

Komentar, Identifier, Konstanta dan Variabel

Operator untuk operasi aritmatika yang tergolong sebagai operator binary adalah: Perkalian Pembagian Sisa Pembagian (mod) Penjumlahan 6 2

Pengenalan C++ Oleh : Dewi Sartika

Algoritma dan Struktur Data Praktikum 3. Pointer

mengatur jumlah digit pecahan yang diinginkan mengatur atau mengontrol sejumlah tanda format, misalkan rata kiri, kanan, huruf capital dll.

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Akan diperhatikan tipe data dari masing-masing operand dalam ungkapan dan secara otomatis akan dilakukan.

POINTER I. Oleh : Mike Yuliana PENS-ITS

Achmad Solichin.

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

Basic Input/Output Operator Yoannita

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

Pointer dan Referensi

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

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

Array (Larik) Modul 7

Struct & Pointer. Agung Sasongko, M.Kom

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

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

BAB VII. FUNCTION. A. Pengantar Function. #include <iostream.h> #include <conio.h> { clrscr(); // detail function

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

MODUL V POINTER DAN STRING

PEMROGRAMAN BERORIENTASI OBJEK

BAB VIII SUB PROGRAM : Fungsi Tanpa Pengembalian Nilai

Mukhlidi Muskhir Modul 2

Keg. Pembelajaran 3 : Operator dalam Bahasa C++

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

Pertemuan 2 ARRAY DIMENSI 1 & 2

Identifier Tipe Data Yoannita, S.Kom.

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

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

Keg. Pembelajaran 2 : Mengenal Bahasa C++

Identifier dan Tipe Data

Praktikum 1. Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

Pointer 1 A. TUJUAN PEMBELAJARAN

BAB XI ARRAY (LARIK)

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

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

MODUL IV OPERASI DASAR MASUKAN DAN KELUARAN

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

elemen Dasar Bahasa Pemrograman C

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

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

PEMROGRAMAN TERSTRUKTUR D3MI 2016

Tipe Data. Adri Priadana

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

Pertemuan 2 ARRAY DIMENSI 1 & 2

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

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

Struktur Kontrol. (Repetition)

Algoritma dan Pemrograman

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

main() { int y, x = 87; /* x & y bertipe int */ int *px; /* var pointer yg menunjuk ke data yang bertipe int */

Pertemuan 7. REVIEW dan QUIS

Algoritma Pemrograman & Struktur Data

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

Pernyataan if MODUL V PERCABANGAN

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LABSHEET ALGORITMA DAN STRUKTUR DATA

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

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

SCRIPT PERTEMUAN 23. #include<conio.h> #include<stdio.h> #include<iostream.h> #include<iomanip.h>

BAB 2. FUNGSI INPUT OUTPUT

P3 Dasar Struktur Data TIF42/SIF42

ALUR PROGRAM. SELEKSI KONDISI Statement If a. Bentuk If tunggal sederhana Sintaks : if ( kondisi ) statement ;

Pointer. Yuliana Setiowati

VARIABEL & TIPE DATA PEMROGRAMAN C++

BAB 6 POINTER DAN REFERENCE

Array 1 A. TUJUAN PEMBELAJARAN

BAB I. LARIK (ARRAY) Array (larik) ialah penampung sejumlah data sejenis (homogen) yang menggunakan satu identifier (pengenal).

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

SINGLE LINKED LIST (NON CIRCULAR)

MODUL 9 STRUCT (STRUKTUR)

Transkripsi:

8. Pointer S. Indriani L, M.T

Alamat dan Pointer Pointer sesungguhnya berisi alamat dari suatu data, bukan data sebagaimana pada variabel yang telah Anda kenal. Setiap byte didalam memori komputer memiliki sebuah alamat. Didalam memori inilah variabel disimpan. Pada saat program dimuat didalam memori, variabel akan diletakkan dengan sendirinya pada alamat tertentu. Suatu pointer didalam program dimaksudkan untuk menunjuk ke suatu alamat memori.

Misal: pint adalah pointer vint adalah variabel yang terletak didalam memori beralamatkan 0xfff2. maka pointer pint dapat diatur agar menunjuk ke variabel vint. alamat 0xfff4 0xfff2 pint 0xfff2 vint Merujuk ke vint

Mengetahui alamat suatu variabel Caranya: tambahkan operator alamat, berupa simbol & didepan nama variabel, lalu dengan mengirimkan ke cout, alamat dari suatu variabel akan ditampilkan ke layar

#include<iostream.h> #include<conio.h> Hasil: void main() { int a=5; float b=7.5; double c=17.777; clrscr(); } cout<<"isi variabel:"<<endl; cout<<"a = "<<a<<endl; cout<<"b = "<<b<<endl; cout<<"c = "<<c<<endl; cout<<"alamat variabel : "<<endl; cout<<"a = "<<&a<<endl; cout<<"b = "<<&b<<endl; cout<<"c = "<<&c<<endl; Perlu diketahui: Notasi 0x pada hasil program diatas menyatakan notasi heksadesimal

Mendefinisikan variabel pointer Suatu variabel pointer dapat difenisikan dengan bentuk sbb: tipe_data *nama_variabel; keterangan: tipe_data dapat berupa sembarang tipe seperti halnya pada pendefinisian variabel bukan pointer. nama_variabel adalah nama variabel pointer. Beberapa contoh pendefinisian variabel pointer: int *pint char *pch float *pfl //pointer ke int //pointer ke char //pointer ke float

Mengisi variabel pointer Supaya suatu variabel pointer menunjuk ke variabel lain, mula-mula harus diisi dengan alamat dari variabel yang hendak ditunjuk. Misal: int vint = 55; int *pint; int *pint; Variabel pointer pint dapat diatur agar menunjuk ke vint dengan cara sbb: pint = &vint; Pernyataan diatas berarti: pint diisi dengan alamat dari vint. Operator & menyatakan alamat dari

#include<iostream.h> #include<conio.h> void main() { int vint=55; int *pint; Ternyata menampilkan isi dari pointer itu sendiri, bukan isi dari variabel vint clrscr(); pint = &vint; } cout<<"alamat vint ="<<&vint<<endl; cout<<"pint = "<<pint<<endl;

Mengakses nilai yang ditunjuk pointer Berdasarkan program sebelumnya, nilai vint dapat diakses melalui pint setelah pernyataan: pint = &vint; Caranya dengan melibatkan operator tak langsung. Operator ini berupa simbol * dan diletakkan didepan nama variabel pointer. Contoh: *pint berarti nilai yang ditunjuk oleh pint

#include<iostream.h> #include<conio.h> void main() { int vint=55; int *pint; clrscr(); pint = &vint; } cout<<"nilai yang ditujuk pint : "<<*pint<<endl;

Pointer dan Array Pointer dan Array mempunyai hubungan yang dekat. Secara internal array juga menyatakan alamat. Misalnya: int tgl_lahir[]={26, 3, 1979}; dan int *ptgl; agar ptgl menunjuk ke array, diperlukan pernyataan berupa: ptgl = tgl_lahir;

Perhatikan dengan seksama skema tersebut! Tidak ada tanda & didepan tgl_lahir. Ini disebabkan nama array sebenarnya sudah menyatakan alamat. Oleh karena itu tanda & tidak diperlukan.

#include<iostream.h> #include<conio.h> void main() { clrscr(); int tgl_lahir[] = {26, 3, 1979}; int *ptgl; ptgl = tgl_lahir; cout<<"nilai yang ditujuk ptgl : "<<*ptgl<<endl; } cout<<"nilai dari tanggal lahir [0] :"<<tgl_lahir [0]<<endl;

Seluruh elemen array tgl_lahir dapat ditampilkan melalui pernyataan: for (int i=0; i<3; i++) cout<<tgl_lahir[i]<<endl; bentuk seperti tgl_lahir[i] dapat diubah dalam notasi pointer seperti berikut: for(int i=0; i<3; i++) cout <<*(tgl_lahir + i)<<endl;

#include<iostream.h> #include<conio.h> void main() { clrscr(); int tgl_lahir[] = {26, 3, 1979}; int *ptgl; ptgl = tgl_lahir; } for( int i=0; i<3; i++) cout <<*(ptgl +i)<<endl;

Pointer dan String #include<iostream.h> #include<conio.h> void main() { clrscr(); } char tokoh[]="barrack_obama"; char *ptokoh ="Barrack_Obama"; cout<<"tokoh ="<<tokoh<<endl; cout<<"ptokoh = "<<ptokoh<<endl; ptokoh++; //tokoh++; tidak diperkenankan cout<<"ptokoh = "<<ptokoh<<endl; Tampak dengan pointer dengan mudah dapat diubah (misalnya ptokoh). Dengan cara seperti ini, kalau semula ptokoh menunjukkan Barrack_Obama, kini menunjukkan arrack Obama

Array Pointer Suatu array bisa digunakan untuk menyimpan sejumlah pointer. Contoh: char *namahari[7]; merupakan pernyataan untuk mendefinisikan array namahari yang berisi 7 buah elemen yang berupa pointer. Pointer ini menunjuk ke data bertipe char.

#include<iostream.h> #include<conio.h> void main() { clrscr(); char *namahari[]= {"Senin", "Selasa", "Rabu", "Kamis", "Jumat", "Sabtu", "Minggu"}; } for (int i=0; i<7; i++) cout<<namahari[i]<<endl;

Pointer menunjuk Pointer Suatu pointer bisa saja menunjuk ke pointer lain. ptr2 ptr1 var_x Untuk membentuk rantai pointer seperti diatas diperlukan pendefinisian sbb: int var_x; int *ptr1; int **ptr 2 // satu tanda * di depan ptr1 // dua tanda * didepan ptr2 Agar ptr1 menunjuk ke variabel var_x, perintah yang diperlukan berupa: ptr1= & var_x; Sedangkan supaya ptr2 menunjuk ke ptr1, diperlukan perintah berupa: ptr2= &ptr1;

#include<iostream.h> #include<conio.h> void main() { clrscr(); int var_x=273; int *ptr1; int **ptr2; cout<<"var x = "<<var_x<<endl; ptr1=&var_x; ptr2=&ptr1; cout<<"*ptr1 ="<<*ptr1<<endl; } cout<<"**ptr2 = "<<**ptr2<<endl;