1. Dasar Teori
- Dasar Teori Tentang
Algoritma dan Pemrograman
Algoritma adalah kumpulan perintah untuk menyelesaikan suatu
masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari awal
hingga akhir atau urutan langkah-langkah logis penyelesaian masalah yang
disusun secara sistematis. Kata logis berarti benar sesuai dengan logoka
manusia. Salah satu fungsinya ialah untuk mencari solusi atas permasalahan
optimasi kombinasi, yaitu mendapatkan suatu nilai solusi optimal terhadap suatu
permasalahan yang mempunyai banyak kemungkinan solusi. Dimana prinsip algoritma
genetik diambil dari teori Darwin yaitu setiap makhluk hidup akan menurunkan
satu atau beberapa karakter ke anak atau keturunannya.
Pemrograman adalah proses mengimplementasikan urutan langkah
untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa
pemograman yaitu :
Defenisi
Masalah -> Algoritma -> Bahasa Pemograman -> Hasil
Proses
pemrograman komputer bukan saja sekedar menulis suatu urutan instruksi yang
harus dikerjakan oleh komputer akan tetapi bertujuan untuk memecahkan suatu
masalah serta membuat mudah pekerjaan pengguna komputer (user). Didalam membuat
sebuah program komputer, tentu tidak terlepas dari sifat individu pemrogram
(Programmer).
- Karakteristik Algoritma
•
Algoritma
harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh,
dalam algoritma Euclidean, pada langkah 1, jika n = 0, algoritma berhenti, jika
n tidak = 0 maka nilai n selalu berkurang sebagai akibat dari langkah 2 dan 3,
dan pada akhirnya nilai n = 0. Program yang tidak pernah berhenti mengindikasikan
bahwa program tersebut berisi algoritma yang salah.
•
Setiap
langkah harus di defenisikan dengan tepat dan tidak berarti dua (ambiguous).
Pembaca harus mengerti apa yang di maksud dengan “m” dan “n” adalah bilangan
bulat tak negatif (-). Contoh lainnya pernyataan ” bagilah p dengan beberapa
sejumlah bilangan bulat positif” dapat bermakna ganda. Berapakah yang di maksud
dengan “berapa” ? Algoritma menjadi jelas jika langkah tersebut di tulis
“bagilah p dengan 10 buah bilangan bulat positif”
•
- Flowchart
Flowchart 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.
Jenis-jenis flowchart :
• Document Flowchart, menunjukkan kontrol
dari sebuah sistem aliran dokumen.
• Data Flowchart, menunjukkan kontrol dari
sebuah sistem aliran data.
• System Flowchart, menunjukkan kontrol
dari sebuah sistem aliran secara fisik.
• Program Flowchart, menunjukkan kontrol
dari sebuah program dalam sebuah sistem.
- Psoudecode
Pseudocode merupakan deskripsi dari
algoritma pemrograman komputer 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 pseudocode 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. Pseudocode
adalah notasi yang menyerupai bahasa pemrograman tingkat tinggi. 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
Perintah Pseudocode:
1.
Masukkan bilangan pertama
2.
Masukkan bilangan kedua
3. Jika
bilangan pertama > bilangan kedua maka kerjakan langkah 4, jika tidak,
kerjakan langkah 5.
4.
Tampilkan bilangan pertama
5.
Tampilkan bilangan kedua
- Bahasa Pemrograman
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.
Menurut
tingkat kedekatannya dengan mesin komputer, bahasa pemrograman terdiri dari:
•
Bahasa
Mesin, yaitu memberikan perintah kepada komputer dengan memakai kode bahasa
biner, contohnya 01100101100110.
•
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.
•
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.
•
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.
2. Langkah-langkah Pemecahan Masalah
•
Penyelesaian
no.1 :
Kita tidak bisa langsung mempertukarkan
air didalam kedua ember tadi begitu saja sebab cara seperti itu menyebabkan
terjadinya percampuran. Agar bisa dipertukarkan, kita memerlukan sebuah ember
tambahan sebagai tempat penanganan sementara, misalkan tambahan tersebut adalah
ember C, dengan menggunakan ember C ini, algoritma pertukaran isi kedua buah
ember adalah sebagai berikut :
-
Tuangkan air dari ember A ke dalam ember C
-
Tuangkan air dari ember B ke dalam ember A
-
Tuangkan air dari ember C ke dalam ember B
•
Penyelesaian
no.2 :
1.
Isi
penuh ember 3 liter dengan air (ember 3
liter berisi 3 liter air)
2.
Tuangkan
air dari ember 3 liter ke dalam ember air 5 liter
(ember 5
liter,sekarang berisi 3 liter air)
3.
Isi
penuh kembali ember ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
4.
Tuangkan
air dari ember 3 liter kedalam ember 5 liter hingga penuh
(di dalam
ember 3 liter sekarang tersisa 1 liter air)
5.
Buang
seluruh air dari ember 5 liter air (ember
5 liter kosong)
6.
Tuangkan
air dari ember 3 liter (yang tersisa 1
liter tadi) kedalam ember 5 liter (ember
5 liter sekarang berisi 1 liter air, ember 3 liter kosong)
7. Isi penuh ember 3 liter
dengan air (ember 3 liter berisi air 3
liter)
8.
Tuangkan
air dari ember 3 liter ke dalam ember 5 liter (ember 5 liter sekarang berisi 1 + 3 = 4 liter air)
•
Penyelesaian
no.3 :
1. Pertama gunakan anak yang 1
detik dan 3 detik.
2.
Kedua kembalikan anak yang 1 detik.
3.
Ketiga kirim anak yang 1 detik dan ibu yang 6 detik.
4.
Keempat kembalikan anak yang 3 detik.
5.
Kelima kirim bapak yang 8 detik dan kakek yang 12 detik.
6.
Keenam kembalikan anak yang 1 detik untuk menjemput anak yang 3 detik.
•
Penyelesaian
no.4 :
1. Sebrangkan “Kanibal1” dan
“Kanibal2” terlebih dahulu.
2.
Setelah sampai disebrangkan, keluarkan “Kanibal1”.
3.
Lalu sebrangkan “Kanibal2” dan masukkan “Kanibal3” lalu sebrangkan mereka.
4.
Keluarkan “Kanibal2” dan sebrangkan “Kanibal3”.
5.
Keluarkan “Kanibal3”, kemudian sebrangkan “Biksu1” dan “Biksu2”.
6.
Keluarkan “Biksu1”, kemudian masukkan “Kanibal1”, lalu sebrangkan mereka.
7.
Keluarkan “Kanibal1”, kemudian masukkan “Biksu3”, lalu sebrangkan mereka.
8.
Keluarkan “Biksu2” dan “Biksu3”, lalu sebrangkan “Kanibal2”.
9.
Kemudian masukkan “Kanibal1”, sebrangkan mereka.
10.
Keluarkan “Kanibal1”, sebrangkan “Kanibal2”.
11.
Masukkan “Kanibal3” lalu sebrangkan dan akhirnya selesai.
•
Penyelesaian
no.5 :
1. Sebrangkan “Domba” terlebih dahulu.
2. Setelah sampai disebrangkan kemudian keluarkan “Domba”.
3. Lalu sebrangkan kembali “Petani”.
4. Kemudian sebrangkan “Serigala” dan setelah sampai disebrangkan
keluarkan “Serigala”.
5. Masukan “Domba” dan sebrangkan kembali mereka.
6. Setelah sampai disebrangkan, keluarkan “Domba”.
7. Masukan “Rumput” dan kemudian sebrangkan.
8. Setelah sampai disebrangkan keluarkan “Rumput”, kemudian
sebrangkan kembali “Petani”.
9. Setelah sampai disebrangkan, masukan “Domba” lalu sebrangkan
mereka.
10. Setelah sampai disebrangkan, keluarkan “Domba” dan selesai.
3. Referensi
http://informatika.web.id/category/algoritma
(diakses 19
September 2013)
Antonius Rahmat
(2011) “ALGORITMA DAN PEMROGRAMAN DENGAN
BAHASA C KONSEP,TEORI, DAN IMPLEMENTASI”,
Juni.
M.
Shalahuddin, Rosa A.S (2007) “Belajar
Pemrograman Dengan Bahasa Pemrograman”.
http://www.academia.edu/1178544/Logika_Dan_Algoritma
(diakses 20
September 2013)
http://sindarku.wordpress.com/
(diakses 20
September 2013)
Tidak ada komentar:
Posting Komentar