Daftar Isi. 1. Larik/Array Array Dua Dimensi: Matriks Pencarian/Searching Modul Dalam Program...23

Ukuran: px
Mulai penontonan dengan halaman:

Download "Daftar Isi. 1. Larik/Array Array Dua Dimensi: Matriks Pencarian/Searching Modul Dalam Program...23"

Transkripsi

1 Modul Praktikum Algoritma II

2 Daftar Isi 1. Larik/Array Array Dua Dimensi: Matriks... 7 Modul Praktikum Algoritma II Tim Dosen Program Studi Teknik Informatika Copyright 2012, Indraprasta PGRI PRESS. Hak cipta dilindungi undang-undang 3. Pencarian/Searching Modul Dalam Program Pengurutan/Sorting...33 All rights reserved 6. Penggabungan/Merging Array...53 Cetakan I: Mei Record...59 ISBN: **-* 8. File Teks...63 Indraprasta PGRI PRESS. ******* ****** iii

3 Modul Praktikum Alogaritma II 1 Larik/Array Array (Larik) adalah Suatu struktur data yang bisa menyimpan lebih dari satu data yang bertipe sama. Struktur data berbentuk larik ini diwakili oleh suatu nama variabel. Satu variabel bisa menyimpan banyak data, maka setiap data yang disimpan digunakan bilangan yang menunjukkan urutan atau disebut juga indeks, sehingga variabel array ini disebut juga variabel berindeks. Array (Larik) berdimensi satu disebut vektor. Array (Larik) berdimensi dua disebut matriks. Array (Larik) berdimensi tiga disebut tensor. Bentuk umum atau deklarasi dari array pada Pascal adalah sebagai berikut: Var nama_array : array [a.. b] of tipe_data; Dengan a : nilai indeks pertama b : nilai indeks terakhir a dan b harus bertipe integer, dengan nilai a < nilai b. Dengan deklarasi tersebut maka program akan mengalokasikan memori yang akan digunakan untuk menyimpan elemen-elemen array sebanyak maksimum (b-a+1). Contoh definisi array / larik : a. nama_array : array [ 1.. n ] of tipe_data; contoh = A : array [1..10] of integer; b. tipe_data nama_array [n]; contoh = integer A[10]; c. type larik : array [1.. n ] of tipe_data; nama_array : larik; contoh = type larik : array [1..10] of integer; A : larik; iv 1

4 Larik/Array Pemberian nilai untuk Array pada Pascal. 1. Contoh pemberian nilai untuk satu elemen array. a. A[5] 51; artinya elemen kelima dari array A diberi nilai integer 51. b. B[18] 2.67; artinya elemen ke-18 array B diberi nilai bilangan real 2,67. c. C[6] a ; artinya elemen ke-6 array C diberi nilai karakter / huruf a. d. C[i] # ; artinya elemen ke-i array C diberi nilai karakter #. 2. Contoh pemberian nilai untuk beberapa elemen array yang berurutan. a. for i 1 to n do A[i] random (1000) artinya: elemen-elemen array A dari elemen pertama s.d. elemen ke-n diisi oleh hasil randomisasi bilangan 1 s.d b. for i 11 to 25 do A[i] 3*i+2 artinya: elemen-elemen array A dan elemen pertama s.d. elemen ke-n diisi oleh hasil perhitungan 3i + 2, dimana i adalah nilai indeks yang bersesuaian. Pengaksesan Elemen-elemen Array. 1. Contoh mengakses satu elemen array a. X A[5]; artinya variabel x diberi nilai elemen kelima dari array A. b. Y B[18]; artinya variabel y diberi nilai elemen ke-18 dari array B. c. Z C[i]; artinya elemen ke-i dari array C diberikan kepada variabel Z. 2. Contoh mengakses beberapa elemen array yang berurutan. a. for i 1 to n do P[i] A[i+l] artinya : array P diberi nilai elemen array A dengan indeks ditambah satu. b. for j 11 to 25 do Z[j] B[j - 10] artinya : elemen-elemen array A dan elemen ke-11 s.d. elemen ke-25 diisi oleh elemenelemen array A dengan indeks dikurangi sepuluh. 4. Contoh mencetak / menampilkan beberapa elemen array yang berurutan a. for i 1 to n do write (A[i]) artinya : menampilkan nilai array A untuk elemen ke-1 s.d. ke-n. b. for k 11 to 25 do write( Elemen ke-,k, adalah = B[k]) artinya : menampilkan nilai array B untuk elemen ke-11 s.d. ke Contoh menjumlah beberapa elemen array yang berurutan a. for i 1 to n do jumlah jum1ah + A[i] artinya: menjumlah elemen-elemen array A dari elemen ke-1 s.d. ke-n. b. for k 11 to 25 do jumlah jumlah + B[i] artinya: menjumlah elemen array B dari elemen ke-l1 s.d. ke-25 Contoh Program dengan menggunakan array: Program HITUNG_RATA; {Contoh Penggunaan array dalam program} var i, k, n : integer; Jumlah : longint; RATA : real; A : array [0..100] of integer; {Input Data} while A[n] <> -9 do n := n + 1; write( Masukkan bilangannya : ); readln(a[n]) ; 3. Contoh mencetak / menampilkan satu elemen array. {end of while} a. write(a[5]) ; artinya menampilkan nilai elemen kelima dari array A. n := n - 1; b. write(elemen ke-18 adalah=`,b[18]) ; writeln ( Banyaknya bilangan :, n); artinya menampilkan nilai elemen ke-18 dari array B. 2 3

5 Larik/Array {Mencetak Elemen array} writeln ( Data ke-, I); write ( Elemen array-nya adalah : ); write( Nama : ); readln (Mhs[I].Nama); for i := 1 to n do write ( Npm : ); readln (Mhs[I].Npm); write (A[i],, );writeln; write ( Nilai : ); readln (Mhs[I].Nilai); writeln; {Menghitung jumlah e!emen array} for i := 1 to n do Jumlah := Jumlah + A[i]; write( Jumlah akhir =, Jumlah); Procedure Judul; {Menghitung rata-rata} Clrscr; RATA := Jumlah/n; Gotoxy(13,1); writeln( DATA MAHASISWA ); writeln( dan Rata-rata =,RATA); Writeln( ); writeln( --o SELESAI o-- ); gotoxy(3,3); write( No ); readln; gotoxy(7,3); write( Nama ); end. gotoxy(27,3); write( Npm ); gotoxy(45,3); writeln( Nilai ); Program Array_Record; Writeln( ); Uses crt; Procedure Tampil; Type mahasiswa = record Nama : string; for I := 1 to Jum do Npm : string; Nilai : integer; gotoxy(3,4 + I); write(i); gotoxy(7,4 + I); write(mhs[i].nama); Var Mhs : array [1..10] of mahasiswa; gotoxy(27,4 + I); write(mhs[i].npm); Jum : byte; gotoxy(45,4 + I); write(mhs[i].nilai); I,J : integer; writeln( ); Procedure Input; {program utama} Writeln ( Data Mhs ); Clrscr; Write ( Jumlah data : ); Input; Readln (Jum); Judul; Writeln; Tampil; For I := 1 to Jum do Readln; end. 4 * * * 5

