180 likes | 359 Views
ALGORITMA & PEMROGRAMAN. Abdul Kudus, SSi ., MSi ., PhD. e-mail: 1) akudus69@yahoo.com 2) kudus@unisba.ac.id blog: abdulkudus.staff.unisba.ac.id. Komponen Nilai Akhir: Tugas (10 %) Kuis (10%) UTS ( 35%) UAS ( 45%). Syarat kehadiran: minimal 75% (11 kali dari 14 pertemuan).
E N D
ALGORITMA & PEMROGRAMAN Abdul Kudus, SSi., MSi., PhD. e-mail: 1) akudus69@yahoo.com 2) kudus@unisba.ac.id blog: abdulkudus.staff.unisba.ac.id
Komponen Nilai Akhir: • Tugas (10%) • Kuis (10%) • UTS (35%) • UAS (45%) Syarat kehadiran: minimal 75% (11 kali dari 14 pertemuan)
PENDAHULUAN Konsep Algoritme Pondasiuntukmenyelesaikansuatumasalahsecaraberstruktur, efektifdanefisien. Terutamauntukmenyelesaikansuatumasalahdenganbantuan program komputer. Definisi: Algoritme : Teknikpenyusunanlangkah-langkahpenyelesaianmasalahdalambentukkalimat yang tersusunsecaralogisdansistematis.
CatatanSejarah: Pencetusalgoritmaadalah Abu Ja’far Muhammad ibnu Musa al-Khwarizmi dalambukunyaAljabarwalmuqobalapadaabad IX. al-Khwarizmi algorism algorithm algoritma • CiriAlgoritma • Donald E. Knuth (penulisbeberapabukualgoritmaabad XX) menyatakancirialgoritma: • - Punyaawaldanakhir. • Didefinisikansecaratepatdantidakbermaknaganda (tidakambigu). • Punya input • Punya output • Efektif
Contoh: Algoritmauntukmencariangkaterbesar (maksimum) darisuatukumpulanbilanganbulat. Solusi: Anggapangkapertamaadalah yang terbesar. Bandingkandenganangkaberikutnya. Jikaangkaberikuttersebutlebihbesar, makajadikansebagai yang terbesar. Ulangilangkah 2, sehinggaangkaterakhir. Angkaterbesaradalahangkaterbesar yang terakhir. Cariangkaterbesardarihimpunan: 1. A = {12, 7, 15, 26, 10} 2. B = {9, 12, 17, 21, 27} 3. C = {15, 10, 8, 6, 2}
Suatualgoritmadapatditulisdenganmenggunakanbahasasehari-hari, tapiakansulitdiimplementasikankedalambahasapemrogramankomputer. • Perlulangkahperalihan.
StrukturAlgoritma • Agar dapatditulislebihteratur, makadibagikedalambeberapabagian: • Bagiankepala • Bagiandeklarasivariabel • Bagiandeskripsi/rincianlangkah Contoh 1: AlgoritmaLuas_lingkaran Deklarasi phi = 3.14 jari_jari = 13 Deskripsiluas = phi*jari_jari^2
Contoh 2: AlgoritmaCari_Rata_rata Deklarasi data = (2, 1, 3, 5, 8) n = 5 RincianLangkah akumulasi = 0 for (i in 1:n) { akumulasi = akumulasi + data[i] } Nilai_rata = akumulasi/n
Contoh 2b: AlgoritmaCari_Rata_rata Deklarasi data = (2, 1, 3, 5, 8) n = 5 RincianLangkah akumulasi = data[1] for (i in 2:n) { akumulasi = akumulasi + data[i] } Nilai_rata= akumulasi/n
Contoh 3: AlgoritmaCari_Terbesar Deklarasi data = (2, 1, 3, 5, 8) n = 5 RincianLangkah terbesar = data[1] for (i in 2:n) { if (data[i] > terbesar) thenterbesar = data[i] }
Diagram Alir (Flowchart) Untaiansimbol diagram yang menunjukkanaliranproses yang dikerjakanterhadap data. Simbol-simbol flowchart dibagimenjadisimboluntuk program dansimboluntuksistem (computer hardware). Simboluntuk program Terminator: untukmulaiatauselesai Proses: prosesterhadap data Input/Output: menerima input ataumenampilkan output
Seleksi/Pilihan: memilihaliranberdasarkansyarat Predefined-Data: definisiawaldarivariabel Predifened-Process: lambang sub-program Connector: penghubungpadahalaman yang sama Off-page Connector: penghubungpadahalaman yang berbeda
Simboluntuksistem Keyboard Printer File Monitor
Contoh 1: Pengaturanjadwaldanruangankuliah
Contoh 2: Bilangan yang lebihbesardariduabilangan Mulai • Mulai • Masukkan A dan B • Apakah A > B? • BilaYa, cetak A • BilaTidak, cetak B • Selesai A … B … A > B? Ya Cetak A Tidak Cetak B Selesai
Contoh 3: Bilangan yang terbesardaritigabilangan Mulai A … B … C …. Tidak Ya Cetak B A > B? B > C? Ya Tidak Tidak A > C? Cetak C Ya Cetak A Selesai
Tugas: Buatmakalahtentang al-khwarizmi (sumber: perpustakaanatau internet sepertigoogledanwikipedia) Gambar flowchart untukmenyiapkansecangkir kopi (dimulaidarimemasak air sampaimenghidangkan kopi)! Gambar flowchart untukmencaribilanganterbesardariempatbilangan! Gambar flowchart untukmencaribilanganterbesardarisekumpulanbilangan! akudus69@yahoo.com deadline: 10 Oktober jam 12 tengah malam