Algoritma Dan Flowchart 1 2

Post on 26-Jan-2016

391 views 194 download

description

ALGO

Transcript of Algoritma Dan Flowchart 1 2

Algoritma dan Flowchart

Copy from : Ilmu Komunikasi - Universitas Gunadarma - Dr. Lily Wulandari

Program Studi S1 Teknik Sipil

Fakultas Teknik

Universitas Haluoleo

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Objectives

Setelah menyelesaikan materi ini,anda diharapkan dapat:• Mengerti tentang algoritma.• Membuat algoritma dari suatu permasalahan.• Mengerti tentang flowchart.• Membuat flowchart dari suatu

permasalahan.

ALGORITMA

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma

l Adalah inti dari ilmu komputer.

l Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun secara sistematis dan logis.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma

l Kata logis merupakan kata kunci dalam algoritma. l Algoritma adalah urutan-urutan dari instruksi atau

langkah-langkah untuk menyelesaikan suatu masalah.l Urutan langkah logis, yang berarti algoritma harus

mengikuti suatu urutan tertentu, tidak boleh melompat-lompat.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma

l Alur pemikiran dalam menyelesaikan suatu pekerjaan yang dituangkan secara tertulis. b Alur pikiran, sehingga algoritma

seseorang dapat juga berbeda dari algoritma orang lain.

b Tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel tertentu.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma

l Langkah-langkah dalamalgoritma harus dapatditentukan bernilai benaratau salah.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma

l Algoritma adalah blueprint dari program.

l Sebaiknya disusun sebelum membuat program.

l Kriteria suatu algoritma:– Ada input dan output– Efektif dan efisien– Terstruktur

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma Dalam Kehidupan

l Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu komputer yang diacu dalam terminologi algoritma.

l Algoritma juga digunakan dalam kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat langkah-langkah yang merupakan algoritma.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma dalam Kehidupan

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma dalam Kehidupan

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Kriteria Algoritmal Input: algoritma dapat memiliki nol atau

lebih inputan dari luar.l Output: algoritma harus memiliki

minimal satu buah output keluaran.l Definiteness(pasti): algoritma memiliki

instruksi-instruksi yang jelas dan tidak ambigu.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Kriteria Algoritmal Finiteness (ada batas): algoritma harus

memiliki titik berhenti (stopping role).l Effectiveness(tepat dan efisien):

algoritma sebisa mungkin harus dapat dilaksanakan dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Jenis Proses Algoritmal Sequence Process: instruksi dikerjakan

secara sekuensial, berurutan.l Selection Process: instruksi dikerjakan jika

memenuhi kriteria tertentul Iteration Process: instruksi dikerjakan selama

memenuhi suatu kondisi tertentu.l Concurrent Process: beberapa instruksi

dikerjakan secara bersama.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Sifat Algoritma (Umum)l Tidak menggunakan simbol atau sintaks

dari suatu bahasa pemrogramanl Tidak tergantung pada suatu bahasa

pemrogramanl Notasi-notasinya dapat digunakan untuk

seluruh bahasa manapun

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh Algoritma 1Mengirim surat kepada teman:1. Tulis surat pada secarik kertas surat.2. Ambil sampul surat.3. Masukkan surat ke dalam sampul.4. Tutup sampul surat menggunakan perekat.5. Jika kita ingat alamat teman tersebut, maka

tulis alamat pada sampul surat.6. Jika tidak ingat, lihat buku alamat, kemudian

tulis alamat pada sampul surat.7. Tempel perangko pada surat.8. Bawa surat ke kantor pos untuk diposkan.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh Algoritma 2

Mengupas Kentang untuk Makan MalamJ Ibu Tati mengambil kantong kentang

dari rakJ Ibu Tati mengambil panci dari almari J Ibu Tati mengupas kentang J Ibu Tati mengembalikan kantong

kentang dari rak

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh Algoritma 2 (lanjt)

Ada hal yang “tergantung”pada sesuatu:l Ibu Tati mengambil kantong kentang dari rak l Ibu Tati mengambil panci dari almari l Lakukan persiapan, gunakan celemek,

