SlideShare a Scribd company logo
1 of 2
Download to read offline
Julio Adisantoso :: Departemen Ilmu Komputer IPB 31
BAB VII
POINTER
Pointer adalah variabel yang berisi alamat memori sebagai nilainya, berbeda dengan
variabel biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari
variabel yang mempunyai nilai tertentu. Dengan demikian, ada variabel yang secara
langsung menunjuk ke suatu nilai tertentu, dan variabel yang secara tidak langsung
(merupakan variabel pointer) menunjuk ke nilai. Hal ini dapat digambarkan melalui
deklarasi berikut ini.
int *countPtr, count;
yang bila digambarkan dengan diagram menjadi:
OPERATOR POINTER
Operator alamat (dilambangkan sebagai &) adalah operator unary yang mengembalikan
alamat dari operannya. Sebagai contoh, diasumsikan deklarasi sebagai berikut:
int y = 5;
int *yPtr;
maka pernyataan:
yPtr = &y;
menyatakan bahwa alamat dari variabel y ditujukan kepada variabel pointer yPtr, atau
secara diagram dapat digambarkan sebagai berikut:
count
7
count
7
o
countPtr
count langsung menunjuk nilai 7
countPtr secara tak langsung menunjuk 7
y
5
o
countPt
Julio Adisantoso :: Departemen Ilmu Komputer IPB 32
POINTER DAN ARRAY
Array dan pointer adalah dua struktur data yang saling berkaitan satu sama lain di dalam
C, dan dapat saling dipertukarkan penggunaannya. Hal ini karena suatu array dapat
didefinisikan sebagai pointer ke elemen pertama dari array tersebut. Misalnya
didefinisikan dua variabel pointer dan array sebagai berikut:
int *bPtr, b[5];
bPtr = b;
bPtr = &b[0];
yang berarti bPtr ditugaskan untuk menunjuk ke alamat elemen pertama dari array b,
atau b[0]. Dengan demikian, elemen array b[3] dapat pula dituliskan dengan:
*(bPtr + 3)
dan alamat &b[3] dapat ditulis dengan:
bPtr + 3
Sedangkan deklarasi suatu variabel array x[] yang berisi nilai int dapat dituliskan
sebagai:
iInt x[]; atau
int *x;
int y[][]; atau
int *y[]; atau
int *(*y);
Contoh berikut menunjukkan penggunaan pointer dan array untuk mendeklarasikan
variabel array ganda untuk menyimpan empat buah elemen yang masing-masing bertipe
string (array dari karakter):
Char *suit[4] = { "Hearts", "Diamonds", "Clubs", "Spades" };
Julio Adisantoso :: Departemen Ilmu Komputer IPB 33
LATIHAN 7
Untuk lebih memahami konsep pointer dan juga kaitannya dengan array, telaah masing-
masing program berikut dan perkirakan apa yang dilakukannya.
1. #include <stdio.h>
void misteri1(char *);
main() {
char string[] = "characters";
printf("String sebelum proses adalah %s", string);
misteri1(string);
printf("String setelah proses adalah %s", string);
return 0;
}
void misteri1(char *s) {
while ( *s != '0' ) {
if ( *s >= 'a' && *s <= 'z' )
*s -= 32;
++s;
}
}
2. #include <stdio.h>
void misteri2(const char *);
main() {
char *string = "ilmu komputer";
misteri2(string);
putchar('n');
return 0;
}
void misteri2(const char *s) {
for ( ; *s != '0' ; s++ )
putchar(*s);
}
3. #include <stdio.h>
int misteri3(const char *);
main() {
char string[80];
printf("Ketik sebuah string : "); scanf("%s", string);
printf("%dn", misteri3(string));
return 0;
}
Julio Adisantoso :: Departemen Ilmu Komputer IPB 34
int misteri3(const char *s) {
int x = 0;
for ( ; *s != '0' ; s++)
++x;
return x;
}
4. #include <stdio.h>
#define SIZE 4
main() {
int a[][SIZE] = { {0, 1, 2, 3}, {4, 5, 6}, {7, 8, 9, 10} };
int *p = &a[0][0];
int *q = a[0];
int *r = a[1];
int *s = a[2];
printf("%dn", *(p + SIZE + 1) );
printf("%dn", p[SIZE + 1] );
printf("%dn", p[2 * SIZE + 1] );
printf("%dn", *(q + 2 * SIZE + 2) );
printf("%dn", *r );
printf("%dn", *(r - 2) );
printf("%dn", s[3] );
return 0;
}
5. #include <stdio.h>
char *st = "KOMPUTERn";
main() {
int counter = 0;
while ( *st++ ) ++counter;
printf("%d : %sn", counter, st) ;
return 0;
}

