Senin, 15 Oktober 2012

Virus Komputer



           Virus Komputer
                 1.      Pengertian Virus Komputer
Virus komputer diartikan sebagai suatu program komputer biasa. Tetapi memiliki perbedaan mendasar dengan program-program lainnya, yaitu virus dibuat untuk menulari program-program lainnya, mengubah, memanipulasinya bahkan sampai merusaknya. Ada yang perlu dicatat disini, virus hanya akan menulari apabila program pemicu atau program yang telah terinfeksi tadi dieksekusi, disinilah perbedaannya dengan "worm".
                  2.      Jenis Virus Komputer
1.      Virus Makro
Virus ini ditulis dengan bahasa pemrograman dari suatu aplikasi bukan dengan bahasa pemrograman dari suatu Operating System. Virus ini dapat berjalan apabila aplikasi pembentuknya dapat berjalan dengan baik. Sebagai contoh jika pada komputer mac dijalankan aplikasi Word, maka virus makro yang dibuat dari bahasa makro Word dapat bekerja pada komputer bersistem operasi Mac ini.
Contoh virus:
- Varian W97M, misal W97M.Panther
Panjang 1234 bytes, akanmenginfeksi NORMAL.DOT dan menginfeksi dokumen apabila dibuka.
- WM.Twno.A;TW
Panjang 41984 bytes, akan menginfeksi Dokumen Ms.Word yang menggunakan bahasa makro, biasanya berekstensi *.DOT dan *.DOC
- dll.

2.      Virus Boot Sector
Virus Boot sector ini sudah umum sekali menyebar. Virus ini dalam menggandakan dirinya, akan memindahkan atau menggantikan boot sector asli dengan program booting virus. Sehingga saat terjadi booting maka virus akan diload ke memori dan selanjutnya virus akan mempunyai kemampuan mengendalikan hardware standar (contoh : monitor, printer dsb) dan dari memori ini pula virus akan menyebar ke seluruh drive yang ada dan yang terhubung ke komputer (contoh : floopy, drive lain selain drive c:).
Contoh virus :
- Varian virus wyx
ex: wyx.C(B) menginfeksi boot record dan floopy ;
Panjang :520 bytes;
Karakteristik : memory resident dan terenkripsi.
- Varian V-sign :
Menginfeksi : Master Boot Record ;
Panjang 520 bytes;
Karakteristik : menetap di memori (memory resident),terenkripsi, dan polymorphic)
- Stoned.june 4th/ bloody!:
Menginfeksi : Master Boot Record dan floopy;
Panjang 520 bytes;
Karakteristik : menetap di memori (memory resident), terenkripsi dan menampilkan pesan "Bloody!june 4th 1989" setelah komputer melakukan booting sebanyak 128 kali.
3.      Stealth Virus
Virus ini akan menguasai tabel interrupt pada DOS yang sering kita kenal dengan "Interrupt interceptor". Virus ini berkemampuan untuk mengendalikan instruksi-instruksi level DOS dan biasanya mereka tersembunyi sesuai namanya baik secara penuh ataupun ukurannya.
Contoh virus :
- Yankee.XPEH.4928,
Menginfeksi file *.COM dan *.EXE ;
Panjang 4298 bytes;
Karakteristik: menetap di memori, ukurantersembunyi, memiliki pemicu
    - WXYC (yang termasuk kategori boot record pun karena masuk kategri stealth dimasukkan pula disini), Menginfeksi floopy an motherboot record; Panjang 520 bytes;
    Karakteristik : menetap di memori; ukuran dan virus tersembunyi.
- Vmem(s):
Menginfeksi file file *.EXE, *.SYS, dan *.COM ;
Panjang fie 3275 bytes;
Karakteristik:menetap di memori, ukuran tersembunyi, di enkripsi.
- dll
4.      Polymorphic Virus
Virus ini Dirancang buat mengecoh program antivirus, artinya virus ini selalu berusaha agar tidak dikenali oleh antivirus dengan cara selalu merubah rubah strukturnya setiap kali selesai menginfeksi file/program lain.
Contoh virus:
- Necropolis A/B,
Menginfeksi file *.EXE dan *.COM;
Panjang file 1963 bytes;
Karakteristik: menetap di memori, ukuran dan virus tesembunyi,terenkripsi dan dapat berubah ubah struktur
- Nightfall,
Menginfeksi file *.EXE;
Panjang file 4554 bytes;
Karakteristik : menetap di memori, ukuran dan virus tesembunyi,memiliki pemicu, terenkripsidan dapat berubah-ubah struktur

