Dasardasar Algoritma Dan Representasi Algoritma Pengampu Muhammad Zidny
- Slides: 39
Dasar-dasar Algoritma Dan Representasi Algoritma Pengampu : Muhammad Zidny Naf’an, M. Kom
STRUKTUR DASAR ALGORITMA 2
Proses, Instruksi, dan Aksi § Algoritma merupakan deskripsi urutan pelaksanaan suatu proses. § Algoritma tersusun oleh sederetan langkah instruksi yang logis. § Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi). § Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU 3
Struktur Dasar Algoritma • Runtunan (Sequence) • Pemilihan (Selection) • Pengulangan (Repetition) 4
Struktur Dasar Algoritma Runtunan (sequence) § Runtunan (sequence) • Aksi-aksi dalam algoritma yang dikerjakan secara berurutan • Tiap instruksi dikerjakan satu per satu • Tiap instruksi dilaksanakan tepat satu kali; tidak ada instruksi yang di ulang • Urutan instruksi yang dilaksanakan pemroses sama dengan urutan instruksi sebagaimana yang tertulis di dalam teks algoritmanya. • Akhir dari instruksi terakhir merupakan akhir algoritma • Contoh : A 1. Aksi 1 A 2. Aksi 2 A 3. Aksi 3 • mula-mula aksi 1 dilakukan • aksi 2 dilakukan setelah aksi 1 selesai dilaksanakan • dst. 5
Struktur Dasar Algoritma Pemilihan (Selection) § memungkinkan suatu Aksi dieksekusi jika suatu kondisi terpenuhi atau tidak terpenuhi § Bentuk-bentuk pemilihan • if – else • switch - case 6
Struktur Dasar Algoritma Pemilihan (Selection) switch - case § Konstruksi ini digunakan sebagai pengganti konstruksi if-else, bila konstruksi if-else bertingkat terlalu jauh, sehingga menjadi sulit dibaca. switch (ekspresi) { case constant_1 : statements_1; break; case constant_2 : statements_2; … case constant_N : statements_N; break; default : statements; } 8
Struktur Dasar Algoritma § Pengulangan (repeatition) § Aksi-aksi yang dikerjakan berulang kali § Bentuk-bentuk Pengulangan : 1. FOR pencacah pengulangan dari a sampai b DO Aksi (aksi dilakukan sebanyak hitungan pencacah pengulangan, yaitu dari a sampai b yakni sebanyak b-a+1 kali) 9
2. REPEAT Aksi UNTIL kondisi (pengulangan aksi dilakukan sehingga kondisi/persyaratan berhenti terpenuhi) 3. WHILE kondisi DO Aksi (selama kondisi/persyaratan pengulangan masih benar, maka aksi dikerjakan) 10
REPRESENTASI ALGORITMA 11
Representasi Algoritma (Notasi Algoritmik) • Kalimat Deklaratif • Pseudocode • Flowchart (diagram alir) 12
Kalimat Deklaratif Judul program/algoritma PROGRAM Hitung Luas Lingkaran Program untuk menghitung luas lingkaran dengan diketahui PHI=3. 14 Algoritma: 1. Baca r 2. Hitung Luas dengan rumus = PHI*r*r 3. Cetak Luas 13
Kalimat Deklaratif Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan n (m >= n). GCD dari m dan n adalah bilangan bulat positif terbesar yang habis membagi m dan n Algoritma: 1. Baca m dan n 2. Jika n=0 maka m adalah jawabannya; stop Tetapi jika n!= 0 Lanjutkan ke langkah 3 3. Bagilah m dengan n dan misalkan r adalah sisanya 4. Ganti m dengan nilai n dengan nilai r, lalu ulang kembali ke langkah 1 14 Algoritma
Pseudocode § Kode atau tanda yang menyerupai (pseudo) program atau merupakan penjelasan cara menyelesaikan suatu masalah. § Pseudocode sering digunakan oleh manusia (programmer) untuk menuliskan algoritma sebab mudah dipahami dan digunakan karena mirip dengan kode 15 kode program sebenarnya.
Struktur Pseudocode PROGRAM Nama Program {Penjelasan tentang algoritma, berisi uraian singkat mengenai masalah yang akan diselesaikan} DEKLARASI {semua nama yang dipakai, meliputi nama tipe, nama konstanta, nama peubah, nama prosedur, dan nama fungsi} ALGORITMA: {semua langkah/aksi algoritma dituliskan disini} 16
Format Pseudocode Lengkap Judul program/algoritma PROGRAM Euclidean Program untuk mencari GCD dari dua buah bilangan bulat positif m dan n (m >= n). GCD dari m dan n adalah bilangan bulat positif terbesar yang habis membagi m dan n Deklarasi: m, n r : integer {bil bulat} {sisa hasil bagi} Deklarasi variable komentar Algoritma read(m, n) {m >= n} while n!= 0 do Algoritma r m MOD n m n n r end while {kondisi selesai pengulangan n=0, maka gcd(m, n) = m} 17
Perbandingan Antara Notasi Algoritmik Kalimat Deklaratif Dengan Pseudocode Algoritma Nilai A dikali dengan 10 Cetak nilai A bila lebih besar 10 Dari dua bilangan A dan B, cari bilangan terbesar Pseudocode A A x 10 IF A >10 THEN PRINT A IF A > B THEN PRINT A ELSE PRINT B 18
Flow Chart § Flow chart suatu bagan/diagram yang menggambarkan aliran proses yang dikerjakan program dari awal sampai akhir. § Flow chart adalah algoritma yang digambarkan dengan diagram. § Fungsi dari flow chart adalah mendeskripsikan urutan pelaksanaan suatu proses (sama dengan fungsi algoritma). 19
Jenis Flowchart § Sistem Flowchart Urutan proses dalam sistem dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. 20
Jenis Flowchart Start § Program Flowchart Urutan instruksi yang digambarkan dengan simbol tertentu untuk memecahkan masalah dalam suatu program Input alas, tinggi Luas = alas*tinggi Print Luas End 21
Pembuatan Flowchart § Dalam pembuatan flowchart tidak ada kaidah yang baku. • Flowchart = gambaran hasil analisa suatu masalah. • Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. § Secara garis besar ada 3 bagian utama: • Input • Proses • Output 22
§ Beberapa hal yang perlu diperhatikan dalam pembuatan flowchart, yaitu : • Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. • Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. • Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. 23
Simbol Flowchart Simbol Nama Keterangan Terminator Tanda mulai/selesai Input/output Operasi pemasukan data atau penampilan data Proses Menyatakan sebarang proses Keputusan Pengambilan keputusan. Di dalam simbol berupa pertanyaan dengan jawaban YA atau TIDAK 24
Simbol Flowchart Simbol Nama Keterangan Proses Terdefinisi Tanda prosedur/fungsi Konektor Sambungan dari satu proses ke poses yang lain dalam halaman yang sama Konektor Sambungan dari satu proses ke poses yang lain dalam halaman yang berbeda 25
Simbol Flowchart Simbol Nama Keterangan Preparation Inisialisasi perulangan 26
CONTOH ALGORITMA SEKUENSIAL 27
Contoh 1 (Konversi Fahrenheit - Celcius) 28
Contoh 1 (Konversi Fahrenheit - Celcius) PROGRAM Konversi Fahrenheit ke Celcius {algoritma ini akan menghitung nilai Celcius dari nilai Fahrenheit yang diinputkan} DEKLARASI f, c : float ALGORITMA read(f) c (F-32) * 5/9 print(c) 29
Contoh 2 (Menghitung Luas Lingkaran) 30
Contoh 2 (Menghitung Luas Lingkaran) PROGRAM Menghitung Luas Lingkaran {algoritma ini akan menghitung luas lingkaran berdasarkan jari-jari yang diinputkan} DEKLARASI r, Luas: float ALGORITMA read(r) Luas phi * r *r print(Luas) 31
Contoh 3 (Konversi Koordinat Polar ke Koordinat Cartesian) 32
Contoh 3 (Konversi Koordinat Polar ke Koordinat Cartesian) PROGRAM Konversi Koordinat {algoritma ini akan mengkonversi koordinat polar menjadi koordinat cartesian} DEKLARASI radius, alpha, X, Y : integer ALGORITMA read(radius) read(alpha) X Radius * Cos(Alpha) Y Radius * Sin(Alpha) print(X) print(Y) 33
Contoh 3 (Bilangan Terbesar) 34
Contoh 3 (Bilangan Terbesar) PROGRAM Mendapatkan Bilangan Terbesar {algoritma ini akan mencari dan mendapatkan bilangan terbesar dari dua bilangan yang diinputkan} DEKLARASI bilangan. Pertama, bilangan. Kedua : integer ALGORITMA read(bilangan. Pertama) read(bilangan. Kedua) if bilangan. Pertama > bilangan. Kedua print(bilangan. Pertama) else print(bilangan. Kedua) end if 35
Diskusi • Silahkan bentuk kelompok kecil dgn anggota 5 orang • Buatlah algoritma dalam kalimat deklaratif, flowchart, dan pseudocode untuk suatu masalah tertentu • Silahkan tentukan sendiri masalahnya • Waktu 15 menit dan presentasi 1 kelompok dipilih secara acak 36
Tugas • Problem: Seorang kasir menginputkan data barang yang dibeli oleh pelanggan ke dalam sistem. Setiap pembelian barang akan mendapatkan diskon sebesar 15% • Alur program: pertama program meminta input data nama barang dan harga asli, kemudian program akan menghitung diskon, lalu mencetak nama barang, diskon, dan harga setelah diskon • Buatlah algoritma untuk kasus tersebut dalam bentuk flowchart dan pseudocode 38
TUGAS 1. Buat algoritma dalam bentuk kalimat deklaratif, pseudocode & flowchart untuk mengkonversi dari satuan jam dan menit menjadi detik Misal 1 jam, 20 menit = 3600 + 1200 = 4800 detik
Di suatu pertemuan ada 4 orang pria dewasa, 4 wanita dewasa, dan 4 anak-anak. Keempat pria dewasa itu bernama: Santo, Markam, Gunawan, dan Saiful. Keempat wanita dewasa itu bernama Ria, Gina, Dewi, dan Hesti. Keempat anak itu bernama Hadi, Putra, Bobby dan Soleh. Sebenarnya mereka berasal dari 4 keluarga yang setiap keluarga terdiri dari seorang ayah, seorang ibu dan satu orang anak, namun tidak diketahui yang mana yang menjadi ayah dan mana yang menjadi ibu dan mana yang menjadi anak dari masing-masing keluarga itu. Kecuali, beberapa hal diketahui sebagai berikut: �Ibu Ria adalah ibu dari Soleh. �Pak Santo adalah ayah dari Hadi. �Pak Saiful adalah suami dari Ibu Dewi, tapi bukan ayah dari Bobby. �Pak Gunawan adalah suami Ibu Hesti. (1) Putra adalah anak dari Pak. . . . (2) Anak dari Pak Gunawan adalah. . . . 40
Terimakasih 41
- Pengampu
- Shnorhavor surb zatik
- Sabah translation
- Atahiyatu
- Representasi algoritma
- Peta konsep
- Contoh representasi prosedural
- Selamat berjumpa
- Sekretaris sebagai representasi perusahaan
- Teknik representasi pengetahuan
- Makalah representasi pengetahuan
- Contoh representasi logika
- Representasi pengetahuan dalam kecerdasan buatan
- Contoh representasi pengetahuan frame
- Contoh soal graf sederhana
- Representation of integers
- 126 (desimal) = … (biner)
- R dalam himpunan adalah
- Representasi data contoh
- Perkalian matriks 2x2
- Contoh representasi prosedural
- Contoh representasi pengetahuan frame
- Representasi data adalah
- Representasi objek yang
- Berapakah kode gray dari bilangan desimal 13
- Fenomena
- Representasi integer adalah
- Transformasi matriks
- Graphical representation
- Matriks adjasensi
- Jaringan semantik keluarga
- Representasi data gambar
- Phenomenon model
- Arti representasi data
- Apa yang dimaksud dengan transformasi 2d
- Contoh magnetik tape
- Representasi berkas sequential
- Elemen tree yang memiliki induk yang sama disebut
- Contoh soal pohon keputusan
- Representasi pengetahuan yang paling tua