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 Uraian Deskriptif Pseudocode dengan bahasa natural (Indonesia, Jawa) seperti contoh sebelumnya Terlalu banyak akan membingungkan Pseudocode 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) 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)
Contoh Penulisan Algoritma (Pseudocode) maks bilangan pertama if (maks < bilangan kedua) maks bilangan kedua if (maks < bilangan ketiga) maks bilangan ketiga
Karakteristik Algoritma Finite Algoritma harus berhenti setelah jumlah langkah tertentu (finite) Definite 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 Program dapat memberikan solusi yang tepat dari suatu masalah Clear 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 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