I. DASAR TEORI
Dasar Teori dan Pemrograman
Dasar Teori dan Pemrograman
Beberapa definisi
Algoritma adalah seperti berikut ini :
§ Pola pikir yang
terstruktur yang berisi tahap-tahap penyelesaian masalah.
§ Urutan logis pengambilan
keputusan untuk pemecahan masalah.
§ Urutan langkah berhingga
untuk memecahkan masalah logika dan matematika
Sedangkan Pemrograman
yaitu Proses mengimplementasikan urutan langkah untuk menyelesaikan suatu
masalah dengan menggunakan suatu bahasa pemrograman.
Algoritma sering mempunyai langkah pengulangan (iterasi) atau memerlukan keputusan sampai tugasnya
selesai.
Adapun ilustrasi proses
pemrograman, terlihat dalam gambar berikut ini :
Karakteristik
Algoritma
a.
Presisi. Langkah langkah penyelesaian masalah
dalam algoritma haruslah secara presisi (tepat) dinyatakan, tidak mengandung
ambiguitas.
b.
Keunikan. Hasil pertengahan dalam tiap langkah
eksekusi suatu algoritma didefinisikan secara khas dan merupakan pengolahan
dari hasil eksekusi langkah sebelumnya.
c.
Keterbatasan. Algoritma harus terbatas dan
berhenti pada suatu titik setelah semua ekesekusi dilaksanakan.
d.
Input. Algoritma menerima input.
e.
Output. Algoritma menghasilkan output.
f.
Algoritma
harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di
kerjakan dalam sejumlah waktu yang masuk akal.
Flowchart
penggambaran secara grafik dari langkah-langkah dan
urut-urutan prosedur dari suatu program. Flowchart menolong analis dan
programmer untuk memecahkan masalah kedalam segmen-segmen yang lebih kecil dan
menolong dalam menganalisis alternatif-alternatif lain dalam pengoperasian. Flowchart
diawali dengan penerimaan input, pemrosesan input, dan diakhiri dengan
penampilan output.
Flowchart biasanya mempermudah penyelesaian suatu masalah
khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
pseudocode
Kode-palsu atau dalam bahasa inggris lebih dikenal sebagai pseudo-code merupakan deskripsi tingkat tinggi
informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural
atas suatu bahasa pemrograman, dan
ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode palsu biasanya
tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman
manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin
untuk sistem yang bersifat spesifik. Bahasa pemrograman yang digunakan lebih
diperbanyak dengan deskripsi dalam bahasa natural atas sesuatu hal yang
bersifat detail, atau dengan menggunakan notasi matematis. Tujuan dari
penggunaan kode-palsu adalah untuk mempermudah manusia dalam pemahaman
dibandingkan menggunakan bahasa pemrograman yang umum digunakan, terlebih
aspeknya yang ringkas serta tidak bergantung pada suatu sistem tertentu
merupakan prinsip utama dalam suatu algoritma. Kode-palsu umumnya digunakan
dalam buku-buku ataupun publikasi karya ilmiah yang mendokumentasikan suatu
algortima, dan juga dalam perencanaan pengembangan program komputer, untuk
membuat sketsa atas struktur sebuah program sebelum program yang sesungguhnya
ditulis.
Bahasa Pemrograman
Bahasa
pemrograman, atau sering diistilahkan juga dengan bahasa komputer, adalah teknik komando/instruksi
standar untuk memerintahkomputer. Bahasa pemrograman ini
merupakan suatu himpunan dari aturan sintaks dan semantik yang
dipakai untuk mendefinisikan program komputer. Bahasa ini memungkinkan
seorang programmer dapat menentukan secara persis data mana yang akan diolah
oleh komputer, bagaimana data ini akan disimpan/diteruskan, dan jenis langkah apa
secara persis yang akan diambil dalam berbagai situasi.
Menurut tingkat
kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
1.
Bahasa Mesin, yaitu memberikan perintah kepada komputer
dengan memakai kode bahasa biner, contohnya 01100101100110
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.
Sebagian besar bahasa
pemrograman digolongkan sebagai Bahasa Tingkat Tinggi, hanya bahasa C yang
digolongkan sebagai Bahasa Tingkat Menengah dan Assembly yang merupakan Bahasa
Tingkat Rendah.
II.
LANGKAH-LANGKAH PENYELESAIAN MASALAH
1 Memindah air
a.
Mengambil sebuah gelas kosong diberi label C
b.
Tuangkan air di gelas B ke gelas C
c.
Pindahkan air pada gelas A ke gelas B
d.
Pindahkan air pada gelas C ke gelas A
2 Mengisi air
a. isi ember 3 ltr, tuangkan ke dalam ember 5 ltr
(ember 5 ltr terisi air 3 ltr)
b. isi lagi ember 3 ltr, tuangkan ke ember 5 ltr
(ember 5 ltr terisi penuh, ember 3 ltr tersisa 1 ltr air)
c. buang air di ember 5 ltr
d. tuangkan sisa air dari ember 3 ltr ke ember 5
ltr (ember 5 ltr terisi air 1 ltr)
e. isi lagi ember 3 ltr, tuangkan ke dalam ember
5 ltr ( ember 5 ltr berisi 1 ltr + 3 ltr air = 4 ltr air)
3 Family crisis
a. Seberangkan si
1 dtk dan si 3 dtk
b. Si 1dtk balik untuk menjemput yang 6 dtk
c. 1 dtk dan 6 dtk menyebrang, 6 dtk memegang lampu, lalu
si 1dtk balik lagi
d. Seberangkan secara bersama-sama si 12 dtk dan si 8 dtk.
Si 12 dtk yang pegang lampu
e. si 3 dtk balik jemput si 1 dtk.
f.
si 1 dtk dan 3dtk
menuju seberang bersama-sama, 3 dtk yg pegang lampu. Cannibals and
missionaries
4. Cannibals game
a. Seberangkan
K1 dan K2 terlebih dahulu, keluarkan K2 ke sisi B
b. K1
kembali ke sisi A, masukkan K3, seberangkan mereka
c. Keluarkan
K3, seberangkan K1 ke sisi A
d. Keluarkan
K1, masukkan M1 dan M2, seberangkan ke sisi B
e. Keluarkan
M1, masukkan K2, seberangkan ke sisi A
f.
Keluarkan K2, masukkan M3, seberangkan ke sisi B
g. Keluarkan
M2 dan M3 ke sisi B, masukkan K2, seberangkan ke sisi A
h. Masukkan
K1 seberangkan
i.
Keluarkan K1, seberangkan K2 ke sisi A.
j.
Masukkan K3, seberangkan ke sisi B
k. Keluarkan
K2 dan K3 ke sisi B.
5 Wolf game
b.
Angkut sayurnya menuju sisi B
c.
Bawa kembali kambingnya ke sisi A
d.
Angkut serigalanya ke sisi B
e.
Balik lagi sendirian menuju sisi A
f.
Ambil kambingnya menuju sisi B
III.
REFERENSI
lecturer.ukdw.ac.id/othie/flowchart.doc
Tidak ada komentar:
Posting Komentar