Algoritma dan Pemrograman
description
Transcript of Algoritma dan Pemrograman
![Page 1: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/1.jpg)
Algoritma danAlgoritma danPemrogramanPemrogramanAlgoritma danAlgoritma danPemrogramanPemrograman
Yance Sonatha,S.KomYance Sonatha,S.Kom
![Page 2: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/2.jpg)
Konversi Algoritma ke Konversi Algoritma ke Bahasa Pascal dan CBahasa Pascal dan C
Konversi Algoritma ke Konversi Algoritma ke Bahasa Pascal dan CBahasa Pascal dan C
![Page 3: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/3.jpg)
Konversi Struktur Algoritma
Judul{komentar mengenai algoritma seperti cara kerja program, kondisi awal dan kondisi akhir program}
Kamus{Pada bagian ini, didefinisikan nama konstanta, nama variabel, nama prosedur dan nama fungsi}
Algoritma{Pada bagian ini algoritma dituliskan. Semua teks yang dituliskan tidak diantara tanda kurung kurawal akan dianggap sebagai notasi algortima yang akan berpengaruh terhadap kebenaran algoritma}
![Page 4: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/4.jpg)
Struktur Pascal
(*judul*)Program judul;{penjelasan tentang program}
(*kamus*)const ..type …var …
(* algoritma*)begin ……..
………end.
![Page 5: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/5.jpg)
Struktur Bahasa C
/*judul*//*penjelasan tentang program*//*prosedur dan fungsi disini*/
/*kamus*//*semua deklarasi dan definisi disini*/
/* algoritma*/main( ){ ……..
………}
![Page 6: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/6.jpg)
Tabel Konversi Nama, Tipe dan Operator ke dalam Bahasa Pascal dan
CKelompok Algoritma Pascal C
1. Tipe dasar booleanintegerrealcharstringrecord
booleanintegerrealcharstringrecord
tidak ada *)intfloatchartidak ada **)struct
*) Bahasa C tidak menyediakan tipe boolean yang dinyatakan secara eksplisit, tapi dalam :
typedef enum (false=0, true =1) boolean**) Bahasa C tidak menyediakan tipe string, tetapi didefinisikan sbb : char nama_variabel[n]
![Page 7: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/7.jpg)
Tabel Konversi … (lanjutan)
Kelompok Algoritma Pascal C
2. Operator +-*/
divmod
<≤>≥=#
notandorxor
+-*/
divmod
<<=>
>==
<>notandorxor
+-*//%<
<=>
>===!=!
&&||
tidak ada
![Page 8: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/8.jpg)
Tabel Konversi … (lanjutan 2)
Kelompok Algoritma Pascal C3. Lain-lain constant
typetruefalse
consttypetruefalse
#definetypedef
Tidak adaTidak ada
![Page 9: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/9.jpg)
Tabel Konversi Penugasan, Pembacaan ke Pascal dan C
Kelompok Algoritma Pascal C
1. Penugasan ← := =
2. Pembacaan
input readreadln
scanf
3. Penulisan output writewriteln
printf
![Page 10: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/10.jpg)
Analisa KasusAnalisa Kasus(Pemilihan/Percabanga(Pemilihan/Percabanga
n)n)
Analisa KasusAnalisa Kasus(Pemilihan/Percabanga(Pemilihan/Percabanga
n)n)
![Page 11: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/11.jpg)
Analisis KasusMenganalisis kasus berarti mendefinisikan :
Kondisi, yaitu ekspresi boolean yang bernilai benar atau salah
Aksi, yang akan dilaksanakan jika kondisi yang bersesuaian dengan aksi tersebut bernilai benar
![Page 12: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/12.jpg)
• Notasi Algoritma untuk menangani 1 kasus
if (kondisi) then (aksi) endif
• Notasi Algoritma untuk menangani 2 kasus komplementer
if (kondisi) then (aksi_1) else {not kondisi} (aksi_2)• endif
![Page 13: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/13.jpg)
• Notasi Algoritma untuk menangani N buah kasus adalah sebagai berikut :
depend ondepend on (nama) kondisi1 : aksi1 kondisi2 : aksi2 ….. kondisiN : aksiN enddepend
![Page 14: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/14.jpg)
Contoh Kasus
• Konversikan nilai angka ke nilai huruf, dengan ketentuan :
81 – 100 : nilai A 66 – 80 : nilai B
56 – 65 : nilai C 46 – 55 : nilai D 0 - 45 : nilai EAtasi kemungkinan masukan angka diluar
range 0-100
![Page 15: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/15.jpg)
Contoh Kasus 2• Misalkan nomor-nomor bulan
(integer) dibaca dari piranti masukan. Tuliskan algoritma untuk mencetak nama bulan yang dibaca. Misalkan jika dibaca bulan 8, maka nama bulan itu adalah Agustus
![Page 16: Algoritma dan Pemrograman](https://reader036.fdokumen.com/reader036/viewer/2022082612/56813bff550346895da5544a/html5/thumbnails/16.jpg)
Contoh Kasus 3• Dibaca 3 buah angka yang
berlainan, harus dituliskan berurutan dari yang terkecil hingga terbesar