algoritma dan struktur data - rey1024.com … · pendidikan teknik informatika – ftk - undiksha...

15
Pendidikan Teknik Informatika – FTK - UNDIKSHA Algoritma dan Struktur Data Week 2 : Bahasa C dan Array I Ketut Resika Arthana, S.T., M.Kom NIP. 198412012012121002 [email protected] | 085-737-515-515 http://www.rey1024.com

Upload: duongcong

Post on 01-Feb-2018

247 views

Category:

Documents


6 download

TRANSCRIPT

Pendidikan Teknik Informatika – FTK - UNDIKSHA

Algoritma dan Struktur Data

Week 2 : Bahasa C dan Array

I Ketut Resika Arthana, S.T., M.Kom NIP. 198412012012121002

[email protected] | 085-737-515-515 http://www.rey1024.com

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 2

Refresh

• Apakah yang dimaksud dengan algoritma ?

• Terdapat dua buah gelas berukuran sama, tetapi masing-masing berisi cairan yang berbeda. Tuliskan solusi algoritmik untuk menukarkan isi cairan dari kedua buah gelas tersebut !

• Diberikan dua buah ember berukuran 5 liter dan 3 liter. Bagaimana cara mendapatkan air berukuran 1 liter dengan kedua ember tersebut ?

Algoritma dan Struktur Data

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 3

Jika input 10 berapa nilai tampil?

Algoritma dan Struktur Data

program noname8; uses wincrt; var x,y,i:integer; begin writeln('Masukkan 1 angka integer : '); readln(x); y:=0; for i:=1 to x do begin y:=y+i; end; writeln(y); end.

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 4

Jika input 10 berapa nilai tampil?

program noname11; uses wincrt; var x,i:integer; b:boolean; begin writeln('Masukkan 1 angka integer : '); readln(x); b:=true; while (x>5)and(b) do begin x:=x+2; if x>20 then b:=false else x:=x-1; end; writeln(x); end.

Algoritma dan Struktur Data

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 5

Elemen Pemrograman

• Program = Struktur Data + Algoritma

• Struktur data : dasar (int, real, boolean), bentukan (record, array, set)

• Instruksi : assignment, read/write, if/case, loop (for, while, repeat)

• Pengelompokan instruksi menjadi fungsi/prosedur

• Operasi file eksternal.

Algoritma dan Struktur Data

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 6

Struktur Data

• Struktur data: cara merepresentasikan data agar efisien dalam penyimpanan dan pengolahannya.

• Struktur data seharusnya diterapkan pada algoritma yang didisain secara efisien

• Tujuan kuliah Algoritma & Struktur Data adalah untuk mempelajari bagaimana merepresentasikan data secara efisien dan disain pengolahannya secara efisien

Algoritma dan Struktur Data

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 7

• Pengenalan Bahasa C

Algoritma dan Struktur Data

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 8

Latar Belakang Array

• Sejauh ini cuplikan program yang kita pelajari masih sangat terbatas, karena statement assignment hanya berupa pemberian satu nilai pada satu variabel

• Padahal sering kali kita perlu untuk meng-assign ataupun memanipulasi banyak nilai ke sekelompok variabel

• Sebagai contoh jika anda membuat program yang membaca 6000 nilai percobaan untuk dihitung nilai rata-rata-nya, akan sangat lucu jika anda menghitungnya dengan cara berikut: rata_rata = (x1 + x2 + x3 + x4 + x5 + + dst )/6000.

• Ekspresi matematis berikut akan lebih baik :

8 IF2031-Algoritma dan

Struktur Data/Hamonangan Situmorang

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 9

Pendahuluan (1)

• Definsi : Kumpulan nilai dengan tipe data yang sama yang menggunakan nama sama.

• Deklarasi Array : – Tipe data elemen array – Nama array – Jumlah elemen array

• Contoh : short val[ 200 ]; //declaration val[ 12 ] = 5; //assignment

• Jika sebuah array y memiliki n elemen, maka: – Elemen pertama adalah : y[0] – Elemen terakhir adalah : y[n-1]

• Contoh : – Short y[4], memiliki elemen y[0], y[1], y[2], y[3] – Tetapi y[4], bukan merupakan elemen array ini.

IF2031-Algoritma dan

Struktur Data/Hamonangan Situmorang

9

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 10

Pendahuluan (2)

• Array dapat dibedakan menjadi : – Array berdimensi satu (1D), berpadanan dg vektor di Matematika

– Array berdimensi dua (2D), berpadanan dg matriks di Matematika

– Array berdimensi banyak

• Contoh array integer 1D bernama n yg memiliki 5 elemen, n[0] = 1, n[1] = 3, n[2] = 5, n[3] = 7, n[4] = 9 dideklarasikan sbb: – int n[5] = {1,3,5,7,9};

IF2031-Algoritma dan

Struktur Data/Hamonangan Situmorang

10

1 3 5 7 9 n

0 1 2 3 4 indeks

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 11

Alokasi Memory Array (1)

IF2031-Algoritma dan Struktur Data/Hamonangan

Situmorang

11

• Hati-hati dengan indeks array

– jika ceroboh dapat mengakses data lain

– hati-hati pula dengan pointer

• Ilustrasi kasus:

int a[6];

int anu;

Array a[ ]

Data lain

Memori

a[0] a[1] a[2] a[3] a[4] a[5] anu

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 12

Deklarasi dan Inisialisasi Array

• Deklarasi secara global, semua elemen array akan diinisialiasi dengan nilai nol.

• Deklarasi secara lokal, elemen array tidak di-inisialisasi. • Contoh-contoh deklarasi dan inisialisasi array :

– short x[ 12 ] = { 1, 3, 88}; – double w[ ] = {3.14, 127.0, 22};

• Strings: – char a_name[ 10 ] = “Hello”; – char name[ 20 ] ={‘H’,‘e’,‘l’,’l’,’o’};

• Jika anda akan mendeklarasikan ukuran/dimensi array anda harus menggunakan sebuah nilai atau konstanta, jangan variabel – short x[12]; – Short x[MAX], dimana MAX adalah konstanta

IF2031-Algoritma dan Struktur Data/Hamonangan

Situmorang

12

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 13

Review Deklarasi Konstanta

• Contoh deklarasi konstanta

– #define ACONSTANT 300.0

– #define TRUE 1

– #define FALSE 0

• Catatan:

– Tidak ada semicolon diakhir deklarasi konstanta

– Kesepakatan dalam C: nama konstatnta ditulis dengan menggunakan huruf besar semua.

IF2031-Algoritma dan Struktur Data/Hamonangan

Situmorang

13

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 14

Mengolah Elemen Array

• Elemen array dapat diakses dengan bentuk: – nama_array[subscript] untuk dimensi 1 – nama_array[subscript_baris][subscript_kolom] untuk

dimensi 2

• Dalam pemrograman harus diusahakan agar tidak

terjadi pengaksesan elemen di luar jumlah yang didefinisikan.

• Perlu diketahui, C tidak akan memberikan pesan kesalahan apabila terjadi pengaksesan dengan nilai indeks yang berada di luar nilai yang telah didefinisikan.

IF2031-Algoritma dan Struktur Data/Hamonangan

Situmorang

14

I Ketut Resika Arthana, S.T., M.Kom PTI-UNDIKSHA 15

Ref

• Array dalam Bahasa C Hamonangan Situmorang- STEI-ITB

Algoritma dan Struktur Data