Pemrograman Komputer

advertisement
Pemrograman Komputer
Oleh : Agus Priyanto, M.Kom
Tujuan Pembelajaran
1. Memahami bagaimana komputer menangani
data elektronik
2. Memahami komponen yang terlibat dalam
memproduksi informasi
3. Memahami perbedaan bahasa pemrograman
di setiap tingkatan
Algoritma Dan Pemrograman
 Algoritma adalah jantung ilmu komputer dan
informatika. Banyak cabang dari ilmu komputer
yang diacu dalam terminology algoritma.
 Algoritma berasal dari kata algorism yang
berarti proses menghitung. Kata algorism
berasal dari nama penulis buku arab yang
terkenal yaitu Abu Ja’afar Muhammad Ibnu
Musa al-Khuwarizmi
3
Definisi Algoritma
 Urutan langkah-langkah logis penyelesaian
masalah yang disusun secara sistematis
 Urutan logis pengambilan keputusan untuk pemecahan
masalah
4
Ciri Penting Algoritma
 Memiliki Input
Algoritma dapat memiliki nol atau lebih inputan dari
luar.
 Memiliki Output
Algoritma harus memiliki minimal satu buah output
keluaran.
5
 Definiteness (pasti)
Algoritma memiliki instruksi-instruksi yang jelas dan
tidak ambigu atau memilikuiarti ganda.
 Finiteness (ada batas atau berakhir)
Algoritma harus memiliki titik berhenti (stopping
role).
 Effectiveness(efektif dan efisien)
• Algoritma sebisa mungkin harus dapat dilaksanakan
dan efektif.
• Contoh instruksi yang tidak efektif adalah : A = A +
0 atau A = A * 1.
7
Belajar Memprogram dan
Belajar Bahasa Pemrograman
 Belajar Memprogram :
Pemahaman persoalan, analisis, dan sintesis
Pemecahan Masalah
-Strategi
-Metodologi
-Sistematika
Notasi yang telah
disepakati
 Belajar Bahasa Pemrograman :
• Belajar memakai suatu bahasa
• Aturan sintaks (tata bahasa)
8
Bahasa Pemrograman
 Bahasa pemrograman adalah bahasa buatan
yang digunakan untuk mengendalikan
perilaku dari sebuah mesin, biasanya berupa
mesin komputer, sehingga dapat digunakan
untuk memberitahu komputer tentang apa
yang harus dilakukan
 Struktur bahasa ini memiliki kemiripan dengan
bahasa natural manusia
Klasifikasi menurut generasi
1. First Generation Language (1GL)
Bahasa pemrograman ini berupa kode-kode mesin yang hanya
bisa dipahami oleh mikroprosesor.
2. Second Generation Language (2GL)
•
•
Bahasa pada generasi ini adalah assembly language, dimana
bahasa ini masih menggunakan kode-kode yang disebut
dengan mnemonic.
Bahasa assembly disebut sebagai generasi kedua karena
bahasa ini bukan bahasa asli mikroprosesor, meskipun
begitu programer tetap harus mengetahui keunikan dari
masing masing mikroprosesor (registe r dan jenis instruksi).
3. Generasi ketiga
•
•
•
Bahasa pemrograman generasi ketiga sengaja didesain
supaya
mudah dipahami oleh manusia.
Pada generasi ini mulai dikenalkan istilah variabel, tipe
data, ekspresi aljabar dan sudah mendukung
pemrograman terstruktur.C
Contoh bahasa: FORTRAN, COBOL, ALGOL, BASIC, C,
C++, Pascal, Java.
4. Generasi keempat
•
•
•
•
Pada generasi ini, bahasa pemrograman didesain
untuk mengurangi effort dan mempercepat proses
pembuatan program.
Pada 3GL, pembuatan program membutuhkan
waktu yang lama dan mudah sekali didapati
error.
Pada 4GL, telah menggunakan metod ologi dimana
sebuah perintah dapat menghasilkan beberapa
instruksi 3GL yang kompleks dengan sedikit error.
Contoh bahasa:
•
Contoh bahasa :
 Pemrograman umum : DataFlex, WinDev,
