Sabtu, 27 Juni 2020

QUEUE (ANTRIAN)

A. Definisi Queue (Antrian)

          Queue merupakan suatu struktur data linear. Konsepnya hampir sama dengan Stack, perbedaannya adalah operasi penambahan dan penghapusan pada ujung yang bebeda. Penghapusan dilakukan pada bagian depan (front) dan penambahan berlaku pada bagian belakang (Rear). Elemen-elemen di dalam antrian dapat bertipe integer, real, record dalam bentuk sederhana atau terstruktur.

          Tumpukan disebut juga “Waiting Line” yaitu penambahan elemen baru dilakukan pada bagian belakang dan penghapusan elemen dilakukan pada bagian depan. Sistem pada pengaksesan pada Queue menggunakan sistem FIFO (First In First Out), artinya elemen yang pertama masuk itu yang akan pertama dikeluarkan dari Queue. Queue jika diartikan secara harfiah, queue berarti antrian. Queue merupakan salah satu contoh aplikasi dari pembuatan double linked list yang cukup sering kita temui dalam kehidupan sehari-hari, misalnya saat anda mengantri diloket untuk membeli tiket.

         Istilah yang cukup sering dipakai apabila seseorang masuk dalam sebuah antrian adalah enqueue. Sedang istilah yang sering dipakai bila seseorang keluar dari antrian adalah dequeue.

B. Operasi-operasi pada Queue

1. Create Queue (Q) : membuat antrian baru Q, dengan jumlah elemen kosong.
2. Make NullQ (Q) : mengosongkan antrian Q, jika ada elemen maka semua elemen dihapus.
3. EnQueue : berfungsi memasukkan data kedalam antrian.
4. DeqQueue : berfungsi mengeluarkan data terdepan dari antrian.
5. Clear : Menghapus seluruh Antrian
6. IsEmpty : memeriksa apakah antrian kosong
7. IsFull : memeriksa apakah antrian penuh.

Jumat, 19 Juni 2020

STACK LANJUT

STACK
(Tumpukan)

 A. Pengertian Stack (Tumpukan)

          Stack (Tumpukan) adalah kumpulan elemen-elemen data yang disimpan dalam satu lajur linear. Kumpulan elemen-elemen data hanya boleh diakses pada satu lokasi saja yaitu posisi ATAS (TOP) tumpukan. Tumpukan digunakan dalam algoritma pengimbas (parsing), algoritma penilaian (evaluation) dan algoritma penjajahan balik (backtrack). Elemen-elemen di dalam tumpukan dapat bertipe integer, real, record dalam bentuk sederhana atau terstruktur.

          Stack adalah suatu tumpukan dari benda. Konsep utamanya adalah LIFO (Last In First Out), benda yang terakhir masuk dalam stack akan menjadi benda pertama yang dikeluarkan dari stack. Tumpukan disebut juga “Push Down Stack” yaitu penambahan elemen baru (PUSH)ndan penghapusan elemen dari tumpukann(POP). Contoh pada PDA (Push Down Automaton). Sistem pada pengaksesan pada tumpukan menggunakn system LIFO (Last In First Out), artinya elemen yang terakhir masuk itu yang akan pertama dikeluarkan dari tumpukan (Stack). Ilustrasi tumpukan (Stack) dapat digambarkan seperti tumpukan CD atau tumpukan sate. Stack merupakan suatu susunan koleksi data dimana dapat ditambahkan dan dihapus selalu dilakukan pada bagian akhir data, yang disebut dengan Top Of Stack.

          Sebelum struktur data tumpukan ini bisa digunakan, harus dideklarasikan dahulu dalam kamus data. Ada beberapa cara pendeklarasian struktur data ini, salah satunya dengan menggunakan tata susunan linear (larik) dan sebuah variable, yang dikemas dalam tipe data record. Stack (tumpukan) adalah struktur data bertipe record yang terdiri dari field elemen, bertipe larik/array dengan indek dari 1 sampai dengan MaksTum (Maksimum Tumpukan), atas, bertipe interger berkisar dari 0 (saat kosong) sampai dengan MaksTum (Maksimum Tumpukan).

B. Operasi – operasi pada Stack (Tumpukan)

Operasi yang sering diterapkan pada struktur data Stack (Tumpukan) adalah Push dan Pop. Operasi – operasi yang dapat diterapkan adalah sebagai berikut :

