• Tidak ada hasil yang ditemukan

SKRIPSI. Diajukan untuk Memenuhi Salah Satu Syarat. Memperoleh Gelar Sarjana Pendidikan. Program Studi Pendidikan Matematika.

N/A
N/A
Protected

Academic year: 2022

Membagikan "SKRIPSI. Diajukan untuk Memenuhi Salah Satu Syarat. Memperoleh Gelar Sarjana Pendidikan. Program Studi Pendidikan Matematika."

Copied!
97
0
0

Teks penuh

(1)

i

MENGGUNAKAN INTEGER PROGRAMMING DENGAN PEMROGRAMAN PYTHON

SKRIPSI

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Pendidikan Program Studi Pendidikan Matematika

Disusun oleh:

Clara Egelia Hanggar Katisna (171414068)

PROGRAM STUDI PENDIDIKAN MATEMATIKA

JURUSAN PENDIDIKAN MATEMATIKA DAN ILMU PENGETAHUAN ALAM FAKULTAS KEGURUAN DAN ILMU PENDIDIKAN

UNIVERSITAS SANATA DHARMA YOGYAKARTA

2021

(2)

SKRIPSI

ii

OPTIMASI KOMPOSISI TIPE RUMAH YANG DIBANGUN DALAM PROYEK PENGEMBANGAN PERUMAHAN “AMBARA CITRA” DI PRAMBANAN MENGGUNAKAN INTEGER PROGRAMMING DENGAN

PEMROGRAMAN PYTHON

Disusun oleh:

Clara Egelia Hanggar Katisna NIM: 171414068

Telah disetujui oleh:

Dosen Pembimbing,

Dominikus Arif Budi Prasetyo, M.Si. Tanggal: 30 Juli 2021

(3)

SKRIPSI

iii

OPTIMASI KOMPOSISI TIPE RUMAH YANG DIBANGUN DALAM PROYEK PENGEMBANGAN PERUMAHAN “AMBARA CITRA” DI PRAMBANAN MENGGUNAKAN INTEGER PROGRAMMING DENGAN

PEMROGRAMAN PYTHON

Dipersiapkan dan ditulis oleh:

Clara Egelia Hanggar Katisna NIM: 171414068

Telah dipertahankan di depan Panitia Penguji pada tanggal 16 Agustus 2021

dan dinyatakan telah memenuhi syarat

Susunan Panitia Penguji

Nama Lengkap Tanda Tangan

Ketua : Dr. Marcellinus Andy Rudhito, S.Pd. ………..

Sekretaris : Beni Utomo, M.Sc. ………..

Anggota I : Dominikus Arif Budi Prasetyo, M.Si. ………..

Anggota II : Febi Sanjaya, M.Sc. ………..

Anggota III : Dewa Putu Wiadnyana Putra, S.Pd., M.Sc. ………..

Yogyakarta, 16 Agustus 2021

Fakultas Keguruan dan Ilmu Pendidikan Universitas Sanata Dharma

Dekan,

Dr. Yohanes Harsoyo, S.Pd., M.Si.

(4)

iv

HALAMAN PERSEMBAHAN Kupersembahkan skripsi ini untuk:

Bapak Yohanes Yuni Kuswanto dan Ibu Eunike Nurwi Sumarwanti, serta semua orang baik yang peduli.

(5)

v

HALAMAN MOTTO

“If you only do what you can do, you will never be more than you are now.”

-Master Shifu (Kung Fu Panda 3)

(6)

vi

PERNYATAAN KEASLIAN KARYA

pustaka, sebagaimana layaknya karya ilmiah.

Penulis

Clara Egelia Hanggar Katisna Yogyakarta, 16 Agustus 2021

karya atau bagian karya orang lain, kecuali yang telah disebutkan dalam kutipan dan daftar Saya menyatakan dengan sesungguhnya bahwa skripsi yang saya tulis ini tidak memuat

(7)

vii

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPERLUAN AKADEMIS

Yang bertanda tangan di bawah ini, saya mahasiswa Universitas Sanata Dharma Yogyakarta:

Nama : Clara Egelia Hanggar Katisna NIM : 171414068

Demi pengembangan ilmu pengetahuan, saya memberikan kepada Perpustakaan Universitas Sanata Dharma karya ilmiah saya yang berjudul:

OPTIMASI KOMPOSISI TIPE RUMAH YANG DIBANGUN DALAM PROYEK PENGEMBANGAN PERUMAHAN “AMBARA CITRA” DI PRAMBANAN MENGGUNAKAN INTEGER PROGRAMMING DENGAN PEMROGRAMAN PYTHON

Dengan demikian, saya memberikan hak kepada Perpustakaan Universitas Sanata Dharma Yogyakarta untuk menyimpan, mengalihkan dalam bentuk media lain, mengolahnya dalam bentuk pengakalan data, mendistribusikan secara terbatas, dan mempublikasikannya di internet atau media lain untuk kepentingan akademis tanpa perlu meminta izin dari saya maupun memberikan royalty kepada saya selama tetap mencantumkan nama saya sebagai penulis.

Demikian pernyataan ini saya buat dengan sebenar-benarnya.

Yang menyatakan,

Clara Egelia Hanggar Katisna Yogyakarta, 16 Agustus 2021

(8)

viii ABSTRAK

Clara Egelia Hanggar Katisna. 2021. Optimasi Komposisi Tipe Rumah yang Dibangun dalam Proyek Pengembangan Perumahan “Ambara Citra” di Prambanan Menggunakan Integer Programming dengan Pemrograman Python.

Skripsi. Program Studi Pendidikan Matematika. Jurusan Pendidikan Matematika dan Ilmu Pengetahuan Alam. Fakultas Keguruan dan Ilmu Pendidikan. Universitas Sanata Dharma.

Meningkatnya jumlah penduduk akan berdampak pada meningkatnya kebutuhan akan tempat tinggal. Hal tersebut menjadi peluang bagi perusahaan pengembang perumahan untuk membuka lahan perumahan. PT. Citra Kedaton merupakan salah satu perusahaan pengembang perumahan di Yogyakarta. Proyek terbaru perusahaan tersebut adalah pembangunan perumahan “Ambara Citra” yang terletak di Prambanan, Klaten, Jawa Tengah.

Tujuan penelitian ini untuk mengetahui komposisi optimal jumlah unit setiap tipe rumah, keuntungan maksimum pada pembangunan perumahan “Ambara Citra”, dan mengembangkan aplikasi GUI Python untuk Integer Programming.

Kendala-kendala yang digunakan yaitu kapasitas lahan, minat beli masyarakat, dan kapasitas perumahan. Instrumen yang digunakan untuk pengambilan data adalah daftar pertanyaan wawancara, kuesioner, dan dokumen tipe rumah, kapasitas lahan, dan harga jual masing-masing tipe rumah yang diperoleh dari PT. Citra Kedaton.

Kuesioner digunakan untuk memperoleh data terkait minat beli masyarakat Sleman (kecamatan Prambanan, Berbah, Kalasan, Depok, Ngaglik, dan Ngemplak) dan Klaten (kecamatan Prambanan, Manisrenggo, Jogonalan, Gantiwarno, Kebonarum, dan Karangnongko) yang dekat dengan lokasi perumahan terhadap suatu tipe rumah yang dibangun dalam proyek pengembangan perumahan “Ambara Citra” dengan sampel sebanyak 100 rumah tangga.

Berdasarkan hasil optimasi diperoleh komposisi tipe rumah yang dibangun yaitu tipe 45/84 sebanyak 43 unit, tipe 50/96 sebanyak 17 unit, dan tipe 62/112 sebanyak 12 unit. Keuntungan maksimum yang diperoleh dari pembangunan seluruh rumah adalah Rp5.556.320.000,00. Langkah pengembangan aplikasi GUI Python yaitu penyusunan algoritma Python untuk Integer Programming dengan pustaka PuLP dan CBC, penyusunan GUI dengan pustaka Tkinter, dan penerapannya pada masalah Integer Programming.

Kata kunci: Optimasi, Integer Programming, Pemrograman Python.

(9)

ix ABSTRACT

Clara Egelia Hanggar Katisna. 2021. Composition Optimization of Types of Houses Built for Housing Development Project “Ambara Citra” in Prambanan Using Integer Programming with Python Programming. Undergraduate Thesis.

