28
Algoritma Pemrograman

konsep & struktur algoritma

Embed Size (px)

Citation preview

Page 1: konsep & struktur algoritma

Algoritma Pemrograman

Page 2: konsep & struktur algoritma

Definisi Algoritma

• Algoritma berasal dari kata algorism yang artinya proses menghitung dengan

angka arab.

• para ahli sejarah matematika menemukan asal kata tersebut berasal dari nama

penulis buku arab yang terkenal yaitu Abu Ja’far Muhammad Ibnu Musa Al-

Khuwarizmi.

• Al-Khuwarizmi dibaca orang barat menjadi Algorism.

• Al-Khuwarizmi menulis buku yang berjudul Kitab Al Jabar Wal-Muqabala yang

artinya Buku pemugaran dan pengurangan (The book of restoration and

reduction).

• Seseorang dikatakan algorist jika ia menghitung menggunakan angka Arab.

Page 3: konsep & struktur algoritma

Algoritma adalah logika, metode dan tahapan (urutan) sistematis yang digunakan untuk memecahkan suatu permasalahan.

Didalam kamus besar bahasa Indonesia (Balai Pustaka 1988) :Algoritma adalah urutan logis pengambilan putusan untuk pemecahan masalah.

Page 4: konsep & struktur algoritma

• Program komputer adalah rangkaian kata perintah yang telah dimengerti oleh komputer untuk dikerjakannya.

• Program adalah kumpulan instruksi atau perintah yang disusun sedemikian rupa sehingga mempunyai urutan nalar yang tepat untuk menyelesaikan suatu persoalan.(Menurut P. Insap Santosa)

• Bahasa pemrograman adalah kumpulan perintah-perintah bermakana, berstruktur tertentu (syntax) yang dapat dimengerti komputer yang berguna dalam menyelesaikan masalah.

Page 5: konsep & struktur algoritma

Konsep Algoritma

• Langkah-langkah umum dalam pembuatan suatu program yaitu:

1. Mendefinisikan masalah

2. Mencari solusinya

3. Menentukan algoritma

4. Menulis program

5. Menguji program

6. Mendokumentasikan program

7. Merawat program

Page 6: konsep & struktur algoritma

Contoh Algorima :

• Terdapat dua buah gelas, gelas A dan gelas B.

• Gelas A berisi air berwarna merah

• gelas B berisi air berwarna biru,

• kita ingin menukartan isi air kedua gelas tersebut,

sehingga gelas A berisi air berwarna biru dan gelas B

berisi air berwarna merah.

Page 7: konsep & struktur algoritma

Algoritma Tukar_Isi_Gelas :1. Tuangkan air dari gelas A ke gelas B 2. Tuangkan air dari gelas B ke gelas A

Page 8: konsep & struktur algoritma

• Algoritma diatas tidak menghasilkan pertukaran yang benar, langkah-langkahnya tidak logis, karena yang terjadi bukan pertukaran tetapi percampuran antara air di gelas A dengan air di gelas B. Sehingga algoritma Tukar_Isi_Gelas diatas salah.

Page 9: konsep & struktur algoritma

Algoritma Tukar_Isi_Gelas :

Page 10: konsep & struktur algoritma
Page 11: konsep & struktur algoritma

• ALGORITMA PE-UBAHadalah variabel yang nilainya bukan konstanta (selalu berubah- sesuai dengan kondisi Variabel terkini).Sintaks : P = QAlgoritma : PQArtinya : – Nnilai P diberi harga nilai Q, – Nilai P akan sama dengan nilai Q – Nilai Q tetap.

Page 12: konsep & struktur algoritma

• Hubungan antara algoritma, masalah dan solusi dapat digambarkan sebagai berikut :

• krtiteria program yang baik : 1. Correct :benar. 2. Clear :jelas. 3. Efficient :efisien.

Masalah Algorima Solusi

Page 13: konsep & struktur algoritma

Perbedaan Algoritma dan Program• Program adalah kompulan instruksi komputer,• metode dan tahapan sistematis dalam program

adalah algoritma.

• Program = Struktur Data + Algoritma

• Program ini ditulis dengan menggunakan bahasa pemrograman.

Page 14: konsep & struktur algoritma

• Beberapa hal yang perlu diperhatikan dalam membuat algoritma:

1. Teks algoritma berisi deskripsi langkah-langkah penyelesaian masalah.Deskripsi tersebut dapat ditulis dalam notasi apapun asalkan mudah dimengerti dan dipahami.

2. Tidak ada notasi yang baku dalam penulisan teks algoritma seperti notasi bahasa pemrograman. Notasi yang digunakan dalam menulis algoritma disebut notasi algoritmik.

3. Setiap orang dapat membuat aturan penulisan dan notasi algoritmik sendiri. Hal ini dikarenakan teks algoritma tidak sama dengan teks program.

