konsep pemrograman
DESCRIPTION
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 - PowerPoint PPT PresentationTRANSCRIPT
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 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 :1. Angkat gagang telepon
2. Masukkan koin
3. Tekan nomor yang akan dihubungi
4. Bicara
5. 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 :1. Angkat gagang telepon2. Jika :
a. ada nada panggil, masukkan koinb. tidak ada nada panggil, ke langkah 5
3. Tekan nomor yang akan dihubungi4. Jika :
a. ada yang mengangkat, bicarab. tidak ada yang mengangkat, ke langkah 5
5. Letakkan gagang telepon
Contoh Algoritma (3)
Algoritma menelepon seseorang dari HP:1. Ambil dan Pegang HP2. Jika Pulsa habis, selesai3. Jika HP tidak OK, selesai4. Jika tombol HP terkunci, buka dulu5. Mencari nomor di daftar panggilan6. Jika tidak ada, cari di kontak (phone book)7. Jika tidak ada juga,
1. Jika tahu nomernya, ketik langsung2. Jika tidak tahu, selesai
8. Tekan Ok/Yes dan tempelkan HP di telinga9. Jika tidak ada nada sambung, ulangi dari no 510. Jika ada yang mengangkat, mulai bicara11. 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 DeskriptifMenggunakan 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 :1. Baca nilai batas, b2. Isi i dan j dengan 03. Jika i<b
a. Tambahkan i pada j jika i genapb. Naikkan harga ic. Ulangi langkah 3
4. Tampilkan nilai j
Pseudocode
Dari contoh yang sama :masukkan(b)i 0j 0selama (i <= b) lakukan jika (i mod 2 = 0) maka j j + i i i + 1tampilkan(j)
Flow Chart
Notasi yang sering dipakai :
Mulai atau Selesai
Input atau Output Data
Proses
Percabangan/Seleksi
Struktur di Flowchart
Macamnya:Struktur SekuensialStruktur SeleksiStruktur Pengulangan
Sebuah Struktur dapat berada di dalam struktur lain yang relatif lebih besar
Struktur Sekuensial
Struktur Seleksi
Struktur Pengulangan
Jenis Struktur Seleksi
Struktur Seleksi Satu Alternatif Struktur Seleksi Dua Alternatif Struktur Seleksi Multi Alternatif
Struktur Seleksi Satu Alternatif
Struktur Seleksi Dua Alternatif
Struktur Seleksi Multi Alternatif
Contoh Flow ChartSTART
END
i 0
INPUT b
j 0
i <= b?
i i + 1
i mod 2 = 0?
j j + i
OUTPUT j
Y
T
T
Y
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