Saling Berbagi Ilmu dan Hiburan

idr-clickit">

Rabu, 09 Maret 2011

Algoritma


BAB 1
PENGANTAR MATERI
1.1.Definisi
-         Algoritma adalah: sekumpulan perintahyang direncanakan, dan bila dilaksanakan akan menyelesaikan suatu tugas tertentu.
-         Pemrograman adalah konsep dan rumusan data yang dijadikan untuk sasaran pembuatan pemrograman.
1.2.Karakteristik algoritma pemrograman
a.       Ada input yang diterima
b.      Ada output yang dihasilkan
c.       Kepastian  tak bermakna ganda
d.      Terbatas    proses akan berakhir
e.       Efektif dapat dikerjakan secara cermat

·        Struktur pemrosesan masalah :

MASALAH
     ↓
ALGORITMA
     ↓
SKEMA DASAR
     ↓
PEMROGRAMAN
     ↓
KOMPUTER


1.3. Struktur dasar yang membangun algoritma
Ada tiga macam antara lain :
a.       Runtunan (sequence)
Yaitu : aksi aksi dalam algoritma/ pemrogram untuk menghitung selisih waktu proses
Dari dua aksi secara beruntun.
Contoh : A1,A2,….An
b.      Pemilihan (selection)
Yaitu : sebuah aksi bias dikerjakan, apa bila kondisi tertentu dipenuhi.
Bentuk umumnya :
1.      If kondisi /pengamatan
Then aksi
Endif atau fi akhir dari if

Contoh :
a.       If         amir memperoleh juara kelas
Then    ayah akan meberikan hadiah
Endif

b.      If         hari hujan
Then    pakai lah payung
Endif

c.       If         tidak ada celana berwarna hitam
Then    pakailah  celana putih saja
Endif

2.      Aksi kondisional yang berkelanjutan (dengan else lawan if)
If pengamatan                            jika :
Then aksi A                                        Aksi A true                         
Else aksi B                                          aksi B false
Endif aksi if                                          dan sebaliknya.

Contoh :
a.      If         jalanan macet (kondisi)
Then    lewatlah dijalan tol (aksi A)
Else     lewatlah di jalan biasa (aksi B)
Endif

b.      If         X>Y
Then    ambil X sebagai bilangan terbesar
 Else    ambil Y sebagai bilangan terbesar
Endif



·        Untuk kondisi yang lebih dari dua
Misi :
            If lampu lalu lintas berwarna merah
Then berhenti
Else
            If lampu lalu lintas warna kuning
            Then jalan dengan hati hati
            Else silahkan jalan terus
Endif 

3.      Dalam bentuk jamak (proses pengulangan)
Bentuknya :

While pengamatan
Do aksi
Endwhile akhir dari while

Contoh :
a.      While dijalan adasetumpuk pasir
Do kepinggirkan pasir tersebut
Endwhile
b.      While I≤25
Do I:=1+2
Endwhile
I= bilangan ganjil
Contoh berikutnya pada bab selanjutnya.
c.       Pengulangan ( repetation)
Yaitu : pembuatan kondisi yang sama secara berulang – ulang dalam jumlah yang ditentukan.
Bentuknya :      repeat pengulangan
                        Times banyaknya proses
Contoh : menulis 200 kalimat
Maka : repeat 200 time
                        Write ``saya telah lulus ujian
Secara umum : repeat
                                    N times
                                    Aksi
Contoh soal
1.      Buat algoritma untuk upah karyawan dengan ketenuan sebagai berikut :

-         Upah untuk golongan A upah per jam Rp. 4000, gaji tetap Rp. 50000/bulan
-         Upah untuk golongan B upah per jam Rp. 5000, gaji tetap Rp. 75000/bulan
-         Upah untuk golongan C upah per jam Rp. 6000, gaji tetap Rp. 90000/bulan
-         Upah untuk golongan D upah per jam Rp. 7500, gaji tetap Rp. 100000/bulan

