Pengertian dan Sejarah WIFI

wifi

Wi-Fi merupakan kependekan dari Wireless Fidelity, yang memiliki pengertian yaitu sekumpulan standar yang digunakan untuk Jaringan Lokal Nirkabel (Wireless Local Area Networks – WLAN) yang didasari pada spesifikasi IEEE 802.11. Standar terbaru dari spesifikasi 802.11a atau b, seperti 802.11 g, saat ini sedang dalam penyusunan, spesifikasi terbaru tersebut menawarkan banyak peningkatan mulai dari luas cakupan yang lebih jauh hingga kecepatan transfernya. Wi-Fi tidak hanya dapat digunakan untuk mengakses internet, Wi-Fi juga dapat digunakan untuk membuat jaringan tanpa kabel di perusahaan. Karena itu banyak orang mengasosiasikan Wi-Fi dengan “Kebebasan” karena teknologi Wi-Fi memberikan kebebasan kepada pemakainya untuk mengakses internet atau mentransfer data dari ruang meeting, kamar hotel, kampus, dan café-café yang bertanda “Wi-Fi Hot Spot”.Awalnya Wi-Fi ditujukan untuk pengunaan perangkat nirkabel dan Jaringan Area Lokal (LAN), namun saat ini lebih banyak digunakan untuk mengakses internet. Hal ini memungkinan seseorang dengan komputer dengan kartu nirkabel (wireless card) atau personal digital assistant (PDA) untuk terhubung dengan internet dengan menggunakan titik akses (atau dikenal dengan hotspot) terdekat.

Spesifikasi
Wi-Fi dirancang berdasarkan spesifikasi IEEE 802.11. Sekarang ini ada empat variasi dari 802.11, yaitu: 802.11a, 802.11b, 802.11g, and 802.11n. Spesifikasi b merupakan produk pertama Wi-Fi. Variasi g dan n merupakan salah satu produk yang memiliki penjualan terbanyak pada 2005.
Spesifikasi Wi-Fi
Spesifikasi Kecepatan Frekuensi
Band Cocok
dengan
802.11b 11 Mb/s 2.4 GHz B
802.11a 54 Mb/s 5 GHz A
802.11g 54 Mb/s 2.4 GHz b, g
802.11n 100 Mb/s 2.4 GHz b, g, n
Secara teknis operasional, Wi-Fi merupakan salah satu varian teknologi komunikasi dan informasi yang bekerja pada jaringan dan perangkat WLAN (wireless local area network). Dengan kata lain, Wi-Fi adalah sertifikasi merek dagang yang diberikan pabrikan kepada perangkat telekomunikasi (internet) yang bekerja di jaringan WLAN dan sudah memenuhi kualitas kapasitas interoperasi yang dipersyaratkan.
Teknologi internet berbasis Wi-Fi dibuat dan dikembangkan sekelompok insinyur Amerika Serikat yang bekerja pada Institute of Electrical and Electronis Engineers (IEEE) berdasarkan standar teknis perangkat bernomor 802.11b, 802.11a dan 802.16. Perangkat Wi-Fi sebenarnya tidak hanya mampu bekerja di jaringan WLAN, tetapi juga di jaringan Wireless Metropolitan Area Network (WMAN).
Karena perangkat dengan standar teknis 802.11b diperuntukkan bagi perangkat WLAN yang digunakan di frekuensi 2,4 GHz atau yang lazim disebut frekuensi ISM (Industrial, Scientific dan edical). Sedang untuk perangkat yang berstandar teknis 802.11a dan 802.16 diperuntukkan bagi perangkat WMAN atau juga disebut Wi-Max, yang bekerja di sekitar pita frekuensi 5 GHz.

Kelebihan Wi-fi
Tingginya animo masyarakat -khususnya di kalangan komunitas Internet- menggunakan teknologi Wi-Fi dikarenakan paling tidak dua faktor.
1) kemudahan akses. Artinya, para pengguna dalam satu area dapat mengakses Internet secara bersamaan tanpa perlu direpotkan dengan kabel.
2) pengguna yang ingin melakukan surfing atau browsing berita dan informasi di Internet, cukup membawa PDA (pocket digital assistance) atau laptop berkemampuan Wi-Fi ke tempat dimana terdapat access point atau hotspot.
Menjamurnya hotspot di tempat-tempat tersebut -yang dibangun oleh operator telekomunikasi, penyedia jasa Internet bahkan orang perorangan- dipicu faktor kedua, yakni karena biaya pembangunannya yang relatif murah atau hanya berkisar 300 dollar Amerika Serikat. Juga salah satu kelebihan dari Wi-Fi adalah kecepatannya yang beberapa kali lebih cepat dari modem kabel yang tercepat. Jadi pemakai Wi-Fi tidak lagi harus berada di dalam ruang kantor untuk bekerja

