Array merupakan suatu tipe data terstruktur yang dapat diakses secara acak random karena

Nama: Feggy Satyawanda AselfaNIM: F34150126Golongan: P4TUGAS TERSTRUKTUR 41.Array merupakan suatu grup (entitas) yang beranggotakan elemen-elemen (variabel)yang bertipe data sama dan dapat diakses dengan memanggil nama array besertaindeks elemennya. Array memiliki beberapa kelebihanyang memudahkanpenggunaannya dibandingkan dengan pendeklarasian variable biasa. Adapunkelebihan kelebihan array sebagai berikut :a.Array sangatbaik jika digunakan untuk mengakses secara acak(random) karenasecara acak index di array dapat secara langsung tanpa melalui index lain lainb.Jika berada di suatu lokasi index sangatlah mudah untuk mencari ke index yangsamac.Jika index array adalah nilai - nilai tersendiri dan semuanya harus terjaga, makapenggunaan penyimpanannya sangatlah tepatd.Tidak mudah crashe.Cepatnya mengeksekusi data.2.Array Statis adalah model pendeklarasian array dimana tipe data yang digunakanmempunyai nilai yang tetap. Nilai yang digunakan untuk menentukan jangkauan pada

Pertemuan 2 ARRAY Array atau Larik merupakan Struktur Data Sederhana yang dapat didefinisikan sebagai pemesanan alokasi memory sementara pada komputer. Array dapat didefinisikan sebagai suatu himpunan hingga elemen yang terurut dan homogen. Terurut : Dapat diartikan bahwa elemen tersebut dapat diidentifikasi sebagai elemen pertama, elemen kedua dan seterusnya sampai elemen ke-n. Homogen : Adalah bahwa setiap elemen dari sebuah Array tertentu haruslah mempunyai type data yang sama.

Sebuah Array dapat mempunyai elemen yang seluruhnya berupa integer atau character atau String bahkan dapat pula terjadi suatu Array mempunyai elemen berupa Array. Karakteristik Array : 1. Mempunyai batasan dari pemesanan alokasi memory (Bersifat Statis) 2. Mempunyai Type Data Sama (Bersifat Homogen) 3. Dapat Diakses Secara Acak 3 Hal yang harus diketahui dalam mendeklarasikan array : a. Type data array b. Nama variabel array c. Subskrip / index array Jenis Array (yang akan dipelajari) adalah : a. Array Dimensi Satu (One Dimensional Array) b. Array Dimensi Dua (Two Dimensional Array) c. Array Dimensi Tiga (Thee Dimensional Array)

1. ARRAY DIMENSI SATU (One Dimensional Array) Deklarasi : Type_Data Nama_Variabel [index] Misalnya : int A[5]; Penggambaran secara Logika : Elemen Array A[1] A[2] A[3] A[4] A[5] 0 1 2 3 4 Subscript / Index Rumus untuk menentukan jumlah elemen dalam Array : n π (Index Array) i=1 π = Perkalian dari index sebelumnya (untuk array dimensi dua & tiga) Contoh : Suatu Array A dideklarasikan sbb : int A[10]; maka jumlah elemen Array dimensi satu tersebut adalah = 10

Rumus : @A[i] = B + (i 1) * L PEMETAAN (MAPPING) ARRAY DIMENSI SATU KE STORAGE Dimana : @A[i] : Posisi Array yg dicari B : Posisi awal index di memory komputer i : Subkrip atau indeks array yg dicari L : Ukuran / Besar memory suatu type data Contoh : Suatu Array A dideklarasikan sebagai berikut : int A[5]; dengan alamat awal index berada di 0011 (H) dan ukuran memory type data integer = 2 Tentukan berapa alamat array A[3]? Rumus : @A[i] = B + (i 1) * L Diketahui : @A[i] = A[3] B = 0011 (H) i = 3 L = 2 Penyelesaian : A[3] = 0011(H) + (3 1) * 2 = 0011(H) + 4 (D) = 0011(H) + 4 (H) = 0015(H) 4 Desimal = 4 Hexa 0 1 2 3 4 A[1] A[2] A[3] A[4] A[5] 0011 0013 0015 0017 0019

