BAB IV IMPLEMENTASI DAN PENGUJIAN 4.1 Implementasi

advertisement
BAB IV
IMPLEMENTASI DAN PENGUJIAN
4.1
Implementasi
Tahapan implementasi bertujuan untuk memastikan apakah perangkat lunak
yang dibuat dapat bekerja secara efektif dan efisien sesuai dengan yang diharapkan.
Sebelum program diimplementasikan maka program harus bebas dari kesalahan,
kesalahan penulisan bahasa, kesalahan waktu proses, atau kesalahan logical. Program
dapat diimplementasikan setelah bebas dari kesalahan setelah melakukan pengujian.
4.1.1
Lingkup Implementasi
Lingkup implementasi mencakup lingkup hardware (perangkat keras) dan
software (perangkat lunak) yang digunakan penulis untuk mengimplementasikan
sistem.
1. Hardware (Perangkat Keras)
Lingkup hardware
merupakan perangkat atau tools yang digunakan pada
proses implementasi dari sistem yang telah dibuat. Adapun hardware yang digunakan
untuk mengimplementasikan aplikasi ini adalah:
1.
Prosesor Genuine Intel® CPU U2700 @ 1.30GHz
2.
Motherboard PORTEGE T110
3.
Memori (RAM) 3.00 GB
4.
VGA On Board
5.
Monitor, Keyboard dan Mouse
57
58
2. Software (Perangkat Lunak)
Lingkup software
merupakan aplikasi yang digunakan dalam proses
implementasi sistem yang telah dibuat. Adapun software yang digunakan untuk
mengimplementasikan aplikasi ini adalah sebagai berikut:
1.
Sistem operasi Microsoft Windows 7 Home Premium 32-bit.
2.
Borland Delphi 7
3.
Macromedia Flash Profesional 8
4.1.2
Hasil Implementasi
Hasil implementasi yang akan dibahas adalah hasil implementasi pada teknik
pengkodean sinyal digital serta hasil implementasi pada antarmuka.
1. Implementasi teknik pengkodean sinyal digital
Berikut ini akan dijelaskan secara rinci mengenai implementasi pada aplikasi
teknik pengkodean sinyal digital. Untuk implementasi pada teknik pengkodean
sinyal digital adalah sebagai berikut:
//Procedure untuk membuat program sinyal Return to Zero (RZ).
//dibuat procedure untuk membentuk sinyal kode 1 dan kode 0 sebagai berikut:
procedure rz_1(x,y:integer); // untuk kode 1 nama procedurenya rz_1
begin
with Form2.Image1.Canvas do begin // membuat gambar pada canvas di Form2
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred; //warna garis yang dibentuk merah
Form2.Image1.Canvas.MoveTo(40+x,100);//tempatkan kursor di sumbu(40x,100)
59
Form2.Image1.Canvas.LineTo(40+x,60);//buat garis dari posisi kursor ke(40x,60)
Form2.Image1.Canvas.MoveTo(40+x,60);
Form2.Image1.Canvas.LineTo(60+y,60);
Form2.Image1.Canvas.MoveTo(60+y,60);
Form2.Image1.Canvas.LineTo(60+y,100);
Form2.Image1.Canvas.MoveTo(60+y,100);
Form2.Image1.Canvas.LineTo(80+y,100);
Form2.Image1.Canvas.Pen.Color:=clblack;// warna garis dibentuk hitam
end;
end;
procedure rz_0(x,y:integer);//untuk kode 0 nama procedurenya rz_0
begin
with Form2.Image1.Canvas do begin // membuat gambar pada canvas di Form2
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,100);//tempatkan kursor di sumbu(40x,100)
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursor ke(40x,140)
Form2.Image1.Canvas.MoveTo(40+x,140);
Form2.Image1.Canvas.LineTo(60+y,140);
Form2.Image1.Canvas.MoveTo(60+y,140);
Form2.Image1.Canvas.LineTo(60+y,100);
Form2.Image1.Canvas.MoveTo(60+y,100);
Form2.Image1.Canvas.LineTo(80+y,100);
Form2.Image1.Canvas.Pen.Color:=clblack;
end;
end;
60
//Procedure untuk membuat program sinyal Return to Zero Level (NRZ-L):
//dibuat procedure membentuk sinyal diatas dan dibawah garis sumbu koordinat:
procedure nrzl_atas(x:integer); //untuk sinyal atas nama procedurenya nrzl_atas
begin
with Form2.Image1.Canvas do begin // membuat gambar pada canvas di Form2
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(80+x,60); //buat garis dari posisi kursor ke(80x,60)
end;
end;
procedure nrzl_bawah(x:integer); //sinyal bawah nama procedurenya nrzl_bawah
begin
with Form2.Image1.Canvas do begin // membuat gambar pada canvas di Form2
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,140); //tempatkan kursor di sumbu(40x,140)
Form2.Image1.Canvas.LineTo(80+x,140); //buat garis dari posisi kursor ke(80x,140)
end;
end;
//garis menghubungkan sinyal nama procedurenya nrzl_garis
procedure nrzl_garis(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursor ke(40x,140)
61
end;
end;
//Procedure untuk membuat program sinyal Return to Zero Invert (NRZ-I):
//dibuat procedure membentuk sinyal diatas dan dibawah garis sumbu koordinat:
procedure nrzi_atas(x:integer); //untuk sinyal atas nama procedurenya nrzi_atas
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(80+x,60); //buat garis dari posisi kursor ke(80x,60)
end;
end;
//untuk sinyal bawah nama procedurenya nrzi_bawah
procedure nrzi_bawah(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,140); //tempatkan kursor di sumbu(40x,140)
Form2.Image1.Canvas.LineTo(80+x,140); //buat garis dari posisi kursor ke(80x,140)
end;
end;
//garis menghubungkan sinyal nama procedurenya nrzi_garis
procedure nrzi_garis(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
62
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursor ke(40x,140)
end;
end;
//Procedure untuk membuat program sinyal Manchester:
//dibuat procedure membentuk sinyal diatas dan dibawah garis sumbu koordinat:
procedure mcs_atas(x:integer); //untuk sinyal atas nama procedurenya mcs_atas
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,140); //tempatkan kursor di sumbu(40x,140)
Form2.Image1.Canvas.LineTo(60+x,140); //buat garis dari posisi kursor(60x,140)
Form2.Image1.Canvas.MoveTo(60+x,60);
Form2.Image1.Canvas.LineTo(60+x,140);
Form2.Image1.Canvas.MoveTo(60+x,60);
Form2.Image1.Canvas.LineTo(80+x,60);
end;
end;
//untuk sinyal bawah nama procedurenya mcs_bawah
procedure mcs_bawah(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 points
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(60+x,60); //buat garis dari posisi kursor ke(60x,60)
Form2.Image1.Canvas.MoveTo(60+x,60);
Form2.Image1.Canvas.LineTo(60+x,140);
63
Form2.Image1.Canvas.MoveTo(60+x,140);
Form2.Image1.Canvas.LineTo(80+x,140);
end;
end;
//untuk sinyal garis nama procedurenya mcs_garis
procedure mcs_garis(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursor ke(40x,140)
end;
end;
//Procedure untuk membuat program sinyal Differensial Manchester:
//dibuat procedure membentuk sinyal diatas dan dibawah garis sumbu koordinat:
procedure dmcs_atas(x:integer); //untuk sinyal atas nama procedurenya dmcs_atas
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(60+x,60); //buat garis dari posisi kursor ke(60x,60)
Form2.Image1.Canvas.MoveTo(60+x,60);
Form2.Image1.Canvas.LineTo(80+x,60);
end;
end;
64
//untuk sinyal bawah nama procedurenya dmcs_bawah
procedure dmcs_bawah(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,140); //tempatkan kursor di sumbu(40x,140)
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursorke(40x,140)
end;
end;
//untuk sinyal garis nama procedurenya dmcs_garis
procedure dmcs_garis(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursorke(40x,140)
Form2.Image1.Canvas.MoveTo(80+x,140);
Form2.Image1.Canvas.LineTo(60+x,140);
end;
end;
//untuk inputan 0 nama procedurenya dmcs_nol
procedure dmcs_nol(x:integer);
begin
with Form2.Image1.Canvas do begin
Pen.Width:=4; //lebar pen 4 point
Form2.Image1.Canvas.Pen.Color:=clred;
Form2.Image1.Canvas.MoveTo(40+x,60); //tempatkan kursor di sumbu(40x,60)
65
Form2.Image1.Canvas.LineTo(40+x,140); //buat garis dari posisi kursorke(40x,140)
Form2.Image1.Canvas.MoveTo(60+x,140);
Form2.Image1.Canvas.LineTo(40+x,140);
Form2.Image1.Canvas.MoveTo(60+x,60);
Form2.Image1.Canvas.LineTo(60+x,140);
end;
end;
//Procedure untuk konversi data digital ke bentuk sinyal RZ adalah sebagai berikut:
//dari procedure yang telah dibuat diatas, diimplementasikan dalam program:
//deklarasi variabel yang dibutuhkan yaitu i, x dan y type integer, var data type string
var i,x,y:integer;
data:string;
begin
Form2.Image1.Picture:=nil; //membersihkan kolom output dari tampilan sebelumnya
x:=0; y:=0; // pemberian nilai pada variabel x dan y
data:=Form2.inputan.text; // variabel data adalah dari label bernama inputan.text
Form2.keterangan.caption :='RZ' ; //label keterangan diisi dengan RZ
keterangan.Font.Color := clYellow;
//memanggil procedure yang sudah dibuat untuk menampilkan sinyal kode 1 dan 0
//dilakukan looping sepanjang banyaknya data yang diinput pada label inputan.text
//dalam hal ini penulis membatasi panjang karakter yang diinput maksimal 10 angka:
//berikut programnya untuk implementasi sinyal yang dipilih Return to Zero (RZ):
for i:=1 to length(Form2.inputan.Text) do //
begin
if data[i]='1' then begin
rz_1(x,y); end ;
if data[i]='0' then begin
rz_0(x,y);
end;
66
y:=y+40;
x:=x+40;
end;
end;
//berikut programnya untuk implementasi sinyal yang dipilih NRZ-L:
var i,x:integer;
data:string;
begin
Form2.Image1.Picture:=nil;
x:=0; data:=Form2.inputan.text;
Form2.keterangan.caption :='NRZL' ;
keterangan.Font.Color := clYellow;
for i:=1 to length(Form2.inputan.Text) do
begin
if data[i]='1' then
begin
nrzl_bawah(x);
end;
if data[i]<>data[i-1] then
nrzl_garis(x);
end;
if data[i]='0' then
nrzl_atas(x);
begin
begin
end;
x:=x+40; end;
end;
//berikut programnya untuk implementasi sinyal yang dipilih NRZ-I:
var i,x:integer;
data:string;
67
a:boolean;
begin
Form2.Image1.Picture:=nil;
x:=0; a:=false;
data:=Form2.inputan.Text;
Form2.keterangan.caption :='NRZI' ;
keterangan.Font.Color := clYellow;
for i:=1 to length(Form2.inputan.Text) do
begin
if data[i]='1' then
a:= not a;
if a =true then
nrzi_atas(x)
else
nrzi_bawah(x);
if data[i]='1' then
nrzi_garis(x);
x:=x+40;
end; end;
//berikut programnya untuk implementasi sinyal yang dipilih
Differensial Manchester:
procedure TForm2.Button6Click(Sender: TObject);
var i,x:integer;
data:string;
begin
Form2.Image1.Picture:=nil;
x:=0;
68
data:=Form2.inputan.Text;
Form2.keterangan.caption :='Differensial Manchester' ;
keterangan.Font.Color := clYellow;
for i:=1 to length(Form2.inputan.Text) do
begin
if data[i]='0' then
begin
mcs_atas(x); end;
if data[i]= data[i-1] then
begin
mcs_garis(x); end;
if data[i]='1' then begin
mcs_bawah(x);
x:=x+40;
end;
end;
end;
//berikut programnya untuk implementasi sinyal yang dipilih Manchester:
var i,x:integer;
data:string;
begin
Form2.Image1.Picture:=nil;
x:=0;
data:=Form2.inputan.Text;
Form2.keterangan.caption :='Manchester' ;
keterangan.Font.Color := clYellow;
for i:=1 to length(Form2.inputan.Text) do
begin
if data[i]='1' then begin
mcs_atas(x);
end;
if data[i]= data[i-1] then begin
69
mcs_garis(x);
if data[i]='0' then
mcs_bawah(x);
end;
begin
end;
x:=x+40; end;
end;
//berikut implementasi untuk proses pengujian, memfilter data input 0 dan 1:
//input data yang bisa diterima hanyalah angka 0, 1 dan tombol backspace
//jika data yang diinput selain itu maka akan ditampilkan
// pesan kesalahan 'Hanya untuk angka 0 atau 1 !’, implementasinya berikut ini:
begin
// #8 is Backspace
if not (Key in [#8,'0'..'1']) then begin
ShowMessage('Hanya untuk angka 0 atau 1 !');
// Discard the key
Key := #0;
end;
end;
4.1.3 Implementasi antarmuka
Implementasi antarmuka diimplementasikan pada setiap halaman aplikasi yang
dibuat dan pengkodeannya dalam bentuk file program. Berikut ini adalah
implementasi antarmuka yang dibuat.
Tabel 4.1 Nama File Antarmuka
Form
Menu Utama
Nama File
MainMenu.pas
Deskripsi
Menu untuk menampilkan
menu utama aplikasi
70
Tabel 4.1 Nama File Antarmuka(lanjutan)
Form
Nama File
Deskripsi
pembelajaran pengkodean
sinyal digital.
Menu Modul
Unit1.pas
Form untuk menampilkan
modul teori.
Modulkode.swf
File yang berisi modul teori,
yang dibuat dengan
menggunakan flash
macromedia 8, yang
diintegrasikan dengan
program Delphi 7.
Menu Simulasi
Unit2.pas
Form untuk menampilkan
menu simulasi pengkodean
sinyal digital.
Menu Latihan
Unit3.pas
Form untuk menampilkan
halaman kuis latihan soalsoal.
kuisdelphi.swf
File yang berisi latihan soalsoal, yang dibuat dengan
menggunakan flash
macromedia 8, yang
diintegrasikan dengan
program Delphi 7.
banksoal.txt
File yang berisi database
soal-soal pertanyaan.
Menu Profil
Unit5.pas
Form untuk menampilkan
menu profil penulis.
71
Untuk implementasi tampilan antarmukanya adalah sebagai berikut:
1.
Form Menu Utama
Berikut ini adalah implementasi tampilan form menu utama.
Gambar 4.1 Form Menu Utama
2.
Form Menu Modul
Berikut ini adalah implementasi tampilan form menu modul.
72
Gambar 4.2 Form Menu Modul
3.
Form Menu Simulasi
Berikut ini adalah implementasi tampilan form menu Simulasi.
Gambar 4.3 Form Menu Simulasi
73
4.
Form Menu Latihan
Berikut ini adalah implementasi tampilan form Menu Latihan.
Gambar 4.4 Form Menu Latihan
5.
Form Menu Profil
Berikut ini adalah implementasi tampilan form Menu Profil.
74
Gambar 4.5 Form Menu Profil
4.2
PENGUJIAN
Pengujian program aplikasi dilakukan dengan metode black box testing.
Metode black box ini merupakan pengujian berdasarkan fungsi dari program yang
bertujuan untuk menemukan kesalahan fungsi pada program. Pengujian dilakukan
dengan cara memberikan sejumlah masukkan (input) pada program aplikasi yang
kemudian diproses sesuai dengan kebutuhan fungsionalnya untuk melihat apakah
program aplikasi menghasilkan keluaran (output) yang diinginkan dan sesuai dengan
fungsi dari program aplikasi tersebut.
4.2.1 Skenario Uji
Berikut ini akan ditampilkan skenario uji dari form simulasi dan form menu
utama.
75
Tabel 4.2 Skenario Uji form Simulasi
No.
1.
Item Uji
Menguji
Skenario
- Pengguna
Hasil yang
Hasil
diharapkan
pengujian
- Akan keluar
Sesuai.
penulisan input
menjalankan
pesan kesalahan
jika data yang
aplikasi.
“'Hanya untuk
dimasukkan
selain angka 0
dan 1
- Pengguna memilih
angka 0 atau 1 !”
menu simulasi.
- Pengguna tidak
- Pengguna
dapat melanjutkan
mengetikkan
menjalankan
karakter atau angka
aplikasi sampai
selain 0 dan 1 pada
angka yang
kolom inputan.
dimasukkan 0
atau 1.
2.
Menguji
- Pengguna
- Akan
penulisan input
menjalankan
membersihkan
yang valid
aplikasi.
tampilan grafik
berupa angka 0 - Pengguna memilih
sinyal
dan 1.
sebelumnya.
menu simulasi.
- Pengguna
-Akan
Sesuai.
76
Tabel 4.2 Skenario Uji form Simulasi (lanjutan)
No.
Item Uji
Skenario
Hasil yang
Hasil
diharapkan
pengujian
mengetikkan karakter
menampilkan
atau angka selain 0
bentuk sinyal
dan 1 pada kolom
sesuai tombol
inputan.
konversi yang
- Pengguna memilih
dipilih pengguna.
salah satu tombol
simulasi.
3.
Menguji
tombol clear.
- Pengguna
Aplikasi
menjalankan
membersihkan
aplikasi.
kolom input dan
- Pengguna memilih
Sesuai.
kolom output.
menu simulasi.
- Pengguna menekan
tombol Clear.
4.
Menguji
tombol keluar.
- Pengguna
Akan keluar dari
menjalankan
menu simulasi
aplikasi.
dan kembali ke
menu utama.
- Pengguna memilih
menu simulasi.
- Pengguna menekan
tombol Exit.
Sesuai.
77
Tabel 4.3 Skenario Uji form Menu Utama
No.
Item Uji
1. Halaman menu
Skenario
- Pengguna
Hasil yang
Hasil
diharapkan
pengujian
- Aplikasi
Sesuai.
utama, menu
menjalankan
terbuka.
modul.
aplikasi.
- Menampilkan
- Pengguna memilih
menu modul.
- Pengguna menekan
tombol next.
- Pengguna menekan
tombol back.
- Pengguna menekan
tombol home.
halaman awal
menu modul teori.
- Menampilkan
halaman
selanjutnya.
- Menampilkan
halaman
belumnya.
- Menampilkan
halaman awal
menu modul.
2. Halaman menu
- Pengguna
utama, menu
menjalankan
latihan.
aplikasi.
- Pengguna memilih
menu Latihan.
- Pengguna mengetik
nama.
- Pengguna menekan
tombol mulai.
- Pengguna
mendapatkan satu
pertanyaan soal
- Aplikasi
terbuka.
- Menampilkan
halaman awal
menu latihan.
- Menampilkan
satu buah soal.
- Menghitung
mundur waktu
dari 100 detik.
Sesuai.
78
Tabel 4.3 Skenario Uji form Menu Utama (lanjutan)
No.
Item Uji
Skenario
Hasil yang
Hasil
diharapkan
pengujian
Sesuai.
Halaman menu
pilihan ganda.
- Menampilkan
utama, menu
- Pengguna memilih
nilai hasil pilihan
latihan.
salah satu jawaban
jawaban
yang dianggap benar pengguna, 10
dengan mengklik
untuk satu soal
radio button.
yang benar, dan 0
- Pengguna menekan
tombol jawab.
untuk yang salah.
- Menampilkan
- Pengguna mendapat
satu pertanyaan
nilai 10 jika benar,
baru yang telah
dan nilai 0 jika
diacak.
jawaban salah.
- Menghitung
- Pengguna
mundur waktu
mendapatkan satu
sisa dari 100
soal baru.
detik.
- Pengguna menekan
tombol stop.
- Pengguna
- Menghentikan
pertanyaan dan
menampilkan
mendapatkan nilai
halaman penutup
total dari jawaban
menu latihan.
yang benar.
- Menampilkan
- Pengguna menekan
tombol home.
total nilai.
- Menuju ke
halaman awal
menu latihan.
79
4.2.2 Kesimpulan Hasil Pengujian
Berdasarkan hasil pengujian dengan skenario-skenario uji diatas dapat ditarik
kesimpulan bahwa sistem sudah berjalan sesuai dengan semestinya, output sesuai
dengan apa yang diharapkan dan sistem dapat memfilter jika terjadi kesalahankesalahan.
Download