materi larik

Upload: muhammad-hikmah

Post on 01-Mar-2016

39 views

Category:

Documents


5 download

DESCRIPTION

materi logika dan algoritma (larik)

TRANSCRIPT

LARIK / ARRAY

LARIK / ARRAYDyah Darma Andayani

Defenisisekumpulan kotak (variable) yang menyimpan sekumpulan elemen bertipe sama secara berurutan (sequential).Tipe terstruktur yang terdiri dari sejumlah komponen yang mempunyai tipe data yang samaVariabel array terdiri dari :Array berdimensi satuArray berdimensi dua

Ciri-ciri ArrayCiri-ciri Arraysetiap elemen data array diacu melalui indeksnyakarena elemen disimpan secara berurutan , indek array harus lah suatu tipe yang mempunyai keterurutan (ada suksesor dan predecessor).Contoh bertipe data : integer, karakter atau tipe data enumerasi.

3

Pengolahan data array harus per elemen.Elemen Array dapat diakses secara langsung (random), maksudnya untuk memanipulasi elemen keempat tidak harus melalui elemen pertama, kedua, dan ketiga.

Jika indeks integer maka keterturutan indeks sesuai dengan urutan integer (0,1,2,3,4,5,6,..)Jika indeks Karakter maka keterturutan indeks sesuai dengan urutan karakter (a,b,c,d,e .).

Representasi (Pemetaan) di memori(Array Berdimensi Satu)Memori komputer untuk pemetaan linear array dibentuk secara linear pula. Memori memiliki alamat (address), ibarat suatu komplek perumahan. Sebagai identifikasi, maka rumah-rumah tsb diberi nomor yang urut dalam pola yang tertentu (misalnya dari kecil ke besar).Pemetaan di memori juga berfungsi sebagai identifikasi letak data, agar kelak data tsb dapat diambil kembali, maka akan dengan tepat ditemui data tersebut.

Banyaknya alamat di memori tergantung dari jenis komputer yang digunakan, misalnya dari alamat 000000 hingga FFFFFF (dalam sistem bilangan Hexadesimal). Setiap alamat dapat ditempati oleh data sebesar satu byte. Ketika kita memasukkan data baru, maka komputer akan mencatat dimana data itu disimpan. Elemen data pertama yang disimpan dalam alamat memori disebut dengan Base Address (B).Jika kita memiliki 20 nilai data dalam variabel ber-subscript A yang masing-masing memerlukan 8 byte data dan base addressnya di 1000 berada di alamat berapakah mulainya nilai data A yang ke-18 disimpan ?Berikut gambaran pemetaan data A di memori

Lihat gambar dibawah ini, nilai data A (18) dismpan mulai dari alamat 1136 di memori.

A(1)

A(2)A(3)A(4)A(5)A(6)A(7)A(8)A(9)A(10)A(11)

A(13)A(14)A(15)A(16)A(17)A(18)A(19)A(20)

116011441128111210961152113611041120

A(12)100810241040105610721088100010161032104810641080

Array Berdimensi SatuBentuk Umum :Tipe_Data Nama_Variabel [ukuran]

Contoh :int nilai [6];

Tipe data elemen arrayNama arrayJumlah elemen

Contoh :int nilai [4];

Hasilnya :

????

Nilai [0]Nilai [1]Nilai [2]Nilai [3]

Bentuk umum untuk data bukan angka :data_type array_name []={constant_1, constant_2,...,constant_n}

Data type menyatakan tipe data array.Array_name adalah nama array, harus memenuhi ketentuan identifier.Constant_1,...,constant_n adalah nilai awal elemen array dan harus setipe.Contoh :char huruf []={a,b,c}

Hasil huruf[0] huruf[1] huruf[2]

abc

FormulaPerhitungan Alokasi Memory ArrayKeterangan :AD= Posisi alamat awal dari nilai data yang akan dicariB= Base AddressSK= Subscript ke berapa yang akan dicariLD= Lebarnya data yang dapat disimpan di setiap alamat memoriAD = B + (SK-1) * LDAD = 1000 + (18-1) * 8AD = 1000 + 17 * 8AD = 1000 + 136AD = 1136

Kita dapat membuat rumusannya, yaitu :AD = B + (SK-1) * LD

Array Berdimensi DuaBentuk Umum :Tipe_Data Nama_Variabel [index-1] [index-2]

Contoh :int nilai [2] [3] ;

Tipe data elemen arrayNama arrayJumlah barisJumlah kolom

Salah satu implemantasi array 2 dimensi ini digunakan untuk membuat program MATRIK (Aljabar Linear).Contoh Matrik dengan ordo 2 x 2A= 1 5 2 4Matrik A diatas adalah matrik dengan ordo 2x2 sehingga matrik tersebut memiliki elemen : A[1,1] = 1, A[1,2] = 5, A[2,1]= 2 dan A[2,2]=4.

Array Multi DimensiBahasa C tidak membatasi jumlah dimensi array yang bisa digunakan. Hal ini semata-mata dibatasi jumlah memory yang tersedia.Array tiga dimensi dapat diumpamakan sebagai sebuah balok dengan balok-balok satuan sebagai elemen array.Bentuk umum :data_type array_name[size1] [size2]...[size n]Size 1 menyatakan jumlah elemen dimensi pertamasize 2 menyatakan jumlah elemen dimensi keduasize n menyatakan jumlah elemen dimensi ke-n

Contoh Iint i, j ;int tabel [3] [2] ;for (i=0 ; i