pengenalan dan pengantar algoritmaebook.repo.mercubuana-yogya.ac.id/fti/materi_doc_20161/alpro...
Post on 19-Oct-2020
16 Views
Preview:
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