More Related Content

What's hot

Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPrasetyo Adi
 
Berhitung bilangan kompleks dengan program excel
Berhitung bilangan kompleks dengan program excelBerhitung bilangan kompleks dengan program excel
Berhitung bilangan kompleks dengan program excelZhaqir Husein
 
Multidimensional Array dalam Struktur Data
Multidimensional Array dalam Struktur DataMultidimensional Array dalam Struktur Data
Multidimensional Array dalam Struktur DataFajar Sany
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_listWandi Parlente
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)eka pandu cynthia
 
Konsep pointer Univ. BALE
Konsep pointer Univ. BALEKonsep pointer Univ. BALE
Konsep pointer Univ. BALEstaffpengajar
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3said zulhelmi
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran FisikaManfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisikahabno
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)nakomuri
 
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan viwindi1
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_stringRoziq Bahtiar
 
Presentation1
Presentation1Presentation1
Presentation1andrewaja
 

What's hot (20)

Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan PemrogramanPertemuan 6 Struktur Data, Algoritma dan Pemrograman
Pertemuan 6 Struktur Data, Algoritma dan Pemrograman
 
Ifc modul 2 (array)
Ifc   modul 2 (array)Ifc   modul 2 (array)
Ifc modul 2 (array)
 
Berhitung bilangan kompleks dengan program excel
Berhitung bilangan kompleks dengan program excelBerhitung bilangan kompleks dengan program excel
Berhitung bilangan kompleks dengan program excel
 
Multidimensional Array dalam Struktur Data
Multidimensional Array dalam Struktur DataMultidimensional Array dalam Struktur Data
Multidimensional Array dalam Struktur Data
 
5 6 single-linked_list
5 6 single-linked_list5 6 single-linked_list
5 6 single-linked_list
 
Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)Materi : Struktur Data (2 Array)
Materi : Struktur Data (2 Array)
 
Matlab tutor sns
Matlab tutor snsMatlab tutor sns
Matlab tutor sns
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Konsep pointer Univ. BALE
Konsep pointer Univ. BALEKonsep pointer Univ. BALE
Konsep pointer Univ. BALE
 
Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3Array Dimensi banyak struktur data pertemuan ke 3
Array Dimensi banyak struktur data pertemuan ke 3
 
Pertemuan 8
Pertemuan 8 Pertemuan 8
Pertemuan 8
 
Pertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhsPertemuan 2 revisijan2013-mhs
Pertemuan 2 revisijan2013-mhs
 
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran FisikaManfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
Manfaat Aplikasi Program Komputer dalam Pembelajaran Fisika
 
C programming language notes (4)
C programming language notes (4)C programming language notes (4)
C programming language notes (4)
 
Praktikum p-fisika
Praktikum p-fisikaPraktikum p-fisika
Praktikum p-fisika
 
Pertemuan IV Teori
Pertemuan IV TeoriPertemuan IV Teori
Pertemuan IV Teori
 
Pertemuan vi
Pertemuan viPertemuan vi
Pertemuan vi
 
5. pemrograman array dan_string
5. pemrograman array dan_string5. pemrograman array dan_string
5. pemrograman array dan_string
 
Presentation1
Presentation1Presentation1
Presentation1
 
05. array
05. array05. array
05. array
 

Viewers also liked

Viewers also liked (11)

11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian11 12 -pengurutan dan-pencarian
11 12 -pengurutan dan-pencarian
 
9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data9 10 - sort-pengurutan-data
9 10 - sort-pengurutan-data
 
8 algoprog-pointer
8  algoprog-pointer8  algoprog-pointer
8 algoprog-pointer
 
Rekayasa perangkat lunak
Rekayasa perangkat lunakRekayasa perangkat lunak
Rekayasa perangkat lunak
 
rekayasa perangkat lunak
rekayasa perangkat lunakrekayasa perangkat lunak
rekayasa perangkat lunak
 
4. bahasa-rakitan[3]
4. bahasa-rakitan[3]4. bahasa-rakitan[3]
4. bahasa-rakitan[3]
 