Page 15: konsep & struktur algoritma

4. Notasi algoritmik bukan notasi bahasa pemrograman.

5. Algoritma sebenarnya digunakan untuk membantu kita dalam mengkonversikan suatu permasalahan ke dalam bahasa pemrograman.

6. Algoritma merupakan hasil pemikiran konseptual, supaya dapat dilaksanakan oleh komputer, algoritma harus ditranslasikan ke dalam notasi bahasa pemrograman.

Page 16: konsep & struktur algoritma

Ciri algoritma yang baik adalah : 1. Algoritma memiliki logika perhitungan atau metode yang

tepat dalam menyelesaikan masalah. 2. Menghasilkan output yang tepat dan benar dalam waktu

yang singkat.3. Algortima ditulis dengan format yang mudah dipahami dan

mudah diimplementasikan ke dalam bahasa pemrograman. 4. Semua operasi yang dibutuhkan terdefinisi dengan jelas.5. Tidak menimbulkan arti ganda (ambiguous). 6. Semua proses dalam algoritma harus berakhir setelah

sejumlah langkah dilakukan.

Page 17: konsep & struktur algoritma

algoritma yang baik menurut Donald E. Knuth 1. bisa menerima input dari luar, bukan hanya ada di

dalam program2. memiliki sedikitnya sebuah hasil atau output3. memiliki kepastian (definiteness) pada setiap

instruksinya atau tidak memiliki arti yang bias (tidak bersifat ambigu)

4. memiliki batas (finiteness) atau memiliki titik henti (stopping role),

5. bersifat efektif (effectiveness).

Page 18: konsep & struktur algoritma

• Algoritma dapat disajikan dengan dua teknik yaitu teknik tulisan dan teknik gambar.– Teknik tulisan biasanya menggunakan metode

structure english atau bahasa natural dan pseudocode,

– sedangkan teknik gambar biasanya menggunakan diagram alir (flow chart).

Page 19: konsep & struktur algoritma

Struktur Algoritma

1. Struktur Sekuensial (Runtunan)2. Struktur Seleksi (Pemilihan)3. Struktur Repetition(Pengulangan)

Page 20: konsep & struktur algoritma

1. Struktur Sekuensial (Runtunan)– Pada struktur sekuensial instruksi dikerjakan secara

berurutan baris perbaris mulai dari baris pertama hingga baris terakhir, tanpa ada loncatan atau perulangan.

– Tiap instruksi dikerjakan satu per satu.– Tiap instruksi dilaksanakan sekali, tidak ada instruksi yang

diulang.– Urutan instruksi yang dilaksanakan pemroses sama

dengan urutan instruksi sebagai tertulis di dalam teks algoritma.

– Akhir dari instruksi terakhir merupakan akhir algoritma.

Page 21: konsep & struktur algoritma

deklarasi

data

proses

data

Mulai

Selesai

Page 22: konsep & struktur algoritma

• Urutan instruksi dalam algoritma adalah penting. Urutan instruksi menunjukan urutan logik penyelesaian masalah.

• Urutan instruksi yang berbeda mungkin tidak ada pengaruh terhadap solusi persoalan, tetapi mungkin juga menghasilkan keluaran yang berbeda, tergantung pada masalahnya

Page 23: konsep & struktur algoritma

• Contoh urutan instruksi yang berbeda tetapi tidak mempengaruhi hasil:

Dari ketiga algoritma hasil C dan D pada algoritma 1 dan 2 SAMA sedangkan algoritma 3 menghasilkan keluaran yang berbeda

1)Deklarasi : A, B, C, D : integer Deskripsi :4.read (A, B) {1}5.C = A + B {2}6.D = A * B {3}7.write (C, D) {4}

2)Deklarasi : A, B, C, D : integer Deskripsi :4.read (A, B)5.D = A * B6.C = A + B7.write (C, D)

3)Deklarasi :A, B, C, D : integerDeskripsi :C = A + BD = A * Bread (A, B)write (C, D)

Page 24: konsep & struktur algoritma

2. Struktur Seleksi (Pemilihan)Struktur seleksi adalah instruksi yang dipakai untuk memilih satu aksi dari beberapa kemungkinan aksi berdasarkan suatu syarat.

Page 25: konsep & struktur algoritma
Page 26: konsep & struktur algoritma

3. Struktur Repetition(Pengulangan)Perulangan adalah instruksi yang dapat mengulang sederetan Instruksi secara berulang-ulang sesuai persyaratan yang ditetapkan.

Struktur instruksi perulangan pada dasarnya terdiri atas :• Kondisi perulangan• Badan (body) perulangan• Pencacah (counter) perulangan

Page 27: konsep & struktur algoritma

Benar

Salah

Page 28: konsep & struktur algoritma

Tugas:

• Buatlah 5 contoh Algoritma dalam kehidupan sehari