42
8 BAB II LANDASAN TEORI 2.1 ADS-B Automatic Dependent Surveillance Broadcast (ADS-B) adalah teknologi pengamatan (surveillance) yang digunakan untuk memberikan informasi posisi pesawat di udara. Pesawat dilengkapi dengan sebuah transponder ADS-B yang berfungsi untuk mengirimkan informasi secara terus-menerus ke ADS-B receiver yang ada di darat (ADS-B Ground Station). Data ini dipakai untuk menampilkan posisi pesawat secara visual dan informasi lainnya seperti ketinggian, kecepatan, identifikasi pesawat. Selain itu sistem ADS-B memberi keuntungan dibandingkan 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 diartikan per kata artinya sbb: Automatic : pekerjaannya tidak diintervensi oleh manusia Dependent : hasil pengamatan tidak ditentukan oleh pengamat tetapi yang memberikan pengamatan adalah objek tersebut. Surveillance : data yang masuk berupa posisi, ketinggian, kecepatan, arah, dan lain-lain Broadcast : pengiriman tanpa external trigger yang memiliki spesifik address. Keunggulan Sistem ADS-B seperti mengurangi kepadatan komunikasi, memberikan keselamatan dan kewaspadaan pada penerbang, mengurangi penundaan

BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

  • Upload
    donhu

  • View
    216

  • Download
    0

Embed Size (px)

Citation preview

Page 1: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

 

BAB II

LANDASAN TEORI

2.1 ADS-B

Automatic Dependent Surveillance Broadcast (ADS-B) adalah teknologi

pengamatan (surveillance) yang digunakan untuk memberikan informasi posisi

pesawat di udara. Pesawat dilengkapi dengan sebuah transponder ADS-B yang

berfungsi untuk mengirimkan informasi secara terus-menerus ke ADS-B receiver

yang ada di darat (ADS-B Ground Station). Data ini dipakai untuk menampilkan

posisi pesawat secara visual dan informasi lainnya seperti ketinggian, kecepatan,

identifikasi pesawat. Selain itu sistem ADS-B memberi keuntungan dibandingkan

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

diartikan per kata artinya sbb:

Automatic : pekerjaannya tidak diintervensi oleh manusia

Dependent : hasil pengamatan tidak ditentukan oleh pengamat tetapi

yang memberikan pengamatan adalah objek tersebut.

Surveillance : data yang masuk berupa posisi, ketinggian, kecepatan,

arah, dan lain-lain

Broadcast : pengiriman tanpa external trigger yang memiliki spesifik

address.

Keunggulan Sistem ADS-B seperti mengurangi kepadatan komunikasi,

memberikan keselamatan dan kewaspadaan pada penerbang, mengurangi penundaan

Page 2: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

 

 

 

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).

Gambar 2.1 Sistem ADS-B

Asterix‐21

Page 3: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

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

Station di wilayah Indonesia seperti terlihat pada gambar 2.2 dibawah.

Gambar 2.2. Lokasi ADS-B Ground Station di Wilayah Indonesia

2.2 Konkurensi

Pada prosesor tunggal beberapa proses akan dieksekusi secara bergilir

berdasarkan waktu yang disebut waktu Quantum. Pada sistem konkurensi seperti ini

Page 4: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

11 

 

 

 

sebenarnya tidak terjadi pengolahan secara paralel dan akan muncul sejumlah

overhead yang terjadi dalam peralihan dari satu proses ke proses yang lainnya.

Eksekusi secara konkuren dapat memberikan keuntungan yang penting dalam

mencapai efisiensi pengolahan dan dalam penstrukturan program (Stalings, 2003,

p181). Pada gambar 2.3 digambarkan bagaimana proses dijalankan secara simultan.

Gambar 2.3 Interleaving ( pada prosesor tunggal )

2.2.1 Multi Proses

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

memiliki virtual CPU masing-masing. Tetapi pada kenyataannya CPU sebenarnya

mengolah secara bergantian dari satu proses ke proses yang lain. Terkadang beberapa

orang menyebutnya adalah pseudoparallelism (Tanenbaum, 2009, p82).

Page 5: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

12 

 

Sistem operasi mendukung multitasking yang mampu mengelola dan

mengontrol lebih dari satu proses. Dalam proses pengelolaannya sistem operasi

tersebut melakukan penjadwalan proses. Kadang kadang beberapa proses

membutuhkan interaksi dengan proses yang lain. Proses mungkin membuat suatu

output yang digunakan proses lain sebagai input.

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

dihentikan karena Sistem Operasi memutuskan untuk mengalokasikan CPU 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

Blocked Ready

1

3

4

2

Gambar 2.4 Status Proses

Pada gambar 2.4 anak panah menunjukkan transisi antara state pada proses.

Berikut adalah deskripsi dari masing-masing transisi :

1. Proses diblok hingga mendapatkan input.

