38
TI1063 TI1063 Algoritma dan Algoritma dan Pemrograman Pemrograman Antonius Rachmat C, Antonius Rachmat C, S.Kom, M.Cs S.Kom, M.Cs

T1063 Algoritma dan Pemrograman

Embed Size (px)

Citation preview

Page 1: T1063 Algoritma dan Pemrograman

TI1063TI1063 Algoritma dan PemrogramanAlgoritma dan Pemrograman

Antonius Rachmat C, S.Kom, M.CsAntonius Rachmat C, S.Kom, M.Cs

Page 2: T1063 Algoritma dan Pemrograman

Algoritma & PemrogramanAlgoritma & Pemrograman

• SKSSKS : 3 SKS: 3 SKS• DosenDosen: Antonius Rachmat C, S.Kom, M.Cs: Antonius Rachmat C, S.Kom, M.Cs• EmailEmail : anton@: [email protected]• WebsiteWebsite : http://lecturer.ukdw.ac.id/anton: http://lecturer.ukdw.ac.id/anton• E-ClassE-Class : http://: http://www.ukdw.ac.id/e-class/id www.ukdw.ac.id/e-class/id • YMYM : antonie_oo: antonie_oo• Jadwal Kuliah Kelas:Jadwal Kuliah Kelas:

• GroupGroup AA: : Selasa, 13.30Selasa, 13.30

Page 3: T1063 Algoritma dan Pemrograman

PraktikumPraktikum

• Jadwal Praktikum (2x seminggu) mengikuti Jadwal Praktikum (2x seminggu) mengikuti jadwal masing-masing.jadwal masing-masing.

• Praktikum menggunakan Praktikum menggunakan Bahasa C / C++Bahasa C / C++• Tool: Tool: DevC++ 5.5.3DevC++ 5.5.3

• http://orwelldevcpp.blogspot.com/ http://orwelldevcpp.blogspot.com/ • Visual: Visual: Borland C++ Builder 6Borland C++ Builder 6

Page 4: T1063 Algoritma dan Pemrograman

Dev C++Dev C++

Page 5: T1063 Algoritma dan Pemrograman

DeskripsiDeskripsi• Matakuliah ini berisi tentang metode-metode Matakuliah ini berisi tentang metode-metode

dasar yang harus dikuasai untuk dapat dasar yang harus dikuasai untuk dapat menyelesaikan masalah-masalah menggunakan menyelesaikan masalah-masalah menggunakan komputer sebagai alat bantunya. komputer sebagai alat bantunya.

• Matakuliah ini mengajarkan Matakuliah ini mengajarkan computational computational thinkingthinking

• Pada matakuliah ini juga dipelajari tentang Pada matakuliah ini juga dipelajari tentang penggunaan metode-metode tersebut dengan penggunaan metode-metode tersebut dengan menggunakan bahasa pemrograman tertentu menggunakan bahasa pemrograman tertentu sehingga para mahasiswa dapat membuat sehingga para mahasiswa dapat membuat program dengan alur logika yang tepat dan program dengan alur logika yang tepat dan efisien.efisien.

Page 6: T1063 Algoritma dan Pemrograman

Kompetensi MatakuliahKompetensi Matakuliah• Mahasiswa mampu:Mahasiswa mampu:

• menjelaskan logika berpikir komputer (computational menjelaskan logika berpikir komputer (computational thinking), thinking),

• menjelaskan alasan-alasan komputer dapat mengerjakan menjelaskan alasan-alasan komputer dapat mengerjakan perintah-perintah yang diberikan, perintah-perintah yang diberikan,

• menjelaskan prinsip kerja program, menjelaskan prinsip kerja program, • menggambarkan logika jalannya program secara tertulis menggambarkan logika jalannya program secara tertulis

dengan algoritma (pseudo code) dan dilengkapi dengan dengan algoritma (pseudo code) dan dilengkapi dengan diagram alir (flow chart) menggunakan suatu bahasa diagram alir (flow chart) menggunakan suatu bahasa pemrograman tertentupemrograman tertentu

