POINTER. Tim Alpro Teknik Informatika

dokumen-dokumen yang mirip
POINTER. Tim Alpro Teknik Informatika

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

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

Pointer. Yuliana Setiowati

POINTER. Konsep Dasar

Algoritme dan Pemrograman

Pemrograman Dasar C. Minggu 10

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

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

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

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

Pendahuluan Pemrograman Mikrokontroler

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

Algoritma dan Struktur Data. Pertemuan 5 Pointer

01. Review Array, Pointer dan Struktur

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

Algoritma dan Struktur Data. Ramos Somya, S.Kom., M.Cs.

Pemrograman Dasar C. Minggu 9

A. TUJUAN PEMBELAJARAN

Review : Sifat Implementasi Linear List dengan Array

Turbo C adalah tool yang dipakai untuk membuat code program dalam bahasa C ataupun C++. Berikut adalah jendela utama Turbo C

Algoritma dan Struktur Data. Ramos Somya

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

ARRAY. Karakteristik

04. Single Linked List

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


SINGLE LINKED LIST (NON CIRCULAR)

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

Algoritma dan Struktur Data. Linked List

BAB III POINTER. Type *variabel-name

BAB VIII POINTER. Tujuan :

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

Seluruh elemen di dalam struktur array mempunyai tipe data yang sama. Random Access

LIST. Dewi Sartika, M.Kom

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

Objek Data, Variabel, dan Konstanta. Konsep Bahasa Pemrograman Materi 4 Yudianto Sujana, M.Kom

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

Pemrograman Berorientasi Object

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

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

Algoritma Pemrograman. Fery Updi,M.Kom

VARIABEL & TIPE DATA PEMROGRAMAN C++

BAB 3. OPERATOR DALAM BHS C

Achmad Solichin.

Universitas Komputer Indonesia. Pemrograman dengan C++ Builder 2004 Taryana S.

Pointer dan Referensi

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

ALGORITMA DAN STRUKTUR DATA

Achmad Solichin.

Struct. Tim ALPRO Teknik Informatika

BAB IX LINKED LIST (SENARAI BERANTAI)

05. Double Linked List

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

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

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

KONSEP POINTER DAN LINKED LIST

Single Linked List (1)

Pointer, File Header & Makro

P 4 Bab 3 : Dasar Pemrograman C

Pointer. ted = &andy;

BAB 4 PENGENALAN BAHASA C

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Variabel, Tipe Data, dan Operator. Oleh : Edi Sugiarto, S.Kom, M.Kom

MAKALAH POINTER PADA BAHASA C

Algoritma dan Struktur Data. Pertemuan 6 Alokasi Memori Dinamis

Bahasa C Array. Slide diambil dari MK Dasar-Dasar Pemrograman Fasilkom UI Dimodifikasi dan disesuaikan dngn kebutuhan pengajaran di PTI-Undiksha

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

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

ASD. Alokasi Memori Dinamis

STRUKTUR PROGRAM. Secara ringkas, struktur suatu program Pascal dapat terdiri dari : 1.Judul Program 2.Blog Program a.

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

Pointer. Objektif. Bahan Bacaan

STRUCTURE. Structure

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

FUNGSI & PROSEDUR. Pertemuan ke-12 dan 13

Algoritma & Pemrograman #9. by antonius rachmat c, s.kom, m.cs

Modul 1 Dasar Dasar Bahasa Pemrograman C

Pointer di C++ Menurut Frieyadie Edisi Revisi Buku Pemrograman C++ dengan Borland C

Minggu ke-3 Tipe Data Dalam C

LOGIKA ALGORITMA. Pertemuan 9 By: Augury

BEKERJA DENGAN JAVA CLASS LIBRARY

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

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

Data structure :Metode LINK LIST. Kusnawi, S.Kom, M.Eng STMIK AMIKOM Yogyakarta

KONSEP POINTER DAN LINKED LIST

Pointer 2 A. TUJUAN PEMBELAJARAN. 1. Memahami tentang Pointer to Array 2. Memahami tentang Pointer to String

elemen Dasar Bahasa Pemrograman C

Algoritma Pemrograman & Struktur Data

Program Menggabungkan 2 Tipe String

Pertemuan 3. Perubah Dinamis (Dinamic variable) Suatu perubah yang akan dialokasikan hanya pada saat diperlukan, yaitu setelah program dieksekusi.

Pointer 1 A. TUJUAN PEMBELAJARAN

Array merupakan sekumpulan variable dengan tipe yang sama. Elemen dalam array diakses dengan menggunakan indeks-nya.

Identifier Tipe Data Yoannita, S.Kom.

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

Identifier, Keywords, Variabel, Tipe Data Primitif dan Operator PBO. Ramos Somya

Transkripsi:

POINTER Tim Alpro Teknik Informatika

Pointer Pointer merupakan salah satu keunggulan dari bahasa C. Komputer mengalokasikan sebuah area pada memori ketika sebuah variabel dideklarasikan. Area tersebut diacu dengan menggunakan sebuah variabel dalam program, namun ketika program di-compile dan berjalan, komputer mengacu area tersebut dengan menggunakan alamat atau lokasi dari memori.

Contoh Variabel Perhatikan contoh berikut: int angka = 3; Dalam hal ini, area pada memori dialokasikan untuk menyimpan nilai integer. Memori tersebut dapat diakses dengan menggunakan nama angka.

