minggu ke-2 Imam Fahrur Rozi PENULISAN ALGORITMA minggu ke-2 Imam Fahrur Rozi
PENULISAN ALGORITMA Flowchart Pseudocode
Flowchart Flowchart merupakan representasi berbasis grafis yang menunjukan urutan langkah-langkah atau instruksi-instruksi yang harus dikerjakan dalam menyelesaikan suatu masalah Setiap tipe langkah digambarkan dengan jenis simbol yang berbeda
Flowchart Menunjukan langkah per langkah dari suatu algoritma Menekankan pada tiap langkah dari suatu algoritma dan koneksinya dengan langkah lainnya dalam suatu rangkaian algoritma
Simbol Flowchart ** Selain simbol-simbol di atas, masih ada simbol-simbol lain yang disediakan oleh flowchart. Akantetapi untuk keperluan matakuliah ini, simbol-simbol dasar di atas yang sering digunakan
3 Aliran Kontrol dalam Algoritma Pada bahasan sebelumnya, disebutkan bahwa ada 3 aliran kontrol dalam algoritma, yaitu: Berurutan atau sequence Pemilihan atau seleksi kondisi Pengulangan atau repetisi
Flowchart untuk Sequence Proses a Proses b Proses c
Flowchart untuk Pemilihan Kondisi ? T F Proses a Proses b
Flowchart untuk Pemilihan Kondisi ? F T Proses a
Flowchart untuk Pengulangan Kondisi ? F T Proses
Contoh Menghitung hasil penjumlahan dari 3 bilangan
Total bilangan1+bilangan2+bilangan3 Algoritma Start Input bilangan1 bilangan2 bilangan3 Input: bilangan1, bilangan2 dan bilangan3 Output: hasil penjumlahan Proses: Masukan nilai bilangan1, bilangan2 dan bilangan3 Jumlahkan bilangan1, bilangan2 dan bilangan3 Output-kan hasil penjumlahan Total bilangan1+bilangan2+bilangan3 Output total Stop
Contoh Menghitung suhu rata-rata dalam suatu hari tertentu. Suhu rata-rata tersebut dihitung dengan menghitung nilai rata-rata dari suhu minimal dan suhu maksimal pada hari tersebut
rata2 (suhu-min+suhu-max) / 2 Start Input suhu-min suhu-max rata2 (suhu-min+suhu-max) / 2 Output rata2 Stop
Contoh Menghitung waktu yang dibutuhkan oleh mesin pemotong rumput, untuk memotong rumput di pekarangan suatu rumah yang berbentuk segi empat. Tanah tempat rumah dibangun juga berupa segi empat. Dan kecepatan memotong mesin adalah 2.5 meter2 per menit.
waktu (pjg-tanah*lbr-tanah – pjg-rumah*lbr-rumah) / kecp Start Input pjg-tanah, lbr-tanah, pjg-rumah, lbr-rumah kecp 2.5 waktu (pjg-tanah*lbr-tanah – pjg-rumah*lbr-rumah) / kecp Output waktu Stop
waktu (pjg-tanah*lbr-tanah – pjg-rumah*lbr-rumah) / 2.5 atau Start Input pjg-tanah, lbr-tanah, pjg-rumah, lbr-rumah waktu (pjg-tanah*lbr-tanah – pjg-rumah*lbr-rumah) / 2.5 Output waktu Stop
Pesudocode Outline dari sebuah program komputer Bisa ditulis dengan bahasa apapun (Inggris, Indonesia dsb) Tidak ada keterkaitan dengan suatu bahasa pemrograman tertentu Menggunakan kata kunci-kata kunci yagn sudah umum untuk menggambarkan proses
Pseudocode: Masukan Sewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah “Read”, “Get”, “Baca” ,”Input” Contoh: Input bilangan1 Baca bilangan2 Read jariJari Get panjang
Pseudocode: Keluaran Pada saat komputer menampilkan informasi ataupun output, maka statement yang biasa digunakan adalah “Print”, “Write”, “Put”, “Output”, “Display” ataupun “Cetak” Contoh: Print luas Output total Display gaji Cetak nilai
Pseudocode: Perhitungan Aritmatika Untuk melakukan operasi aritmeaka digunakan pseudocode berikut: + untuk penjumlahan (add) - Untuk pengurangan (subtract) * Untuk perkalian (mulaply) / Untuk pembagian (divide) () Untuk kurung Statement “Compute”, “Calculate” ataupun “Hitung” juga dapat digunakan. Contoh: Add bilangan1 and bilangan2 to total total = bilangan1 + bilangan2
Pseudocode: Memberikan Nilai Ada bebrapa cara untuk memberikan nilai ke dalam variabel : Memberikan nilai awal, menggunakan statement “Initialize” atau “Set” Memberikan nilai sebagai hasil dari suatu proses, maka tanda “=“ atau ”” bisa digunakan Untuk menyimpan suatu nilai maka statement “Save” atau “Store” digunakan Contoh: Set counter to 0 Initialize counter to 0 total bilangan1 + bilangan2 luas = panjang * lebar
Pseudocode : Operasi Pembandingan Untuk membandingkan nilai antara 2 variabel, digunakan < <= > >= == != Operasi ini menghasilkan kondisi benar atau salah Contoh: a > b c == d
Pseudocode : Operasi Relasional Biasanya digunakan untuk me-relasikan 2 keadaan atau kondisi Menghasilkan nilai true dan false Kata kunci: AND, OR Contoh: umur < 15 AND nilai > 70 nilai == ‘A’ OR nilai == ‘B’
Pseudocode: Pemilihan Salah satu operasi terpenting yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternaaf solusi. Keyword yang digunakan : “IF”, “THEN” dan “ELSE” Contoh INPUT harga IF harga >100 THEN harga = harga-(0.5*harga) ELSE harga = harga-(0.1*harga) ENDIF OUTPUT harga
Pseudocode: Pengulangan Jika ada beberapa perintah atau proses yang harus diulang, maka dapat digunakan keyword “DOWHILE” dan “ENDDO”. Contoh bil 0 DOWHILE bil < 10 OUTPUT bil bil bil +1 ENDDO
Pseudocode : Jenis Data Menyatakan jenis data apa yang akan disimpan dalam suatu variabel Bilangan bulat : integer Bilangan pecahan : float Karakter : char Kata/kalimat/kumpulan karakter : string Benar atau salah : boolean
Struktur Pseudocode PROGRAM Menjumlahkan 3 bilangan DEKLARASI bilangan1, bilangan2, bilangan3, total : integer ALGORITMA input bilangan1, bilangan2, bilangan3 total bilangan1+bilangan2+bilangan3 output total
Contoh Menghitung suhu rata-rata dalam suatu hari tertentu. Suhu rata-rata tersebut dihitung dengan menghitung nilai rata-rata dari suhu minimal dan suhu maksimal pada hari tersebut
Struktur Pseudocode PROGRAM Menghitung suhu rata-rata DEKLARASI suhu-min, suhu-max, rata2 : float ALGORITMA input suhu-min, suhu-max, rata2 rata2 (suhu-min + sumu-max) / 2 output rata2
Contoh Menghitung waktu yang dibutuhkan oleh mesin pemotong rumput, untuk memotong rumput di pekarangan suatu rumah yang berbentuk segi empat. Tanah tempat rumah dibangun juga berupa segi empat. Dan kecepatan memotong mesin adalah 2.5 meter per menit.
Struktur Pseudocode PROGRAM Menghitung waktu mesin pemotong rumput DEKLARASI pjg-tanah, lbr-tanah, pjg-rumah, lbr-rumah : integer waktu, kecp : float ALGORITMA input pjg-tanah, lbr-tanah, pjg-rumah, lbr-rumah kecp 2.5 waktu (pjg-tanah*lbr-tanah - pjg-rumah*lbr-rumah) / kecp output waktu
LATIHAN Buat algoritma untuk menghitung luas permukaan balok dan volume balok Buat algoritma untuk menghitung nilai rata-rata dari 3 bilangan bulat Buat algoritma untuk menukarkan isi/nilai dari 2 data/variabel Buat algoritma untuk menghitung hasil pembagian dari 2 bilangan Buat algoritma untuk menghitung hasil pengurangan 2 bilangan, dengan hasil yang tidak boleh negatif