ARRAY STATIS DAN DINAMIS DASAR ALGORITMA DAN PEMOGRAMAN ARRAY STATIS DAN DINAMIS KELOMPOK 5 TEKNIK ELEKTRO BRAWIJAYA
TEKNIK ELEKTRO BRAWIJAYA ARRAY BAGAN PRESENTASI TEKNIK ELEKTRO BRAWIJAYA
A R R A Y Array adalah suatu tipe data terstruktur yang terdapat pada memori yang terdiri dari sejumlah elemen yang mempunyai tipe data yang sama dan merupakan gabungan dari beberapa variabel sejenis serta memiliki jumlah komponen yang jumlahnya tetap. 1 2 int 1 1 2 Indeks dari suatu array selalu mulai dari 0. Jadi misalnya jika indeks maksimal suatu array adalah 4 maka elemennya ada sebanyak 5 DASAR ALGORITMA DAN PEMROGRAMAN
A R R A Y DEKLARASI ARRAY Array dalam pendeklarasiannya sama sperti variabel biasa, harus di dideklarasikan sebelum digunakan. Sebuah array dalam bahasa C++ di deklarasikan dalam bentuk : type nama [elements]; Tipe disini adalah tipe data yang akan di masukkan ke dalam array seperti int, float, double. Sedangkan nama adalah nama dari array tersebut. 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 4
A R R A Y Nilai suatu variable array dapat juga diinisialisasi secara langsung pada saat deklarasi, misalnya; Int c[7] = {-45, 0, 6, 72, 1543, 43, 4} Berarti setiap lokasi memori dari variable array c langsung diisi dengan nilai-nilai yang dituliskan didalam tanda kurung kurawal. Banyaknya lokasi memori dapat secara otomatis disediakan sesuai dengan banyaknya nilai yang akan dimasukkan, seperti contoh berikut yang tentunya membuat variable array dengan 10 lokasi memori: Int x []={10, 15 12, 5, 13, 9, 6, 17, 25, 31}; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 5
A R R A Y Besar atau ukuran suatu array dapat juga diinisialisasi secara langsung dengan menggunakan perintah #define . Contoh : Untuk sebuah array: int a[SIZE]; Kita menentukkan besarnya array dengan: #define SIZE 12 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 6
A R R A Y Akses Ke Nilai Array Jika tiap – tiap nilai elemen yang ada di array sudah ditentukan kita dapat mengakses masing masing dari nilai tersebut. Format untuk mengakses sebuah nilai dalam array adalah : name [index]; contoh : 100 200 300 int C C(0) C(1) C(2) 1 1 2 Untuk mengakses misalnya nilai pertama dari array tersebut kita hanya perlu menulis A = C[0]; DASAR ALGORITMA DAN PEMROGRAMAN 7
A R R A Y Contoh Program Array Standar // program untuk menjumlahkan semua elemen array #include <stdio.h> #define SIZE 12 main() { int a[SIZE]={1, 3, 5, 4, 7, 2, 99, 16, 45, 67, 89, 45}; int indeks, total =0; for(indeks=0; indeks<=SIZE-1; indeks++) // perulangan untuk penjumlahan total += a[indeks]; printf("\nTotal setiap elemen array adalah %d",total); return 0; } 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 8
A R R A Y 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 9
TEKNIK ELEKTRO BRAWIJAYA JENIS ARRAY ARRAY BAGAN PRESENTASI TEKNIK ELEKTRO BRAWIJAYA 10
Tipe nama_var[ukuran] JENIS – JENIS ARRAY 1. Array dimensi 1 Array satu dimensi tidak lain adalah kumpulan elemen-elemen yang identik, yang tersusun dalam satu baris. Elemen-elemen tersebut memiliki type data yang sama, tetapi isi dari elemen tersebut boleh berbeda-beda. Array dimensi hanya memiliki 1 baris dan 1 kolom yang merupakan kombinasi dari keduanya. Bentuknya : Tipe nama_var[ukuran] Dengan : Tipe : menyatakan jenis elemen array (int, char, unsigned, dan lain-lain) Ukuran : menyatakan jumlah maksimal elemen array Contoh : Float nilai_ujian[5]; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 11
JENIS – JENIS ARRAY Contoh program array dimensi satu #include <stdio.h> int main() { int square[100]; int i; int k; for (i=0; i<10; i++) k= i+1; square[i]=k*k; printf("\nkuadratdari %d adalah %d ", k, square[i]); } return 0; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 12
JENIS – JENIS ARRAY 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 13
Tipe_data nama array [jumlah_baris] [jumlah_kolom] JENIS – JENIS ARRAY 2. Array Dimensi Dua Array dua dimensi, yang sering digambarkan pada sebuah matrix adalah merupakan sebuah perluasan dari sebuah array satu dimensi. Jika pada array satu dimensi hanya terdiri dari sebuah baris dengan beberapa kolom elemen maka pada array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertype sama. Deklarasi array 2 dimensi adalah sebagai berikut : Tipe_data nama array [jumlah_baris] [jumlah_kolom] Sebagai contoh, sebuah matrik B berukuran 2 X 3 dapat dideklarasikan dalam C seperti berikut : int B[2][3] = {[2, 4, 1}, {5, 3, 7}}; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 14
JENIS – JENIS ARRAY Cara mengakses array berdimensi 2 adalah sebagai berikut: Nama_array[baris][kolom] ; Sedangkan untuk mengisi nilai array dimensi 2 dengan nilai tertentu adalah : Nama_array[baris][kolom] = nilai; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 15
JENIS – JENIS ARRAY #include <stdio.h> void printArray(int[][3]); main() { int matrik1[2][3] = {{1, 2, 3},{4, 5, 6}}; int matrik2[2][3] = {1, 2, 3, 4, 5}; int matrik3[2][3] = {{1, 2},{4}}; printArray (matrik1); printArray (matrik2); printArray (matrik3); return 0; } void printArray (int a[][3]) int i,j; for (i=0; i<=1; i++) for (j=0; j<=2; j++) printf("%d",a[i][j]);; printf("\n"); 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 16
JENIS – JENIS ARRAY 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 17
Tipe_data nama_array[jumlah_indeks] [jumlah_indeks]…..; JENIS – JENIS ARRAY 3. Array Dimensi Banyak(Array N Dimensi) Array n dimensi adalah array yang memiliki banyak dimensi bergantung pada kebutuhan user. Misalnya array tiga atau empat dimensi. Secara struktur sebenarnya array n dimensi bisa disebut array dalam array (array of array) sesuai dengan dimensinya seperti pada gambar : Deklarasi array n dimensi adalah sebagai berikut : Tipe_data nama_array[jumlah_indeks] [jumlah_indeks]…..; Contoh : Int tab[20] [10] [10]; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 18
JENIS – JENIS ARRAY #include <stdio.h> int main() { char tabchar [3] [3] [3]= {'a','b','c'}, //deklarasi variabel {'d','e','f'}, {'g','h','i'}}, {'j','k','l'}, {'m','n','o'}, {'p','q','r'}}, {'s','t','u'}, {'v','w','x'}, {'y','z','0'}} }; int i; // variabel untuk matriks pertama int j; // variabel untuk matriks kedua int k; // variabel untuk matriks ketiga 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 19
JENIS – JENIS ARRAY printf("isi array: \n"); for(i=0;i<3;i++) //perulangan indeks pertama { for(j=0;j<3;j++) //perulangan indeks kedua for(k=0;k<3;k++) //perulangan indeks ketiga printf("%c",tabchar [i] [j] [k]);} printf("\n");} return 0; } 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 20
JENIS – JENIS ARRAY 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 21
TEKNIK ELEKTRO BRAWIJAYA JENIS ARRAY ARRAY BAGAN PRESENTASI ARRAY STATIS TEKNIK ELEKTRO BRAWIJAYA 22
ARRAY STATIS ARRAY STATIS Array statis adalah array yang ukuran elemennya ditentukan dari dalam program sebuah array statis memiliki nilai yang tetap selama program dijalankan. Array statis bisa dikatakan sebagai sekumpulan data yang bertipe sama yang bisa di akses lewat indexnya. Dalam sebuah array statis pemesanan jumlah memory yang akan digunakan tidak dapat diubah pada saat diikompilasi oleh compiller. 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 23
ARRAY STATIS Bentuk Umum array[indexType1, ..., indexTypen] of baseType Keterangan = index type menunjukan tipe data ordinal yang menunjukan batasan atau elemen maksimul terhadap seberapa besar variabel tersebut menyimpan komponen. Contoh: Var arrayku : array[1..5] of char Atau juga type jangkauan = 1..5; var nilai : array[jangkauan] of integer; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 24
ARRAY STATIS Implementasi program array statis: #include<stdio.h> int main() { int tabel[5]; int i; tabel[0] = 1; tabel[1] = 2; tabel[2] = 3; tabel[3] = 4; tabel[4] = 5; printf(" isi array = \n"); for(i=0 ; i<5; i++) printf("%d \n",tabel[i]); } return 0; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 25
ARRAY STATIS 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 26
TEKNIK ELEKTRO BRAWIJAYA JENIS ARRAY ARRAY BAGAN PRESENTASI ARRAY STATIS ARRAY DINAMIS TEKNIK ELEKTRO BRAWIJAYA 27
ARRAY DINAMIS ARRAY DINAMIS Array Dinamis adalah array yang pesanan jumlah memory yang akan digunakan dapat diubah atau ditentukan oleh user sehingga lebih flexibel. Jika didefinisikan dinamik, ukuran larik dapat berubah selama program berjalan karena memesan tempat pada memori Proses pemesanan tempat pada memori disebut dengan alokasi. Sedangkan proses pembebasan memori yang sudah dipesan disebut dengan dealokasi. Array dinamis memiliki jenis operasi yang sama dengan array : mengisi nilai pada posisi tertentu dan mengambil nilai di posisi tertentu. Akan tetapi tidak ada batas maksimum dari jumlah array (hanya tergantung pada jumlah memori komputer yang tersedia). 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 28
ARRAY DINAMIS Larik atau array dinamis merupakan array yang tidak mempunyai suatu jangkauan atau ukuran yang tetap. Tetapi ketika program dijalankan maka memori untuk suatu array dinamis direalokasikan ketika kita menugaskan suatu nilai kepada array. Bentuk Umum array of baseType Contoh var nilai: array of Real; 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 29
ARRAY DINAMIS Implementasi program array dinamis : #include <stdio.h> #include <iostream> int main() { int banyak; int data[0]; printf("Banyaknya data yang diperlukan:" ); scanf("%d", &banyak); for(int i=0; i<banyak; i++) printf("Array ke- %d =",i); scanf("%d",&data[i]); } for(int j=0; j<banyak; j++){ printf("Array %d = %d ",j,data[j]); 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 30
Input Banyak Data ARRAY DINAMIS DASAR ALGORITMA DAN PEMROGRAMAN 1 1 2 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 31
ARRAY DINAMIS Input Data 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 32
ARRAY DINAMIS Output 1 1 2 DASAR ALGORITMA DAN PEMROGRAMAN 33
TERIMA KASIH