Algoritma dan Flowchart - PowerPoint PPT Presentation

About This Presentation
Title:

Algoritma dan Flowchart

Description:

Algoritma dan Flowchart Ilmu Komunikasi Universitas Gunadarma Dr. Lily Wulandari Langkah Pembuatan Program Merawat program Program yang sudah jadi perlu dirawat untuk ... – PowerPoint PPT presentation

Number of Views:223
Avg rating:3.0/5.0
Slides: 59
Provided by: Ele134
Category:

less

Transcript and Presenter's Notes

Title: Algoritma dan Flowchart


1
Algoritma dan Flowchart
  • Ilmu Komunikasi
  • Universitas Gunadarma
  • Dr. Lily Wulandari

2
Objectives
  • Setelah menyelesaikan bab ini,
  • anda diharapkan dapat
  • Mengerti tentang algoritma.
  • Membuat algoritma dari suatu permasalahan.
  • Mengerti tentang flowchart.
  • Membuat flowchart dari suatu
  • permasalahan.

3
  • ALGORITMA

4
Algoritma
  • Adalah inti dari ilmu komputer.
  • Algoritma adalah urutan langkah-langkah logis
    penyelesaian masalah yang disusun secara
    sistematis dan logis.

5
Algoritma
  • Kata logis merupakan kata kunci dalam algoritma.
  • Algoritma adalah urutan-urutan dari instruksi
    atau langkah-langkah untuk menyelesaikan suatu
    masalah.
  • Urutan langkah logis, yang berarti algoritma
    harus mengikuti suatu urutan tertentu, tidak
    boleh melompat-lompat.

6
Algoritma
  • Alur pemikiran dalam menyelesaikan suatu
    pekerjaan yang dituangkan secara tertulis.
  • ? Alur pikiran, sehingga algoritma
  • seseorang dapat juga berbeda dari
  • algoritma orang lain.
  • ? Tertulis, yang artinya dapat berupa
  • kalimat, gambar, atau tabel tertentu.

7
Algoritma
  • Langkah-langkah dalam algoritma harus dapat
    ditentukan bernilai benar atau salah.

8
Algoritma
  • Algoritma adalah blueprint dari program.
  • Sebaiknya disusun sebelum membuat program.
  • Kriteria suatu algoritma
  • Ada input dan output
  • Efektif dan efisien
  • Terstruktur

9
Algoritma Dalam Kehidupan
  • Algoritma adalah jantung ilmu komputer atau
    informatika. Banyak cabang ilmu komputer yang
    diacu dalam terminologi algoritma.
  • Algoritma juga digunakan dalam kehidupan
    sehari-hari, contohnya resep makanan. Di dalam
    resep makanan terdapat langkah-langkah yang
    merupakan algoritma.

10
Algoritma dalam Kehidupan
11
Algoritma dalam Kehidupan
12
Kriteria Algoritma
  • Input algoritma dapat memiliki nol atau lebih
    inputan dari luar.
  • Output algoritma harus memiliki minimal satu
    buah output keluaran.
  • Definiteness(pasti) algoritma memiliki
    instruksi-instruksi yang jelas dan tidak ambigu.

13
Kriteria Algoritma
  • Finiteness (ada batas) algoritma harus memiliki
    titik berhenti (stopping role).
  • 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

14
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.
  • Concurrent Process beberapa instruksi dikerjakan
    secara bersama.

15
Sifat Algoritma (Umum)
  • Tidak menggunakan simbol atau sintaks dari suatu
    bahasa pemrograman
  • Tidak tergantung pada suatu bahasa pemrograman
  • Notasi-notasinya dapat digunakan untuk seluruh
    bahasa manapun

16
Contoh Algoritma 1
  • Mengirim 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.

17
Contoh Algoritma 2
  • Mengupas Kentang untuk Makan Malam
  • ? Ibu Tati mengambil kantong kentang dari rak
  • ? Ibu Tati mengambil panci dari almari
  • ? Ibu Tati mengupas kentang
  • ? Ibu Tati mengembalikan kantong kentang dari rak