6 Modul Praktikum Alogaritma II 2 Array Dua Dimensi: Matriks Jika array satu dimensi merepresentasikan struktur data berbentuk sederetan bilangan atau bias juga merepresentasikan elemen-elemen vektor, maka array dua dimensi akan merepresentasikan struktur data dari elemen-elemen matriks. Deklarasi array pada Pascal Format pendeklarasian matriks pada pascal adalah sebagai berikut: Var nama_matriks : array [a..b,c..d] of tipe data Dimana a : nilai indeks pertama dimensi pertama b : nilai indeks terakhir dimensi kedua a,b,c dan d harus bertipe integer, dan a < b, serta c < d Dengan deklarasi tersebut maka program akan mengalokasikan memori (ruang penyimpanan) yang akan digunakan untuk menyimpan data elemen-elemen array A tersebut sebanyak (b a + 1) x (c d + 1) buah lokasi. Contoh: 1.var A : array [1..8,1..6) of integer artinya : deklarasi suatu array 2 dimensi (matriks) yang bernama A yang akan menyimpan Maksimum 8 baris kali 6 kolom data bertipe integer dengan indeks baris 1 s.d. 8 dan indeks kolom 1 s.d var B : array [10..15, of real artinya : deklarasi matriks yang bernama B yang akan menyimpan maksimum 6 baris kali Kolom data bertipe real dengan indeks baris 10 s.d. 15 dan indeks kolom 6 s.d var C : array [ , ] of char artinya : deklarasi suatu matriks yang bernama C yang akan menyimpan maksimum 51 Baris kali 26 kolom data bertipe karakter dengan indeks baris 50 s.d. 100 dan Dan indeks kolom 25 s.d

7 Array Dua Dimensi: Matriks Notasi Umum untuk elemen matriks : A [i,j] Dimensi pertama, yaitu i, akan merepresentasikan indeks baris dan dimensi kedua, yaitu j, akan merepresentasikam indeks kolom Pemberian Nilai untuk Array pada Pascal 1. Contoh pemberian nilai untuk satu elemen matriks a. A[5,3] 51; artinya elemen baris kelima kolom ketiga dari matriks A diberi nilai Integer 51. b. B [14,12] 3,25; artinya elemen baris ke-1 4 kolom ke-12 dari matriks B diberi Nilai bilangan real 3,25 c. B[i,j] $ ; artinya elemen baris ke-i kolom ke-j dari matriks B diberi nilai Karakter $. 2. Contoh pemberian nilai untuk beberapa elemen matriks yang berurutan a. for i 1 to n do for j 1 to n do write(a[i,j]) artinya : elemen-elemen matriks A dari elemen baris dan kolom pertama s.d. ke-n diisi Oleh hasil randomisasi bilangan 1 s.d b. for i 6 to 20 do for j 11 to 25 do A[i,j] 3*i + 2*j artinya : elemen-elemen matriks A dari baris ke-6 s.d. baris ke-20 dan kolom ke-11 s.d. kolom ke-25 diisi oleh hasil perhitungan 3i + 2j, dimana i dan j adalah nilai indeks baris dan indeks kolom yang bersesuaian. Contoh : Buatlah Algoritma untuk membentuk matriks berikut: Pengaksesan Elemen-elemen Matriks 1. Contoh mengakses satu elemen matriks Jawab : Algoritmanya adalah : For i 1 to 5 do For j 1 to 5 do if i = j then A[i,j] i*i else if i > j then A[i,j] i+j else A[i,j] i j endif endif a. x A[5,6]; artinya variabel x diberi nilai elemen baris kelima kolom ke enam dari matriks A b. Y B[1,8]; artinya variabel Y diberi nilai elemen baris ke-1 kolom ke-8 dari matriks B c. Z C[i,j]; artinya elemen baris ke-i kolom ke-j dari matriks C diberikan kepada Variabel z. 2. Contoh mengakses beberapa elemen matriks yang berurutan. a. for i 1 to n do for j 1 to n do P[i,j] A[i+1,j+2] artinya : matriks P diberi nilai elemen matriks A dengan indeks baris ditarnbah satu, dan Indeks kolom ditambah 2. b. for i 11 to 25 do for j 11 to 25 do z[i,j] B [i,j] Artinya : elemen-elemen matriks z dari kolom Dan baris ke 11 s.d. ke-25 diisi oleh Elemen-elemen matriks B dengan Indeks yang sama 8 9

8 Array Dua Dimensi: Matriks 3. Contoh mencetak / menampilkan satu elemen matriks a. write(a[5,3]); artinya menampilkan nilai elemen baris kelima kolom ketiga Dari matriks A b. write( Elemen baris ke-1 kolom ke-4 adalah=,b[18]); artinya menampilkan nilai elemen baris ke-1 kolom ke-4 dari matriks B. 4. Contoh mencetak / menampilkan beberapa elemen matriks yang berurutan. a. for i 1 to n do Artinya : Menampilkan semua elemen matriks A dari baris dan kolom for j 1 to n do pertama s.d. ke-n Write(A[i,j]) writeln b. for k ll to 25 do for j 6 to 10 do writeln write(b[i,j]) Pernyataan writeln di atas merupakan perintah agar elemen-elemen baris berikutnya tercetak pada baris yang baru 5. Contoh menjumlah beberapa elemen matriks yang berurutan a. for i 1 to n do for j 1 to n do jumlah jumlah + A[i,j] artinya: menjumlah semua elemen matriks A baris dan kolom ke-l s.d. ke-n b. for k 11 to 25 do for k 6 to l0 do jumlah jumlah + B[i,j] Artinya : Menampilkan elemen matriks B untuk baris ke-11 s.d. ke-25 dan kolom ke-6 s.d. ke-10 artinya : menjumlah elemen matriks B baris ke-1 1 s.d. ke-25 kolom ke-6 s.d. ke-l0 Algoritma-algoritma Operasi Vektor dan matriks 1. Penjumlah dan Pengurangan Vektor: a ± b = C, a 1 a 2.. a n b 1 b 2. ± =. b n a, b, dan c adalah vector yang berdimensi sama c 1 c 2.. c n 2. Perkalian Vektor (Dot Product): a. b = k, dimana a dan b adalah vector berdimensi sama, k adalah konstanta. a 1 a 2.. a n b 1 b 2... = k b n 3. Penjumlah dan Pengurangan Matriks: A ± B = C, A, B, dan C adalah matriks yang berordo sama a 11 a 12.. a 1n a 21 a 22.. a 2n a n1 a n2.. a nn b 11 b 12.. b 1n b 21 b 22.. b 2n ± = b n1 b n2.. b nn Definisi : C[i,j] A[i,j] ± B[i,j] Algoritmanya : for i 1 to n do for j 1 to n do Definisi : c(i) = a(i) ± b(i) Algoritmanya : for i 1 to n do c[i] a[i] ± b[i] Definisi : k = a 1.b 1 +a 2.b2 +a 3.b a n.b n Algoritmanya : k 0 for i 1 to n do k k + a[i]* b[i] c[i,j] A[i,j] ± B[i,j] c 11 c 12.. c 1n c 21 c 22.. c 2n c n1 c n2.. c nn 10 11

9 Array Dua Dimensi: Matriks 4. Perkalian Matriks dengan vector : A x b = c, A adalah matriks berordo n x n, b dan c adalah vector berdimensi n a 11 a 12.. a 1n a 21 a 22.. a 2n a n1 a n2.. a nn a 11 a 12.. a 1n a 21 a 22.. a 2n a n1 a n2.. a nn b 1 b 2 X. =. b n Definisi : c i = a i1.b 1 + a i2.b 2 + a i3.b a in.b n Contoh : c 4 = a 4i.b 1 + a 42.b 2 + a 43.b a 4n.b n Algoritmanya : for i C[i] 0 1 to n do for j 1 to n do 5. Perkalian Matriks dengan Matriks: c 1 c 2.. c n c[i] c[i] + A[i,j] * b[j] A x B = C, A, B, dan C adalah matriks yang berordo n x n b 11 b 12.. b 1n b 21 b 22.. b 2n X..... =..... b n1 b n2.. b nn c 11 c 12.. c 1n c 21 c 22.. c 2n c n1 c n2.. c nn Definisi : Perkalian matriks A dan B adalah perkalian antara elemen baris matriks A dengan elemen kolom matriks B untuk indeks yang bersesuaian kemudian hasil masing-masing perkalian tersebut dijumlahkan. C ij = a i1.b ij + a i2.b 2j + a i3.b 3j a in.b nj Contoh : C 43 = a 41.b 13 + a 42.b 23 + a 43.b a 4n.b n3 Algoritmanya : for i 1 to n do C[i,j] 0 for j 1 to n do C[i,j] C[i,j] + A[i,k] * B[k,j] Jika A dan B adalah matriks dengan ordo tidak sama : Misal : A m x p x B p x n = C m x n Maka algoritmanya : for i 1 to m do C[i,j] 0 for j 1 to p do for j 1 to n do C[i,j] C[i,j] + A[i,k] * B[k,j] Program Perkalian_Matriks; uses crt; Type Larik = array [1..25, 1..25] of real; Var I,J,K = byte; M,N,L = byte; A,B,C = larik; Clrscr; Write( Baris matriks pertama? ); readln(m); Write( Baris matriks pertama/baris matriks kedua? ); readln(n); Write( Kolom matriks kedua? ); readln(l); Writeln; 12 13

10 Array Dua Dimensi: Matriks {masukan data matriks pertama} Writeln( Matriks yang pertama : ); for I := 1 to M do for J := 1 to N do write( Nilai [,I,,,J, ] ); readln(a[i,j]); writeln; {masukan data matriks kedua} Writeln( Matriks yang kedua : ); for I := 1 to N do for J := 1 to L do write( Nilai [,I,,,J, ]? ); readln(b[i,j]); writeln; {perkalian matriks] for I := 1 to M do for J := 1 to N do C[I,J] := 0; For k := 1 to L do C[I,J] := C[I,J] + A[I,K]* B[K,J]; {mencetak hasil perkalian} Clrscr; Writeln( Hasil dari perkalian matriks : ); Writeln; for I := 1 to M do for J := 1 to L do write(c[i,j]):9:2); writeln; end. Tugas : Buatlah program-program lainnya yang mengimplementasikan algoritmaalgoritma di atas! * * * 14 15

11 Modul Praktikum Alogaritma II 3 Pencarian/Searching Proses pencarian/searching adalah proses mencari suatu data yang ditentukan pada suatu kumpulannya, misal pada suatu larik/array, linked-list, record, file, atau pada kumpulan data yang lain. Permasalahan Pada Pencarian Permasalahan pada pencarian bisa diklasifikasikan sebagai berikut : 1. Dicari suatu data, misal data x, pada suatu kumpulan data, misal A. Hasil pencarian yang diharapkan adalah suatu komentar bahwa data tersebut ditemukan atau tidak ditemukan. 2. Dicari suatu data, misal data x, pada suatu kumpulan data, misal A. Hasil pencarian yang diharapkan adalah suatu status bahwa data tersebut ditemukan atau tidak ditemukan. 3. Dicari suatu data, misal data x, pada suatu larik/array, misal array A. Hasil pencarian yang diharapkan adalah posisi yaitu nomor urut atau indeks data itu pada array tersebut. Algoritma Pencarian 1. Pencarian Beruntun (Linear Searching) Ide pencarian : elemen yang dicari dibandingkan dengan elemen-elemen yang ada pada Kumpulan data tempat pencarian satu persatu mulai dari elemen pertama. Algoritma : CARI(A, N, X) {Mencari data x pada array A yang elemennya sebanyak N} Read (x) I 1 While x <> A(I) AND I <= N do I I + 1 endwhile Pengaturan Hasil (output) Sesuai permasalahan pada pencarian yang dikemukakan di atas maka pengaturan hasil/ output yang diinginkan dari proses pencarian tersebut bisa disesuaikan dengan permasalahan di atas, yaitu : 16 17

