ARRAY - E-Learning | Universitas AMIKOM...

21
ARRAY (bag.1) Algoritma dan Struktur Data 3/24/2012 Muhammad Fachrie, S.T. 1

Transcript of ARRAY - E-Learning | Universitas AMIKOM...

Page 1: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

ARRAY (bag.1)

Algoritma dan Struktur Data

3/24/2012Muhammad Fachrie, S.T. 1

Page 2: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Array (larik) merupakan koleksi data, dimana setiap elemen memakai nama dan tipe yang sama, serta setiap elemen diakses dengan membedakan indeks array-nya.

Jenis-jenis array: Array 1 dimensi Array 2 dimensi Array 3 dimensi

Definisi

3/24/2012Muhammad Fachrie, S.T. 2

Page 3: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

ANEH[1]: 21 ANEH[2]: -9 ANEH[8]: -23

Ilustrasi Array 1 Dimensi

21 -9 0 1

254

12 1

-23

42

71

1 2 3 4 5 6 7 8 9 10

Array ANEH

Indeks array

3/24/2012Muhammad Fachrie, S.T. 3

Page 4: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

<nama variabel> : array [a..b] of <tipe data> dimana, a: nilai awal indeks array

b: nilai akhir indeks array Contoh:BilPrima : array [1..10] of integer

Deklarasi Array dalam Notasi Algoritmik

3/24/2012Muhammad Fachrie, S.T. 4

Page 5: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

lucu : array [1..4] of integer

Lalu, untuk setiap indeks array, dimasukkan bilangan integer:aneh[1] = 3aneh[2] = 12aneh[3] = 0aneh[4] = -9

Contoh Penggunaan Array

1 2 3 4

Terbentuk sebuah array dengan indeks dari 1 s.d. 4

3 12 0 -9

1 2 3 4

3/24/2012Muhammad Fachrie, S.T. 5

Page 6: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Pada notasi algoritmik, penomoran indeks array dimulai dari 1. Contoh:

Sedangkan pada Bahasa C, penomoran indeks array dimulai dari 0.Contoh:

Penomoran indeks pada Bahasa C

A n d i1 2 3 4 5

A n d i0 1 2 3 4

3/24/2012Muhammad Fachrie, S.T. 6

Page 7: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Di dalam Bahasa C, tipe data string merupakan sebuah array, dimana elemennya terdiri dari sebuah karakter penyusun string tersebut.

Contoh:char nama[5];strcpy(nama,”Andi”);

Maka, elemen array dari variabel nama adalah:nama[0] : “A”nama[1] : “n”nama[2] : “d”nama[3] : “i”nama[4] : “ “

String = Array, dalam Bahasa C

3/24/2012Muhammad Fachrie, S.T. 7

Page 8: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

A n d i0 1 2 3 4

nama

nama[0]

nama[1]

nama[2]

nama[3]

nama[4]

Page 9: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

/*Algoritma menyimpan 4 buah angka ke dalam array*//*KAMUS*/angka : array [1..4] of integer

/*ALGORITMA*///menerima input dari userinput(angka[1]);input(angka[2]);input(angka[3]);input(angka[4]);

//menampilkan isi dari arrayoutput(angka[1]);output(angka[1]);output(angka[1]);output(angka[1]);

Contoh Algoritma menggunakan Array Integer

3/24/2012Muhammad Fachrie, S.T. 9

Page 10: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

/*Program menyimpan 4 buah bilangan dalam array*/#include <stdio.h>#include <conio.h>

void main(){

//deklarasi variabelint angka[10];

//menerima input array dari userprintf("angka ke-1: "); scanf("%d",&angka[0]);printf("angka ke-2: "); scanf("%d",&angka[1]);printf("angka ke-3: "); scanf("%d",&angka[2]);printf("angka ke-4: "); scanf("%d",&angka[3]);

//menampilkan isi arrayprintf(“angka ke-1: %d”, angka[0]);printf(“angka ke-2: %d”, angka[1]);printf(“angka ke-3: %d”, angka[2]);printf(“angka ke-4: %d”, angka[3]);getch();

}

Implementasi dengan Bahasa C

3/24/2012Muhammad Fachrie, S.T. 10

Page 11: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Contoh Algoritma menggunakan Array String

/*Algoritma menampilkan elemen karakter dari sebuah String*//*KAMUS*/nama : array [1..5] of char

/*ALGORITMA*/Nama = “Andi”