Wi-fi Hardware
Hardware wi-fi yang ada di pasaran saat ini ada berupa
Wi-fi dalam bentuk PCI Wi-fi dalam bentuk USB
Ada 2 mode akses koneksi Wi-fi, yaitu
Ad-Hoc
Mode koneksi ini adalah mode dimana beberapa komputer terhubung secara langsung, atau lebih dikenal dengan istilah Peer-to-Peer. Keuntungannya, lebih murah dan praktis bila yang terkoneksi hanya 2 atau 3 komputer, tanpa harus membeli access point
Infrastruktur
Menggunakan Access Point yang berfungsi sebagai pengatur lalu lintas data, sehingga memungkinkan banyak Client dapat saling terhubung melalui jaringan (Network).

Kelemahan pada wifi
Mudahnya dihacking oleh para hacker untuk mencuri password pengguna wi-fi
Cara adalah sebagai berikut:
Pertama kita harus mengetahui perbedaan antara jaringan Hub dan Switch:
* Pada jaringan hub semua data yang mengalir di jaringan dapat dilihat/diambil oleh komputer manapun yang ada di jaringan asalakan komputer tersebut merequest data tersebut, kalo tidak direquest ya tidak akan datang.
* Pada jaringan switch hanya komputer yang melakukan pertukaran data yang dapat melihat data tersebut, komputer2 lain tidak berhak merequest data tersebut.
Masalahnya adalah harga dari router hub dan switch tidak berbeda jauh sehingga kebanyakan tempat sekarang sudah menggunakan metode switch yang menyulitkan untuk network hacking.

Virus Komputer dan Cara Kerja Virus Komputer


virus
 
Saat ini pastilah kita semua selaku konsumen atau pengguna jasa komputer dan jaringan (internet) sudah sangat sering mendengar istilah “virus” yang terkadang meresahkan  kita. Tulisan ini akan mengupas  lebih jauh mengenai virus, yang nantinya diharapkan dapat membuat kita semua mengerti dan memahami tentang virus.


ASAL MUASAL VIRUS

1949, John von Neumann, menggungkapkan " teori self altering automata " yang merupakan hasil riset dari para ahli matematika.

1960, Lab BELL (AT&T), para ahli di lab BELL (AT&T) mencoba-coba teori yang diungkapkan oleh John von Neumann, dengan membuat suatu jenis permainan atau game. Mereka membuat program yang dapat memperbanyak dirinya dan dapat   menghancurkan program buatan lawan. Program yang mampu bertahan dan menghancurkan semua program lain, akan dianggap sebagai pemenangnya. Permainan ini akhirnya menjadi permainan favorit di tiap-tiap lab komputer. Tetapi, semakin lama program yang diciptakan makin berbahaya, sehingga mereka melakukan pengawasan dan pengamanan yang ketat terhadap permainan ini.

1980, Program-program tersebut yang akhirnya dikenal dengan sebutan "virus" ini berhasil menyebar keluar lingkungan laboratorium, dan mulai beredar di masyarakat umum.



PENGERTIAN VIRUS


"A program that can infect other programs by modifying them to include a slighty altered copy of itself. A virus can spread throughout a computer system or network using the authorization of every user using it to infect their programs. Every programs that gets infected can also act as a virus that infection grows“  


Pertama kali istilah “virus” digunakan oleh Fred Cohen pada tahun 1984 di Amerika Serikat. Virus komputer dinamakan “virus” karena  memiliki beberapa  persamaan mendasar dengan virus  pada istilah kedokteran (biological viruses).

Virus komputer bisa diartikan sebagai suatu program komputer biasa. Tetapi memiliki perbedaan yang mendasar dengan program-program  lainnya,yaitu virus dibuat untuk  menulari program-program  lainnya, mengubah, memanipulasinya bahkan sampai merusaknya. Ada yang perlu   dicatat   disini, virus hanya akan menulari apabila program pemicu atau    program     yang    telah     terinfeksi tadi dieksekusi, disinilah perbedaannya dengan "worm". Tulisan ini tidak akan bahas worm karena nanti akan mengalihkan kita dari pembahasan mengenai virus ini.
 

KRITERIA VIRUS


Suatu program dapat disebut sebagai suatu virus apabila memenuhi minimal 5 kriteria berikut :

    1.  Kemampuan untuk mendapatkan informasi
    2.  Kemampuan untuk memeriksa suatu file
    3.  Kemampuan untuk menggandakan diri dan menularkan diri
    4.  Kemampuan melakukan manipulasi  
    5.  Kemampuan untuk menyembunyikan diri.

