BAB 2 LANDASAN TEORI 1.7 Penjadwalan...

35
8 BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbangan Penjadwalan dapat diartikan sebagai suatu keputusan dalam penugasan dan waktu untuk memulai pekerjaan yang menggunakan sumber daya seperti manusia, peralatan, dan fasilitas yang digunakan untuk kegiatan proses produksi untuk pekerjaan (Martinich, 1997). Definisi lain penjadwalan adalah suatu petunjuk atau indikasi apa saja yang harus dilakukan, dengan siapa, dan dengan peralatan apa yang digunakan untuk menyelesaikan suatu pekerjaan pada waktu tertentu. Keputusan dalam suatu penjadwalan yang diartikan pada penugasan adalah berupa mengurutkan pekerjaan dan watu untuk memulai pekerjaan, dimana untuk menentukan semuanya itu harus diketahui urutan operasinya terlebih dahulu. Penjadwalan menurut Pinedo (2002) selalu berhubungan dengan pengalokasian sumber daya yang ada pada jangka waktu tertentu, hal tersebut adalah proses pengambilan keputusan yang tujuannya adalah untuk optimalitas. Penyusunan jadwal penerbangan adalah hal yang wajib dilakukan oleh setiap maskapai penerbangan. Jadwal yang tersusun akan mempengaruhi keoptimalan utilisasi pesawat dan juga biaya operasional. Penyusunan jadwal adalah hal yang cukup rumit karena dalam penyusunan jadwal banyak faktor yang harus diperhitungkan. Oleh karena itu, penyusunan jadwal dibagi menjadi empat tahap yang dapat digambarkan sebagai berikut:

Transcript of BAB 2 LANDASAN TEORI 1.7 Penjadwalan...

Page 1: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

8

BAB 2

LANDASAN TEORI

1.7 Penjadwalan Penerbangan

Penjadwalan dapat diartikan sebagai suatu keputusan dalam penugasan

dan waktu untuk memulai pekerjaan yang menggunakan sumber daya seperti

manusia, peralatan, dan fasilitas yang digunakan untuk kegiatan proses produksi

untuk pekerjaan (Martinich, 1997). Definisi lain penjadwalan adalah suatu

petunjuk atau indikasi apa saja yang harus dilakukan, dengan siapa, dan dengan

peralatan apa yang digunakan untuk menyelesaikan suatu pekerjaan pada waktu

tertentu. Keputusan dalam suatu penjadwalan yang diartikan pada penugasan

adalah berupa mengurutkan pekerjaan dan watu untuk memulai pekerjaan,

dimana untuk menentukan semuanya itu harus diketahui urutan operasinya

terlebih dahulu. Penjadwalan menurut Pinedo (2002) selalu berhubungan dengan

pengalokasian sumber daya yang ada pada jangka waktu tertentu, hal tersebut

adalah proses pengambilan keputusan yang tujuannya adalah untuk optimalitas.

Penyusunan jadwal penerbangan adalah hal yang wajib dilakukan oleh

setiap maskapai penerbangan. Jadwal yang tersusun akan mempengaruhi

keoptimalan utilisasi pesawat dan juga biaya operasional. Penyusunan jadwal

adalah hal yang cukup rumit karena dalam penyusunan jadwal banyak faktor

yang harus diperhitungkan. Oleh karena itu, penyusunan jadwal dibagi menjadi

empat tahap yang dapat digambarkan sebagai berikut:

Page 2: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

9

Gambar 0.1 Penjadwalan Penerbangan

1.7.1 Schedule Design

Tahap ini dapat dibagi lagi menjadi dua bagian yaitu:

1. Time table construction adalah sebuah proses penentuan jadwal

penerbangan dengan mempertimbangkan banyaknya permintaan

terhadap suatu rute pada suatu segmen waktu;

2. Yield Management adalah sebuah proses untuk menentukan

jumlah kapasitas penumpang pada tiap kelas yang untuk

mengoptimalkan pendapatan dengan mempertimbangkan hasil

dari proses time table management. Proses ini dimulai dari saat

jadwal ditentukan dan mulai dijual hingga terjadinya penerbangan

dari jadwal tersebut.

1.7.2 Fleet Assignment

Fleet assignment hanya berlaku pada maskapai yang cukup besar dan

memiliki beberapa tipe pesawat dengan perbedaan kapasitas yang cukup

signifikan. Pada maskapai yang tidak memiliki banyak pesawat dengan tipe

berbeda-beda, tahap ini dapat diabaikan. Setelah tahap schedule design dilakukan

Page 3: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

10

dan diperoleh hasil berupa jadwal dari rute-rute yang akan dilayani, tahap

selanjutnya adalah menentukan jenis pesawat mana yang akan ditugaskan untuk

setiap rute yang telah ditentukan. Tahap ini lah yang disebut tahap fleet

assignment. Pesawat dengan kapasitas penumpang besar akan dialokasikan untuk

rute dengan permintaan penumpang besar, dan pesawat dengan kapasitas

penumpang yang lebih kecil akan dialokasikan untuk rute dengan permintaan

penumpang yang lebih sedikit.

1.7.3 Aircraft Routing

Aircraft routing atau sering disebut juga tail assignment adalah proses

identifikasi armada pesawat mana yang akan digunakan untuk melayani rute-rute

penerbangan yang sudah ditentukan sebelumnya. Proses yang dilakukan dalam

tail assignment adalah merencanakan waktu setiap pesawat yang akan

diterbangkan untuk melayani rute mana, jadwal maintenance dengan

memberikan pesawat alternatif yang akan menggantikan dan aktivitas lainnya

yang ada di darat. Di dalam menentukan semua constraint operasional seluruh

aktivitas tersebut bergantung kepada kepastian tanggal dan jam dari masing-

masing proses dalam suatu periode waktu.

Dalam menentukan tail assignment ini ada beberapa constraint penting

yang sangat mempengaruhi tahap ini.

Page 4: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

11

A. Maintenance Constraint

Tujuan utama dilakukannya maintenance dalam sebuah airline adalah

untuk memberikan keamanan dan membuat pesawat memiliki daya jual untuk