12 Pencarian/Searching 1. Jika hasil yang diinginkan berupa komentar bahwa data x ditemukan atau tidak : if I <= N then write (x, ditemukan ) else write(x, tidak ditemukan ) endif 2. Jika hasil yang diinginkan berupa status bahwa data x dtemukan atau tidak: if I <= N then Ketemu TRUE else Ketemu FALSE endif Algoritma : CARl (A, N, X) {Mencari data x pada array A yang elemennya sebanyak N} Read (x) a 1 b N ketemu FALSE while ketemu and a < b do T (a+b) mod 2 if x = A(T) then ketemu TRUE else if x < A(T) then b T - 1 else a T + 1 endwhile 3. Jika hasil yang diinginkan berupa indeks data x pada array A: if I <= N then Hasil I else Hasil 0 { misal jika tidak ditemukan maka variabel hasil diberi endif nilai 0 3. Pencarian Biner/Bagi Dua (Binary Searching) (Khusus untuk pencarian pada array yang sudah terurut) Ide pencarian: elemen yang dicari dibandingkan dengan elemen tengah dari kumpulan data tempat pencarian. Jika sama maka data yang dicari ditemukan, jika tidak sama (dalam ini belum ditemukan) maka data yang dicari itu dibandingkan lagi dengan elemen tengah tersebut. Jika lebih kecil maka pencarian dilanjutkan ke bagian array sebelah kiri (bagian yang lebih kecil dan elemen tengah). Sebaliknya jika lebih besar maka pencarian dilanjutkan di sebelah kanan elemen tengah. Ulangi langkah tersebut sampai ditemukan alan kumpulan data tidak bisa dibagi lagi menjadi dua bagian. Pengaturan Hasil (output) 1.Jika hasil yang diinginkan berupa komentar bahwa data x ditemukan atau tidak: if ketemu = TRUE then write (x, ditemukan ) else write(x, tidak ditemukan ) endif 2. Jika hasil yang diinginkan berupa status bahwa data x dtemukan atau tidak maka variabel ketemu tersebut menunjukkan status bahwa data yang dicari ditemukan atau tidak. 3. Jika hasil yang diinginkan berupa indeks data x pada array A : if ketemu = TRUE then Hasil T else Hasil 0 {misal jika tidak ditemukan maka variable hasil diberi nilai 0} endif Algoritma Searching Urut Langkah 0 Langkah 1 Langkah 2 : Baca Vektor yang diketahui, misalnya sebagai vektor A dengan N elemen. : Baca data yang akan dicari, misal DATA. : (Inisialisasi) Tentukan : Ada = False 18 19

13 Pencarian/Searching Langkah 3 Langakah 4 Langkah 5 Langkah 6 : (Proses Pencarian) Untuk I = 1 sampai N kerjakan langkah 4 : Test apakah : DATA = A[I]? Jika Ya, (berarti data ketemu), tentukan ; Ada = True, Posisi = I dan I = N : (Menambah data pada vektor, jika diperlukan) Test apakah Ada = False? Jika Ya, ( data tidak ketemu), tentukan : N = N + 1, dan A[I]= DATA : Selesai Contoh Program binary_search; Uses crt; Type Tipe_larik = word; Larik = array [1..8] of tipe_larik; Procedure caribiner ( x : larik; cari :tipe_larik; Bawah,atas : word; Var urutketemu : word); Algoritma Searching Biner Var tengah : word; Langkah 0 Langkah 1 Langkah 2 Langkah 3 Langkah 4 Langkah 5 : Baca vektor yang diketahui, misal vektor A dengan N buah elemen, dan urutkan secara urut naik : Baca elemen yang akan dicari, misal DATA : ( Inisialisasi) Tentukan Ada = False, Atas = N, dan Bawah = 1 : Kerjakan langkah 4 dan 5 selama Atas >= Bawah : (Menentukan batas subvektor) Tentukan : Tengah = ( Atas + Bawah ) div 2 : Test nilai data terhadap A [Tengah] Jika DATA > A [Tengah], (ada di subvektor 2), Tentukan: Bawah = Tengah + 1 Jika DATA = A [Tengah], (ada disubvektor 1), Tentukan : Atas = Tengah 1 if bawah > atas then urutketemu := 0 else tengah := (bawah + atas) div 2 ; if cari = x[tengah] then urutketemu := tengah else if cari < x[tengah] then caribiner(x, cari, bawah, tengah-1, urutketemu) else caribiner(x, cari, tengah+1, atas, urutketemu); Jika Data = A [Tengah], (ketemu), type nama = string[20]; Tentukan : Ada = True Posisi = Tengah, dan const npm : larik = (1234, 1235, 1236, 1237, 1238, 1239, 1240, Bawah = Atas ); Langkah 6 : Selesai nama_mhs : array [1..8] of nama = ( arief, ani,budi, citra,dewi, erni, fanny, ghana ) ; 20 21

14 Modul Praktikum Alogaritma II var 4 cari : word; ketemu : word; lagi : char; Modul Dalam Program lagi := Y ; while upcase(lagi) = Y do clrscr; write( NPM mahasiswa yang dicari: ); readln(cari); writeln; caribiner(npm, cari, 1, 8, ketemu); if ketemu = 0 then writeln( npm mahasiswa ini tidak ada ); else writeln( NPM mahasiswa :, npm[ketemu]); end. writeln( Nama mahasiswa :, namamhs[ketemu]); writeln; write( cari yang lain lagi (Y/T)? ); readln(lagi); *** 22 Modul dalam program atau disebut juga sub program atau routine atau sub routine adalah bagian program yang mengerjakan sebagian masalah yang akan diselesaikan oleh program tersebut. Suatu program yang akan menyelesaikan suatu masalah yang besar dan kompleks sebaiknya masalah tersebut dibagi-bagi menjadi masalah-masalah yang kecil agar lebih mudah untuk menyelesaikannya. Kemudian dalam implementasinya masalah-masalah yang kecil tersebut diselesaikan dengan pembuatan modul. Sifat dari implementasi suatu program dengan modulmodul disebut sifat modularitas. Program yang baik apabila sifat modularitasnya tinggi. Keuntungan penerapan modul dalam program : 1. Mempermudah dalam pemeliharaan (rnendeteksi kesalahan. perbaikan, modifikasi. dll) 2..Jika banyak bagian program yang harus dikerjakan berulang-ulang maka hemat dalam. penulisan baris-baris instruksi. 3. Mempermudah dalam pembacaan dan pemahaman program. Pada saat eksekusi program, apabila suatu modul dipanggil (eksekusi program sudah mencapai modul tersebut) maka eksekusi program berpindah ke modul tersebut, kemudian jika sudah selesai maka kembali lagi ke program utama. Suatu modul bisa memanggil maupun dipanggil oleh modul lain. 23

15 Modul Dalam Program Program Utama Modul Modul Modul Modul Modul dst Struktur program dengan modul dalam Pascal : 1. Nama Program 2. Deklarasi Variabel Global 3. Penulisan Modul-modul yang dipanggil 4. Program Utama Struktur modul dalam Pascal: 1. Nama Modul (dan parameter Formalnya) 2. Deklarasi Variabel Lokal 3. Penulisan modul-modul lain yang dipanggil (jika ada) 4. Isi Modul Beberapa Istilah pada modul : Modul Modul dst Modul dst Modul dst 1. Variabel Global adalah suatu variabel yang dideklarasikan pada awal program utama dan bisa digunakan oleh semua bagian dari program tersebut, termasuk rnodul-rnodulnya. 2. Variabel Lokal adalah suatu variabel yang dideklarasikan pada suatu modul dan hanya bisa digunakan pada modul tersebut. 3. Parameter Formal adalah suatu parameter/variabel yang digunakan pada deklarasi/pendefinisian suatu modul. 4. ParameterAktual adalah suatu parameter yang digunakan untuk memanggil suatu modul. 5. Parameter Input adalah suatu parameter yang digunakan untuk memasukkan data yang akan diproses oleh modul. 6. Parameter Output adalah suatu parameter yang digunakan untuk mengirimkan hasil proses dan suatu modul kepada yang memanggil modul tersebut. Modul dalam Bahasa Pemrograman: Pada hampir semua bahasa pemrograman, terdapat dua jenis modul, yaitu : Prosedur (procedure) dan fungsi (Function). Contoh deklarasi prosedur dan fungsi dalam Pascal: 1. Procedure InputData(var A:array of integer; var I:integer); arti : deklarasi dari prosedur bernama lnputdata dengan parameter formal array A dan Integer I. Parameter A dan I tersebut keduanya merupakan parameter output. 2. Procedure CetakArray(A:array of integer; N:integer); arti : deklarasi dari prosedur bernama CetakArray dengan parameter formal array A dan integer N. Parameter A dan N tersebut keduanya merupakan parameter input. 3. Procedure HitungJumlah(A:array of integer; X:integer; var Total:longint); arti : deklarasi dan prosedur bernama HitungJumlah dengan parameter formal array A dan integer X, dan longinteger Total. Parameter A dan X merupakan parameter input, sedangkan parameter Total adalah parameter output. 4. procedure InputData; arti : deklarasi dan prosedur bernama InputData tanpa parameter apapun. 5. function Total (B:array of integer; X:integer) :longint; arti : deklarasi dari fungsi bernama Total dengan parameter formal array B dan integer X. Parameter B dan X tersebut keduanya merupakan parameter input. Fungsi ini akan mengembalikan hasil suatu data bertipe Long integer. Pada fungsi tidak ada parameter output, karena suatu fungsi akan selalu mengembalikan hasil kepada yang memanggil. 6. function MAX(D:array of integer; N:integer) :integer; arti : deklarasi dan fungsi bernama Max dengan parameter formal array D dan integer N. Fungsi ini akan mengembalikan hasil suatu data bertipe integer.

16 Modul Dalam Program Contoh pemanggilan prosedur dan fungsi dalam Pascal: 1. InputData(A,n); { Panggil prosedur InputData dengan parameter aktual A dan n sesuai dengan Deklarasi prosedurnya} 2. CetakArray(A,n); { Panggil prosedur CetakArray dengan parameter aktual A dan n sesuai dengan deklarasi prosedurnya}. 3. HitungJumlah(A,n,Jumlah); { Panggil prosedur HitungJumlah dengan parameter aktual A, n dan Jumlah sesuai dengan deklarasi prosedurnya }. 4. InputData; { Panggil prosedur InputData tanpa parameter apapun sesuai dengan deklarasi prosedurnya}. 5. Jumlah := Total(A,n); { Panggil Fungsi Total dengan parameter aktual A dan n sesuai dengan deklarasi fungsinya, dan hasil yang diberikan oleh fungsi tersebut akan disimpan dalam variabel Jumlah}. 6. Maksimum : MAX(A,n); { Panggil Fungsi MAX dengan parameter aktual A dan n sesuai dengan deklarasi fungsinya, dan hasil yang diberikan oleh fungsi tersebut akan disimpan dalam variabel Maksimum}. Pemanggilan Fungsi Pemanggilan suatu fungsi bisa dilakukan dengan 4 cara: 1. Di simpan (di-assign) dalam suatu variabel, contoh seperti di atas. 2. Dioperasikan dengan variabel lain atau dengan bilangan dan hasilnya Di simpan (di-assign) dalam suatu variabel Contoh : Rata_rata := Total(A,n)/n; artinya: bahwa hasil pemanggilan fungsi Total langsung dibagi dengan variabel n dan hasilnya disimpan dalam variabel rata-rata. Contoh: if (MAX(A,n)) < 100 then. artinya bahwa hasil pemanggilan fungsi Max dijadikan sebagai uji kondisi IF-THEN Contoh-contoh Program menggunakan modul: Procedure faktorial(n: byte; var hasil: longint); If N <= 1 then hasil := 1 Else Faktorial(N-1, hasil); Hasil := N*hasil; Var N : byte; F : longint; Write( Berapa faktorial? ); readln(n); Faktorial(N,F); Writeln( Faktorial =,F); readln; End. Function factorial (N: byte): longint; If N <= 1 then faktorial := 1; Else Faktorial := N*faktorial (N-1); Var N: byte; Write ( berapa faktorial? ); readln(n); Writeln( Faktorial =,Faktorial (N)); readln; End. 3. Langsung dicetak, Contoh : write (MAX(A,n)), artinya : bahwa hasil pemanggilan fungsi Max langsung dicetak. 4. Untuk Uji Kondisi 26 27

17 Modul Dalam Program Function Fibonacci (n: word): word; If n < 2 then Fibonacci := n Else Fibonacci := Fibonacci(n-2) + Fibonacci(n-1); Var n: word; Write( suku ke berapa? ); readln(n); Writeln( nilai suku ke,n, adalah, Fibonacci(n)); readln; End. Function Fibonacci (n:word):word; If n < 2 then Fibonacci := n; Else Fibobawah := 0; Fiboatas := 1; For i := 2 to n do X := fibobawah; Fiboatas := fiboatas; Fibonacci := fiboatas; Var n : word; Write( suku ke berapa? ); readln(n); Writeln( nilai suku ke,n, adalah,fibonacci(n)); readln; End. Program HITUNG_RATA_1; { Contoh Penggunaan Procedure dan array) var k, n, bil : integer; Jumlah : longint; RATA : real; A : array[0..100]of integer; procedure InputData(var A:array of integer; var I:integer); while A[I] <> -9 do I : I + 1; write ( Masukkan bilangannya : ) ; readln(a[i]); {end of while} I:= I-1; {end of procedure} procedure CetakArray(A:array of integer; N:integer); var i : integer; for i := 1 to N do write(a[i],, ); procedure HitungJumlah( A:array of integer; X : integer; var Total:longint); var i : integer; for i := 1 to X do Total := Total + A(i]; {end of procedure} {Program Utama} InputData (A,n) ; {Panggil prosedur InputData} writeln ( Banyaknya bilangan :,n); write ( Elemen array-nya adalah : ); CetakArray(A,n); {Panggil prosedur CetakArray} writeln; HitungJumlah(A,n,Jumlah); {Panggil HitungJumlah} write( Jumlah akhir =,Jumlah); RATA := Jumlah/n; writeln ( dan Rata-rata =,RATA); writeln ( --o SELESAI o--- ); readln; end

18 Modul Dalam Program Program HITUNG_RATA_2; { Contoh Penggunaan Procedure dan array} var k, n : integer; Jumlah : longint; RATA : real; A : array[0..l00]of integer; procedure InputData; while A[n] <> -9 do n := n + 1; write( Masukkan bilangannya : ) ; readln (A[n]); {end of while} n := n 1; {end of procedure} procedure CetakArray; var i : integer; for i := 1 to n do write (A[i],, ); procedure HitungJumlah(var Total:longint); var i : integer; for i := 1 to n do Total := Total + A[i]; {end of procedure} {Program Utama} InputData; {Panggil prosedur InputData} writeln ( Banyaknya bilangan :,n); write ( Elemen array-nya adalah : ); CetakArray; {Panggil prosedur CetakArray} writeln; HitungJumlah(Jumlah); {Panggil HitungJumlah} write ( Jumlah akhir =, Jumlah); RATA := Jumlah/n; writeln ( dan Rata-rata =,RATA); writeln( --o SELESAI o-- ); readln; end. Program HITUNG_RATA_3; {Contoh Penggunaan Function dan array) var k, n, Maksimum, Minimum : integer; Jumlah : longint; RATA : real; A : array[0..l00] of integer; procedure InputData; while A[n] <> -9 do n := n + 1; write( Masukkan bilangannya : ); readln(a[n]); {end of while} n := n 1; {end of procedure} procedure CetakArray; var i integer; for i := 1 to n do write(a[i],, ); function Total (B:array of integer; X:integer):longint; var i : integer; temp : longint; temp := 0; for i := 1 to X do temp := temp + B[i]; Total := temp; {end of function} function MIN(B:array of integer; X:integer):integer; var i : integer; temp : integer; temp := B[1); for I := 2 to X do if temp > B[i] then temp := B[i); 30 31

19 Modul Praktikum Alogaritma II MIN := temp; 5 var i : integer; temp : integer; Pengurutan/Sorting {end of function} function MAX(D:array of integer; N:integer):integer; temp := D[1]; for i:= 2 to N do MAX := temp; {end of function} if temp < D[i] then temp :=D[i]; { Program Utama} InputData; writeln( Banyaknya bilangan :,n); write( Elemen array-nya adalah : );CetakArray; writeln; Jumlah := Total(A,n); write( Jumlah akhir =,Jumlah); RATA := Jumlah/n; writeln( dan Rata-rata =,RATA); Minimum := MIN(A,n); writeln( Elemen terkecil =,Minimum); Maksimum := MAX(A,n); writeln( Elemen terbesar =,Maksimum); writeln( --o SELESAI 0-- ); readln; end. Untuk memudahkan dalam proses pengurutan dan sekumpulan data maka sekumpulan data tersebut disimpan dalam suatu array (larik) atau senarai berkait (link-listed). 1. Pengurutan GELEMBUNG (Bubble Sort). Ide Pengurutan : misal untuk pengurutan naik (Ascending). Dimulai dari elemen terakhir (paling kanan) kemudian dibandingkan dengan elemen depannya (sebelah kirinya). Jika elemen tersebut lebih kecil dari elemen depannya maka terjadi pertukaran posisi dua elemen tersebut (karena pengurutan naik maka elemen kanan harus lebih besar dari elemen kiri). Kemudian dibandingkan lagi dengan elemen didepannya dan seterusnya sampai dengan elemen paling kiri. Dalam satu langkah ini akan diperoleh satu elemen paling kiri sudah dalam posisi terurut. Langkah tersebut diulangi terus sampai semua elemen dalam posisi terurut. Contoh : Misal elemen-elemen yang akan diurutkan disimpan dalam array, yaitu A = [6, 2, 9, 3. 7,4] *** 32 Langkah 1 : : : : : : : Langkah 2 : : 7 > 4 maka tidak terjadi pertukaran : 4 < 9 maka terjadi pertukaran : 4 > 3 maka tidak terjadi pertukaran : 3 < 6 maka terjadi pertukaran : Elemen kedua yaitu 3 sudah terurut < 7 maka terjadi pertukaran 4 > 3 maka tidak terjadi pertukaran 3 < 9 maka terjadi pertukaran 3 > 2 maka tidak terjadi pertukaran 2 < 6 maka terjadi pertukaran Elemen pertama yaitu 2 sudah terurut. 33

20 Pengurutan/Sorting Langkah 3 : : 7 < 9 maka terjadi pertukaran : 7 > 4 maka tidak terjadi pertukaran : 4 < 6 maka terjadi pertukaran : Elemen ketiga yaitu 4 sudah terurut. Langkah 4 : : 9 > 7 maka tidak terjadi pertukaran : 7 > 6 maka tidak terjadi pertukaran : Elemen keempat yaitu 6 sudah terurut. Langkah 5 : : 9 > 7 maka tidak terjadi pertukaran : Elemen kelima yaitu 7 sudah terurut Pada akhir langkah kelima ini tinggal satu elemen terakhir (elemen ke-6) yang belum diproses, tetapi karena tinggal satu elemen maka dengan sendirinya sudah menempati urutan yang benar (sudah terurut) sehingga Iangkah tidak perlu dilanjutkan (selesai). Algoritma : Ascending algoritma Bubble_Sort (A, n) 1. for i 1 to n-1 do 2. for j n to I do 3. if A[j] < A[j 1) then TUKAR(A[j],A[j 1]) Algoritma prosedur TUKAR: 6. TUKAR(x,y); 7. Temp x; x y; y Ternp; 8. for i := 1 to n do A[i]:= random(l000); {Cetak Array Sebelum Pengurutan} writeln; textcolor(15); write( Sebelum diurutkan : ); for i := 1 to n do write(a[i), ); writeln; textcolor(15); writeln( Proses Pengurutan Bubble : ); for i := 1 to n-1 do for j := n downto i+1 do if A[j-1] > A[j] then temp := A[j-1]; A[j 1] := A[j]; A[j] := temp; {Cetak Array tiap langkah pengurutan:} writeln; write( Hasil akhir langkah ke-,i, : ); for k := 1 to n do write(a[k], ); {Cetak Array Setelah Pengurutan} writeln; writeln; textcolor(15) ; write( Hasil Pengurutan Bubble : ) for i := 1 to n do write(a[i], ); readln; end. 2. Pengurutan GRAVITASI (Gravitasion Sort) ide Pengurutan: Contoh Program : Mirip dengan Bubble Sort tetapi dimulai dari elemen pertama (paling kiri) dan Program Urut_BUBBLE; dibandingkan dengan elemen di belakangnya (sebelah kanannya), sehingga pada akhir uses crt; langkah pertama diperoleh elemen terakhir sudah dalarn posisi terurut. Demikian var i,j,k,temp,n : integer; seterusnya. A, B, C : array [1..100] of integer; clrscr; textcolor(12); write( Banyaknya Elemen Array : ) ; readln(n); {Input Data} 34 35

21 Pengurutan/Sorting Contoh: Urutkan naik elemen-elemen array A = [6, 2, 9, 3, 7, 4] Langkah 1 : : 6 > 2 maka terjadi pertukaran : 6 > 9 maka tidak terjadi pertukaran : 9 > 3 maka terjadi pertukaran : 9 > 4 maka terjadi pertukaran : 9 > 7 maka terjadi pertukaran : Elemen terakhir yaitu 9 sudah terurut. Langkah 2 : : 2 < 6 maka tidak terjadi pertukaran : 6 > 3 maka terjadi pertukaran : 6 > 4 maka terjadi pertukaran : 6 < 7 maka tidak terjadi pertukaran : Elemen kelima yaitu 7 sudah terurut. Langkah 3 : : 2 < 3 maka tidak terjadi pertukaran : 3 < 4 maka tidak terjadi pertukaran : 4 < 6 maka tidak terjadi pertukaran : Elemen keempat yaitu 6 sudah terurut. Langkah 4 : : 2 < 3 maka tidak terjadi pertukaran : 3 < 4 maka tidak terjadi pertukaran : Elemen ketiga yaitu 4 sudah terurut. Langkah 5 : : 2 < 3 maka tidak terjadi pertukaran : Elemen kedua yaitu 3 sudah terurut Contoh Program : Program Urut_GRAVITASI; uses crt; var i,j,k,temp,n integer; A, B, C array [1..100] of integer; clrscr; textcolor(12); write( Banyaknya Elemen Array : ); readln(n); {Input Data} for i := 1 to n do write( Elemen ke-,i, : ); readln(a[i]); {Cetak Array Sebelum Pengurutan} writeln; textcolor(15); write( Sebelum diurutkan : ); for i := l to n do write(a[i], ); writeln; textcolor(15); Pada akhir langkah kelima ini tinggal satu elemen pertama yang belum diproses, tetapi karena writeln; writeln( Proses Pengurutan Gravitasi : ); tinggal satu elemen maka dengan sendirinya sudah menempati urutan yang benar (sudah for i := 1 to n-1 do terurut) sehingga langkah tidak perliu dilanjutkan (selesai). for j := 1 to n-i do if A[j] > A[j+1] then Algoritma : Ascending temp := A[j+1]; algoritma Gravitation_Sort (A, n) A[j+1] := A[j]; A[j] := temp; 1. for i 1 to n i do 2. for j 1 ton-i do 3. if A[j] > A[j+1) then TUKAR(A[j],A[+i]) writeln; textcolor(i); Algoritma prosedur TUKAR: 6. TUKAR(x,y); 7. Temp x; x y; y Temp;

22 Pengurutan/Sorting {Cetak Array tiap Iangkah pengurutan :} write( Hasil akhir langkah ke-,i, : ); for k := 1 to n do write(a[k], ); {Cetak Array Setelah Pengurutan} writeln; writeln; textcolor(15); write( Hasil Pengurutan Gravitasi : ); for i := 1 to n do write(a[i], ); writeln; writeln; textcolor(10); write ( Sudah terurut dengan benar khan..? ); readln; end. 3. Pengurutan SELEKSI (Selection Sort) Ide Pengurutan: Pemilihan elemen-elemen ekstrim, paling besar (maksimum) atau paling kecil (minimum), kemudian ditempatkan pada posisi yang sesuai. Langkah tersebut diulangi untuk elemen-elemen sisanya, sampai semua elemen terurut. Berdasarkan ide tersebut maka terdapat 4 variasi dalam pengurutan seleksi ini, yaitu: 1. Pengurutan Naik : Pemilihan maksimum, ditempatkan di bagian akhir. 2. Pengurutan Naik : Pemilihan minimum, ditempatkan di bagian awal. 3. Pengurutan Turun : Pemilihan maksimum, ditempatkan di bagian awal. 4. Pengurutan Turun : Pemilihan minimum, ditempatkan di bagian akhir. Contoh: Urutkan naik elemen-elemen array A = [6, 9, 7, 3, 2, 4] dengan pemilihan maksimum. Langkah 1 : : maksimumnya 9 (elemen ke-2) ditukar dengan 4 (elemen ke-6) Hasilnya : Langkah 3 : Elemen sisanya (yang belum terurut) : : rnaksimumnya 6 (elemen ke-l) ditukar dengan 3 (elemen ke-4) Hasilnya : Langkah 4 : Elemen sisanya (yang belum terurut): : maksimumnya 4 (elemen ke-2) ditukar dengan 2 (elemen ke-3) Hasilnya : Langkah 5 : Elemen sisanya (yang belum terurut): : maksimumnya 3 (elemen ke-l) ditukar dengan 2 (elemen ke-2) Hasilnya : Pada akhir langkah ke-5 ini tinggal satu elemen yang belum diproses, tetapi karena sudah pasti menempati posisi yang sesuai maka proses tidak perlu dilanjutkan (selesai). Algoritma : Ascending dengan memilih maksimum algoritma Selection_Sort (A, n) 1. for i l to n l do 2. imaks = 1; 3. for j 2 to n-i+1 do 4. if A[j] > A[imaks] then imaks j TUKAR(A[imaks],A[n-i+l) 7. Algoritma prosedur TUKA R: 8. TUKAR(,y); 9. Temp x; x y; y Temp; 10. end Silahkan dibuat programnya dan modifikasilah untuk tiga variasi yang lain. Langkah 2 : Elemen sisanya (yang belum terurut) : : maksimumnya 7 (elemen ke-3) ditukar dengan 2 (elemen ke-5) Hasilnya :

23 Pengurutan/Sorting Contoh Program: program Urut_SELEKSI; uses crt; var i,j,k,temp,imaks,n : integer ; A,B,C : array [1..100] of integer; clrscr; textcolor(10); write( Banyaknya Elemen Array: ); readln(n); {lnputdata} for i := 1 to n do write( Elemen ke-,i, : ); readln(a[i]); {Cetak Array Sebelum Pengurutan) writeln; textcolor(15); write( Sebelum diurutkan : ); for i := 1 to n do write(a[i], ); writeln; writeln; textcolor(15); writeln( Proses Pengurutan Seleksi : ); for i := 1 to n-1 do imaks := i; for j := i+1 to n do if A[j] < A[imaks] then imaks := j; {Tukar A[j] dengan A[imaks]} temp := A[imaks]; A[imaks] := A[i]; A[i] := temp; writeln; textcolor(i); for i := 1 to n do write(a[i], ); readln; end. 4. Pengurutan SISIP (Insertion Sort) Ide Pengurutan : Ambil sembarang elemen (misal secara beruntun mulai dari elemen kedua), bandingkan dengan elemen-elemen didepannya untuk rnendapatkan posisi yang sebenarnya (posisi terurut). Jika posisi yang benar sudah diperoleh maka tempatkan elemen tersebut ke posisi yang benar tersebut. Langkah untuk pengurutan naik : 1. Anggap elemen pertama sudah dalam kondisi terurut. 2. Mulai elemen kedua sampai elemen terakhir lakukan : 2.1. Simpan elemen tersebut dalam variabel temporary 2.2. Bandingkan dengan elemen depannya: Jika lebih kecil maka bandingkan lagi dengan elemen depannya lagi Jika Iebih besar maka lakukan pergeseran elemen-elemen dari elemen sebelum elemen tersebut sampai elemen setelah elemen yang lebih kecil itu ke kanan satu langkah, dan isilah (assign-lah) posisi yang ditinggalkan oleh elemen yang digeser tersebut yang paling kiri dengan niali variable temporary tadi. 3. Ulangi untuk elemen-elemen berikutnya sampai semua elemen terurut. Ilustrasi,: Pengurutan naik Dari gambar di samping : Misalkan elemen ke -1 s.d. ke-5 sudah terurut. Maka sekarang kita ilustrasi-kan langkah pengurutan untuk elemen ke-6 : {Cetak Array tiap langkah pengurutan:} write ( Hasil akhir langkah ke-, i, : ); for k := 1 to n do write(a[k], ); Elemen ke : Setelah elemen ke-6 dibanding-bandingkan dengan elemen-elemen didepannya ternyata seharusnya elemen ke-6 menempati elemen ke-2, maka elemen ke-2 sampai ke- 5 digeser ke kanan satu langkah, dan elemen ke-2 di isi oleh elemen ke-6. {Cetak Array Setelah Pengurutan} textcolor(15); write( Hasil Pengurutan Seleksi : ); 40 41

24 Pengurutan/Sorting Contoh: Urutkan naik elemen-elemen array A = [ ] Algoritma : Ascending Langkah 1 : Langkah 2 : Langkah 3 : Langkah 4 : Langkah 5 : Ambil Elemen kedua : 9 > 6 maka tidak terjadi pertukaran Hasilnya Ambil elemen ketiga : 7 < 9 maka terjadi pertukaran : 7 > 6 maka tidak terjadi pertukaran Hasilnya Ambil elemen keempat : 3 < 9 maka terjadi pertukaran : 3 < 7 maka terjadi pertukaran : 3 < 6 maka terjadi pertukaran Hasilnya Ambil elemen kelima : 2 < 9 maka terjadi pertukaran : 2 < 7 maka terjadi pertukaran : 2 < 6 maka terjadi pertukaran : 2 < 3 maka terjadi pertukaran Hasilnya Ambil eleman keenam : 4 < 9 maka terjadi pertukaran : 4 < 7 maka terjadi pertukaran : 4 < 6 maka terjadi pertukaran : 4 > 3 maka tidak terjadi pertukaran Hasilnya algoritma Insertion_Sort (A, n) 1. for i 2 to n do 2. temp A[i]; j i-1; 3. while (temp < A[j]) and (j > 0) do 4. j j-1 5. endwhile 6. for k i downto j+1 do 7. A[k] A[k-1] A[j+1] temp; 10. Pahami langkah pengurutan tersebut, coba implementasikan algoritmanya, dan modifikasi-lah untuk pengurutan menurun. Contoh Program: program INSERTION_SORT; uses crt; var i,j,k,temp,n : integer; A,B,C : array [1..100] of integer; clrscr; textcolor(12); write( Banyaknya Elemen Array : ); readln(n); {Input Data} for i := 1 to n do write( Elemen ke-,i, : ) ; readln(a[i]; {Cetak Array Sebelum Pengurutan} writeln; textcolor(15); write( Sebelum diurutkan : ); for i := l to n do write(a[i], ); writeln; textcolor(15) ; writeln; 42 43

25 Pengurutan/Sorting writeln ( Proses Pengurutan Insertion : ); for i := 2 to n do temp := A[i); j := i 1; while (temp < A[j]) and (j > 0) do j := j - 1; for k := i downto j+1 do A[k]:= A[k-1]; A[j+1]:= temp; writeln; textcolor(i); write( Hasil akhir langkah ke-,i-1, : ); {Cetak Array tiap langkah pengurutan :} for k := 1 to n do write(a[k], ); {Cetak Array Setelah Pengurutan} writeln; writeln; textcolor(15); write( Hasil Pengurutan Insertion ); for i := 1 to n do write(a[i), ); writeln; writeln; textcolor(10); write ( Sudah terurut dengan benar khan..? ); readln; end. Langkah untuk pengurutan naik : 1. Anggap elemen pertama sudah dalam kondisi terurut. 2. Mulai elemen kedua sampai elemen terakhir lakukan : 2.1. Simpan (assign) variabel indeksnya ke variabel lain Bandingkan elemen tersebut dengan elemen depannya (gunakan variable indeks yang baru) : - Jika lebih kecil maka tukarkan, kemudian bandingkan lagi dengan elemen depannya lagi - Jika lebih besar maka berhenti. 3. Ulangi untuk elemen ketiga dan seterusnya sampai semua elemen terurut Contoh: Urutkan naik elemen-elemen array A [6, 2, 9, 3, 4, 7] Langkah 1 : Ambil elemen kedua : 2 < 6 maka terjadi pertukaran dan Hasilnya : Langkah pertama selesai (sudah sampai elemen terdepan) Langkah 2 : Ambil elemen ketiga : 9 > 6 maka tidak terjadi pertukaran dan Langkah kedua selesai, Hasilnya : Langkah 3 : Ambil elemen keempat : 3 < 9 maka terjadi pertukaran : 3 < 6 maka terjadi pertukaran : 3 > 2 maka tidak terjadi pertukaran dan Langkah ketiga selesai, Hasilnya : Pengurutan SISIP-TUKAR (Swap-Insertion Sort) Ide Pengurutan: Mirip dengan pengurutan SISIP, bedanya jika posisi suatu elemen tidak dalam kondisi terurut maka langsung dilakukan pertukaran. Jadi tidak ada proses pergeseran. Untuk pengurutan naik : Ambil sembarang elemen (misal secara beruntun mulai dari elemen kedua), bandingkan dengan elemen didepannya, jika ternyata lebih kecil maka tukarkan, dan lakukan hal yang sama dengan elemen depannya lagi, sampai diperoleh kondisi lebih besar. Ulangi untuk elemen ketiga sampai elemen terakhir. Langkah 4 : Langkah 5 : Ambil elemen kelima : 4 < 9 maka terjadi pertukaran : 4 < 6 maka terjadi pertukaran : 4 > 3 maka tidak terjadi pertukaran dan Langkah keempat selesai, Hasilnya : Ambil elemen keenam : 7 < 9 maka terjadi pertukaran : 7 > 6 maka tidak terjadi pertukaran dan Langkah kelima selesai, Hasilnya :

26 Pengurutan/Sorting Algoritma : Ascending algoritma Insertion_Swap_Sort (A, n) 1. for i 1 to n-1 do 2. j i+i; 3. while (A[j] < A[j-l]) and (j > 1) do 4. TUKAR(A[j],A[j-1]); 5. j j - 1; 6. endwhile 7. Algoritma prosedur TUKAR: 8. TUKAR(x,y); 9. Temp x; x y; y Temp; 10. end. writeln; textcolor(i); write( Hasil akhir langkah ke-,i, : ); {Cetak Array tiap Iangkah pengurutan:} for k := 1 to n do write(a[k], ); {Cetak Array Setelah Pengurutan} writeln; writeln; textcolor(15); write( Hasil Pengurutan Insertion : ); for i := 1 to n do write(a[i], ); readln; Contoh Program : Contoh Program INSERTION_SWAP_SORT; Program sorting_bubble_selection; uses crt; uses crt; var i,j,k,temp,n : integer; Type larik = array [1..10] of byte A,B,C : array [1..100] of integer; objek = object bykdata : byte; clrscr; textcolor(12); dataawal : larik; write ( Banyaknya Elemen Array : ); readln(n); procedure input; {Input Data} procedure tukar (var a,b : byte); for i := 1 to n do procedure bubble (data : larik); write( Elemen ke-,i, : ) ; readln(a[i]); procedure selection (data : larik); procedure cetak (data : larik); {Cetak Array Sebelum Pengurutan} writeln; textcolor(15); write( Sebelum diurutkan : ); for i := 1 to n do write(a[i], ); procedure objek.input; writeln; textcolor(15); writeln; var I : byte writeln ( Proses Pengurutan Swap_Insertion: ); for i := 1 to n-1 do repeat j := i + 1; write( Banyak Data [max 110]? ); while (A[j] < A[j-1]) and (j > 1) do readln (bykdata); temp := A[j-1]; if (bykdata > 10) then A[j-1]:= A[j]; A[j]:= temp; writeln ( Data yang dimasukkan kebanyakan ); j := j 1; readkey; writeln; 46 47

27 Pengurutan/Sorting until (bykdata <= 10); for i := 1 to bykdata do write( Data ke-,i, = ); readln (dataawal[i]); procedure objek.tukar (var a, b : byte); var temp : byte; temp := a; a := b; b := temp; procedure objek.bubble (data : larik); var i,j : byte; clrscr; writeln ( bubble sort ); write ( awal : ); cetak (data); for i := 1 to bykdata-1 do if (data [j] > data[j+1] then tukar(data[j], data[j+1]); gotoxy (6, wherey); readkey; write ( akhir : ); cetak (data); readkey; procedure objek.selection (data : larik); var i, j, lok : byte; clrscr; writeln( selection sort ); write ( awal ); cetak (data); for i := 1 to bykdata do lok := i ; for j := i+1 to bykdata do if (data[lok] > data [j] then lok := j; tukar (data [i], data[lok]); write ( I =,i, lok =, lok); cetak(data); procedure objek.cetak (data : larik); var i : byte; for i := 1 to bykdata do gotoxy (i*10, wherey); write(data[i] : 5); writeln; var sort : objek; clrscr; sort.input; sort.bubble (sort.dataawal); sort.selection (sort.dataawal); end. Program Sorting_swap_insertion; uses crt; Type larik = array [1..10] of byte; Objek = object Bykdata : byte; Dataawal : larik; procedure input; 48 49

28 Pengurutan/Sorting procedure tukar (var a,b : byte); procedure swa_insertion (data : larik); procedure cetak (data : larik); procedure objek.input; var i : byte repeat write( Banyak Data [max 110]? ); readln (bykdata); if (bykdata > 10) then writeln ( Data yang dimasukkan kebanyakan ); readkey; writeln; until (bykdata <= 10); for i := 1 to bykdata do write( Data ke-,i, = ); readln (dataawal[i]); procedure objek.tukar (var a, b : byte); var temp : byte; temp := a; a := b; b := temp; for i := 1 to bykdata-1 do write( I =,i, ); j := i+1; while (data[j] < data [j-1]) and (j > 1) do tukar (data[j], data [j-1]); j := j-1; {gotoxy (6, wherey);} {write ( J =,j); } Cetak (data); writeln ( akhir = ); cetak (data); readkey; procedure objek.cetak (data : larik); var i : byte; for i := 1 to bykdata do gotoxy (i*10, wherey); write(data[i] : 5); writeln; procedure objek.swap_insertion (data : larik); var sort : objek; var i, j, lok : byte; clrscr; clrscr; sort.input; writeln ( swap insertion sort ); sort.swap_insertion(sort.dataawal); write ( awal ); end. cetak (data); 50 * * * 51

29 Modul Praktikum Alogaritma II 6 Penggabungan/Merging Array Merging adalah proses penggabungan dua array yang elemen-elemennya sudah terurut sehingga array hasil penggabungan tersebut juga terurut. Contoh: Array A = [2, 5, 10, 12, 15, 17] Array B = [4, 6, 7, 11, 16, 18,20] Misalkan array C adalah hasil proses merging array A dan B tersebut maka : Array C = [2, 4, 5, 6, 7, 10, 11, 12, 15, 16, 17, 18, 20] TUGAS: Buatlah program Merging dari dua array, misalkan array A dan B dengan banyaknya elemen masing-masing array tidak sama. Hasil Penggabungan simpan pada array C. Struktur programnya : Nama program Deklarasi varabel 1. input bilangan untuk banyaknya elemen array A misal m 2. generate array A : misal dengan random(1l0) 3. proses pengurutan array A 4. cetak array A 5. input bilangan untuk banyaknya elemen array B misal n 6. generate array B : misal dengan random(100) 7. proses pengurutan array B 8. mencetak array B 9. proses penggabungan (merging) 1O. cetak array C (hasil merging)) end

30 Penggabungan/Merging Array Saran : akan lebih baik jika dibuat juga prosedur pengurutan (dengan algoritma apa saja : Bubble atau Selection atau Insertion), sehingga pada proses pengurutan masing-masing array A dan B tinggal panggil prosedur pengurutan tersebut. Algoritma Merging: Langkah 0 : Baca kedua vektor yang akan dimerge, vektor A dan vektor B, banyaknya elemen pada kedua vektor, Ca dan Cb. Lakukan proses pengurutan secara urut naik pada kedua vektor ini. Langkah 1 : (Menentukan subskrib awalan) Tentukan: I = 1, J = 1, dan Cc = 0 Langkah 2 : (Proses merging berlangsung) Kerjakan langkah 3 dan 4 sampai (I > Ca) atau ( J > Cb) Langkah 3 : Tentukan : Cc = Cc + 1. Langkah 4 : Test apakah : A[I] < B [J]? Jika ya, tentukan : C[Cc] = A[I], dan I= I + 1. Jika tidak, tentukan : C[Cc] = B[j], dan J = J +1. Contoh Program : PROGRAM MERGING_ARRAY; uses crt; var i,j,k,m,n,y,temp : integer; A,B,C : array[1..100] of integer; Procedure Cetak_array(A:array of integer; x:integer); var i : integer; write( Hasilnya : ); for i:= 0 to x-1 do write(a[i], ); procedure sisip(var A : array of integer; x:integer); var i,j,temp : integer; for i := 1 to x-1 do temp := A[i]; j := i; while (temp < A[j-1]) and (j > 0) do j := j 1; Langkah 5 : Test apakah I > Ca? Jika ya, berarti semua elemen pada vektor pertama sudah diproses for k := i downto j do semua, kerjakan langkah 6. A[k] := A[k-1]; Jika tidak, berarti semua elemen pada vektor kedua sudah diproses A[j] := temp; semua, kerjakan langkah 7. Langkah 6 : Untuk K = J sampai Cb, Tentukan : Cc = Cc + 1, dan C[Cc] = B[k], procedure Gabung(A,B array of integer; m,n : integer; Dan melompat kelangkah 8. var C : array of integer; var x : integer); var i, j, k, y : integer; Langkah 7 : Untuk K = I sampai Cb, tentukan : Cc = Cc + 1, dan C[Cc] = A[k]. i := 0; j := 0; k := 0; while (i <= m) and (j <= n) do Langkah 8 : Selesai. if A[i] < B[j) then 54 55

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2

Nama : Suseno Rudiansyah NPM : Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2 Nama : Suseno Rudiansyah NPM : 201543501544 Kelas : X2T Prodi : Teknik Informatika Tugas : Kuis Algoritma 2 Tugas Kuiz Algoritma 2. Dosen : Budi Santoso 1. Diketahui dua buah larik A = [12,3,9,4,15,6]

Lebih terperinci

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi :

Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : PENGURUTAN Yaitu proses pengaturan sekumpulan objek menurut urutan atau susunan tertentu Acuan pengurutan dibedakan menjadi : 1. Ascending / menaik Syarat : L[1] L[2] L[3] L[N] 2. Descending / menurun

Lebih terperinci

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY

LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY LAPORAN RESMI PRAKTIKUM ALGORITMA PEMROGRAMAN MODUL V ARRAY Disusun Oleh : TGL. PRAKTIKUM : 06 November 2012 NAMA : Gabriel Juan Evangeli NRP : 120411100102 KELOMPOK : D1 DOSEN : Arik Kurniawati TELAH

Lebih terperinci

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks]

ARRAY. contoh : A[1] := 10; var A : array[1..10] of integer; A[nomer_indeks] ARRAY Array adalah tipe data kompleks yang elemen-elemennya mempunyai tipe data yang sama. Jumlah elemen array bersifat tetap dan tidak bisa ditambah atau dikurangi setelah pendeklarasiannya. Tiap elemen

Lebih terperinci

Bubble Sort (Pengurutan Gelembung / Pemberatan)

Bubble Sort (Pengurutan Gelembung / Pemberatan) Pertemuan XIII, XIV - PENGURUTN Pengertian lgoritma Pengurutan dibuat untuk menghasilkan kumpulan data yang terurut. Jenis da banyak jenis pengurutan. Tiga jenis yang paling sederhana adalah Bubble Sort,

Lebih terperinci

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni

Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni Konsep Sorting dalam Pemrograman Saniman dan Muhammad Fathoni Abstrak Sort adalah proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan

Lebih terperinci

Array & Program Modular

Array & Program Modular 6 Array & Program Modular A. Tujuan Setelah melakukan praktikum, diharapkan praktikan dapat : 1. Menggunakan sebuah Array berindek satu atau berindek dua untuk mendeklarasikan sebuah variabel. 2. Menggunakan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi

Lebih terperinci

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T

Universitas gunadarma. pascal. Bab 4- bab 10. Hana Pertiwi S.T Universitas gunadarma pascal Bab 4- bab 10 Hana Pertiwi S.T 14 PASCAL Struktur Perulangan WHILE-DO Struktur Perulangan REPEAT-UNTIL REPEAT UNTIL 1. Struktur Perulangan FOR 2. Penggunaan gabungan struktur

Lebih terperinci

MODUL IV PENCARIAN DAN PENGURUTAN

MODUL IV PENCARIAN DAN PENGURUTAN MODUL IV PENCARIAN DAN PENGURUTAN 4.1 Tujuan Tujuan modul IV ini, adalah: Praktikan bisa membuat beberapa program pencarian berdasarkan metode algoritma pencarian Praktikan bisa membuat beberapa program

Lebih terperinci

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll.

PRAKTIKUM 7 TIPE DATA TERSTRUKTUR. Larik : deretan data yang punya type data sejenis. Misalnya : Daftar Nomor Telpon, Tabel Pajak dll. PRAKTIKUM 7 TIPE DATA TERSTRUKTUR 1. Judul Materi / Pokok Bahasan : Tipe Data Terstruktur 2. Tujuan Instruksional Khusus : Mahasiswa dapat membuat program dengan menggunakan jenisjenis tipe data terstruktur

Lebih terperinci

Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13

Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13 Array, Record, sorting : Elektro Unud (MSU) Page 1 of 13 ARRAY Array : variabel berindeks (punya beberapa tempat, tergantung deklarasinya) iabel : mempunyai hanya 1 tempat Deklarasi Array arrint : array

Lebih terperinci

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom.

ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom. ARRAY (LARIK) Altien Jonathan Rindengan, S.Si., M.Kom. Pendahuluan Sebuah variabel hanya menyimpan sebuah nilai, tidak dapat menyimpan beberapa buah nilai yang bertipe sejenis Dalam pemrograman, mengolah

Lebih terperinci

BAB VI SEARCHING (PENCARIAN)

BAB VI SEARCHING (PENCARIAN) BAB VI SEARCHING (PENCARIAN) 7. 1 Pencarian Beruntun (Sequential Search) Prinsip kerja pencarian beruntun adalah membandingkan setiap elemen larik satu per satu secara beruntun, mulai dari elemen pertama

Lebih terperinci

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir

Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Algoritma Brute Force (Bagian 1) Oleh: Rinaldi Munir Bahan Kuliah IF2251 Strategi Algoritmik 1 Definisi Brute Force Brute force : pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah

Lebih terperinci

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada.

1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. Semester : 4 Pengenalan Algoritma dan Program 200 menit No. : LST/EKA/EKA259/01 Revisi : 01 Tgl. : 10-2-2014 Hal. 1 dari 2 hal. 1. Kompetensi Mengenal dan memahami notasi-notasi algoritma yang ada. 2.

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom

Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar dalam Bahasa Pemrograman Turbo Pascal Tonny Hidayat, S.Kom Pengantar Bahasa Pemrograman Pascal Page 1 / 11 Pengenalan Pascal Pascal merupakan salah satu bahasa pemrograman tingkat tinggi. Pemrograman

Lebih terperinci

Kompleksitas Algoritma (1)

Kompleksitas Algoritma (1) Kompleksitas Algoritma (1) Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien Algoritma yang bagus adalah algoritma yang efisien. Kebutuhan waktu dan ruang suatu algoritma bergantung

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

JENIS DATA SEDERHANA & INPUT/OUTPUT DATA JENIS DATA SEDERHANA & INPUT/OUTPUT DATA 1.1 Tipe Data A. Data Tipe Sederhana Dihubungkan dengan sebuah identifier untuk sebuah data. Data tipe ini digolongkan menjadi tipe data standar dan tipe data yang

Lebih terperinci

MODUL 1. Struktur Bahasa PASCAL secara umum

MODUL 1. Struktur Bahasa PASCAL secara umum MODUL 1 Struktur Bahasa PASCAL secara umum Pascal mempunyai struktur sebagai berikut: 1. Bagian Judul Program 2. Bagian Deklarasi e a. Deklarasi tipe data (TYPE) b. Deklarasi variabel (VAR) c. Deklarasi

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma 1 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah pengurutan (sort), ada puluhan algoritma pengurutan Sebuah algoritma tidak saja harus

Lebih terperinci

4. Program untuk mengolah variabel (* Variable dan Konstanta *) Program Contoh_2a; Uses CRT; Const phi = 3.14; Var x : Integer;

4. Program untuk mengolah variabel (* Variable dan Konstanta *) Program Contoh_2a; Uses CRT; Const phi = 3.14; Var x : Integer; 1. Program bagi pemula dengan struktur biasa Program Contoh_Awal; Var i,j,k : integer; Write( masukkan nilai i dan j : ); Readln(i,j); k:=i+j; Writeln( nilai k :,k); 2. Program bagi pemula dengan struktur

Lebih terperinci

Pengurutan (Sorting) Algoritma Pemrograman

Pengurutan (Sorting) Algoritma Pemrograman Pengurutan (Sorting) Algoritma Pemrograman mas.anto72@gmail.com 1 Definisi Sorting /pengurutan proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Bentuk susunan/urutan : Ascending menaik/membesar

Lebih terperinci

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN

Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN Pertemuan 4 ELEMEN-ELEMEN BAHASA PEMROGRAMAN I. Elemen-Elemen Dalam Bahasa Pemrograman Berikut adalah elemen-elemen pada bahasa pemrograman: Berikut adalah element-element pada bahasa pemrograman: 1. Aturan

Lebih terperinci

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom

DATA SORTING. Altien Jonathan Rindengan, S.Si, M.Kom DATA SORTING Altien Jonathan Rindengan, S.Si, M.Kom Pendahuluan Sorting (pengurutan) : proses mengatur sekumpulan objek menurut urutan atau susunan tertentu Diberikan array L dengan n elemen yg sudah terdefinisi

Lebih terperinci

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b.

BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b. BAB IV STRUKTUR PROGRAM Struktur program pada dasarnya tersusun 3 struktur program utama yaitu : a. Struktur Berurutan (Sequence Structure) b. Struktur Seleksi (selection Structure) c. Struktur Perulangan

Lebih terperinci

ALGORITMA PENGURUTAN & PENCARIAN

ALGORITMA PENGURUTAN & PENCARIAN Materi kuliah ALGORITMA PENGURUTAN & PENCARIAN Ir. Roedi Goernida, MT. (roedig@yahoo.com) Program Studi Sistem Informasi Fakultas Rekayasa Industri Institut Teknologi Telkom Bandung 2011 1 Pengelompokan

Lebih terperinci

PENJUMLAHAN DAN PENGURANGAN MATRIKS

PENJUMLAHAN DAN PENGURANGAN MATRIKS PENJUMLAHAN DAN PENGURANGAN MATRIKS Obyektif : 1. Mahasiswa mengetahui tentang Matriks 2. Mahasiswa mengerti tentang penjumlahan matriks 3. Mahasiswa mengerti tentang pengurangan matriks Definisi Matriks

Lebih terperinci

ARRAY. Brigida Arie Minartiningtyas, M.Kom

ARRAY. Brigida Arie Minartiningtyas, M.Kom ARRAY Brigida Arie Minartiningtyas, M.Kom Struktur Bahasa Pascal Bagian Judul Program Bagian Deklarasi Deklarasi tipe data (TYPE) Deklarasi variabel (VAR) Deklarasi konstanta (CONST) Deklarasi label (LABEL)

Lebih terperinci

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN

MODUL PRAKTIKUM PERCABANGAN DAN PENGULANGAN PERCABANGAN DAN PENGULANGAN Pada BAB ini akan membahas tentang PERCABANGAN dan PERULANGAN. PERCABANGAN : a) IF THEN b) CASE OF PENGULANGAN: a) REPEAT N TIMES b) REPEAT UNTIL c) WHILE DO d) ITERATE STOP

