Materi Algoritma dan Pemrograman (29 Oktober 2015)

Pointer dan Array

Pointer adalah variabel yang menyimpan alamat variabel lain
syntax : <type> *pointername

(*) >> menunjukkan isi sedangkan (&) >> menunjukkan alamat

pointer tidak bisa menyimpan value, selain alamat variable lain.

contoh :

int i, *ptr
ptr = &i

artinya : value yang tersimpan di *ptr = i

 

ada beberapa jenis pointer

1. Pointer (*ptr)

2. Double Pointer (*ptr_ptr)

Double pointer jarang digunakan

 

 

Array

Definisi Array : Menyimpan data dengan tertentu dengan jumlah yang banyak. Namun hanya dengan tipe data yang sama. ( [ ] )

Sifat dari Array: Homogen ( Tipe data haya 1) , random access ( dapat diakses secara satu-persatu, tidak harus berurutan)

 

4 komponen dalam Array

–Type specified (tipe data)

–Identifier (nama dari array)

–Operator index ([ ]) (index dari operator)

–Dimensional value inside operator [ ] ( isi dari operator)

 

Array Initialization

contoh

int a [] = { 1, 2, 4, 8}
hanya 4

int a [8] = {1,2,3,4}
sisa yang tidak di inisialisasi bernilai default (0)

int B[4] = { 1, 2, -4, 8, 9 }; >> inisialisasi berurutan
akan error, karena jumlah memori yang disediakan hanya 4, sedangkan nilai yang di tampung ada 5

 

Accessing Array

Dua cara untuk mengakses array i = 2:

1. *(A+2)
2. A[2]

 

Assigning Value

Contoh :

A[6] = 15; A[3] = 27; >> memberi nilai dalam alamat tertentu

 

maka

27                        15

A[0] A[0] A[0] A[0] A[0] A[0]

 

 

Array dalam dimensi

 

Array 1 Dimensi

Contoh program

#include<stdio.h>

int SIZE = 5;

void main() {

int i, j;

int n[SIZE] = {15, 9, 1, 7, 5};

for( i=0 ; i<= SIZE ; i++) {

printf(“%5d “, n[i]);

for ( j=1; j<=n[i] ; j++) printf(“%c”,”*”);

printf(“\n”);

 

 

Array 2 dimensi

#include <stdio.h>

void main() {

int two_dim[3][5] = {1, 2, 3, 4, 5,

10, 20, 30, 40, 50,

100, 200, 300, 400, 500};

int i, j;

for (i=0; i<3; i++){

for (j=0; j<5; j++) printf(“%6d”, two_dim[i][j]);

printf(“\n”);

}

 

 

This entry was posted in Uncategorized. Bookmark the permalink.

Leave a Reply

Your email address will not be published. Required fields are marked *