Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro...

69
Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T Prodi Teknik Informatika & Prodi Sistem Informasi Universitas Mercu Buana Yogyakarta

Transcript of Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro...

Page 1: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Pengenalan dan Pengantar Algoritma(TIF31 & SIF31)

Arita Witanti S.T.,M.T

Prodi Teknik Informatika & Prodi Sistem InformasiUniversitas Mercu Buana Yogyakarta

Page 2: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Tujuan

Mahasiswa dapat mengetahui dan memahami :

– Mengidentifikasi perbedaan komponen pada komputer

– Bahasa pemrograman komputer dan kategorinya

– Algoritma dan pembuatannya

– Alur pembuatan program

2

Page 3: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Pembahasan• Komputer

– Definisi Komputer

– Komponen Dasar Komputer

• Bahasa Pemrograman

• Algoritma

– Definisi Algoritma

– Sejarah Algoritma

– Ciri-Ciri Algoritma

– Sifat Algoritma

– Penulisan Algoritma

• Alur Pembuatan Program

Page 4: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Definisi komputer

Page 5: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Definisi Komputer

Komputer begitu melekat dengan perkembangan teknologi informasi,

Mungkin Anda sering sekali mendengarkan kata-kata komputer,

Tetapi

Apakah anda dapat menjelaskan

apa itu komputer ?

Page 6: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T
Page 7: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

• Komputer mempunyai makna yang luas sekali, sehingga istilah ini sulit untuk dijelaskan.

• Istilah komputer sebenarnya berasal dari bahasa Latin yaitu Computare (menghitung).

Page 8: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Movie about computer

Page 9: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Apakah komputer smart?

• Computer knows nothing, komputer hanya mengikuti step yang telah diberikan

• Contoh

• Kita suruh computer : Buka Pintu!

• Komputer perlu tahu

• Apa itu ‘pintu’?

• Dimana ‘pintu’?

• Bagaimana cara membuka ‘pintu’?

• dst

Page 10: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Definisi komputerMenurut Hartono (1999), komputer dijabarkan menjadi beberapa poin berikut :

•Alat elektronik

•Dapat menerima input data

•Dapat mengolah data

•Dapat memberikan informasi

•Menggunakan suatu program yang tersimpan di dalam memori komputer

•Dapat menyimpan program dan hasil pengolahan

•Bekerja secara otomatis

Page 11: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

• Jika dilihat dari beberapa poin tersebut, maka dapat disimpulkan bahwa komputer merupakan sekumpulan alat elektronik yang saling bekerja sama, dapat menerima data(input), mengolah data (process) dan memberikan informasi(output) serta terkoordinasi di bawah kontrol program yang tersimpan di memorinya.

Page 12: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Bagaimana komputer bekerja

Page 13: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Sistem komputer

Page 14: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Sistem Komputer

• Agar dapat melaksanakan fungsinya sebagai pengolahan data, maka komputer harus terdiri dari tiga komponen yang saling terkait antara satu dengan yang lainnya, yaitu hardware (perangkat keras), software (perangkat lunak), dan brainware (orang) yang kemudian dikenal dengan istilah sistem komputer.

Page 15: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Komponen sistem komputer

Page 16: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Agar komputer bekerja

• Buat sebuah program sehingga komputer dapat melakukan tugas yang kita inginkan.

• Untuk menulis sebuah program komputer, anda harus memberitahu komputer, step by step, dengan tepat dan detil cara kerja yang kita inginkan

• Komputer lalu akan "executes" the program, menjalankan program

• Teruskan setiap langkah sampai tercapai tujuan.

• When you are telling the computer what to do, you

• also get to choose how it's going to do it

• That's where computer algorithms come in

Page 17: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Alur algoritma

ALGORITMA

Program

Aplikasi

Software

Bahasa Pemrograman ≠ Algoritma

Page 18: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Programming Language

Page 19: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Programming Language

• Definisi :

– Teknik komunikasi standar untuk mengekspresikan instruksi kepada komputer.

Bahasa pemrograman adalah bahasa buatan yang

digunakan untuk mengendalikan perilaku dari

