520 likes | 773 Views
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
E N D
BahanRencanaPengajaranAlgoritmadanStruktur Data Dibuatoleh : Tinaliah, S. Kom Triana Elizabeth, S.Kom
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.
Kehadiran • AbsensiKehadiran minimal 75% • Absensidibawah 75% tidakbolehmengikuti UAS
Penilaian • Kuis 10% • Tugas 20% • UTS 30% • UAS 40%
AlgoritmadanStruktur Data • Algoritma • Pseudecode • Flowchart
Program • Pemrograman Program, BahasaPemrograman & Pemrograman kata, ekspresi, pernyataan yang disusun dan dirangkaimenjadisatukesatuanprosedur yang berupaurutanlangkahuntukmenyelesaikanmasalah yang diimplementasikandenganmenggunakanbahasapemrogramansehinggadapatdieksekusiolehkomputer. • BahasaPemrograman
Program • Pemrograman Program, BahasaPemrograman & Pemrograman adalahproseduratautatacarapenulisan program. • BahasaPemrograman
Program • Pemrograman Program, BahasaPemrograman & Pemrograman adalahproses mengimplementasikanurutanlangkahuntukmenyelesaikansuatumasalahdenganmenggunakansuatubahasapemrograman. • BahasaPemrograman
PenyelesaianMasalahdengan Program • Seseorangmembuatsuatu program biasanyabertujuanuntukmenyelesaikanmasalah. Namunsebelumdapatmenyelesaikanmasalahdengan program, terdapattigalangkah yang perludilakukanterlebihdahulu : • Menganalisismasalahdanmembuatalgoritma • Menuangkanalgoritmakedalambentuk program • Mengeksekusidanmenguji program
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.
Algoritma Logika cara berpikir manusia untuk menyelesaikan suatu masalah. Algoritma urutan/langkah kerja yang akan dikerjakan untuk menyelesaikan satu permasalahan secara sistematis.
Algoritma – Syllogism(logical appeal) http://en.wikipedia.org/wiki/Syllogism
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
Algoritma Tukar isi Bejana Diberikanduabuahbejana A dan B, bejana A berisi larutanberwarnamerah, bejana B berisilarutan berwarnabiru. Pertukarkanisikeduabejanaitu sedemikiansehinggabejana A berisilarutan berwarnabirudanbejana B berisilarutanberwarna merah.
Algoritma Tukar isi Bejana DESKRIPSI : 1. Tuangkanlarutandaribejana A kedalambejana C. 2. Tuangkanlarutandaribejana B kedalambejana A. 3. Tuangkanlarutandaribejana C kedalambejana B.
Quiz Diberikanduabuahbejana A dan B, bejana A berkapasitas 5 liter sedangkanbejana B berkapasitas 3 liter. Tulislahalgoritmauntukmengambil 4 liter air denganhanyamenggunakankeduabejanatersebut! 5 liter 3 liter
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.
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.
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.
ContohPemberianNamadalamAlgoritma • ContohPenamaanAlgoritma yang BAKU panjang luas_bangunan luasbangunan gaji1 • ContohPenamaanAlgoritma yang TIDAK BAKU 1nilai nilaiujian semester @total jenis-1
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.
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
Pengisiannilaisecaralangsung • Simbolutkpseudecode : ‘’ • Sebelahkirianakpanahselakupenerimanilai, • Sebelahkanananakpanahselakupemberinilai. • Nilaiyang dikandungpenerimaadalahnilaiterakhir yang diterima. Variabeltetapan {nilaitetapandiisikankedalam variable} Variabel1 variable2 {nilai variable2 disalinkedalam variable1} Variabelekspresi {hasilperhitungandiisikankedalam variable {peubah} h 5 { 5 diisikankedalam h } m 12 { 12 diisikankedalam m } h h + m { hasilperhitungan h + m diisikankedalam h }
Pseudocode Contoh : AlgoritmaLuas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luaspanjang*lebar Write(luas)
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.
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)
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).
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 :
FLOW DOKUMEN SISTEM BARU CALON ANGGOTA PERPUSTAKAAN KETERANGAN : # : Masukkan data calonanggotakedalamkomputer (proses pengisian data) P : Tanda tangan dan validasi data
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.
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.
FLOWCHART PROGRAM • Catatan : flowchart program iniadalahrinciandarisistem flowchart sistemsebelumnyauntukkotak yang bernama “TentukanJumlahPesanan”
FLOWCHART PROSES • Flowchart Proses merupakanteknikpenggambaranrekayasa industrial yang memecahdanmenganalisislangkah-langkahselanjutnyadalamsuatuproseduratausistem. • Flowchart Proses digunakanolehperekayasa industrial dalammempelajaridanmengembangkan proses-proses manufacturing. Dalamanalisissistem, flowchart inidigunakansecaraefektifuntukmenelusurialursuatulaporanatau form
Notasi-notasi pada Flowchart Kondisi yang berupa pilihan Start / end Proses Konektor Input/Output Arah aliran Harga Awal Komentar Sub Program
mulai Baca panjang, lebar Luas=panjang * lebar Cetak Luas selesai Contoh : (menghitung Luas Persegi Panjang)
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) luaspanjang*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
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)
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