Mathematics Education Study Program. Department of Mathematics and Science Education. Faculty of Teacher Training and Education. Sanata Dharma University.

Population growth increases the demand for housing. This leads to an opportunity for housing developer companies to manage the land. PT. Citra Kedaton is one of housing developer companies in Yogyakarta. The company’s latest project was developing “Ambara Citra” which was built in Prambanan, Klaten, Central Java.

This research aims to determine the optimal composition of the number of units of each house type, to calculate the maximum profit in the construction of housing “Ambara Citra”, and to develop GUI Python application for Integer Programming. The constrains were land capacity, consumer buying interest, and housing capacity. The instruments which were used in this research were a list of interview question, questionnaires, a list of the type of house, the data of land capacity, and the list of selling price of each type of house in which it all were obtained from PT. Citra Kedaton database. The questionnaire was used to collect the data related to consumers buying interest from the people in Sleman (Prambanan, Manisrenggo, Jogonalan, Gantwarno, Kebonarum, dan Karangnongko sub-district) and Klaten (Prambanan, Manisrenggo, Jogonalan, Gantiwarno, Kebonarum, dan Karangnongko sub-district) of house types in the housing development project “Ambara Citra”. The samples were 100 households.

Based on the optimization results, the composition of the type of houses which can be built was 43 units of type 45/84, 17 units of type 50/96, and 12 units of type 62/112. The maximum profit which can be collected from the construction of the entire house were Rp 5,556,320,000.00. Some steps to develop GUI Python application were conducted in this research such as compiling Python algorithm for the Integer Programming with PuLP and CBC libraries, arranging GUI with Tkinter library, and implementing the program to solve the problem in Integer Programming.

Keywords: Optimization, Integer Programming, Python Programming.

(10)

x

KATA PENGANTAR

Puji syukur penulis panjatkan kepada Tuhan Yang Maha Esa atas segala rahmat-Nya sehingga skripsi mengenai "OPTIMASI KOMPOSISI TIPE RUMAH YANG DIBANGUN DALAM PROYEK PENGEMBANGAN PERUMAHAN “AMBARA CITRA” DI PRAMBANAN MENGGUNAKAN INTEGER PROGRAMMING DENGAN PEMROGRAMAN PYTHON" ini dapat tersusun hingga selesai. Skripsi ini disusun untuk memenuhi salah satu syarat memperoleh gelar Sarjana Pendidikan pada Program Studi Pendidikan Matematika, Jurusan Pendidikan Matematika dan Ilmu Pengetahuan Alam, Fakultas Keguruan dan Ilmu Pendidikan, Universitas Sanata Dharma.

Selama proses penyusunan skripsi ini penulis menyadari banyak pihak yang turut terlibat dalam memberikan dukungan, bantuan, doa, serta motivasi kepada penulis. Oleh karena itu, penulis ingin mengucapkan terima kasih kepada:

1. Bapak Dr. Yohanes Harsoyo, S.Pd., M.Si., selaku Dekan Fakultas Keguruan dan Ilmu Pendidikan Universitas Sanata Dharma.

2. Bapak Dr. Marcellinus Andy Rudhito, S.Pd., selaku Ketua Jurusan Pendidikan Matematika dan Ilmu Pengetahuan Alam.

3. Bapak Beni Utomo, M.Sc., selaku Ketua Program Studi Pendidikan Matematika sekaligus Dosen Pembimbing Akademik.

4. Bapak Dominikus Arif Budi Prasetyo, M.Si., selaku Dosen Pembimbing Skripsi yang telah memberikan bimbingan, pengetahuan, dan motivasi kepada penulis dalam menyusun skripsi ini.

5. Bapak dan Ibu Dosen Pendidikan Matematika Universitas Sanata Dharma yang telah memberikan ilmu selama perkuliahan.

6. Bapak Rama Adyaksa Pradipta, S.T., M.T., selaku pemilik PT. Citra Kedaton yang telah memberi ijin kepada penulis untuk melakukan penelitian di perusahaan.

7. Kedua orang tua, Bapak Yohanes Yuni Kuswanto dan Ibu Eunike Nurwi Sumarwanti yang telah mendoakan, mendukung, dan terus memberi motivasi

(11)

xi

kepada penulis sehingga dapat menyelesaikan studi di Universitas Sanata Dharma.

8. Adikku, Martha Olla Kumara Kristi yang telah menemani, mendoakan, dan memberi semangat.

9. Ivania dan Asarela Josephine Filtareta yang telah menjadi sahabat selama perkuliahan.

10. Teman-teman satu bimbingan skripsi: Asa, Kezia, Deva, Nia, dan Yoga yang telah besama-sama berjuang menyelesaikan skripsi.

11. Semua pihak yang telah membantu penulis, yang tidak dapat disebutkan satu- persatu.

Penulis menyadari bahwa skripsi ini masih ada kekurangan. Oleh sebab itu, penulis mengharapkan kritik dan saran yang membangun dari para pembaca untuk perbaikan penelitian selanjutnya. Penulis berharap skripsi ini dapat berguna dan menambah pengetahuan serta wawasan bagi para pembaca.

Clara Egelia Hanggar Katisna Yogyakarta, 16 Agustus 2021

(12)

xii DAFTAR ISI

HALAMAN JUDUL ... i

LEMBAR PERSETUJUAN ... ii

LEMBAR PENGESAHAN ... iii

HALAMAN PERSEMBAHAN ... iv

HALAMAN MOTTO ... v

PERNYATAAN KEASLIAN KARYA ... vi

LEMBAR PERNYATAAN PERSETUJUAN PUBLIKASI KARYA ILMIAH UNTUK KEPERLUAN AKADEMIS ... vii

ABSTRAK ... viii

ABSTRACT ... ix

KATA PENGANTAR ... x

DAFTAR ISI ... xii

DAFTAR GAMBAR ... xv

DAFTAR TABEL ... xvi

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang ... 1

1.2 Rumusan Masalah ... 4

1.3 Tujuan Penelitian ... 4

1.4 Batasan Masalah ... 4

1.5 Manfaat Penelitian ... 5

1.6 Sistematika Penulisan ... 6

BAB II KAJIAN PUSTAKA ... 7

2.1 Pembangunan Perumahan ... 7

(13)

xiii

2.2 Kendala Pembangunan Perumahan ... 9

2.3 Linear Programming ... 9

2.4 Integer Programming ... 20

2.5 Pemrograman Python ... 35

2.6 Penelitian yang Relevan ... 38

BAB III METODE PENELITIAN ... 40

3.1 Jenis Penelitian ... 40

3.2 Waktu dan Tempat Penelitian ... 40

3.3 Teknik Pengumpulan Data ... 40

3.4 Teknik Analisis Data ... 41

BAB IV HASIL DAN PEMBAHASAN ... 42

4.1 Deskripsi Proyek Perumahan ... 42

4.2 Analisis Minat Beli Masyarakat ... 45

4.3 Model Matematika ... 46

4.4 Pemrograman Python ... 50

4.5 Hasil Optimasi ... 67

BAB V KESIMPULAN DAN SARAN ... 71

5.1 Kesimpulan ... 71

5.2 Saran ... 72

DAFTAR PUSTAKA ... 73

LAMPIRAN ... 75

Lampiran 1. Daftar pertanyaan wawancara ... 75

Lampiran 2. Kuesioner Minat Beli Masyarakat ... 76

Lampiran 3. Hasil Wawancara ... 76

Lampiran 4. Skrip Aplikasi GUI Integer Programming ... 82

Lampiran 5. Hasil Kuesioner Minat Beli Masyarakat ... 102

(14)

xiv

Lampiran 6. Perhitungan dengan Aplikasi GUI Integer Programming ... 104

Lampiran 7. Hasil Iterasi dengan POM QM ... 105

Lampiran 8. Surat Ijin Penelitian ... 106

Lampiran 9. Surat Keterangan Perusahaan ... 107

(15)

xv

DAFTAR GAMBAR

Gambar 2.1 Grafik Fungsi Contoh 1 ... 14

Gambar 2.2 Bagan Semua Percabangan Contoh 3 ... 30

Gambar 4.1 Memanggil Modul Tkinter ... 51

Gambar 4.2 Fungsi untuk Tampilan Jendela 1 ... 51