//menampilkan isi dari arrayoutput(nama[1]);output(nama[2]);output(nama[3]);output(nama[4]);output(nama[5]);

3/24/2012Muhammad Fachrie, S.T. 11

Page 12: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Implementasi dengan Bahasa C/*Program untuk menampilkan elemen dari sebuah string*/#include <stdio.h>#include <conio.h>

void main(){

char nama[5];

strcpy(nama,"Andi");printf("karakter ke-1: %c \n",nama[0]);printf("karakter ke-2: %c \n",nama[1]);printf("karakter ke-3: %c \n",nama[2]);printf("karakter ke-4: %c \n",nama[3]);printf("karakter ke-5: %c \n",nama[4]);

getch();}

3/24/2012Muhammad Fachrie, S.T. 12

Page 13: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Bagaimana cara mengisi array yang jumlah indeksnya sangat

banyak?

3/24/2012Muhammad Fachrie, S.T. 13

Page 14: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Apakah seperti ini algoritmanya?angka : array [1..100] of integer

/*ALGORITMA*/input(angka[1]);input(angka[2]);input(angka[3]);input(angka[4]);input(angka[5]);input(angka[6]);input(angka[7]);input(angka[8]);input(angka[9]);input(angka[10]);input(angka[11]);input(angka[12]);input(angka[13]);input(angka[14]);input(angka[15]);input(angka[16]);input(angka[17]);

input(angka[100]);

3/24/2012Muhammad Fachrie, S.T. 14

Page 15: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

TIDAK EFISIEN!Gunakan Struktur

Pengulangan!

3/24/2012Muhammad Fachrie, S.T. 15

Page 16: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Mengolah Array dengan Jumlah Indeks yang Sangat Banyak

/*Algoritma menyimpan 100 buah angka ke dalam array*//*KAMUS*/angka : array [1..100] of integeridx : integer

/*ALGORITMA*///menerima input dari useridx traversal [1..100]

input(angka[idx]);

//menampilkan isi array ke monitorIdx traversal [1..100]

output(angka[idx]);

3/24/2012Muhammad Fachrie, S.T. 16

Page 17: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Implementasi dalam Bahasa C/*Program menyimpan 100 buah angka ke dalam array*/#include <stdio.h>#include <conio.h>

void main(){

int angka[100], idx;

//menerima input dari userfor (idx=0; idx<= 99; idx++){

printf(“angka ke-%d : ”,idx);scanf(“%d”,&angka[idx]);

}

//menampilkan isi array ke monitorfor (idx=0; idx<=199; idx++)

printf(“angka ke-%d : %d\n”,idx,angka[idx]);

getch();}

3/24/2012Muhammad Fachrie, S.T. 17

Page 18: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

Buatlah sebuah program yang mengandung array dengan ketentuan berikut:1. Panjang indeks array = 102. Tipe array = integerKemudian, isilah array tersebut secara berturut-turut

dengan angka: 11, 23, 17, 20, 9, 16, 42, 13, 37, 10.Lalu, lakukanlah modifikasi pada array tersebut

dengan ketentuan semua angka genap diganti dengan nol (0).

Contoh:INPUT:

OUTPUT:

Latihan

11 23 17 20 9 16 42 13 37 10

11 23 17 0 9 0 0 13 37 03/24/2012Muhammad Fachrie, S.T. 18

Page 19: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

PIKIRKAN!KERJAKAN!

PASTI BISA!

3/24/2012Muhammad Fachrie, S.T. 19

Page 20: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

1. Masukkan dahulu semua angka ke dalam array

2. Buat perulangan dari sebanyak jumlah indeks array Cek satu angka pada sebuah indeks array Jika angka tersebut habis dibagi 2, maka ganti

angka tersebut dengan nol (0)3. Tampilkan kembali array yang telah

dimodifikasi3/24/2012Muhammad Fachrie, S.T. 20

Logika Berpikirnya

Page 21: ARRAY - E-Learning | Universitas AMIKOM Yogyakartaelearning.amikom.ac.id/.../2012/03/20120324_03-Array.ppt · PPT file · Web view... memakai nama dan tipe yang sama, serta setiap

3/24/2012Muhammad Fachrie, S.T. 21

11 23 17 20 9 16 42 13 37 10

11 23 17 0 9 0 0 13 37 0

Habis dibagi 2 Habis dibagi 2 Habis dibagi 2