Selasa, 17 Januari 2012

Algoritma


TUGAS ALGORITMA

TUGAS 1
Tuliskan algoritma yang membaca tiga buah bilangan bulat, lalu menentukan dari ketiga bilangan yang terbesar !

PENYELESAIAN

·        Analisis Kasus
            kasus 1 : jika a > b, maka set maks = a
            kasus 2 : jika b ≥ a, maka set maks = b
            bandingkan maks dengan c : jika c > maks, maka set maks dengan c

·        Bahasa Algoritmik
            Program Maksimum {menentukan nilai terbesar dari tiga bilangan}
               
DEKLARASI
                A,B,C,maks : integer
               
ALGORITMA
                read (A,B,C)

                {cari nilai maksimum antara A dan B}
                if A > B then
                                maks ß A
                else { B ≥ A }
                                maks ß B
               
                {bandingkan maks dengan C}
                if C > maks then
                                maks ß C
                endif
                write (maks)

·        Bahasa Pascal

program bil_trbsr;
uses wincrt;

var
a,b,c : integer;
terbesar : integer;

begin
writeln('       PROGRAM MENCARI BILANGAN TERBESAR');
writeln('       -------------------------------------------------------------');
writeln;

writeln('Masukkan 3 Buah bilangan');
writeln;

write('Bilangan Ke-1 :'); readln(a);
write('Bilangan Ke-2 :'); readln(b);
write('Bilangan Ke-3 :'); readln(c);
                terbesar:=0;

                if (a > b) then
                terbesar:= a
                else terbesar:=b;

                if (terbesar > c) then
                terbesar:= terbesar
                else terbesar:= c;
                writeln;

                write ('Jadi Bilangan Terbesarnya Adalah :',terbesar);

end.






TUGAS 2

Karyawan honorer di STKIP Sumenep digaji berdasarkan jumlah jam kerjanya selama satu minggu, upah per jam adalah Rp. 2000,00. bila jumlah jam kerja lebih besar dari 48 jam, maka sisanya dianggap sebagai jam lembur. Upah lembur misalkan Rp. 3000,00/jam. Tulislah algoritma yang membaca jumlah jam kerja seorang karyawan selama satu minggu, lalu menentukan upah mingguannya.

PENYELESAIAN:
Analisis Kasus
        kasus 1 : jika JJK ≤ 48, maka upah = JJK*2000
        kasus 2 : jika JJK > 48, maka
                                        lembur = JJK – 48
                                        upah = (48*2000)+(lembur*3000)



·   Bahasa algoritmik

program menentukan gaji
DEKLARASI
nama :string[20];
jumlah jam kerja,lembur: integer;
upah,upah lembur :longint;
ALGORITMA
Read(nama)
read (jumlah_jam)

(Menentukan Upah)
if jumlah_jam ≤ 48 then
upah = jumlah jam kerja*2000

(Menentukan Upah Lembur)
if jumlah jam kerja > 48 then

lembur = jumlah jam kerja - 48
upah lembur = lembur*3000
upah = (48*2000)+(upah lembur)

endf.
Write (lembur)
write (upah lembur)
write (upah)

·  Bahasa Pascal

program menentukan_gaji;

uses wincrt;

var
nama :string[20];
jjk,lembur :integer;
upah,rp_lembur :longint;

begin
writeln('PROGRAM MENENTUKAN GAJI DOSEN');
writeln('-------------------------------------------------------');
writeln;

write('Jumlah Jam Mengajar Selama 1 Minggu :'); readln(jjk);
             
              if (jjk < 48) then
              begin
              upah :=jjk*2000;
              end
              else if (jjk > 48) then
              begin
              lembur :=jjk-48;
              rp_lembur :=lembur*3000;
              upah :=48*2000+rp_lembur
              end;

               writeln('Jam lembur =',lembur);
              writeln('Upah Lembur =',rp_lembur);
              writeln('upah + Upah Lembur =',upah);
              write('Jadi gaji Yang Diterima "',nama);
              write('"');
              write(' Sebesar Rp.',upah);
end.


Kode yang Mewakili Data


Kode yang mewakili data
Komputer generasi 1 : 1 byte = 4 bit -> BCD
Komputer generasi 2 : 1 byte = 6 bit -> SBCDIC
Komputer generasi sekarang : 1 byte = 8 bit, 16, 32, 64, 128 ->EBCDIC, ASCII -7/8
  1. BCD (Binary Code Decimal)
1 byte = 4 bit, 24 = 16 kombinasi kode dari kombinasi hanya 10 yang dipakai
  2.SBCDIC ( Standard Binary Coded Decimal Interchange Code)
1 byte = 6 bit, 26 kombinasi = 64 kombinasi kode
10 angka 
26 huruf besar
28 simbol khusus 
KOde SBDIC dibagi 2 zona :
1. zona Alfabet (AB)
2. zona Numerik ( 8 4 2 1 )
  3. EBCDIC

EBCDIC ( Extended Binary Coded Decimal Interchange Code)

1 byte = 8 bit
kombinasi 28= 256 kombinasi

Sistem Bilangan


SISTEM BILANGAN

