Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Teknik Informatika Universitas Pembangunan Jaya

Presentasi serupa


Presentasi berjudul: "Teknik Informatika Universitas Pembangunan Jaya"— Transcript presentasi:

1 Teknik Informatika Universitas Pembangunan Jaya
Struktur Data Materi: Array Teknik Informatika Universitas Pembangunan Jaya

2 Definisi Array [1] Array adalah suatu set dari alokasi data, dengan jenis data yang sama untuk tiap alokasi tersebut. Setiap alokasi data disebut sebagai elemen dari array. Untuk mendeklarasikan sebuah array, tuliskan jenis data dalam array tersebut, nama array dan diikuti dengan subscript. Subscript disini adalah menyatakan jumlah elemen array yang dituliskan di dalam kurung siku Contohnya, int IntArray[25]; sebagai deklarasi sebuah array yang memiliki 25 alokasi data (elemen) dengan jenis data integer bernama IntArray.

3 Definisi Array [2] Perbedaan deklarasi variabel array dengan variabel biasa int a;  hanya 1 nilai untuk variabel a int a[10];  terdapat 10 slot nilai untuk variabel a int a[7] = {1,2,3,5,43,5,6}; Arrays dapat menggunakan nama apapun (yang dapat digunakan dalam bahasa C/C++), selama tidak memiliki nama yang sama dengan variabel tunggal lain.

4 Deklasrasi tipe_data nama_var_array [ukuran];
tipe_data : menyatakan jenis tipe data elemen larik (int, char, float, dll) nama_var_array : menyatakan nama variabel yang dipakai. ukuran : menunjukkan jumlah maksimal elemen larik. Contoh : Int nilai[6];

5 Isi array Dalam bahasa C/C++, array dimulai dari 0. A[0] bernilai 5
Jika A merupakan array dengan jumlah elemen 10, maka variabel yang adalah A[0], A[1], ..., A[9] A 5 [0] 9 [1] 15 [2] 8 [3] -7 [4] 21 [5] 1 [6] -3 [7] 11 [8] -1 [9] isi array indeks array A[0] bernilai 5 A[4] bernilai -7 Berapa nilai A[6] ? Berapa nilai A[9] ?

6 Mengisi Nilai Elemen Array
Nilai setiap elemen array dapat diisikan langsung A[0] = 100; /*Nilai elemen A[0] adalah 100*/ B[5] = 35; /*Nilai elemen B[5] adalah 35 */ A[0] = B[5];/*Nilai elemen A[0] adalah 35 */ C = -99; /*C adalah variabel biasa, bukan array. C bernilai -99 */ B[5] = C; /*Nilai elemen B[5] adalah -99. A[0] tetap bernilai 35 */

7 Menampilkan Nilai Array
#include <iostream.h> int main(){ int A[3]; int B = 35; A[0] = 70; A[1] = B; cout<<“Isi nilai A[0] adalah”<<A[0]<<“\n”; cout<<“Isi nilai A[1] adalah”<<A[1]<<“\n”; cout<<“Silakan user mengisi nilai A[2]:”; cin>>A[2]; cout<<“Isi nilai A[2] adalah”<<A[2]<<“\n”; }

8 INISIALISASI Menginisialisasi array sama dengan memberikan nilai awal array pada saat didefinisikan. int nilai[6] = {8,7,5,6,4,3}; Contoh diatas berarti berarti anda memesan tempat di memori komputer sebanyak 6 tempat dengan indeks dari 0-5, dimana indeks ke-0 bernilai 8, ke-1 bernilai 7, dst, dan dimana semua elemennya bertipe data integer.

9 Array initialization [1]
Meskipun tidak dimungkinkan mengoperasikan array secara langsung, namun pemberian nilai dapat dilakukan int a[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}; Bila initializers-nya lebih sedikit dari elements array, sisanya akan dianggap bernilai 0. int a[10] = {0, 1, 2, 3, 4, 5, 6}; nilai a[7], a[8], dan a[9] dianggap 0.