Maka upah adalah : upah = gaji tetap + jumlah jam kerja X upah per jam.
Maximum jam kerja 48 jam. Jika lebih maka dianggap lembur, jumlah total nya adalah :
Gaji tetap + 48 X upah per jam + jumlah lebur  upah lembur per jam.
Maka algoritmanya :
{ upah karyawan}
Kamus
Const ul : real= 5000.0 {upah lembur per jam }
Nama karyawan : string
Golongan : char [‘A’,’B’,’C’,’D’]
Jam karyawan, lembur : integer
Upah –total : real
GT : real {gaji tetap perbulan}
Algoritma
Input (nama karyawan,golongan,jam karyawan)
Depend ongol
            Golongan = ‘A’ : GT ← 50000.0
                                    UJ  ← 4000.0
            Golongan =’B’ : GT ←75000.0
                                    UJ ← 5000.0
            Golongan =’C’ : GT ← 90000.0
                                    UJ ← 6000.0
            Golngan =’D’ : GT ← 100000.0
                                    UJ ← 7500.0

Enddepend
If         jamkan = 48 then
Upah ← GT + jamkan X UJ
Else
Jam lembur ← jamkan – 48 {jumlah jam lembur}
Upah ← GT + 48 X UJ + jam lembur X UL
Endif
Out put (nama karyawan, upah)
·        Coba buatlah programnya dengan bahasa apa saja, dan algoritma tersebut di atas. Jika program tersebut jika, maka keluarannya adalah :
Sesuai dengan algoritma,
Input data
            Nama karyawan :
            Golongan             :
            Jam karyawan     :
Output
Nama karyawan :
Upah total           :
Jika dimasukan data lebih dari 1 mis : 5 maka munculkan dalam bentuk table sebagai laporan sebagai berikut mis:
           
No
Nama karyawan
golongan
jamkan
upah total
1




2




3





2.      Algoritma untuk menentukan nilai indeks hasil ujian mahasiswa sebagai berikut :

Nilai ujian ≥80, indeks nilai = A
70≤ nilai ujian <80, indeks nilai = B
55≤ nilai ujian <70, indeks nilai = C
40≤ nilai ujian <55, indeks nilai = D
00≤ nilai ujian ≤40, indeks nilai = E

Maka algoritmanya :
{menentukan indeks nilai mahasiswa berdasarkan nilai ujiannya}
Kamus
            Nilai : real { nilai ujian dalam numeric}
            Indeks : char [‘A’,’B’,’C’,’D’,’E’]

Algoritma

Begin
            Input (nilai)
            Depend on (nilai)
                        Nilai         ≥80 : indeks←’A’
                        70≤ nilai  <80 : indeks←’B’
                        55≤ nilai  <70 : indeks←’C’
                        40≤ nilai  <55 : indeks←’D’
                        00≤ nilai  <40 : indeks←’E’
            Enddepend
            Output (indeks)
End.
Jika algoritma tersebut dibuat program dan dijalankan maka keluarnya:
                                    Nilai : 75                                  nilai :58
                                    Indeks : B                                 indeks :C
                                    Dan seterusnya.


                                               

1.4. Type,nama,harga
A.     Gunanya utuk mendefinisikan objek yang akan diprogram.
a1). type dasar
bukan bentukan dari type lain.
Contoh :
·        Bilangan logika
Nama : Boolean
Domain : [true,false]
Konstanta : T,F
Oprasinya logika hasilnya Boolean, operatornya AND,OR,XOR,NOT,EQ,NEQ,dsb
Contoh operasi
-         Operasi AND               hasil                                      -   Operasi NEQ              hasil
T  AND  T                   T                                              T  NEQ  T                   F
T  AND  F                   F                                              T  NEQ  F                   T
F  AND  T                   F                                              F  NEQ  T                   T
F  AND  F                   F                                              F  NEQ  F                   T
-         Operasi Not                 hasil                                      -   Operasi NAND           hasil
Not T                           F                                              T  NAND  T                F
Not F                           T                                              T  NAND  F                T                     
-         Operasi OR                  hasil                                          F  NAND  T                T
T  OR  T                      T                                              F  NAND  F                T
T  OR  F                      T
F  OR  T                      T
F  OR  F                      F
-         Operasi XOR               hasil
T  XOR  T                   F
T  XOR  F                   T
F  XOR  T                   T
F  XOR  F                   F
-         Operasi EQ                  hasil
T  EQ  T                      T
T  EQ  F                      F
F  EQ  T                      F
F  EQ  F                      T

           



·        Bilangan bulat
Nama : integer
Domain : int
Konstanta : 0    3          123      -89       56        999

-         Operasi aritmatika
*(kali)
+(tambah)
-(kurang)
^(pangkat)
/(pembagian yang hasilnya real)
Div(pembagian yang hasilnya bulat)
Mod(sisa pembagian bilangan buat)
abs(harga absolut).
Contoh operasi :
Operasi            hasil                  operasi             hasil
1*5                  5                      10 mod 3         1
1+3*5              16                    10 div 3            3
1/3                   0.333               1+7 div 3         3

