Kamis, 25 Oktober 2018

Program-program Jahat, virus dan anti virus


Program-program Jahat
Bowles [BOW-92] memberikan taksonomi ancaman perangkat lunak atau klasifikasi program jahat (malicious program).
Ancaman-ancaman itu dapat menjadi dua kategori, yaitu:
1. Program-program yang memerlukan host program
a.      Trapdoor
Trapdoor merupakan suatu titik masuk ke dalam sistem dengan cara mem-bypass sistem keamanan. Dengan demikian, seseorang dapat melakukan sesuatu dengan sistem tersebut. Para hacker pada umumnya menggunakan cara ini untuk bisa masuk ke sistem komputer yang ingin dirusaknya.

b.      Logic Bomb
Adalah logik yang ditempelkan pada program komputer agar memeriksa suatu kumpulan kondisi di sistem. Ketika kondisi-kondisi yang dimaksud ditemui, logik mengeksekusi suatu fungsi yang menghasilkan aksi-aksi tak diotorisasi.

Logic Bomb menempel pada suatu program resmi yang di-set ”meledak” ketika kondisi-kondisi tertentu dipenuhi. Contoh kondisi-kondisi untuk memicu logic bomb adalah ada atau tidak adanya file-file tertentu, hari tertentu dari minggu atau tanggal, atau pemakai dan pola bit yang sama di semua kopiannya. Teknik ini terbatas untuk deteksi virus-virus yang telah dikenal. Tipe lain anti virus generasi pertama adalah mengelola rekaman panjang (ukuran) program dan memeriksa perubahan panjang program.

c.       Trojan horse
Merupakan teknik integrasi yang sering dilakukan oleh virus dengan membuat suatu program yang bermanfaat, tetapi dalam program ini diselipkan suatu program yang amat berbahaya karena dapat menghancurkan atau menghapus data yang ada dalam disket atau harddisk  Program ini berupa virus komputer. Oleh karena tiu apabila komputer diaktifkan, secara tidak sengaja juga mengaktifkan program virus.
d.      Virus
Adalah buatan manusia yang bertujuan merugikan orang lain. Ancaman yang paling serius dari sebuah virus komputer adalah sifatnya yang merusak. Tidak semua program virus dibuat untuk merusak. Ada yang mungkin membuat virus dengan tujuan melindungi hasil karya sendiri.

2. Program-program yang tidak memerlukan host program (independen).
a.      Bacteria
Adalah program yang mengkonsumsi sumber daya sistem dengan mereplikasi dirinya sendiri. Bacteria tidak secara eksplisit merusak file. Tujuan program ini hanya satu, yaitu mereplekasi dirinya. Program bacteria yang sederhana bisa hanya mengeksekusi dua kopian drirnya secara simultan pada sistem multiprogramming atau menciptakan dua file baru, masing-masing adalah kopian file program bacteria. Kedua kopian ini kemudian mengkopi dua kali dan seterusnya.

Bacteria bereproduksi secara eksponensial, dengan cepat mengambil alih seluruh kapasitas pemroses, memori atau ruang disk, mengakibatkan penolakan pengaksesan pemakai ke sumber daya.

b.      Worm
Perbedaan yang sangat mendasar antara virus dengan worm meskipun sama-sama mempunyai sifat merusak dan kekuatannya untuk memperbanyak diri, worm tidak mampu menempelkan dirinya pada program lain. Worm hanya memperbanyak diri dengan menggunakan ruang kosong dalam memori komputer Kegiatan memperbanyak diri ini dilakukan terus sampai memori komputer menjadi penuh dan sistem ini menjadi macet.
Virus dan Anti Virus

-          Virus
Virus komputer adalah Aplikasi atau program pada komputer yang bisa merusak program suatu komputer atau pun juga dapat merusak data dokumen yang terdapat pada komputer, virus komputer membuat pengguna komputer merasa terganggu atau pun tidak menimbulkan pengaruh apa pun.

-          Anti Virus
Adalah sebuah perangkat lunak / software komputer yang berfungsi sebagai pelindung komputer dari serangan virus. Antivirus ini akan memberikan perlindungan dan keamanan pada data dan sistem yang ada pada komputer.

Ø  Virus mengalami siklus hidup empat fase (tahap), yaitu:
·         Fase tidur (dormant phase)
Pada fase ini virus yang menjangkiti komputer kalian masih dalam keadaan belum aktif atau masih tidur nyenyak. Dia akan aktif jika dipicu oleh sesuatu yang dapat mengganggu tidurnya itu, misalkan, tanggal tertentu yang telah ditentukan pemilik virus tersebut, aplikasi yang kalian jalankan, dan juga berbagai pemicu lainnya yang telah ditentukan oleh si pemilik dan pembuat virus itu.