setiap jadwal yang ada. Beberapa tujuan efisiensi dari maintenance itu adalah:

1. Meminimalkan waktu out of service, Karena keuntungan dari

sebuah pesawat bergantung pada ketersediaannya untuk

digunakan pada jadwal yang telah disusun, perusahaan harus

berusaha keras untuk merancang sistem maintenance dengan

standar yang tinggi sekaligus meminimalkan waktu out of service

dari pesawat yang sedang dipelihara (maintenance).

2. Memanfaatkan waktu maksimum yang disediakan untuk program

inspeksi dan pemeriksaan: bagian program ini adalah yang paling

memakan banyak biaya dalam operasional airline, tapi

harus berorientasi pada waktu pengerjaan yang minimal.

3. Personil dan beban kerja: setiap inspeksi harus dilakukan teknisi

yang sudah memiliki lisensi dari organisasi terkait sehingga

terjamin kualitasnya. Utilisasi dari setiap personil juga harus

dimaksimalkan untuk mengurangi biaya tenaga kerja.

4. Memanfaatkan fasilitas pada tingkat paling maksimum: investasi

yang besar untuk sektor fasilitas seperti untuk gedung, peralatan

dan perlengkapan khusus agar tidak keluar dengan percuma.

Page 5: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

12

B. Connection Constraint

Connection Constraint adalah salah satu constraint dasar yang

menyatakan hubungan antara dua aktivitas yaitu pemberangkatan dan

pendaratan. Constraint ini dapat dilihat secara mudah dengan cara hanya

memberikan waktu jeda yang minimum antara aktivitas kedatangan dan

keberangkatan. Dalam waktu yang minimum itu proses untuk pembersihan,

pengisian bahan bakar dan persiapan lainnya untuk pemberangkatan selanjutnya

dilakukan.

Pada sebuah bandar udara yang cukup ramai waktu koneksi ini juga

dipengaruhi oleh waktu tunggu armada dan waktu transfer antar gates dan

terminal yang ada. Secara umum, biasanya selisih waktu pesawat antara

kedatangan dan keberangkatan selanjutnya sedikitnya 30-45 menit. Jika

memungkinkan, setelah melakukan pendaratan sebuah pesawat diharapkan

langsung kembali melakukan penerbangan selanjutnya, tentunya setelah

melakukan persiapan tertentu.

C. Flight Restriction Constraint

Constraint ini adalah kondisi dimana suatu pesawat tidak dapat

melakukan penerbangan atau pendaratan atau hal yang lainnya yang dikarenakan

suatu alasan tertentu, seperti kondisi landasan yang tidak dapat didarati karena

cuaca dan lainnya sebagainya.

Page 6: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

13

D. Constraint Lainnya

Beberapa kondisi constraint yang juga mempengaruhi selain constraint

waktu koneksi, maintenance, larangan penerbangan adalah constraint-constraint

dalam masalah penugasan crew.

1.7.4 Crew Pairing

Crew Pairing adalah proses penentuan crew dengan menetukan siapa saja

yang akan melayani dalam suatu rute penerbangan dengan biaya yang minimal

tanpa memperdulikan spesifikasi crew tersebut. Proses penentuan ini

menentukan crew yang sama dalam penerbangan yang berurutan dengan titik

awal dan titik akhir crew yang sama. Hasil optimal dari penentuan crew ini

adalah biaya dikeluarkan seminimal mungkin dan semaksimal mungkin crew

tersebut dapat melayani kebutuhan yang ada dengan memperhatikan peraturan

keselamatan yang ada.

Selanjutnya proses pengaturan crew akan dilanjutkan dengan berfokus

pada penugasan masing-masing individu dengan mempertimbangkan kualifikasi,

waktu perjalanan, permintaan dari crew tersebut dan faktor lainnya dengan

meminimalkan fungsi biaya. Tahap ini disebut tahap crew rostering.

1.8 Pengoperasian Penerbangan dan Penjadwalan Awak Pesawat

Oleh karena penjadwalan penerbangan saat dipublikasikan harus disertai

dengan awak pesawat penerbangan perusahaan, departemen operasi penerbangan

harus memastikan bahwa penerbangan dijadwalkan dengan cara yang menjamin

Page 7: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

14

mereka dioperasikan secara efisien tapi aman. Berikut ini adalah faktor-faktor

operasional yang penting untuk perencanaan penjadwalan:

1. Panjang landasan terbang di bandara sangat berpengaruh pada

pengoperasian pesawat terbang karena landasan yang pendek akan

memakan bahan bakar lebih banyak sedangkan landasan yang cukup

panjang akan lebih hemat bahan bakar bila digunakan secara

maksimal.

2. Kapasitas bahan bakar pesawat: pesawat dengan kapasitas bahan

bakar yang sedikit tentunya akan diprioritaskan untuk terbang pada

rute-rute berjarak pendek untuk menghindari keharusan pengisian

bahan bakar di tengah jalan yang akan memakan biaya bahan bakar

lebih besar untuk mendarat dan lepas landas lagi di bandara transit.

3. Cuaca musiman yang merugikan: pada musim dingin, cuaca akan

kurang menguntungkan untuk penerbangan malam pada beberapa

kota yang tidak tersedia fasilitas hangar.

4. Pengendali lalu lintas udara (Air traffic control) dan routing: Air

traffic control (ATC) yang menyusun rute lalu lintas penerbangan

dapat mengakibatkan pesawat harus melewati jalur yang lebih

panjang dan membutuhkan bahan bakar lebih banyak.

5. Batasan jam terbang awak pesawat: menurut peraturan resmi CASR.

setiap awak pesawat yang ikut serta dalam pengoperasian pesawat

terbang, memiliki batasan waktu kerja yang harus ditaati oleh setiap

perusahaan. Untuk konfigurasi pesawat dengan dua pilot (1 kapten

dan 1 copilot), dalam 24 jam mereka dapat dijadwalkan terbang

Page 8: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

15

selama maksimal 9 jam. Perusahaan juga tidak diperkenankan

menjadwalkan penerbangan untuk pilot yang telah memiliki jam