Lebih terperinci

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF

DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF DIKTAT STRUKTUR DATA Oleh: Tim Struktur Data IF ARRAY STATIS (lanjutan) OPERASI ARRAY STATIS (lanjutan) 3. Pencarian (searching) array Proses menemukan suatu data yang terdapat dalam suatu array. Proses

Lebih terperinci

Pertemuan 3 Penyeleksian Kondisi dan Perulangan

Pertemuan 3 Penyeleksian Kondisi dan Perulangan Pertemuan 3 Penyeleksian Kondisi dan Perulangan Objektif: 1. Mengetahui macam-macam penyeleksian kondisi dalam pascal 2. Mengerti statement kondisi IF dan Case 3. Mengetahui macam-macam perulangan dalam

Lebih terperinci

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs.

Indentifier, Keywords, Variable, Tipe Data dan Operator. Ramos Somya, S.Kom., M.Cs. Indentifier, Keywords, Variable, Tipe Data dan Operator Ramos Somya, S.Kom., M.Cs. Merupakan nama yang digunakan untuk menamai variabel, konstanta, nama program maupun sub program. Seorang programmer tidak

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah

Lebih terperinci

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1

Struktur Data. Belajar Struktur Data Menggunakan Pascal Pertemuan-1 Struktur Data Belajar Struktur Data Menggunakan Pascal Pertemuan-1 I n W a h y u W i d o d o e m a i l @ r i n g k e s. c o m Identifier, Konstanta dan Variabel Identifier (sebutan / pengenal) Identifier