·         Fase penyebaran (propagation phase)
Salah satu kriteria virus akan berjalan pada fase ini, yaitu kemampuannya untuk menggandakan diri dan menginfeksi file atau program di komputer kalian. Pada fase penyebaran/ Propagation, virus komputer memperbanyak dirinya sendiri dengan mengkopi dirinya sendiri kedalam media penyimpanan kalian yang kemudian me-load dirinya ke RAM (Random Access Memory). Dengan cara mengkopikan dirinya di program start-up dia akan selalu terpanggil pada saat komputer kalian hidup kemudian me-load ke RAM dan menginfeksi program-program lain.

·         Fase aktif (triggering phase)
Fase ini virus tersebut akan aktif dan hal ini juga di picu oleh beberapa kondisi seperti pada Dormant Phase
·         Fase eksekusi (execution phase)
Fase inilah virus yang telah aktif tadi akan melakukan fungsinya. Seperti menghapus file, menampilkan pesan-pesan, dan sebagainya.

x

Senin, 15 Oktober 2018

Tugas 3 perancangan program


Tugas 3 perancangan program

Kasus 1 :
Sebuah sebidang tanah dengan ukuran 22 m x 15 m dibangun sebidang rumah dengan ukuran 8 m x 10 m. Sisa tanah yang tidak dibangun rumah ditumbuhi rumput. Pemilik rumah berencana memanggil tukang potong rumput untuk merapikan rumput di halaman rumahnya. Tarif per jam tukang rumput sebesar 100 ribu/jam. Berapa tarif yang harus dibayar memotong rumput halaman rumah, dengan rata-rata 2 m2/ menit.

Diket
Luas tanah 22m x 15m
Luas rumah 8mx10m
Tarif 100rb/jam

Dit : tarif yang dibayar dengan rata rata 2 m2/ menit.
Jwb :    LT = 22m x 15m = 330m
            LR = 8m x 10m = 80m
sisa tanah = 330m – 80m = 250m
waktu = 250m : 2 = 125 menit
            125 menit/60 menit = 2 jam 5 menit
Tarif = 100 rb / 60 menit = 1.600/menit
            125 menit x 1.600 = 200.000
Jadi tarif yang akan dikeluarkan dalah Rp 200.000


Pseudocode

Program
{menghitung tarif yang harus dibayar dengan rata-rata 2 m2 / menit}

Deklarasi
inisialisasi Luas tanah  22 m x 15 m
inisialisasi Luas bagunan 8 m x 10 m
inisialisasi Tarif  tukang potong  100.000 / jam
inisialisasi Kecepatan 2 m2 / menit

Deskripsi
Mulai
Masukan nilai luas tanah
Masukan nilai luas bangunan
Hitung sisa tanah = luas tanah - luas bangunan
Hitung waktu tempuh = waktu/menit : jam
Hitung tarif/menit = Tarif  tukang potong  :  jam
Cetak hasil tarif
Selesai



Flowchart






Kasus 2 :
Seorang kontraktor sedang membangun sebuah rumah dengan ukuran 8 m x 12 m. Rumah tersebut akan dipasangkan ubin dengan ukuran 30 x 30. Setiap kardus memiliki ukuran 1 m2. Berapa kardus ubin yang harus dibeli ? Buatlah pseudocode & flowchart serta program hitung kebutuhan ubin.

Diket
-          Panjang rumah     = 8 m = 800 cm
-          Lebar rumah         = 12 m = 1.200 cm
-          Ukuran ubin         = 30 x 30 cm
-          Ukuran kardus      = 1 m2 = 100 cm

Banyak ubin untuk menutupi panjang rumah :
-          Panjang ubin   =  panjang rumah : ukuran ubin
                              = 800 cm     :  30 cm   
                              = 27 buah

Banyak ubin untuk menutupi lebar rumah :
-          Lebar ubin       =  lebar rumah : ukuran ubin
                              =  1.200 cm     :  30 cm   
                              =  40 buah

-          Jumlah ubin     = Panjang ubin x Lebar ubin  
                              = 27 buah         x     40 buah
                              = 1.080 buah

-          Jumlah kardus  = Jumlah ubin  : Ukuran kardus
                              =  1.080 buah   : 100 cm
                              =  11 kardus



Pseudocode

Deklarasi
Panjang rumah = 8 m
Lebar rumah = 12 m
Ukuran ubin = 30 x 30 cm
Ukuran kardus = 1 m2

Deskripsi
Masukan ukuran luas bangunan rumah
Masukan ukuran luas ubin
Hitung banyak ubin = luas rumah : luas setiap 1 pcs ubin
Cetak hasil



Flowchart


1. Menentukan apakah suatu bilangan merupakan bilangan prima atau bukan ?
2. Program untuk menentukan apakah tahun yang diinputkan termasuk tahun kabisat/bukan.

1. bilangan prima


Pseudocode 


