• Tidak ada hasil yang ditemukan

APLIKASI DESKTOP INTRANET MESSENGER CLIENT & SERVER

N/A
N/A
Protected

Academic year: 2022

Membagikan "APLIKASI DESKTOP INTRANET MESSENGER CLIENT & SERVER"

Copied!
23
0
0

Teks penuh

(1)

APLIKASI DESKTOP

“INTRANET MESSENGER CLIENT & SERVER”

Bambang Kelana Simpony Tuti Alawiyah Deddy Supriadi

Ratningsih Agung Baitul Hikmah Iqbal Dzulfikar Iskandar

Melisa Winda Pertiwi Mira Kusmira Yanti Apriyani

Haerul Fatah Yani Sri Mulyani

Taufik Wibisono

Copyright (c)

(2)

BAB I

LANGKAH PENGGUNAAN

1.1. Spesifikasi Rancangan Program Input

Langkah awal untuk memulai menggunakan program ini yaitu dengan menjalankan terlebih dahulu aplikasi Intranet Messenger Server yang selanjutnya akan ditulis IM Server.

IM Server ini nantinya akan mengatur komunikasi dari client-client yang connet dan disconnect serta mem-broadcast pesan ke seluruh client. Di jendela IM Server akan ditampilkan informasi IP Address dan nama komputer yang nanti akan dihubungi oleh IM Client. Setelah IM Server berjalan, selanjutnya aplikasi IM Client dijalankan.

Sebagai bentuk masukan pertama, IM Client akan meng-input nomor IP Address ataupun nama komputer dari IM Server yang sedang aktif. Setelah sebelumnya membuka menu connect pada menu utama IM Client. Seperti yang ditampilkan pada gambar dibawah.

Gambar I.1. Tampilan Intranet Messenger Server

(3)

Gambar I.2. Tampilan Intranet Messenger Server Berada di System Tray Windows

Keterangan:

Pada program IM Server terdapat lima pilihan menu yang muncul pada system tray yaitu :

1. About IM Server

2. Show Panel (Untuk menampilkan jendela IM Server) 3. Hide Panel (Untuk menyembunyikan jendela IM Server) 4. Delete Icon (Untuk menghapus icon IM Server di system tray) 5. Stop Server (Untuk keluar dari aplikasi IM Server)

Gambar I.3. Tampilan About Intranet Messenger Server

(4)

Keterangan:

Program ini digunakan untuk menampilkan informasi program IM Server . Didalamnya terdapat dua tombol yaitu OK (untuk keluar dari About IM Server ini) dan System Info (untuk menampilkan System Information dari computer yang sedang aktif).

Gambar I.3. Tampilan Intranet Messenger Client Keterangan:

Program ini sebagai antar muka dalam berkomunikasi. Pada program IM Client terdapat tiga pilihan menu yaitu:

1. File

a. Sub Menu “Open” (jika diklik maka akan tampil kotak dialog pencarian file teks. Dan jika dibuka maka akan ditampilkan di area percakapan).

(5)

b. Sub Menu “Save Talking” (jika diklik maka akan menampilkan kotak dialog untuk menyimpan percakapan dan memberi nama file yang akan disimpan) 2. Connect (untuk memulai dan mengakhiri koneksi ke server)

3. Help

a. Sub Menu “IM Content”

b. Sub Menu “About IM Client”

c. Sub Menu “Bug Report…” (jika di klik maka akan diarahkan untuk mengirimkan e-mail pada programmer jika terdapat bug dalam program ini) Pada form IM Client ini terdapat beberapa utilitas untuk mendukung program ini yaitu Clear (untuk membersihkan area percakapan), Copy Text (Untuk meng-copy area percakapan), Paste Text (untuk mem-paste ke area pengiriman pesan), Font Setting (untuk mengatur tampilan font pada area percakapan), Minimize (untuk menghilangkan jendela IM Client dan menyembunyikannya di area system tray sehingga tidak memenuhi area taskbar), Send Message (untuk mengirimkan pesan), About This Program (informasi program IM Client), Close (untuk keluar dari aplikasi IM Client).

Gambar I.4. Tampilan Help Intranet Messenger Client

(6)

Keterangan:

Program ini digunakan untuk menampilkan help (bantuan) cara-cara menggunakan program ini. Bantuan masih dalam Bahasa Indonesia.

Gambar I.5. Tampilan About Intranet Messenger Client Keterangan:

Program ini digunakan untuk menampilkan informasi program IM Client.

Didalamnya terdapat dua tombol yaitu OK (untuk keluar dari About IM Client ini) dan System Info (untuk menampilkan System Information dari komputer yang sedang aktif).

(7)

Gambar I.6. Intranet Messenger Client saat input IP Address 1.2. Spesifikasi Rancangan Program Output