sebuah mesin, biasanya berupa mesin komputer,

sehingga dapat digunakan untuk memberitahu

komputer tentang apa yang harus dilakukan.

Page 20: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Kategori bahasa Pemrograman

Category

Low Level

Language

Middle Level

Language

High Level

Language

Page 21: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Low Level Language

• Machine understandable language

• Internal Machine Code dependent

• Fast to Run But slow to write and Understand

• Ex:

– Assembly

Page 22: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Middle Level Language

• Middle Level Programming languages are closely related to Machine as well as Human Being.

• Ex :

– C

Page 23: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

High Level Language• First high-level programming

languages were designed in the 1950s.

• High level Languages is :

– Human understandable Language.

– Internal Machine Code Independent.

– Program Oriented Language.

• Developed for providing GUI Interface.

• English is Common example of High level Language.

• Ex :

– Java, Pascal, C#

Page 24: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Algoritma

Page 25: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Definisi

• Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan memecahkan suatu permasalahan.

• Algoritma adalah urutan langkah–langkah logispenyelesaian masalah yang disusun secara sistematis dan logis.

– Logis merupakan kunci dari sebuah algoritma.

– Langkah-langkah dalam algoritma harus logis dan bernilai benar atau salah.

Page 26: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Sejarah• Berasal dari risalah Abu

Abdallah Muhammad ibn Musa Al-Khwarizmi(ilmuwan persia) yang membahas tentang kalkulasi dengan angka hindu-arab (tahun 825 M)

• Diterjemahkan kedalam bahasa latin menjadi Algoritmi de numero Indorum

• Algoritmi = Al-Khwarizmi

Page 27: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Ciri dan sifat

Ciri-Ciri

• Memiliki Input

• Meneghasil Output

• Memiliki Process

• Menggunakan instruksi yang mudah dimengerti (tidak ambigu)

• Harus memiliki stoping rule

Sifat

• Tidak menggunakansintax dari bahasa pemrograman

• Penulisan tidak tergantung dari bahasa pemrograman

• Notasinya dapat digunakan pada semua bahasa pemrograman

Page 28: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Syarat Algoritma

• Harus Berhenti

• Tidak Ambigu

• Memiliki nol atau lebih masukan

• Memiliki nol atau lebih keluaraan

• Efektif, yaitu urutan instruksi sesederhana mungkin

• Harus jelas status awal dan status akhirnya

Page 29: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Penulisan

Algorithm

Natural

Language

Pseudo code

Flowchart

Page 30: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

penulisan

Natural Language

• Bahasa formal yang dipergunakan oleh manusia

• Bersifat terstruktur

• SE : Structured English

• BIT : Bahasa Indonesia Terstruktur

Pseudo Code

• Psuedo : mirip, menyerupai, seolah-olah

• Code : baris program

• Psuedocode : instruksi yang menyerupai baris program

Page 31: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

penulisan

Flowchart

• Suatu bentuk diagram yang memiliki aliran satu atau dua arah secara sekuensial

Simbol

Page 32: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Programming (step by step)

32

Page 33: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh

• Buatlah Algoritma membuat

• TELUR DADAR

Page 34: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Algoritma membuat telur dadar• Status awal:

• Telur dalam keadaan

• Status akhir:

• Telur dadar matang

• Algoritma :

• ...

• ....

• .......

• ..........

• ...............

Page 35: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Salah satu bentuk susunan algoritmanya sebagai berikut:

1. Pecahkan telur ayam ke dalam mangkok

2. Tambahkan garam secukupnya

3. Aduk campuran telur dan garam

4. Nyalakan api kompor

5. Tuangkan minyak ke dalam wajan

6. Tuang adonan telur ke dalam wajan

7. Masak telur hingga matang

BAGAIMANA ALGORITMA MU ?

Page 36: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

36

Alur Pembuatan Program

• Langkah–langkah sistematis dasar dalam menyelesaikan permasalahan pemrograman :

– Definisi masalah

– Analisis dan membuat rumusan pemecahan masalah

– Desain Algoritma dan Representasi

– Pembuatan program, Uji Coba dan pembuatan dokumentasi

36

Page 37: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

