Anda di halaman 1dari 19

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

BAB I PENDAHULUAN

1.1 Latar belakang Jaringan komputer secara sederhana dapat diartikan komputer komputer yang saling tersambung satu sama lain. Lingkupnya bisa dari yang kecil misalnya saja suatu komputer terhubung dengan komputer yang lain dan bisa berbagi file. Intinya kita dapat mengakses komputer lain dalam suatu jaringan. Selain untuk tukar menukar informasi, kita bisa memanfaatkan jaringan untuk mengendalikan komputer lain melalui komputer kita. Dalam laporan ini dijelaskan langkah langkah pembuatan aplikasi remote komputer secara sederhana dengan menggunakan bahasa pemrograman Visual Basic 6 ( VB 6.0 ). Dengan menggunakan aplikasi file transfer melalui FTP internet ini kita bisa

1.2 Tujuan Tujuan pembuatan aplikasi ini adalah untuk lebih memahami konsep jaringan dengan menggunakan visual basic 6, memahami lebih dalam konsep jaringan dengan menggunakan socket serta membuat program clien server sederhana.

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


1

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

BAB II PEMBAHASAN
2.1 Source Code Dalam pembuatan Network Monitoring File, kita menggunakan 1aplikasi yang di mana tiap bagian tersebut memiliki sebuah form dengan source code yang sama. Setiap form mempunyai bagian bagian yang saling terhubung satu sama lain.
Berikut di bawah ini adalah source code Aplikasinya

Aplikasi ini hanya terdiri dari 1 form saja.


1. form1 ( form1.frm ) Private Const MAX_COMPUTERNAME_LENGTH As Long = 31 Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long Private Const LB_SETTABSTOPS As Long = &H192 Private Const MAX_PREFERRED_LENGTH As Long = -1 Private Type FILE_INFO_3 fi3_id As Long fi3_permissions As Long fi3_num_locks As Long fi3_pathname As Long

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


2

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

fi3_username As Long End Type Private Const PERM_FILE_READ = &H1 Private Const PERM_FILE_WRITE = &H2 Private access Private Declare Function NetFileEnum Lib "Netapi32" _ (ByVal servername As Long, _ ByVal basepath As Long, _ ByVal username As Long, _ ByVal level As Long, _ bufptr As Long, _ ByVal prefmaxlen As Long, _ entriesread As Long, _ totalentries As Long, _ resume_handle As Long) As Long Private Declare Function NetApiBufferFree Lib Const PERM_FILE_CREATE = 'user has read access 'user has write access &H4 'user has create

"netapi32.dll" _ (ByVal Buffer As Long) As Long Private Declare Sub CopyMemory Lib "kernel32" _ Alias "RtlMoveMemory" _ (pTo As Any, uFrom As Any, _ ByVal lSize As Long) Private Declare Function lstrlenW Lib "kernel32" _ (ByVal lpString As Long) As Long Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


3

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

ByVal wParam As Long, _ lParam As Any) As Long