• menjelaskan konsep pemrograman terstrukturmenjelaskan konsep pemrograman terstruktur• membuat program sederhana dengan bahasa Cmembuat program sederhana dengan bahasa C

Page 7: T1063 Algoritma dan Pemrograman

Kompetensi DetailKompetensi Detail• Mampu menjelaskan Prinsip-prinsip AlgoritmaMampu menjelaskan Prinsip-prinsip Algoritma• Mampu menjelaskan Konsep Bahasa PemrogramanMampu menjelaskan Konsep Bahasa Pemrograman• Mampu membuat Flowchart dan PseudocodeMampu membuat Flowchart dan Pseudocode• Mampu menjelaskan Konsep Dasar Bahasa CMampu menjelaskan Konsep Dasar Bahasa C• Mampu membuat program Struktur Input/OutputMampu membuat program Struktur Input/Output• Mampu membuat program PercabanganMampu membuat program Percabangan• Mampu membuat program PerulanganMampu membuat program Perulangan• Mampu menjelaskan Pemrograman ModularMampu menjelaskan Pemrograman Modular• Mampu membuat Fungsi: parameter, kembalian fungsi by valueMampu membuat Fungsi: parameter, kembalian fungsi by value• Mampu menjelaskan dan membuat program Array 1 dimensiMampu menjelaskan dan membuat program Array 1 dimensi• Mampu menjelaskan dan membuat program Array 2 dimensiMampu menjelaskan dan membuat program Array 2 dimensi• Mampu membuat program Manipulasi StringMampu membuat program Manipulasi String• Mampu menjelaskan Event Driven Programming, GUI Creator, Properties Mampu menjelaskan Event Driven Programming, GUI Creator, Properties

dan Eventdan Event• Mampu membuat program C dengan komponen sederhana berbasis GUIMampu membuat program C dengan komponen sederhana berbasis GUI

Page 8: T1063 Algoritma dan Pemrograman

SilabusSilabus• Kontrak Perkuliahan & Pengantar Algoritma dan Pemrograman – Kontrak Perkuliahan & Pengantar Algoritma dan Pemrograman – 4/24/2• Algoritma, Pseudocode dan Flowchart – Algoritma, Pseudocode dan Flowchart – 1111//22• Pengantar Bahasa Pemrograman (dengan Bahasa C) – Pengantar Bahasa Pemrograman (dengan Bahasa C) – 18/218/2• Input & Output pada Bahasa C – Input & Output pada Bahasa C – 25/225/2• Struktur Kontrol Percabangan – Struktur Kontrol Percabangan – 4/34/3• Struktur Kontrol Perulangan – Struktur Kontrol Perulangan – 11/311/3• Struktur Kontrol Perulangan Bertingkat – Struktur Kontrol Perulangan Bertingkat – 1818//33 (ada (ada TK1TK1))• TTS TTS • Modular Programming – Modular Programming – 88//44• Function by value – Function by value – 2222//44• Array 1 Dimensi - Array 1 Dimensi - 29/4 29/4 • Array 2 Dimensi – Array 2 Dimensi – 66//55• Pengolahan Karakter dan String – Pengolahan Karakter dan String – 1313//55• Pemrograman GUIPemrograman GUI I I – – 20/520/5• Pemrograman GUIPemrograman GUI II II – – 27/5 (ada 27/5 (ada TK2TK2))• TASTAS

Page 9: T1063 Algoritma dan Pemrograman

ReferensiReferensi• C, A. R. (2010). C, A. R. (2010). Algoritma dan Pemrograman dengan Bahasa CAlgoritma dan Pemrograman dengan Bahasa C. .

Yogyakarta, Indonesia: Penerbit Andi. (Original work published Yogyakarta, Indonesia: Penerbit Andi. (Original work published 2011).2011).