5.      Virus File/Program
Virus ini menginfeksi file-file yang dapat dieksekusi langsung dari sistem operasi, baik itu file *.EXE, maupun *.COM biasanya juga hasil infeksi dari virus ini dapat diketahui dengan berubahnya ukuran file yang diserangnya.

6.      Multi Partition Virus
Virus ini merupakan gabungan dari virus boot sector dan virus file. Artinya pekerjaan yang dilakukan berakibat dua, yaitu dia dapat menginfeksi file-file *.EXE atau *.COM dan juga menginfeksi boot sector.
3.      Cara Penyebaran Virus
Virus komputer dapat menyebar ke berbagai komputer/mesin lainnya juga melalui berbagai media, diantaranya:
1)      Disket, media storage R/W
Media penyimpanan eksternal dapat menjadi sasaran empuk bagi virus untuk dijadikan media. Baik sebagai tempat menetap ataupun sebagai media penyebarannya. Media yang bias melakukan operasi R/W (Read dan Write) sangat memungkinkan untuk ditumpangi virus dan dijadikan sebagai media penyebaran.
2)      Jaringan ( LAN, WAN,dsb)
Hubungan antara beberapa computer secara langsung sangat memungkinkan suatu virus ikut berpindah saat terjadi pertukaran/pengeksekusian file yang mengandung virus.
3)      WWW (internet)
Sangat mungkin suatu situs sengaja ditanamkan suatu “virus” yang akan menginfeksi komputer-komputer yang mengaksesnya.
4)      Software yang Freeware, Shareware atau bahkan Bajakan
Banyak sekali virus yang sengaja ditanamkan dalam suatu program yang disebarluaskan baik secara gratis, atau trial version.
5)      Attachment pada email, transfering file
Hampir semua jenis penyebaran virus akhir-akhir ini menggunakan email attachment dikarenakan semua pemakai jasa internet pastilah menggunakan email untuk berkomunikasi, file-file ini sengaja dibuat mencolok/menarik perhatian, bahkan seringkali memiliki ekstensi ganda pada penamaan filenya.
4.      Penanggulangan Virus Komputer
1.)    Langkah-Langkah untuk Pencegahan
Untuk pencegahan anda dapat melakukan beberapa langkah-langkah berikut :
·         Gunakan antivirus yang anda percayai dengan update terbaru. Tidak perduli apapun merknya asalkan selalu diupdate, dan auto-protect dinyalakan maka komputer anda terlindungi.
·         Selalu scanning semua media penyimpanan eksternal yang akan digunakan, mungkin hal ini agak merepotkan tetapi jika auto-protect antivirus anda bekerja maka prosedur ini dapat dilewatkan.
·         Jika anda terhubung langsung ke Internet cobalah untuk mengkombinasikan antivirus anda dengan Firewall, Anti-spamming, dsb.
·          Selalu waspada terhadap fle-file yang mencurigakan, contoh : file dengan 2 buah exstension atau file executable yang terlihat mencurigakan.
·          Untuk software freeware + shareware, ada baiknya anda mengambilnya dari situs resminya.
·         Semampunya hindari membeli barang bajakan, gunakan software-software open source.

2.)    Langkah-Langkah apabila telah Terinfeksi
·         Deteksi dan tentukan dimanakah kira-kira sumber virus tersebut apakah di disket, jaringan, email dsb. Jika anda terhubung ke jaringan maka ada baiknya anda mengisolasi komputer anda dulu (baik dengan melepas kabel atau mendisable sambungan internet dari control panel)
·          Identifikasi dan klasifikasikan jenis virus apa yang menyerang pc anda, dengan cara:
v  Gejala yang timbul, misal : pesan, file yang corrupt atau hilang dsb
v  Scan dengan antivirus anda, jika anda terkena saat auto-protect berjalan berarti virus definition di dalam komputer anda tidak memiliki data virus ini, cobalah update secara manual atau mendownload virus definitionnya untuk kemudian anda install. Jika virus tersebut memblok usaha anda untuk mengupdate, maka upayakan untuk menggunakan media lain (komputer) dengan antivirus yang memiliki update terbaru.
·         Bersihkan virus tersebut. Setelah anda berhasil mendeteksi dan mengenalinya maka usahakan segera untuk mencari removal atau cara-cara untuk memusnahkannya di situs-situs yang memberikan informasi perkembangan virus tersebut. Hal ini perlu dilakukan apabila antivirus dengan update terbaru anda tidak berhasil memusnahkannya.
·         Langkah terburuk. Jika semua hal diatas tidak berhasil adalah memformat ulang komputer anda .

