menu

Selasa, 24 September 2013

materi kuliah algoritma program "ALPRO"

MATERI ALPRO (Algoritma Progam)

Algoritma Yaitu Urutan tata cara mengerjakan sesuatu

Algoritma yang baik:
1 .       Isi harus sesuai dengan judul
2 .       Berurutan dan memakai nomer
3 .       Penamaan suatu benda tidak boleh dari 1 nama
4 .       Harus mempunyai akir
5 .       Tidak menimbulkan pertanyaan dari pembaca
6 .       Ukuran harus disertakan jika yakin
7 .       1 langkah = 1 perintah

A = 1              adalah ASSIMENT
A == 1            adalah EQUAL, ada pilihan : ya / tidak, 1 / 0.

OPERATOR MODULUS ( % )   : sisa hasil bagi
 Ø  

10/3 = 3, sisa 1      =    10 % 3 = 1
 Ø   7/4   = 1, sisa 3      =    7 % 4   = 3
 Ø   1/3   = 0, sisa 1      =    1 % 3   = 1
 Ø   4/4   = 1, sisa 0      =    4 % 4   = 0

Ganjil = bil. % 2 = 1
Genap = bil. % 2 = 0
&& (end) = kedua2nya harus benar, jika salah satu salah maka salah
      (or) = tidak harus keduanya benar, jika salah satu benar maka benar
A != B  yaitu A tidak sama dengan B
SQRT = akar



Contoh: melangkah 10 langkah
1.       Langkah = 0
2.       Melangkah 1 langkah
3.       Langkah = langkah +1
4.       Jika langkah < 10 ?
a.       Ya,kembali ke no 2
b.      Tidak,berhenti


Contoh: cara menghitung mana yang lebih berat
                 
                                       
1.       Letakan S3 di E
2.       Letakan Li di W
3.       Jika S3 > Li
a. Ya,P4 mengganti Li
1.       Jika P4 >S3
a.       Ya,P4 terbesar
b.      Tidak, S3 terbesar
b.Tidak,letakan P4 mengganti S3
1.       Jika Li > P4 ?
a.       Ya,Li terbesar
b.      Tidak,P4 terbesar

Cara melangkah

1  .       Melangkah ke utara
2  .       Melangkah 1 langkah
3  .       Langkah = langkah + 1
4  .       Jika langkah < 7 ?
a.       Ya, lakukan lagi perintah 2
b.      Tidak,belok ketimur
1.       Melankah 1 langkah
2.       Langkah =  langkah + 1
3.       Jika langkah < 3 ?
a.       Ya,lakukan perintah 2
b.      Tidak, berhenti


Menentukan yang nilainya 65 gr:
1     
            Jika A==65 gr ?
a.       Ya,maka = 65 gr
b.      Tidak,lakukan
1. Timbang B
2. jika B == 65 ?
a.       Ya, maka B = 65
b.      Tidak,lakukan
1.       Timbang C
2.       JikaC== 65 gr ?
a. Maka C = 65 gr
b.Tidak,lakukan
1.       Timbang D
2.       Jika D ==65 gr?
a.       Ya, D= 65 gr
b.      Tidak,maka tidak ada yang beratnya 65 gr








         1.       X=3
         2.       Selama X > 0,lakukan
1.       Cetak “Anak ayam turun” + X + “Mati 1 tinggal”
2.       Apakah X == 1 ?
a. Ya,cetak”Induk”
b.Tidak,cetak X-1
         3.       X = X-1

Interasi :
X=3                       anak ayam turun 3 mati 1 tinggal 2
X=2                       anak ayam turun 2 mati 1 tinggal 1
X=1                       anak ayam turun 1 mati 1 tinggal induknya

Flowchart :



Member uang ke 7 anak jika cewek dikasih 1000,jika cowok 2000
      1.       N = 7,X = 0,Rp = 0
      2.       Selama X < N,lakukan
1.    Apakah yang diber cowok ?
a. Ya ,Rp 2000
b.Tidak,Rp 1000
2.    X = X + 1

Interasi
Ce                         X=0          Rp=0+1000=1000
Co                         X=1          RP=1000+2000=3000
Co                         X=2          Rp=3000+2000=5000
Ce                         X=3          Rp=5000+1000=6000
Co                         X=4          Rp=6000+2000=8000
Ce                         X=5          Rp=8000+1000=9000
Co                         X=6          Rp=9000+2000=11000


Rumah 10 unit harga A = 100 jt,B = 150 jt, C = 200 jt
Algoritma
         1.       Rumah = 10,X = 0,Rp = 0
         2.       Selama X < 10 ?
1.    Apakah ‘ A’ ?
a. Ya, Rp 100 jt
b.Tidak,apakah ‘B’ ?
a.       Ya, Rp 150 jt
b.      Tidak, ‘C’ Rp 200 jt
2.    X=x+1


