Universitas Kristen Maranatha
v
ABSTRAK
Papan tulis dan proyektor merupakan peralatan yang umum digunakan dalam
setiap kegiatan belajar mengajar. Akan tetapi, dalam kegiatan belajar mengajar ilmu
komputer, kedua alat tersebut mungkin tidak begitu efektif. Terutama apabila yang
dipelajari merupakan materi atau bahasa pemograman yang sulit.
Melihat kalau papan tulis dan proyektor saja tidak cukup efektif, maka dibuatlah
sebuah aplikasi yang bisa menampilkan layar komputer pengajar ke semua komputer
muridnya. Pengajar tidak perlu repot bolak balik dari papan tulis ke komputernya, dan
murid-muridnya pun dapat belajar dengan lebih baik karena para murid “melihat” ilmu
yang sedang dipelajari melalui komputer daripada “mendengar” saja dari mulut
pengajar.
Universitas Kristen Maranatha
vi
ABSTRACT
Blackboard and projector are common tools used for teaching and studying.
However, in teaching or studying computer science both of them aren’t very effective.
Especially, when the learning materials involve difficult topics or programming
languages.
Seeing how less effective the blackboard and projector can be, the writer creates
an application that can broadcast the desktop of the teacher’s computer to all of his/her
student’s computer. The teacher won’t have to go back and forth between the
blackboard and their computer, and the students can study better for they can now “see”
what are being studied rather than only “hear” it from the mouth of the teacher.
In the making of this application, Visual Basic 6.0 Enterprise Edition is used as
Universitas Kristen Maranatha
vii
DAFTAR ISI
LEMBAR PENGESAHAN TUGAS AKHIR... i
LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH ... ii
PERNYATAAN ORISINALITAS KERJA ... iii
KATA PENGANTAR... iv
BAB I PENDAHULUAN ...1
1.1.Latar Belakang...1
BAB II DASAR TEORI...5
2.1. Winsock ...5
2.2. API (Application Programming Interface) ...5
2.3. UDT (User Defined Type) ...7
2.4. Mengendalikan komputer client...9
2.5. Mengambil alih cursor komputer client...10
2.6. Memblokir input computer client...10
2.7. Mematikan paksa atau restart paksa komputer client...11
2.8. Memonitor fasilitas chat antar client...11
2.9. Mengambil layar desktop...12
2.10. Mendeteksi aplikasi / proses yang sedang berjalan ...12
BAB III ANALISA DAN PEMODELAN ...14
3.1 Deskripsi Umum ...14
3.2. Arsitektur ...15
3.3. Layout...20
Universitas Kristen Maranatha
viii
BAB IV PERANCANGAN DAN IMPLEMENTASI ...26
4.1. Fungsi...26
4.2. Screenshots...38
BAB V PENGUJIAN ...42
5.1. WhiteBox Testing...42
5.2. BlackBox Testing...52
BAB VI KESIMPULAN DAN SARAN ...55
6.1. Kesimpulan...55
6.2. Saran...56
Universitas Kristen Maranatha
ix
DAFTAR GAMBAR
Gambar 3.1. Flowchart aplikasi server...15
Gambar 3.2. Flowchart aplikasi client...17
Gambar 3.3. Flowchart proses pengiriman file oleh server ke client...19
Gambar 3.4. Desain awal layar utama Server...20
Gambar 3.5. Desain akhir layar utama server...21
Gambar 3.6. Desain awal layar pengiriman file...22
Gambar 3.7. Desain akhir layar pengiriman file...22
Gambar 3.8. Desain layar pengambilan file...23
Gambar 3.9. Layar utama Client...23
Gambar 3.10. Layar konfigurasi koneksi client...24
Gambar 3.11. Layar chat client...24
Gambar 4.1. Layar utama server...38
Gambar 4.2. Layar pengambil alihan client oleh server...39
Gambar 4.3. Layar pengiriman pesan dari server ke client...39
Gambar 4.4. Layar pengiriman file dari server ke client...40
Gambar 4.5. Layar pengambilan file...40
Gambar 4.6. Layar utama client...41
Gambar 4.7. Layar chat client...41
Gambar 4.8. Layar koneksi manual client...41
Gambar 5.1. Tampilan aplikasi server menurut responden...52
Gambar 5.2. Tampilan aplikasi client menurut responden ...52
Gambar 5.3. User friendliness aplikasi server menurut responden...52
Gambar 5.4. User friendliness aplikasi client menurut responden ...52
Gambar 5.5. Kinerja server dalam mengirim file menurut responden ...53
Gambar 5.6. Kinerja server dalam mengambil file menurut responden ...53
Gambar 5.7. Kinerja server dalam mengambil alih client menurut responden ...53
Gambar 5.8. Kinerja server dalam memblokir input client menurut responden ...53
Gambar 5.9. Fitur chat pada aplikasi client menurut responden ...53
Gambar 5.10. Kinerja brodcast layar komputer ...54
Gambar 5.11. Kemampuan server dalam melihat layar komputer client menurut responden ...54
Universitas Kristen Maranatha
x
Universitas Kristen Maranatha
xi
DAFTAR TABEL
Tabel 1.1. Time Schedule...4
Tabel 2.1. API pada server...6
Tabel 2.2. API pada client...6
Tabel 2.3. API pada server dan client...7
Tabel 4.1. listen_again ...26
Tabel 4.2. ws_init ...26
Tabel 4.3. send_command ...27
Tabel 4.4. send_one_comm ...27
Tabel 4.5. check_mouse ...28
Tabel 4.6. screencapture...28
Tabel 4.7. detect ...29
Tabel 4.8. shuttingdown ...30
Tabel 4.9. getfiles...31
Tabel 4.10 getdir ...32
Tabel 4.11. getall...33
Tabel 4.12. pack...34
Tabel 4.13. unpack...35
Tabel 4.14. send ...36
Tabel 5.1. Tabel pengujian terhadap fungsi ws_init ...42
Tabel 5.2. Pengujian terhadap fungsi shuttingdown ...43
Tabel 5.3. Pengujian terhadap fungsi filetitle ...43
Tabel 5.4. Pengujian terhadap akurat atau tidaknya fungsi send...44
Tabel 5.5. Pengujian terhadap fungsi send_command ...45
Tabel 5.6. Pengujian terhadap fungsi send_one_comm ...47
Tabel 5.7. Pengujian terhadap fungsi screencapture...48
Tabel 5.8. Pengujian terhadap fungsi make_dir...49
Tabel 5.9. Pengujian terhadap fungsi pack...49
Universitas Kristen Maranatha
1
BAB I PENDAHULUAN
1.1.Latar Belakang
Papan tulis dan proyektor merupakan peralatan yang umum digunakan dalam
setiap kegiatan belajar mengajar, akan tetapi dalam kegiatan belajar mengajar ilmu
komputer kedua alat tersebut mungkin tidak begitu efektif. Terutama apabila yang
dipelajari merupakan materi atau bahasa pemograman yang sulit.
Saat mengajarkan ilmu komputer pengajar terkadang akan kewalahan dalam
mengajar, karena pengajar tidak hanya akan sibuk memberi keterangan di papan tulis,
mereka juga akan sibuk dengan komputer mereka sendiri, apalagi kalau yang diajarkan
adalah bahasa pemograman yang sulit dan banyak baris.
Melihat kalau papan tulis dan proyektor saja tidak cukup efektif, maka dibuatlah
sebuah aplikasi yang bisa menampilkan layar komputer pengajar ke semua komputer
muridnya. Pengajar tidak perlu repot bolak balik dari papan tulis ke komputernya, dan
murid-muridnya pun dapat belajar dengan lebih baik karena para murid “melihat” ilmu
yang sedang dipelajari melalui komputer daripada “mendengar” saja dari mulut
pengajar.
Aplikasi ini dapat mengendalikan dan memantau semua layar komputer semua
murid, dengan begini pengajar akan dapat mengetahui aktifitas komputer murid. Aplikasi
client akan dilengkapi dengan fitur chat, dengan begini sesama client dapat saling
berkomunikasi.
1.2.Perumusan Masalah
Adapun hal yang akan di bahas di dalam laporan ini adalah:
1. Bagaimana cara membuat aplikasi sever-client dengan winsock di VB6?
2. Bagaimana caranya agar aplikasi server dapat mengendalikan komputer client?
3. Bagaimana cara melakukan broadcast layar server ke semua client?
4. Bagaimana cara membuat server yang bisa melihat layar komputer client?
1.3.Tujuan
Adapun yang menjadi tujuan pengambilan KP adalah:
1. Membuat aplikasi server-client dengan winsock di VB6.
2. Membuat server yang bisa mengendalikan komputer client.
Universitas Kristen Maranatha
2
4. Membuat server yang bisa melihat layar komputer client.
1.4.Pembatasan Masalah
Aplikasi ini terdiri atas dua, yaitu aplikasi server (Tutor) dan client (Student).
Kedua aplikasi ini memiliki fitur-fitur yang berbeda satu sama lain. Server memiliki
fitur-fitur yang lebih banyak dan dapat mengendalikan client, sementara client hanya diberi
fitur untuk melakukan chat dengan client lainnya, itupun dikendalikan dan dimonitor oleh
server. Aplikasi server dan client memiliki batasan-batasan sebagai berikut:
Batasan-batasan yang dimiliki oleh server:
1. Jumlah client maksimum yang bisa dapat terkoneksi adalah 50 client
2. Protokol komponen winsock yang digunakan adalah TCP
3. OS yang dibutuhkan adalah Windows Server 2000 / XP SP2
4. Bisa mematikan paksa atau restart paksa satu atau semua komputer client, tapi
tidak bisa menghidupkan komputer sejak awal tidak hidup atau dalam keadaan
stand by.
5. Bisa mengambil alih satu komputer client saja, tidak bisa mengambil alih lebih
dari satu komputer dalam waktu yang sama
6. Server akan selalu mencatat aktifitas chatting semua client. Nama komputer
pengirim, penerima, waktu ketika pesan dikirim, dan pesannya sendiri akan
dicatat.
7. Bukan server yang menghubungi client, tapi client yang menghubungi server.
Batasan-batasan yang dimiliki oleh client:
1. Protokol komponen winsock yang digunakan adalah TCP
2. OS yang dibutuhkan adalah Windows Server 2000 / XP
3. Fitur chat dalam aplikasi ini dikendalikan dan dimonitor oleh server.
1.5.Sistematika Penyajian
Organisasi penulisan terdiri dari lima bab, yaitu:
BAB I : Pendahuluan.
Bab ini berisi uraian mengenai Latar Belakang, Perumusan
Universitas Kristen Maranatha
3
dan Time Schedule.
BAB II : Dasar Teori
Bab ini menjelaskan teori-teori dan pengetahuan dasar yang
digunakan dalam mengerjakan TA.
BAB III : Analisa Dan Pemodelan
Bab ini menjelaskan deskripsi umum aplikasi ini, arsitektur,
layout, dan creative strategy.
BAB IV : Perancangan Dan Implementasi
Bab ini menjelaskan method (fungsi) yang berperan penting
dalam pembuatan game ini.
BAB V : Pengujian
Bab ini menjelaskan hasil pengujian terhadap method atau
fungsi yang berperan penting dalam pembuatan aplikasi ini.
BAB VI : Kesimpulan dan Saran
Bab ini berisi kesimpulan yang dapat ditarik dan saran yang
Universitas Kristen Maranatha
4
1.6.Time Schedule
Semua kegiatan yang berkaitan dengan pembuatan aplikasi Tugas Akhir
tercantum pada tabel time schedule berikut ini.
Tabel 1.1. Time Schedul
Universitas Kristen Maranatha
55
BAB VI KESIMPULAN DAN SARAN
6.1. Kesimpulan
Kesimpulan yang dapat diambil setelah pengerjaan aplikasi ini adalah:
1. Aplikasi server-client dapat dibuat dengan menggunakan winsock dengan
protokol TCP bukan UDP. Protokol UDP tidak dipakai karena tidak sesuai
dengan konsep client-server di mana untuk bisa berhubungan client harus
menghubungi server terlebih dahulu. Protokol ini hanya mengirim data dari satu
komputer ke komputer (atau banyak komputer) yang memantau port yang
digunakan tanpa perlu ada komputer yang bertindak sebagai server atau client.
Alasan lain kenapa protokol UDP tidak dipakai adalah karena protokol ini tidak
bisa digunakan untuk mengirim data berukuran besar, seperti file gambar.
2. Server dapat mengendalikan komputer client dengan cara mengirim
pesan-pesan yang dapat memicu kode program tertentu pada aplikasi client, sehingga
komputer client akan bereaksi sesuai dengan kode program yang dijalankan.
3. Server dapat melakukan broadcast layar komputernya ke semua client dengan
cara mengirim pesan pendek terlebih dahulu ke semua client. Hanya client yang
membalas pesan tersebutlah yang bisa melihat layar komputer server, dengan
begini client yang tidak terhubung tidak akan dikirimi gambar layar komputer
server. Hal ini dapat mengurangi beban kerja aplikasi dan komputer server,
karena server hanya mengirim file gambar yang berukuran besar ke client yang
terhubung saja.
4. Server dapat melihat layar komputer semua client karena di dalam aplikasi client
terdapat kode program yang dapat menangkap gambar layar komputer client dan
mengirim gambar tersebut kepada server. Pengambilan dan pengiriman gambar
hanya dilakukan saat client menggerakkan mouse atau sedang mengetik untuk
mengurangi beban kerja aplikasi dan komputer client.
5. VB6 tidak bisa menyimpan gambar dalam format jpeg. VB6 hanya bisa
menyimpan file dengan format bitmap, meskipun ekstensi file tersebut adalah
.jpgfile tersebut tetaplah bitmap.
6. VB6 dapat menyimpan gambar dalam format jpeg dengan bantuan API dari file
Universitas Kristen Maranatha
56
6.2. Saran
Saran-saran untuk pengembangan lebih lanjut adalah sebagai berikut:
1. Aplikasi ini masih belum menggunakan OOP, sehingga untuk pengembangannya
di masa depan akan sulit. Sebaiknya di masa yang akan datang dibuat dalam
OOP.
2. Aplikasi ini tidak memiliki menu untuk mengatur konfigurasi jaringan aplikasi,
seperti mengatur port yang akan dipakai oleh aplikasi. Sebaiknya di masa depan
ditambahkan menu untuk mengatur konfigurasi jaringan aplikasi.
3. Aplikasi ini tidak memiliki user manual. Sebaiknya di masa depan ditambahkan
Universitas Kristen Maranatha
57
DAFTAR PUSTAKA
• API-Guide 3.7. The KPD Team. Retrieved November 4, 2007, from
http://allapi.mentalis.org/agnet/appdown.shtml.
• Balena, Francesco; Programming Microsoft Visual Basic 6.0; Visual Basic
Programmer’s Journal, 1999.
• Dwi Prasetyo, Didik; 101 TIP & TRIK Visual Basic 6.0; PT Elex Media Komputindo,
2007.
• Firdaus; 64 Trik Tersembunyi Visual Basic;Maxikom, 2007.
• JPEG Compression. Expert-Exchange. Retrieved September 5, 2008, from
http://www.experts-exchange.com/Programming/Languages/Visual_Basic/Q_21181523.html.
• Nalwan, Agustinus; Membuat Program Profesional Secara Cepat dengan VB; PT