1.
Dasar
Teori
-
Algoritma
dan pemrograman
Definisi
Algoritma :
1)
Langkah-langkah
yg dilakukan agar solusi masalah dapat diperoleh
2)
Suatu
prosedur yang merupakan urutan langkah-langkah yang berintegrasi
3)
Suatu
motode khusus yang digunakan untuk menyelesaikan suatu masalah yang nyata
(Webster dictionary)
4)
Urutan
langkah-langkah logis penyelesaian masalah yang disusun secara sistematis. Kata
logis berarti benar sesuai dengan logika
manusia
Sedangkan Pemograman
adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu
masalah dengan menggunakan suatu bahasa pemograman
-
Karakteristik
algoritma
1)
Algoritma harus tidak ambigu (unambiguous)
2)
Algoritma harus tepat (precise)
3)
Algoritma harus pasti( definite)
4)
Algoritma
harus berhingga
-
Flowchart
Flowchart adalah penyajian
yangs istematis tentang proses dan logika dari kegiatan penanganan
informasi atau
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.
Simbol-Simbol Flowchart
-
Psoudecode
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 Pemograman
Bahasa pemrograman, atau sering
diistilahkan juga dengan bahasa komputer, adalah teknik
komando/instruksi standar untuk memerintah komputer.
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.
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
2.
Langkah-langkah
pemecahan masalah
1.
Memindah air
Misalkan
terdapat dua gelas, yakni gelas “A” dan “B”. Gelas A berisi air berwarna merah,
dan gelas B berisi air berwarna biru. Volume air di dalam kedua gelas sama.
Bagaimana mempertukarkan isi kedua gelas sehingga gelas A berisi air berwarna
biru, dan gelas B berisi air berwarna merah.
Kondisi
awal:
Gelas A Gelas
B
Kondisi
akhir:
Gelas A Gelas
B
Penyelesaian :
1)
Ambil sebuah gelas kosong (gelas C)
2)
Tuangkan
gelas A yang berisi air berwarna merah ke gelas C
3)
Tuangkan
gelas B yang berisi air berwarna biru ke gelas A
4)
Setelah
itu tuangkan isi gelas C yang berwarna merah ke gelas B
2.
Mengisi
ember air
Misalkan anda
mempunyai dua ember, masing-masing ber-volume 5liter dan 3 liter. Anda diminta
untuk mendapatkan air (dari sebuah danau) sebanyak 4 liter dengan menggunakan
bantuan hanya kedua ember tersebut. Terserah bagaimana caranya, anda boleh
memindahkan air dari satu ember ke ember yang lain, membuang seluruh isi ember,
dan sebagainya. Catatan: ember tidak
memiliki ukuran.
Penyelesaian :
1)
Isi penuh ember yg ber-volume 3 liter, lalu tuangkan dalam ember 5 liter.
2)
Isi kembali ember 3 liter dan tuangkan dalam
ember 5 liter karena diember yang 5 liter sudah ada 3 liter, jadi yang
digelas 3 liter otomatis sisa 1 liter
3)
Setelah itu buang seluruh air pada ember 5
liter
4)
Tuangkan sisa air pada ember 3 liter yaitu 1
liter ke ember 5 liter.
5)
Isi penuh ember 3 liter, lalu tuangkan ke ember
5 liter yg berisi 1 liter.
3.
Plastelina
Game
Ada sebuah
keluarga terdiri dari 5 orang, akan menyeberang melewati jembatan pada malam
hari dengan bantuan lampu yang hanya bisa bertahan 30 detik, dengan catatan :
a.
Setiap
orang mempunyai kecepatan yang berbeda-beda (1, 3, 6, 8, dan 12 detik).
b.
Apabila
yang melewati jembatan ada 2 orang, maka kecepatannya akan dihitung berdasarkan
yang paling lambat.
Penyelesaian :
1)
Orang
yang berkecepatan 1 dan 3 detik menyeberang jembatan terlebih dahulu
2)
Orang
yang berkecepatan 1 detikkembali
3)
Orang
yang berkecepatan 8 dan 12 detik berjalan bersama untuk menyebrang jembatan
4)
Orang
yang berkecepatan 3 detik kembali
5)
Orang
yang berkecepatan 1 dan 6 detik berjalan bersama untuk menyebrang jembatan
6)
Orang
yang berkecepatan 1 detik kembali untuk menjemput orang yang berkecepatan 3 detik
dan mereka berjalan bersama untuk menyebrang
jembatan
4. CanibalGame
Bagaimana
caranya untuk menyeberangkan tiga rahib dan 3 kanibal ke pulai di seberang,
dengan catatan :
a.
Perahu
maksimal dapat ditumpangi dua orang.
b.
Perahu
tidak dapat berjalan sendiri (tanpa penumpang)
c.
Jika
jumlah rahib lebih sedikit dari kanibal, maka rahib akan dimakan oleh kanibal.
Penyelesaian :
1)
Dua
kanibal menyebrang ke pulau seberang
2)
Lalu
1 kanibal turun dan 1 kanibal yang ada di perahu kembali keseberang untuk membawa
kanibal yang lain ke pulau seberang
3)
1 kanibal
yang ada di perahu kembali lagi
4)
Kanibal
turun dan 2 orang rahib naik ke perahu menyeberang dengan meninggalkan 1 rahib
dan 1 kanibal
5)
1 rahib turun dan 1 kanibal naik dengan rahib
yang ada di perahu
6)
Lalu
rahib dan kanibal menyebrang kembali ke tempat semula
7)
Kanibal
turun rahib naik untuk menyebrang bersama rahib yang ada di perahu
8)
Kedua
rahib turun dan kanibal naik menyebrang,kanibal yang di sebrang naik menyebrang
bersama kanibal yang membawa perahu
9)
Kanibal
1 turun dan kanibal yang ada di perahu menjemput kanibal yang tersisa
diseberang.
5. Wolf Game
Seorang petani
akan bepergian ke kota dengan membawa se-ekor kambing , anjing, dan rumput yang
ketiganya memiliki berat yang tidak jauh berbeda. Ditengah jalan, petani harus
menyeberangi sungai dengan menggunakan perahu dan untuk melaluinya petani
tersebut tidak diperbolehkan membawa sekaligus bawaanya mengingat kapasitas
kekuatan perahu tersebut, dan untuk melaluinya petani harus membawa satu
per-satu bawaannya, dengan catatan :
a.
Kambing
makan rumput
b.
Anjing
makan kambing
Penyelesaian
:
1)
Petani
membawa kambing dari pulau pertama kepulau kedua
2)
Lalu
petani kembali sendiri kepulau pertama untuk membawa anjing keseberang pulau
kedua
3)
Dari
pulau kedua petani membawa kambing kepulau pertama
4)
Kemudian
petani tersebut membawa rumput dari pulau pertama kepulau kedua
5)
Dan
yang terakhir petani kembali kepulau pertama untuk membawa kambing kepulau
kedua.
3.
Referensi