BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Lingkungan

advertisement
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1
Lingkungan Implementasi
Setelah melakukan analisis dan perancangan terhadap aplikasi video
conference, tahapan selanjutnya implementasi dan pengujian. Pada tahapan
implementasi terdapat beberapa proses yang meliputi desain antarmuka video
conference, coding dan spesifikasi kebutuhan sistem yang meliputi perangkat
lunak (software), perangkat keras (hardware). Implementasi dan pengujian
merupakan sebuah penerapan aplikasi dan memfungsikan aplikasi tersebut untuk
digunakan dalam suatu proses. Implementasi tersebut dapat beberapa hal yang
berhubungan dengan pengujian aplikasi.
4.1.1 Spesifikasi Kebuthan Sistem
Berikut spesifikasi kebutuhan sistem yang diperlukan dalam implementasi
aplikasi video conference.
1. Perangkat Lunak (Software)
Untuk lingkungan perangkat lunak, langkah pertama dalam
pelaksanaan implementasi “aplikasi video conference” ini adalah
mendesain
tampilan
antarmuka
(interface)
untuk
menampilkan
video/audio Kemudian dilanjutkan dengan memberikan coding-coding
untuk dapat berkoneksi maupun menjalankan aplikasi yang diinginkan.
Perangkat lunak yang diperlukan dalam implementasi “aplikasi video
conference” adalah sebagai berikut:
Sistem Operasi Windows 98, NT, 2000, ME, XP
Microsoft Visual Studio 6.0
Microsoft Visual Studio 2005
50
51
2. Perangkat Keras (Hardware)
Untuk mencapai efektivitas dan efisiensi waktu, perlu didukung
dengan tersedianya perangkat keras yang digunakan. Untuk itu konfigurasi
perangkat keras yang dibangun harus benar-benar dapat menunjang dalam
pelaksanaan kerja sesuai dengan yang diharapkan dalam perancangan
sistem.
“Aplikasi video conference” ini dapat diimplementasikan pada komputer
standar
dengan
spesifikasi
perangkat
keras
minimal
yang
direkomendasikan sebagai berikut:
Prosesor dengan kecepatan 133 Mhz
128 MB RAM (higher)
Harddisk space sebesar 5 Gb
Monitor 14” (relatif) VGA (Video Graphic Adapter) atau SVGA (Super
Video Graphic Adapter)
Keyboard dan mouse standar
Sound Card
Earphone / headset sebagai output suara
Webcam USB 2.0
4.2 Implementasi Aplikasi
Pada tahap ini mengimplementasikan aplikasi yang telah dibangun. Hasil
implementasi mengacu pada desain sistem yang telah dibahas pada bab
sebelumnya.
52
4.2.1 Antarmuka Video Conference
Gambar 4.1 Antarmuka Video Conference
Pada antarmuka utama terdapat tiga menu header yaitu menu conference, view,
audio, video dan pada antaramuka utama terdapat judul dari aplikasi. Selain menu
dan judul, pada antarmuka utama terdapat dua screen yaitu local screen, remote
host screen dimana berfungsi menampilkan video stream antara screen user satu
dan screen user dua. Selain itu antarmuka utama terdapat fasilitas chating dapat
digunakan untuk komunikasi dua arah.
53
4.2.2 Menu Connect
Gambar 4.2 Gambar menu conncet
Menu ini berfungsi mengkoneksikan alamat IP pada sebuah jaringan yang telah
dibangun, sehingga terlaksananya konferensi antar user.
Tampilan menu di atas dihasilkan potongan script sebagai berikut:
void ConnectDlg::OnConnect()
{
char hostname[200];
this->GetDlgItemText(IDC_EDIT1,hostname,200);
this->OnCancel();
((CVideoNetDlg*)mdlg)>dcontrol.SendControlMessage(MESG_CONNECT,hostname);
}
// set referensi main dialog
void ConnectDlg::SetParent(CDialog *dlg)
{
mdlg=dlg;
}
//tutup kotak dialog connect
void ConnectDlg::OnCancel()
{
this->SetDlgItemText(IDC_EDIT1,"");
CDialog::OnCancel();
}
Pada menu “connect” terdapat form pengisian alamat IP remote host. Langkah
pertama, isi alamat IP remote host yang dituju. Jika alamat IP yang telah
dimasukkan benar maka akan tampil form konfirmasi, apakah kita ingin
54
melakukan konferensi dengan user lain, jika iya klik tombol “accept”, jika tidak
klik tombol “reject” seperti gambar berikut:
Gambar 4.3 form konfirmasi permintaan untuk bergabung
Tampilan form di atas dihasilkan dari potongan script sebagai berikut:
BOOL RequestDlg::OnInitDialog()
{
CDialog::OnInitDialog();
char str[600];
sprintf(str,"Connection request from user %s ",rname);
this->SetDlgItemText(IDC_MESG,str);
return TRUE;
}
// set nama dan alamat remote user
void RequestDlg::SetParameter(char *hostname,char *hostaddress,CDialog *dlg)
{
strcpy(rname,hostname);
strcpy(raddress,hostaddress);
pdlg=dlg;
}
// user telah menerima permintaan koneksi
//mengirim notifikasi permintaan accept ke remote use
void RequestDlg::OnAccept()
{
this->OnCancel();
// mengirim notifikasi ke remote user
((CVideoNetDlg*)pdlg)>dcontrol.SendControlMessage(MESG_ACCEPT,NULL);
// jika user reject/menolak permintaan koneksi
void RequestDlg::OnReject()
{
//mengirim notifikasi reject ke remote user
55
((CVideoNetDlg*)pdlg)>dcontrol.SendControlMessage(MESG_REJECT,NULL);
CDialog::OnCancel();
}
Setelah itu klik tombol “accept” maka akan tampil form seperti gambar berikut:
Gambar 4.4 form konfirmasi permintaan user
Notifikasi form di atas dihasilkan dari potongan script sebagai berikut:
RequestDlg rdlg(NULL);
// Control type
if(type==TYPE_CONTROL)
{
retvalue=this->ReceiveFrom(data,length,address,port);
if(retvalue==SOCKET_ERROR)
return;
// Get host name from the data.
for(int i=0;i<data[1];i++)
hname[i]=data[i+2];
hname[i]=0;
strcpy(remotename,hname);
strcpy(remoteaddress,(LPCTSTR)address);
switch(data[0])
{
// action : Remote user telah mengirim undangan untuk konferensi
// reaction : accept/reject undangan
case MESG_CONNECT:
// menampilkan dialog box accept dan reject
rdlg.SetParameter(remotename,remoteaddress,pdlg);
rdlg.DoModal();
return;
// action : Remote user telah menerima undangan
// reaction : mulai konferensi
case MESG_ACCEPT:
AfxMessageBox("User has accepted the connection");
( (CVideoNetDlg*)pdlg)->StartConference();
return;
}
return;
}
56
klik tombol “OK” makan akan muncul video pada local screen dan remote screen
seperti gambar berikut:
Gambar 4.5 Tampilan Video Conference
Terlihat pada ruang konferensi ada dua user yang bergabung, kedua user tersebut
memiliki webcam sehingga pada remote video host menampilkan user yang
dipanggil oleh user local video screen yaitu user remote video host sedangkan
local video screen sebaliknya yaitu menampilkan user itu sendiri.
Video Capture dilakukan menggunakan VFW (Video For Windows) API.
Menyediakan dukungan untuk menangkap video dari webcam. videocapture.h dan
videocapture.cpp adalah file yang berisi kode program untuk proses pengambilan
video.
57
4.2.3 Menu View
Pada menu view terdapat dua submenu antara lain local video screen dan remote
video screen seperti gambar berikut:
Gambar 4.6 submenu local video screen & remote video screen
Tampilan menu local video screen dan remote video screen dihasilkan potongan
script sebagai berikut:
// Show / Hide the local video screen
void CVideoNetDlg::OnViewLocal()
{
CMenu *menu=this->GetMenu();
if(isViewLocalVideo)
{
isViewLocalVideo=FALSE;
menu->CheckMenuItem(VIEW_LOCAL,MF_BYCOMMAND
MF_UNCHECKED);
}
else
{
|
58
isViewLocalVideo=TRUE;
menu->CheckMenuItem(VIEW_LOCAL,MF_BYCOMMAND
MF_CHECKED);
}
}
// Show / Hide the remote video screen
void CVideoNetDlg::OnViewRemote()
{
CMenu *menu=this->GetMenu();
|
if(isViewRemoteVideo)
{
isViewRemoteVideo=FALSE;
menu->CheckMenuItem(VIEW_REMOTE,MF_BYCOMMAND |
MF_UNCHECKED);
}
else
{
isViewRemoteVideo=TRUE;
menu->CheckMenuItem(VIEW_REMOTE,MF_BYCOMMAND |
MF_CHECKED);
}
}
Local dan remote video screen berfungsi men-enable dan disable video screen.
Jika submenu diberi tanda
tanda
maka yang tampil local video screen, jika tidak ada
maka local video tidak tampil begitupun sebaliknya dengan fungsi menu
remote video screen. Apabila kedua submenu view diberi tanda
.
59
4.2.4 Menu Audio
Pada menu audio terdapat tiga submenu antara lain volume control, send dan
receive.
Gambar 4.7 Menu Audio
Tampilan menu audio dihasilkan dari potongan script sebagai berikut:
//Displays the volume control dialog box
void CVideoNetDlg::OnVolumeControl()
{
Volume vol(IDD_DIALOG3);
vol.DoModal();
}
//Enables/Disables transmission of audio
// Invoked when user presses Audio -> Send menu item
void CVideoNetDlg::OnAudioSend()
{
if(isAudioSend)
{
// Stop recording audio
record->SuspendThread();
isAudioSend=FALSE;
menu>CheckMenuItem(AUDIO_SEND,MF_BYCOMMAND
MF_UNCHECKED);
}
else
{
// Start recording audio
record->ResumeThread();
|
60
isAudioSend=TRUE;
menu>CheckMenuItem(AUDIO_SEND,MF_BYCOMMAND
MF_CHECKED);
}
}
// Enables/Disables reception of audio
//Invoked when user presses Audio -> Receive menu item
void CVideoNetDlg::OnAudioReceive()
{
if(isAudioReceive)
{
isAudioReceive=FALSE;
menu>CheckMenuItem(AUDIO_RECEIVE,MF_BYCOMMAND
MF_UNCHECKED);
}
else
{
isAudioReceive=TRUE;
menu>CheckMenuItem(AUDIO_RECEIVE,MF_BYCOMMAND
MF_CHECKED);
}
|
|
|
Untuk mengatur volume control audio klik menu audio --> volume control seperti
gambar berikut:
Gambar 4.8 submenu volume control
Submenu volume control berfungsi mengatur audio. Sedangkan submenu send
berfungsi mengaktifkan / nonaktifkan transmisi audio,
berfungsi mengaktifkan / nonaktifkan penerimaan audio.
dan submenu receive
61
4.2.5 Menu Video
Gambar 4.9 Menu Video
Tampilan video dan submenu dihasilkan dari potongan script sebagai berikut:
// Enables/Disables transmission of video
//Invoked when user presses Video-> Send menu item
void CVideoNetDlg::OnVideoSend()
{
if(isVideoSend)
{
isVideoSend=FALSE;
menu>CheckMenuItem(VIDEO_SEND,MF_BYCOMMAND
MF_UNCHECKED);
}
else
{
isVideoSend=TRUE;
menu>CheckMenuItem(VIDEO_SEND,MF_BYCOMMAND
MF_CHECKED);
}
}
// Enables/Disables reception of video
// Invoked when user presses Video -> Receive menu item
void CVideoNetDlg::OnVideoReceive()
{
if(isVideoReceive)
|
|
62
{
isVideoReceive=FALSE;
menu>CheckMenuItem(VIDEO_RECEIVE,MF_BYCOMMAND
MF_UNCHECKED);
}
else
{
isVideoReceive=TRUE;
menu>CheckMenuItem(VIDEO_RECEIVE,MF_BYCOMMAND
MF_CHECKED);
}
|
|
}
Pada menu video terdapat dua submenu: send dan receive. Submenu send
berfungsi mengaktifkan / nonaktifkan transmisi video. Submenu receive berfungsi
mengaktifkan / nonaktifkan penerimaan video.
4.2.6 Form Chat Panel
Gambar 4.10 Gambar antarmuka chat panel
Tampilan form pesan di atas dihasilkan dari potongan script sebagai berikut:
//send the message to remote host
void CVideoNetDlg::OnSendMesg()
{
unsigned char data[500];
GetDlgItemText(IDC_EDIT1,(char*)data,500);
if(strlen((const char*)data)>0)
{
dtext.SendTextData(data,strlen((const char*)data));
63
SetDlgItemText(IDC_EDIT1,"");
}
}
//diplay message receive from the remote host
void CVideoNetDlg::DisplayMesg(char *mesg)
{
list->AddString(mesg);
// Highlight the currently added string
// This will scroll the window automatically
list->SetCurSel(list->GetCount()-1);
}
Pada form chat panel terdiri dua kotak dialog yaitu kotak dialog untuk
mengirimkan isi pesan ke pengguna lain dan kotak dialog yang berada di atas
menampilkan log perbincangan antar pengguna.
4.3 Pengujian
Pengujian aplikasi ini dilakukan untuk memastikan bahwa program
aplikasi yang telah dirancang dan dibuat ini berfungsi dengan baik dan sesuai
dengan rumusan rancangan yang telah ditetapkan sebelumnya. Tanpa adanya
pengujian, maka tidak dapat diketahui apakah program aplikasi yang telah dbuat
sesuai dengan spesifikasi rancangan program aplikasi. Pengujian terhadap aplikasi
video conference ini dilakukan dengan metode pengujian blackbox.
4.3.1 Metode Blackbox Testing
Skenario yang dijelaskan antara lain antarmuka form utama video
conference, menu header conference, view, audio, video, serta submenu local
video screen, remot video screen, audio send, receive, video send, receive dan
exit.
64
Table 4.1 Tabel Skenario Pengujian
Skenario
Menu
conference
Pengujian
Klik menu connect
Form invitation
Klik menu
disconnect
Menu View
Klik local video
screen
Klik remote video
screen
Hasil yang diharapkan
Status
Menampilkan form untuk mengisi alamat IP Sukses
remote host
Menampilkan konfirmasi request undangan Sukses
untuk bergabung atau tidak melakukan video
conference
Menampilkan form informasi status user
Sukses
bahwa telah terputus dari konferensi
Sukses
Men-enable / disable local video screen
Sukses
Men-enable / disable remote video screen
Lanjutan Tabel 4.1 Tabel Skenario Pengujian
Skenario
Menu
Audio
Menu
Video
Pengujian
Hasil yang diharapkan
Status
Klik volume control Menampilkan form volume control audio
Sukses
Klik send
Mengaktifkan / nonaktifkan transmisi audio
Sukses
Klik receive
Mengaktifkan / nonaktifkan penerimaan
audio
Sukses
Klik send
Klik receive
Mengaktifkan / nonaktifkan transmisi video
Mengaktifkan / nonaktifkan penerimaan video
Sukses
Sukses
65
Tabel 4.2 Penjelasan Pengujian
Skenario
Menu conference
 Connect
 Disconnect
Hasil ( sesuai / tidak )
Sesuai :
Submenu connect: sesuai dengan yang
diharapkan
telah
berhasil
menghubungkan IP address remote
host yang dituju, dilakukan pada saat
ujicoba aplikasi.
Submenu disconnect: sesuai dengan
yang diharapkan berhasil ketika keluar
aplikasi pada saat ujicoba aplikasi.
Menu View
 Local video screen
 Remote video screen
Sesuai:
Dari hasil ujicoba local dan remote
video screen sesuai dengan yang di
harapkan.
Menu Audio
 Volume control
 Send
 Receive
Sesuai:
Setelah diujicoba volume control, send
dan receive
sesuai dengan
yang
diharapkan
Menu Video
 Send
 Receive
Sesuai:
Dari hasil ujicoba video send dan
receive
diharapkan.
sesuai
dengan
yang
66
4.4 Analisa Hasil
Dari hasil implemantasi dan pengujian maka dapat disimpulkan.
1. User/pengguna dapat mengakses aplikasi ini di ruang berbeda, akan tetapi
komputer, laptop user/pengguna harus terkoneksi dalam satu jaringan
minimal jaringan lokal.
2. User/pengguna dapat melakukan konferensi audio video antara user yang
satu dengan user lainnya selain itu juga user/pengguna dapat
berkomunikasi dua arah antar user.
3. Model
jaringan
yang
digunakan aplikasi
video
conference
ini,
menggunakan model jaringan peer to peer yang hanya melibatkan dua unit
computer dalam satu jaringan dengan teknologi point to point.
Download