Algoritma dan Struktur Data. Pertemuan 5 Pointer

dokumen-dokumen yang mirip
Algoritma dan Struktur Data. Pointer Pada Struct

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

A. TUJUAN 1. Memecah program dalam fungsi fungsi yang sederhana. 2. Menjelaskan tentang pemrograman terstruktur.

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

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

PRAKTIKUM 11 POINTER 1

SINGLE LINKED LIST (NON CIRCULAR)

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA LAB SHEET BAHASA PEMROGRAMAN Fungsi : Passing Parameter by Value & Semester 3

Algoritma Pemrograman. Fery Updi,M.Kom

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

POINTER I. Oleh : Mike Yuliana PENS-ITS

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

ALGORITMA DAN STRUKTUR DATA

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

POINTER II. Oleh : Mike Yuliana PENS-ITS

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

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

01. Review Array, Pointer dan Struktur

Sedangkan bentuk umum pendefinisian fungsi adalah : Tipe_fungsi nama_fungsi(parameter_fungsi) { statement statement... }

Algoritma dan Struktur Data. Linked List

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Algoritma dan Struktur Data. Pertemuan 6 Alokasi Memori Dinamis

/* File program : tukar1.c Untuk melihat pengaruh pemanggilan nilai pada fungsi untuk penukaran dua data */

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

POINTER. Tim Alpro Teknik Informatika

Fungsi 2 DASAR PEMROGRAMAN

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

