Click here to load reader
Upload
sakina-mawardah
View
201
Download
4
Embed Size (px)
DESCRIPTION
Mata kuliah Teknik Informatika
Citation preview
ALGORITMA
TUGAS 1
RESUME ALGORITMA
BESERTA CONTOHNYA
Disusun Oleh :
Sakina Mawardah
Teknik Informatika
Dosen :
Asep M. Yusuf, S.T
UNIVERSITAS NASIONAL PASIM
1. Definisi Algoritma
Asal kata Algoritma berasal dari nama Abu Ja’far Mohammed Ibn Musa al-
Khowarizmi, ilmuan Persia yang menulis kitab al jabr w’al-muqabala (rules of restoration
and reduction) sekitar tahun 825 M.
Algoritma adalah urutan langkah logis tertentu untuk memecahkan suatu masalah.
Yang ditekankan adalah urutan langkah logis, yang berarti algoritma harus mengikuti suatu
urutan tertentu, tidak boleh melompat-lompat. Kata logis (logika) merupakan kata kunci
dalam algoritma. Langkah-langkah dalam algoritma harus dapat ditentukan bernilai benar
atau salah.
Selain itu Algoritma juga merupakan Alur pemikiran dalam menyelesaikan suatu
pekerjaan yang dituangkan secara tertulis. Yang ditekankan pertama adalah alur pikiran,
sehingga algoritma seseorang dapat juga berbeda dari algoritma orang lain. Sedangkan
penekanan kedua adalah tertulis, yang artinya dapat berupa kalimat, gambar, atau tabel
tertentu.
Algoritma adalah jantung ilmu komputer atau informatika. Banyak cabang ilmu
komputer yang diacu dalam terminologi algoritma. Namun algoritma juga digunakan dalam
kehidupan sehari-hari, contohnya resep makanan. Di dalam resep makanan terdapat
langkah-langkah yang merupakan algoritma. Selain itu masih banyak contoh algoritma yang
lain.
“Algoritma adalah urutan langkah-langkah logis penyelesaian masalah yang disusun
secara sistematis dan logis”.
Cara-cara membuat kue atau masakan yang dinyatakan dalam suatu resep juga
dapat disebut sebagai algoritma. Pada setiap resep selalu ada urutan langkah-lankah
membuat masakan. Bila langkah-langkahnya tidak logis, tidak dapat dihasilkan masakan
yang diinginkan. Ibu-ibu yang mencoba suatu resep masakan akan membaca satu per satu
langkah-langkah pembuatannya lalu ia mengerjakan proses sesuai yang ia baca.
Secara umum, pihak (benda) yang mengerjakan proses disebut pemroses
(processor). Pemroses tersebut dapat berupa manusia, komputer, robot atau alatalat
elektronik lainnya. Pemroses melakukan suatu proses dengan melaksanakan atau
“mengeksekusi” algoritma yang menjabarkan proses tersebut. Melaksanakan Algoritma
berarti mengerjakan langkah-langkah di dalam Algoritma tersebut. Pemroses mengerjakan
proses sesuai dengan algoritma yang diberikan kepadanya. Juru masak membuat kue
berdasarkan resep yang diberikan kepadanya, pianis memainkan lagu berdasarkan papan
not balok.
Karena itu suatu Algoritma harus dinyatakan dalam bentuk yang dapat dimengerti oleh
pemroses.
Jadi suatu pemroses harus :
1. Mengerti setiap langkah dalam Algoritma
2. Mengerjakan operasi yang bersesuaian dengan langkah tersebut.
2. Mekanisme Pelaksanan Algoritma
Komputer hanyalah salah satu pemroses. Agar dapat dilaksanakan oleh komputer,
algoritma hasrus ditulis dalam notasi bahasa pemrograman sehingga dinamakan program.
Jadi program adalah perwujudan atau implementasi teknis Algoritma yang ditulis dalam
bahasa pemrogaman tertentu sehingga dapat dilaksanakan oleh komputer.
Untuk melaksanakan suatu algoritma diperlukan suatu bahasa pemrograman, contoh
bahasa pemrograman adalah : Pascal, C++, Basic, dll. Notasi algoritma dapat diterjemahkan
kedalam bahasa pemrograman apapun, dengan kata lain notasi algoritma bersifat
independen.
Dalam Algoritma, tidak dipakai simbol-simbol / sintaks dari suatu bahasa
pemrograman tertentu, melainkan bersifat umum dan tidak tergantung pada suatu bahasa
pemrograman apapun juga. Notasi-notasi algoritma dapat digunakan untuk seluruh bahasa
pemrograman manapun.
3. Ciri penting algoritma
Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatas
Setiap langkah harus didefinisikan dengan tepat dan tidak berarti-dua (Ambiguitas)
Algoritma memiliki nol atau lebih masukkan
Algoritma memiliki nol atau lebih keluaran
Algoritma harus efektif (setiap langkah harus sederhana sehingga dapat dikerjakan
dalam waktu yang masuk akal)
4. Kriteria Algoritma Menurut Donald E. Knuth
1. Input: algoritma dapat memiliki nol atau lebih inputan dari luar.
2. Output: algoritma harus memiliki minimal satu buah output keluaran.
3. Definiteness (pasti): algoritma memiliki instruksi-instruksi yang jelas dan tidak
ambigu.
4. Finiteness (ada batas): algoritma harus memiliki titik berhenti (stopping role).
5. Effectiveness (tepat dan efisien): algoritma sebisa mungkin harus dapat dilaksanakan
dan efektif. Contoh instruksi yang tidak efektif adalah: A = A + 0 atau A = A * 1
5. Jenis Proses Algoritma
1. Sequence Process : Instruksi dikerjakan secara sekuensial, berurutan
2. Selection Process : Instruksi dikerjakan jika memenuhi kriteria tertentu
3. Iteration Process : Instruksi dikerjakan selama memenuhi suatu kondisi tertentu
4. Concurrent Process : Beberapa instruksi dikerjakan secara bersama
6. Langkah-langkah dalam pemrograman komputer
1. Mendefinisikan masalah
Ini merupakan langkah pertama yang sering dilupakan orang. Menurut hukum
Murphy (oleh Henry Ledgard):
“Semakin cepat menulis program, akan semakin lama kita dapat menyelesaikannya”.
Hal tersebut berlaku untuk permasalahan yang kompleks. Tentukan masalahnya, apa
saja yang harus dipecahkan dengan menggunakan komputer, dan apa inputan serta
outputnya.
2. Menemukan solusi
Setelah masalah didefinisikan, maka langkah berikutnya adalah menentukan solusi.
Jika masalah terlalu kompleks, maka ada baiknya masalah tersebut dipecah menjadi
modul-modul kecil agar lebih mudah diselesaikan.
Contohnya masalah invers matriks, maka kita dapat membagi menjadi beberapa
modul:
meminta masukkan berupa matriks bujur sangkar
mencari invers matriks
menampilkan hasil kepada pengguna
Dengan penggunaan modul tersebut program utama akan menjadi lebih singkat dan
mudah dilihat.
3. Memilih algoritma
Pilihlah algoritma yang benar-benar sesuai dan efisien untuk permasalahan tersebut
4. Menulis program
Pilihlah bahasa yang mudah dipelajari, mudah digunakan, dan lebih baik lagi jika
sudah dikuasai, memiliki tingkat kompatibilitas tinggi dengan perangkat keras dan
platform lainnya.
5. Menguji program
Setelah program jadi, silahkan uji program tersebut dengan segala macam
kemungkinan yang ada, termasuk error-handlingnya sehingga program tersebut akan
benar-benar handal dan layak digunakan.
6. Menulis dokumentasi
Menulis dokumentasi sangat penting agar pada suatu saat jika kita akan melakukan
perubahan atau membaca source code yang sudah kita tulis dapat kita ingat-ingat
lagi dan kita akan mudah membacanya. Caranya adalah dengan menuliskan
komentar – komentar kecil tentang apa maksud kode tersebut, untuk apa, variabel
apa saja yang digunakan, untuk apa, dan parameter-parameter yang ada pada suatu
prosedur dan fungsi.
7. Merawat program
Program yang sudah jadi perlu dirawat untuk mencegah munculnya bug yang
sebelumnya tidak terdeteksi. Atau mungkin juga pengguna membutuhkan fasilitas
baru yang dulu tidak ada.
7. Contoh Algoritma dalam Kehidupan sehari – hari
Beberapa contoh sederhana mengenai algoritma yang dapat ditemui dalam
kehidupan sehari – hari misalnya:
1. Memasak mie instant.
Memanaskan air
Membuka pembungkus mie instant
Memasukkan mie ke dalam air
Taruh bumbu di piring
Angkat mie jika sudah masak
Campurkan dengan bumbu yang sudah ada di piring dengan mie
Mie siap disantap
2. Menelepon
Angkat telepon
Tekan nomor teleponnya
Jika diangkat maka mulai berbicara setelah selesai tutup teleponnya
Jika tidak diangkat, maka tutup teleponnya
8. Contoh Algoritma dalam Kehidupan Bekerja (Warnet)
Beberapa contoh sederhana mengenai algoritma yang dapat ditemui dalam
kehidupan bekerja misalnya :
1. Melayani Costumer yang ingin menggunakan PC di Warnet
Client yang ingin menggunakan PC mendatangi server
Client menyebutkan nominal waktu yang ingin digunakan
Client memberikan uang kepada operator
Operator memberikan password kepada client
Client menuju PC yang ingin digunakan
Client memasukkan password
Operator memastikan bahwa client dapat menggunakan PC
Client menggunakan PC
Waktu pemakaian internet client habis
Operator mencek PC yang telah selesai digunakan melalui server