Pengetahuan Dasar Pemrograman Thread di C#
C# memungkinkan kita mengeksekusi code secara parallel melalui multi-threading.
Apa yang dimaksud dgn thread?
Thread adalah potongan kode yg independent (dari sebuah proses) yang di ekseskusi oleh CPU yg penjadwalanya di lakukan oleh Operating sytem.
Perbedaan Multi-Tasking dan Multi-treading
Multitasking adalah beberapa aplikasi/program yang dijalankan secara paralel (sebenarnya sih dijalankan bergantian secara cepat) oleh operating system contohnya anda menjalankan program ms.excel sambil membuka program musik WinAmp. Kita merasakan program excel dan winamp berjalan bersamaan , padahal sebenarnya CPU diperintahkan oleh OS mengeksekusi program excel dan winamp secara bergantian dgn kecepatan tinggi.
Multi-treading adalah beberapa tread potongan program dlm satu aplikasi/proses yang dilaksana secara paralel (sebenernya sih bergantian secara cepat. kecuali prosesornya double core). contohnya adalah sebuah program server misal chat server maka ia harus melayani permintaan client yang datang hampir bersamaan secara paralel. server akan membuat thread untuk melayani tiap client yg datang. setiap client dilayani oleh satu thread. sehingga tidak ada antrian jika client yang datang banyak.
Untuk melihat Prosses dan thread yang sedang aktif di OS windows anda bisa menekan Alt+Ctrl+Del klik menu Task Manager maka akan tampil sbb:
(jika kolom thread tdk tampak , klik menu View ->select colom->di centang/check thread count.)
Perumpamaan lain multi-threading adalah Koki di restoran yang mempunyai anak buah. Untuk setiap pelanggan dilayani oleh 1 anak buah jadi pelanggan tdk perlu menunggu lama. Koki nya adalah program/proses, anak buah kokinya adalah thread.
Beberapa contoh manfaat Thread
- Pada user interface
Sebuah proses dlm program biasanya berurutan spt ini:
Input data->proses data->menampilkan data.
tiap proses bisa jadi memakan waktu lama. jika tiap proses di atas masing masing dibuatkan sebuah thread maka ketika data sedang di proses input data bisa tetap berlangsung dan ketika proses data sedang berlangsung bisa juga di cancel karena proses diatas berjalan secara paralel.
- Pada aplikasi server
Misalkan aplikasi webserver , aplikasi ini melayani permintaan page untuk tiap permintaan client yg datang. Tiap client yang datang dilayani oleh 1 thread . jika pada saat yg hampir bersamaan datang 10 client maka akan dibuatkan 10 thread yg melayani secara bersamaan.
using System;
using System.Threading;
public class MyThread {
public static void Thread1() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci gelas ke {0}”, i);
Thread.Sleep(3000);
}
}
public static void Thread2() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci piring ke {0}”, i);
Thread.Sleep(3000);
}
//Thread.Sleep(3000);
}
}
public class MyClass {
public static void Main() {
Console.WriteLine(“mulai mencuci tumpukan gelas dan piring “);
Thread tid1 = new Thread(new ThreadStart(MyThread.Thread1 ) );
Thread tid2 = new Thread(new ThreadStart(MyThread.Thread2 ) );
tid1.Start();
tid2.Start();
}
}
Memang jika di lihat hasil di layar monitor terlihat secara selang seling, tapi secara tdk terlihat ke 2 thread di proses paralel.
Kalau program diatas tanpa threading maka hasilnya akan berurutan mencuci gelas sampai selesai baru kemudian mencuci piring sampai selesai.
Program mencuci tumpukan gelas dan piring tanpa threading:
using System;
using System.Threading;
public class non_Thread {
public void cuci_gelas() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci gelas ke {0}”, i);
}
}
public void cuci_piring() {
for (int i = 0; i < 10; i++) {
Console.WriteLine(“cuci piring ke {0}”, i);
}
}
}
public class MyClass {
public static void Main() {
Console.WriteLine(“=======================================”);
Console.WriteLine(“mulai mencuci tumpukan gelas dan piring “);
Console.WriteLine(“=======================================”);
non_Thread tid1 = new non_Thread();
tid1.cuci_gelas();
tid1.cuci_piring();
Console.WriteLine(“=======================================”);
Console.WriteLine(” Selesai…nyucinya ! “);
Console.WriteLine(“=======================================”);
}
}
program tanpa threading
Source = http://pccontrol.wordpress.com/2012/03/13/pengetahuan-dasar-pemrograman-thread-di-c-sharp/
scan nmap
Spesifikasi Target
Semua yang ada pada perintah baris Nmap yang bukan berupa opsi (atau argumen opsi) dianggap sebagai spesifikasi host target. Kasus paling sederhana adalah menspesifikasikan alamat IP target atau nama host untuk diperiksa.
Terkadang anda ingin memeriksa seluruh jaringan host-host yang berdekatan. Untuk hal ini, Nmap mendukung pengalamatan CIDR-style. Anda dapat menambahkan /<numbits> ke sebuah alamat IPv4 atau nama host dan Nmap akan memeriksa setiap alamat IP yang alamat <numbits> pertamanya sama dengan alamat IP referensi atau nama host yang diberikan. Sebagai contoh, 192.168.10.0/24 akan memeriksa 256 host antara 192.168.10.0 (biner: 11000000 10101000 00001010 00000000) dan 192.168.10.255 (biner: 11000000 10101000 00001010 11111111), inklusif. 192.168.10.40/24 akan memeriksa target-target yang sama. Misalkan host scanme.nmap.org memiliki alamat IP 64.13.134.52, spesifikasi scanme.nmap.org/16 akan memeriksa sebanyak 65.536 alamat IP antara 64.13.0.0 dan 64.13.255.255. Nilai terkecil yang diijinkan adalah /0, yang akan memeriksa seluruh Internet. Nilai terbesar adalah /32, yang hanya akan memeriksa host atau alamat IP yang disebutkan karena seluruh bit alamat tetap.
Notasi CIDR pendek namun tidak selalu fleksibel. Sebagai contoh, anda mungkin ingin memeriksa 192.168.0.0/16 namun ingin melewati IP yang diakhiri dengan .0 atau .255 karena mereka mungkin digunakan sebagai subnet jaringan dan alamat broadcast. Nmap mendukung hal ini melalui pengalamatan rentang oktet. Alih-alih menspesifikasikan alamat IP normal, anda dapat menspesifikasikan daftar angka atau rentang untuk setiap oktet. Sebagai contoh, 192.168.0-255.1-254 akan melewati seluruh alamat dalam rentang yang berakhiran dalam .0 atau .255, dan 192.168.3-5,7.1 akan memeriksa empat alamat 192.168.3.1, 192.168.4.1, 192.168.5.1, dan 192.168.7.1. Kedua sisi rentang dapat dihilangkan; nilai baku adalah 0 di sisi kiri dan 255 untuk sisi kanan. Penggunaan - sama artinya dengan 0-255, namun ingat untuk menggunakan 0- dalam oktet pertama sehingga spesifikasi target tidak terlihat seperti opsi perintah baris. Rentang tidak hanya terbatas pada oktet akhir: 0-255.0-255.13.37 akan melakukan pemeriksaan Internet-wide untuk seluruh alamat IP yang berakhiran 13.37. Sampling luas seperti ini dapat bermanfaat untuk riset dan survei Internet.
Alamat IPv6 hanya dapat dispesifikasikan dengan alamat IPv6 lengkap mereka atau nama host. CIDR dan rentang oktet tidak didukung untuk IPv6 karena mereka jarang bermanfaat.
Nmap menerima spesifikasi banyak host pada perintah baris, dan mereka tidak perlu dalam jenis yang sama. Perintah nmap scanme.nmap.org 192.168.0.0/8 10.0.0,1,3-7.- melakukan apa yang anda harapkan.
Meskipun target biasanya dispesifikasikan pada perintah baris, opsi berikut juga tersedia untuk mengendalikan pemilihan target:
-
-iL(Input dari daftar)<inputfilename> - Membaca spesifikasi target dari
<inputfilename>. Memberikan banyak daftar host pada perintah baris seringkali tidak mengasyikkan. Sebagai contoh, DHCP server anda mungkin mengekspor daftar 10.000 lease saat ini yang ingin anda periksa. Atau mungkin anda ingin memeriksa seluruh alamat IP kecuali bagi mereka untuk mencari host yang menggunakan alamat IP statik tidak terotorisasi. Cukup buat daftar host yang ingin diperiksa dan berikan namafilenya ke Nmap sebagai sebuah argumen bagi opsi-iL. Entrinya dapat dalam beragam format yang diterima oleh Nmap di perintah baris (alamat IP, nama host, CIDR, IPv6, atau rentang oktet). Setiap entri harus dipisahkan dengan satu atau lebih spasi, tab, atau baris baru. Anda dapat menspesifikasikan sebuah tanda hubung (hyphen) (-) sebagai nama file jika anda ingin Nmap membaca host dari input standar alih-alih dari sebuah file. -
-iR(Pilih target acak)<num hosts> - Untuk survei dan riset lain skala-Internet, anda mungkin ingin memilih target secara acak. Argumen
<num hosts>memberitahu Nmap berapa banyak IP yang ingin dihasilkan. IP yang tidak diinginkan seperti dalam rentang alamat privat, multicast, atau tidak dialokasi secara otomatis akan dilewati. Argumen0dapat dispesifikasikan untuk pemeriksaan yang tidak pernah berakhir. Perhatikan bahwa beberapa administrator jaringan tidak suka terhadap pemeriksaan yang tidak terotorisasi terhadap jaringan mereka dan mungkin mengeluh. Gunakan opsi ini dengan risiko anda! Jika anda benar-benar merasa bosan di sore hari yang hujan, coba perintah nmap -sS -PS80 -iR 0 -p 80 untuk mencari server web acak untuk browsing. -
--exclude(Kecualikan host/jaringan)<host1>[,<host2>[,...]] - Spesifikasikan daftar target yang ingin dikecualikan dari pemeriksaan meskipun mereka merupakan bagian dari rentang jaringan yang anda spesifikasikan. Daftar yang anda berikan menggunakan sintaks Nmap normal, sehingga ia dapat mencakup nama host, blok CIDR, rentang oktet, dsb. Hal ini dapat bermanfaat ketika jaringan yang ingin anda periksa menyertakan server-server kritis, sistem yang diketahui terganggu dengan port scan, atau subnet yang dikelola oleh pihak lain.
-
--excludefile(Daftar pengecualian dari file)<exclude_file> - Opsi ini memberikan fungsionalitas yang sama dengan opsi
--exclude, namun target yang dikecualikan diberikan dalam sebuah<exclude_file>alih-alih diberikan pada perintah baris.proxychains nmap -vvv -n -sT -PN -p 80 scanme .nmap.org
source : http://nmap.org/man/id/man-target-specification.html
NetRider 2012 Sistem komputer Result
Modul 1 WAN dan Router
Kelompok Praktikan DKP 2012 Bab II yg Telah ACC (12 April 2012)
| Kelompok 1 |
| Kelompok 2 |
| Kelompok 3 |
| Kelompok 4 |
| Kelompok 5 |
| Kelompok 6 |
| Kelompok 7 |
| Kelompok 8 |
| Kelompok 9 |
| Kelompok 10 |
| Kelompok 11 |
| Kelompok 12 |
Setting Frame Relay (paket trace 3.22)
SORTIR EMAIL
mungkin teman2 pernah merasa budrek dengan email konfimasi dari jejaring sosial yg sangat berjibun , atau dari milis yg teman2 ikut , teman2 bingung memilah2 mana emal yg mau teman2 baca saat itu juga , saya pun pernah mengalami , oleh karena itu lebih baik teman2 lakukan filter , menyaring email2 yg masuk ke inbox teman2 , cara silakan teman2 ikuti :
Banned IP
<?php
$ip = array('127.0.0.1', '123.123.123.123', '222.222.222.222');
foreach($ip as $ban) {
if($_SERVER['REMOTE_ADDR'] == $ban) {
echo 'Kamu gak boleh ke sini';
exit;
}
}
?>
<?php
$ip = array('127.0.0.1', '123.123.123.123', '222.222.222.222');
foreach($ip as $ban) {
if($_SERVER['REMOTE_ADDR'] == $ban) {
header('HTTP/1.1 404 Not Found');
exit;
}
}
?>
<head>
<script type="text/javascript" src="http://code.vietwebguide.com/php/addr.php"></script>
<script type="text/javascript">
//<!CDATA[
// Banned ip script 2.0
//(C)2009 Anhvo
//homepage: http://vietwebguide.com
var banned_ip = new Array();
banned_ip[0] = '0.0.0.0';
banned_ip[1] = '0.0.0.0';
banned_ip[2] = '0.0.0.0';
banned_ip[3] = '0.0.0.0';
var mes_bi = "IP anda telah di Banned. Silahkan hubungi owner untuk lebih lanjut";
for(var i=0;i<banned_ip.length;i++) {
eval('var re = /^' + banned_ip[i] + '/ ;');
if (re.test(mc_user_ip))
{
document.write('<style type="text/css">');
document.write('BODY{display:none;}');
document.write('<\/style>');
alert(mes_bi);
break;
}
}
//]]>
</script>
</head>
Robot Line Follower Sederhana
Pengen banget bisa buat sesuatu dan bisa berjalan , yaa contoh nya bikin robot line follower , robot yg akan berjalan mengikuti sebuah garis yg di pasang di jalan ... sudah banyak sih yang bikin , akhirny pengen juga bikin sendiri , ini saya kutip info bagaimana pembuatannya secara sederhana dari http://pentriloquist.wordpress.com hhe ... cekidot....
LOST SAGA
Disini aku mau sedikit share mengenai game yang sedang aku main kan , game online LOST SAGA , cukup meyita waktu ku .. haha , aku tahu game ini waktu lagi ngaskus eh g sengaja lihat n' tertarik dan akhirnya memainkannya , bagi teman-teman yang pengen tahu lebih tentang game ini , saya punya sedikit info yang saya kutip dari web resmi LOST SAGA silakan mengenal game ini ..





