BAB III POINTER. Type *variabel-name

dokumen-dokumen yang mirip
Algoritma dan Pemrograman Lanjut. Pertemuan Ke-11 Pointer 2

VARIABEL & TIPE DATA PEMROGRAMAN C++

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

A R R A Y. Bentuk umum deklarasi array : type nama_array[ukuran] tipe : menyatakan tipe dasar array ukuran : menyatakan banyaknya elemen pada array

ARRAY PENGANTAR PROGRAM STUDI. Institut Teknologi Sumatera

Pointer. ted = &andy;

Achmad Solichin.

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

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

MATERI/BAHAN PRAKTIKUM PENDAHULUAN DAN PENGENALAN (IDENTIFIER)

Algoritma Pemrograman & Struktur Data

POINTER. Tim Alpro Teknik Informatika

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.

REVIEW ARRAY. Institut Teknologi Sumatera

PERTEMUAN 3 KONSEP TIPE DATA

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

Algoritma dan Struktur Data. Pertemuan 5 Pointer

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

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

Tipe Data dan Operator

POINTER. Tim Alpro Teknik Informatika

Algoritma Pemrograman. Fery Updi,M.Kom

Bab 2. Dasar-Dasar Pemrograman C

PEMROGRAMAN TERSTRUKTUR PERTEMUAN VI KOMPONEN KOMPONEN PEMROGRAMAN TERSTRUKTUR

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

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

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

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

PENGENALAN BAHASA C DAN C++

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

MODUL V POINTER DAN STRING

Algoritme dan Pemrograman

Identifier dan Tipe Data

Tipe Data dan Variabel

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

DASAR PEMROGRAMAN. PENGANTAR BAHASA C ( Sejarah, Struktur Pemrograman, Tipe Data, Operator ) Djoko Soerjanto, M.Kom

LANGKAH-LANGKAH MENULISKAN PROGRAM DALAM TURBO C++

PERTEMUAN II Tipe Data, Variabel, Konstanta, Operator

PRAKTIKUM 11 POINTER 1

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

Achmad Solichin.

PENGANTAR BAHASA C++

VARIABEL, TIPE DATA DAN EKSPRESI Bab 2

P 4 Bab 3 : Dasar Pemrograman C

String dpat dideklarasikan dengan menggunakan array karakter seperti berikut:

MODUL PRAKTIKUM. MODUL I - VIII Modul penuntun dan bahan praktikum matakuliah algoritma dan pemograman

elemen Dasar Bahasa Pemrograman C

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

Algoritma dan Struktur Data Praktikum 3. Pointer

BAB 5 PERULANGAN DAN ARRAY

Algoritma Pemrograman 2B (Pemrograman C++)

Tipe Data dan Variabel

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

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

Identifier Tipe Data Yoannita, S.Kom.

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

PRAKTIKUM 3 DASAR PEMROGRAMAN C

PRAKTIKUM 11 POINTER 1

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

Kisi-Kisi Ujian Tengah Semester Algoritma dan Pemrograman Lanjut

PRAKTIKUM 3 DASAR PEMROGRAMAN C

Pertemuan 2 ARRAY DIMENSI 1 & 2

Tipe Data Dasar. Berdasarkan jenisnya, data dapat dibagi menjadi lima kelompok dinamakan tipe data dasar, yaitu:

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

ARRAY. Karakteristik

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

Pendahuluan Struktur Data. Nisa ul Hafidhoh

Array ARRAY BERDIMENSI SATU. Representasi (Pemetaan) di memori. Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

OPERATOR & UNGKAPAN. Contoh operator : a + b Simbol + merupakan operator untuk melakukan operasi penjumlahan dari kedua operandnya ( yaitu a dan b ).

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

INF-103 Pemrograman II VECTOR & STRING. Dr. Taufik Fuadi Abidin, M.Tech Irvanizam Zamanhuri, M.Sc. Program Studi Informatika FMIPA UNIVERSITAS KUALA

