dasar dasar algoritma - 1
TRANSCRIPT
1
PERSONAL PROFILEPERSONAL PROFILE
N A M E : Ir. Budi Setiyono, M.Kom
A D D R E S S : Jl. Karangkemiri No. 4 RT 02/01Karanganyar – Kebumen.
Email : [email protected]
HP : 082-221-957-869
2PERSONAL PROFILEPERSONAL PROFILECARRIER HISTORY1.Director IMTEK CONSULTAN Branch Kebumen2.Chairman of the Science and Technology Foundation Kebumen – Central Java.3.Lecturer AMIK Veteran Purwokerto4.Lecturer AMIK PGRI Kebumen5.Lecturer experts to School of Economics (STIE Putra Bangsa Kebumen Central Java).6.Head Master to Vocational School of Information Technology Kebumen Central Java.7.Head Master to Vocational School of Computer Science Kebumen Central Java.
3ACADEMIC QUALIFICATIONS– University of Soedirman Purwokerto, Methodology and
Management of Basic Science Research.– University of Soedirman – Purwokerto,, Higher Education
Management System.– University of Jember , Academic Networking– Academy of Network Cisco System Santa Clara, CISCO
Certified Network Associate (CCNA).– University of Muhammadiyah Purworejo, Teachership &
Education Science.– School of Technology Information & Computer (STI & K
JAKARTA), Management Information Technical (Strata 1).– University of Dian Nuswantoro Semarang,Magister of
Technology Information, (Strata 2). – University of Sahid Jakarta Communication Science (Strata
3)
Apa Itu Algoritma ?Apa Itu Algoritma ?
Definisi :Definisi :Urutan langkah-langkah untuk memecahkan Urutan langkah-langkah untuk memecahkan
masalah yang disusun secara sistematis dan masalah yang disusun secara sistematis dan logis.logis.
Kamus Besar Bahasa Indonesia:Kamus Besar Bahasa Indonesia:Algoritma adalah urutan logis pengambilan Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.putusan untuk pemecahan masalah.
Algoritma dibutuhkan untuk memerintah Algoritma dibutuhkan untuk memerintah komputer mengambil langkah-langkah komputer mengambil langkah-langkah tertentu dalam menyelesaikan masalah.tertentu dalam menyelesaikan masalah.
Asal-usul kata algoritma Abu Ja’far Muhammad Ibnu Musa Al Khuwarizmi adalah
seorang penulis buku Arab yang berjudul Kitab Al Jabar Wal Muqabala (Buku Pemugaran dan Pengurangan). Kata Al Khuwarizmi dibaca orang Barat menjadi algorism.
Kata algorism berarti proses menghitung dengan angka Arab. Seseorang dikatakan algorist jika orang tersebut menggunakan angka Arab.
Kata algorism lambat laun menjadi algorithm disebabkan kata algorism sering dikelirukan dengan kata arithmetic sehingga akhiran –sm berubah menjadi –thm. Kata algorithm diserap ke dalam bahasa Indonesia menjadi algoritma.
Mengapa Algoritma ?Mengapa Algoritma ?
Pembuatan atau penulisan algoritma tidak Pembuatan atau penulisan algoritma tidak tergantung pada bahasa tergantung pada bahasa pemrograman pemrograman manapun.manapun.
Notasi algoritma dapat diterjemahkan ke Notasi algoritma dapat diterjemahkan ke dalam berbagai bahasa pemrograman.dalam berbagai bahasa pemrograman.
Apapun bahasa pemrogramannya, output Apapun bahasa pemrogramannya, output yang akan dikeluarkan samayang akan dikeluarkan sama karena karena algoritmanya sama.algoritmanya sama.
Algoritma
Algoritma merupakan deskripsi urutan pelaksanaan suatu proses
Algoritma tersusun oleh sederetan langkah instruksi yang logis
Tiap langkah instruksi akan mengerjakan suatu tindakan (Aksi)
Bila Aksi dilaksanakan, maka sejumlah operasi yang bersesuaian akan dikerjakan oleh CPU
Definisi Algoritma Algoritma adalah urutan langkah-langkah logis
penyelesaian masalah yang disusun secara sistematis.
Kata logis disini berarti benar sesuai dengan logika manusia.
Untuk menjadi sebuah algoritma, urutan langkah yang ditempuh untuk menyelesaikan masalah harus memberikan hasil yang benar.
Definisi Logika Logika identik dengan masuk akal dan penalaran.
Penalaran adalah salah satu bentuk pemikiran. Pemikiran adalah pengetahuan tak langsung yang didasarkan pada pernyataan langsung pemikiran mungkin benar dan mungkin juga tak benar.
Definisi logika sangat sederhana yaitu ilmu yang memberikan prinsip-prinsip yang harus diikuti agar dapat berfikir valid menurut aturan yang berlaku
Pelajaran logika menimbulkan kesadaran untuk menggunakan prinsip-prinsip untuk berfikir secara sistematis.
Domain algoritma
Masalah : motivasi untuk membuat algoritma. Algoritma : prosedur untuk menyelesaikan masalah.
Seringkali satu masalah dapat diselesaikan dengan lebih dari satu cara (banyak kemungkinan).
Program: representasi formal dari suatu algoritma dengan menggunakan bahasa pemrograman yang bisa dimengerti oleh komputer.
Proses : aktivitas menjalankan langkah-langkah dalam algoritma.
Hal yang harus dipenuhi dalam membuat algoritma
Input : data yang harus diberikan pada komputer
Output: informasi yang akan diperoleh dari komputer
Logika: Merencanakan proses program. Terdiri dari sejumlah instruksi yang mengubah input menjadi output yang diinginkan.
Syarat Algoritma Baik?Syarat Algoritma Baik?
Tingkat kepercayaannya tinggi Tingkat kepercayaannya tinggi ((realibility) realibility) Hasil yang diperoleh dari Hasil yang diperoleh dari proses harus proses harus berakurasi tinggi dan benar.berakurasi tinggi dan benar.
Pemrosesan yang efisien (Pemrosesan yang efisien (cost rendah)cost rendah) Proses harus diselesaikan secepat mungkin dan Proses harus diselesaikan secepat mungkin dan
frekuensi kalkulasi yang sependek mungkin.frekuensi kalkulasi yang sependek mungkin.
Sifatnya generalSifatnya general Bukan sesuatu yang hanya untuk menyelesaikan satu Bukan sesuatu yang hanya untuk menyelesaikan satu
kasus saja, tapi juga untuk kasus lain yang lebih kasus saja, tapi juga untuk kasus lain yang lebih general.general.
Bisa dikembangkan (Bisa dikembangkan (expandable)expandable) Haruslah sesuatu yang dapat kita kembangkan lebih Haruslah sesuatu yang dapat kita kembangkan lebih
jauh berdasarkan perubahan requirement yang ada.jauh berdasarkan perubahan requirement yang ada.
Mudah dimengerti Mudah dimengerti Siapapun yang melihat, dia akan bisa memahami Siapapun yang melihat, dia akan bisa memahami
algoritma Anda. Susah dimengertinya suatu program algoritma Anda. Susah dimengertinya suatu program akan membuat akan membuat susah di-susah di-maintenance maintenance (kelola)(kelola)..
Portabilitas yang tinggi (Portabilitas yang tinggi (portability) portability) Bisa dengan mudahBisa dengan mudah diimplementasikan di berbagai diimplementasikan di berbagai
platform komputer.platform komputer.
Precise Precise (tepat, betul, teliti)(tepat, betul, teliti)
EfektifEfektifTidak boleh ada instruksi yang tidak mungkin dikerjakan Tidak boleh ada instruksi yang tidak mungkin dikerjakan
oleh pemroses yang akan menjalankannya.oleh pemroses yang akan menjalankannya.
Harus Harus terminateterminateJalannya algoritma harus ada kriteria berhenti.Jalannya algoritma harus ada kriteria berhenti.
Output Output yang dihasilkan tepat.yang dihasilkan tepat.
Jika seseorang ingin mengirim surat kepada Jika seseorang ingin mengirim surat kepada kenalannya di tempat lain, langkah yang harus kenalannya di tempat lain, langkah yang harus dilakukan adalah:dilakukan adalah:
Langkah :Langkah : Menulis suratMenulis surat Surat dimasukkan ke dalam amplop tertutupSurat dimasukkan ke dalam amplop tertutup Amplop dikasih alamat penerima dan pengirimAmplop dikasih alamat penerima dan pengirim Amplop ditempeli perangko secukupnya.Amplop ditempeli perangko secukupnya. Pergi ke Kantor Pos terdekat untuk mengirimkannyaPergi ke Kantor Pos terdekat untuk mengirimkannya
Analogi :Analogi :
Contoh algoritma 1Ada 2 buah gelas. Satu berisi teh dan satunya
lagi berisi kopi. Bagaimana caranya menukar isi masing-masing gelas?
teh kopi
Contoh algoritma 1Algoritma
– Siapkan gelas cadangan X
– Tuangkan gelas yang berisi teh ke gelas cadangan
– Tuangkan gelas yang berisi kopi ke gelas yang awalnya dipakai teh
– Tuangkan isi gelas cadangan ke gelas yang awalnya berisi kopi
teh
kopi teh
X
X
kopi X
Latihan 1
Buatlah suatu algoritma untuk proses pembuatan kopi yang rasa manisnya tepat
Latihan 1
Buatlah suatu algoritma untuk proses aktivitas yang anda kerjakan dari pagi hingga malam hari
Contoh Algoritma 2
Algoritma untuk menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
Algoritma menentukan apakah suatu bilangan merupakan bilangan ganjil atau bilangan genap.
Algoritmanya :a. Masukkan bilangan yang akan ditentukanb. Bagi bilangan dengan bilangan 2c. Hitung sisa hasil bagi pada langkah b.d. 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.
Latihan 3
Buat algoritma mengurutkan 3 bilangan acak!