Presentasi sedang didownload. Silahkan tunggu

Presentasi sedang didownload. Silahkan tunggu

Struktur Dasar Algoritma

Presentasi serupa


Presentasi berjudul: "Struktur Dasar Algoritma"— Transcript presentasi:

1 Struktur Dasar Algoritma

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 berjudul Kitab Al jabr w’al-muqabala (rules of restoration and reduction, pada sekitar tahun 825). Pendahuluan

4 JENIS PROSES ALGORITMA
Sequence, runut Langkah kedua dikerjakan setelah mengerjakan langkap pertama Selection, pemilihan Jika syarat terpenuhi maka kerjakan proses X Jika syarat tidak terpenuhi maka kerjakan proses Y Iteration, pengulangan Proses dikerjakan berulang kali sampai kondisi tidak memenuhi 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 D Ke-1: Proses A Ke-2: Proses B Ke-3: Proses C Ke-4: Proses D Stop Pendahuluan

8 NOTASI ALGORITMA (FLOWCHART)
Start SELECTION PEMILIHAN A Ya B D C Ke-1: Proses A Ke-2: Proses B Ke-3: Proses D Ke-4: Proses E E Ke-1: Proses A Ke-2: Proses B Ke-3: Proses C Ke-4: Proses 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)
Masukan input, read, get, key-in Keluaran print, write, display Pemberian nilai Pemilihan if <kondisi benar> <proses> else endif 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 Keluaran tulis, cetak, tampil , rekam Pemberian nilai Pemilihan Pengulangan jika <kondisi benar> <proses> selain itu akhir jika ulangi selama <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. Start A Read Pj1, Tg1,
Klg= Ls / 12 Ls= Pj1*Tg1 + Pj2*Tg2 Print Klg 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. Start A Read HRG, Print
JML Print BYR JML  3 Ya Stop 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 print bayar 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 Definiteness Input Output Effectiveness
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
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
30 30 bea keramik = bea upah = total bea = 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
30 30 bea keramik = bea upah = total bea = 20 20 bea keramik = 30000 bea upah = 50000 total bea = 80000 Pendahuluan

33 SIKLUS PEMECAHAN MASALAH
O // menghitung biaya pemasangan keramik # 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); } Pendahuluan

34 Terima kasih Pendahuluan


Download ppt "Struktur Dasar Algoritma"

Presentasi serupa


Iklan oleh Google