Pertemuan 1 Pengenalan Algoritma

download Pertemuan 1 Pengenalan Algoritma

of 16

description

Pertemuan 1 Pengenalan Algoritma

Transcript of Pertemuan 1 Pengenalan Algoritma

  • Konsep Dasar PemrogramanKamis, 11 Februari 2016

  • Sejarah Algoritma Awal mula dikenal dengan kata algorism, yang berarti proses menghitung denganangka arab.

    Orang yang menghitung menggunakan angka arab disebut dengan algorist.

    Ditemukan nama penulis buku arab yang terkenal yaitu Abu Jafar Muhammad IbnuMusa Al-Khuwarizmi. Al-Khuwarizmi dibaca orang barat menjadi algorist.

    Al-Khuwarizmi ini menulis buku yang berjudul Al Jabar Wal Muqabala. Dari buku inimuncul istilah aljabar (algebra).

    Karena berhubungan dengan angka-angka, penggunaan kata algorism seringdikelirukan dengan arithmetic. Sehingga menjadi algorithm yang dalam bahasaIndonesia disebut algoritma.

  • Definisi Algoritma

    Algoritma adalah urutan langkah-langkah logispenyelesaian masalah yang disusun secara sistematisdan logis.

  • Pertimbangan Memilih Algoritma

    Harus Benar

    Artinya algoritma akan memberikan keluaran yang dikehendaki dari masukan yang diberikan.

    Hasil yang baik

    Algoritma yang baikharus mampumemberikan hasil yang sedekat mungkindengan nilai yang sebenarnya.

    Efisiensi

    Efisiensi algoritma dapatditinjau dari 2 hal yaituefisiensi waktu danmemori. Waktu, berdasarkan pada lama running time algoritma. Memori, berdasarkanbesar memori yang terpakai.

  • Algoritma dan ProgramApakah algoritma sama dengan program?

    Algoritma Program Program adalah kumpulan pernyataan komputer.

    Algoritma adalah metode dan tahapan sistematis dalam program.

    Program ditulis dengan bahasa pemrograman.

    Program merupakan implementasi dari bahasa pemrograman.

    Program = Algoritma + Bahasa (Struktur Data)

  • Keuntungan Algoritma

    Pembuatan ataupenulisan algoritma

    tidak tergantung padabahasa pemrograman

    manapun.

    Notasi algoritma dapatditerjemahkan ke dalam

    berbagai bahasapemrograman.

    Apapun bahasapemrogramannya, output yang akan

    dikeluarkan sama karenaalgoritmanya sama.

  • Hal yang perlu diperhatikan

    Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.

    Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman.

    Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri.

    Notasi algoritmik bukan notasi bahasa pemrograman, karena itu pseudocode dalam notasi algoritmik tidak dapat dijalankan olehkomputer.

    Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.

  • Translasi Algoritma

    Hal yang harusdiperhatikan:

    Deklarasi variabel

    Pemilihan tipe data

    Pemakaian instruksi

    Aturan sintaks

    Tampilan hasil

    Pengoperasian compiler

  • Contoh Algoritma

    Siapkan sebungkusmie rebus, mangkukdan panci berisi air.

    Panaskan air tersebut sampai

    mendidih.

    Sembari menunggumendidih, masukkan

    bumbu ke dalammangkuk.

    Saat air sudahmendidih masukkanmie ke dalam panci.

    Setelah mie cukuplunak tiriskan dan

    masukkan ke dalammangkuk.

    Tambahkan bawanggoreng dan mie

    rebus siap disantap.

  • Prinsip Algoritma

    Dekralari variabelmasukan/input

    Proses

    Hasil/output

  • Memprogram dan Bahasa Pemrograman

    Belajar memprogram Belajar bahasa pemrogramanBelajar memprogram adalah belajar tentang metodologi pemecahan masalah,kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dandipahami.

    Belajar bahasa pemrograman berarti belajar memakai suatu bahasa aturan-aturan tatabahasanya, pernyataan-pernyataannya, tata cara pengoperasian compiler-nya, danmemanfaatkan pernyataan-pernyataan tersebut untuk membuat programyang ditulis hanya dalam bahasa itu saja.

  • Golongan Bahasa Pemrograman Berdasarkan Penerapan

    Bertujuan Khusus

    Cobol (untuk terapan bisnis danadministrasi).

    Fortran (terapan komputasi ilmiah)

    Bahasa rakitan (terapan pemrogramanmesin)

    Prolog (terapan kecerdasan buatan)

    Bahasa-bahasa simulasi, dan sebagainya.

    Bertujuan Umum

    Pascal

    C++

    C#

    C

    Java

  • Golongan Bahasa Pemrograman Berdasarkan Notasi Bahasa

    Bahasa Tingkat Rendah (Condong ke mesin)

    Bahasa jenis ini dirancang agar setiapinstruksinya langsung dikerjakan oleh komputer, tanpa harus melalui penerjemah (translator).

    Contohnya adalah bahasa mesin. CPU mengambilinstruksi dari memori, langsung mengerti danlangsung mengerjakan operasinya.

    Bahasa tingkat rendah bersifat primitif, sangatsederhana, orientasinya lebih dekat ke mesin, dansulit dipahami manusia.

    Bahasa Tingkat Tinggi (Condong ke manusia)

    Bahasa tingkat tinggi, yang membuat pemrogramanlebih mudah dipahami, lebih manusiawi, danberorientasi ke bahasa manusia (bahasa Inggris).

    Hanya saja, program dalam bahasa tingkat tinggitidak dapat langsung dilaksanakan oleh komputer.

    Ia perlu diterjemahkan terlebih dahulu oleh sebuahtranslator bahasa (yang disebut kompilator ataucompiler) ke dalam bahasa mesin sebelum akhirnyadieksekusi oleh CPU.

    Contoh bahasa tingkat tinggi adalah Pascal, PL/I, Ada, Cobol, Basic, Fortran, C, C++, dan sebagainya.

  • Kiat-kiat Belajar

    Belajar Memprogram

    Strategi pemecahan masalah, metodologi dan sistematikapemecahan masalahkemudian menuliskannyadalam notasi yang sudahdisepakati.

    Bersifat pemahamanpersoalan dan analisis.

    Titik berat ada pada desainprogram

    Belajar Bahasa Pemrograman

    Memakai suatu bahasapemrograman, aturan sintaksdan tata caranya untukmemanfaatkan pernyataanyang spesifik untuk setiapbahasa.

    Titik berat ada pada coding

    Produk Pemrogram

    Rancangan yang baik(metodologis dan sistematis)

    Dapat dieksekusi oleh mesin

    Berfungsi dengan benar.

    Sanggup melayani segalakemungkinan masukan.

    Disertai dokumentasi.

  • Syarat Algoritma yang Baik

    Tingkat kepercayaannyatinggi (realibility)

    Pemrosesanyang efisien (low

    cost)

    Sifatnya umum(general)

    Bisadikembangkan(expandable)

    Mudahdimengerti

    Portabilitas yang tinggi

    (portability)

    Presisi (tepat, betul, teliti)

    EfektifHarus ada stop

    (terminate)Output yang

    dihasilkan tepat.

  • TUGAS 11. Buatlah algoritma untuk pengecekan bilangan prima, genap dan ganjil. Masukan

    berupa bilangan bulat random.

    2. Buatlah algoritma untuk mengurutkan angka dari terkecil ke terbesar. Masukan berupa bilangan bulat random.

    3. Buatlah algoritma untuk menentukan berat badan ideal. Masukan berupa tinggi badan (cm).

    Ketentuan Tugas :

    Template laporan dapat di download pada http://tinyurl.com/jzqzsog

    Submit tugas di grup Edmodo.