Algoritma dan Pemrograman #1 Arif Dwi Laksito, M.Kom
Materi Perkuliahan
Pengantar Algoritma dan Konsep Bahasa Pemrograman
Flowchart dan Pengenalan C
Tipe Data, Keywords, Konstanta dan Input/Output
Percabangan Sederhana
Percabangan Kompleks dan Switch
Loop Sederhana
Loop Kompleks
Ujian MID
Materi Perkuliahan (lanjutan)
Modular Programming
Fungsi by value: parameter, void dan nonvoid
Array 1 Dimensi
Array 2 Dimensi
String Manipulation pada C
Ujian Akhir
Deskripsi Perkuliahan
Mata Kuliah Algoritma Pemrograman mengajarkan tentang :
Konsep dan Logika berpikir Komputer
Pemecahan masalah menggunakan algoritma dan pemrograman terstruktur
Diperkenalkan dan diajarkan penggunaan bahasa pemrograman (Bahasa C) dan Flowchart
Tujuan Perkuliahan
Memahami Logika berpikir Komputer
Memahami prinsip kerja Program Komputer
Mampu menggambarkan logika jalannya program secara tertulis dengan algoritma (pseudo-code) dan dilengkapi dengan diagram alir (flow-chart) menggunakan suatu bahasa pemrograman
Definisi Algoritma
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.
Urutan langkah logis, yang berarti algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.
(Dari Microsoft Press Computer and Internet Dictionaary 1997, 1998)
Definisi Algoritma (lanjutan)
Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis.
Alur pikiran, sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain.
Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.
(Dari Algoritma dan Struktur Data dengan C, C++, dan Java oleh Moh Sjukani hal 1)
Definisi Program
Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut source code yang dibuat oleh programmer (pembuat program)
Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. (Menurut P. Insap Santosa)
Instruksi (statement) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : Input, Output, Proses, Percabangan dan Perulangan.
Perbedaan Algoritma dan Program
Program adalah kompulan instruksi komputer
sedangkan metode dan tahapan sistematis dalam program adalah algoritma
Program ini ditulis dengan menggunakan bahasa pemrograman.
Jadi bisa kita sebut bahwa program adalah suatu implementasi dari bahasa pemrograman.
Perbedaan Algoritma dan Program (lanjutan)
Beberapa pakar memberi formula bahwa:
program = struktur data + algoritma
Bagaimanapun juga struktur data dan algoritma berhubungan sangat erat pada sebuah program
Algoritma yang baik tanpa pemilihan struktur data yang tepat akan membuat program menjadi kurang baik, semikian juga sebaliknya
Menilai Sebuah Algoritma
Tingkat kepercayaannya tinggi (realibility). Hasil yang diperoleh dari proses harus berakurasi tinggi dan benar
Pemrosesan yang efisien (cost rendah). Proses harus diselesaikan secepat mungkin dan frekuensi kalkulasi yang sependek mungkin
Sifatnya general. Bukan sesuatu yang hanya untuk menyelesaikan satu kasus saja, tapi juga untuk kasus lain yang lebih general
Bisa Dikembangkan (expandable). Haruslah sesuatu yang dapat kita kembangkan lebih jauh berdasarkan perubahan requirement yang ada
Mudah dimengerti. Siapapun yang melihat, dia akan bisa memahami algoritma anda. Susah dimengertinya suatu program akan membuat susah di maintenance (kelola)
Portabilitas yang tinggi (Portability). Bisa dengan mudah diimplementasikan di berbagai platform komputer.
Sistem Komputer
Bahasa Pemrograman
Adalah alat untuk membuat program
Contoh: C, C++, C#, Pascal, Basic, Perl, PHP, ASP, JHP, Java, dll.
Perbedaan: cara memberikan instruksi
Persamaan: bertujuan menghasilkan output yang sama
Penulisan Algoritma
Dalam bahasa Natural (Bahasa Indonesia, Bahasa Inggris dan bahasa manusia lainnya)
Menggunakan Flow-chart (diagram alir)
Tapi sering membingungkan (ambigous)
Bagus secara visual, tapi repot jika algoritmanya panjang
Menggunakan Pseudo-code
Sudah lebih dekat ke bahasa pemrograman, namun sulit dimengerti oleh orang yang tidak mengerti pemrograman
Contoh Algoritma #1
Algoritma mengirim Surat kepada Teman : Tulis surat pada secarik kertas surat Ambil sampul surat atau amplop Masukkan surat ke dalam amplop Tutup amplop surat dengan lem perekat Tulis alamat surat yg dituju, jika tdk ingat, lebih dahulu ambil buku alamat & cari alamat yg dituju, lalu tulis alamat tsb pd amplop surat. Tempelkan perangko pada amplop surat Bawa surat ke kantor pos utk diserahkan pd pegawai pos atau menuju ke bis surat untuk memasukkan surat ke dlm kotak/bis surat.
Contoh Algoritma #2
Algoritma untuk memilih bilangan terbesar dari 3 buah bilangan
Ambil bilangan pertama dan set max sama dengan bilangan pertama
Ambil bilangan kedua dan dan bandingkan dengan max
Apabila bilangan kedua lebih besar dari max, set max sama dengan bilangan kedua
Ambil bilangan ketiga dan bandingkan dengan max
Apabila bilangan kedua lebih besar dari max, set max sama dengan bilangan kedua
Variabel max berisi bilangan terbesar, Tampilkan hasilny a
Terima Kasih