18
Contoh Algoritma 2 (lanjt)
  • Ada hal yang tergantungpada sesuatu
  • Ibu Tati mengambil kantong kentang dari rak
  • Ibu Tati mengambil panci dari almari
  • Lakukan persiapan, gunakan celemek, pakaian
    tergantung hari
  • ??Ibu Tati mengupas kentang
  • ??Ibu Tati mengembalikan kantong kentang dari rak

19
Kondisi dari Alg. 2
  • Hari Sabtu
  • ??Ibu Tati melihat bahwa bajunya tidak berwarna
    muda karena itu ia tidak memakai celemek(berarti
    tidak ada aksi memakai celemek)
  • Hari Minggu
  • ??Ibu Tati melihat bahwa bajunya berwarna muda
    karena itu ia memakai celemek

20
Kondisi dari Alg. 2
  • 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

21
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

22
Kondisi dari Alg. 2
  • Bisa jadi pada saat mengupas kentang tergantung
    pada kentangnya, jika rusak / busuk, buang, tidak
    dikupas
  • Jadi
  • ??Jika jumlah kentang terkupas belum cukup do
  • ??Tergantung pada kondisi kentang
  • ??Busuk buang dan cari kentang berikutnya,
    tidak dihitung
  • ??Tidak Busuk kupas 1 kentang

23
Contoh Algoritma 3
  • Menentukan apakah suatu bilangan merupakan
  • bilangan ganjil atau bilangan genap.
  • Masukkan sebuah bilangan sembarang
  • Bagi bilangan tersebut dengan bilangan 2
  • Hitung sisa hasil bagi pada langkah 2.
  • 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.

24
Contoh 4
  • Algoritma menghitung luas persegi panjang
  • Masukkan panjang (P)
  • Masukkan lebar (L)
  • Luas ?P L
  • Tulis Luas

25
Pseudo Code
  • Kode atau tanda yang menyerupai (pseudo) program
    atau merupakan pejelasan cara menyelesaikan suatu
    masalah.
  • Pseudo-code sering digunakan oleh manusia untuk
    menuliskan algoritma

26
Contoh
  • Problemmencari bilangan terbesar dari dua
    bilangan yang diinputkan
  • Contoh Algoritma
  • Masukkan bilangan pertama
  • Masukkan bilangan kedua
  • Jika bilangan pertama gt bilangan kedua maka
    kerjakan langkah 4, jika tidak, kerjakan langkah
    5.
  • Tampilkan bilangan pertama
  • Tampilkan bilangan kedua

27
Contoh
  • Contoh Pseudo-code
  • Input a
  • Input b
  • If a gt b then kerjakan langkah 4
  • print a
  • print b

28
Perbandingan
Algoritma Pseudo-code
Nilai A ditambah dengan 5 A ?A 5
Cetak nilai A bila lebih besar dari 10 IF A gt 10 THEN PRINT A
Dari dua bilangan A dan B, cari bilangan yang terbesar IF A gt B THEN PRINT A ELSE PRINT B
29
Bagian Program
  • Suatu program pada dasarnya terdiri dari 3
    bagian
  • Input bisa ada, bisa tidak
  • Proses
  • Output minimal satu ouput.

30
Langkah Pembuatan Program
  • Mendefinisikan masalah
  • Ini merupakan langkah pertama yang sering
    dilupakan orang.
  • Menurut hukum Murphy (oleh Henry Ledgard)
  • Semakin cepat menulis program, akan semakin
    lama kita dapat menyelesaikannya.
  • Hal tersebut berlaku untuk permasalahan yang
    kompleks. Tentukan masalahnya, apa saja yang
    harus dipecahkan dengan menggunakan komputer, dan
    apa inputan serta outputnya.

31
Langkah Pembuatan Program
  • Menemukan solusi
  • 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.
  • Contohnya masalah invers matriks, maka kita dapat
    membagi menjadi beberapa modul
  • meminta masukkan berupa matriks bujur sangkar
  • mencari invers matriks
  • menampilkan hasil kepada pengguna
  • Dengan penggunaan modul tersebut program utama
    akan menjadi lebih singkat dan mudah dilihat.

32
Langkah Pembuatan Program
  • 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.

33
Langkah Pembuatan Program
  • Menguji program
  • 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 dokumentasi
  • 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.

34
Langkah Pembuatan Program
  • Merawat program
  • 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