I. DEFINISI
            System bilangan (number system) adalah  suatu cara untuk mewakili besaran dari suatu item fisik. Sistem bilanan yang banyak dipergunakan oleh manusia adalah system biilangan desimal, yaitu sisitem bilangan yang menggunakan 10 macam symbol untuk mewakili suatu besaran.Sistem ini banyak digunakan karena manusia mempunyai sepuluh jari untuk dapat membantu perhitungan. Lain halnya dengan komputer, logika di komputer diwakili oleh bentuk elemen dua keadaan yaitu off (tidak ada arus) dan on (ada arus). Konsep inilah yang dipakai dalam sistem bilangan binary yang mempunyai dua macam nilai  untuk mewakili suatu besaran nilai.
            Selain system bilangan biner, komputer juga menggunakan system bilangan octal dan hexadesimal.

II. Teori Bilangan

1.    Bilangan Desimal
Sistem ini menggunakan 10 macam symbol yaitu 0,1,2,3,4,5,6,7,8,dan 9. system ini menggunakan basis 10. Bentuk nilai ini dapat berupa integer desimal atau pecahan.
Integer desimal :
adalah nilai desimal yang bulat, misalnya 8598 dapat diartikan :
8 x 103      = 8000
5 x 102      =   500
9 x 101      =      90
8 x 100      =        8
                      8598
                                                                        position value/palce value                                                                                     absolute value
Absolue value merupakan nilai untuk masing-masing digit bilangan, sedangkan  position value adalah merupakan penimbang atau bobot dari masing-masing digit tergantung dari letak posisinya, yaitu nernilai basis dipangkatkan dengan urutan posisinya.

Pecahan desimal :
Adalah nilai desimal yang mengandung nilai pecahan dibelakang koma, misalnya nilai 183,75 adalah pecahan desimal yang dapat diartikan :
1 x 10 2           = 100
8 x 10 1           =  80
3 x 10 0           =    3
7 x 10 –1         =    0,7
5 x 10 –2         =    0,05
                          183,75

2. Bilangan Binar
            Sistem bilangan binary menggunakan 2 macam symbol bilangan berbasis 2digit angka, yaitu 0 dan 1.
Contoh bilangan 1001 dapat diartikan :

1 0 0 1
                                                            1 x 2 0 = 1
                                                            0 x 2 1 = 0
                                                            0 x 2 2 = 0
                                                            1 x 2 3 = 8
                                                                        10 (10)
Operasi aritmetika pada bilangan Biner :
a.    Penjumlahan
Dasar penujmlahan biner adalah :
0 + 0 = 0
0 + 1 = 1
1 + 0 = 1
1 + 1 = 0                     dengan carry of 1, yaitu 1 + 1 = 2, karena digit terbesar ninari 1, maka harus dikurangi dengan 2 (basis), jadi 2 – 2 = 0 dengan carry of 1
contoh :

1111
  10100 +
                  100011
atau dengan langkah :
 1 + 0              = 1
 1 + 0              = 1



 1 + 1              = 0 dengan carry of 1
 1 + 1 + 1        = 0



 1 + 1              = 0 dengan carry of 1                                    1  0     0      0    1     1

b.    Pengurangan
Bilangan biner dikurangkan dengan cara yang sama dengan pengurangan bilangan desimal. Dasar pengurangan untuk masing-masing digit bilangan biner adalah :
0 - 0 = 0
1 - 0 = 1
1 - 1 = 0
0 – 1 = 1                     dengan borrow of 1, (pijam 1 dari posisi sebelah kirinya).
Contoh :
11101
 1011 -
          10010




            dengan langkah – langkah :
                                 1 – 1               = 0

1 – 0 – 1         = 0
            1 – 1               = 0     

            0 – 1               = 1 dengan borrow of 1
           
1 – 0 – 1         = 0
            1 – 1               = 0
            1 – 0               = 1
                                                                                                1    0     0         1   0


           

c.    Perkalian
Dilakukan sama dengan cara perkalian pada bilangan desimal. Dasar perkalian bilangan biner adalah :
0 x 0 = 0
1 x 0 = 0
0 x 1 = 0
1 x 1 = 1
contoh
Desimal
Biner

   14
   12 x
    28
 14

                  +
168

             1110
             1100 x
              0000
            0000
          1110
         1110      +
      10101000
d.    pembagian
Pembagian biner dilakukan juga dengan cara yang sama dengan bilangan desimal. Pembagian biner 0 tidak mempunyai arti, sehingga dasar pemagian biner adalah :
0 : 1 = 0
1 : 1 = 1
Desimal
Biner
5     / 125 \ 25
         10  -
            25
            25 -
              0
              101 / 1111101 \ 11001
                        101 -
                           101
                            101 -
                                 0101
                                    101 -
                                         0

3. Bilangan Oktal
            Sistem bilangan Oktal menggunakan 8 macam symbol bilangan berbasis 8 digit angka, yaitu 0 ,1,2,3,4,5,6,7.
Position value system bilangan octal adalah perpangkatan dari nilai 8.
Contoh :
12(8) = …… (10)
                                                            2 x 8 0 = 2
                                                            1 x 8 1 =8                                                                                                                                10
Jadi 10 (10)

Operasi Aritmetika pada Bilangan Oktal
a.    Penjumlahan
Langkah-langkah penjumlahan octal :
-          tambahkan masing-masing kolom secara desimal