a. Dasar Teori
tentang algoritma dan pemrograman
“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.
Dalam beberapa konteks, algoritma adalahspesifikasi
urutan langkah untuk
melakukan pekerjaan tertentu. Pertimbangan dalam
pemilihan algoritma
adalah, pertama, 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.
Pertimbangan kedua yang harus diperhatikan adalah kita
harus mengetahui
seberapa baik hasil yang dicapai oleh algoritma
tersebut. Hal ini penting
terutama pada algoritma untuk menyelesaikan masalah
yang memerlukan
aproksimasi hasil (hasil yang hanya berupa
pendekatan). Algoritma yang
baik harus mampu memberikan hasil yang sedekat mungkin
dengan nilai
yang sebenarnya.
Ketiga adalah efisiensi algoritma. Efisiensi algoritma
dapat ditinjau dari 2
hal yaitu efisiensi waktu dan memori. Meskipun
algoritma memberikan
keluaran yang benar (paling mendekati), tetapi jika
kita harus menunggu
berjam-jam untuk mendapatkan keluarannya, algoritma
tersebut biasanya
tidak akan dipakai, setiap orang menginginkan keluaran
yang cepat. Begitu
juga dengan memori, semakin besar memori yang terpakai
maka semakin
buruklah algoritma tersebut.
Dalam kenyataannya, setiap orang bisa membuat
algoritma yang berbeda
untuk menyelesaikan suatu permasalahan, walaupun
terjadi perbedaan
dalam menyusun algoritma, tentunya kita mengharapkan
keluaran yang
sama. Jika terjadi demikian, carilah algoritma yang
paling efisien dan cepat.
Beda Algoritma dan Program
Program adalah kumpulan pernyataan komputer, sedangkan
metode dan
tahapan sistematis dalam program adalah algoritma.
Program ditulis dengan
menggunakan bahasa pemrograman. Jadi bisa disebut
bahwa program
adalah suatu implementasi dari bahasa pemrograman.
Beberapa pakar memberi formula bahwa:
Program = Algoritma + Bahasa (Struktur Data)
Bagaimanapun juga struktur data dan algoritma
berhubungan sangat erat
pada sebuah program. Algoritma yang baik tanpa
pemilihan struktur data
yang tepat akan membuat program menjadi kurang baik,
demikian juga
sebaliknya
b. Karakteristik
Algoritma
1. Teks algoritma berisi deskripsi
langkah-langkah penyelesaian masalah.
Deskripsi tersebut dapat ditulis dalam notasi apapun
asalkan mudah
dimengerti dan dipahami.
2. Tidak ada notasi yang baku dalam penulisan
teks algoritma seperti
notasi bahasa pemrograman. Notasi yang digunakan dalam
menulis
algoritma disebut notasi algoritmik.
3. Setiap orang dapat membuat aturan penulisan
dan notasi algoritmik
sendiri. Hal ini dikarenakan teks algoritma tidak sama
dengan teks
program. Namun, supaya notasi algoritmik mudah
ditranslasikan ke
dalam notasi bahasa pemrograman tertentu, maka
sebaiknya notasi
algoritmik tersebut berkorespondensi dengan notasi
bahasa
pemrograman secara umum.
4. Notasi algoritmik bukan notasi bahasa
pemrograman, karena itu
pseudocodedalam notasi algoritmik tidak dapat
dijalankan oleh
komputer. Agar dapat dijalankan oleh komputer,
pseudocodedalam
notasi algoritmik harus ditranslasikan atau
diterjemahkan ke dalam
notasi bahasa pemrograman yang dipilih. Perlu diingat
bahwa orang
yang menulis program sangat terikat dalam aturan tata
bahasanya dan
spesifikasi mesin yang menjalannya.
5. Algoritma sebenarnya digunakan untuk membantu
kita dalam
mengkonversikan suatu permasalahanke dalam bahasa
pemrograman.
6. Algoritma merupakan hasil pemikiran
konseptual, supaya dapat
dilaksanakan oleh komputer, algoritma harus
ditranslasikan ke dalam
notasi bahasa pemrograman. Ada beberapa hal yang harus
diperhatikan
pada translasi tersebut, yaitu:
a. Pendeklarasian variabel
Untuk mengetahui dibutuhkannya pendeklarasian variabel
dalam
penggunaan bahasa pemrograman apabila tidak semua
bahasa
pemrograman membutuhkannya.
b. Pemilihan tipe data
Apabila bahasa pemrograman yang akan digunakan
membutuhkan
pendeklarasian variabel maka perlu hal ini
dipertimbangkan pada
saat pemilihan tipe data.
c. Pemakaian instruksi-instruksi
Beberapa instruksi mempunyai kegunaan yang sama tetapi
masing-masing memiliki kelebihan dan kekurangan yang berbeda.
d. Aturan sintaksis
Pada saat menuliskan program kitaterikat dengan aturan
sintaksis
dalam bahasa pemrogramanyang akan digunakan.
e. Tampilan hasil
Pada saat membuat algoritma kita tidak memikirkan
tampilan hasil
yang akan disajikan. Hal-hal teknis ini diperhatikan
ketika
mengkonversikannya menjadi program.
f. Cara pengoperasian compileratau interpreter.
Bahasa pemrograman yang digunakan termasuk dalam
kelompok
compileratau interpreter.
c. Flowchart
Flowchart atau diagram alir merupakan 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
d. Psoudecode
Pseudocode adalah deskripsi dari
algoritma pemrograman computer yang menggunakan struktur sederhana dari
beberapa bahasa pemograman tetapi bahasa tersebut hanya ditujukan agar dapat
dibaca manusia. Biasanya yang ditulis dari pseudocode adalah variabel dan
fungsi. Tujuan penggunaan utama dari pseudocod e adalah untuk memudahkan
manusia dalam memahami prinsip-prinsip dari suatu algoritma. Penggunaan
pseudocode umumnya banyak kita temukan di buku-buku dan artikel-artikel tentang
pemrograman yang membahas tentang algoritma tertentu. Kadang pula pseudocode kita
temukan dalam merencanakan pengembangan suatu program komputer. Dalam
pseudocode, tidak ada syntax standar yang resmi. Karena itu, pseudocode ini
dapat kita terapkan dalam berbagai bahasa pemograman. Tentu saja harus kita
sesuaikan setiap tahap dengan bahasa pemograman yang kita gunakan. Fungsi dari
pseudocode mungkin sama dengan Flowchart. Perbedaannya terletak pada cara
penyampaiannya. Pseudocode menggunakan kata-kata untuk menjelaskan suatu
algoritma, sedangkan Flowchart menggunakan gambar. Contoh Algoritma dan
Pseudocode
e. Bahasa
Pemrograman
Bahasa pemrograman, atau sering diistilahkan juga dengan bahasa komputer atau bahasa pemrograman komputer, adalah 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.
2. Langkah Langkah Pemecahan Masalah
Jawaban no.1
Pertama siapkan gelas C. Kemudian tuangkan air dari
gelas A kedalam gelas C. setelah itu air yang didalam gelas B kedalam gelas A.
dan air yang didalam gelas C dituang ke gelas B.
Jawaban no. 2
Langkah langkah
a. Isi ember A
sampai penuh, kemudian tuang pada ember B. Sehingga ember B berisi air sbnyak 2
liter
b. Ember A
diisi air lagi smpai full, tuang pada ember B sebanyak 2 liter sampe full.
Sekarang ember A tersisaair sebanyak 4 liter. Karena sebelumnya pada ember B
sudah terisi air sebanyak 2 liter, jika air pada ember B di isi lagi, maka
hanya akan terisi 1 liter. Begitu juga pada ember A hanya berkurang 1 liter.
Sehingga pada ember A hanya berisi air sebanya 4 liter.
Jawaban n0. 3
Langkah langkah
a. Orang nomor
3 dan nomor 1 menuju sebrang, kemudian orang nomor 1 kembali ke tempat semula
b. Orang nomor
6 dan nomor 1 menuju sebrang, kemudian orang nomor 3 kembali ke tempat semula
c. Orang nomor
8 dan nomor 12 menuju sebrang, dan orang nomor 1 kembali ke tempat semula
d. Orang nomor
1 dan nomor 3 menuju sisi sebrang
Jawaban no. 4
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.
Jawaban no. 5
1. Petani lebih dulu membawa kambing
2. Taruh kambing tersebut terus
petani kembali
3. Membawa sayuran terus taruh
tukar sama kambing
4. Petani membawa kambing menukar
dengan anjing
5. Taruh anjing tersebut petani
kembali membawa kambing
3.
Referensi
4.
Algoritma
dan Pemrograman; Teori dan Praktik dalam Pascal Edisi Kedua_Final.pdf
Tidak ada komentar:
Posting Komentar