Introduction to Algorithm and Programming Pertemuan ke-2 Agenda Perkenalan Pengajar Perkenalan Mahasiswa Penjelasan Kontrak Kuliah Kuliah Sejarah Algoritma Diambil dari kata Al-Khawarizmi, yaitu nama akhir ilmuwan muslim Abu Ja’far Muhammad bin Musa Al-Khawarizmi (780 – 846 M) Ahli di bidang matematika, geografi, astronomi dan musik Definisi Algoritma urutan langkah-langkah untuk memecahkan masalah Urutan logis pengambilan keputusan untuk pemecahan masalah (Kamus Besar Bahasa Indonesia) Contoh Algoritma Sederhana Masalah : Membuat Kopi Panas Algoritma : Ambil gelas Ambil gula masukkan ke dalam gelas Ambil kopi masukkan ke dalam gelas Ambil air panas, tuangkan ke dalam gelas Aduk air, gula dan kopi sampai rata Kopi panas siap disajikan Penulisan Algoritma 1. Uraian Deskriptif 2. Pseudocode 3. dengan bahasa natural (Indonesia, Jawa) seperti contoh sebelumnya Terlalu banyak akan membingungkan Pseudo : tidak sebenarnya, PseudoCode : Code yang tidak sebenarnya Bahasa Natural tapi Lebih dekat ke bahasa pemrograman Sulit dimengerti kecuali yang tahu pemrograman Flow-Chart (Diagram Alir) Bagus secara visual dan mudah dimengerti Merepotkan untuk menggambar kalau algoritmanya besar/banyak Contoh Masalah dan Pemecahannya dengan algoritma Masalah : membuat mesin yang bisa memilih bilangan terbesar dari tiga bilangan Algoritma : … Contoh Penulisan Algoritma (Bahasa Natural) 1. 2. 3. 4. 5. 6. 7. Sediakan wadah sementara untuk menyimpan bilangan terbesar, beri nama maks Ambil bilangan pertama dan set maks sama dengan bilangan pertama Ambil bilangan kedua dan bandingkan dengan maks Apa bila bilangan kedua lebih besar dari maks, set maks sama dengan bilangan kedua Ambil blangan ketiga dan bandingan dengan maks Apabila bilangan ketiga lebih besar dari maks, set maks sama dengan bilangan ketiga Variabel maks berisi bilangan terbesar. Tayangkan hasilnya Contoh Penulisan Algoritma (Flow Chart) Mulai Sediakan wadah bernama maks maks = bilangan pertama maks < bilangan kedua? Ya maks = bilangan kedua Ya maks = bilangan ketiga Tdk maks < bilangan ketiga? Tdk Selesai Contoh Penulisan Algoritma (Pseudocode) maks bilangan pertama if (maks < bilangan kedua) maks bilangan kedua if (maks < bilangan ketiga) maks bilangan ketiga Karakteristik Algoritma Finite Definite Algoritma harus berhenti setelah jumlah langkah tertentu (finite) Setiap langkah harus didefinisikan secara jelas, tidak membingungkan Consistent Jika serangkaian langkah yang sama dilakukan berulang-ulang, maka hasilnya harus selalu sama Definisi Pemrograman suatu proses mendefinisikan masalah, menyusun algoritma pemecahan masalah dan menuliskan algoritma tersebut dengan menggunakan bahasa yang bisa diterjemahkan oleh komputer menjadi perintah-perintah mesin Pengkodean (Coding) : proses menerjemahkan algoritma ke bahasa pemrograman Definisi Bahasa Pemrograman suatu bahasa dengan aturan sintaks , instruksi dan aturan lain tertentu yang bisa diterjemahkan oleh komputer menjadi instruksi-instruksi mesin Contoh : Pascal, C, C++, Java, VB, C# Masing-masing bahasa mempunyai aturan sendiri-sendiri Langkah-langkah pemrograman Definisikan masalah Temukan gambaran penyelesaian masalah Terjemahkan ke dalam algoritma Terjemahkan algoritma ke dalam bahasa pemrograman (Coding) Uji Hasil (Testing) Ciri Program yang bagus Correct Clear Program dapat memberikan solusi yang tepat dari suatu masalah Program harus jelas, dapat dimengerti dengan mudah, dan dapat di trace dengan mudah Efesien Terkait dengan sumber daya yang dibutuhkan. Kecepatan juga menjadi hal yang perlu diperhatikan Selesai Tugas 1: Algoritma dengan Bahasa Natural 1. 2. Buat algoritma untuk mengurutkan 5 bilangan Buat algoritma untuk sebuah kalkulator sederhana (penjumlahan, pengurangan, pembagian dan perkalian) Dikumpulkan dalam bentuk File Word/Pdf, paling lambat 7 hari dari sekarang. Tugas 2: Membaca materi tentang flowchart