230 likes | 455 Views
Algoritma & Pemrograman Chapter 2. Flowchart & Pseudocode. Febryanti Sthevanie (VAN) Politeknik Telkom Semester Ganjil TA 2010/2011. Latihan Logika 1.
E N D
Algoritma & PemrogramanChapter 2 Flowchart & Pseudocode FebryantiSthevanie (VAN) Politeknik Telkom Semester Ganjil TA 2010/2011
LatihanLogika 1 • Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B. Bagaimana algoritma jika diinginkan isi minuman pada gelas A dan B saling dipertukarkan? (gelas A berisi Kopi dan gelas B berisi Teh) • Misalkanterdapatsebuahatausejumlah bola berwarnamerah, kuning, hijaupadakotak A. Akandiambilsecaraacaksebuah bola darikotak A dandimasukkankekotak B yang kosong. BagaimanaAlgoritmanya?
JawabLatihanLogika No 1.1 1. {status awal: gelas A berisi Kopi, gelas B berisi Teh status akhir: gelas A berisi Teh, gelas B berisi Kopi} {Dibutuhkan sebuah gelas kosong yaitu gelas C} Algoritma Tuangkan Kopi ke gelas C Tuangkan Teh ke gelas A TuangkanKopi (padagelas C) kegelas B
LatihanLogika 2 • Seorang Petani akan berpergian ke kota dengan membawa seekor kambing, Anjing dan Rumput Yang ketiganya memliki berat yang tidak jauh berbeda, ditengah jalan petani harus menyebrangi sungai dengan menggunakan perahu dan untuk melaluinya petani tersebut tidak diperbolehkan membawa sekaligus bawaannya mengingat kapasitas kekuatan perahu tersebut, dan untuk melaluinya petani harus membawa satu persatu bawaannya . Ditanya: berapa kali petani tersebut harus melalui jembatan dengan memperhatikan bahwa kambing makan rumput, anjing makan kambing ? • BuatAlgoritmanya
Flowchart • Secara formal, flowchartdidefinisikansebagaiskemapenggambarandarialgoritmaatauproses. • Beberapacontohsimbolflowchart :
Page Connector Arrow Connector
Pedoman-pedomandalamMembuat Flowchart: • Baganalirsebaiknyadigambardariataskebawahdanmulaidaribagiankiridarisuatuhalaman. • Kegiatandidalambaganalirharusditunjukkandenganjelas. • Harusditunjukkandarimanakegiatanakandimulaidandimanaakanberakhirnya (diawalidarisatutitik START dandiakhiridengan END). • Masing-masingkegiatandidalambaganalirsebaiknyadigunakansuatukata yang mewakilisuatupekerjaan, misalnya: • "Persiapkan" dokumen • "Hitung" gaji • Masing-masingkegiatandidalambaganalirharusdidalamurutan yang semestinya. • Kegiatan yang terpotongdanakandisambungditempat lain harusditunjukkandenganjelasmenggunakansimbolpenghubung. • Gunakanlahsimbol-simbolbaganalir yang standar.
Contoh 1 • Buatalgoritmadan Flowchart untukMenghitungLuasSegitiga! Jawab: • Algoritma : • Masukkan alas (a) • Masukkantinggi (t) • Hitungluas (L), yaituhasil 0.5 * alas * tinggi • Cetakluas (L)
PengambilanKeputusan • Pengambilankeputusanperludilakukanapabilaharusmenentukansatupilihandari (minimal) duapilihan yang ada • Kondisiadalah problem / keadaan yang memilikikemungkinanpilihan • Kondisidapatberupaperbandinganataupunpernyataanboolean (true ataufalse)
NotasiRelasional • Dalammelakukanpengujiankondisi, terdapatbeberapanotasi yang dapatdigunakan, contohnyamenggunakannotasirelasional
Aljabar Boolean • AljabarbooleanadalahKalkuluslogika yang digunakanuntukmenentukannilaikebenarandarisuatuekspresilogika • Teknikaljabarinidikembangkanoleh George Boole padatahun 1930an • Aljabarbooleandigunakanjikasaatprosespengambilankeputusanterdapatbeberapasyaratsekaligus • Contohkasus : • Pengendarawajibmemiliki SIM dan STNK sebagaisyaratmengendaraikendaraandijalan. • Syaratmembukatabunganadalahdenganmenunjukkanfoto kopi KTP atau SIM.
OperasiDasarAljabar Boolean • AND : ataudalambahasa Indonesia adalahhubungan “DAN”. • Ekspresikonektor AND bernilaiTRUE jikaKeduakondisiterpenuhi • Ekspresikonektor AND bernilaiFALSE jikaSalahSatuatauKeduakondisitidakterpenuhi. • OR : ataudalambahasa Indonesia adalahhubungan “ATAU”. • Ekspresikonektor OR bernilaiTRUE jikaKeduaatauSalahSatukondisiterpenuhi • Ekspresikonektor OR bernilaiFALSE jikaKeduakondisitidakterpenuhi. • NOT : ataudalambahasa Indonesia adalah”TIDAK”.
Contoh3 • BuatAlgoritmaPenterjemahan Total NilaiMahasiswadarinilai UTS, UAS dan TUGAS dalamangkamenjadinilaiindeks. Aturan : • Indeks A : untuk Total nilai 85 s/d 100 • Indeks B : untuk Total nilai 70 s/d 84 • Indeks C : untuk Total nilai 50 s/d 69 • Indeks D : untuk Total nilai 35 s/d 49 • Indeks E : untuk Total nilai 0 s/d 34
Jawab: • Algoritma : • Inputannilai UTS • Inputannilai UAS • Inputannilai TUGAS • Hitung Total Nilai (N) denganrumus N= nilai UTS + nilai UAS + nilai TUGAS • Cekapakah 85 ≤ N ≤ 100 • JikaYamakakeluarkanindeks A, jikaTidakmakamasukkeprosespengecekanselanjutnya • Cekapakah 70 ≤ N ≤ 84 • JikaYamakakeluarkanindeks B, jikaTidakmakamasukkeprosespengecekanselanjutnya • Cekapakah 50 ≤ N ≤ 69 • JikaYamakakeluarkanindeks C, jikaTidakmakamasukkeprosespengecekanselanjutnya • Cekapakah 35 ≤ N ≤ 49 • JikaYamakakeluarkanindeks D, jikaTidakmakamasukkeprosespengecekanselanjutnya • Cekapakah 0 ≤ N ≤ 34 • JikaYamakakeluarkanindeks E, jikaTidakmakakeluarkanperingatanbahwainputannilaitidakberadadalam range 100 s/d 0 (Nilaiinputansalah)
START InputanNilai UTS InputanNilai UAS InputanNilai TUGAS Ya Tidak Hitung Total Nilai (N) N = Nilai UTS + Nilai UAS + Nilai TUGAS Ya Tidak Ya 85 ≤ N ≤ 100 Cetak “A” Tidak Ya Tidak Ya 70 ≤ N ≤ 84 Cetak “B” Tidak 50 ≤ N ≤ 69 Cetak “C” 35 ≤ N ≤ 49 Cetak “D” 0 ≤ N ≤ 34 Cetak “E” CetakPeringatan “MaafInputanAndaSalah” END
Perulangan • Contoh : Seorangstaf IT dimintauntukmenampilkanNamaPegawaipadasuatuperusahaandengancaramembacatabel yang berisi list namapegawai yang sudahdisediakanolehperusahaantersebut. Nama yang ditampilkanadalahnamapegawaidengan no urut 1 paling pertamaatau no.1 • Algoritma : • TerimaInputan : No Urut = 1 • Membaca data Namapegawaipadatabelsesuai No Urut yang diinputkan • TampilkanNamaPegawai
TUGAS Staf IT yang baru : dimintauntukmenampilkanSEMUA NamaPegawaipadasuatuperusahaandengancaramembacatabel yang berisi list namapegawai yang sudahdisediakanolehperusahaantersebut. Perusahaan tersebutmemiliki 100 pegawai. • Algoritma?????
Latihan 2 • BuatlahAlgoritmadanFlowchart untukkasusdibawahini • Menghitunghasil kali 3 buahbilangan. • Menentukan status bilangan (GanjilatauGenap) • Menentukansiapakah yang memilikiumurlebihtuaantarasi X dansi Y. • Menentukanjumlahpoin bonus yang didapatkanseorang customer padasaatberbelanjadisebuah supermarket. Denganaturanpemberian point adalahpembelanjaandiatasRp. 100.000 mendapatkan 1 point, pembelanjaandiatas Rp.250.000 mendapatkan 2 point, pembelanjaandiatasRp. 500.000 mendapatkan 3 point. Pemberian point tidakberlakukelipatan.