Orang yang gak pintar-pintar..

Kamis, 23 Oktober 2014

Pemrograman Dasar 2


APA ITU ALGORITMA ?

> Cara menyelesaikan suatu proses
>Terdiri atas langkah-langkah yang terdefinisi dengan baik
>Bisa dihitung (computable) atau bisa diukur (measurable)
>Menerima input, menghasilkan output

Alagoritma Menurut Pakar
a)        Menurut Abu Ja’far Mohammad Ibn Musa Al Khoarismi:
“Suatu metode khusus untuk menyelesaikan suatu persoalan.”
b)        Menurut Goodman Hedet Niemi:
“Urut-urutan terbatas dari operasi-operasi terdefinisi dengan baik, yang masing-masing membu-tuhkan memory dan waktu yang terbatas untuk menyelesaikan suatu masalah.”

Jadi …
Algoritma adalah cara yang dapat ditempuh oleh komputer dalam mencapai suatu tujuan, terdiri atas langkah-langkah yang terdefinisi dengan baik, menerima input, melakukan proses, dan menghasilkan output. Meskipun tidak selalu, biasanya sebuah algoritma memiliki sifat bisa dihitung (computable) atau bisa diukur (measurable).

Syarat Algoritma dikatakan benar.
Ø Sebuah algoritma dikatakan BENAR (correct) jika algoritma tersebut berhasil mengeluarkan output yang benar untuk semua kemungkinan input.
Ø Bagaimana dengan 99% benar?
 99% benar artinya sebuah algoritma adalah SALAH (incorrect)



PSEUDOCODE (kode palsu)

• Adalah cara untuk menuliskan sebuah algoritma secara high-level
• Biasanya dituliskan dengan kombinasi bahasa Inggris dan notasi matematika
  – Lebih  terstruktur daripada bahasa Inggris biasa
  – Tidak detil dibanding program
• Isu-isu detil dalam program yang sifatnya teknis tidak dibahas dalam pseudocode
• Kode-palsu atau dalam bahasa inggris lebih dikenal sebagai pseudocode merupakan deskripsi      tingkat tinggi informal dan ringkas atas algoritma pemrograman komputer yang menggunakan konvensi struktural atas suatu bahasa pemrograman, dan ditujukan untuk dibaca oleh manusia dan bukan oleh mesin. Kode palsu biasanya tidak menggunakan elemen detail yang tidak diperlukan untuk kebutuhan pemahaman manusia atas suatu algoritma, seperti deklarasi variabel, kode ataupun subrutin untuk system yang bersifat spesifik

Contoh Pseudocode :
ü  Algoritma untuk menampilkan 9 buah simbol *
1 for i=1 to 9 do
2   display ”*”
3 end for
ü  Algoritma untuk menghitung Faktorial dari N
1 iTampung=1
2 for i=1 to N do
3   iTampung=iTampung*i
4 end for
5 display ”Faktorial dari ”,N,” adalah ”,iTampung
ü  Algoritma untuk menampilkan 8 bilangan Fibonacci
1 f1=0
2 f2=1
3 for i=1 to 8 do
4   iFibo=f1+f2
5   display ”Angka ke-”,i,” adalah ”,iFibo
6   f1=f2
7   f2=iFibo
8 end for

Komponen Pseudocode :
a.        Variabel
• Merupakan tempat penyimpanan sebuah nilai
• Memiliki nama
• Dapat dimasukkan sebuah nilai
• Dapat dipanggil nilainya
• Menampung tipe data tertentu
– Numerik
– Karakter
– String
• Beberapa variabel yang tipenya sama dapat dirangkai menjadi sebuah array

b.        Perulangan (loop)
Ø  Teknik for-do
Perulangan berdasar :
– Variabel penentu perulangan
– Batas bawah
– Batas atas
Contoh algoritma menampilkan N bilangan Fibonacci pertama
1 f1=0
2 f2=1
3 for i=1 to N do
4   iFibo=f1+f2
5   display ”Angka ke-”,i,” adalah ”,iFibo,NL
6   f1=f2
7   f2=iFibo
8 end for
Ø  Teknik repeat-until
• Perulangan berdasarkan kondisi (true atau false)
• Kondisi diperiksa di akhir perulangan
• Perulangan terjadi selama kondisi belum terpenuhi
• Minimal terjadi 1x perulangan
• Contoh algoritma menampilkan N bilangan Fibonacci pertama
1 f1=0
2 f2=1
3 iFibo=f1+f2
4 i=1
5 repeat
6   display ”Angka ke-”,i,” adalah ”,iFibo
7   i=i+1
8   f1=f2
9   f2=iFibo
10   iFibo=f1+f2
11 until i>N
Ø  Teknik while-do
• Perulangan berdasarkan kondisi (true atau false)
• Kondisi diperiksa di awal perulangan
• Perulangan terjadi selama kondisi masih terpenuhi
• Bisa terjadi 0 perulangan jika dari awal kondisi tidak terpenuhi

c.         Percabangan (branch)
Ø  Teknik if-then
• Percabangan berdasarkan kondisi (true atau false)
• Terdapat 2 segmen, akan dieksekusi berdasarkan kondisi
• Contoh algoritma dengan if-then (pseudocode 2.13b)
1 if iUmur >= 17 then
2   display ”Anda boleh masuk”,NL
3 else
4   display ”Maaf Anda tidak boleh masuk”,NL
5 end if
Ø  Teknik select-case
• Percabangan berdasarkan nilai sebuah variabel ordinal
• Terdapat banyak segmen, akan dieksekusi berdasarkan kondisi
• Contoh algoritma dengan select-case
1 display ”Masukkan jumlah sisi bangun : ”
2 read iSisi
3 switch iSisi
4   case 3 : display ”segitiga”,NL
5   case 4 : display ”kotak”,NL
6   case 5 : display ”segilima”,NL
7   else   : display ”nama bangun tdk terdaftar”,NL
8 end switch
d.        Modul
Ø  Procedure / Sub
Ø  Function
Ø  Teknik rekursif
Share:

0 komentar:

Posting Komentar

Copyright © Kangjeri's Blog | Powered by Blogger Distributed By Protemplateslab & Design by ronangelo | Blogger Theme by NewBloggerThemes.com