pengenalan dan pengantar algoritmaebook.repo.mercubuana-yogya.ac.id/fti/materi_doc_20161/alpro...

Post on 19-Oct-2020

13 Views

Category:

Documents

1 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Pengenalan dan Pengantar Algoritma(TIF31 & SIF31)

Arita Witanti S.T.,M.T

Prodi Teknik Informatika & Prodi Sistem InformasiUniversitas Mercu Buana Yogyakarta

Tujuan

Mahasiswa dapat mengetahui dan memahami :

– Mengidentifikasi perbedaan komponen pada komputer

– Bahasa pemrograman komputer dan kategorinya

– Algoritma dan pembuatannya

– Alur pembuatan program

2

Pembahasan• Komputer

– Definisi Komputer

– Komponen Dasar Komputer

• Bahasa Pemrograman

• Algoritma

– Definisi Algoritma

– Sejarah Algoritma

– Ciri-Ciri Algoritma

– Sifat Algoritma

– Penulisan Algoritma

• Alur Pembuatan Program

Definisi komputer

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 ?

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

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

Movie about computer

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

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

• 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.

Bagaimana komputer bekerja

Sistem komputer

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.

Komponen sistem komputer

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

Alur algoritma

ALGORITMA

Program

Aplikasi

Software

Bahasa Pemrograman ≠ Algoritma

Programming Language

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.

Kategori bahasa Pemrograman

Category

Low Level

Language

Middle Level

Language

High Level

Language

Low Level Language

• Machine understandable language

• Internal Machine Code dependent

• Fast to Run But slow to write and Understand

• Ex:

– Assembly

Middle Level Language

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

• Ex :

– C

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#

Algoritma

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.

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

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

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

Penulisan

Algorithm

Natural

Language

Pseudo code

Flowchart

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

penulisan

Flowchart

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

Simbol

Programming (step by step)

32

Contoh

• Buatlah Algoritma membuat

• TELUR DADAR

Algoritma membuat telur dadar• Status awal:

• Telur dalam keadaan

• Status akhir:

• Telur dadar matang

• Algoritma :

• ...

• ....

• .......

• ..........

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

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 ?

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

37

Definisi Permasalahan

• Masalah harus terdefinisi dengan baik untuk mendapatkan Inputdan Output.

• Contoh :

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

38

Analisis Permasalahan

• Umumnya dibagi menjadi beberapa bagian kecil dan ringkas.

• Contoh :

– Problem : Mencari luas segitiga

– Input : alas, tinggi

– Output : luas segitiga

38

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

40

Flowchart

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.

Berbagai contoh Algoritma

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

Flowcart contoh 1

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, }

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

Flowcart contoh 2

Mudah bukan ?Membuat algoritma itu

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

Flowcart contoh 3

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

if kondisi then

aksi

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

Flowcart contoh 4

• 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.

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

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

Flowcart contoh 6

• Pada algoritma di atas digunakan struktur :

repeat n times

Aksi

Bagaimana jika jumlah bola pada

kotak A tidak diketahui?

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

Flowcart contoh 7

• Bagaimana jika kotak A KOSONG ?

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

Flowcart contoh 8

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.

6666

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.

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!

top related