Private Sub Form_Load() ReDim TabArray(0 To 1) As Long TabArray(0) = 68 TabArray(1) = 149 Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&) Call TabArray(0)) Command1.Caption = "NetFileEnum" Text1 = GetCom End Sub SendMessage(List1.hwnd, LB_SETTABSTOPS, 2&,

Private Sub Command1_Click() Dim numconnections As Long Dim sServer As String sServer = Text1 & vbNullString numconnections = GetFileConnections(sServer) Label1.Caption machine " & sServer End Sub = numconnections & " connections on

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


4

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

Private Function GetFileConnections(sServer As String) As Long Dim bufptr Dim dwServer Dim dwEntriesread Dim dwTotalentries Dim dwResumehandle Dim dwDomain Dim fi3 Dim success Dim nStructSize Dim cnt Dim tmp As Long As Long As Long As Long As Long As Long As FILE_INFO_3 As Long As Long As Long As String

Const NERR_SUCCESS As Long = 0& Const ERROR_MORE_DATA As Long = 234& If Len(sServer) = 0 Then sServer = vbNullString Else sServer = "\\" & sServer & vbNullString End If dwServer = StrPtr(sServer) nStructSize = LenB(fi3) success = NetFileEnum(dwServer, _ 0&, _ 0&, _ 3, _ bufptr, _ MAX_PREFERRED_LENGTH, _ dwEntriesread, _

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


5

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

dwTotalentries, _ dwResumehandle) If success = NERR_SUCCESS And _ success <> ERROR_MORE_DATA Then For cnt = 0 To dwEntriesread - 1 CopyMemory fi3, ByVal bufptr + (nStructSize * cnt), nStructSize List1.AddItem GetPointerToByteStringW(fi3.fi3_username) & vbTab & _ GetPermissionType(fi3.fi3_permission s) & vbTab & _ GetPointerToByteStringW(fi3.fi3_path name) Next GetFileConnections = dwEntriesread End If Call NetApiBufferFree(bufptr)

End Function

Public

Function

GetPointerToByteStringW(ByVal

dwData

As

Long) As String Dim tmp() As Byte Dim tmplen As Long

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


6

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

If dwData <> 0 Then tmplen = lstrlenW(dwData) * 2 If tmplen <> 0 Then ReDim tmp(0 To (tmplen - 1)) As Byte CopyMemory tmp(0), ByVal dwData, tmplen GetPointerToByteStringW = tmp End If End If End Function

Private

Function

GetPermissionType(ByVal

dwPermissions

As

Long) As String Dim tmp As String If dwPermissions And PERM_FILE_READ Then tmp = "read " If dwPermissions And PERM_FILE_WRITE Then tmp = tmp & "write " If dwPermissions And PERM_FILE_CREATE Then tmp = tmp & "create " GetPermissionType = tmp & "access" End Function Function GetCom() As String Dim dwLen As Long

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


7

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

Dim strString As String dwLen = MAX_COMPUTERNAME_LENGTH + 1 strString = String(dwLen, "X") GetComputerName strString, dwLen strString = Left(strString, dwLen) GetCom = strString End Function

Private Sub Text1_Change() End Sub

2.2 Penjelasan source code

Surce code Aplikasi


Fungsi untuk koneksi antar server dan user

Private Const MAX_COMPUTERNAME_LENGTH As Long = 31 Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long

Private Const LB_SETTABSTOPS As Long = &H192 Private Const MAX_PREFERRED_LENGTH As Long = -1

Private Type FILE_INFO_3 fi3_id As Long fi3_permissions As Long

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


8

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

fi3_num_locks As Long fi3_pathname As Long fi3_username As Long End Type

Private Const PERM_FILE_READ = &H1 access Private Const PERM_FILE_WRITE = &H2 access

'user has read 'user has write

Private Const PERM_FILE_CREATE = &H4 'user has create access

Private Declare Function NetFileEnum Lib "Netapi32" _ (ByVal servername As Long, _ ByVal basepath As Long, _ ByVal username As Long, _ ByVal level As Long, _ bufptr As Long, _ ByVal prefmaxlen As Long, _ entriesread As Long, _ totalentries As Long, _ resume_handle As Long) As Long

Private Declare Function NetApiBufferFree Lib "netapi32.dll" _ (ByVal Buffer As Long) As Long

Private Declare Sub CopyMemory Lib "kernel32" _

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


9

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

Alias "RtlMoveMemory" _ (pTo As Any, uFrom As Any, _ ByVal lSize As Long)

Private Declare Function lstrlenW Lib "kernel32" _ (ByVal lpString As Long) As Long

Private Declare Function SendMessage Lib "user32" _ Alias "SendMessageA" _ (ByVal hwnd As Long, _ ByVal wMsg As Long, _ ByVal wParam As Long, _ lParam As Any) As Long

Penjelasan : Ketika Aplikasi ini dijalankan maka aplikasi ini akan mencoba melakukan koneksi antara server dengan user..
Fungsi untuk mengatur form pada tampilan aplikasi nantinya

Private Sub Form_Load()

ReDim TabArray(0 To 1) As Long

TabArray(0) = 68 TabArray(1) = 149

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


10

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 0&, ByVal 0&) Call SendMessage(List1.hwnd, LB_SETTABSTOPS, 2&, TabArray(0))

Command1.Caption = "NetFileEnum" Text1 = GetCom

End Sub

Fungsi untuk mengatur Tombol Command pada aplikasi tersebut

Private Sub Command1_Click()

Dim numconnections As Long Dim sServer As String sServer = Text1 & vbNullString numconnections = GetFileConnections(sServer)

Label1.Caption = numconnections & " connections on machine " & sServer

End Sub

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


11

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

Fungsi untuk menghubungkan koneksi

Private Function String) As Long

