Penjelasan Algoritma, Pseudocode, dan Flowchart Pertemuan 2 Penjelasan Algoritma, Pseudocode, dan Flowchart Renni Angreni, M.Kom. This slide is created by Tinaliah, M.Kom.
Program, Bahasa Pemrograman & Pemrograman ? = Kata, ekspresi, pernyataan yang disusun dan dirangkai menjadi satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah yang diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh komputer. Bahasa Pemrograman Pemrograman
Program Bahasa Pemrograman Pemrograman adalah prosedur atau tata cara penulisan program. Bahasa Pemrograman Pemrograman
? Program Bahasa Pemrograman Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman. Bahasa Pemrograman ? Pemrograman
Penyelesaian Masalah dengan Program Seseorang membuat suatu program biasanya bertujuan untuk menyelesaikan masalah. Namun, sebelum dapat menyelesaikan masalah dengan program, terdapat tiga langkah yang perlu dilakukan terlebih dahulu : Menganalisis masalah dan membuat algoritma. Menuangkan algoritma ke dalam bentuk program. Mengeksekusi dan menguji program.
Definisi Algoritma Asal usul kata Algoritma sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata Algorism yang berarti proses menghitung dengan angka Arab. Anda dikatakan Algorist jika anda menghitung menggunakan angka Arab. Para ahli sejarah matematika akhirnya menemukan asal kata Algorism yang berasal dari nama seorang ahli matematika dari Uzbekistan Abu Abdullah Muhammad Ibnu Musa Al- Khuwarizmi (770-840). Al-Khuwarizmi dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal- Muqabala yang artinya “Buku Pemugaran dan Pengurangan” (The book of restoration and reduction). Dari judul buku itu kita juga memperoleh akar kata “Aljabar” (Algebra). HARI SISWANTORO, S.T.
Algoritma Logika cara berpikir manusia untuk menyelesaikan suatu masalah. Algoritma urutan / langkah kerja yang akan dikerjakan untuk menyelesaikan satu permasalahan secara sistematis.
Algoritma – Syllogism (Logical Appeal) http://en.wikipedia.org/wiki/Syllogism
Contoh Algoritma yang Baik : Tulis surat pada secarik kertas surat. Ambil sampul surat atau amplop. Masukkan surat ke dalam amplop. Tutup amplop surat dengan lem pelekat. Tulis alamat surat yang dituju, jika tidak ingat terlebih dahulu ambil buku alamat dan cari alamat yang dituju, tulis alamat pada amplop surat. Tempelkan perangko pada amplop surat. Bawa surat ke kantor pos untuk diserahkan pada pegawai pos atau menuju bis surat dan masukkan surat kedalam kotak/ bis surat.
Algoritma Tukar isi Bejana Diberikan dua buah bejana A dan B, bejana A berisi larutan berwarna merah, bejana B berisi larutan berwarna biru. Pertukarkan isi kedua bejana itu sedemikian sehingga bejana A berisi larutan berwarna biru dan bejana B berisi larutan berwarna merah.
Algoritma Tukar isi Bejana DESKRIPSI : 1. Tuangkan larutan dari bejana A ke dalam bejana C. 2. Tuangkan larutan dari bejana B ke dalam bejana A. 3. Tuangkan larutan dari bejana C ke dalam bejana B.
Quiz Diberikan dua buah bejana A dan B, bejana A berkapasitas 5 liter sedangkan bejana B berkapasitas 3 liter. Tulislah algoritma untuk mengambil 4 liter air dengan hanya menggunakan kedua bejana tersebut! 5 liter 3 liter
Water Jug Problem 5 liter Misalkan Anda mempunyai ember, masing-masing bervolume 5 liter dan 3 liter. Anda diminta mendapatkan air dari sebuah danau sebanyak 4 liter dengan menggunakan bantuan hanya kedua ember tersebut (tidak ada peralatan lain yang tersedia, hanya kedua ember itu saja yang ada), terserah bagaimana caranya. Anda boleh memindahkan air dari satu ember ke ember lain, membuang seluruh air dari ember, dan sebagainya. Berikan algoritmanya dalam bahasa sehari-hari. 5 liter 3 liter
Cara Penulisan Algoritma Cara penulisan algoritma ada 3, yaitu : Uraian deskriptif menggunakan bahasa yang biasa digunakan sehari-hari. 2. Pseudocode menggunakan kode-kode yang telah disepakati dan mempunyai arti tertentu. 3. Bagan Alir (Flowchart) algoritma tersebut dituliskan dalam notasi grafik yang mempunyai arti tertentu. Slide from Yoan Fita Agustina, S.T.
Aturan Pemberian Nama dalam Algoritma Pemberian nama dalam algoritma mengikuti aturan baku penulisan nama variabel, konstanta, fungsi, prosedur dan lain lain. Aturan : 1. Unik dan tidak boleh ada dua nama yang sama. 2. Dimulai dengan huruf alfabet dan tidak boleh dimulai dengan angka, simbol, spasi atau karakter khusus lainnya. 3. Karakter penyusun nama adalah huruf, angka, dan simbol underscore. 4. Karakter penyusun nama tidak mengandung operator aritmatika, tanda baca, dan karakter khusus lainnya. 5. Tidak boleh mengandung spasi.
Contoh Pemberian Nama dalam Algoritma Contoh penamaan/ penulisan algoritma yang BAKU panjang luas_bangunan luasbangunan gaji Contoh penamaan/ penulisan algoritma yang TIDAK BAKU 1nilai nilai ujian semester @total jenis-1
Uraian Deskriptif Contoh : (Menghitung Luas Persegi Panjang) Masukkan panjang persegi panjang. Masukkan lebar persegi panjang. Kalikan lebar dan panjang untuk menghitung luasnya. Cetak luasnya. Slide from Yoan Fita Agustina, S.T.
Pseudocode Deklarasi variabel Deklarasi konstanta Algoritma NAMA_ALGORITMA {uraian singkat mengenai yang akan dilakukan algoritma ini} DEKLARASI {semua nama yang dipakai, meliputi nama tipe, nama tetapan, nama peubah, nama prosedur, dan nama fungsi didefinisikan di sini} DESKRIPSI {semua langkah/ aksi algoritma dituliskan di sini} Deklarasi variabel Deklarasi konstanta DEKLARASI Nilai_Angka, Rata_rata : double K : integer R : char DEKLARASI Const pi = 3.14 Const max = 250 Const min = 1
Pseudocode {Menghitung Luas Persegi Panjang} Contoh : Algoritma Luas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luaspanjang*lebar write(luas)
Pengisian Nilai Secara Langsung Simbol untuk pseudecode : Sebelah kiri anak panah selaku penerima nilai, Sebelah kanan anak panah selaku pemberi nilai. Nilai yang dikandung penerima adalah nilai terakhir yang diterima. Variabel tetapan {nilai tetapan diisikan ke dalam variabel} Variabel1 variabel2 {nilai variabel2 disalin ke dalam variabel1} Variabel ekspresi {hasil perhitungan diisikan ke dalam variabel (peubah) } h 5 { 5 diisikan ke dalam h } m 12 { 12 diisikan ke dalam m } h h + m { hasil perhitungan h + m diisikan ke dalam h } }
Algoritma - Pseudecode Nilai A ditambah dengan 5 A A + 5 Cetak nilai A bila A lebih besar dari 10 If A > 10 then write A Dari dua bilangan A dan B, cari bilangan yang terbesar If A > B then Else write B
Flowchart Flowchart adalah penggambaran secara grafik dari langkah- langkah dan urut-urutan prosedur dari suatu program. Flowchart menolong analyst dan programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebih kecil dan menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
Bagan Alir (FlowChart)
JENIS-JENIS FLOWCHART Flowchart terbagi atas lima jenis, yaitu : Flowchart Sistem (System Flowchart) Flowchart Paperwork / Flowchart Dokumen (Document Flowchart) Flowchart Skematik (Schematic Flowchart) Flowchart Program (Program Flowchart) Flowchart Proses (Process Flowchart)
1. FLOWCHART SISTEM Flowchart Sistem merupakan bagan yang menunjukkan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur- prosedur yang ada di dalam sistem. Flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem. Flowchart Sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentransformasikan data itu. Data dan proses dalam flowchart sistem dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).
2. FLOWCHART PAPERWORK / FLOWCHART DOKUMEN Flowchart Paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart Paperwork sering disebut juga dengan Flowchart Dokumen. Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan. Suatu contoh flowchart ini mengenai alur pembuatan kartu anggota untuk suatu perpustakaan :
FLOW DOKUMEN SISTEM BARU CALON ANGGOTA PERPUSTAKAAN KETERANGAN : # : Masukkan data calon anggota ke dalam komputer (proses pengisian data) P : Tanda tangan dan validasi data
3. FLOWCHART SKEMATIK Flowchart Skematik mirip dengan Flowchart Sistem yang menggambarkan suatu sistem atau prosedur. Flowchart Skematik ini bukan hanya menggunakan simbol- simbol flowchart standar, tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam sistem. Flowchart Skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart. Gambar-gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol-simbol yang digunakan. Gambar-gambar juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian.
4. FLOWCHART PROGRAM Flowchart Program dihasilkan dari Flowchart Sistem. Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukkan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programmer menggunakan flowchart program untuk menggambarkan urutan instruksi dari program komputer. Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.
FLOWCHART PROGRAM Catatan : flowchart program ini adalah rincian dari sistem flowchart sistem sebelumnya untuk kotak yang bernama “Tentukan Jumlah Pesanan”
5. FLOWCHART PROSES Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Flowchart Proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisis sistem, flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.
FLOWCHART PROSES
Notasi-notasi pada Flowchart Kondisi yang berupa pilihan Start / end Proses Konektor Input/Output Arah aliran Harga Awal Komentar Sub Program
Notasi-notasi pada Flowchart Simbol Gambar Keterangan 1 Terminal Digunakan untuk menunjukkan awal dan akhir dari program. 2 Persiapan Digunakan untuk memberikan nilai awal pada suatu variabel. 3 Pengolahan / Proses Digunakan untuk pengolahan arithmatika dan pemindahan data. 4 Keputusan/Kondisi/ Percabangan Digunakan untuk mewakili operasi perbandingan logika. 5 Input/Output Digunakan untuk menyatakan proses input/baca dan output/tulis. 6 Garis Digunakan untuk menyatakan urutan pelaksanaan, atau alur proses.
Simbol-simbol Flowchart
Contoh : (Menghitung Luas Persegi Panjang) mulai Baca panjang, lebar Luas = panjang * lebar Cetak Luas selesai
Uraian Deskriptif, Pseudecode, Flowchart mulai Baca panjang, lebar Luas = panjang * lebar Cetak Luas selesai Contoh : (Menghitung Luas Persegi Panjang) Masukkan panjang persegi panjang Masukkan lebar persegi panjang Kalikan lebar dan panjang untuk menghitung luasnya Cetak luasnya Contoh : Algoritma Luas_Persegi_Panjang {Menghitung Luas Persegi Panjang} Deklarasi panjang, lebar, luas : integer Deskripsi read(panjang) read(lebar) luaspanjang*lebar Write(luas)