Sekarang akan coba dijelaskan dengan singkat apa yang dimaksud dari tiap-tiap kemampuan itu dan mengapa ini
sangat diperlukan.

1.  Kemampuan untuk mendapatkan informasi

Pada umumnya suatu virus memerlukan daftar nama-nama file yang ada dalam suatu directory. Untuk apa? Agar
dia dapat memperoleh daftar file yang bisa dia tulari. Misalnya, virus makro yang akan menginfeksi semua file
data MS Word, akan mencari daftar file berekstensi *.doc. Disinilah kemampuan mengumpulkan informasi itu
diperlukan agar virus dapat membuat daftar/data semua file, lalu memilahnya dengan mencari file-file yang bisa
ditulari. Biasanya data ini tercipta saat file yang tertular/terinfeksi virus atau file program virus itu sendiri dibuka
oleh user. Sang virus akan segera melakukan pengumpulan data dan menaruhnya (biasanya) di RAM, sehingga
apabila komputer dimatikan semua data hilang. Tetapi data-data ini akan tercipta kembali setiap kali virus itu
diaktifkan. Biasanya data-data ini disimpan juga sebagai hidden file oleh virus tersebut.

2.  Kemampuan memeriksa suatu program

Suatu virus juga harus bisa memeriksa suatu file yang akan ditulari, misalnya dia bertugas menulari program
berekstensi *.doc, maka dia harus memeriksa apakah file dokumen tersebut telah terinfeksi ataupun belum,
karena jika sudah, akan percuma menularinya lagi. Ini sangat berguna untuk meningkatkan kemampuan suatu
virus  dalam  hal kecepatan menginfeksi suatu file/program. Yang umum dilakukan  oleh  virus adalah
memiliki/memberi tanda pada file/program yang telah terinfeksi sehingga mudah untuk dikenali oleh virus
tersebut. Contoh penandaan adalah misalnya memberikan suatu byte yang  unik  di setiap  file yang telah
terinfeksi.

3.  Kemampuan untuk menggandakan diri

Kalo ini memang virus "bang-get", maksudnya, tanpa kemampuan ini tak adalah virus. Inti dari virus adalah
kemampuan mengandakan diri dengan cara menulari file lainnya. Suatu virus apabila telah menemukan calon
korbannya maka ia akan mengenalinya dengan memeriksanya. Jika belum terinfeksi maka sang virus akan
memulai aksinya penularan dengan cara  menuliskan  byte pengenal pada file tersebut,  dan seterusnya
mengcopikan/menulis kode objek virus diatas file sasaran. Beberapa cara umum yang dilakukan oleh virus untuk
menulari/menggandakan dirinya adalah :

a.  File yang akan ditulari dihapus atau diubah namanya. Kemudian diciptakan suatu file berisi program virus itu
sendiri menggunakan nama file yang asli.
b.  Program virus yang sudah dieksekusi/load ke memori akan langsung menulari file-file lain dengan cara
menumpangi seluruh file yang ada.

4.  Kemampuan mengadakan manipulasi

Rutin (routine) yang dimiliki suatu virus akan dijalankan setelah virus menulari suatu file. Isi dari suatu rutin ini 
dapat  beragam  mulai dari yang tidak  berbahaya sampai yang melakukan perusakan. Rutin ini umumnya
digunakan untuk memanipulasi file atau pun mempopulerkan pembuatnya ! Rutin ini memanfaatkan kemampuan
dari suatu sistem operasi (Operating  System), sehingga   memiliki  kemampuan  yang sama dengan yang
dimiliki sistem operasi. Misal :  

a.  Membuat gambar atau pesan pada monitor
b.  Mengganti/mengubah-ubah label dari tiap file, direktori, atau label dari drive di PC
c.  Memanipulasi file yang ditulari
d. Merusak file
e.  Mengacaukan kerja printer, dsb

5.  Kemampuan Menyembunyikan diri

Kemampuan menyembunyikan diri ini harus dimiliki oleh suatu virus agar semua pekerjaan baik dari awal
sampai berhasilnya penularan dapat terlaksana.
Langkah langkah yang biasa dilakukan adalah:

-  Program virus disimpan dalam bentuk kode mesin dan digabung dengan program lain yang dianggap berguna
oleh pemakai
-  Program virus diletakkan pada Boot Record atau track pada disk yang jarang diperhatikan oleh komputer itu
sendiri
-  Program virus dibuat sependek mungkin, dan hasil file yang diinfeksi tidak terlalu berubah ukurannya
-  Virus tidak mengubah keterangan/informasi waktu suatu file
- dll

SIKLUS HIDUP VIRUS