• Forouzan, B. A., & Gilberg, R. F. (2006). Forouzan, B. A., & Gilberg, R. F. (2006). Computer Science: A Computer Science: A Structured Programming Approach Using CStructured Programming Approach Using C (3rd ed.). Boston, New (3rd ed.). Boston, New York: Cengage LearningYork: Cengage Learning

• Kochan, S. G. (2004). Kochan, S. G. (2004). Programming in CProgramming in C (3rd ed.). Indiana: Sams (3rd ed.). Indiana: Sams Publihsing.Publihsing.

• M, J. H. (2000). M, J. H. (2000). Konsep Dasar Pemrograman Bahasa CKonsep Dasar Pemrograman Bahasa C. Yogyakarta, . Yogyakarta, Indonesia: Penerbit Andi.Indonesia: Penerbit Andi.

• Ngoen, T. S. (2004). Ngoen, T. S. (2004). Pengantar Algoritma dengan Bahasa CPengantar Algoritma dengan Bahasa C. Jakarta, . Jakarta, Indonesia: Penerbit Salemba Teknika.Indonesia: Penerbit Salemba Teknika.

• Pranata, A. (2000). Pranata, A. (2000). Algoritma dan PemrogramanAlgoritma dan Pemrograman. Yogyakarta, . Yogyakarta, Indonesia: J&J Learning.Indonesia: J&J Learning.

• Sjukani, M. (2005). Sjukani, M. (2005). Algoritma dan Struktur Data dengan C, C++, dan Algoritma dan Struktur Data dengan C, C++, dan JavaJava. Jakarta, Indonesia: Mitra Wacana Media. Jakarta, Indonesia: Mitra Wacana Media

Page 10: T1063 Algoritma dan Pemrograman

Buku Acuan UtamaBuku Acuan Utama

Page 11: T1063 Algoritma dan Pemrograman

PenilaianPenilaian NISBI vs STANDAR NISBI vs STANDAR85.0 - 100 A4.080.0 - 84.9 A-3.775.0 - 79.9 B+3.370.0 – 74.9 B 3.065.0 – 69.9 B- 2.760.0 – 64.9 C+ 2.355.0 – 59.9 C 2.00 – 54.9 E0.0

A : AVG + 1,5 STDA- : AVG + 1,25 STDB+ : AVG + 1 STDB : AVG + 0,75 STDB- : AVG + 0,5 STDC+ : AVGC : AVG - 0,5 STDE : 0

Page 12: T1063 Algoritma dan Pemrograman

Komponen PenilaianKomponen Penilaian

• Praktikum:Praktikum: 3535%%• Tes Kecil Tes Kecil 2x @2x @1010%% 220%0%• KeaktifanKeaktifan 5%5%• TTTSTS:: 2020%%• TAS:TAS: 2200%%

Page 13: T1063 Algoritma dan Pemrograman

Tes KecilTes Kecil

• @ Point 10@ Point 10• Remidi TK jika point <= 6Remidi TK jika point <= 6• Maks point remidi = 6Maks point remidi = 6

Page 14: T1063 Algoritma dan Pemrograman

TTS & TTS & TASTAS

• TTTTSS & TAS & TAS tidak ada tidak ada remidiremidi• Open booksOpen books• Bentuk soal: pilihan ganda dan essay!Bentuk soal: pilihan ganda dan essay!

Page 15: T1063 Algoritma dan Pemrograman

KeaktifanKeaktifan

• Bukan merupakan nilai bonus!Bukan merupakan nilai bonus!• Anda harus aktif menjawab pertanyaan / Anda harus aktif menjawab pertanyaan /

soal / latihansoal / latihan• Jika tidak aktif maka poin tersebut akan 0!Jika tidak aktif maka poin tersebut akan 0!• Maksimal nilai aktif = Maksimal nilai aktif = 55

Page 16: T1063 Algoritma dan Pemrograman

PraktikumPraktikum

• Dimulai Dimulai tgl tgl 1717 Feb Feb 20120144• Modul praktikum terdiri dari:Modul praktikum terdiri dari:

• GuidedGuided• UnguidedUnguided• ChallengeChallenge