Lebih terperinci

Teori Algoritma. Struktur Algoritma

Teori Algoritma. Struktur Algoritma Alam Santosa Teori Algoritma Runtunan Struktur Algoritma Seperti telah dijelaskan sebelumnya, sebuah algoritma terbagi tiga bagian, yaitu: Judul Deklarasi Deskripsi Judul Judul program digunakan untuk

Lebih terperinci

SORTING. Brigida Arie Minartiningtyas, M.Kom

SORTING. Brigida Arie Minartiningtyas, M.Kom SORTING Brigida Arie Minartiningtyas, M.Kom Sorting Suatu proses pengurutan data yang sebelumnya disusun secara acak sehingga menjadi tersusun secara teratur menurut suatu aturan tertentu. Sorting diterapkan

Lebih terperinci

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1

I. KATA PENGANTAR. Modul Algoritma Pemrograman. Modul Ke-4 - Hal 1 I. KATA PENGANTAR Dewasa ini sudah banyak berkembang bahasa-bahasa pemrograman tingkat tinggi yang pemakaiannya sudah sangat mudah, hanya klik dan drag saja. Namun meskipun demikian tetap saja programmer

Lebih terperinci

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM

ANALISIS ALGORITMA. Disusun Oleh: Analisis Masalah dan Running Time. Adam Mukharil Bachtiar Teknik Informatika UNIKOM ANALISIS ALGORITMA Analisis Masalah dan Running Time Disusun Oleh: Adam Mukharil Bachtiar Teknik Informatika UNIKOM adfbipotter@gmail.com AGENDA PERKULIAHAN DEFINISI MASALAH f x = a 0 + a n cos nπx +

