Desain Aplikasi

download Desain Aplikasi

of 23

description

Materi desain aplikasi untuk mahasiswa TIK

Transcript of Desain Aplikasi

  • 7/18/2019 Desain Aplikasi

    1/23

    A; Desain Aplikasi

    Cara Pembuatan Aplikasi Chat Multi User

    Buka program Visual Basic dan buatlah project baru dengan nama AplikasiChat.vbp, tambahkan

    sebuah form dengan nama frmMain.frm

    2. Pengaturan Properti

    Komponen Properti Nilai ungsi

    orm !

    "Name#

    Caption

    $tartupPosition

    frmMain

    Aplikasi MultiChat

    %&Center$creen

    orm Aplikasi Chat

    'abel! Caption Nama( 'abel Nama

    'abel% Caption $ambung ke( 'abel $ambung ke

    'abel) Caption Port ( 'abel Port

    'abel* Caption $tatus( 'abel $tatus

    'abel+ Caption ialog Pesan( 'abel dialog

    'abel- Caption Pesan( 'abel Pesan

    'abel. Caption ata /erkirim( 'abel ata /erkirim

    'abel0 Caption ata iterima( 'abel ata iterima

    'abel1 Caption Members( 'abel Members

    /e2tBo2!"Name#

    /e2t

    t2tNama

    "kosongkan#

    /empat memasukkan

    nama

    /e2tBo2%"Name#

    /e2t

    t2t3P

    !%.45454!/empat memasukkan 3P

    /e2tBo2)

    "Name#

    /e2t

    t2tPort

    !555

    /empat memasukkan

    Port

    /e2tBo2* "Name# t2t$tatus Melihat $tatus koneksi

  • 7/18/2019 Desain Aplikasi

    2/23

    Multi'ine

    $crollBars

    /e2t

    /rue

    %&Vertical

    "kosongkan#

    /e2tBo2+"Name#

    /e2t

    t2tialog

    "kosongkan#

    Melihat percakapan

    pesan

    /e2tBo2- "Name#/e2t t2tPesan"kosongkan# /empat menulis pesan

    'istBo2!

    "Name#

    'ist

    Multiselect

    $orted

    Pengguna

    "kosongkan#

    %&62tended

    /rue

    Melihat pemakai aplikasi

    'istBo2%"Name#

    'ist

    /erkirim

    "kosongkan#Melihat ata terkirim

    'istBo2)"Name#

    'ist

    iterima

    "kosongkan#Melihat ata diterima

    CommandButton!"Name#

    Caption

    cmd$er7er

    $er7er

    /ombol jika anda

    menjadi $er7er

    CommandButton% "Name#Caption

    cmdKlienKlien

    /ombol jika andamenjadi Klien

    CommandButton)"Name#

    Caption

    cmdPutus

    Putuskan

    /ombol untuk

    memutuskan koneksi

    CommandButton*"Name#

    Caption

    cmd8ilang

    8ilangkan Pilihan

    /ombol untuk

    menghilangkan pilihan

    pada daftar pemakai

    aplikasi

    CommandButton+"Name#

    Caption

    cmdKeluar

    Keluarkan

    /ombol untuk

    mengeluarkan seseorang

    dari koneksi, ini han9a

    untuk ser7erCommandButton-

    "Name#

    Caption

    cmd62it

    6:3/

    /ombol untuk keluar dari

    aplikasi

    CommandButton."Name#

    Caption

    cmdKirim

    Kirim

    /ombol untuk

    mengirimkan pesan

    CheckBo2 "Name# chkPri7ateUntuk memgirimkan

    pesan pribadi

    ;insock! "Name# sckConnection Mengontrol koneksi

    ;insock% "Name# sckConnect Mengontrol koneksi

    /imer"Name#

    3nter7al

    tmr$endata

    !

    Pengatur

  • 7/18/2019 Desain Aplikasi

    3/23

    Klik ganda pada form dan masukkan kode

    =ption 62plicit

    >Port default 9ang digunakan ketika koneksi4

    Const 6AU'/?P=@/ !555

    >ile3N3 9ang digunakan oleh program4

    Const 3N3?3'6 multichat4ini

    >parameter&parameter 9ang dikirim beserta perintah&perintah 9ang dikirim antar komputer4

    $emua parameter&parameter akan diukur khususn9a panjang karakter&karakter PA@AM?'6N untuk

    men9ederhanakan perintah&perintah oleh komputer"s# penerima4

    Const PA@AM?'6N !5

    >igunakan untuk menunjukkan bahUnsur 9ang pertama adalah untuk ser7er, dan Const ini akan mendefinisikan tentang ser7er4

    Const $6' &!

    Konstanta digunakan untuk menggambarkan kode&kode 9ang digunakan oleh ;insock4 Kode&kode ini menentukan apa masing&masing perintah 9ang dikirim sedang digunakan

    Const $CK?C=6?DAN/3?NAMA EDanti NamaF

    Const $CK?C=6?/6@PU/U$ E/erputusF

    Const $CK?C=6?G=3N6 EBergabungF

    Const $CK?C=6?K6'UA@KAN EikeluarkanF

    Const $CK?C=6?'3N6 E'ineF

    Const $CK?C=6?P6$AN EPesanF

    Const $CK?C=6?N6;?NAM6?'3$/ ENAMA '3$/ BA@UF

    Const $CK?C=6?P6=P'6 E=rangF

    Const $CK?C=6?P@3VA/6?M6$$AD6 EPesan Pri7atF

    3ni adalah perintah&perintah dan data 9ang dikirim kepada komputer&komputer 9ang lain, 9ang keser7er "jika anda sudah tersambung ke ser7er# atau kepada semua komputer 9ang dihubungkan "jika

    anda adalah ser7er#4

    im m$end'ist As Ne< Collection

    im m$end/o As Ne< Collection

    im mi: As 3nteger, miH As 3nteger

    im miNumConnections As 3nteger

    im mb$er7er As Boolean

    Public Function sFormatSendvData! As String

    >Bentuk data 9ang akan dikirim4

    >buat PA@AM?'6N long chars4

    sormat$end ormat"7ata, $tring"PA@AM?'6N, 5##

    Gika " PA@AM?'6N I !# long chars, itu berarti tanda negatif4

    Maka itu bentuk karakter lebih pendek4

  • 7/18/2019 Desain Aplikasi

    4/23

    3f 'en"sormat$end# PA@AM?'6N I ! /hen

    sormat$end ormat"7ata, $tring"PA@AM?'6N & !, 5##

    6nd 3f

    6nd unction

    Public Sub Send"oAll#ut$riginatorvsData As String% viConnection As &nteger!

    Kirimkan 7sata kepada semua koneksi kecuali 7iConnection "pembuat data#4

    im i As 3nteger

    Koneksi beredar dan mengirimkan data ke masing&masing koneksi terbuka kecuali 7iConnection4

    or i ! /o miNumConnections

    3f i J 7iConnection And frmMain4sckConnection"i#4$tate sckConnected /hen

    $end/oPerson 7sata, i

    6nd 3f

    Ne2t i

    6nd $ub

    Public Sub ProcessDatavsString As String% viConnection As &nteger!

    Prosedur ini memproses data 9ang diterima dari ser7er atau dari koneksi&koneksi ke ser7er4

    7s$tring string perintah 9ang sedang diproses

    7iConnection koneksi dari string perintah 9ang diterima

    im i As 3nteger

    im sCommand As $tring

    im s3nstruction As $tring

    im sata As $tring

    im b/emp As Boolean

    im iCount As 3nteger

    im iUser As 3nteger

    o ;hile 3n$tr"!, 7s$tring, 7bCr'f#

    /ersimpan di sCommand bagian dari arus data 9ang berisi perintah 9ang pertama4

    sCommand Mid"7s$tring, !, 3n$tr"!, 7s$tring, 7bCr'f# & !#

    3f 7iConnection $6' /hen

    ata dari ser7er4

    $ho

  • 7/18/2019 Desain Aplikasi

    5/23

    >Masing&masing perintah berisi satu instruksi seperti EPesanF atau EMemutuskanF4

    Beberapa memerintah juga berisi parameter&parameter4

    i sini instruksi bagian dari perintah itu disimpan di s3nstruction dan sisan9a disimpan di

    sata4

    s3nstruction Mid"sCommand, !, 3n$tr"!, sCommand, F##

    sata Mid"sCommand, 3n$tr"!, sCommand, F# I !, 'en"sCommand##

    $elect Case s3nstruction

    Case $CK?C=6?DAN/3?NAMA

    >Perintah ini dikirim oleh seorang pengguna ketika mereka mengubah nama mereka di dalam teks

    Nama

    update nama mereka di dalam daftar nama4

    ChangeAddName 7iConnection, sata@efresh daftar nama di semua komputer 9ang terhubung4

    $endPeople'ist

    Case $CK?C=6?/6@PU/U$

    Perintah ini diterima ketika ser7er memberitahu seseorang bah

  • 7/18/2019 Desain Aplikasi

    6/23

    Case $CK?C=6?P6$AN

    Perintah ini dikirim ketika seseorang mengirimkan pesan4

    /unjukkan pesan4

    Updateialog sata

    >Beritahu pesan pada semua koneksi 9ang terbuka4

    3f mb$er7er /hen

    $end/oAllBut=riginator $CK?C=6?P6$AN L sata, 7iConnection

    6nd 3f

    Case $CK?C=6?N6;?NAM6?'3$/

    Perintah ini dikirim oleh ser7er sebelum merefresh daftar nama4

    Pengguna4Clear

    Case $CK?C=6?P6=P'6

    3ni dikirim oleh ser7er untuk memberitahu koneksi&koneksi tersambung nama telah berubah4

    Update daftar nama4

    ChangeAddName sParam"sata, !#, s'ongParam"sata, %#

    Case $CK?C=6?P@3VA/6?M6$$AD6

    Perintah ini diterima oleh ser7er ketika seseorang mengirimkan suatu pesan pribadi

    apatkan nomor pesan dari para pemakai 9ang sedang dikirimkan4

    iCount sParam"sata, !#

    >baca parameter iCount berikutn9a4

    3ni menunjukkan para pengirim pesan4

    or i % /o iCount I !

    >apatkan pengguna berikutn9a di dalam daftar pengguna bah

  • 7/18/2019 Desain Aplikasi

    7/23

    7s$tring Mid"7s$tring, 3n$tr"!, 7s$tring, 7bCr'f# I %, 'en"7s$tring##

    'oop

    6nd $ub

    Public Sub SendPeopleList!

    3ni adalah suatu prosedur untuk merefresh masing&masing daftar koneksi4

    im i As 3nteger, j As 3nteger

    Beredar di seluruh koneksi4

    or i 5 /o Pengguna4'istCount & !

    Gangan kirimkan daftar kepada diri sendiri4

    3f Pengguna43temata"i# J $6' /hen

    Kirimkan perintah untuk jmemperjelas daftar kepada pemakai4

    $end/oPerson $CK?C=6?N6;?NAM6?'3$/, Pengguna43temata"i#

    Kirimkan nama untuk masing&masing pemakai pada masing&masing koneksi4

    or j 5 /o Pengguna4'istCount & !

    $end/oPerson $CK?C=6?P6=P'6 L sormat$end"Pengguna43temata"j## L

    Pengguna4'ist"j#, Pengguna43temata"i# Ne2t j

    6nd 3f

    Ne2t i

    6nd $ub

    Public Sub ClearStuff!

    >Prosedur ini membersihkan dialog pesan, daftar nama, dll 9ang digunakan selama suatu chat room4>digunakan untuk mengaatur ulang dialog pesan, daftar nama, dll setelah suatu chat room ditutup4

    Bersihkan antrian data4

    $et m$end'ist Nothing

    $et m$end/o Nothing

    >$embun9ikan tombol Keluarkan4

    cmdKeluar4Visible alse

    >Bersihkan daftar koneksi4

    Pengguna4Clear

    >Bersihkan dialog pesan4

    t2tialog4/e2t

    6nd $ub

    Public Function sParamvsData As String% vi'um As &nteger! As String

  • 7/18/2019 Desain Aplikasi

    8/23

    ungsi ini menarik parameter 7iNum dari arus data 7sata, 9ang sedang diproses di dalam prosedur

    Processata4

    Parameter ini adalah panjang karakter PA@AM?'6N

    sParam Mid"7sata, PA@AM?'6N "7iNum & !# I !, PA@AM?'6N#

    6nd unction

    Public Function sLongParamvsData As String% vi'um As &nteger! As String

    ungsi ini menarik parameter 7iNum dari arus data 7sata, 9ang sedang diproses di dalam prosedur

    Processata4

    Parameter ini biasan9a berada pada akhir suatu perintah4

    s'ongParam Mid"7sata, PA@AM?'6N "7iNum & !# I !, 'en"7sata##

    6nd unction

    Public Function bConnected! As #oolean

    >ungsi ini mengembalikan /rue bila ada koneksi terbuka4

    3ni digunakan untuk melihat jika anda diiinkan untuk mengubah pengaturan port, ser7er suatu chat

    room, atau men9ambungkan ke chat room4

    im i As 3nteger

    or i ! /o miNumConnections

    3f sckConnection"i#4$tate J sckClosed /hen

    bConnected /rue

    62it unction

    6nd 3f

    Ne2t i

    3f sckConnect4$tate J sckClosed /hen

    bConnected /rue

    6nd 3f

    6nd unction

    Public Sub Add'ameviConnection As &nteger% vs'ame As String!

    >Prosedur ini menambahkan suatu nama ke daftar nama4

    7iConnection pemakai koneksi

  • 7/18/2019 Desain Aplikasi

    9/23

    7sName nama dari orang

    im i As 3nteger

    /ambahkan nama itu ke daftar koneksi4

    Pengguna4Add3tem 7sName

    Kaitkan item itu di dalam daftar nama dengan koneksi ini4

    or i 5 /o Pengguna4'istCount & !

    3f Pengguna43temata"i# 5 /hen

    Pengguna43temata"i# 7iConnection

    62it or

    6nd 3f

    Ne2t i

    6nd $ub

    Public Sub ChangeAdd'ameviConnection As &nteger% vs'ame As String!

    Prosedur ini mengubah suatu nama di dalam daftar nama, atau menambahkann9a jika tidak

    ditemukan4

    7iConnection pemakai koneksi itu

    7sName nama dari orang

    im i As 3nteger, j As 3nteger

    im bound As Boolean

    Mencari nama sesuai dengan koneksi itu, menghapusn9a, dan menambahkan ulang4

    8al ini memastikan bah

  • 7/18/2019 Desain Aplikasi

    10/23

    Public Sub (emove'ameviConnection As &nteger!

    Prosedur ini mencabut suatu nama dari daftar nama4

    7iConnection pemakai koneksi itu

    im i As 3nteger

    or i 5 /o Pengguna4'istCount & !

    3f Pengguna43temata"i# 7iConnection /hen

    Pengguna4@emo7e3tem i

    62it or

    6nd 3f

    Ne2t i

    6nd $ub

    Public Function sConnection'ameviConnection As &nteger! As String

    fungsi ini mencari daftar koneksi&koneksi untuk nama dari seorang pemakai4

    7iConnection pemakai koneksi itu

    im i As 3nteger

    or i 5 /o Pengguna4'istCount & !

    3f Pengguna43temata"i# 7iConnection /hen

    sConnectionName Pengguna4'ist"i#

    62it or

    6nd 3f

    Ne2t i

    6nd unction

    Public Sub Send"oAllvsData As String% vbSelf As #oolean!

    Kirimkan 7sata kepada semua koneksi4

    7b$elf menentukan 9a atau tidakn9a 7sata dikirim kepada diri sendiri44

    im i As 3nteger

    Beredar melalui koneksi&koneksi dan mengirimkan data ke masing&masing koneksi terbuka4

    or i ! /o miNumConnections

    3f frmMain4sckConnection"i#4$tate sckConnected /hen $end/oPerson 7sata, i

    6nd 3f

    Ne2t i

    Kirim kepada diri sendiri jika perlu4

    3f 7b$elf /hen

    $end/o$elf 7sata

    6nd 3f

    6nd $ub

    Public Sub Send"oPersonvsData As String% viConnection As &nteger!

    Kirimkan 7sata ke 7iConnection4

  • 7/18/2019 Desain Aplikasi

    11/23

    m$end'ist4Add 7sata

    m$end/o4Add sckConnection" L 7iConnection L #

    6nd $ub

    Public Sub Send"oSelfvsData As String!

    Kirimkan 7sata kepada diri sendiri "ser7er#4

    panggil Processata di 7sata4

    Processata 7sata L 7bCr'f, $6'

    6nd $ub

    Public Sub Send"oServervsData As String!

    Kirimkan 7sata kepada ser7er4

    m$end'ist4Add 7sata

    m$end/o4Add sckConnect

    6nd $ub

    Public Sub )pdateStatusvsStatus As String!

    /ambahkan 7s$tatus kepada status chat room

    t2t$tatus4/e2t t2t$tatus4/e2t L 7bCr'f L 7s$tatus

    menunjuk ujung kotak teks supa9a Anda dapat melihat teks paling terbaru4

    t2t$tatus4$el$tart 'en"t2t$tatus4/e2t#

    3f Mid"t2t$tatus4/e2t, !, 'en"7bCr'f## 7bCr'f /hen

    t2t$tatus4/e2t Mid"t2t$tatus4/e2t, 'en"7bCr'f# I !, 'en"t2t$tatus4/e2t##

    6nd 3f

    6nd $ub

    Public Sub )pdateDialogvsDialog As String!

    /ambahkan 7sialog ke dialog chat room

    t2tialog4/e2t t2tialog4/e2t L 7bCr'f L 7sialog

    menunjuk ujung kotak teks supa9a Anda dapat melihat teks paling terbaru4

    t2tialog4$el$tart 'en"t2tialog4/e2t#

    3f Mid"t2tialog4/e2t, !, 'en"7bCr'f## 7bCr'f /hen

    t2tialog4/e2t Mid"t2tialog4/e2t, 'en"7bCr'f# I !, 'en"t2tialog4/e2t##

    6nd 3f

    6nd $ub

  • 7/18/2019 Desain Aplikasi

    12/23

    Public Sub Sho*SentDatavsString As String!

    >7s$tring menunjukkan data 9ang dikirim

    tambahkan ke kotak daftar4

    /erkirim4Add3tem 7s$tring

    Dulung kotak daftar ke ba/utup semua koneksi4

  • 7/18/2019 Desain Aplikasi

    13/23

    sckConnect4Close

    or i ! /o miNumConnections

    sckConnection"i#4Close

    Ne2t i

    >panggil procedure 9ang ditulis pengguna ke satu file 3N34

    6nd $ub

    ,lik ganda t-t'ama dan masukkan code

    Pri7ate $ub t2tNama?Ke9Press"Ke9Ascii As 3nteger#

    3f Ke9Ascii 7bKe9@eturn /hen Gika tombol 6nter ditekan di dalam kotak teks nama, update nama anda di la9ar dan di semua

    komputer 9ang lain4

    3f mb$er7er /hen

    Gika anda ser7er, update nama di la9ar anda4

    ChangeAddName $6', t2tNama4/e2t

    @efresh daftar nama di semua koneksi4

    $endPeople'ist

    6lse

    >Kirim nama baru ke ser7er4

    $end/o$er7er $CK?C=6?DAN/3?NAMA L t2tNama4/e2t

    6nd 3f

    Buat VB berpikir tidak ada apa pun tombol ke9board ditekan4 8al ini mencegah satu tanda bun9imengganggu4

    Ke9Ascii 5

    6nd 3f

    6nd $ub

    ,lik ganda t-tPesan dan masukkan code

    Pri7ate $ub t2tPesan?Ke9Press"Ke9Ascii As 3nteger#

    3f Ke9Ascii 7bKe9@eturn /hen

    Gika tombol 6nter ditekan di dalam kotak teks maka suatu pesan akan dikirim, hampir sama dengan

    tombol Kirim4 cmdKirim?Click

    Bersihkan kotak teks4

    t2tPesan4/e2t

    Buat VB berpikir tidak ada apa pun tombol ke9board ditekan4 8al ini mencegah satu tanda bun9i

    mengganggu4

    Ke9Ascii 5

    6nd 3f

    6nd $ub

    ,lik ganda sckConnection dan masukkan code

  • 7/18/2019 Desain Aplikasi

    14/23

    Pri7ate $ub sckConnection?Close"3nde2 As 3nteger#

    $alah satu dari koneksi ke ser7er itu tertutup4

    /utup koneksi4

    sckConnection"3nde2#4Close

    Gika seseorang ada pada koneksi itu, beritahu koneksi&koneksi 9ang terbuka4

    3f sConnectionName"3nde2# J /hen

    >Update status4

    Update$tatus sConnectionName"3nde2# L /idak /ersambung4

    >8ilangkan nama mereka dari daftar nama4

    @emo7eName 3nde2

    >ser7er memberitahu pada semua komputer 9ang terhubung bah8itung jumlah koneksi4

    miNumConnections miNumConnections I !

    memuat ;insock kontrol 9ang baru untuk koneksi ini4

    'oad sckConnection"miNumConnections#

    >Kontrol 9ang digunakan adalah kontrol 9ang baru4 iConnection miNumConnections

    6nd 3f

    /etapkan port untuk kontrol ini ke 54 "$ecara acak menugaskan satu port 9ang tersedia4#

    sckConnection"iConnection#4'ocalPort 5

    >Kontrol ini menerima koneksi4

    sckConnection"iConnection#4Accept reQuest3

    6nd 3f

    1nd Sub

    Private Sub sckConnection+DataArrival&nde- As &nteger% #/0al b/tes"otal As Long!

  • 7/18/2019 Desain Aplikasi

    15/23

    ata diterima di ser7er dari satu koneksi 9ang terbuka4

    im s$tring As $tring

    >apatkan data4

    sckConnection"3nde2#4Detata s$tring, 7b$tring

    >ata diproses4

    Processata s$tring, 3nde2

    1nd Sub

    ,lik ganda sckConnect dan masukkan code

    Private Sub sckConnect+DataArrival#/0al b/tes"otal As Long!

    >ata diterima di komputer 9ang tersambung ke ser7er4

    im s$tring As $tring>apatkan data

    sckConnect4Detata s$tring, 7b$tring

    data diproses4

    Processata s$tring, &!

    6nd $ub

    Private Sub sckConnect+Close!

    8al ini terjadi ketika koneksi kepada ser7er gagal4

    Update status4

    Update$tatus isconnected4

    /utup koneksi4

    sckConnect4Close

    Bersihkan daftar nama4

    Pengguna4Clear

    >bersihkan daftar nama, dialog, dll untuk membuat chat room baru4

    Clear$tuff

    sembun9ikantampilkan fungsi&fungsi tertentu karena koneksi sedang ditutup4

    CloseConnection

    6nd $ub

    ,lik ganda cmdServer dan masukkan code

    Pri7ate $ub cmd$er7er?Click"#

    Cek input4

    3f 'en"t2tNama4/e2t# 5 /hen

    MsgBo2 Mohon Masukkan Nama, 7bCritical

    t2tNama4$etocus

    62it $ub

    6nd 3f

  • 7/18/2019 Desain Aplikasi

    16/23

    $eseorang meng&klik tombol $er7er untuk menjadi ser7er chat room4

    $embun9ikanperlihatkan fungsi tertentu karena suatu koneksi sedang dibuka4

    =penConnection

    mengingatkan bahBersihkan daftar nama, dialog, dll untuk membuat chat room baru4

    Clear$tuff

    >/utup ;insock kontrol untuk mengiinkan anda tersambung dengan ser7er4

    sckConnect4Close

    >@eset Upadate $tatus4

    Update$tatus $er7er4

    >/ampilkan nama ser7er pada daftar koneksi4

    Pengguna4Add3tem t2tNama4/e2t

    Pengguna43temata"5# $6'

    /ampilkan tombol Keluarkan4 3ni han9a untuk ser7er4

    cmdKeluar4Visible /rue

    6nd $ub

    ,lik ganda cmd,lien dan masukkan code

    Pri7ate $ub cmdKlien?Click"#

    $eseorang meng&klik tombol Klien untuk tersambung ke seseorang 9ang bertindak sebagai ser7er4

    =n 6rror Do/o 6rr?cmdKlien?Click

    3f 'en"t2tNama4/e2t# 5 /hen

    MsgBo2 Mohon Masukkan Nama, 7bCritical

    t2tNama4$etocus

    62it $ub

    6nd 3f

    sembun9ikantampilkan fungsi&fungsi tertentu karena koneksi sedang dibuka4

    =penConnection

    >Anda bukan ser7er4

    mb$er7er alse

    >bersihkan daftar nama, dialog, dll untuk membuat chat room baru4Clear$tuff

    Update status4

    Update$tatus /arsambung444

    /utup port 9ang sedang digunakan dan coba sambung lagi4

    sckConnect4Close

    sckConnect4@emotePort t2tPort4/e2t

    sckConnect4Connect t2t3P4/e2t

    >Kirim nama pengguna ke ser7er4

    $end/o$er7er $CK?C=6?G=3N6 L t2tNama4/e2t

    62it $ub

    Gika suatu koneksi tidak bisa dilakukan, kode ini dijalankan4

  • 7/18/2019 Desain Aplikasi

    17/23

    6rr?cmdKlien?Click(

    MsgBo2 /idak dapat tersambung4, 7b62clamation, App4/itle

    sckConnect4Close

    Update$tatus /idak /ersambung4

    sembun9ikantampilkan fungsi&fungsi tertentu karena koneksi sedang ditutup4

    CloseConnection

    6nd $ub

    ,lik ganda cmdPutus dan masukkan code

    Private Sub cmdPutus+Click!

    >$eseorang meng&klik tombol Putuskan untuk memutuskan koneksi4

    im i As 3nteger

    >/utup semua koneksi4

    sckConnect4Closeor i 5 /o miNumConnections

    sckConnection"i#4Close

    Ne2t i

    mb$er7er alse

    >Update status4

    Update$tatus /idak /ersambung4

    >bersihkan daftar nama, dialog, dll untuk membuat chat room baru4

    Clear$tuff

    sembun9ikantampilkan fungsi&fungsi tertentu karena koneksi sedang ditutup4

    CloseConnection6nd $ub

    ,lik ganda cmdilang dan masukkan code

    Private Sub cmdilang+Click!

    >8ilangkan pilihan pada daftar nama koneksi4

    im i As 3nteger

    or i 5 /o Pengguna4'istCount & !

    Pengguna4$elected"i# alseNe2t i

    6nd $ub

    Private Sub cmd,eluar+Click!

    $er7er 9ang menentukan untuk mengeluarkan sebagian orang4

    im i As 3nteger, j As 3nteger

    >Cek siapa 9ang terpilih di daftar nama4

    Pastikan untuk mengabaikan jika ser7er terpilih4

  • 7/18/2019 Desain Aplikasi

    18/23

    or i Pengguna4'istCount & ! /o 5 $tep &!

    3f Pengguna4$elected"i# And Pengguna43temata"i# J $6' /hen

    Ketika suatu nama 9ang terpilih ditemukan, beritahu semua koneksi 9ang terbuka bah/utup koneksi4

    sckConnection"Pengguna43temata"i##4Close >Update status4

    Update$tatus ikeluarkan L Pengguna4'ist"i# L 4

    >8ilangkan nama mereka dari daftar nama4

    Pengguna4@emo7e3tem "i#

    6nd 3f

    Ne2t i

    >8ilangkan pilihan dari daftar nama4

    or i 5 /o Pengguna4'istCount & !

    Pengguna4$elected"i# alse

    Ne2t i

    6nd $ub

    Private Sub cmd,irim+Click!

    $eseorang meng&klik tombol Kirim untuk mengirimkan suatu pesan4

    im i As 3nteger

    im iCount As 3nteger

    im sUsers As $tring

    3f mb$er7er /hen

    Gika anda adalah ser7er, kirimkan pesan itu kepada semua koneksi 9ang terbuka4

    3f chkPri7ate4Value 7bChecked /hen

    Pesan pribadi &han9a untuk para pemakai 9ang terpilih4

    'ihat 9ang terpilih di dalam kotak daftar dan kirimkan pesan kepada mereka4

    or i 5 /o Pengguna4'istCount & !

    3f Pengguna4$elected"i# /rue /hen

    Gangan kirimkan pesan kepada diri sendiri4

    3f Pengguna43temata"i# J $6' /hen

    $end/oPerson $CK?C=6?P6$AN L L t2tNama4/e2t L ( L t2tPesan4/e2t,

    Pengguna43temata"i#

  • 7/18/2019 Desain Aplikasi

    19/23

    6nd 3f

    6nd 3f

    Ne2t i

    6lse

    Pesan untuk semua pengguna4

    $end/oAll $CK?C=6?P6$AN L t2tNama4/e2t L ( L t2tPesan4/e2t, alse

    6nd 3f

    6lse

    Gika anda tersambungkan ke ser7er, kirimkan pesan itu kepada ser7er4

    3f chkPri7ate4Value 7bChecked /hen

    Pesan pribadi &han9a untuk para pemakai 9ang terpilih4

    'ihat 9ang terpilih di dalam kotak daftar dan kirimkan pesan kepada mereka4

    or i 5 /o Pengguna4'istCount & !

    3f Pengguna4$elected"i# /rue /hen

    string dari daftar pesan para pemakai akan dikirimkan4

    string ini akan diuraikan oleh ser7er, 9ang akan mengalihkan pesan4

    sUsers sUsers L sormat$end"Pengguna43temata"i## hitung pesan para pemakai 9ang sedang dikirim

    3ni diperlukan sehingga ser7er mengetahui bagaimana caran9a menguraikan string4

    iCount iCount I !

    6nd 3f

    Ne2t i

    Gika daftar tidak kosong, kirimkan pesan kepada ser7er

    3f iCount J 5 /hen

    $end/o$er7er $CK?C=6?P@3VA/6?M6$$AD6 L sormat$end"iCount# L sUsers L

    L t2tNama4/e2t L ( L t2tPesan4/e2t

    6nd 3f

    6lse

    >pesan untuk semua pengguna4 $end/o$er7er $CK?C=6?P6$AN L t2tNama4/e2t L ( L t2tPesan4/e2t

    6nd 3f

    6nd 3f

    3f chkPri7ate4Value 7bChecked /hen

    >Update dialog pesan4

    Updateialog L t2tNama4/e2t L ( L t2tPesan4/e2t

    6lse

    Update dialog pesan4

    Updateialog t2tNama4/e2t L ( L t2tPesan4/e2t

    t2tPesan4/e2t =n 6rror @esume Ne2t

    t2tPesan4$etocus

    6nd 3f

    >kosongkan kotak pesan4

    t2tPesan4/e2t

    6nd $ub

    Private Sub cmd13&" +Click!

  • 7/18/2019 Desain Aplikasi

    20/23

    >Keluarkan aplikasi4

    Unload Me

    6nd $ub

    Private Sub tmrSendData+"imer!

    pengatur panjang pengiriman data4

    $ho

  • 7/18/2019 Desain Aplikasi

    21/23

    $esuatu 9ang sudah dikirim4

    b$ent /rue

    6nd 3f

    6nd 3f

    >8itung 7ariabel inde24

    i$end i$end I !

    'oop

    6nd $ub

    C; Cara Menggunakan Program

    $etelah code diatas telah dimasukkan semua, maka compilelah program diatas menjadi e2e,

    dengancara Klik menu ileMake MultiChat4e2e

    $etelah berhasil disimpan, coba buka ) kali program tersebut dalam satu komputer4

  • 7/18/2019 Desain Aplikasi

    22/23

    Masukkan nama ser7er, klien!, klien% pada aplikasi tersebut, untuk ser7er tekan tombol $er7er dan

    untuk klien tekan tombol Klien4 Cobalah untuk mengirim pesan melalui ser7er dan pesan akan

    diterima oleh seluruh klien4

    Untuk membuat pesan pribadi pada seseorang pilihlah nama pada bagian daftar pengguna dan

    centanglah Pesan Pribadi.

  • 7/18/2019 Desain Aplikasi

    23/23

    Untuk penggunaan dalam jaringan anda harus memasukan 3P komputer ser7er baik pada ser7er

    maupun klien4