37

Definisi Permasalahan

• Masalah harus terdefinisi dengan baik untuk mendapatkan Inputdan Output.

• Contoh :

"Buatlah sebuah algoritma untuk mencari luas dari suatu Segitiga".

Page 38: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

38

Analisis Permasalahan

• Umumnya dibagi menjadi beberapa bagian kecil dan ringkas.

• Contoh :

– Problem : Mencari luas segitiga

– Input : alas, tinggi

– Output : luas segitiga

38

Page 39: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

39

Natural Language

1. Masukkan nilai alas

2. Masukkan nilai tinggi

3. Menghitung luas segitiga dengan mengalikan Alas dan Tinggi kemudian dibagi 2

4. Menampilkan hasil

5. Selesai

Pseudo code

Algoritma perhitungan luas segitiga

Input : Alas, Tinggi

Output : Luas segitiga

Alas dibaca a

Tinggi dibaca t

Luas (Alas X Tinggi)/2

Tampilkan Luas

Page 40: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

40

Flowchart

Page 41: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

41

Pembuatan, Uji Coba & Penulisan Dokumentasi

• Pembuatan Program dapat dimulai setelah desain algoritma selesai, dengan menggunakan bahasa pemrograman yang dipilih.

• Setelah pembuatan program selesai, dilakukan proses kompilasi. Dalam proses kompilasi program terdapat dua error :

– Syntax Error

– Run Time Error

• Penulisan dokumentasi ditujukan untuk membantu mempermudah user dengan menuliskan tujuan, algoritma dan alur program.

Page 42: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Berbagai contoh Algoritma

Page 43: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 1

• Terdapat dua jenis minuman dalam 2 gelas berukuran sama A dan B, kedua minuman akan ditukarkan tempatnya.

• {status awal: gelas A berisi minuman a, gelas B berisi minuman b

• status akhir: gelas A berisi minuman b, gelas B berisi minuman a}

• {Dibutuhkan sebuah gelas kosong yaitu gelas C}

Algoritma

• Tuangkan minuman dari gelas A ke gelas C

• Tuangkan minuman dari gelas B ke gelas A

• Tuangkan minuman dari gelas C ke gelas B

Page 44: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 1

Page 45: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Penjelasan contoh 1Aksi 1

• {status awal: gelas A berisi minuman a, gelas C kosong}

• Tuangkan minuman a ke gelas C

• {status akhir: gelas A kosong, gelas C berisi minuman a }

Aksi 2

• {status awal: gelas A kosong, gelas B berisi minuman b }

• Tuangkan minuman b ke gelas A

• {status akhir: gelas A berisi minuman b, gelas B kosong }

Aksi 3

• {status awal: gelas B kosong, gelas C berisi minuman a }

• Tuangkan minuman a ke gelas B

• {status akhir: gelas B berisi minuman a, gelas C kosong, }

Page 46: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 2

• Misalkan terdapat sebuah atau sejumlah bola berwarna merah,kuning, hijau pada kotak A. Akan diambil secara acak sebuah bola dari kotak A dan dimasukkan ke kotak B yang kosong.

{status awal: kotak A berisi sejumlah bola,kotak B kosong

status akhir: Bola pada kotak A berkurang 1

kotak B berisi sebuah bola}

Algoritma Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Page 47: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 2

Page 48: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Mudah bukan ?Membuat algoritma itu

Page 49: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 3

• Berdasarkan contoh 2, dimana setelah bola diambil dari kotak A, bola tersebut disimpan di kotak B jika berwarna merah.

{status awal: kotak A berisi sejumlah bola,

kotak B kosong

status akhir: bola pada kotak A berkurang 1,

kotak B kosong atau berisi sebuah bola merah}

Algoritma

Ambilkan 1 bola dari kotak A

if bola berwarna merah then

Masukkan bola terambil ke kotak B

Page 50: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 3

Page 51: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

• Perhatikan pemilihan kondisi pada baris ke-2.Skema pemilihan yang digunakan memiliki pola:

if kondisi then

aksi

Page 52: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 4• Jika persoalan diperluas yaitu dengan menempatkan bola

