Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Notasi Algoritma & Tipe Data

Presentasi serupa


Presentasi berjudul: "Notasi Algoritma & Tipe Data"— Transcript presentasi:

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)


Download ppt "Notasi Algoritma & Tipe Data"

Presentasi serupa


Iklan oleh Google