Anda di halaman 1dari 17

01.

Review Array, Pointer


dan Struktur
AR N A FAR IZA
YU L IAN A SET IOWATI

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Capaian Pembelajaran
1. Mahasiswa mengerti konsep array, pointer dan struktur.
2. Mahasiswa dapat menjelaskan perbedaan array, pointer dan
struktur.
3. Mahasiswa dapat menyelesaikan permasalahan pemrograman
menggunakan array pointer dan struktur.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Materi
Array
Pointer
Struktur

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Array
 Array adalah sekumpulan variabel yang mempunyai tipe yang sama.
 Bersifat statis, dimana alokasi memori dilakukan saat deklarasi source code.
 Contoh deklarasi array
int nilai[10];

Tipe data Besarnya


Nama array
variabel

Terdapat 10 variable nilai yang sama tipenya yaitu integer.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 4


Mengakses Array
Untuk mengakses array harus ditentukan index yang diakses.

void main() {
int bilangan[10], int i;
for(i=0;i<10;i++){
bilangan[i] = 2*i;
printf(“%d %d\n”, i, bilangan[i]);
}
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Pointer
 Pointer adalah variabel yang menunjuk ke lokasi alamat tertentu.
 Bersifat dinamis, dimana alokasi memori dilakukan pada saat
program dijalankan.
 Contoh deklarasi pointer
int *nilai;
Tipe data Nama variable
yang ditunjuk Tanda variable
pointer
pointer

Variabel nilai menunjuk ke variable lain yang bertipe integer

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 6


Mengakses Pointer
 Terlebih dahulu harus ditentukan alamat yang ditunjuk.

void main() { void main() {


int a, int *b; char *namaku;
a = 5; strcpy(namaku, “Anna”);
b = &a; printf(“%s\n”, *nama);
printf(“%d %d\n”, a, *b); }
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 7


Array of pointer
 Adalah kumpulan array dengan tipe data pointer
 Contoh deklarasi array of pointer

int *nilai[10];
Tipe data Nama variable Jumlah
yang ditunjuk Tanda variable
pointer variabel
pointer

Terdapat 10 variable nilai yang sama tipenya yaitu menunjuk ke variable


lain yang bertipe integer.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Mengakses array of pointer

void main() {
int *bil[3], a, b, c, i;
a = 5;
b = 10;
c = 15;
bil[0] = &a;
bil[1] = &b;
bil[2] = &c;
for(i=0;i<3;i++)
printf(“%d\n”, *bil[i]);
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Struktur
 Struktur adalah sekumpulan variabel yang mempunyai tipe yang berbeda.
 Sebagai user defined variable, yaitu variable yang didefinisikan sendiri oleh
user
 Contoh deklarasi struktur
struct tanggal {
int tgl;
char bulan[15];
int tahun;
};

Struktur tanggal terdiri dari 3 variable dengan tipe yang berbeda.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 10


Deklarasi Struktur dengan typedef
 typedef berfungsi sebagai nama lain / alias dari tipe data.
 Digunakan untuk meringkas tipe data struktur sehingga mudah
diakses.
typedef struct tanggal TGL; typedef struct tanggal {
struct tanggal { int tgl;
int tgl; char bulan[15];
char bulan[15]; int tahun;
int tahun; } TGL;
};

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 11


Mengakses Tipe Struktur
 Menggunakan tanda “.”
typedef struct tanggal {
int tgl;
char bulan[15];
int tahun;
} TGL;
void main()
{
TGL a;
a.tgl = 17;
strcpy(a.bulan,”Agustus”);
a.tahun = 1945;
printf(“%d %s %d\n”, a.tgl, a.bulan, a.tahun);
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 12


Array of Structure
 Tipe data array pada tipe data struktur
typedef struct tanggal {
int tgl;
char bulan[15];
int tahun;
} TGL;

void main()
{
TGL tgl_lahir[2];
int i;
tgl_lahir[0].tgl = 11;
strcpy(tgl_lahir[0].bulan, “Maret”);
tgl_lahir[0].tahun = 1965;
TGL tgl_lahir[2];
tgl_lahir[1].tgl = 1;
strcpy(tgl_lahir[1].bulan, “Juni”);
tgl_lahir[1].tahun = 1945;
for(i=0;i<2;i++)
printf(“%d %s %d\n”, tgl_lahir[i].tgl, tgl_lahir[i].bulan, tgl_lahir[i].tahun);
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 13


Pointer to Structure
 Variable yang menunjuk ke tipe data struktur
typedef struct tanggal {
int tgl;
char bulan[15];
int tahun;
} TGL;

void main()
{
TGL *tgl_lahir;
tgl_lahir = (TGL *) malloc (sizeof(TGL));
*(tgl_lahir.tgl) = 11;
strcpy(*(tgl_lahir.bulan), “Maret”);
*(tgl_lahir.tahun) = 1965;
printf(“%d %s %d\n”, *(tgl_lahir.tgl), *(tgl_lahir.bulan), *(tgl_lahir.tahun));
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 14


Pointer to Structure
 Bisa juga dengan cara berikut
typedef struct tanggal {
int tgl;
char bulan[15];
int tahun;
} TGL;

void main()
{
TGL *tgl_lahir;
tgl_lahir = (TGL *) malloc (sizeof(TGL));
tgl_lahir->tgl = 11;
strcpy(tgl_lahir->bulan, “Maret”);
tgl_lahir->tahun = 1965;
printf(“%d %s %d\n”, tgl_lahir->tgl, tgl_lahir->bulan, tgl_lahir->tahun);
}

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA 15


Rangkuman
 Sekumpulan variabel yang mempunyai tipe yang sama
 Variabel yang menunjuk ke lokasi alamat tertentu
 Sekumpulan variabel yang mempunyai tipe yang berbeda

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA


Soal
1. Jelaskan perbedaan array, pointer dan struktur.
2. Jelaskan deklarasi array dan cara mengakses array.
3. Jelaskan deklarasi pointer dan cara mengakses pointer.
4. Jelaskan deklarasi struktur dan cara mengakses struktur.

POLITEKNIK ELEKTRONIKA NEGERI SURABAYA

Anda mungkin juga menyukai