terbang sebanyak 30 jam dalam 7 hari, atau 110 jam dalam 30 hari,

atau 1050 jam dalam 1 tahun. Apabila terjadi keadaan di luar kendali

seperti masalah cuaca sehingga persyaratan tersebut terlanggar, maka

pilot bersangkutan harus diberikan cuti selama 24 jam kerja penuh.

1.9 Constraint Programing

Constraint Programming adalah suatu pendekatan deklaratif dalam

problem solving dengan cara mendeskripsikan permasalahan menjadi himpunan

batasan–batasan (constraints). Untuk menyelesaikan kombinatorial atau

permasalahan optimisasi (optimization problems). Dalam constraint

programming, kita cukup memodelkan permasalahan sebagai suatu constraint

satisfaction problem, dan selanjutnya solver yang akan mencari solusi atas

permasalahan tersebut. Dalam memodelkan permasalahan, kita menggunakan

variabel, domain dan batasan (constraints) yang merepresentasikan himpunan

penyelesaian.

Sebuah constraint pada dasarnya merupakan relasi dari beberapa variabel

yang memiliki nilai yang dinyatakan dalam suatu domain. Constraint merupakan

batasan terhadap nilai yang mungkin untuk suatu variabel.

Beberapa kelebihan dari constraint programming:

1. Outputnya singkat;

2. Programnya sederhana sehingga dapat dengan mudah diadaptasi bila

terjadi perubahan kebutuhan;

Page 9: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

16

3. Karena programnya dapat dibuat dan dimodifikasi dengan cepat,

maka sangat mungkin untuk bereksperimen untuk mendapatkan

penyelesaian yang paling efisien dan waktu komputasi tercepat.

1.9.1 Constraints Satisfaction Problem

Constraint satisfaction terkait dengan permasalahan yang domainnya

terbatas (finite domains) dan biasanya disebut sebagai Constraint Satisfaction

Problems (CSP). CSP berfungsi untuk medapatkan nilai dari variabel yang

memenuhi semua constraint.

CSP didefinisikan sebagai:

1. Himpunan variabel },,{ 1 nxxX L= ;

2. Domain yang merupakan himpunan terbatas dari nilai yang mungkin

untuk setiap variabel Di ;

3. Himpunan constraint yang membatasi nilai yang mungkin untuk

setiap variabel.

Dalam constraint programming terdapat tiga tahapan yang harus selalu

ada, yaitu:

1. Deklarasi domains dari setiap variabel;

2. Deskripsi dari constraint poblem (problem model)

3. Mencari solusi yang tepat dengan menggunakan backtrack search,

atau mencari solusi optimal berdasarkan branch-and-bound search.

Page 10: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

17

Solusi dalam CSP adalah suatu pemetaan nilai dari domain setiap

variabel yang memenuhi semua constraint. Solusi dari sebuah CSP diperoleh

melalui pencarian (searching) secara sistematik terhadap semua nilai dari

variabel yang mungkin berdasarkan constraint yang ada. Dalam hal ini metode

pencarian untuk mendapatkan solusi dapat dibagi atas dua kelompok utama,

yaitu melalui solusi parsial (partial value assignments) dan solusi lengkap

(complete value assignments) terhadap semua variabel.

Dalam constraint programming juga dikenal istilah constraint

propagation, yaitu memangkas atau memendekkan pencarian dengan

menggunakan constraint yang ada.

Setiap constraint memiliki algoritma filtering yang dapat mengurangi

jumlah domain dari variabel yang ada dalam constraint tersebut, dengan cara

membuang nilai yang tidak mungkin menjadi solusi permasalahan. Algoritma ini

dipanggil setiap kali sebuah domain dari variabel dalam constraint mengalami

perubahan dan perubahan ini dipropagasikan terhadap domain dari variabel

lainnya dan begitu seterusnya.

Untuk menutupi kekurangan dari local propagation (incompleteness/lack

of shortage), dilakukan pengelompokan beberapa constraint menjadi sebuah

constraint khusus yang disebut sebagai global constraint. Global constraints

adalah kumpulan dari beberapa constraint kecil yang diperlakukan sebagai

sebuah unit yang lebih besar (gabungan).

Page 11: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

18

1.9.2 Constraint Satisfaction Optimization Problem

Kadangkala dalam kehidupan nyata, dibutuhkan suatu solusi yang

terbaik. Standar dari teknik constraint satisfaction adalah hanya mencari solusi-

solusi yang mungkin, tapi ini dapat diperluas untuk mendapatkan solusi yang

optimal. Untuk mendapatkan solusi yang optimal digunakan Constraint

Satisfaction Optimization Problem (CSOP). Kualitas dari solusi biasanya diukur

berdasarkan suatu fungsi yang disebut fungsi objektif. CSOP terdiri atas sebuah

CSP standar dan sebuah fungsi optimisasi yang memetakan setiap solusi

terhadap nilai numeriknya. Sebagian besar aplikasi industri menggunakan konsep

CSOP ini.

Algoritma yang paling banyak digunakan untuk mendapatkan solusi yang

optimal dalam CSOP adalah Branch and Bound. Algroritma Branch and Bound

ini menggunakan heuristic function yang memetakan partial labeling terhadap

suatu nilai numerik dengan algoritma depth first search untuk mendapatkan

solusi. Dalam proses pencarian, bila nilai domain melewati constraint yang ada,

maka subtree yang ada di bawah partial labeling tersebut dipangkas untuk

melakukan propagasi. Solusi yang paling optimal berdasarkan constraint dipilih

sebagai solusi.

Algoritma Branch and Bound adalah metode algoritma umum untuk

mencari solusi optimal dari berbagai permasalahan optimisasi, terutama untuk

optimisasi diskrit dan kombinatorial. Algoritma Branch and Bound juga

merupakan metode pencarian di dalam ruang solusi secara sistematis. Algoritma

Branch and Bound membangun ruang solusinya dengan skema BFS (Breadth

First Search).

Page 12: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

19

1.10 Collumn Generation

Pemrograman linier (linier programming) adalah salah satu bahasan

dalam optimisasi yang berkembang cukup pesat. Perumusan masalah

pemrograman linier beserta pemecahannya secara sistematis baru dimulai pada

tahun 1947 ketika George B Dantzig merancang sebuah metode untuk keperluan

angkatan udara AS.

Dalam perkembangan selanjutnya diperlukan pendekatan lebih khusus

untuk memecahkan masalah pemrograman linier yang melibatkan banyak

variabel dan/atau constraint. Untuk masalah pemrograman linier yang

mempunyai bentuk khusus, yaitu block-angular. Dantzeig dan Wolfe pada tahun

1960 sudah merumuskan metode yang dapat memecahkan metode tersebut

secara lebih efisien.

Suatu masalah pemrograman linier dikatakan berbentuk primal-block

angular jika memiliki sejumlah constraint umum, yaitu constraint yang memuat

semua variabel yang muncul dalam masalah. Pandang masalah pemrograman

linier dalam bentuk primal-block angular sebagai berikut.

Page 13: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

20

Maksimumkan pTp

TT XCXCXCZ +++= ...2211 …. (1)

terhadap 02211 ... BXAXAXA pp =+++

ppp BXD

BXDBXD

=

==

O222

111

;,...,1,0 pkX k =≥

Dimana untuk pk ,,1K= ukuran matriks Xk, Ak, Bk, Ck, Dk masing-

masing adalah (nk x 1), (mo x nk), (mk x 1), (nk x 1), dan (mk x nk); sedangkan oB

berukuran (mo x 1). Constraint ∑=

=p

kkk BXA

10 untuk selanjutnya disebut sebagai

constraint umum (common constraint), sedangkan constraint

kkk BXD = (k=1,…,p) disebut constraint bebas. Dengan demikian, masalah

pemrograman linier (1) di atas mempunyai ∑=

p

kkm

0constraint dan ∑

=

p

kkn

0variabel.

Masalah pemrograman linier (1) menurut Dantzig, dapat

didekomposisikan menjadi sub-sub masalah yang lebih kecil dengan tidak

menghilangkan karakteristik masalah awalnya. Kemudian solusi dari sub-sub

masalah ini digunakan untuk memodifikasi masalah awalnya sehingga diperoleh

masalah pemrograman linier baru yang identik dan lebih sederhana.

Prosedur untuk menentukan solusi basis dari masalah pemrograman linier

tersebut selengkapnya adalah sebagai berikut.

Langkah 1: Pandang constraint bebas dari masalah (1), yaitu

Page 14: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

21

),...,1( pkBXD kkk == …(2)

yang mempunyai mk constraint. Constraint-constraint ini ditambah dengan

syarat kenonnegatifan 0≥kX mendefinisikan suatu himpunan solusi fisible.

Asumsikan bahwa constraint (2) adalah himpunan konveks yang terbatas.

Misalkan jumlah titik ekstrim dari himpunan tersebut adalah sk . Secara teori

diketahui bahwa setiap titik sebarang Xk dapat dinyatakan sebagai kombinasi

liner konveks dari titik-titik ekstrimnya. Dengan kata lain, Xk dapat dituliskan

sebagai berikut.

)(

1,

)(,

)2(2,

)1(1, ... i

k

s

iik

ssskkkkkk XXXXX

kk

k ∑=

=+++= λλλλ …(3)

1...1

,,2,1, ==+++ ∑=

k

k

s

iikskkk λλλλ

),,...,1(,...,1,0, pksi kik ==≥λ

Dimana )()1( ,..., kskk XX adalah titik-titik ekstrim dari himpunan fisibel yang

didefinisikan oleh himpunan constraint bebas (2). Titik-titik ekstrim ini dapat

ditentukan dengan menyelesaikan (2) ditambah dengan syarat kenonnegatifan

0≥kX .

Langkah 2: Dengan mensubtitusikan (3) ke dalam (1), maka constraint

bebas (2) dapat dieliminasi dari masalah awal. Sehingga, setelah melewati proses

ini masalah pemrograman liniernya menjadi

ip

s

i

ip

Tpi

s

i

iTi

s

i

iTp

XCXCXCZ ,1

)(,2

1

)(22,1

1

)(11 )(...)()(

21

λλλ ∑∑∑===

+++= …(4)

Page 15: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

22

terhadap constraint

0,1

)(,2

1

)(22,1

1

)(11 )(...)()(

21

BXAXAXA ip

s

i

ip

Tpi

s

i

iTi

s

i

iTp

=+++ ∑∑∑===

λλλ

1,11

1

=∑=

i

s

12

1,2 =∑

=

s

iiλ

11

, =∑=

ps

iipλ

).,...,1(,...,1,0, pksi kik ==≥λ

Jelas bahwa variabel dari masalah (4) adalah ik ,λ . Titik-titik ekstrim

)()1( ,..., kskk XX didapatkan dari himpunan constraint bebas ditambah dengan syarat

kenonnegatifan, yaitu ),...,1(0, pkXBXD kkkk =≥= .

Jika didefinisikan masalah pemrograman linier (4)

,)(,

ik

Tkik XCU =

;)(,

ikkik XAW = dimana i= 1,…,sk (k = 1,…,p),

didekomposisikan, maka akan berubah menjadi

ip

s

iipi

s

iii

s

ii

p

UUUZ ,1

,,21

,2,11

,1 ...21

λλλ ∑∑∑===

+++=

…(5)

terhadap constraint

0,1

,,21

,2,11

,1 ...21

BWWW ip

s

iipi

s

iii

s

ii

p

=+++ ∑∑∑===

λλλ

Page 16: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

23

11

1,1 =∑

=

s

iiλ

12

1,2 =∑

=

s

iiλ

12

1,2 =∑

=

s

iiλ

),...,1(,...,1,0, pksi kik ==≥λ .

Masalah (5) diatas kita sebut sebagai masalah induk (master problem).

Masalah ini mempunyai (mo + p) constraint dari ∑=

p

kks

1 variabel. Dalam hal ini

untuk menjamin adanya proses optimisasi, kita mengasumsikan bahwa

∑=

<+p

kkspm

10 )( .

dengan mengingat penurunan zj-cj dalam metode simpleks, maka sub masalah ke-

k didefinisikan dengan

ikk

ikB

TBikik U

e

WACcz ,

,1,, −

⎥⎥⎦

⎢⎢⎣

⎡=− − …(6)

,)(

)(

ik

Tk

k

ikk

T XCe

XA−

⎥⎥⎥

⎢⎢⎢

⎡= π

dimana ke adalah vektor satuan berdimensi p yang bernilai 1 pada baris ke-k dan

bernilai 0 pada baris lainnya; sedangkan 1−= BTB

T ACπ adalah vektor pengali

simpleks yang berukuran (1 x (mo + p)). Dengan memandang

Page 17: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

24

),...,:( 0011 pTT ππππ = , dimana T

1π berukuran (1xm0) dan k0π (k = 1,…,p )

konstan, maka (6) akan menjadi

)(0

)(1,,

ik

Tkk

ikk

Tikik XCXAcz −+=− ππ …(7)

ki

kkTT

k XAC 0)(

1 )( ππ +−−=

Penentuan harga ikik cz ,, − yang paling negatif (sebagai syarat vektor

kolom masuk) adalah identik dengan mencari harga Xk yang mampu

memaksimumkan kkTT

kk XACZ )( 1π−= terhadap constraint yang terkait

dengannya. Oleh karenanya, pandang submasalah ke-k berikut:

maksimumkan kkTT

kk XACZ )( 1π−= …(8)

terhadap constraint kkk BXD =

0≥kX

Misalkan solusi optimal dari masalah (8) adalah )(qkX . Titik ini adalah

salah satu titik ekstrim dari himpunan constraint bebas ke-k yang memberikan

ikik cz ,, − paling negatif. Dengan demikian, kita akan membangkitkan kolom

⎥⎥⎥

⎢⎢⎢

⎡=

⎥⎥⎥

⎢⎢⎢

k

qkk

k

qk

e

XA

e

W )(,

Untuk memasuki basis dalam masalah induk (5). dalam masalah induk

kolom ini berhubungan dengan variabel qk ,λ ; sedangkan koefisien harga yang

berhubungan dengan kolom ini adalah )(,

qk

Tkqk XCU = . Proses diatas diulangi

untuk semua nilai k,yaitu k = 1,…,p.

Page 18: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

25

Untuk lebih jelasnya bagaimana metode dekomposisi dengan teknik

column generation dijalankan, berikut ini diberikan algoritma dekomposisinya.

Asumsikan bahwa solusi basis fisibel awal dari masalah induk (5) beserta

matriks basis 1−BA dan pengali simpleks ),...,:( 0011 p

TT ππππ = sudah

didapatkan.

Langkah 1: Dengan menggunakan pengali simpleks T1π , selesaikan

submasalah (8) untuk mendapatkan solusi optimal )(qkX dan nilai fungsi objektif

optimal 0kz .

Langkah 2: Hitunglah nilai min { }kk cz − , yaitu dari (7) diketahui bernilai

kkz 00 π+− . Jika min { } 0≥− kk cz , maka proses dihentikan karena solusi sudah

optimal. Dan solusi dari masalah awal (1) adalah

,),...,,( **2

*1

* TpXXXX =

dimana ∑=

==ks

i

ikikk pkXX

1

)(*,

* ,...,1,λ .

Langkah 3: Jika min { } 0<− kk cz , maka bangkitkan kolom ⎥⎥⎥

⎢⎢⎢

k

qkk

e

XA )(

,

yang mana kolom ini berhubungan dengan variabel qk ,λ . Koefisien harga yang

berhubungan dengan kolom ini adalah )(,

qk

Tkqk XCU = . Dan dengan

menggunakan operasi pivoting dalam metode simpleks diperoleh invers basis

dan vektor pengali simpleks yang baru. Kemudian kembali pada langkah 1.

Page 19: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

26

1.11 Database

Database merupakan suatu bentuk pengorganisasian data pada media

eksternal dengan tujuan mempermudah pengaksesan, dalam hal ini penyimpanan

atau pengambilan data.

Menurut Connolly (2002), database merupakan sekumpulan data yang

berhubungan secara logikal dan deskripsi dari data ini dirancang untuk

memenuhi kebutuhan informasi dari suatu organisasi.

Metode yang digunakan untuk mengakses database dalam aplikasi ini

adalah DBMS (Database Management System) dengan model RDBMS

(Relational Database Management System).

Menurut Connoly (2002), DBMS adalah sistem piranti lunak yang

memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan

mengontrol akses ke dalam suatu database, dimana dengan kata lain, seluruh

akses ke database harus melalui DBMS. Sementara RDBMS merupakan

pengembangan dari DBMS yang menitik-beratkan kepada hubungan atau relasi

di dalam database.

DBMS memiliki fitur Data Definition Language (DDL) dan Data

Manipulation Language (DML). DDL memberikan kemungkinan bagi pengguna

untuk mendefiniskan database, sementara DML memberikan kemungkinan bagi

pengguna untuk melakukan operasi insert, update, delete, dan retrieve data dari

database.

DBMS menyediakan akses terkontrol kepada database, dengan

keamanan, integritas, concurrency dan recovery control. DBMS juga

Page 20: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

27

menyediakan suatu mekanisme tampilan untuk memudahkan data yang akan

digunakan oleh pengguna.

Beberapa keuntungan dalam menggunakan pendekatan database antara

lain pengendalian terhadap redundansi data (duplikasi data), konsistensi data,

pembagian data, dan keamanan dan integritas yang lebih baik. Tetapi beberapa

kerugian dari pendekatan ini antara lain adanya kompleksitas, biaya yang mahal,

dan performansi yang berkurang.

1.12 Rekayasa Piranti Lunak

Rekayasa Piranti Lunak menurut Fritz Bauer (Pressman, 2001) adalah

penetapn dan pemakaian prinsip-prinsip rekayasa dalam rangka mendapatkan

piranti lunak yang ekonomis yaitu terpecaya dan bekerja efisien pada mesin

(komputer).

Menurut Pressman (2001), rekayasa piranti lunak mencakup 3 elemen

yang mampu mengontrol proses pengembangan piranti lunak,yaitu:

1. Metode-metode (methods)

menyediakan cara-cara teknis untuk membangun piranti lunak

2. Alat-alat bantu (tools)

mengadakan dukungan otomatis atau semi otomatis untuk metode-

metode seperti CASE (Computer Aided Software Engineering) yang

mengkombinasikan software, hardware, dan software engineering

database.

3. Prosedur-prosedur (procedurs)

merupakan pengembangan metode dan alat bantu.

Page 21: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

28

Dalam perancangan software dikenal istilah software life cycle yaitu

serangkaian kegiatan yang dilakukan selama masa perancangan software. Berikut

adalah visualisasi dari kegiatan pada software life cycle model waterfall (Dix,

1997, p180):

1. Spesifikasi kebutuhan (Requirement specification)

Pada tahap ini, pihak pengembang dan konsumen mengidentifikasi

apa saja fungsi-fungsi yang diharapkan dari sistem dan bagaimana

sistem memberikan layanan yang diminta. Pengembang berusaha

mengumpulkan berbagai informasi dari konsumen.

2. Perancangan arsitektur (Architectural design)

Pada tahap ini, terjadi pemisahan komponen-komponen sistem sesuai

dengan fungsinya masing-masing.

3. Detailed design

Setelah memasuki tahap ini, pengembang memperbaiki deskripsi dari

komponen-komponen dari sistem yang telah dipisah-pisah pada tahap

sebelumnya.

4. Coding and unit testing

Pada tahap ini, disain diterjemahkan ke dalam bahasa pemrograman

untuk dieksekusi. Setelah itu komponen-komponen dites apakah

sesuai dengan fungsinya masing-masing.

5. Integration and testing

Setelah tiap-tiap komponen dites dan telah sesuai dengan fungsinya,

komponen-komponen tersebut disatukan lagi. Lalu sistem dites untuk

Page 22: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

29

memastikan sistem telah sesuai dengan kriteria yang diminta

konsumen.

6. Pemeliharaan (maintenance)

Setelah sistem diimplementasikan, maka perlu dilakukannya

perawatan terhadap sistem itu sendiri. Perawatan yang dimaksud

adalah perbaikan error yang ditemkan setelah sistem

diimplementasikan.

Gambar 0.2 Software Life Cycle Model Waterfall

Penjelasan yang telah dijabarkan di atas adalah teori-teori dasar yang

akan digunakan dalam penyusunan skripsi ini, sekaligus menjadi acuan dalam

menganalisis, membahas, mengevaluasi, serta mengambil simpulan pada bab-

bab berikutnya.

Page 23: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

30

1.13 Pengertian Teknologi Informasi

Menurut Ward dan Peppard (2002, p3), teknologi informasi secara

khusus ditujukan untuk teknologi, khususnya hardware, software dan jaringan

telekomunikasi. Teknologi informasi memfasilitasi perolehan, pemrosesan,

penyimpanan, pengiriman dan pembagian informasi dan isi digital lainnya.

1.14 Interaksi Manusia Komputer

Menurut Shneiderman (1998, p4), Interaksi manusia dan komputer

merupakan disiplin ilmu yang berhubungan dengan, perancangan, evaluasi, dan

implementasi sistem komputer interaktif untuk digunakan oleh manusia, serta

studi fenomena-fenomena besar yang berhubungan dengannya.

Pada interaksi manusia dan komputer ditekankan pada pembuatan

antarmuka pemakai (user interface), dimana user interface yang dibuat

diusahakan sedemikian rupa sehingga seorang user dapat dengan baik dan

nyaman menggunakan aplikasi perangkat lunak dibuat.

Antar muka pemakai (user interface) adalah bagian sistem komputer

yang memungkinkan manusia berinteraksi dengan komputer. Tujuan antar muka

pemakai adalah agar sistem komputer dapat digunakan oleh pemakai (user

interface), istilah tersebut digunakan untuk menunjuk kepada kemampuan yang

dimiliki oleh piranti lunak atau program aplikasi yang mudah dioperasikan dan

dapat membantu menyelesaikan suatu persoalan dengan hasil yang sesuai dengan

keinginan pengguna, sehingga pengguna merasa betah untuk mengoperasikan

program tersebut.

Page 24: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

31

1.14.1 Program Interaktif

Suatu program yang interaktif dan baik harus bersifat user friendly.

Scheiderman (1998,p15) menjelaskan lima kriteria yang harus dipenuhi oleh

suatu program yang user friendly, yaitu:

1. Waktu belajar yang tidak lama;

2. Kecepatan penyajian informasi yang tepat;

3. Tingkat kesalahan pemakaian rendah;

4. Penghafalan sesudah melampaui jangka waktu;

5. Kepuasan pribadi.

1.14.2 Pedoman Merancang User Interface

Beberapa pedoman yang dianjurkan dalam merancang suatu program,

guna mendapatkan suatu program yang user friendly yaitu:

1. Delapan aturan emas ( Eight Golden Rules )

Untuk merancang sistem interaksi manusia dan komputer yang baik,

harus memperhatikan delapan aturan emas dalam perancangan

antarmukan, seperti: strive for consistency (konsisten dalam

merancang tampilan), enable frequent user to use shorcuts (

memungkinkan pengguna menggunakan shortcuts secara berkala),

offer informative feed back (memberikan umpan balik yang

informatif), design dialogs to yield closure (merancang dialog untuk

menghasilkan keadaan akhir), offer simple error handling

(memberikan penanganan kesalahan), permit easy reversal of actions

(mengijinkan pembalikan aksi dengan mudah), support internal locus

Page 25: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

32

of control (mendukung pengguna menguasai sistem), dan reduce

short-term memory load (mengurangi beban jangka pendek pada

pengguna).

2. Teori waktu respon

Waktu respon dalam sistem komputer menurut Scheiderman

(1998,p352) adalah jumlah detik dari saat pengguna program

memulai aktifitas sampai menampilkan hasilnya di layar atau printer.

Beberapa pedoman yang disarankan: pemakai lebih menyukai waktu

respon yang pendek, waktu respon yang panjang mengganggu, waktu

respon yang pendek menyebabkan waktu pengguna berpikir lebih

pendek, waktu respon harus sesuai denga tugasnya, dan pemakai

harus diberi tahu mengenai penundaan yang panjang.

1.15 Unified Model Langguage (UML)

Unified Model Language (UML) merupakan suatu alat bantu dari

pembuat sistem yang memudahkan untuk menciptakan gambaran dari suatu

sistem yang dibuat berdasarkan visi dari pembuat sistem dengan sistematika

standar, sehingga mudah dimengerti dan mudah dikomunikasikan (Schmuller,

1999, p6).

1.15.1 Diagram Use Case

Use Case menunjukkan hubungan interaksi antara aktor dengan use case

di dalam suatu sistem (Mathiassen, 2000, p343) yang bertujuan untuk

Page 26: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

33

menentukan bagaimana aktor berinteraksi dengan sebuah sistem. Aktor adalah

orang atau sistem lain yang berhubungan dengan sistem.

Ada tiga simbol yang mewakili komponen sistem seperti terlihat pada

gambar dibawah ini.

Gambar 0.3 Notasi Use Case Diagram

Menurut Schneider dan Winters, ada lima hal yang harus diperhatikan

dalam pembuatan diagram use case (Schneider dan Winters, 2001):

1. Aktor: segala sesuatu yang berhubungan dengan sistem dan

melaksanakan use case yang terkait.

2. Precondition: kondisi awal yang harus dimiliki aktor untuk masuk ke

dalam sistem untuk terlibat dalam suatu use case.

3. Postcondition: kondisi akhir atau hasil apa yang akan diterima oleh

aktor setelah menjalankan suatu use case.

4. Flow of Events: kegiatan-kegiatan yang dilakukan pada sebuah proses

use case.

5. Alternative Paths: kegiatan yang memberikan serangkaian kejadian

berbeda yang digunakan dalam Flow of Events.

Page 27: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

34

1.15.2 Diagram Statechart

Diagram Statechart menggambarkan state (keadaan) yang dialami semua

objek dalam suatu class yang spesifik serta transisi (event) yang memicu

terjadinya suatu state (Mathiassen et. al., 2000, p341). Seperti terlihat pada

gambar dibawah ini.

Gambar 0.4 Notasi Statechart Diagram

1.15.3 Diagram Activity

Menurut Whitten et. al. (2004, p442) diagram activity digunakan untuk

menggambarkan urutan aliran kegiatan-kegiatan dari sebuah proses bisnis atau

sebuah use case. Diagram ini juga dapat digunakan untuk memodelkan aksi dan

hasil ketika operasi berlangsung. Seperti terlihat pada gambar dibawah ini:

Page 28: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

35

Gambar 0.5 Notasi Activity Diagram

1.15.4 Diagram Sequence

Menggambarkan bagaimana objek berinteraksi satu sama lain melalui

pesan pada pelaksanaan use case atau operasi. Diagram sequence

mengilustrasikan bagaimana pesan dikirim dan diterima antar objek secara

berurutan. (Whitten et. al., 2004, p441). Beberapa notasi diagram sequence

terlihat pada gambar dibawah ini.

Gambar 0.6 Notasi Sequence Diagram

Page 29: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

36

1.15.5 Diagram Class

Menggambarkan kumpulan dari class-class yang ada serta hubungan

diantara class tersebut. Class mempunyai attributes dan operations yang

berbeda-beda (Mathiassen, 2000, p336). Seperti terlihat pada gambar dibawah

ini.

Gambar 0.7 Notasi Class Diagram

1.15.6 Diagram Collaboration

Menurut Whitten et. al. (2004, p441) diagram collaboration mirip dengan

diagram sequence, namun diagram collaboration tidak fokus pada urutan

datangnya pesan. Diagram collaboration menyediakan interaksi antar objek pada

sebuah format jaringan. Seperti terlihat pada gambar dibawah ini.

Gambar 0.8 Notasi Collaboration Diagram

Page 30: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

37

1.15.7 Diagram Component

Menurut Whitten et. al. (2004, p442) diagram component digunakan

untuk menggambarkan perusahaan dan ketergantungan dari komponen-

komponen perangkat lunak dari sistem. Diagram ini menunjukkan bagaimana

kode program dibagi menjadi modul-modul (atau komponen-komponen). Seperti

terlihat pada gambar dibawah ini.

Gambar 0.9 Notasi Component Diagram

1.15.8 Diagram Deployment

Menurut Whitten et. al. (2004, p442) diagram ini mendeskripsikan

arsitektur secara fisik dalam bentuk node-node dari perangkat keras dan lunak

dari sistem. Diagram deployment menggambarkan konfigurasi dari komponen-

komponen, prosesor dan alat-alat perangkat lunak run-time yang membuat

arsitektur sistem. Seperti terlihat pada gambar dibawah ini.

Page 31: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

38

Gambar 0.10 Notasi Deployment Diagram

1.16 Keuntungan UML

Beberapa keuntungan dalam menggunakan UML antara lain:

1. Sebagai bahasa permodelan yang general-purpose, difokuskan

pada pokok himpunan konsep yang dapat dipakai bersama, dan

menggunakan pengetahuan bersama dengan mekanisme

perluasan.

2. Sebagai bahasa permodelan yang mudah diaplikasikan, dapat

diaplikasikan untuk berbagai tipe sistem (software dan non-

software), domain (bisnis melawan software), dan metode atau

proses.

3. Sebagai bahasa permodelan standar industri, bukan merupakan

bahasa yang tertutup atau satu-satunya, tapi bersifat terbuka dan

sepenuhnya dapat diperluas.

1.17 Java

Java adalah sebuah bahasa pemrograman komputer berbasiskan kepada

Object Oriented Programming. Java diciptakan setelah C++ dan didesain

Page 32: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

39

sedemikian sehingga ukurannya kecil, sederhana, dan portable (dapat dipindah-

pindahkan di antara bermacam platform dan sistem operasi). Program yang

dihasilkan dengan bahasa Java dapat berupa applet (aplikasi kecil yang jalan di

atas web browser) maupun berupa aplikasi mandiri yang dijalankan dengan

program Java Interpreter.

Kelebihan Bahasa Pemogroman Java:

1. Multiplatform

Kelebihan utama dari Java ialah dapat dijalankan di beberapa

platform / sistem operasi komputer, sesuai dengan prinsip tulis sekali,

jalankan di mana saja. Dengan kelebihan ini pemrogram cukup

menulis sebuah program Java dan dikompilasi (diubah, dari bahasa

yang dimengerti manusia menjadi bahasa mesin / bytecode) sekali

lalu hasilnya dapat dijalankan di atas beberapa platform tanpa

perubahan. Kelebihan ini memungkinkan sebuah program berbasis

Java dikerjakan diatas sistem operasi Linux tetapi dijalankan dengan

baik di atas Microsoft Windows. Platform yang didukung sampai saat

ini adalah Microsoft Windows, Linux, Mac OS dan Sun Solaris.

Penyebanya adalah setiap sistem operasi menggunakan programnya

sendiri-sendiri (yang dapat diunduh dari situs Java) untuk

menginterpretasikan bytecode tersebut.

2. OOP (Object Oriented Programming-Pemrogram Berorientasi Objek)

yang artinya semua aspek yang terdapat di Java adalah Objek. Java

merupakan salah satu bahasa pemrograman berbasis oebjek secara

murni. Semua tipe data diturunkan dari kelas dasar yang disebut

Page 33: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

40

Object. Hal ini sangat memudahkan pemrogram untuk mendesain,

membuat, mengembangkan dan mengalokasi kesalahan sebuah

program dengan basis Java secara cepat, tepat, mudah dan

terorganisir. Kelebihan ini menjadikan Java sebagai salah satu bahasa

pemograman termudah, bahkan untuk fungsi fungsi yang advance

seperti komunikasi antara komputer sekalipun.

3. Perpustakaan Kelas Yang Lengkap, Java terkenal dengan

kelengkapan library/perpustakaan (kumpulan program program yang

disertakan dalam pemrograman Java) yang sangat memudahkan

dalam penggunaan oleh para pemrogram untuk membangun

aplikasinya. Kelengkapan perpustakaan ini ditambah dengan

keberadaan komunitas Java yang besar yang terus menerus membuat

perpustakaan-perpustakaan baru untuk melingkupi seluruh kebutuhan

pembangunan aplikasi.

4. Bergaya C++, memiliki sintaks seperti bahasa pemrograman C++

sehingga menarik banyak pemrogram C++ untuk pindah ke Java.

Saat ini pengguna Java sangat banyak, sebagian besar adalah

pemrogram C++ yang pindah ke Java. Universitas-universitas di

Amerika juga mulai berpindah dengan mengajarkan Java kepada

murid-murid yang baru karena lebih mudah dipahami oleh murid dan

dapat berguna juga bagi mereka yang bukan mengambil jurusan

komputer.

5. Pengumpulan sampah otomatis, memiliki fasilitas pengaturan

penggunaan memori sehingga para pemrogram tidak perlu melakukan

Page 34: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

41

pengaturan memori secara langsung (seperti halnya dalam bahasa

C++ yang dipakai secara luas).

Kekurangan Bahasa Pemrograman Java

1. Mudah didekompilasi. Dekompilasi adalah proses membalikkan dari

kode jadi menjadi kode sumber. Ini dimungkinkan karena kode jadi

Java merupakan bytecode yang menyimpan banyak atribut bahasa

tingkat tinggi, seperti nama-nama kelas, metode, dan tipe data. Hal

yang sama juga terjadi pada Microsoft .NET Platform. Dengan

demikian, algoritma yang digunakan program akan lebih sulit

disembunyikan dan mudah dibajak/direverse-engineer.

2. Penggunaan memori yang banyak. Penggunaan memori untuk

program berbasis Java jauh lebih besar daripada bahasa tingkat tinggi

generasi sebelumnya seperti C/C++ dan Pascal (lebih spesifik lagi,

Delphi dan Object Pascal). Biasanya ini bukan merupakan masalah

bagi pihak yang menggunakan teknologi terbaru (karena trend

memori terpasang makin murah), tetapi menjadi masalah bagi mereka

yang masih harus berkutat dengan mesin komputer berumur lebih dari

4 tahun.

1.18 MySQL

MySQL adalah salah satu perangkat lunak Sistem Manajemen Database

atau Database Management System (DBMS) yang sangat terkenal dan Populer

saat ini. MySQL memiliki banyak kemudahan untuk dipelajari dan digunakan.

Page 35: BAB 2 LANDASAN TEORI 1.7 Penjadwalan Penerbanganlibrary.binus.ac.id/eColls/eThesisdoc/Bab2/2008-1-00264-MTIF-Bab 2.pdf · untuk memberikan keamanan dan membuat pesawat memiliki daya

42

Beberapa hal penting yang menyebabkan MySQL dikenal dan banyak

digunakan orang adalah:

• MySQL mudah dipelajari, baik dalam hal struktur database maupun

pengguna query.

• MySQL dapat dijalankan dan menangani banyak user dalam waktu

bersamaan.

• Kelebihannya dapat menampung lebih dari lima puluh juta record membuat

MySQL merupakan pilihan tepat untuk menampung record suatu instansi

atau perusahaan skala kecil dan menengah.

• MySQL mempunyai kecepatan cukup signifikan dalam hal eksekusi perintah

dibandingkan dengan paket database lainnya.

• MySQL menyediakan dokumen open source sehingga pengguna leluasa

melakukan perubahan-perubahan source code untuk mengembangkan sistem

sesuai dengan kebutuhan.

• MySQL memiliki User Privilege System yang sangat mudah dan efisien.

• Database MySQL dapat dipindahkan atau dimigraasikan ke paket database

lainnya, misalnya Oracle yang sudah membuat modul khusus untuk

memudahkan proses.