MODUL 1
PRAKTIKUM DASAR PEMROGRAMAN
Topik : Pemahaman Algoritma
I. DASAR TEORI
1.1 Dasar Teori tentang Algoritma dan Pemrograman
Ditinjau dari asal-usul katanya, kata Algoritma
sendiri mempunyai sejarah yang aneh. Orang hanya menemukan kata algorism yang
berarti proses menghitung dengan angka arab. Anda dikatakan algorist jika Anda
menghitung menggunakan angka arab. Para ahli bahasa berusaha menemukan asal
kata ini namun hasilnya kurang memuaskan. Akhirnya para ahli sejarah matematika
menemukan asal kata tersebut yang berasal dari nama penulis buku arab yang
terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-Khuwarizmi. Al-Khuwarizmi
dibaca orang barat menjadi Algorism. Al-Khuwarizmi menulis buku yang berjudul
Kitab Al Jabar Wal-Muqabala yang artinya “Buku pemugaran dan pengurangan” (The
book of restoration and reduction). Dari judul buku itu kita juga memperoleh
akar kata “Aljabar” (Algebra). Perubahan kata dari algorism menjadi algorithm
muncul karena kata algorism sering dikelirukan dengan arithmetic, sehingga
akhiran –sm berubah menjadi –thm. Karena perhitungan dengan angka Arab sudah menjadi
hal yang biasa, maka lambat laun kata algorithm berangsur-angsur dipakai
sebagai metode perhitungan (komputasi) secara umum, sehingga kehilangan makna
kata aslinya. Dalam bahasa Indonesia, kata algorithm diserap menjadi algoritma.
Pemrograman adalah proses mengimplementasikan urutan langkah untuk menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemograman. Sedangkan pemrograman terstruktur adalah metode untuk mengorganisasikan dan membuat kode-kode program supaya mudah untuk dimengerti, mudah di test dan di modifikasi.Pemrograman sendiri berasal dari kata program yang diberi awalan pe– dan akhiran –an. Dalam buku ini, program berarti progr am komputer.
Pengertian program computer menurut John M. Zelle, Ph.D. dalam bukunya yang berjudul “Python Programming: An Introduction to Computer Science” (2002, p1) adalah sekumpulan instruksi langkah per langkah yang member itahukan mengenai yang harus dilakukan computer secara tepat. Pemrograman adalah segala kegiatan pembuatan program computer.Kemudian terdapapula istilah bahasa pemrograman yang berarti bahasa yang digunakan dalam pembuatan program komputer. Berdasarkan pengertian algor itma dan pemrograman, maka dapat dikatakan bahwa progr am merupakan hasil penerapan dari algoritma- algoritma. Akan tetapi, dalam buku ini tidak dibahas materi mengenai pembuatan program komputer. Buku ini memfokuskan teknik-teknik pembuatan algoritma itu sendiri. Nama mata kuliah Algoritma dan Pemrograman dalam hal ini berarti mempelajari pembuatan algoritma- algoritma yang dapat diterapkan dalam pemrograman.
1.2 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”
- Algoritma memiliki nol atau lebih masukan (input). Masukan ialah besaran yang diberikan kepada algoritma untuk di proses. Algoritma Euclidean mempunyai dua buah masukan, yaitu m dan n.
- Algoritma mempunya nol atau lebih keluaran (output). Keluaran dapat berupa pesan atau besaran yang memiliki hubungan dengan masukan. Algoritma Euclidean mempunyai 1 keluaran, yaitu m pada langkah 1, yang merupakan pembagi bersama terbesar dari kedua bilangan.
- Algoritma harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di kerjakan dalam sejumlah waktu yang masuk akal.
1.3 Flowchart
Selain dalam bentuk tulisan, algoritma juga dapat
ditulis dalam bentuk diagram- diagram dengan anak panah sebagai penunjuk urutan langkah algoritmanya. Algor itma yang
ditulis dengan simbol-simbol demikian yang dinamakan flow chart . Mengenai lambang- lambang yang digunakan
akan dibahas pada
bagian selanjutnya. Sekarang diberikan suatu contoh algoritma menentukan
bilangan terbesar dar i 3 bilangan seperti yang dicontohkan sebelumnya, tetapi
ditulis dalam bentuk flow chart.
1 1.4 Pseudocode
Pseudocode atau dalam terjemahan Bahasa Indonesia berarti kode-palsu 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.
Tidak ada satu pun
standar yang berlaku atas kode-palsu, sebuah program yang masih berupa
kode-palsu tidak dapat dijalankan. Kode-palsu menyerupai pula kerangka program
(skeleton programs), termasuk dummy code, yang bisa
dikompilasi tanpa kesalahan.Diagram alur dapat pula dimasukkan
sebagai alternatif berbasis grafis sebuah kode-palsu.
1.5 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.
II. LANGKAH-LANGKAH PEMECAHAN MASALAH
1 2.1. Menukarkan air di dalam gelas
Agar isi di di
gelas A bisa ditukar ke gelas B kita memerlukan sebuah gelas tambahan untuk
tempat penampungan sementara, dan kita namakan gelas tambahan tersebut adalah
gelas C dan dengan menggunakan gelas C ini sebagai media pertukaran, algoritma pertukaran isi kedua buah gelas
adalah sebagai berikut :
a
Tuangkan air dari Gelas A ke dalam Gelas
C.
b
Tuangkan air dari Gelas B ke dalam Gelas
A.
c
Tuangkan air dari Gelas B ke dalam Gelas
A.
d
Tuangkan air dari Gelas C ke dalam Gelas
B.
2.2 Logic
water jars
Tuliskan langkah-langkah untuk
mendapatkan air 4 liter tersebut?
a. Isi
penuh ember yang berkapasitas 3 liter dengan air
b Tuangkan air dari ember 3 liter
tersebut ke dalam ember yang berisi 5
liter air dan sekarang ember yang berkapasitas 5 liter tersebut telah berisi 3 liter air.
c. Isi
penuh kembali ember yang berkapasitas 3 liter tersebut dan sekarang ember yang berkapasitas 3 liter
tersebut berisi 3 liter air.
d Tuangkan air dari ember yang
berkapasitas 3 liter tersebut ke dalam
ember yang berkapasitas 5 liter hingga
penuh dan sekarang di dalam ember 3 liter tersebut sekarang tersisa 1 liter air.
e Buang seluruh air dari ember 5 liter air
dan ember yang berkapasitas 5 liter tersebut akan kosong.
f. Tuangkan
air dari ember 3 liter yang tersisa 1
liter tadi kedalam ember yang
berkapasitas 5 liter dan ember 5 liter
sekarang berisi 1 liter air dan ember 3 liter akan kosong.
g. Isi
penuh ember 3 liter dengan air dan ember 3 liter tersebut akan berisi air 3 liter.
h. Tuangkan
air dari ember 3 liter ke dalam ember 5 liter dan ember 5 liter sekarang berisi
1ltr + 3ltr = 4 liter air.
2.3 Plastelina
Game
Langkah-langkah
secara detail untuk menyelesaikan game tersebut :
a. Langkah pertama seberangkan orang pertama dan kedua(1 dan 3 detik).
b. Setelah sampai di seberang seberangkan kembali nomer 1(1 detik) ke sisi awal.
c. Selanjutnya seberangkan orang ketiga dan pertama (1 dan 6 detik) ke sisi seberang.
d. Setelah keduanya sampai di seberang,lalu seberangkan kembali orang pertama ke sisi awal.
e. Setelah seberangkan orang ke 4 dan ke 5 ( 8 dan 12 detik) ke sisi seberang.
f. Setelah itu seberangkan orang kedua(3 detik) yang sebelumnya ada di sisi seberang untuk menjemput orang pertama(1 detik) yang masih di sisi awal.
g. Lalu terakhir seberangkan lagi orang pertama dan orang kedua(1 dan 3 detik) ke seberang,Selesai.
2.4 Canibal
Game
Pertama tama kita harus memisalkan 3
orang misionaris dan 3 orang kanibal sebagai berikut:
1
M1 = Misionaris 1
2
M2 = Misionaris 2
3
M3 = Misionaris 3
4
K1 = Kanibal 1
5
K2 = Kanibal 2
6
K3 = Kanibal 3
Penyelesaiannya
adalah:
a
Sebrangkan K1 dan K2 terlebih dahulu.
b. Setelah sampai disebrangkan lalu
keluarkan K1.
c. Lalu sebrangkan K2 dan masukkan K3 ke
dalam perahu lalu sebrangkan mereka.
d. Keluarkan K2 lalu seberangkan K3.
e. Keluarkan K3 sebrangkan M1 dan M2.
f. Keluarkan M1 masukkan K1, lalu
sebrangkan mereka.
g. Keluarkan K1 masukkan M3, lalu
sebrangkan mereka.
h. Keluarkan M2 dan M3, lalu sebrangkan K2.
i. Masukkan K1, untuk menyebrangkan mereka.
.
j. Keluarkan K1, sebrangkan K2.
k. Masukkan K3 lalu sebrangkan.
l. Keluarkan K3 dan semua kanibal serta misionaris tiba selamat di seberang.
2 2.5 Wolf Game
Langkah-langkah untuk menyelesaikan wolf game ini ialah sebagai berikut :
a
Seberangkan
kambingnya terlebih dahulu.
b
Seberangkan
sayurannya dan bawa kembali kambingnya ke sisi awal.
d
Sekarang
angkut serigalanya dan seberangkan.
e
Balik lagi
sendiri lalu ambil kambingnya menuju sisi B.
III. REFERENSI
Tidak ada komentar:
Posting Komentar