10 Array initialization [2]
Bila terdapat initializer, maka dimensi array dapat diabaikan int b[] = {10, 11, 12, 13, 14}; b merupakan array yang memiliki 5 elemen karena di-inisialisasi dengan 5 angka. Perhatikan bahwa variable b dinyatakan sebagai b[] untuk menjelaskan bahwa b adalah sebuah array Jika elemen array adalah karakter, maka initializer dapat berupa string constant: char s1[7] = "Hello,"; char s2[10] = "there,"; char s3[] = "world!";

11 Index array pada C++ dimulai dari 0
Untuk mengakses data pada array, gunakan nomor index sebagai penunjuk lokasi memori, seperti format ini nama_array[index]; Index array pada C++ dimulai dari 0 Misal akan mengakses nilai pertama dari array yang disimpan pada variabel a, dimana variabel a harus memiliki tipe data yang sama dengan array nilai: a=nilai[0];

12 Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud. Pengaksesan elemen array dapat dilakukan berurutan atau random berdasarkan indeks tertentu secara langsung.

13 Nilai/data yang ada pada array harus sama jumlahnya dengan elemen array yang sudah didefinisikan.
Jika elemen dikosongkan, artinya anda tidak membatasi jumlah nilai yang ada pada array tersebut. Array terbagi 2, yaitu array satu dimensi dan multidimensi. Array dapat juga dijadikan argumen/ parameter sebuah fungsi.

14 Contoh Program #1 #include <iostream.h> #include <conio.h> int nilai [] = {16, 2, 77, 40, 12071}; int n, result=0; int main () { for ( n=0 ; n<5 ; n++ ) result += nilai[n]; } cout << result; getch(); return 0;

15 Array Satu Dimensi Array Satu dimensi tidak lain adalah kumpulan elemen- elemen identik yang tersusun dalam satu baris. Elemen- elemen tersebut memiliki tipe data yang sama, tetapi isi dari elemen tersebut boleh berbeda. Bentuk umum: <tipe data> NamaArray[n] = {elemen0, elemen1, elemen2,.....,n}; n = jumlah elemen Elemen ke 1 2 3 4 5 6 7 8 9 Nilai 23 34 32 12 25 14 11 10

16 Contoh Program #2 #include <iostream.h> #include <conio.h> main() { int a[5]={10,15,20,25,30}; int b[5]={10,20}; int j; // Menampilkan nilai dari element array cout<<endl; for(j=0;j<5;j++) cout<<"A ["<<j<<"] = "<<a[j]<<" , B ["<<j<<"] = "<<b[j]<<endl; } getch();

17 Array Dua Dimensi Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya terdiri dari sebuah baris dan beberapa kolom elemen, maka array dua dimensi terdiri dari beberapa baris dan beberapa kolom elemen yang bertipe sama sehingga dapat digambarkan sebagai berikut: 1 2 3 4 5 6 10 21 23 43 45 78 65 12 32 34 56 54 11 76

18 Bentuk umum: <tipe data> NamaArray [m][n]; Atau <tipe data> NamaArray [m][n] = { {a,b,..z},{1,2,...,n-1} } Pendeklarasian array dua dimensi hampir sama dengan pendeklarasian array satu dimensi, kecuali bahwa array dua dimensi terdapat dua jumlah elemen yang terdapat didalam kurung siku dan keduanya boleh tidak sama. Elemen array dua dimensi diakses dengan menuliskan kedua indeks elemennya dalam kurung siku.

19 Contoh Program #3 //array dua dimensi #include <iostream.h> #include <conio.h> main() { int matrix[3][3]; int i,j; for(i=0;i<=2;i++) { for(j=0;j<=2;j++) { cout<<"Masukkan angka pada baris ke "<<i<<" kolom ke "<<j<<" : "; cin>>matrix[i][j]; } cout<<endl; } for(i=0;i<=2;i++){ for(j=0;j<=2;j++) { cout<<matrix[i][j]<<" "; } cout<<endl; } getch(); }

20 Penggunaan Array Digunakan untuk suatu database, contoh : tabel
Digunakan untuk operasi matematika seperti vektor (array tipe integer) Digunakan dalam bentuk struktur data lain, contohnya: list, stack, queue.

21 Keunggulan Array Akses data array sangat mudah dan efisien jika diketahui lokasinya sehingga memungkinkan untuk operasi pengambilan dan penyimpanan data secara langsung Contoh : A[2] = 3, artinya menyimpan 3 di posisi-2 array A B = A[5], artinya mengambil nilai diposisi-5 array A ke variabel B