1. Push : digunakan untuk menembah item pada Stack pada Tumpukan paling atas.
2. Pop : digunakan untuk mengambil item pada Stack pada Tumpukan paling atas.
3. Clear : digunakan untuk mengosongkan Stack.
4. Create Stack : membuat Tumpukan baru S, dengan jumlah elemen kosong.
5. MakeNull : mengosongkan Tumpukan S, jika ada elemen maka semua elemen dihapus.
6. IsEmpty : fungsi yang digunakan untuk mengecek apakah Stack sudah kosong.
7. Isfull : fungsi yang digunakan untuk mengecek apakah Stack sudah penuh.

           Pada proses Push, Tumpukan (Stack) harus diperiksa apakah jumlah elemen sudah mencapai masimum atau tidak. Jika sudah mencapai maksimum maka OVERFLOW, artinya Tumpukan penuh tidak ada elemen yang dapat dimasukkan ke dalam Tumpukan. Sedangkan pada proses Pop, Tumpukan harus diperiksa apakah ada elemen yang hendak dikeluarkan atau tidak. Jika tidak ada maka UNDERFLOW, artinya tumpukan kosong tidak ada elemen yang dapat diambil.

C. Macam – macam Stack

1. Stack dengan Array

Sesuai dengan sifat stack, pengambilan atau penghapusan elemen dalam stack harus dimulai dari elemen teratas.

2. Double Stack dengan Array

Metode ini adalah teknik khusus yang dikembangkan untuk menghemat pemakaian memori dalam pembuatan dua stack dengan array. Intinya adalah penggunaan hanya sebuah array untuk menampung dua stack.



Kesimpulan :

 Dari penjelasan diatas dapat disimpulkan stack  adalah sekumpulan data yang organisasi atau strukturnya bersifat tumpukan dan karakteristik yang terbaik dengan sifat dan cara penyimpanan sekaligus penggunaan atau pengaksesan data. Karakteristik tersebut mengikat dan sekaligus secara timbal balikdipengaruhi oleh algoritma yang mengakses data tersebut. Dalam kamus data, ada beberapa cara pendeklarasian struktur data, salah satunya dengan menggunakan tata susunan linier  dan sebuah variabel, yang dikemas dalam tipe data record.

Jumat, 12 Juni 2020

STACK DALAM C++

Stack adalah tipe data abstrak yang umum digunakan pada seluruh pemrograman komputer.

Stack sendiri sama seperti halnya tumpukan jika di dunia nyata, misalnya tumpukan piring yang telah selesai dicuci, akan ditumpuk dari bawah ke atas, kemudian setelah semua bersih maka diambil satu persatu dari atas ke bawah di masukkan ke lemari atau rak piring.


OPERASI PADA STACK

Langkah - langkah operasi push diantaranya.

  1. Memeriksa apakah tumpukan(stack) penuh
  2. Jika tumpukan penuh, maka sudah tidak ada ruang untuk memasukkan data ke tumpukan, jadi cukup tampilkan pesan bahwa tumpukan sudah penuh.
  3. Jika masih ada ruang, tambahkan satu nilai pada atas(top) tumpukan untuk menunjukkan ke ruang kosong selanjutnya
  4. Menambahkan data dimana ruang kosong yang telah ditunjuk oleh top.

Langkah - langkah operasi pop diantaranya.

  1. Memeriksa apakah tumpukan kosong.
  2. Jika tumpukan kosong, maka sudah tidak ada lagi data untuk dihapus, maka cukup tampilkan pesan bahwa tumpukan kosong.
  3. Jika masih ada data pada tumpukan, maka akses data yang paling atas (top)
  4. kemudian mengurangi nilai penunjuk top.
PROGRAM STACK
  1. Untuk mengimplementasikan program stack di C++ kita membutuhkan tiga method atau fungsi push(); untuk menambahkan data ke tumpukan, pop(); untuk me ngeluarkan data dari tumpukan dan printStack() untuk menampilkan data yang ada di tumpukan.
  2. Selain tiga fungsi tersebut, kita akan membuat dua fungsi opsional untuk mengecek apakah tumpukan kosong isEmpty() dan tumpukan penuh isFull().
  3. Untuk menyimpan data kita bisa menggunakan empty array dengan maksimum array yang nanti akan kita definisikan sebagai maksimum tumpukan.
  4. Agar data tumpukannya terstruktur kita bisa menggunakan struct sehingga lebih mudah mengakses data top dan array datanya sendiri seperti sebuah object.
  5. Karena ini adalah program konsole maka tentu kita juga akan membuat fungsi main().