MODUL 2 TIPE DATA, KONSTANTA DAN VARIABEL

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

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

Sejarah C. Dirancang oleh Denis M. Ritchie tahun 1972 di Bell Labs.

LAPORAN PRAKTIKUM RESMI TIPE DATA, KONSTANTA DAN VARIABEL

Tipe data dasar merupakan tipe data yang disediakan oleh kompailer, sehingga dapat langsung dipakai Dalam algoritma dan pemrograman yang termasuk dala

P3 Dasar Struktur Data TIF42/SIF42

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

BAB II DASAR STRING. void main() { char teks[13]; //string dengan panjang maksimal 12 karakter clrscr(); //hapus layar

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

Dasar Pemrograman Mikrokontroler dengan Bahasa C

PSEUDOCODE TIPE DATA, VARIABEL, DAN OPERATOR

Chapter 3.2 : Tipe, Nama dan Nilai

BAB VIII POINTER. Tujuan :

Pemrograman. Pertemuan-3 Fery Updi,M.Kom

4. Arrays. int billy [5]; maka setiap elemen array billy akan di-inisialisasikan sebagai 0 :

BAHASA PEMROGRAMAN 1 (PERTEMUAN 3)

Dasar-dasar Pemrograman C DASAR PEMROGRAMAN & ALGORITMA

IT234 - Algoritma dan Struktur Data. Ramos Somya

DIKTAT MATA KULIAH PEMROGRAMAN I BAB XI POINTER

Elemen Bahasa Pemrograman. Aditya Rizki Yudiantika, M.Eng.

POINTER. Pemrograman Bahasa C++

POINTER DASAR PEMROGRAMAN

Modul 1 Dasar Dasar Bahasa Pemrograman C

INPUT OUTPUT. cout. Digunakan untuk mencetak suatu informasi ke layar Contoh : cout << Halo Teknik Informatika

DASAR STRING. Sama halnya seperti array-array sebelumnya, inisialisasi pada string adalah: char mystring[] = { 'H', 'e', 'l', 'l', 'o', '\0' };

PERTEMUAN 7 REVIEW (QUIZ)

Algoritma dan Pemrograman Lanjut. Pertemuan Ke-10 Pointer 1

Transkripsi:

Modul 3 Struktur Data (Arie) - 1 BAB III POINTER Pointer adalah variable yang berisi alamat memory sebagai nilainya dan berbeda dengan variable biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variable yang mempunyai nilai tertentu. Dengan demikian, ada variabel yang secara langsung menunjuk ke suatu nilai tertentu, dan variabel yang secara tidak langsung menunjuk ke nilai. Adapun bentuk umum dari pernyataan variabel pointer dalam C++ adalah : Type *variabel-name Dengan : Type adalah tipe dasar pointer Variabel name adalah nama variabel pointer * adalah variabel pada alamatnya yang ditentukan oleh operand. Int *int_pointer; Float *float_pointer; // pointer to integer // pointer to float //Program : pointer.cpp #include <stdio.h> main() int a, *b; a=20; b=&a; printf (" Pointer b menunjukkan alamat =%p\n",b); printf (" Alamat tersebut berisi nilai :%d\n",*b); //Program : pointer1.cpp #include <iostream.h> // cetak p dan *p void main(void) int v = 7, *p; p = &v; cout << " Nilai v = " << v << " dan *p = " << *p << "\nalamatnya = " << p << '\n'; Nilai v = 7 dan *p = 7 Alamatnya = efffb24

Modul 3 Struktur Data (Arie) - 2 //Program:pointer2.cpp int main () int value1 = 5, value2 = 15; int * mypointer; mypointer = &value1; *mypointer = 10; mypointer = &value2; *mypointer = 20; cout << "value1==" << value1 << "/ value2==" << value2; value1== 10 << / value2==20 OPERATOR POINTER Ada beberapa operator yang bisa digunakan dalam pointer. Operator tersebut adalah operator alamat (yang dilambangkan dengan simbol &) dan operator unary yang mengembalikan alamat dari operandnya. Sebagai contoh, diasumsikan deklarasi sebagai berikut : Int y = 5; Int *yptr; Maka pernyataan : YPtr = &y; Pernyataan ini mengandung arti bahwa alamat dari variabel y ditujukan kepada variabel pointer yptr. Contoh lain : Int balance, value; Int *balptr; Balance = 3200; // step 1 Balptr=&balance; // step 2 Value=*balptr; // step 3 Contoh diagram : 1 2 3 12 Balptr 12 100 Balptr 12 100 Balptr 100 3200 Balance 100 3200 Balance 100 3200 Balance 130 value 130 value 130 3200 value

Modul 3 Struktur Data (Arie) - 3 //Program:pointer3.cpp int *ptr, num; // 1 ptr = &num; // 2 *ptr = 100; // 3 cout << num << " "; (*ptr)++; // 4 cout << num << " "; (*ptr)*=2; // 5 cout << num << "\n"; Bila program dijalankan : 100 101 202 Contoh diagram : 1 2 3 4 5 12 *int Ptr 12 50 Ptr 12 50 Ptr 12 50 Ptr 12 50 Ptr 50 int num 50 int num 50 100 num 50 101 num 50 202 num............... EKSPRESI POINTER Pointer Aritmatika Hanya 4 operator aritmatik dapat digunakan pada pointer ++, = =, +, dan -. Asumsi integer 32 bit. Int *p1; p1++; p1--; //Program:pointer4.cpp int i[10], *i_ptr; double f[10], *f_ptr; int x; i_ptr = i; // i_ptr points to first element of i

Modul 3 Struktur Data (Arie) - 4 f_ptr = f; // f_ptr points to first element of f for(x=0; x<10; x++) cout << i_ptr+x << " " << f_ptr+x << "\n"; Bila program dijalankan : 0xeffffd9c 0xeffffd48 0xeffffda0 0xeffffd50 0xeffffda4 0xeffffd58 0xeffffda8 0xeffffd60...... Pointer Perbandingan Pointer dapat dibandingkan dengan menggunakan operator hubungan, seperti!=, ==, <, dan >. //Program:pointer5.cpp int num[10]; int *start, *end; start = num; end = &num[9]; while(start!= end) cout << "Masukkan bilangan sebanyak 9 data : "; cin >> *start; start++; Data yang akan dimasukkan sebanyak 9 buah data dan program tidak akan berhenti apabila belum sampai 9 buah data. POINTER VERSUS ARRAY Array dan pointer adalah dua struktur data yang saling berkaitan satu dengan yang lain dalam C, dan dapat saling dipertukarkan penggunaannya. Karena array dapat didefinisikan sebagai pointer. int *bptr, b[5]; Dapat dibuat menjadi : bptr = b; bptr = &b[0]; Berarti bptr ditugaskan untuk menunjukkan ke alamat elemen pertama dari array b atau b[0]. Elemen array b[3] dapat ditulis : * (bptr + 3)

Modul 3 Struktur Data (Arie) - 5 Alamat &b[3] dapat ditulis : bptr +3 Deklarasi suatu variabel array x[] yang berisi nilai int dapat ditulis : int *x; Variabel array ganda dapat ditulis : int y [ ] [ ]; int *y [ ]; int *( *y); Penggunaan pointer dan array untuk deklarasi variabel array ganda untuk menyimpan empat buah elemen yang masing-masing bertipe string (array dari karakter). char *suit [4] = Hearts, Diamonds, Clubs, Spades ; //Program:pointer6.cpp #include <stdio.h> char str[80]; char token[80]; char *str_ptr, *tk_ptr; cout << "Masukkan sebuah kalimat : "; gets(str); str_ptr = str; while(*str_ptr) tk_ptr = token; while( *str_ptr!= ' ' && *str_ptr ) *tk_ptr = *str_ptr; tk_ptr++; str_ptr++; if(*str_ptr) str_ptr++; *tk_ptr = '\0'; cout << token << endl; //Program:pointer7.cpp #include <stdio.h> char str[80]; char token[80]; int i, j; cout << "Masukkan sebuah kalimat: "; gets(str); for(i=0; ; i++) for(j=0; str[i]!= ' ' && str[i]; j++, i++) token[j] = str[i];

Modul 3 Struktur Data (Arie) - 6 token[j] = '\0'; cout << token << '\n'; if(!str[i]) break; Pada contoh program pointer 6 adalah program dengan pointer, sedangkan contoh program pointer 7 dengan menggunakan array. Hasil dari kedua program tersebut sama. POINTER INDEX Pointer tidak hanya dapat digunakan untuk mengakses elemen array, tetapi pointer juga dapat diindex seperti pada array. //Program:pointer8.cpp #include <ctype.h> char str[20] = "hello tom"; char *p; int i; p = str; for(i=0; p[i]; i++) p[i] = toupper(p[i]); cout << p; HELLO TOM Proses pengindexan pointer dapat dilihat pada variabel p yang menunjuk pada variabel str yang berisi data nama dengan panjang 20. Fungsi toupper memperjelas proses pengindexan. KONSTANTA STRING DAN POINTER Konstanta string terlihat dalam program teks dan disimpan dalam tabel string serta setiap entry dalam tabel string, pointer string dibangkitkan. //Program:pointer9.cpp char *s; s = "Pointers are fun to use.\n"; cout << s;

Modul 3 Struktur Data (Arie) - 7 Pointers are fun to use. ARRAY POINTER Pointer dapat diarraykan seperti tipe data yang lain dalam C++. Untuk menyatakan sebuah array pi dari pointer sebanyak 10 buah data yang bertipe 10 integer, dapat ditulis : int *pi [10]; Untuk menentukan alamat dari variabel integer disebut var ke elemen ketiga dari pointer array, dapat ditulis : int var; pi [2] = &var //Program:point10.cpp int main () int numbers[5]; int *p; p = numbers; *p = 10; p++; *p = 20; p = &numbers[2]; *p = 30; p = numbers + 3; *p = 40; p = numbers; *(p+4) = 50; for (int n=0; n<5; n++) cout << numbers[n] << ", "; 10, 20, 30, 40, 50, POINTER DALAM POINTER C++ memperbolehkan penggunaan pointer dalam pointer yang berisi data yang sama atau berbeda. Dalam kondisi pointer biasa atau pointer tunggal, diagramnya adalah : Pointer address Variabel value Untuk pointer dalam pointer, diagramnya adalah : Pointer Pointer Variabel address address value char a; char *b; char **c;

Modul 3 Struktur Data (Arie) - 8 a = z ; b = &a; c = &b; Dengan misal data acak pada memori 7230, 8092, dan 10502, maka diagramnya adalah : a b c z 7230 8092 7230 8092 10502 Dari diagram dapat disimpulkan : c adalah sebuah variabel dengan tipe (char**) yang berisi 8092 *c adalah sebuah variabel dengan tipe (char*) yang berisi 7230 **c adalah sebuah variabel dengan tipe (char) yang berisi z //Program:point12.cpp #include <stdio.h> #include <string.h> int x, *p, **q; x = 10; p = &x; q = &p; cout << **q; // prints the value of x 10 SOAL LATIHAN : Soal 1 Program untuk menghitung banyaknya karakter yang dimasukkan dengan menggunakan pointer. Save dengan nama file : po1_nim (4 digit nim terakhir) Soal 2 Program untuk merubah karakter yang dimasukkan dari huruf kecil menjadi huruf besar. Save dengan nama file : po2_nim (4 digit nim terakhir)