• Tidak ada hasil yang ditemukan

BAB II LANDASAN TEORI

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II LANDASAN TEORI"

Copied!
42
0
0

Teks penuh

(1)

8   

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

(2)

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

(3)

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

(4)

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

(5)

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.

(6)

4. Input sudah dimasukkan, sehingga proses siap untuk dijalankan. Routine1 var1() var2() Main() routine1() routine2() ArrayA ArrayB Stack Text Heap Data

User Address Space

Stack Pointer Prgm. Counter Registers Process ID Group ID User ID File Locks Sockets

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.

(7)

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

(8)

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)

(9)

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

(10)

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

(11)

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

(12)

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 Utama 1. 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.

(13)

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

(14)

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

(15)

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

(16)

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:

(17)

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

(18)

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

(19)

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.

(20)

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.

(21)

  Gambar 2.10 Struktur FSPEC dan Contoh Isi Data FSPEC

(22)

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

(23)

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

(24)

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.

(25)

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 -

(26)

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 :

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

(27)

2.6.1 Komponen Sistem Informasi Geografis

Komponen-komponen SIG terdiri dari : z 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).

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

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

(28)

bisa dihubngkan dengan lokasi tertentu dengan maksud untuk memberikan identifikasi (Charter, 2003, p10).

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

(29)

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

(30)

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

z Requirement analysis. Dimulai dengan mencari tahu apa yang dibutuhkan

oleh user pada sistem yang ingin dibuat.

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

z Detailed design. Setiap komponen software dibuat dari beberapa unit

software yang dapat diprogram dan di test secara terpisah.

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

z Integration. Masing-masing komponen akan dikumpulkan menjadi satu

dan ditest untuk melihat apakah keseluruhan komponen tersebut telah memenuhi kebutuhan.

z Qualification testing. Test akan dilakukan terhadap sistem yang baru untuk memastikan bahwa semua kebutuhan telah terpenuhi.

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

(31)

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

(32)

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

(33)

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

(34)

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.

(35)

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:

9 use case diagram

9 class diagram 9 statechart diagram 9 activity diagram 9 sequence diagram 9 collaboration diagram 9 component diagram 9 deployment diagram

(36)

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.

(37)

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

(38)

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

(39)

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

(40)

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,

(41)

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

(42)

lain yang digunakan untuk men- deploy komponen dalam lingkungan

sebenarnya. Hubungan antar node (misalnya TCP/IP) dan requirement dapat juga didefinisikan dalam diagram ini.

Gambar

Gambar 2.1  Sistem ADS-B Asterix‐21
Gambar 2.2.  Lokasi ADS-B Ground Station di Wilayah Indonesia
Gambar 2.3  Interleaving ( pada prosesor tunggal )
Gambar 2.4 Status Proses
+7

Referensi

Dokumen terkait

rumus struktur (gugus fungsi), tata-nama, sifat, identifikasi dan kegunaan senyawa-  senyawa alkanol dan alkoksi alkana yang digunakan dalam kehiduan sehari-hari  penjelasan

17.1 Semua peserta yang lulus pembuktian kualifikasi dimasukkan oleh Panitia Pengadaan ke dalam Daftar Pendek (short list), untuk Seleksi Umum paling kurang 5 (lima)

Risiko-risiko tersebut tidak hanya terkait dengan permintaan valuta asing bersih yang berasal dari defisit neraca transaksi berjalan, namun juga berasal dari kebutuhan untuk

Metode penelitian yang digunakan adalah metode penelitian kulaitatif subjek penelitian berjumlah 7 orang, yaitu mahasiswa yang sudah menikah pada jurusan PAI FITK

Tujuan Penelitian ini adalah untuk mengetahui pengaruh jenis bahan kolektor pada alat pengering energi surya tipe rak terhadap karakteristik pengeringan irisan

Menurut Suryana (2013) dalam Ridho (2016), praktik penghindaran pajak dapat dilakukan dengan berbagai modus, misalnya dengan membuat laporan keuangan seolah-olah

Pendidikan yang berorientasi untuk meningkatkan kesadaran demokrasi siswa dan guna meningkatkan prestasi belajar sejarah siswa melalui pelaksanaan pembelajaran berbasis

Semoga dengan adanya laporan ini akan memberikan informasi terbaru terkait pelaksanaan kegiatan yang telah berjalan maupun yang akan datang sehingga dapat meningkatkan