35
  • FLOWCHART

36
Flowchart
  • Bagan-bagan yang mempunyai arus yang
    menggambarkan langkah-langkah penyelesaian suatu
    masalah.
  • Merupakan cara penyajian dari suatu algoritma.
  • Ada 2 macam Flowchart
  • System Flowchart ? urutan proses dalam system
  • dengan menunjukkan alat media input, output
    serta
  • jenis media penyimpanan dalam proses
  • pengolahan data.
  • Program Flowchart ? urutan instruksi yang
  • digambarkan dengan symbol tertentu untuk
  • memecahkan masalah dalam suatu program.

37
Flowchart
  • Definisi
  • Bentuk gambar/diagram yang mempunyai aliran satu
    atau dua arah secara sekuensial
  • Kegunaan
  • Untuk mendesain program
  • Untuk merepresentasikan program

38
Flowchart
  • Maka, flowchart harus dapat merepresentasikan
    komponen-komponen dalam bahasa pemrograman
  • Sebelum pembuatan program
  • Mempermudah programmerdalam menentukan alur
    logika program
  • Sesudah pembuatan program
  • Menjelaskan alur program kepada orang lain

39
Simbol-simbol Flowchart
  • Flow Direction Symbols (Simbol penghubung alur)
  • Processing Symbols (Simbol proses).
  • Input-output Symbols (Simbol input-output)

40
Flowchart
  • Secara garis besar, unsur-unsur pemrograman
    adalah Input ? Proses? Output. Semua bahasa
    pemrograman, pasti mempunyai komponen-komponen
    sebagai berikut
  • Input (scanf)
  • Percabangan (if, switch)
  • Perulangan (while, for, for each, loop)
  • Output (printf)

41
Simbol-simbol Flowchart
42
Simbol-simbol Flowchart Cont.
43
Simbol-simbol Flowchart Cont.
44
Simbol-simbol Flowchart Cont.
45
Simbol-simbol Flowchart Cont.
46
Pembuatan Flowchart
  • Tidak ada kaidah yang baku.
  • Flowchart gambaran hasil analisa suatu masalah
  • Flowchart dapat bervariasi antara satu pemrogram
    dengan pemrogram lainnya.
  • Hindari pengulangan proses yang tidak
  • perlu dan logika yang berbelit sehingga
  • jalannya proses menjadi singkat.
  • Jalannya proses digambarkan dari atas
  • ke bawah dan diberikan tanda panah
  • untuk memperjelas.

47
Pembuatan Flowchart cont.
Selalu dimulai dengan BEGIN
Begin
Jangan lupa menggambar garis
End
48
Pembuatan Flowchart cont.
Input / Output
Begin
Jangan lupa garis
Input/output
Mungkin anda ingin berkomunikasi dengan pemakai
49
Pembuatan Flowchart cont.
Proses
Begin
Input
Anda dpt melakukan perhitungan di dlm proses
Proses
50
Pembuatan Flowchart cont.
Begin
Input
Anda dapat menampilkan hasil di output
Proses
Output
End
51
Contoh Flowchart
  • Problem
  • Menghitung luaspersegi panjang
  • Algoritma
  • Masukkanpanjang(p)2.Masukkanlebar(l)3.Hitungluas(
    L), yaitupanjangkali lebar4.Cetakluas(L

52
Flowchart bilangan ganjil 1 -100
53
Contoh Flowchart
54
(No Transcript)
55
(No Transcript)
56
(No Transcript)
57
Exercise
  • Bagaimana algoritma untuk menukar isi dari dua
    gelas?
  • Menghitung usia berdasarkan tahun (saja) lahir
    dan tahun (saja) sekarang
  • ??Input Tahun lahir (tl), Tahun sekarang (ts)
  • ??Proses Umur ts tl
  • ??Output Cetak Umur

58
Exercise
  • Buatlah flowchart untuk menampilkan deret
    bilangan berikut
  • 1, 1, 2, 3, 5, 8, 13
  • Buatlah flowchart untuk menghitung konversi suhu
    dari fahrenheit ke celcius dan reamur dengan
    nilai fahrenheit diinput.
Write a Comment
User Comments (0)
About PowerShow.com