Siklus hidup virus secara umum, melalui 4 tahap:

o  Dormant phase ( Fase Istirahat/Tidur )
Pada fase ini virus tidaklah aktif. Virus akan diaktifkan oleh suatu kondisi tertentu, semisal: tanggal yang
ditentukan, kehadiran program lain/dieksekusinya program lain, dsb. Tidak semua virus melalui fase ini.

o  Propagation phase ( Fase Penyebaran )
Pada fase ini virus akan mengkopikan dirinya kepada suatu program atau ke suatu tempat dari media storage
(baik hardisk, RAM dsb). Setiap program yang terinfeksi akan menjadi hasil “kloning” virus tersebut
(tergantung cara virus tersebut menginfeksinya).

o  Trigerring phase ( Fase Aktif )
Di fase ini virus tersebut akan aktif dan hal ini juga di picu oleh beberapa kondisi seperti pada Dormant
Phase.

o  Execution phase ( Fase Eksekusi )
Pada fase inilah virus yang telah aktif tadi akan melakukan fungsinya. Seperti menghapus file, menampilkan
pesan-pesan, dsb

JENIS – JENIS VIRUS
Untuk lebih mempertajam pengetahuan kita tentang virus, saya akan coba memberikan penjelasan tentang
enis-jenis virus yang sering berkeliaran di masyarakat umum.
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. Sebagai contoh jika pada komputer mac dijalankan aplikasi
Word, maka virus makro yang dibuat dari bahasa makro Word dapat bekerja pada komputer bersistem operasi
Mac ini.
Contoh virus:
   Varian W97M, misal W97M.Panther  
Panjang 1234 bytes, akanmenginfeksi NORMAL.DOT dan menginfeksi dokumen apabila dibuka.
 WM.Twno.A;TW  
Panjang 41984 bytes, akan menginfeksi Dokumen Ms.Word yang menggunakan bahasa makro, biasanya
berekstensi *.DOT dan *.DOC
 dll

2.  Virus Boot Sector
Virus Boot sector ini sudah umum sekali menyebar. Virus ini dalam menggandakan dirinya, akan memindahkan
atau menggantikan boot sector asli dengan program booting virus. Sehingga saat terjadi booting maka virus akan
diload  ke memori dan selanjutnya virus  akan mempunyai kemampuan mengendalikan  hardware    standar
contoh : monitor, printer dsb) dan dari memori ini pula virus akan menyebar ke seluruh drive yang ada dan yang
erhubung ke komputer (contoh : floopy, drive lain selain drive c:).
Contoh virus :
   Varian virus wyx  
ex: wyx.C(B) menginfeksi boot record dan floopy ;  
Panjang :520 bytes;   
Karakteristik : memory resident dan terenkripsi.
   Varian V-sign :  
Menginfeksi : Master Boot Record ;    
Panjang 520 bytes;  
Karakteristik : menetap di memori (memory resident),terenkripsi, dan polymorphic)   Stoned.june    4th/ bloody!:      
Menginfeksi : Master Boot Record dan floopy;  
Panjang   520 bytes;      
Karakteristik : menetap di memori (memory resident), terenkripsi dan menampilkan pesan   "Bloody!june
4th 1989" setelah komputer melakukan booting sebanyak 128 kali.

3.  Stealth Virus 
Virus ini akan menguasai tabel interrupt pada DOS yang sering kita kenal dengan "Interrupt interceptor".
Virus ini berkemampuan untuk mengendalikan instruksi-instruksi level DOS dan biasanya mereka tersembunyi
sesuai namanya baik secara penuh ataupun ukurannya.
Contoh virus :
-  Yankee.XPEH.4928,      
Menginfeksi file *.COM dan *.EXE ;      
Panjang 4298 bytes;  
Karakteristik: menetap di memori, ukurantersembunyi, memiliki pemicu
-  WXYC (yang termasuk kategori boot record pun   karena    masuk kategri stealth dimasukkan pula disini),
Menginfeksi floopy an motherboot record;     
Panjang 520 bytes;
Karakteristik : menetap di memori; ukuran dan virus tersembunyi.
- Vmem(s):  
Menginfeksi file file *.EXE, *.SYS, dan *.COM ;   
Panjang fie 3275 bytes;  
Karakteristik:menetap di memori, ukuran tersembunyi, di enkripsi.
- dll

4.  Polymorphic Virus
Virus ini Dirancang buat mengecoh program antivirus, artinya virus ini selalu berusaha agar tidak dikenali oleh
antivirus dengan cara selalu merubah rubah strukturnya setiap kali selesai menginfeksi file/program lain.
Contoh virus:

-  Necropolis A/B,   
Menginfeksi file *.EXE dan *.COM;   
Panjang   file 1963  bytes; 
Karakteristik: menetap di memori, ukuran dan virus tesembunyi,terenkripsi dan dapat berubah ubah struktur
-  Nightfall,   
Menginfeksi file *.EXE;   
Panjang file 4554 bytes;   
Karakteristik : menetap di memori, ukuran dan virus tesembunyi,memiliki pemicu, terenkripsidan dapat
berubah-ubah struktur
- dll

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

6.  Multi Partition Virus
Virus ini merupakan gabungan dari virus boot sector dan virus file. Artinya pekerjaan yang dilakukan berakibat
dua, yaitu dia dapat menginfeksi file-file *.EXE atau *.COM dan juga menginfeksi boot sector.

BEBERAPA CARA PENYEBARAN VIRUS

Virus layaknya virus biologi harus memiliki media untuk dapat menyebar, virus komputer dapat menyebar ke
berbagai komputer/mesin lainnya juga melalui berbagai media, diantaranya:

1.  Disket, media storage R/W 
Media penyimpanan eksternal dapat menjadi sasaran empuk bagi virus untuk dijadikan media. Baik sebagai
tempat menetap ataupun sebagai media penyebarannya. Media yang bias melakukan operasi R/W (Read dan
Write) sangat memungkinkan untuk ditumpangi virus dan dijadikan sebagai media penyebaran.

2.  Jaringan ( LAN, WAN,dsb)
Hubungan antara beberapa computer secara langsung sangat memungkinkan suatu virus ikut berpindah saat
terjadi pertukaran/pengeksekusian file yang mengandung virus.

3.  WWW (internet)
Sangat mungkin suatu situs sengaja ditanamkan suatu “virus” yang akan menginfeksi komputer-komputer
yang mengaksesnya.

4.  Software yang Freeware, Shareware atau bahkan Bajakan
Banyak sekali virus yang sengaja ditanamkan dalam suatu program yang disebarluaskan baik secara gratis,
atau trial version.

5.  Attachment pada email, transfering file
Hampir semua jenis penyebaran virus akhir-akhir ini menggunakan email attachment dikarenakan semua
pemakai jasa  internet  pastilah menggunakan email untuk berkomunikasi,  file-file  ini sengaja dibuat
mencolok/menarik perhatian, bahkan seringkali memiliki ekstensi ganda pada penamaan filenya.


PENANGULANGANNYA

1.  Langkah-Langkah untuk Pencegahan
Untuk pencegahan anda dapat melakukan beberapa langkah-langkah berikut :
o  Gunakan antivirus yang anda percayai dengan update terbaru. Tidak perduli apapun merknya
asalkan selalu diupdate, dan auto-protect dinyalakan maka komputer anda terlindungi.
o  Selalu scanning semua media penyimpanan eksternal yang akan digunakan, mungkin hal ini agak
merepotkan tetapi jika auto-protect antivirus anda bekerja maka prosedur ini dapat dilewatkan.
o  Jika anda terhubung langsung ke Internet cobalah untuk mengkombinasikan antivirus anda dengan
Firewall, Anti-spamming, dsb.
o  Selalu waspada terhadap fle-file yang mencurigakan, contoh : file dengan 2 buah exstension atau
file executable yang terlihat mencurigakan.
o  Untuk software freeware + shareware, ada baiknya anda mengambilnya dari situs resminya.
o  Semampunya hindari membeli barang bajakan, gunakan software-software open source.

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

PENUTUP

Semoga pembahasan mengenai virus ini dapat memberikan manfaat khususnya bagi kita semua. Tulisan ini
ditujukan untuk pembelajaran semata sehingga sangat diharapkan  kritik  dan sarannya. Apabila banyak
kekurangan pada tulisan ini harap dimaklumi. Terakhir, penulis merasa perlu untuk mengucapkan terima kasih
kepada *puji, echostaff (MOBY, the_day, z3r0byt3, comex,), newbie_hacker members, dan semua pencinta
Opensource.


REFERENSI
1.  [ Stallings, William ], “ CRYPTOGRAPHY AND NETWORK SECURITY , principle and practice: second
edition ” , Prentice-Hall,Inc., New Jersey ,1999
2.  [ Salim, IR.Hartojo ], “ Virus Komputer, teknik pembuatan & langkah-langkah penanggulangannya ”, Andi
OFFSET, Yogyakarta , 1989.
3.  [ Amperiyanto, Tri ], “ Bermain-main dengan Virus Macro ”, Elex Media Komputindo, Jakarta,2002
4.  [ Jayakumar ], “ Viruspaperw.pdf ”, EBOOK version  
5.  [ y3dips ], “ pernak pernik Virus ” , http://ezine.echo.or.id, Jakarta, 2003
6. “ Virus Definition dari salah satu Antivirus ”


