FORMAT
LAPORAN
1.
Dasar
Teori
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