Hasil Penyelesaian Modul I Dasar
Pemrograman
Dasar Teori
Dasar Teori Algoritma dan Pemograman
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
seperti berikut ini :
•
Pola pikir 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 dalam gambar 1.1. berikutini :
Karakteristik Algoritma
1) Algoritma
harus tidak ambigu (unambiguous)
Deskripsi
langkah-langkah dalam algoritma harus dan hanya membuat tafsiran tungal.
2) Agoritma
harus tepat (precise)
Algoritma harus menyatakan urutan
langkah-langkahnya. Kapan sebuah langkah x dilakukan, apakah sebelum
atau sesudah langkah y. Algoritma harus menyatakan dengan jelas kapan berhenti
sebuah langkah untuk meneruskan ke langkah berikutnya.
3) Algoritma
harus pasti(definite)
Jika serangkaian langkah yang sama dilakukan dua kali maka hasilnya harus sama.
Ilustrasi, jika dua orang koki mengikuti resep yang sama maka rasa kue yang
dihasilkan harus sama. Jika tidak pasti ada beberapa perbedaan yang tidak
disadari seperti merek bahan yang berbeda, atau lama masak yang berbeda atau
ada perbedaan pada sesuatu yang lain.
4) Algoritma
harus berhingga (finite)
Serangkaian langkah dalam algoritma harus dapat dilaksanakan pada rentang waktu
tertentu seperti yang telah diuraikan.
FLOWCHART
Pengenalan 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 ke bentuk
program dengan bahsa pemrograman.
Pengenalan 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 ke bentuk
program dengan bahsa pemrograman.
Simbol-simbol flowchart
Flowchart disusun dengan simbol-simbol. Simbol
ini dipakai sebagai alat bantu menggambarkan proses di dalam program.
Simbol-simbol yang dipakai antara lain :
Flow
Direction symbol
Yaitu simbol yang digunakan untuk menghubungkan
antara simbol yang satu dengan simbol yang lain. Simbol ini disebut juga
connecting line.
Terminator
Symbol
Yaitu simbol untuk permulaan (start) atau akhir
(stop) dari suatu kegiatan
Connector
Symbol
Yaitu simbol untuk keluar – masuk atau
penyambungan proses dalam lembar / halaman yang sama.
Connector
Symbol
Yaitu simbol untuk keluar – masuk atau
penyambungan proses pada lembar / halaman yang berbeda.
Processing
Symbol
Simbol yang menunjukkan pengolahan yang
dilakukan oleh komputer
Simbol
Manual Operation
Simbol yang menunjukkan pengolahan yang tidak
dilakukan oleh komputer
Simbol
Decision
Simbol pemilihan proses berdasarkan kondisi
yang ada.
Simbol
Input-Output
Simbol yang menyatakan proses input dan output
tanpa tergantung dengan jenis peralatannya
Simbol
Manual Input
Simbol untuk pemasukan data secara manual
on-line keyboard
Simbol
Preparation
Simbol untuk mempersiapkan penyimpanan yang
akan digunakan sebagai tempat pengolahan di dalam storage.
Simbol
Predefine Proses
Simbol untuk pelaksanaan suatu bagian
(sub-program)/prosedure
Simbol
Display
Simbol yang menyatakan peralatan output yang
digunakan yaitu layar, plotter, printer dan sebagainya.
Simbol
disk and On-line Storage
Simbol yang menyatakan input yang berasal dari
disk atau disimpan ke disk.
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 sesuai dengan data yang dibaca.
•
WRITE: berisi instruksi untuk merekam hasil kegiatan ke
perlatan output.
•
END: mengakhiri kegiatan pengolahan
Gambar
berikut memperlihatkan flowchart dari kegiatan dasar diatas.
Dari gambar flowchart di atas terlihat bahwa
suatu flowchart harus terdapat proses persiapan dan proses akhir. Dan yang
menjadi topik dalam pembahasan ini adalah tahap proses. Karena kegiatan ini
banyak mengandung variasi sesuai dengan kompleksitas masalah yang akan
dipecahkan. Walaupun tidak ada kaidah-kaidah yang baku dalam penyusunan
flowchart, namun ada beberapa anjuran yaitu:
•
Hindari
pengulangan proses yang tidak perlu dan logika yang berbelit sehingga jalannya
proses menjadi singkat
•
Penggambaran
flowchart yang simetris dengan arah yang jelas.
•
Sebuah
flowchart diawali dari satu titik START dan diakhiri dengan END.
Pseudocode
Pengertian
Pseudocode -
Pseudocode adalah bahasa yang digunakan untuk menyederhanakan penulisan
algoritma. Pseudocode bukan bahasa pemrograman.Pseudocode adalah notasi yang
menyerupai bahasa pemrograman tingkat tinggi. Keuntungan menggunakan notasi
pseudo code adalah kemudahan mengkonversinya lebih tepat yang disebut
mentranslasi ke notasi bahasa pemrograman, karena terdapat korespondensi antara
setiap pseudo code dengan notasi bahasa pemrograman.
Contoh Pseudocode:
Bahasa Pemograman
Bahasa
komputer adalah merupakan suatu set pemrograman yang digunakan untuk membuat
suatu program komputer. Bahasa komputer biasa dikenal dengan nama bahasa
pemrograman. Program komputer atau software sendiri adalah suatu set instruksi
yang harus dijalankan oleh komputer pada saat komputer dihidupkan atau ketika
diperintahkan oleh pengguna komputer. Bahasa pemograman menggunakan kata-kata
unik yang menjadi kode untuk menjalankan perintah tertentu pada komputer.
Contoh bahasa pemrograman antara lain adalah Pascal,
Fortran, Clipper, dBase, Delphi, Basic, Cobol, C++, C#, Java dan lain-lain.
Sebuah
CPU komputer, dalam hal ini prosesor memiliki sejumlah perintah terbatas dan dikenal
dengan nama kode mesin. Kode ini adalah bahasa yang digunakan untuk
mengkomunikasikan data dalam komputer. CPU dalam komputer hanya mengenal bahasa
ini, tidak dengan bahasa lainnya. Semua bahasa pemrograman harus diubah menjadi
kode mesin terlebih dahulu supaya CPU dapat mengolah dan menjalankan perintah
yang diberikan oleh program yang dibuat.
Jenis-jenis bahasa komputer
Bahasa
komputer dapat dikelompokkan dalam tiga kelompok esar berdasarkan jenisnya,
yakni bahasa mesin (machine language), assembly language dan high level
language. Mari kita bahas satu persatu sebagai berikut:
•
Machine
language adalah seperangkat perintah yang dinyatakan dalam bentuk bilangan
biner (hanya angka 0 dan 1) yang berfungsi untuk memberikan data dan instruksi
bagaimana mengolah data kepada CPU.
•
Assembly
Language adalah bahasa komputer tingkat rendah yang memiliki banyak kode yang
membantu memori untuk “mengingat data (informasi). Assembly language juga
mengandung seperangkat simbolis yang berhubungan dengan perintah tertentu pada
bahasa mesin.
•
High
level language disebut sebagai bahasa komputer tingkat tinggi karena berisi
perintah yang dirancang mendekati bahasa manusia. Bahasa ini lebih mudah
dipahami dan dipelajari oleh manusia dan digunakan untuk pembuatan program
komputer tertentu. Macam bahasa pemrograman sudah kami sebutkan diatas.
Pembuat
program atau programmer dewasa ini banyak yang menggunakan bahasa komputer
tingkat tinggi untuk membuat program-program yang diinginkan karena sangat
mudah dipahami. Namun sebelum bisa dijalankan di komputer, program tersebut
haruslah diterjemahkan menjadi bahasa mesin terlebih dahulu. Maka dari itu pada
perangkat pembuatan program dengan bahasa tingkat tinggi ada bagian yang
bernama compiler. Tugas bagian ini adalah menerjemahkan perintah pada bahasa
tingkat tinggi menjadi bahasa mesin, sehingga CPU dapat mengolah data
berdasarkan perintah tersebut.
Langkah-Langkah Pemecahan Masalah
•
Memindah
Air
•
Ambillah gelas kosong yang telah diberi label C
•
Pindahkan air dari gelas berlabel B
kegelas berlabel C
•
Pindahkan air dari gelas berlabel A
kegelas berlabel B
•
Pindahkan air berlabel B pada gelas
berlabel C ke gelas beralabel A
•
Mendapatkan
Air Sebanyak 4 liter
•
Pada awalnya ember diketahui ember A
ber-volume 5 liter dan diketahui ember B ber-volume
3 liter
•
Langkah berikutnya ember A mengambil air dari danau sabanyak 5
liter
•
Air yang berada di ember A di
tuangkan ke ember B, berarti ember A berisi 2 liter dan ember B berisi 3 liter
•
Kemudian isi air di ember A di buang
semua
•
Isi air yang terdapat di ember B di
tuangkan ke ember A
•
Ember B mengambil air dari danau
sebanyak 3 liter
•
Isi air di ember B di tuangkanke
ember A, sehingga ember A berisi 5 liter dan ember B berisi 1 liter
•
Isi air yang terdapat di ember A di
buang semua
•
Isi air di ember B di tuangkanke
ember A
•
Ember B mengambil air
daridanausebanyak 3 liter
•
Isi air di ember B dituangkanke
ember A danhasilnya ember A berisi air 4 liter
•
Keluarga
yang mau menyebrang jembatan
•
Orang nomer 3 dan nomer 1 menuju
sebrang, sedangkan orang nomer 1 kembali ke sisi
pertama
•
Orang nomer 6 dan nomer 1 menuju
sebrang, dan sedangkan orang nomer 3 kembali ke
sisi pertama
•
Orang nomer 8 dan nomer 12 menuju
sisi sebrang, dan lalu gunakan orang nomer 1 untuk
menjemput orang nomer 3
•
Orang nomer 1 dan nomer 3 menuju
sisi sebrang
•
Kanibal
dan Manusia
•
KETERANGAN, untuk kanibal adalah
K1, K2, dan K3 dan untuk Manusia M1, M2, dan M3 dan
tepi
pertama sebagai tepi A dan tepi kedua sebagai tepi B
•
K1 dan M1 berangkat lebih dulu ke
tepi B, dan M1 tinggal di tepi B sedangkan M1 kembali ke tepi A
•
M1 turun dari perahu, digantikan
oleh K2 dan K3 menuju tepi B, dan K2 tinggal di tepi B sedangkan K3 kembali ke
tepi A
•
K3 turun dari perahu, digantikan M1
dan M2 menuju tepi B, dan M1 dan M2 tinggal di tepi B sedangkan K1 kembali ke
tepi A
•
K1 dan K2 naik perahu menuju tepi B,
dan K2 tinggal di tepi B sedangkan K1 kembali ke tepi A
•
K1 dan K3 naik perahu menuju tepi B,
lalu K1 dan K3 sama-sama turun di tepi B
•
Wolf
game
•
Jangan membawa anjing terlebih dulu, karena kambing akan memakan rumput, dan jika
membawa rumput terlebih dulu, maka anjing
akan memakan kambing
•
Dari keterangan di atas dapat di
simpulkan untuk memecahkan game tersebut adalah dengan membawa kambing lebih
dulu, karena anjing tidak memakan rumput
•
Setelah itu membawa anjing dan
kambing secara bergantian
REFERENSI
•
URL :http://wismarini.staff.unisbank.ac.id/2013/06/20/definisi-dasar-teori-algoritma-dan-pemrograman/