algoritma dan flowchart 1 2

58

Click here to load reader

Upload: aulia-amanda-sari

Post on 26-Jan-2016

395 views

Category:

Documents


194 download

DESCRIPTION

ALGO

TRANSCRIPT

Page 1: 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

Page 2: Algoritma Dan Flowchart 1 2

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.

Page 3: Algoritma Dan Flowchart 1 2

ALGORITMA

Page 4: Algoritma Dan Flowchart 1 2

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.

Page 5: Algoritma Dan Flowchart 1 2

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.

Page 6: Algoritma Dan Flowchart 1 2

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.

Page 7: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma

l Langkah-langkah dalamalgoritma harus dapatditentukan bernilai benaratau salah.

Page 8: Algoritma Dan Flowchart 1 2

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

Page 9: Algoritma Dan Flowchart 1 2

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.

Page 10: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma dalam Kehidupan

Page 11: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Algoritma dalam Kehidupan

Page 12: Algoritma Dan Flowchart 1 2

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.

Page 13: Algoritma Dan Flowchart 1 2

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

Page 14: Algoritma Dan Flowchart 1 2

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.

Page 15: Algoritma Dan Flowchart 1 2

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

Page 16: Algoritma Dan Flowchart 1 2

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.

Page 17: Algoritma Dan Flowchart 1 2

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

Page 18: Algoritma Dan Flowchart 1 2

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

Page 19: Algoritma Dan Flowchart 1 2

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”

Page 20: Algoritma Dan Flowchart 1 2

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

Page 21: Algoritma Dan Flowchart 1 2

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

Page 22: Algoritma Dan Flowchart 1 2

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

Page 23: Algoritma Dan Flowchart 1 2

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

Page 24: Algoritma Dan Flowchart 1 2

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

Page 25: Algoritma Dan Flowchart 1 2

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

Page 26: Algoritma Dan Flowchart 1 2

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

Page 27: Algoritma Dan Flowchart 1 2

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

Page 28: Algoritma Dan Flowchart 1 2

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

Page 29: Algoritma Dan Flowchart 1 2

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.

Page 30: Algoritma Dan Flowchart 1 2

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.

Page 31: Algoritma Dan Flowchart 1 2

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.

Page 32: Algoritma Dan Flowchart 1 2

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.

Page 33: Algoritma Dan Flowchart 1 2

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.

Page 34: Algoritma Dan Flowchart 1 2

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

Page 35: Algoritma Dan Flowchart 1 2

FLOWCHART

Page 36: Algoritma Dan Flowchart 1 2

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.

Page 37: Algoritma Dan Flowchart 1 2

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

Page 38: Algoritma Dan Flowchart 1 2

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

Page 39: Algoritma Dan Flowchart 1 2

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)

Page 40: Algoritma Dan Flowchart 1 2

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)

Page 41: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart

Page 42: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Page 43: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Page 44: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Page 45: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Simbol-simbol Flowchart – Cont.

Page 46: Algoritma Dan Flowchart 1 2

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.

Page 47: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Selalu dimulai dengan BEGIN:

Begin

Jangan lupa menggambar garis

End

Page 48: Algoritma Dan Flowchart 1 2

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

Page 49: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Begin

Input

Proses

Proses

Anda dpt melakukan perhitungan di dlm proses

Page 50: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Pembuatan Flowchart – cont.

Begin

Input

Proses

Output End

Anda dapat menampilkan hasil di output

Page 51: Algoritma Dan Flowchart 1 2

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

Page 52: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Flowchart bilangan ganjil 1 -100

Page 53: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Contoh Flowchart

Page 54: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Page 55: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Page 56: Algoritma Dan Flowchart 1 2

Program Studi S1 Teknik Sipil - Fakultas Teknik - Universitas Haluoleo

Page 57: Algoritma Dan Flowchart 1 2

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

Page 58: Algoritma Dan Flowchart 1 2

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.