ARRAY (LARIK)

25
ARRAY (LARIK) [email protected] m

description

ARRAY (LARIK). [email protected]. Pengertian array. Array adalah suatu tipe data terstuktur yang berupa sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu. Elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori. - PowerPoint PPT Presentation

Transcript of ARRAY (LARIK)

Page 1: ARRAY (LARIK)

ARRAY (LARIK)

[email protected]

Page 2: ARRAY (LARIK)

Pengertian array• Array adalah suatu tipe data terstuktur yang berupa

sejumlah data sejenis (bertipe data sama) yang jumlahnya tetap dan diberi suatu nama tertentu.

• Elemen-elemen array tersusun secara berderet dan dapat diakses secara random di dalam memori.

• Array memiliki alamat yang besebelahan/berdampingan tergantung lebar tipe datanya.

• Array dapat berupa array 1 dimensi, 2 dimensi, bahkan n-dimensi.

• Elemen-elemen array bertipe data sama dan bisa berisi nilai yang sama atau berbeda-beda.

Page 3: ARRAY (LARIK)

Pengaksesan elemen array• Elemen-elemen array dapat diakses oleh program

menggunakan suatu indeks tertentu secara random ataupun berurutan

• Pengisian dan pengambilan nilai pada indeks tertentu dapat dilakukan dengan mengeset nilai atau menampilkan nilai pada indeks yang dimaksud.

• Dalam C, tidak terdapat error handling terhadap batasan nilai indeks, apakah indeks tersebut berada di dalam indeks array yang sudah didefinisikan atau belum. Hal ini merupakan tanggung jawab programmer. Sehingga jika programmer mengakses indeks yang salah, maka nilai yang dihasilkan akan berbeda atau rusak karena mengakses alamat memori yang tidak sesuai.

Page 4: ARRAY (LARIK)

Ilustrasi array 1 dimensi

0 1 2 3 4 5 6 7

1d2 1d4 1d6 1d8 1da 2dc 2de 1e0

10 44 2 76 0 56 70 7

indeks

value

alamat

3 point penting array

Page 5: ARRAY (LARIK)

Ilustrasi Array 1 Dimensi char

0 1 2 3 4 5 6 7

21da 21db 21dc 21dd 21de 21df 21e0 21e1

indeks

value

alamat

%x adalah hexadesimal

Page 6: ARRAY (LARIK)

Ilustrasi Array 1 Dimensi int

0 1 2 3 4 5 6 7

21d2 21d4 21d6 21d8 21da 21dc 21de 21e0

indeks

value

alamat

%x adalah hexadesimal

Page 7: ARRAY (LARIK)

Pengaksesan Elemen Array• Elemen-elemen array dapat diakses oleh

program menggunakan suatu indeks tertentu secara random ataupun berurutan

• Indeks array secara default dimulai dari 0.

Page 8: ARRAY (LARIK)

• Deklarasi Array secara umum : tipe_data nama_var_array [ukuran]; Keterangan : 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];

Page 9: ARRAY (LARIK)

Inisialisasi array :

int nilai[6] = {8,7,5,6,4,3};bisa disederhanakan sehingga menjadi :int nilai = {8,7,5,6,4,3};Keterangan :Contoh diatas berarti anda memesan tempat di memori komputer sebanyak 6 tempat dengan indeks dari 0-5, dimana indeks ke-0 bernilai 8, ke-1 bernilai 7, dst, dan semua elemennya bertipe data integer.Catatan: Untuk memberikan niai 0 terhadap seluruh elemen array pada saat didefinisikan, Anda dapat memberikan nilai awal 0 pada elemen pertama. Sebagai contoh:Int temp[100] = {0};Akan memberikan hasil pemberian nilai nol dari subscript bernilai 0 hingga 99.

Menginisialisasi array sama dengan memberikan nilai awalarray pada saat didefinisikan.

Page 10: ARRAY (LARIK)

Keunggulan array :• Array sangat cocok untuk pengaksesan acak.

Sembarang elemen di array dapat diacu secara langsung tanpa melalui elemen-elemen lain.

• Jika berada di suatu lokasi elemen, maka sangat mudah menelusuri ke elemen-elemen tetangga, baik elemen pendahulu atau elemen penerus

• Jika elemen-elemen array adalah nilai-nilai independen dan seluruhnya harus terjaga, maka penggunaan penyimpanannya sangat efisien

Page 11: ARRAY (LARIK)

Kelemahan array :• Array harus bertipe homogen. Kita tidak dapat

mempunyai array dimana satu elemen adalah karakter, elemen lain bilangan, dan elemen lain adalah tipe-tipe lain

• Tidak efisien dalam penggunaan memori• Menyiakan banyak waktu komputasi • Pada suatu aplikasi, representasi statis tidak

dimungkinkan