Lebih terperinci

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA

MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA MATERI 2 JENIS-JENIS DATA SEDERHANA & INPUT/OUTPUT DATA Kata-Kata Cadangan Kata-kata cadangan (reserved words) adalah kata-kata yang sudah didefinisikan oleh Pascal yang mempunyai maksud tertentu. Kata-kata

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH PEMROGRAMAN PASCAL * (TK) KODE / SKS: KK /2 SKS MATA KULIAH PEMROGRAMAN * (TK) Minggu ke Pokok Bahasan dan TIU 1. Algoritma Konsep Dasar Bahasa Pascal secara singkat sejarah dirancangnya bahasa Memberikan konsep dasar pembuatan program dalam bahasa

Lebih terperinci

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut

SEQUENTIAL SEARCH 11/11/2010. Sequential Search (Tanpa Variabel Logika) untuk kondisi data tidak terurut Tujuan Searching & Sorting Pertemuan 9-10 Dosen Pembina Danang Junaedi TUJUAN MATERI Setelah mengikuti materi pertemuan ini, mahasiswa diharapkan dapat 1. Menjelaskan dan menggunakan metode pencarian dalam

Lebih terperinci

BAB VI Pengurutan (Sorting)

BAB VI Pengurutan (Sorting) BAB VI Pengurutan (Sorting) Tujuan 1. Menunjukkan beberapa algoritma dalam Pengurutan 2. Menunjukkan bahwa pengurutan merupakan suatu persoalan yang bisa diselesaikan dengan sejumlah algoritma yang berbeda