Rabu, 12 November 2014

NEWBEE the champion dota2 2014

“The International DOTA 2 World Championship – 2014″DOTA 2, Valve
The International DOTA 2 World Championship 2014
Valve kembali sukses menggelar ‘pesta’ kompetisi e-Sports paling spektakuler melalui penyelenggaraan ‘The International DOTA 2 World Championship 2014‘, yang baru saja menyelesaikan seluruh rangkaian pertandingan seru nan fantastis dari ke-16 tim DOTA 2 terbaik di dunia. Sang pemuncak adalah ‘NewBee‘, tim debutan baru namun bermuka lama yang secara perkasa melibas tim-tim dengan prestasi lebih mentereng, seperti Natus Vincere (juara bertahan tahun 2013), FnaticLiquid,Evil GeniusesViCi GamingDKInvictus.
NewBee - The Winner of TI4
Meski berstatus tim debutan yang baru terbentuk awal tahun ini, NewBee beranggotakan eks punggawa tim TongFu (Zhang ‘Mu‘ Pan, Chen ‘Hao‘ Zhihao, Zhaohui ‘SanSheng‘ Wang, Jiao ‘Banana‘ Wang, Zhou ‘KingJ‘ Yang, dan Zhang ‘xiao8‘ Ning). Sempat kesulitan di partai-partai awal penyisihan, permainan tim ini terus meningkat dan mulai ‘nyetel‘ hingga akhirnya menundukkan tim ViCi Gaming di babak final ‘The International DOTA 2 World Championship 2014‘, di KeyArenaSeattle Center21 Juli 2014 kemarin, dengan skor 3 – 1.
newbee_dota2_theinternational_winner-06
Sebelum berlaga di final, tim NewBee sudah lebih dulu mendepak ViCi ke Lower Bracket dan menumbangkan wakil kuat asal AS, Evil Geniuses. Namun, ViCi pun berhasil lolos dari hadangan tim Cloud 9DK, kemudian menumbangkan EG, untuk kembali beradu dengan NewBee di partai puncak. Sementara, beberapa kejutan yang terjadi antara lain saat tim C9 mengungguli juara bertahan tahun lalu, NaVi, dan sepak terjang tim kuda hitam, LGD, menggilas tim favorit TI4 lainnya,Invictus Gaming.
newbee_dota2_theinternational_winner-04
Gelar juara ini berarti tim NewBee meraih kocekan hadiah senilai lebih dari $5 juta dolar AS, dari rekor total perolehan hadiah turnamen ‘The International‘ melebihi $10 juta dolar AS. Sedangkan posisi runner-up,tim ViCi berhak atas hadiah mendekati $1.5 juta dolar AS (plus hadiah kepada 12 tim lainnya).
newbee_dota2_theinternational_winner-05
Sebuah rekor baru untuk total hadiah turnamen e-Sports, yang juga dibarengi dengan torehan prestasi jumlah pengunjung lebih besar dari penyelenggaraan ‘The International‘ sebelumnya dengan catatan sekitar 17.000 orang hadir memadati lokasiKeyArena. Sukses besar juga bagi tim e-Sports asal Asia, khususnya para wakil dari Cina, yang dominan sepanjang turnamen. Semoga bisa menjadi acuan berarti dan motivasi bagi para wakil Asia lainnya (berharap itu wakil dari Indonesia!) untuk terus berprestasi serta menopang kemajuan e-Sports kedepannya.
newbee_dota2_theinternational_winner-03
Sepertinya sudah tak terbantahkan, bahwa dunia e-Sports secara global masih sangat berharap dengan kepopuleran DOTA 2untuk terus melahirkan gairah-gairah baru berkompetisi bagi para gamer seluruh dunia. Selamat kepada tim NewBee, terima kasih Valve, dan sukses terus DOTA 2!

MACAM MACAM VIRUS

Inilah Berbagai Jenis Virus Komputer Beserta Penjelasannya

Inilah Berbagai Jenis Virus Komputer Beserta Penjelasannya - Virus komputer adalah sebuah program perangkat lunak berbahaya yang ditulis dengan sengaja untuk memasuki komputer tanpa izin atau tanpa spengetahuan pengguna. Virus komputer punya kemampuan untuk mengandakan dirinya sendiri, akibatnya dapat terus menyebar. Beberapa virus melakukan sedikit kerusakan, sementara yang lain dapat menyebabkan kerusakan parah atau mempengaruhi kinerja program dan sistem.

