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”.
- 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
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. 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. 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 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 (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.
Berikut adalah penjelasan tentang
bahasa pemrograman yang biasa digunakan untuk membuat suatu program website:
·
PHP: Hypertext Preprocessor (PHP) adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP
pertama kali dibuat oleh Rasmus Lerdorf pada tahun 1995. Pada waktu itu PHP
masih bernama FI (Form Interpreted), yang wujudnya berupa sekumpulan script
yang digunakan untuk mengolah data form dari web. PHP banyak dipakai untuk
membuat situs web yang dinamis, walaupun tidak tertutup kemungkinan digunakan
untuk pemakaian lain. PHP biasanya berjalan pada sistem operasi Linux (PHP juga
bisa dijalankan dengan hosting windows).
·
ASP: ASP adalah singkatan dari Active Server Pages yang merupakan salah satu bahasa
pemograman web untuk menciptakan halaman web yang dinamis. ASP merupakan salah
satu produk teknologi yang disediakan oleh Microsoft. ASP bekerja pada web
server dan merupakan server side scripting.
·
HTML: HyperText Markup Language
(HTML) adalah sebuah bahasa markup yang digunakan untuk
membuat sebuah halaman web dan menampilkan berbagai informasi di dalam sebuah
browser Internet. HTML saat ini merupakan standar Internet yang didefinisikan
dan dikendalikan penggunaannya oleh World Wide Web Consortium (W3C).
·
Javascript: Javascript adalah bahasa
scripting yang handal yang berjalan pada sisi client. JavaScript merupakan
sebuah bahasa scripting yang dikembangkan oleh Netscape. Untuk menjalankan
script yang ditulis dengan JavaScript kita membutuhkan JavaScript-enabled
browser yaitu browser yang mampu menjalankan JavaScript.
·
PERL: adalah bahasa pemrograman untuk mesin dengan sistem operasi Unix (SunOS,
Linux, BSD, HP-UX), juga tersedia untuk sistem operasi seperti DOS, Windows,
BeOS, VMS, EBCDIC, dan PocketPC. PERL merupakan bahasa pemograman yang mirip
bahasa pemrograman C.
2.
Langkah-langkah pemecahan masalah
A.
Memindah air
·
Mengambilsebuahgelaskosongdiberi
label C
·
Tuangkanair di gelas B kegelas
C
·
Pindahkanairpadagelas A
kegelas B
·
Pindahkanair B
padagelas C kegelas A
B.
Hiden
- Isi penuh ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
- Tuangkan air dari ember 3 liter ke dalam ember air 5 liter
·
(ember 5 liter,sekarang berisi 3
liter air)
- Isi penuh kembali ember ember 3 liter dengan air (ember 3 liter berisi 3 liter air)
- Tuangkan air dari ember 3 liter kedalam ember 5 liter hingga penuh
·
(di dalam ember 3 liter sekarang
tersisa 1 liter air)
- Buang seluruh air dari ember 5 liter air (ember 5 liter kosong)
- 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)
- Tuangkan air dari ember 3 liter ke dalam ember 5 liter (ember 5 liter sekarang berisi 1 + 3 = 4 liter air)
C.
plastelina game
·
Permisalan, untuk orang
yang berjalan 1 detik berarti nomor satu, untuk orang yang
berjalan 6 detik berarti nomor 6, dan lain
sebagainya. Sedangkan sisi
1 untuktepi awal berangkatdan sisi 2 untuk tepi tujuan.
·
Gunakan orang nomor 3
dannomor 1 menujusisi 2, dan orang nomor 3 tinggal di sisi 2 sedangkan orang
nomor 1 kembalikesisi 1.
·
Gunakan orang nomor 6
dannomor 1 menujusisi 2, dan orang nomor 1 dannomor 6 tinggal di sisi 2
sedangkan orang nomor 3 kembalikesisi 1.
·
Di sisi 1 ada orang
nomor 8, nomor 12, dannomor 3 yang barusajakembalidarisisi 2.
·
Gunakan orang nomor8
dannomor 12 menujusisi 2, danlalugunakan orang nomor 1 untukmenjemput orang
nomor 3.
·
Gunakan orang nomor 1
dannomor 3 menujusisi 2 .
D.
Cannibals and missionaries
·
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 ketepi B, danK1 tinggal
di tepi B sedangkan R1 kembali ketepi
A.
·
R1 turundariperahu,
digantikanoleh K2 dan K3 menujutepi B, dan K2 tinggal di tepi B sedangkan K3
kembaliketepi A.
·
K3turundariperahu,
digantikan R1 dan R2 menujutepi B, dan R1 dan R2 tinggal di tepi B sedangkan K1
kembaliketepi A.
·
K1 dan K2
naikperahumenujutepi B, dan K2 tinggal di tepi B sedangkan K1 kembaliketepi A.
·
K1 dan K3
naikperahumenujutepi B, lalu K1 dan K3 sama-samaturun di tepi B
E.
Wolf game
·
Setelah sampai disebrangkan kemudian keluarkan
“Domba”.
·
Lalu sebrangkan kembali “Petani”.
·
Kemudian sebrangkan “Serigala” dan setelah
sampai disebrangkan keluarkan “Serigala”.
·
Masukan “Domba” dan sebrangkan kembali mereka.
·
Setelah sampai disebrangkan, keluarkan “Domba”.
·
Masukan “Rumput” dan kemudian sebrangkan.
·
Setelah sampai disebrangkan keluarkan “Rumput”,
kemudian sebrangkan kembali “Petani”.
·
Setelah sampai disebrangkan, masukan “Domba”
lalu sebrangkan mereka.
·
Setelah sampai disebrangkan, keluarkan “Domba”
dan selesai.
3. Referensi
·
infomugi.blogspot.com/2013/02/pengertian-dan-contoh-pseudocode.html (diakses pada 21 September 2013)
Tidak ada komentar:
Posting Komentar