konsep & struktur algoritma
-
Upload
rohwiyanto-oi -
Category
Education
-
view
251 -
download
6
Transcript of konsep & struktur algoritma
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