BAB II
LANDASAN TEORI
2.1
Sejarah Virus Komputer Virus komputer pertama kalinya tercipta bersamaan dengan komputer. Pada
tahun 1949 salah seorang pencipta komputer Johnvon Newman, yang menciptakan Electronic Discrete Variable Automatic Computer (EDVAC), memaparkan suatu makalahnya yang berjudul “Theory and Organization of Complicated Automata”. Dalam makalahnya dibahas kemungkinan program yang dapat menyebar dengan sendirinya. Perkembangan virus komputer selanjutnya terjadi di AT&T Bell Laboratory salah satu laboratorium komputer terbesar di dunia yang telah menghasilkan banyak hal, seperti bahasa C dan C++.1 Di laboratorium ini, sekitar tahun 1960-an, setiap waktu istirahat para peneliti membuat permainan dengan suatu program yang dapat memusnahkan kemampuan membetulkan dirinya dan balik menyerang kedudukan lawan. Selain itu, program permainan dapat memperbanyak dirinya secara otomatis (Anonim, 2007). Perang program ini disebut Core War, yaitu pemenangnya adalah pemilik program sisa terbanyak dalam selang waktu tertentu. Karena sadar akan bahaya program tersebut, terutama bila bocor keluar laboratorium tersebut, maka setiap
8
9
selesai permainan, program tersebut selalu dimusnahkan. Sekitar tahun 1970-an , perusahaan Xerox memperkenalkan suatu program yang digunakan untuk membantu kelancaran kerja. Struktur programnya menyerupai virus, namun program ini adalah untuk memanfaatkan waktu semaksimal mungkin dan pada waktu yang bersamaan dua tugas dapat dilakukan. Pada tahun 1980-an, perang virus di dunia terbuka bermula atas pemaparan Fred Cohen, seorang peneliti dan asisten profesor di Universitas Cincinati, Ohio (Anonim, 2007). Dalam pemaparannya, Fred juga mendemonstrasikan sebuah program ciptaannya, yaitu suatu virus yang dapat menyebar secara cepat pada sejumlah komputer. Sementara virus berkembang, Indonesia juga mulai terkena wabah virus. Virus komputer ini pertama menyebar di Indonesia juga pada tahun 1988. Virus yang begitu menggemparkan seluruh pemakai komputer di Indonesia, saat itu, adalah virus ©Brain yang dikenal dengan nama virus Pakistan (Anonim, 2007).
2.2
Jenis - Jenis Virus Komputer Berikut ini akan dibahas jenis-jenis virus yang penulis simpulkan dari
berbagai sumber, baik sumber pustaka maupun sumber dari internet. 2.2.1
Berdasarkan Teknik Pembuatannya
1.
Virus yang Dibuat dengan Compiler Adalah virus yang dapat dieksekusi karena merupakan virus yang telah di
compile sehingga menjadi dapat dieksekusi langsung. Virus jenis ini adalah virus
10
yang pertama kali muncul di dunia komputer, dan sampai sekarang terus berkembang pesat. Biasanya virus jenis ini dibuat dengan bahasa pemrograman tingkat rendah yang disebut dengan assembler, karena dengan menggunakan assembler program yang dihasilkan lebih kecil dan cepat, sehingga sangat cocok untuk membuat virus. Tetapi tidak tertutup kemungkinan untuk membuat virus dengan menggunakan bahasa pemrograman lainnya seperti C dan Pascal baik dilingkungan DOS maupun Windows. Mungkin virus jenis ini adalah virus yang paling sulit untuk dibuat tetapi karena dibuat dengan menggunakan bahasa pemrograman dan berbentuk bahasa mesin maka keunggulan dari virus ini adalah mampu melakukan hampir seluruh manipulasi yang mana hal ini tidak selalu dapat dilakukan oleh virus jenis lain karena lebih terbatas (Bagus, S. 2010).
2.
Virus Macro Banyak orang salah kaprah dengan jenis virus ini, mereka menganggap bahwa
virus Macro adalah virus yang terdapat pada program Microsoft Word. Memang hampir seluruh virus Macro yang ditemui merupakan virus Microsoft Word. Sebenarnya virus Macro adalah virus yang memanfaatkan fasilitas pemrograman modular pada suatu program aplikasi tertentu seperti Microsoft Word, Microsoft Excel, Microsoft PowePoint, Corel WordPerfect, dan sebagainya. Tujuan dari fasilitas pemrograman modular ini adalah untuk memberikan suatu kemudahan serta membuat jalan pintas bagi aplikasi tersebut. Sayangnya fungsi ini dimanfaatkan oleh pembuat pembuat virus untuk membuat virus didalam aplikasi tersebut. Walaupun
11
virus ini terdapat didalam aplikasi tertentu tetapi bahaya yang ditimbulkan tidak kalah berbahanya dari virus-virus yang lain (Bagus, S. 2010).
3.
Virus Script / Batch Pada awalnya virus ini lebih dikenal dengan virus batch karena dulu terdapat
pada file batch yang terdapat pada DOS, sekarang hal ini telah berganti menjadi script. Virus script biasanya sering didapat dari Internet karena kelebihannya yang fleksibel dan bisa berjalan pada saat bermain internet, virus jenis ini biasanya menumpang pada file HTML (Hype Text Markup Language) dibuat dengan menggunakan fasilitas script seperti Janti virusascript, VBscript,4 maupun gabungan antara script yang mengaktifkan program Active-X dari Microsoft Internet Explorer (Bagus, S. 2010).
2.2.2
Berdasarkan Infeksi yang Dilakukan
1.
Virus Boot Sector Virus Boot Sector adalah virus yang memanfaatkan gerbang hubungan antara
komputer dan media penyimpan sebagai tempat untuk menularkan virus. Apabila pada boot sector terdapat suatu program yang mampu menyebarkan diri dan mampu tinggal di memory selama komputer bekerja, maka program tersebut dapat disebut virus. Virus boot sector terbagi dua yaitu virus yang menyerang disket dan virus yang menyerang disket dan tabel partisi (Bagus, S. 2010).
12
2.
Virus File Virus file merupakan virus yang memanfaatkan suatu file yang dapat diproses
langsung pada editor DOS, seperti file berekstensi COM dan EXE serta beberapa file overlay, dan file BATCH. Virus umumnya tidak memiliki kemampuan untuk menyerang di semua file tersebut. Virus file juga dikelompokkan berdasarkan yang tinggal di memori (Bagus, S. 2010).
3.
Virus System Virus sistem merupakan virus yang memanfaatkan file-file yang dipakai
untuk membuat suatu sistem komputer. Contohnya adalah file dengan berekstensi SYS, file IBM BIO.COM, IBM DOS.COM, atau COMMAND.COM (Bagus, S. 2010).
4.
Virus Hybrid Virus ini merupakan virus yang mempunyai dua kemampuan. Biasanya dapat
masuk ke boot sector dan juga dapat masuk ke file. Salah satu contoh, virus ini adalah virus Mystic yang dibuat di Indonesia (Bagus, S. 2010).
5.
Virus Registry Windows Virus ini menginfeksi operating system yang menggunakan Windows
95/98/NT biasanya akan mengadakan infeksi dan manipulasi pada bagian registry Windows sebab registry adalah tempat menampung seluruh informasi komputer baik
13
hardware maupun software. Sehingga setiap kali user menjalankan Windows maka virus akan dijalankan oleh registry tersebut (Bagus, S. 2010).
6.
Virus Program Aplikasi Virus ini merupakan virus Macro, menginfeksi pada data suatu program
aplikasi tertentu. Virus ini baru akan beraksi apabila user menjalankan program aplikasi tersebut dan membuka data yang mengandung virus (Bagus, S. 2010).
2.2.3
Berdasarkan Media Penyebarannya
1.
Penyebaran Dengan Media Fisik Media yang dimaksudkan bisa dengan disket, CD-ROM (Compact Disc Read
Only Memory), harddisk, dan sebagainya. Untuk CD-ROM, walaupun media ini tidak dapat dibaca tetapi ada kemungkinan suatu CD-ROM mengandung virus tertentu, walaupun kemungkinannya kecil, tetapi seiring dengan berkembangnya alat CDR/CD-RW yang beredar dipasaran maka kemungkinan adanya virus didalam CDROM akan bertambah pula. Untuk saat ini virus jenis ini yang menjadi dominan dari seluruh virus yang ada. Virus ini akan menular pada komputer yang masih belum tertular apabila terjadi pengaksesan pada file/media yang mengandung virus yang diikuti dengan pengaksesan file/media yang masih bersih, dapat juga dengan mengakes file/media yang masih bersih sedangkan di memori komputer terdapat virus yang aktif (Bagus, S. 2010).
14
2.
Penyebaran dengan Media Internet Akhir-akhir ini virus yang menyebar dengan media sudah semakin banyak,
virus ini biasanya menyebar lewat e-mail ataupun pada saat user mendownload suatu file yang mengandung virus. Juga ada beberapa virus yang secara otomatis akan menyebarkan dirinya lewat e-mail apabila komputer memiliki hubungan ke jalur internet (Bagus, S. 2010).
2.2.4
Berdasarkan Jenis - jenis nya
1.
Virus Makro Jenis Virus ini pasti sudah sangat sering kita dengar. 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, maksudnya jika pada komputer mac dapat menjalankan aplikasi word maka virus ini bekerja pada komputer bersistem operasi mac, Contoh virus:
Virus variant W97M, misal W97M. Panther Panjang file: 1234 bytes, Akan menginfeksi NORMAL.DOT dan menginfeksi dokumen apabila dibuka.
WM.Twno.A;TW Panjang file: 41984 bytes,
15
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 di load kememori dan selanjutnya virus akan mempunyai kemampuan mengendalikan hardware standar (ex::monitor, printer dsb) dan dari memori ini pula virus akan menyebar keseluruh drive yang ada dan terhubung kekomputer (ex: floopy, drive lain selain drive c). Contoh virus:
Varian virus wyx Ex: wyx.C(B) menginfeksi boot record dan floopy Panjang file: 520 bytes Karakteristik : memory resident dan terenkripsi
Varian V-sign Menginfeksi : Master boot record Panjang file: 520 bytes Karakteristik: menetap di memori (memory resident), terenkripsi, dan polymorphic
16
Stoned.june 4th/ bloody Menginfeksi: Master boot record dan floopy Panjang file: 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-tabel interupt 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 file: 4298 bytes; Karakteristik: menetap di memori, ukuran tersembunyi, memiliki pemicu
WXYC (yang termasuk kategori boot record pun karena masuk kategori stealth dimasukkan pula disini), Menginfeksi floopy dan motherboot record;
17
Panjang file: 520 bytes; 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;
18
Karakteristik: menetap di memori, ukuran dan virus tesembunyi, memiliki pemicu, terenkripsi dan dapat berubah-ubah struktur -dll. 5.
Virus File/Program Virus ini menginfeksi file file yang dapat dieksekusi langsung dari system
operasi, baik itu file Application (*.EXE), maupun *.COM biasanya juga hasil infeksidari 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 dan juga menginfeksi Boot Sector (Bagus, S. 2010).
2.3
Daerah-daerah rawan serangan virus
1.
Registry Registry windows adalah suatu database untuk menyimpan dan mengatur
sistem di windows. Caru masuk di regedit yaitu: Klik start => Run => ketik ‘regedit’ (tanpa tanda petik).
Gambar 2.1 Regedit
19
2.
Alamat registry Registry mempunyai alamat yang berguna untuk mengatur konfigurasi pada
windows, misalnya:
Alamat registry: HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run, Berguna untuk menjalankan suatu aplikasi secara\otomatis
Alamat registry: HKEY_LOCAL_USER\Software\Microsoft\Windows\CurrentVersion\Explorer \Advanced\ Berguna untuk memanipulasi kode explorer.
Alamat registry: HKEY_LOCAL_MACHINE\Software\Microsoft\WindowsNT\Current Version\ Berguna untuk memanipulasi drive penginstalan, lisensi pada windows.
3.
System Editor (Sysedit) System editor atau yang biasa disingkat dengan sysedit adalah file-file tertentu
yang di jalankan ketika komputer masuk dalam windows pertama kali, seperti regedit sysedit ini biasanya dipakai masih banyak dipakai disistem operasi windows lama seperti win95, win97 dan win98 jadi walaupun memang sudah lama tapi secara tidak langsung berpengaruh juga pada user yang memakai sistem Operasi windows XP. Cara masuk di sysedit yaitu: Klik Start => Run => ketik ‘sysedit’ (tanpa tanda petik)
20
Gambar 2.2 Sysedit
Config.sys Config.sys adalah file yang memuat tentang seluruh konfigurasi windows dan dijalankan ketika pertama kali windows mulai. Letak file ada pada drive C:\ dan mempunyai atribut file system dan di hidden.
Autoexec.bat Autoexec.bat adalah file yang berisi perintah yang ada di komputer dan akan dijalankan pertama kali ketika ketika pertama kali windows mulai. Letak file ada pada drive C:\ dan mempunyai atribut file system dan di hiden
Win.ini Ini juga sebuah file yang dieksekusi pertama kali oleh windows. File yang dieksekusi pertama kali oleh windows. File ini berisi tentang aplikasi 16 byte yang disupport oleh windows.
21
System.ini System.ini adalah sebuah file yang berguna untuk menyimpan data font yang diakses oleh windows ketika pertama kali.
Msconfig Msconfig sebenarnya adalah sebuah aplikasi, dari aplikasi msconfi, seluruh file system editor (sysedit) tadi dijalankan.
Gambar 2.3 Msconfig
Direktory yang sering di incar oleh virus C:\Windows C:\Windows\System32 (Ebadboy. 2008).
22
2.4
Ciri-ciri Komputer dan file yang Terinfeksi Virus
Komputer berjalan lambat dari normal
Sering keluar pesan eror atau aneh-aneh
Perubahan tampilan pada computer
Media penyimpanan seperti disket, flashdisk, dan sebagainya langsung mengkopi file aneh tanpa kita kopi ketika pengguna mencoba untuk menghubungkan ke komputer.
Komputer suka restart sendiri atau crash ketika sedang berjalan.
Suka muncul pesan atau tulisan aneh
Komputer hang atau berhenti merespon si pengguna.
Harddisk tidak bisa diakses.
Printer dan perangkat lain tidak dapat dipakai walaupun tidak ada masalah hardware dan software driver.
Sering ada menu atau kotak dialog yang error atau rusak.
Hilangnya beberapa fungsi dasar komputer.
Komputer berusaha menghubungkan diri dengan internet atau jaringan tanpa diakses si pengguna.
File yang kita simpan di komputer atau media penyimpanan hilang begitu saja atau disembunyikan virus.
Terdapat banyak file shortcut yang sama jenisnya dan biasanya hanya berkapasitas 1 KB.
23
File dengan kapasitas tidak wajar, seperti file yang tadinya berkapasitas 1MB menjadi 1KB
File dengan nama yang aneh-aneh, seperti !@#$A.Doc.Exe , dan sebagainya.
File yang apabila di klik muncul pesan error dan lain-lain.
2.5
Cyclic Redundancy Code ( CRC32 ) CRC32 adalah kepanjangan dari ”Cyclic Redundancy Code” dan 32
melambangkan panjang checksum dalam bit. Bentuk CRC yang disediakan untuk algoritma sesuai dengan ide pembagian ”polynomial”. Dan hal ini digunakan untuk memperhitungkan checksum yang sama dari seluruh algoritma CRC ( Rieysha. 2009). Algoritma CRC adalah cara yang bagus dan teruji untuk pengecekan byte dalam jumlah besar dari suatu file yang telah termodifikasi maupun tidak. Algoritma ini mencari lewat seluruh jumlah byte dan menghasilkan angka 32 bit untuk menggambarkan isi file. Dan sangat kecil sekali kemungkinan dua stream dari byte yang berbeda mempunyai CRC yang sama. Algoritma CRC32 dapat diandalkan juga untuk mengecek error yang terjadi dalam urutan byte. Dengan CRC32 kemungkinan perubahan standar (penyimpangan dari penghitungan CRC terhadap file) yang terjadi dapat dikendalikan. Untuk menghitung dengan metode CRC32 dilakukan dengan beberapa cara, yaitu :
24
1.
Perhitungan Tabel Lookup Cara pertama kita harus menghitung kalkulasi tabel lookup yang berguna
untuk menentukan standar isi dari tabel CRC32, yaitu dengan membandingkan nilai 255 yang heksanya FFFFFFFF dengan polynomial file yang telah distandarkan yaitu EDB88320 menggunakan Xor. Kemudian hasil dari perbandingan disimpan di tiap array ’F’ yang berjumlah 255 array ( Rieysha. 2009).
2.
Menghitung CRC32 Untuk menghitung CRC32 suatu file kita perlu ukuran dari file tersebut dan
mengeset standar perbandingan untuk CRC32 ke heksa FFFFFFFF. Kemudian untuk mengecek nilai yang ada tiap byte nya dapat dipergunakan modul sbb: Do While (count > 0) For i = 0 To count – 1 iLookup = (crc32Result And &HFF) Xor buffer(i) ‘FF = 255 crc32Result = ((crc32Result And &HFFFFFF00) \ &H100) And crc32Result = crc32Result Xor crc32Table(iLookup) Next i count = stream.Read(buffer, readSize) Loop Kemudian hasil yang didapat dibandingkan dengan output dari tabel Lookup yang telah dihitung dengan metode Xor. Dan nilai CRC32 diambil yang hasilnya tidak sama dari perbandingan tersebut ( Rieysha. 2009).
25
3.
Membuat proses tadi ke dalam Class di VB Setelah proses di atas tadi dibuat, kita harus menjadikan proses-proses
tersebut ke dalam kelas di VB. Untuk itu kita menggunakan Class cBinaryFileStream yang disediakan dari source data file untuk memecah-mecah file ke dalam bentuk binary. Sehingga file dapat dibaca ke dalam potongan-potongan kecil dan mempercepat proses penghitungan ( Rieysha. 2009). Dim cStream As New cBinaryFileStream cStream.File = txtFileName.Text
Dim cCRC32 As New cCRC32 Dim lCRC32 As Long
lCRC32 = cCRC32.GetFileCrc32(cStream)
Sepeti kode di atas kita dapat menggunakan metode GetFileCrc32 untuk menghitung Crc32 dari byte tiap array ( Rieysha. 2009).
4.
Implementasi CRC32 ke Pendeteksian Virus Virus dapat dikenali melalui banyak cara, mulai dari nama file, ukuran atau
dengan membongkar isi file dan menemukan penandanya. Ada beberapa kelemahan jika kita hanya mengenalinya dari nama file. Terkadang program virus tidak memakai nama asli dari virus itu sendiri. Misalnya virus Hallo.roro.htt memakai nama program
26
pemicunya syssrv.exe. Sehingga mau tidak mau untuk mendeteksi program itu kita melihatnya melalui ukuran file. Ukuran file pun belum menjamin bahwa file tersebut adalah virus. Bisa saja ukuran filenya sama tetapi programnya berbeda. Sehingga diperlukan metode lain untuk mengenali file virus. Dengan membongkar isi file hal tersebut membutuhkan waktu yang banyak. Jika hanya satu atau dua file saja yang dibongkar tidak masalah. Tetapi jika enam ratus, seribu atau seribu lima ratus file, pasti sangat memerlukan waktu yang tidak singkat. Memakai metode checksum error dapat menjadi pilihan yang tepat ( Rieysha. 2009). Cara – cara mengenali sebuah virus melalui metode checksum error akan dijelaskan sebagai berikut: o
Memilih file yang akan diperiksa
o
Mengambil informasi dari file tersebut, yaitu nama, ukuran
o
Menghitung checksum file yang diambil dari ukuran file dengan metode crc32.
5.
Menggunakan hasil checksum tersebut untuk mengenali bahwa program
tersebut adalah virus. Untuk implemantasinya anda dapat mencoba WAV 2005 pada sub menu cek dengan crc, nah itulah implementasinya, sekarang terserah anda mau ditaruh di mana implementasi tersebut ( Rieysha. 2009).
27
2.6
Cara kerja Algoritma CRC
Algoritma CRC bekerja di atas bidang biner . Algoritma memperlakukan semua aliran bit polinomial biner. Mengingat bingkai asli, pemancar menghasilkan FCS untuk bingkai. FCS dihasilkan sehingga frame yang dihasilkan (kaskade dari frame asli dan FCS), adalah persis yang dapat ditemukan oleh beberapa polinomial yang telah ditetapkan ini, polinomial yang telah ditentukan disebut pewaris atau polinomial CRC ( Rieysha. 2009).
Untuk penjelasan adalah sebagai berikut:
M
- Frame asli untuk dikirim, sebelum menambahkan FCS. Ini adalah k bit panjang.
F
- The FCS yang dihasilkan akan ditambahkan ke M. Ini adalah n bit panjang.
T
- The cascading M dan F. Ini adalah frame yang dihasilkan yang akan ditransmisikan.
Ini adalah k k + n bit panjang. P
- Pra-ditentukan CRC polinomial. Sebuah pola bit n +1.
28
Contoh CRC:
Untuk Hapus definisi mari kita asumsikan bahwa:
M = 1010001101 (k = 10) dan, P = 110101 (n +1 = 6)
Kemudian FCS harus dihitung oleh pemancar akan n = 5 bit panjangnya. Mari kita asumsikan bahwa pemancar telah menghitung FCS menjadi:
F = 1110 (n = 5)
Kemudian frame yang ditransmisikan akan:
T = 1010001101 1110
Gagasan utama di balik algoritma CRC adalah bahwa FCS dihasilkan sehingga pengingat T / P adalah nol. Yang jelas bahwa
(1)
T=M*x^n+F
Hal ini karena dengan Cascading F untuk M kita telah bergeser T dengan n bit ke kiri dan kemudian ditambahkan F untuk hasilnya. Kami ingin frame ditransmisikan T, harus persis dibagi oleh P polinomial yang telah ditentukan, jadi kita akan harus menemukan Periksa urutan frame yang sesuai (F) untuk setiap pesan mentah (M).
29
Misalkan kita dibagi hanya M * x ^ n dengan P, kita akan mendapatkan:
(2)
M*x^n/P=Q+R/P
Ada hasil bagi dan pengingat. Kami akan menggunakan pengingat R, seperti kami FCS (F). Kembali ke Persamaan. 1:
(3)
T=M*x^n+R
Kita sekarang akan menunjukkan bahwa ini pemilihan FCS membuat frame ditransmisikan (T) bisa dibagi oleh P:
(4)
T / P = (M * x ^ n + R) / P = M * x ^ n / P + R / P = Q + R / P + R / P = Q +
(R + R) / P
Tetapi setiap bilangan biner ditambahkan dengan dirinya sendiri dalam bidang modul 2 hasil nol sehingga:
(5)
T / P = Q, Dengan tidak ada pengingat.
Berikut ini adalah review dari proses pembuatan CRC: 1.
Dapatkan bingkai baku
2.
Kiri pergeseran kerangka baku dengan n bit dan dibagi dengan P.
3.
Pengingat dari tindakan terakhir adalah FCS.
30
4.
Tambahkan FCS ke frame mentah. Hasilnya adalah bingkai untuk
mengirimkan
Dan review dari proses pemeriksaan CRC:
1.
Menerima frame.
2.
Bagilah dengan P.
3.
Periksa pengingat. Jika tidak nol maka ada kesalahan dalam frame ( Rieysha.
2009).
2.7
Teori UML (Use Case) Pemecahan
masalah
utama dari
Object
Oriented
biasanya
dengan
penggambaran dalam bentuk model. Model abstrak (semu) merupakan gambaran detail dari inti masalah yang ada, umumnya sama seperti refleksi dari problem yang ada pada kenyataan. Beberapa modeling tool yang dipakai adalah bagian dari dasar UML, kependekan dari United Modeling Language. UML terdiri atas beberapa diagram, yaitu:
Diagram Use Case
Diagram Class
Diagram Package
Diagram Sequence
Diagram Collaboration
Diagram StateChart
31
Diagram Activity
Diagram Deployment Semakin kompleks bentukan sistem yang akan dibuat, maka semakin sulit
komunikasi antara orang-orang yang saling terkait dalam pembuatan dan pengembangan software yang akan dibuat. Pada masa lalu, UML mempunyai peranan sebagai software blueprint (gambaran) language untuk analisis sistem, designer, dan programmer. Sedangkan pada saat ini, merupakan bagian dari software trade (bisnis software). UML memberikan jalur komunikasi dari sistem analis kemudian designer, lalu programmer mengenai rancangan software yang akan dikerjakan. Salah satu pemecahan masalah Object Oriented adalah dengan menggunakan UML. Oleh karena itu orang-orang yang berminat dalam mempelajari UML harus mengetahui dasardasar mengenai Object Oriented Solving (pemecahan masalah OO). Tahap pertama, pembentukan model. Model adalah gambaran abstrak dari suatu dasar masalah. Dan dunia nyata atau tempat dimana masalah itu timbul bias disebut dengan domain. Model mengandung obyek-obyek yang beraktifitas dengan saling mengirimkan messages (pesan-pesan). Obyek mempunyai sesuatu yang diketahui (atribut /attributes) dan sesuatu yang dilakukan (behaviors atau operations). Attributes hanya berlaku dalam ruang lingkup obyek itu sendiri (state). Lalu “blue print” dari suatu obyek adalah Classes (kelas). Obyek merupakan bagian-bagian dari kelas (Azmi, S. 2011).
32
2.7.1
Diagram Use Case Diagram Use Case menggambarkan apa saja aktifitas yang dilakukan oleh
suatu sistem dari sudut pandang pengamatan luar. yang menjadi persoalan itu apa yang dilakukan bukan bagaimana melakukannya. Diagram Use Case dekat kaitannya dengan kejadian-kejadian. Kejadian (scenario) merupakan contoh apa yang terjadi ketika seseorang berinteraksi dengan sistem. untuk lebih memperjelas lihat gambaran suatu peristiwa untuk sebuah klinik kesehatan di bawah ini : “Pasien menghubungi klinik untuk membuat janji (appointment) dalam pemeriksaan tahunan. Receptionist mendapatkan waktu yang luang pada buku jadwal dan memasukkan janji tersebut ke dalam waktu luang itu.” contoh kegiatan pasien yang membuat janji. Diagram Use Case berguna dalam tiga hal : o
Menjelaskan fasilitas yang ada (requirements) Use Case baru selalu menghasilkan fasilitas baru ketika sistem di analisa, dan design menjadi lebih jelas.
o
Komunikas dengan klien, Penggunaan notasi dan simbol dalam diagram Use Case membuat pengembang lebih mudah berkomunikasi dengan klienkliennya.
o
Membuat test dari kasus-kasus secara umum, Kumpulan dari kejadiankejadian untuk Use Case bisa dilakukan test kasus layak untuk kejadiankejadian tersebut (Azmi, S. 2011).
33
2.7.2
Diagram Class Diagram Class memberikan pandangan secara luas dari suatu sistem dengan
menunjukan kelas-kelasnya dan hubungan mereka. Diagram Class bersifat statis, menggambarkan hubungan apa yang terjadi bukan apa yang terjadi jika mereka berhubungan. Diagram Class mempunyai 3 macam relationalships (hubungan), sebagai berikut: o
Association suatu Hubungan antara bagian dari dua kelas. Terjadi association antara dua kelas jika salah satu bagian dari kelas mengetahui yang lainnya dalam melakukan suatu kegiatan. Di dalam diagram, sebuah association adalah penghubung yang menghubungkan dua kelas.
o
Aggregation suatu Association dimana salah satu kelasnya merupakan bagian dari suatu kumpulan. Aggregation memiliki titik pusat yang mencakup keseluruhan bagian. Sebagai contoh: Order Detail merupakan kumpulan dari Order.
o
Generalization Suatu Hubungan turunan dengan mengasumsikan satu kelas merupakan suatu super Class (kelas super) dari kelas yang lain. Generalization memiliki tingkatan yang berpusat pada super Class. Contoh: Payment adalah super Class dari Cash, Check, dan Credit. Untuk tambahan bahwa association mempunyai 2 titik. Salah satu titik bias memiliki label untuk menjelaskan association tersebut, contoh: OrderDetail adalah line item untuk setiap permintaan. Panah
34
navigability (pengatur alur arah) dalam suatu association menggambarkan arah mana association dapat ditransfer atau disusun. Seperti dalam contoh: OrderDetail dapat disusun dari item-nya, namun tidak bisa sebaliknya. Panah ini juga menjelaskan siapa “memiliki” implementasi dari association, dalam kasus ini OrderDetail memiliki item Association tanpa arah panah merupakan bidirectional (bolak-balik) (Azmi, S. 2011).
Gambar 2.4 Diagram Class (http://syahrulazmi.blogspot.com)
2.7.3
Package dan Object Untuk mengatur pengorganisasian diagram Class yang kompleks, dapat
dilakukan pengelompokan kelas-kelas berupa package (paket-paket). Package adalah kumpulan elemen-elemen logika UML. Gambar di bawah ini mengenai model bisnis dengan pengelompokan kelas-kelas dalam bentuk paket-paket :
35
Gambar 2.5 Diagram Package (http://syahrulazmi.blogspot.com) Ada jenis khusus dari diagram Class yaitu diagram Object. Kegunaannya untuk penjelasan yang sedikit dengan relasi yang sulit, khususnya relasi rekursif.
2.7.4
Diagram Sequence Diagram Class dan diagram Object merupakan suatu gambaran model statis.
Namun ada juga yang bersifat dinamis, seperti Diagram Interaction. Diagram sequence merupakan salah satu diagram Interaction yang menjelaskan bagaimana suatu operasi itu dilakuka, message (pesan) apa yang dikirim dan kapan pelaksanaannya. Diagram ini diatur berdasarkan waktu. Obyek-obyek yang berkaitan dengan proses berjalannya operasi diurutkan dari kiri ke kanan berdasarkan waktu terjadinya dalam pesan yang terurut. Di bawah ini adalah diagram Sequence untuk pembuatan. Hotel Reservation Obyek yang mengawali urutan message adalah ‘aReservation Window’ (Azmi, S. 2011).
36
2.7.5
Diagram Collaboration Diagram Collaboration juga merupakan diagram interaction. Diagram
membawa informasi yang sama dengan diagram Sequence, tetapi lebih memusatkan atau memfokuskan pada kegiatan obyek dari waktu pesan itu dikirimkan (Azmi, S. 2011).
2.7.6
Diagram State Chart Behaviors dan state dimiliki
oleh
obyek.
Keadaan
dari
suatu
obyek
bergantung pada kegiatan dan keadaan yang berlaku pada saat itu. Diagram StateChart menunjukan kemungkinan dari keadaan obyek dan proses yang menyebabkan perubahan pada keadaannya. Untuk lebih jelas, contoh yang digunakan model diagram untuk login yang merupakan bagian dari Online Banking System. Logging in terdiri atas masukan input Social Security Number dan Personal Id Number yang berlaku, lalu memutuskan kesahan dari informasi tersebut (Azmi, S. 2011).
2.7.7
Diagram Activity Pada dasarnya diagram Activity sering digunakan oleh flowchart. Diagram ini
berhubungan
dengan
diagram
Statechart.
Diagram
Statechart
berfokus
pada obyek yang dalam suatu proses (atau proses menjadi suatu obyek), diagram Activity berfokus pada aktifitas-aktifitas yang terjadi yang terkait dalam suatu proses tunggal. Jadi dengan kata lain, diagram ini menunjukkan bagaimana aktifitas-aktifitas
37
tersebut bergantung satu sama lain. Sebagai contoh, proses yang terjadi. “Pengambilan uang dari bank melalui ATM.” Ada tiga aktifitas kelas (orang, dan lainnya) yang terkait yaitu : Customer, ATM, and Bank. Proses berawal dari lingkaran start hitam pada bagian atas dan berakhir di pusat lingkaran stop hitam/putih pada bagian bawah. Aktivitas digambarkan dalam bentuk kotak persegi. Lihat gambar di bawah ini, agar lebih jelas :
Gambar 2.6 Diagram Activity (http://syahrulazmi.blogspot.com)
Contoh Diagram Activity ‘Pengambilan Uang melalui ATM’. Diagram Activity dapat dibagi menjadi beberapa jalur kelompok yang menunjukkan obyek yang mana yang bertanggung jawab untuk suatu aktifitas. Peralihan tunggal (single transition) timbul dari setiap adanya activity (aktifitas), yang saling menghubungi pada aktifitas berikutnya. Sebuah transition (transisi) dapat
38
membuat cabang ke dua atau lebih percabangan exclusive transition (transisi eksklusif). Label Guard Expression (ada di dalam [ ]) yang menerangkan output (keluaran) dari percabangan. percabangan akan menghasilkan bentuk menyerupai bentuk intan. transition bisa bercabang menjadi beberapa aktifitas paralel yang disebut Fork. Fork beserta join (gabungan dari hasil output fork) dalam diagram berbentuk solid bar (batang penuh) (Azmi, S. 2011). 2.7.8
Diagram Component dan Deployment Component adalah sebuah code module (kode-kode module). Diagram
Component merupakan fisik sebenarnya dari diagram Class. Diagram Deployment menerangkan bahwa konfigurasi fisik software dan hardware. Gambar 2.6 menerangkan hubungan sekitar komponen software dan hardware yang berperan dalam ruang lingkup real estate.
Gambar 2.7 Diagram Deployment ‘Sistem Real Estate’ (http://syahrulazmi.blogspot.com) Contoh Diagram Deployment ‘Sistem Real Estate’. Fisik hardware berbentuk seperti node-node. Setiap komponen merupakan bagian dari node. Pada gambar komponen berbentuk dua kotak tersusun yang terletak di sebelah kiri atas (Azmi, S. 2011).