• Tugas praktikumTugas praktikum

Page 17: T1063 Algoritma dan Pemrograman

PeraturanPeraturan

• Tidak ada tes susulan apapunTidak ada tes susulan apapun• Peraturan absensi mengikuti aturan Universitas Peraturan absensi mengikuti aturan Universitas

((75%75%))• Surat ijin dibuat maksSurat ijin dibuat maksiimmaal pada minggu terakhir l pada minggu terakhir

kuliah!kuliah!• Ketentuan praktikum sesuai dengan aturan Ketentuan praktikum sesuai dengan aturan

praktikumpraktikum• Tidak ada tugas tambahan untuk meningkatkan Tidak ada tugas tambahan untuk meningkatkan

nilai yang kurangnilai yang kurang

Page 18: T1063 Algoritma dan Pemrograman

PeraturanPeraturan

• Harap tenang selama kuliah berlangsungHarap tenang selama kuliah berlangsung• Saling menghargai, saling menghormatiSaling menghargai, saling menghormati• Menggunakan pakaian yang sopan dan rapiMenggunakan pakaian yang sopan dan rapi• Surat ijin mengikuti ujian dibuat maksimal Surat ijin mengikuti ujian dibuat maksimal

minggu terakhir kuliahminggu terakhir kuliah• Keterlambatan maksimal Keterlambatan maksimal 20 menit!20 menit!• Jika berbuat curang (tercatat di berita acara) Jika berbuat curang (tercatat di berita acara)

maka otomatis E!maka otomatis E!

Page 19: T1063 Algoritma dan Pemrograman

Mengapa Belajar Algoritma dan Mengapa Belajar Algoritma dan Pemrograman?Pemrograman?

• Untuk menulis kode dalam bahasa yang Untuk menulis kode dalam bahasa yang dimengerti komputerdimengerti komputer

• Untuk melatih logika berpikirUntuk melatih logika berpikir• Untuk dasar matakuliah lain di Teknik Untuk dasar matakuliah lain di Teknik

InformatikaInformatika

Page 20: T1063 Algoritma dan Pemrograman

Apakah belajar programming itu Apakah belajar programming itu sulit?sulit?

• Hanya butuh waktu / “jam terbang”Hanya butuh waktu / “jam terbang”• Hanya butuh semangat dan kemauanHanya butuh semangat dan kemauan• Hanya butuh sering mencoba / latihan!Hanya butuh sering mencoba / latihan!• Kuncinya latihan dan diskusi!Kuncinya latihan dan diskusi!

Page 21: T1063 Algoritma dan Pemrograman

Tips BelajarTips Belajar

• Buat catatan!Buat catatan!• Baca buku acuan!Baca buku acuan!• Banyak latihan / praktek / mencobaBanyak latihan / praktek / mencoba• Banyak bertanya dan belajar dari sumber Banyak bertanya dan belajar dari sumber

lainlain

Page 22: T1063 Algoritma dan Pemrograman

ComputerComputer

Page 23: T1063 Algoritma dan Pemrograman

Bagan Sistem KomputerBagan Sistem Komputer

Page 24: T1063 Algoritma dan Pemrograman

PengetahuanPengetahuan

• DeklaratifDeklaratif• Fakta yang digunakan untuk memeriksa Fakta yang digunakan untuk memeriksa

kebenarankebenaran• 5 adalah akar dari 25 karena 5^2 = 25 dan 5>=05 adalah akar dari 25 karena 5^2 = 25 dan 5>=0• Bilangan genap adalah bilangan positif yg habis Bilangan genap adalah bilangan positif yg habis

dibagi 2dibagi 2

• ImperatifImperatif• Berupa urutan langkah-langkah untuk Berupa urutan langkah-langkah untuk

memecahkan masalahmemecahkan masalah

Page 25: T1063 Algoritma dan Pemrograman

Definisi ProgramDefinisi Program• A computer A computer program is just a collection program is just a collection of the instructions of the instructions