13 graph2
13 graph213 graph2
13 graph2
 
14 graph2
14 graph214 graph2
14 graph2
 
3 stack2
3 stack23 stack2
3 stack2
 
10. bahasa rakitan
10. bahasa rakitan10. bahasa rakitan
10. bahasa rakitan
 
Modul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa AssemblyModul Pemrograman Bahasa Assembly
Modul Pemrograman Bahasa Assembly
 

Similar to 7 Pointer

Pertemuan 8.ppt
Pertemuan 8.pptPertemuan 8.ppt
Pertemuan 8.pptfauziahUG
 
MATERI POINTER TKJ K13
MATERI POINTER TKJ K13MATERI POINTER TKJ K13
MATERI POINTER TKJ K13Ali Must Can
 
1. Pengantar Struktur data.pptx
1. Pengantar Struktur data.pptx1. Pengantar Struktur data.pptx
1. Pengantar Struktur data.pptxBobyDarmawan2
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3Budi Yono
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3kua
 
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptxPPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptxhudriyah1
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdfJurnal IT
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdfJurnal IT
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3kua
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3Budi Yono
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointerRoziq Bahtiar
 
Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointerDhan junkie
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3Budi Yono
 

Similar to 7 Pointer (20)

Pertemuan6.ppt
Pertemuan6.pptPertemuan6.ppt
Pertemuan6.ppt
 
Pertemuan 8.ppt
Pertemuan 8.pptPertemuan 8.ppt
Pertemuan 8.ppt
 
MATERI POINTER TKJ K13
MATERI POINTER TKJ K13MATERI POINTER TKJ K13
MATERI POINTER TKJ K13
 
Tipe data
Tipe dataTipe data
Tipe data
 
1. Pengantar Struktur data.pptx
1. Pengantar Struktur data.pptx1. Pengantar Struktur data.pptx
1. Pengantar Struktur data.pptx
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3
 
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptxPPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
PPT-UEU-Bahasa-Pemrograman-Pertemuan-9.pptx
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdf
 
6_String.pdf
6_String.pdf6_String.pdf
6_String.pdf
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Pertemuan V
Pertemuan VPertemuan V
Pertemuan V
 
Pertemuan5.ppt
Pertemuan5.pptPertemuan5.ppt
Pertemuan5.ppt
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
Materi kuliah 23 pointer part 3
Materi kuliah 23   pointer part 3Materi kuliah 23   pointer part 3
Materi kuliah 23 pointer part 3
 
6. pemrograman pointer
6. pemrograman pointer6. pemrograman pointer
6. pemrograman pointer
 
Ix struktur pointer
Ix struktur pointerIx struktur pointer
Ix struktur pointer
 
Materi kuliah 05 pointer part 3
Materi kuliah 05   pointer part 3Materi kuliah 05   pointer part 3
Materi kuliah 05 pointer part 3
 
Arrays c++
Arrays c++Arrays c++
Arrays c++
 

More from Wandi Parlente

More from Wandi Parlente (12)

4 queue2
4 queue24 queue2
4 queue2
 
2 array n-matriks
2 array n-matriks2 array n-matriks
2 array n-matriks
 
1 pengertian-struktur-data
1 pengertian-struktur-data1 pengertian-struktur-data
1 pengertian-struktur-data
 
8. modul input & output
8. modul input & output8. modul input & output
8. modul input & output
 
7. matherboard & sistem bus
7. matherboard & sistem bus7. matherboard & sistem bus
7. matherboard & sistem bus
 
6. memori sekunder
6. memori sekunder6. memori sekunder
6. memori sekunder
 
5. chace memori
5. chace memori5. chace memori
5. chace memori
 
4. memori komputer
4. memori  komputer4. memori  komputer
4. memori komputer
 
3. central prosesing unit
3. central prosesing unit 3. central prosesing unit
3. central prosesing unit
 
9.sistem operasi
9.sistem operasi 9.sistem operasi
9.sistem operasi
 
2. sistem komputer
2. sistem komputer 2. sistem komputer
2. sistem komputer
 
1. pengenalan orkom
1. pengenalan orkom 1. pengenalan orkom
1. pengenalan orkom
 

