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

Slides:



Advertisements
Presentasi serupa
PEMROGRAMAN SISTEM ARRAY Pertemuan VII. ARRAY Array adalah suatu struktur yang terdiri dari sejumlah elemen yang memiliki tipe data yang sama. Array adalah.
Advertisements

STRUKTUR DATA (5) Pointer dan Function
PERTEMUAN II ARRAY JURUSAN TELEKOMUNIKASI
ARRAY 2 DIMENSI Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya.
Teknik Informatika Universitas Pembangunan Jaya
ARRAY/LARIK Sumber dari : imaru.files.wordpress.com/2008/02/array-struc-pointer.ppt.
ARRAY Dr. Lily Wulandari.
ARRAY (LARIK)
Algoritma & Struktur Data Pointer Evangs Mailoa.
Array dan String Array dan String.
STRUKTUR DATA (5) Pointer dan Function
Algoritma & Struktur Data Linked List Evangs Mailoa.
STRUKTUR DATA Pointer dan Function
Algoritma dan Struktur Data
PART 7 Array DOSEN : AHMAD APANDI, ST.
Array dan String.
- PERTEMUAN 9 - LARIK/ARRAY SATU DIMENSI (1D)
POINTER.
STRUKTUR DATA (2) searching array
Teknik Pemrog. Terstruktur 2
Tipe Data Terstruktur Pengantar Logika dan Teknik Pemrograman
ARRAY 2 DIMENSI Array dua dimensi sering digambarkan sebagai sebuah matriks, merupakan perluasan dari array satu dimensi. Jika array satu dimensi hanya.
Array BY HARIFUDDIN. Pendahuluan  Array adalah sebuah variabel yang menyimpan sekumpulan data yang memiliki tipe yang sama  Setiap data menempati lokasi.
Pemrogramman Terstruktur
Bab2 ARRAY (LARIK).
Algoritma dan Struktur Data 1 pertemuan 7
ARRAY / LARIK STRUKTUR DATA Oleh : Yuli Praptomo PHS, S.Kom.
Oleh : Agus Priyanto, M.Kom Norma Amalia, M.Eng
ALGORITMA PEMROGRAMAN 2A
Universitas Respati Yogyakarta
Bahasa Pemprograman Dasar Pertemuan 9
ARRAY (Array Dua Dimensi) Pertemuan 16 Dasar Pemrograman
Perulangan (looping) BERSARANG & ARRAY
ARRAY (LARIK)
Array By Serdiwansyah N. A..
Array Multidimensi.
Looping, Percabangan dan Array
Variabel ARRAY.
STRUKTUR DATA array.
ARRAY.
Pertemuan 2 ARRAY DIMENSI 1 & 2.
ARRAY (LARIK).
Program komputer Sebuah program komputer yang ditulis dengan bahasa apapun dapat dipandang sebagai sebuah himpunan operasi yang dikerjakan pada data-data.
PERTEMUAN 9 Algoritma Presented by : Sity Aisyah, M.Kom
As’ad Djamalilleil Array (Larik) As’ad Djamalilleil
S. Indriani Lestariningati, M.T
Pemograman Terstruktur
Perulangan (looping) BERSARANG & ARRAY
Algoritma dan Struktur Data
Prepared by Yohana Nugraheni
Algoritma dan Struktur Data
Array dan Matriks.
Looping, Percabangan dan Array
6. Array S. Indriani L, M.T.
STRUKTUR DATA Array atau Larik.
ARRAY (LARIK)
Praktikum KBP 2 Array.
Array Array adalah suatu tipe data terstuktur yang berupa
Algoritma dan Struktur Data
Algo & Struktur Data Lanjutan
Prepared by Yohana Nugraheni
ARRAY (LARIK)
array Array merupakan tipe data yang menampung
STRUKTUR DATA Array.
Pemrograman Terstruktur
PRAKTIKUM SD.
ARRAY 2d (matriks) MERISKA DEFRIANI, S.KOMP
Algoritma Pemrograman
Matakuliah : Algoritma & Struktur Data Versi Materi Larik
ARRAY.
Transcript presentasi:

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

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.

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

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

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

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.

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

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.

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.

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;

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

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();

Kemudian carilah bilangan yang terbesar. Buatlah algoritma dan program untuk menyimpan data berikut ke dalam array 10 4 2 5 3 8 9 2 9 5 Kemudian carilah bilangan yang terbesar. 13

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

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

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

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

Contoh Output

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.

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

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.

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.

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

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

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

Contoh: Penjumlahan matriks B = Buatlah program untuk menghitung matriks C = A+B 3 5 6 1 9 2 5 1 2 2 2 0 4 7 1 1

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

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

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

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

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.

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

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.

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.