Deklarasi
Bilangan

Deskripsi
Masukan bilangan
Mencari bilangan prima
Jika ada cetak hasil
Jika tidak keluar
selesai


Flowchart


Program bilangan prima

#include <iostream.h>
#include <conio.h>
int main()
{
int x,y;
char input;
awal :
clrscr();
cout<<"====================================\n";
cout<<"Menentukan bilangan prima atau bukan\n";
cout<<"====================================\n";
cout<<"Masukkan bilangan: ";cin>>x;
y=0;
for(int i=1; i<=x; i++)
if(x%i==0)
y++;
if(y==2)
cout<<x<<" adalah bilangan prima";
else
cout<<x<<" bukan bilangan prima"<<endl;
cout<<endl;
cout<<" INGIN INPUT LAGI [Y/N]  : "; cin>>input;
            if(ulang=='Y' || ulang=='y')
goto awal;
else
getch();
}


2. tahun kabisat

Pseudocode 

Program tahun kabisat
{menentukan tahun kabisat}

Deklarasi
Int x

Deskripsi
Input tahun
If (x%4==0)
Then tahun==kabisat
Else
Tahun==bukan tahun kabisat
Cetak hasil
Selesai


Flowchart

Program tahun kabisat

#include <iostream.h>
#include <conio.h>

int main ()
{
    int x;
    char input;
    awal:
    clrscr();
    cout<<"==================================\n";
    cout<<"Program menentukan Tahun Kabisat\n";
    cout<<"==================================\n";
    cout<<"Masukan tahun : " ;
    cin>>x;


   if (x % 4 == 0)
   cout<<"tahun"<<"\t"<< x <<"\t"<<"adalah tahun kabisat"<<endl;
   else
   cout<<"tahun"<<"\t"<< x <<"\t"<<"Bukan tahun kabisat"<<endl;


   cout<<" INGIN INPUT LAGI [Y/N]  : "; cin>>input;
   if(ulang=='Y' || ulang=='y')
   goto awal;
   else
    getch();
    return 0;
}



Dosen pengampu : Andrian Eko Widodo M.kom

Minggu, 07 Oktober 2018

Metode Perancangan Program




    1.  Buatlah pseudocode & flowchart untuk menghasilkan 1 liter air dengan menggunakan tabung       dengan ukuran 3 liter dan 5 liter.
Maksudnya adalah:
a.      Isi penuh tabung 3 liter dengan air (tabung 3 liter berisi 3 liter air)
b.      Tuangkan air dari tabung 3 liter ke dalam tabung air 5 liter (maka tabung 5 liter  berisi 3 liter air)
c.       Isi penuh lagi tabung 3 liter dengan air (tabung 3 liter berisi 3 liter air)
d.      Tuangkan air dari tabung 3 liter kedalam tabung 5 liter hingga penuh (di dalam tabung 3 liter sekarang tersisa 1 liter air)
e.      Buang seluruh air dari tabung 5 liter air (tabung 5 liter kosong)
f.        Tuangkan air dari tabung 3 liter (yang tersisa 1 liter tadi) kedalam tabung 5 liter (tabung 5 liter sekarang berisi 1 liter air, tabung 3 liter kosong)
g.      Maka logikanya adalah 3+3=6 , 6-5=1

PSEUDOCODE 

Program Penghitung
{Menghitung 1 liter air menggunakan
tabung berukuran 3 liter dan 5 liter}

Deklarasi
Inisialisasi 1 liter air
Inisialisasi tabung 3 liter dan tabung 5 liter


Deskriptif
Input
1 liter air dalam tabung
Jika iya, maka cetak tabung yg berisi air 1 liter
jika tidak, maka kembali lagi input hingga tabung berisikan 1 liter air.
selesai






      2.  Buatlah pseudocode & flowchart untuk KHS sederhana dengan ketentuan

    Tabel Nilai
    Nilai        Huruf        ket
    86 - 100       A         Lulus
    71 - 85         B         Lulus
    61 - 70         C         Lulus
    51 - 60         D         Tidak lulus
    0 - 50           E          Tidak lulus

    dengan inputan
    -Nim
    -Nama
    -Matakuliah
    -Nilai(0-100)




PSEUDOCODE 

Algoritma KHS Mahasiswa
{menentukan nilai mahasiswa jika nilai lebih besar dari 60 maka
mahasiswa tersebut dinyatakan lulus jika tidak maka dinyatakan tidak lulus }

Deklarasi
Nim (string)
Nama (string)
Matakuliah (string)
Nilai (integer)
Keterangan (string)
 

Deskriptif
Input
Read (nim, nama,matakuliah, nilai)
If nilai >60 then
Keterangan = “lulus”
Else
Keterangan = “tidak lulus”
Write (keterangan)
selesai




