1 / 17

Pertemuan 1 Data komposit Array

Pertemuan 1 Data komposit Array. Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1. Learning Outcomes. Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : Mahasiswa dapat menghasilkan program modular yang menggunakan data komposit array dua dimensi. Outline Materi.

gazit
Télécharger la présentation

Pertemuan 1 Data komposit Array

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Pertemuan 1Data komposit Array Matakuliah : T0026/Struktur Data Tahun : 2005 Versi : 1/1

  2. Learning Outcomes Pada akhir pertemuan ini, diharapkan mahasiswa akan mampu : • Mahasiswa dapat menghasilkan program modular yang menggunakan data komposit array dua dimensi

  3. Outline Materi • Definisi Array • Array 1 dimensi • Array 2 dimensi • Operasi array • Akses elemen array • Pointer array • Array sebagai parameter fungsi

  4. Definisi Array • Elemen array : homogen • Tiap elemen : pasangan indeks dan nilai • Hubungan antar elemen : linear • Akses elemen array : random melalui indeks elemen • Penempatan elemen dalam memory : berurutan, secara logikal dan fisikal • Jumlah indeks menentukan dimensi array Suhu [ i ] → 1 dimensi Suhu [ i ] [ j ] → 2 dimensi

  5. Contoh Array 1 Dimensi int suhu [4]; Jika a base address, maka Address suhu [i] = a + i * sizeof (int)

  6. Array 1 dimensi • Deklarasi : elemen_type a[u0]; • Jumlah elemen u0, Indeks : 0, 1, …u0-1 Address a [i]: a [i] = a + i * sizeof (elemen_type)

  7. Array 2 dimensi Representasi array multidimensi : • RMO : Row Major Order • CMO : Column Major Order Selanjutnya akan dibahas RMO Array 2-d (seperti tabel, terdiri dari baris dan kolom) dianggap sebagai array 1-d, dimana satu elemen array 1-d terdiri dari sejumlah nilai (kolom)

  8. Contoh array 2-dimensi Jika i, j, a adalah indeks row, column, dan base address, maka Address a[ i ][0] = a + i * { 30 sizeof (int) } Address a[ i ][ j ] = address a[ i ][0] + j * sizeof (int) = a + { i * 30 + j } * sizeof (int)

  9. Array 2 Dimensi • Deklarasi : elemen_type a[u0] [u1]; • Jumlah elemen u0 *u1,, • Indeks : [0][0], [0][1], … [0][u1-1], [1][0], [1][1], … [1][u1-1], … , [u0-1][0], [u0-1][1], … [u0-1][u1-1] Address a[ i ][ j ] = a + { i * u1 + j } * sizeof (elemen_type)

  10. Jumlah Elemen Array Array n-dimensi a [u0] [u1] ... [un-1] suhu [10] → u0 =10 → Jumlah elemen = 10 suhu [30][10] → u0 =30 u1 =10 → Jumlah elemen = 300 suhu [365][30][10] → u0 =365 u1 =30 u2 =10 → Jumlah elemen = 109500

  11. Operasi Array • Create int a[10] • Retrieve x = a [i] • Store a[i] = y

  12. Contoh operasi Retrieve dan Update pada Array 2 Array A Array B 2 1 1 0 5 0 5 3 4 3 4 C[ i ] = A[ i ] + B[ n-i+1 ] Array C 2 1 0 5 3 4 Operasi Retrieve ? Operasi Update ? Programming ?

  13. Akses Elemen Array (1) void isi_array (int b[], int n) { int i; for (i=0; i<n; i++) b [i] = i*10; } void main( ) { int bil [7], i; isi_array (bil, 7 ); ubah_array (bil, 7); }

  14. Akses Elemen Array (2) void ubah_array (int *b, int n) { int i; for (i=0; i<n; i++) *(b+i) *= 2; }

  15. Array dan Pointer int bil[7], *b, i, x; b = bil; for (i=0; i<7; i++) printf ("indeks = %d address = %x bil = %d\n", i, b+i, *(b+i)); atau printf ("indeks = %d address = %x bil = %d\n", i, &bil [i], bil [i]);

  16. Akses Array 2-D void cetak_array (int b[ ][N]) void display (int **data) { … data[i][j]… } void main() { int **data; data = new int *[m]; // SET UP THE ROWS for (j = 0; j < m; j++) data[j] = new int [n]; // SET UP THE COLUMN …data[i][j] …

  17. Array sebagai parameter fungsi • Contoh potongan program array: • … • char LeftMost(char S[]) • { return(S[0]); }; • char RightMost(char S[]) • { return(S[Len(S)-1]); }; • void main() • { char MyString[MaxLen); • … • printf(“Leftmost elemen :%c”,LeftMost(MyString)); • printf(“Rightmost elemen :%c”,RightMost(MyString)); • … • };

More Related