ARRAY (bag.1)

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

description

ARRAY (bag.1). Algoritma dan Struktur Data. Definisi. 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. - PowerPoint PPT Presentation

Transcript of ARRAY (bag.1)

Page 1: ARRAY  (bag.1)

ARRAY (bag.1)

Algoritma dan Struktur Data

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

Page 2: ARRAY  (bag.1)

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  (bag.1)

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

Ilustrasi Array 1 Dimensi

21

-9 0 12

54

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  (bag.1)

<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  (bag.1)

lucu : array [1..4] of integer

Lalu, untuk setiap indeks array, dimasukkan bilangan integer:aneh[1] = 3

aneh[2] = 12

aneh[3] = 0

aneh[4] = -9

Contoh Penggunaan Array

1 2 3 4

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

312

0 -9

1 2 3 4

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

Page 6: ARRAY  (bag.1)

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  (bag.1)

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  (bag.1)

A n d i0 1 2 3 4

nama

nama[0]

nama[1]

nama[2]

nama[3]

nama[4]

Page 9: ARRAY  (bag.1)

/*Algoritma menyimpan 4 buah angka ke dalam array*/

/*KAMUS*/

angka : array [1..4] of integer

/*ALGORITMA*/

//menerima input dari user

input(angka[1]);

input(angka[2]);

input(angka[3]);

input(angka[4]);

//menampilkan isi dari array

output(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  (bag.1)

/*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  (bag.1)

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 array

output(nama[1]);

output(nama[2]);

output(nama[3]);

output(nama[4]);

output(nama[5]);3/24/2012Muhammad Fachrie, S.T. 11

Page 12: ARRAY  (bag.1)

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  (bag.1)

Bagaimana cara mengisi array yang jumlah indeksnya sangat

banyak?

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

Page 14: ARRAY  (bag.1)

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  (bag.1)

TIDAK EFISIEN!Gunakan Struktur

Pengulangan!

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

Page 16: ARRAY  (bag.1)

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  (bag.1)

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  (bag.1)

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 0

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

Page 19: ARRAY  (bag.1)

PIKIRKAN!KERJAKAN!

PASTI BISA!

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

Page 20: ARRAY  (bag.1)

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 dimodifikasi

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

Logika Berpikirnya

Page 21: ARRAY  (bag.1)

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