Pointer. Yuliana Setiowati

dokumen-dokumen yang mirip
BAB VIII POINTER. Tujuan :

POINTER DASAR PEMROGRAMAN

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

PRAKTIKUM 12 POINTER 2

xxxx alamat Praktikum 11 POINTER

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

MAKALAH POINTER PADA BAHASA C

PRAKTIKUM 12 POINTER 2

POINTER I. Oleh : Mike Yuliana PENS-ITS

POINTER. Praktikum 10 (3/5) A. TUJUAN 1. Menjelaskan tentang Pointer to Array 2. Menjelaskan tentang Pointer to String

PRAKTIKUM 11 POINTER 1

POINTER. Tim Alpro Teknik Informatika

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

Pengenalan Struktur Data. Farah Zakiyah Rahmanti 2014

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

void naikkan_nilai (int *x, int *y) { *x = *x + 2; *y = *y + 2; }

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

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

POINTER II. Oleh : Mike Yuliana PENS-ITS

Algoritme dan Pemrograman

Pendahuluan Pemrograman Mikrokontroler

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

POINTER. Konsep Dasar

PRAKTIKUM 11 POINTER 1

01. Review Array, Pointer dan Struktur

BAB 10 POINTER 5.1 Tujuan 5.2 Pengertian Pointer Perubah dinamis pointer

Achmad Solichin.

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

Algoritma dan Struktur Data. Ramos Somya

POINTER. Tim Alpro Teknik Informatika

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

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

04. Single Linked List

ALGORITMA DAN STRUKTUR DATA POINTER DAN FUNCTION

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

Fungsi, Parameter, Rekursi

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

Fungsi Lanjut DASAR PEMROGRAMAN

POINTER. Pemrograman Bahasa C++

Algoritme dan Pemrograman

Pointer 1 A. TUJUAN PEMBELAJARAN

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

Fungsi : Dasar Fungsi

Algoritma Pemrograman. Fery Updi,M.Kom

Algoritma Pemrograman 2B (Pemrograman C++)

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

A. TUJUAN PEMBELAJARAN

Minggu ke-11 Fungsi (Function)

Achmad Solichin.

Algoritme dan Pemrograman

Fungsi (Function) Pendahuluan. Objektif. Bahan Bacaan

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

BAB 6 FUNGSI TUJUAN PRAKTIKUM

PRAKTIKUM 7 FUNGSI 1

Struct Lanjutan: Studi Kasus

A. TUJUAN 1. Menjelaskan tentang prinsip dasar fungsi. 2. Menjelaskan tentang.parameter formal dan parameter aktual

Modul 1 Dasar Dasar Bahasa Pemrograman C

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

Pointer. Objektif. Bahan Bacaan

MODUL 7 FUNGSI A. Tujuan. B. Petunjuk. C. Dasar Teori

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

PERTEMUAN VI POINTER 6.1 Tujuan Praktikum 6.2 Teori Penunjang Pointer

a[0] a[1] a[2] a[3] a[4] a[5] x

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

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

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

ARRAY. Karakteristik

B. DASAR TEORI B.1 Array Suatu array berdimensi satu dideklarasikan dalam bentuk umum berupa : tipe_data nama_var[ukuran];

Bab 9 Pointer. 9.1 Pendeklarasian pointer

STRING DASAR PEMROGRAMAN

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

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

Fungsi 1 DASAR PEMROGRAMAN

Perulangan, Percabangan, dan Studi Kasus

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

BAB VI BAHASA C Pendahuluan

MODUL 10 Fungsi 10.1 Kompetensi 10.2 Alat Dan Bahan: 10.3 Ulasan Teori: Dasar Fungsi Deklarasi Fungsi

Tipe Data dan Operator

TIM ASISTEN PRAKTIKUM ALGORITMA DAN PEMROGRAMAN 2017

1. Mempelajari konsep dasar array, array ganda, pengiriman array ke fungsi dan string 2. Membuat program menggunakan array, array ganda

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

BAB 5 PERULANGAN DAN ARRAY

Pemrograman Dasar C. Minggu 10

FAKULTAS TEKNIK UNIVERSITAS NEGERI YOGYAKARTA