Alamat Komputer mengacu kepada area memori dengan menggunakan sebuah alamat. Alamat rinci dari data yang disimpan bergantung kepada jenis komputer, sistem operasi, dan compiler yang digunakan. Jadi, meskipun nama variabel yang digunakan adalah tetap (fixed), alamat dari variabel yang digunakan akan berbeda pada sistem yang berbeda.

Pointer & Alamat Variabel yang dapat menyimpan alamat disebut dengan pointer, dan alamat yang disimpan dalam pointer biasanya adalah variabel lain

Karakteristik Pointer Hal penting yang harus diketahui adalah, compiler harus tahu jenis dari data yang disimpan dalam variabel yang diacu oleh pointer. Sehingga dapat diketahui jumlah memori yang akan dialokasikan atau bagaimana cara untuk menangani isi dari memori yang diacu oleh pointer. Sebuah pointer pada sebuah variabel char mengacu pada nilai dengan alokasi sebesar 1Byte, sedangkan sebuah pointer pada variabel int biasanya mengalokasikan 4Byte.

Karakteristik Pointer Setiap pointer akan dihubungkan dengan jenis variabel tertentu, dan hanya bisa digunakan untuk mengacu jenis variabel tersebut. Sehingga pointer berjenis pointer to int hanya dapat mengacu pada variabel berjenis int, dsb. Secara umum sebuah pointer dari type tertentu ditulis dengan type* untuk setiap nama type

Deklarasi Pointer Bentuk umum deklarasi pointer: Tipe *Nama-variabel-pointer; Contoh pointer sebuah variabel berjenis int : int *almt; Jenis dari variabel bernama almt adalah int*. Variabel tersebut dapat menyimpan alamat dari variabel apapun yang berjenis int.

Inisialisasi Pointer Pointer yang tidak diinisialisasi sangatlah berbahaya, lebih berbahaya dari variabel biasa yang tidak diinisialisasi. Jadi, sebaiknya selalu lakukan inisialisasi pointer ketika dideklarasikan. Kita dapat menginisialisasi pointer almt sehingga tidak mengacu kemanapun: int *almt = NULL;

Null Pointer NULL adalah sebuah konstanta dalam standard library dan setara dengan nilai 0 untuk sebuah pointer. NULL memastikan sebuah pointer tidak mengacu ke lokasi manapun dalam memori. Hal tersebut dimaksudkan untuk menghindari penimpaan (overwriting) memori.

Operator Bahasa C menyediakan dua buah operator untuk operasi pointer yaitu operator * dan operator &. Operator alamat & digunakan untuk mendapatkan alamat memori dari operandnya. &almt -> address Operator * digunakan untuk mendapatkan nilai dari operandnya *almt -> value

Penggunaan Operator Jika ingin menginisialisasi variabel almt dengan alamat dari variabel yang telah dideklarasikan, kita dapat menggunakan operator address of & : int angka = 50; int *almt = &angka; Nilai awal dari almt adalah alamat dari variabel angka. Perlu diingat bahwa deklarasi dari angka harus dilakukan terlebih dahulu sebelum deklarasi dari pointer yang akan digunakan untuk menyimpan alamat tersebut. int var = *almt; Nilai var adalah 50.

Deklarasi Pointer dan Variabel Tidak ada pendeklarasian khusus dari pointer. Kita dapat mendeklarasikan variabel biasa dan pointer dalam satu pernyataan: double nilai, *lokasi, abc; Pernyataan tersebut mendeklarasikan dua variabel jenis double-precision floating-point yaitu nilai dan abc, dan sebuah variabel *lokasi yang berjenis pointer to double

Pointer VS Variabel Perhatikan contoh lain berikut ini: int *p, q; Pernyataan tersebut mendeklarasikan pointer p berjenis int*, dan sebuah variabel q yang berjenis int. Kesalahan umum yang sering terjadi adalah dengan menganggap variabel p dan q adalah pointer

Latihan Deklarasi var Y, Z, pointer X. Tipe char Nilai var X adalah J Isi nilai var X ke var Y Tampilkan alamat X Mengisi nilai dalam alamat X ke var Z

char *Alamat_X,X,Y,Z; X= J ; Alamat_X = &X; Y = X; Z = *Alamat_X; printf( Nilai variabel X adalah %c\n, X); printf( Nilai variabel Y adalah %c\n, Y); printf( Nilai variabel Z adalah %c\n, Z);

Array & Pointer Pointer pada array memerintahkan pointer agar menunjuk ke alamat yang telah dialokasikan oleh array tersebut. Definisi pointer: int *P; kemudian kita tunjuk ke alamat Array A P = &A[0]; P akan menunjuk alamat pertama Array

Array Deklarasi array int A[10]; Kita memerintahkan compiler untuk menyediakan alamat memori sebesar 10 * sizeof(int). Bila ukuran int adalah 4 byte, maka compiler akan mengalokasikan sebesar 10 * 4 byte = 40 byte memori untuk A.

Malloc() Fungsi untuk mengalokasikan memori Prototipe void * malloc(size_n) Fungsi malloc() akan mengembalikan pointer ke sejumlah n byte ruang memory yang belum diinisialisasi. Apabila tidak terpenuhi, maka fungsi ini akan mengembalikan nilai NULL. Deklarasi int array[10]; int *p; p = (int *) malloc(10 * sizeof(int)); // p = (int*) malloc(40)

Ada Pertanyaan?