Sebagai bentuk keluarannya, setelah client bisa menghubungi server pengiriman pesan pun bisa dilakukan. Seperti yang ditampilkan pada gambar berikut.

(8)

Gambar I.7. Contoh Pengiriman Pesan di Intranet Messenger Client Tampilan percakapan selain ditampilkan di area pesan, juga bisa disimpan ke dalam file teks biasa. Yang nantinya digunakan untuk history. Percakapan disimpan dengan cara menekan tombol Ctrl+S ataupun membuka menu File lalu Save Talking.

(9)

Gambar I.8. Contoh Menyimpan History Pesan di Intranet Messenger Client

(10)

BAB II

KODE PROGRAM

2.1. Kode Program Intranet Messenger Server

1. Form ( frmAbout.frm ) General Declarations

Private Declare Function ShellExecute Lib "shell32.dll" Alias

"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub cmdOK_Click() Unload Me

End Sub

Private Sub Form_Load()

Me.Caption = "About " & App.Title

lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." &

App.Revision

lblTitle.Caption = App.Title End Sub

Private Sub Label4_Click()

ShellExecute Me.hwnd, vbNullString, "http://www.blogb.co.cc", vbNullString, "C:\", 1

End Sub

Private Sub Label5_Click()

ShellExecute Me.hwnd, vbNullString, "mailto:[email protected]", vbNullString, "C:\", 1

(11)

End Sub

2. Form ( fServer.frm ) General Declarations

Dim jml As Integer Dim arrIndex() As Integer Dim ket As String

Private Sub kirim(ByVal pesan As String) Dim a As Integer

On Error Resume Next For a = 1 To jml

VServer(a).SendData pesan & vbCrLf DoEvents

Next End Sub

Private Sub Form_Load() Timer1.Enabled = True On Error GoTo buka With VServer(0) .LocalPort = 3030 .Listen

End With

ket = "Listening to port : " & VServer(0).LocalPort lstKet.AddItem (ket)

ReDim arrIndex(0) jml = 1

LbServer.Caption = vbCrLf & vbCrLf & vbCrLf & vbCrLf & _ vbCrLf & vbCrLf & vbCrLf & vbCrLf & _

vbCrLf & vbCrLf & "Host Name : " &

VServer(0).LocalHostName _

(12)

& vbCrLf & "IP Address : " & VServer(0).LocalIP Exit Sub

buka:

MsgBox "Port is open by other application or IM Server is on !", vbCritical End

End Sub

Private Sub mnuAbout_Click() frmAbout.Show

End Sub

Private Sub mnuClose_Click() Unload Me

Set Fserver = Nothing End Sub

Private Sub mnuDelete_Click() Call RemoveFromTray End Sub

Private Sub mnuHide_Click() Me.Hide

End Sub

Private Sub mnuShow_Click() Me.Show

End Sub

Function CekMap() As Integer Dim i As Integer

For i = 1 To UBound(arrIndex) If (arrIndex(i) = 0) Then CekMap = i

(13)

Exit Function End If

Next i

jml = jml + 1

ReDim Preserve arrIndex(jml) CekMap = jml

End Function

Private Sub VServer_ConnectionRequest(index As Integer, ByVal requestID As Long)

Dim taruh As Integer

ket = "Connection request id " & requestID & " from " &

VServer(index).RemoteHostIP lstKet.AddItem (ket)

If jml = 1 Then taruh = 1 Else

taruh = CekMap End If

Load VServer(taruh) VServer(taruh).Close

VServer(taruh).Accept requestID arrIndex(taruh) = CekMap End Sub

Private Sub VServer_DataArrival(index As Integer, ByVal bytesTotal As Long)

Dim pesan As String

VServer(index).GetData pesan If Left(pesan, 5) = "close" Then

ket = "Connection closed : " & VServer(index).RemoteHostIP lstKet.AddItem (ket)

VServer(index).Close

(14)

Unload VServer(index) arrIndex(index) = 0

Exit Sub End If

kirim "<" & VServer(index).RemoteHostIP & "># " & pesan & vbCrLf &

"Message send at : " & CStr(Time) End Sub

Private Sub RemoveFromTray().

Call Shell_NotifyIcon(NIM_DELETE, nid) End Sub

Private Sub Form_Unload(Cancel As Integer) Call RemoveFromTray

End Sub

2.2. Kode Program Intranet Messenger Client

1. Form ( fClient.frm ) General Declarations

Private Declare Function ShellExecute Lib "shell32.dll" Alias

"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Const VChat = "IM Client --- "

Dim nid As NOTIFYICONDATA

Sub minimize_to_tray() Me.Hide

nid.cbSize = Len(nid) nid.hwnd = Me.hwnd nid.uId = vbNull

nid.uFlags = NIF_ICON Or NIF_TIP Or NIF_MESSAGE