2. Scheduler mengambil proses yang lain.

3. Scheduler menjalankan proses.

Page 6: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

13 

 

 

 

4. Input sudah dimasukkan, sehingga proses siap untuk dijalankan.

Routine1 var1()var2()

Main()routine1()routine2()

ArrayAArrayB

Stack

Text

Heap

Data

User Address Space

Stack Pointer Prgm. Counter

Registers

Process IDGroup IDUser ID

File LocksSockets

Gambar 2.5 Skema umum sebuah proses

Bila dilihat dari sudut pandang sistem operasi, sebuah proses memiliki sifat-

sifat sebagai berikut (Stallings, 2003, p140) :

1. Setiap proses memiliki user address space. User address space proses

terdiri atas segmen text, segmen data, segmen stack, dan segmen heap.

2. Sebuah proses memiliki sebuah image dari kode-kode biner sebuah

perangkat lunak yang akan dieksekusi. Image tersebut tersimpan pada

segmen text pada user address space milik proses

3. Sebuah proses memiliki variable global yang tersimpan pada segmen

data.

Page 7: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

14 

 

4. Sebuah proses memiliki jatah memori yang bersifat privat yang dapat

dialokasikan untuk kebutuhan melacak subrutin yang aktif dan

menyimpan data temporer di segmen stack dan untuk menyimpan data

yang teralokasi pada saat runtime di segmen heap. Memori yang

disediakan dapat berupa memori virtual maupun nyata.

5. Sebuah proses memiliki descriptor sumber daya yang dimiliki seperti

deskriptor file, deskriptor socket, deskriptor shared memory, dll.

6. Sebuah proses memiliki atribut keamanan yang diberikan oleh system

operasi pada saat proses berjalan seperti pemilik proses, identifikasi

proses (pid), dll.

7. Sebuah proses memiliki status proses, yaitu penanda bahwa proses

terdapat di register system operasi bila proses aktif, atau di memori sistem

bila proses tidak aktif.

8. Proses dapat melakukan komunikasi dan sharing resource dengan proses

lain dalam komputer yang sama dengan menggunakan mekanisme

komunikasi antar proses namun menyebabkan perlunya mekanisme

sinkronisasi proses.

Dalam lingkungan sistem operasi multitasking dikenal adanya istilah 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

Page 8: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

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,

proses utama tersebut dikenal dengan System32.

2.2.2 Multi Thread

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

dari satu tugas pada satu waktu (Silberschatz, 2005)

Page 9: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

16 

 

Gambar 2.6 Skema umum thread

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

memiliki thread of execution, yang biasanya disingkat menjadi thread. Thread

memiliki program counter yang mengatur intruksi yang dieksekusi berikutnya.

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

Page 10: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

17 

 

 

 

menggabungkan sumber daya sedangkan thread adalah entitas yang melakukan

penjadwalan untuk eksekusi yang dilakukan oleh CPU (Tanenbaum, 2009, p98-99).

Sistem operasi komputer modern memungkinkan berjalannya lebih dari satu

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

mengantri untuk mendapatkan giliran.

2.2.3 Pemrograman Konkuren

Program konkuren adalah dua atau lebih program sekuensial yang mungkin

dieksekusi secara bersama-sama sebagai proses paralel. Sedangkan pemrograman

konkuren adalah proses memrogram dua atau lebih kode agar kode-kode tersebut

dapat dieksekusi pada saat yang bersamaan.

Jika kode program yang hendak dieksekusi secara simultan berada di

beberapa komputer disebut distributed computing. Jika kode program berada di

komputer yang sama disebut single computing, yang memanfaatkan fasilitas

konkurensi semu pada sistem operasi. Pemrograman konkuren dalam single

computing dapat diterapkan menjadi pemrograman multiproses dan pemrograman

multithread.

2.2.4 Pemrograman Multi Proses

Untuk menciptakan sebuah proses anak pada sistem operasi Unix digunakan

Page 11: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

18 

 

system call fork(), kemudian menyalin semua sumber daya proses orang tua (parent

process) kepada proses baru tersebut, proses anak (child process) yang telah

terciptakan dapat digunakan untuk mengeksekusi baris-baris kode perangkat lunak

lainnya.

Sedangkan dalam Sistem Operasi Windows, system call yang bersesuaian

adalah CreateProcess(), walaupun terdapat sedikit perbedaan diantara keduanya

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

maka proses anak akan mati.

Agar suatu proses dapat berkomunikasi dengan proses yang lain diperlukan

mekanisme komunikasi antar proses / Inter Process Communication (IPC). IPC dapat

berupa mengakses file bersama-sama, menggunakan shared memory, menggunakan

pipe atau menggunakan socket.

2.2.5 Pemrograman Multi Thread

Multithread berkaitan dengan kemampuan sistem operasi untuk mendukung