Gambar 4.3 Pengaturan Jendela Top ... 52

Gambar 4.4 Contoh Penggunaan Widget Button ... 53

Gambar 4.5 Contoh Penggunaan Widget Entry ... 54

Gambar 4.6 Contoh Penggunaan Widget Label ... 55

Gambar 4.7 Contoh Penggunaan Widget Radiobutton ... 56

Gambar 4.8 Contoh Penggunaan Widget Scrollbar ... 58

Gamabr 4.9 Contoh Penggunaan Widget Combobox ... 58

Gambar 4.10 Fungsi hasilinput() ... 60

Gambar 4.11 Fungsi prosesIP() ... 61

Gambar 4.12 Hasil Optimasi ... 64

Gambar 4.13 Tampilan Awal ... 65

Gambar 4.14 Tampilan untuk Memasukkan Fungsi Objektif dan Fungsi Kendala ... 65

Gambar 4.15 Tampilan Hasil Optimasi ... 66

Gambar 4.16 Hasil Optimasi dengan Pemrograman Python ... 68

Gambar 4.17 Iterasi 1 dan 2 dengan POM QM ... 69

Gambar 4.18 Hasil Optimal dengan POM QM ... 70

(16)

xvi

DAFTAR TABEL

Tabel 2.1 Komposisi Bahan Dasar Cairan Desinfektan ... 13

Tabel 2.2 Tabel Awal Simpleks ... 16

Tabel 2.3 Komposisi Bahan Dasar Pupuk ... 17

Tabel 2.4 Tabel Simpleks Contoh 2 ... 19

Tabel 2.5 Komposisi Bahan Dasar Baju Pesta ... 24

Tabel 2.6 Tabel Simpleks Contoh 3 ... 25

Tabel 2.7 Tabel Simpleks Contoh 4 ... 33

Tabel 2.8 Tipe Data pada Python ... 36

Tabel 2.9 Operator pada Python ... 37

Tabel 4.1 Biaya Produksi Masing-masing Tipe Rumah ... 43

Tabel 4.2 Harga Jual dan Angsuran Tiap Tipe Rumah ... 44

Tabel 4.3 Keuntungan Penjualan Tiap Tipe Rumah ... 45

Tabel 4.4 Minat Beli Masyarakat Terhadap Suatu Tipe Rumah ... 46

Tabel 4.5 Atribut pada Button ... 54

Tabel 4.6 Atribut pada Entry ... 55

Tabel 4.7 Atribut pada Label ... 56

Tabel 4.8 Atribut pada Radiobutton ... 57

Tabel 4.9 Atribut pada Combobox ... 59

Tabel 4.10 Jumlah Unit Rumah dan Keuntungan Hasil Optimasi ... 68

(17)

BAB I PENDAHULUAN

1.1 Latar Belakang

Meningkatnya jumlah penduduk akan berdampak pada meningkatnya kebutuhan akan tempat tinggal. Hal tersebut dikarenakan tempat tinggal merupakan salah satu kebutuhan pokok yang perlu dimiliki oleh setiap orang.

Untuk mengatasi peningkatan tersebut, salah satu langkah yang dapat dilakukan yaitu melakukan pembangunan perumahan. Hal tersebut juga menjadi peluang bagi perusahaan pengembang perumahan untuk membuka lahan perumahan.

Para perusahaan pengembangan perlu memperhatikan kualitas dan kuantitas rumah yang akan dibangun agar sesuai dengan kebutuhan dan kemampuan masyarakat. Selain itu, diharapkan penjualan rumah yang dibangun dapat menghasilkan keuntungan yang maksimum untuk perusahaan.

Dalam menentukan komposisi rumah yang akan dibangun, ada hal yang perlu dipertimbangkan oleh perusahaan. Hal tersebut antara lain peraturan pemerintah tentang perumahan rakyat seperti konsep hunian berimbang, tersedianya fasilitas umum yang memadai, dan tersedianya ruang terbuka hijau (Ririn Purwantini, 2015). Selain itu, kendala-kendala yang juga perlu dipertimbangkan adalah kapasitas lahan yang ada, daya beli masyarakat, minat beli masyarakat, modal yang dimiliki perusahaan, dan biaya produksi (Fidyanah Ashri, 2013).

PT. Citra Kedaton merupakan salah satu perusahaan pengembang perumahan di Yogyakarta. Proyek terbaru perusahaan tersebut adalah

1

(18)

pembangunan perumahan “Ambara Citra” yang terletak di Prambanan, Klaten, Jawa Tengah. Pembangunan dilakukan dilokasi tersebut karena dianggap sebagai kota satelit atau kawasan penyangga kota Yogyakarta. Selain itu, lokasi tersebut dekat dengan tol Jogja-Solo yang akan dibangun sehingga dianggap strategis untuk dipasarkan. Di perumahan “Ambara Citra” akan dibangun rumah dengan 3 tipe, yaitu tipe 45/84, tipe 50/96, dan tipe 62/112 (citrakedaton.com, 2019). Masalah yang sering dihadapi oleh perusahaan ini yaitu perolehan keuntungan yang kurang optimal. Menurut peusahaan, hal tersebut terjadi karena kurang tepatnya penentuan komposisi tipe rumah sehingga sering terjadi sisa lahan kosong yang tidak digunakan. Alasan tersebut juga didukung dengan adanya beberapa konsumen yang ingin membeli suatu tipe rumah namun tipe tersebut sudah habis terjual dan tipe rumah yang tersisa lebih lama terjual karena kurang diminati. Sehingga perlu dilakukan pengoptimalan komposisi tipe rumah yang dibangun agar dapat diperoleh keuntungan yang optimal pula.

Salah satu model matematika yang dapat digunakan untuk menentukan komposisi tipe rumah yang optimal yaitu dengan Integer Programming. Integer Programming merupakan perluasan atau kasus khusus dari Linear Programming. Tujuan dari Integer Programming adalah menyelesaikan masalah program linear yang penyelesaiannya harus bilangan bulat (Siang, 2011). Penyelesaian Integer Programming akan dibantu dengan pemrograman Python. Pemrograman Python dipilih oleh penulis karena dalam bahasan pemrograman Python terdapat banyak pustaka yang dapat digunakan antara lain

(19)

pustaka PuLP dan CBC yang secara khusus dapat digunakan untuk menyelesaikan masalah Integer Programming dengan lebih cepat dan efisien.

Penelitian terkait yang telah dilakukan sebelumnya, yaitu penelitian yang dilakukan oleh Hikmah dan Nusyafitri pada tahun 2017 dengan judul “Aplikasi Integer Linear Programming untuk Meminimumkan Biaya Produksi pada Siaputo Aluminium”. Hasil dari penelitian tersebut adalah komposisi optimal jumlah lemari yang diproduksi agar biaya produksi yang diperlukan dapat minimum. Dalam penelitian tersebut digunakan aplikasi LINDO untuk menyelesaikan model Integer Programming. Selain itu, terdapat penelitian lain yang telah dilakukan sebelumnya oleh Ririn Purwantini tahun 2015 dengan judul “Optimasi Jumlah Unit Rumah Setiap Tipe pada Proyek Perumahan Green Menganti Regency”. Pada penelitian tersebut diperoleh hasil jumlah masing-masing tipe rumah yang optimal dan keuntungan yang maksimum.

Namun dalam penelitian tersebut, peneliti menggunakan Linear Programming sehingga hasil penyelesaian awal masalah tersebut tidak bulat dan harus dilanjutkan dengan pembulatan untuk hasil akhirnya.

Berdasarkan uraian di atas, penelitian ini diharapkan dapat memecahkan permasalahan optimasi komposisi tipe rumah yang dibangun dalam proyek pengembangan perumahan “Ambara Citra” di Prambanan menggunakan Integer Programming dengan bantuan pemrograman Python sehingga mencapai solusi optimal dengan keuntungan yang maksimum.

(20)

1.2 Rumusan Masalah

Rumusan masalah pada penelitian ini adalah:

1. Bagaimana komposisi optimal jumlah unit untuk setiap tipe rumah pada perumahan “Ambara Citra” berdasarkan kendala-kendala yang harus diperhatikan?

2. Berapa keuntungan maksimum pada proyek pembangunan perumahan

“Ambara Citra”?

3. Bagaimana langkah pengembangan aplikasi GUI Python untuk menyelesaikan permasalahan Integer Programming?

