Dasar Dasar Algoritma

23
Dasar- Dasar Algoritma

description

Algo

Transcript of Dasar Dasar Algoritma

Page 1: Dasar Dasar Algoritma

Dasar- Dasar Algoritma

Page 2: Dasar Dasar Algoritma

Struktur Sistem Komputer :

Page 3: Dasar Dasar Algoritma

Siklus Hidup Perangkat Lunak

Dilihat dari Struktur Sistem Komputer dan Siklus diatas, Algoritma Pemrograman menempati posisi dibagian software dan di bagian implementasi karena bagian implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program.)

Page 4: Dasar Dasar Algoritma

Algoritma :Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration and reduction) sekitar tahun 825 M

Page 5: Dasar Dasar Algoritma

Defenisi AlgoritmaAlgoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat. Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.

Page 6: Dasar Dasar Algoritma

Contoh : Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus dilakukan adalah :

Menulis surat Surat dimasukkan ke dalam amplop

tertutup Amplop ditempeli perangko

secukupnya Pergi ke Kantor Pos terdekat untuk

mengirimkannya

Page 7: Dasar Dasar Algoritma

Algoritma menghitung luas persegi panjang:

Masukkan panjang (P) Masukkan lebar (L) L = P * L Tulis L

Contoh :

Page 8: Dasar Dasar Algoritma

Definisi Algoritma adalah urutan langkah-langkah logispenyelesaian masalah yang disusun secara sistematis.

Algoritma TUKAR ISI BEJANADiberikan dua buah bejana A dan B, bejana A berisilarutan berwarna merah, bejana B berisi larutanberwarna biru. Pertukarkan isi kedua bejana itusedemikian sehingga bejana A berisi larutanberwarna biru dan bejana B berisi larutan berwarnamerah.DESKRIPSI :– Tuangkan larutan dari bejana A ke dalam bejana B– Tuangkan larutan dari bejana B ke dalam bejana A.

Page 9: Dasar Dasar Algoritma

• Algoritma TUKAR ISI BEJANA di atas tidakmenghasilkan pertukaran yang benar. Langkahdi atas tidak logis, hasil pertukaran yang terjadiadalah percampuran kedua larutan tersebut.

• Untuk mempertukarkan isi duah bejana,diperlukan sebuah bejana tambahan sebagaitempat penampungan sementara, misalnyabejana C. Maka algoritma untuk menghasilkanpertukaran yang benar adalah sebagai berikut :

Page 10: Dasar Dasar Algoritma

Algoritma Tukar Isi BejanaDiberikan dua buah bejana A dan B, bejana A berisilarutan berwarna merah, bejana B berisi larutanberwarna biru. Pertukarkan isi kedua bejana itusedemikian sehingga bejana A berisi larutanberwarna biru dan bejana B berisi larutan berwarnamerah.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.

Page 11: Dasar Dasar Algoritma

• Algoritma harus berhenti setelah mengerjakansejumlah langkah terbatas.• Setiap langkah harus didefinisikan dengantepat dan tidak berarti-dua (Ambiguitas).• Algoritma memiliki nol atau lebih masukkan.• Algoritma memiliki nol atau lebih keluaran.• Algoritma harus efektif (setiap langkah harussederhana sehingga dapat dikerjakan dalamwaktu yang masuk akal).

Ciri Penting Algoritma

Page 12: Dasar Dasar Algoritma

Dalam bidang komputer, algoritma sangat diperlukan dalam menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris. Tanpa algoritma yang dirancang baik maka proses pemrograman akan menjadi salah, rusak, atau lambat dan tidak efisien Pelaksana algoritma adalah Komputer. Manusia dan komputer berkomunikasi dengan cara : manusia memberikan perintah-perintah kepada komputer berupa instruksi-instruksi yang disebut program

Page 13: Dasar Dasar Algoritma

• Komputer adalah alat bantu untukmenyelesaikan masalah.• Dalam menyelesaian masalah dengankomputer perlu merumuskan langkah langkahpenyelesaian masalah dalamsekumpulan instruksi.• Sekumpulan instruksi yang dimengertioleh komputer yang disebut denganprogram

Page 14: Dasar Dasar Algoritma

Alat yang digunakan untuk membuat program tersebut adalah bahasa pemrograman.

Bahasa pemrograman dapat dikategorikan dalam :

Bahasa tingkat tinggi [HLL] : PASCAL, C, Java, PHP, ASP Bahasa tingkat menengah[MLL] : Assembly Bahasa tingkat rendah [LLL] : Machine Code

Dari berbagai bahasa pemrograman cara memberikan instruksinya berbeda-beda namun bertujuan menghasilkan output yang sama

Page 15: Dasar Dasar Algoritma