7 Pointer

  • 1. Julio Adisantoso :: Departemen Ilmu Komputer IPB 31 BAB VII POINTER Pointer adalah variabel yang berisi alamat memori sebagai nilainya, berbeda dengan variabel biasa yang berisi nilai tertentu. Dengan kata lain, pointer berisi alamat dari variabel yang mempunyai nilai tertentu. Dengan demikian, ada variabel yang secara langsung menunjuk ke suatu nilai tertentu, dan variabel yang secara tidak langsung (merupakan variabel pointer) menunjuk ke nilai. Hal ini dapat digambarkan melalui deklarasi berikut ini. int *countPtr, count; yang bila digambarkan dengan diagram menjadi: OPERATOR POINTER Operator alamat (dilambangkan sebagai &) adalah operator unary yang mengembalikan alamat dari operannya. Sebagai contoh, diasumsikan deklarasi sebagai berikut: int y = 5; int *yPtr; maka pernyataan: yPtr = &y; menyatakan bahwa alamat dari variabel y ditujukan kepada variabel pointer yPtr, atau secara diagram dapat digambarkan sebagai berikut: count 7 count 7 o countPtr count langsung menunjuk nilai 7 countPtr secara tak langsung menunjuk 7 y 5 o countPt Julio Adisantoso :: Departemen Ilmu Komputer IPB 32 POINTER DAN ARRAY Array dan pointer adalah dua struktur data yang saling berkaitan satu sama lain di dalam C, dan dapat saling dipertukarkan penggunaannya. Hal ini karena suatu array dapat didefinisikan sebagai pointer ke elemen pertama dari array tersebut. Misalnya didefinisikan dua variabel pointer dan array sebagai berikut: int *bPtr, b[5]; bPtr = b; bPtr = &b[0]; yang berarti bPtr ditugaskan untuk menunjuk ke alamat elemen pertama dari array b, atau b[0]. Dengan demikian, elemen array b[3] dapat pula dituliskan dengan: *(bPtr + 3) dan alamat &b[3] dapat ditulis dengan: bPtr + 3 Sedangkan deklarasi suatu variabel array x[] yang berisi nilai int dapat dituliskan sebagai: iInt x[]; atau int *x; int y[][]; atau int *y[]; atau int *(*y); Contoh berikut menunjukkan penggunaan pointer dan array untuk mendeklarasikan variabel array ganda untuk menyimpan empat buah elemen yang masing-masing bertipe string (array dari karakter): Char *suit[4] = { "Hearts", "Diamonds", "Clubs", "Spades" };
  • 2. Julio Adisantoso :: Departemen Ilmu Komputer IPB 33 LATIHAN 7 Untuk lebih memahami konsep pointer dan juga kaitannya dengan array, telaah masing- masing program berikut dan perkirakan apa yang dilakukannya. 1. #include <stdio.h> void misteri1(char *); main() { char string[] = "characters"; printf("String sebelum proses adalah %s", string); misteri1(string); printf("String setelah proses adalah %s", string); return 0; } void misteri1(char *s) { while ( *s != '0' ) { if ( *s >= 'a' && *s <= 'z' ) *s -= 32; ++s; } } 2. #include <stdio.h> void misteri2(const char *); main() { char *string = "ilmu komputer"; misteri2(string); putchar('n'); return 0; } void misteri2(const char *s) { for ( ; *s != '0' ; s++ ) putchar(*s); } 3. #include <stdio.h> int misteri3(const char *); main() { char string[80]; printf("Ketik sebuah string : "); scanf("%s", string); printf("%dn", misteri3(string)); return 0; } Julio Adisantoso :: Departemen Ilmu Komputer IPB 34 int misteri3(const char *s) { int x = 0; for ( ; *s != '0' ; s++) ++x; return x; } 4. #include <stdio.h> #define SIZE 4 main() { int a[][SIZE] = { {0, 1, 2, 3}, {4, 5, 6}, {7, 8, 9, 10} }; int *p = &a[0][0]; int *q = a[0]; int *r = a[1]; int *s = a[2]; printf("%dn", *(p + SIZE + 1) ); printf("%dn", p[SIZE + 1] ); printf("%dn", p[2 * SIZE + 1] ); printf("%dn", *(q + 2 * SIZE + 2) ); printf("%dn", *r ); printf("%dn", *(r - 2) ); printf("%dn", s[3] ); return 0; } 5. #include <stdio.h> char *st = "KOMPUTERn"; main() { int counter = 0; while ( *st++ ) ++counter; printf("%d : %sn", counter, st) ; return 0; }