-         Operasi relasional
< (lebih kecil)
>(lebih besar)
≤(lebih kecil atau sama dengan)
≥(lebih besar atau sama dengan)
=(sama dengan)
< > / ≠(tidak sama dengan)
Contoh operasi :
3<8 (benar)                                          17=17(benar)  
74>101(salah)                                      7≠8(salah)
9≤9(benar)
9<9(salah)
·        Bilangan Real
Nama : real
Domain : R
Konstanta : 0  0.2  3.233  123  -89.0  56.999
-         Operasi Aritmatika
*(kali)
/(bagi)
+(tambah)
-(kurang)
^(pangkat)
Contoh :   Operasi                                            Hasil
                 1.*5                                                   5.
                 1.+3.2*5                                            17.
                 10./3.                                                 3.33333
                 1.+7./3                                               3.3333

·        Karakter/Simbol
Nama : character
Domain : char[ himpunan yang terdefinisi oleh suatu E numerasi]
Misalnya : [“0”…..”9”,’a’….’z’,’A’….’Z’ ENTER,SPACE]
Karakter yang tidak kelihatan pada pengoprasian computer yaitu dinamakan kode ASCII(American System Computare Information International)
Konstanta : ‘A’,P’,’K’  ENTER,’M’
Operasinya
Perbandingan karakter dengan karakter, misalnya Boolean.
Contoh :   ‘a’=’a’(benar)’Q’>’Z’(salah)
                 ‘T’=’t’(salah)
                 ‘y’≠’Y’(benar)  =(samadengan)
                 ‘m’<’Z’(benar) < >/≠(tidak sama dengan)

a2).  Type bentukan
            merupakan bentukan dari type dasar.
Contoh :  type : string
                Domain : utaian karakter yang didefinisikan [character]
Konstanta contoh :
‘AKU’  ‘ANAK HILANG’  ‘BENDA’  ‘K’
Perhitungan string
‘AKU’ =3 string[3]
‘RUMAH MAKAN’ =11string[11]
‘ANAK HILANG’=10string[10]
‘BUKU_BARU’ =9string[9]
Penggunaan string dilakukan, untuk membatasi jumlahnya character atau data supaya dapat menghemat tempat dimemory dan mengatur lamanya proses oleh computer.

B.     Nama
Untuk mengenal objek yang akan di proses.
·        Dalam program yang harus diberi nama
-         Variabel (peubah)
-         Contanta (ketetapan)
-         Nama type
-         Nama fungsi
-         Nama procedure
·        Aturan penulisan nama
-         Dimulai dengan huruf,tidak boleh dengan angka,spasi atau karakter khusus.
-         huruf  besar atau kecil tidak di bedakan.
-         Tidak boleh mengandung operator aritmatika, tanda baca, karakter khusus.
-         Tidak boleh dipisah dengan spasi keculai “_”
-         Panjang nama tidak dibatasi.

Contoh :
·        Penamaan yang salah
6titik
nilai ujian
PT-1
A1
hari@
·        Penamaan yang benar
Titik6 atau titk_6
Nilai_ujian atau nilaiujian
PT_1 atau PT1
Hari
A1

C.     Harga
Yaitu nilai besaran dari type yang sudah dikenal,harga diisikan kedalam variabel,dengan cara :
-         Penugasan (tandanya←atau:=)
Contoh:
Algoritma
1.      K←5
Jarak ←0,03
Ketemu ←false
Namakota ← solo
2.      A←A+2,jika A←8
Maka: A←8+2,A←10(baku)
Contoh soal :
1.      Berapa harga M dan P,jika M dan Pbernilai type integer sbb:
M←16             P←M*2
M←P+100      P←P+M
Pemecahan :
P←16*2          P←32              M←P+100      M←32+100    M←132
P←P+M          P←32+132      P←164            M←132           P←164
2.      Tukarkan harga A dan B,misalnya: A=8,B=5 maka hasilnya : A=5,B=8. Jika ditulis algoritma A←B tidak terjadi penukaran karena A=5,B=5
     B←A
Jadi harus memakai variabel pembantu yaitu C,menjadi : C←A hasil : C=8
                                                                                            A←B            A=5
                                                                                            B←C            B=8
Pemecahan :
Soal :

Tidak ada komentar:

Posting Komentar