void tukar_xy(struct koordinat *pos_xy){ int z; z = (*pos_xy).x; (*pos_xy).x = (*pos_xy).y; (*pos_xy).y = z;

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

Pernyataan FOR Pernyataan WHILE Pernyataan REPEAT. Dewi Sartika,M.Kom

Algoritma dan Struktur Data. Ramos Somya

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

Fungsi, Parameter, Rekursi

A. TUJUAN PEMBELAJARAN

MAKALAH POINTER PADA BAHASA C

POINTER DASAR PEMROGRAMAN

ARRAY. Karakteristik

ASD. Alokasi Memori Dinamis

POINTER STACK DAN QUEUE. Institut Teknologi Sumatera

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

Algoritma dan Struktur Data Praktikum 3. Pointer

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

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

REPRESENTASI FISIK LIST LINEAR

BAB VIII POINTER. Tujuan :

Algoritma Pemrograman 2B (Pemrograman C++)

MODUL PRAKTIKUM BAHASA PEMROGRAMAN TESTRUKTUR MODUL 8 POINTER

PRAKTIKUM 11 POINTER 1

Pointer 1 A. TUJUAN PEMBELAJARAN

PRAKTIKUM 12 POINTER 2

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

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

Algoritme dan Pemrograman

Pointer, File Header & Makro

KONSEP POINTER DAN LINKED LIST

PERTEMUAN 3 KONSEP TIPE DATA

Algoritma Pemrograman. Fery Updi,M.Kom

Pemrograman Dasar C. Minggu 9

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

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

Bahasa C melengkapi fasilitas modular dengan menggunakan fungsi pada setiap SubProgram. Contoh pembagian program menjadi beberapa subprogram.

Pertemuan 2 ARRAY DIMENSI 1 & 2

Minggu ke-11 Fungsi (Function)

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

BAB III POINTER. Type *variabel-name

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

Fungsi DASAR PEMROGRAMAN

Pointer. Yuliana Setiowati

Achmad Solichin.

Pendahuluan Struktur Data. Nisa ul Hafidhoh

SENARAI BERANTAI (LINK LIST)

elemen Dasar Bahasa Pemrograman C

Algoritma Pemrograman & Struktur Data

Achmad Solichin.

KONSEP POINTER DAN LINKED LIST

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

STRUCTURE. Structure

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

Program menjadi terstruktur Dapat mengurangi pengulangan kode program. Fungsi dapat diimplementasikan dalam tiga bentuk :

KONSEP DASAR. menyusunnya menjadi potongan-potongan mudah untuk ditangani dibanding. conquer.

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

POINTER. Tim Alpro Teknik Informatika

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

VI. FUNGSI. Fungsi Main ( ) Fungsi a ( ) Fungsi b ( ) Fungsi c ( ) Fungsi c1 ( ) Fungsi c2 ( ) Fungsi c3 ( ) Bentuk umumnya :

Algoritma dan Pemrograman Tahar Agastani Teknik Informatika UIN

Pertemuan 04. Pemrograman Dasar 2012

MODUL 5 SUBPROGRAM / FUNGSI

PERTEMUAN VIII STRUKTUR LANJUT

Modul 1 Dasar Dasar Bahasa Pemrograman C

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

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

Algoritma Pemrograman. Fery Updi,M.Kom

PRAKTIKUM 14 STRUKTUR 2

Review : Sifat Implementasi Linear List dengan Array

BAB 6 FUNGSI TUJUAN PRAKTIKUM

Pertemuan 2 ARRAY DIMENSI 1 & 2

BAB VI BAHASA C Pendahuluan

PRAKTIKUM 14 STRUKTUR 2

Pendahuluan Pemrograman Mikrokontroler

Chapter 3.2 : Tipe, Nama dan Nilai

Transkripsi:

Algoritma dan Struktur Data Pertemuan 5 Pointer

Implementasi ADT Setelah membuat ADT kita bisa mengimplementasikannya menjadi tipe data baru Tipe data baru tersebut disusun dari tipe data tipe data yang telah ada Variabel (DPK) Struct (DPK, dibahas lagi di pertemuan kali ini ) Array (DPK) Pointer (DPK, dibahas lagi di pertemuan kali ini ) Alokasi memori dinamis (pertemuan berikutnya)

Memori Komputer Komputer menyimpan variabel program di satu atau beberapa slot pada memori Tiap slot memori memiliki nomor atau alamat tertentu

Di slot memori nomer berapa sebuah variabel disimpan? #include <stdio.h> #include <conio.h> void main() { int x; Tambahkan & sebelum variabel x x = 10; printf("x berada di slot memori nomor : %d", &x); getch(); }

Eksekusi program

Pointer Nomor atau alamat slot memori di mana variabel disimpan dapat disimpan pada variabel lain Variabel tersebut dinamakan pointer Pointer tidak menyimpan isi variabel, tetapi menyimpan alamat / nomor slot di mana isi variabel berada

Contoh #include <stdio.h> #include <conio.h> void main() { int x; int *px; x = 10; px = &x; printf("x berada di slot memori nomor : %d", px); getch(); }

Eksekusi program

Mengakses nilai variabel Nilai sebuah variabel bisa diakses melalui dua cara Cara 1 : Langsung Cara 2 : Menggunakan pointer

Contoh #include <stdio.h> #include <conio.h> void main() { int x; int *px; x = 10; px = &x; printf("nilai x diakses secara langsung : %d\n", x); printf("nilai x diakses melalui pointer : %d", *px); getch(); }

Eksekusi program

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 5 j int integer variable 10

An Illustration int i = 5, j = 10; int *ptr; /* declare a pointer-to-integer variable */ int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 5 j int integer variable 10 ptr int * integer pointer variable

An Illustration int i = 5, j = 10; int *ptr; int **pptr; /* declare a pointer-to-pointer-to-integer variable */ ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 5 j int integer variable 10 ptr int * integer pointer variable pptr int ** integer pointer pointer variable Double

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; /* store address-of i to ptr */ pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 5 j int integer variable 10 ptr int * integer pointer variable address of i pptr int ** integer pointer pointer variable *ptr int de-reference of ptr 5

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; /* store address-of ptr to pptr */ *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 5 j int integer variable 10 ptr int * integer pointer variable address of i pptr int ** integer pointer pointer variable address of ptr *pptr int * de-reference of pptr value of ptr (address of i)

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 3 j int integer variable 10 ptr int * integer pointer variable address of i pptr int ** integer pointer pointer variable address of ptr *ptr int de-reference of ptr 3

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 7 j int integer variable 10 ptr int * integer pointer variable address of i pptr int ** integer pointer pointer variable address of ptr **pptr int de-reference of de-reference of pptr 7

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 7 j int integer variable 10 ptr int * integer pointer variable address of j pptr int ** integer pointer pointer variable address of ptr *ptr int de-reference of ptr 10

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable 7 j int integer variable 9 ptr int * integer pointer variable address of j pptr int ** integer pointer pointer variable address of ptr **pptr int de-reference of de-reference of pptr 9

An Illustration int i = 5, j = 10; int *ptr; int **pptr; ptr = &i; pptr = &ptr; *ptr = 3; **pptr = 7; ptr = &j; **pptr = 9; *pptr = &i; *ptr = -2; Data Table Name Type Description Value i int integer variable -2 j int integer variable 9 ptr int * integer pointer variable address of i pptr int ** integer pointer pointer variable address of ptr *ptr int de-reference of ptr -2

Operasi pada pointer Apa arti ptr + 1? Alamat slot sesudahnya! Apa arti ptr - 1? Alamat slot sebelumnya! Apa arti ptr * 2 and ptr / 2? Invalid operations!!!

Operasi pada pointer Apa arti *ptr + 1? Apa arti *ptr - 1? Apa arti *ptr * 2 and ptr / 2?