NB: Just For Newbie…
Kaya_Nya Ini bukan Artikel Yach???
Tapi ga Ngapz_Kan, Sharing ilmu biar newbie mania kaya gw ini bisa belajar dengan mudah..!!! Iya Gak??
Walau sedikit Mudah-mudahan berguna yach??
kenapa judulnya tehnik dasar?? yap karna yang dibahas disini emang bener2x dasar yang diperlukan untuk membuat aplikasi yang mampu mencari port yang terbuka…(Menurut Gw)>>$-A
Lanjuut… Disini gw bikin dua program yang mempunyai fungsi yang sama yaitu mencari port yang kebuka dengan bahasa pemrograman yang lumayan tidak sulit, program pertama gw buat pake VisualBasic6.0 N Program yeng kedua gw buat pake JAVA (JDK).
Yap…Langsung aja kita bikin program pertama kita(VB6.0)
oke!!!siapkan sebuah project baru dengan :
• 2 buah CommandButton dengan caption command1 “Scan” n Command2 “Stop”
• 1 buah TextBox lalu set Property_Nya Multiline “True” n ScrollBars “2 – Vertical”
• 1 buah Label dengan caption “Menunggu perintah…!!”
• 1 buah Winsock (Penting…)>$-A
Hingga tampilannya kaya’ gini :
Oke sekarang anda tulis kode ini :
1. Dim alien As Integer
2. Private Sub Command1_Click()
3. Command1.Enabled = False
4. Label1 = “”
5. Text1 = “”
6. Text1.SelText = “Proses Scanning…!!” + vbCrLf + “———————————–” + vbCrLf + vbCrLf
7. alien = 78
8. Winsock1.Connect “127.0.0.1”, alien
9. End Sub
10. Private Sub Winsock1_Connect()
11. Text1.SelText = “Port : ” & alien & vbTab & ” Terbuka” & vbCrLf
12. Winsock1_Error 0, “”, 0, “”, “”, 0, False
13. End Sub
14. Private Sub Winsock1_Error(ByVal Number As Integer, Description As String, ByVal Scode As Long, ByVal Source As String, ByVal HelpFile As String, ByVal HelpContext As Long, CancelDisplay As Boolean)
15. If alien <= 150 Then
16. alien = Val(alien) + 1
17. Winsock1.Close
18. Winsock1.Connect “127.0.0.1”, alien
19. Label1 = “Ngecek Port ” & alien
20. Else
21. Command2_Click
22. End If
23. End Sub
24. Private Sub Command2_Click()
25. Winsock1.Close
26. Label1 = “Menunggu perintah…!!”
27. Text1.SelText = vbCrLf & ” Scanning selesai” + vbCrLf + “———————————–”
28. Command1.Enabled = True
29. End Sub
Logika Program 1 :
Setelah tombol Scan diklik program akan mencoba untuk melakukan koneksi ke alamat/ip 127.0.0.1 ato localhost dengan Port alien jika Port tertutup akan diabaikan dan memanggil private fungsi Winsock1_Error kemudian melakukan kondisi, lalu nilai alien ditambah satu truz mencoba lagi untuk melakukan koneksi ke alamat/ip 127.0.0.1 ato localhost dengan Port alien. jika port terbuka akan mencetak kedalam textbox…
Penjelasan Koding :
No 1 Pendeklarasian variable alien dengan tipe Integer yang dikenal diseluruh bagian program ato disebut variable Global.
No 2-9 Mengeset Command1 Eneble_Nya jadi False lalu Ngeset nilai Text1 n Label1 menjadi kosong. lalu mencetak “Proses Scanning…!! pada Text1.” kemudian mengeset nilai alien menjadi 87 truz program akan mencoba untuk melakukan koneksi ke alamat/ip 127.0.0.1 ato localhost dengan Port alien yaitu 87, jika koneksi yang dilakukan gagal maka melompat ke_No 14, kalo berhasil ke_No 10.
No 10-13 jika port alien terbuka maka akan mencetak ke_Text1 lalu memanggil fungsi Winsock1_Error dengan nilai-nilai_Nya.
No 14-19 Program akan bertanya melalui kondisi, apakah nilai alien kurang dari ato sama dengan 150 ??jika tidak, melompat ke No 20, jika ya maka nilai alien ditambah satu, lalu Winsock akan memutuskan koneksi, kemudian program akan mencoba lagi untuk melakukan koneksi ke alamat/ip 127.0.0.1 ato localhost dengan Port alien yang sudah ditambah satu, truz program akan kembali ke No 10 dan mengeset, Caption Label1..!!! begitu seterusnya hingga kondisi tidak terpenuhi ato nilai alien lebih dari 150.
No 20-23 Manggil Command2 ato manualnya kita ngeklik command2..
No 24-29 nutup/matiin winsok kemudian ngeset caption Label1 N text pada text1 dan nilai eneble pada command1 menjadi true ato idup
Kalo Dijalanin Kaya Gini Tampilan_Nya:
Mudah-mudahan jelas yach biz dah ngantuk beng’get neyyy…..
Oke kita langsung bikin program yang kedua (java)…
buat file baru di JDK dan beri nama port.java (nama file harus sama dengan nama class)
1. import java.net.*;
2. import java.io.*;
3. public class port // nama file harus sama dengan nama class
{
4. static int alien=77;
5. public void load()
{
7. try
{
8. if (alien <= 85)
{
9. System.out.print(” Ngecek Port…. “);
10. alien++;
11. Socket gw = new Socket(“127.0.0.1”,alien);
12. System.out.println(alien + “\t\t terbuka coy….”);
13. port lagi=new port();
14. lagi.load();
}
15. else
{
16. System.out.println(“\n—————————————–\n—————————————–\n Scanning selesai…..\n\n”);
}
}
17. catch (Exception e)
{
18. System.out.println(alien + “\t\t tertutup”);
19. port lagi=new port();
20. lagi.load();
}
}
21. public static void main(String[]args)
{
22. System.out.print(” Ayo Kita Ngecek Port\n—————————————–\n—————————————–\n\n”);
23. alien–;
24. port panggil=new port();
25. panggil.load();
}
}
Logika Program 2 :
Program ini memakai fungsi OOP yaitu pembungkusan ato, istilah kerennya Encapsulation, setelah dijalankan program akan mencuba melakukan pemanggilan terhadap public fungsi yang berisi kode untuk melakukan koneksi jika port tertutup ato host_Nya mati akan dipanggil kembali hingga kondisi terpenuhi…
Penjelasan Koding :
No 1-2 Menentukan file header yaitu sebagai proses Input OutPut, karna kita memakai Soket kita juga harus menentukan file header untuk soket agar bisa dipakai..
No 3-4 Menentukan Class(Wajib), kemudian mendeklarasiin alien sebagai variable static artinya milik semua Public fungsi yang ada pada Class port, dengan type Integer N value ato nilai 77.
No 5-14 Membuat public fungsi dengan nama load, lalu menjebak error dengan perintah try kemudian melakukan kondisi.. apakah nilai alien kurang dari ato sama dengan 85..?? jika tidak lompat ke No 15, jika ya program mencetak “Ngecek Port…. “ di layar, kemudian nilai variable alien ditambah satu, truz program akan membuat sebuah port dengan nama gw dan langsung melakukan koneksi kelamat localhost(127.0.0.1) dengan port Nilai alien… jika koneksi gagal maka program akan melompat ke No 17 tapi jika koneksi berhasil program akan memberi tahu ternyata port tsb terbuka dengan mencetak kelayar, kemudian program kembali memanggil public fungsi load() ato kembali ke No 5
No 15-16 Pengecekan selesai dan dicetak kelayar..
No 17-20 Memberi tahu dengan mencetak kelayar bahwa port tertutup, kemudian kembali ke No 5 ato program kembali memanggil public fungsi load().
No 21-25 kepala program ato perintah pertama yang dijalankan program. setelah mencetak kelayar, kemudian nilai variable alien dikurang satu lalu langsung meluncur ke No. 5 ato memanggil public fungsi load()
Kalo Dijalanin Kaya Gini Tampilan_Nya :
Mudah bukan…..!!!!
Sekarang tinggal kita bandingin dech kedua program tsb lebih cepet,bagus n optimal
yang mana VB6.0 ato JAVA(JDK)..>>$-A
Woiii……!!!Mana tantangan_Nya ahh Ngomong duang’s Lw??? Astaga lupa gw…!!!
Oke dech begini Tantangan_Nya :
Yap…..Pengecekan Port pada aplikasi ini berjalan sangat lambat jadi, BT Nungguin_Nya…. Nah, tantangannya..!!! (sekalian ngelatih logika lohh.)
Gimana supaya ngecek_Nya jadi lebih cepet trus Port yang di_Cek ama thread_Nya ditentu_in Pengguna sekalian ama IP_Nya juga….
Gw sendiri udeh Nyoba n sukses!!! hanya tinggal melakukan Looping untuk Tread_Nya Jadi seolah-olah kita memakai banyak soket…kalo perlu RemotePort(LocalPort) ato RemoteHost(HostAddress) pada Socket dideklarasi_in biar lebih gampang….
Gimana berani ga terima tantangan itu…????Gw yakin pasti anda lebih bisa dari gw, so pasti anda bisa ya_Kan??ya udehh gw tunggu yach publish dari kalian…..!!!
NB : alangkah lebih baik jika anda sudah Menginstall WebServer seperti apache ato iis dll…
Penutup…
kalo semua pembahasan diatas menurut pembaca salah ato ada yang kurang, penulis mohon pencerahannya.
Karna pembahasan tsb dibuat berdasarkan logika,pendapat n percobaan gw!! istilah kasarnya… itu menurt versi gw, nahh logika setiap orangkan berbeda, so jika pembahasan anda berbeda WHY NOT!!!(“Knape Tidak”);
kalo emang berbeda jangan lupa di Publish yach supaya kita semua tambah tau n gak terus-terusan salah dan mudah-mudahan kite jadi tambah pinter..!!! Aaaamiin…!!!