Upload presentasi
Presentasi sedang didownload. Silahkan tunggu
1
Notasi Algoritma & Tipe Data
Dasar Teknik Komputer & Pemrograman
2
Dasar Penyusunan Algoritma
Ada beberapa hal yang perlu diperhatikan dalam menyusun suatu algoritma * Finitness. Menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah. Definitness. Menyatakan bahwa setiap langkah harus dinyatakan dengan jelas (tidak rancu atau tidak mendua arti) Masukan. Setiap algoritma bisa memiliki masukan atau tidak memiliki masukan. Keluaran. Setiap algoritma memiliki keluaran. Keluaran merupakan besaran yang berhubungan dengan masukan. Efektifitas. Setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma haruslah sederhana dan dapat dikerjakan dalam waktu terbatas. * Knuth(1973, hal. 4) dan Horowitz dkk. (1999, hal.1)
3
Jenis Notasi Algoritma
Algoritma dapat dituangkan dalam bentuk gambar/bagan atau tulisan Flowchart Pseudocode
4
A. Flowchart (Diagram Alir)
Merupakan diagram yang menggunakan simbol dan garis untuk menggambarkan urutan proses suatu algoritma Simbol standar
5
Contoh diagram alir
6
B. Pseudo-code Pseudo = Bayangan Code = Program
Pseudo-code menggunakan instruksi tulisan yang mirip dengan instruksi bahasa pemrograman
7
Pedoman menyusun Pseudo-code
Notasi ← dipakai untuk memberikan nilai ke suatu variabel hasil ← 2 memberikan nilai ‘2’ ke variabel hasil 2. hasil ← 2 + 1 memberikan hasil penjumlahan bilangan 2 dan 1 ke variabel hasil. Variabel dengan huruf kecil berarti variabel non-larik, variabel dengan huruf kapital berarti variabel larik (array)
8
Lanjutan .. Penjorokan ke kanan, digunakan untuk menuliskan pernyataan-pernyataan yang berada dalam suatu struktur blok. if x > 0 then pernyataan-1 pernyataan-2 end-if Simbol // digunakan untuk menyatakan komentar Notasi masukkan () dan tampilkan () mewakili perintah untuk memperoleh masukan dan menyajikan keluaran input (a,b) output (jumlah)
9
Lanjutan ... 7. Tanda <, >, ≤, ≥, =, ≠
Notasi A [i] menyatakan elemen ke-I pada larik A. nilai terkecil untuk I adalah nol (0). Untuk larik 2 dimensi akan dinotasikan A[i,j] i menyatakan baris dan j menyatakan kolom Notasi JumlahElemen(A) menyatakan ekspresi untuk memperoleh jumlah elemen larik A. Bentuk while <kondisi> pernyataan-1 … pernyataan-N end-while for <kondisi> ... end-for
10
Penulisan Prosedur PROSEDUR namaProsedur(daftar-parameter) Pernyataan-1 … Pernyataan-2 NILAI-BALIK AKHIR PROSEDUR
11
Struktur Teks Algoritma
Bagian Judul adalah bagian yang terdiri dari nama program dan penjelasan (spesifikasi) tentang program tersebut. Bagian Deklarasi merupakan bagian yang digunakan untuk mengumumkan semua nama/variabel yang dipakai dalam algoritma beserta propertinya (misal: tipe) Bagian Algoritma Merupakan inti dari sebuah program yang berisi instruksi-instruksi pemecahan masalah dalam notasi pseudo-code
12
Program mencetak Hello World
PROGRAM HelloWorld { Program untuk mencetak “Hello world”. Masukan program ini tidak ada. Keluarannya adalah tulisan ‘Hello, world’ tercetak di layar.} DEKLARASI { tidak ada } ALGORITMA output(“Hello, world”)
13
Program penjumlahan 2 bilangan
PROGRAM Penjumlahan { Program untuk menjumlahkan dua bilangan. Masukan : bilangan a dan bilangan b. Keluarannya adalah hasil penjumlahan.} DEKLARASI a, b, hasil : integer ALGORITMA input(a) input(b) hasil a+b output(hasil)
14
Tipe Data Logika ( boolean ) Numerik Karakter ( character )
Bilangan Bulat ( integer ) Pecahan ( real ) Karakter ( character ) Gabungan Karakter ( string )
15
Tipe Logika Nama : Boolean Domain : {true, false } Konstanta:
d. Operator : Operator logika
16
Tabel Kebenaran Operator Boolean
17
Tipe Numerik Nama : integer { untuk bilangan bulat }
Domain : …,-3,-2,-1,0,1,2,3,… Konstanta: Nama : real { untuk bilangan pecahan } Domain : semua bilangan pecahan Konstanta: 4.0 -1/ /4
18
Operator Numerik No Nama Arti Tipe Hasil operasi
1 * Kali Tergantung operand 2 / Bagi Selalu real Tambah Tergantung operand Kurang Tergantung operand 5 ^ Pangkat Tergantung operand 6 abs Harga mutlak Tergantung operand
19
Operator Numerik(lanj..)
Khusus Integer : Operator div ( hasil bagi ) Operator mod (sisa bagi ) operand dan hasil selalu integer Contoh 2 3 mod 2 =1 5 mod 5 = 0 0 mod 2 = 0 5 mod 0 = error 1 mod 0.5 = error 0.5 mod 0.5 = error Contoh 1 3 div 2 = 1 5 div 5 = 1 0 div 2 = 0 5 div 0 = error 1 div 0.5 = error 0.5 div 0.5 = error
20
Operator Tipe Numerik ( lanj)
2. Urutan prioritas : a. Kurung didahulukan b. *, /, div, mod sejajar. c. + dan – sejajar d. Jika muncul berurutan & sejajar, mulai dari kiri 1 – 2 * 3 div 4 mod 5 + 6 = 1 – 6 div 4 mod 5 + 6 = 1 – 1 mod 5 + 6 = 1 – 1 + 6 = = 6
21
Operator Tipe Numerik ( lanj)
3. Dalam algoritma, kedua operand harus bertipe sama. Dalam Pascal, tidak harus sama. Contoh : a,b,c integer, x,y real, bol1 : boolean a div 2 a div 2.0 a / b x + a x div x ( x < y ) bol1 - true { valid} { tidak valid / error} { valid} { tidak valid} { tidak valid / error} { valid} { tidak valid / error}
22
Operator Tipe Numerik ( lanj)
4. Variabel yang menyimpan hasil operasi harus memiliki tipe sama dengan hasil operasi. Dalam Pascal : jika hasil integer bisa disimpan pada variabel real. Contoh : a,b,c integer, x,y real, bol1 : boolean a a div 2 x a div 2 x a / b x a + x bol1 ( x < y ) bol1 ( a – b ) { valid} { tidak valid / error} { valid} { valid} { tidak valid / error} { valid} { tidak valid / error}
23
Operator Relasi Tipe Numerik
No Nama Arti Contoh 1 < Lebih kecil 10 < {false } 2 ≤ Lebih kecil atau sama dengan 10 ≤ (9+1) {true} 10 ≤ {false} 3 > Lebih besar (1+5)>(2-3) {true} 4 ≥ Lebih besar atau sama dengan 0 ≥ (1) {false} 10 ≥ {true} 5 = Sama dengan 0 = (0-0) {true} 6 Tidak sama dengan 10(11-1) {false}
24
Tipe karakter No Nama Arti Contoh Nama : character
Domain : karakter yang dikenal komputer Konstanta: ‘K’ ‘k’ ‘1’ ‘a’ ‘0’ ‘O’ ‘o’ d. Operator : Operator relasi / perbandingan No Nama Arti Contoh 1 < Lebih kecil ‘b’ < ‘a’ {salah } 2 ≤ Lebih kecil atau sama dengan ‘a’ ≤ ‘b’ {betul} ‘a’ ≤ ‘A’ {salah} 3 > Lebih besar ‘a’ > ‘A’ {betul} 4 ≥ Lebih besar atau sama dengan ‘a’ ≥ ‘b’ {salah} ‘a’ ≥ ‘B’ {betul} 5 = Sama dengan ‘a’ = ‘a’ { betul} 6 Tidak sama dengan ‘a’ ‘a’ {salah}
25
Tipe String No Nama Arti Contoh Nama : string
Domain : kumpulan karakter yang dikenal komputer Konstanta: ‘Kaki’ ‘kakak’ ‘ ’ ‘aki’ ‘007’ ‘O’ d. Operator : Operator Kontruksi No Nama Arti Contoh 1 Tambah 1 karakter di akhir string ‘batu’ ‘1’ ‘batu1’ 2 Tambah 1 karakter di awal string ‘atu’ ‘b’ ‘batu’ 3 & Gabungkan string pertama & kedua ‘aku’ & ‘ cinta’ ‘aku cinta’
26
Contoh #1 Buat algoritma program dan flowchart untuk menampilkan “D3 Teknik Telekomunikasi”
27
PROGRAM D3TT { Program untuk menampilkan ‘D3 Teknik Telekomunikasi’. Masukan : -. Keluarannya : “D3 Teknik Telekomunikasi”} DEKLARASI ALGORITMA output(“D3 Teknik Telekomunikasi”)
28
Contoh #2 Buat algoritma program dan flowchart untuk menampilkan bilangan bulat yang diinputkan pengguna
29
PROGRAM D3TT { Program untuk menampilkan bilangan bulat yang diinputkan pengguna Masukan : bilangan x Keluarannya : bilangan x } DEKLARASI x : integer ALGORITMA input(x) output(x)
30
Contoh #3 Buat algoritma dan flowchart untuk menampilkan hasil perkalian 3*5
31
PROGRAM perkalian { Program untuk hasil perkalian 3
PROGRAM perkalian { Program untuk hasil perkalian 3*5 Masukan : Keluarannya : hasil perkalian 3*5} DEKLARASI hasil : integer ALGORITMA hasil 3*5 output(hasil)
32
Contoh #4 Buat algoritma dan flowchart untuk menampilkan hasil perhitungan luas persegi panjang. Nilai panjang dan lebar sesuai dengan yang diinputkan pengguna
33
PROGRAM luasPersegiPanjang { Program untuk menampilkan perhitungan luas persegi panjang Masukan : panjang, lebar Keluarannya : hasil perhitungan luas} DEKLARASI panjang : integer lebar : integer luas : integer ALGORITMA input(panjang) input(lebar) luas panjang * lebar output(luas)
Presentasi serupa
© 2024 SlidePlayer.info Inc.
All rights reserved.