METODE GREEDY (Knapsack problem)

greedy










Dalam kehidupan sehari-hari, kita sering dipusingkan dengan media penyimpanan yang terbatas padahal kita diharuskan menyimpan beberapa objek kedalam media tersebut.
Bagaimana kita mengatur objek apa saja yang dipilih dan seberapa besar objek tersebut disimpan?
Dari permasalahan tersebut, munculah suatu permasalahan yang dikenal dengan “Permasalahan Knapsack” atau lebih dikenal dengan “Knapsack Problem”. Masalah Knapsack merupakan suatu permasalahan bagaimana memilih objek dari sekian banyak dan berapa besar objek tersebut akan disimpan sehingga diperoleh suatu penyimpanan yang optimal dengan memperhatikan objek yang terdiri dari n objek (1,2,3,...) dimana setiap objek memiliki bobot (Wi) dan profit (Pi) dengan memperhatikan juga kapasitas dari media penyimpanan sebesar M dan nilai probabilitas dari setiap objek (Xi).
Permasalahan ini dapat diselesaikan dengan 3 cara, yaitu :1. Matematika, 2. Kriteria Greedy, dan              3. Algoritma Greedy. Dalam kasus ini penulis mencoba menyelesaikan dengan 3 cara di atas.
Metode Greedy merupakan salah satu cara untuk mendapatkan solusi optimal dalam proses penyimpanan. Pada metode ini untuk mendapatkan solusi optimal dari permasalahan yang mempunyai dua kriteria yaitu Fungsi Tujuan/Utama dan Nilai Pembatas (Constrain). Fungsi Tujuan hanya terdiri atas satu fungsi sedangkan Fungsi Pembatas dapat terdiri atas lebih dari satu fungsi.
Proses Kerja Metode Greedy
Menyelesaikan suatu masalah dengan beberapa fungsi pembatas untuk mencapai satu fungsi tujuan. Jadi dalam penyelesaiannya harus ditentukan mana sebagai fungsi pembatas dan mana sebagai fungsi tujuan.
Cara menyelesaikan masalah Knapsack adalah
1.    Tentukan Fungsi Tujuan, yaitu mencari nilai maximum dari jumlah hasil perkalian antara nilai profit (Pi) dengan nilai probabilitas (Xi)
Maximum ∑Pi.Xi
2.    Tentukan Fungsi Pembatas, yang merupakan hasil penjumlahan dari perkalian antara bobot (Wi) dengan nilai probabilitas (Xi) yang tidak boleh melebihi dari kapasitas media penyimpanan (M)
∑Wi.Xi≤M, dimana
0≤Xi≤1, Pi>0, Wi>0
Dari ke-2 cara di atas berarti kita harus mengetahui
1.    Jumlah objek (n)
2.    Bobot setiap objek (Wi)
3.    Profit setiap objek (Pi)
4.    Probabilitas setiap objek (Xi), dan
5.    Kapasitas media penyimpanan (M)

Seperti penulis sudah sampaikan di atas bahwa permasalahan knapsack ini bisa diselesaikan dengan 3 cara, yaitu matematika, kriteria greedy dan algoritma greedy.
Penulis mencoba untuk membahas satu persatu.
1.    Cara Matematika, kita harus memperhatikan nilai probabilitas dari setiap barang, karena nilai inilah sebagai penentunya dengan memperhatikan nilai probabilitas (Xi) yaitu 0≤Xi≤1. Disini nilai Xi kisarannya sangat banyak bisa 0, 0.1, 0.01, 0.001, ...., 1.

2.    Kriteria greedy dengan memperhatikan:
a.    Pilih objek dengan nilai profit terbesar (Pi)
b.    Pilih objek dengan bobot terkecil (Wi)
c.    Pilih objek dengan nilai perbandingan profit dengan bobot yang terbesar (Pi/Wi)

3.    Algortima greedy, yaitu
PROCEDURE GREEDY KNAPSACK (P, W, X, n)
REAL  P(1:n), W(1:n), X(1:n), M, isi
INTEGER i, n
X(1:n) = 0
isi = M
FOR i = 1 TO n DO
            IF  W(i) > isi THEN EXIT ENDIF
            X(i) = 1
            isi = isi – W(i)
REPEAT
IF i ≤ n THEN X(i) = isi/W(i) ENDIF
END GREEDY KNAPSACK
Teknik yang ke-3 ini akan efektif jika objek disusun secara tidak naik (non increasing) berdasarkan nilai Pi/Wi.

