1. Dasar Teori
Dalam Mempelajari Teori Algoritma dan Pemrograman
dalam mata kuliah Algoritma dan Pemrograman, maka perlulah mahasiswa terlebih dahulu
mengenalakan definisi-definisi masing-masing dari kata ‘Algoritma’ serta
‘Pemrograman’.
Beberapa
definisi Algoritma adalah sepertiberikutini :
- Polapikir yang terstruktur yang berisi tahap-tahap penyelesaian masalah.
- Urutan logis pengambilan keputusan untuk pemecahan masalah.
- Urutan langkah berhingga untuk memecahkan masalah logika dan matematika
Sedangkan
definisi dari Pemrograman yaitu Proses mengimplementasikan urutan langkah untuk
menyelesaikan suatu masalah dengan menggunakan suatu bahasa pemrograman.
Adapun
ilustrasi proses pemrograman, terlihat dalamgambar 1.1. berikutini :
URL
:http://wismarini.staff.unisbank.ac.id/2013/06/20/definisi-dasar-teori-algoritma-dan-pemrograman/
KarakteristikAlgoritma
1.
Algoritma
harus berhenti setelah mengerjakan sejumlah langkah terbatas. Sebagai contoh,
dalam algoritma Euclidean, padalangkah 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.
2.
Setiaplangkah
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”
3.
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.
4.
Algoritma
mempunyai 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 ke
dua bilangan.
5.
Algoritma
harus sangkil (effective). Setiap langkah harus sederhana sehingga dapat di
kerjakan dalam sejumlah waktu yang masukakal.
Flowchart
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya kebentuk program dengan bahsa pemrograman.
Kaidah-kaidah pembuatan Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
• Input berupa bahan mentah
• Proses pengolahan
• Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;
Flowchart merupakan gambar atau bagan yang memperlihatkan urutan dan hubungan antar proses beserta instruksinya. Gambaran ini dinyatakan dengan simbol. Dengan demikian setiap simbol menggambarkan proses tertentu. Sedangkan hubungan antar proses digambarkan dengan garis penghubung.
Flowchart ini merupakan langkah awal pembuatan program. Dengan adanya flowchart urutan poses kegiatan menjadi lebih jelas. Jika ada penambahan proses maka dapat dilakukan lebih mudah. Setelah flowchart selesai disusun, selanjutnya pemrogram (programmer) menerjemahkannya kebentuk program dengan bahsa pemrograman.
Kaidah-kaidah pembuatan Flowchart
Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifat mutlak. Karena flowchart merupakan gambaran hasil pemikiran dalam menganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkan dapat bervariasi antara satu pemrogram dengan pemrogram lainnya.
Namun secara garis besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;
• Input berupa bahan mentah
• Proses pengolahan
• Output berupa bahan jadi.
Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasar untuk pemecahan suatu masalah, yaitu;
- START: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah.
- READ: berisi instruksi untuk membaca data dari suatu peralatan input.
- PROCESS: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesua idengan data yang dibaca.
- WRITE: berisi instruksi untuk merekam hasil kegiatan keperlatan output.
- END: mengakhiri kegiatan pengolahan
Pseudocode
Pseudocode adalah
bentuk penulisan algoritma yang menggunakan struktur bahasa pemrograman sederhana.
Walaupun pseudocode memakai struktur bahasa pemrograman, pseudocode tidak mengikuti
aturan penulisan bahasa pemrograman manapun. Mengapa begitu? Karena pseudocode dituliskan
hanya untuk mempermudah seseorang memahami sebuah algoritma. Dengan begitu,
pseudocode hanyalah menyerupai kode program saja, dan tidak bisa di mengerti langsung
oleh komputer. Pseudocode baru bisa diolah oleh komputer jika telah mengikuti aturan
penulisan sebuah bahasa pemrograman. (Bisabahasa C, Java, Pascal, dan
lain-lain.)
Contoh-contoh
penulisan pseudocode:
1. Menampilkan tulisan Test
Start
Print “Test”
End
2. Menampilkan variable berisi tulisan Test
Start
a = “Test”
Print a
End
3. Menghitung hasil penjumlahan
Start
Read b, c
d = b + c
Print b, “ ditambah “, c, “ hasilnya “, d
End
BahasaPemograman
Bahasa Pemrograman
merupakan notasi yang dipergunakan untuk mendeskripsikan proses
komputasi dalam format yang dapat dibaca oleh komputer dan manusia. Proses
komputasi umumnya Bahasa pemrograman == Komputer adalah mesin yang dapat melaksanakan
seperangkat perintah dasar (instruction set).
Komputer hanya dapat diberiperintah yang terdiri dari perintah-perintah dasar tersebut.
Perintah-perintah yang lebihrumit (misalnya mengurutkan suatu daftar sesuai abjad) harus diterjemahkan menjadi serangkaian perintah-perintah dasar yang dapat dimengerti komputer (perintah-perintah yang termasuk dalam instruction set komputer tersebut) yang pada akhirnya dapat mennyelesaikan tugas yang diinginkan, meskipun dijalan kandengan beberapa operasi dasar, bukan satu operasi rumit.
Perintah-perintah yang lebihrumit (misalnya mengurutkan suatu daftar sesuai abjad) harus diterjemahkan menjadi serangkaian perintah-perintah dasar yang dapat dimengerti komputer (perintah-perintah yang termasuk dalam instruction set komputer tersebut) yang pada akhirnya dapat mennyelesaikan tugas yang diinginkan, meskipun dijalan kandengan beberapa operasi dasar, bukan satu operasi rumit.
2. Hasil penyelesaian modul I Dasar
pemrograman
1.
Memindah air
a. Menambahkan gelas lagi dan di beri
label C
b. Memindahkan isi dari gelasA ke gelas
C
c. Memindahkan isi dari gelas B ke gelas
A
d. Dan terakhir memindahkan isi dari
gelas C ke gelas B
2.
Mendapatkan air sebanyak 6 liter
a. Diketahui ember A bervolume 5 liter
dan ember B bervolume 7 liter
b. Ember A diisi penuh dan isi dari
ember A di mesukkan ke ember B
c. Ember A diisi penuh lagi
d. 2 liter isi dari ember A dimasukkan
ke ember B sehingga A berisi 3 liter dan B 7 liter
e. Isi ember B dibuang dan isi ember A
dimasukkan ke ember B
f. Ember A diisi penuh dan kemudian 4
liter ember A dimasukkan ember B sehingga isinya menjadi ember A 1 liter dan B
7 liter
g. Isi ember B dibuang dan isi ember A
dimasukkan ke ember B dan ember A mengambil air dan diisi penuh
h. Isi dari ember A dimasukkan ke ember
B sehingga berisi 6 liter
3.
Keluarga yang mau menyebrang jembatan
a. Orang nomor 3 dan nomor 1 menuju
sebrang, sedangkan orang nomor 1 kembali ke sisi pertama
b. Orang nomor 6 dan nomor 1 menuju
sebrang, dan sedangkan orang nomor 3 kembali ke sisi pertama
c. Orang nomor 8 dan nomor 12 menuju
sisi sebrang, dan lalu gunakan orang nomor 1 untuk menjemput orang nomor 3
d. Orang nomor 1 dan nomor 3 menuju sisi
sebrang
4.
Kanibal dan manusia
a. K1 dan K2 naik perahu dan pergi ke
sisi B
b. K1 turun dan K2 kembali ke sisi A
c. K2 dan K3 naik perahu dan pergi
kesisi B
d. K2 turun dan K3kembali ke sisi A
e. K3 turun, kemudian M1 dan M2 naik
perahu dan pergi ke sisi B
f. M1 turun, K1 naik dan kanibal ke sisi
A
g. K1 turun, M3 naik dan pergi ke sisi B
h. M1 dan M3 turun, K2 naik perahu dan
kembali kesisi A
i.
K2
naik bersama K1 dan pergi ke sisi B
j. K1 turun dan K2 kembali ke sisi B
k. K3 dan K2 naik perahu dan pergi ke
sisi B kemudian turun bersama-sama
5.
Wolf game
a. Jika petani membawa rumput terlebih
dahulu maka anjing akan memakan kambing dan jika petani membawa anjing terlebih
dahulu maka kambing akan memakan rumput
b. Maka jalan satu-satunya adalah dengan
membawa kambing terlebih dahulu karena anjing tidak akan memakan rumput
c. Dan kemudian membawa anjing dan
rumput secara bergantian
Referensi:
Internet
Referensi:
Internet