Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Algoritma dan Struktur Data
ARRAY (bag.1) Algoritma dan Struktur Data Muhammad Fachrie, S.T. 3/24/2012
2
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 Muhammad Fachrie, S.T. 3/24/2012
3
Ilustrasi Array 1 Dimensi
Array ANEH 21 -9 12 54 1 -23 42 71 2 3 4 5 6 7 8 9 10 Indeks array ANEH[1]: 21 ANEH[2]: -9 ANEH[8]: -23 Muhammad Fachrie, S.T. 3/24/2012
4
Deklarasi Array dalam Notasi Algoritmik
<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 Muhammad Fachrie, S.T. 3/24/2012
5
Contoh Penggunaan Array
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 1 2 3 4 Terbentuk sebuah array dengan indeks dari 1 s.d. 4 3 12 -9 1 2 4 Muhammad Fachrie, S.T. 3/24/2012
6
Penomoran indeks pada Bahasa C
Pada notasi algoritmik, penomoran indeks array dimulai dari 1. Contoh: Sedangkan pada Bahasa C, penomoran indeks array dimulai dari 0. A n d i 1 2 3 4 5 A n d i 1 2 3 4 Muhammad Fachrie, S.T. 3/24/2012
7
String = Array, dalam Bahasa C
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] : “ “ Muhammad Fachrie, S.T. 3/24/2012
8
A n d i 1 2 3 4 nama nama[0] nama[1] nama[2] nama[3] nama[4]
9
Contoh Algoritma menggunakan Array Integer
/*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]); Muhammad Fachrie, S.T. 3/24/2012
10
Implementasi dengan Bahasa C
/*Program menyimpan 4 buah bilangan dalam array*/ #include <stdio.h> #include <conio.h> void main() { //deklarasi variabel int angka[10]; //menerima input array dari user printf("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 array printf(“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(); } Muhammad Fachrie, S.T. 3/24/2012
11
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]); Muhammad Fachrie, S.T. 3/24/2012
12
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(); } Muhammad Fachrie, S.T. 3/24/2012
13
Bagaimana cara mengisi array yang jumlah indeksnya sangat banyak?
Muhammad Fachrie, S.T. 3/24/2012
14
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]); Muhammad Fachrie, S.T. 3/24/2012
15
TIDAK EFISIEN! Gunakan Struktur Pengulangan!
Muhammad Fachrie, S.T. 3/24/2012
16
Mengolah Array dengan Jumlah Indeks yang Sangat Banyak
/*Algoritma menyimpan 100 buah angka ke dalam array*/ /*KAMUS*/ angka : array [1..100] of integer idx : integer /*ALGORITMA*/ //menerima input dari user idx traversal [1..100] input(angka[idx]); //menampilkan isi array ke monitor Idx traversal [1..100] output(angka[idx]); Muhammad Fachrie, S.T. 3/24/2012
17
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 user for (idx=0; idx<= 99; idx++) printf(“angka ke-%d : ”,idx); scanf(“%d”,&angka[idx]); } //menampilkan isi array ke monitor for (idx=0; idx<=199; idx++) printf(“angka ke-%d : %d\n”,idx,angka[idx]); getch(); Muhammad Fachrie, S.T. 3/24/2012
18
Latihan Buatlah sebuah program yang mengandung array dengan ketentuan berikut: Panjang indeks array = 10 Tipe array = integer Kemudian, 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: 11 23 17 20 9 16 42 13 37 10 11 23 17 9 13 37 Muhammad Fachrie, S.T. 3/24/2012
19
PIKIRKAN! KERJAKAN! PASTI BISA!
Muhammad Fachrie, S.T. 3/24/2012
20
Logika Berpikirnya Masukkan dahulu semua angka ke dalam array
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) Tampilkan kembali array yang telah dimodifikasi Muhammad Fachrie, S.T. 3/24/2012
21
11 23 17 20 9 16 42 13 37 10 Habis dibagi 2 Habis dibagi 2 Habis dibagi 2 11 23 17 9 13 37 Muhammad Fachrie, S.T. 3/24/2012
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.