necessary to solve a specific problemnecessary to solve a specific problem• Program adalah kumpulan instruksi atau perintah yang disusun Program adalah kumpulan instruksi atau perintah yang disusun

sedemikian rupa sehingga mempunyai urutan nalar yang tepat sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan. untuk menyelesaikan suatu persoalan.

• Adalah kumpulan instruksi-instruksi tersendiri yang biasanya Adalah kumpulan instruksi-instruksi tersendiri yang biasanya disebut disebut source code source code yang dibuat oleh programmer (pembuat yang dibuat oleh programmer (pembuat program)program)

• Instruksi (Instruksi (statementstatement) yang dimaksud adalah syntax (cara ) yang dimaksud adalah syntax (cara penulisan) sesuai dengan bahasa pemrograman yang digunakan penulisan) sesuai dengan bahasa pemrograman yang digunakan yang mempunyai komponen-komponen : yang mempunyai komponen-komponen : Input, Output, Input, Output, Proses, Percabangan dan Perulangan. Proses, Percabangan dan Perulangan.

Page 26: T1063 Algoritma dan Pemrograman

AlgoritmaAlgoritma

• The approach or method that is used to The approach or method that is used to solve the problem is known as an solve the problem is known as an algorithmalgorithm

• Algoritma: Algoritma: urutan langkah logis untuk urutan langkah logis untuk menyelesaikan masalah tertentumenyelesaikan masalah tertentu

Page 27: T1063 Algoritma dan Pemrograman

Komunikasi Manusia dan Komunikasi Manusia dan KomputerKomputer

• Proses komunikasi antara manusia dengan Proses komunikasi antara manusia dengan komputer adalah sebagai berikut:komputer adalah sebagai berikut:• Manusia mendesain Algoritma Manusia mendesain Algoritma • Manusia menterjemahkan Algoritma tersebut ke Manusia menterjemahkan Algoritma tersebut ke

dalam bahasa pemrograman yang dipilih sehingga dalam bahasa pemrograman yang dipilih sehingga menjadi sebuah programmenjadi sebuah program

• Komputer menjalankan program hasil Komputer menjalankan program hasil penterjemahan algoritma menjdi bahasa penterjemahan algoritma menjdi bahasa pemrograman diataspemrograman diatas

• Komputer mengeluarkan respon kepada manusiaKomputer mengeluarkan respon kepada manusia

Page 28: T1063 Algoritma dan Pemrograman

• User : Masukkan user nameUser : Masukkan user name• User : Masukkan PasswordUser : Masukkan Password

• Sistem :Cek apakah username terdaftar?Sistem :Cek apakah username terdaftar?• Sistem :Jika Sistem :Jika tidak terdaftartidak terdaftar, maka sistem akan , maka sistem akan

mengeluarkan peringatan adanya kesalahan. Jika mengeluarkan peringatan adanya kesalahan. Jika terdaftar terdaftar maka, selanjutnya sistem akan mengecek maka, selanjutnya sistem akan mengecek apakah username dan password cocok (sesuai apakah username dan password cocok (sesuai dengan database)?dengan database)?

• Sistem :Jika Username dan password Sistem :Jika Username dan password cocok cocok maka maka user diperbolehkan masuk ke Facebook ybs. Jika user diperbolehkan masuk ke Facebook ybs. Jika tidak cocok tidak cocok maka sistem akan mengeluarkan maka sistem akan mengeluarkan peringatan adanya kesalahanperingatan adanya kesalahan

• User : Dapat mengakses halaman facebook ybsUser : Dapat mengakses halaman facebook ybs

Algoritma Login ke FacebookAlgoritma Login ke Facebook

Page 29: T1063 Algoritma dan Pemrograman

Bahasa PemrogramanBahasa Pemrograman

• Adalah Adalah alatalat untuk membuat program untuk membuat program• Contoh: C, C++, C#, Pascal, Basic, Perl, Contoh: C, C++, C#, Pascal, Basic, Perl,

PHP, ASP, JHP, Java, dll.PHP, ASP, JHP, Java, dll.