Lebih terperinci

Konstruksi Dasar Algoritma

Konstruksi Dasar Algoritma Konstruksi Dasar Algoritma ALGORITMA DAN PEMROGRAMAN [IF6110202] Yudha Saintika, S.T., M.T.I. Sub-Capaian Pembelajaran MK Pendahuluan Instruksi dan Aksi Algoritma merupakan deskripsi urutan pelaksanaan

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa

Lebih terperinci

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien.

Pendahuluan. Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus efisien. Algoritma yang bagus adalah algoritma yang efektif dan efisien. Algoritma yang efektif diukur dari berapa jumlah waktu dan

Lebih terperinci

Algoritma Brute Force

Algoritma Brute Force Algoritma Brute Force Definisi Brute Force Brute force adalah sebuah pendekatan yang lempang (straightforward( straightforward) ) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah

Lebih terperinci

Bab 5 Array (Variabel Berindeks)

Bab 5 Array (Variabel Berindeks) Bab 5 Array (Variabel Berindeks) 5.1. Pengertian array Variabel dengan tipe data tunggal (skalar) hanya dapat digunakan untuk menyimpan sebuah nilai saja, sehingga untuk menyimpan beberapa nilai sekaligus

Lebih terperinci

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004)

Contoh soal Struktur Program Pascal (Seleksi tingkat propinsi TOKI 2004) 1 of 8 4/9/2008 3:32 PM TOKI Guide Home Analitik Pascal Pemrograman Materi Pemrograman Download Tentang TOKI Buku Tamu Komunitas TOKI tokiguide@yahoo.com Rabu, 9 April 2008 15:32:09 Pascal PASCAL Dalam

Lebih terperinci

Searching [pencarian] Algoritma Pemrograman

Searching [pencarian] Algoritma Pemrograman Searching [pencarian] Algoritma Pemrograman mas.anto72@gmail.com 1 Jenis Pencarian Pencarian Internal proses pencarian dilakukan pada memori utama (RAM). Pencarian Eksternal proses pencarian dilakukan

Lebih terperinci

SORTING. Hartanto Tantriawan, S.Kom., M.Kom

SORTING. Hartanto Tantriawan, S.Kom., M.Kom SORTING DASAR PEMROGRAMAN Hartanto Tantriawan, S.Kom., M.Kom TUJUAN PERKULIAHAN Mahasiswa mengetahui konsep mengurutkan sekumpulan elemen Mahasiswa dapat menggunakan teknik sorting dalam kasus yang diberikan

Lebih terperinci

SORTING (PENGURUTAN DATA)

SORTING (PENGURUTAN DATA) SORTING (PENGURUTAN DATA) R. Denny Ari Wibowo, S.Kom STMIK BINA NUSANTARA JAYA LUBUKLINGGAU PENJELASAN Pengurutan data (sorting) secara umum didefinisikan sebagai suatu proses untuk menyusun kembali himpunan

Lebih terperinci

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array

A[1] A[2] A[3] A[4] A[5] A[6] A[7] A[8] A[9] A[10] Nilai elemen array Index array Inelemen array Definisi Array Array (larik) adalah sebuah variabel yang dapat menyimpan lebih dari satu nilai sejenis (memilikii tipe data sama). Hal ini berbeda dengan variabel biasa yang hanya mampu menampung satu

Lebih terperinci

Pengenalan Pascal. Sejarah Singkat Pascal

Pengenalan Pascal. Sejarah Singkat Pascal Pengenalan Pascal Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari Blaise Pascal, nama ahli matematika dan

Lebih terperinci

BAB I TUJUAN DAN LANDASAN TEORI

BAB I TUJUAN DAN LANDASAN TEORI BAB I TUJUAN DAN LANDASAN TEORI 1. Tujuan 1. Dapat memahami konsep prosedur dan fungsi. 2. Mampu membuat prosedur dan fungsi baik dengan parameter maupun tanpa parameter. 3. Mampu membedakan kapan menggunakan

Lebih terperinci

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek.

1. Kompetensi Mengenal dan memahami algoritma percabangan yang komplek. LAB SHEET ALGORITMA DAN STRUKTUR DATA Semester : 4 Percabangan Komplek dan case of 200 menit No. : LST/EKA/EKA 305/03 Revisi : Tgl. : Hal. 1 dari 3 hal. 1. Kompetensi Mengenal dan memahami algoritma percabangan

Lebih terperinci

PROSES PENJUALAN BUKU

PROSES PENJUALAN BUKU PROSES PENJUALAN BUKU MAKALAH Makalah ini disusun guna untuk memenuhi tugas TIK akhir tahun kelas XI semester 2 yang membahas tentang Proses Penjualan Buku. OLEH : Ida Mariyatuz Zulfa ( 14 ) Mar atu Sholekhah

Lebih terperinci

Dasar Komputer & Pemrogaman 2A

Dasar Komputer & Pemrogaman 2A Dasar Komputer & Pemrogaman 2A Materi 1 Reza Aditya Firdaus Sejarah Singkat Pascal Dirancang oleh Prof. Nicklaus Wirth dari Technical University di Zurich, Switzerland tahun 1971. Nama Pascal berasal dari

Lebih terperinci

Pengantar dalam Bahasa Pemrograman Turbo Pascal

Pengantar dalam Bahasa Pemrograman Turbo Pascal Pengantar dalam Bahasa Pemrograman Turbo Pascal Penulis: William www.etersoul.com Computer Club of Bunda Hati Kudus SMA Bunda Hati Kudus Pengantar Bahasa Pemrograman Pascal Page 1 / 11 License Agreements

Lebih terperinci

Materi ke-4 Praktikum Algoritma dan Pemrograman kelas Matematika PEMROGRAMAN MODULAR

Materi ke-4 Praktikum Algoritma dan Pemrograman kelas Matematika PEMROGRAMAN MODULAR PEMROGRAMAN MODULAR Tujuan - Praktikan dapat mengenal struktur prosedur dan fungsi di dalam Pascal - Praktikan dapat membuat program dengan menggunakan prosedur dan fungsi Pemrograman modular merupakan

Lebih terperinci

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.

FUNGSI. Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma. FUNGSI Blok fungsi hampir sama dengan blok prosedur, hanya fungsi harus dideklarasikan dengan tipenya. Tipe deklarasi ini menunjukkan tipe hasil dari fungsi. Bentuk umum : FUNCTION identifier (daftar parameter)