PowerBuilder
 Basis data : SQL, Progress 4GL
 Manipulasi data, analisis dan pelaporan : ABAP,
Matlab, PL/SQL.
5.
Generasi kelima
•
•
•
Bahasa pemrograman generasi kelima disebut sebagai
constraintprogramming atau declarative-programming.
Dalam membuat program tidak dituliskan dalam
bentuk algoritma melainkan dituliskan batasan atau
fakta dari sebuah lingkup masalah, sehingga program
akan menghasilkan luaran dalam bentuk solusi.
Bahasa pemrograman ini digunakan untuk
membangun sistem kecerdasan buatan dan belum
digunakan secara meluas di dunia industri. Contoh
bahasa: Prolog, LISP, Mercury
Klasifikasi menurut tingkatan
1. Low -level programming language
•
•
•
Tingkat bahasa pemrograman ini disebut rendah
bukan karena posisinya berada di bawah, melainkan
karena kurangnya abstraksi (penggambaran kode
instruksi) antara bahasa natural dengan bahasa mesin
Oleh karena itu, bahasa di tingkat ini sering disebut
sebagai ’bahasa mesin’
Bahasa pemrograman yang masuk kategori ini adalah
bahasa mesin itu sendiri (1GL) dan bahasa assembly
(2GL).
2. High-level programming l anguage
(HLL)
Bahasa pemrograman di tingkat ini memiliki
abstraksi yang lebih banyak dan terdapat
kemiripan dengan bahasa natural (bahasa Inggris),
lebih mudah untuk digunakan dan mudah untuk
dipindahkan antar platform
3. Very high-level programming language
(VHLL)
•
•
Bahasa ini memiliki abstraksi yang lebih tinggi
dibandingkan HLL, dan digunakan untuk
menunjang produktifitas programer profesional.
Biasanya VHLL digunakan hanya untuk tujuan
yang spesifik, misalnya untuk keperluan bisnis:
mengolah data, membuat laporan, dsb.
TIOBE Index
for August
2015
Flowchart
 Dalam membuat algoritma, diperlukan suatu
mekanisme atau alat bantu untuk menuangkan
hasil pemikiran mengenai langkah –langkah
penyelesaian masalah yang sistematis dan
terurut
 Pada dasarnya untuk bisa menyusun solusi
diperlukan kemampuan problem-solving yang
baik
 Secara formal, flowchart didefinisikan sebagai
skema penggambaran dari algoritma atau
proses
 Tabel berikut menampilkan simbol -simbol
yang digunakan dalam menyusun flowchart
Flowchart
Simbol
 Berikut ini adalah flowchart
untuk menggambarkan
kegiatan membuat telur
dadar :
Pseudocode
• Skema lain yang dapat digunakan untuk
menyusun algoritma adalah pseudocode
• Pseudocode adalah bentuk informal untuk
mendeskripsikan algoritma yang mengikuti
struktur bahasa pemrograman tertentu
• Tujuan dari penggunaan pseudocode adalah
supaya :
1. lebih mudah dibaca oleh manusia
2. lebih mudah untuk dipahami
3. lebih mudah dalam menuangkan ide/hasil
pemikiran
• Pseudocode lebih cocok digunakan untuk
menyusun algoritma dengan kasus yang besar
dan kompleks
• Sangat dianjurkan kepada programmer
pemula untuk mulai menggunakan
pseudocode dalam menyelesaikan masalah
Pseudocode
if sales > 1000 then
bonus  sales * 25%
salary  2000000 + bonus
output(salary)
C++
if (sales > 1000)
bonus = sales * 25%
salary = 2000000 + bonus
cout(salary)
Download