Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Notasi Algoritmik Algoritma dan Struktur Data. Apakah ini kode program? /*Kamus*/ x,y,z : integer terbesar: integer /*Algoritma*/ input(x,y,z) terbesar.

Presentasi serupa


Presentasi berjudul: "Notasi Algoritmik Algoritma dan Struktur Data. Apakah ini kode program? /*Kamus*/ x,y,z : integer terbesar: integer /*Algoritma*/ input(x,y,z) terbesar."— Transcript presentasi:

1 Notasi Algoritmik Algoritma dan Struktur Data

2 Apakah ini kode program? /*Kamus*/ x,y,z : integer terbesar: integer /*Algoritma*/ input(x,y,z) terbesar  x If (y > terbesar) then terbesar  y If (z > terbesar) then terbesar  z output(terbesar)

3 Algoritma vs Kode Program  Algoritma tidak sama dengan kode program.  Algoritma : langkah-langkah sistematis untuk penyelesaian suatu masalah yang dapat diimplementasikan ke dalam bahasa pemrograman.  Notasi algoritmik merupakan notasi yang digunakan untuk menuliskan suatu algoritma.  Kode program merupakan implementasi dari notasi algoritmik ke dalam bahasa pemrograman tertentu.

4 /*Algoritma untuk menukar nilai dari dua buah variabel*/ /*Kamus*/ a,b,temp : integer /*Algoritma*/ input(a,b) temp  a a  b b  temp output(a,b) /*Implementasi algoritma ke dalam Bahasa C*/ /*Deklarasi variabel*/ int a,b,temp; /*Program utama*/ scanf(“%d”,&a); scanf(“%d”,&b); temp = a; a = b b = temp printf(“a: %d \n”,a); printf(“b: %d \n”,b);

5 Pengondisian  Untuk memilih suatu tindakan berdasarkan kondisi tertentu  Ada dua macam notasi algoritmik: 1. If-then 2. Depend on

6 Notasi “if-then”  If then  If then Else if then

7 /*Algoritma untuk melakukan pengecekan bilangan genap atau ganjil*/ /*Kamus*/ bil : integer cek : string /*Algoritma*/ Input(bil) if (bil mod 2 = 0) then cek = ‘genap’ else cek = ‘ganjil’ output(cek)

8 /*Algoritma untuk menentukan yudisium mahasiswa*/ /*Kamus*/ ipk: integer yudisium : string /*Algoritma*/ input(ipk) if (ipk >= 3.5) then yudisium = ‘cumlaude’ Else if (ipk >= 3.0) then yudisium = ‘sangat memuaskan’ Else if (ipk >= 2.75) then yudisium = ‘memuaskan’ Else if (ipk >= 2.25) then yudisium = ‘cukup’ else yudisium  ‘TIDAK LULUS’ output(yudisium)

9 Notasi “depend on”  Depend on :  Depend on : depend on :

10 /*Algoritma untuk menampilkan nama hari berdasarkan nomor urut hari*/ /*Kamus*/ idxHari: integer [1..7] hari: string /*Algoritma*/ input(idxHari) Depend on (idxHari) 1 : hari  ‘Senin’ 2 : hari  ‘Selasa’ 3 : hari  ‘Rabu’ 4 : hari  ‘Kamis’ 5 : hari  ‘Jumat’ 6 : hari  ‘Sabtu’ 7 : hari  ‘Minggu’ output(hari) If (hari = ‘Sabtu’) or (hari = ‘Minggu’) then output(‘HOREEE…!!!’) else output(‘hmmmm…’)

11 Latihan  Buatlah algoritma untuk menentukan kondisi tubuh seseorang, apakah kurus, ideal, atau kegemukan. Diketahui bahwa rumus untuk menghitung berat badan ideal adalah: BBI = (Tinggi Badan - 100) * 90% Ketentuan kategori berat badan: - jika berat badan seseorang 20% lebih besar dari nilai BBI-nya, maka kategorinya = kegemukan. - jika berat badan seseorang 10% lebih kecil dari nilai BBI-nya, maka kategorinya = kurus. - jika berat badan seseorang sama dengan nilai BBI- nya, maka kategorinya = ideal.

12 Contoh 

13 Contoh (2) 

14 Silakan mengerjakan  Waktunya menit

15 /*Algoritma untuk menentukan kategori berat badan*/ /*Kamus*/ berat,tinggi: integer bbi,persentase,selisih: real kategori: string /*Algoritma*/ input(berat,tinggi) bbi  (tinggi-100) * 0.9 selisih  tinggi - bbi If (selisih < 0) then selisih  -1 * selisih/*untuk mempositifkan nilai selisih jika selisihnya bernilai negatif*/ persentase  (bbi / tinggi) * 1

16 /*Lanjutan dari algoritma sebelumnya*/ If (persentase > 0.2) then kategori  ‘KEGEMUKAN’ Else if (persentase < 0.1) then kategori  ‘KURUS’ Else kategori  ‘IDEAL’ output(kategori)

17 Pengulangan  Untuk melakukan suatu proses secara berulang-ulang, sebanyak frekuensi yang ditentukan.  Ada empat macam notasi algoritmik 1. Traversal 2. While-do 3. Repeat-until 4. Iterate-stop

18 Notasi “traversal”  Identik dengan notasi “for” pada Bahasa C.  traversal [nilai ke-1.. Nilai ke-n]

19 Contoh /*Algoritma menampilkan deret bilangan genap*/ /*Kamus*/ idx,awal,akhir: integer /*Algoritma*/ Input(awal,akhir) idx traversal[awal..akhir] If (idx mod 2 = 0) then output(idx)

20 Notasi “while-do”  While do

21 Contoh /*Algoritma menampilkan deret bilangan genap*/ /*Kamus*/ idx,awal,akhir: integer /*Algoritma*/ Input(awal,akhir) idx  awal While(idx <= akhir) do If (idx mod 2 = 0) then output(idx end if idx  idx + 1

22 Latihan  Buatlah algoritma untuk menampilkan gambar berikut: * ** *** **** Input berupa satu bilangan yang akan menyatakan berapa jumlah baris dari gambar tersebut

23 /*Algoritma menampilkan pola segitiga*/ /*Kamus*/ Idx1, idx2,n : integer /*Algoritma*/ Input(n) idx1 traversal[1..n] idx2 traversal[1..idx1] output(‘*’)


Download ppt "Notasi Algoritmik Algoritma dan Struktur Data. Apakah ini kode program? /*Kamus*/ x,y,z : integer terbesar: integer /*Algoritma*/ input(x,y,z) terbesar."

Presentasi serupa


Iklan oleh Google