Fungsi DASAR PEMROGRAMAN

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

SUB PROGRAM P E N G A N TA R P R O G R A M S T U D I. Institut Teknologi Sumatera

OPERASI PERNYATAAN KONDISI

Pencarian (Searching)

05. Double Linked List

Pemrograman Dasar C. Minggu 6

ALGORITMA DAN STRUKTUR DATA

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

Array LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

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

PRAKTIKUM 2. perubah (variabel), konstanta, fungsi, atau obyek lain yang didefinisikan oleh

FUNCTION (FUNGSI) LOGO. Pendidikan Teknik Elektronika FT UNY. Muh. Izzuddin Mahali, M.Cs.

Algoritma Pemrograman. Fery Updi,M.Kom

Transkripsi:

Pointer Yuliana Setiowati

Topik Konsep Dasar Pointer Mendeklarasikan Variabel Pointer Mengatur Pointer agar Menunjuk ke Variabel Lain Mengakses Isi Suatu Variabel Melalui Pointer Mengakses dan Mengubah isi Suatu Variabel Pointer Pointer dan String (pointer to string) Array dari Pointer (Array of Pointer) Pointer menunjuk Pointer (Pointer to Pointer) Pointer dalam Fungsi Pointer Sebagai Parameter Fungsi Pointer Sebagai Keluaran Fungsi (return value)

Pointer Suatu variabel yang berisi dengan alamat lokasi suatu memori tertentu POINTER bukan berisi nilai data, tapi berisi alamat Pendeklarasian pointer tipe *nama-var-pointer int *alamat_x ;

Pointer x = J untuk mengetahui alamat dari variabel x digunakan &x alamat_x = &x ; untuk mengetahui isi dari alamat_x int z ; z = *alamat_x ;

Pointer #include <stdio.h> main() { char * alamat_x, x ; x = 'J'; alamat_x = &x ; FFDB FFDC FFDD FFDE J FFDD alamat_x printf("nilai variabel x di alamat %p \n",alamat_x); printf("nilai pada alamat_x = %c \n",*alamat_x); }

Pointer int i = 5; ip = &i; *ip = 7; int j = 3; ip = &j; int *ip2; ip2 = ip;

Pointer ip = 5; //salah Set nilai yang ditunjuk oleh pointer ip *ip = 5 ; // OK printf( %d/n, * ip) main() { int *ip ; } *ip = 5; printf("%d",*ip); Error : local variable 'ip' used without having been initialized

main() { int i = 5, *ip; int j = 3, *ip2; printf("nilai i sebelum = %d \n",i); ip = &i; *ip = 7; printf("nilai i sesudah = %d \n",i); printf("nilai j sebelum = %d \n",j); ip = &j; ip2 = ip; printf("nilai *ip = %d \n",*ip); printf("nilai *ip2 = %d \n",*ip2); }

Mengakses dan Mengubah isi Suatu Variabel Pointer

Pointer dan Array (pointer to array) static int tgl_lahir[3] = { 01, 09, 64 }; int *ptgl; ptgl = &tgl_lahir[0]; maka ptgl akan berisi alamat dari elemen array tgl_lahir yang berindeks nol. Instruksi di atas bisa juga ditulis menjadi ptgl = tgl_lahir; sebab nama array tanpa tanda kurung menyatakan alamat awal dari array. Sesudah penugasan seperti di atas, *ptgl = dengan sendirinya menyatakan elemen pertama (berindeks sama dengan nol) dari array tgl_lahir.

Pointer dan Array int *ip; int a[10]; ip =&a[3]; ip2 = ip + 1;

Pointer dan Array *ip2 = 4 -> a[4] = 4 *(ip + 1) = 5 -> a[4] = 5 *(ip 2 ) = 4 -> a[1] = 4 Ip = a + 3; //a[3] Ip = &a[0] + 3; //a[3] Ip = &a[3] ; //a[3]