22 Keunggulan Array Jika lokasi elemen sudah diketahui, mudah untuk melakukan penelusuran elemen-elemen tetangganya , seperti elemen sebelum dan sesudah dari lokasi elemen yang diketahui. Untuk data yang nilai-nilainya independen dan terjaga maka penggunaan array sangat efisien dan tepat.

23 Kelemahan Array Karena array kurang flexibel maka ada kekurangan- kekurangan dalam penggunaan array: Tipe array harus homogen, misalnya integer semua atau string semua, tidak bisa beda-beda data dalam satu array. Penggunaan array statik secara repetisi dalam suatu program tidak efisien untuk memory dan makan banyak waktu komputasi.

24 Array dan loop Untuk memberikan nilai atau mengoperasikan suatu array, dapat digunakan sebuah loop: for(int i = 0; i < 10; i = i + 1) { a[i] = 0; } /* a[0] hingga a[9] bernilai 0 */ for(i = 0; i < 10; i++) /* i++ adalah sama dengan i=i+1 */ { b[i] = a[i]+1; } /* b[0] hingga b[9] bernilai 1 */ for(i = 0; i < 10; i++) { c[i] = b[i]+i; } /* untuk i=0  c[0]=1+0=1, untuk i=1  c[1]=1+1=2, untuk i=2  c[2]=1+2=3, berapa nilai c[9]? */

25 Contoh Deklarasi Array [1]
Hasil Tampilan #include <iostream.h> int main () { int n[10]; for (int i=0; i<10; i++) { n[i] = 0; } cout<<”Indeks Elemen Nilai\n”; for (i=0; i<10; i++) { cout<<i<<” ”<<n[i]<<”\n”; } return 0; }

26 Contoh Deklarasi Array [2]
#include <iostream.h> /* Jumlah array ditentukan dalam deklarasi dengan jumlah data yang lebih sedikit */ int main () { int n[10] = {32, 27, 64, 18, 95}; cout<<”Elemen ke Nilai\n”; for (i=0; i<10; i++) { cout<<i<<” ”<<n[i]<<”\n”; } return 0; }

27 Contoh Deklarasi Array [3]
#include <iostream.h> // Jumlah array tidak ditentukan main () { int n[] = {32, 27, 64, 18, 95}; cout<<”Elemen ke Nilai\n”; for (i=0; i<10; i++) { cout<<i<<” ”<<n[i]<<”\n”; } return 0; }

28 Const Contoh: // Menyatakan ukuran array dengan const
#include <iostream.h> main () { const int arraySize = 5; int n[arraySize]; cout<<"Elemen Nilai\n"; for (int i=0; i < arraySize; i++) { n[i] = * i; cout<<i<<” ”<<n[i]<<”\n”; } return 0;

29 Enum [1] Contoh: /* Menyatakan ukuran array dengan const dan menggunakan enumerasi */ #include <stdio.h> int main() { enum WeekDays {Sun,Mon,Tue,Wed,Thu,Fri,Sat,DaysInWeek}; int ArrayWeek[DaysInWeek] = {10, 20, 30, 40, 50, 60, 70}; cout<<"The value at Tuesday is: “; cout<<ArrayWeek[Tue]; return 0; Output: The value at Tuesday is: 30

30 Enum [2] Baris ke-6 menyatakan enumeration (enum) bernama WeekDays, dengan 8 elemen. Sunday = 0 dan DaysInWeek = 7. enum WeekDays {Sun,Mon,Tue,Wed,Thu,Fri,Sat,DaysInWeek}; Baris ke-10 menggunakan enumerated constant Tue sebagai offset/lokasi dalam array. Karena Tue = 2 (elemen ke-3 dalam array), maka DaysInWeek[2] memberikan hasil 30. cout<<ArrayWeek[Tue];