Contoh :
Diketahui 3 barang yang akan disimpan pada suatu tempat yang memiliki kapasitas maksimal sebesar 20 Kg. Berat masing-masing barang adalah 18 Kg, 15 Kg, dan 10 Kg dimana setiap barang memiliki profit sebesar masing-masing 25, 24, dan 15. Tentukan barang mana saja yang dapat disimpan ke dalam tempat penyimpanan sehingga diperoleh nilai profit yang maksimal.
Jawab
1.    Cara matematika
n = 3, (1, 2, 3)   à  objek
M = 20 à kapasitas
(W1, W2, W3) = (18, 15, 10)
(P1, P2, P3) = (25, 24, 15)
Nilai probabilitas 0 ≤ Xi ≤ 1
Solusi ke
Nilai Probabilitas
Fungsi Pembatas
Fungsi Tujuan
∑ Wi.Xi ≤ M
∑ Pi.Xi (Maximum)
(X1, X2, X3)
(W1. X1) + (W2. X2) + (W3. X3) ≤ M
(P1. X1) + (P2. X2) + (P3. X3)
1
(1, 2/15, 0)
(18.1) + (15.2/15) + (10.0) ≤ 20
(25.1) + (24.2/15) + (15.0)


20
28,2
2
(1, 0, 1/5)
(18.1) + (15.0) + (10.1/5) ≤ 20
(25.1) + (24.0) + (15.1/5)


20
28
3
(0, 1, ½)
(18.0) + (15.1) + (10.1/2) ≤ 20
(25.0) + (24.1) + (15.1/2)


20
31,5
4
(1/3, ½, ½)
(18.1/3) + (15.1/2) + (10.1/2) ≤ 20
(25.1/3) + (24.1/2) + (15.1/2)


18,5
27,83
...
....
....
....

Dengan cara ini sulit untuk menentukan yang paling optimal sebab  kita harus mencari nilai probabilitas yang tersebar antara 0 dan 1, 0 ≤ Xi ≤ 1 untuk setiap objek. Cara ini disarankan tidak digunakan.
2.    Cara kriteria greedy
n = 3, (1, 2, 3)   à  objek
M = 20 à kapasitas
(W1, W2, W3) = (18, 15, 10)
(P1, P2, P3) = (25, 24, 15)
Nilai probabilitas 0 ≤ Xi ≤ 1
Kriteria greedy :
a.    Pilih objek dengan nilai profit terbesar (Pi)
Susun data sesuai kriteria:
(P1, P2, P3) = (25, 24, 15)
(W1, W2, W3) = (18, 15, 10)
Solusi ke
Nilai Probabilitas
Fungsi Pembatas
Fungsi Tujuan
∑ Wi.Xi ≤ M
∑ Pi.Xi (Maximum)
(X1, X2, X3)
(W1. X1) + (W2. X2) + (W3. X3) ≤ M
(P1. X1) + (P2. X2) + (P3. X3)
a
(1, 2/15, 0)
(18.1) + (15.2/15) + (10.0) ≤ 20
(25.1) + (24.2/15) + (15.0)


20
28,2
b.    Pilih objek dengan bobot terkecil (Wi)
Susun data sesuai kriteria:
(P3, P2, P1) = (15, 24, 25)
(W3, W2, W1) = (10, 15, 18)
Solusi ke
Nilai Probabilitas
Fungsi Pembatas
Fungsi Tujuan
∑ Wi.Xi ≤ M
∑ Pi.Xi (Maximum)
(X3, X2, X1)
(W3. X3) + (W2. X2) + (W1. X1) ≤ M
(P3. X3) + (P2. X2) + (P1. X1)
b
(1, 2/3, 0)
(10.1) + (15.2/3) + (18.0) ≤ 20
(15.1) + (24.2/3) + (25.0)


20
31

c.    Pilih objek dengan nilai perbandingan profit dengan bobot yang terbesar (Pi/Wi)
Data yang diketahui:
(P1, P2, P3) = (25, 24, 15)
(W1, W2, W3) = (18, 15, 10)
perbandingan profit dengan bobot
P1/ W1 = 25/18 = 1,39
P2/ W2 = 24/15 = 1,6
P3/ W3 = 15/10 = 1,5
Susun data sesuai kriteria:
(P2, P3, P1) = (24, 15, 25)
(W2, W3, W1) = (15, 10, 18)

Solusi ke
Nilai Probabilitas
Fungsi Pembatas
Fungsi Tujuan
∑ Wi.Xi ≤ M
∑ Pi.Xi (Maximum)
(X2, X3, X1)
(W2. X2) + (W3. X3) + (W1. X1) ≤ M
(P2. X2) + (P3. X3) + (P1. X1)
c
(1, 1/2, 0)
(15.1) + (10.1/2) + (18.0) ≤ 20
(24.1) + (15.1/2) + (25.0)