terambil yang bukan berwarna merah ke kotak C.

{status awal: kotak A berisi sejumlah bola,

kotak B dan C kosong

status akhir: Bola pada kotak A berkurang 1,

kotak B atau kotak C kosong atau berisi

sebuah bola}

Algoritma

Ambilkan 1 bola dari kotak A

if bola berwarna merah then

Masukkan bola terambil ke kotak B

else

Masukkan bola terambil ke kotak C

Page 53: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 4

Page 54: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

• Perhatikan pemilihan kondisi pada baris ke-2. Skema pemilihan yang digunakan memiliki pola:

if kondisi then

aksi 1

else

• aksi 2

• else menunjukkan “jika tidak terpenuhi”. Pada contoh diaatas, jika tidak terpenuhi kondisi bola berwarna merah maka yang dilakukan adalah memasukkan bola ke kotak C.

Page 55: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 5

• Kotak A berisi 5 bola. Satu per satu bola akan dipindahkan ke kotak B sampai kotak A kosong

{status awal: kotak A berisi 5 bola, kotak B kosong

status akhir: kotak A kosong, kotak B berisi 5 bola}

Algoritma

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Page 56: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 6

• Bagaimana jika bola yang harus dipindahkan berjumlah besar, misalkan 100, haruskah instruksi ditulis 100 kali?

{status awal: kotak A berisi 100 bola,

kotak B kosong

status akhir: kotak A kosong, kotak B

berisi 100 bola}

Algoritma

repeat 100 times

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

Page 57: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 6

Page 58: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

• Pada algoritma di atas digunakan struktur :

repeat n times

Aksi

Page 59: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Bagaimana jika jumlah bola pada

kotak A tidak diketahui?

Page 60: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 7

{status awal: kotak A berisi bola,

kotak B kosong

status akhir: kotak A kosong, kotak B

berisi bola}

Algoritma

repeat

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

until kotak A kosong

Page 61: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 7

Page 62: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

• Bagaimana jika kotak A KOSONG ?

Page 63: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Contoh 8

{status awal: kotak A kosong atau

berisi bola, kotak B kosong

status akhir: kotak A kosong, kotak B

berisi bola atau tetap kosong}

Algoritma

If kotak A tidak kosong then

repeat

Ambil 1 bola dari kotak A

Masukkan bola terambil ke kotak B

until kotak A kosong

Page 64: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Flowcart contoh 8

Page 65: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

65

Referensi

• Hartono. Jogiyanto, “Konsep Dasar Pemrograman bahasa C”, Penerbit Andi, Yogyakarta, 1992.

• Hartono. Jogiyanto, “Pengenalan Komputer”, Penerbit Andi, Yogyakarta, 1999.

• Munir. Rinaldi, “Algoritma & Pemrograman Dalam Bahasa Pascal dan C”, Penerbit Informatika, Bandung, 2007.

• Raharjo. Budi, “Pemrograman C++”, Penerbit Informatika, Bandung, 2006.

Page 66: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

6666

Page 67: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

TUGAS

• Kerjakan soal PR 1

Terdapat 4 buah bola yang tampilannya sama. Tiga (3) bolamempunyai berat yang sama dan sebuah bola dengan beratberbeda (lebih ringan atau lebih berat).

Untuk mencari bola mana yang beratnya berbeda disediakansebuah timbangan tanpa skala yang hanya bisa menunjukkan 2benda beratnya sama atau tidak.

• Buat algoritma untuk persoalan ini.

Page 68: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T
Page 69: Pengenalan dan Pengantar Algoritmaebook.repo.mercubuana-yogya.ac.id/FTI/materi_doc_20161/Alpro Per… · Pengenalan dan Pengantar Algoritma (TIF31 & SIF31) Arita Witanti S.T.,M.T

Pr 2

Persoalan pada contoh 8 sedikit diubah dimana

bola-bola dari kotak A akan dipindahkan ke 3

kotak lain berdasarkan warnanya (merah,

kuning, hijau) sehingga kotak A kosong dan 3

kotak lain terisi dengan bola berwarna sejenis.

• Buat algoritma dan flow chart-nya!