• Perbedaan: cara memberikan instruksiPerbedaan: cara memberikan instruksi (sintaks)(sintaks)

• Persamaan: bertujuan menghasilkan Persamaan: bertujuan menghasilkan output output yang samayang sama

Page 30: T1063 Algoritma dan Pemrograman

Bahasa C di tingkat duniaBahasa C di tingkat duniahttp://www.tiobe.com/index.php/content/paperinfo/tpci/index.html

Page 31: T1063 Algoritma dan Pemrograman

Paradigma PemrogramanParadigma Pemrograman• Pemrograman Pemrograman Prosedural / TerstrukturProsedural / Terstruktur

• Berdasarkan urutan-urutan, sekuensialBerdasarkan urutan-urutan, sekuensial• Program adalah suatu rangkaian prosedur untuk memanipulasi data. Program adalah suatu rangkaian prosedur untuk memanipulasi data.

Prosedur merupakan kumpulan instruksi yang dikerjakan secara Prosedur merupakan kumpulan instruksi yang dikerjakan secara berurutan.berurutan.

• Harus mengingat prosedur mana yang sudah dipanggil dan apa yang Harus mengingat prosedur mana yang sudah dipanggil dan apa yang sudah diubah.sudah diubah.

• Program dapat dibagai-bagi menjadi prosedur dan fungsi.Program dapat dibagai-bagi menjadi prosedur dan fungsi.• Contoh: PASCAL dan CContoh: PASCAL dan C

• Pemrograman Pemrograman FungsionalFungsional• Berdasarkan teori fungsi matematikaBerdasarkan teori fungsi matematika• Fungsi merupakan dasar utama program.Fungsi merupakan dasar utama program.

• Pemrograman Pemrograman ModularModular• Pemrograman ini membentuk banyak modul.Pemrograman ini membentuk banyak modul.• Modul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiriModul merupakan kumpulan dari prosedur dan fungsi yang berdiri sendiri• Sebuah program dapat merupakan kumpulan modul-modul.Sebuah program dapat merupakan kumpulan modul-modul.• Contoh: MODULA-2 atau ADA Contoh: MODULA-2 atau ADA

Page 32: T1063 Algoritma dan Pemrograman

Paradigma PemrogramanParadigma Pemrograman• Pemrograman Pemrograman Berorientasi ObyekBerorientasi Obyek

• Pemrograman berdasarkan prinsip obyek, dimana obyek Pemrograman berdasarkan prinsip obyek, dimana obyek memiliki data/variabel/property dan method/event/prosedur memiliki data/variabel/property dan method/event/prosedur yang dapat dimanipulasiyang dapat dimanipulasi

• Contoh: C++, Object Pascal, dan Java.Contoh: C++, Object Pascal, dan Java.• Pemrograman Pemrograman Berorientasi FungsiBerorientasi Fungsi

• Pemrograman ini berfokus pada suatu fungsi tertentu saja. Pemrograman ini berfokus pada suatu fungsi tertentu saja. Sangat tergantung pada tujuan pembuatan bahasa pemrograman Sangat tergantung pada tujuan pembuatan bahasa pemrograman ini.ini.

• Contoh: SQL (Structured Query Language), HTML, XML dan Contoh: SQL (Structured Query Language), HTML, XML dan lain-lain.lain-lain.

• Pemrograman Pemrograman DeklaratifDeklaratif• Pemrograman ini mendeskripsikan suatu masalah dengan Pemrograman ini mendeskripsikan suatu masalah dengan

pernyataan daripada memecahkan masalah dengan pernyataan daripada memecahkan masalah dengan implementasi algoritma.implementasi algoritma.

• Contoh: PROLOG Contoh: PROLOG

Page 33: T1063 Algoritma dan Pemrograman

Pembagian Target ProgramPembagian Target Program

• Pemrograman DesktopPemrograman Desktop• Pemrograman WebPemrograman Web• Pemrograman MobilePemrograman Mobile

