7

Click here to load reader

Algoritma

Embed Size (px)

DESCRIPTION

Mata kuliah Teknik Informatika

Citation preview

Page 1: Algoritma

ALGORITMA

TUGAS 1

RESUME ALGORITMA

BESERTA CONTOHNYA

Disusun Oleh :

Sakina Mawardah

Teknik Informatika

Dosen :

Asep M. Yusuf, S.T

UNIVERSITAS NASIONAL PASIM

Page 2: Algoritma

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

Page 3: Algoritma

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.

Page 4: Algoritma

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

Page 5: Algoritma

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.

Page 6: Algoritma

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

Page 7: Algoritma

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