1.3 Tujuan Penelitian

Tujuan dari penelitian ini adalah:

1. Mengetahui komposisi optimal jumlah unit untuk setiap tipe rumah pada perumahan “Ambara Citra” berdasarkan kendala-kendala yang harus diperhatikan.

2. Mengetahui keuntungan maksimum pada proyek pembangunan perumahan

“Ambara Citra”.

3. Mengetahui langkah pengembangan aplikasi GUI Python untuk menyelesaikan permasalahan Integer Programming.

1.4 Batasan Masalah

Pembatasan masalah dalam penelitian ini adalah:

1. Penelitian ini dilakukan pada perumahan “Ambara Citra”.

(21)

2. Tipe rumah yang dipakai pada penelitian ini adalah tipe 45/84, tipe 50/96, dan tipe 62/112.

3. Kendala-kendala yang digunakan dalam pengoptimalan komposisi tipe rumah yang dibangun pada perumahan “Ambara Citra” adalah kapasitas lahan, minat beli masyarakat, dan kapasitas perumahan.

4. Metode yang digunakan untuk menghitung komposisi tipe rumah yang optimal dan keuntungan maksimum adalah Integer Programming dengan bantuan pemrograman Python.

1.5 Manfaat Penelitian

Penelitian ini memiliki manfaat bagi beberapa pihak, yaitu sebagai berikut:

1. Bagi Peneliti

Menambah wawasan peneliti terkait penggunaan Integer Programming dengan bantuan program Python dalam mengoptimalkan komposisi tipe rumah yang dibangun dalam proyek pengembangan perumahan “Ambara Citra” di Prambanan.

2. Bagi Perusahaan Pengembang Perumahan

Memberikan informasi kepada perusahaan pengembang perumahan untuk dapat mengetahui komposisi optimal dari tipe rumah yang dibangun sehingga mendapat keuntungan yang maksimum.

(22)

1.6 Sistematika Penulisan

Sistematika penulisan tugas akhir ini, disusun sebagai berikut.

BAB I PENDAHULUAN

Bab ini berisi latar belakang, rumusan masalah, tujuan penelitian, batasan masalah, manfaat penelitian, dan sistematika penulisan.

BAB II KAJIAN PUSTAKA

Bab ini berisi kajian mengenai pembangunan perumahan, kendala pembangunan perumahan, Linear Programming, Integer Programming, dan Pemrograman Python, beserta penelitian yang relevan.

BAB III METODE PENELITIAN

Bab ini berisi jenis penelitian, waktu dan tempat penelitian, pengumpulan data, teknik pengumpulan data, dan teknik analisis data.

BAB IV HASIL DAN PEMBAHASAN

Bab ini berisi uraian hasil dan pembahasan penerapan Integer Programming untuk menentukan komposisi optimal jumlah unit untuk setiap tipe rumah pada perumahan “Ambara Citra” dan keuntungan maksimum pada proyek pembangunan perumahan “Ambara Citra”, serta langkah penyusunan aplikasi GUI Python untuk Integer Programming.

BAB V PENUTUP

Bab ini berisi kesimpulan dan saran.

(23)

BAB II

KAJIAN PUSTAKA

2.1 Pembangunan Perumahan

Peraturan Pemerintah Republik Indonesia Nomor 14 Tahun 2016 tentang Penyelenggaraan Perumahan dan Kawasan Permukiman menyebutkan bahwa perumahan adalah kumpulan rumah di perkotaan maupun perdesaan, yang dilengkapi dengan prasarana, sarana, dan utilitas umum sebagai upaya pemenuhan rumah yang layak huni. Berdasarkan Peraturan Pemerintah Republik Indonesia Nomor 14 Tahun 2016 tentang Penyelenggaraan Perumahan dan Kawasan Permukiman, pembangunan perumahan dan kawasan permukiman adalah suatu proses untuk mewujudkan suatu perumahan dan kawasan permukiman melalui pelaksanaan konstruksi. Pembangunan perumahan yang dilakukan oleh perusahaan pengembang atau pemerintah harus sesuai dengan peraturan yang sudah ditetapkan. Hal tersebut dilakukan agar tercipta lingkungan perumahan yang aman dan nyaman.

Berdasarkan Peraturan Pemerintah Republik Indonesia Nomor 14 Tahun 2016 tentang Penyelenggaraan Perumahan dan Kawasan Permukiman, pembangunan perumahan dilakukan sesuai dengan status penguasaan atau kepemilikan tanah dan perizinan berdasarkan ketentuan peraturan perundang- undangan. Pembangunan perumahan meliputi:

1. Pembangunan rumah dan prasarana, sarana, dan utilitas umum Pembangunan perumahan dilakukan dengan mengembangkan teknologi dan rancangan bangunan yang ramah lingkungan. Dalam pembangunan

7

(24)

perumahan lebih mengutamakan pemanfaatan sumber daya dalam negeri dan kearifan lokal untuk pemilihan bahan bangunan yang aman.

Pembangunan perumahan dilaksanakan melalui upaya penataan pola dan struktur ruang pembangunan rumah beserta prasarana, sarana, dan utilitas umum dipadukan dengan penataan lingkungan sekitar.

Pembangunan rumah harus dilakukan sesuai dengan rencana tata ruang wilayah. Rumah yang masih dalam proses pembangunan perumahan dapat dipasarkan melalui sistem perjanjian pendahuluan jual beli sesuai dengan ketentuan peraturan perundang-undangan. Perjanjian pendahuluan jual beli tersebut dilakukan setelah memenuhi persyaratan kepastian atas status pemilikan tanah, hal yang diperjanjikan, kepemilikan izin mendirikan bangunan induk, ketersediaan prasarana, sarana, dan utilitas umum, dan keterbangunan perumahan paling sedikit 20%.

Pembangunan prasarana, sarana, dan utilitas umum harus memenuhi persyaratan, yaitu:

a. Kesesuaian antara kapasitas pelayanan dan jumlah rumah

b. Keterpaduan antara prasarana, sarana, dan utilitas umum dan lingkungan hunian

c. Ketentuan teknis pembangunan prasarana, sarana, dan utilitas umum.

2. Peningkatan kualitas perumahan

Peningkatan kualitas perumahan dilakukan oleh setiap orang. Peningkatan kualitas perumahan dilakukan terhadap penurunan kualitas rumah serta prasarana, sarana, dan utilitas umum. Pembangunan perumahan untuk

(25)

peningkatan kualitas perumahan tersebut dilaksanakan melalui upaya penanganan dan pencegahan perumahan kumuh dan penurunan kualitas lingkungan.

2.2 Kendala Pembangunan Perumahan

Dalam pembangunan perumahan tentunya tidak terlepas dari kendala- kendala pelaksanaan. Menurut Sastra dan Marlina (2006), ada beberapa hal yang menjadi kendala pembangunan perumahan yaitu:

1. Lahan yang tersedia terbatas

2. Rendahnya kondisi sosial ekonomi masyarakat

3. Terbatasnya informasi tentang perumahan dan permukiman

4. Terbatasnya kemampuan pemerintah dalam penyediaan perumahan dan permukiman.

Ashri (2013) menyatakan bahwa kendala dalam membangun suatu perumahan yaitu:

1. Biaya produksi.

2. Kemampuan daya beli masyarakat dalam membeli rumah.

3. Minat masyarakat dalam membeli rumah.

2.3 Linear Programming

2.3.1 Konsep Linear Programming

Linear Programming atau program linear pertama kali ditemukan oleh George B. Dantzig yang berupa metode solusi masalah program

(26)

linear dengan banyak variabel keputusan (Fien, 2004). Menurut Johanes Supranto (2009), program linear adalah salah satu teknik dalam riset operasi untuk memecahkan persoalan optimasi dengan menggunakan persamaan dan pertidaksamaan linear untuk mencari solusi yang optimal dengan memperhatikan kendala-kendala yang ada. Masalah optimasi yang dimaksud yaitu memaksimumkan atau meminimumkan fungsi linear dari variabel-variabel keputusan. Fungsi linear tersebut disebut fungsi objektif.

Menurut Siang (2011), masalah yang dapat diselesaikan dengan model program linear memiliki ciri-ciri sebagai berikut:

1. Semua variabel penyusun tidak bernilai negatif