sejumlah thread dieksekusi di dalam sebuah proses tunggal. Pada Windows

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

Page 12: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

19 

 

 

 

dijalankan di satu AppDomain tidak dapat diakses oleh AppDomain yang lain (Evjen,

2008, p1047).

Dalam pemrograman multithread terdapat tahapan-tahapan yang berhubungan

dengan status thread yang dikelola. Contoh tahapan-tahapan untuk kasus dua thread

yang berjalan bersama-sama (konkuren), kemudian di tengah perjalanan salah satu

thread menunggu thread lainnya selesai, dapat dilihat pada tabel 2.1

Tabel 2.1 - Contoh Tahapan-Tahapan Untuk Kasus Dua Thread

No. Thread Utama1. Thread utama membuat dan menjalankan 2 buah thread. Thread utama aktif Thread 1 Thread 2

2. Thread 1 melakukan proses pembuatan (Create).

Thread 2 melakukan proses pembuatan (Create).

3. Thread 1 melakukan proses Join terhadap thread 2, thread 1 menunggu hingga thread 2 selesai

Thread 2 Aktif

4. Thread 2 selesai, memberitahukan ke thread 1 bahwa telah selesai.

Thread 1 menerima pemberitahuan thread 2 bahwa telah selesai, thread 1 kembali aktif.

5. Thread 1 selesai

2.2.6 Sinkronisasi Multi Thread

Pemrograman multithread membutuhkan sebuah mekanisme sinkronisasi

antar thread. Sinkronisasi dibutuhkan untuk mencegah dua buah thread mengakses

data atau sumber daya kritis pada saat yang bersamaan. Ada beberapa mekanisme

sinkronisasi multithread seperti mutex, semaphore, variable condition, dll.

Page 13: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

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,

terutama untuk multithread yang diimplementasikan pada proses yang sama

(Tanenbaum, 2009, p129).

Mutex adalah sebuah variable yang hanya memiliki dua kondisi yaitu:

unlocked atau locked. Oleh karena itu hanya 1 bit yang dibutuhkan untuk

menampung mutex, tetapi pada implementasi sering digunakan integer, dimana 0

berarti unlocked dan nilai yang lain berarti locked. Ketika sebuah thread melakukan

akses ke critical region, prosedur tersebut memanggil mutex_lock (Pada .NET

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

thread pada pemrograman multithread.

Tabel 2.2 - Contoh Sinkronisasi Antar Dua thread

No. Thread Utama 1. Thread utama aktif, Thread utama membuat sebuah objek mutex yang akan

dipakai bersama-sama oleh semua thread. Thread utama membuat dan menjalankan 2 buah thread

Thread 1 Mutex Thread 2 2. Thread 1 aktif Thread 2 Aktif 3. Thread 1 melakukan

proses Lock terhadap mutex.

Dipegang Thread 1 (Locked)

Thread 2 Aktif

4. Thread 1 Aktif Dipegang Thread 1 (Locked)

Thread 2 ingin mengakses Critical Region tetapi mutex statusnya Locked

Page 14: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

21 

 

 

 

maka thread 2 harus menunggu.

5. Thread 1 melakukan proses Unlock terhadap mutex dan keluar dari Critical Region

Thread 2 mengakses Critical Region

6. Dipegang Thread 2 (Locked)

Thread 2 melakukan proses Lock terhadap mutex. Thread 2 aktif

7. Thread 1 selesai Thread 1 melakukan proses Unlock terhadap mutex dan keluar dari Critical Region. Thread 2 selesai

8. Thread utama menghapus objek mutex

2.3 Pemrograman Socket

Socket adalah mekanisme komunikasi yang memungkinkan terjadinya

pertukaran data antar program atau proses baik dalam satu mesin maupun antar

mesin. Gaya pemrograman socket sendiri berawal dari sistem Unix BSD yang

terkenal dengan kepeloporannya pada bidang penanganan jaringan, sehingga sering

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

dan Linux mengadopsi BSD socket.

Linux menggunakan paradigm open-read-write-close. Sebagai contoh, suatu

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

Page 15: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

22 

 

aplikasi yang digunakan. Model InterProcess Communication (IPC) dengan

menggunakan socket bisa dilihat dalam gambar 2.7 dibawah.

Gambar 2.7 Model IPC dengan soket

2.3.1 Model Aplikasi Client Server

Model aplikasi yang menggunakan komunikasi soket dengan protokol TCP

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

Page 16: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

23 

 

 

 

pada sisi client. Setelah itu soket server dapat kembali melakukan listen untuk

menunggu permintaan koneksi dari client lainnya, jika aplikasi server

mengimplementasikan multithreading atau multiprocess. Setelah tercipta koneksi

antara client dan server, maka keduanya dapat saling bertukar pesan. Salah satu atau

keduanya kemudian dapat mengakhiri komunikasi dengan menutup soket.

Gambar 2.8 Model Aplikasi Client / Server pada protokol TCP

Didalam bahasa pemrograman umumnya sudah disediakan API (Application Program

Interface) untuk menggunakan socket. Pada gambar 2.8 diatas adalah contoh model

aplikasi Client Server dengan menggunakan bahasa C di Linux. Di dalam kotak

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:

Page 17: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

24 

 

1. Langkah – langkah dasar di client :

a) Membuka koneksi client ke server, yang di dalamnya adalah:

• Membuat socket dengan perintah socket()

• Melakukan koneksi dengan server dengan perintah connect()

b) Melakukan komunikasi (mengirim dan menerima data) dengan

menggunakan perintah write() dan read().

c) Menutup hubungan dengan perintah close().

2. Langkah – langkah dasar di server :

a) Membuat socket dengan perintah socket()

b) Mengikat socket kepada sebuah alamat network dengan perintah bind()

c) Menyiapkan socket untuk menerima koneksi yang masuk ke server dengan

perintah listen()

d) Menerima koneksi yang masuk ke server dengan perintah accept()

e) Melakukan komunikasi (mengirim dan menerima data), dengan

menggunakan perintah write() dan read()

f) Menutup hubungan dengan perintah close().

2.4 Format Data Asterix

Asterix (All purpose STructured Eurocontrol suRveillance Information

eXchange) adalah standar untuk pertukaran informasi pada Air Traffic Control

(ATC). Asterix ini dibuat oleh European ATC organization Eurocontrol. Asterix

Page 18: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

25 

 

 

 

dapat dikategorikan dalam beberapa kategori, masing-masing kategori dapat

memberikan informasi tertentu. Asterix yang dikirimkan adalah kumpulan bytes,

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

menentukan jumlah data field yang dikirim.

 

Gambar 2.9 Data Block Structure

2.4.1 Struktur Data Asterix

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

Page 19: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

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

terdapat data field yang lain.

2.4.1.1 Fixed Length Data Field

Fixed length data field adalah sebuah data field dimana panjang byte-nya

sudah ditetapkan oleh Eurocontrol. Contohnya adalah "Position co-ordinates"

memiliki panjang 8 byte dimana 4 byte pertama sebagai latitude dan 4 byte

selanjutnya sebagai longitude. Format position yang ditampilkan dalam format WGS-

84.

2.4.1.2 Extended Length Data Field

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.

 

2.4.1.3 Field Specification 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.

Page 20: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

27 

 

 

 

Untuk menentukan data fields yang aktif digunakan sebuah field

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

record Asterix merupakan sebuah field specification field.

Page 21: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

28 

 

 

Gambar 2.10 Struktur FSPEC dan Contoh Isi Data FSPEC

Page 22: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

29 

 

 

 

2.4.1.4 Repetitive Data Field

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.

 

Gambar 2.11 Standard Data Fields Types

2.4.1.5 Compound 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

Page 23: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

30 

 

pada setiap record data Asterix. Contoh compound data field seperti terlihat pada

gambar 2.12 dibawah.

Gambar 2.12 Compound Data Field Type

2.5 Tipe Data Asterix-21

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

Page 24: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

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.

Nilai FRN (Field Refference Number) ditentukan oleh nilai FSPEC

(perhatikan gambar 2.10 ) diatas, dan jika bernilai 1 berarti data item yang ditunjuk

oleh FRN tersebut ada dalam paket data Asterix-21.

Tabel 2.3 - Asterix-21

Page 25: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

32 

 

Gambar 2.13 Contoh Data Item

2.5.1 Contoh Data Asterix

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.

Tabel 2.4 - Isi FSPEC Bit Number Nilai Biner FRN Bit Number Nilai Biner FRN

1 1 FRN 1 8 1 FRN 8 2 1 FRN 2 9 0 - 3 1 FRN 3 10 1 FRN 10 4 1 FRN 4 11 0 - 5 1 FRN 5 12 0 - 6 0 - 13 0 - 7 1 FRN 7 14 1 FRN 14

FX 1 FX FX 1 FX 15 0 - 22 0 - 16 1 FRN 16 23 0 - 17 0 - 24 0 - 18 1 FRN 18 25 0 - 19 0 - 26 0 -

Page 26: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

33 

 

 

 

20 0 - 27 0 - 21 0 - 28 1 FRN 28 FX 1 FX FX 0

2.6 Sistem Informasi Geografis

Sistem Informasi Geografi (SIG) merupakan kombinasi perangkat keras dan

perangkat lunak komputer yang memungkinkan untuk mengelola, memtakan

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,

p6-7). Berikut adalah dua keistimewaan analisa melalui Geographical Information

System (GIS), yaitu :

Analisa Proximity

Analisa proximity merupakan suatu analisa geografi yang berbasis pada jarak

antar layer. Dalam analisis proximity SIG menggunakan proses yang disebut

