pengenalan algoritma
TRANSCRIPT
PENGENALAN ALGORITMA
Materi Pengenalan Algoritma Mengetahui Pengantar dan Sejarah Mengetahui Algoritma dan Data Memahami Bahasa Pemrograman dan Paradigma Memahami Metode dan Correctness Algoritma Mengetahui Efisiensi dari Algoritma Memahami Ketidakefisienan dan Intractability Memahami Noncomputability dan Undecidability Mengetahui Algoritma yang Universal dan Kekuatannya Memahami Parallelism
KONTRAK KULIAH
• Tugas : 25%• Quis : 10%• UTS : 30%• UAS : 35%
AnalogiAnalogi• Jika seseorang ingin mengirim surat kepada Jika seseorang ingin mengirim surat kepada
kenalannya di tempat lain, langkah yang harus kenalannya di tempat lain, langkah yang harus dilakukan:dilakukan:
Langkah Langkah Menulis suratMenulis suratSurat dimasukkan ke dalam amplop tertutupSurat dimasukkan ke dalam amplop tertutupAmplop diberi alamat penerima dan pengirimAmplop diberi alamat penerima dan pengirimAmplop ditempeli perangko secukupnya.Amplop ditempeli perangko secukupnya.Pergi ke Kantor Pos terdekat untuk Pergi ke Kantor Pos terdekat untuk
mengirimkannyamengirimkannya
Masalah
Analisa Masalah
Pemecahan
Program
Komputer
Brainware
Software
Hardware
Manusia
APA ITU Algoritma ?• Definisi
• Urutan langkah-langkah untuk memecahkan masalah• Kamus Besar Bahasa Indonesia:
Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah
• Algoritma diwujudkan dalam bentuk Program Komputer• Berasal dari 'Algoritmi', bentuk Latin dari al-Khwarizmi,
matematikawan, ahli astronomi, dan ahli geografi dari Persia, kata ini mengacu pada aturan-aturan melakukan aritmatika menggunakan bilangan Hindu-Arab
Mengapa Algoritma ?Mengapa Algoritma ?
• Pembuatan atau penulisan algoritma tidak tergantung pada bahasa pemrograman manapun.
• Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
• Apapun bahasa pemrogramannya, output yang akan dikeluarkan sama karena algoritmanya sama.
Istilah• Program berisi urutan langkah-langkah penyelesaian
masalah.• Program ditulis dengan menggunakan bahasa
pemrograman.• Orang yang membuat program disebut pemrogram
(programmer).• Kegiatan merancang dan menulis program disebut
pemrograman.
Ciri Algoritma1. Finiteness
• Jumlah langkah dalam algoritma harus terbatas
2. Definiteness• Setiap langkah harus didefinisikan secara tepat, tidak
boleh membingungkan (ambiguous)3. Input
• Sebuah algoritma memiliki nol atau lebih input yang diberikan kepada algoritma sebelum dijalankan
4. Output• Sebuah algoritma memiliki satu atau lebih output, yang
biasanya bergantung kepada input5. Effectiveness
• Setiap algoritma diharapkan miliki sifat efektif
Belajar Memprogram vs
Belajar Bahasa Pemrogaman
• Belajar memprogram• Belajar tentang metodologi pemecahan masalah• Menuangkannya dalam suatu notasi tertentu yang mudah dibaca
dan dipahami
• Belajar bahasa pemrograman• Belajar memakai suatu bahasa yaitu aturan-aturan tata
bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program
Bahasa Pemrograman
Berdasarkan aplikasi kegunaannya, bahasa pemrograman dibagi menjadi 2 :1. Bhs pemrograman bertujuan khusus.
Contoh : Prolog
2. Bhs pemrograman bertujuan umum.Contoh : Pascal, C++
Bahasa Pemrograman
Berdasarkan bentuk bahasanya, bahasa pemrogaman dibagi menjadi 2 :
1. Bahasa Tingkat Rendah
Bahasa ini bersifat primitif, sulit dimengerti oleh
manusia. Contoh : Bahasa mesin
2. Bahasa Tingkat Tinggi
Bahasa ini lebih mudah dipahami, lebih
menyerupai bahasa manusia
Contoh : Pascal, C++
Tahapan Pelaksanaan Pembuatan Program
Algoritma
Program dlm Bahasa Tingkat Tinggi
Program dlm Bahasa Mesin
Interpretasi
Kompilasi + lingking
Interpretasi oleh CPU
Operasi (baca, tulis, hitung, perbandingan, dsb)
Penyusunan Algoritma
• Dasar penyusunan algoritma :
Secara prinsip tidak ada standar baku untuk menyusun algoritma.
Tiga cara menyusun algoritma :• Bahasa manusia• Pseudocode• Diagram Alir
Contoh Penyusunan Algoritma
Buatlah algoritma untuk menghitung Luas Lingkaran !
1. Menggunakan Bahasa Manusia1. Inputkan nilai jari-jari lingkaran
2. Hitung luas lingkaran menggunakan rumus :
3,14 x jari-jari x jari-jari3. Tampilkan nilai luas lingkaran
Contoh Penyusunan Algoritma
Buatlah algoritma untuk menghitung Luas Lingkaran !
2. Menggunakan Pseudocode1. Input jari-jari
2. luas 3,14 x jari-jari x jari-jari
3. Output luas
Contoh Penyusunan Algoritma3. Menggunakan Flowchart
Mulai
Masukkan nilaiJari-jari
Luas 3,14 x jari-jari x jari-jari
Tampilkan Luas
Selesai
Notasi Flowchart
Notasi Flowchart
Notasi Flowchart
Notasi Flowchart
Notasi Flowchart
Masalah Analisis Algoritma
Dua tipe analisis algoritma, yaitu :1. Memeriksa kebenaran algoritma
Dapat dilakukan dengan cara berurutan, memeriksa bentuk logika, implementasi algoritma, pengujian dengan data dan menggunakan cara matematika untuk membuktikan kebenaran.
2. Penyederhanaan Algoritma Membagi algoritma menjadi bentuk yang sederhana. Dalam analisis sebuah algoritma biasanya yang dijadikan ukuran adalah operasi aljabar seperti penjumlahan, pengurangan, perkalian dan pembagian, proses pengulangan (looping/Iterasi), proses pengurutan (sorting) dan proses pencarian (searching).