Contoh Penerapan Array Dimensi 1 Pada Program C++ 0 1 2 3 4 5 6 7 indeks value 21d2 21d4 21d6 21d8 21da 21dc 21de 21e0 alamat %x adalah hexadesimal 2. ARRAY DIMENSI DUA (Two Dimensional Array) Deklarasi : Type_Data Nama_Variabel [Index1] [index2]; Misal : int A[3][2]; Penggambaran secara Logika : 0 1 2 0 1 Sering digunakan dalam menterjemahkan matriks pada pemrograman.

Menentukan jumlah elemen dalam Array dimensi dua: n π (Index array) i=1 π = Perkalian dari statemen sebelumnya Contoh : Suatu Array X dideklarasikan sbb : int X[4][3]; maka jumlah elemen Array dimensi dua tersebut adalah : (4) * (3) = 12 PEMETAAN (MAPPING) ARRAY DIMENSI DUA KE STORAGE Terbagi Dua cara pandang (representasi) yang berbeda : 1. Secara Kolom Per Kolom (Coloumn Major Order/CMO) @M[i][j] = M[0][0] + {(j - 1) * K + (i - 1)} * L 2. Secara Baris Per Baris (Row Major Order / RMO) @M[i][j] = M[0][0] + {(i - 1) * N + (j - 1)} * L Keterangan : @M[i][j] = Posisi Array yg dicari, M[0][0] = Posisi alamat awal index array,i = Baris, j = kolom, L = Ukuran memory type data K = Banyaknya elemen per kolom, N = Banyaknya elemen per baris

Penggambaran secara logika Misal : int M[3][2]; (Array dengan 3 Baris & 2 Kolom) Berdasarkan Cara pandang : 0 1 2 0 1 1. Kolom Per Baris (Row Major Order / RMO) M[0,0] M[0,1] M[1,0] M[1,1] M[2,0] M[2,1] Jumlah elemen per baris = 2 2. Baris Per Kolom (Coloumn Major Order / CMO) M[0,0] M[1,0] M[2,0] M[0,1] M[1,1] M[2,1] Jumlah elemen per kolom = 3 Contoh Pemetaan : Suatu Array X dideklarasikan sebagai berikut : Float X[4][3], dengan alamat index X[0][0] berada di 0011 (H) dan ukuran type data float/real = 4 Tentukan berapa alamat array X[3][2] berdasarkan cara pandang baris dan kolom? 0 1 2 index 0 0011 (H) 1 2 3? index

Lanjutan Contoh Pemetaan : Penyelesaian : Secara Baris Per Baris (Row Major Oder / RMO) @M[i][j] = @M[0][0] + {(i - 1) * N + (j - 1)} * L X[3][2] = 0011 (H) + {(3 1) * 3 + (2 1)} * 4 = 0011 (H) + 28 (D) 1C (H) = 0011 (H) + 1C (H) = 002D (H) Penyelesaian : Secara Kolom Per Kolom (Coloumn Major Oder / CMO) @M[i][j] = @M[0][0] + {(j - 1) * K + (i - 1)} * L X[3][2] = 0011(H) + {(2 1) * 4 + (3 1)} * 4 = 0011(H) + 24 (D) 18 (H) = 0011(H) + 18 (H) = 0029(H) Lanjutan Contoh Pemetaan :

Contoh Penerapan Array Dimensi 2 Pada Program C++ 3. ARRAY DIMENSI TIGA (Three Dimensional Array) Deklarasi : Type_Data Nama_Variabel [index1] [ndex2] [index3]; Misal : int A [3][4][2]; Penggambaran secara Logika : 0 1 2 0 1 2 3 0 1