pakaian tergantung hari Ibu Tati mengupas kentang Ibu Tati mengembalikan kantong kentang

dari rak

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Kondisi – dari Alg. 2

l Hari Sabtu : “Ibu Tati melihat bahwa bajunya tidak

berwarna muda karena itu ia tidak memakai celemek”(berarti tidak ada aksi memakai celemek)

l Hari Minggu: “Ibu Tati melihat bahwa bajunya berwarna

muda karena itu ia memakai celemek”

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Kondisi – dari Alg. 2l Jadi:à Ambil kantong kentang dari rak à Ambil panci dari almari à Depend on warna baju _ berwarna muda : Pakai celemek _ tidak berwarna muda : Tidak pakai celemek

à Kupas kentang à Kembalikan kantong kentang ke rak

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Kondisi – dari Alg. 2

Karena dapat pesanan, maka kentang yg harus dikupas 500 buah

tergantung pada jumlah kentang yang sudah dikupas

belum cukup : Kupas 1 kentang cukup : selesai

Atau: while jumlah kentang terkupas belum cukup do

Kupas 1 kentang

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Kondisi – dari Alg. 2Bisa jadi pada saat mengupas kentang tergantung pada

kentangnya, jika rusak / busuk, buang, tidak dikupasJadi: Jika jumlah kentang terkupas belum cukup do

Tergantung pada kondisi kentang Busuk: buang dan cari kentang berikutnya, tidak dihitung Tidak Busuk: kupas 1 kentang

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Menentukan apakah suatu bilangan merupakanbilangan ganjil atau bilangan genap.l Masukkan sebuah bilangan sembarangl Bagi bilangan tersebut dengan bilangan 2l Hitung sisa hasil bagi pada langkah 2.l Bila sisa hasil bagi sama dengan 0 maka bilangan

itu adalah bilangan genap tetapi bila sisa hasil bagi sama dengan 1 maka bilangan itu adalah bilangan ganjil.

Contoh Algoritma 3

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh 4

Algoritma menghitung luas persegi panjang:

l Masukkan panjang (P)l Masukkan lebar (L)l Luas •P * Ll Tulis Luas

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pseudo Codel Kode atau tanda yang menyerupai

(pseudo) program atau merupakan pejelasan cara menyelesaikan suatu masalah.

l Pseudo-code sering digunakan oleh manusia untuk menuliskan algoritma

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

ContohProblem:mencari bilangan terbesar dari dua bilangan

yang diinputkanContoh Algoritma:l Masukkan bilangan pertamal Masukkan bilangan kedual Jika bilangan pertama > bilangan kedua maka

kerjakan langkah 4, jika tidak, kerjakan langkah 5.l Tampilkan bilangan pertamal Tampilkan bilangan kedua

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh

Contoh Pseudo-code:l Input al Input bl If a > b then kerjakan langkah 4l print al print b

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Perbandingan

Algoritma Pseudo-codeNilai A ditambah dengan 5 A •A + 5

Cetak nilai A bila lebih besar dari 10 IF A > 10 THEN PRINT A

Dari dua bilangan A dan B, cari bilanganyang terbesar

IF A > B THEN PRINT A ELSE PRINT B

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Bagian ProgramSuatu program pada dasarnya terdiri dari

3 bagian:l Input: bisa ada, bisa tidakl Prosesl Output: minimal satu ouput.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Langkah Pembuatan Program

Mendefinisikan masalahl Ini merupakan langkah pertama yang sering

dilupakan orang. l Menurut hukum Murphy (oleh Henry Ledgard):

“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.

l Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta outputnya.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Langkah Pembuatan ProgramMenemukan solusil Setelah masalah didefinisikan, maka langkah berikutnya adalah

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

l Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa modul:

meminta masukkan berupa matriks bujur sangkarmencari invers matriksmenampilkan hasil kepada pengguna

l Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan mudah dilihat.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Langkah Pembuatan Program