GetFileConnections(sServer

As

Dim bufptr Dim dwServer Dim dwEntriesread Dim dwTotalentries Dim dwResumehandle Dim dwDomain Dim fi3 Dim success Dim nStructSize Dim cnt Dim tmp

As Long As Long As Long As Long As Long As Long As FILE_INFO_3 As Long As Long As Long As String

Const NERR_SUCCESS As Long = 0& Const ERROR_MORE_DATA As Long = 234&

If Len(sServer) = 0 Then sServer = vbNullString Else sServer = "\\" & sServer & vbNullString End If

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


12

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

dwServer = StrPtr(sServer) nStructSize = LenB(fi3)

success = NetFileEnum(dwServer, _ 0&, _ 0&, _ 3, _ bufptr, _ MAX_PREFERRED_LENGTH, _ dwEntriesread, _ dwTotalentries, _ dwResumehandle)

If success = NERR_SUCCESS And _ success <> ERROR_MORE_DATA Then

For cnt = 0 To dwEntriesread - 1

CopyMemory fi3, (nStructSize * cnt), nStructSize

ByVal

bufptr

List1.AddItem GetPointerToByteStringW(fi3.fi3_username) & vbTab & _ GetPermissionType(fi3.fi3_p ermissions) & vbTab & _ GetPointerToByteStringW(fi3 .fi3_pathname)

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


13

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

Next

GetFileConnections = dwEntriesread

End If

Call NetApiBufferFree(bufptr)

End Function

Fungsi untuk menunjukan data yang akan dlihat

Public Function GetPointerToByteStringW(ByVal dwData As Long) As String

Dim tmp() As Byte Dim tmplen As Long

If dwData <> 0 Then

tmplen = lstrlenW(dwData) * 2

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


14

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

If tmplen <> 0 Then

ReDim tmp(0 To (tmplen - 1)) As Byte CopyMemory tmp(0), ByVal dwData, tmplen GetPointerToByteStringW = tmp

End If

End If

End Function

Fungsi untuk melakukan akses pada komputer

Private Function GetPermissionType(ByVal dwPermissions As Long) As String

Dim tmp As String

If dwPermissions And PERM_FILE_READ Then tmp = "read " If dwPermissions And PERM_FILE_WRITE Then tmp = tmp & "write "

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


15

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

If dwPermissions And PERM_FILE_CREATE Then tmp = tmp & "create "

GetPermissionType = tmp & "access"

End Function

Penjelasan : Mendapatkan akses ke pada yang dituju

Fungsi untuk mendapatkan data dari computer tersebut


Function GetCom() As String Dim dwLen As Long Dim strString As String dwLen = MAX_COMPUTERNAME_LENGTH + 1 strString = String(dwLen, "X") GetComputerName strString, dwLen strString = Left(strString, dwLen) GetCom = strString End Function

Penjelasan : Ini adalah source code untuk mendapatkan data pada computer tersebut

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


16

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

2.3 Hasil Program Hasil tampilan program

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


17

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

BAB III PENUTUP 3.1 Kesimpulan Dari pembuatan aplikasi Network Monitoring File diatas dapat di tarik suatu kesimpulan yaitu :
1. Hasil hasil yang diperoleh dalam pembuatan aplikasi Network

Monitoring File dipahami mengenai beberapa hal antara lain : Memahami kegunaan jaringan computer dalam pertukaran

informasi yang digunakan dalam kehidupan sehari hari.


Memahami dan mampu mengaplikasikan konsep jaringan Memahami dan mampu membuat sebuah aplikasi jaringan secara

sederhana.
2. Hukum hukum serta teori teori yang ada didalam jaringan computer,

khususnya yang berhubungan dengan praktikum ini adalah benar. Kebenaran teori teori ini akan lebih jelas dengan tingkat ketelitian percobaan yang tinggi.

3.2 Saran saran

Untuk menghasilkan hasil aplikasi program yang akurat, perlu diperhatikan mengenai : 1. Ketelitian dalam penggunaan bahasa pemrogramannya ( penguasaan bahasa pemrograman dalam hal ini adalah bahasa pemrograman visual basic 6 ).

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


18

PRAKTIKUM PEMROGRAMAN JARINGAN KOMPUTER

2. Ketelitian dalam menentukan IP Address yang akan di pakai baik oleh

client maupun server.

LABORATORIUM JARINGAN KOMPUTER INSTITUTE TEKNOLOGI NASIONAL MALANG


19

Anda mungkin juga menyukai