Menentukan jumlah elemen dalam Array dimensi 3 : n π (index array) i=1 π = Perkalian dari statemen sebelumnya Contoh : Suatu Array X dideklarasikan sbb : int A [3][4][2]; maka jumlah elemen Array dimensi tiga tersebut adalah : (3) * (4) * (2) = 24 PEMETAAN (MAPPING) ARRAY DIMENSI TIGA KE STORAGE Rumus : @M[n][m][p] = M[0][0][0] + {((n-1)*(index1)) + ((m-1)*(index2)) + ((p-1)*(index3)}* L Contoh : Suatu Array A dideklarasikan sebagai berikut : Shortint A [2][4][3], dengan alamat awal index A[0][0][0] berada di 0011 (H) dan ukuran type data shortint = 1 Tentukan berapa alamat array di A[2][3][2]?

Contoh Pemetaan : Penyelesaian : 1. Tentukan jumlah elemen array A [2][4][3] = (2) * (4) * (3) = 32 2. @M[n][m][p] = M[0][0][0]+{((n-1)*(index1))+((m-1)*(index2)) + ((p-1)*(index3)}* L A[2][3][2] = 0011 (H) + {((2 1) * 4 * 3) + ((4-1) * 3) + (3-1)} * 2 = 0011 (H) + {12 + 9 + 2 } * 2 = 0011 (H) + 46 (D) 2E (H) = 0011 (H) + 2E (H) = 003F (H) Tringular Array dapat merupakan Upper Tringular (seluruh elemen di bawah diagonal utama = 0), ataupun Lower Tringular (seluruh elemen di atas diagonal utama = 0). Dalam Array Lower Tringular dengan N baris, jumlah maksimum elemen <> 0 pada baris ke-i adalah = I, karenanya total elemen <> 0, tidak lebih dari N Σ I = N(N+1) / 2 I=1 TRINGULAR ARRAY (ARRAY SEGITIGA)

Gambar (a) Upper Triangular Array (b) Lower Triangular Array Suatu Array Upper Tringular dan Array Lower Tringular dapat dengan order yang sama, dapat disimpan sebagai suatu array dengan order yang berbeda, Contohnya :

SPARSE ARRAY (ARRAY JARANG) Suatu Array yang sangat banyak elemen nol-nya, contohnya adalah Array A pada Gambar berikut :

  1. 1. ARRAY & reCORD AYU LESTARI .P
  2. 2. DEFINISI ARRAY tipe data terstruktur yang terdiri dari sejumlah komponen-komponen yang mempunyai tipe sama. Komponen-komponen tersebut disebut sebagai komponen type, larik mempunyai jumlah komponen yang jumlahnya tetap.
  3. 3.  untuk menyimpan data-data yang diinputkan masing-masing kedalam memory komputer. Jadi jumlah datanya banyak namun satu jenis.
  4. 4. Karakteristik Array  1. mempunyai batasan dari pemesanan alokasi memory (bersifat statis) 2. mempunyai type data sama (homogen) 3. dapat di akses secara acak. 4. berurutan (terstruktur)
  5. 5. Deklarasi Array  Array diawali dengan kata cadangan Array diikuti oleh tipe index yang diletakkan diantara tanda “ [ ] ” diikuti lagi oleh kata cadangan of dan tipe arraynya.
  6. 6.  Array dapat bertipe sederhana byte, word, integer, real, boolean, char, st ring dan tipe scalar atau subrange. Contoh: Var X : array [ 1..100 ] of integer ;
  7. 7. Kelebihan Array  1. Array sangat baik jika digunakan untuk mengakses secara acak(random). Karena secara acak index di array dapat secara langsung tanpa melalui index lain lain 2. Jika berada di suatu lokasi index sangatlah mudah untuk mencari ke index yang sama 3. Jika index array adalah nilai - nilai tersendiri dan semuanya harus terjaga, maka penggunaan penyimpanannya sangatlah tepat 4. Tidak mudah crash 5. Cepatnya mengeksekusi data 6. Tidak banyak memekan memory
  8. 8. Kekurangan Array  1. Ukuran file yang sangatlah besar 2. Tidak efisien dalam penggunaan memory 3. jika array bertipe homogen , maka user tidak dapat mempunyai array dimana satu index adalah karakter utamanya
  9. 9. Kode Program Pascal Cara Penggunaan Tipe Data Array
  10. 10.  Array dapat juga membantu user dalam mengkategorikan (mengurutkan ) tipe data yang sama
  11. 11. Macam Macam Array ARRAY Array 3 dimensi (Multidimensi) Array 1 dimensi Array 2 dimensi
  12. 12. Array Satu Dimensi  Elemen array yang hanya memiliki satu buah baris/kolom dan hanya dapat diakses oleh program menggunakan suatu indeks tertentu.  banyaknya penunjuk indeks hanya satu. Sebelum variabel array digunakan maka variabel array harus dideklarasikan terlebih dahulu. Pendeklarasian variabel array satu dimensi sebenarnya hampir sama dengan pendeklarasian variabel yang lain, hanya saja pendeklarasian variabel array diikuti dengan maksimum banyaknya elemen yang dapat disimpan dalam variabel array yang dituliskan dalam pasangan tanda siku penutup. 
  13. 13. Array Satu Dimensi  Bentuk umum pendeklarasian array satu dimensi: Tipe_data Nama_var_array [ukuran]; Type = array[indexArray] of TipeData; contoh: Type gaji = array [1..10] of longint; 
  14. 14. Array Dua Dimensi Elemen Array Yang Memiliki Baris Dan Kolom Dan Sering Digambarkan Sebagai Sebuah Matriks Atau Bentuk Grid.  Sama Halnya Dengan Array Satu Dimensi Sebelum Digunakan Juga Harus Dideklarasikan Terlebih Dahulu. Bentuk Umum Pendeklarasian Array Dua Dimensi Seperti Berikut  Tipe_data Nama_var_array [Banyak_baris] [Banyak_kolom];
  15. 15. Array Tiga Dimensi  Elemen array yang memiliki baris, kolom dan ukuran lebih banyak daripada Array dua dimensi, ini adalah array perluasan dari array dua dimensi dan dpat dikembangkan ke lebih dari dua dimensi.  suatu array yang mempunyai subskrip lebih dari dua. Bentuk pendeklarasian array sama saja dengan array dimensi satu maupun array dimensi dua.
  16. 16. Array Tiga Dimensi  Bentuk umumnya yaitu : tipe_array nama_array[ukuran1][ukuran2]…[ukuranN];  Contoh : float X[2][4][3]; X[0][0][0] X[0][0][1] X[0][0][2] X[1][0][0] X[1][0][1] X[1][0][2] X[0][1][0] X[0][1][1] X[0][1][2] X[1][1][0] X[1][1][1] X[1][1][2] X[0][2][0] X[0][2][1] X[0][2][2] X[1][2][0] X[1][2][1] X[1][2][2] X[0][3][0] X[0][3][1] X[0][3][2] X[1][3][0] X[1][3][1] X[1][3][2]
  17. 17.  Operasi yang umumnya dilakukan menggunakan array: 1. Mencari bilangan terbesar / terkecil 2. Mencari suatu data pada array 3. Mengurutkan data
  18. 18.  Ada berbagai teknik untuk mengurutkan data, salah satunya adalah metode bubble sort.  Pengurutan dilakukan dengan membandingkan setiap elemen array dengan ke seluruh elemen yang terletak sesudah posisinya.
  19. 19. Record Sebuah record rekaman disusun oleh beberapa field. Tiap field berisi data dari tipe dasar / bentukan tertentu. Record mempunyai kelebihan untuk menyimpan suatu sekumpulan elemen data yang berbeda-beda tipenya (di banding array). Contoh , sebuah record dengan empat buah field
  20. 20. Cara Pendeklarasian Dari Record • Mendefinisikan tipe dari record (jumlah field, jenis tipe data yang dipakai), • Mendefinisikan variabel untuk dilakukan operasi.
  21. 21. TERIMA KASIH
  22. 22. TUGAS SD 2  MENURUT ANDA, JELASKAN APA YG DIMAKSUD DENGAN: a) DEFINISI ARRAY DAN RECORD, SERTA PERBEDAANNYA? b) KARAKTERISTIK ARRAY c) KELEBIHAN DAN KEKURANGAN ARRAY d) PERBEDAAN ANTARA ARRAY SATU DIMENSI,DUA DIMENSI DAN MULTIDIMENSI?
  23. 23. TUGAS SD 2  BUATLAH PROGRAM UNTUK DATA BUKU, YANG BERISI TENTANG KODEBUKU, NAMABUKU,PENERBIT,HARGA.  BUATLAH PROGRAM UNTUK MENCATAT DATA MAHASISWA, YANG TERDIRI DARI NAMAKALIAN,KLSKALIAN,TUGASSD2.  GUNAKAN ARRAY 1, 2 DAN RECORD