dengan buffering (membangun lapisan pendukung sekitar layer dalam jarak

tertentu untuk menentukan dekatnya hubungan antara sifat bagian yang ada.

Analisa Overlay

Proses integrasi data dari lapisan-lapisan layer yang berbeda disebut dengan

overlay. Secara analisa membutuhkan lebih dari satu layer yang akan

ditumpang susun secara fisik agar bisa dianalisa secara visual.

Page 27: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

34 

 

2.6.1 Komponen Sistem Informasi Geografis

Komponen-komponen SIG terdiri dari :

Hardware

SIG membutuhkan komputer untuk penyimpanan dan pemrosesan data.

Ukuran dari sistem komputerisasi bergantung pada tipe SIG itu sendiri.

SIG dengan skala yang lebih kecil hanya membutuhkan PC (personal

computer) yang kecil pula untuk menjalankannya, namun ketika sistem

menjadi besar, dibutuhkan pula komputer yang lebih besar serta host untuk

client machine yang mendukung penggunaan multiple user (Charter, 2003,

p9).

Perangkat Lunak

Sebuah perangkat lunak GIS haruslah menyediakan fungsi dan tool yang

mampu melakukan penyimpanan data, analisis dan menampilkan informasi

geografis. Sebagai inti dari sistem SIG adalah perangkat lunak dari SIG itu

sendiri yang menyediakan fungsi-fungsi untuk penyimpanan, pengaturan,

link, queri, dan analisa data geografi(Charter, 2003, p10).

Data

Data dalam SIG dibagi atas dua bentuk, yakni data spasial dan data

aspasial. Data spasial adalah data yang terdiri atas lokasi eksplisit suatu

grografi yang diset ke dalam bentuk koordinat. Data aspasial adalah

gambaran data yang terdiri atas informasi yang relevan terhadap suatu

lokasi, seperti kedalama, ketinggian, lokasi penjualan, dan lain-lain dan

Page 28: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

35 

 

 

 

bisa dihubngkan dengan lokasi tertentu dengan maksud untuk memberikan

identifikasi (Charter, 2003, p10).

Metode

SIG yang baik memiliki keserasian antara rencana desain yang baik dan

aturan dunia nyata, yaitu metode, model dan implementasi akan berbeda-

beda untuk setiap permasalahan. Pada beberapa organisasi penggunaan SIG

dapat dalam bentuk dan standar tersendiri untuk metode analisisnya

(Charter, 2003, p11).

2.6.2 MapWindow

MapWindow adalah aplikasi SIG yang bersifat open source, dan distribusi

MapWindow berdasarkan Mozilla Public License. MapWindow dapat diprogram

ulang untuk fungsi-fungsi khusus dan juga disediakan beberapa plug-in yang dapat

diintegrasikan dengan .NET Framework. Map Window bisa digunakan antara lain :

1. Sebagai salah satu alternatif pengolah data sistem informasi geografis.

2. Untuk mendistribusikan data-data geografis.

3. Untuk mengembangkan dan mendistribusikan hasil dari analisis data spasial.

Kelebihan Mapwindow antara lain :

Mapwindow bukan hanya digunakan untuk menampilkan data SIG, tetapi

juga sebagai sistem informasi geografis yang dapat dikembangkan.

Mapwindow memiliki visualisasi data SIG yang standar seperti mengubah

tabel DBF, mengubah bentuk file, dan mengirim serta mengubah Grid.

Page 29: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

36 

 

Mapwindow dapat didistribusikan secara Gratis.

Mapwindow mudah digunakan bila dibanding dengan apliksi SIG lainnya.

Kekurangan Mapwindow antara lain :

Mapwindow tidak kompatibel pada semua Sistem operasi, pada sistem

operasi tertentu, mapwindow tidak dapat dijalankan.

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

pengguna untuk membuat sebuah plugin/ekstension tambahan untuk mempermudah

kerja mereka. MapWindow sudah mampu menggantikan keberadaan MapObjects

dalam membuat sebuah aplikasi GIS. MapObjects dapat digantikan oleh MapWinGIS

ActiveX atau MapWinGIS.NET.

2.7 SDLC

System Development Life Cycle atau yang selanjutnya disebut dengan SDLC

merupakan proses pembuatan dan pengubahan sistem serta model dan metodologi

yang digunakan untuk mengembangkan sistem-sistem tersebut. Konsep ini umumnya

merujuk pada sistem komputer atau informasi. Dalam rekayasa perangkat lunak,

konsep SDLC mendasari berbagai jenis metodologi pengembangan perangkat lunak.

Metodologi-metodologi ini membentuk suatu kerangka kerja untuk perencanaan dan

pengendalian proses pengembangan perangkat lunak.

Page 30: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

37 

 

 

 

Beberapa langkah SDLC adalah : (Hughes & Cotterell, 2006, p6-7)

Requirement analysis. Dimulai dengan mencari tahu apa yang dibutuhkan

oleh user pada sistem yang ingin dibuat.

Architecture design. Tahap ini memetakan kebutuhan ke komponen-

komponen yang akan dibuat pada sistem. Pada level sistem, keputusan

perlu dibuat untuk mengetahui proses mana yang akan dilakukan oleh user

dan yang dapat dikomputerisasi.

Detailed design. Setiap komponen software dibuat dari beberapa unit

software yang dapat diprogram dan di test secara terpisah.

Code and test. Pada tahap ini, setiap unit software diubah ke dalam bahasa

mesin melalui proses coding. Testing awal dilakukan untuk memastikan

kerja setiap unit software dilakukan tahap ini.

Integration. Masing-masing komponen akan dikumpulkan menjadi satu

dan ditest untuk melihat apakah keseluruhan komponen tersebut telah

memenuhi kebutuhan.

Qualification testing. Test akan dilakukan terhadap sistem yang baru untuk

memastikan bahwa semua kebutuhan telah terpenuhi.

Installation. Tahap ini merupakan proses untuk membuat sistem yang baru

beroperasi secara baik pada lingkungan user. Proses ini termasuk

menginstall software pada hardware platform user, melakukan setting pada

parameter sistem, dan pelatihan kepada user.

Page 31: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

38 

 

Acceptance support. Aktifitas dalam tahap ini termasuk menyelesaikan

masalah-masalah yang mungkin timbul pada sistem yang baru ataupun

melakukan penambahan fasilitas pada sistem yang baru

2.7.1 Metodologi Pengembangan Sistem

System Development Methodology adalah suatu rangkaian langkah untuk

mengimplementasikan SLDC itu sendiri. Dalam dunia rekayasa perangkat lunak

terdapat beberapa metodologi dalam menerapkan SLDC diantaranya :

1. Waterfall Development Methodology

2. Parallel Development Methodology

3. Rapid Application Development

4. Agile Development: Extreme Programming

Semua metodelogi mempunyai kelebihan dan kekurangan, tergantung pada kelompok

pengembang perangkat lunak menggunakan metode apa yang paling cocok dengan

kondisi lingkungan pengembangan perangkat lunak tersebut.

A. Waterfall Development Methodology

Waterfall Development Methodology merupakan suatu cara pengembangan

software yang fase – fasenya berurutan. Sebuah fase tidak bisa dikerjakan

sebelum fase sebelumnya telah selesai dikerjakan. Kelebihan dari Waterfall

Development Methodology adalah :

1. Proses pengidentifikasian sistem memerlukan waktu yang lama sebelum

fase programming dimulai.

Page 32: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

39 

 

 

 

2. Meminimalisasi pengubahan sistem pada saat proses pengembangan

perangkat lunak.

Kekurangan dari Waterfall Development Methodology adalah :

1. Fase perencanaan / design harus dilakukan pada paper yang khusus

sebelum fase programming dimulai.

2. Terjadi selisih waktu yang cukup lama antara pengajuan sistem dan

pembaharuan sistem.

B. Parallel Development Methodology

Parallel Development Methodology merupakan suatu cara pada SDLC yang

melakukan fase design dan implementation secara paralel. Kelebihan dari

Parallel Development Methodology adalah : Meminimalisasi waktu

penjadwalan dan Meminimalisasi kesempatan untuk dikerjakan ulang.

Kekurangan dari Parallel Development Methodology adalah : Masih

menggunakan dokument di kertas, dan pada saat menggabungkan subproyek

memerlukan suatu keahlian yang khusus, biasanya banyak terjadi kegagalan

pada saat proses penggabungannya

C. Rapid Application Development

Rapid Application Development merupakan suatu cara penerapan SDLC

dengan membuat suatu software prototype terlebih dahulu dan kemudian

dipresentasikan ke costumer. Jika costumer menyetujuinya, maka software

akan dikembangkan lebih lanjut. Kelebihan Rapid Application Development

Page 33: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

40 

 

adalah Pengguna dapat menggunakan sistem lebih awal dan juga pengguna

dapat merencanakan beberpa tambahan untuk versi setelahnya. Kekurangan

Rapid Application Development adalah pengguna bekerja dengan sistem yang

sebenarnya belum selesai secara keseluruhan

D. Agile Development: Extreme Programming

Agile Development: Extreme Programming merupakan suatu pengerjaan

perangkat lunak secara cepat. Metode ini sangat cocok untuk proyek

perangkat lunak yang membutuhkan waktu lebih instan dalam

pengembangannya. Kelebihan dari Agile Development: Extreme

Programming adalah :

1. Hasil bisa didapat dalam waktu yang sangat cepat.

2. Bekerja lebih baik dalam projek dengan tidak ada perubahan yang tak

tentu.

Kekurangan dari Agile Development: Extreme Programming adalah :

1. Membutuhkan kedisiplinan tinggi

2. Tepat hanya jika dilakukan di projek kecil

3. Membutuhkan lebih banyak inputan dari pengguna

 

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

memperhatikan hal-hal seperti scalability, security, dan eksekusi yang robust

Page 34: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

41 

 

 

 

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

adalah dimungkinkannya penggunaan kembali modul atau komponen untuk aplikasi

piranti lunak lain yang membutuhkan fungsionalitas yang sama.

Pemodelan (modeling) adalah proses merancang piranti lunak sebelum

melakukan pengkodean ( coding ). Model piranti lunak dapat dianalogikan seperti

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

penggunaan teknik pemodelan yang baik. Dengan menggunakan model, diharapkan

pengembangan piranti lunak dapat memenuhi semua kebutuhan pengguna dengan

lengkap dan tepat, termasuk faktor-faktor seperti scalability, robustness, security ,

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.

Memahami notasi pemodelan tanpa mengetahui cara pemakaian yang sebenarnya

(proses) akan membuat proyek gagal. Dan pemahaman terhadap metode pemodelan

dan proses disempurnakan dengan penggunaan tool yang tepat.

Page 35: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

42 

 

Unified Modelling Language (UML) adalah sebuah “bahasa” yg telah

menjadi standar dalam industri untuk visualisasi, merancang dan mendokumentasikan

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

memiliki makna tertentu, dan UML syntax mendefinisikan bagaimana bentuk-bentuk

tersebut dapat dikombinasikan. UML mendefinisikan diagram-diagram sebagai

berikut:

use case diagram

class diagram

statechart diagram

activity diagram

sequence diagram

collaboration diagram

component diagram

deployment diagram

Page 36: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

43 

 

 

 

• Diagram Use Case

Diagram Use case menggambarkan fungsionalitas yang diharapkan

dari sebuah sistem. Yang ditekankan adalah “apa” yang diperbuat sistem,

dan bukan “bagaimana”. Sebuah use case merepresentasikan sebuah

interaksi antara aktor dengan sistem. Use case merupakan sebuah pekerjaan

tertentu, misalnya login ke sistem, meng- create sebuah daftar belanja, dan

sebagainya. Seorang/sebuah aktor adalah sebuah entitas manusia atau mesin

yang berinteraksi dengan sistem untuk melakukan pekerjaan-pekerjaan

tertentu. Diagram Use case dapat membantu bila kita sedang menyusun

requirement sebuah sistem, mengkomunikasikan rancangan dengan klien,

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

case lain, sehingga duplikasi fungsionalitas dapat dihindari dengan cara

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

satu merupakan spesialisasi dari yang lain.

Page 37: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

44 

 

• Diagram Kelas (Class Diagram)

Class adalah sebuah spesifikasi yang jika diinstansiasi akan

menghasilkan sebuah objek dan merupakan inti dari pengembangan dan

desain berorientasi objek. Class menggambarkan keadaan (atribut/properti)

suatu sistem, sekaligus menawarkan layanan untuk memanipulasi keadaan

tersebut (metoda/fungsi). Class diagram menggambarkan struktur dan

deskripsi class, package dan objek beserta hubungan satu sama lain seperti

containment , pewarisan, asosiasi, dan lain-lain. Class memiliki tiga area

pokok :

1. Nama (dan stereotype)

2. Atribut

3. Metoda

Atribut dan metoda dapat memiliki salah satu sifat berikut :

• Private , tidak dapat dipanggil dari luar class yang bersangkutan

• Protected , hanya dapat dipanggil oleh class yang bersangkutan

dan anak-anak yang mewarisinya

• Public , dapat dipanggil oleh siapa saja

Class dapat merupakan implementasi dari sebuah interface , yaitu class

abstrak yang hanya memiliki metoda. Interface tidak dapat langsung

diinstansiasikan, tetapi harus diimplementasikan dahulu menjadi sebuah

class. Dengan demikian interface mendukung resolusi metoda pada saat run-

time. Sesuai dengan perkembangan class model, class dapat dikelompokkan

Page 38: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

45 

 

 

 

menjadi package . Kita juga dapat membuat diagram yang terdiri atas

package .

Hubungan Antar Class

1. Asosiasi, yaitu hubungan statis antar class . Umumnya

menggambarkan class yang memiliki atribut berupa class lain, atau

class yang harus mengetahui eksistensi class lain. Panah navigability

m enunjukkan arah query antar class .

2. Agregasi, yaitu hubungan yang menyatakan bagian (“terdiri atas..”).

3. Pewarisan, yaitu hubungan hirarkis antar class . Class dapat

diturunkan dari class lain dan mewarisi semua atribut dan metoda class

asalnya dan menambahkan fungsionalitas baru, sehingga ia disebut

anak dari class yang diwarisinya. Kebalikan dari pewarisan adalah

generalisasi.

4. Hubungan dinamis, yaitu rangkaian pesan ( message ) yang di- passing

dari satu class kepada class lain. Hubungan dinamis dapat

digambarkan dengan menggunakan sequence diagram yang akan

dijelaskan kemudian.

• Statechart Diagram

Statechart diagram menggambarkan transisi dan perubahan keadaan

(dari satu state ke state lainnya) suatu objek pada sistem sebagai akibat dari

Page 39: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

46 

 

stimuli yang diterima. Pada umumnya statechart diagram menggambarkan

class tertentu (satu class dapat memiliki lebih dari satu statechart diagram ).

Dalam UML, state digambarkan berbentuk segiempat dengan sudut

membulat dan memiliki nama sesuai kondisinya saat itu. Transisi antar state

umumnya memiliki kondisi guard yang merupakan syarat terjadinya transisi

yang bersangkutan, dituliskan dalam kurung siku. Action yang dilakukan

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

yang sedang dirancang, bagaimana masing-masing alir berawal, decision

yang mungkin terjadi, dan bagaimana mereka berakhir. Activity diagram

juga dapat menggambarkan proses paralel yang mungkin terjadi pada

beberapa eksekusi. Activity diagram merupakan state diagram khusus, di

mana sebagian besar state adalah action dan sebagian besar transisi di-

trigger oleh selesainya state sebelumnya ( internal processing ). Oleh karena

itu activity diagram tidak menggambarkan behaviour internal sebuah sistem

(dan interaksi antar subsistem) secara eksak, tetapi lebih menggambarkan

proses-proses dan jalur-jalur aktivitas dari level atas secara umum. Sebuah

aktivitas dapat direalisasikan oleh satu use case atau lebih. Aktivitas

menggambarkan proses yang berjalan, sementara use case menggambarkan

bagaimana aktor menggunakan sistem untuk melakukan aktivitas. Sama

Page 40: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

47 

 

 

 

seperti state , standar UML menggunakan segiempat dengan sudut membulat

untuk menggambarkan aktivitas. Decision digunakan untuk menggambarkan

behaviour pada kondisi tertentu. Untuk mengilustrasikan proses-proses

paralel ( fork dan join ) digunakan titik sinkronisasi yang dapat berupa titik,

garis horizontal atau vertikal. Activity diagram dapat dibagi menjadi

beberapa object swimlane untuk menggambarkan objek mana yang

bertanggung jawab untuk aktivitas tertentu.

• Diagram Interaksi (Sequence Diagram)

Sequence diagram menggambarkan interaksi antar objek di dalam dan

di sekitar sistem (termasuk pengguna, display , dan sebagainya) berupa

message yang digambarkan terhadap waktu. Sequence diagram terdiri atar

dimensi vertikal (waktu) dan dimensi horizontal (objek-objek yang terkait).

Sequence diagram biasa digunakan untuk menggambarkan skenario atau

rangkaian langkah-langkah yang dilakukan sebagai respons dari sebuah

event untuk menghasilkan output tertentu. Diawali dari apa yang men-

trigger aktivitas tersebut, proses dan perubahan apa saja yang terjadi secara

internal dan output apa yang dihasilkan. Masing-masing objek, termasuk

aktor, memiliki lifeline vertikal. Message digambarkan sebagai garis

berpanah dari satu objek ke objek lainnya. Pada fase desain berikutnya,

message akan dipetakan menjadi operasi/metoda dari class . Activation bar

Page 41: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

48 

 

menunjukkan lamanya eksekusi sebuah proses, biasanya diawali dengan

diterimanya sebuah message.

• Collaboration Diagram Collaboration diagram juga menggambarkan interaksi antar objek

seperti sequence diagram , tetapi lebih menekankan pada peran masing-

masing objek dan bukan pada waktu penyampaian message . Setiap message

memiliki sequence number , di mana message dari level tertinggi memiliki

nomor 1. Messages dari level yang sama memiliki prefiks yang sama.

• Component Diagram Component diagram menggambarkan struktur dan hubungan antar

komponen piranti lunak, termasuk ketergantungan ( dependency ) di

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

dari komponen-komponen yang lebih kecil. Komponen dapat juga berupa

interface , yaitu kumpulan layanan yang disediakan sebuah komponen untuk

komponen lain.

• Deployment Diagram Deployment/physical diagram menggambarkan detail bagaimana

komponen di- deploy dalam infrastruktur sistem, di mana komponen akan

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

Page 42: BAB II LANDASAN TEORI · 2012-04-26 · tersebut ke ADS-B Receiver atau ADS-B Ground Station. ... menggabungkan semua maka terbentuklah sebuah proses agar sumber daya yang ... Sinkronisasi

49 

 

 

 

lain yang digunakan untuk men- deploy komponen dalam lingkungan

sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat

juga didefinisikan dalam diagram ini.