bab 3 analisis dan perancangan 3.1 analisis sistem yang...
TRANSCRIPT
48
BAB 3
ANALISIS DAN PERANCANGAN
3.1 Analisis Sistem Yang Sedang Berjalan
PT. Tridaya Setiamanunggal adalah perusahaan tempat penulis melakukan
penelitian, yang beralamat di jalan Bulevar Kelapa Gading, Blok QA3/18, Kelapa
Gading – Jakarta Utara, dan merupakan agen tunggal dari alat ukur spectrum
analyzer merek Advantest untuk wilayah Indonesia. Alat ukur spectrum analyzer
merek advantest ini adalah alat ukur buatan negara Jepang.
Kebutuhan akan penggunaan alat ukur spectrum analyzer di Indonesia masih
cukup tinggi, terutama pada perusahaan-perusahaan yang bergerak dibidang jasa
telekomunikasi seperti, operator selular, operator satelit, lembaga penelitian,
laboratorium elektronika dan telekomunikasi, balai pengujian perangkat
telekomunikasi serta lembaga pemerintah yang mempunyai wewenang untuk
memonitor penggunaan frekuensi seperti Postel dan DisHub.
Saat ini PT. Tridaya Setiamanunggal menjual spectrum analyzer merek
Advantest, sesuai dengan spesifikasi yang dibuat oleh pabriknya di Jepang.
Spesifikasi dari alat ukur spectrum analyzer yang ada seringkali melebihi dari
spesifikasi kebutuhan pengukuran untuk beberapa pemakai. Dengan kata lain
pengukuran yang paling sering digunakan oleh pemakai adalah pengukuran yang
menggunakan setting parameter spectrum analyzer seperti: Center Frequency,
Frequency Span, Resolution Bandwidth, Video Bandwidth, Sweep Time, Attenuasi,
Reference Level dan dB per Division, sedangkan fitur-fitur yang lainnya memang
49
diperlukan juga tetapi jarang pemakaiannya. Sebagi contoh pemakai memerlukan
spectrum analyzer yang hanya digunakan untuk memonitor Carrier to Noise ratio
(C/N ratio), sedangkan spectrum analyzer yang ada spesifikasinya atau fiturnya
jauh lebih banyak dan lebih canggih dari yang diperlukan, sehingga banyak fitur-
fitur yang disediakan oleh spectrum analyzer tidak terpakai. Disamping itu harga
spectrum analyzer masih cukup mahal terutama yang memiliki fitur yang banyak,
dan ini merupakan salah satu pertimbangan bagi perusahaan/pemakai yang akan
membeli alat ukur spectrum analyzer Kebutuhan pengukuran di beberapa pemakai
ada juga yang tidak didukung oleh spesifikasi dari alat ukur spectrum analyzer
yang ada, sebagai contoh ada kebutuhan untuk memonitor beberapa frekuensi
secara bersamaan dengan hanya menggunakan satu spectrum analyzer, dan bisa di-
remote oleh beberapa pemakai pada waktu yang bersamaan, sehingga spectrum
analyzer yang berlokasi jauh bisa dimanfaatkan oleh beberapa pemakai. Pemakai
umumnya menginginkan harga spectrum analyzer yang cukup murah tetapi sudah
memenuhi kebutuhan pengukuran mereka.
Saat ini ada beberapa merek dan tipe alat ukur spectrum analyzer yang
beredar di Indonesia, seperti merek-merek yang sudah terkenal HP/Egilent,
Anritsu, RS (Rohde & Schwarz), dan Tektronix. Merek-merek alat ukur spectrum
analyzer ini masing-masing sudah mulai mengembangkan fitur-fitur yang
diperlukan oleh pemakai. Untuk dapat bersaing dengan alat ukur spectrum
analyzer merek lain, maka PT. Tridaya Setiamanunggal mencoba mengembangkan
perangkat lunak untuk dapat memberikan nilai tambah (added value) terhadap
spectrum analyzer Advantest tersebut, dan sekaligus dapat memenuhi kebutuhan
pengukuran bagi para pemakai dengan harga yang lebih murah.
50
3.2 Analisis Masalah
Berdasarkan analisis terhadap sistem yang sedang berjalan, penulis dapat
merangkum masalah yang dihadapi oleh PT. Tridaya Setiamanunggal antara lain:
a. Spesifikasi alat ukur spectrum analyzer Advantest sering kurang sesuai
dengan spesifikasi kebutuhan pemakai, sebagai contoh spesifikasi
spectrum analyzer yang melebihi spesifikasi dari kebutuhan pemakai,
sehingga banyak fitur-fitur yang disediakan oleh spectrum analyzer tidak
terpakai, dan harga spectrum analyzer jenis ini relatif lebih tinggi.
b. Kebanyakan alat ukur spectrum analyzer digunakan untuk monitoring
frekuensi dengan menggunakan penyetelan (setting) parameter seperti :
Center Frequency, Frequency Span, Resolution Bandwidth, Video
Bandwidth, Reference Level, Sweep Time, Attenuation dan dB per
Division.
c. Ada juga beberapa tipe spectrum analyzer Advantest yang lebih murah
tetapi spesifikasinya tidak memenuhi kebutuhan pemakai, seperti tidak
didukung oleh jenis-jenis printer yang ada di pasaran, tidak ada memori
(flash disk), tampilan tidak berwarna sehingga sulit melihat marker.
d. Pemakai menginginkan harga spectrum analyzer Advantest yang cukup
murah, tetapi memenuhi kebutuhan pengukuran mereka.
e. Saat ini sudah banyak saingan dimana beberapa merek dan tipe alat ukur
spectrum analyzer sudah beredar di Indonesia, seperti merek-merek yang
sudah terkenal HP/Egilent, Anritsu, RS (Rohde&Schwarz), dan
51
Tektronix, dimana mereka sudah menambah fitur-fitur baru dan dengan
harga yang hampir sama dengan generasi sebelumnya.
Tabel 3.1 spesifikasi spectrum analyzer Advantest untuk beberapa tipe
Fitur Tipe R3267 Tipe R3273 Tipe U3771 Tipe U3741 Frequency range
100 Hz s/d 8 GHz
100 Hz s/d 26.5 GHz
9 kHz s/d 31.8 GHz
9 kHz to 3 GHz
Frequency Span Accuracy
+/- 1% +/- 1% +/- 1% +/- 1%
RBW range 10Hz - 10 MHz
10Hz - 10MHz 100 Hz - 3 MHz
100 Hz – 1 Mhz
VBW range 1 Hz to 10 MHz (1, 3, 10)
1 Hz to 10 MHz (1, 3, 10)
10 Hz - 3 MHz
10Hz to 3 MHz (1-3 step)
Sweep Time
20 msec s/d 1000 sec
20 ms to 1000 Sec
20ms to 1000s
20ms to 1000s
Input Attenuator
0 s/d 75 dB (5 dB step)
0 to 70 dB (10 dB steps)
0 to 70 dB (10 dB steps)
0 to 70 dB (10 dB steps)
Display Color TFT Color TFT Color TFT Color TFT
Tipe U3741
Tipe U3771
Tipe R3273
Tipe R3267
Gambar 3.1 Contoh beberapa tipe spectrum analyzer Advantest.
52
3.3 Alternatif Pemecahan Masalah
Untuk mengatasi sebagian masalah diatas, penulis mengusulkan dua alternatif
pemecahan masalah yaitu :
1. Dengan membuat perangkat lunak untuk memudahkan pemakaian
spectrum analyzer dengan cara mengganti pengoperasian yang banyak
menekan tombol-tombol di spectrum analyzer dengan satu tombol di
komputer. Perangkat lunak ini bisa seolah-olah menduplikasi jumlah
spectrum analyzer seperti gambar 3.2, karena dilayar monitor komputer
bisa ditampilkan banyak window dengan setting parameter dan spektrum
frekuensi sendiri-sendiri. spectrum analyzer langsung dihubungkan ke
komputer atau di-remote dari komputer, dengan menggunakan kabel
RS232, GPIB Bus atau UTP. Sistem perangkat lunak seperti ini memiliki
kekurangan dimana spectrum analyzer hanya bisa digunakan oleh satu
orang setiap saat.
Gambar 3.2 Topologi Alternatif pemecahan masalah-1
53
2. Dengan membuat perangkat lunak Client Server Spectrum Analyzer, agar
spectrum analyzer bisa digunakan oleh banyak orang dan dari lokasi yang
jauh asalkan terhubung dalam suatu jaringan komputer. Dibandingkan
dengan alternatif pertama sistem ini lebih komplek dalam pengembangan
perangkat lunaknya dan memerlukan komputer tambahan untuk server,
seperti gambar 3.3.
Gambar 3.3 Topologi Client-Server (Alternatif pemecahan masalah-2)
3.4 Usulan Pemecahan Masalah
Dari dua alternatif pemecahan masalah tersebut diatas penulis mengusulkan
untuk mengimplementasikan alternatif yang ke dua dengan pertimbangan sebagai
berikut :
Jika dilihat dari sisi client, Spectrum analyzer seolah-olah bisa
digunakan oleh banyak user (pemakai) pada saat yang bersamaan
54
dengan setting parameter yang berbeda-beda juga, walaupun pada
kenyataannnya, Spectrum Analyzer digunakan secara bergantian.
Spectrum analyzer bisa di-remote dari jarak jauh asalkan masih dapat
diakses oleh jaringan computer(LAN, MAN, WAN, VPN, dll).
Umumnya pada kantor atau diperusahaan-perusahaan sudah terpasang
jaringan komputer (LAN) dan sudah tentu ada server-nya juga,
sehingga biaya disisi perangkat kerasnya tidak ada bedanya dengan
alternatif pertama
Dengan program client dan server (CSSA/Client Server Spectrum Analyzer)
ini diharapkan dapat menggunakan spectrum analyzer yang harganya cukup murah
tetapi sudah memenuhi kebutuhan pemakai. Program client ini selanjutnya penulis
sebut dengan nama CSSA Client (Client Server Spectrum Analyzer – Client) dan
program server ini selanjutnya penulis sebut dengan nama CSSA Server (Client
Server Spectrum Analyzer – Server). Program CSSA Server berhubungan
langsung dengan spectrum analyzer dan memberikan instruksi atau mengambil
data dari spectrum analyzer sesuai dengan permintaan dari masing-masing CSSA
Client. Program CSSA Server dapat melayani beberapa CSSA Client dalam waktu
yang bersamaan, dan meneruskan perintah dari CSSA Client ke spectrum analyzer
secara bergantian, sehingga setiap saat hanya satu CSSA Client yang bisa
memberikan perintah dan mengambil data dari spectrum analyzer.
Pada program CSSA Server ini terdiri dari dua modul program seperti
gambar 3.14 dibawah yaitu:
55
a. Modul program yang berhubungan langsung dengan spectrum
analyzer untuk mengirim perintah dan mengambil data dari spectrum
analyzer, dan modul program ini sangat tergantung dari jenis koneksi
antara spectrum analyzer dengan komputer server sebagai berikut :
o Modul ini penulis sebut dengan modul program client jika
koneksi ke spectrum analyzer menggunakan Ethernet dengan
protokol TCP/IP, karena disisi spectrum analyzer berfungsi
sebagai program server.
o Modul ini penulis sebut dengan modul program GPIB untuk
mengirim instruksi dan menerima data dari spectrum analyzer
dengan menggunakan command GPIB, jika komputer dan
spectrum analyzer menggunakan GPIB bus.
o Modul ini penulis sebut dengan Modul program RS232 untuk
mengirim instruksi dan menerima data dari Spectrum Analyzer
jika antara spectrum analyzer dengan komputer menggunakan
menggunakan kabel Serial komunikasi RS232 .
b. Modul program server yang melayani banyak client dari pemakai,
dengan menggunakan protokol TCP/IP. Server ini dirancang
menggunakan protokol TCP/IP disesuaikan dengan protokol yang
digunakan oleh spectrum analyzer.
Program CSSA Client (disisi pemakai) berhubungan dengan pemakai untuk
menerima perintah dari pemakai dan mengirimkan perintah ke CSSA Server, serta
menampilkan data yang diterima dari CSSA Server. Komputer yang berfungsi
56
sebagai server terhubung dengan spectrum analyzer bisa dengan kabel serial
RS232, GPIB dan Ethernet dengan protokol TCP/IP.
Gambar 3.4 Topologi CSSA jika spectrum analyzer menggunakan Ethernet
Gambar 3.5 Topologi CSSA jika spectrum analyzer menggunakan GPIB bus atau
RS232
57
3.5 Batasan
Karena banyaknya pengetahuan yang penulis harus kuasai untuk
mengimplementasikan sistem perangkat lunak ini yang selanjutnya penulis beri
nama perangkat lunak CSSA (Client Server Spectrum Analyzer), maka perlu
kiranya penulis batasi sebagai berikut :
Penulis lebih fokus ke masalah pengembangan perangkat lunak dan
tidak membahas atau mempelajari lebih jauh tentang alat ukur
spectrum analyzer.
Pada spectrum analyzer penulis hanya mempelajari hal-hal yang
berhubungan dengan perangkat lunak CSSA saja, seperti cara
membaca data dari spectrum analyzer, command untuk men-setting
parameter di spectrum analyzer. Parameter-parameter tersebut meliputi
Center Frequency, Frequency Span, Reference Level, Resolution
Bandwidth, Video Bandwidth, Sweep Time, Attenuation dan dB per
Division.
Spectrum analyzer Advantest ada beberapa tipe dan setiap tipe kadang-
kadang menyediakan interface ke komputer dengan menggunakan
Ethernet, GPIB dan Serial RS232. Pada penelitian ini penulis
menggunakan tipe U37xx series (U3771) dengan menggunakan
Ethernet dengan protokol TCP/IP, dalam hal ini spectrum analyzer
berfungsi sebagai server. Penulis tidak mengembangkan perangkat
lunak untuk RS232 dan GPIB bus.
58
3.6 Use Case Diagram
Berikut merupakan use case diagram dari aplikasi CSSA.
Gambar 3.6 Use case aplikasi CSSA secara keseluruhan
Untuk menjelaskan tahapan dalam aplikasi CSSA, berikut merupakan use
case diagram yang lebih detail.
59
3.6.1 Use Case Sistem Setting Parameter
Gambar 3.7 Use case Sistem Setting Parameter
Berikut merupakan table penjelasan use case diagram Sistem
Setting Parameter
Tabel 3.2 Deskripsi Sistem Setting Parameter
Pre Condition User ingin mengatur parameter Spectrum analyzer
Flow of Events Basic Path :
1. Masuk Menu Setup
2. User memasukkan IP Address dan Port dari
Server
3. User melakukan connect
4. User melakukan setting parameter dari Control
Panel
Post Condition User dapat melihat dan mengatur parameter Spectrum
Frequency
60
3.6.2 Use Case Sistem View Spectrum Frequency
Gambar 3.8 Use Case Sistem View Spectrum Frequency
Berikut merupakan table penjelasan use case diagram Sistem
Setting Parameter
Tabel 3.3 Deskripsi Sistem View Spectrum Frequency
Pre Condition User ingin melihat Spectrum Frequency
Flow of Events Basic Path :
1. Masuk Menu Setup
2. User memasukkan IP Address dan Port dari
Server
3. User melakukan connect
4. User menekan tombol Start
Post Condition User dapat melihat Spectrum Frequency
61
3.6.3 Use Case Sistem Print
Gambar 3.9 Use Case Sistem Print
Tabel 3.4 Deskripsi Sistem Print
Pre Condition User ingin mencetak Spectrum Frequency
Flow of Events Basic Path :
1. User memilih Print Setup untuk memilih ukuran
kertas yang akan digunakan. Setelah selesai,
tombol “OK” ditekan.
2. User memilih Print Preview untuk melihat hasil
sebelum Spectrum Frequency dicetak. Setelah
selesai, tombol “OK” ditekan.
3. User memilih Print untuk mencetak dan memilih
Printer yang akan digunakan untuk mencetak.
Setelah selesai, tombol “OK” ditekan.
Post Condition User dapat mencetak Spectrum Frequency
62
3.6.4 Use Case Sistem Marker
Gambar 3.10 Use Case Sistem Marker
Tabel 3.5 Deskripsi Sistem Marker
Pre Condition User ingin mengukur frekuensi dengan kekuatan
frekuensinya
Flow of Events Basic Path :
1. User menekan tombol “Start”
2. User memilih normal marker untuk mengukur
satu frekuensi.
3. User memilih delta marker untuk mengukur dan
membandingkan antara 2 frekuensi.
4. User memilih multimarker untuk mengukur dan
membandingkan lebih dari 2 frekuensi
Post Condition User dapat melihat dan mengukur frekuensi dengan
kekuatan frekuensinya
63
3.6.5 Use Case Sistem Display Line
Gambar 3.11 Use Case Sistem Display Line
Berikut merupakan tabel penjelasan use case diagram Sistem
Display Line
Tabel 3.6 Deskripsi Sistem Display Line
Pre Condition User ingin melihat dan mengukur rata-rata kekuatan
frekuensi yang diukur
Flow of Events Basic Path :
1. User menekan tombol “Start”
2. User memilih menu Display Line
3. User menentukan rata-rata pada picture box
Post Condition User dapat melihat dan mengukur rata-rata kekuatan
frekuensi yang diukur
64
3.6.6 Use Case Sistem Customer
Gambar 3.12 Use Case Sistem Customer
Tabel 3.7 Deskripsi Sistem Customer
Pre Condition User ingin menambah,mengedit dan menghapus data
Flow of Events Basic Path :
1. User menekan menu Customer
2. User menekan tombol Add untuk menambah data
Customer, setelah selesai tekan OK.
3. User menekan tombol Edit untuk mengedit data
Customer, setelah selesai tekan OK.
4. User menekan tombol Delete untuk menghapus
data Customer, setelah selesai tekan OK.
Post Condition User dapat menambah, mengedit dan menghapus data
65
3.7 Class Diagram
Gambar 3.13 Class Diagram CSSA Client
3.8 Perancangan Program CSSA (Client Server Spectrum Analyzer)
Spectrum analyzer berfungsi sebagai server, yang sudah disediakan oleh
pabrik pembuatnya dengan protokol TCP/IP dengan default nomor IP 192.168.0.1
dan port 5025. Program server yang dirancang seperti gambar 3.14 dibawah
selanjutnya disebut dengan nama CSSA Server, yang memiliki dua fungsi yaitu
sebagai client dari spectrum analyzer, dan sebagai server bagi program CSSA
Client. Program CSSA Client adalah program yang langsung berinteraksi dengan
pemakai untuk melihat spektrum frekuensi. Sedangkan perancangan program
CSSA (Client Server Spectrum analyzer) meliputi perancangan program CSSA
Server dan perancangan program CSSA Client. Beberapa tipe spectrum analyzer
Advantest tidak selalu menyediakan interface TCP/IP untuk bisa dioperasikan
secara remote oleh komputer, dan ada juga yang menyediakan interface-nya
66
berupa GPIB bus dan Serial RS232. Pada penelitian / skripsi ini digunakan
spectrum analyzer yang menggunakan interface Ethernet dengan protokol TCP/IP.
Perancangan program server ini dibuat modular, agar nantinya lebih mudah
mengembangkan atau menambah modul baru seperti modul program yang
menangani GPIB bus atau serial RS232 seperti gambar 3.14 dibawah.
Gambar 3.14 Konfigurasi program CSSA
3.9 Perancangan Program CSSA Server
Program CSSA Server dirancang untuk dijalankan pada komputer dengan
sistem operasi Linux ataupun Windows karena kedua sistem operasi ini
merupakan sistem operasi yang umum digunakan saat ini. Untuk merancang
program server yang dapat melayani banyak client secara teori ada beberapa cara
/ teknik antara lain:
LAN
Spectrum Analyzer
Program CSSA‐Server
Program CSSAClient
Program CSSAClient
Program CSSAClient
• TCP/IP • GPIB • Serial
Modul Client
ModulServer
GPIB
Serial
67
a. Dengan multi proses : server dengan multi proses akan bisa melayani banyak
client pada saat yang bersamaan, dimana setiap proses akan melayani satu
client.
b. Dengan multithread: server dengan multithread akan bisa melayani banyak
client pada saat yang bersamaan, dimana satu thread melayani satu client.
c. Dengan I/O Multiplex: server dengan I/O multiplex akan bisa melayani
banyak client pada saat yang bersamaan, dimana semua client akan dilayani
oleh satu proses secara bergantian.
d. Dengan satu proses: hanya satu client yang bisa connect ke server setiap
saat, dan client yang sudah selesai dilayani oleh server harus segera
disconnect dengan server sehingga server bisa melayani client lain yang
masih mengantri untuk connect dengan server.
Dari beberapa cara diatas, penulis menggunakan cara yang terakhir (d), karena :
• Program CSSA Server yang dirancang ini harus dilengkapi dengan
semaphore untuk mencegah dua atau lebih CSSA Client pada waktu yang
bersamaan mengakses spectrum analyzer, dan karena hanya satu client
yang bisa connect dengan server berarti sudah dijamin hanya satu client
yang bisa mengakses spectrum analyzer. Jadi dengan teknik connect dan
close ini sama fungsinya dengan sebuah semaphore yang ada pada teori
sistem operasi, sehingga tidak perlu lagi membuat semaphore.
• Implementasi CSSA Server lebih sederhana karena tidak memerlukan
IPC (Interprocess Communication) antara modul client dengan modul
server seperti gambar 3.14, karena server hanya satu proses atau 1 thread.
68
• Bisa diimplementasikan di sistem operasi linux/unix maupun di windows
karena sistem operasi windows tidak mendukung multi proses seperti
pada linux.
.
Perancangan program CSSA Server dimulai dari perancangan sequence
diagram antara CSSA Server dengan SPA (spectrum analyzer) dan dengan
CSSA Client-nya, untuk melihat interaksi antar program seperti pada gambar
3.15. Untuk melihat lebih rinci proses yang ada pada setiap program dibuat
rancangannya dengan menggunakan flowchart seperti gambar 3.16.
69
SPA SubClient Global Variabel SubServer CSSA Client
CSSA Server
connect
mengirimkan IDSPA
command INIT SPA
request ParamSPA
mengirimkan ParamSPA
membaca ParamSPA
connect
mengirimkan ParamSPA
close
connect
mengirimkan ACK
mengirimkan ParamSPA
menyimpan ParamSPA
mengirimkan ParamSPA
command sweep
mengirimkan trace
menyimpan trace
membaca ParamSPA
mengirimkan ParamSPA
mengirimkan ACK
membaca Trace
mengirimkan trace
close
Membaca ParamSPA
menyimpan ParamSPA
Gambar 3.15 Sequence Diagram CSSAServer, SPA dan CSSAClient
70
Create socket, Listen, Bind
SubClient Send Command REN,
TPS, SI untuk SPA
SubClient Read ParamSPA dari
SPA
Accept dan Recv Parameter dari CSSA Client
If Parameter = ConnectSPA
Yes
Close Socket
If Parameter = ReadDataSPA No
Yes
Close Socket No
Recv, Konversi, dan simpan
ParamSPA dari CSSA Client
If Current ParamSPA = ParamSPA
Current ParamSPA = ParamSPA
No
Yes
SubClient Create Socket, Connect
untuk
1
Start
Send Acknowledge ke CSSA
Client
Send ParamSPA ke CSSA
Client
SubClient send
ParamSPA ke SPA
SubClient Commad
Sweep dan Read Trace
dari SPA
Gambar 3.16a Flow Chart CSSA Server
71
Gambar 3.16b Flow Chart CSSA Server
Dilihat dari gambar 3.15, ketika CSSA Server dijalankan ia akan
melakukan koneksi dengan spectrum analyzer. Kemudian CSSA Server akan
mengirimkan perintah (command) kepada spectrum analyzer untuk melakukan
penyetelan (setting) dan membaca parameter spectrum analyzer (selanjutnya
penulis sebut dengan nama parameter SPA) untuk pertama kali nya, dan
parameter ini akan di simpan di sebuah variabel global.
Setelah itu CSSA Server akan menerima parameter baru dari CSSA
Client, dan jika parameter tersebut adalah Connect SPA, artinya CSSA Client
hanya akan meminta parameter SPA yang telah disimpan di variabel global
72
sebelumnya. Ini menandakan bahwa CSSA Client untuk pertama kalinya
melakukan koneksi dengan CSSA Server.
Bila parameter yang dikirimkan oleh CSSA Client adalah ReadData SPA,
ini artinya CSSA Client mengirimkan parameter SPA yang baru, kemudian
CSSA Server akan melakukan perbandingan antara parameter SPA yang lama
dengan parameter SPA yang baru yang dikirim oleh CSSA Client. Apabila
parameter SPA yang baru dikirimkan berbeda dengan parameter SPA yang
disimpan di global variabel, maka CSSA Server akan mengirimkan parameter
SPA yang telah dikirim oleh CSSA Client kepada spectrum analyzer (SPA),
kemudian akan dilakukan penyetelan berdasarkan parameter SPA yang telah
dikirim oleh CSSA Client. Setelah itu CSSA Server akan mengirimkan perintah
kepada spectrum analyzer untuk melakukan sweep trace, untuk meminta data
trace berdasarkan setting parameter SPA yang dikirimkan oleh CSSA Client.
Kemudian CSSA Server akan mengirim parameter SPA dan data trace ke CSSA
Client. Yang dimaksud dengan parameter SPA disini adalah data-data yang
digunakan untuk men-setting spectrum analyzer seperti: Attenuation, Center
Frequency, dB per Division, Resolution Bandwidth, Reference Level, Frequency
Span, SweepTime dan Video Bandwidth.
3.10 Cara Kerja Pada CSSA Server
Pada dasarnya Server berfungsi untuk menciptakan mutual exclusion.
Mutual exclusion adalah suatu mekanisme untuk menghindari lebih dari satu
proses mengakses resource yang sama. Dalam hal ini yang disebut resource adalah
spectrum analyzer, karena spectrum analyzer tidak bisa di akses atau di-remote
73
oleh banyak CSSA Client pada waktu yang bersamaan. Bagian program yang
berhubungan dengan resource ini di dalam teori sistem operasi disebut dengan
nama daerah kritis (critical region).
Gambar 3.17 Teknik untuk mendapatkan Mutual Exclusion pada CSSA Server
74
Untuk mendapatkan mutual exclusion ini dalam teori sistem operasi bisa
menggunakan semaphore. Penulis merancang mutual exclusion dengan
menggunakan atau memanfaatkan server satu proses yang tidak bisa melayani
banyak client pada saat yang bersamaan. Jika ada banyak client yang connect ke
server pada waktu yang hampir bersamaan maka client tersebut harus antri dalam
sebuah antrian (queue) menunggu giliran untuk dilayani oleh server seperti pada
gambar 3.17. Setelah komunikasi antara CSSA Server dengan CSSA Client selesai
maka kedua program akan melakukan memutuskan hubungan (close connection)
dan kemudian CSSA Client antri lagi, sedangkan CSSA Server melayani client
yang sudah mengatri sebelumnya. Jadi dengan teknik connect -close ini fungsi nya
sama dengan semaphore dalam teori sistem operasi, dan dengan teknik connect-
close ini dijamin hanya ada satu CSSA Client yang bisa menggunakan spectrum
analyzer setiap saat. Jadi teknik ini lebih mudah dibandingkan dengan
multiprocess atau multithread dengan menggunakan semaphore.
3.11 Perancangan Format Pengiriman Data
a. Format pengiriman data antara SPA dengan CSSA Server
Format instruksi antara spectrum analyzer (SPA) dengan CSSA Server
mengikuti format standard yang sudah disediakan oleh spectrum analyzer
yang menggunakan standard format GPIB, seperti contoh pada table 3.8
dibawah. Sedangkan format data yang digunakan oleh program CSSA Server
dengan SPA mengikuti format standard GPIB seperti pada tabel 3.9 berikut :
75
Tabel 3.8 Instruksi (command/query GPIB) yang digunakan oleh program
CSSA
Function Command (EXE, SET) Query (GET)
Code Argument Format
Code Output Format
Center Frequency CF* Frequency CF? Frequency
Frequency Span SP* Frequency SP? Frequency
Reference Level RL* Level RL? Level
Attenuation AT* DB (Integer) AT? DB (Integer)
XdB/Div DD* 10, 5,
2, 1, 0.5 dB
DD? 0 = 10 dB
1 = 5 dB
2 = 2 dB
3 = 1 dB
4 = 0.5 dB
RBW RB* Frequency RB? Frequency
VBW VB* Frequency VB? Frequency
Sweep Time SW|ST* Time SW?|ST? Time
Take Sweep TS - - -
Sweep Mode Single
SI|SNGLS - - -
Number of Trace Points
TPS|TP*
TPL|TP*
501
1001
TP? 0=501
1=1001
Trace A I/O Binary
TBA 2 byte * TRP TBA? 2 byte * TRP
Status Byte Clear *CLS - - -
76
Register Read OPR* integer OPR? Integer
STB Read - - *STB? Integer
TRP: Number of trace points
Contoh beberapa instruksi GPIB yang dieksekusi dengan bahasa C sbb:
a. Center Frequency
send(socket,"CF?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Center Frequency, kemudian data tersebut diambil dengan
instruksi dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: +4.0000000000E+09CRLF dan data ini
akan dikonversi ke double floating point dengan
menggunakan fungsi atof() nilainya menjadi 4 GHz.
send(socket,"CF 100KZ\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter Center Frequency sama dengan 100
KHz.
77
b. Attenuation
send(socket,"AT?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Attenuation, kemudian data tersebut diambil dengan instruksi
dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: +1.0000000000E+01CRLF dan data ini
akan dikonversi ke floating point dengan menggunakan fungsi
atof() nilainya menjadi 10 dB.
send(socket,"AT 10dDB\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter Attenuation sama dengan 10 dB.
c. dB per Division
send(socket,"DD?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
dB per Division, kemudian data tersebut diambil dengan
instruksi dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: 1.00000000000E+00CRLF dan data ini
akan di validasikan. Jika str[0] bernilai ‘1’, maka dBperDiv
78
bernilai 5 dB. Untuk daftar nilai dB per Division dapat dilihat
pada table 3.8
send(socket,"DD 5dDB\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter dB per Division sama dengan 5 dB.
d. Video Bandwith
send(socket,"VB?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Video Bandwith, kemudian data tersebut diambil dengan
instruksi dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: +1.0000000000E+09CRLF dan data ini
akan dikonversi ke double floating point dengan
menggunakan fungsi atof() nilainya menjadi 1 GHz.
send(socket,"CF 1GZ\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter Video Bandwith sama dengan 1 GHz.
e. Resolution Bandwith
send(socket,"RB?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Resolution Bandwith, kemudian data tersebut diambil dengan
instruksi dibawah.
79
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: +1.0000000000E+09CRLF dan data ini
akan dikonversi ke double floating point dengan
menggunakan fungsi atof() nilainya menjadi 1 GHz.
send(socket,"CF 100KZ\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter Resolution Bandwith sama dengan 100
KHz.
f. Reference Level
send(socket,"RL?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Reference Level, kemudian data tersebut diambil dengan
instruksi dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: +2.0000000000E+01CRLF dan data ini
akan dikonversi ke integer dengan menggunakan fungsi atoi()
nilainya menjadi 20 dB.
send(socket,"RL 10dDB\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter Reference Level sama dengan 10 dB.
80
g. Sweep Time
send(socket,"SW?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Sweep Time, kemudian data tersebut diambil dengan instruksi
dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: 4.0000000000E+02CRLF dan data ini
akan dikonversi ke double floating point dengan
menggunakan fungsi atof() nilainya menjadi 400 milisecond.
send(socket,"SW 500MS\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter y sama dengan 100 milisecond.
h. Span
send(socket,"SP?\n",4,0)
artinya mengirim query ke spectrum analyzer untuk membaca
Span, kemudian data tersebut diambil dengan instruksi
dibawah.
recv(socket,str,22,0)
Data disimpan di variavel string str ( char str[22] ), contoh isi
data string sbb: +7.0000000000E+03CRLF dan data ini
akan dikonversi ke double floating point dengan
menggunakan fungsi atof() nilainya menjadi 7 KHz.
81
send(socket,"SP 100KZ\n",8,0)
artinya command diberikan ke spectrum analyzer untuk men-
setting nilai parameter span sama dengan 100 KHz.
Tabel 3.9 Format data pada command GPIB yang digunakan program CSSA
b. Format pengiriman data antara CSSA Server dengan CSSA Client
Rancangan format data untuk parameter SPA yang dikirim antara
CSSA Server dengan CSSA Client adalah sbb:
Attenuasi;CenterFrequency;dBperDivision;ResolutionBandWidth;
ReferenceLevel;FrequencySpan;SweepTime;VideoBandWidth;
Data dikirim dalam format ASCII (string) dan setiap data dipisahkan oleh
titik koma. Satuan dari data tidak dikirim hanya besarannya saja, tetapi
sudah ditentukan / disepakati untuk data Attenuasi, dBperDivision adalah dB
(decibel), untuk data CenterFrequency, ResolutionBandWidth,
82
VideoBandWidth dan FrequencySpan adalah Hz (Hertz), ReferenceLevel
satuannya dBm (decibel milliwatt), SweepTime satuannya millisecond.
Sedangkan untuk data trace format datanya sesuai dengan format yang
dikirim oleh spectrum analyzer yaitu format biner. Setiap titik
direpresentasikan dengan 2 byte integer yang besarnya berkisar antara 1792
s/d 14592 seperti gambar 3.18 dibawah. Jumlah data ada dua yaitu 501 dan
1001 yang ditentukan pada saat setting awal di spectrum analyzer. Penulis
menggunakan jumlah data sebanyak 501 titik, agar pada saat membuat
gambar spektrum frekuensi di program CSSA Client bisa lebih cepat. Jadi
jumlah data yang dikirim dari CSSA Server ke CSSA Client sebanyak 2 x
501 byte, dengan aturan byte pertama yang dikirim merupakan high order
byte dan byte berikutnya low order byte. Jadi format data yang dikirim oleh
CSSA Server ke CSSA Client adalah sebagai berikut:
<high order byte data -1> <low order byte dat-1> <high order byte
data -2> <low order byte dat-2> …..…… <high order byte data-
501> <low order byte data-501>
Data data trace inilah yang akan membentuk gambar spektrum frekuensi di
sisi CSSA Client. Contoh data trace yang belum diolah/diproses yang
dikirim oleh Spectrum Analyzer dan diterima oleh CSSA Server dan
diteruskan ke CSSA Client seperti dibawah ini. Setiap data besarnya satu
byte dan byte pertama adalah high order byte dan byte yang ke dua low
order byte, dan dalam program data ini akan ditampung dalam sebuah
Array.
83
22 175 21 173 20 167 21 94 24 95 19 185 19 236 22 247 20 218 23 16 24 56 21 137 20 174 21 186 23 127 22 105 ---- dst s/d 2x501 byte data Setelah data diatas diproses akan menjadi data Trace yang jumlahnya 501 seperti contoh dibawah ini. 5807 5549 5287 5470 6239 5049 5100 5879 5338 5904 6200 5513 5294 5562 6015 5737 ---- dst s/d 501 data trace
Contoh : Data 5807 didapat dari 22 * 256 + 175
Data 5549 didapat dari 21 * 256 + 173
dst..
Atau kalau dibuat bilangan biner nya sbb:
Dibawah ini diberikan contoh data parameter SPA yang dikirim oleh CSSA
Client dan CSSA Server sbb:
10;90000000;10;100000;-10;20000000;200;100000;
Setelah parameter SPA ini diproses di CSSA Server atau di CSSA Client
maka akan di dapat nilai :
Attenuasi = 10;
Center Frekuensi = 90 MHz
dBperDiv = 10
Res. BW = 100 KHz
Video BW = 100 KHz
Reference Level = -10 dBm
84
Frekuensi Span = 20 MHz
Sweep Time = 200 msec
Gambar 3.18 Data trace dari Spectrum Analyzer
3.12 Perancangan Program CSSA Client
Program CSSA Client dirancang untuk dijalankan pada komputer dengan
sistem operasi windows, karena pada sistem operasi windows tersedia banyak
pilihan bahasa pemrograman untuk menampilkan GUI (Graphical User
Interface) dibandingkan dengan sistem operasi linux. Pada program CSSA Client
ini terdapat dua thread yang penulis beri nama MainThread dan WorkerThread :
• MainThread, adalah thread yang berfungsi melayani event-event yang
diberikan oleh user melalui mouse atau keyboard. Dimana event tersebut
85
akan menjalankan fungsi-fungsi tertentu dalam Program CSSA Client
seperti, MouseClick, ButtonClick, dll.
• WorkerThread, adalah thread yang berfungsi untuk melakukan koneksi
ke CSSA Server, meminta data dan mengirim parameter yang diset ke
SPA melalui CSSA Server. Program CSSA Client pertama kali akan
meminta data kepada CSSA Server, dan setelah data dikirimkan ke CSSA
Client koneksi akan dimatikan. Selain itu WorkerThread juga berfungsi
untuk menampilkan Spectrum Frequency sesuai dengan range frekuensi
tertentu secara real time.
Perancangan program CSSA Client dimulai dari perancangan sequence diagram
antara thread didalam CSSA Client dan dengan CSSA Server-nya, untuk
melihat interaksi antar program seperti pada gambar 3.20. Untuk melihat lebih
rinci proses yang ada pada setiap thread dibuat rancangannya dengan
menggunakan flowchart seperti gambar 3.21.
Gambar 3.19 Program CSSA Client terdiri dari 2 thread
86
Gambar 3.20 Sequence Diagram antar Thread di CSSA Client dan CSSA Server
3.12.1 Perancangan Program Worker Thread
Worker thread berfungsi untuk mengirim parameter SPA baru ke
CSSA Server dan kemudian membaca kembali parameter tersebut dari
CSSA Server. Setelah data didapat dari CSSA Server baru kemudian
Worker Thread menggambar grafik (spektrum frekuensi) di form picture
87
box pada form tampilan CSSA Client, dan selain itu worker thread juga
meng-update data-data yang ada di textbox pada form tampilan CSSA
Client.
IF Me <> Cancel Close ThreadNo
Yes
Mengirimkan Parameter ke CSSA-Server
Membaca Parameter dari CSSA Server
Menggambar Spectrum dan update data
Start
Gambar 3.21 Flow Chart pada Worker Thread
88
Menampilkan ParamSPA pada
Form CSSA Client
Menggambar Grid
Menggambar Spectrum
Menggambar Marker
Menampilkan ParamSPA pada
PictureBox
Membaca ParamSPA dari Variabel Global
Create, Connect Socket
Mengirimkan Parameter
READDATASPA ke CSSA Server
Membaca ACK dari CSSA Server
Mengirimkan ParamSPA ke CSSA Server
Membaca ParamSPA dari CSSA Server
Mengirimkan ACK ke CSSA Server
Membaca Trace dari CSSA Server
Close Socket()
Konversi ParamSPA
Simpan ParamSPA ke
Variabel Global
Stop
Stop
Stop
Start StartStart
(a) (b) (c)
Gambar 3.22 Flow Chart pada Worker Thread (a) Pengiriman parameter ke CSSA Server (b) Membaca parameter dari CSSA Server (c) Menggambar Spektrum frekuensi dan update data
Pada saat worker thread dibuat (create) oleh sistem operasi, maka
worker thread langsung mengambil parameter SPA dari global variabel
dan kemudian melakukan koneksi ke CSSA Server, mengirim parameter
SPA ke CSSA Server, membaca data trace dari CSSA server dan
89
menutup koneksi (close connection) dengan CSSA Server. Setelah data
trace didapat dari CSSA Server kemudian worker thread menggambar
spektrum frekuensi dan mengupdate data-data yang ada di form utama
pada tampilan CSSA Client. Worker thread akan melakukan pemrosesan
terhadap parameter SPA, supaya menjadi data yang mudah dilihat oleh
pemakai dan kemudian data tersebut ditampilkan pada tampilan form
utama.
Worker Thread juga akan menggambarkan marker berdasarkan
event yang diberikan oleh pemakai. Proses ini akan berulang secara terus-
menerus selama pemakai tidak menekan button stop pada form utama.
Komunikasi antar thread pada CSSA Client menggunakan global variabel
dalam sebuah modul.
3.12.2 Perancangan Fungsi Pemetaan Data Spectrum Frequency ke Bitmap
Data trace yang didapat dari CSSA Server sama format nya
dengan data trace yang didapat langsung dari spectrum analyzer. Data
trace berkisar antara 1792 s/d 14592 dengan jumlah data 501, seperti
gambar 3.24. Data-data ini akan digambar kembali di picture box pada
layar utama di CSSA Client. Picture box yang dibuat berukuran tinggi
433 pixel dan lebar 549 pixel.
Data trace yang diterima dari CSSA Server disimpan pada array Trace[0]
s/d Trace[500]. Untuk memetakkan (mapping) dari Trace(i),i Yi,Xi
digunakan formula sbb:
90
JMLTITIK = 501
LEVELATAS = 14592
LEVELBAWAH = 1792
DELTA = LEVELATAS – LEVELBAWAH
DivBawah = (BatasAtas – BatasBawah) / 10
DivKanan = (BatasKanan – BatasKiri) / 10
Yx = (Trace[i] - LEVELBAWAH) / DELTA) * (DivBawah * 10)
Yi = (DivBawah * 10 + BatasAtas) – Yx
Xi = i / (JMLTITIK - 1) * (DivKanan * 10) + BatasKiri ……... (1)
Yi dan Xi yang didapat dari rumus diatas adalah menunjukkan lokasi pixel
untuk sumbu Y dan sumbu X pada data yang ke-i, dan pada lokasi inilah
akan di plot sebuah garis. Sebuah garis akan ditentukan oleh dua buah titik
(pixel), jadi untuk membuat garis digunakan lokasi sebelumnya (Yi-1,Xi-1,
Yi,Xi). Untuk mengetahui power atau level signal dari suatu spektrum
frekuensi dalam satuan dBm pada suatu titik tertentu digunakan formula
berikut :
tmp = Trace[i] - LEVELATAS
dBmx = (tmp / DELTA) * 100
dBm[i] = dBmx / (10 / DBperDiv) + RefLevel …………….. (2)
Dengan menggunakan rumus diatas, maka perhitungan marker,
multimarker, deltamarker dan display line dapat dilakukan di komputer
91
dan tidak perlu membaca dari spectrum analyzer, sehingga dapat
mengurangi beban dari spectrum analyzer.
Dibawah ini diberikan contoh data trace yang jumlahnya 501,
yang sudah diproses menjadi 2 byte data integer dan data Trace ini di
gambar dengan menggunakan Microsoft Excel hasilnya seperti gambar
3.23. Hasil yang didapat seperti gambar 3.23 tidak bisa menentukan level
signal pada frekuensi tertentu, dan untuk mengetahi level signal harus
diketahui parameter spectrum analyzer dBperDiv dan RefLevel pada saat
pengukuran dilakukan sehingga rumus (2) bisa digunakan.
Tabel 3.10 Contoh Data Trace[0] s/d Trace[500]
5807 5549 5287 5470 6239 5049 5100 5879 5338 5904 6200 5513 5294 5562 6015 5737 4616 5112 5409 4599 4570 4556 4778 4480 5743 5014 4004 5957 5052 5178 4070 4772 5543 3779 5667 5093 5374 5366 5177 5751 4251 5327 4798 5224 4312 5328 5134 5738 5827 4848 4582 5179 4567 5340 6010 5856 5671 6181 7189 7488 6890 6979 6302 6112 6261 5670 5915 5304 5167 5212 5267 4454 4975 4735 5477 5615 4528 5351 5501 4575 5825 5013 4054 4434 5477 3943 5599 5172 5099 6170 5275 5715 6515 6443 7048 7949 7958 7934 8332 8751 8469 8569 8337 8123 7806 6807 6917 6355 6594 6758 4742 5607 6924 5719 6501 3747 5651 5940 5307 4846 4682 5031 5564 4509 4742 4927 3693 5352 4635 5406 4722 5691 4683 5253 5239 5032 4795 4851 4347 6082 4848 5246 4914 6193 5557 5585 5079 4808 4324 5029 4903 5958 4988 5439 6261 5985 5896 6051 5131 5257 5896 5438 5189 6692 6655 7228 7114 7350 6842 6995 6452 5725 5953 5987 5530 6519 6687 5518 6479 4993 5252 5976 5639 4159 4495 4807 4847 5226 5259 5643 5459 5641 5037 5391 5665 4583 5649 6199 5545 5202 5003 5380 5869 5105 5175 6248 6349 6225 5711 4867 4664 5869 4959 5187 5196 4799 5092 5051 5328 5135 5895 4762 4464 4706 3911 5545 6780 5326 5677 5501 4577 5541 5954 4953 6672 6327 7250 6535 6189 6184 6854 5790 4607 5706 5187 5771 4823 5470 5523 6210 6579 6832 7405 7841 8096 8730 8323 8477 8478 8278 7599 7432 6314 6092 5509 5799 5461 5082 5323 5157 4572 4571 4781 4744 4930 5036 4863 5685 5685 4240 4006 5102 5164 5269 5425 5554 4836 5125 5199 3971 4423 4867 5275 4718 4718 5668 5509 6496 4420 5993 5634 5344 5948 5093 6204 5309 6260 5821 5742 5694 5994 5775 6145 5314 3755 5232 5886 4504 6139 5063 5974 6239 5500 6150 6704 6089 5457 6456 4848 5998 5873 4908 5971 5040 4801 5350 5233 5590 4800 5760 5559 5738 5877 5969 6242 5999 6989 5865 6264 6720 6227 6750 5782 5544 5739 6267 6308 6533 7653 7890
92
8713 9250 9276 9547 9410 9204 9528 9245 8846 8578 8767 7823 7103 6594 6148 6299 6026 6783 6020 5765 5652 6618 6291 5973 6328 5734 6690 5915 6497 6035 6226 5264 5527 6037 6059 5810 6185 5912 6677 5438 7368 6939 6358 6247 6389 6291 6603 5042 5754 6667 5755 6030 4841 6202 5709 7241 7750 7736 6927 6875 6969 6673 7255 6448 6841 6811 6627 6880 7215 6595 6112 6320 6283 6667 6765 6439 6938 6231 5767 5776 5794 5402 6271 6140 6101 6480 6300 6169 5858 6011 5797 6543 6241 6502 5159 6427 6047 7208 4740 6019 6895 6914 7485 6312 7576 6746 7827 5979 7389 6960 7144 6332 7278 6693 6843 6207 6519 6442 6269 6564 6016 6985 6860 7462 6798 6754 7018 6371 7120 7134 7533 8127 7730 8567 7701 7408 6815 7691 6074 5570 6848
Gambar 3.23 Spektrum Frekuensi dari data Trace tabel 3.10 yang digambar dengan
menggunakan program Excel
93
Gambar 3.24 Spektrum Frekuensi dari data Trace tabel 3.10 dengan menggunakan
Program CSSA Client
3.12.3 Perancangan Fungsi Pemetaan Lokasi BitMap ke Data Trace
Untuk mengetahui power dari suatu frekuensi, maka pada CSSA
Client disediakan fasilitas marker, delta marker dan multi marker.
Marker setelah diaktifkan kemudian lokasi marker-nya ditentukan oleh
mouse pada saat di klik.
Pada Visual Studio 2008, sudah disediakan event untuk menangkap posisi
mouse di saat di klik tersebut, dan posisi ini dalam satuan pixel (Yi,Xi).
Untuk menghitung power-nya maka harus dicari data Trace yang ke-i
tersebut dengan menggunakan rumus sbb:
94
Index=((e.X - BatasKiri) / (DivKanan * 10)) * JMLTITIK …... (3)
e.X : adalah lokasi pixel pada sumbu X saat mouse di klik.
Index: adalah data Trace yang ke-i atau Trace[i]
Dengan mengetahui data Trace[i] maka untuk menghitung power dari
suatu frekuensi menjadi lebih mudah dengan menggunakan rumus (2)
diatas.
3.12.4 Perancangan Fungsi Untuk Menghitung Level Pada Display Line
Display line umumnya digunakan untuk mengukur dan melihat
noise floor dari suatu frekuensi yang diukur seperti gambar 3.25. Display
line berupa garis lurus sepanjang sumbu X, dan display line hanya bisa
dirubah posisinya ke sumbu Y saja, dengan menggunakan mouse. Untuk
menghitung nilai level dari posisi display line ini digunakan rumus sbb:
ratio = (BatasAtas – e.Y) / (DivBawah * 10)
dBmx = ratio * 100
dBm = ((dBmx / (10 / DBperDiv)) + RefLevel
dimana:
e.Y = lokasi pixel pada sumbu Y yang di klik oleh mouse, dan
untuk mendapatkan nilai pixel ini visual studio 2008 sudah
menyediakan fungsinya.
95
Gambar 3.25 Pemetaan data frekuensi ke bitmap
3.12.5 Perancangan Algoritma Untuk Membuat Marker di CSSA Client
Pada saat marker diaktifkan baik normal marker, delta marker
ataupun multimarker maka pada spektrum frekuensi yang muncul di layar
monitor harus diberi tanda untuk menentukan titik ukur yang sedang
diamati. Tanda ini untuk beberapa merk spectrum analyzer berbeda-beda
bentuknya ada yang bentuknya bulat, oval dan ada juga yang
96
menggunakan tanda tambah (+) seperti gambar 3.25. Pada perangkat
lunak CSSA penulis menggunakan tanda tambah (+). Untuk membuat
tanda marker ini algoritmanya adalah sbb:
Pada saat mouse di klik disuatu tempat maka dengan
menggunakan rumus (3) diatas, akan diperoleh index data Trace,
misalkan pada index ke-i atau Trace[i]
Setelah diketahui index dari data Trace tersebut kemudian
digunakan rumus (1) untuk melakukan pemetaan dari data
Trace[i],i ke Yi,Xi.
Setelah ketemu titik Yi,Xi kemudian dibuat garis mulai dari Yi-
5,Xi ke Yi+5,Xi dan garis Yi,Xi-5 ke Yi,Xi+5 maka pada layar
monitor akan muncul gambar marker seperti gambar 3.25
97
3.13 Perancangan Menu
98
3.14 Perancangan layar CSSA Client
a. Rancangan Layar Utama
Gambar 3.27 Rancangan Layar Utama
b. Rancangan Layar EntryNote
Gambar 3.28 Rancangan Layar Entry Notes
99
c. Rancangan Layar Add/EditDBase
Gambar 3.29 Rancangan Layar AddEditDBase
d. Rancangan Layar DBaseListView
Gambar 3.30 Rancangan Layar DBaseListView
100
e. Rancangan Layar IP Address
Gambar 3.31 Rancangan Layar IP Address
f. Rancangan Layar StartStop
Gambar 3.32 Rancangan Layar StartStop
g. Rancangan Layar IP Address Database
Gambar 3.33 Rancangan Layar IP Address Database
101
3.15 STD Diagram
Untuk merancang perubahan dari satu layar ke layar yang lainnya penulis
menggunakan STD (State Transition Diagram) untuk menggambarkannya
perubahan-perubahan tersebut. Nama layar Print Preview, Print dan Print Setup
tidak ada dalam rancangan layar karena layar tersebut penulis gunakan yang
sudah disediakan oleh windows (Visual Studio 2008).
Gambar 3.34 STD Menu Utama
102
Gambar 3.35 STD DbaseListView
3.16 Perancangan Database
Program Client Server Spectrum Analyzer ini dilengkapi juga dengan database
untuk menyimpan data-data pelanggan atau pengguna frekuensi untuk memudahkan
pemakai melakukan pengukuran. Dengan adanya database ini pemakai (user) cukup
dengan mengingat nama pelanggan (customer) saja tidak perlu lagi harus mengingat atau
melihat catatan tentang frekuensi yang digunakan oleh pelanggan tersebut. Disamping
itu pemakai tidak perlu lagi mengetik atau memasukkan data setting parameter SPA di
CSSA Client, karena data-data yang ada pada database ini akan langsung mengisi
parameter SPA dan Text Box pada tampilan layar utama. Database yang digunakan
103
adalah MySQL yang lokasinya bisa di komputer CSSA Server atau di komputer CSSA
Client.
Pengguna (user) diberikan pilihan untuk menyimpan database-nya bisa pada
server atau pada komputer lokal / client. Untuk menentukan database yang mana
digunakan oleh pemakai apakah yang ada di kompute CSSA Server atau yang ada di
komputer CSSA Client penulis merancang cara men-set nya melalui sebuah menu untuk
memasukkan nomor IP dari komputer yang database-nya akan diakses oleh program
CSSA Client. Database-nya cukup satu tabel dengan nama tblCustomer sbb:
Tabel 3.11 tblCustomer tblCustomer Key Field Type Null Default PK ID
NAMA STARTFREQ STOPFREQ REFLEVEL VBW RBW SWEEPTIME ATTEN DBDIV ALAMAT
CHAR(10) VARCHAR(30) BIGINT(20) BIGINT(20) INT(11) BIGINT(20) BIGINT(20) INT(11) INT(11) INT(11) VARCHAR(40)
NO NO NO NO NO NO NO NO NO NO YES
0 100000 100000 100 10 10