Minggu, 22 September 2013


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
5.                    http://id.wikipedia.org/wiki/Diagram_alir
6.                    http://blog.uin-malang.ac.id/arief/tag/pengertian-pseudocode/
7.                  http://id.wikipedia.org/wiki/Bahasa_pemrograman

Tidak ada komentar:

Posting Komentar