2. Fungsi objektif dapat dinyatakan sebagai fungsi linear variabel- variabelnya

3. Kendala dapat dinyatakan ke dalam suatu sistem persamaan linear Bentuk umum program linear menurut Aminudin (2005) sebagai berikut:

Fungsi tujuan:

Optimalkan (Memaksimumkan/Meminimumkan):

𝑍 = ∑ 𝑐𝑗𝑥𝑗

𝑛

𝑗=1

Dengan kendala:

∑ 𝑎𝑖𝑗𝑥𝑗 ≤ 𝑎𝑡𝑎𝑢 ≥ 𝑏𝑖 𝑢𝑛𝑡𝑢𝑘 𝑖 = 1, 2, 3, … , 𝑚

𝑛

𝑗=1

(27)

𝑥𝑗 ≥ 0 𝑢𝑛𝑡𝑢𝑘 𝑗 = 1, 2, 3, … , 𝑛 Keterangan:

𝑍 = fungsi tujuan atau fungsi objektif yang dicari nilai optimalnya (maksimum atau minimum)

𝑐𝑗 = kenaikan nilai 𝑍 apabila ada pertambahan nilai 𝑥𝑗 𝑚 = banyaknya kendala

𝑥𝑗 = n variabel keputusan yang belum diketahui nilainya 𝑎𝑖𝑗 = koefisien fungsi kendala

𝑏𝑖 = kapasitas sumber daya yang tersedia

Model pemrograman linear dapat diterapkan dalam bidang transportasi, penugasan, keuangan, produksi, pemasaran, personalia, perencanaan fasilitas, dan sebagainya.

2.3.2 Metode Penyelesaian Grafik

Metode grafik menggunakan grafik kendala untuk mencari titik optimalnya. Metode ini terbatas hanya untuk memecahkan model program linear yang hanya memuat paling banyak tiga variabel keputusan.

Langkah-langkah pemecahan masalah dengan menggunakan metode grafik (Aminudin, 2005) adalah sebagai berikut:

1. Gambarlah sebuah bidang koordinat dengan variabel- variabelnya sebagai sumbu-sumbu koordinat.

2. Gambarlah grafik-grafik fungsi kendalanya

(28)

3. Tentukan daerah layak, yaitu daerah dalam bidang koordinat yang memenuhi semua kendala

4. Tentukan koordinat titik sudut dari daerah layak

5. Hitung nilai fungsi tujuan untuk setiap titik sudut dan pilih nilai yang paling optimal sebagai pemecahan masalah.

Untuk memperjelas pembahasan penyelesaian soal program linear dengan metode grafik, perhatikan contoh berikut.

Contoh 1.

Seorang pengusaha cairan desinfektan membuat 2 macam cairan desinfektan, yaitu jenis 1 dan jenis 2. Kedua jenis cairan tersebut dibuat dari 2 macam bahan yang sama, yaitu bahan A dan B, dengan komposisi yang berbeda. Setiap liter cairan jenis 1 dibuat dari campuran 1 unit bahan A dan 1 unit bahan B , sedangkan setiap liter cairan jenis 2 dibuat dari campuran 1 unit bahan A dan 2 unit bahan B. Karena keterbatasan pasokan, setiap hari ia hanya dapat memperoleh 8 unit bahan A dan 12 unit bahan B. Untuk setiap liter cairan jenis 1 yang ia buat, ia akan memperoleh keuntungan sebesar Rp50.000,00. Sedangkan untuk setiap liter cairan jenis 2, ia memperoleh keuntungan sebesar Rp40.000,00. Jika diasumsikan bahwa semua cairan yang dibuat laku terjual, berapa liter cairan masing-masing jenis harus ia buat setiap hari agar keuntungan yang didapat maksimum?

(29)

Penyelesaian:

Data-data yang diperoleh dari soal di atas dapat ditulis dalam bentuk tabel sebagai berikut:

Tabel 2.1 Komposisi Bahan Dasar Cairan Desinfektan Bahan Cairan Jenis 1 Cairan Jenis 2 Kapasitas

A 1 1 8

B 1 2 12

Untung 50.000 40.000

Selanjutnya, berdasarkan Tabel 2.1 di atas diformulasikan ke dalam bentuk persamaan linear sebagai berikut:

Variabel keputusan:

𝑥1 = banyaknya cairan jenis 1 yang diproduksi (liter) 𝑥2 = banyaknya cairan jenis 2 yang diproduksi (liter) Fungsi tujuan:

𝑍 = 50.000𝑥1+ 40.000𝑥2 Kendala:

Bahan A : 𝑥1+ 𝑥2 ≤ 8 Bahan B : 𝑥1+ 2𝑥2 ≤ 12 𝑥1, 𝑥2 ≥ 0

𝑥1, 𝑥2 ∈ ℝ

Model lengkap dari persoalan program linear tersebut adalah:

Memaksimumkan 𝑍 = 50.000𝑥1+ 40.000𝑥2

