konsep & struktur algoritma

Post on 30-Jul-2015

259 Views

Category:

Education

6 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Algoritma Pemrograman

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.

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.

• 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.

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

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.

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

• 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.

Algoritma Tukar_Isi_Gelas :

• 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.

• 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

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.

• 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.

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.

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.

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).

• 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).

Struktur Algoritma

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

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.

deklarasi

data

proses

data

Mulai

Selesai

• 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

• 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)

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

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

Benar

Salah

Tugas:

• Buatlah 5 contoh Algoritma dalam kehidupan sehari

top related