Page 12: ARRAY (LARIK)

Contoh:#include <iostream.h>#include <conio.h>

void main (){ int y [] = {1, 2, 7, 4, 5}; int n, r=0; for ( n=0 ; n<5 ; n++ ) { r += y[n]; } cout<<" "<<r; getch(); }

Page 13: ARRAY (LARIK)

Contoh :#include <iostream.h>#include <conio.h>

void main (){ char hari[3][10]={"senin\n"," selasa",”rabu"}; int n, r=0; for ( n=0 ; n<5 ; n++ ) { cout<<endl<<hari[n]; } getch(); }

Ket : hari[3]->jml isi data(senin,selasa,rabu) [10]->max space dlm isi data

Page 14: ARRAY (LARIK)

Contoh input dan output array:

#include <iostream.h>#include <conio.h>

main(){int A[5]; //deklarasi array//input element arrayfor (int i=0;i<5;i++) { cout<<"A["<<i<<"] = "; cin>>A[i]; }//menampilkan isi dari elemen arrayfor(int c=0;c<5;c++) { cout<<"Nilai pada elemen ke "<<c+1 <<" adalah = "<<A[c]<<endl; }getch();}

Page 15: ARRAY (LARIK)
Page 16: ARRAY (LARIK)

Mengedit array#include <iostream.h>#include <conio.h>void main (){ int A [5]={20,9,1986,200,13};//dgn inisialisasi Int n; clrscr(); cout<<"Data yang lama\n"; for (n=0;n<5;n++) { cout<<" "<<A[n];} cout<<"\nData yang baru : \n"; A[0]=4; A[1]=2; A[2]=1; A[3]=3; A[4]=5; for (n=0;n<5;n++) { cout<<" "<<A[n]; } getch();}

Page 17: ARRAY (LARIK)

Menghapus elemen array#include <iostream.h>#include <conio.h>void main (){ int A [5]={20,9,1986,200,13}; int n,hapus; clrscr(); cout<<"Data yang lama\n"; for (n=0;n<5;n++) { cout<<" "<<A[n];} cout<<" data yang ingin dihapus : "; cin>>hapus; cout<<"\nData yang baru : \n"; for (n=hapus-1;n<5-1;n++) { A[n]=A[n+1];} for (n=0;n<4;n++) { cout<<" "<<A[n]; } getch()}

Page 18: ARRAY (LARIK)

Pencarian data

//pencarian datafor (int c=0;c<10;c++) { if (A[c]==bil) { cout<<"Nilai yang anda cari terdapat pada indek ke- "<<c; break; } } getch(); }

Page 19: ARRAY (LARIK)

Contoh

#include <iostream.h>#include <conio.h>

void main (){ int A [5]={20,9,1986,200,13}; cout<<"Data yang lama\n"; for (int n=0;n<5;n++) {cout<<" "<<A[n];} cout<<"\nData yang baru : \n"; A[0]=4; A[1]=2; A[2]=1; A[3]=3; A[4]=5; for (int n=0;n<5;n++) {cout<<" "<<A[n]; } getch();}

Page 20: ARRAY (LARIK)

Contoh :#include <iostream.h>#include <conio.h>

void main (){ int nilai[5],x; //tanpa inisialisasi cout<<"Masukkan nilai :\n\n"; for(x=0;x<5;x++) { cout<<"Nilai Angka : "; cin>>nilai[x];} cout<<"\n\nOutput nilai : \n"; for(x=0;x<5;x++) { cout<<"\nNilai Angka : “ <<nilai[x];} getch(); }

Page 21: ARRAY (LARIK)

Fungsi by arrayArray juga dapat dijadikan sebagai parameter dalam sebuah fungsi. Contoh :

#include <iostream.h>#include <conio.h>

//definisi fungsi input arrayvoid input_array(int A[],int n){ for(int c=0;c<n;c++) {cout<<"Input nilai A["<<c<<"] : "; cin>>A[c];}}

Page 22: ARRAY (LARIK)

//definisi fungsi jumlahlong jumlah(int A[],int n){ long jml=0; for(int c=0;c<n;c++) {jml += A[c];} return jml;}

main(){

int x[100]; //elemen maksimal adl 100int byk_elemen;long hsl;

Page 23: ARRAY (LARIK)

cout<<"masukkan banyak elemen : ";cin>>byk_elemen;cout<<endl;

//pemanggilan fungsi input array & jumlahinput_array(x, byk_elemen);hsl=jumlah(x,byk_elemen);

cout<<"\nHasilnya = "<<hsl;

getch();}

Page 24: ARRAY (LARIK)
Page 25: ARRAY (LARIK)

Latihan

• Buat program untuk menginputkan, menampilkan, mengedit, menghapus dan mencari nama mahasiswa menggunakan fungsi dengan parameter array.