31 Array dengan elemen terstruktur
int main() { typedef struct SISWA{ long NIM; char Nama[25]; char Kota[30]; }; SISWA A[2]; // deklarasi array A berisi 2 SISWA //menerima masukan user for (int i=0;i<2;i++){ cout<<"NIM: ";cin>>A[i].NIM; cout<<"Nama: ";cin>>A[i].Nama; cout<<"Kota: ";cin>>A[i].Kota; } //menampilkan isi cout<<"Siswa ke-i\n"; cout<<A[i].Nama<<"("<<A[i].NIM<<")"; cout<<" dari "<<A[i].Kota<<"\n"; return 0;

32 Contoh-contoh Pengoperasian Array

33 Menghitung Nilai Rata-rata
Nilai rata-rata = Total Penjumlahan seluruh elemen banyaknya elemen = #include <iostream.h> main () { const int arraySize = 12; int n[arraySize] = {1,3,5,7,9,4,5,6,44,6,88,45}; int total = 0; for (int i=0; i < arraySize; i++) { total = total + n[i]; } cout<<"Total nilai = "<<total<<"\n"; cout<< "Rata-rata = "<< total/arraySize<<"\n"; return 0; }

34 Mencari Nilai Array #include <iostream.h> main () {
const int arraySize = 12; int n[arraySize] = {1,3,5,7,9,4,5,6,44,6,88,45}; int Bil; cout<<“Masukkan nilai yang ingin dicari = “; cin>>Bil; for (int i=0; i < arraySize; i++) { if (n[i] == Bil) cout<<Bil<<“is Found!!\n“; break; } return 0;

35 Multidimension Array

36 Multidimension array Dimungkinkan untuk memiliki array dengan dimensi lebih dari satu. Setiap dimensi direpresentasikan oleh subscript. Array dua dimensi memiliki dua subscript, 3 dimensi memiliki 3 subscript, dst. Array dapat berdimensi berapapun, tapi umumnya digunakan satu atau dua dimensi.

37 Array 1 dimensi [0] [1] [2] [3] [4] Array 2 dimensi
[0] [1] [2] [3] [4] Array 2 dimensi [0,0] [0,1] [0,2] [0,3] [0,4] [1,0] [1,1] [1,2] [1,3] [1,4]

38 Array 3 dimensi [2,0,0] [1,0,0] [2,0,4] [1,0,4] [0,0,4] [2,1,4]
[0,0,0] [0,0,1] [0,0,2] [0,0,3] [0,0,4] [0,0,4] [2,1,4] [1,1,4] [0,1,0] [0,1,1] [0,1,2] [0,1,3] [0,1,4] [0,1,4] [2,2,4] [1,2,4] [0,2,0] [0,2,1] [0,2,2] [0,2,3] [0,2,4] [0,2,4]

39 Initializing multidimension array
Suatu nilai dapat diberikan (assigned) kedalam elemen array dengan urutan array yang terakhir berubah terlebih dahulu ketika array sebelumnya tetap. Maka array: int theArray[5][3] memiliki urutan 3 elemen pertama bagian dari theArray[0]; kemudian 3 elemen berikutnya adalah bagian dari theArray[1]; dst. Untuk meng-initialize array dapat dilakukan dengan: int theArray[5][3] = { 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15 }; Atau untuk kejelasan dapat digunakan tambahan kurung kurawal: int theArray[5][3] = { {1,2,3}, {4,5,6}, {7,8,9}, {10,11,12}, {13,14,15} };

40 Contoh multidimension array [1]
#include <iostream.h> void main (void) { int a2[2][4]; // memberi nilai int i, j; for(i = 0; i < 5; i = i + 1) for(j = 0; j < 7; j = j + 1) { a2[i][j] = 10 * i + j; cout<<"Nilai a2["<<i<<","<<j<<"]="<<a2[i][j]<<"\n"; }

41 Contoh multidimension array [2]
// print out for(j = 0; j < 3; j = j + 1) { cout<<"\t"<<j<<":"; } cout<<"\n"; for(i = 0; i < 5; i = i + 1) { cout<<i<<":"; for(j = 0; j < 7; j = j + 1) { cout<<"\t"<<a2[i][j]; } } Output: 0: 1: 2: 0: 1: 2: 3: 4:

42 Latihan Buatlah satu aplikasi sederhana berupa array
Buatlah sebuah array multidimensi


Download ppt "Teknik Informatika Universitas Pembangunan Jaya"

Presentasi serupa


Iklan oleh Google