(15)

nid.uCallBackMessage = WM_MOUSEMOVE nid.hIcon = Me.Icon

nid.szTip = "IM Client. Click to show window." & vbNullChar Shell_NotifyIcon NIM_ADD, nid

End Sub

Private Sub cmdClear_Click() Dim X As Byte

X = MsgBox("Clear your talk now?", vbOKCancel, "Information") If X = vbOK Then

txview.Text = ""

End If End Sub

Private Sub cmdClear_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "Clear the message field"

End Sub

Private Sub cmdClose_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "Close the program"

End Sub

Private Sub cmdCopy_Click() txview.SelStart = 0

txview.SelLength = Len(txview) Clipboard.SetText txview.Text End Sub

Private Sub cmdCopy_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "Copy all content of message field to clipboard"

(16)

End Sub

Private Sub cmdFont_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "Font setting allow to customize message field"

End Sub

Private Sub cmdInfo_Click() frmAbout.Show

End Sub

Private Sub cmdInfo_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "About This Program"

End Sub

Private Sub cmdMin_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "Minimize program to system tray"

End Sub

Private Sub cmdPaste_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

cmdInfo.Caption = "Paste clipboard content to message field"

End Sub

Private Sub Form_Unload(Cancel As Integer) Shell_NotifyIcon NIM_DELETE, nid

End Sub

Private Sub cmdClose_Click()

If mnConnect.Caption = "DisConnect" Then MsgBox "DisConnect connection first"

(17)

Else keluar End If End Sub

Sub keluar() Dim p As String

p = MsgBox("Are you sure, you want to exit?", vbOKCancel + vbExclamation, "Information")

If p = vbOK Then Unload Me

Set FClient = Nothing End If

End Sub

Private Sub cmdFont_Click() With Me.cdb

.Flags = cdlCFBoth Or cdlCFEffects .FontBold = Me.txview.FontBold .FontItalic = Me.txview.FontItalic .FontName = Me.txview.FontName .FontSize = Me.txview.FontSize

.FontUnderline = Me.txview.FontUnderline .FontStrikethru = Me.txview.FontStrikethru .Color = Me.txview.ForeColor

.ShowFont

Me.txview.FontBold = .FontBold Me.txview.FontItalic = .FontItalic Me.txview.FontName = .FontName Me.txview.FontSize = .FontSize

Me.txview.FontUnderline = .FontUnderline Me.txview.FontStrikethru = .FontStrikethru Me.txview.ForeColor = .Color

(18)

Me.txview.Refresh End With

End Sub

Private Sub cmdMin_Click() minimize_to_tray

End Sub

Private Sub cmdPaste_Click() txkirim.Text = Clipboard.GetText End Sub

Private Sub cmdsend_Click() sending

End Sub

Sub sending()

If VClient.State = sckConnected Then VClient.SendData txkirim.Text txkirim.Text = ""

cmdInfo.Caption = "Message send at @ " & Now Else

MsgBox "Not Connected." + vbCrLf + "Try connect to server first", vbCritical, "Information"

End If End Sub

Private Sub cmdsend_MouseMove(Button As Integer, Shift As Integer, X As Single, Y As Single)

Me.cmdsend.FontBold = True

cmdInfo.Caption = "Send the above message (NET SEND like)"

End Sub

(19)

Private Sub Form_Load() VClient.RemotePort = 3030 Me.Caption = VChat & "Off Line"

LbIP.Caption = "Your IP Address : " & VClient.LocalIP LbIP.FontBold = True

intCount = 0

Me.tmr.Enabled = True End Sub

Private Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single)

Me.cmdsend.FontBold = False

cmdInfo.Caption = "Intranet Messenger Client (c) 2008 blogb.co.cc"

End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) If UnloadMode = 0 Then

Cancel = 1

MsgBox ("Please, press button Close") End If

End Sub

Private Sub Form_Resize()

Me.txview.Width = Me.ScaleWidth - 1500 Me.txkirim.Width = Me.ScaleWidth - 1500 Me.cmdsend.Width = Me.ScaleWidth - 1500 Me.cmdInfo.Width = Me.ScaleWidth – 1500

cmdClear.Left = (Me.ScaleWidth / 1) - (cmdClear.Width / 1) cmdCopy.Left = (Me.ScaleWidth / 1) - (cmdClear.Width / 1) cmdPaste.Left = (Me.ScaleWidth / 1) - (cmdPaste.Width / 1)

(20)

cmdFont.Left = (Me.ScaleWidth / 1) - (cmdFont.Width / 1) cmdMin.Left = (Me.ScaleWidth / 1) - (cmdMin.Width / 1) cmdClose.Left = (Me.ScaleWidth / 1) - (cmdClose.Width / 1) End Sub

Private Sub mnAbout_Click() frmAbout.Show

