Pointer, Array dan String

Slides:



Advertisements
Presentasi serupa
ARRAY.
Advertisements

ARRAY 1 DIMENSI Array 1 dimensi
POINTER.
PERTEMUAN IV POINTER Pointer adalah suatu variabel penunjuk yang menunjuk pada suatu alamat memori komputer Pointer merupakan.
PERTEMUAN VIII POINTER
STRUKTUR DATA (5) Pointer dan Function
Pointer.
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
POINTER
INSTRUKSI MASUKAN DAN KELUARAN
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.
Array dan String Array dan String.
STRUKTUR DATA (5) Pointer dan Function
Pointer Yuliana Setiowati.
Pointer Dr. Lily Wulandari.
POINTER (VAR.PENUNJUK)
STRUKTUR DATA Pointer dan Function
Pointer Pointer.
Pemrograman Berorientasi Obyek1 Sub Pokok Bahasan Pointer. Reference. Function Passing Parameter by Value, by Reference, by Pointer.
Pointer.
Konsep Pemrograman Politeknik Elektronika Negeri Surabaya 2006
POINTER.
Teknik Pemrog. Terstruktur 2
Pointer BY HARIFUDDIN.
Bab2 ARRAY (LARIK).
Pertemuan 12 Array (Larik) & struct Erna Sri Hartatik
Pemrograman Terstruktur
Pertemuan 21 POINTER Bag.1 Dasar Pemrograman Renni Angreni, S.Kom.
Universitas Respati Yogyakarta
Pointer TEE 2103 Algoritma dan Pemrograman Dosen: Abdillah, MIT
ARRAY (LARIK)
STRUKTUR DATA Pengenalan C++
FUNCTION Fungsi (Function) merupakan sekumpulan instruksi yang membentuk satu unit serta memiliki nama. Fungsi digunakan.
Struktur Data (Data Structure) – IS 2313
POINTER (VAR.PENUNJUK)
Defri Kurniawan, M.Kom STRUKTUR DATA Defri Kurniawan, M.Kom
FUNGSI, ARRAY, STRING, POINTER, DAN STRUCTURE
Pointer Pertemuan 10 Bahasa C.
Pointer FARID WAJDI YUSUF.
Pointer Oleh : Sri Supatmi,S.Kom.
ALGORITMA DAN PEMROGRAMAN II
Pertemuan 2 ARRAY DIMENSI 1 & 2.
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
As’ad Djamalilleil Array (Larik) As’ad Djamalilleil
Algoritma dan Struktur Data
Input Dan Output.
Algoritma dan Struktur Data
As’ad Djamalilleil Pointer dan Reference As’ad Djamalilleil
Algoritma dan Struktur Data
Struktur Data Khoiriya Latifa, M.Kom.
VARIABEL DAN TIPE DATA Erizal, S.Si, M.Kom Sistem Informasi
Algoritma dan Struktur Data
Pointer Oleh : Sri Supatmi,S.Kom.
ARRAY (LARIK)
Input dan Output Pertemuan ke-3 Bahasa C.
Algoritma dan struktur data
Praktikum KBP 2 Array.
KONSEP DASAR STRUKTUR DATA
Algoritme dan Pemrograman
Array.
ARRAY (LARIK)
array Array merupakan tipe data yang menampung
POINTER (VAR.PENUNJUK)
Pertemuan 3 Input/output Statement Assignment Statement
ALGORITMA & STRUKTUR DATA C Programming
Array.
Array.
Pointer.
ARRAY.
Transcript presentasi:

Pointer, Array dan String Erizal, S.Si, M.Kom Universitas Respati Yogyakarta erizalmik@yahoo.com http://erizal.wordpress.com

POINTER Setiap kali komputer menyimpan data, maka sistem operasi akan mengorganisasikan lokasi pada memori pada alamat yang unik. Misal : untuk alamat memori 1776, hanya sebuah lokasi yang memiliki alamat tersebut. Dan alamat 1776 pasti terletak antara 1775 dan 1777.

POINTER Merupakan variabel yang fungsinya menyimpan alamat (address) variabel Fasilitas untuk mengakses suatu variabel dengan memakai adress

Kegunaan Pointer Calling by reference Mengembalikan lebih satu nilai dari satu fungsi Mengirimkan array dan string dari suatu fungsi ke fungsi lain Memudahkan dalam manipulasi array Manipulasi memory dalam system Membuat struktur data dinamis seperti linklist, tree, graph dan sebagainya