Ada berbagai jenis virus yang dapat diklasifikasikan menurut asal mereka, teknik, jenis file yang mereka infeksi, di mana mereka bersembunyi, jenis kerusakan, jenis sistem operasi. Berikut ini berbagai jenis virus komputer beserta penjelasannya .

1. Memory Resident Virus

Virus ini menetapkan dalam memori komputer dan otomatis aktif setiap kali OS berjalan dan menginfeksi semua file yang dibuka.

- Persembunyian: Jenis virus ini bersembunyi dalam RAM dan tinggal di sana bahkan setelah kode berbahaya dijalankan. Virus mendapat kontrol atas memori sistem dan mengalokasikan blok memori di mana ia menjalankan kode sendiri, dan mengeksekusi kode ketika fungsi apapun dijalankan.

- Target: Dapat merusak file dan program yang dibuka, ditutup, disalin, diubah namanya, dll.

- Contoh: Randex, CMJ, Meve, dan MrKlunky.

- Proteksi: Instal program antivirus

2. Direct Action Viruses

Tujuan utama virus ini adalah untuk meniru dan bertindak ketika dijalankan. Ketika kondisi tertentu terpenuhi, virus akan beraksi dan menginfeksi file dalam direktori atau folder yang ditentukan dalam path file AUTOEXEC.BAT. File batch ini selalu terletak di direktori root hard disk dan melakukan operasi tertentu ketika komputer boot.

Teknik FindFirst / FindNext digunakan di mana kode memilih beberapa file sebagai korbannya. Hal ini juga menginfeksi perangkat eksternal seperti pen drive atau hard disk.

- Persembunyian: Virus terus berpindahlokasi  ke file baru setiap kali kode dijalankan, tapi umumnya ditemukan di direktori root pada hard disk.

- Target: Virus ini dapat merusak file. Pada dasarnya, ini adalah file virus-infector.

- Contoh: Vienna virus

- Proteksi: Instal scanner antivirus.


3. Overwrite Viruses

Virus jenis ini menghapus informasi dalam file yang terinfeksi.

- Persembunyian: Virus menggantikan isi file. Namun, tidak mengubah ukuran file.

- Contoh: Way, Trj.Reboot, Trivial.88.D

- Proteksi: Satu-satunya cara untuk membersihkan file yang terinfeksi oleh virus Overwrite adalah dengan menghapus file yang terinfeksi.

4. Boot Sector Virus

Jenis virus ini mempengaruhi sektor boot dari sebuah hard disk. Ini adalah bagian penting dari disk, di mana informasi dari disk itu sendiri disimpan bersama dengan sebuah program yang memungkinkan untuk boot (mulai) . Virus jenis ini juga disebut Master Boot Sector Virus or Master Boot Record Virus.

- Persembunyian: Virus ini bersembunyi di dalam memori hingga DOS mengakses floppy disk, Dan ke manapun data yang boot akses, virus menginfeksi itu.

- Contoh: Polyboot.B, AntiEXE

- Proteksi: Cara terbaik untuk menghindari virus boot sector adalah untuk memastikan floppy disk di write protect.


5. Macro Virus

Macro virus menginfeksi file yang dibuat menggunakan aplikasi atau program tertentu yang berisi macro, seperti doc, Xls, Pps, Mdb, dll. Virus ini otomatis menginfeksi file yang berisi macro, dan juga menginfeksi template dan dokumen. Hal ini disebut juga sebagai jenis virus e-mail.

- Persembunyian: Bersembunyi dalam dokumen yang dibagi melalui e-mail atau jaringan.

- Contoh:Relax, Melissa.A, Bablas, O97M/Y2K

- Proteksi: Teknik perlindungan terbaik adalah  menghindari membuka e-mail dari pengirim yang tidak dikenal. Juga, menonaktifkan macro dapat membantu melindungi data.

6. Directory Virus
Direktori virus (juga disebut Cluster Virus / File System Virus) menginfeksi direktori komputer  dengan mengubah jalan yang menunjukkan lokasi file. Ketika menjalankan program file dengan ekstensi EXE. Atau COM. Yang telah terinfeksi oleh virus, Anda tidak sadar menjalankan program virus, sedangkan file asli dan program sebelumnya dipindahkan oleh virus. Setelah terinfeksi, menjadi mustahil untuk menemukan file asli.

