Dasar Teori
Dasar Teori Tentang Algoritma
dan Pemrograman
v
Definisi
Algoritma
“Algoritma adalah urutan langkah-langkah
logis penyelesaian masalah yang disusun
secara sistematis dan logis”. Kata logis merupakan kata kunci dalam
algoritma. Langkah-langkah dalam
algoritma harus logis dan harus dapat
ditentukan bernilai salah atau benar.
v Pertimbangan dalam pemilihan algoritma
1. Algoritma haruslah benar, Artinya algoritma akan memberikan keluaran yang dikehendaki dari sejumlah
masukan yang diberikan. Tidak peduli sebagus apapun algoritma, kalau memberikan
keluaran yang salah, pastilah algoritma tersebut bukanlah algoritma yang baik.
2. Harus mengetahui seberapa baik hasil yang
dicapai oleh algoritma tersebut.
3.
Efisiensi
algoritma. Efisiensi algoritma dapat ditinjau dari 2 hal yaitu efisiensi waktu
dan memori.
v Beda Algoritma dan Program
Program adalah kumpulan
pernyataan komputer, sedangkan metode dan tahapan sistematis dalam program
adalah algoritma.
Beberapa
pakar memberi formula bahwa:
Program = Algoritma + Bahasa
(Struktur Data)
v Keuntungan Algoritma
1. Pembuatan atau penulisan algoritma tidak
tergantung pada bahasa
pemrograman manapun, artinya penulisan algoritma
independen dari
bahasa pemrograman dan komputer yang melaksanakannya.
2. Notasi
algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.
3. Apapun
bahasa pemrogramannya, outputyang akan dikeluarkan sama karena algoritmanya
sama.
v
Contoh-Contoh
Algoritma dalam Kehidupan Sehari-hari
No.
|
Proses
|
Algoritma
|
Contoh
Langkah dalam Algoritma
|
1.
|
Membuat
kue
|
Resep
kue
|
Masukkan telur ke dalam wajan, kocok sampai
mengembang, dst
|
2.
|
Membuat
pakaian
|
Pola
pakaian
|
Gunting kain dari pinggir kiri bawah ke arah
kanan sejauh 5 cm, dst
|
3.
|
Merakit
mobil
|
Panduan
merakit
|
Sambungkan komponen A dengan komponen B, dst
|
4.
|
Kegiatan
sehari - hari
|
Jadwal
harian
|
Pukul 06.00: mandi pagi, pukul 07.00:
berangkat kuliah, dst
|
5.
|
Mengisi
voucher HP
|
Penduan
pengisian
|
Tekan 888, masukkan nomor voucer, dst
|
Karakteristik
Algoritma
v Algoritma komputer memiliki
beberapa karakteristik
Karakteristik
itu antara lain:
Ø Presisi.
Langkah langkah penyelesaian masalah dalam algoritma haruslah secara presisi
(tepat) dinyatakan, tidak mengandung ambiguitas.
Ø Keunikan.
Hasil pertengahan dalam tiap langkah eksekusi suatu algoritma didefinisikan
secara khas dan merupakan pengolahan dari hasil eksekusi langkah sebelumnya.
Ø Keterbatasan.
Algoritma harus terbatas dan berhenti pada suatu titik setelah semua ekesekusi
dilaksanakan.
Ø Input.
Algoritma menerima input.
Ø Output.
Algoritma menghasilkan output.
Ø
Algoritma harus efektif
Flowchart
Flowchart merupakan gambar atau bagan
yang memperlihatkan urutan dan hubungan antar proses beserta pernyataannya.
Gambaran ini dinyatakan dengan simbol.
Dengan demikian setiap simbol menggambarkan proses tertentu.
v
Contoh
Flowchart
Psoudocode
v
Devinisi Pseudocode
Pseudocode adalah bentuk
penulisan algoritma yang menggunakan struktur bahasa pemrograman sederhana.
Walaupun pseudocode memakai struktur bahasa pemrograman, pseudocode tidak
mengikuti aturan penulisan bahasa pemrograman manapun. Mengapa begitu? Karena
pseudocode dituliskan hanya untuk mempermudah seseorang memahami sebuah
algoritma. Dengan begitu, pseudocode hanyalah menyerupai kode program saja, dan
tidak bisa dimengerti langsung oleh komputer. Pseudocode baru bisa diolah oleh komputer
jika telah mengikuti aturan penulisan sebuah bahasa pemrograman. (Bisa bahasa
C, Java, Pascal, dan lain-lain.)
v
Contoh Pseudocode
Contoh-contoh penulisan pseudocode:
1.
Menampilkan tulisan Test
Start
Print “Test”
End
2.
Menampilkan variable berisi tulisan Test
Start
a = “Test”
Print a
End
3.
Menghitung hasil penjumlahan
Start
Read b, c
d = b + c
Print b, “ ditambah “, c, “ hasilnya “, d
End
4.
Menampilkan isi variable yang hanya lebih kecil dari 10
Start
Read e
If e < 10 Then
Print e
Else
Print “Masukkan angka kurang dari 10!”
End If
End
5.
Menampilkan isi variable yang hanya di antara 0 dan 10
Start
Read f
If f > 0 Then
If f < 10 Then
Print f
Else
Print “Masukkan angka di
antara 0 dan 10!”
End If
Else
Print “Masukkan angka di antara 0 dan 10!”
End If
End
6.
Menampilkan mata pelajaran sesuai nomor yang dimasukkan
Start
Print “Masukkan nomor mata pelajaran Anda (1-3):”
Read g
Switch g
Case 1 : Print “Matematika”
Case 2 : Print “Bahasa
Indonesia”
Case 3 : Print “Bahasa Inggris”
Else : Print “Masukkan hanya
nomor 1-3”
End Switch
End
7.
Menampilkan tulisan Test sebanyak 5 kali dengan fungsi For
Start
For h = 1 To 5 Do
Print “Test ”
End For
End
8.
Menampilkan tulisan Test sebanyak 5 kali dengan fungsi While-Do
Start
i = 1
While i <= 5 Do
Print “Test ”
i = i + 1
End While
End
9.
Menampilkan tulisan Test sebanyak 5 kali dengan fungsi Repeat-Until
Start
j = 1
Repeat
Print “Test ”
j = j + 1
Until j <= 5
End
Bahasa pemrograman
Bahasa pemrograman adalah suatu komando atau perintah yang dibuat manusia untuk membuat komputer menjadi memiliki fungsi tertentu. bahasa pemrograman ini adalah suatu susunan aturan penulisan (sintaks) yang membentuk kode kode yang kemudian akan diterjemahkan oleh program kompiler menjadi bahasa rakitan (assembly) dan terus diolah hingga dimengerti oleh mesin. Komputer hanya mengerti bahasa mesin.
Menurut tingkat kedekatannya bahasa pemrograman ( programming language) terdiri dari:
1. bahasa mesin. yaitu bahasa yang digunakan untuk memprogram komputer dengan menggunakan kode semacam kode biner misalnya.00100001010100100
2. Bahasa Tingkat Rendah, atau dikenal dengan istilah bahasa rakitan (bah.Inggris Assembly), yaitu memberikan perintah kepada komputer dengan memakai kode-kode singkat (kode mnemonic), contohnya MOV, SUB, CMP, JMP, JGE, JL, LOOP, dsb
3. Bahasa Tingkat Menengah, yaitu bahasa komputer yang memakai campuran instruksi dalam kata-kata bahasa manusia (lihat contoh Bahasa Tingkat Tinggi di bawah) dan instruksi yang bersifat simbolik, contohnya {, }, ?, <<, >>, &&, ||, dsb.
4. Bahasa Tingkat Tinggi, yaitu bahasa komputer yang memakai instruksi berasal dari unsur kata-kata bahasa manusia, contohnya begin, end, if, for, while, and, or, dsb
Langkah-langkah Pemecahan Masalah
v Game
pertama: Menukarkan isi gelas
1.
Siapkan gelas kosong,
kita sebut gelas c
2.
Tuangkan air yang berada di dalam gelas A ke
gelas C
3.
Tuangkan air yang berada di dalam gelas B ke gelas A
4. Tuangkan air
yang berada di dalam gelas C ke gelas B
5. Isi
kedua gelas tersebut sudah tertukar
v Game
kedua: Mendapatkan air ember sebanyak 4 liter
1. Ember
A = 3lt
2.
Ember B = 5lt
3.
Isi penuh ember A
[A=3lt, B=0lt]
4. Tuangkan semua
air ember A ke ember B [A=0lt, B=3lt]
5. Isi
penuh ember A [A=3lt, B=3lt]
6. Tuangkan
semua air ember A ke ember B [A=1lt, B=5lt]
7. Buang
semua isi ember B [A=1lt, B=0lt]
8. Tuangkan
semua air ember A ke ember B [A=0lt, B=1lt]
9. Isi
penuh ember A [A=3lt, B=1lt]
10. Tuangkan
semua air ember A ke ember B [A=0lt, B=4lt]
11. Ember
B berisi 4 lt air
v Game
ketiga: Family Crisis
1. Sebrangkan
orang 3 detik dan 1 detik
2. Orang
1 detik kembali
3. Sebrangkan
6 detik dan 1 detik
4. Orang
1 detik kembali
5. Sebrangkan
orang 8 detik dan 12 detik
6. Orang
3 detik kembali
7. Sebrangkan
orang 3 detik dan 1 detik
8.
Tersisa waktu 1 detik
v Game
keempat: Canibal Game
1. Sebrangkan
kanibal1 dan kanibal2
3. Sebrangkan
kanibal1 dan kanibal3
4. Kembalikan
kanibal1
5. Sebrangkan
rahib1 dan rahib2
6. Kembalikan
rahib2 dan kanibal2
7. Sebrangkan
rahib2 dan rahib3
8. Kembalikan
kanibal3
9. Sebrangkan
kanibal2 dan kanibal3
10. Kembalikan
kanibal3
11. Sebrangkan
kanibal3 dan kanibal1
12. Semua
berhasil menyebrang
v Game
kelima: Wolf Game
1. Sebrangkan
kambing
2. Sebrangkan
rumput
3. Kembalikan
kambing
4. Sebrangkan
anjing
5. Sebrangkan
kambing
6.
Semua sudah menyebrang
Referensi
Tidak ada komentar:
Posting Komentar