ALGORITHMA DAN ATURAN PENULISANYA Dana Marsetiya Utama
Sejarah Algoritma Berasal dari kata al kwarizmi -> algorism -> algorithm dari buku Aljabar wal muqabala (abad ke IX) yang menjelaskan tentang langkah-langkah dalam menyelesaikan berbagai persoalan aritmatika (aljabar) yang ditulis oleh Abu Ja’far Muhammad Ibnu Musa Al Kwarizmi
Apa itu Algoritma????
Definisi Algoritma (1) Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas tetapi tersusun secara logis dan sistematis Kata kunci: langkah-langkah penyusunan masalah, terbatas, logis dan sistematis
Definisi Algoritma (2) Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah- langkah tertentu dan terbatas jumlahnya Kata kunci: prosedur yang jelas, menyelesaikan persoalan, tertentu dan terbatas
Definisi Algoritma (3) Susunan langkah yang pasti, yang apabila diikuti maka akan mentransformasi data input menjadi output yang berupa informasi Kata kunci: langkah, transformasi, input= data, output= informasi
Definisi Algoritma Teknik penyusunan langkah-langkah penyelesaian masalah dalam bentuk kalimat dengan jumlah kata terbatas, tetapi tersusun secara logis dan sistematis. Suatu prosedur yang jelas untuk menyelesaikan suatu persoalan dengan menggunakan langkah-langkah tertentu dan terbatas jumlahnya. Algoritma adalah sekelompok aturan untuk menyelesaikan perhitungan yang dilakukan oleh tangan atau mesin. Algoritma adalah langkah demi langkah sebuh prosedur berhingga yang dibutuhkan untuk menghasilkan sebuh penyelesaian
Definisi Algoritma (lanjutan) Algoritma adalah langkah –langkah perhitungan yang mentransformasikan dari nilai masukan menjadi keluaran Algoritma adalah urutan operasi yang dilakukan terhadap data yang terorganisir dalam struktur data Algoritma adalah sebuah program abstrak yang dapat dieksekusi secara fisik oleh mesin Algoritma adalah sebuah model perhitungan yang dilakukan oleh computer
Ciri Algoritma (Donald E. Knuth) Algoritma mempunyai awal dan akhir. Suatu algoritma harus berhenti setelah mengerjakan serangkaian tugas atau dengan kata lain suatu algoritma memiliki langkah yang terbatas. Setiap langkah harus didefinisikan dengan tepat sehingga tidak memiliki arti ganda (not ambiguous). Memiliki masukan (input) atau kondisi awal. Memiliki keluaran (output) atau kondisi akhir. Algoritma harus efektif; bila diikuti benar-benar akan menyelesaikan persoalan.
Domain algoritma Masalah : motivasi untuk membuat algoritma. Algoritma : prosedur untuk menyelesaikan masalah. Seringkali satu masalah dapat diselesaikan dengan lebih dari satu cara (banyak kemungkinan). Program: representasi formal dari suatu algoritma dengan menggunakan bahasa pemrograman yang bisa dimengerti oleh komputer. Implementasi: aktivitas menjalankan langkah-langkah dalam algoritma.
Proses Penyelesaian masalah dengan Algoritma 3/12/2018 Proses Penyelesaian masalah dengan Algoritma Pemecahan Masalah Implementasi Masalah Algoritma Solusi -Alpro 2009- -Alpro 2009-
sifat utama suatu algoritma Input Output Definiteness Finiteness Effectiveness Generality
sifat utama suatu algoritma input: Suatu algoritma memiliki input atau kondisi awal sebelum algoritma dilaksanakan dan bisa berupa nilai- nilai pengubah yang diambil dari himpunan khusus. output: Suatu algoritma akan menghasilkan output setelah dilaksanakan, atau algoritma akan mengubah kondisi awal menjadi kondisi akhir, di mana nilai output diperoleh dari nilai input yang telah diproses melalui algoritma. definiteness: Langkah-langkah yang dituliskan dalam algoritma terdefinisi dengan jelas sehingga mudah dilaksanakan oleh pengguna algoritma.
sifat utama suatu algoritma (cont) Finiteness: Suatu algoritma harus memberi kondisi akhir atau output setelah melakukan sejumlah langkah yang terbatas jumlahnya untuk setiap kondisi awal atau input yang diberikan. Effectiveness: Setiap langkah dalam algoritma bisa dilaksanakan dalam suatu selang waktu tertentu sehingga pada akhimya memberi solusi sesuai yang diharapkan. Generality: Langkah-langkah algoritma berlaku untuk setiap himpunan input yang sesuai dengan persoalan yang akan diberikan, tidak hanya untuk himpunan tertentu.
Struktur Algoritma (1) Bagian Kepala (Header) berisi tentang nama algoritma dan keterangan tentang algoritma tersebut Bagian Deklarasi (Definisi Variabel) berisi tentang definisi nama variabel, nama tetapan, nama prosedur, nama fungsi, dan tipe data yang akan digunakan dalam algoritma
Struktur Algoritma (2) Bagian Deskripsi (Rincian Langkah) berisi tentang langkah-langkah penyelesaian masalah, termasuk perintah baca data, pemberian nilai, penampilan nilai, instruksi pemilihan, instruksi perulangan, dll, yang mengubah data input menjadi output
Algoritma dalam Kehidupan Sehari-hari (1)
Algoritma dalam Kehidupan Sehari-hari (2)
Algoritma dalam Kehidupan Sehari-hari (3)
Contoh algoritma 1 Ada 2 buah gelas. Satu berisi teh dan satunya lagi berisi kopi. Bagaimana caranya menukar isi masing- masing gelas? teh kopi
Contoh algoritma (1) Algoritma Siapkan gelas cadangan X Tuangkan gelas yang berisi teh ke gelas cadangan Tuangkan gelas yang berisi kopi ke gelas yang awalnya dipakai teh Tuangkan isi gelas cadangan ke gelas yang awalnya berisi kopi X X teh teh kopi kopi X
Contoh Algoritma (2) Susunlah algoritma untuk menyelesaikan persamaan berikut: 7x + 13 = 62 Susunlah algoritma untuk mencari angka terkecil (minimum) dari 2 bilangan
Penyelesaian (1) Dalam bentuk simbol instruksi, algoritmanya adalah sebagai berikut: Mulai Ruas kiri dan ruas kanan dikurangi 13 Ruas kiri dan ruas kanan dibagi dengan 7 Tetapkan angka hasil sebagai x Selesai
Penyelesaian (2-1) Dalam bahasa sehari-hari, algoritmanya adalah sebagai berikut Bandingkan antara angka pertama dan angka kedua. Jika angka pertama sama dengan angka kedua, maka tetapkan angka terkecil sama dengan angka pertama atau angka kedua
Contoh Algoritma (2-2) Jika angka pertama lebih kecil dari angka kedua, maka tetapkan angka terkecil sama dengan angka pertama Jika angka pertama lebih besar dari angka kedua, maka tetapkan angka terkecil sama dengan angka kedua
Contoh Algoritma (2-3) Dalam bentuk simbol instruksi, algoritmanya adalah sebagai berikut: Mulai Input-kan angka1 dan angka2 Jika angka1 = angka2, maka tetapkan bahwa angka_terkecil = angka1 | angka2 Jika angka1 < angka2, maka tetapkan angka_terkecil = angka1 Jika angka1 > angka2, maka tetapkan angka_terkecil = angka2 Selesai
DIY Algoritma Susunlah algoritma untuk memilih 1 bilangan terbesar dari 3 bilangan Susunlah algoritma untuk menghitung rata-rata dari 3 bilangan
Akhir Perkuliahan… … Ada Yang Ditanyakan??