300 likes | 655 Views
KONSEP PEMROGRAMAN. Algoritma dan FlowChart. How To Become A Good Programmer. Learn To Program Belajar cara memrogram Learn The Language Belajar bahasa komputer Learn The Tools Belajar alatnya (aplikasi dan komputernya). Learn To Program. Memiliki dasar logika yang benar
E N D
KONSEP PEMROGRAMAN Algoritma dan FlowChart
How To Become A Good Programmer • Learn To ProgramBelajar cara memrogram • Learn The LanguageBelajar bahasa komputer • Learn The ToolsBelajar alatnya (aplikasi dan komputernya)
Learn To Program • Memiliki dasar logika yang benar • Menguasai cara memecahkan suatu masalah ke dalam alur-alur kerja • Mampu menuliskan alur program • Mampu membaca alur program • Mampu menjelaskan berbagai istilah dalam pemrograman, seperti : identifier, variable, constant, statement, loop, subroutine, dll
Learn The Language • Menguasai sintaks dan semantik bahasa pemrograman yang dipakai • Mampu membaca kode program • Mampu menulis kode program dengan baik dan benar • Mampu mengkoreksi kesalahan pada kode program
Learn The Tools • Menguasai alat (software) yang dipakai untuk menuliskan program • Mampu menjalankan software dengan baik • Mampu mengatasi kesalahan yang timbul selama penggunaan software • Mengerti arti setiap fungsi yang ditawarkan dalam software
Definisi Algoritma • Kata algoritma (algorithm) diambil dari nama ilmuwan muslim Abu Ja’far Muhammad bin Musa Al-Khwarizmi (780 – 846 M) • Definisi Algoritma : Urutan langkah-langkah yang dinyatakan dengan jelas dan tidak rancu yang harus dijalankan atau dilakukan untuk memecahkan atau menyelesaikan masalah (jika ada pemecahannya) dalam rentang waktu tertentu • Pemrograman komputer merupakan penerapan algoritma ke dalam kode-kode bahasa komputer
Contoh Algoritma • Urutan langkah menelepon di telepon umum : • Angkat gagang telepon • Masukkan koin • Tekan nomor yang akan dihubungi • Bicara • Letakkan gagang telpon • Langkah-langkah tersebut jika dalam kondisi normal
Contoh Algoritma (2) • Jika dalam keadaan tidak normal • Telepon dalam keadaan rusak • Yang dihubungi tidak ada yang mengangkat • Langkah-langkahnya menjadi : • Angkat gagang telepon • Jika : • ada nada panggil, masukkan koin • tidak ada nada panggil, ke langkah 5 • Tekan nomor yang akan dihubungi • Jika : • ada yang mengangkat, bicara • tidak ada yang mengangkat, ke langkah 5 • Letakkan gagang telepon
Contoh Algoritma (3) • Algoritma menelepon seseorang dari HP: • Ambil dan Pegang HP • Jika Pulsa habis, selesai • Jika HP tidak OK, selesai • Jika tombol HP terkunci, buka dulu • Mencari nomor di daftar panggilan • Jika tidak ada, cari di kontak (phone book) • Jika tidak ada juga, • Jika tahu nomernya, ketik langsung • Jika tidak tahu, selesai • Tekan Ok/Yes dan tempelkan HP di telinga • Jika tidak ada nada sambung, ulangi dari no 5 • Jika ada yang mengangkat, mulai bicara • Selesai
Karakteristik atau Syarat Algoritma • Algoritma tidak boleh ambigu (unambiguous) • Deskripsi langkah-langkah dalam algoritma harus dan hanya memiliki tafsiran tunggal • Algoritma harus tepat (precise) • Urutan langkah harus dinyatakan dengan jelas • Algoritma harus pasti (definite) • Jika serangkaian langkah yang sama dilakukan dua kali maka hasilnya harus sama • Algoritma harus berhingga (finite) • Harus ada batasan atau rentang waktunya
Top-Down Design • Dekomposisi (memecah) suatu masalah menjadi masalah-masalah yang lebih sederhana (subproblem) dan memeriksa hubungan antara masalah-masalah tersebut sebelum dikembangkan dalam spesifikasi yang lebih rinci • Submasalah-submasalah hasil dekomposisi tersebut dinamakan modul • Karakteristik modul : • harus mengerjakan tugas-tugas spesifik • harus tidak terlalu panjang
Cara Penulisan Algoritma • Uraian Deskriptif • Menggunakan bahasa yang biasa dipakai sehari-hari • Pseudocode • Dituliskan menggunakan kode-kode yang disepakati dan memiliki arti tertentu • Bagan / diagram alir (flow chart) • Dituliskan menggunakan notasi grafik yang mempunyai arti tertentu
Uraian Deskriptif • Contoh : diberikan bilangan bulat non negatif b, jumlahkan semua bilangan genap mulai dari 0 sampai dengan b • Algoritma : • Baca nilai batas, b • Isi i dan j dengan 0 • Jika i<b • Tambahkan i pada j jika i genap • Naikkan harga i • Ulangi langkah 3 • Tampilkan nilai j
Pseudocode • Dari contoh yang sama : masukkan(b) i 0 j 0 selama (i <= b) lakukan jika (i mod 2 = 0) maka j j + i i i + 1 tampilkan(j)
Flow Chart • Notasi yang sering dipakai : Mulai atau Selesai Input atau Output Data Proses Percabangan/Seleksi
Struktur di Flowchart • Macamnya: • Struktur Sekuensial • Struktur Seleksi • Struktur Pengulangan • Sebuah Struktur dapat berada di dalam struktur lain yang relatif lebih besar
Jenis Struktur Seleksi Struktur Seleksi Satu Alternatif Struktur Seleksi Dua Alternatif Struktur Seleksi Multi Alternatif
Contoh Flow Chart START i mod 2 = 0 ? Y INPUT b j j + i T i 0 j 0 i i + 1 i <= b ? Y T OUTPUT j END
Keterbatasan Flow Chart • Hanya cocok untuk masalah yang kecil. Untuk masalah yang besar penggunaannya menjadi tidak efisien • Memerlukan kemampuan menggambar yang baik sehingga modifikasi juga lebih sulit • Hanya dipakai untuk pengajaran
Langkah-Langkah Pemrograman • Mendefinisikan masalah • Memilih garis besar (outline) pemecahan • Menerjemahkan outline menjadi langkah-langkah yang lebih rinci, hasilnya adalah algoritma • Menerjemahkan algoritma ke dalam bahasa pemrograman yang dipilih, disebut sebagai pengkodean (coding) • Menguji program yang telah dibuat untuk menemukan kesalahan, dinamakan debugging atau proses pencarian bug (kesalahan logika)
Kriteria Program yang Baik • Benar (correct) • Kebenaran program harus dipenuhi agar output yang dihasilkan benar • Jelas (clear) • Kejelasan untuk dibaca menjadi suatu keharusan agar program mudah diteliti ulang dan dimodifikasi • Efisien (efficient) • Efisiensi program terkait dengan waktu eksekusi dan ruang penyimpanan yang dibutuhkan