BAB 2 LANDASAN TEORI
2.1
Pembangkit Listrik Pembangkit listrik adalah bagian dari alat industri yang dipakai untuk memproduksi dan membangkitkan tenaga listrik dari berbagai sumber tenaga, seperti PLTU, PLTN, PLTA, dan lain-lain. Bagian utama dari pembangkit listrik ini adalah generator, yakni mesin yang berputar yang mengubah energi mekanis menjadi energi listrik dengan menggunakan prinsip medan magnet dan penghantar listrik. Mesin generator ini diaktifkan dengan menggunakan berbagai sumber energi yang sangat bermanfaat dalam suatu pembangkit listrik.
Bahan bakar •
Pembangkit listrik tenaga nuklir (PLTN) menggunakan panas sebuah reaktor nuklir untuk menggerakkan generator turbin uap. Kira-kira 20% pembangkit listrik di Amerika Serikat dihasilkan oleh PLTN.
•
Pembangkit listrik tenaga bahan bakar fosil juga dapat menggunakan generator turbin uap di dalam kasus pembangkit berbahan bakar gas alam yaitu turbin gas. Pembangkit listrik tenaga batubara (PLTB) menghasilkan listrik dengan membakar batubara untuk menguapkan air, dan memiliki dampak samping buangan karbon dioksida yang cukup besar, yang dilepaskan dari pembakaran batubara dan berperan bagi pemanasan global. 7
8
Kira-kira 50% pembangkitan listrik di Amerika Serikat dihasilkan dari PLTB. •
Pembangkit listrik tenaga panas bumi (PLTPB) menggunakan uap yang disarikan dari bebatuan yang panas dari bawah tanah.
•
Energi terbarukan atau Pembangkit listrik tenaga biomassa dapat dibahanbakari oleh ampas tebu, sampah kota, metana dari peternakan, atau bentuk biomassa lainnya.
•
Di dalam industri peleburan baja, gas buang tanur tinggi berbea rendah, kendati kepadatan-energi-rendah, bahan bakar.
•
Panas buangan dari proses industri kadang-kadang cukup ekonomis untuk digunakan sebagai sumber pembangkit, biasanya di dalam turbin dan pendidih uap. Pembangkit listrik tenaga surya menggunakan cahaya matahari untuk
mendidihkan air, yang kemudian uapnya menggerakkan turbin.
2.2
Teori Optimasi Teori optimasi atau yang dikenal dengan nama riset operasi berkembang sejak Perang Dunia II. Perkembangan dan penerapannya berlangsung begitu cepat dalam bidang-bidang penting. Mulai dari proyek pesawat, perencanaan strategi perang, industri, perdagangan dan lain-lain. Menurut Miller dan M. K. Star, riset operasi adalah peralatan manajemen yang menyatukan ilmu pengetahuan matematika dan logika dalam rangka memecahkan masalah yang dihadapi sehari-hari sehingga dapat dipecahkan secara optimal. Atau lebih
9
umumnya, riset operasi merupakan proses pengambilan keputusan yang optimal dalam penyusunan model dari sistem-sistem, baik deterministik maupun probabilistik yang berasal dari kehidupan nyata (sutrisno, 2008).
2.2.1 Jenis Optimasi Ada berbagai jenis optimasi yang sudah berkembang antara lain pemrograman linear dan pemrograman non-linear (Sutrisno, 2008). 1. Program linear Program linear menyelesaikan kasus pada fungsi tujuan dan fungsi kendala yang bersifat linear, yaitu pangkat dari variabelnya adalah 1. Bentuk umum model program linear adalah: Maks/Min
∑
Kendala : ∑
/ 0
Untuk i = 1,2,3,...,m Untuk j = 1,2,3,...,n
Untuk menyelesaikan program linear, dapat digunakan metode grafik, yaitu mentransformasikan formulasi ke dalam sebuah grafik. Tetapi metode ini hanya efektif untuk formulasi dengan banyak variabel dua. Untuk formulasi dengan variable lebih dari dua, dapat digunakan metode simpleks. 2. Program non-linear Program non-linear merupakan pemrograman dengan fungsi tujuannya saja atau bersama dengan fungsi kendala berbentuk non linear yaitu
10
pangkat dari variabelnya lebih dari satu. Program non linear dapat mempunyai kendala maupun tidak mempunyai kendala.
2.3
Metode Simplex Penyelesaian dengan metode simplex dipakai apabila permasalahan linear programming terdiri dari lebih dari dua variabel. Metode simplex adalah suatu metode
yang
melibatkan
proses
matematika
berulang-ulang
sampai
ditemukannya pemecahan yang optimal.
2.3.1
Langkah –langkah penggunaan metode simplex
1. constraint dengan bentuk ≤ / ≥ diubah menjadi bentuk persamaan dengan cara: a) Menambahkan sebuah variable slack pada sisi kiri dari sebuah constraint. Variable slack berarti jumlah sumber data yang tidak digunakan. b) Dikurangkan dengan variable surplus dan menambahkan dengan variable artificial. Variable surplus berarti kelebihan di atas jumlah yang di batasi. Variable artificial adalah vaiabel yang ditambahkan agar proses simplex dapat dimulai. c) Bila terdapat variable artificial harus ditambahkan koefisien bilangan M (bilangan positif yang sangat besar nilainya) sebagai pengali dari variable artificial agar variable ini tidak tampak pada table optimal.
11
2. membentuk table simplex. 3. menentukan kolom kunci. 4. menentukan baris pivot. 5. menghitung nilai-nilai baris pada table. 6. memeriksa apakah pemecahan sudah mencapai optimal. 2.2.2
Pengerjaan Pencarian Solusi Langkah – langkah iterasi dari metode simplex. Agar lebih mudah penulis
akan menerangkan menggunakan contoh: Maksimumkan Z = 3X1 + 5X2 Batasan (constrain) (1)
2X1
≤8
(2)
3X2
≤ 15
(3)
6X1 + 5X2
≤ 30
Langkah 1 : Mengubah fungsi tujuan dan batasan-batasan Fungsi tujuan
Z = 3X1 + 5X2
diubah menjadi
Z - 3X1 - 5X2 = 0.
Fungsi batasan (1) 2X1
≤8 menjadi 2X1
+ X3
(2) 3X2
≤15 menjadi
(3) 6X1 + 5X2
≤30 menjadi 6X1 + 5X2
3X2
= 8 + X4
= 15 + X5 = 30
12
Langkah 2 : Menyusun persamaan di dalam tabel:
Gambar 2.1 Simplex Awal Langkah 3 : Memilih kolom kunci. Kolom kunci adalah kolom yang merupakan dasar untuk mengubah tabel simplex. Pilihlah kolom yang mempunyai nilai pada garis fungsi tujuan yang bernilai negative dengan angka terbesar
Gambar 2.2 Simplex Pencarian Kolom Kunci Langkah 4 : Memilih baris kunci Baris kunci adalah baris yang merupakan dasar untuk mengubah tabel simplek, dengan cara mencari indeks tiap-tiap baris dengan membagi nilai-nilai pada kolom NK dengan nilai yang sebaris pada kolom kunci.
13
Indeks = (Nilai Kolom NK) / (Nilai kolom kunci) Untuk baris batasan 1 besarnya indeks = 8/0 = ,
baris
batasan 2 = 15/3 = 5, dan baris batasan 3 = 30/5 = 6. Pilih baris yang mempunyai indeks positif dengan angka terkecil. Dalam hal ini batasan ke-2 yang terpilih sebagai baris kunci. Beri tanda segi empat pada baris kunci. Nilai yang masuk dalam kolom kunci dan juga masuk dalam baris kunci disebut angka kunci. Langkah 5 : Mengubah nilai – nilai baris kunci Nilai baris kunci diubah dengan cara membaginya dengan angka kunci, seperti tabel 3. bagian bawah (0/3 = 0; 3/3 = 1; 0/3 = 0; 1/3 = 1/3; 0/3 = 0; 15/3 = 5). Gantilah variabel dasar pada baris itu dengan variabel yang terdapat di bagian atas kolom kunci (X2).
Gambar 2.3 Simplex mengubah garis kunci
14
Langkah 6 : Mengubah nilai – nilai selain pada baris kunci. Menggunakan rumus Baris baru = baris lama – (koefisien pada kolom kunci) x nilai baru baris kunci. Contoh dalam gambar
Gambar 2.4 Baris Baru Setelah diubah semua baris nya maka akan menghasilkan tabel berikut
Gambar 2.5 Simplex setelah selesai diperbaiki Langkah 7 : Melanjutkan perbaikan Ulangil langkah-langkah perbaikan mulai langkah 3 sampai langkah ke-6 untuk memperbaiki tabel-tabel yang telah diubah/diperbaiki nilainya. Perubahan baru berhenti setelah pada baris pertama (fungsi tujuan) tidak ada yang bernilai negatif.
15
Gambar 2.6 Simplex Optimum Dari gambar akan didapat nilai akhir X1 = 5/6 , X2 = 5, dan Zmaksimum = 27 1/2
2.4
Teori Simulasi Simulasi merupakan suatu model pengambilan keputusan dengan mencontoh atau mempergunakan gambaran sebenarnya dari suatu sistem kehidupan dunia nyata Dengan
tanpa
harus
mencontoh
mengalaminya atau
pada
menduplikasi
keadaan keadaan
yang yang
sesungguhnya. sebenarnya
ini
memungkinkan pengambil keputusan untuk melakukan suatu eksperimen terhadap sistem dan prediksi tingkah laku dan hasilnya berdasarkan input berbagai parameter dan aturan. Di samping itu, pengambilan keputusan juga dapat menganalisis berbagai performa sistem dan memilih keputusan yang optimal untuk jangka waktu yang panjang.
16
Simulasi
digunakan
apabila
suatu
kasus
atau
masalah
nyata
model
matematikanya tidak dapat dibentuk atau metode atau rumus yang tersedia tidak dapat dipakai.
2.4.1
Jenis- Jenis Simulasi
Simulasi dapat dibedakan atas dua, yaitu sebagai berikut.
A. Simulasi Analog Simulasi analog artinya menggantikan lingkungan fisik yang asli dengan lingkungan fisik tiruan yang lebih mudah untuk dimanipulasi. Simulasi ini mempergunakan representasi fisik untuk menjelaskan karateristik yang penting dari masalah
Contoh Sistem ekonomi makro disimulasi dengan sistem hidrolika, di mana sistem ekonomi
makro
dipresentasikan
sebagai
bejana
air
yang
mempunyai
aliran/agregat ekonomi, sedang aliran air masuk dan keluar merupakan inflow ke outflow dari ekonomi atas barang dan jasa tersebut.
17
B. Simulasi Matematik Simulasi matematik artinya meniru sistem dengan model matematik untuk mendapatkan ciri operasi sistem melalui suatu eksperimen. Jika eksperimen ini berulang-ulang, maka untuk mempermudah dan mempercepat penyelesaian hitungnya digunakan bantuan komputer.
Simulasi Monte Carlo Arti istilah Monte Carlo sering dianggap sama dengan simulasi probabilitas. Monte Carlo sebenarnya bukanlah jenis silulasi, melainkan hanya suatu teknik yang digunakan untuk menyelesaikan suatu simulasi.
Model simulasi ini mempergunakan angka-angka random. Angka random adalah suatu set angka yang kemungkinan timbulnya adalah sama (probabilitas timbulnya angka tersebut sama ) dan pola angka yang timbul tidak dapat diidentifikasi. Angka random yang digunakan dalam simulai ini dihasilkan komputer dan sering disebut pseudo random numbers.
Prosedur penyelesaian pada simulasi Monte Carlo ini adalah sebagai berikut : 1. Buatlah tabel probabilitas kumulatif masalahnya, kemudian tentukan interval probabilitas
kumulatif
tersebut
dan
interval
angka
randomnya.
2. Pilihlah sebuah angka random secara sembarang (acak) dari tabel angka random. 3. Ulangi pemilihan angka random kedua dan seterusnya pada daftar yang
18
arahnya boleh kemanapun dari angka random pertama asal tidak berulang (angka random pertama yang dipilih tidak dipilih lagi).(Hasan,2002)
2.4.2 Bentuk Linear Programing Standart
Untuk mendapatkan keputusan yang optimal dalam penyelesaian persoalan dengan menggunakan teknik linear programming, langkah pertama yang harus dilaksanakan adalah mengidentifikasikan masalah ke dalam bentuk matematis atau sering disebut pembuatan model linear programming (Hartanto,2005). Langkah – langkah yang perlu dilakukan untuk merumuskan model linear programming tersebut adalah (Hartanto, 2005): 1.
Tentukan variabel keputusan yang akan dicari dan beri notasi dalam bentuk matematis.
2.
Tentukan batasan dari variabel keputusan tadi dan gambarkan ke dalam bentuk persamaan linear atau ketidaksamaan linear.
3.
Tentukan tujuan yang akan dicapai dari variabel keputusan tadi dan gambarkan dalam satu set fungsi linear yang berbentuk maksimasi keuntungan atau minimasi biaya.
Secara umum bentuk model linear programming dapat digambarkan sebagai berikut (Hartanto, 2005):
Max atau Min
Z = C1X1 + C2X2 + C3X3 + .... + CnXn ............................(1)
Dengan batasan
A11X1 + A12X2 + A13X3 + .... + A1nXn ≤ B1....................(2) A21X1 + A22X1 + A23X1 + .... + A2nXn ≤ B2....................(3) Am1X1 + Am2X1 + Am3X1 + .... + AmnXn ≤ B2.................(4)
19
Di mana
X1, X2, X3, ..., Xn ≥ 0.......................................................(5)
Karena persoalan linear programming merupakan masalah alokasi, maka perumusan di atas dapat diinterpretasikan sebagai berikut (Hartanto, 2005): Z
→ Nilai tujuan yang akan dicapai.
X1,X, X3, ...,Xn → Variabel keputusan yang akan dicari. Aij
→ Jumlah resource yang harus dialokasikan setiap kegiatan ke (j).
b1, b2, b3, ..., bm → Jumlah resource. cij
2.5
→ Nilai dari setiap kegiatan ke (j).
Rekayasa Piranti lunak Menurut Pressman, Perangkat Lunak adalah perintah program komputer yang bila dieksekusi akan memberikan fungsi seperti yang diinginkan , serta struktur data yang memungkinkan program memanipulasi informasi secara proporsional dan dokumentasi yang menggambarkan operasi dan kegunaan program. Penulis akan menggunakan metode pembangunan program yang sudah cukup banyak dikenal oleh masyarakat pemrograman, yaitu Water Fall Model. Model Waterfall adalah suatu proses pengembangan perangkat lunak berurutan, di mana kemajuan dipandang sebagai terus mengalir ke bawah (seperti air
terjun)
melewati
fase-fase
perencanaan,
pemodelan,
implementasi
(konstruksi), dan pengujian. Berikut adalah gambar pengembangan perangkat
20
lunak
berurutan/
Analysis
linear
Design
(Pressman,
Roger
S.
Code
2001):
Test
Gambar 2.7 Pengembangan Perangkat Lunak Linear Berikut adalah langkah-langkah pengembangan perangkat lunak dengan model waterfall: 1. Scope Kegiatan awal pada perencanaan adalah penentuan scope. Pernyataan scope mencakup data, fungsi, dan perilaku yg harus diimplementasikan, performance dan constrain serta informasi-informasi pendukung lainnya 2. Software Requirement (Kebutuhan Perangkat Lunak) Requirement adalah gambaran dari layanan (services) dan batasan bagi sistem yang akan dibangun.
21
Pengumpulan requirement •
Interviews : Memberi informasi yang terbaik,mahal.
•
Questionnaires: Bagus jika banyak orang terlibat dan tersebar, respon cenderung kurang baik.
•
Observation: Akurat jika dilakukan dengan baik, mahal.
•
Searching: Informasi terbatas, cenderung tidak menampilkan hal-hal yang mungkin jadi masalah.
Beberapa macam requirement: •
User Requirement (Kebutuhan Pengguna) Pernyataan tentang layanan yang disediakan sistem dan tentang batasan-
batasan operasionalnya. Dilengkapi dengan gambar/diagram yang dapat dimengerti dengan mudah. •
System Requirement (Kebutuhan Sistem) Sekumpulan layanan/kemampuan sistem dan batasan-batasannya yang
ditulis secara detil. Ini bisa berlaku sebagai kontrak antara klien dan pembangun. •
Software Requirement Specification (Spesifikasi Kebutuhan Perangkat Lunak) Gambaran abstrak dari rancangan perangkat lunak yang menjadi dasar bagi perancangan dan implementasi yang lebih detil
22
3. Analisis Tujuan analisis adalah sebagai berikut: •
Mengambarkan kebutuhan pelanggan,
•
Membangun dasar-dasar untuk proses desain perangkat lunak,
•
Mendefinisikan semua kebutuhan pelanggan sesuai dengan lingkup kontrak yang disepakati kedua belah pihak.
Gambar Struktur Pemodelan Analisa Gambar di atas adalah gambar struktur pemodelan analisis (Pressman, Roger S. 2001) yang menggambarkan bahwa pemodelan analisis terdiri dari 3 bagian yaitu pemodelan data, pemodelan fungsional, dan pemodelan kelakuan. Pemodelan Data adalah mendeskripsikan data yang terlibat dalam PL yang terdiri dari:
23 •
Data Object Description Yaitu deskripsi atribut dari setiap objek data.
•
Entity Relationship Diagram Yaitu diagram keterhubungan antar objek data.
•
Data Dictionary Yaitu deskripsi semua objek data yang dibutuhkan maupun dihasilkan oleh perangkat lunak.
Permodelan Fungsional adalah mendeskripsikan seluruh fungsi yang terlibat dalam perangkat lunak yang terdiri dari: •
Data Flow Diagram
Menggambarkan bagaimana data ditransformasikan pada perangkat lunak dan menggambarkan fungsi-fungsi yang mentransformasikan data. •
Process Specification
Berisi deskripsi dari setiap fungsi yang muncul pada DFD. Pemodelan Status/Kelakuan adalah mendeskripsikan status sistem yang dapat muncul ketika perangkat lunak digunakan atau mendeskripsikan kelakuan sistem. •
State Transition Diagram
•
Control Specification
24
4. Perancangan Perancangan
perangkat
lunak
adalah
proses
di
mana
analisis
diterjemahkan menjadi “cetak biru” untuk membangun perangkat lunak. Awalnya, cetak biru menggambarkan pandangan menyeluruh perangkat lunak. Yaitu, desain diwakili pada tingkat abstraksi tinggi-tingkat yang dapat langsung ditelusuri pada sistem tertentu objektif dan data yang lebih rinci, fungsional, dan perilaku persyaratan. Seperti terjadi pengulangan desain, perbaikan berikutnya mengarah pada representasi desain yang jauh lebih rendah tingkat abstraksi. Berikut adalah gambar hubungan pemodelan antara analisa dan pemodelan perancangan (Pressman, Roger S. 2001):
Gambar Hubungan Antara Analisis dan Perancangan
Prinsip perancangan perangkat lunak:
25 •
Siap dengan alternatif solusi.
•
Perancangan yang dibuat bisa dilacak sampai ke model analisis.
•
Untuk bagian-bagian yang berpola sama gunakan komponen yang sudah ada. Ini sering disebut : reuse design component.
•
Struktur perangkat lunak sebisa mungkin mendekati struktur domain yang sebenarnya.
•
Perancangan sebaiknya menampilkan keseragaman dan kesatuan.
•
Perancangan harus terstruktur dan mudah menerima perubahan.
•
Mampu mengatasi kejadian tidak normal dengan baik.
•
Perancangan tidak sama dengan pengkodean.
•
Kualitas perangkat lunak harus sudah terlihat dari perancangan.
•
Perancangan, sebelum dikodekan, perlu diuji untuk mengurangi kesalahan.
Metode Perancangan: •
Perancangan Data Yaitu transformasi model data yang dihasilkan oleh proses analisis menjadi struktur data yang dibutuhkan pada saat implementasi. Hasil perancangan data adalah: -
struktur data siap diprogram
-
struktur basis data siap dibuat oleh pemrogram
-
prosedur/operasi untuk mengakses data, siap deprogram
26
•
Perancangan Arsitektur
Yaitu definisi keterkaitan antar elemen-elemen utama yang akan membentuk program. Hasil perancangan arsitektural: Structure Chart yang merepresentasikan gambaran menyeluruh struktur/ arsitektur perangkat lunak, beserta seluruh hierarki kendali/passing parameter, yang siap dituliskan dalam bentuk modul program. •
Perancangan Antarmuka
Yaitu penjabaran komunikasi: internal perangkat lunak, antara perangkat lunak, dengan sistem diluarnya, dan antara perangkat lunak dengan usernya. Hasil perancangan antarmuka adalah: - definisi antarmuka modul yang siap untuk diprogram - definisi / format rancangan layar yang siap diimplementasikan •
Perancangan Prosedur
Yaitu transformasi elemen struktural dari arsitektur program menjadi deskripsi prosedur.
27
Hasil perancangan prosedur adalah: - Flow-chart - Algoritma/pseudocode/program design language 5. Implementasi Implementasi perangkat lunak adalah melaksanakan,eksekusi, atau praktek dari rencana, metode, atau desain dalam pengembangan perangkat lunak. Pada tahap ini dilakukan kerja untuk membangun perangkat lunak berdasarkan analisis dan pemodelan yang telah dilakukan. Sehingga hasil dari tahap ini adalah basis data dan source code perangkat lunak. 6. Pengujian Setelah source code dihasilkan, perangkat lunak harus diuji untuk menemukan (dan membenarkan) sebanyak mungkin kesalahan yang dibuat. Pengujian perangkat lunak adalah penyelidikan empiris para pemangku kepentingan untuk menyediakan informasi mengenai kualitas perangkat lunak yang diuji. Pengujian perangkat lunak juga menyediakan pandangan independen dari perangkat lunak yang objektif untuk memungkinkan bisnis untuk menghargai dan memahami risiko pada pelaksanaan perangkat lunak. Teknik uji meliputi, tetapi tidak terbatas pada, proses eksekusi sebuah program atau aplikasi dengan tujuan menemukan bug perangkat lunak.
28
Metode pengetesan: 1. Black box testing Black box testing memperlakukan pengujian perangkat lunak sebagai “kotak hitam” – tanpa pengetahuan tentang pelaksanaan internal. 2. White box testing White box testing adalah ketika penguji memiliki akses ke struktur data internal dan algoritma termasuk source code.