LANDASAN TEORI
1.
Dasar Teori Tentang Algoritma dan Pemrograman
Dalam Mempelajari
Teori Algoritma dan Pemrograman dalam matakuliah Algoritma dan Pemrograman,
maka perlulah mahasiswa terlebih dahulu mengenal akan definisi-definisi masing-masing
dari kata ‘Algoritma’ serta ‘Pemrograman’. Beberapa definisi Algoritma adalah
seperti berikut ini :
a.
Pola
pikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
b.
Urutan
logis pengambilan keputusan untuk pemecahan masalah.
c.
Urutan
langkah berhingga untuk memecahkan masalah logika dan matematika
d.
Sedangkan
definisi dari Pemrograman yaitu Proses mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.
2. Karakteristik Algoritma
yang baik yaitu :
a.
Algoritma
harus tidak ambigu (unambiguous)
b.
Algoritma
harus tepat (precise)
c.
Algoritma
harus pasti ( definite)
d.
Algoritma
harus berhingga
3. Flowchart
Flowchart atau diagram alir adalah sebuah
diagram dengan simbol-simbol grafis yang menyatakan aliran algoritma atau
proses yang menampilkan langkah-langkah yang disimbolkan dalam bentuk kotak,
beserta urutannya dengan menghubungkan masing masing langkah tersebut
menggunakan tanda panah. Diagram ini bisa memberi solusi selangkah demi
selangkah untuk penyelesaian masalah yang ada di dalam proses atau algoritma
tersebut.
a. Flowchart adalah
bagan-bagan yang mempunyai arus menggambarkan langkah-langkah penyelesaian
suatu masalah
b. Merupakan cara
penyajian dari suatu algoritma
c. 2 macam flowchart:
-
System flowchart:
Urutan proses dalam
system dengan menunjukkan alat media input, output serta jenis penyimpanan
dalam proses pengolahan data.
-
Program flowchart:
d. Urutan instruksi yang
digambarkan dengan symbol tertentu untuk memecahkan masalah dalam suatu
program.
Pembuatan Flowchart
a. Tidak ada kaidah yang
baku
b. Flowchart = gambaran hasil
analisa suatu masalah
c. Flowchart dapat
bervariasi antara satu pemrograman dengan pemrograman lainnya.
d. Secara garis besar ada
3 bagian utama:
-
Input \
-
Proses
-
Output
e. Hindari pengulangan
yang tidak perlu dan logika yang berbelit sehingga jalannya proses menjadi
singkat
f. Jalannnya proses
digambarkan dari atas ke bawah dan diberikan tanda panah untuk memperjelas.
g. Sebuah Flowchart
diawali dari satu titik START dan diakhiri dengan End.
Tujuan Flowchart
Tujuan utama penggunaan flowchart adalah
untuk menyederhanakan rangkaian proses atau prosedur untuk memudahkan pemahaman
pengguna terhadap informasi tersebut. Oleh karena itu, design sebuah flowchart
harus ringkas, jelas, dan logis.
4. Psoudecode
Definisi Pseudo-code
Kode atau tanda yang menyerupai (pseudo)
atau merupakan pejelasan cara menyelesaikan suatu masalah. Pseudo-code sering
digunakan oleh manusia untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari
dua bilangan yang diinputkan
Contoh Pseudo-code:
Contoh Pseudo-code:
a. Masukkan bilangan
pertama
b. Masukkan bilangan
kedua
c. Jika bilangan pertama
> bilangan kedua maka kerjakan langkah 4, jika tidak, kerjakan langkah 5
d. Tampilkan bilangan
pertama
e. Tampilkan bilangan kedua
Pseudo-code
1) Pseudo-code adalah
kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara
menyelesaikan suatu masalah.
2) Pseudo-code sering
digunakan oleh seseorang untuk menuliskan algoritma dari suatu permasalahan.
3) Pseudo-code berisikan langkah-langkah
untuk menyelesaikan suatu permasalahan [hampir sama dengan algoritma], hanya
saja bentuknya sedikit berbeda dari algoritma.
4) Pseudo-code
menggunakan bahasa yang hampir menyerupai bahasa pemrograman. Selain itu
biasanya pseudo-code menggunakan bahasa yang mudah dipahami secara universal
dan juga lebih ringkas dari pada algoritma.
5. Bahasa
Pemrograman
Bahasa Pemrograman merupakan notasi yang dipergunakan untuk mendeskripsikan proses
komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses
komputasi umumnya Bahasa pemrograman == Komputer adalah mesin yang dapat
melaksanakan seperangkat perintah dasar (instruction set). Komputer hanya dapat
diberi perintah yang terdiri dari perintah-perintah dasar tersebut.
Perintah-perintah yang lebih rumit (misalnya mengurutkan suatu daftar
sesuai abjad) harus diterjemahkan menjadi serangkaian perintah-perintah dasar
yang dapat dimengerti komputer (perintah-perintah yang termasuk
dalam instruction set komputer tersebut) yang pada akhirnya dapat
mennyelesaikan tugas yang diinginkan, meskipun dijalankan dengan beberapa
operasi dasar, bukan satu operasi rumit.
LANGKAH - LANGKAH
PEMECAHAN MASALAH
1. Gelas
Agar isi di di gelas A bisa ditukar ke
gelas B kita memerlukan sebuah gelas tambahan untuk tempat penampungan
sementara, dan kita namakan gelas tambahan tersebut adalah gelas C dan dengan menggunakan gelas C ini sebagai media pertukaran, algoritma pertukaran isi kedua buah gelas
adalah sebagai berikut :
a. Tuangkan air dari
Gelas A ke dalam Gelas C.
b. Tuangkan air dari
Gelas B ke dalam Gelas A.
c. Tuangkan air dari
Gelas B ke dalam Gelas A.
d. Tuangkan air dari
Gelas C ke dalam Gelas B.
2. Ember
§ Masukkan air kedalam
ember 3 liter
§ Tuangkan
air dari ember 3 liter ke ember 5 liter
§ Masukkan air kedalam
ember 3 liter
§ Tuangkan air dari
ember 3 liter ke ember 5 liter
§ Buang
air di ember 5 liter
§ Masukkan air kedalam
ember 3 liter
§ Tuangkan
air dari ember 3 liter ke ember 5 liter
§ Maka
ember 5 liter akan terisi air sebanyak 4 liter
3. Plastelina game
§ Permzisalan, untuk
orang yang berjalan 1 detik berarti nomor 1, untuk orang yang berjalan 6 detik
berarti nomor 6, dan lain sebagainya. Sedangkan sisi A untuk tepi awal
berangkat dan sisi B untuk tepi tujuan
§ Gunakan orang nomor 3
dan nomor 1 menuju sisi B, dan orang nomor 3 tinggal di sisi B, sedangkan orang
nomor 1 kembali ke sisi A
§ Gunakan orang nomor 6
dan nomor 1 menuju sisi B, dan orang nomor 1 dan nomor 6 tinggal di sisi B,
sedangkan orang nomor 3 kembali kesisi A
§ Di sisi
A ada orang nomor 8, nomor 12, dan nomor 3
§ Gunakan orang nomor 8
dan nomor 12 menuju sisi B, dan lalu gunakan orang nomor 1 untuk menjemput
orang nomor 3
§ Lalu
gunakan orang nomor 1 dan nomor 3 menuju sisi B.
1.
Canibal game
· Permisalan, untuk kanibal adalah K1, K2, dan K3 dan untuk rahib R1, R2, dan R3 dan tepi pertama sebagai tepi A dan tepi kedua sebagai tepi B
· K1 dan R1 berangkat lebih dulu ke tepi B, dan K1 tinggal di tepi B, sedangkan R1 kembali ke tepi A
· R1 turun dari perahu, digantikan oleh K2 dan K3 menuju tepi B, dan K2 tinggal di tepi B sedangkan K3 kembali ketepi A
· K3 turun dari perahu, digantikan R1 dan R2 menuju tepi B, dan R1 dan R2 tinggal di tepi B sedangkan K1 kembali ketepi A
· K1 dan K2 naik perahu menuju tepi B, dan K2 tinggal di tepi B sedangkan K1 kembali ketepi A
· K1 dan K3 naik perahu menuju tepi B, lalu K1 dan K3 sama-sama turun di tepi B.
2. Wolf game
§ Jika membawa srigala
terlebih dulu, maka kambing akan memakan rumput, jika membawa rumput terlebih
dulu, srigala akan memakan kambing
§ Permisalan,sisi awal
adalah A,sisi akhir adalah B
§ Bawa kambing ke sisi
A,karena srigala tidak makan rumput
§ Lalu kembali ke sisi
A,bawa rumput ke sisi B
§ Bawa
kembali kambing ke sisi A,dan diturunkan
§ Srigala di bawa ke
sisi B,dan petani kembali kesisi A
§ Ambil kambing dan bawa
ke sisi B
REFRENSI
Tidak ada komentar:
Posting Komentar