Lebih terperinci

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting)

Kuliah ke : 4 Algoritma & Stuktur Data. Pengurutan (Sorting) Kuliah ke : 4 Algoritma & Stuktur Data Pengurutan (Sorting) Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik atau menurun. Bila

Lebih terperinci

PEMROGRAMAN STRUKTURAL

PEMROGRAMAN STRUKTURAL BAHAN AJAR PEMROGRAMAN STRUKTURAL KODE MATA KULIAH : SEMESTER : 2 SKS : 3 SKS DOSEN PENGAMPU : Eko Riswanto, S.T., M.Cs PROGRAM STUDI SISTEM INFORMASI SEKOLAH TINGGI MANAJEMEN INFORMATIKA DAN ILMU KOMPUTER

Lebih terperinci

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia

Algoritma & Pemrograman 1. Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Algoritma & Pemrograman 1 Muhamad Nursalman Pendilkom/Ilkom Universitas Pendidikan Indonesia Daftar Isi 1. Bab 1 Pengantar & Dasar Dasar Algoritma 2. Bab 2 Aturan Penulisan Teks Algoritma 3. Bab 3 Tipe,

Lebih terperinci

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) :

STRUKTUR KONTROL. Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) : STRUKTUR KONTROL Struktur WHILE-DO Mempunyai struktur sebagai berikut : Bentuk Umum : WHILE condition Do statement Bentuk Proses (flow chart) : statement C false true Statement WHILE-DO digunakan untuk

Lebih terperinci

Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53

Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53 Pertemuan 6 Array Objektif: 1. Memahami cara mendeklarasi tipe indeks dalam array 2. Dapat membuat program sederhana menggunakan array Pertemuan 6 53 P4.1 Teori Larik / array adalah tipe terstruktur yang

Lebih terperinci

STRUKTUR DASAR ALGORITMA

STRUKTUR DASAR ALGORITMA STRUKTUR DASAR ALGORITMA Pertemuan 5 Muhamad Haikal, S.Kom., MT Struktur Dasar Algoritma 1. Struktur Sequence (Runtunan) 2. Struktur Selection (Pemilihan) 3. Struktur Repetition (Perulangan) Struktur Sequence

Lebih terperinci

Algoritma dan Pemrograman Searching/Pencarian

Algoritma dan Pemrograman Searching/Pencarian Adam Mukharil Bachtiar Informatics Engineering 2011 Algoritma dan Pemrograman Searching/Pencarian Materi Definisi Pencarian Pencarian Sekuensial Pencarian Biner Definisi Pencarian All About Searching Definisi

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-14 (Rekursi) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Faktorial Menara Hanoi S1 Teknik Informatika-Unijoyo

Lebih terperinci

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI:

Praktikum 7. Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: TUJUAN BELAJAR: DASAR TEORI: Praktikum 7 Pengurutan (Sorting) Insertion Sort, Selection Sort POKOK BAHASAN: Konsep pengurutan dengan insertion sort dan selection sort Struktur data proses pengurutan Implementasi algoritma pengurutan

Lebih terperinci

BAB VII ALGORITMA DIVIDE AND CONQUER

BAB VII ALGORITMA DIVIDE AND CONQUER BAB VII ALGORITMA DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang

Lebih terperinci

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo

Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto. S1 Teknik Informatika-Unijoyo Algoritma Pemrograman Pertemuan Ke-2 (Teks Algoritma) Rahmady Liyantanto Sub Pokok Bahasan Pendahuluan Judul Algoritma Deklarasi Deskripsi Translasi Teks Algoritma ke dalam Teks Program Bahasa Pascal Tabel

Lebih terperinci

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok:

Pengurutan (Sorting) Keuntungan Data Terurut. Pengurutan Terbagi Dua Kelompok: Pengurutan (Sorting) Pengurutan adalah proses mengatur sekumpulan obyek menurut urutan atau susunan tertentu. Urutan obyek tersebut dapat menaik atau menurun. Bila N obyek disimpan dalam larik L, maka

Lebih terperinci

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13

SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13 A. Kompetensi 1. Utama SATUAN ACARA PERKULIAHAN (SAP) Mata Kuliah : Struktur Data Kode : TIS3213 Semester : III Waktu : 2 x 3 x 50 Menit Pertemuan : 12 & 13 Mahasiswa dapat memahami tentang konsep pemrograman

Lebih terperinci

LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA

LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA LAPORAN AKHIR PRAKTIKUM STRUKTUR DATA NAMA : SUPRIYANDI NIM : DBC 113 170 KELAS MODUL : B : V (PENCARIAN DATA) JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS PALANGKA RAYA 2014 BAB I TUJUAN DAN

Lebih terperinci

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C

Algoritma Shell Sort Ascending Dan Binary Sequential Search Menggunakan C TUGAS STRUKTUR DATA Shell Sort Ascending Dan Binary Sequential Search Menggunakan C IF-5 Nama Anggota : - Rohendi 10107193 - Andri Andriyan 10107210 - Yuli Yanti A 10107218 - Jajang Kusmita 10107227 JURUSAN

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-11 (Matriks) :: Noor Ifada :: S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Konsep Matriks Pendeklarasian Matriks Pemrosesan Matriks Membaca Elemen Matriks

Lebih terperinci

CCH1A4 / Dasar Algoritma & Pemrogramanan

CCH1A4 / Dasar Algoritma & Pemrogramanan CCH1A4 / Dasar Algoritma & Pemrogramanan Yuliant Sibaroni M.T, Abdurahman Baizal M.Kom KK Modeling and Computational Experiment Pencarian dalam Tabel Pendahuluan Pencarian Sekuensial Pencarian Sekuensial

Lebih terperinci

BAB IV MATRIKS (ARRAY MULTI DIMENSI)

BAB IV MATRIKS (ARRAY MULTI DIMENSI) BAB IV MATRIKS (ARRAY MULTI DIMENSI) Definisi MATRiKs Matriks adalah: 1. Kumpulan elemen yang bertipe sama. 2. Setiap elemen data dapat diakses secara langsung jika indeksnya diketahui. 3. Struktur data

Lebih terperinci

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan

PENGURUTAN DATA 2.1 Definisi Pengurutan 2.2 Metode-metode Pengurutan PENGURUTAN DATA 2.1 Definisi Pengurutan Pengurutan (sorting) adalah proses mengatur sekumpulan objek menurut urutan atau susunan tertentu. Urutan objek tersebut dapat menaik (ascending) atau menurun (descending).

Lebih terperinci

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case

AnalisisFramework. Mengukur ukuran atau jumlah input Mengukur waktu eksekusi Tingkat pertumbuhan Efiesiensi worst-case, best-case dan average-case AnalisisFramework Review Tujuan analisa : mengukur efesiensi algoritma Efisiensi diukur dari diukur dari: waktu (time) dan memori(space). Dua besaran yang digunakan: kompleksitas algoritma 1. Kompleksitas

Lebih terperinci

BAB IV MATRIKS (ARRAY MULTI DIMENSI)

BAB IV MATRIKS (ARRAY MULTI DIMENSI) BAB IV MATRIKS (ARRAY MULTI DIMENSI) Definisi MATRiKs Matriks adalah: 1. Kumpulan elemen yang bertipe sama. 2. Setiap elemen data dapat diakses secara langsung jika indeksnya diketahui. 3. Struktur data

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-8 dan Ke-9 (Prosedur) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Modularisasi Program Pendefinisian Prosedur

Lebih terperinci

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2

VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI. Pemrograman Dasar Kelas X Semester 2 VARIABEL, TIPE DATA, KONSTANTA, OPERATOR DAN EKSPRESI Tujuan Pembelajaran 1. Siswa mampu memahami penulisan Tipe data, variabel dan konstanta dalam pascal 2. Siswa mampu menerapkan penggunaan Tipe data,

Lebih terperinci

Algoritma & Pemrograman

Algoritma & Pemrograman Alam Santosa Algoritma & Pemrograman Algoritma Array & Penulisannya dalam Bahasa Pascal Array Array disebut juga larik adalah struktur data yang menyimpan sekumpulan/sederetan variabel yang bertipe data

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-7 (Pengulangan atau Looping [2]) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Struktur WHILE Struktur REPEAT WHILE vs REPEAT

Lebih terperinci

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA

ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA ALGORITMA (KOMPUTER) : ATURAN PENULISAN DAN STRUKTUR DASARNYA I. Pendahuluan Algoritma dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami. Algoritma dapat ditulis dalam bahasa natural/bahasa

Lebih terperinci

Modul Praktikum Algoritma dan Struktur Data

Modul Praktikum Algoritma dan Struktur Data BAB 2 SORTING (PENGURUTAN) 1. Tujuan Setelah mempelajari modul ini, mahasiswa diharapkan: a. Mampu menjelaskan mengenai algoritma Sorting b. Mampu membat dan mendeklarasikan struktural algoritma Sorting

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Bahan Kuliah IF2120 Matematika Disktit Rinaldi M/IF2120 Matdis 1 Rinaldi M/IF2120 Matdis 2 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah

Lebih terperinci

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua

& PEMROGRAMAN. Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua ALGORITMA & PEMROGRAMAN II Pascal #2 Alex De Kweldju, S.Kom D3 Teknik Komputer Fakultas Teknik Universitas Negeri Papua PASCAL Bahasa Pemrograman Terstruktur Diciptakan Nikalus Wirth Kata PASCAL untukpenghormatan

Lebih terperinci

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA

MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA MODUL PRAKTIKUM ALGORITMA PEMROGRAMAN TEKNIK INFORMATIKA Nama : NRP : Laboratorium Pemrograman JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNIK UNIVERSITAS TRUNOJOYO 2012 KONTRAK PRAKTIKUM Nama Mata Kuliah :

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-12 (Matriks) 1 Sub Pokok Bahasan Pendahuluan Konsep Matriks Pendeklarasian Matriks Pemrosesan Matriks Membaca Elemen Matriks Menulis Matriks 2 Pendahuluan Di dalam matriks,

Lebih terperinci

ALGORITMA PERULANGAN

ALGORITMA PERULANGAN Pertemuan 08 ALGORITMA PERULANGAN Pada Bab ini anda akan mempelajari 1. Pengertian algoritma perulangan 2. Perulangan for-do 3. Perulangan while-do 4. Perulangan repeat-until Algoritma Perulangan Ada kalanya

Lebih terperinci

Algoritma Pemrograman

Algoritma Pemrograman Algoritma Pemrograman Pertemuan Ke-12 (Matriks) Noor Ifada noor.ifada@if.trunojoyo.ac.id S1 Teknik Informatika-Unijoyo 1 Sub Pokok Bahasan Pendahuluan Konsep Matriks Pendeklarasian Matriks Pemrosesan Matriks

Lebih terperinci

7. SORTING DAN SEARCHING

7. SORTING DAN SEARCHING 7. SORTING DAN SEARCHING TUJUAN PRAKTIKUM 1. Praktikan dapat memilih teknik sorting mana yang sesuai serta dapat menggunakan teknik searching dalam mencari elemen pada suatu data. 2. Praktikan diharapkan

Lebih terperinci

Pertemuan 4 Diagram Alur / Flowchart

Pertemuan 4 Diagram Alur / Flowchart Pertemuan 4 Diagram Alur / adalah representasi grafik dari langkah-langkah yang harus diikuti dalam menyelesaikan suatu permasalahan yang terdiri atas sekumpulan simbol, dimana masing-masing simbol merepresentasikan

Lebih terperinci

BAB 6 Array Dua Dimensi

BAB 6 Array Dua Dimensi BAB 6 Array Dua Dimensi Di dalam pascal Array dapat berdimensi lebih dari satu yang disebut dengan array dimensi banyak (Multidimensional array), disini akan dibahas array 2 dimensi saja. Array 2 dimensi

Lebih terperinci