Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Castaka Agus Sugianto, M.Kom., M.CS

Presentasi serupa


Presentasi berjudul: "Castaka Agus Sugianto, M.Kom., M.CS"— Transcript presentasi:

1 Castaka Agus Sugianto, M.Kom., M.CS
ARRAY Castaka Agus Sugianto, M.Kom., M.CS

2 Motivasi Tentu akan sangat menyulitkan bila kita harus membuat banyak variabel untuk menampung banyak data sejenis, A1, A2, …, A100. Lebih baik membuat satu variabel saja, namun bisa menampung banyak data Contoh : tempat telur yang dijual di pasar, nomor kursi bioskop/kereta api, posisi antrian, gedung bertingkat beserta kamar-kamarnya, dll.

3 Definisi Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Array sering disebut juga variabel berindeks. Elemen-elemen array tersusun secara sekuensial dalam memori komputer. Array banyak digunakan pada operasi yang melibatkan indeks seperti pada statistik dan matriks. Array dapat berupa satu dimensi, dua dimensi, tiga dimensi ataupun banyak dimensi (multi dimensi).

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 Misalkan kita memiliki sekumpulan data ujian seorang siswa, ujian pertama bernilai 90, kemudian 95,78,85. Sekarang kita ingin menyusunnya sebagai suatu data kumpulan ujian seorang siswa. Dalam array kita menyusunnya sebagai berikut ujian[0] = 90; ujian[1] = 95; ujian[2] = 78; ujian[3] = 85; Empat pernyataan diatas memberikan nilai kepada array ujian. Tetapi sebelum kita memberikan nilai kepada array, kita harus mendeklarasikannya terlebih dahulu, yaitu : int ujian[4];

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

7 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];

8 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.

9 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.

10 Contoh #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;

11 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

12 Contoh Output #include <iostream.h> #include <conio.h> Void 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();

13 Kemudian carilah bilangan yang terbesar.
Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array Kemudian carilah bilangan yang terbesar. 13

14 Program #include <iostream.h> Int main() {
Int data[] = {10,4,2,5,3,8,9,2,9,5}; Int I; Int terbesar; Terbesar = data[0]; For (I = 1; I < 10 ; i++) If(data[i] > terbesar) Terbesar = data[i]; Cout <<”terbesar = “ << Terbesar << “\n” ; Return 0; } 14

15 Buatlah sebuah program untuk membaca data secara berulang dari keyboard dan meletakkannya ke dalam sebuah array. Jumlah maksimal yang dapat dimasukkan ke dalam array adalah 10 buah. Setelah itu tampilkan seluruh data yang dimasukkan dari keyboard tadi. 15

16 Program #include <iostream.h> Int main() { Double data[10];
Int i, jumdata; Char jawaban; Jumdata = 0; For(I=0;i<10;i++){ Cout << “masukkan sembarang bilangan : ”; Cin >> data[i]; Cout << “memasukkan lagi (Y/T) ??”; Cin >> jawaban; If (jawaban == ‘T’ || jawaban == ‘t’){ Jumdata = i+1; Break; } For (i=0;i<jumdata;i++) Cout<< data[i] << “\n”; Return 0; 16

17 Mengubah nilai Array Perhatikan parameter formal int x[ ]. Passing parameter array seperti itu menggunakan pointer. Dengan demikian, kita bisa mengubah isi dari array.

18 Contoh Output

19 MENGHITUNG JUMLAH ELEMEN ARRAY
Karena fungsi sizeof() mengembalikan jumlah byte yang sesuai dengan argumennya, maka operator tersebut dapat digunakan untuk menemukan jumlah elemen array, misalnya int array[ ] = {26,7,82,166}; cout<<sizeof(array)/sizeof(int); akan mengembalikan nilai 4, yaitu sama dengan jumlah elemen yang dimiliki larik.

20 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

21 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.

22 Sekarang kita akan membuat daftar beberapa nama pahlawan di Indonesia
char pahlawan[3][15] ; char pahlawan[0][15] = “Soekarno”; char pahlawan[1][15] = “Diponegoro”; char pahlawan[2][15] = “Soedirman”; Tanda kurung pertama menyatakan total elemen yang dapt dimiliki oleh larik pahlawan dan tanda kurung kedua menyatakan total elemen yang dapat dimiliki setiap elemen larik pahlawan. Dalam contoh diatas, tanda kurung kedua menyatakan karakter yang menyatakan nama pahlawan.

23 Contoh //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(); }

24 Contoh Buatlah algoritma dan program yang menyimpan pasangan data Negara dan ibukota seperti berikut : Indonesia :Jakarta Filipina :manila Prancis :paris Pakistan :islamabad 24

25 Program #include <iostream.h> #include<string.h>
Int main(){ Char Negara[4][2][15] = {{“Indonesia”,”jakarta”},{“Filipina”,”Manila”},{“Prancis”,”paris”},{“Pa kistan”,”Islamabad”}}; For (int baris = 0;baris <4 ;baris++){ If (Negara[baris][0][0]==’P’){ Cout<< Negara[baris][0] << “ – “ <<Negara[baris][1] << “\n”; Return 0; } 25

26 Contoh: Penjumlahan matriks
B = Buatlah program untuk menghitung matriks C = A+B

27 Algoritma penjumlahan matriks
Input : A, B Output : C Rumus penjumlahan matriks : c(i,j)=a(i,j)+b(i,j) Sehingga, c[0][0]=a[0][0]+b[0][0] c[0][1]=a[0][1]+b[0][1] …dst

28 Algoritma penjumlahan matriks m + n dengan loop for:
for(i=0;i<m;i++) { for(j=0;j<n;j++) c[ i ][ j ]=a[ i ][ j ]+b[ i ][ j ]; }

29 Algoritma perkalian matriks
Input A[3][3],B[3][3] Output C[3][3] Rumus perkalian matriks: C[0][0]=A[0][0]*B[0][0]+A[0][1]*B[1][0]+A[0][2]*B[2][0] C[0][1]=A[0][0]*B[0][1]+A[0][1]*B[1][1]+A[0][2]*B[2][1] .. Dst C[ i ][ j ] = Σ A[ i ][ k ]*B[ k ][ j ] m = jumlah kolom matriks A = jumlah baris matriks B k = m-1 k = 0

30 Algoritma perkalian matriks
Jika diterapkan pada C++, matrik A 3x3, matrik B 3x3 for(i=0;i<2;i++)//untuk semua i { for(j=0;j<2;j++)// dan untuk semua j { C[i][j]=0; for(k=0;k<2;k++)//menghitung sigma { C[i][j]=C[i][j]+A[i][k]*B[k][j]; }

31 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.

32 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

33 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.

34 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.


Download ppt "Castaka Agus Sugianto, M.Kom., M.CS"

Presentasi serupa


Iklan oleh Google