1 / 34

Struktur Dasar Algoritma

Struktur Dasar Algoritma. MASALAH dan SOLUSI. ALGORITMA. SOURCE CODE. MASALAH. HASIL. EXECUTABLE CODE. RUN. ALGORITMA. Algoritma urutan langkah-langkah yang logis utuk memecahkan masalah

snowy
Download Presentation

Struktur Dasar Algoritma

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. StrukturDasarAlgoritma

  2. MASALAH dan SOLUSI ALGORITMA SOURCE CODE MASALAH HASIL EXECUTABLE CODE RUN Pendahuluan

  3. ALGORITMA • Algoritma • urutan langkah-langkah yang logis utuk memecahkan masalah • Kata algoritma diambil dari nama seorang ilmuwan Persia Abu Ja’far Mohammed Ibn Mûsâ al-Khowârizmî • menulis buku berjudulKitab Al jabr w’al-muqabala (rules of restoration and reduction, pada sekitar tahun 825). Pendahuluan

  4. JENIS PROSES ALGORITMA • Sequence, runut • Langkahkeduadikerjakansetelahmengerjakanlangkappertama • Selection, pemilihan • Jikasyaratterpenuhimakakerjakan proses X • Jikasyarattidakterpenuhimakakerjakan proses Y • Iteration, pengulangan • Proses dikerjakanberulang kali sampaikondisitidakmemenuhi Pendahuluan

  5. NOTASI ALGORITMA (FLOWCHART) Terminal, mengawali atau mengakhiri rangkaian proses Input/Output, membaca masukan atau menampilkan keluaran Process, mengolah Decision, memeriksa kondisi Connector, menggabung proses Pendahuluan

  6. NOTASI ALGORITMA (FLOWCHART) Start A Langkah ke-1: Proses A B Langkah ke-2: Proses B SEQUENCE RUNUT C Langkah ke-3: Proses C D Langkah ke-4: Proses D Stop Pendahuluan

  7. NOTASI ALGORITMA (FLOWCHART) Start SELECTION PEMILIHAN A Ya B ATAU Ke-1: Proses A Ke-2: Proses B Ke-3: Proses D C Ke-1: Proses A Ke-2: Proses B Ke-3: Proses C Ke-4: Proses D D Stop Pendahuluan

  8. NOTASI ALGORITMA (FLOWCHART) Start SELECTION PEMILIHAN A Ya B C D Ke-1: Proses A Ke-2: Proses B Ke-3: Proses D Ke-4: Proses E Ke-1: Proses A Ke-2: Proses B Ke-3: Proses C Ke-4: Proses E E Stop Pendahuluan

  9. NOTASI ALGORITMA (FLOWCHART) Start ITERATION PENGULANGAN A Ke-1: Proses A Ke-2: Proses B Ke-3: Proses C Ke-4: Proses B Ke-5: Proses C … Ke-n-1: Proses B Ke-n: Proses D C B Ya D Stop Pendahuluan

  10. NOTASI ALGORITMA (PSEUDOCODE) input, read, get, key-in Masukan Keluaran print, write, display  Pemberian nilai if <kondisi benar> <proses> else <proses> endif Pemilihan if <kondisi benar> <proses> endif Pendahuluan

  11. NOTASI ALGORITMA (PSEUDOCODE) for <kondisi benar> <proses> endfor PENGULANGAN while <kondisi benar> <proses> endwhile do <kondisi benar> <proses> while <kondisi benar> repeat <proses> until <kondisi benar> Pendahuluan

  12. NOTASI ALGORITMA (KODE MAYA) isi, baca, masukkan, ketik, baca file Masukan tulis, cetak, tampil , rekam Keluaran  Pemberian nilai Pemilihan Pengulangan jika <kondisi benar> <proses> selain itu <proses> akhir jika ulangiselama <kondisi benar> <proses> akhir pengulangan ulangi <proses> sampai <kondisi benar> jika <kondisi benar> <proses> akhir jika Pendahuluan

  13. MENGECAT DINDING Toko Indo April mau mengecat dinding kedua sisi, 12m2 perlu sekaleng cat. Berapa kaleng cat diperlukan? Masukan ? Keluaran ? Panjang dinding Tinggi dinding Jumlah kaleng cat Pj1, Tg1, Pj2, Tg2 Algoritma Kaleng Flowchart Pseudodcode Kode Maya Pendahuluan

  14. MENGECAT DINDING 12m2 perlu sekaleng cat. A Start Read Pj1, Tg1, Pj2, Tg2 Klg= Ls / 12 Print Klg Ls= Pj1*Tg1 + Pj2*Tg2 Stop A Pendahuluan

  15. MENGECAT DINDING 12m2 perlu sekaleng cat. PSEUDOCODE read panjang1, tinggi1, panjang2, tinggi2 luas panjang1 * tinggi1 + panjang2 * tinggi2 kalengluas / 12 print kaleng Pendahuluan

  16. MENGECAT DINDING 12m2 perlu sekaleng cat. KODE MAYA baca panjang1, tinggi1, panjang2, tinggi2 luas panjang1 * tinggi1 + panjang2 * tinggi2 kalengluas / 12 cetak kaleng Pendahuluan

  17. POTONGAN HARGA SUSU Toko Indo April memberi potongan harga susu 20%, maksimum 3 kaleng atau kotak. Berapa uang yang harus dibayar pembeli? Masukan ? Keluaran ? Jumlah yang dibeli Harga sekaleng Uang yang harus dibayar Jumlah, Harga Algoritma Bayar Flowchart Pseudodcode Kode Maya Pendahuluan

  18. POTONGAN HARGA SUSU Potongan 20%, maksimum 3. A Start Read HRG, JML Print BYR Stop Ya JML  3 BYR= 3*HRG*0.8 + (JML-3)*HRG BYR= JML*HRG*0.8 A Pendahuluan

  19. POTONGAN HARGA SUSU Potongan 20%, maksimum 3. PSEUDOCODE input harga, jumlah if jumlah <= 3 bayar  jumlah * harga * 0.8 else bayar  (3 * harga * 0.8) + (jumlah – 3) * harga endif printbayar Pendahuluan

  20. POTONGAN HARGA SUSU Potongan 20%, maksimum 3. KODE MAYA baca harga, jumlah jika jumlah <= 3 bayar  jumlah * harga * 0.8 selain itu bayar  (3 * harga * 0.8) + (jumlah – 3) * harga akhir jika cetak bayar Pendahuluan

  21. SYARAT ALGORITMA • Finiteness • Algoritma harus berakhir, terminate, halt • Definiteness • Langkah algoritma harus didefinisikan dengan tepat dan tidak ambiguous • Input • Algoritma memerlukan masukan untuk diolah • Output • Algoritma memberi hasil keluaran • Effectiveness • Langkah algoritma dikerjakan dalam waktu yang wajar Pendahuluan

  22. PEMECAHAN MASALAH • Definisi masalah • Membuat model • Merancang algoritma • Menulis program • Kompilasi program • Run dan hasil • Dokumentasi Pendahuluan

  23. SIKLUS PEMECAHAN MASALAH DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGO TULIS PROGRAM COMPILE Y S.Err RUN Y O.Err DOKU-MENTASI Pendahuluan

  24. SIKLUS PEMECAHAN MASALAH MASALAH Berapa besarnya biaya untuk memasang keramik pada suatu kamar belajar? DATA YANG DIPERLUKAN Bentuk ruangan ? Ukuran ruangan ? Ukuran keramik ? Harga keramik ? Upah kerja ? Persegi panjang pj ruang dan lb ruang pj krmik dan lb krmik harga perbox, keping perbox upah permeter Pendahuluan

  25. SIKLUS PEMECAHAN MASALAH MODEL PERHITUNGAN hitung kebutuhan keramik hitung upah kerja total biaya = biaya krmik + upah kerja Pendahuluan

  26. SIKLUS PEMECAHAN MASALAH get pj_ruang, lb_ruang get pj_krmik, lb_krmik get harga_perbox, keping_perbox get upah_permeter krmik_sisi_pj  pj_ruang \ pj_krmik krmik_sisi_lb  lb_ruang \ lb_krmik jml_krmik  krmik_sisi_pj * krmik_sisi_lbr jml_cadang  5% * jml_krmik total_krmik  jumlah_krmik + jumlah_cadang biaya_krmik  total_krmik \ keping_perbox * harga_perbox biaya_upah  pj_ruang * lb_ruang / upah_permeter total_biaya  biaya_krmik + biaya_upah print total_biaya masukan proses keluaran Pendahuluan

  27. SIKLUS PEMECAHAN MASALAH # include <stdio.h> void main() { int pj_ruang, lb_ruang, pj_krmik, lb_krmik, keping; float harga, upah, bea_krmik, bea_upah; int sisi_pj, sisi_lb, butuh; scanf("%d %d", &pj_ruang, &lb_ruang); scanf("%d %d", &pj_krmik, &lb_krmik); scanf("%f %d %f", &harga, &keping, &upah); sisi_pj = ceil(pj_ruang / pj_krmik); sisi_lb = ceil(lb_ruang / lb_krmik); butuh = ceil (sisi_pj * sisi_lb * 1.05); bea_krmik = butuh / keping * harga; bea_upah = pj_ruang * lb_ruang * upah / 10000; printf("bea keramik = %.0f \n", bea_krmik); printf("bea upah = %.0f \n", bea_upah); printf("total bea = %.0f", bea_krmik + bea_upah); } Pendahuluan

  28. SIKLUS PEMECAHAN MASALAH # include <stdio.h> void main() { int pj_ruang, lb_ruang, pj_krmik, lb_krmik, keping; float harga, upah, bea_krmik, bea_upah; int sisi_pj, sisi_lb, butuh; scanf("%d %d", &pj_ruang, &lb_ruang); scanf("%d %d", &pj_krmik, &lb_krmik); scanf("%f %d %f", &harga, &keping, &upah); sisi_pj = ceil(pj_ruang / pj_krmik); sisi_lb = ceil(lb_ruang / lb_krmik); butuh = ceil (sisi_pj * sisi_lb * 1.05); bea_krmik = butuh / keping * harga; bea_upah = pj_ruang * lb_ruang * upah / 10000; printf("bea keramik = %.0f \n", bea_krmik); printf("bea upah = %.0f \n", bea_upah); printf("total bea = %.0f", bea_krmik + bea_upah); } ERROR Function ‘ceil’ should have a prototype Pendahuluan

  29. SIKLUS PEMECAHAN MASALAH # include <stdio.h> # include <math.h> void main() { int pj_ruang, lb_ruang, pj_krmik, lb_krmik, keping; float harga, upah, bea_krmik, bea_upah; int sisi_pj, sisi_lb, butuh; scanf("%d %d", &pj_ruang, &lb_ruang); scanf("%d %d", &pj_krmik, &lb_krmik); scanf("%f %d %f", &harga, &keping, &upah); sisi_pj = ceil(pj_ruang / pj_krmik); sisi_lb = ceil(lb_ruang / lb_krmik); butuh = ceil (sisi_pj * sisi_lb * 1.05); bea_krmik = butuh / keping * harga; bea_upah = pj_ruang * lb_ruang * upah / 10000; printf("bea keramik = %.0f \n", bea_krmik); printf("bea upah = %.0f \n", bea_upah); printf("total bea = %.0f", bea_krmik + bea_upah); } tambahkan Success Pendahuluan

  30. SIKLUS PEMECAHAN MASALAH 200 320 30 30 50000 5 75000 bea keramik = 600000 bea upah = -11520 total bea = 588480 Pendahuluan

  31. SIKLUS PEMECAHAN MASALAH # include <stdio.h> # include <math.h> void main() { float pj_ruang, lb_ruang, pj_krmik, lb_krmik; float harga, keping, upah; float sisi_pj, sisi_lb, butuh, bea_krmik, bea_upah; scanf("%f %f", &pj_ruang, &lb_ruang); scanf("%f %f", &pj_krmik, &lb_krmik); scanf("%f %f %f", &harga, &keping, &upah); sisi_pj = ceil(pj_ruang / pj_krmik); sisi_lb = ceil(lb_ruang / lb_krmik); butuh = ceil (sisi_pj * sisi_lb * 1.05); bea_krmik = ceil(butuh / keping) * harga; bea_upah = pj_ruang * lb_ruang * upah / 10000; printf("bea keramik = %.0f \n", bea_krmik); printf("bea upah = %.0f \n", bea_upah); printf("total bea = %.0f", bea_krmik + bea_upah); } Success Pendahuluan

  32. SIKLUS PEMECAHAN MASALAH 200 320 30 30 50000 5 75000 bea keramik = 850000 bea upah = 480000 total bea = 1330000 100 100 20 20 10000 10 50000 bea keramik = 30000 bea upah = 50000 total bea = 80000 Pendahuluan

  33. SIKLUS PEMECAHAN MASALAH Pendahuluan

  34. Terimakasih Pendahuluan

More Related