Operator (1) Dalam pointer, terdapat 2 jenis operator yang biasa digunakan. Operator Alamat / Dereference Operator(&) Setiap variabel yang dideklarasikan, disimpan dalam sebuah lokasi memori dan pengguna biasanya tidak mengetahui di alamat mana data tersebut disimpan. Dalam C++, untuk mengetahui alamat tempat penyimpanan data, dapat digunakan tanda ampersand(&) yang dapat diartikan “alamat”. Contoh : Bil1 = &Bil2; Dibaca: isi variabel bil1 sama dengan alamat bil2

Operator (2) Operator Reference (*) Penggunaan operator ini, berarti mengakses nilai sebuah alamat yang ditunjuk oleh variabel pointer. Contoh : Bil1=*Bil2; dibaca: bil1 sama dengan nilai yang ditunjuk oleh bil2

Deklarasi Deklarasi variabel pointer tipe * nama_pointer; Tipe merupakan tipe data yang akan ditunjuk oleh variabel, bukan tipe data dari pointer tersebut. Contoh : int *ptrA; ptrA adalah variabel pointer untuk tipe data integer

Contoh Jika misalnya variabel A berisi nilai 23, dan ptrA menunjuk variabel A yang merupakan representasi alamat memory nomor 2, maka hal tersebut dapat diilustrasikan seperti berikut :

Proses Dalam kode C dapat dituliskan seperti berikut : Int A; Int *ptrA; A=23; *ptrA=&A; Jadi operator * digunakan untuk menyatakan isi (content of) pointer, sedangkan operator & digunakan untuk menyatakan alamat memory (adress of) variabel . Jika ingin meng-akses (mencetak) nilai 23 (isi memory) melalui variabel biasa, maka perintahnya adalah : Printf(“%d”,A); Jika ingin meng-akses (mencetak) nilai 23 (isi memory) melalui pointer, maka perintahnya adalah : Printf(“%d”,*ptrA);

Contoh Program /* Nama File :pointer.c */ #include <stdio.h> #include <conio.h> void main() { int A;//deklarasi var biasa int *ptrA; //deklarasi var pointer clrscr(); A=23; ptrA=&A; printf("\n A = %d",A); //isi dari var A printf("\n&A = %u",&A); //alamat memory var A printf("\n*(&A) = %u",*(&A));//isi di alamat pada var A printf("\nptrA = %u",ptrA);//isi dari var pointer ptrA printf("\n*ptrA = %d",*ptrA);//isi di alamat pada var ptrA printf("\n&ptrA = %u",&ptrA);//alamat memory var ptrA getch(); }

Contoh Pointer untuk Argumen Fungsi Call by Reference /*Nama File : tukar2.c - Prinsip Call by reference*/ #include <stdio.h> #include <conio.h> void tukar(int *a,int *b) { int temp; temp=*a; *a=*b; *b=temp; } void main() { clrscr(); int x=3, y=5; printf("\nNilai x dan y semula"); printf("\nx = %d y = %d",x,y); tukar(&x,&y); printf("\nNilai x dan y kemudian"); getch();

Array dan Pointer Nama array adalah alamat memory (pointer) pertama dari elemen array tersebut. Jika A adalah array berdimensi satu maka alamat memory dari elemen pertama adalah &A[0] atau A saja. Sehingga &A[i] sama dengan (A+i). Maka A[i] pun sama dengan *(A+i) Berikut contoh program tentang bagaimana mengakses data array menggunakan konsep pointer :

Contoh Program /* Nama file :p_array.c */ #include <stdio.h> #include <conio.h> void main() { int Nilai[5]={55,75,60,90,80}; clrscr(); for(int i=0;i<5;i++) //akses dengan indeks array printf("\n Nilai[%d] = %d",i,Nilai[i]); //akses dengan pointer printf("\n *(Nilai+%d)= %u",i,*(Nilai+i)); }

String dan Pointer String adalah array dari tipe character yang diakhiri dengan null character (\0) Data konstan string ditulis dengan diapit oleh tanda petik dua (“…string…”)

Deklarasi Tipe String Format : Contoh : char <nama_variabel>[exp] char <nama_variabel>[ ]={inisial} char *<nama_variabel> Contoh : char nama[ ]; char *alamat; Pemberian nilai inisial ke string dapat dilakukan dengan cara : char nama[]=“Hanif”; atau char nama[]={‘H’,’a’,’n’,’I’,’f’,’\0’};

String Deklarasi char *nama menunjukkan bahwa string adalah pointer, atau dapat diakses dengan cara-cara yang sama dengan pointer atau array Contoh program mengakses string dalam function :

Contoh Program /*Nama file : p_string.c */ #include <stdio.h> #include <string.h> void ubah_nama(char *nama) { nama=strcat(nama," Nasution"); } void main() char *nm; clrscr(); printf("\nMasukkan nama anda :");gets(nm); ubah_nama(nm); printf("\nNama anda sekarang : %s",nm); getch();

END OF MODUL - 4