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
Pendidikan Teknik Informatika – FTK - UNDIKSHA
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 ? I Ketut Resika Arthana, S.T., M.Kom
Algoritma dan Struktur Data
PTI-UNDIKSHA
2
Jika input 10 berapa nilai tampil?
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
Algoritma dan Struktur Data
PTI-UNDIKSHA
3
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. I Ketut Resika Arthana, S.T., M.Kom
Algoritma dan Struktur Data
PTI-UNDIKSHA
4
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.
I Ketut Resika Arthana, S.T., M.Kom
Algoritma dan Struktur Data
PTI-UNDIKSHA
5
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
I Ketut Resika Arthana, S.T., M.Kom
Algoritma dan Struktur Data
PTI-UNDIKSHA
6
• Pengenalan Bahasa C
I Ketut Resika Arthana, S.T., M.Kom
Algoritma dan Struktur Data
PTI-UNDIKSHA
7
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 : I Ketut Resika Arthana, S.T., M.Kom
IF2031-Algoritma dan Struktur Data/Hamonangan
PTI-UNDIKSHA
8
8
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 ]; val[ 12 ] = 5;
//declaration //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. I Ketut Resika Arthana, S.T., M.Kom
IF2031-Algoritma dan Struktur Data/Hamonangan
PTI-UNDIKSHA
9
9
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}; n indeks I Ketut Resika Arthana, S.T., M.Kom
1
3 0
5 1
7 2
IF2031-Algoritma dan Struktur Data/Hamonangan
9 3
4 PTI-UNDIKSHA
10
10
Alokasi Memory Array (1)
• Hati-hati dengan indeks array
Memori
– jika ceroboh dapat mengakses data lain – hati-hati pula dengan pointer Array a[ ]
• Ilustrasi kasus: int a[6]; int anu; Data
lain
I Ketut Resika Arthana, S.T., M.Kom
IF2031-Algoritma dan Struktur Data/Hamonangan
a[0] a[1] a[2] a[3] a[4] a[5] anu
PTI-UNDIKSHA
11
11
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 I Ketut Resika Arthana, S.T., M.Kom
IF2031-Algoritma dan Struktur Data/Hamonangan
PTI-UNDIKSHA
12
12
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.
I Ketut Resika Arthana, S.T., M.Kom
IF2031-Algoritma dan Struktur Data/Hamonangan
PTI-UNDIKSHA
13
13
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. I Ketut Resika Arthana, S.T., M.Kom
IF2031-Algoritma dan Struktur Data/Hamonangan
PTI-UNDIKSHA
14
14
Ref
• Array dalam Bahasa C Hamonangan Situmorang- STEI-ITB
I Ketut Resika Arthana, S.T., M.Kom
Algoritma dan Struktur Data
PTI-UNDIKSHA
15