- Persembunyian: Virus ini biasanya terletak dalam satu lokasi disk, tetapi menginfeksi seluruh program dalam direktori.

- Contoh: virus Dir-2

- Proteksi: instal ulang semua file yang terinfeksi setelah memformat disk.

7. Polymorphic Virus

Virus polimorfik mengenkripsi atau menyandikan diri dengan cara yang berbeda (menggunakan algoritma yang berbeda dan kunci enkripsi) setiap kali mereka menginfeksi sistem.

- Contoh: Elkern, Marburg, Setan Bug, dan Tuareg

- Proteksi: Instal antivirus high-end.

8. Companion Viruses

- Persembunyian: umumnya menggunakan nama file yang sama dan membuat ekstensi yang berbeda. Sebagai contoh: Jika ada file "Me.exe", virus membuat file lain bernama "Me.com" dan bersembunyi di file baru. Ketika sistem memanggil nama file "Me", yang ". Com" file dijalankan (sebagai ". Com" memiliki prioritas lebih tinggi daripada "exe."), Sehingga menginfeksi sistem.

- Contoh: Stator, Asimov.1539 dan Terrax.1069

- Proteksi: Instal scanner antivirus dan juga men-download Firewall.

9. FAT Virus

File allocation table (FAT) adalah bagian dari disk yang digunakan untuk menyimpan semua informasi mengenai lokasi file, ruang yang tersedia, ruang tidak dapat digunakan, dll

- Persembunyian: virus FAT menyerang bagian FAT dan dapat merusak informasi penting. Hal ini bisa sangat berbahaya karena mencegah akses ke bagian tertentu dari disk dimana file penting disimpan. Kerusakan yang disebabkan dapat mengakibatkan hilangnya informasi dari file individual atau bahkan seluruh direktori.

- Contoh: link Virus

- Proteksi: Sebelum serangan virus menyebar ke semua file di komputer, car semua file yang benar-benar diperlukan pada hard drive, dan hapus yang yang tidak diperlukan. Mereka mungkin file yang dibuat oleh virus.

10. Multipartite Virus

Virus ini menyebar dalam berbagai cara tergantung pada sistem operasi yang terpasang dan adanya file tertentu.

- Persembunyian: Pada tahap awal, virus ini cenderung bersembunyi di dalam memori kemudian menginfeksi hard disk.

- Contoh: Invader, Flip dan Tequila

- Proteksi: Bersihkan sektor boot dan juga disk untuk menyingkirkan virus, dan kemudian kembalikan semua data di dalamnya. Namun, pastikan bahwa data  bersih.

11. Web Scripting Virus

Banyak halaman web mengunakan kode yang kompleks dalam rangka menciptakan konten yang menarik dan interaktif. Kode ini sering dimanfaatkan untuk  tindakan yang tidak diinginkan.

- Persembunyian: Sumber utama scripting virus web browser atau halaman web yang terinfeksi.

- Contoh: JS.Fortnight adalah virus berbahaya yang menyebar melalui e-mail.

- Proteksi: Instal aplikasi microsoft tool yang merupakan fitur standar pada Windows 2000, Windows 7 dan Vista. Scan komputer dengan aplikasi ini.

12. Worms

Worm adalah program yang sangat mirip dengan virus, memiliki kemampuan untuk mereplikasi diri dan dapat menyebabkan efek negatif pada sistem . Tapi mereka dapat dideteksi dan dihilangkan dengan perangkat lunak antivirus.

- Persembunyian: umumnya ini menyebar melalui e-mail dan jaringan. Mereka tidak menginfeksi file atau merusak mereka, tetapi mereka meniru begitu cepat sehingga seluruh jaringan akan runtuh.

- Contoh: PSWBugbear.B, Lovgate.F, Trile.C, Sobig.D, Mapson

- Proteksi: Instal antivirus versi terbaru.

13. Trojans

Trojan atau Trojan horse adalah kode berbahaya , yang tidak seperti virus, tidak mereproduksi dengan menginfeksi file lainnya, juga tidak mereplikasi diri seperti cacing. Program ini menyamar dirinya sebagai program atau aplikasi yang berguna.

Selain itu, ada banyak virus komputer lain yang memiliki potensi untuk menginfeksi data. Oleh karena itu, lindungi komputer kamu dengan menginstal perangkat lunak antivirus yang berkualitas tinggi dan asli. Selain itu jangan mendownload file di sebarang
 situs download gratis.