Kendala: {

𝑥1+ 𝑥2 ≤ 8 𝑥1 + 2𝑥2 ≤ 12

𝑥1, 𝑥2 ≥ 0 𝑥1, 𝑥2 ∈ ℝ

(30)

Gambar 2.1 Grafik Fungsi Contoh 1.

Perhatikan Gambar 2.1, dapat dilihat bahwa daerah layak berupa segiempat 𝐴𝐸𝐷𝑂. Langkah selanjutnya adalah menguji titik-titik sudut pada segiempat 𝐴𝐸𝐷𝑂 dengan mensubstitusikan (𝑥1, 𝑥2) ke dalam fungsi sasaran 𝑍, maka akan didapat titik yang memiliki nilai fungsi sasaran terbesar.

𝐴(0,6) dengan 𝑍 = 50.000 ∙ 0 + 40.000 ∙ 6 = 240.000 𝐸(4,4) dengan 𝑍 = 50.000 ∙ 4 + 40.000 ∙ 4 = 360.000 𝐷(8, 0) dengan 𝑍 = 50.000 ∙ 8 + 40.000 ∙ 0 = 400.000 𝑂(0,0) dengan 𝑍 = 50.000 ∙ 0 + 40.000 ∙ 0 = 0

Dengan demikian, titik 𝐷(8,0) dengan 𝑍 = 400.000 merupakan penyelesaian program linear karena dibandingkan dengan titik-titik sudut yang lain, titik 𝐷 memberikan nilai fungsi yang terbesar.

Dengan kata lain, pengusaha harus membuat 8 liter cairan 1 dan tidak membuat cairan 2 agar memperoleh keuntungan maksimum yaitu Rp400.000,00.

𝑥1+ 𝑥2= 8 𝑥1+ 2𝑥2= 12 𝐴(0,6)

𝐵(12,0) 𝐶(0,8)

𝐷(8,0) 𝐸(4,4)

𝑂 𝑥1

𝑥2

(31)

2.3.3 Metode Penyelesaian Simpleks

Pada metode simpleks, penyelesaian masalah program linear dilakukan secara numerik sehingga dapat dilakukan untuk berapapun jumlah variabel yang digunakan (Siang, 2011). Hal tersebut menjadi jawaban untuk keterbatasan yang dimiliki metode grafik. Sebelum menyelesaikan permasalahan program linear dengan menggunakan metode simpleks, hal pertama yang perlu dilakukan adalah mengubah suatu bentuk program linear menjadi bentuk standar simpleks. Beberapa aturan bentuk program linear standar simpleks (Aminudin, 2005), yaitu:

1. Semua kendala adalah suatu persamaan dengan ruas kanan yang tidak negatif

2. Semua variabel keputusan tidak bernilai negatif

3. Fungsi tujuan atau fungsi objektif dapat berupa memaksimumkan atau meminimumkan.

Menurut Aminudin (2005), bentuk program linear standar simpleks dapat dirumuskan sebagai berikut:

Memaksimumkan/meminimumkan:

𝑍 = ∑ 𝑐𝑗𝑥𝑗

𝑛

𝑗=1

Dengan kendala:

(32)

∑ 𝑎𝑖𝑗𝑥𝑗 = 𝑏𝑖, 𝑢𝑛𝑡𝑢𝑘 𝑖 = 1, 2, … , 𝑚

𝑛

𝑗=1

𝑥𝑗 ≥ 0, 𝑢𝑛𝑡𝑢𝑘 𝑗 = 1, 2, … , 𝑛

Setelah menjadi bentuk standar simpleks, soal dimasukkan ke dalam tabel simpleks untuk diselesaikan. Bentuk awal tabel simpleks terlihat seperti berikut (Siang, 2011):

Tabel 2.2 Tabel Awal Simpleks

𝐶𝑗 𝐶1 𝐶2 𝐶𝑛

(𝐶𝐵)𝑖 𝑋𝑗

(𝑋𝐵)𝑖 𝑋1 𝑋2 𝑋𝑛 𝑏𝑖 𝜃

Koefisien variabel

basis

Variabel

basis Matriks kendala dalam bentuk standar

Koefisien ruas kanan kendala

Pengecekan variabel yang keluar

dari basis 𝑍𝑗

𝐶𝑗− 𝑍𝑗

Untuk memperjelas pembahasan penyelesaian soal program linear dengan metode simpleks, perhatikan contoh berikut.

Contoh 2.

Seorang produsen pupuk ingin memproduksi 4 jenis pupuk yaitu pupuk jenis I, pupuk jenis II, pupuk jenis III, dan pupuk jenis IV. Masing-masing pupuk terdiri dari 4 bahan dasar. Untuk memproduksi 1 kg pupuk jenis I memerlukan 1 unit bahan A, 2 unit bahan B, 2 unit bahan C, dan 1 unit bahan D. 1 kg pupuk jenis II memerlukan 2 unit bahan A, 1 unit bahan B, 2 unit bahan C, dan 2 unit bahan D. Untuk 1 kg pupuk jenis III memerlukan 2 unit bahan A, 1 unit bahan B, 1 unit bahan C, dan 1 unit bahan D. Sedangkan 1 kg pupuk jenis IV memerlukan 1 unit bahan A, 7 unit bahan B, 1 unit bahan C, dan 1 unit bahan D. Namun bahan dasar

(33)

yang tersedia hanya 80 unit bahan A, 120 unit bahan B, 60 unit bahan C, dan 150 bahan D. Produsen tersebut ingin menjual pupuk-pupuk tersebut dengan keuntungan tiap kg pupuk I Rp80.000,00, pupuk II Rp20.000,00, pupuk III Rp58.000,00, dan pupuk IV Rp75.000,00. Bila diasumsikan seluruh pupuk terjual habis, tentukan banyaknya masing-masing jenis pupuk yang harus diproduksi agar keuntungan yang didapat maksimum!

Penyelesaian:

Data-data yang diperoleh dari soal di atas dapat ditulis dalam bentuk tabel sebagai berikut:

Tabel 2.3 Komposisi Bahan Dasar Pupuk

Bahan Pupuk I Pupuk II Pupuk III Pupuk IV Kapasitas

A 1 2 2 1 80

B 2 1 1 7 120

C 2 2 1 1 60

D 1 2 1 1 150

Untung 80000 20000 58000 75000

Selanjutnya, berdasarkan Tabel 2.3 di atas diformulasikan ke dalam bentuk persamaan linear sebagai berikut:

Variabel keputusan:

𝑥1 = banyaknya pupuk jenis I yang diproduksi (kg) 𝑥2 = banyaknya pupuk jenis II yang diproduksi (kg) 𝑥3 = banyaknya pupuk jenis III yang diproduksi (kg) 𝑥4 = banyaknya pupuk jenis IV yang diproduksi (kg) Fungsi tujuan:

𝑍 = 80.000𝑥1+ 20.000𝑥2 + 58.000𝑥3+ 75.000𝑥4

(34)

Kendala:

Bahan A : 𝑥1+ 2𝑥2+ 2𝑥3+ 𝑥4 ≤ 80 Bahan B : 2𝑥1+ 𝑥2+ 𝑥3+ 7𝑥4 ≤ 120 Bahan C : 2𝑥1+ 2𝑥2+ 𝑥3+ 𝑥4 ≤ 60 Bahan D : 𝑥1+ 2𝑥2+ 𝑥3+ 𝑥4 ≤ 150

𝑥1, 𝑥2, 𝑥3, 𝑥4 ≥ 0 𝑥1, 𝑥2, 𝑥3, 𝑥4 ∈ ℝ

Model lengkap dari persoalan program linear tersebut adalah:

Memaksimumkan:

𝑍 = 80.000𝑥1+ 20.000𝑥2 + 58.000𝑥3+ 75.000𝑥4

Kendala:

{

𝑥1+ 2𝑥2+ 2𝑥3+ 𝑥4 ≤ 80 2𝑥1+ 𝑥2+ 𝑥3+ 7𝑥4 ≤ 120

2𝑥1+ 2𝑥2+ 𝑥3+ 𝑥4 ≤ 60 𝑥1+ 2𝑥2+ 𝑥3+ 𝑥4 ≤ 150

𝑥1, 𝑥2, 𝑥3, 𝑥4 ≥ 0 𝑥1, 𝑥2, 𝑥3, 𝑥4 ∈ ℝ

Ubah soal ke dalam bentuk standar simpleks dengan menambahkan variabel slack 𝑥5 pada kendala pertama, 𝑥6 pada kendala kedua, 𝑥7 pada kendala ketiga, dan 𝑥8 pada kendala keempat agar menjadi bentuk persamaan sehingga di dapat model seperti berikut:

Memaksimumkan:

𝑍 = 80.000𝑥1+ 20.000𝑥2+ 58.000𝑥3+ 75.000𝑥4+ 0(𝑥5+ 𝑥6+ 𝑥7 +𝑥8)

Kendala: {

𝑥1 + 2𝑥2+ 2𝑥3+ 𝑥4+ 𝑥5 = 80 2𝑥1+ 𝑥2+ 𝑥3+ 7𝑥4+ 𝑥6 = 120

2𝑥1+ 2𝑥2+ 𝑥3+ 𝑥4+ 𝑥7 = 60 𝑥1 + 2𝑥2+ 𝑥3+ 𝑥4+ 𝑥8 = 150

(35)

Setelah membentuk model program linear menjadi bentuk standar simpleks maka dapat dilakukan pengisian tabel simpleks dan dicari penyelesaiannya, sebagai berikut:

Tabel 2.4 Tabel Simpleks Contoh 2.

𝐶𝑗 80 20 58 75 0 0 0 0

(𝐶𝐵)𝑖 𝑋𝑗

𝑋1 𝑋2 𝑋3 𝑋4 𝑋5 𝑋6 𝑋7 𝑋8 𝑏𝑖 𝜃

(𝑋𝐵)𝑖

0 𝑋5 1 2 2 1 1 0 0 0 80 80

0 𝑋6 2 1 1 7 0 1 0 0 120 60

0 𝑋7 2 2 1 1 0 0 1 0 60 30

0 𝑋8 1 2 1 1 0 0 0 1 150 150

𝑍𝑗 0 0 0 0 0 0 0 0

𝐶𝑗− 𝑍𝑗 80 20 58 75 0 0 0 0 0

0 𝑋5 0 1 3/2 1/2 1 0 -1/2 0 50 100

0 𝑋6 0 -1 0 6 0 1 -1 0 60 10

80 𝑋1 1 1 1/2 1/2 0 0 1/2 0 30 60

0 𝑋8 0 1 1/2 1/2 0 0 -1/2 1 120 240

𝑍𝑗 80 80 40 40 0 0 40 0

2400

𝐶𝑗− 𝑍𝑗 0 -60 18 35 0 0 -40 0

0 𝑋5 0 13/

12

3/

2 0 1 -1/

12 -5/12 0 45 30

75 𝑋4 0 -1/6 0 1 0 1/6 -1/6 0 10 10

80 𝑋1 1 13/12 1/2 0 0 -

1/12 7/12 0 225 50

0 𝑋8 0 13/12 1/2 0 0 -

1/12 -5/12 1 115 230

𝑍𝑗 80 445/6 40 75 0 35/6 205/6 0

2750 𝐶𝑗− 𝑍𝑗 0 -325/

6 18 0 0 -35/

6 -205/6 0

58 𝑋3 0 13/18 1 0 2/3 -

1/18 -5/18 0 30

75 𝑋4 0 -1/6 0 1 0 1/6 -1/6 0 10

80 𝑋1 1 13/18 0 0 -1/3 -

1/18 13/18 0 10

0 𝑋8 0 13/18 0 0 -1/3 -

1/18 -5/18 1 100

𝑍𝑗 80 523/6 58 75 12 29/6 175/6 0

3290 𝐶𝑗− 𝑍𝑗 0 -403/

6 0 0 -12 -

29/6 -175/6 0

Dalam Tabel 2.4 tampak bahwa semua 𝐶𝑗 − 𝑍𝑗 ≤ 0 sehingga tabel sudah optimal. Jadi diperoleh nilai 𝑥1 = 10, 𝑥3 = 30, dan 𝑥4 = 10 dengan nilai fungsi = 3.290. Dengan kata lain, pengusaha harus membuat 10 kg pupuk

(36)

jenis I, 30 kg pupuk jenis III, dan 10 kg pupuk jenis IV agar memperoleh keuntungan maksimum yaitu Rp3.290.000,00.

2.4 Integer Programming

Integer Programming atau program bilangan bulat merupakan kasus khusus dari program linear. Program bilangan bulat digunakan untuk menyelesaikan masalah program linear yang penyelesaiannya harus bilangan bulat (Siang, 2011). Menurut Taha (2017) strategi yang dapat dilakukan untuk mendapatkan solusi bulat dari masalah program linear yaitu dengan melakukan tiga langkah berikut:

1. Memperluas ruang pemecahan masalah Integer Programming dengan mengabaikan batasan bilangan bulat, sehingga dari model Integer Programming menjadi Linear Programming.

2. Menyelesaikan masalah program linear tersebut dan menentukan hasil optimalnya.

3. Menambahkan batasan khusus yang secara berulang menggerakkan hasil optimal program linear ke suatu penyelesaian bulat yang diinginkan.

Bentuk matematika model program bilangan bulat yaitu sebagai berikut:

Fungsi tujuan:

Optimalkan (Memaksimumkan/Meminimumkan):

𝑍 = ∑ 𝑐𝑗𝑥𝑗

𝑛

𝑗=1

(37)

Dengan kendala:

∑ 𝑎𝑖𝑗𝑥𝑗 ≤ 𝑎𝑡𝑎𝑢 ≥ 𝑏𝑖 𝑢𝑛𝑡𝑢𝑘 𝑖 = 1, 2, 3, … , 𝑚

𝑛

𝑗=1

𝑥𝑗 bulat ≥ 0 𝑢𝑛𝑡𝑢𝑘 𝑗 = 1, 2, 3, … , 𝑛 Keterangan:

𝑍 = fungsi tujuan atau fungsi objektif yang dicari nilai optimalnya (maksimum atau minimum)

𝑐𝑗 = kenaikan nilai 𝑍 apabila ada pertambahan nilai 𝑥𝑗 𝑚 = banyaknya kendala

𝑥𝑗 = n variabel keputusan yang belum diketahui nilainya 𝑎𝑖𝑗 = koefisien fungsi kendala

𝑏𝑖 = kapasitas sumber daya yang tersedia

Metode yang dapat digunakan untuk menyelesaikan masalah Integer Programming adalah metode Branch and Bound (Cabang-Batas) dan metode Cutting Plane (Bidang Potong).

2.4.1 Metode Branch and Bound

Metode branch and bound atau disebut dengan metode cabang-batas diusulkan pertama kali oleh A. H. Land dan A. G. Doig pada tahun 1960 (Taha, 2017). Prinsip kerja metode branch and bound atau cabang-batas adalah mencabangkan soal yang tidak memiliki penyelesaian bulat.

Percabangan dilakukan terus hingga diperoleh penyelesaian bulat (Siang, 2011).

(38)

a. Percabangan (Branching)

Percabangan artinya memecah soal menjadi 2 soal baru dengan masing-masing ditambah dengan kendala baru kemudian menyelesaikan kedua soal tersebut. Misalkan diperoleh penyelesaian optimal program bilangan bulat yang memuat variabel 𝑥𝑗 yang tidak bulat dengan 𝑖1 < 𝑥𝑗 < 𝑖2 dimana 𝑖1 dan 𝑖2 merupakan bilangan bulat berurutan. Maka program dicabangkan menjadi 2 soal baru. Cabang kiri ditambah dengan kendala 𝑥𝑗 ≤ 𝑖1 dan cabang kanan ditambah dengan kendala 𝑥𝑗 ≥ 𝑖2 (Siang, 2011).

b. Pembatasan (Bounding)

Percabangan dilakukan terus hingga diperoleh penyelesaian bilangan bulat. Misalkan diperoleh penyelesaian bilangan bulat 𝑥 dengan nilai maksimum 𝑓(𝑥), jika masalah program integer adalah memaksimumkan, maka 𝑥 sebagai batas bawah walaupun 𝑥 belum tentu merupakan penyelesaian optimal. Semua penyelesaian lain yang memiliki nilai fungsi lebih kecil dari 𝑓(𝑥) diabaikan dan tidak perlu dicabangkan. Jika masalah program integer adalah meminimumkan, maka 𝑥 sebagai batas atas. Semua penyelesaian lain yang memiliki nilai fungsi lebih besar dari 𝑓(𝑥) diabaikan dan tidak perlu dicabangkan (Siang, 2011).

(39)

c. Pemilihan Titik dan Variabel yang Dicabangkan

Misalkan diperoleh 2 penyelesaian optimal yang bukan merupakan bilangan bulat sehingga perlu dilakukan percabangan. Apabila masalahnya memaksimumkan, pilih titik yang nilai fungsinya lebih besar, namun apabila masalahnya adalah meminimumkan maka pilih titik yang nilai fungsinya lebih kecil (Siang, 2011).

Untuk lebih memahami cara kerja metode cabang batas maka perhatikan contoh berikut.

Contoh 3.

Seorang penjahit ingin membuat baju pesta dengan 2 jenis, yaitu jenis 1 dan jenis 2. Kedua jenis baju pesta tersebut terbuat dari bahan dasar yang sama, yaitu bahan A dan bahan B. Untuk membuat sebuah baju pesta jenis 1 diperlukan 1 m bahan A dan 4 m bahan B. Sedangkan sebuah baju pesta jenis 2 membutuhkan 1 m bahan A dan 7 m bahan B. Penjahit menjual baju pesta jenis 1 dan jenis 2 masing-masing seharga Rp500.000,00 dan Rp600.000,00. Penjahit ingin membuat sebanyak- banyaknya baju pesta, namun bahan A yang tersedia hanya 5 m dan bahan B yang tersedia hanya 28 m. Tentukan jumlah baju pesta jenis 1 dan jenis 2 yang harus dibuat agar mendapat keuntungan yang maksimum!

Penyelesaian:

Data-data yang diperoleh dari soal di atas dapat ditulis dalam bentuk tabel sebagai berikut:

(40)

Tabel 2.5 Komposisi Bahan Dasar Baju Pesta

Bahan Baju pesta jenis 1 Baju pesta jenis 2 Kapasitas

A 1 1 5

B 4 7 28

Untung 500.000 600.000

Selanjutnya, berdasarkan Tabel 2.4 di atas diformulasikan ke dalam bentuk program linear sebagai berikut:

Variabel keputusan:

𝑥1 = banyaknya baju pesta jenis 1 yang diproduksi 𝑥2 = banyaknya baju pesta jenis 2 yang diproduksi Fungsi tujuan:

𝑍 = 500.000𝑥1+ 600.000𝑥2 Kendala:

Bahan A : 𝑥1+ 𝑥2 ≤ 5 Bahan B : 4𝑥1+ 7𝑥2 ≤ 28

𝑥1, 𝑥2 ≥ 0

𝑥1, 𝑥2 bulat tak negatif

Model lengkap dari persoalan program integer tersebut adalah:

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala: {

𝑥1+ 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1, 𝑥2 ≥ 0

𝑥1, 𝑥2 bulat tak negatif

Soal Contoh 3. merupakan soal program linear sehingga dapat akan diselesaikan menggunakan metode simpleks. Mula-mula diselesaikan terlebih dahulu masalah program linear tersebut dengan mengabaikan syarat variabel harus bilangan bulat. Ubah soal ke dalam bentuk standar

(41)

simpleks dengan menambahkan variabel slack 𝑥3 pada kendala pertama dan 𝑥4 pada kendala kedua agar menjadi bentuk persamaan sehingga di dapat model seperti berikut:

Memaksimumkan: 𝑍 = 500.000𝑥1+ 600.000𝑥2+ 0𝑥3+ 0𝑥4 Kendala: 𝑥1+ 𝑥2+ 𝑥3 = 5

4𝑥1+ 7𝑥2+ 𝑥4 = 28

𝑥1, 𝑥2, 𝑥3, 𝑥4 ≥ 0

Setelah membentuk model program linear menjadi bentuk standar simpleks maka dapat dilakukan pengisian tabel simpleks dan dicari penyelesaiannya, sebagai berikut:

Tabel 2.6 Tabel Simpleks Contoh 3

𝐶𝑗 500.000 600.000 0 0

(𝐶𝐵)𝑖 𝑋𝑗

(𝑋𝐵)𝑖 𝑋1 𝑋2 𝑋3 𝑋4 𝑏𝑖 𝜃

0 𝑥3 1 1 1 0 5 5

0 𝑥4 4 7 0 1 28 4

𝑍𝑗 0 0 0 0

𝐶𝑗− 𝑍𝑗 500.000 600.000 0 0 0

0 𝑥3 0,4286 0 1 -0,1429 1 2,333

600.000 𝑥2 0,5714 1 0 0,1429 4 7

𝑍𝑗 342.857, 1429

600.000 0 85.714, 2857

2.400.000 𝐶𝑗− 𝑍𝑗 157.142,

8571

0 0 -85.714,

2857

500.000 𝑥1 1 0 2,3333 -0,3333 2,33

600.000 𝑥2 0 1 -1,333 0,3333 2,67

𝑍𝑗 500.000 600.000 366.66 6,7

33.333,

33 2.766.666 𝐶𝑗− 𝑍𝑗 0 0 -366. ,75

666,7

33.333, 33

(42)

Dalam Tabel 2.6 tampak bahwa semua 𝐶𝑗− 𝑍𝑗 ≤ 0 sehingga tabel sudah optimal. Jadi diperoleh nilai 𝑥1 = 2,33 dan 𝑥2 = 2,67 dengan nilai fungsi = 2.766.666,75. Nilai 𝑥1 dan 𝑥2 bukan merupakan bilangan bulat sehingga proses percabangan harus dilakukan. Nilai 𝑥1 = 2,33 terletak diantara 2 dan 3, maka percabangan pertama dilakukan dengan menambahkan kendala 𝑥1 ≤ 2 (subprogram-1) dan percabangan kedua dilakukan dengan menambahkan 𝑥1 ≥ 3 (subprogram-2).

Subprogram-1

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala: {

𝑥1+ 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2

𝑥1, 𝑥2 bulat tak negatif

Dari hasil perhitungan tersebut diperoleh nilai 𝑥1 = 2 dan 𝑥2 = 2,86 dengan nilai fungsi= 2.714.286. Penyelesaian subprogram-1 belum merupakan bilangan bulat sehingga bukanlah batas bawah penyelesaian.

Subprogram-2

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala: {

𝑥1+ 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≥ 3

𝑥1, 𝑥2 bulat tak negatif

(43)

Dari hasil perhitungan tersebut diperoleh nilai 𝑥1 = 3 dan 𝑥2 = 2 dengan nilai fungsi= 2.700.000. Penyelesaian subprogram-1 memiliki nilai fungsi objektif yang lebih tinggi dari subprogram-2, sehingga percabangan selanjutnya dilakukan dengan menambah kendala 𝑥2 ≤ 2 (subprogran-3) dan 𝑥2 ≥ 3 (subprogram-4) pada model subprogram-1 Subprogram-3

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala:

{

𝑥1 + 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2 𝑥2 ≤ 2

𝑥1, 𝑥2 bulat tak negatif

Diperoleh nilai 𝑥1 = 2 dan 𝑥2 = 2 dengan nilai fungsi= 2.200.000.

Subprogram-4

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala:

{

𝑥1 + 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2 𝑥2 ≥ 3

𝑥1, 𝑥2 bulat tak negatif

Diperoleh nilai 𝑥1 = 1,75 dan 𝑥2 = 3 dengan nilai fungsi= 2.675.000.

Penyelesaian subprogram-4 memiliki nilai fungsi objektif yang lebih tinggi dari subprogram-3, sehingga percabangan selanjutnya dilakukan dengan menambah kendala 𝑥1 ≤ 1 (subprogram-5) dan 𝑥1 ≥ 2 (subprogram-6) pada model subprogram-4.

(44)

Subprogram-5

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala:

{

𝑥1 + 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2 𝑥2 ≥ 3 𝑥1 ≤ 1

𝑥1, 𝑥2 bulat tak negatif

Diperoleh nilai 𝑥1 = 1 dan 𝑥2 = 3,43 dengan nilai fungsi= 2.557.143.

Subprogram-6

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala:

{

𝑥1 + 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2 𝑥2 ≥ 3 𝑥1 ≥ 2

𝑥1, 𝑥2 bulat tak negatif

Kendala pada subprogram-6 tidak menghasilkan daerah fisibel atau tidak memiliki daerah penyelesaian sehingga percabangan selanjutnya dilakukan dengan menambah kendala 𝑥2 ≤ 3 (subprogram-7) dan 𝑥2 ≥ 4 (subprogram-8) pada model subprogram-5.

Subprogram-7

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala:

{

𝑥1 + 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2 𝑥2 ≥ 3 𝑥1 ≤ 1 𝑥2 ≤ 3

𝑥1, 𝑥2 bulat tak negatif

(45)

Diperoleh nilai 𝑥1 = 1 dan 𝑥2 = 3 dengan nilai fungsi= 2.300.000.

Subprogram-8

Memaksimumkan 𝑍 = 500.000𝑥1+ 600.000𝑥2

Kendala:

{

𝑥1 + 𝑥2 ≤ 5 4𝑥1+ 7𝑥2 ≤ 28

𝑥1 ≤ 2 𝑥2 ≥ 3 𝑥1 ≤ 1 𝑥2 ≥ 4

𝑥1, 𝑥2 bulat tak negatif

Diperoleh nilai 𝑥1 = 0 dan 𝑥2 = 4 dengan nilai fungsi= 2.400.000.

Pada perhitungan subprogram-2, diperoleh nilai fungsi objektif yang paling tinggi dan seluruh nilai variabel berupa bilangan bulat sehingga diperoleh penyelesaian optimal soal mula-mula yaitu nilai 𝑥1 = 3 dan 𝑥2 = 2 dengan nilai fungsi= 2.700.000. Proses percabangan di atas dapat dilihat pada gambar berikut.

Referensi

Dokumen terkait

Melalui pembelajaran saintific dengan metode demonstrasi, diskusi dan Tanya jawab menuntun peserta didik untuk mengamati permasalahn, menuliskan penyelesaian, dan

Agape Putri Glory Kause. Diagnosis dan Remediasi Kesulitan Belajar Siswa Kelas VIII D SMP Pangudi Luhur 1 Yogyakarta Tahun Ajaran 2019/2020 dalam Menyelesaikan Soal-Soal

Kategori dukungan orang tua dari masing-masing indikator antara siswa laki- laki dan perempuan dapat diketahui pada nilai mean yang tertera pada tabel, dijelaskan dari segi

Kondisi tersebut menunjukkan bahwa partisipan penelitian ini adalah individu dengan karakteristik kepribadian tidak pencemas, senang sendiri, cenderung konvensional dalam

13/1992 tentang Perkeretaapian dijelaskan bahwa untuk kelancaran dan keselamatan pengoperasian kereta api, pemerintah menetapkan pengaturan mengenai jalur kereta api

Pengaruh Tingkat Kecemasan Matematika Setelah Diperdengarkan Musik Klasik Terhadap Prestasi Belajar Matematika Peserta Didik Kelas XB SMK Negeri 2 Kasihan Bantul (SMM

Pada soal nomor dua telah diketahui dua sudut dan satu sisi. Dalam menyelesaikan soal nomor dua ini, terdapat dua tahapan, yaitu menentukan sudut yang belum diketahui yang

Pencapaian ini dapat dicapai siswa ketika : (1) siswa mampu menentukan bahwa masalah tersebut dapat diselsaikan dengan merubah informasi yang sudah