1    3.   Sebutkan contoh operator yang digunakan dalam pemrograman dan contoh penggunaan dalam     program :
a.       Arithmetic operator
Operator ini digunakan untuk melakukan sebuah opearasi penghitungan atau aritmatika dalam bahasa pemrograman. Tugasnya untuk memecahkan masalah matematika.

Operator
Keterangan
Contoh penggunaan
+
Penjumlahan
4 + 2 = 6
-
Pengurangan
4 – 2 = 2
*
Perkalian
4 * 2 = 8
/
Pembagian
4 / 2 = 2
%
Sisa bagi (modulus)
5 % 2 = 1
++
Increment
a++ = 11
--
Decrement
a-- = 9

b.       Assignment operator
operator ini berfungsi untuk memberikan nilai kepada variabel. Kita akan menggunakan = ( tanda sama dengan ) untuk memberi nilai.

Operator
Keterangan
Contoh
Bentuk lain
+=
Tambahkan AND operator penugasan, menambahkan operan yang benar untuk operan kiri dan menetapkan hasil untuk operan kiri
a+=3
a = a + 3
-=
Kurangi AND operator penugasan, itu mengurangi operan kanan dari operan kiri dan menetapkan hasil untuk operan kiri
a-=3
a = a – 3
*=
Kalikan AND operator penugasan, mengalihkan operan kanan dengan operan kiri dan menetapkan hasil untuk operan kiri
a*=3
a = a * 3
/=
Bagikan AND operator penugasan, membagi operan kiri dengan operan kanan dan menetapkan hasil untuk operan kiri
a/=3
a = a/3
%=
Modulus AND operator penugasan, sisa bagi  dengan menggunakan dua operan dan menetapkan hasil untuk operan kiri
a%=3
a = a % 3
>>=
Shift kiri AND operator penugasan
a>>=3
a = a >> 3
<<=
Shift kanan AND operator penugasan
a<<=3
a = a << 3
&=
Bitwise AND operator penugasan
a&=3
a = a & 3
^=
Bitwise XOR dan operator penugasan
a^=3
a = a ^ 3
|=
Bitwise inclusive OR dan operator penugasan
=3
3


c.        Logical operator
operator yang digunakan untuk membandingkan dua nilai variabel atau lebih. Hasil dari operasi ini adalah nilai boolean true atau false.

Operator
Keterangan
Contoh
&&
AND - Jika semua operand bernilai benar (TRUE) maka kondisi bernilai benar.
(5<2) and (5>2) hasilnya False
||
OR - Jika salah satu operand bernilai benar (TRUE) maka kondisi bernilai benar.
(5<2) or (5>2) hasilnya True
!
NOT - Digunakan untuk membalik kondisi. Jika kondisi benar (TRUE) maka akan berubah menjadi salah (FALSE), begitu pula sebaliknya.
Not (5<2) hasilnya True

d.        Relational operator
Operator selanjutnya adalah operator relasi - operator ini akan banyak kita gunakan dalam suatu statement bersyarat yang selalu menghasilkan nilai true atau false.
Operator
Keterangan
Contoh
==
Sama dengan
5==2 (False)
!=
Tidak sama dengan
5!=2 (True)
> 
Lebih dari
5>2(True)
< 
Kurang dari
5<2 (False)
>=
Lebih dari atau sama dengan
5>=2 (True)
<=
Kurang dari atau sama dengan
5<=2(False)

e.        Pointer operator
sebuah variabel yang berisi alamat lain. Suatu pointer dimaksudkan untuk menunjukan ke suatu alamat memori sehingga alamat dari suatu variabel dapat diketahui dengan mudah. 
Intinya :
-  Pointer adalah suatu variabel yang menunjuk ke alamat memory variabel yang lainnya.
-  Variabel pointer berisi suatu alamat (alokasi memory). 


Operator
Keterangan
Contoh
&
Operator alamat
Int ‘alamat’;
Int nilai=10;
Alamat=$nilai;
Printf(“$d”,’alamat);
Hasilnya 10
*
Operator reference
Int ‘alamat’;
Int nilai=10;
Alamat=$nilai;
Printf(“$p”,alamat);
Hasilnya FFCCDD

f.         Bitwise operator
operator yang digunakan untuk memanipulasi bit-bit nilai data yang ada di memori. Operator ini hanya dapat digunakan untuk tipe data:
·         char
·         int
·         long int
Operator
Keterangan
Contoh
&
Logika AND
12 & 10 menghasilkan 8
|
Logika OR
12 | 10 menghasilkan 14
^
XOR
12 ^ 10 menghasilkan 6
~
NOT
~12 menghasilkan 13
<< 
Sift left (SHL)
12 >> 2 menghasilkan 3
>> 
Sift right (SHR)
17 << 7 menghasilkan 48






Dosen pengampu : Andrian Eko Widodo M.kom