Algoritma dan Pemrograman

advertisement
Algoritma: langkah-langkah penyelesaian suatu
persoalan.
Contoh: ketika kita akan membuat telur dadar,
maka langkah-langkah yang dapat ditulis
adalah seperti algoritma berikut ini
0. Siapkan telur, mangkok, garpu, merica/bawang halus, minyak
goreng dan garam secukupnya.
1. Pecah telur dan masukkan ke mangkok
2. Tambahkan merica/bawang halus dan garam ke dlam mangkok
3. Kocok telur dengan garpu sampai rata, siapkan penggorengan
yang sudah diberi minyak goreng
4. Panaskan penggorengan, lalu tuang adonan telur tadi, goreng
sampai matang
5. Selesai
Pada algoritma tertulis langkah 0, yaitu
langkah-langkah pre-condition (langkah
persiapan hal-hal yang diperlukan dalam
pembuatan telur dadar.
 Kadang langkah 0 tidak dituliskan dalam
algoritma.
 Dalam konsep pemrograman komputer
algoritma adalah langkah-langkah yang
harus dituliskan seorang programmer untuk
menyelesaikan persoalan yang akan
diselesaikan dengan program komputer,
 Contoh: membuat program untuk mencari
luas dan keliling empat persegi panjang,
algoritmanya seperti berikut:

0
1
2
3
4
5
Mulai
Baca Panjang dan baca Lebar dari keyboard
Hitung Luas = Panjang * Lebar
Hitung Keliling = (Panjang + Lebar) * 2
Cetak Luas dan Keliling ke layar
Selesai
Flowchart adalah visualisasi dari algoritma
dengan simbol-simbol tertentu yang
masing-masing simbol menggambarkan
proses apa yang dilakukan, misalnya
input/output, proses perhitungan, proses
evaluasi nilai atau decision.



Contoh Flowchart adalah flowchart untuk
mencari luas dan keliling empat persegi
panjang
Penyelesaian maslah mencari luas dan keliling
empat persegi panjang adalah menentukan
mana yang merupakan variabel input dan
mana yang variabel proses.
Jika dicermati, untuk menghitung luas dan
keliling diperlukan panjang dan lebar, maka
penentuan panjang dan lebar adlaah variabel
input yang dimasukkan melalui proses
masukan variabel, sedangkan luas dan keliling
adalah variabel proses yang dihitung oleh
komputer.
Persoalan mencari luas dan keliling
empat persegi panjang, flowchart masih
berupa alur program yang selalu lurus
tanpa percabangan.
 Terkadang program tidak linier/lurus,
tetapi mengandung percabangan dan
perulangan.
 Masalah percabangan dan perulangan
adalah masalah yang memerlukan
keputusan.
 Contoh: menentukan apakah bilangan
yang
dibaca
dari
papan
ketik/
keyboard adalah genap atau ganjil

1. Mulai
2. Baca bilangan
3. Jika bilangan genap, maka cetak “GENAP”,
jika bilangan ganjil, maka cetak “GANJIL”
4. Selesai
Flowchartnya bagaimana??????
Terkadang masalah yang dihadapi
bukan hanya memerlukan percabangan,
tetapi
perulangan,
karena
adanya
statemen yang harus berulang dilakukan,
misalnya membaca data berkali-kali.
Berikut ini contoh algoritma untuk
mencari jumlah dan rata-rata dari n buah
bilangan real yang diinputkan dari papan
ketik/keyboard.
1.
2.
3.
4.
Mulai
Baca cacah data N (integer)
Tetapkan Jum:=0
Untuk nilai I dari 1 sampai N lakukan:
a. Baca data X (bilangan real)
b. Tentukan Jum:=Jum+X
5. Rata:=Jum/N
6. Cetak Jum, Rata
7. Selesai
Bagaimana flowchartnya?????
Algoritma dan flowchart adalah solusi
logika pemecahan masalah di atas kertas.
 Untuk dapat menjadi solusi yang nyata
diperlukan
bantuan
komputer
yang
memiliki perangkat lunak yang bernama
bahasa program komputer atau singkatnya
program komputer
 Bahasa program komputer berfungsi untuk
memberikan instruksi kepada komputer,
agar dapat bekerja seperti yang kita
kehendaki.

Hal ini karena antara apa yang dipahami
oleh manusia tidak serta merta dapat
dikerjakan oleh komputer, diperlukan
jembatan untuk menghubungkan apa
yang dapat dikerjakan oleh komputer
dengan apa yang dikehendaki dan dapat
dikonsepkan oleh manusia
 Yang “dipahami” atau dijalankan oleh
komputer: data dan instuksi dalam bentuk
biner (rangkaian bit-bit bernilai “0” atau “1”
 Yang dipahami manusia: logika, aritmatika,
algoritma, konsep, model dan sebagainya

Untuk menjembatani dibuat bahasa
pemrograman yang menerjemahkan
dari apa yang dikehendaki manusia
menjadi instruksi mesin komputer.
 Bahasa program menerjemahkan logika
penyelesaian masalah yang telah
disusun menggunakan algoritma atau
flowchart dalam bentuk source code
menggunakan
bahasa
program
tertentu.


Bahasa tingkat rendah (low level language)
Bahasa tingkat rendah memetakan setiap instruksi
dari kode sumber ke dalam satu instruksi bahasa
mesin. Biasanya disebut bahasa assembly. Untuk
dapat memprogram dalam bahasa assembly,
diperlukan pengetahuan yang benar tentang
perangkat keras, represententasi data, cara kerja
pemrosesan, dan instruksi-instruksi mesin komputer.
Saat ini ada beberapa perangkat lunak untuk
memprogram dengan bahasa assembly seperti
misalnya: TURBO ASSEMBLY dari Borland atau
MACRO ASSEMBLY dari Microsoft.

Bahasa tingkat menengah (midle level
language)
Bahasa yang terletak antara tingkat rendah
dan tinggi, seperti misalnya bahasa C.
Tetapi pada perkembangan selanjutnya
dari bahasa C menjadi C++ dan berbagai
versi seperti visual C++, Borland C++ maka
bahasa C telah berkembang juga menjadi
bahasa tingkat tinggi seperti BASIC dan
PASCAL.

Bahasa tingkat tinggi (high level language)
Istilah tingkat tinggi mengacu pada
pengertian bahwa manusia lebih tinggi dari
mesin, sehingga bahasa manusia dinilai
lebih tinggi dari bahasa mesin. Untuk itu
bahasa program yang lebih dekat dengan
bahasa manusia disebut bahasa tingkat
tinggi, contoh: bahasa PASCAL, bahasa
BASIC, bahasa FORTRAN.

Pemrograman Prosedural
Program
tersusun
atas
prosedur-produser
algoritma. Cirinya adanya sequence (urutan),
branch (percabangan), dan loop (perulangan)
Urutan, berarti bahasa tersebut memiliki urutan
pemrosesan tertentu, biasanya dari atas ke
bawah dan dari kiri ke kanan
Percabangan, merupakan alternatif alur program
berdasarkan evaluasi terhadap kondisi tertentu
Perulangan, ada 2 jenis: perulangan dengan
jumlah perulangan tidak diketahui sebelumnya
(WHILE DO, REPEAT UNTIL) dan perulangan
dengan jumlah ulangan diketahui sebelumnya
(FOR DO)


Pemrograman Fungsional
Pemrograman ini tersusun atas fungsi-fungsi baik
yang sudah terdefinisi maupun yang dibuat sendiri
oleh pengguna, Contoh: LISP
Pemrograman Deklaratif
pemograman ini tersusun atas deklarasi-deklarasi
logika, berupa fakta, aturan, dan sasaran. Bahasa
pemograman deklaratif memiliki mekanisme
inferensi, yang memungkinkan
komputer
‘menalar’ atau menelusuri berbagai fakta dan
aturan yang diberikan untuk mendapatkan hasil /
jawaban dari pertanyaan tertentu.
Contoh: Prolog (programming in logic)

Pemrograman Berorientasi Objek
Persoalan
dan
solusinya
dimodelkan
sebagai objek.
Objek adalah segala sesuatu di alam
semesta (lahiriah) yang dapat diamati.
Setiap objek merupakan anggota, atau
instance dari kelas objek tertentu.

Pemrograman Berorientasi Objek
Setiap kelas objek minimal memiliki:
a. nama kelas objek yang unik, membedakan
dengan kelas objek yang lain
b. Atribut-atribut, atau data, atau propertiproperti, atau sifat-sifat yang melekat pada
kelas objek tersebut
c. Perilaku, atau kemampuan, atau operasi, atau
method, atau tanggung jawab yang melekat
pada kelas objek tersebut
Contoh: Object Pascal, C++, Eiffel, SmallTalk,
Java, C#
Bahasa BASIC
Bahasa PASCAL
Bahasa C++

Compiler
Mesin untuk menerjemahkan kode sumber
program untuk menjadi kode mesin yang
berekstensi *.EXE atau *.COM
Program dikompilasi secara menyeluruh, sehingga
apabila masih ada error di program, maka proses
kompilasi gagal

Interpreter
Interpreter melakukan penerjemahan per baris
statemen. Proses penerjemahan per baris
statemen dan hasil penerjemahannya langsung
dapat dieksekusi.
Kode sumber pascal LUASKEL.PAS
Proses kompilasi ke disk
Hasil kompilasi
Hasil Eksekusi Program
Selanjutnya file disimpan dalam satu
direktori
bernama
geometri.
Untuk
menggunakan paket tersebut didefinisikan
kelas dengan nama tesGeo.java
Hasil program:
Download