Page 34: T1063 Algoritma dan Pemrograman

Siklus Hidup Perangkat Lunak Siklus Hidup Perangkat Lunak (Waterfall Model)(Waterfall Model)

• Dilihat dari Siklus diatas, Algoritma Pemrograman menempati Dilihat dari Siklus diatas, Algoritma Pemrograman menempati posisi dibagian posisi dibagian Code / implementasi Code / implementasi karena bagian karena bagian implementasi merupakan bagian dimana pemrogram melakukan implementasi merupakan bagian dimana pemrogram melakukan proses coding (pembuatan program). proses coding (pembuatan program).

Page 35: T1063 Algoritma dan Pemrograman

Aksi dalam algoritmaAksi dalam algoritma• Kejadian yang terjadi pada waktu yang terbatas dan Kejadian yang terjadi pada waktu yang terbatas dan

menghasilkan efek yang memang direncanakanmenghasilkan efek yang memang direncanakan• Dari waktu0 ke waktuNDari waktu0 ke waktuN• Contoh: “aksi Bu Ani mengupas kentang untuk makan malam”Contoh: “aksi Bu Ani mengupas kentang untuk makan malam”• Batasan:Batasan:

• Apa kentang harus dibeli dulu atau sudah ada?Apa kentang harus dibeli dulu atau sudah ada?• Apakah mengupas berarti sampai kentang terhidang?Apakah mengupas berarti sampai kentang terhidang?• Apakah setelah kentang selesai dikupas, harus ada kegiatan lain Apakah setelah kentang selesai dikupas, harus ada kegiatan lain

seperti dibuat sup atau digoreng?seperti dibuat sup atau digoreng?• Berarti harus ada kejadian awal = start dan kejadian akhir = finishBerarti harus ada kejadian awal = start dan kejadian akhir = finish

• Kejadian bu Ani dapat juga diterapkan pada ibu-ibu yang Kejadian bu Ani dapat juga diterapkan pada ibu-ibu yang lain, yang juga akan mengupas kentanglain, yang juga akan mengupas kentang• Cara (Metode) sebisa mungkin harus bersifat universalCara (Metode) sebisa mungkin harus bersifat universal

Page 36: T1063 Algoritma dan Pemrograman

Contoh kasusContoh kasus

• Ada 2 gelas kosong berukuran: 5 liter dan 3 Ada 2 gelas kosong berukuran: 5 liter dan 3 literliter

• Bagaimana cara kita mendapatkan air Bagaimana cara kita mendapatkan air berukuran 4 liter?berukuran 4 liter?

• Bagaimana cara mendapatkan air berukuran Bagaimana cara mendapatkan air berukuran 2 liter?2 liter?

Page 37: T1063 Algoritma dan Pemrograman

CaraCara

• Masukkan air ke 3 liter hingga penuhMasukkan air ke 3 liter hingga penuh• Masukkan air 3 liter ke 5 liter, sisa 2 liter kosongMasukkan air 3 liter ke 5 liter, sisa 2 liter kosong• Masukkan air ke 3 liter hingga penuhMasukkan air ke 3 liter hingga penuh• Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di Tuangkan air 3 liter ke sisa 2 liter, berarti sisa 1 liter di

gelas 2 litergelas 2 liter• Buang seluruh air di gelas 5 liter tadiBuang seluruh air di gelas 5 liter tadi• Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga Tuangkan air 1 liter yg ada di gelas 3 liter tadi hingga ke 5 ke 5

liter liter kosongkosong• Masukkan air ke 3 liter hingga penuhMasukkan air ke 3 liter hingga penuh• Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter Tuangkan 3 liter ke gelas 5 liter yang sudah ada 1 liter

tadi, hingga kita dapat 4 litertadi, hingga kita dapat 4 liter

Page 38: T1063 Algoritma dan Pemrograman

NextNext

• Mahasiswa mampu menjelaskan Algoritma Mahasiswa mampu menjelaskan Algoritma dan membuat Flowchartdan membuat Flowchart