Pointer dan Array { char S[]="ABCDEFG", *PS; int i; PS = S ; for(i=0;i<7;i++){ //for(i=0;*ps!= \0 ;i++) printf("%c", *PS); PS++; } printf("\n");

Pointer dan Array PS = &S[4] ; printf("s[4] sebelum %c\n", S[4]); *PS = 'X'; printf("s[4] sesudah %c\n", S[4]); printf("s[2] sebelum %c\n", S[2]); *(PS - 2) = 'K'; printf("s[2] sesudah %c\n", S[2]); }

Null Pointer pointer yang tidak menunjuk ke manapun pendeklarasian : int *p=null ; int *p = 0 ;

char *mystr(char input[], char pat[]) { char *start, *p1, *p2; for(start=&input[0]; *start!='\0'; start++) { p1 = pat ; p2 = start; while (*p1!= '\0') { if (*p1!= *p2) break; p1++ ; p2++ ; } if (*p1 == '\0') return start ; } return NULL ; }

Null Pointer void main() { } if mystr("helloword!","lo")==null) printf("no\n") ; else printf("yes\n");

Pointer dan String (pointer to string)

Menukarkan isi 2 string tanpa pemakaian pointer

Menukarkan isi 2 string dengan fasilitas pointer

Array dari Pointer (Array of Pointer) Suatu array bisa digunakan untuk menyimpan sejumlah pointer. Sebagai contoh: char *namahari[10];

Contoh program :

Pointer menunjuk Pointer (Pointer to Pointer)

Pointer menunjuk Pointer (Pointer to Pointer) Untuk membentuk rantai pointer seperti pada gambar di atas, pendeklarasian yang diperlukan berupa

Pointer ke Pointer Int *ipp ; Int i=5, j = 6, k = 7 ; Int *ip1=&i, *ip2=&j ; Ipp = &ip1 ; *ipp = ip2;

Pointer ke Pointer *ipp = &k;

Pointer dalam Fungsi Pointer sebagai parameter fungsi Pointer sebagai keluaran fungsi

Pointer sebagai parameter fungsi Penerapan pointer sebagai parameter yaitu jika diinginkan agar nilai suatu variabel internal dapat diubah oleh fungsi yang dipanggil. Sebagai contoh dapat dilihat pada fungsi berikut. void naikkan_nilai (int *x, int *y) { *x = *x + 2; *y = *y + 2; } Fungsi di atas dimaksudkan agar kalau dipanggil, variabel yang berkenaan dengan parameter aktual dapat diubah nilainya, masingmasing dinaikkan sebesar 2. Contoh pemanggilan : naikkan_nilai(&a, &b); Perhatikan, dalam hal ini variabel a dan b harus ditulis diawali operator alamat (&) yang berarti menyatakan alamat variabel, sebab parameter fungsi dalam pendefinisian berupa pointer.

Contoh :

Pointer Sebagai Keluaran Fungsi (return value) Suatu fungsi dapat dibuat agar keluarannya berupa pointer. Misalnya, suatu fungsi menghasilkan keluaran berupa pointer yang menunjuk ke string nama_bulan

Pointer sebagai Array dim 1 alokasi dinamik menggunakan fungsi malloc() di stdlib.h mengalokasikan 4 buah integer x = malloc(4*sizeof(int));

Pointer sebagai Array dim 1 #define MAX 20 int *fibo; void main() { int i; fibo = malloc(max * sizeof(int)); *(fibo + 1) = 1; *(fibo + 2) = 1; for (i=3;i<=max;i++) *(fibo + i)= (*(fibo + i - 2) + *(fibo + i - 1)); }

Pointer ke Pointer Int *ipp ; Int i=5, j = 6, k = 7 ; Int *ip1=&i, *ip2=&j ; Ipp = &ip ; *ipp = ip2;

Pointer ke Pointer *ipp = &k;

#include <stdlib.h> int allocstr(int len, char **retptr) { char *p = malloc(len + 1); /* +1 for \0 */ if(p == NULL) return 0; *retptr = p; return 1;} void main(){ int i ; char *string = "Hello,world!"; char *copystr; if(allocstr(strlen(string), &copystr)) strcpy(copystr, string); else printf("out of memory\n"); for(i=0;i<strlen(string);i++){ printf("%c", *copystr); copystr++; } printf("\n");