Memilih algoritmal Pilihlah algoritma yang benar-benar sesuai

dan efisien untuk permasalahan tersebut Menulis programl Pilihlah bahasa yang mudah dipelajari,

mudah digunakan, dan lebih baik lagi jika sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan platform lainnya.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Langkah Pembuatan ProgramMenguji programl Setelah program jadi, silahkan uji program tersebut dengan

segala macam kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan benar-benar handal dan layak digunakan.

Menulis dokumentasil Menulis dokumentasi sangat penting agar pada suatu saat jika

kita akan melakukan perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan komentar-komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu prosedur dan fungsi.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Langkah Pembuatan Program

Merawat programl Program yang sudah jadi perlu dirawat

untuk mencegah munculnya bug yang sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas baru yang dulu tidak ada

FLOWCHART

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Flowchartl Bagan-bagan yang mempunyai arus yang

menggambarkan langkah-langkah penyelesaian suatu masalah.

l Merupakan cara penyajian dari suatu algoritma.l Ada 2 macam Flowchart :

– System Flowchart à urutan proses dalam systemdengan menunjukkan alat media input, output sertajenis media penyimpanan dalam prosespengolahan data.

– Program Flowchart à urutan instruksi yangdigambarkan dengan symbol tertentu untukmemecahkan masalah dalam suatu program.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Flowchart

Definisi:l Bentuk gambar/diagram yang

mempunyai aliran satu atau dua arah secara sekuensial

Kegunaan:l Untuk mendesain programl Untuk merepresentasikan program

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Flowchart

Maka, flowchart harus dapat merepresentasikan komponen-komponen dalam bahasa pemrograman

Sebelum pembuatan programl Mempermudah programmerdalam

menentukan alur logika programSesudah pembuatan programl Menjelaskan alur program kepada orang lain

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart

l Flow Direction Symbols (Simbol penghubung alur)

l Processing Symbols (Simbol proses).l Input-output Symbols (Simbol input-

output)

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Flowchart

Secara garis besar, unsur-unsur pemrograman adalah Input à Prosesà Output. Semua bahasa pemrograman, pasti mempunyai komponen-komponen sebagai berikut :

l Input (scanf)l Percabangan (if, switch)l Perulangan (while, for, for each, loop)l Output (printf)

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchartl Tidak ada kaidah yang baku.l Flowchart = gambaran hasil analisa suatu masalah l Flowchart dapat bervariasi antara satu pemrogram

dengan pemrogram lainnya.l Hindari pengulangan proses yang tidak

perlu dan logika yang berbelit sehinggajalannya proses menjadi singkat.

l Jalannya proses digambarkan dari ataske bawah dan diberikan tanda panahuntuk memperjelas.

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Selalu dimulai dengan BEGIN:

Begin

Jangan lupa menggambar garis

End

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Begin

Input/output

Jangan lupa garis

Mungkin anda ingin berkomunikasi dengan pemakai

Input / Output

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Begin

Input

Proses

Proses

Anda dpt melakukan perhitungan di dlm proses

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Begin

Input

Proses

Output End

Anda dapat menampilkan hasil di output

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh Flowchart

l Problem:Menghitung luaspersegi panjang

l AlgoritmaMasukkanpanjang(p)2.Masukkanlebar(l)3.Hitungluas(L), yaitupanjangkali lebar4.Cetakluas(L

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Flowchart bilangan ganjil 1 -100

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh Flowchart

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Exercise

l Bagaimana algoritma untuk menukar isidari dua gelas?

l Menghitung usia berdasarkan tahun (saja) lahir dan tahun (saja) sekarang Input: Tahun lahir (tl), Tahun

sekarang (ts) Proses : Umur = ts –tl Output : Cetak Umur

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Exercise

l Buatlah flowchart untuk menampilkan deret bilangan berikut :

1, 1, 2, 3, 5, 8, 13l Buatlah flowchart untuk menghitung konversi

suhu dari fahrenheit ke celcius dan reamur dengan nilai fahrenheit diinput.