Upload
eiji-panji
View
227
Download
0
Embed Size (px)
Citation preview
7/28/2019 alogaritma. revpdf
1/24
Bahasa PemrogramanBahasaBahasa PemrogramanPemrogramanAlogaritmaAlogaritma PemrogramanPemrograman,,FlowchartFlowchart dandan PseucodePseucode
Jurusan Teknik Sipil
Fakultas TeknikUniversitas Bangka Belitung
2012
Ferra Fahriani, MT
7/28/2019 alogaritma. revpdf
2/24
Program
Bagian-bagian program : Input
Proses
Output : Minimal satu output
7/28/2019 alogaritma. revpdf
3/24
Langkah-langkah pembuatan program :1. Mendefinisikan Masalah
2. Mencari Solusi (menganalisis dan membuatrumusan pemecahan masalah)
3. Membuat Algoritma
4. Menulis Program5. Menguji Program
6. Menulis Dokumentasi
7/28/2019 alogaritma. revpdf
4/24
Mendefinisikan Masalah Langkah mendefinisikan masalah ini
seringkali dilupakan oleh orang /programmer
Tentukan masalahnya, apa saja yang harusdipecahkan dengan menggunakan komputer,
dan apa inputan serta outputnya.
7/28/2019 alogaritma. revpdf
5/24
Mencari Solusi
Jika masalah terlalu kompleks, maka adabaiknya masalah tersebut dipecah menjadimodul-modul kecil agar lebih mudahdiselesaikan.
Contohnya masalah invers matriks, maka kitadapat membagi menjadi beberapa modul:
meminta masukkan berupa matriks bujur sangkar
mencari invers matriks
menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut programutama akan menjadi lebih singkat dan mudahdilihat.
7/28/2019 alogaritma. revpdf
6/24
Membuat Algoritma
Dalam membuat algoritma usahakan
memenuhi dua (syarat) utama, yaitu :
Algoritma harus seefesien mungkin
Algoritma harus benar-benar sesuai dengansolusi yang kita dapatkan
7/28/2019 alogaritma. revpdf
7/24
Menulis Program
Pilihlah bahasa yang mudah dipelajari,
mudah digunakan, dan lebih baik lagi jikasudah dikuasai, memiliki tingkat
kompatibilitas tinggi dengan perangkatkeras dan perangkat lainnya.
7/28/2019 alogaritma. revpdf
8/24
Menguji Program
Setelah program jadi, silahkan ujiprogram tersebut dengan segala
macam kemungkinan yang ada,termasuk error-handlingnya sehingga
program tersebut akan benar-benarhandal dan layak digunakan.
7/28/2019 alogaritma. revpdf
9/24
Menulis Dokumentasi
Menulis dokumentasi sangat penting agarpada suatu saat jika kita akan melakukan
perubahan atau membaca source code yangsudah kita tulis dapat kita ingat-ingat lagi
dan kita akan mudah membacanya.Caranya adalah dengan menuliskan
komentar-komentar kecil tentang apamaksud kode tersebut, untuk apa, variabelapa saja yang digunakan, untuk apa, dan
parameter-parameter yang ada pada suatuprosedur dan fungsi.
7/28/2019 alogaritma. revpdf
10/24
Algoritma
Asal kata Algoritma berasal dari nama
seorang ilmuan Persian yang bernama AbuJafar Mohammed lbn Musa al-Khowarizmi,yang menulis kitab al jabr wal-muqabala(rules of restoration and reduction)
7/28/2019 alogaritma. revpdf
11/24
Definisi Algoritma
Definisi Algoritma :Urutan langkah-langkah logis tertentu untuk
memecahkan suatu masalah secara sistematis dan logis
Guna algoritma adalah untuk membantu seseorang dalammenyelesaikan suatu masalah berdasarkan pada polapikirnya masing-masing.
Sehingga: Algoritma harus mengikuti suatu urutan aturan
tertentu dan tidak boleh melompat-lompat
Algoritma seseorang dengan yang lain dapat berbeda-beda karena mempunyai alur pikir yang berbeda-bedapula
Algoritma dapat berupa kalimat, gambar (flowchart)
atau tabel/code tertentu (pseudo code)
7/28/2019 alogaritma. revpdf
12/24
Kriteria Algoritma
Input: algoritma dapat memiliki nol atau lebihinputan dari luar.
Output: algoritma harus memiliki minimal satubuah output keluaran.
Definiteness (pasti): algoritma memiliki instruksi-
instruksi yang jelas. Finiteness (ada batas): algoritma harus memiliki
titik berhenti (stopping role).
Effectiveness (tepat dan efisien): algoritmasebisa mungkin harus dapat dilaksanakan danefektif. Contoh instruksi yang tidak efektif
adalah: A = A + 0 atau A = A * 1
7/28/2019 alogaritma. revpdf
13/24
Sifat Algoritma
Sifat-sifat Algoritma pada umumnya:
Tidak menggunakan simbol atau sintaksdari suatu bahasa pemrograman
Tidak tergantung pada suatu bahasapemrograman
Notasi-notasinya dapat digunakan untukseluruh bahasa manapun
7/28/2019 alogaritma. revpdf
14/24
Bentuk-Bentuk Dasar Alogaritma Alogaritma Sekuensial : alur pemikiran yang
tersetruktur,terurut,pasti, dan jelas untukmenyelesaikan masalah Alogaritma Percabangan : alogaritma untuk
memilih satu dari beberapa pilihan yang adaberdasarka kondisi tertentu.
Alogaritma Perulangan : terdapat satu ataulebih kejadain/tindakan yang harus diulang
terus menerus sampai kondisi tidak terpenuhilagi
7/28/2019 alogaritma. revpdf
15/24
Flowchart
Definisi : Bentuk gambar/diagram yang mempunyai aliran satu atau
dua arah secara sekuensial
Kegunaan :
Mempermudah programmerdalam menentukan alurlogika program
Untuk mempresentasikan program kepada orang lain
Maka, flowchart harus dapat merepresentasikan
komponen-komponen dalam bahasa pemrograman
7/28/2019 alogaritma. revpdf
16/24
Pedoman Pembuatan Flowchart
Flowchart sebaiknya digambar dari atas kebawahdan dimulai dari bagian kiri suatu halaman
Kegiatan di dalam flowchart harus ditunjuk denganjelas Harus ditunjukkan dari mana kegiatan dimulai dan
dimana akan berakhir Masing2 kegiatan dlm flowchart harus didalam
urutan yang tepat Kegiatan yang terpotong akan disambung ke
tempat lain harus ditunjukkan dengan jelasmenggunkan simbol penghubung yang benar.
Gunakan simbol-simbol alir yang standar
7/28/2019 alogaritma. revpdf
17/24
Lambang-Lambang Flowchart
LAMBANG KETERANGAN
Terminator(Mulai / Selesai)
Aliran Data
Input / Output
Process/ Proses
7/28/2019 alogaritma. revpdf
18/24
Lambang-Lambang FlowchartLAMBANG KETERANGAN
Decision/ Percabangan
Preparation/ MemberiNilai Awal Variabel
Predefined Process/Prosedur
Sub-Program
7/28/2019 alogaritma. revpdf
19/24
Lambang-Lambang FlowchartLAMBANG KETERANGAN
Connectorpada halaman yangsama
Connector pada halaman lain
Stored Data /Simpan Data
Display/ Tampilkan
7/28/2019 alogaritma. revpdf
20/24
Contoh Flowchart
Menghitung luas persegi
panjang Algoritma :
1. Masukkan nilai panjang (p)
2. Masukkan nilai lebar (l)
3. Hitung luas (L), yaitupanjang dikali lebar (p x l)
4. Cetak luas (L)
Mulai
Masukkanp
Masukkan l
Luas = p* l
Tulis L
Selesai
7/28/2019 alogaritma. revpdf
21/24
Pseudo-code
Pseudo-code adalah kode atau tanda yang menyerupai(pseudo) atau merupakan penjelasan caramenyelesaikan suatu masalah.
Pseudo-code sering digunakan oleh seseorang untukmenuliskan algoritma dari suatu permasalahan.
Pseudo-code berisikan langkah-langkah untuk
menyelesaikan suatu permasalahan [hampir samadengan algoritma], hanya saja bentuknya sedikitberbeda dari algoritma.
Pseudo-code menggunakan bahasa yang hampirmenyerupai bahasa pemrograman. Selain itu biasanyapseudo-code menggunakan bahasa yang mudahdipahami secara universal dan juga lebih ringkas dari
pada algoritma.
7/28/2019 alogaritma. revpdf
22/24
ContohBeda antara algoritma dan pseudo-code
Algoritma Pseudo-CodeNilai x ditambah 3 x x + 3
Cetak nilai y jika lebih besar dari 5 if y > 5 THEN PRINT y
Cari bilangan terbesar antara x dan y If x > y THEN PRINT x ELSE PRINT y
7/28/2019 alogaritma. revpdf
23/24
Beda antara algoritma dan pseudo-code
Algoritma Pseudocode
Jika sudah selesai,cetak invoice IFKONDISI_SELESAI=DONE THENPRINT INVOICE
NilaiAdibagidengan2 AA/2Jika nilai Alebih besar dari 2 IFA>2THENAAx3maka nilai Adikalikan 3Daridua bilangan Adan B, IFA>BTHENPRINTAELSEPRINTBcari bilangan yangterbesarMasukkan semua mata kuliah yang DARIMATKUL=OSAMPAIMATKUL
7/28/2019 alogaritma. revpdf
24/24
Pseudo-code
Sebenarnya tidak ada aturan mengikat tentangpenulisan algoritma dan pseudo-code, karenaguna kedua hal ini adalah untuk memudahkanseseorang untuk menggambarkan urutan suatukejadian. Biasanya untuk para programmer, gunakedua hal ini adalah sebagai dasar alurpembuatan program. Di mana dapatmerepresentasikan alur cerita dari clienttentang kebutuhan dasar dari sebuah program,sehingga lebih mudah untukdipahami.
Jadi pseudo-code bisa dikatakan juga sebagaialgortima yang sudah sedikit digabungkandengan bahasa pemrograman yang akandigunakan.