MASALAH dan SOLUSI ALGORITMA SOURCE CODE MASALAH HASIL
- Slides: 24
MASALAH dan SOLUSI ALGORITMA SOURCE CODE MASALAH HASIL EXECUTABLE CODE RUN ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 0
ALGORITMA ¡ Algoritma l ¡ 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î l menulis buku berjudul Kitab Al jabr w’almuqabala (rules of restoration and reduction, pada sekitar tahun 825). ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 1
JENIS PROSES ALGORITMA ¡ Sequence, runut l ¡ Selection, pemilihan l l ¡ Langkah kedua dikerjakan setelah mengerjakan langkap pertama Jika syarat terpenuhi maka kerjakan proses X Jika syarat tidak terpenuhi maka kerjakan proses Y Iteration, pengulangan l Proses dikerjakan berulang kali sampai kondisi tidak memenuhi ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 2
NOTASI ALGORITMA (FLOWCHART) Terminal, mengawali atau mengakhiri rangkaian proses Input/Output, membaca masukan atau menampilkan keluaran Process, mengolah Decision, memeriksa kondisi Connector, menggabung proses ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 3
NOTASI ALGORITMA (FLOWCHART) Start SELECTION PEMILIHAN A B ATAU Ke-1: Proses A Ke-2: Proses B Ke-3: Proses D Ya C D Stop ALGORITMA dan STRUKTUR DATA: Bahasa C Ke-1: Ke-2: Ke-3: Ke-4: Proses A B C D Pendahuluan 4
NOTASI ALGORITMA (FLOWCHART) Start SELECTION PEMILIHAN A B C D Ke-1: Ke-2: Ke-3: Ke-4: Proses A B D E Ya E Stop ALGORITMA dan STRUKTUR DATA: Bahasa C Ke-1: Ke-2: Ke-3: Ke-4: Proses A B C E Pendahuluan 5
NOTASI ALGORITMA (PSEUDOCODE) Masukan input, read, get, key-in Keluaran print, write, display Pemberian nilai Pemilihan if <kondisi benar> <proses> else <proses> endif if <kondisi benar> <proses> endif ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 6
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 ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 7
POTONGAN HARGA SUSU Potongan 20%, maksimum 3. Start A Read HRG, JML Print BYR JML 3 BYR= 3*HRG*0. 8 + (JML-3)*HRG Ya Stop BYR= JML*HRG*0. 8 A ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 8
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 ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 9
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 ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 10
SYARAT ALGORITMA 1. Finiteness l 2. Definiteness l 3. Algoritma memerlukan masukan untuk diolah Output l 5. Langkah algoritma harus didefinisikan dengan tepat dan tidak ambiguous Input l 4. Algoritma harus berakhir, terminate, halt Algoritma memberi hasil keluaran Effectiveness l Langkah algoritma dikerjakan dalam waktu yang wajar ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 11
PEMECAHAN MASALAH A. B. C. D. E. F. G. Definisi masalah Membuat model Merancang algoritma Menulis program Kompilasi program Run dan hasil Dokumentasi ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 12
SIKLUS PEMECAHAN MASALAH DEFINISI MASALAH MEMBUAT MODEL RANCANG ALGO TULIS PROGRAM COMPILE Y S. Err RUN Y ALGORITMA dan STRUKTUR DATA: Bahasa C O. Err DOKUMENTASI Pendahuluan 13
SIKLUS PEMECAHAN MASALAH Berapa besarnya biaya untuk memasang keramik pada suatu kamar belajar? DATA YANG DIPERLUKAN Persegi panjang Bentuk ruangan ? pj ruang dan lb ruang Ukuran ruangan ? pj krmik dan lb krmik Ukuran keramik ? harga perbox, keping perbox Harga keramik ? upah permeter Upah kerja ? ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 14
SIKLUS PEMECAHAN MASALAH MODEL PERHITUNGAN hitung kebutuhan keramik hitung upah kerja total biaya = biaya krmik + upah kerja ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 15
SIKLUS PEMECAHAN MASALAH get pj_ruang, lb_ruang masukan get pj_krmik, lb_krmik get harga_perbox, keping_perbox get upah_permeter krmik_sisi_pj pj_ruang pj_krmik proses 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 keluaran ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 16
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 = %. 0 f n", bea_krmik); printf("bea upah = %. 0 f n", bea_upah); printf("total bea = %. 0 f", bea_krmik + bea_upah); } ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 17
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); ERROR 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 = %. 0 f n", bea_krmik); printf("bea upah = %. 0 f n", bea_upah); printf("total bea = %. 0 f", bea_krmik + bea_upah); } Function ‘ceil’ should have a prototype ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 18
SIKLUS PEMECAHAN MASALAH # include <stdio. h> # include <math. h> tambahkan 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 = %. 0 f n", bea_krmik); printf("bea upah = %. 0 f n", bea_upah); printf("total bea = %. 0 f", bea_krmik + bea_upah); } Success ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 19
SIKLUS PEMECAHAN MASALAH 200 320 30 30 50000 5 75000 bea keramik = 600000 bea upah = -11520 total bea = 588480 ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 20
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 = %. 0 f n", bea_krmik); printf("bea upah = %. 0 f n", bea_upah); printf("total bea = %. 0 f", bea_krmik + bea_upah); } Success ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 21
SIKLUS PEMECAHAN MASALAH 200 320 30 30 50000 5 75000 bea keramik = 850000 bea upah = 480000 total bea = 1330000 100 20 20 10000 10 50000 bea keramik = 30000 bea upah = 50000 total bea = 80000 ALGORITMA dan STRUKTUR DATA: Bahasa C Pendahuluan 22
SIKLUS PEMECAHAN MASALAH O O O O 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 = %. 0 f n", bea_krmik); printf("bea upah = %. 0 f n", bea_upah); printf("total bea = %. 0 f", bea_krmik + bea_upah); } ALGORITMA dan STRUKTUR DATA: Bahasa C O O O O O Pendahuluan 23
- Pohon masalah dan pohon solusi
- Contoh root cause
- Merumuskan solusi masalah
- Merumuskan solusi masalah
- Difference between source code and machine code
- Analogi dan cara memecahkan masalah algoritma
- Contoh instrumen identifikasi masalah pembelajaran
- Code commit code build code deploy
- Solusi it bisnis
- Contoh soal metode iterasi titik tetap
- Syukur sebagai solusi hidup
- Ruang solusi diorganisasikan ke dalam
- Solusi umum dari persamaan diferensial
- Solusi optimum adalah
- Gauss naif
- Contoh soal persamaan non linier
- Solusi persamaan nirlanjar
- Solusi sistem persamaan linear
- Solusi covid
- Urutan penyelesaian masalah adalah algoritma
- Kriteria greedy
- Nyatakan pernyataan masalah
- Masalah-masalah khusus dalam penyusunan laporan arus kas
- Laporan arus kas
- Teknik pengolahan hasil evaluasi