Dasar dasar algoritma - 2
-
Upload
rachmat-narendra -
Category
Education
-
view
232 -
download
23
Transcript of Dasar dasar algoritma - 2
![Page 1: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/1.jpg)
Apa Itu Program/Pemrograman?Apa Itu Program/Pemrograman?
DefinisiDefinisiKumpulan instruksi-instruksi tersendiri Kumpulan instruksi-instruksi tersendiri
yang biasanya disebut yang biasanya disebut sourcesource codecode yang yang dibuat oleh programmer (pembuat dibuat oleh programmer (pembuat program).program).
Program : Realisasi dari Algoritma.Program : Realisasi dari Algoritma.
Program = Algoritma + BahasaProgram = Algoritma + Bahasa
![Page 2: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/2.jpg)
Langkah Pembuatan ProgramLangkah Pembuatan Program
Mendefinisikan masalahMendefinisikan masalaha. a. Kondisi awal, yaitu Kondisi awal, yaitu input input yang tersedia.yang tersedia.b. Kondisi akhir, yaitu b. Kondisi akhir, yaitu output output yang diinginkan.yang diinginkan.c. Data lain yang tersedia.c. Data lain yang tersedia.d. Operator yang tersedia.d. Operator yang tersedia.e. Syarat atau kendala yang harus dipenuhi.e. Syarat atau kendala yang harus dipenuhi.
![Page 3: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/3.jpg)
Langkah Pembuatan ProgramLangkah Pembuatan Program
Buat Algoritma dan Struktur Cara Buat Algoritma dan Struktur Cara PenyelesaianPenyelesaian
•Jika masalahnya kompleks, maka dibagi ke dalam Jika masalahnya kompleks, maka dibagi ke dalam modul-modulmodul-modul
![Page 4: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/4.jpg)
Langkah Pembuatan ProgramLangkah Pembuatan Program
Menulis programMenulis program
Pilihlah bahasa yang mudah dipelajari, mudah Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.perangkat keras dan platform lainnya.
![Page 5: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/5.jpg)
Langkah Pembuatan ProgramLangkah Pembuatan Program
Mencari KesalahanMencari Kesalahana. Kesalahan sintaks (penulisan program).b. Kesalahan pelaksanaan: semantik, logika, dan ketelitian..
![Page 6: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/6.jpg)
Langkah Pembuatan ProgramLangkah Pembuatan Program
Uji dan Verifikasi ProgramUji dan Verifikasi Program Dokumentasi ProgramDokumentasi ProgramPemeliharaan ProgramPemeliharaan Program
![Page 7: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/7.jpg)
STRUKTUR PENULISAN STRUKTUR PENULISAN ALGORITMAALGORITMA
Setiap Algoritma akan selalu terdiri dari tiga bagian yaitu :Judul (Header)KamusAlgoritma
![Page 8: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/8.jpg)
Header (Judul)Header (Judul)
Judul adalah bagian teks algoritma yang digunakan sebagai tempat mendefinisikan nama dengan menentukan apakah teks tersebut adalah program, prosedur, fungsi.
![Page 9: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/9.jpg)
Kamus (Deklarasi)Kamus (Deklarasi)
Kamus adalah bagian teks algoritma sebagai tempat untuk mendefinisikan :Nama typeNama konstantaNama variabelNama fungsiNama prosedur.
![Page 10: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/10.jpg)
Kamus (Deklarasi)Kamus (Deklarasi)
![Page 11: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/11.jpg)
Algoritma (Deskripsi)Algoritma (Deskripsi)
Algoritma adalah bagian inti dari suatu algoritma yang berisi instruksi atau pemanggilan aksi yang telah didefinisikan.
![Page 12: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/12.jpg)
PENYAJIAN ALGORITMAPENYAJIAN ALGORITMA
Bentuk penyajian untuk algoritma dibagi menjadi 3 (tiga) bentuk penyajian, yaitu : Algoritma dengan struktur Bahasa Indonesia Algoritma dengan Pseudocode Algoritma dengan Flowchart
![Page 13: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/13.jpg)
Struktur Bahasa IndonesiaStruktur Bahasa Indonesia
Sifat: Umum Tidak menggunakan simbol atau sintaks dari suatu
bahasa pemrograman. Tidak tergantung pada suatu bahasa pemrograman. Notasi-notasinya dapat digunakan untuk seluruh bahasa
manapun.
![Page 14: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/14.jpg)
Struktur Bahasa IndonesiaStruktur Bahasa Indonesia
Contoh : Menghitung rata-rata tiga buah dataAlgoritma dengan struktur bahasa Indonesia : 1) Baca bilangan a, b, dan c 2) Jumlahkan ketiga bilangan tersebut 3) Bagi jumlah tersebut dengan 3 4) Tulis hasilnya
![Page 15: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/15.jpg)
Pseudo-CodePseudo-Code
Penyajian algoritma dengan pseudocode berarti menggunakan kode yang mirip dengan kode pemrograman yang sebenarnya. Pseudocode lebih rinci dari English/Indonesia Structure.
![Page 16: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/16.jpg)
Pseudo-CodePseudo-Code
Contoh (1) : Menghitung rata-rata tiga buah data
Algoritma dengan struktur pseudocode :1) input (a, b, c)2) Jml = a+b+c3) Rerata = Jml/34) Output (Rerata)
![Page 17: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/17.jpg)
FlowchartFlowchart
Flowchart adalah penggambaran secara grafik dari langkah-langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analis dan programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian.
![Page 18: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/18.jpg)
FlowchartFlowchart
Kegunaan:Untuk mendesain programUntuk merepresentasikan program
Maka, flowchartharus dapat Merepresentasikankomponen-komponen dalam bahasa pemrograman
![Page 19: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/19.jpg)
Mengapa FlowchartMengapa Flowchart
a. RelationshipFlowchart dapat memberikan gambaran yang efektif, jelas, dan ringkas tentang prosedur logic. Teknik penyajian yang bersifat grafis jelas akan lebih baik daripada uraian-uraian yang bersifat teks khususnya dalam menyajikan logikalogika yang bersifat kompleks.
![Page 20: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/20.jpg)
Mengapa FlowchartMengapa Flowchart
b. AnalysisDengan adanya pengungkapan yang jelas dalam model atau chart, maka para pembaca dapat dengan mudah melihat permasalahan atau memfokuskan perhatian pada area-area tertentu sistem informasi.
![Page 21: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/21.jpg)
Mengapa FlowchartMengapa Flowchartc. Communication
Karena simbol-simbol yang digunakan mengikuti suatu standar tertentu yang sudah diakui secara umum, maka flowchart dapat merupakan alat bantu yang sangat efektif dalam mengkomunikasikan logika suatu masalah atau dalam mendokumentasikan logika tersebut.
![Page 22: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/22.jpg)
LambangLambang
![Page 23: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/23.jpg)
Lambang (2)Lambang (2)
![Page 24: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/24.jpg)
Lambang (3)Lambang (3)
![Page 25: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/25.jpg)
Lambang (4)Lambang (4)
![Page 26: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/26.jpg)
Lambang (5)Lambang (5)
![Page 27: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/27.jpg)
Contoh FlowchartContoh Flowchart Problem:MenghitungLuaspersegipanjangAlgoritma: 1.Masukkanpanjang(p) 2.Masukkanlebar(l) 3.Hitungluas(L), yaitupanjangkali lebar4.Cetakluas(L)
![Page 28: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/28.jpg)
Contoh FlowchartContoh Flowchart Problem:MenentukanBilangan ganjil atau Genap
![Page 29: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/29.jpg)
STRUKTUR DASAR ALGORITMASTRUKTUR DASAR ALGORITMA
Struktur dasar algoritma :1. Struktur Runtunan (Sequence Proses)2. Struktur Pemilihan (Selection Proses)3. Struktur Pengulangan (Iteration Proses)
![Page 30: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/30.jpg)
Struktur RuntunanStruktur Runtunan
Sebuah runtunan terdiri dari satu atau lebih ‘instruksi’. Tiap-tiap instruksi dilaksanakan secara berurutan sesuai dengan urutan penulisannya; sebuah instruksi baru bisa dilaksanakan setelah instruksi sebelumnya selesai dilaksanakan.
![Page 31: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/31.jpg)
Struktur RuntunanStruktur Runtunan
![Page 32: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/32.jpg)
Struktur PemilihanStruktur Pemilihan
Pada struktur ini, jika kondisi terpenuhi maka salah satu aksi akan dilaksanakan dan aksi yang ke dua diabaikan.
Kondisi adalah persyaratan yang dapat dinilai benar atau salah sehingga akan memunculkan ‘aksi’ yang berbeda
dengan ‘kondisi’ yang berbeda.
![Page 33: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/33.jpg)
Struktur PemilihanStruktur Pemilihan
Notasi algoritmik :if Syarat then Aksi {True}endif {False}
![Page 34: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/34.jpg)
Struktur PemilihanStruktur Pemilihan
Notasi Algoritma,IF syarat THEN aksi-1 {true}ELSE aksi-2 {false}ENDIF
![Page 35: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/35.jpg)
Struktur PemilihanStruktur Pemilihan
CONTOH :Menentukan bilangan terbesar diantara 3 bilangan:
‘if’ x > y ‘then’‘if’ x > z ‘then’tulis x sebagai bilangan terbesar‘else’tulis z sebagai bilangan terbesar‘else’‘if’ y > z ‘then’tulis y sebagai bilangan terbesar‘else’tulis z sebagai bilangan terbesar
![Page 36: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/36.jpg)
Struktur PengulanganStruktur Pengulangan
Digunakan untuk program yang pernyataannya akan dieksekusi berulang-ulang. Instruksi dikerjakan selama memenuhi suatu kondisi tertentu. Jika syarat (kondisi) masih terpenuhi maka pernyataan (aksi) akan terus dilakukan secara berulang.
![Page 37: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/37.jpg)
Struktur PemilihanStruktur Pemilihan
For-Next
For var=awal to akhir ……………. instruksi-instruksi ……………..Next var
![Page 38: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/38.jpg)
Struktur PengulanganStruktur Pengulangan
While - do
Bentuk umum :
While {kondisi} do ………….. instruksi-instruksi …………..Endwhile
![Page 39: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/39.jpg)
Struktur PengulanganStruktur Pengulangan
Repeat - Until
Bentuk Umum ;
Repeat………………..
Instruksi………………...
Until (kondisi)
![Page 40: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/40.jpg)
Struktur PengulanganStruktur Pengulangan
Contoh : Algoritma Cetak_Angka {mencetak 1, 2, .., 8 ke piranti keluaran} Deklarasi : K: integer Deskripsi : K 1 {inisialisasi} while k <= 8 do write (k) k k + 1 endwhile
Contoh : Algoritma Cetak_Angka {mencetak 1, 2, .., 8 ke piranti keluaran} Deklarasi : K: integer Deskripsi : K 1 {inisialisasi} repeat write (k) k k + 1 until k > 8
![Page 41: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/41.jpg)
1. Buat Algoritma untuk mengecek suatu bilangan positif atau negatif !2. Buat algoritma untuk menampilkan deret angka berikut : 0 2 5 10 26 37
LATIHAN SOAL
![Page 42: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/42.jpg)
3. Diketahui sebuah algoritma berikut ini : Deklarasi : i, m : integer Deskripsi : i = 0 m = 0 while i < 9 then m = i * i cetak m i = i + 1 endwhile. Tulis output yang dihasilkan algoritma di atas !
LATIHAN SOAL
![Page 43: Dasar dasar algoritma - 2](https://reader034.fdocuments.net/reader034/viewer/2022050622/58723f9d1a28ab102f8b74d5/html5/thumbnails/43.jpg)
Referensi
Algorithms, Yi-Shin Chen, Addison-Wesley Computing
Algoritma dan pemrograman dalam bahasa Pascal dan C, Rinaldi Munir, penerbit Informatika Bandung
Jajat Sudrajat, Pengantar Alogritma dan Implementasi Bahasa Pascal