Pointer Implementasi pointer dalam pengalokasian memori

Slides:



Advertisements
Presentasi serupa
TURUNAN/ DIFERENSIAL.
Advertisements

Pemrograman Terstruktur
POINTER.
SOAL ESSAY KELAS XI IPS.
PERTEMUAN IV POINTER Pointer adalah suatu variabel penunjuk yang menunjuk pada suatu alamat memori komputer Pointer merupakan.
Algoritma dan Struktur Data
ARRAY STATIS DAN DINAMIS
STRUKTUR DATA (5) Pointer dan Function
Teknik Pemrograman Terstruktur 2
MODUL KULIAH STRUKTUR DATA TANGGAL REVISI TANGGAL BERLAKU KODE DOKUMEN :::::: September Session 8 Edited By Al-Bahra. L.B, S. Kom, M.
Pointer Konsep Pemrograman.
Pointer. Output? #include int x = 2; void misteri(int a, int b) { a = 2*x; b = y; y = a; } main() { int y; x = 5; y = 7; misteri(x, y); printf("%d %d\n",
SL-1201 Pengantar Pemrograman
Pointer.
PEMROGRAMAN SISTEM POINTER Pertemuan X. ALAMAT & POINTER Pointer sesungguhnya berisi alamat memory yang menyimpan data. Pointer sesungguhnya berisi alamat.
Struktur Sugeng Supriyadi, M.Kom.
Bab 4 Percabangan.
Modul 11 – Hendi Hermawan - 1
SEARCHING ( PENCARIAN )
Linked List Pembuatan Simpul Awal.
Teknik Informatika Universitas Pembangunan Jaya
Kompetensi : LIST #3. 17 Maret Kompetensi 5.
POINTER
SLIDE OTOMATIS PINDAH DALAM WAKTU 4-5 MENIT. A:kiriB:kanan Deklarasikan sebuah variabel dengan nama ‘isi’ yang mempunyai type array of double dengan ukuran.
Struktur Data Universitas PGRI Ronggolawe
Pointer dan Reference As’ad Djamalilleil
Komentar, Identifier dan Tipe Data
PENGENALAN c++ DAN STRUKTUR DASAR C++
Pemrograman Terstruktur
1 Pointer wijanarto. 2 Topik Introduction to Pointers Pointers dan Parameter Fungsi.
Pointer Variabel pointer sering disebut sebagai variabel yang menunjuk obyek lain, karena variabel pointer atau pointer adalah variabel yang berisi alamat.
Algoritma & Struktur Data Pointer Evangs Mailoa.
Person 10Person Variabel Lokal dan Global Suatu variabel lokal dideklarasikan di dalam fungsi ‘a’, dan tidak dapat diakses di luar fungsi (a)
Struktur (Struct).
STRUKTUR DATA (5) Pointer dan Function
FUNGSI (Method) Bag.3 Pertemuan 20 Dasar Pemrograman
Pengulangan WHILE.
Pemrograman Dasar Pointers.
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
Pertemuan 22 POINTER Bag.2 Dasar Pemrograman Renni Angreni, S.Kom.
#include //bagian modul int hitung(x,y) { return(x+y); } //bagian utama main() { int jumlah,a,b; a=8; b=2; jumlah=hitung(a,b); cout
P O I N T E R. Merupakan sebuah variabel yang berisi alamat dari variabel lain. Suatu pointer dimaksudkan untu menunjukan ke suatu alamat memori sehingga.
Pertemuan 6 IF Bersarang / IF Bertingkat Nested IF Dasar Pemrograman.
Algoritma dan Struktur Data
Bab 8 Pointer Riyanto Sigit Konsep Dasar Pointer  Variabel pointer sering dikatakan sebagai variabel yang menunjuk ke obyek lain  Variabel.
Pointer Pointer.
Scope Variable *dalam fungsi Tenia Wahyuningrum, S.Kom., MT
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Pointer.
Tenia Wahyuningrum, S.Kom., MT
Bab 05 Tipe Data dan Mengisi Variabel
Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006
POINTER.
Teknik Pemrog. Terstruktur 2
Tenia Wahyuningrum pointers Tenia Wahyuningrum
FUNGSI Nyimas Artina Arfansyah, S.Kom, M.Si.
POINTER Bag.2 Pertemuan 22 Dibuat oleh : Renni Angreni, S.Kom. Triana Elizabeth, S.Kom.
Pemrograman Terstruktur
8. Singly Linear Linked List
Informatique Engineering Ahmad Dahlan University May 17, 2004
Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.
POINTER
Pointer FARID WAJDI YUSUF.
ALGORITMA DAN PEMROGRAMAN II
ARRAY Oleh : sgo.
As’ad Djamalilleil Pointer dan Reference As’ad Djamalilleil
Algoritma dan Struktur Data
POINTER
BY EMI SITA POINTER BY EMI SITA. POINTER VS VARIABLE Berisi nilai data Operasi yang dipakai bengan operator *,/,+,- Bersifa t statis Deklarasi int x Berisi.
Transcript presentasi:

Pointer Implementasi pointer dalam pengalokasian memori ALOKASI MEMORI “program = algorithm + data structure” Pointer Implementasi pointer dalam pengalokasian memori SUMBER : Struktur Data /3sks/Semester II (KELAS MALAM) Tahun Akademik 2012 - 2013 @Maret 2013 – by M. Mahaputra Hidayat, S.Kom *dirangkum dari berbagai sumber dan ITS

