3. Algoritma Fundamental - E

advertisement
Nama : Achmad Abdilah
Kelas : TF-C
NPM : 1234010100
ALGORITMA
Sejarah istilah "algoritma"
Kata algoritma berasal dari latinisasi nama seorang ahli matematika dari
Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada
terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero
Indorum". Pada awalnya kata algorisma adalah istilah yang merujuk kepada
aturan-aturan aritmetis untuk menyelesaikan persoalan dengan menggunakan
bilangan numerik arab (sebenarnya dari India, seperti tertulis pada judul di atas).
Pada abad ke-18, istilah ini berkembang menjadi algoritma, yang mencakup
semua prosedur atau urutan langkah yang jelas dan diperlukan untuk
menyelesaikan suatu permasalahan. Masalah timbul pada saat akan menuangkan
bagaimana proses yang harus dilalui dalam suatu/sebuah sistem (program) bagi
komputer sehingga pada saat eksekusinya, komputer dapat bekerja seperti yang
diharapkan. Programer komputer akan lebih nyaman menuangkan prosedur
komputasinya atau urutan langkah proses dengan terlebih dahulu membuat
gambaran (diagram alur) diatas kertas.
Konsep dasar algoritma
Beberapa metode untuk merancang algoritma dalam program
komputer :
1. Diagram Alir (Flow Chart)
2. Kode Semu (Pseudo Code)
3. Algoritma Fundamental
Knuth (1973) menyatakan 5 komponen utama dalam
algoritma yaitu finiteness, definiteness, input, output dan
effectiveness.
Komponen yang harus ada dalam merancang algoritma:
1. Komponen masukan : terdiri dari pemilihan variable, jenis variable,
tipe variable, konstanta dan parameter (dalam fungsi).
2. Komponen keluaran: merupakan tujuan dari perancangan algoritma
dan program.
Permasalahan yang diselesaikan dalam algoritma dan program harus
ditampilkan dalam komponen keluaran. Karakteristik keluaran yang
baik adalah menjawab permasalahan dan tampilan yang ramah
3. Komponen proses : merupakan bagian utama dan terpenting dalam
merancang sebuah algoritma. Dalam bagian ini terdapat logika
masalah, logika algoritma (sintaksis dan semantik), rumusan, metode
(rekursi, perbandingan, penggabungan, pengurangan dll).
Struktur Hubungan dan Jenis Algoritma
Flowchart : Algoritma ini menggunakan sejumlah simbol
untuk menyatakan kegiatan-kegiatan secara keseluruhan.
Knuth (1973)menyajikan format algoritma yang dapat
digunakan secara bebas untuk berbagai bahasa pemrograman,
artinya dapat dengan mudah diimplementasikan
menggunakan Pascal, C, Fortran, PL atau BASIC.
Diagram alir
Contoh penggunaan program flowchart
Pseudocode
Kode atau tanda yang menyerupai (pseudo) atau merupakan pejelasan cara
menyelesaikan suatu masalah. Pseudo-code sering digunakan oleh manusia
untuk menuliskan algoritma.
Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan.
Contoh Pseudo-code:
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
Aturan Algoritma Fundamental
1. Nama/judul algoritma harus ditulis dengan huruf kapital
2. Berikan komentar dan penjelasan pendahuluan.
3. Pernyataan dan struktur Kontrol
4. Nama-nama variabel harus ditulis dengan huruf besar
5. Input dan output
6. Prosedur
7. Fungsi
Masalah : Mencari elemen terbesar dari data dengan n bilangan.
Buatlah algoritma dari masalah ini menggunakan
Kode Semu : Algoritma Maksimum
1. Mula-mula masukkan bilangan dalam register xi ke dalam register
yang dinamakan maks.
2. Untuk i = 2,3,....,n, lakukan : Bandingkan bilangan dalam register xi
dengan bilangan dalam register maks. Jika bilangan dalam register xi
lebih besar daripada bilangan dalam register maks, pindahkan bilangan
dalam register xi ke register maks; jika tidak jangan lakukan apa-apa.
3. Terakhir, bilangan dalam register maks adalah elemen terbesar di
antara n bilangan.
FlowChart (Diagram Alir)
Algoritma Fundamental
Mencari elemen terbesar di dalam data dengan n bilangan.
1. [Inisialisasi]
Maks x1
2. [Mulai Loop]
I1
3. [Naikkan Pencacah]
II+1
4. [Bandingkan]
IF Maks < xi
THEN Maks xi ELSE GOTO 3
5. [Ulangi Loop]
GOTO 3
6. [Selesai]
Exit
FLOWCHART
PENGERTIAN DASAR DAN SIMBOL 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.
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.
Simbol magnetik tape Unit
Simbol yang menyatakan input berasal dari pita magnetik atau output
disimpan ke pita magnetik.
Simbol Punch Card
Simbol yang menyatakan bahwa input berasal dari kartu atau output
ditulis ke kartu
Simbol Dokumen
Simbol yang menyatakan input berasal dari dokumen dalam bentuk
kertas atau output dicetak ke kertas.
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.
START
READ
PROCESS
W RITE
END
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 kaidahkaidah 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.
Operator
1. Operator Numerik
2. Operator Hubungan
+
Penjumlahan
= Sama dengan
-
Pengurangan
# Tidak sama dengan
*
Perkalian
< Lebih kecil
/
Pembagian
> Lebih Besar
^
Pangkat
< Lebih kecil sama dengan
=
sq Akar pangkat dua
rt
3. Operator Logika
AN
D
Logika DAN
OR
Logika ATAU
NOT Logika LAWAN
> Lebih besar sama dengan
=
RAPTOR
RAPTOR merupakan pemrograman yang berbasis flowchart, RAPTOR
dirancang husus untuk membantu memvisualisasikan algoritma yang telah kita
buat. Program RAPTOR diciptakan secara visual dan dieksekusi secara visual
dengan menelusuri eksekusi melalui flowchart. Biasanya kita lebih suka
menggunakan flowchart untuk mengekspresikan algoritma, dan lebih berhasil
menciptakan algoritma menggunakan RAPTOR daripada menggunakan bahasa
tradisional atau menulis flowchart tanpa RAPTOR.
RAPTOR ditulis dalam kombinasi dari bahasa C # dan A # (port dari Ada
untuk .NET Framework.) dan hanya didukung pada Windows. RAPTOR telah
bereksperimen dengan Mono di Mac OS X dan Ubuntu. Versi Mac tidak berjalan
sama sekali, tetapi RAPTOR dapat berjalan pada Ubuntu dengan beberapa fitur
yang harus dihilangkan.
RAPTOR memiliki beberapa
mode,
secara default kita
memakai
mode Novice. Mode Novice memiliki global namespace tunggal untuk setiap
variabel. Mode Intermediate digunakan untuk membuat prosedur yang memiliki
ruang lingkup mereka sendiri (memperkenalkan gagasan lewat parameter dan
mendukung rekursi). Mode baru RAPTOR adalah mode yang berorientasi object,
yaitu versi 2009.
RAPTOR bebas untuk didistribusikan sebagai layanan kepada masyarakat.
RAPTOR pada awalnya dikembangkan oleh dan untuk US Air Force Academy,
Departemen Ilmu Komputer, namun penggunaannya telah menyebar
dan RAPTOR sekarang digunakan untuk pendidikan di lebih 17 negara pada
setidaknya 4 benua.
RAPTOR juga di lengkapi dengan proses generate flowchart ke beberapa
source code yang sudah banyak di kenal seperti C++, Java, C# dan lain-lain.
Sehingga pengguna tidak perlu lagi membangun dari awal sebuah source code,
karena dari flowchart yang telah di buat langsung di terjemahkan ke Source Code
oleh RAPTOR.
Keunggulan dari software RAPTOR Interpreter Flowchart adalah dapat
mengeksekusi flowchart yang telah di bangun menjadi sebuah visualisasi yang
nyata, sehingga pengguna dapat mengetahui step by step flowchart yang mereka
buat melalui eksekusi secara visual dalam tiap langkahnya. Selain itu kelebihan
dari Raptor Interpreter Flowchart ini ada pada saat kita membuatflowchart dengan
penulisan
variabel, RAPTOR di
dukung
dengan
adanya
fitur Auto
Complete seperti layaknya pada Pemrograman Visual Basic.
Sumber :
http://ilmuafan.blogspot.com/2011/11/flowchart-raptor_10.html
eprints.undip.ac.id/18630/1/pertemuan2.pdf
http://www.untukku.com/artikel-untukku/algoritma-flowchart-untukku.html
id.wikipedia.org/wiki/Algoritma
Download