Algoritma Dan Pemrograman: Array
Algoritma Dan Pemrograman: Array
Pertemuan 11, 12
Sub-CPMK
• Mahasiswa mampu mendeklarasikan dan mempergunakan
Array pada algoritma (C3, A3)
Materi
• Pengertian Array
• Deklarasi Array
• Inisialisasi Array
• Array dari tipe data bentukan
• Dimensi Array
Perhatian
• Tidak disarankan copy-paste kode program dari presentasi ini,
karena ada beberapa symbol yang dianggap sebagai Unicode
oleh editor yang anda gunakan, sehingga akan dianggap
sebagai symbol yang salah oleh compiler, sebaiknya diketik
ulang saja
1.
Pengertian Array
1.1. Pengertian Array
• Array atau Larik adalah sejumlah data secara berurutan
• Mempunyai susunan elemen yang sama
• Setiap array dapat diakses menggunakan indeks yang
menyatakan urutan penempatan data pada array
• Secara umum, Array adalah sekumpulan item-item data yang
homogen yang dapat dipilih menggunakan indeks pada saat
program dijalankan
• Array secara sederhana dibentuk dari tipe data primitif,
sehingga membentuk sederetan data dengan tipe data yang
sama
• Array dapat dibentuk dari struktur /record
TMSM - Array 6
1.2. Tipe Data Array
• Tipe data array adalah jenis data yang mewakili kumpulan
elemen (nilai atau variabel), masing-masing dipilih oleh satu
atau beberapa indeks (kunci identifikasi) yang dapat dihitung
pada run time selama eksekusi program. Koleksi seperti ini
biasanya disebut variabel array, nilai array, atau array
sederhana.
• Dengan analogi dengan konsep matematis vektor dan matriks,
tipe array dengan satu dan dua indeks sering disebut tipe
vektor dan tipe matriks.
TMSM - Array 7
1.3. Struktur Data Array
• Struktur data array, atau hanya array, adalah struktur data
yang terdiri dari kumpulan elemen (nilai atau variabel),
masing-masing diidentifikasi oleh setidaknya satu indeks array
atau kunci. Sebuah array disimpan sehingga posisi masing-
masing elemen dapat dihitung dari tupel indeksnya dengan
rumus matematika.
• Jenis struktur data yang paling sederhana adalah array linier,
disebut juga array satu dimensi.
TMSM - Array 8
1.4 Index Array
• Untuk menunjuk suatu sel pada array dilakukan dengan
memberikan nilai pada indeks dari array yang dituju
• Indeks array diperlukan untuk mengakses alamat sel
– Misal untuk mengakses sel pada indeks ke 9
– Maka kita cukup mencantumkan varArray[9]
• Indeks array dapat diganti dengan variabel bertipe kardinal
– Misal untuk mengakses sel pada indeks ke 9, maka kita dapat
menyimpan data 9 tersebut ke variabel n
– Kemudian kita cukup mencantumkan varArray[n]
1.5 Tipe Data Untuk Indeks Array
• Tipe data untuk index array diperlukan suatu variabel bertipe
cardinal seperti int, longInt, smallint dan char
1.6 Array 1 Dimensi
Sel • Apapun cara anda
menggambarkan, Array 1
dimensi memiliki struktur yang
sama, sekumpulan sel dengan
indeksnya
indeks
• Array dengan 1 dimensi biasa
digunakan untuk menyatakan
himpunan atau sejumlah record
Sel
• Setiap sel / elemen dari array
dialamati oleh nomor indeks
TMSM - Array 11
1.6 Array 1 Dimensi (lanj…)
Declaration
tipeVariabel namaArrayname[ukuranArray];
//deklarasi array berukuran 10 dengan indeks 0..9
//Catatan: pada C index array dimulai dari 0
int table1d[10];
Assignment
table1d[7] = 1000; //mengisi array ke 7 dengan 1000
Accessing
temp = table1d[7]; //mengambil data dari array ke 7 dan menyimpan pada
variabel temp
TMSM - Array 12
1.7 Contoh Array dan mengaksesnya
#include <stdio.h> for(i=0;i<=n-1;i++)
#include <conio.h> {
//Contoh array dengan record
printf("Data ke %d: \n",i);
//------------------------------------------------
struct TheCell printf(" Nama : ");scanf("%s",&DataMhs[i].nama);
{ printf(" Umur : ",i);scanf("%d", &DataMhs[i].umur);
char nama[10]; }
int umur; printf("\n");
};
printf("Teman-teman ku : \n"); for(i=0;i<=n-1;i++)
struct TheCell DataMhs[100];
{
/* program utama */ printf("%s (%d tahun) \n",DataMhs[i].nama,DataMhs[i].umur);
void main() }
{ //printf("\n");}
int n, i;
do{
//clrscr(); Silahkan ganti printf dengan cout dan scanf dengna cin jika versi C anda
printf("Jumlah Data : ");scanf("%d", &n); tidak mensupportnya
}while (n>10);
printf("\nEntry Serial Data\n\n");
2.
Deklarasi Array
2.1 Deklarasi Array
• Untuk mendeklarasikan Array dapat dilakukan dengan syntax:
tipedata namarray[ukuranarray];
• Contoh
Mendeklarasikan array integer dengan nama pool dengan ukuran 10
int pool[10];
3.
Inisialisasi Array
4.
TMSM - Array 19
4.2.1 Contoh Implementasi Tabel
Dengan menggunakan array 2 Dimensi
maka tabel vektor dapat digambarkan
dengan cara:
• Label Vektor dapat diwakili dengan
Indeks array dimensi pertama
• Kolom X diwakili array dimensi ke 2
indeks ke 1
• Kolom Y diwakili array dimensi ke 2
indeks ke 2
TMSM - Array 20
4.2.2. Contoh Implementasi Tabel (Lanj.)
Input Koordinat
TMSM - Array 21
4.3. Record With Array - C
• Record definition • Example
struct StructName //Struct definition
{ struct TheCell
vartype Var1Name; {
vartype Var2Name; char Name[10];
vartype VarNName; int Age;
}; };
//Declaration
• Array declaration struct TheCell DataMhs[250];
struct StructName DataCell[ArraySize];
void main()
• Assignment {
//Assignment
DataCell[ArrayNum].VarName = value; strcpy(DataMhs[1].Name,”Doraemon”);
DataMhs[1].Age = 19;
• Accessing //Accessing
printf(“%s”, DataMhs[1].Name);
DataCell[ArrayNum].VarName printf(“%d”, DataMhs[1].Age);
}
TMSM - Array 22
5.
Dimensi Array
5.1. Dimensi Array
• Array dapat tersusun dalam 1 dimensi, 2 dimensi, 3 dimensi bahkan
lebih
• Array dengan 1 dimensi biasa digunakan untuk menyatakan himpunan
atau sejumlah record
• Array dengan 2 dimensi biasa digunakan untuk menyatakan sekumpulan
himpunan matriks atau tabel
• Array dengan 3 dimensi biasa digunakan untuk menyatakan sekumpulan
matriks atau tabel
TMSM - Array 24
5.2 Array 2 Dimensi
• Array 2 dimensi akan memiliki struktur yang sama pada
masing-masing selnya, baik sel-sel yang tersusun secara
horisontal, maupun sel-sel yang tersusun secara vertikal
TMSM - Array 25
5.2 Array 2 Dimensi (lanj…)
Declaration
tipeVar namaArrayname[ukuranArraydimensi1][ukuranArraydimensi2];
//deklarasi array berukuran 10 x 20 bertipe data int
int table2d[10][20];
Assignment
//mengisi array baris 1 kolom 4 dengan 88
table3d[1][4] = 88;
Accessing
//mengambil data array pada baris 1 kolom 4 dan menyimpan pada variabel temp
temp = table2d[1][4];
TMSM - Array 26
5.2.1 Implementasi Matriks
• Matriks dapat diterapkan dengan menggunakan array 2
dimensi
• Implementasi matriks dengan struct yang dideklarasikan pada
array 1 dimensi untuk menyatakan dapat juga dilakukan
dengan fields merupakan array juga untuk menyatakan kolom
TMSM - Array 27
5.2.2 Contoh Implementasi Matriks
Misalkan ada sebuah grafik dengan koordinat-koordinat dan arah
vektornya.
• P1 dengan koordinat(50,50)
• P2 dengan koordinat(100,150)
• P3 dengan koordinat(150,50)
• P4 dengan koordinat(25,115)
• P5 dengan koordinat(175,115)
TMSM - Array 28
5.2.2 Contoh Implementasi Matriks
(lanj…)
• Berdasarkan matriks arah, maka garis-garis yang terhubung
dari tiap titik yang diwakili indeks baris ke titik yag diwakili
indek kolom dapat ditentukan
• Pemberian tanda checked pada contoh menandai adanya garis
yang terhubung
Input Koordinat Input Arah
TMSM - Array 29
5.2.2 Contoh Implementasi Matriks
(lanj…)
Dengan menggunakan array 2 Dimensi
maka matriks arah dapat digambarkan
dengan cara:
• Array dimensi pertama digunakan
sebagai indeks baris
• Array dimensi kedua sebagai indeks
kolom
• Dapat juga diterapkan dengan cara
sebaliknya.
TMSM - Array 30
5.2.3 Contoh Array 2 D dalam C
• #include <stdio.h>
•
• int main(void)
• {
• int matrix[2][3] = {{1,2,3},{7,8,9}};
•
• printf("Isi array matrix: \n");
• printf("%d %d %d \n", matrix[0][0], matrix[0][1], matrix[0][2]);
• printf("%d %d %d \n", matrix[1][0], matrix[1][1], matrix[1][2]);
•
• return 0;
• }
TMSM - Array 31
5.3 Row- and Column-major Order
• Row Major Oder merupakan susunan pengaksesan
sel-sel array 2 dimensi yang diakses berdasarkan sel-
sel pada tiap baris, setelah semua sel pada suatu
baris selesai diakses, baru pengaksesan dilanjutkan
pada baris di bawahnya
• Column Major Oder merupakan susunan
pengaksesan sel-sel array 2 dimensi yang diakses
berdasarkan sel-sel pada tiap kolom, setelah semua
sel pada suatu kolom selesai diakses, baru
pengaksesan dilanjutkan pada kolom berikutnya
TMSM - Array 32
5.4 Array 3 Dimensi
• Array Dimensi pertama dan
kedua sebagai matriks yang
disusun secara berurutan pada
dimensi ketiga
TMSM - Array 33
5.4 Array 3 Dimensi (lanj…)
Declaration
tipeVar namaArray[ukuranArrayDim1][ukuranArrayDim2] [ukuranArrayDim3];
//deklarasi array berukuran 10 x 20 x 5 bertipe int
int table3d[10][20][5];
Assignment
//mengisi baris 1 kolom 4 tabel 5 dengan 100
table3d[1][4][5] = 100;
Accessing
//mengambil data array pada baris 1 kolom 4 tabel 5
//dan menyimpan pada variabel temp
temp = table3d[1][4][5]; //Accessing
TMSM - Array 34
Ringkasan
• Array atau Larik adalah sejumlah data secara berurutan yang mempunyai susunan
elemen yang sama
• Array dapat diakses menggunakan indeks yang menyatakan urutan penempatan
data pada array
• Array dapat dibentuk dari struktur / record
• Array dapat tersusun dalam 1 dimensi, 2 dimensi, 3 dimensi bahkan lebih
• Array dengan 1 dimensi biasa digunakan untuk menyatakan himpunan atau
sejumlah record
• Array dengan 2 dimensi biasa digunakan untuk menyatakan sekumpulan himpunan
matriks atau tabel
• Array dengan 3 dimensi biasa digunakan untuk menyatakan sekumpulan matriks
atau tabel
TMSM - Introduction to Data Structure 35
Terimakasih