Heri mempunyai 100 kelereng dibagikan co 1,cewk cakep 4, cewk krng ckep 2
Algoritma
       1.       Keleremg = 100
       2.       Selama kelereng > 0, lakukan
1.    Apakah co ?
a. Ya,kelereng =kelereng-1
b.Tidak,Apkah cewk ckep?
a.       Ya,kelereng = kelereng -4
b.      Tidak,kelereng = kelereng – 2

Contoh : pencacah / penampung
Mencetak 1 – 10
      1.       N = 10,X = 0
      2.       Selama X < N ,lakukan
1.    Cetak X + 1
2.    X = X + 1
Interasi
X + 1                     x = x + 1
X = 0                     x  = 1
X =  1                    x = 2
 X = 2                     x = 3
X = 3                     x = 4

Mengitung jumlah angka 1-10
Algoritma
     1.       N = 10, x = 0, T = 0
     2.       Selama x < N , lakukan
1.    T = T + x + 1
2.    X = x + 1
Interasi
X = x + 1              T = T+ x + 1
X  = 0                    T = 0 + 0 + 1 = 1
X = 1                     T = 1 + 1 + 1 = 3
X = 2                     T = 3 + 2 + 1 = 6
 ......                       ........
X = 9                     T = 49 + 9 + 1 =55
X = 10                   T =10 < 10 selesai (karena 10 kurang dari 10 jadi perhitungan dihentikan)

Mencetak 10 – 0 ketentuan
Algoritma
1.       N = 10,C = 10
2.       Selama C >= 0, lakukan
1.   Cetak C
2.   C = C – 1
Interasi
C = 10                  10
C = 9                     9
 .......                     ....
C = 2                     2
C = 1                     1
C = 0                     -                (dihentikan karena yang dicetak 10 – 1)

Mencetak 3 6 9 12 15 18
      1.       N = 6,x  = 0
      2.       Selama x <= N, lakukan
1.    Cetak (3 * x)
2.    X = x + 1
Interasi
X = 1                     3 * 1 = 3
X = 2                     3 * 2 = 6
X = 3                     3 * 3 = 9
 ......                       ..............
X = 5                     3 * 5 = 15
X = 6                     3 * 6 = 18
X =  7                    3 * 7 = 21( tidak di cetak karena melebihi 18)

Flowchart
Yaitu pengajian yang sisitematis tenetang proses dan logika dari kegiatan penanganan secara grafik dari klangkah-langkah dan urutan-urutan pprosedur dari suatu program. Atu bagan (chart) yang menunjukan alir ( flow) di dalam program atau prosedur sistem secara logika.
Manfaat flowchart
·         Menolong analis dan progremer untuk memecahkan masalah ke dalam segmen-segmen yagn lebih kecildan menolong dalam menganalisisalternatif-alternatif lain dalam pengoperasian.
Pedoman pembuatan flowchart
        1.       Flowchart digambarkan dar halaman atas kebawah dan dari kiri ke kanan
        2.       Aktifitas yang di gambarkan harus didefinisikan secara hati- hati dan definisi ini harus dimengerti oleh             pembaca.
        3.       Masing- masing kegiatan didalam bagan alir harus di dalam urutan yang semestinya.
        4.       Kapan aktifitas dimulai dan di akiri harus ditentukan secara jelas.
        5.       Setiap langkah dari aktifitas harus diuraikan dengan menggunakan diskripsi kata kerja
        6.       Gunakan simbul flowchart yang standart
        7.       Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati- hati.
        8.       Kegiatan yang terpotong dan akan disambung di tempat lain harus di tunjukan dengan jelas                            menggunakan simbul conektor atau penghubung.



Symbol flowchart
:



Menghitung luas segitiga dengan input
Algoritma :         1. Alas = 0, tinggi = 0, luas = 0                                    
             2. baca alas dan tinggi
             3. luas = alas * tinggi /2
 4. cetak luas






Cek usia 18 tahun :     algoritma :           1.Usia=0
                                                                                2.baca usia
                                                                                3.apakah usia >= 18
                                                                                                a.ya, cetak “sudah dewasa”
                                                                                                b.tidak, cetak “belum dewasa”
                                                flowchart :

                                                                                                             

Contoh perulangan

1. n = 0, a = 1
2. baca n
3. selama n >= a, lakukan :
                a. cetak n
                b. n = n-1













Cetak deret : 2, 5, 12, 23, 28, 57, 80

1. n = 6, x = 0, a = 2
2. baca n, a, x
3. selama x <= , lakukan :
                a. cetak a
                b. a = a + (a*x-1)
                c. x = x+1









Mencetak bilangan genap antara 13 – 31

1. n = 9, x = 7, a = 0
2. selama a < n, lakukan :
                a. cetak a = (2*x) + 2*a
                b. a = a+ 1

iterasi :
x = 14 + 2*0 = 14
x = 14 + 2*1 = 16
x = 14 + 2*2 = 18
x = 14 + 2*3 = 20  dst