Bahasa Pemrograman : Program yang ditulis dalam bahasa pemrograman akan diterjemahkan ke dalam bahasa mesin (biner) menggunakan penterjemah.

Interpreter :

Menterjemahkan baris per baris instruksi [Bahasa Basic]Compiler

Menterjemahkan setelah seluruh instruksi di tulis [Pascal, C]

Page 16: Dasar Dasar Algoritma

• Belajar memprogram adalah belajar tentangmetodologi pemecahan masalah, kemudianmenuangkannya dalam suatu notasi tertentuyang mudah dibaca dan dipahami.

• Belajar bahasa pemrograman adalah belajarmemakai suatu bahasa, aturan tata bahasanya,instruksi-instruksinya, tata cara pengoperasiancompiler-nya untuk membuat program yangditulis dalam bahasa itu saja.

Memprogran dan Bahasa Permograman

Page 17: Dasar Dasar Algoritma

Penulisan algoritma tidak tergantung darispesifikasi bahasa pemrograman dankomputer yang mengeksekusinya. Notasialgoritma bukan notasi bahasapemrograman tetapi dapat diterjemahkanke dalam berbagai bahasa pemrograman

Notasi Algoritma

Page 18: Dasar Dasar Algoritma

ContohAlgoritma Kelulusan_mhsDiberikan nama dan nilai mahasiswa, jika nilai tersebut lebih besar atau sama dengan 60 maka mahasiswa tersebut dinyatakan lulus. jika nilai lebih kecil dari 60 maka dinyatakan tidak lulus.DESKRIPSI :baca nama dan nilai mahasiswa.jika nilai >= 60 maka keterangan = lulus tetapi jika keterangan = tidak lulus.tulis nama dan keterangan

Notasi algoritma : Uraian kalimat deskriptif (narasi)

Page 19: Dasar Dasar Algoritma

Algoritma Kelulusan_mhs{diberikan nama dan nilai mahasiswa, jika nilai tersebut lebihbesar atau sama dengan 60 maka mahasiswa tersebutdinyatakan lulus jika tidak maka dinyatakan tidak lulus}DEKLARASI :Nama : stringNilai : integerKeterangan : stringDESKRIPSI :read (nama, nilai)if nilai >= 60 then keterangan = ‘lulus’else keterangan = ‘tidak lulus’write(nama, keterangan)

Notasi algoritma : PseudoCode

Page 20: Dasar Dasar Algoritma

Notasi Algoritma : Flow ChartNotasi Algoritma : Flow Chart

Digunakan untuk menunjukkan awal dan akhir program

Digunakan untuk memberikan nilai awal (inisial) pada suatu variabel atau counter

Digunakan untuk proses, pengolahan arithmatik, dan pemindahan data

Digunakan untuk mewakili operasi perbandingan logika yang dibutuhkan pada Selection dan Looping

Digunakan untuk proses yang detailnya dijelaskan terpisah, misalkan untuk menyatakan prosedur, atau sub programDigunakan untuk hubungan arus proses yang terputus masih di halaman yang sama

Digunakan untuk hubungan arus proses yang terputus di halaman yang berbeda

Digunakan untuk menghubungan antar simbol/elemen yang lain dan sekaligus menyatakan arah aliran

Digunakan untuk menyatakan operasi memasukkan data/input dan menampilkan data/output

Page 21: Dasar Dasar Algoritma

Susun: Diagram Alir Kelulusan Mahasiswa

Page 22: Dasar Dasar Algoritma

• Judul algoritmaBagian yang terdiri atas nama algoritma danpenjelasan (spesifikasi) tentang algoritma tersebut.Nama sebaiknya singkat dan menggambarkan apayang dilakukan oleh algoritma tersebut.• DeklarasiBagian untuk mendefinisikan semua nama yangdigunakan di dalam program. Nama tersebut dapatberupa nama tetapan, peubah, tipe, prosedur danfungsi.• DeskripsiBagian ini berisi uraian langkah-langkah penyelesaianmasalah yang ditulis dengan menggunakan notasiyang akan dijelaskan selanjutnya

Aturan Penulisan Algoritma

Page 23: Dasar Dasar Algoritma

Algoritma Luas_Kell_Lingkaran {<- ini judul algoritma}{menghitung luas dan keliling lingkaran untuk ukuran jari-jaritertentu. Algoritma menerima masukan jari-jari lingkaran,menghitung luas dan kelilingnya, dan mencetak luaslingkaranke piranti keluaran <- ini spesifikasi algoritma}DEKLARASI :const phi = 3.14 {nilai ? }R : real {jari-jari lingkaran}Luas : real {luas lingkaran}Keliling : real {keliling lingkaran}DESKRIPSI :read (R)Luas <- phi * R *RKeliling <- 2 * phi * Rwrite(luas, keliling)