Algoritma Pemrograman 1 Algoritma Algorithm berasal dari kata algoritmi, nama latin seorang cendikiawan muslim dari Uzbekistan yang bernama Abu Ja’far Muhammad bin Musa Al-Khwarizmi. 2 Sebuah perangko yang diterbitkan pada 6 Sept 1983 oleh Uni Sovyet, untuk memperingati 1.200 tahun Al-Khwarizmi. 3 Apa itu Algoritma? Definisi : Algoritma adalah urutan logis langkah-langkah penyelesaian masalah Apa Hubungan Algoritma & Program Komputer? Program komputer adalah realisasi teknis dari sebuah algoritma. 5 Belajar Bahasa Pemrograman Belajar bahasa pemrograman berarti belajar memakai suatu bahasa pemrograman, aturan tata bahasanya, instruksinya, tata cara pengoperasian kompilernya dan memanfaatkan istruksi tersebut untuk membuat program yang ditulis dalam bahasa tersebut. 6 Belajar Memprogram Belajar memprogram berarti belajar tentang metodologi pemecahan masalah, kemudian menuangkan algoritma pemecahan masalah dalam suatu notasi algoritmik 7 Tahapan Pembuatan Program • Mendefinisikan masalah dan menganalisanya. Mencakup : tujuan pembuatan program, parameter yang digunakan, fasilitas yang disediakan, algoritma yang diterapkan dan bahasa program yang digunakan. • Merealisasikan dengan langkah-langkah sebagai berikut : 8 Notasi Algoritmik Notasi algoritmik bersifat independen terhadap bahasa pemrograman sehingga dapat diterjemahkan ke dalam berbagai bahasa pemrograman. Ada dua notasi yang umum digunakan: 1. Flow chart (diagram alir) 2. Pseudo-code (menyerupai notasi bahasa pemrograman tingkat tinggi) 9 Algoritma Adalah inti dari ilmu komputer. Algoritma adalah urutan-urutan dari instruksi atau langkah-langkah untuk menyelesaikan suatu masalah. Algoritma adalah blueprint dari program. Sebaiknya disusun sebelum membuat program. Kriteria suatu algoritma: – Ada input dan output – Efektivitas dan efisien – Terstruktur 10 Contoh Algoritma 1 Mengirim surat kepada teman: 1. Tulis surat pada secarik kertas surat. 2. Ambil sampul surat. 3. Masukkan surat ke dalam sampul. 4. Tutup sampul surat menggunakan perekat. 5. Jika kita ingat alamat teman tersebut, maka tulis alamat pada sampul surat. 6. Jika tidak ingat, lihat buku alamat, kemudian tulis alamat pada sampul surat. 7. Tempel perangko pada surat. 8. Bawa surat ke kantor pos untuk diposkan. 11 Contoh Algoritma 2 Mencari akar bulat positif dari bilangan bulat (integer) positif a: 1. Masukkan bilangan bulat positif a 2. Berikan harga awal x sama dengan 1 3. Hitung y sebesar x * x 4. Jika y sama dengan a maka cetak x sebagai akar dari a. Selesai 5. Tambah nilai x dengan 1 6. Pergi ke langkah 3. 12 Contoh Algoritma 3 Menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap. 1. Masukkan sebuah bilangan sembarang 2. Bagi bilangan tersebut dengan bilangan 2 3. Hitung sisa hasil bagi pada langkah 2. 4. Bila sisa hasil bagi sama dengan 0 maka bilangan itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil. 13 Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Merupakan cara penyajian dari suatu algoritma. Ada 2 macam Flowchart : – System Flowchart urutan proses dalam system dengan menunjukkan alat media input, output serta jenis media penyimpanan dalam proses pengolahan data. – Program Flowchart urutan instruksi yang digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu program. 14 Contoh Program Flowchart Start Print Judul READ Data Ya Akhir file ? End Tidak Ya Kode = "P" PRINT Nama, Alamat "Perempuan" Tidak 15 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) 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. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedurprosedur 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). 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. 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 gambargambar 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. 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 PROSES Flowchart Proses merupakan teknik penggambaran rekayasa industrial yang memecah dan menganalisis langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Simbol-simbol Flowchart Flow Direction Symbols (Simbol penghubung alur) Processing Symbols (Simbol proses). Input-output Symbols (Simbol input-output) 25 Simbol-simbol Flowchart 26 Simbol-simbol Flowchart 27 Pembuatan Flowchart Tidak ada kaidah yang baku. Flowchart = gambaran hasil analisa suatu masalah Flowchart dapat bervariasi antara satu pemrogram dengan pemrogram lainnya. Secara garis besar ada 3 bagian utama: – Input – Proses – Output 28 Pembuatan Flowchart Hindari pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi singkat. Jalannya proses digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas. Sebuah flowchart diawali dari satu titik START dan diakhiri dengan END. 29 Contoh 1 Flowchart 30 Contoh 2 Flowchart 31