Konsep Compiler



Konsep Compiler 

1.      Pengertian Teknik Kompilasi
      Arti kata teknik kompilasi, Teknik adalah suatu Metode atau Cara, sedangkan Kompilasi adalah suatu proses menggabungkan serta menterjemahkan sesuatu (source program) menjadi bentuk lain. Compile : to translate a program written in a high-level programming language into machine language
      Kompilator (Inggris: compiler) adalah sebuah program komputer yang berguna untuk menerjemahkan program komputer yang ditulis dalam bahasa pemrograman tertentu menjadi program yang ditulis dalam bahasa pemrograman lain. Kompilator melakukan proses kompilasi dengan cara menganalisis kode sumber secara keseluruhan, sehingga waktu yang dibutuhkan untuk melakukan kompilasi lebih lama, namun hasilnya lebih cepat dalam proses eksekusi daripada program yang dibuat dengan menggunakan teknik interpretasi dengan interpreter.
Compiler berbeda dengan interpreter, jika ada kesalahan pada proses input kode tidak akan bisa dilanjtkan proses penerjemahannya, dan akan muncul error messages yang harus segera diperbaiki jika ada kesalahan.

2.      Bahasa Pemrograman Compiler
Istilah kompilator biasa digunakan untuk program komputer yang menerjemahkan program yang ditulis dalam bahasa tingkat-tinggi (semacam bahasa Pascal, C++, BASIC, FORTRAN, Visual C#, Java) menjadi bahasa mesin, biasanya dengan bahasa Assembly (assembler) sebagai perantara.

3.      Struktur Compiler
 Bagian-bagian Compiler:
a.      Lexical Analiysis (scanner), Lexical Analysis sering disebut Scanner bertugas untuk mendekomposisi program sumber menjadi bagian-bagian kecil. Tugasnya secara detail adalah mengindentifikasi semua besaran yang membangun suatu bahasa; mentransformasikan, dan menentukan jenis token; menangani kesalahan dan tabel simbol. Contoh besaran Leksikal :
1.      Identifier, dapat berupa keyword atau nama kunci, seperti IF.. ELSE, BEGIN..END (pada Pascal), INTEGER (pascal), INT,FLOAT (bahasa C).
2.      Konstanta, terdiri dari besaran yang merupakan bilangan bulat (integer), bilangan pecahan (float/Real), boolean (true/false), karakter, string, dan sebagainya.
3.      Operator, terdiri dari operator aritematika ( + - * /), operator logika ( < = > ).
4.      Delimiter, berguna sebagai pemisah/pembatas, seperti kurung buka, kurung tutup, titik, koma,titik dua, titik-koma
5.      White Space, pemisah yang diabaikan oleh program seperti : enter, spasi, ganti baris, akhir file.
b.      Syntax Analysis, bertugas memeriksa kebenaran urutan dari token-token yang terbentuk oleh lexical analysis. Syntax Analysis sering disebut Parser, sedangkan proses pen-deteksian-nya (pengenalan token) disebut dengan parsing. Pengelompokan token-token kedalam class syntax (bentuk syntax), seperti procedure, Statement,dan  expression.
c.       Semantics Analyser, proses ini adalah proses kelanjutan dari proses kompilasi sebelumnya, yaitu analisa leksikal (scanning) dan analisa sintaks (parsing). Parser hanya akan mengenali simbol-simbol '=', '+' dan '*', parser tidak mengetahui makna dari simbol-simbol tersebut, untuk mengenali simbol-simbol tersebut Compiler menggunakan Analysis Semantics. Pemeriksaan biasa dilakukan pada tabel indentifier, tabel  display, dan tabel block.
d.      Intermediate Code, bertujuan untuk memperkecil usaha dalam membuat compilator dari sejumlah bahasa ke sejumlah mesin.
e.       Code Optimization, bertujuan untuk mengoptimalkan code, terdiri dari:
1.      Dependensi Optimasi, bertujuan untuk menghasilkan kode program yang berukuran lebih kecil dan cepat.
2.      Optimasi Lokal, adalah optimasi yang dilakukan hanya pada suatu blok dari source code.
3.      Optimasi Global, biasanya dilakukan dengan suatu graph terarah yang menunjukkan jalur yang mungkin selama ekskusi programa.
f.        Table Management,memiliki dua fungsi penting yaitu : (1) membantu pemeriksaan kebenaran semantik dari program sumber, (2) membantu dan mempermudah dalam pembuatan intermediate code dan proses pembangkitan kode. Ada beberapa jenis Tabel Informasi:
1.      Tabel identifier, berfungsi menampung semua identifier yang terdapat dalam program.
2.      Tabel Array, berfungsi menampung informasi tambahan untuk sebuah array.
3.      Tabel blok, mencatat variabel-variabel yang ada pada blok yang sama.
4.      Tabel Real, menyimpan elemen tabel bernilai real.
5.      Tabel string,menyimpan informasi string.
6.      Tabel display, mencatat blok yang aktif.
g.      Error Handling, yaitu kesalahan program dalam proses penerjemahan pada Compiler. Kesalahan program dapat berupa :
1.      Kesalahan Leksikal karena kesalahan dalam mengetik/mengeja.
2.      Kesalahan Sintaks karena kesalahan rumus, misalnya dalam operasi aritematika dengan tanda kurung yang jumlahnya kurang.
3.      Kesalahan Semantic karena tipe data yang salah atau variabel yang belum didefinisikan.
4.      Konsep Pascal
                        Pascal adalah bahasa tingkat tinggi yang orientasinya pada segala tujuan, dirancang oleh Prof. Niklaus Wirth dari Technical University di Zurich, Switzerland. Nama pascal diambil sebagai penghargaan terhadap Blaise Pascal, ahli matematik dan philosophi terkenal abad 17 dari Perancis.
                        Struktur dari suatu program pascal terdiri dari sebuah judul program dan suatu blok program atau badan program. Blok program dibagi lagi menjadi dua bagian, yaitu : bagian deklarasi dan bagian pernyataan. Secara ringkas, struktur suatu program pascal dapat terdiri dari:
1.      Judul program
2.      Blok program
a.       Bagian Deklarasi,  Bagian deklarasi digunakan bila didalam program menggunakan pengenal (identifier) yang dapat berupa label, konstanta, tipe, variable, prosedur dan fungsi.
1.      Deklarasi Konstanta, diawali dengan kata cadangan Const diikuti oleh kumpulan identifier yang diberi suatu nilai konstanta. Data konstanta nilainya sudah ditentukan dan pasti, tidak dapat dirubah didalam program
2.      Deklarasi Variabel, Variabel adalah identifier yang berisi data yang dapat diubah-ubah nilainya didalam program. Menggunakan kata cadangan Var sebagai judul didalam bagian deklarasi variable dan diikuti oleh satu atau lebih identifier yang dipisahkan koma, diikuti dengan titik dua dan tipe dari datanya diakhiri dengan titik koma.
3.      Deklarasi Tipe, Pascal menyediakan beberapa macam tipe data, yaitu :
1)      tipe data sederhana, terdiri dari :
a. tipe data standar : integer, real, char, string, Boolean.
b. Tipe data didefinisikan pemakai : enumerated atau scalar, subrange 
2)      Tipe data terstruktur : array, record, file, set
3)      Tipe data penunjuk
4.      Deklarasi Label, Jika program menggunakan statement Goto untuk meloncat ke suatu statement yang tertentu, maka dibutuhkan suatu label pada statement yang dituju dan label tersebut harus di deklarasikan terlebih dahulu pada bagian deklarasi. Menggunakan kata cadangan Label diikuti oleh kumpulan identifier label dengan dipisahkan oleh koma dan diakhiri dengan titik koma.
5.      Deklarasi Prosedur, Prosedur merupakan bagian yang terpisah dari program dan dapat diaktifkan dimanapun didalam program. Prosedur dibuat sendiri bilamana program akan dibagi-bagi menjadi beberapa blok-blok modul. Prosedur dibuat didalam program dengan cara mendeklarasikannya dibagian deklarasi prosedur. Menggunakan kata cadangan Procedure.
6.      Deklarasi Fungsi, Fungsi juga merupakan bagian program yang terpisah mirip dengan prosedur, tetapi ada beberapa perbedaannya. Kata cadangan yang digunakan Function.
b.      Bagian pernyataan
Program pascal yang paling sederhana adalah program yang hanya terdiri dari sebuah bagian pernyataan saja.
Begin
End.
Bentuk umum dari bagian pernyataan adalah :
Begin
Statement;
End .
Konsep