Dasar-Dasar Algoritma

advertisement
Zaenal Abidin, S.Si., M.Cs.
Riza Arifudin, S.Pd., M.Cs.
Dalam kehidupan sehari-hari, untuk
berkomunikasi butuh bahasa yang sama.
 Jika lawan bicara tidak  penerjemah
 Analog di bahasa pemrograman, kita harus
menggunakan bahasa yang dimengerti
komputer.
 Komputer  mesin digital.
 Komputer hanya hanya mengenal kondisi ada
arus listrik (dilambangkan dengan 1) dan tidak
ada arus listrik (dilambangkan dengan 0)

Untuk pemrograman  menggunakan kode
sandi 0 dan 1.
 Bahasa pemrograman yang menggunakan
kode biner  bahasa mesin
 Bahasa mesin  susah  kode biner diganti
dengan singkatan kata (mnemonic).
 Bahasa pemrograman yang menggunakan
singkatan kata  bahasa assembly.

CMP AL, 0D
Artinya : bandingkan nilai register AL dengan
0D.
 CMP singkatan dari CoMPare
 Perintah CMP AL, 0D lebih mudah dipahami
dari pada 1010 0000 1011.
 Software yang mengkonversikan perintahperintah assembly ke dalam bahasa mesin 
assembler.


Bahasa assembly dirasa masih terlalu sulit.
Diciptakan bahasa generasi ketiga 3GL (thirdgeneration language) atau Bahasa tingkat
tinggi (high level language).
 Contoh: Basic, Pascal, C, C++,COBOL
 Umumnya bahasa tingkat tinggi
menggunakan bahasa inggris sebagai bahasa
internasional.


Software yang menerjemahkan program ke
dalam bahasa assembly atau bahasa mesin
ada 2 macam:
 1. Interpreter
 2. Compiler

Interpreter
Compiler
Menerjemahkan program
baris per baris
Menerjemhakan semua
perintah dalam bahasa mesin
kemudian menjalankan hasil
penerjemahan.
Contoh: Basic
Contoh: Pascal, C, C++







Mendefinisikan masalah.
Menentukan solusi.
Memilih algoritma.
Menulis program.
Menguji program.
Menulis dokumentasi.
Merawat program.
Algoritma adalah urutan langkah berhingga untuk
memecahkan masalah logika atau matematika.
 Dalam kehidupan sehari-hari  sering menggunakan
algoritma untuk melakukan sesuatu.


contoh: Algoritma MENULIS SURAT





1. Mempersiapkan kertas dan amplop
2. Mempersiapkan alat tulis.
3. Mulai menulis.
4. Memasukkan kertas ke dalam amplop.
5. Pergi ke tempat pengiriman surat untuk mengeposkan
surat.
Dalam kasus lain, Anda mungkin harus
melakukan langkah-langkah tertentu
beberapa kali.
 Dalam dunia pemrograman disebut
pengulangan.

Menghitung luas daerah lingkaran.
 Rumus luas daerah lingkaran: L=R2.
 Contoh algoritmanya:

 1. Masukkan R.
 2. Pi  3.14.
 3. L  Pi*R*R.
 4. Tulis L

Tanda “” dibaca “assigned” atau “diberi
input/nilai”
Contoh berikut adalah algoritma untuk
menuliskan nilai mutlak dari nilai yang
dimasukkan oleh pengguna.
 Definisi nilai mutlak


Berikut ini adalah algoritma untuk
melukiskan nilai absolut dari masukkan
pengguna.
1. Masukkan x.
2. Jika (x<0) maka kerjakan baris 3, jika tidak
kerjakan baris 4.
3. x  -x
4. Tulis x

Mencari rata-rata dari data xi yang berjumlah N.
1.
2.
3.
4.
5.
6.
7.
8.
9.
Masukkan N.
i  1.
jum  0.
Selama (i<=N) kerjakan baris 4 sampai dengan 7.
Masukkan dt
i  i+1.
jum  jum + dt
Rata  jum/N
Tulis Rata






Input: suatu algoritma memiliki input atau kondisi awal
sebelum algoritma dilaksanakan dan bisa berupa nilai-nilai
pengubah yang diambil dari himpunan-himpunan khusus.
Output: suatu algoritma akan menghasilkan output setelah
dilaksanakan, atau mengubah kondisi awal menjadi kondisi
akhir, dimana nilai output diperoleh dari nilai input yang telah
diproses melalui algoritma.
Definiteness: langkah-langkah yang dituliskan terdefinisi
dengan jelas.
Finiteness: algoritma harus memberi kondisi akhir.
Effectiveness: algoritma dapat dilaksanakan dalam selang
waktu tertentu sehingga memberi solusi seperti yang
diharapkan.
Generality: langkah-langkah algoritma berlaku untuk setiap
himpunan input yang sesuai dengan persoalan yang akan
diberikan tidak hanya untuk himpunan tertentu.
Flowchart  untaian simbol gambar (chart)
yang menunjukkan alira (flow) dari proses
terhadap data.
 Flowchart dibedakan menjadi 2 bagian:

1. Program Flowchart
2. System Flowchart
Simbol
Nama
Keterangan
Terminator
Untuk MULAI atau SELESAI
Proses
Menyatakan proses terhadap suatu data
Input/Output
Menerima input atau menampilkan output
Seleksi/Pilihan
Memilih aliran berdasarkan syarat
Simbol
Nama
Keterangan
PredefinedData
Definisi awal dari variabel atau data
PredefinedProcess
Lambang fungsi atau sub-program
Connector
Penghubung pada halaman
Off-page
connector
Penghubung halaman yang berbeda
Simbol
Nama
Keyboard
Printer
File/Storage
Display/Monitor
Keterangan
Simbol
Nama
Magnetic Tape
Magnetic Disk
Sorting
Extract
Merge
Keterangan

Menghitung luas lingkaran
Mulai
Pi  3.14
Masukkan
R
LPi*R*R
Tulis L
Selesai
Download