300 likes | 966 Views
System Development & Implementatiaon. Algoritma & pemrograman. Osa Omar Sharif 2013. DEFINISI ALGORITMA. Urutan langkah-langkah untuk memecahkan suatu masalah
E N D
System Development & Implementatiaon Algoritma & pemrograman Osa Omar Sharif 2013
DEFINISI ALGORITMA • Urutan langkah-langkah untuk memecahkan suatu masalah • Deretan instruksi yang jelas untuk memecahkan masalah, yaitu untuk memperoleh keluaran yang diinginkan dari suatu masukan dalam jumlah waktu yang terbatas [LEV03] • Prosedur komputasi yang terdefenisi dengan baik yang mengggunakan beberapa nilai sebagi masukan dan menghasilkan beberapa nilai yang disebut keluaran. • Deretan langkah-langkah komputasi yang mentransformasikan masukan menjadi keluaran [COR92]
MASALAH • Pengurutan kartu antrian • Solusi: • Cari kartu dengan nomor terkecil • Tempatkan kartu tsb pd posisi paling atas • Cari kartu dengan nomor terkecil berikutnya • Tempatkan kartu tersebut di bawah kartu pertama • dst
ALGORITMA pengurutan kartu • Cari kartu dengan nomor terkecil di antara kartu yang tersisa • Tempatkan kartu tersebut pada posisi yang tepat • Ulangi kembali dari langkah 1 sebanyak n-1
CONTOH ALGORITMA • Resep makanan • Praktikum kimia • Pengisian kartu prabayar • Pemroses (processor)
CONTOH • A = 8; B = 6 • Tukar nilai kedua variabel di atas!
LATIHAN (2) • Bagaimana caranya mendapatkan 4 liter air? • Bagaimana caranya mendapatkan 1 liter air?
LATIHAN (3) • Pindahkan cakram dari batang A ke batang B
LATIHAN (4) • Dimana letak kesalahan algoritma menjalankan sepeda motor berikut ini: • Hidupkan starter • Masukkan kunci kontak • Tekan gigi 1 • Perbesar gas • jalan
LATIHAN (5) • Ember A 4 liter Ember B 4 liter Ember C 0 liter (kosong)
LATIHAN (6) • ono 2 ekor kelinci sing lagi berlomba Melayu deweke Kudu Munggah teng wukir lan Midun mbalek teng Ngisor Kelinci pisanan kecepatannya Panggah soko Munggah teko Midun mbalek wond n kelinci keloro nang mongso Munggah gadhah kecepatan 2kali Luwih lambat lan nang mongso Midun 2kali Luwih gelis. Nah pertanyaannya Siapakah pemenangnya? utowo Kelinci pisanan lan keloro nyapai finish bersamaan?
LATIHAN (6) • Ada 2 ekor kelinci yang sedang berlomba lari. Mereka harus naik ke gunung dan turun kembali ke bawah.Kelinci pertama kecepatannya tetap dari naik hingga turun kembali, sedangkan kelinci kedua pada saat naik mempunyai kecepatan 2kali lebih lambat dan pada saat turun 2kali lebih cepat... Nah, pertanyaannya... Siapakah pemenangnya?? Atau Kelinci pertama dan kedua mencapai finish bersamaan??
LATIHAN (7) • Pemuda membawa seekor kambing, srigala, dan sekeranjang sayur. Hendak menyebrang sungai dengan perahu kecil yang hanya dapat memuat satu bawaan saja. • Bagaimana supaya semuanya bisa menyebrang dengan selamat? (tuliskan algoritmanya)
SEJARAH ALGORTIMA • Muhammad ibnu Musa al-Khuwarizmi (780-850 M) • al-Khuwarizmi algorism algorithm algoritma • Algortima Euclidean (1950) • gcd (greatest common divisor) • pbt (pembagi bersama terbesar)
Pembagi Bersama Terbesar (PBT) • m = 80; n = 12 • Cari pbt dari m dan n? • Tuliskan algoritmanya!
Contoh Algoritma Euclidean Algortima Euclidean: { Diberikan dua buah bilangan bulat tak-negatif m dan n (m ≥ n). Algoritma Euclidean mencari pembagi bersama terbesar, pbt, dari kedua bilangan tersebut, yaitu bilangan bulat positif terbesar yang habis membagi m dan n. } • Jika n = 0 maka m adalah jawabannya; stop. tetapi jika n ≠ 0, lanjutkan ke langkah 2. • Bagilah m dengan n dan misalkan r adalah sisanya. • Ganti nilai m dengan nilai n dan nilai n dengan nilai r, lalu ulang kembali ke langkah 1.
5 Ciri Algoritma [KNU73]: • Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas. • Setiap langkah harus didefinisikan tepat, tidak bermakna ganda. • Memiliki nol atau lebih masukan. • Memilliki nol atau lebih keluaran. • Setiap langkah harus sederhana (efektif) sehingga dapat dikerjakan dalam sejumlah waktu yang masuk akal.
PEMROGRAMAN • Pemroses (komputer) • Mengerti setiap langkah dalam algoritma • Mengerjakan setiap langkah berurutan (teratur) • Bahasa Pemrograman • Program • Pemrogram • Pemrograman • coding
Memprogram vs bahasa pemograman • Memprogram: mempelajari metodologi pemecahan masalah [LIE96]. • Bahasa pemrograman: belajar memakai suatu bahasa komputer, aturan tata bahasa, instruksi, pengoperasian kompilator.
Bahasa pemrograman • Bahasa tingkat rendah • Assembly • Bahasa tingkat tinggi (butuh kompilator) • Khusus: • Cobol (terapan bisnis dan administrasi) • Fortran (aplikasi komputasi ilmiah) • Prolog (aplikasi kecerdasan buatan) • Simscript (simulasi • Umum: • Basic, Pascal, C, C++, Java, HTML, .net, PHP, SQL
Pemrograman • Notasi algoritmik • Kalimat deskriptif • Flowchart • Pseudo-code
Pseudo-code Program Euclidean { Program untuk mencari pbt dari dua buah bilangan tak negatif m dan n (m ≥ n) adalah bilangan bulat positif terbesar yang habis membagi m dan n } DEKLARASI: m, n : integer { bilangan bulat yg akan dicari pbt-nya } r : integer { sisa hasil bagi } ALGORITMA: read (m, n) { m ≥ n } while n ≠ 0 do r m MOD n { hitung sisa hasil pembagian } m n n r endwhile { kondisi selesai pengulangan: n = 0, pbt (m, n) = m } write (m)
Pseudo-code (2) • Algoritmik: • write (m) • Pascal: • write (m) ; • C: • printf (“%d”, m) ; • Basic: • WRITE M • Fortran: • WRITE (*, *) m
Halo Dunia PROGRAM HaloDunia { Program untuk menampilakan tulisan “Halo Dunia” di layar } DEKLARASI: { tidak ada } ALGORITMA: write (“Halo Dunia”)
Latihan (8) • Program untuk mencetak tabel konversi suhu dalam derajat Fahrenheit (F) dan suhu ekivalennya dalam derajat Celcius (C) dengan menggunakan rumus: C = 5/9 (F - 32) • Data masukan adalah suhu awal (x) dan suhu akhir (y). Tabel keluaran memuat suhu mulai dari x sampai y F dengan kenaikan sebesar step. Misalnya jika x = 0, y = 100, dan step = 20, tabel yg ingin dihasilkan seperti di bawah ini: 0 -17.8 20 -.6.7 40 4.4 60 15.6 80 26.7 100 37.8
Membuat halaman web <html> <body> Halaman website pertama buatan saya! </body> </html> Kemudian save: “coba.html”
HyperText Markup Language <html> <head> <title> Ini tempat menulis judul </title> </head> <body> Disini tempat menuliskan isi utama dokumen HTML </body> </html>
Guest Book <html> <head> <title>Homepage Pribadi Saya</title> </head> <body> Selamat Datang di Halaman Guest Book Nama Anda: <input type="text" size="10" maxlength="40" name="nama"> Komentar Anda: <textarea rows="5" cols="20" name="komentar"></textarea> </form> </body> </html>