1 / 52

Bahan Rencana Pengajaran Algoritma dan Struktur Data

Bahan Rencana Pengajaran Algoritma dan Struktur Data. Dibuat oleh : Tinaliah , S. Kom. Triana Elizabeth, S.Kom. Tata tertib. Tidak boleh memakai sandal Tidak boleh makan dan minum di kelas

orsin
Download Presentation

Bahan Rencana Pengajaran Algoritma dan Struktur Data

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. BahanRencanaPengajaranAlgoritmadanStruktur Data Dibuatoleh : Tinaliah, S. Kom Triana Elizabeth, S.Kom

  2. Tata tertib • Tidakbolehmemakai sandal • Tidakbolehmakandanminum di kelas • Tugas, Kuis, UTS, dan UAS tidakbolehada yang mencontek, copy - paste atausebagainya. Jikaada yang Melanggarakanlangsungmendapatnilai 0. • Akan ada point tambahanuntukmahasiswa yang aktif.

  3. Kehadiran • AbsensiKehadiran minimal 75% • Absensidibawah 75% tidakbolehmengikuti UAS

  4. Penilaian • Kuis 10% • Tugas 20% • UTS 30% • UAS 40%

  5. SILABUS ALGORITMA danSTRUKTUR DATA (4 SKS)

  6. ---SELESAI---

  7. AlgoritmadanStruktur Data • Algoritma • Pseudecode • Flowchart

  8. Program • Pemrograman Program, BahasaPemrograman & Pemrograman kata, ekspresi, pernyataan yang disusun dan dirangkaimenjadisatukesatuanprosedur yang berupaurutanlangkahuntukmenyelesaikanmasalah yang diimplementasikandenganmenggunakanbahasapemrogramansehinggadapatdieksekusiolehkomputer. • BahasaPemrograman

  9. Program • Pemrograman Program, BahasaPemrograman & Pemrograman adalahproseduratautatacarapenulisan program. • BahasaPemrograman

  10. Program • Pemrograman Program, BahasaPemrograman & Pemrograman adalahproses mengimplementasikanurutanlangkahuntukmenyelesaikansuatumasalahdenganmenggunakansuatubahasapemrograman. • BahasaPemrograman

  11. PenyelesaianMasalahdengan Program • Seseorangmembuatsuatu program biasanyabertujuanuntukmenyelesaikanmasalah. Namunsebelumdapatmenyelesaikanmasalahdengan program, terdapattigalangkah yang perludilakukanterlebihdahulu : • Menganalisismasalahdanmembuatalgoritma • Menuangkanalgoritmakedalambentuk program • Mengeksekusidanmenguji program

  12. DefinisiAlgoritma • Asalusul kata Algoritmasendirimempunyaisejarah yang aneh. Orang hanyamenemukan kata Algorism yang berarti proses menghitungdenganangkaarab. AndadikatakanAlgoristjikaandamenghitungmenggunakanAngka Arab. • Para ahlisejarahmatematikaakhirnyamenemukanasal kata algorism yang berasal dari nama seorang ahli matematika dari Uzbekistan Abu Abdullah Muhammad Ibnu Musa Al-Khuwarizmi(770-840). • Al-Khuwarizmidibaca orang baratmenjadi Algorism. Al-Khuwarizmimenulisbuku yang berjudulKitab Al JabarWal- Muqabala yang artinya “Bukupemugarandanpengurangan” (The book of restoration and reduction). Dari judulbukuitukitajugamemperolehakar kata “Aljabar” (Algebra). HARI SISWANTORO, S.T.

  13. Algoritma Logika  cara berpikir manusia untuk menyelesaikan suatu masalah. Algoritma  urutan/langkah kerja yang akan dikerjakan untuk menyelesaikan satu permasalahan secara sistematis.

  14. Algoritma – Syllogism(logical appeal) http://en.wikipedia.org/wiki/Syllogism

  15. Contoh Algoritma yang baik : • Tulis surat pada secarik kertas surat • Ambil sampul surat atau amplop • Masukkan surat ke dalam amplop • Tutup amplop surat dengan lem pelekat • Tulis alamat surat yang dituju, jika tidak ingat terlebih dahulu ambil buku alamat dan cari alamat yang dituju, tulis alamat pada amplop surat • Tempelkan perangko pada amplop surat • Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju bis surat dan masukkan surat kedalam kotak/bis surat

  16. Algoritma Tukar isi Bejana Diberikanduabuahbejana A dan B, bejana A berisi larutanberwarnamerah, bejana B berisilarutan berwarnabiru. Pertukarkanisikeduabejanaitu sedemikiansehinggabejana A berisilarutan berwarnabirudanbejana B berisilarutanberwarna merah.

  17. Algoritma Tukar isi Bejana DESKRIPSI : 1. Tuangkanlarutandaribejana A kedalambejana C. 2. Tuangkanlarutandaribejana B kedalambejana A. 3. Tuangkanlarutandaribejana C kedalambejana B.

  18. Quiz Diberikanduabuahbejana A dan B, bejana A berkapasitas 5 liter sedangkanbejana B berkapasitas 3 liter. Tulislahalgoritmauntukmengambil 4 liter air denganhanyamenggunakankeduabejanatersebut! 5 liter 3 liter

  19. 3 liter 5 liter Water Jug Problem • Misalkanandamempunyai ember, masing-masingbervolume 5 liter dan 3 liter. Andadimintamendapatkan air darisebuahdanausebanyak4 literdenganmenggunakanbantuanhanyakedua ember tersebut(tidakadaperalatan lain yang tersedia, hanyakedua ember itusaja yang ada!), terserahbagaimanacaranya. Andabolehmemindahkan air darisatu ember ke ember lain, membuangseluruh air dari ember, dansebagainya. Berikanalgoritmanyadalambahasasehari-hari.

  20. Cara Penulisan Algoritma • Cara penulisan algoritma ada 3, yaitu : • Uraian deskriptif •  menggunakan bahasa yang biasa digunakan sehari-hari. • 2. Pseudocode •  menggunakan kode-kode yang telah disepakati dan mempunyai arti tertentu • 3. Bagan alir (Flowchart) •  algoritma tersebut dituliskan dalam notasi grafik yang mempunyai arti tertentu Slide from Yoan Fita Agustina, S.T.

  21. AturanPemberianNamadalamAlgoritma • Pemberiannamadalamalgoritmamengikutiaturanbaku • Namavariabel, konstanta, fungsi, prosedurdan lain lain. • Aturan : 1. Unikdantidakbolehadaduanama yang sama. 2. Dimulaidenganhurufalfabetdantidakbolehdimulaidenganangka, simbol, spasiataukarakterkhususlainnya. 3. KarakterPenyusunnamaadalahhuruf, angkadansimbol _ (underscore). 4. Karakterpenyusunnamatidakmengandung operator aritmatika, tandabacadankarakterkhususlainnya. 5. Tidakbolehmengandungspasi.

  22. ContohPemberianNamadalamAlgoritma • ContohPenamaanAlgoritma yang BAKU panjang luas_bangunan luasbangunan gaji1 • ContohPenamaanAlgoritma yang TIDAK BAKU 1nilai nilaiujian semester @total jenis-1

  23. Uraian Deskriptif • Contoh : (Menghitung Luas Persegi Panjang) • Masukkan panjang persegi panjang • Masukkan lebar persegi panjang • Kalikan lebar dan panjang untuk menghitung luasnya • Cetak luasnya Slide from Yoan Fita Agustina, S.T.

  24. Pseudocode Algoritma NAMA_ALGORITMA {uraiansingkatmengenai yang akandilakukanalgoritmaini} DEKLARASI {semuanama yang dipakai, meliputinamatipe, namatetapan, namapeubah, namaprosedur, dannamafungsididefinisikan di sini} DESKRIPSI {semualangkah / aksialgoritmadituliskan di sini} • Deklarasivariabel • Deklarasi konstanta DEKLARASI Nilai_Angka, Rata_rata : double K : integer R : char DEKLARASI Const pi = 3.14 Const max = 250 Const min = 1

  25. Pengisiannilaisecaralangsung • Simbolutkpseudecode : ‘’ • Sebelahkirianakpanahselakupenerimanilai, • Sebelahkanananakpanahselakupemberinilai. • Nilaiyang dikandungpenerimaadalahnilaiterakhir yang diterima. Variabeltetapan {nilaitetapandiisikankedalam variable} Variabel1  variable2 {nilai variable2 disalinkedalam variable1} Variabelekspresi {hasilperhitungandiisikankedalam variable {peubah} h  5 { 5 diisikankedalam h } m  12 { 12 diisikankedalam m } h  h + m { hasilperhitungan h + m diisikankedalam h }

  26. Algoritma - Pseudecode

  27. Pseudocode Contoh : AlgoritmaLuas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luaspanjang*lebar Write(luas)

  28. Flowchart • Flowchart adalahpenggambaransecaragrafikdarilangkah-langkahdanurut-urutanprosedurdarisuatu program. Flowchart menolonganalisdan programmer untukmemecahkan masalah kedalam segmen-segmen yang lebih kecil dan menolong dalammenganalisisalternatif-alternatif lain dalampengoperasian. • Flowchart biasanyamempermudahpenyelesaiansuatumasalahkhususnyamasalah yang perludipelajaridandievaluasilebihlanjut.

  29. BaganAlir (FlowChart)

  30. JENIS-JENIS FLOWCHART Flowchart terbagi atas lima jenis, yaitu : • Flowchart Sistem (System Flowchart) • Flowchart Paperwork / Flowchart Dokumen(Document Flowchart) • Flowchart Skematik (Schematic Flowchart) • Flowchart Program (Program Flowchart) • Flowchart Proses (Process Flowchart)

  31. FLOWCHART SISTEM • Flowchart Sistemmerupakanbagan yang menunjukkanalurkerjaatauapa yang sedangdikerjakan di dalamsistemsecarakeseluruhandanmenjelaskanurutandariprosedur-prosedur yang ada di dalamsistem. • Flowchart inimerupakandeskripsisecaragrafikdariurutanprosedur-prosedur yang terkombinasi yang membentuksuatusistem. • Flowchart Sistemterdiridari data yang mengalirmelaluisistemdan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistemdapatdigambarkansecaraonline (dihubungkanlangsungdengankomputer) atau offline (tidakdihubungkanlangsungdengankomputer, misalnyamesintik, cash register ataukalkulator).

  32. FLOWCHART PAPERWORK / FLOWCHART DOKUMEN • Flowchart Paperwork menelusurialurdari data yang ditulismelaluisistem. Flowchart Paperwork seringdisebutjugadengan Flowchart Dokumen. • Kegunaanutamanyaadalahuntukmenelusurialur form danlaporansistemdarisatubagiankebagian lain baikbagaimanaalur form danlaporandiproses, dicatatdandisimpan. • Suatucontoh flowchart inimengenaialurpembuatankartu anggota untuk suatu perpustakaan :

  33. FLOW DOKUMEN SISTEM BARU CALON ANGGOTA PERPUSTAKAAN KETERANGAN : # : Masukkan data calonanggotakedalamkomputer (proses pengisian data) P : Tanda tangan dan validasi data

  34. FLOWCHART SKEMATIK • Flowchart Skematikmiripdengan Flowchart Sistem yang menggambarkansuatusistematauprosedur. Flowchart Skematikinibukanhanyamenggunakansimbol- simbol flowchart standar, tetapijugamenggunakangambar-gambarkomputer, peripheral, form-form atauperalatan lain yang digunakandalamsistem. • Flowchart Skematikdigunakansebagaialatkomunikasiantaraanalissistemdenganseseorang yang tidak familiar dengansimbol-simbol flowchart yang konvensional. • Pemakaiangambarsebagaigantidarisimbol-simbol flowchart akanmenghematwaktu yang dibutuhkanolehseseoranguntukmempelajarisimbolabstraksebelumdapatmengerti flowchart. • Gambar-gambarinimengurangikemungkinansalahpengertiantentangsistem, halinidisebabkanolehketidak-mengertiantentangsimbol-simbol yang digunakan. • Gambar-gambarjugamemudahkanpengamatuntukmengertisegalasesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salahpengertian.

  35. FLOWCHART PROGRAM • Flowchart Program dihasilkan dari Flowchart Sistem. • Flowchart Program merupakanketerangan yang lebihrincitentangbagaimanasetiaplangkah program atauprosedursesungguhnyadilaksanakan. Flowchart inimenunjukkansetiaplangkah program atauprosedurdalamurutan yang tepatsaatterjadi. • Programmer menggunakan flowchart program untukmenggambarkanurutaninstruksidari program komputer. • AnalisSistemmenggunakan flowchart program untukmenggambarkanurutantugas-tugaspekerjaandalamsuatuproseduratauoperasi.

  36. FLOWCHART PROGRAM • Catatan : flowchart program iniadalahrinciandarisistem flowchart sistemsebelumnyauntukkotak yang bernama “TentukanJumlahPesanan”

  37. FLOWCHART PROSES • Flowchart Proses merupakanteknikpenggambaranrekayasa industrial yang memecahdanmenganalisislangkah-langkahselanjutnyadalamsuatuproseduratausistem. • Flowchart Proses digunakanolehperekayasa industrial dalammempelajaridanmengembangkan proses-proses manufacturing. Dalamanalisissistem, flowchart inidigunakansecaraefektifuntukmenelusurialursuatulaporanatau form

  38. FLOWCHART PROSES

  39. Notasi-notasi pada Flowchart Kondisi yang berupa pilihan Start / end Proses Konektor Input/Output Arah aliran Harga Awal Komentar Sub Program

  40. Notasi-notasi pada Flowchart

  41. Simbol-simbol Flowchart

  42. mulai Baca panjang, lebar Luas=panjang * lebar Cetak Luas selesai Contoh : (menghitung Luas Persegi Panjang)

  43. mulai Baca panjang, lebar Luas=panjang * lebar Cetak Luas selesai Uraian Deskriptif, Pseudecode, Flowchart Contoh : AlgoritmaLuas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luaspanjang*lebar Write(luas) Contoh : (Menghitung Luas Persegi Panjang) • Masukkan panjang persegi panjang • Masukkan lebar persegi panjang • Kalikan lebar dan panjang untuk menghitung luasnya • Cetak luasnya

  44. Contoh : Pseudecode Kelulusan AlgoritmaKelulusan_mhs {diberikannamadannilaimahasiswa, jikanilaitersebutlebihbesaratausamadengan 60 makamahasiswatersebutdinyatakan lulus jikatidakmakadinyatakantidak lulus} DEKLARASI : nama: string nilai: integer keterangan: string DESKRIPSI : read (nama, nilai) if nilai >= 60 then keterangan = ‘lulus’ else keterangan = ‘tidak lulus’ write(nama, keterangan)

  45. Contoh: Mencarinilaiterbesardari 2 bilangan Problem: mencaribilanganterbesardariduabilangan yang diinputkan ContohAlgoritma: 1) Masukkanbilanganpertama 2) Masukkanbilangankedua 3) Jikabilanganpertama > bilangankeduamakakerjakanlangkah 4, jikatidak, kerjakanlangkah 5. 4) Tampilkanbilanganpertama 5) Tampilkanbilangankedua ContohPseudocode: read(a, b) If(a > b) then write a else write b

More Related