Algoritma dan Struktur Data Notasi Algoritma I Ketut Resika Arthana, S.T., M.Kom NIP. 198412012012121002 resika.arthana@gmail.com | 085-737-515-515 http://www.rey1024.com http://id.linkedin.com/in/resika
Algoritma dan Struktur Data Sebelum lupa.. Dokumentasi/catatan rapi (penilaian akhir semester) Tugas terdokumentasi dengan baik Kelas/lab menjadi tanggung jawab seluruh peserta kuliah Algoritma dan Struktur Data
Kenapa memilih komputer untuk menyelesaikan masalah? Komputer teliti dan akurat Komputer tidak lelah Komputer tidak bosan Komputer tidak mengeluh Algoritma dan Struktur Data
Bagaimana cara memerintah komputer? Manusia tidak bisa langsung memerintahan komputer untuk menyelesaikan masalahnya Contohnya menyuruh “urutkan kartu ini dari terkecil sampai terbesar!” Kenapa? Komputer pada dasarnya benda mati yang tidak mengerti apa yang kita perintahkan dan langkah-langkah apa yang harus dikerjakan! Algoritma dan Struktur Data
Jadi? Bagaimana caranya? Manusia harus merumuskan langkah-langkah apa yang harus dilakukan oleh komputer untuk menyelesaikan masalah. Komputer dan manusia harus sama-sama mengerti Bahasa yang digunakan Algoritma dan Struktur Data
Algoritma dan Struktur Data Contoh kasus Kita ingin memerintah computer untuk mencari luas persegi panjang jika kita berikan panjang dan lebar Seorang guru ingin mencari nilai rata-rata dari kumpulan nilai? Bagaimana langkah-langkahnya? Anda diminta mencari angka terbesar dari deretan angka berikut : 5,2,4,3,8,2. Langkah-langkah apa yang harus dilakukan computer jika anda ingin computer mengerjakannya? Seorang petugas perpustakaan ingin mengurutkan kartu perpus dari terbesar ke terkecil, bagaimana langkah-langkahnya? Algoritma dan Struktur Data
Algoritma dan Struktur Data Merumuskan langkah-langkah yang tepat untuk menyelesaikan permasalahan disebut dengan Algoritma Algoritma : Langkah-langkah yang sistematis dan logis untuk menyelesaikan permasalahan Algoritma bisa dinyatakan dengan (Notasi Algoritma) : Bahasa Deskriptif Flowchart Pseudocode Algoritma dan Struktur Data
Ciri penting algoritma (Donald E. Knuth dan sumber lain) Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas Setiap langkah harus didefinisikan dengan tepat dan tidak ambigu Algoritma memiliki nol atau lebih masukan (input). Algoritma harus efektif dan efisien Algoritma harus terstruktur Algoritma dan Struktur Data
Algoritma dalam Kehidupan Sehari-hari Algoritma dan Struktur Data
Hubungan algoritma dengan pemrograman Komputer berfungsi sebagai alat pemroses Komputer tidak mengerti algoritma Komputer hanya mengerti Bahasa pemrograman Manusia harus mengimplementasikan algoritma kedalam Bahasa pemrograman agar computer bisa melaksanakan tugas yang dimaksud oleh manusia. Program = Implementasi teknis algoritma yang ditulis dalam Bahasa pemrograman sehingga dapat dilaksanakan oleh computer Programmer = orang yang membuat program Algoritma dan Struktur Data
Algoritma dan Struktur Data Notasi Algoritma Notasi algoritma harus bisa dibaca dan dimengerti oleh manusia secara jelas dan tidak ambigu Notasi Algoritma Bahasa Deskriptif Flowchart Pseudocode Algoritma dan Struktur Data
Notasi Algoritma : Bahasa Deskriptif Permasalahan : mencari apakah suatu bilangan genap atau ganjil Algoritma genapganjil algoritma meminta masukan berupa sebuah bilangan integer, kemudian computer mengecek apakah bilangan tersebut genap atau ganjil, selanjutnya menampilkan hasilnya Algoritma Minta pengguna memasukkan sebuah nilai Rekam nilai yang dimasukkan oleh pengguna Jika nilai tersebut habis dibagi 2, maka bilangan tersebut adalah genap, jika tidak maka bilangan tersebut adalah ganjil Selesai Algoritma dan Struktur Data
Algoritma dan Struktur Data Latihan Buatlah algoritma untuk mencari luas persegi jika diketahui sisinya. Buatlah algoritma yang menghitung jumlah pembayaran yang harus dilakukan pembeli dengan memasukkan harga barang dan jumlah beli. Jika jumlah pembelian diatas atau sama dengan 100 ribu maka diskon 10% Improvisasi soal no 2 dengan melakukan secara berulang-ulang Algoritma dan Struktur Data
Notasi Algoritma : Flowchart Bagan-bagan yang mempunyai arus yang menggambarkan langkah-langkah penyelesaian suatu masalah. Algoritma dan Struktur Data
Algoritma dan Struktur Data Simbol Flowchart 1 Algoritma dan Struktur Data
Algoritma dan Struktur Data Flowchart 2 Algoritma dan Struktur Data
Algoritma dan Struktur Data Contoh Flowchart Mulai Masukkan bilangan Apakah bilangan lebih besar nol? tidak ya Tampilkan “ bilangan negatif” Tampilkan “ bilangan positif” Selesai Algoritma dan Struktur Data
Algoritma dan Struktur Data Pseudocode Pseudocode adalah notasi yang menyerupai notasi bahasa pemrograman tingkat tinggi Algoritma dan Struktur Data
Aturan penulisan algoritma Algoritma dan Struktur Data
Algoritma dan Struktur Data Contoh Algoritma dan Struktur Data
Algoritma dan Struktur Data Tugas Buat algoritma penarikan uang di ATM (flowchart dan pseudocode) Buat algoritma bebas (dalam kehidupan sehari-hari). Algoritma dan Struktur Data
Algoritma dan Struktur Data Mulai Masukkan bilangan Apakah bilangan >0 ? Tampilkan “Positif” ya Tidak Apakah bilangan < 0 ? Tampilkan “Negatif” Tampilkan “Netral” tidak ya Selesai Algoritma dan Struktur Data
Algoritma dan Struktur Data Kenapa Pseudocode? Flowchart cenderung ambigu dan panjang Algoritma dan Struktur Data
Algoritma dan Struktur Data Struktur Pseudocode Program namaProgram { I.S : Kondisi/Asumsi Awal Proses : Proses yang terjadi F.S : Hasil akhir } Deklarasi deklarasi variable : struktur data Algoritma langkah 1 langkah 2 langkah n Algoritma dan Struktur Data
Algoritma dan Struktur Data Contoh Program Menghitung luas persegi panjang { I.S : panjang dan lebar dimasukkan user Proses : menghitung luas F.S : luas ditampilkan } Deklarasi panjang, lebar, luas : integer Algoritma input(panjang) input(lebar) luas <- panjang x lebar output(luas) Algoritma dan Struktur Data
Algoritma dan Struktur Data Struktur data dasar Struktur data = wadah untuk menampung nilai Struktur data dasar Integer : Bilangan Bulat Double : Decimal Char : Karakter (1 huruf) String : kata (lebih dari 1 huruf) Algoritma dan Struktur Data
Algoritma dan Struktur Data Kata Kunci Input Output +,-,/,*,%, = If then else For(init, kondisi,inc/dec) While(kondisi) do Do (kondisi) while Algoritma dan Struktur Data
Algoritma dan Struktur Data Buat pseudocode menghitung keliling persegi panjang jika diketahui luas dan panjangnya Luas : 24 Panjang : 6 Lebar? = 4 Keliling? Algoritma dan Struktur Data
Algoritma dan Struktur Data Buat pseudocode untuk menghitung uang kembalian jika yang dimasukkan user adalah jumlah barang yang dibeli, harga barang, dan uang yang dibayarkan. Jika total belanja lebih besar atau sama dengan 100.000 maka diskon 10% jika tidak jika total belanja lebih besar atau sama dengan 200.000 maka diskon 15% Jika tidak maka tidak dapat diskon Algoritma dan Struktur Data
Algoritma dan Struktur Data IF = JIKA if kondisi then perintah end if ------------------- Else if kondisi then perintah Else if kondisi then Else End if Algoritma dan Struktur Data