Anda di halaman 1dari 26

Titin Sri Martini FMIPA Universitas Sebelas Maret

TUJUAN
Mahasiswa mampu menganalisa, menentukan atau membuat algoritma untuk menyelesaikan suatu permasalahan. Mahasiswa dapat membuat flowchart dengan benar Mahasiswa mampu mengimplementasikan algoritma dan flowchart dalam bahasa pemrograman Pascal.
3

OUTLINE
Algoritma Flowchart

Algoritma
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah. Urutan langkah logis mempunyai arti bahwa algoritma harus mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.

Contoh
Algoritma dalam kehidupan nyata: jika seorang ingin memasak mie instan, maka langkah-langkah yang harus dilakukan :
Merebus air hingga mendidih Memasukkan mie ke dalam air tersebut sambil diaduk, tunggu hingga 3 menit Masukkan bumbu ke dalam mangkok Tuang mie ke dalam mangkok, aduk merata Mie siap disajikan.
6

Algoritma
Dalam bidang komputer, algoritma sangat diperlukan untuk menyelesaikan berbagai masalah pemrograman, terutama dalam komputasi numeris Notasi Algoritma
Kalimat deskriptif Flowchart Pseudo-code
7

Kriteria Algoritma Menurut Donal E. Knuth :


Algoritma dapat memiliki nol atau Input : lebih inputan dari luar Output : Algoritma harus memiliki minimal satu output Definiteness (Pasti) : Algoritma memiliki instruksi-instruksi yang jelas dan tidak ambigu
8

Kriteria Algoritma Menurut Donal E. Knuth :


Finiteness (Ada Batas) : Algoritma harus memiliki titik berhenti (stopping role)

Effectiveness (Tepat dan Efisien) :


Algoritma sebisa mungkin harus dapat dilaksanakan dan efektif A = A+0, A=A*1 Tidak efektif
9

Jenis Proses Algoritma


Sequence Process : instruksi dikerjakan secara sekuensial, berurutan Selection Process : instruksi dikerjakan jika memenuhi kriteria tertentu Iteration Process : instruksi dikerjakan selama memenuhi suatu kondisi tertentu
10

Jenis Proses Algoritma


Concurrent Process : instruksi dikerjakan secara bersama

11

Algoritma
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa pemrograman manapun.
12

Contoh Algoritma
Menghitung Luas Lingkaran
1. 2. 3. 4. 5. 6. Start Masukkan jari-jari (r) Masukkan phi Hitung Luas = phi x r x r Cetak Luas Stop

13

Langkah-langkah dalam Pemrograman Komputer


Start Definisi dan analisa masalah

Desain Algoritma & Flowchart

Menulis program
Test Kebenaran Program Dokumentasi Arsip
14

Langkah-langkah dalam Pemrograman Komputer


Mendefinisikan masalah
Tentukan masalahnya Tentukan apa saja yang harus dikerjakan oleh komputer Tentukan input dan outputnya

Menemukan solusi
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi modul-modul kecil agar lebih mudah diselesaikan.
15

Langkah-langkah dalam Pemrograman Komputer


Memilih algoritma Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut Menulis program Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.
16

Langkah-langkah dalam Pemrograman Komputer


Menguji program termasuk error handlingnya agar program benar-benar handal Menulis dokumentasi Merawat Program

17

Flowchart
Flowchart adalah bentuk gambar/diagram yang mempunyai aliran satu atau dua arah secara sekuensial. Flowchart harus bisa merepresentasikan komponen-komponen dalam bahasa pemrograman.

18

Keterangan
Mulai/selesai Input/Output Memberi nilai awal Proses

Lambang

Contoh
Mulai

Input r

Input phi

L phi*r*r Percabangan Cetak L Cetak Selesai Aliran Data


19

Pseudo code
Kode atau tanda yang menyerupai (pseudo) atau merupakan penjelasan cara menyelesaikan suatu masalah. Pseudo-code sering digunakan untuk menuliskan algoritma.

20

Problem: mencari bilangan terbesar dari dua bilangan yang diinputkan Solusi : 1. Algoritma dengan kalimat deskriptif :
a. Start b. Masukkan bilangan pertama c. Masukkan bilangan kedua d. Jika bilangan pertama > bilangan kedua maka kerjakan langkah e, jika tidak,kerjakan langkah f e. Tampilkan bilangan pertama f. Tampilkan bilangan kedua g. Stop
21

Contoh Algoritma
1. 2. 3. 4. Start Input (a) Input (b) if a > b then kerjakan langkah 5, jika tidak maka ke langkah 6 5. print a 6. print b 7. Stop
Pseudo-code AA+5 IF A > 10 THEN PRINT A IF A > B THEN PRINT A ELSE PRINT B Kalimat dekriptif Nilai A ditambah dengan 5 Cetak nilai A bila lebih besar dari 10 Dari dua bilangan A dan B, cari bilangan yang terbesar
22

Tugas Di Kelas
1. Buatlah Algoritma dan flowchart dari kasus berikut : Mengkonversi suhu dari Fahrenheit ke Celcius 2. Buatlah algoritma menjalankan sepeda motor a. bukan matic b. matic 3. Diketahui dua buah algirotma berikut, yang menjelaskan tentang sikap yang harus dilakukan bila menemui traffic-light di jalan raya:
23

Tugas Di Kelas
(1) if trafific light menyala then if lampu merah then berhenti else jalan (2) if trafific light menyala then if lampu merah then berhenti else jalan
24

Tugas Di Kelas

25

26