Tsa-2012-0032 2
Tsa-2012-0032 2
LANDASAN TEORI
2.1 ADS-B
yang ada di darat (ADS-B Ground Station). Data ini dipakai untuk menampilkan
posisi pesawat secara visual dan informasi lainnya seperti ketinggian, kecepatan,
dengan sistem radar seperti pembaharuan data yang lebih sering dan data pesawat
yang potensial seperti update cuaca, tujuan pesawat dan data avionic. ADS-B kalau
address.
8
9
taxi atau take off dan mengurangi biaya. Seperti terlihat pada gambar 2.1 dibawah,
pesawat dilengkapi dengan MOD-S Transponder yang akan menerima data lokasi
dari GNSS (Global Navigation Satellite System), kemudian akan mengirim data-data
tersebut ke ADS-B Receiver atau ADS-B Ground Station. Format data dari pesawat
ke ADS-B Receiver disebut dengan data MOD-S sedangkan data yang dikirim dari
ADS-B Receiver ke ATC adalah data dengan format Asterix-21. Semua standard
yang digunakan sudah diatur oleh ICAO (International Civil Aviation Organization).
Asterix‐21
10
ADS-B saat ini di wilayah Indonesia timur telah di pasang 11 ADS-B Ground
Station dan 9 ADS-B Ground Station datanya telah dikirim ke MATSC (Makassar
Air Traffic Service Center) dan sudah masuk ke RCMS (Remote Control and
Monitoring System) ADS-B MATSC. Sedangkan dua ADS-B ground station yaitu
Kupang dan Merauke datanya belum masuk ke MATSC. Ke sembilan ADS-B yang
sudah masuk ke RCMS MATSC tersebut adalah : Malino, Sorong, Pangkalan Bun,
Palu, Kintamani, Waingapu, Alor, Ambon dan Saumlaki. Lokasi ADS-B Ground
2.2 Konkurensi
berdasarkan waktu yang disebut waktu Quantum. Pada sistem konkurensi seperti ini
11
sebenarnya tidak terjadi pengolahan secara paralel dan akan muncul sejumlah
overhead yang terjadi dalam peralihan dari satu proses ke proses yang lainnya.
p181). Pada gambar 2.3 digambarkan bagaimana proses dijalankan secara simultan.
Proses adalah sebuah instant dari program yang dieksekusi. Perbedaan antara
program dan proses adalah program merupakan entitas pasif atau lebih sering dikenal
dengan file yang siap dieksekusi (executable file), sedangkan proses adalah entitas
aktif dengan program counter yang menspesifikasikan instruksi berikut yang akan
dieksekusi dan sumber daya yang diasosiasikan. Secara konsep setiap proses
mengolah secara bergantian dari satu proses ke proses yang lain. Terkadang beberapa
12
mengontrol lebih dari satu proses. Dalam proses pengelolaannya sistem operasi
membutuhkan interaksi dengan proses yang lain. Proses mungkin membuat suatu
Ketika proses di-block dikarenakan secara logika proses tersebut tidak dapat
dilanjutkan, yang biasanya disebabkan karena menunggu input yang tidak tersedia.
Terdapat juga kemungkinan untuk proses yang sudah ready dan siap dijalankan untuk
proses yang lain untuk sementara (Tanenbaum, 2009, p88). Pada gambar 2.4
ditunjukkan state diagram yang menggambarkan tiga state yang dimiliki oleh proses.
Running
1 2
4 Ready
Blocked
Pada gambar 2.4 anak panah menunjukkan transisi antara state pada proses.
Stack Pointer
Routine1 var1()
Stack Prgm. Counter
var2()
Registers
Main()
Text routine1()
routine2()
Data Process ID
ArrayA Group ID
ArrayB User ID
File
Heap Locks
Sockets
Bila dilihat dari sudut pandang sistem operasi, sebuah proses memiliki sifat-
1. Setiap proses memiliki user address space. User address space proses
terdiri atas segmen text, segmen data, segmen stack, dan segmen heap.
data.
14
4. Sebuah proses memiliki jatah memori yang bersifat privat yang dapat
terdapat di register system operasi bila proses aktif, atau di memori sistem
sinkronisasi proses.
orang tua dan proses anak. Sebuah proses tidak dapat hidup dengan sendirinya,
melainkan membutuhkan sebuah proses orang tua yang akan membangkitkan proses
anak. Sebuah proses utama dibangkitkan pertama kali oleh mekanisme hardware pada
saat sistem operasi hidup. Proses utama tersebut bertanggung jawab membangkitkan
15
proses-proses lainnya. Pada varian Unix (termasuk Linux), proses utama tersebut
disebut dengan init. Init merupakan orang tua dari semua proses, tercipta pada saat
terciptanya kernel sistem operasi. Sedangkan pada sistem operasi Windows 32 bit,
Pada Sistem Operasi tradisional setiap proses memiliki sebuah alamat memori
dan sebuah thread. Pada kenyataannya itu adalah definisi dari proses itu sendiri.
Terdapat beberapa situasi dibutuhkan beberapa thread dalam alamat memori yang
sama (Tanenbaum, 2009, p93). Sebuah thread adalah sebuah unit dasar utilisasi
prosesor (CPU). Sebuah thread memiliki threaded, program counter, satu set register,
dan sebuah stack. Sebuah thread berbagi pakai segmen kode, segmen data, sumber
daya sistem operasi (file dan signal) dengan thread lain dalam satu proses yang sama.
Bila sebuah proses memiliki banyak thread, proses tersebut dapat melakukan lebih
16
Satu cara untuk membedakan proses dan thread adalah proses memiliki alamat
memori mengandung program teks dan data beserta sumber daya yang lain. Dengan
menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang
dapat di manajemen lebih mudah. Sedangkan konsep yang lain adalah sebuah proses
Thread memiliki register yang menyimpan variable yang dikerjakan. Thread memiliki
stack yang berisi histori dari eksekusi. Meskipun thread harus dieksekusi didalam
proses tetapi proses dan thread memiliki konsep yang berbeda. Proses digunakan
17
penjadwalan untuk eksekusi yang dilakukan oleh CPU (Tanenbaum, 2009, p98-99).
thread pada sebuah proses pada waktu yang bersamaan. Walaupun secara logika
beberapa thread dapat berjalan pada saat yang bersamaan, namun pada prakteknya,
sebuah CPU hanya mampu menangani satu buah thread saja. Thread lain harus
Program konkuren adalah dua atau lebih program sekuensial yang mungkin
konkuren adalah proses memrogram dua atau lebih kode agar kode-kode tersebut
multithread.
Untuk menciptakan sebuah proses anak pada sistem operasi Unix digunakan
18
system call fork(), kemudian menyalin semua sumber daya proses orang tua (parent
process) kepada proses baru tersebut, proses anak (child process) yang telah
lainnya.
yaitu: bila pada Sistem Operasi Linux bila proses orang tua (parent process) mati
maka proses anak akan tetap hidup dan memiliki proses orang tua yang disebut
dengan init, sedangkan pada sistem operasi Windows, bila proses orang tua mati
Agar suatu proses dapat berkomunikasi dengan proses yang lain diperlukan
mekanisme komunikasi antar proses / Inter Process Communication (IPC). IPC dapat
mendukung multithread jadi main thread dapat membuat lebih dari satu thread dalam
proses yang sama. Thread-thread ini dijalankan pada memori yang sama dengan main
thread. Pada .NET framework terdapat konsep proses yang dikenal dengan
AppDomain. Setiap AppDomain diisolasi dalam memori tertentu dan code yang
19
dijalankan di satu AppDomain tidak dapat diakses oleh AppDomain yang lain (Evjen,
2008, p1047).
dengan status thread yang dikelola. Contoh tahapan-tahapan untuk kasus dua thread
thread menunggu thread lainnya selesai, dapat dilihat pada tabel 2.1
antar thread. Sinkronisasi dibutuhkan untuk mencegah dua buah thread mengakses
data atau sumber daya kritis pada saat yang bersamaan. Ada beberapa mekanisme
20
Mekanisme yang sering digunakan karena lebih sederhana adalah mutex. Mutex baik
digunakan untuk menjamin mutual exclusion untuk beberapa sumber daya yang
dibagi atau bagian dari code. Mutex mudah dan efisien untuk di implementasikan,
Mutex adalah sebuah variable yang hanya memiliki dua kondisi yaitu:
unlocked atau locked. Oleh karena itu hanya 1 bit yang dibutuhkan untuk
berarti unlocked dan nilai yang lain berarti locked. Ketika sebuah thread melakukan
framework dikenal dengan WaitOne()). Jika mutex sedang unlocked, maka thread
yang memanggil mutex dapat memasuki critical region. Sebaliknya jika mutex dalam
keadaaan locked, thread yang memanggil harus menunggu hingga mutex dalam
kondisi unlocked. Pada tabel 2.2 digambarkan bagaimana sinkronisasi antar dua
pertukaran data antar program atau proses baik dalam satu mesin maupun antar
mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix BSD yang
disebut BSD Socket. Socket pertama kali diperkenalkan di sistem Unix BSD versi 4.2
tahun 1983 sebagai kelanjutan dari implementasi protocol TCP/IP yang muncul
pertama kali pada sistem Unix BSD 4.1 pada akhir 1981. Hampir setiap varian Unix
aplikasi pertama harus memanggil open untuk menyiapkan file yang akan diakses,
kemudian aplikasi tersebut memanggil read atau write untuk membaca data dari pada
file atau menuliskan data ke file. Setelah itu close dijalankan untuk mengakhiri
22
digambarkan pada gambar 2.8, socket pada sisi client dan server berbeda sedikit.
Pada sisi server suatu soket server akan dibentuk dan kemudian dilakukan operasi
bind untuk membuat socket memiliki alamat yang unik. Pada bind ini diperlukan
nomor Port dan alamat IP kemudian baru server melakukan operasi listen. Operasi ini
pada intinya menunggu permintaan koneksi dari sisi client. Sedangkan pada sisi client
akan dibentuk suatu soket biasa atau sering disebut dengan socket data. Pada soket
client informasi alamat soket server dilewatkan sebagai argumen dan soket client
akan otomatis mencoba meminta koneksi ke soket server. Pada saat permintaan
koneksi client sampai pada server, maka server akan membuat suatu soket biasa
dengan operasi accept. Soket ini yang nantinya akan berkomunikasi dengan soket
23
pada sisi client. Setelah itu soket server dapat kembali melakukan listen untuk
antara client dan server, maka keduanya dapat saling bertukar pesan. Salah satu atau
Interface) untuk menggunakan socket. Pada gambar 2.8 diatas adalah contoh model
menunjukkan system call yang dibutuhkan untuk membuat aplikasi client server
dengan menggunakan socket, seperti socket(), bind (), listen(), connect(). Secara garis
besar langkah – langkah yang dilakukan pada client dan server adalah sebagai
berikut:
24
perintah listen()
eXchange) adalah standar untuk pertukaran informasi pada Air Traffic Control
(ATC). Asterix ini dibuat oleh European ATC organization Eurocontrol. Asterix
25
sehingga pada saat yang bersamaan dapat mengirimkan lebih dari satu buah data
berformat Asterix. Byte pertama pada pembungkus data Asterix adalah kategori dari
Asterix tersebut, kemudian byte kedua dan ketiga memberikan informasi panjang dari
keseluruhan paket yang dikirimkan. Data berikutnya adalah data Record-1 sampai
data Record-n. Setiap record diawali dengan FSPEC (Field Specification) yang
Data Field adalah sebuah slot yang berisi sebuah data (kumpulan byte) yang
memiliki arti semantik yang bergantung tipe data field tersebut. Sebuah slot data field
dapat berupa 5 kemungkinan tipe data field yaitu : Fixed length data field, Extended
26
length data field, Field Specification data field, Repetitive Data Field dan Compound
Data. Selain fixed length data field, data field lain berisi lebih dari satu buah data
field, sehingga memungkinkan terjadinya rekursi. Dimana didalam sebuah data field
Fixed length data field adalah sebuah data field dimana panjang byte-nya
memiliki panjang 8 byte dimana 4 byte pertama sebagai latitude dan 4 byte
selanjutnya sebagai longitude. Format position yang ditampilkan dalam format WGS-
84.
Extended length data field adalah sebuah field dimana panjang byte-nya
tidak ditetapkan. Untuk menentukan byte selanjutnya dengan melihat bit terakhir
pada data field. Bila bit terakhir bernilai 1 maka byte selanjutnya merupakan satu
kesatuan, sebaliknya bila bernilai 0 maka itu merupakan akhir dari data field.
Field specification data field adalah sebuah data yang berisi lebih dari satu
buah data field tidak sejenis. Keterurutan data field di dalamnya telah diterapkan oleh
spesifikasi Asterix, namun tidak semua data field selalu aktif (berisi nilai 1), untuk
menghemat ruang, data field yang tidak perlu dianggap tidak aktif.
27
specification yang terletak di byte-byte awal. Field Specification adalah daftar isi data
field yang aktif yang merupakan sebuah kumpulan (array) bit-bit biner. Bit ke-n
menunjukkan status keberadaan data field ke-n, bila bit tersebut bernilai 1, maka
dalam pesan tersebut terdapat data untuk data field ke-n. Bit ke-8 pada setiap byte
menyatakan bila bit tersebut bernilai 1, maka byte berikutnya masih merupakan field
spesification, namun bila bit tersebut bernilai 0, maka byte tersebut merupakan akhir
dari field specification dan byte berikutnya merupakan data field pertama. Sebuah
28
Repetitive data field adalah sebuah data field yang berisi n buah data field
sejenis. Nilai n tersebut tersimpan pada byte awal dari repetitive data field.
Tipe compound data field ini sama dengan tipe field specification hanya saja
compound data field terdapat pada data field, sedangkan field specification selalu ada
30
pada setiap record data Asterix. Contoh compound data field seperti terlihat pada
Pada format Asterix-21 byte pertama selalu berisi data 21, kemudian diikuti 2
byte berikutnya yang menyatakan panjang keseluruhan data dari byte pertama sampai
byte terakhir. Byte ke-empat merupakan Field Specification Data Field yang
31
panjangnya tidak tetap, field ini yang menentukan ketersediaan data field yang lain.
Pada tabel dibawah ini merupakan informasi-informasi yang diberikan oleh Asterix-
21 versi 0.26.
(perhatikan gambar 2.10 ) diatas, dan jika bernilai 1 berarti data item yang ditunjuk
32
Berikut dibawah ini adalah contoh satu record data dengan format Asterix-21
versi 0.26. dalam satuan heksadesimal.
15 00 2B FB A3 51 02 00 00 00 20 25 90 83 FF EE 5D 87 01 2E EF 72 8A 18 20 00
06 08 00 58 00 00 03 2E 30 E0 00 00 00 00 00 00 00
Arti dari data tersebut adalah sbb:
15 => bilangan decimalnya 21, yang menunjukkan Data Category = 021 (Asterix-21)
00 2B => bilangan decimalnya 43, yang menunjukkan bahwa panjang data (LEN) 43
oktet
FB A3 51 02 => FSPEC menentukan isi FRN nya seperti tabel dibawah.
Kemudia FRN1 menunjuk ke DataItem-1, FRN2 menunjuk ke DataItem-2, dst.
20 0 - 27 0 -
21 0 - 28 1 FRN 28
FX 1 FX FX 0
informasi spasial berikut data attributnya dengan akurasi kartografi. Alasan SIG
dibutuhkan adalah karena untuk data spasial penanganannya sangat sulit terutama
karena peta dan data statistic cepat kadaluarsa sehingga tidak ada pelayanan
penyediaan data dan informasi yang diberikan menjadi tidak akurat (Charter, 2003,
z Analisa Proximity
Analisa proximity merupakan suatu analisa geografi yang berbasis pada jarak
antar layer. Dalam analisis proximity SIG menggunakan proses yang disebut
tertentu untuk menentukan dekatnya hubungan antara sifat bagian yang ada.
z Analisa Overlay
Proses integrasi data dari lapisan-lapisan layer yang berbeda disebut dengan
overlay. Secara analisa membutuhkan lebih dari satu layer yang akan
34
z Hardware
Ukuran dari sistem komputerisasi bergantung pada tipe SIG itu sendiri.
menjadi besar, dibutuhkan pula komputer yang lebih besar serta host untuk
p9).
z Perangkat Lunak
Sebuah perangkat lunak GIS haruslah menyediakan fungsi dan tool yang
geografis. Sebagai inti dari sistem SIG adalah perangkat lunak dari SIG itu
z Data
Data dalam SIG dibagi atas dua bentuk, yakni data spasial dan data
aspasial. Data spasial adalah data yang terdiri atas lokasi eksplisit suatu
gambaran data yang terdiri atas informasi yang relevan terhadap suatu
z Metode
SIG yang baik memiliki keserasian antara rencana desain yang baik dan
aturan dunia nyata, yaitu metode, model dan implementasi akan berbeda-
2.6.2 MapWindow
MapWindow adalah aplikasi SIG yang bersifat open source, dan distribusi
ulang untuk fungsi-fungsi khusus dan juga disediakan beberapa plug-in yang dapat
diintegrasikan dengan .NET Framework. Map Window bisa digunakan antara lain :
tabel DBF, mengubah bentuk file, dan mengirim serta mengubah Grid.
36
MapWindow GIS sepertinya pada suatu saat nanti akan mampu mengungguli
ArcView, sebab MapWindow GIS juga menyediakan fasilitas scripting seperti halnya
Script Avenue. Fasilitas scripting dalam aplikasi GIS adalah suatu hal yang luar
biasa, sebab dengan fasilitas ini akan memudahkan bagi para developer ataupun
dalam membuat sebuah aplikasi GIS. MapObjects dapat digantikan oleh MapWinGIS
2.7 SDLC
System Development Life Cycle atau yang selanjutnya disebut dengan SDLC
merupakan proses pembuatan dan pengubahan sistem serta model dan metodologi
merujuk pada sistem komputer atau informasi. Dalam rekayasa perangkat lunak,
komponen yang akan dibuat pada sistem. Pada level sistem, keputusan
perlu dibuat untuk mengetahui proses mana yang akan dilakukan oleh user
z Code and test. Pada tahap ini, setiap unit software diubah ke dalam bahasa
memenuhi kebutuhan.
z Qualification testing. Test akan dilakukan terhadap sistem yang baru untuk
z Installation. Tahap ini merupakan proses untuk membuat sistem yang baru
38
pengembang perangkat lunak menggunakan metode apa yang paling cocok dengan
software yang fase – fasenya berurutan. Sebuah fase tidak bisa dikerjakan
perangkat lunak.
2. Terjadi selisih waktu yang cukup lama antara pengajuan sistem dan
pembaharuan sistem.
40
adalah Pengguna dapat menggunakan sistem lebih awal dan juga pengguna
perangkat lunak secara cepat. Metode ini sangat cocok untuk proyek
Programming adalah :
2. Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak
tentu.
2.7.2 UML
Saat ini piranti lunak semakin luas dan besar lingkupnya, sehingga tidak bisa
lagi dibuat asal-asalan. Piranti lunak saat ini seharusnya dirancang dengan
walaupun dalam kondisi yang sulit. Selain itu arsitekturnya harus didefinisikan
dengan jelas, agar bug mudah ditemukan dan diperbaiki, bahkan oleh orang lain
selain programmer aslinya. Keuntungan lain dari perencanaan arsitektur yang matang
pembuatan blueprint pada pembangunan gedung. Membuat model dari sebuah sistem
yang kompleks sangatlah penting karena kita tidak dapat memahami sistem semacam
itu secara menyeluruh. Semakin komplek sebuah sistem, semakin penting pula
dan sebagainya.
Kesuksesan suatu pemodelan piranti lunak ditentukan oleh tiga unsur, yang
kemudian terkenal dengan sebuan segitiga sukses ( the triangle for success ). Ketiga
unsur tersebut adalah metode pemodelan ( notation ), proses ( process ) dan tool yang
digunakan.
(proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan
42
sistem piranti lunak. UML menawarkan sebuah standar untuk merancang model
sebuah sistem. Dengan menggunakan UML kita dapat membuat model untuk semua
jenis aplikasi piranti lunak, dimana aplikasi tersebut dapat berjalan pada piranti keras,
sistem operasi dan jaringan apapun, serta ditulis dalam bahasa pemrograman apapun.
Tetapi karena UML juga menggunakan class dan operation dalam konsep dasarnya,
maka ia lebih cocok untuk penulisan piranti lunak dalam bahasa bahasa berorientasi
objek seperti C++, Java, C# atau VB.NET. Notasi UML merupakan sekumpulan
bentuk khusus untuk menggambarkan berbagai diagram piranti lunak. Setiap bentuk
berikut:
9 class diagram
9 statechart diagram
9 activity diagram
9 sequence diagram
9 collaboration diagram
9 component diagram
9 deployment diagram
43
dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem,
interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan
tertentu, misalnya login ke sistem, meng- create sebuah daftar belanja, dan
tertentu. Diagram Use case dapat membantu bila kita sedang menyusun
dan merancang test case untuk semua fitur yang ada pada sistem. Sebuah use
case dapat meng- include fungsionalitas use case lain sebagai bagian dari
proses dalam dirinya. Secara umum diasumsikan bahwa use case yang di-
include akan dipanggil setiap kali use case yang meng- include dieksekusi
secara normal. Sebuah use case dapat di- include oleh lebih dari satu use
menarik keluar fungsionalitas yang common . Sebuah use case juga dapat
meng- extend use case lain dengan behaviour -nya sendiri. Sementara
hubungan generalisasi antar use case menunjukkan bahwa use case yang
44
deskripsi class, package dan objek beserta hubungan satu sama lain seperti
pokok :
2. Atribut
3. Metoda
class. Dengan demikian interface mendukung resolusi metoda pada saat run-
menjadi package . Kita juga dapat membuat diagram yang terdiri atas
package .
diturunkan dari class lain dan mewarisi semua atribut dan metoda class
generalisasi.
dijelaskan kemudian.
• Statechart Diagram
(dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari
46
class tertentu (satu class dapat memiliki lebih dari satu statechart diagram ).
membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state
sebagai akibat dari event tertentu dituliskan dengan diawali garis miring.
Titik awal dan akhir digambarkan berbentuk lingkaran berwarna penuh dan
berwarna setengah.
• Activity Diagram
Activity diagrams menggambarkan berbagai alir aktivitas dalam sistem
mana sebagian besar state adalah action dan sebagian besar transisi di-
proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah
aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas
paralel ( fork dan join ) digunakan titik sinkronisasi yang dapat berupa titik,
event untuk menghasilkan output tertentu. Diawali dari apa yang men-
trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara
berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya,
48
• Collaboration Diagram
Collaboration diagram juga menggambarkan interaksi antar objek
masing objek dan bukan pada waktu penyampaian message . Setiap message
nomor 1. Messages dari level yang sama memiliki prefiks yang sama.
• Component Diagram
Component diagram menggambarkan struktur dan hubungan antar
antaranya. Komponen piranti lunak adalah modul berisi code , baik berisi
source code maupun binary code , baik library maupun executable , baik
yang muncul pada compile time, link time , maupun run time . Umumnya
komponen terbentuk dari beberapa class dan/atau package , tapi dapat juga
komponen lain.
• Deployment Diagram
Deployment/physical diagram menggambarkan detail bagaimana
terletak (pada mesin, server atau piranti keras apa), bagaimana kemampuan
jaringan pada lokasi tersebut, spesifikasi server, dan hal-hal lain yang
bersifat fisikal Sebuah node adalah server, workstation , atau piranti keras
49