20
31,5
Dari 3 kriteria di atas dapat disimpulkan bahwa fungsi tujuan yang bernilai maximum adalah 31,5 dengan fungsi pembatasnya adalah 20 dan nilai probabilitasnya adalah (X2, X3, X1) = (1, 1/2, 0), jadi disini yang memeberikan hasil optimal pada kriteria yang ke-3 yaitu Pilih objek dengan nilai perbandingan profit dengan bobot yang terbesar (Pi/Wi)
3.    Cara algoritma greedy
Teknik ini akan efektif jika objek disusun secara tidak naik (non increasing) berdasarkan nilai Pi/Wi.
Data yang diketahui:
n = 3, (1, 2, 3)   à  objek
M = 20 à kapasitas
(W1, W2, W3) = (18, 15, 10)
(P1, P2, P3) = (25, 24, 15)
Nilai probabilitas 0 ≤ Xi ≤ 1
perbandingan profit dengan bobot
P1/ W1 = 25/18 = 1,39
P2/ W2 = 24/15 = 1,6
P3/ W3 = 15/10 = 1,5
Susun data sesuai kriteria (non increasing):
(P2, P3, P1) = (24, 15, 25) atau
(P1, P2, P3) = (24, 15, 25)
(W2, W3, W1) = (15, 10, 18) atau
(W1, W2, W3) = (15, 10, 18)
Masukkan nilai kriteria di atas ke dalam algoritma greedy
1.    PROCEDURE GREEDY KNAPSACK (P, W, X, n)     à nama prosedur/proses
2.    REAL  P(1:n), W(1:n), X(1:n), M, isi     à variabel yang digunakan
3.    INTEGER i, n    à variabel yang digunakan
4.    X(1:n) = 0
5.    isi = M
6.    FOR i = 1 TO n DO
7.  IF  W(i) > isi THEN EXIT ENDIF
       8.    X(i) = 1
9.     isi = isi – W(i)
10. REPEAT
11. IF i ≤ n THEN X(i) = isi/W(i) ENDIF
12. END GREEDY KNAPSACK   à akhir prosedur/proses
Proses kegiatan dimulai dari langkah ke- 4 sampai dengan 11.
X(1:3) = 0, artinya X(1)=0, X(2)=0, X(3)=0
isi = M = 20
Pengulangan untuk i = 1 sampai dengan 3



Untuk i = 1
          Apakah W(1) > isi
                 Apakah 15 > 20, jawabnya tidak, karena tidak maka perintah dibawah IF dikerjakan.
                 X(1) = 1 à nilai probabilitas untuk objek pada urutan pertama (X1)
                 isi = 20 – 15 = 5
REPEAT à mengulang untuk perulangan FOR
Untuk i = 2
          Apakah W(2) > isi
                 Apakah 15 > 5, jawabnya ya, karena ya maka perintah EXIT dikerjakan, yaitu keluar dari pengulangan/FOR dan mengerjakan perintah di bawah REPEAT.
                 Apakah 2 ≤ 3, jawabnya ya, karena ya maka X(2) = 5/10 = ½ à nilai probabilitas untuk objek pada urutan kedua (X2).
Selesai (akhir dari prosedur greedy knapsack)
Berarti untuk nilai X(3) = 0 atau X3 = 0, sebab nilai probabilitas untuk objek ke-3 tidak pernah dicari.
Jadi
 (P1, P2, P3) = (24, 15, 25)
(W1, W2, W3) = (15, 10, 18)
(X2, X3, X1) = (1, 1/2, 0)
Fungsi Pembatas :
∑ Wi.Xi ≤ M
(W1. X1) + (W2. X2) + (W3. X3) ≤ M
(15.1) + (10.1/2) + (18.0) ≤ 20
20 ≤ 20
Fungsi Tujuan :
∑ Pi.Xi = (P1. X1) + (P2. X2) + (P3. X3)
            = (24.1) + (15.1/2) + (25.0)
            = 31,5

Latihan :
Diketahui 4 barang yang akan disimpan pada suatu tempat yang memiliki kapasitas maksimal sebesar 30 Kg. Berat masing-masing barang adalah 15 Kg, 10 Kg, 18 Kg dan 20 Kg dimana setiap barang memiliki profit sebesar masing-masing 20, 25, 9, dan 15. Tentukan barang mana saja yang dapat disimpan ke dalam tempat penyimpanan sehingga diperoleh nilai profit yang maksimal (Cari dengan kriteria greedy dan algoritma greedy).