Definisi Pointer Pointer Soal yang sebenarnya Apa ya pointer itu ? Kerjakan soal no 2.a Soal yang sebenarnya Pointer tidak menampung data Pointer menampung alamat dari sel memori lain yang menampung nilai data yang dituju Apa ya pointer itu ? Struktur Data

Ilustrasi Pointer Memori Alamat Isi Sesudah dieksekusi Alamat Isi 1000 1001 200 : Sesudah dieksekusi p = 210 ?? 550 : Tambahkan 10 ke p Alamat Isi 1000 1001 200 : Sebelum dieksekusi p = 200 ?? 550 Memori : Tambahkan 10 ke data yang alamatnya tersimpan di p p = 200 ?? : 560 1000 1001 200 Sesudah dieksekusi Struktur Data

Cara Penulisan Pointer int *ptr; int x=25; Int y=30; Alamat Isi : (&ptr) 1500 (&x) 1100 (&y) 1104 ptr = ? 30 25 Memori ptr x y ptr = &x; Alamat Isi : (&ptr) 1500 (&x) 1100 (&y) 1104 ptr = 1100 30 25 Memori ptr x y Alamat Isi : (&ptr) 1500 (&x) 1100 (&y) 1104 ptr = 1100 30 35 Memori *ptr += 10; ptr x y

Definisi Pointer dereferencing pointer menyediakan akses tidak langsung ke suatu obyek obyek untuk mengakses obyek lain dapat mengakses data yang ditunjuk oleh pointer dereferencing pointer ... MEMORY 1 2 3 4 5 81345 81346 81347 Address foo 123 int foo; int *x; foo = 123; x = &foo; x 3

Set nilai ke dereferenced pointer pointer harus memiliki nilai sebelum mengakses data yang ditunjuk (dereferenced ) int *x; *x=3; int foo; int *x; x = &foo; *x=3; &foo = alamat dari foo ERROR!!! x belum menunjuk suatu obyek!!! LEGAL. x menunjuk ke foo

Penggunaan pointer int *intPtr; intPtr = new int; *intPtr = 6837; inisialisasi pointer int *intPtr; intPtr = new int; *intPtr = 6837; delete intPtr; int otherVal = 5; intPtr = &otherVal; alokasi memory address set isi dari pointer *intPtr 6837 intPtr 0x0050 membuang alokasi memory address merubah intPtr ke lokasi memory address lain *intPtr 5 otherVal intPtr 0x0054 &otherVal

Penggunaan pointer - nilai x berubah - nilai pointer ptr tetap

Penggunaan pointer int x = 5; int y = 7; int *ptr = &x; // LEGAL int *ptr = &x; // ILLEGAL: x belum dideklarasikan int *ptr = x; // ILLEGAL: x bukan memory address int *ptr; // LEGAL: ptr belum diinisialisasi

Contoh Passing parameter #include <iostream> using namespace std; … … … int main(){ int Boys = 3, Girls = 5; void PassByValue(int males, int females); void Reference(int &m, int &f); void Pointers(int *u, int *v); cout << "At startup, within main()"; cout << "\n\tBoys = " << Boys; cout << "\n\tGirls = " << Girls; cout << "\nPassing arguments by value = Copy"; PassByValue(Boys, Girls); cout << "\nAfter calling PassByValue(), within main()"; At startup, within main() Boys = 3 Girls = 5

Contoh Passing parameter … … … cout << "\nPassing arguments by reference"; Reference(Boys, Girls); cout << "\nAfter calling Reference(), within main()"; cout << "\n\tBoys = " << Boys; cout << "\n\tGirls = " << Girls; cout << "\nPassing arguments pointers"; Pointers(&Boys, &Girls); cout << "\nAfter calling Pointers(), within main()"; cout << "\n"; system("PAUSE"); return 0; }

Contoh Passing parameter #include <iostream> using namespace std; void PassByValue(int b, int g){ b += 3, g += 4; cout << "\nWithin PassByValue(), now"; cout << "\n\tBoys = " << b; cout << "\n\tGirls = " << g; } void Reference(int &b, int &g){ cout << "\nWithin Reference(), now"; void Pointers(int *b, int *g){ *b += 3, *g += 4; cout << "\nWithin Pointers(), now"; cout << "\n\tBoys = " << *b; cout << "\n\tGirls = " << *g; int main(){ … … … At startup, within main() Boys = 3 Girls = 5 Passing arguments by value = Copy Within PassByValue(), now Boys = 6 Girls = 9 After calling PassByValue(), within main() Boys = 3 Girls = 5 PassByValue(Boys, Girls); Passing arguments by reference Within Reference(), now Boys = 6 Girls = 9 After calling Reference(), within main() Reference(Boys, Girls); Passing arguments pointers Within Pointers(), now Boys = 9 Girls = 13 After calling Pointers(), within main() Pointers(&Boys, &Girls);

Diskusi Any Questions??

Tugas Dikumpulkan paling lambat tanggal 11 Maret 2013, pukul 24 Tugas Dikumpulkan paling lambat tanggal 11 Maret 2013, pukul 24.00 wib via email saya, format pdf sertakan foto anda disebelah nama. Jelaskan (tracing) dan tentukan output dari Soal 1 dan Soal 2 ! Jelaskan perbedaan antara Soal 3 dan Soal 4, kemudian tentukan output dari kedua soal tersebut !

Ballighu’ anniy walau aayatun . . . Sebarkanlah ilmu walau satu ayat . . . Thank’s for your attention, Surabaya, 05 Maret 2013