End Sub

Private Sub mnBug_Click()

ShellExecute Me.hwnd, vbNullString, "mailto:[email protected]", vbNullString, "C:\", 1

End Sub

Private Sub mnConnect_Click() Dim ips As String

If mnConnect.Caption = "Connect" Then

ips = InputBox("Connect To..", "IP/Host Server Name") If ips <> "" Then

VClient.RemoteHost = ips VClient.Close

VClient.Connect

mnConnect.Caption = "DisConnect"

End If Else

If VClient.State = sckConnected Then VClient.SendData "close"

Else

mnConnect.Caption = "Connect"

VClient.Close End If

End Sub

(21)

Private Sub mnIM_Click() frmContent.Show

End Sub

Private Sub mnOpen_Click() Dim nama_file As String On Error GoTo salah_lagi

cdsave.CancelError = True

cdsave.Filter = "Text Files (*.txt)|*.txt"

cdsave.FilterIndex = 0 cdsave.ShowOpen

nama_file = cdsave.FileName

Open nama_file For Input As #1 txview.Text = Input(LOF(1), #1) Close #1

salah_lagi: Exit Sub End Sub

Private Sub mnSave_Click() Dim nama_file, X As Integer On Error GoTo salah

cdsave.CancelError = True

cdsave.Filter = "Text Files (*.txt)|*.txt"

cdsave.FilterIndex = 0 cdsave.ShowSave

nama_file = cdsave.FileName If Len(Dir$(nama_file)) <> 0 Then

X = MsgBox("This file already exists: " + nama_file + ", do you want replace it?", vbYesNo + vbCritical, "Error")

(22)

If X = vbNo Then Exit Sub End If

Open nama_file For Output As #1 Print #1, txview.Text

Close #1 salah: Exit Sub End Sub

Private Sub txkirim_KeyPress(KeyAscii As Integer) If KeyAscii = 13 Then

sending End If End Sub

Private Sub txview_GotFocus() Me.txview.Locked = True End Sub

Private Sub VClient_Close() VClient.Close

Me.Caption = VChat & "Off Line"

mnConnect.Caption = "Connect"

txview.Text = ""

End Sub

Private Sub VClient_Connect() Me.Caption = VChat & "On Line"

End Sub

Private Sub VClient_DataArrival(ByVal bytesTotal As Long) Dim pesan As String

VClient.GetData pesan

txview.Text = txview.Text & pesan

(23)

End Sub

2. Form ( frmAbout.frm ) General Declarations

Private Declare Function ShellExecute Lib "shell32.dll" Alias

"ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub cmdOK_Click() Unload Me

End Sub

Private Sub Form_Load()

Me.Caption = "About " & App.Title

lblVersion.Caption = "Version " & App.Major & "." & App.Minor & "." &

App.Revision

lblTitle.Caption = App.Title End Sub

Private Sub Label4_Click()

ShellExecute Me.hwnd, vbNullString, "http://www.blogb.co.cc", vbNullString, "C:\", 1

End Sub

Private Sub Label5_Click()

ShellExecute Me.hwnd, vbNullString, "mailto:[email protected]", vbNullString, "C:\", 1

End Sub

Gambar

Gambar I.1. Tampilan Intranet Messenger Server
Gambar I.2. Tampilan Intranet Messenger Server Berada di System Tray  Windows
Gambar I.3. Tampilan Intranet Messenger Client  Keterangan:
Gambar I.4. Tampilan Help Intranet Messenger Client
+5

Referensi

Dokumen terkait

Selain itu, terdapat pengaruh tidak langsung dari jumlah kunjungan wisatawan dan pendapatan sektor perdagangan, hotel dan restoran terhadap pendapatan asli daerah

Berdasarkan basil penelitian dan temuan di lapangan, malca penyimpulan akhir tentang Manajemen Strategi Badan Pengelolaan Keuangan Kabupaten Aceh Tengah Halam Peningkatkan

Busyairuddin Usman, op.. c) Penilaian hasil belajar PAI Akidah Akhlak ialah upaya pengumpulan informasi untuk menentukan tingkat penguasaan siswa terhadap suatu kompetensi

Secara umum sarana sanitasi air bersih di Pelabuhan kota Gorontalo memenuhi syarat kesehatan hal ini disebabkan karena sarana yang ada selalu dalam pengawasan

Kesan-kesan buruk lain : Tiada kesan yang penting atau bahaya kritikal yang diketahui.

spektral spesies lamun ada pada intensitas pantulan spektralnya bukan pada bentuk kurva spektralnya. Sehingga mayoritas spesies lamun sulit dibedakan berdasarkan

Dengan adanya penelitian ini diharapkan dapat dikembangkan sebuah prosedur atau metode dalam mengestimasi luas lahan pertanian padi dengan biaya yang relatif