Tipe Data Terstruktur

Download Report

Transcript Tipe Data Terstruktur

Tipe Data Terstruktur
Array:
Data disimpan dalam suatu struktur, sedemikian rupa
sehingga elemen-elemen di dalam struktur tadi dapat
diolah secara kelompok ataupun secara individu. .
Sifat - sifat Array:
• Homogen:
Seluruh elemen di dalam struktur array harus mempunyai
tipe data yang sama.
• Random Access
Setiap elemen di dalam struktur array dapat dicapai secara
individual, langsung ke lokasi elemen yang diinginkan,
tidak harus melalui elemen pertama.
Array Dimensi Satu:
Definisi dari sebuah array terdiri dari 4 komponen yaitu :
1.Type specifier
2.Identifier (nama array)
3.Operator index ([ ])
4.Nilai dimensi dalam operator [ ]
Sintaks deklarasi array dimensi satu :
type nama_arrray[Nilai_dim];
Contoh :
int A[10];
Dengan menggunakan contoh deklarasi sebelumnya dapat
digambarkan alokasi untuk variabel A
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
• Elemen-elemen suatu Array diindeks (subscript) mulai
dari 0.
• Dua cara yang ekivalen untuk mengakses unsur ke-i dari
suatu array. Misal untuk i=2;
*(A+2) atau A[2]
• A ekivalen dengan &A[0] atau pointer constant ke elemenpertama dari array tersebut.
• Mengisi data ke elemen array dilakukan dengan menggunakan assignment operator.
Contoh :
A[6]= 15;
27
A[3]= 27;
15
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
Bila elemen A[4] hendak ditampilkan di layar monitor,
gunakan statemen sbb:
printf(“%d”,A[4]) atau printf(“%d\n”,*(A+4));
Statement A[2] = A[3] - A[6], menghasilkan :
12
27
15
A[0] A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9]
Array dapat diinisialisasi secara eksplisit pada saat
didefinisikan dan tidak perlu diberikan nilai
dimensinya.
Contoh:
int B[ ] = {1, 2, -4, 8};
Contoh inisialisasi array setelah didefinisikan :
int A[5];
for (i=0; i<5; i++)Error
A[i]=0;
int B[5];
B[5]={0,0,0,0,0};
Jika array digunakan sebagai parameter dalam suatu fungsi,
maka passing parameter harus by location.
Contoh:
#include <stdio.h>
void cetak_array(int index, int *Array)
{
printf(“Array[%d]=%d\n”, index, Array[index]);
}
void main()
{
int Array[] = {1, 6, 2, 8, 12};
cetak_array (2, Array);
}
String dan Character:
Dalam bahasa C String adalah Array of character, yang
diakhiri dengan null character (null character nilai asciinya=0 atau ‘\0’).
String constant diapit oleh tanda petik dua, sedangkan
character constant diapit oleh tanda petik satu.
Contoh :
”a”;
’a’;
/* string */
/* character */
Inisialisasi array of character:
char A[ ]={‘B’,’I’,’N’,’U’,’S’}; /* 5 elemen */
char B[ ]=”BINUS”;
/* 6 elemen */
char C[8]=”BINUS”;
/* 8 elemen */
‘B’
‘I’
‘N’
‘U’
‘S’
‘B’
‘I’
‘N’
‘U’
‘S’
‘\0’
A[0]
A[1]
A[2]
A[3]
A[4]
B[0]
B[1]
B[2]
B[3]
B[4]
B[5]
‘B’
‘I’
‘N’
‘U’
‘S’
‘\0’
C[0]
C[1]
C[2]
C[3]
C[4]
C[5]
C[6]
C[7]
Pointer dan Array:
Tipe dari Array adalah pointer constant ke elemen pertama
dari Array tersebut. Jadi pointer bisa di-assign untuk
menunjuk sebuah Array.
Contoh :
int Arr[10];
int *ptrArr;
ptrArr = Arr;
Untuk mengakses elemen ke-i dapat dilakukan dengan cara
sbb:
• ptrArr[i];
• Arr[i];
• *(ptrArr + i);
• *(Arr + i);
• ptrArr = ptrArr +i; *ptr;
Pointer dan String:
Dalam bahasa C String adalah Array of character, yang
diakhiri dengan null character, dan Array tipe-nya pointer ke
elemen pertama, berarti pointer juga bisa di-assign ke
string.
Contoh:
char str[10] = “Hello”;
char *ptrStr;
ptrStr = str;
Untuk mengakses character ‘e’ bisa digunakan cara sbb:
• str[1];
• ptrStr[1];
• *(ptrStr+1);
• *(str+1);
• ptr = ptrStr+1; *ptrStr;
Tugas / Latihan :
1. Buatlah program dengan fungsi sbb:
• fungsi untuk meng-input 10 bilangan ke dalam array
• fungsi untuk mencari bilangan terbesar dalam array
tersebut
• fungsi untuk mencari bilangan terkecil dalam array
tersebut
• fungsi untuk menampilkan :
- 10 bilangan tersebut
- Bilangan terbesar dan terkecil
2. Buat program untuk:
• mengambil string dari keyboard
• membalik susunan karakter dalam string tsb
• menampilkan string yg sudah dibalik ke layar monitor
Contoh: string yg di-input : KASUR
Ditampilkan : RUSAK