TA : Rancang Bangun Aplikasi Cutting Stock Optimization dengan Metode Integer Linear Programming pada Toko Kaca Rejeki.

(1)

TOKO KACA REJEKI

TUGAS AKHIR

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

2014

Nama : Teguh Wijaya Nim : 09410100122 Program : S1 ( Strata Satu ) Jurusan : Sistem Informasi


(2)

TOKO KACA REJEKI

TUGAS AKHIR

Diajukan sebagai salah satu syarat untuk menyelesaikan Program Sarjana Komputer

Oleh:

SEKOLAH TINGGI

MANAJEMEN INFORMATIKA & TEKNIK KOMPUTER SURABAYA

2014

Nama : Teguh Wijaya Nim : 09410100122 Program : S1 ( Strata Satu ) Jurusan : Sistem Informasi


(3)

Seiiring dengan banyaknya jumlah pembangunan rumah dan gedung, dibutuhkan banyak suplai-suplai bahan-bahan bangunan, termasuk yang paling penting adalah kaca. Untuk itu, toko kaca harus bisa menyediakan kaca sesuai dengan kebutuhan – kebutuhan tersebut. Dalam proses pemotongan kaca

seringkali terdapat sisa pemotongan (waste) yang dirasa cukup besar. Hal ini

dikarenakan pemotongan tidak mempertimbangkan sisa kaca dan juga ketidaktelitian dalam menentukan pola pemotongan, sehingga menghasilkan sisa pemotongan yang besar juga.

Solusi yang dapat digunakan untuk menyelesaikan masalah tersebut adalah

dengan menggunakan metode Integer Linear Programming agar proses

pemotongan menjadi lebih efektif dan efisien. Efektif yang dimaksud adalah memaksimalkan luas bidang kaca, sehingga bisa terpakai secara optimal. Efisien yang dimaksud adalah pengurangan biaya material yang muncul dari sisa kaca yang terbuang

Dengan mengoptimasi pemotongan menggunakan metode Integer Linear

Programming, didapatkan luas sisa kaca antara hasil dari perhitungan secara manual dan perhitungan menggunakan aplikasi mengalami penurunan rata-rata sebesar 56, 45%

Keywords: Cutting Stock Optimization, Integer Linear Programming


(4)

ABSTRAK ... vii

KATA PENGANTAR ... viii

DAFTAR ISI ... x

DAFTAR TABEL ... xiii

DAFTAR GAMBAR ... xv

DAFTAR LAMPIRAN ... xvii

BAB I PENDAHULUAN ... 1

1.1 Latar Belakang Masalah ... 1

1.2 Perumusan Masalah ... 2

1.3 Batasan Masalah ... 3

1.4 Tujuan ... 3

1.5 Sistematika Penulisan ... 3

BAB II LANDASAN TEORI ... 5

2.1 Aplikasi ... 5

2.2 Cutting Stock Optimization ... 5

2.2.1. Karakteristik Pemotongan Bahan (Cutting Stock) ... 5

2.2.2. Pola Pemotongan ... 6

2.3 Pembentukan Fungsi Tujuan... 7

2.3.1. Pengembangan Model Matematis ... 7

2.3.2. Penambahan Batasan Baru ... 7

2.3.3. Identifikasi Variabel ... 9

2.4Integer Linear Programming ... 9


(5)

2.5.1. System Flow... 16

2.5.2. Data Flow Diagram (DFD) ... 17

2.6 Siklus Hidup Pengembangan Sistem ... 19

2.6.1. Tahapan SDLC ... 20

2.6.2. Model SDLC ... 26

BAB III ANALISIS DAN PERANCANGAN SISTEM ... 27

3.1 Analisis Permasalahan ... 27

3.2 Permasalahan ... 30

3.3.Solusi Permasalahan ... 31

3.3.1. Kebutuhan Perangkat Lunak ... 31

3.3.1.1.Elisitasi Kebutuhan (Requirement Elicitation) ... 32

3.3.1.2.Analisis Kebutuhan Administrasi ... 34

3.3.1.3.Analisis Kebutuhan Pemotongan ... 34

3.3.1.4.Spesifikasi Kebutuhan (Requirement Spesification) ... 34

3.3.2.Desain Sistem (Software Design) ... 37

3.3.2.1. Alur Sistem (System Flow) ... 37

3.3.2.2. Context Diagram ... 48

3.3.2.3. Diagram Berjenjang ... 49

3.3.2.4. DataFlowDiagram ... 50

3.3.2.5. EntityRelationshipDiagram ... 56

3.3.2.6. CDM (ConceptualDataModel) ... 56


(6)

3.3.2.9. Perancangan Prosedur dan Program Unit ... 63

3.3.2.10. Studi Kasus Optimasi Pemotongan Kaca ... 70

3.3.2.11. UnitProgram ... 79

3.3.2.12. Flowchart Program ... 81

3.3.2.13.Pseudocode ... 82

BAB IV IMPLEMENTASI DAN EVALUASI ... 84

4.1 Implementasi ... 84

4.2 Penjelasan Penggunaan Aplikasi ... 84

4.2.1 Form Login ... 84

4.2.2 Form Aplikasi Pegguna Sebagai Administrasi ... 86

4.2.3 Form Aplikasi Pengguna Sebagai Bagian Pemotongan ... 89

4.3 Uji Coba Fungsional dan Non Fungsional ... 95

4.4 Evaluasi ... 106

4.4.1 Perhitungan dengan Aplikasi ... 106

4.4.2 Perhitungan manual tanpa Aplikasi ... 108

4.4.3 Perbandingan Hasil Evaluasi ... 110

BAB V PENUTUP ... 112

5.1 Kesimpulan ... 112

5.2 Saran ... 112

DAFTAR PUSTAKA ... 113

LAMPIRAN ... 114


(7)

1.1Latar Belakang Masalah

Toko Kaca Rejeki adalah salah satu toko yang menjual berbagai jenis kaca. Toko kaca Rejeki berlokasi di Jl. P.B. Sudirman 186, Kota Banyuwangi, Jawa Timur. Kaca yang dijual umumnya digunakan dalam pembangunan gedung, perabot, atau pembuatan aquarium. Kaca dibedakan menjadi 2 golongan, yaitu kaca lembaran dan kaca potongan. Kaca lembaran adalah kaca yang memiliki ukuran paten dari pabrik. Sedangkan kaca potongan adalah kaca yang memerlukan proses pemotongan terlebih dahulu, sebelum digunakan kembali. Kaca lembaran umumnya dijual ke toko-toko retail yang lebih kecil. Sedangkan kaca potongan adalah sisa-sisa kaca yang telah dipotong dari kaca lembaran.

Seluruh proses transaksi di Toko Kaca Rejeki masih dilakukan secara manual. Proses bisnis pada toko ini dimulai ketika order kaca dari kosumen diterima oleh bagian administrasi. Kemudian dilakukan pengelompokkan pada order kaca tersebut. Order kaca tersebut dikelompokkan menjadi order kaca lembaran dan order kaca potongan. Apabila order kaca adalah jenis kaca lembaran, maka kaca bisa langsung diambil dari gudang. Apabila order kaca merupakan jenis kaca potongan, maka order diberikan ke bagian pemotongan untuk dilakukan proses pemotongan. Setelah kaca dipotong, maka kaca diberikan kepada konsumen.

Permasalahan muncul ketika didapati order kaca potongan dalam jumlah yang besar. Order kaca potongan dalam jumlah besar adalah kaca untuk jendela gedung atau aquarium. Pada proses pemotongan, sering terjadi ketidaktelitian dalam menganalisa


(8)

polanya. Akibatnya sisa kaca yang dihasilkan kurang minimal. Hal tersebut baru dapat diketahui ketika dilakukan perhitungan dan penggambaran secara spesifik, dari pola yang akan dipotong. Setelah dilakukan perbandingan diketahui bahwa terjadi ketidakefektif dan ketidakefisienan pemotongan. Hal itu menyebabkan sisa kaca terbuang lebih banyak, sehingga menimbulkan biaya tambahan. Dampak dari permasalahan tersebut tidak terlihat kasat mata. Apabila dilakukan perhitungan yang lebih detil dari contoh kasus pemotongan kaca untuk aquarium dengan ukuran 80 x 40 ,

menghasilkan luas sisa bidang pemotongan sebesar 5317 cm2. Permasalahan seperti ini

biasa disebut sebagai permasalahan cutting stock.

Permasalahan cutting stock tersebut kurang diperhatikan oleh pihak toko, karena

dampaknya tidak langsung terlihat. Untuk melakukan cutting stock optimization,

dibutuhkan subuah aplikasi yang dapat memberikan manfaat perhitungan dalam mengoptimasi proses pemotongan kaca.

Dengan mengoptimasi proses pemotongan kaca, diharapkan dapat meningkatkan proses pemotongan menjadi lebih efektif dan efisien. Efektif yang dimaksud adalah mengenai memaksimalkan luas bidang kaca, sehingga bisa terpakai secara optimal. Efisien yang dimaksud adalah pengurangan biaya material yang muncul dari sisa kaca yang terbuang.

1.2Perumusan Masalah

Berdasarkan latar belakang diatas, dapat dirumuskan permasalahan yaitu bagaimana membuat rancang bangun aplikasi untuk mengoptimasi pemotongan kaca dengan


(9)

1.3Batasan Masalah

Dalam pembuatan Tugas Akhir ini, ruang lingkup permasalahan dibatasi pada:

a. Kaca yang digunakan hanya berbentuk persegi empat.

b. Biaya variabel yang digunakan hanya biaya material dari sisa kaca yang

terbuang.

c. Tidak membahas perhitungan harga kaca.

1.4Tujuan

Berdasarkan rumusan masalah diatas, maka tujuan dari penyusunan tugas akhir ini adalah menghasilkan rancang bangun aplikasi yang dapat mengoptimasi pemotongan

kaca dengan metode Integer Linear Programming.

1.5Sistematika Penulisan

Sistematika penulisan yang digunakan dalam penyusunan laporan Tugas Akhir ini dibedakan dengan pembagian bab – bab dengan rincian sebagai berikut:

BAB I : PENDAHULUAN

Dalam bab ini dijelaskan tentang latar belakang, perumusan masalah, pembatasan masalah dan tujuan tugas akhir ini.

BAB II : LANDASAN TEORI

Dalam bab ini dijelaskan tentang klasifikasi penentuan rute, siklus hidup pengembangan sistem, model pengembangan sistem, tahapan pengembangan


(10)

BAB III : PERANCANGAN SISTEM

Dalam bab ini dijelaskan tentang tahap-tahap yang dikerjakan dalam penyelesaian Tugas Akhir mulai dari observasi, pendahuluan, identifikasi masalah dan tujuan, studi pustaka, pengumpulan data, klasifikasi data, analisis kebutuhan sistem, perancangan sistem yang meliputi desain sistem flow yang digunakan, desain DFD, desain ERD, struktur basis data, desain antar muka, implementasi dan evaluasi sampai didapatkan suatu kesimpulan dan saran.

BAB IV : IMPLEMENTASI DAN EVALUASI SISTEM

Dalam bab ini dijelaskan tentang evaluasi dari aplikasi yang dibuat, proses

implementasi dari aplikasi yang telah melalui tahap evaluasi dari Server sampai

Client.

BAB V : PENUTUP

Dalam bab ini dijelaskan tentang penutup yang berisi hasil penelitian yang sudah diselesaikan dan permasalahan-permasalahan yang dihadapi dan saran-saran penelitian lebih lanjut.


(11)

2.1. Aplikasi

Aplikasi berasal dari kata application yang artinya penerapan, lamaran,

penggunaan. Secara istilah aplikasi adalah program siap pakai yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain dan dapat digunakan oleh sasaran yang dituju.

Menurut Whitten ( dalam Kristanto, 1994 : 60 ) Perancangan Sistem adalah “Proses dimana keperluan pengguna dirubah ke dalam bentuk paket perangkat lunak dan atau kedalam spesifikasi pada komputer yang berdasarkan pada sistem informasi.”.

2.2. Cutting Stock Optimization

Cutting stock optimization merupakan permasalahan optimasi dalam pengkombinasian, sehingga dapat ditentukan solusi dari beberapa solusi yang mungkin, yang memenuhi fungsi pembatas yang ada. Solusi yang ditawarkan adalah dengan mengkombinasikan beberapa pieces dengan ukuran berbeda ke dalam persegi empat (bahan baku) sehingga didapatkan sisa kaca seminimal mungkin.

2.2.1. Karakteristik Pemotongan Bahan (Cutting Stock)

Karakteristik pemotongan bahan adalah :

a. Terdapat bahan baku yang berbentuk persegi empat (selanjutnya disebut

rectangle) yang mempunyai ukuran tertentu.

b. Terdapat m jenis potongan yang dihasilkan (yang selanjutnya disebut dengan

pieces) yang masing-masing berukuran p dengan jumlah permintaan n tertentu.


(12)

c. Setiap potong mempunyai nilai tertentu yang bisa berupa keuntungan yang diperoleh atau berupa ukuran luas dalam upaya meminimasi sisa bahan baku.

d. Berusaha membentuk suatu layout potong yang meminimumkan fungsi tujuan

yang melekat pada setiap potong yang ada.

2.2.2. Pola Pemotongan

a. Guillotine Pattern

Guillotine Pattern merupakan pola pemotongan yang dimulai dari satu sisi segi empat yang kemudian dilanjutkan pada sisi lainnya. Pemotongan pertama dengan tipe

Guillotine Pattern adalah dengan memotong bahan baku dengan panjang atau lebar yang sama. Pemotongan tersebut menghasilkan dua atau lebih potongan yang mempunyai panjang atau lebar yang sama, bukan kedua-duanya.

b. Non-guillotine Pattern

Pemotongan dengan tipe non-guillotine dilakukan apabila ukuran pieces yang

diinginkan tidak memungkinkan untuk digabung dengan pieces yang lain.

c. Pola Dua Tahap Pemotongan (Two Stage Pattern)

Tahap pertama, pemotongan secara paralel atau pemotongan bahan secara

horizontal, sehingga rectangle terbagi menjadi beberapa rectangle dengan panjang yang

sama. Tahap kedua adalah pemotongan satu persatu bagian rectangle.

d. Pola Tiga Tahap Pemotongan (Three Stage Pattern)

Tahap pertama, pemotongan rectangle menjadi bagian-bagian dengan panjang

atau lebar yang sama. Arah pemotongan tersebut dapat secara vertikal maupun secara horizontal. Tahap kedua, hasil dari pemotongan tersebut dilanjutkan dengan


(13)

pemotongan satu persatu yang terlebih dahulu mengubah arah pemotongan. Tahap

ketiga, pemotongan dilakukan pada bagian yang menghasilkan pieces.

2.3. Pembentukan Fungsi Tujuan

Sifat yang perlu diperhatikan dalam memilih kriteria untuk fungsi tujuan

menurut Simatupang ( 1995 : 80-81) adalah sebagai berikut :

a. Lengkap b. Operasional c. Tidak Berlebihan d. Minimum

2.3.1. Pengembangan Model Sistematis

Pengembangan model matematis dapat dimulai dengan menjawab ketiga pertanyaan berikut : Menurut Hamdy ( 1996 : 17 )

a. Apa yang diusahakan untuk ditentukan oleh model tersebut? Dengan kata lain, apa variable (yang tidak diketahui) dari masalah tersebut?

b. Apa batasan yang harus dikenakan atas variable untuk memenuhi batasan sistem yang dimodel tersebut?

c. Apa tujuan (sasaran) yang harus dicapai untuk menentukan pemecahan optimum (terbaik) dari semua nilai yang layak dari variable tersebut?

2.3.2. Penambahan Batasan Baru

Penambahan batasan baru dapat menghasilkan satu di antara dua kondisi : Menurut Hamdy ( 1996 : 172 )

a. Batasan itu dipenuhi oleh pemecahan saat ini, dalam kasus mana batasan


(14)

b. Batasan tersebut tidak dipenuhi oleh pemecahan saat ini,. Dalam kasus ini pemecahan baru diperoleh dengan metode simpleks dual.

Yang kita lakukan disini adalah mendapatkan kembali kelayakan. Pertama – tama, tempatkan batasan baru tersebut dalam bentuk standar dengan menambahkan variabel slack atau surplus sebagaimana diperlukan. Lalu substitusi keluar setiap variabel dasar saat ini dalam batasan tersebut dalam bentuk variable non dasar (saat ini). Langkah terakhir adalah menambahkan batasan yag dimodifikasi ke tabel optimum saat ini dan menerapkan simpleks dual untuk memperoleh kembali kelayakan.

Batasan yang dimodifikasi ini sekarang ditambahkan ke tabel optimal saat ini seperti diberikan berikut ini:

Tabel 2.1 Kombinasi Potongan

Dasar X1 X2 X3 X4 X5 X6 X7 Pemecahan

Z 0 0 1/3 4/3 0 0 0 38/3

X2 0 1 2/3 -1/3 0 0 0 4/3

X1 1 0 -1/3 2/3 0 0 0 10/3

X5 0 0 -1 1 1 0 0 3

X6 0 0 -2/3 1/3 0 1 0 2/3

X7 0 0 1/3 -2/3 0 0 1 -1/3

Dimana variabel :

X1 = Jumlah pola potong yang pertama. X2 = Jumlah pola potong yang kedua. X3 = Jumlah pola potong yang ketiga. X4 = Jumlah pola potong yang keempat.


(15)

X5 = Jumlah pola potong yang kelima. X6 = Jumlah pola potong yang keenam. X7 = Jumlah pola potong yang ketujuh.

Jadi batasan baru tersebut yang diekspresikan dalam bentuk variabel nondasar menjadi: (10/3) + (1/3)x3 – (2/3)x4 +x7 = 3

(1/3)x3 – (2/3)x4 + x7 = -1/3

2.3.3. Identifikasi Variabel

Dalam pemodelan, variabel yang teridentifikasikan hendaknya dapat digolongkan menjadi empat jenis yaitu : Menurut Simatupang (1995 : 94-95)

a. Variabel nominal b. Variabel ordinal c. Variabel interval d. Variabel rasio

2.4. Integer Linear Programming

Linear Programming merupakan metode atau teknik matematik yang digunakan

untuk membantu dalam pengambilan keputusan. Di dalam linear programming, seluruh

fungsinya (fungsi objektif serta fungsi pembatas) haruslah linear.

Terdapat empat asumsi dasar dalam penyelesaian masalah dengan menggunakan model

linear programming, yaitu : Menurut Lieberman dkk ( 1995 : 38-44) a. Proporsionality.

b. Divisibility. c. Addivity. d. Certainty .


(16)

Integer Programming (IP) merupakan bentuk lain dari Linear Programming

(LP) yang muncul karena tidak semua variabel keputusan dapat berupa bilangan

pecahan dengan kata lain asumsi divisibility melemah atau hilang sama sekali.

Metode yang digunakan untuk memaksa pemecahan optimum dari linear programming

yang dilonggarkan untuk bergerak ke arah pemecahan integer yang diinginkan adalah

branch & bound. Algoritma Branch & Bound berlaku baik untuk masalah integer murni

maupun masalah integer campuran. Keuntungan utamanya adalah bahwa batas atas

tersebut dapat diestimasi dengan cepat dan dengan perhitungan minimal.

Tahapan yang dilakukan dalam algoritma branch & bound adalah sebagai berikut :

Menurut Dimyati dkk ( 2003 : 217-227) a. Branching

Apabila dari penyelesaian LP relaksasi diperoleh nilai variabel yang tidak

integer, maka dilakukan branching atau pencabangan. Pencabangan dilakukan pada

variabel yang bernilai pecahan atau tidak integer. Apabila terdapat lebih dari satu

variabel yang bernilai pecahan, maka pilih secara sembarang (dari variabel pecahan tersebut) variabel yang akan dilakukan pencabangan.

b. Bounding

Setelah dilakukan branching, maka langkah selanjutnya adalah memilih salah

satu subpersoalan yang belum diselesaikan dengan menerapkan aturan LIFO. Dari

penghitungan yang dilakukan tersebut, diperoleh nilai z untuk masing-masing


(17)

c. Fathoming

Ada tiga situasi yang menyebabkan suatu subpersoalan fathomed, yaitu :

a. Apabila subpersoalan tersebut tidak feasible.

b. Apabila subpersoalan itu memberikan solusi optimal dimana seluruh variabelnya berharga integer.

c. Apabila nilai z optimal untuk subpersoalan itu tidak lebih baik dari nilai z optimal

subpersoalan lain (dalam persoalan maksimasi berarti nilai z optimal dari subpersoalan

itu tidak lebih besar daripada batas bawah yang telah diperoleh).

Apabila subpersoalan berada dalam situasi a atau c maka subpersoalan tersebut dapat

diabaikan atau dieliminasi dari pertimbangan selanjutnya.

2.4.1 Metode Simpleks

Karena kesulitan menggambarkan grafik berdimensi banyak maka penyelesaian masalah pemrograman linier yang melibatkan lebih dari dua variable menjadi tidak praktis atau tidak mungkin. Dalam keadaan ini kebutuhan metode solusi yang lebih

umum menjadi nyata. Metode umum ini dikenal dengan nama Algoritma Simpleks yang

dirancang untuk menyelesaikan seluruh masalah program linier, baik yang melibatkan dua variable maupun lebih dua variabel.

Penyelesaian masalah pemrograman linear menggunakan metode simpleks ini

melalui perhitungan ulang (iteration) dimana langkah langkah perhitungan yang sama

diulang berkali-kali sebelum hasil optimum dicapai.

Dalam penyelesaian masalah program linear dengan grafik, telah dinyatakan bahwa solusi optimum selalu terletak pada titik pojok ruang solusi. Metode simpleks didasar pada gagasan ini, dengan langkah-langkah sebagai berikut :


(18)

a. Dimulai pada suatu titik pojok yang layak, biasanya titik asal (yang disebut sebagai solusi awal).

b. Bergerak dari suatu titik ke pojok yang lain yang berdekatan, pergerakan ini

akan menghasilkan nilai fungsi tujuan yang lebih baik (meningkatkan untuk masalah maksimasi dan menurunkan untuk masalah minimasi). Jika solusi yang lebih baik telah diperoleh, prosedur simpleks dengan sendirinya akan menghilangkan semua solusi – solusi lain yang kurang baik.

c. Proses ini dilakukan berulang – ulang sampai suatu solusi yang lebih baik tak

dapat ditemukan. Proses simpleks kemudian berhenti dan solusi optimum diperoleh.

Mengubah bentuk baku model pemrograman linear ke dalam bentuk tabel akan memudahkan proses perhitungan simpleks. Langkah – langkah perhitungan dalam algoritma simpleks adalah :

a. Berdasar bentuk baku, tentukan solusi awal, dengan menetapkan ( n – m )

variable nonbasis sama dengan nol. Dimana n jumlah variable dan m banyaknya kendala.

b. Pilih sebuah entering variable diantara yang sedang menjadi variabel nonbasis,

yang jika dinaikkan diatas nol dapat memperbaiki nilai fungsi tujuan. Jika tak ada, berhenti berarti solusi sudah optimal. Jika tidak dilanjutkan ke langkah 1.

c. Plih sebuah leaving variabel diantara yang sedang menjadi variable basis yang

harus menjadi nonbasis (nilainya menjadi nol) ketika entering variable menjadi variable basis.


(19)

d. Tentukan solusi yang baru dengan membuat entering variable dan leaving variable menjadi nonbasis. Kembali ke langkah 2.

2.5 Analisis dan Perancangan Sistem

Penguraian dari suatu sistem informasi yang utuh ke dalam bagian-bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan-permasalahan, kesempatan-kesempatan, hambatan-hambatan yang terjadi dan kebutuhan-kebutuhan yang diharapkan sehingga dapat diusulkan perbaikan-perbaikannya.

Tahap analisis sistem dilakukan setelah tahap perencanaan sistem (system

planning) dan sebelum tahap desain sistem (system design). Tahap analisis merupakan tahap yang kritis dan sangat penting, karena kesalahan di dalam tahap ini juga akan menyebabkan kesalahan di tahap selanjutnya.

Dalam tahap analisis sistem terdapat langkah-langkah dasar yang harus dilakukan oleh analis sistem sebagai berikut:

1. Identify, yaitu mengidentifikasi masalah.

2. Understand, yaitu memahami kerja dari sistem yang ada.

3. Analyze, yaitu menganalisis sistem.

4. Report, yaitu membuat laporan hasil analisis.

Setelah tahap analisis sistem selesai dilakukan, maka analis sistem telah mendapatkan gambaran dengan jelas apa yang harus dikerjakan. Tiba waktunya


(20)

sekarang bagi analis sistem untuk memikirkan bagaimana membentuk sistem tersebut. Tahap ini disebut dengan desain sistem.

Menurut Kendall & Kendall Brother (2003), Analisa dan Perancangan Sistem dipergunakan untuk menganalisis, merancang, dan mengimplementasikan peningkatan-peningkatan fungsi bisnis yang dapat dicapai melalui penggunaan sistem informasi terkomputerisasi.

A. Blok Masukan

Input mewakili data yang masuk ke dalam sistem informasi. Input disini termasuk metode-metode dan media untuk menangkap data yang akan dimasukkan, yang dapat berupa dokumen-dokumen dasar.

B. Blok Model

Blok ini terdiri dari kombinasi prosedur, logika dan model matematik yang akan memanipulasi data input dan data yang tersimpan di basis data dengan cara yang sudah ditentukan untuk menghasilkan keluaran yang diinginkan.

C. Blok Keluaran

Produk dari sistem informasi adalah keluaran yang merupakan informasi yang berkualitas dan dokumentasi yang berguna untuk semua tingkatan manajemen serta semua pemakai sistem.


(21)

D. Blok Teknologi

Teknologi merupakan “kotak alat” (toolbox) dalam sistem informasi. Teknologi

digunakan untuk menerima input, menjalankan model, menyimpan dan mengakses data, menghasilkan dan mengirimkan keluaran dan membantu pengendalian dari sistem secara keseluruhan.

E. Blok Basis Data

Basis data (database) merupakan kumpulan dari data yang saling berhubungan

satu dengan lainnya, tersimpan di perangkat keras komputer dan digunakan perangkat lunak untuk memanipulasinya. Data perlu disimpan di dalam basis data untuk keperluan penyediaan informasi lebih lanjut. Data di dalam basis data perlu diorganisasikan sedemikian rupa, supaya informasi yang dihasilkan berkualitas. Organisasi basis data yang baik juga berguna untuk efisiensi kapasitas penyimpannya. Basis data diakses atau dimanipulasi dengan menggunakan perangkat lunak paket yang disebut dengan DBMS (Database Management Systems).

F. Blok Kendali

Banyak hal yang dapat merusak sistem informasi, seperti misalnya bencana alam, api, temperatur, air, debu, kecurangan-kecurangan, kegagalan-kegagalan sistem itu sendiri, kesalahan-kesalahan, ketidak-efisienan, sabotase, dan lain sebagainya. Beberapa pengendalian perlu dirancang dan diterapkan untuk meyakinkan bahwa hal-hal yang dapat merusak sistem dapat dicegah ataupun bila terlanjur terjadi kesalahan-kesalahan dapat langsung diatasi.


(22)

2.5.1 System Flow

System flow atau bagan alir sistem merupakan bagan yang menunjukkan arus pekerjaan secara keseluruhan dari sistem. System flow menunjukkan urutan-urutan dari prosedur yang ada di dalam sistem dan menunjukkan apa yang dikerjakan sistem.

Simbol-simbol yang digunakan dalam system flow ditunjukkan pada Gambar 2.1.

1. Simbol Dokumen

2. Simbol Kegiatan Manual

3. Simbol Simpanan Offline

4. Simbol Proses

5. Simbol Database

6. Simbol Garis Alir

7. Simbol Penghubung ke Halaman yang Sama

8. Simbol Penghubung ke Halaman Lain

Gambar 2.1 Simbol-Simbol pada System Flow. 1. Simbol dokumen

Menunjukkan dokumen input dan output baik untuk proses manual atau komputer.

2. Simbol kegiatan manual

Menunjukkan pekerjaan manual.

3. Simbol simpanan offline


(23)

4. Simbol proses

Menunjukkan kegiatan proses dari operasi program komputer.

5. Simbol database

Menunjukkan tempat untuk menyimpan data hasil operasi komputer.

6. Simbol garis alir

Menunjukkan arus dari proses.

7. Simbol penghubung

Menunjukkan penghubung ke halaman yang masih sama atau ke halaman lain.

2.5.2 Data Flow Diagram (DFD)

DFD sering digunakan untuk menggambarkan suatu sistem yang telah ada atau sistem baru yang akan dikembangkan secara logika tanpa mempertimbangkan lingkungan fisik dimana data tersebut mengalir. DFD merupakan alat yang digunakan pada metodologi pengembangan sistem yang terstruktur dan dapat mengembangkan arus data di dalam sistem dengan terstruktur dan jelas.

A. External Entity atau Boundary

Kesatuan luar merupakan kesatuan (entity) di lingkungan luar sistem yang

dapat berupa orang, organisasi atau sistem lainnya yang berada di lingkungan luarnya

yang akan memberikan input atau menerima output dari sistem. External entity


(24)

B. Arus Data

Arus Data (data flow) di DFD diberi simbol panah. Arus data ini mengalir di

antara proses, simpanan data (data store) dan kesatuan luar (external entity). Arus data

ini menunjukkan arus data yang dapat berupa masukan untuk sistem atau hasil dari proses sistem.

C. Proses

Suatu proses adalah kegiatan yang dilakukan oleh orang, mesin, atau komputer dari hasil suatu arus data yang masuk ke dalam proses untuk menghasilkan arus data yang akan keluar dari proses. Simbol proses berupa lingkaran atau persegi panjang dengan sudut-sudut tumpul.

D. Simpanan Data

Simpanan data merupakan simpanan dari data yang dapat berupa hal-hal sebagai berikut, sebagai gambaran:

1. Suatu file atau database di sistem komputer.

2. Suatu arsip atau catatan manual.

3. Suatu kotak tempat data di meja seseorang.

4. Suatu tabel acuan manual.

Simpanan data di DFD disimbolkan dengan sepasang garis horizontal paralel yang tertutup di salah satu ujungnya.


(25)

E. Context Diagram

Context Diagram merupakan langkah pertama dalam pembuatan Data Flow Diagram. Pada context diagram dijelaskan sistem apa yang dibuat dan entity apa saja yang digunakan. Dalam context diagram harus ada arus data yang masuk dan arus data yang keluar.

F. Data Flow Diagram (DFD) Level 0

DFD level 0 adalah langkah selanjutnya setelah context diagram. Pada langkah ini, digambarkan proses-proses yang terjadi pada Sistem Informasi Administrasi Keuangan Siswa.

G. Data Flow Diagram (DFD) Level 1

DFD Level 1 merupakan penjelasan dari DFD level 0. Pada proses ini dijelaskan proses apa saja yang dilakukan pada setiap proses yang terdapat di DFD level 0.

H. Entity Relational Diagram (ERD)

Entity Relational Diagram (ERD) merupakan penggambaran hubungan antara beberapa entity yang digunakan untuk merancang database yang akan diperlukan.

2.6. Siklus Hidup Pengembangan Sistem

Siklus Hidup Pengembangan Sistem atau Software Development Life Cycle (SDLC)

adalah proses mengembangkan atau mengubah suatu sistem perangkat lunak dengan menggunakan model-model dan metodologi yang digunakan orang untuk


(26)

mengembangkan sistem-sistem perangkat lunak sebelumnya (berdasarkan best practice

atau cara-cara yang sudah teruji baik).

2.6.1 Tahapan SDLC

1. Elisitasi Kebutuhan

Elisitasi atau pengumpulan kebutuhan merupakan aktivitas awal dalam proses reakayasa perangkat kebutuhan. Sebelum kebutuhan dapat dianalisis, dimodelkan, atau ditetapkan, kebutuhan harus dikumpulkan melalui proses elisitasi. Elisitasi kebutuhan adalah sekumpulan aktivitas yang ditujukan untuk menemukan kebutuhan suatu sistem melalui komunikasi dengan pelanggan, pengguna sistem dan pihak lain yang memiliki kepentingan dalam pengembangan sistem menurut Sommerville and Sawyer (1997).

Sejalan dengan proses rekayasa kebutuhan secara keseluruhan, elisitasi kebutuhan bertujuan untuk :

a) Mengetahui masalah apa saja yang perlu dipecahkan dan mengenali batasan-batasan

sistem. Proses-proses dalam pengembangan perangkat lunak sangat ditentukan oleh seberapa dalam dan luas pengetahuan developer tentang permasalahan.

b) Mengenali siapa saja para stakeholder, yaitu setiap pihak yang memiliki kepentingan

terhadap sesuatu, dimana dalam konteks perangkat lunak adalah proyek pengembangan

perangkat lunak itu sendiri. Beberapa yang dapat dikatakan sebagai stakeholder antara

lain adalah konsumen atau klien yang membayar sistem, pengembang yang merancang, membangun, dan merawat sistem, dan pengguna yang berinteraksi dengan sistem untuk mendapatkan hasil kerja mereka.


(27)

c) Mengenali tujuan dari sistem yaitu sasaran-sasaran yang harus dicapai. Tujuan

merupakan sasaran sistem yang harus dipenuhi, penggalian high level goals di awal

proses pengembangan sangatlah penting karena bertujuan lebih terfokus pada ranah

masalah dan kebutuhan stakeholder dari pada solusi yang dimungkinkan untuk masalah

tersebut.

2. Analisis

Tahap Analisis merupakan tahap identifikasi, seleksi, dan perencanaan sistem yang bertujuan untuk mendeteksi dan memberikan solusi antar kebutuhan serta mengetahui ruang lingkup perangkat lunak dan bagaimana perangkat lunak tersebut berinteraksi dengan lingkungan.

Entri Proses

Spesifikasi dan Definisi Kebutuhan

Validasi Kebutuhan

Prioritisasi Pemahaman Ruang

Pengumpulan Kebutuhan

Resolusi Konflik

Klasifikasi


(28)

Pada Gambar 2.2, diagram tersebut menunjukkan tahapan-tahapan didalam analisis kebutuhan. Didalam proses rekayasa kebutuhan, analisis pun dilakukan dalam setiap aktivitas-aktivitasnya. Aktivitas tersebut antara lain:

a) Domain Understanding

Dalam tahapan ini, pengembang harus mengetahui bagaimana organisasi toko beroperasi dan apa yang menjadi permasalahan pada sistem yang berjalan.

b) Requirements Collection

Tahapan ini merupakan tahapan pengumpulan kebutuhan akan sistem yang akan

dibangun sehingga diperlukan adanya interaksi secara intensif dengan stakeholder.

c) Classification

Tahapan ini mengelompokkan hasil dari tahap kebutuhan sehingga menjadi lebih terstruktur untuk selanjutnya diorganisir kedalam kelompok-kelompok yang koheren.

d) Conflict Resolution

Tahapan ini berguna untuk menemukan dan menyelesaikan kebutuhan yang

didalamnya terdapat konflik. Konflik tersebut dapat terjadi antara dua stakeholder yang

saling terkait tetapi memiliki fasilitas yang tidak sesuai, atau dapat terjadi antara kebutuhan dan sumber daya.

e) Prioritisation

Tahap ini melakukan interaksi dengan stakeholder untuk mengidentifikasikan

kebutuhan-kebutuhan prioritas dari masing-masing kebutuhan agar memenuhi sumber daya yang tersedia pada organisasi.


(29)

f) Requirements Checking

Menganalisa sekumpulan kebutuhan dari hasil tahapan sebelumnya untuk menverifikasi dan memvalidasi berdasarkan aspek kelengkapan, konsistensi, dan kebutuhan nyata.

Semua jenis kebutuhan yang telah diperoleh tersebut kemudian dituangkan dalam bentuk dokumen yang berisi tentang kebutuhan sistem secara keseluruhan. Dokumen ini menjelaskan secara rinci tentang kesepakatan antara pengembang dengan klien, desain perangkat lunak yang akan dibangun, segala resiko yang akan dihadapi dan jadwal pembuatan perangkat lunak. Dokumen ini sangat berguna bagi pihak yang ingin mengetahui tentang perangkat lunak yang akan dibangun namun tidak mengerti secara teknik karena dokumen ini menggunakan bahasa yang sederhana. Secara umum

dokumen ini biasa disebut dengan Software Requirements Spesification (SRS).

3. Desain

Tahap Desain adalah tahapan merancang pemodelan data yang dapat di

visualisasikan melalui Entity Relationship Diagram (ERD), Conceptual Data Model

(CDM), dan Physical Data Model (PDM); dan pemodelan proses yang dapat di

visualisasikan melalui Data Flow Diagram (DFD) atau melalui Unified Modelling

Language (UML). Dalam tahap ini juga mentransformasikan hasil dari analisis kebutuhan menjadi kebutuhan yang sudah lengkap yang di fokuskan pada bagaimana

memenuhi fungsi-fungsi yang dibutuhkan. Desain tersebut mencakup desain form dan

laporan, desain antarmuka dan dialog, desain basis data dan file (framework), dan desain


(30)

4. Construction

Tahap ini melakukan konversi hasil desain ke sistem informasi yang lengkap melalui

tahapan coding atau pengkodean termasuk bagaimana, membuat basis data dan

menyiapkan prosedur kasus pengujian, mempersiapkan berkas atau file pengujian,

pengodean, pengompilasian, memperbaiki dan membersihkan program serta melakukan

peninjauan pengujian. Construction ini memiliki beberapa tahapan secara umum yaitu:

a) Software Construction Fundamentals

Pada tahap pertama, dilakukan pendefinisian dasar tentang prinsip-prinsip yang digunakan dalam proses implementasi seperti minimalisasi kompleksitas, mengantisipasi perubahan, dan standar yang digunakan.

b) Managing Construction

Bagian ini mendefinisikan tentang model implementasi yang digunakan, rencana implementasi, dan ukuran pencapaian dari implementasi tersebut.

c) Practical Considerations

Bagian ini membahas tentang desain implementasi yang digunakan, bahasa pemrograman yang digunakan, kualitas dari implementasi yang dilakukan, proses pengetesan dan integritas.

Dalam proses pengimplementasian ini, digunakan beberapa aplikasi pendukung yaitu:

a) Microsoft Visual Basic .Net 2005

Microsoft Visual Basic .NET adalah sebuah alat untuk mengembangkan dan membangun aplikasi yang bergerak di atas sistem .NET Framework, dengan


(31)

membangun aplikasi Windows Forms, Aplikasi web berbasis ASP.NET, dan juga

aplikasi command-line. Alat ini dapat diperoleh secara terpisah dari beberapa produk

lainnya (seperti Microsoft Visual C++, Visual C#, atau Visual J#), atau juga dapat diperoleh secara terpadu dalam Microsoft Visual Studio .NET. Bahasa Visual Basic .NET sendiri menganut paradigma bahasa pemrograman berorientasi objek yang dapat dilihat sebagai evolusi dari Microsoft Visual Basic versi sebelumnya yang diimplementasikan di atas .NET Framework. Didalam Visual Basic .NET 2005 ini, terdapat beberapa fasilitas yaitu antara lain fasilitas untuk penanganan kesalahan yang

real time background compiler sehingga developer Visual C# dapat mengetahui

kesalahan kode secara up-to-date.

b) SQL Server 2005

Microsoft SQL Server adalah sebuah sistem manajemen basis data relasional (RDBMS) produk Microsoft. Bahasa kueri utamanya adalah Transact-SQL yang merupakan implementasi dari SQL standar ANSI/ISO yang digunakan oleh Microsoft dan Sybase. Umumnya SQL Server digunakan di dunia bisnis yang memiliki basis data berskala kecil sampai dengan menengah, tetapi kemudian berkembang dengan digunakannya SQL Server pada basis data besar.

5. Testing dan Implementasi

Tahap ini mendemonstrasikan sistem perangkat lunak yang telah selesai dibuat untuk dijalankan, apakah telah sesuai dengan kebutuhan yang telah di spesifikasikan dan dapat diadaptasi pada lingkungan sistem yang baru. Tahapan ini tertuang dalam suatu

dokumen Test Plan, yang dimulai dari membuat Software Testing Fundamentals yang


(32)

merancang Test Levels yang terbagi antara target pengetesan dan objektif dari

pengetesan. Pada tahap berikutnya adalah mendefinisikan Test Techniques, yaitu

tentang bagaimana teknik yang digunakan termasuk dasar-dasar pengetesan berdasarkan

intuisi dan pengalaman serta teknik pengetesan secara teknik coding, teknik kesalahan,

teknik penggunaan, dan teknik terkait lainnya. Tahap selanjutnya adalah mendefinisikan

Test-Related Measures, yaitu ukuran-ukuran pencapaian testing yang telah dilakukan

untuk kemudian di evaluasi kembali. Tahap terakhir adalah mendefinisikan Test

Process yang berisi tentang aktivitas testing.

6. Maintenance

Tahap ini adalah tahap yang mendeskripsikan pekerjaan untuk mengoperasikan dan memelihara sistem informasi pada lingkungan pengguna termasuk implementasi akhir dan proses peninjauan kembali. Pemeliharaan sistem ini terdiri dari beberapa jenis yaitu: a) Corrective, yaitu memperbaiki desain dan error pada program; b) Adaptive, yaitu

memodifikasi sistem untuk beradaptasi dengan perubahan lingkungan; c) Perfective,

yaitu melibatkan sistem untuk menyelesaikan masalah baru atau mengambil kesempatan

untuk penambahan fitur; d) Preventive, yaitu menjaga sistem dari kemungkinan masalah

di masa yang akan datang.

2.6.2 Model SDLC

SDLC memiliki beberapa model dalam penerapan tahapan prosesnya. Masing-masing model memiliki kelemahan dan kelebihan, sehingga hal yang terpenting adalah mengenali tipe pelanggan dan memilih menggunakan model SDLC yang sesuai dengan karakter pelanggan dan sesuai dengan karakter pengembang perangkat lunak.


(33)

BAB III

ANALISIS DAN PERANCANGAN SISTEM

Pada bab ini akan dibahas tentang analisis permasalahan, solusi permasalahan dan

perancangan sistem dalam Rancang Bangun Aplikasi Cutting Stock Optimization Dengan

Metode Integer Linear Programming Pada Toko Kaca Rejeki. Analisis dan hasil dari

analisis tersebut juga akan dibahas lebih detil di bab ini.

3.1 Analisis Permasalahan

Analisis digunakan untuk mendefinisikan suatu permasalahan dan bagaimana cara mengatasi permasalahan tersebut. Pada langkah analisis dilakukan tahapan-tahapan untuk mengetahui permasalahan yang ada yaitu dengan observasi, sehingga dapat dilakukan suatu tindakan untuk menghasilkan solusi yang tepat untuk menyelesaikan permasalahan tersebut.

Dari hasil pengumpulan data yang dilakukan, diperoleh beberapa pengguna yang secara langsung berinteraksi dengan sistem yang sudah ada saat ini, yaitu Bagian Administrasi dan Bagian Pemotongan. Secara garis besar proses bisnis pada Toko Kaca Rejeki ini dimulai dari menerima order dan melakukan proses pemotongan. Adapun proses secara keseluruhan untuk kondisi saat ini dapat dilihat pada Gambar 3.1.


(34)

Alur Sistem Saat Ini

Bag. Pemotongan Bag. Administrasi

Pelanggan

Data Order Kaca

Mulai

Selesai

Menerima Order Kaca

Mengecek Ketersediaan

di Gudang

Menghitung Harga Ada?

Ya

Membuat Nota Lunas Nota Lunas

Membuat konfirmasi barang

habis Konfirmasi

Stok Habis Tidak

Menerima Order kaca Memberikan

Order kaca

Data Order Kaca

Melakukan Proses Pemotongan

Kaca

Gambar 3.1. Alir Sistem (Current System)

Gambar 3.1 merupakan alir sistem yang saat ini sudah ada. Adapun penjelasan Alir Sistem tersebut dapat dilihat pada Tabel 3.1.


(35)

Tabel 3.1. Penjelasan Alir Sistem (Current System)

Proses Nama Proses Kegiatan Aktor

1 Menerima Order

Kaca

Bagian administrasi menerima

daftar order kaca dari pelanggan Administrasi

2

Mengecek Ketersediaan Gudang

Mengecek ketersediaan stok kaca dengan kaca yang ada di order kaca pelanggan

Administrasi

3 Memberikan

Order Kaca

Memberikan order kaca yang selesai dicek kepada bagian pemotongan

Administrasi

4 Menerima Order

Kaca

Menerima order kaca dari bagian

administrasi Bagian Pemotongan

5 Melakukan Proses

Pemotongan

Melakukan proses pemotongan kaca sesuai dengan order kaca pelanggan

Bagian Pemotongan

6 Menghitung

Harga

Melakukan perhitungan harga

dari order pelanggan Bagian Administrasi

7 Membuat Nota

Lunas

Membuat nota lunas pelanggan

Bagian Administrasi

Proses-proses yang telah dibahas sebelumnya merupakan proses yang dilakukan saat ini, dimana pada proses-proses tersebut akan dilakukan analisis untuk mengetahui kebutuhan dari setiap pengguna yang ada dan mengetahui proses-proses yang harus dielisitasi, proses yang diintegrasikan menjadi satu fungsi atau membangun fungsi baru, dengan maksud agar fungsi yang akan dibangun sesuai dengan kebutuhan pengguna.


(36)

3.2Permasalahan

Setelah diketahui detil proses-proses yang dilakukan oleh tiap pengguna, penulis melakukan analisis kebutuhan yang sesuai dengan proses-proses tersebut. Analisis kebutuhan tersebut diperlukan untuk merancang perangkat lunak yang memiliki fungsi-fungsi yang sesuai dengan kebutuhan pengguna. Analisis kebutuhan dilakukan pada setiap pengguna yang secara langsung melakukan interaksi dengan sistem. Adapun analisis kebutuhan untuk pengguna-pengguna tersebut adalah:

1. Analisis pada Alir Sistem Bagian Administrasi

Bagian administrasi memiliki peran sebagai penerima order pelanggan dan mencatatnya. Setelah order dicatat akan dilakukan pengecekan ketersediaan kaca dengan order kaca. Jika kaca tidak mencukupi maka akan dilakukan konfirmasi langsung ke pelanggan. Jika kaca mencukupi maka order kaca diberikan ke bagian pemotongan. Proses-proses tersebut semuanya dilakukan secara manual. Dari proses tersebut dibutuhkan suatu proses yang dapat membantu mempercepat proses pengecekan ketersediaan stok kaca terhadap order kaca pelanggan.

2. Analisis pada Alir Sistem Bagian Pemotongan

Alir sistem bagian pemotongan dimulai saat order kaca pelanggan telah diterima. Setelah order diterima dilakukan pengecekan ulang untuk persiapan proses pemotongan kaca. Setelah dilakukan pengecekan maka dilakukan perhitungan pola dan proses pemotongan. Dari proses - proses tersebut terdapat proses yang dapat menimbulkan


(37)

permasalahan dalam hal penggunaan waktu yang diperlukan. Proses tersebut adalah proses perhitungan pola pemotongan.

Untuk mengatasi permasalahan penggunaan waktu yang tinggi, diharapkan untuk selanjutnya dapat dilakukan peningkatan penggunaan waktu proses sehingga menjadi lebih singkat dan proses pemotongan bisa dilakukan lebih cepat.

3.3 Solusi Permasalahan

Setelah dilakukan pengumpulan data, dan kemudian mengolah data-data tersebut untuk dilakukan analisis, maka didapatkanlah suatu permasalahan yang harus diselesaikan dengan memberikan solusi terbaik yang sesuai untuk permasalahan yang ada. Dalam hal ini, solusi untuk permasalahan tersebut adalah membangun aplikasi yang dapat membantu proses menghitung pola pemotongan kaca supaya proses pemotongan bisa dilakukan secara efektif dan efisien. Solusi tersebut dikerjakan sesuai dengan tahapan pengembangan perangkat lunak yang terdiri dari:

3.3.1 Kebutuhan Perangkat Lunak (Software Requirement)

Kebutuhan perangkat lunak merupakan langkah awal dalam membangun sebuah sistem atau aplikasi agar sesuai dengan kebutuhan pengguna. Proses identifikasi kebutuhan perangkat lunak dibagi menjadi beberapa tahapan yaitu:


(38)

3.3.1.1. Elisitasi Kebutuhan (Requirement Elicitation)

Proses elisitasi dilakukan yaitu dengan cara wawancara dan observasi awal, namun yang dilakukan wawancara hanya kepada stakeholder yang terkait saja. Sebelum kebutuhan dapat dianalisis, kebutuhan harus dikumpulkan melalui proses elisitasi. Pada tahapan ini dilakukan penyeleksian data yang diperoleh sehingga dapat diketahui data-data yang digunakan dan yang tidak digunakan terkait dengan pengembangan perangkat lunak.

Berikut ini data yang dikumpulkan melalui proses wawancara ataupun observasi pada perusahaan. Data tersebut meliputi :

a) Data Kaca

Data kaca berisi keterangan-keterangan mulai dari ukuran standar kaca, jenis-jenis kaca, harga kaca dan stok. Kaca sendiri terbagi menjadi 2 macam, yaitu kaca lembaran dan kaca sisa pemotongan.

Tabel 3.2 Data Kaca

Jenis Kaca Ketebalan Kaca Ukuran lebar dan panjang Stok

Kaca Polos 5 mm 122 x 153 30

Kaca Riben 5 mm 122 x 153 35

Kaca Cermin 5 mm 122 x 153 20

Kaca Polos 8 mm 214 x 305 15


(39)

b) Data order kaca

Data order kaca digunakan untuk menginformasikan ukuran, jenis, dan jumlah kaca yang dibeli oleh pelanggan.

Tabel 3.3 Data Order Kaca

Jenis kaca Ketebalan Kaca Ukuran lebar dan panjang Jumlah pembelian

Kaca Polos 5 mm 50 x 30 100

Kaca Riben 5 mm 100 x 50 70

Kaca Cermin 5 mm 90 x 45 50

Kaca Polos 8 mm 50 x 50 80

Kaca Riben 3 mm 40 x 50 30

c) Data Pegawai

Data pegawai digunakan untuk membagi hak akses dalam penggunaan aplikasi perangkat lunak yang akan dibangun

Tabel 3.4 Data Pegawai

Kode Pegawai Nama Pegawai Jabatan

Rj1 Rika Bagian Administrasi 1


(40)

3.3.1.2Analisis Kebutuhan Administrasi

Setelah dilakukan analisis pada tahap yang sebelumnya, maka bagian administrasi membutuhkan sebuah sistem yang dapat menunjukkan ketersediaan stok yang ada di gudang. Data yang dibutuhkan oleh bagian administrasi adalah data kaca.

3.3.1.3Analisis Kebutuhan Pemotongan

Setelah dilakukan analisis pada tahap sebelumnya, maka bagian pemotongan dan administrasi membutuhkan suatu aplikasi yang dapat membantu meningkatkan keefektifan dan keefisienan dalam proses pemotongan. Adapun peningkatan tersebut maka dilakukan proses sebagai berikut :

a. Bagian pemotongan dapat memotong kaca sesuai dengan pola yang telah dihitung

menggunakan cutting stock optimization.

b. Bagian pemotongan tidak perlu menghitung pola secara manual.

Dengan adanya perubahan tersebut, maka proses kedepannya akan mengalami peningkatan pemanfaatan informasi yang lebih cepat. Data – data yang dibutuhkan oleh

bagian pemotongan adalah data order kaca dan data kaca.

3.3.1.4Spesifikasi Kebutuhan (Requirement Spesification)

Dalam proses membangun dan mengembangkan perangkat lunak, diperlukan perancangan spesifikasi perangkat lunak yang tepat dan detil, dengan tujuan agar perangkat lunak yang akan dikembangkan tersebut memiliki deskripsi fungsi-fungsi sesuai dengan


(41)

apa yang dibutuhkan oleh penggunanya. Adapun kebutuhan fungsi-fungsi tersebut dapat dikelompokkan menjadi kebutuhan fungsional dan kebutuhan non-fungsional.

a. Kebutuhan Fungsional

Kebutuhan fungsional merupakan dasar dari penyusunan fungsi-fungsi yang akan dibangun didalam perangkat lunak. Fungsi-fungsi perangkat lunak tersebut telah melewati proses identifikasi kebutuhan setiap pengguna. Adapun kebutuhan fungsional tersebut yaitu:

1. Bagian Administrasi

Kebutuhan fungsional yang diperlukan untuk mendukung proses bagian administrasi terdiri dari 2 fungsi yaitu mencatat order pelangggan dan membuat purchase order.

2. Bagian Pemotongan

Kebutuhan fungsional untuk mendukung proses yang dilakukan oleh bagian pemotongan terdiri dari 2 fungsi yaitu fungsi menghitung pola pemotongan dan fungsi membuat laporan hasil pemotongan. Untuk lebih jelasnya dapat dilihat pada tabel 3.5.


(42)

Tabel 3.5 Kebutuhan Fungsional Pengguna.

Pengguna Kebutuhan Fungsional

Bagian Administrasi Mencatat Order Pelanggan Mengacu pada Lampiran 2 Membuat Purchase Order Mengacu pada Lampiran 2 Bagian Pemotongan Menghitung Pola Pemotongan Mengacu pada Lampiran 2 Membuat Laporan Hasil Pemotongan Mengacu pada Lampiran 2

b. Kebutuhan Non-Fungsional

Dalam penerapan fungsi-fungsi tersebut dengan tujuan mendukung kinerja fungsi utama dari sistem, berikut ini adalah peran dari non-fungsional yang mendukung kinerja fungsi-fungsi utama yang ditunjukkan pada Tabel 3.6.

Tabel 3.6 Keterkaitan Fungsional dan Non-Fungsional Sistem

No Aktor Fungsional Sistem Non-Fungsional Sistem

1. Bagian

Administrasi a) Mencatat Order Pelanggan

b) Membuat Purchase Order

a) Security

b) Operability

c) Time Behaviour

d) Accuracy

e) Maintain Ability

2. Bagian

Pemotongan

a) Menghitung Pola

Pemotongan

b) Membuat Laporan Hasil

Pemotongan

a) Security

b) Operability

c) Time Behaviour


(43)

3.3.2 Desain Sistem (Software Design)

Rancangan perangkat lunak merupakan suatu kegiatan dalam merancang atau mendesain perangkat lunak yang akan dibangun sesuai dengan kebutuhan pengguna. Dikatakan sesuai dengan kebutuhan pengguna karena proses desain tersebut dilakukan berdasarkan hasil analisis kebutuhan yang telah dilakukan sebelumnya. Adapun rancangan perangkat lunak

tersebut berupa rancangan alur sistem (System Flow), Context Diagram, Data Flow

Diagram, dan rancangan tampilan antar muka (Design Interface).

3.3.2.1 Alur Sistem (System Flow)

Sesuai dengan hasil analisis kebutuhan, telah didefinisikan bahwa pengguna yang menggunakan sistem secara langsung berjumlah 2 (dua) pengguna yaitu Bagian Administrasi dan Bagian Pemotongan. Berikut merupakan alur sistem masing-masing pengguna yang baru.

a. Alur Sistem Bagian Administrasi

Berikut ini adalah rancangan alur sistem untuk Bagian Administrasi yang baru. Bagian Administrasi memiliki 2 fngsional sistem, yaitu Mencatat Order Pelanggan dan Membuat Purchase Order, yang ditunjukkan pada Gambar 3.2 dan Gambar 3.3.


(44)

Sysflow Mencatat Order Pelanggan Bagian Administrasi Pelanggan Data Order Pelanggan Data order Mulai Menyimpan Order Pelanggan Tabel Order Pelanggan Mencetak Bukti Order Pelanggan Otentifikasi Login Tabel Pengguna Tabel Pegawai Tabel Stok Kaca Mengecek Ketersediaan

Kaca Tabel Stok

Sisa Kaca Ada? Ya Menyimpan Purchase Order? Tidak Tabel Purchase Order Menyimpan Data Purchase Order Ya Tidak Sesuai? Selesai Bukti Order Pelanggan Data User Ya Tidak


(45)

Penjelasan Alur Sistem Mencatat Order Pelanggan sesuai Gambar 3.2 dapat dilihat pada Tabel 3.7.

Tabel 3.7 Penjelasan Alur Sistem Mencatat Order Pemotongan

Phase No.

Proses

Nama Proses Input Uraian Proses Output

1 1 Input Data

User

Data User Menginputkan data user

berupa Id_Pegawai dan Password

Data User

2 Otentifikasi

Login Data User, Data Pegawai (Diambil dari Tabel) Bagian Administrasi

melakukan proses login

sesuai dengan jabatan

Halaman Menu Utama

3 Input Data Order Data Order Pelanggan (Diambil dari dokumen) Bagian Administrasi menerima data order dari pelanggan dan

menginputkan ke sistem.

Inputan data order

pelanggan

4 Mengecek

Ketersediaan Kaca Inputan data order pelanggan Sistem menngecek ketersediaan jumlah order kaca dengan stok kaca

Data stok kaca

5 Menyimpan

Data Purchase Order Data order pelanggan Menyimpan Data Purchase Order Data Purchase Order

6 Menyimpan

Order Pelanggan

Data order pelanggan

Sistem menyimpan data order pelanggan ke tabel order pelanggan

Data order pelanggan tersimpan

7 Mencetak

Bukti Order pelanggan

Data order pelanggan

Sistem mencetak bukti order pelanggan dan diberikan kembali ke pelanggan sebagai bukti

Dokumen bukti order pelanggan


(46)

Sysflow Membuat Purchase Order

Supplier Bagian Administrasi

Mulai

Menampilkan Data Purchase

Order

Purchase Order

Mencetak Purchase Order

Purchase Order Tabel

Purchase Order

Nota Kaca Data Kaca Baru

Ya

Tidak Data User

Tabel Pegawai

Sesuai? Otentifikasi

Login Tabel

Pengguna

Tabel Stok Kaca Mengupdate

Stok Kaca

Selesai


(47)

Penjelasan Alur Sistem Membuat Purchase Order sesuai Gambar 3.3 dapat dilihat pada Tabel 3.8.

Tabel 3.8 Penjelasan Alur Sistem Membuat Purchase Order

Phase No.

Proses

Nama Proses Input Uraian Proses Output

1 1 Input Data

User

Data User Menginputkan data

user berupa Id_Pegawai dan Password

Data User

2 Otentifikasi

Login Data User, Data Pegawai (Diambil dari Tabel) Bagian Administrasi melakukan proses

login sesuai dengan jabatan

Halaman Menu Utama

3 Menampilkan

Data Purchase Order Data Stok Kaca, Data Purchase Order (Diambil dari tabel) Sistem mengambil data dari tabel stok kaca dan tabel

purchase order, kemudian menampilkannnya ke layar Display data Purchase Order

4 Mencetak

Purchase Order Data Purchase Order Update Sistem mencetak purchase order Purchase Order

5 Menginputkan

Data Kaca Baru

Nota Kaca Menginputkan Data

Kaca yang telah selesai disorder

Data Kaca Diorder

6 Mengupdate

Stok Kaca

Stok Kaca Diorder

Mengupdate data stok kaca sesuai dengan jumlah yang telah disorder

Data Update Stok Kaca


(48)

b. Alur Sistem Pemotongan

Berikut ini adalah rancangan alur sistem untuk Pimpinan yang ditunjukkan pada Gambar 3.4.

Sysflow Menghitung Pola Pemotongan Bagian Pemotongan Mulai Menampilkan Data Order Pelanggan Tabel Order Pelanggan Menghitung Pola Pemotongan Kaca Visualisasi Pola Pemotongan Mengupdate Stok Kaca Tabel Stok Kaca Menghitung Dengan Metode Integer Linear Programming Tabel Hasil Pemotongan Menyimpan Data Hasil Pemotongan Data Order Pelanggan Ya Tidak Sesuai? Data User Tabel Pegawai Tabel Pengguna Otentifikasi Login Menyimpan Stok Sisa Kaca

Tabel Stok Sisa Kaca

Selesai


(49)

Penjelasan alur sistem sesuai dengan Gambar 3.4 dapat dilihat pada Tabel 3.9.

Tabel 3.9 Penjelasan Alur Sistem Menghitung Pola Pemotongan

Phase No.

Proses

Nama Proses Input Uraian Proses Output

1 1 Input Data

User

Data User Menginputkan data

user berupa Id_Pegawai dan Password

Data User

2 Otentifikasi

Login Data User, Data Pegawai (Diambil dari Tabel) Bagian Administrasi melakukan proses

login sesuai dengan jabatan

Halaman Menu Utama

3 Menampilkan

Data Order Pelanggan Data order pelanggan (Diambil dari tabel) Sistem menampilkan data order pelanggan dari tabel order pelanggan dan menampilkannya ke layar

Display data order

pelanggan

4 Menghitung

Pola

Pemotongan Kaca

Display data order pelanggan Sistem menghitung kebutuhan pola pemotongan Data Pemotongan

5 Menghitung

Dengan Metode Integer Linear Programming Data Pemotongan Sistem menghitung pola pemotongan dengan metode integer linear programming Visualisasi Pola Pemotongan

6 Menyimpan

Data Hasil Pemotongan

Data Pola Pemotongan

Sistem menyimpan hasil pemotongan ke dalam tabel hasil pemotongan

Data Hasil Pemotongan

7 Mengupdate

Stok Kaca

Data Stok Hasil

Pemotongan

Sistem mengupdate jumlah stok kaca sesuai yang dipakai

Data Stok Kaca


(50)

dalam proses pemotongan

8 Menyimpan

Stok Sisa Kaca

Data Stok Hasil

Pemotongan

Sistem menympan jumlah stok sisa kaca dalam proses

pemotongan

Data Stok Sisa Kaca

Berikut ini adalah rancangan alur sistem Membuat Laporan Hasil Pemotongan yang ditunjukkan oleh Gambar 3.5.


(51)

Sysflow Membuat Laporan Hasil Pemotongan Pemilik Usaha Bagian Pemotogan Mulai Menampilkan Laporan Hasil Pemotongan Tabel Hasil Pemotongan Laporan Hasil Pemotongan Mencetak Laporan Hasil Pemotongan Permintaan Laporan Permintaan Laporan Laporan Hasil Pemotongan Tabel Order Pelanggan Menampilkan Laporan Pelanggan Prioritas Laporan Pelanggan Prioritas Laporan Pelanggan Prioritas Mencetak Laporan Pelanggan Prioritas Laporan Hasil Pemotongan? Mengecek Data Permintaan Laporan Laporan Pelanggan Prioritas? Laporan Kaca Terlaris? Menampilkan Laporan Kaca Terlaris Tabel Order Pelanggan Mencetak Laporan Kaca Terlaris Laporan Laporan Kaca

Terlaris Laporan Kaca

Terlaris Laporan Perbandingan Hasil Pemotongan? Tabel Hasil Pemotongan Menampilkan Laporan Perbandingan Hasil Pemotongan Laporan Perbandingan Hasil Pemotongan Mencetak Laporan Perbandingan Hasil Pemotongan Laporan Perbandingan Hasil Pemotongan A D C B

A B C

D Ya Tidak Ya Tidak Ya Tidak Ya Tidak E Ya

Tidak Otentifikasi Login

Sesuai? Data User Tabel Pengguna Tabel Pegawai E Selesai

Gambar 3.5 Sysflow Membuat Laporan Hasil Pemotongan Penjelasan untuk Gambar 3.5 dapat dilihat pada Tabel 3.10.


(52)

Tabel 3.10 Penjelasan Alur Sistem Membuat Laporan Hasil Pemotongan.

Phase No.

Proses

Nama Proses Input Uraian Proses Output

1 1 Input Data

User

Data User Menginputkan data

user berupa Id_Pegawai dan Password

Data User

2 Otentifikasi

Login Data User, Data Pegawai (Diambil dari Tabel) Bagian Administrasi melakukan proses

login sesuai dengan jabatan

Halaman Menu Utama

3 Menginputkan

Permintaan Laporan Dokumen permintaan laporan Permintaan laporan diinputkan kedalam sistem Data Permintaan Laporan

4 Mengecek

Data Permintaan Laporan Data Permintaan Laporan Sistem mengecek laporan apa yang akan ditampilkan

Data Permintaan Laporan

5 Menampilkan

Laporan Hasil Pemotongan Data Permintaan Laporan, Data Hasil Pemotongan Sistem mengambil data pemotongan dari tabel hasil pemotongan dan menampilkannya ke layar Display Laporan Hasil Pemotongan

6 Mencetak

Laporan Hasil Pemotongan Display Laporan Hasil pemotongan Sistem mencetak laporan hasil pemotongan untuk dicetak Laporan Hasil Pemotongan

7 Menampilkan

Laporan Pelanggan Prioritas Data Permintaan Laporan, Data Pelanggan Sistem mengambil data pelanggan yang paling banyak melakukan order dari tabel order pelanggan dan menampilkannya ke Display Laporan Pelanggan Prioritas


(53)

layar

8 Mencetak

Laporan Pelanggan Prioritas Display Laporan Pelanggan Prioritas Sistem mencetak laporan pelanggan prioritas untuk dicetak Laporan Pelanggan Prioritas

9 Menampilkan

Laporan Kaca Terlaris Data Permintaan Laporan, Data Jenis Kaca Sistem mengambil data jenis kaca yang paling banyak diorder dari tabel order pelanggan dan menampilkannya ke layar

Display Laporan Kaca Terlaris

10 Mencetak

Laporan Kaca Terlaris Display Laporan Kaca Terlaris Sistem mencetak laporan kaca terlaris untuk dicetak

Laporan Kaca Terlaris

11 Menampilkan

Laporan Perbandingan Hasil Pemotongan Data Permintaan Laporan, Data Perbandingan Hasil Pemotongan Sistem mengambil data perbandingan hasil pemotongan dari tabel hasil pemotongan dan menampilkannya ke layar Display Laporan Perbandingan Hasil Pemotongan

12 Mencetak

Laporan Perbandingan Hasil Pemotongan Display Laporan Perbandingan Hasil Pemotongan Sistem mencetak laporan perbandingan hasil pemotongan untuk dicetak Laporan Perbandingan Hasil Pemotongan

3.3.2.2 Context Diagram

Berikut ini adalah desain Context Diagram untuk perangkat lunak yang akan


(54)

Purchase Order

Nota Kaca

Laporan Perbandingan Hasil Pemotongan Laporan Kaca Terlaris

Laporan Pelanggan Prioritas Laporan Hasil Pemotongan Permintaan Laporan

Bukti Order Pelanggan Data Order Pelanggan

0 Aplikasi Cutting Stock Optimization + Bagian Administrasi Bagian Pemotongan

Gambar 3.6Context Diagram

3.3.2.3 Diagram Berjenjang

Diagram Berjenjang merupakan diagram yang menggambarkan pembagian fungsi-fungsi dari sistem menjadi sub sistem yang lebih kecil. Diagram Berjenjang untuk aplikasi yang dikembangkan dapat dilihat pada Gambar 3.7.

0

Aplikasi Cutting Stock Optimization Dengan Metode Integer Linear Progamming

2 Membuat Purchase Order 3 Menghitung Pola Pemotongan 1 Mencatat Order Pelanggan 4 Membuat Laporan Hasil Pemotongan 4.2 Mengecek Data Permintaan Laporan 4.3 Menampilkan Laporan Hasil Pemotongan 4.1 Menginputkan Permintaan Laporan 4.4 Mencetak Laporan Hasil Pemotongan 1.1 Menginputkan Data Order 1.2 Mengecek Ketersediaan Kaca 1.3 Membuat Purchase Order 1.4 Menyimpan Order Pelanggan 1.5 Mencetak Bukti Order Pelanggan 2.1 Menampilkan Data Purchase Order 2.2 Mencetak Data Purchase Order 2.3 Menginputkan Data Kaca Baru 2.4 Mengupdate Stok Kaca 3.1 Menampilkan Data Order 3.2 Menghitung Pola Pemotongan Kaca 3.3 Menghitung Dengan Metode Integer Linear Programming 3.4 Menimpan Data Hasil Pemotongan 3.5 Mengupdate Stok Kaca 3.6 Menyimpan Stok Sisa Kaca 4.5 Menampilkan Laporan Pelanggan Prioritas 4.6 Mencetak Laporan Pelanggan Prioritas 4.7 Menampilkan Laporan Kaca Terlaris 4.8 Mencetak Laporan Kaca Terlaris 4.9 Menampilkan Laporan Perbandingan Hasil Pemotogan 4.10 Mencetak Laporan Perbandingan Hasil Pemotongan


(55)

3.3.2.4 Data Flow Diagram

Data Flow Diagram (DFD) untuk aplikasi yang sedang dikembangkan telah didefinisikan menjadi sub sistem Level 0 yang terdiri dari:

a) Data Flow Diagram Level 0

Pada Level 0 terlihat pada Gambar 3.8, aliran data yang masuk ke sistem,

proses-proses yang dilakukan, dan tabel yang dibutuhkan berasal dari Bagian Administrasi dan Bagian Pemotongan.

[Nota Kaca] [Purchase Order]

Data Perbandingan Hasil Pemotongan Data Jenis KacaData Pelanggan

[Laporan Kaca T erlaris] [Laporan Perbandingan Hasil Pemotongan]

[Laporan Pelanggan Prioritas]

Data Update Stok Kaca Data Purchase Order

Data Stok Kaca Data Stok Sisa Kaca

Data Purchase Order

Data Hasil Pemotongan Data Stok Sisa Kaca Data Stok Kaca

Data Hasil Pemotongan

Data Order Pelanggan Data order pelanggan

[Permintaan Laporan] [Laporan Hasil Pemotongan]

[Bukti Order Pelanggan] [Data Order Pelanggan] Bagian Administrasi Bagian Pemotongan 1 Mencatat Order Pelanggan+ 2 Membuat Purchase Order + 3 Menghitung Pola Pemotongan+ 4 Membuat Laporan Hasil Pemotongan +

3 T abel Order Pelanggan

4 T abel Purchase Order

5 T abel Hasil Pemotongan 1 T abel Stok Kaca

2 T abel Stok Sisa Kaca

1 T abel Stok Kaca 2 T abel Stok Sisa

Kaca

3 T abel Order Pelanggan


(56)

b) Data Flow Diagram Level 1 Mencatat Order Pelanggan.

Untuk Level 1 Mencatat Order Pelanggan, sistem menerima masukan data dari

Bagian Administrasi berupa data order kaca yang akan disimpan didalam database. DFD

Level 1 Mencatat Order Pelanggan dapat dilihat pada Gambar 3.9.

Data Purchase Order Data stok kaca Inputan data order

[Data Purchase Order]

[Data Stok Sisa Kaca] [Data Stok Kaca]

Data order pelanggan

[Data order pelanggan]

[Bukti Order Pelanggan]

[Data Order Pelanggan] Bagian

Administrasi

3 Tabel Order

Pelanggan 1.1 Menginputkan Data Order 1.4 Menyimpan Order Pelanggan 1.5 Mencetak Bukti Order Pelanggan

2 Tabel Stok

Sisa Kaca

1 Tabel Stok Kaca

4 Tabel Purchase Order

1.2 Mengecek Ketersediaan Kaca 1.3 Membuat Purchase Order

Gambar 3.9 DFD Level 1 Mencatat Order Pelanggan c) Data Flow Diagram Level 1 Membuat Purchase Order.

Sedangkan untuk Level 1 Membuat Purchase Order, sistem akan menampilkan data


(57)

ditampilkan kemudian dapat dicetak menjadi purchase order. DFD Level 1 Membuat

Purchase Order dapat dilihat pada Gambar 3.10.

[Nota Kaca] [Purchase Order] Display Data Purchase Order

[Data Purchase Order]

Data Stok Kaca Diorder

[Data Update Stok Kaca]

4 Tabel Purchase Order

2.1 Menampilkan Data Purchase

Order

2.3 Menginputkan

Data Kaca Baru

2.4 Mengupdate

Stok Kaca

1 Tabel Stok Kaca 2.2

Mencetak Data Purchase

Order

Bagian Administrasi

Gambar 3.10 DFD Level 1 Membuat Purchase Order

d) Data Flow Diagram Level 1 Menghitung Pola Pemotongan.

Untuk DFD Level 1 Menghitung Pola Pemotongan, sistem menampilkan data order

kaca yang akan digunakan dalam proses pemotongan. Setelah data ditampilkan, kemudian diolah untuk mencari pola pemotongan terbaik. Terakhir hasil pemotongan akan disimpan

ke dalam database. DFD Level 1 Menghitung Pola Pemotongan dapat dilihat pada


(58)

Visualisasi pola pemotongan Data Pemotongan

Data Stok Hasil Pemotongan Data Stok Hasil Pemotongan Display data order pelanggan

[Data Stok Sisa Kaca] [Data Stok Kaca]

[Data Hasil Pemotongan] [Data Order Pelanggan]

3 Tabel Order Pelanggan

5 Tabel Hasil Pemotongan

1 Tabel Stok Kaca

2 Tabel Stok Sisa Kaca

3.1 Menampilkan

Data Order

3.2 Menghitung

Pola Pemotongan

Kaca

3.4 Menyimpan

Data Hasil Pemotongan

3.5 Mengupdate

Stok Kaca

3.6 Menyimpan Stok Sisa Kaca

3.3 Menghitung Dengan Metode

Integer Linear Programming


(59)

e) Data Flow Diagram Level 1 Membuat Laporan Hasil Pemotongan.

Dalam DFD Level 1 Membuat Laporan Hasil Pemotongan, sistem menampilkan

laporan hasil pemotongan kaca, berdasarkan periode yang diinputkan. DFD Level 1


(60)

Display Laporan Perbandingan Hasil Pemotongan Data Permintaan Laporan

Display Laporan Kaca T erlaris Data Permintaan Laporan Display Laporan Pelanggan Prioritas

Data Permintaan Laporan Display Laporan Hasil Pemotongan

Data Permintaan Laporan Data Permintaan Laporan

[Data Perbandingan Hasil Pemotongan]

[Laporan Perbandingan Hasil Pemotongan] [Laporan Kaca T erlaris]

[Data Jenis Kaca] [Laporan Pelanggan Prioritas]

[Data Pelanggan] [Laporan Hasil Pemotongan]

[Data Hasil Pemotongan] [Permintaan Laporan]

Bagian Pemotongan

5 T abel Hasil Pemotongan 4.1 Menginputkan Permintaan Laporan 4.3 Menampilkan Laporan Hasil Pemotongan

3 T abel Order Pelanggan

3 T abel Order Pelanggan

5 T abel Hasil Pemotongan 4.2 Mengecek Data Permintaan Laporan 4.4 Mencetak Laporan Hasil Pemotongan 4.5 Menampilkan Laporan Pelanggan Prioritas 4.6 Mencetak Laporan Pelanggan Prioritas 4.7 Menampilkan Laporan Kaca T erlaris 4.8 Mencetak Laporan Kaca T erlaris 4.9 Menampilkan Laporan Perbandingan Hasil Pemotongan 4.10 Mencetak Laporan Perbandingan Hasil Pemotongan


(61)

3.3.2.5 Entity Relationship Diagram

Entity Relationship Diagram (ERD) adalah suatu desain sistem yang digunakan untuk merepresentasikan, menentukan, dan mendokumentasikan kebutuhan sistem kedalam suatu bentuk dengan tujuan untuk menunjukkan struktur keseluruhan dari data pemakai. Dalam perancangan aplikasi ini, telah terbentuk ERD yang merupakan lanjutan dari pembuatan desain dengan menggunakan DFD, yang disimbolkan dengan menggunakan

simbol entity. Adapun entity tersebut adalah:

a) Bagian Administrasi

b) Bagian Pemotongan

3.3.2.6 Conceptual Data Model

Conceptual Data Model merupakan gambaran secara keseluruhan tentang konsep struktur basis data yang dirancang untuk program atau aplikasi. Pada CDM belum

tergambar jelas bentuk tabel-tabel penyusun basis data beserta field yang terdapat pada

setiap tabel. Adapun CDM yang dirancang untuk Rancang Bangun Aplikasi Cutting Stock


(62)

Mempunyai Melakukan Melakukan Melakukan Mempunyai Memiliki Mempunyai Mempunyai Memiliki Memiliki Stok_Kaca Tinggi Lebar Stok Master_Kaca Id_Kaca Nama_Kaca Harga_Beli Harga_Lembaran Harga_Potongan

Stok Sisa Kaca Tinggi Lebar Stok Order_Pelanggan Id_Order Tinggi Lebar Jumlah Nama_Pelanggan Tanggal Status Purchase_Order Id_Po Tinggi Lebar Jumlah Tanggal Hasil_Pemotongan Ukuran Jumlah_Kaca_Terpakai Sisa_Kaca_1 Sisa_Kaca_2 Pegawai id_Pegawai Nama_Pegawai Jabatan Pengguna Password

Gambar 3.13Conceptual Data Model

3.3.2.7 Physical Data Model

Physical Data Model (PDM) menggambarkan secara detil konsep rancangan struktur

basis data untuk suatu program atau aplikasi. PDM terbentuk dari Conceptual Data Model

(CDM) yang menggambarkan tabel-tabel penyusun basis data beserta field-field yang


(63)

ID_ORDER = ID_ORDER

ID_PEGAWAI = ID_PEGAWAI

ID_PEGAWAI = ID_PEGAWAI

ID_PEGAWAI = ID_PEGAWAI

ID_PEGAWAI = ID_PEGAWAI

ID_KACA = ID_ORDER ID_KACA = ID_KACA

ID_KACA = ID_KACA

ID_KACA = ID_KACA

ID_KACA = ID_KACA

STOK_KACA ID_KACA varchar(30) PANJANG integer LEBAR integer STOK integer MASTER_KACA ID_KACA varchar(30) NAMA_KACA varchar(30) HARGA_BELI integer HARGA_LEMBARAN integer HARGA_POTONGAN integer STOK_SISA_KACA ID_KACA varchar(30) PANJANG integer LEBAR integer STOK integer ORDER_PELANGGAN ID_ORDER varchar(20) ID_KACA varchar(30) ID_PEGAWAI varchar(20) PANJANG integer LEBAR integer JUMLAH integer NAMA_PELANGGAN varchar(20) TANGGAL timestamp STATUS varchar(20) PURCHASE_ORDER ID_PO varchar(20) ID_KACA varchar(30) ID_PEGAWAI varchar(20) PANJANG integer LEBAR integer JUMLAH integer TANGGAL timestamp HASIL_PEMOTONGAN ID_ORDER varchar(20) ID_PEGAWAI varchar(20) UKURAN1 varchar(20) JUMLAH_KACA_TERPAKAI integer SISA_KACA_1 integer SISA_KACA_2 integer PEGAWAI ID_PEGAWAI varchar(20) NAMA_PEGAWAI varchar(30) JABATAN varchar(20) PENGGUNA ID_PEGAWAI varchar(20) PASSWORD varchar(20)

Gambar 3.14Physical Data Model

3.3.2.8 Struktur Basis Data

Sesuai dengan PDM yang telah terbentuk, dapat dibentuk suatu struktur basis data yang akan digunakan untuk penyimpanan data yaitu:

1. Master Kaca

Primary Key : Id_Kaca


(64)

Fungsi : Untuk menyimpan data master dari kaca

Tabel 3.11 Master Kaca.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Kaca PK Varchar 30 Kode Kaca

2 Nama_Kaca Varchar 30 Nama Kaca

3 Harga_Beli Integer Harga Beli Kaca

4 Harga_Lembaran Integer Harga Lembaran

5 Harga_Potongan Integer Harga_Potongan

2. Tabel Stok Kaca

Primary Key : Id_Kaca, Panjang, Lebar

Foreign Key : Id_Kaca

Fungsi : Untuk menyimpan stok kaca

Tabel 3.12 Stok Kaca.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Kaca PK, FK Varchar 30 Kode Kaca

2 Panjang PK Integer Panjang Kaca

3 Lebar PK Integer Lebar Kaca


(65)

3. Tabel Stok Sisa Kaca

Primary Key : Id_Kaca, Panjang, Lebar

Foreign Key : Id_Kaca

Fungsi : Untuk menyimpan stok kaca sisa

Tabel 3.13 Stok Sisa Kaca.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Kaca PK, FK Varchar 30 Kode Kaca

2 Panjang PK Integer Panjang Kaca

3 Lebar PK Integer Lebar Kaca

4 Stok Integer Jumlah Stok

4. Tabel Order Pelanggan

Primary Key : Id_Order

Foreign Key : Id_Kaca

Fungsi : Untuk menyimpan order dari pelanggan

Tabel 3.14 Order Pelanggan.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Order PK Varchar 20 Kode Purchase


(66)

2 Id_Kaca FK Varchar 30 Kode Kaca

3 Panjang Integer Panjang Kaca

4 Lebar Integer Lebar Kaca

5 Tanggal Datetime Tanggal

6 Jumlah Integer Jumlah Kaca

7 Status Varchar 20 Status Order

6. Tabel Purchase Order

Primary Key : Id_Penerimaan_K

Foreign Key : Id_Kaca

Fungsi : Untuk menyimpan transaksi penerimaan kaca

Tabel 3.15Purchase Order.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Po PK Varchar 20 Kode Purchase

Order

2 Id_Kaca FK Varchar 30 Kode Kaca

3 Panjang Integer Panjang Kaca

4 Lebar Integer Lebar Kaca

5 Tanggal Datetime Tanggal


(67)

7. Tabel Hasil Pemotongan

Primary Key : Id_Pemotongan

Foreign Key : Id_Kaca

Fungsi : Untuk menyimpan transaksi penerimaan kaca

Tabel 3.16 Hasil Pemotongan.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Pemotongan PK Varchar 20 Kode Pemotongan

2 Id_Kaca FK Varchar 30 Kode Kaca

3 Ukuran Varchar 20 Ukuran kaca yang

dipotong

4 Jumlah Integer Lebar Kaca

5 Jumlah_Kaca_Terp

akai

Integer Jumlah kaca yang

dipakai dalam proses pemotongan

6 Jumlah_Sisa_Kaca Integer Jumlah sisa kaca

hasil pemotongan

8. Tabel Pegawai

Primary Key : Id_Pegawai

Foreign Key : -


(68)

Tabel 3.17 Pegawai.

No. Nama Field Constraint Tipe Size Deskripsi

1 Id_Pegawai PK Varchar 20 Kode Pegawai

2 Nama_Pegawai Varchar 30 Nama Pegawai

3 Jabatan Varchar 20 Jabatan Pegawai

3.3.2.9 Perancangan Prosedur dan Program Unit

Detil sistem merupakan penjabaran pemrograman aplikasi dengan menggunakan

pseudocode sehingga konstruksi awal pemrograman aplikasi yang akan dibangun dapat terlihat serta memberikan deskripsi dari setiap fungsi yang akan dibangun disertai dengan desain tampilan antarmuka aplikasi. Pada Tugas Akhir ini, penjabaran detil dari sistem akan dibagi berdasarkan pengguna aplikasi tersebut sesuai dengan yang telah dijelaskan sebelumnya.

a) Form Login

Menampilkan menu untuk masuk ke aplikasi, seperti terlihat pada Tabel 3.21.

Tabel 3.18 Detil FormLogin Descriptions

Form Login merupakan form yang akan tampil pertama kali saat

pengguna akan menggunakan aplikasi. Form Login ini akan selalu

menjadi tampilan awal di setiap pengguna.

Table Input Tabel login Table Output -


(69)

Interface

Gambar 3.15 Desain Form Login Functional -

Non-Functional Security

Query Select Select username, pass_word from login

Pseudocode

Begin Declare

Koneksi() Login() End

Tabel 3.19 Detil Form Mencatat Order Pelanggan

NamaFungsi Mencatat Order Pelanggan Stakeholder Bagian Administrasi

Deskripsi Mencatat order pemotongan dari pelanggan Desain Interface


(70)

Table Input Tabel Pengguna, Tabel Pegawai Table Output Tabel Order Pelanggan

Query Insert into tabel_order_pelanggan ()

Pseudocode Begin

Declare Otentikasi()

Menginputkan_Order_Pelanggan() Menyimpan_Order_Pelanggan() Mencetak_Bukti_Order_Pelanggan() End

Kebutuhan Non-Fungsional

Security Correctness Interface Performance Operability

Tabel 3.20 Detil Form Membuat Purchase Order NamaFungsi Membuat Purchase Order

Stakeholder Bagian Administrasi

Deskripsi Membuat purchase order dari stok kaca yang jumlahnya hampir habis untuk dilakukan order pembelian


(71)

Desain Interface

Gambar 3.17 Desain Form Membuat Purchase Order Table Input Tabel Pengguna, Tabel Pegawai, Tabel Purchase Order, Tabel Stok

kaca

Table Output -

Query Select * from stok_kaca where stok<=5 Insert into tabel_order_pelanggan ()

Pseudocode Begin Declare Otentifikasi()

Menampilkan_Data_Purchase_Order() Mengupdate_Jumlah_Purchase_Order() Mencetak_Purchase_Order()


(72)

End

Kebutuhan

Non-Fungsional

Security Correctness Interface Performance Operability

Tabel 3.21 Detil Form Menghitung Pola Pemotongan

NamaFungsi Menghitung Pola Pemotongan Stakeholder Bagian Pemotongan

Deskripsi Menghitung pola pemotongan terbaik berdasarkan ukuran dari order kaca pelanggan

Desain Interface

Gambar 3.18 Desain Form Menghitung Pola Pemotongan

Table Input Tabel Pegawai, Tabel Pengguna,Tabel Order Pelanggan, Tabel Stok Kaca


(73)

Query Select * from order_pelanggan Insert into hasil_pemotongan ()

Pseudocode Begin Declare Otentikasi()

Menampilkan_Data_Order_Pelanggan() Menghitung_Pola_Pemotongan_Kaca() Mengecek_Ketersediaan_Kaca()

Menyimpan_Jumlah_Kekurangan_Kaca()

Menghitung_Dengan_Metode_Integer_Linear_Programming() Menyimpan_Data_Hasil_Pemotongan()

Mengupdate_Stok_Kaca() Menyimpan_Stok_Sisa_Kaca() End

Kebutuhan

Non-Fungsional

Security Correctness Interface Performance Operability

Tabel 3.22 Detil Form Membuat Laporan Hasil Pemotongan

NamaFungsi Membuat Laporan Hasil Pemotongan Stakeholder Bagian Pemotongan


(74)

Deskripsi Membuat laporan dari hasil pemotongan yang telah dilakukan dalam periode yang ditentukan

Desain Interface

Gambar 3.19 Desain Form Membuat Laporan Hasil Pemotongan

Table Input Tabel Hasil Pemotongan

Table Output -

Query Select * from hasil_pemotongan

Pseudocode Begin Declare Otentikasi()

Menginputkan_Periode_Laporan()

Menampilkan_Laporan_Hasil_Pemotongan() Mencetak_Laporan_Hasil_Pemotongan() End

Kebutuhan


(75)

Fungsional Correctness Interface Performance Operability

3.3.2.10 Studi Kasus Optimasi Pemotongan Kaca

Berikut merupakan contoh dari studi kasus didalam pemotongan kaca yang digunakan untuk pembuatan Aquarium. Dari jenis kaca lembaran yang ada digunakan sebagai acuan untuk menghasilkan potongan yang sesuai. Beberapa kombinasi potongan dilakukan untuk menciptakan kondisi optimal dalam pemotongan kaca. Kombinasi tersebut menghasilkan pola potong dengan bentuk vertikal dan horizontal. Diketahui pesanan untuk kebutuhan aquarium dengan spesifikasi sebagai berikut :

Ukuran Pesanan : 30cm x 50cm

Jumlah Pesanan : 1000 Lembar

Tujuan : Menghasilkan pola pemotongan untuk 1000 lembar kaca dengan sisa potongan terkecil.


(76)

a. Kombinasi Horizontal

Gambar 3.20 Pola Pemotongan Horizontal Perhitungan Jumlah Potongan : (122/30) x (153/50)

Perkalian ini diambil pembulatan kebawah

Jadi menghasilkan : 4 x 3 = 12

Kombinasi ini menghasilkan 12 lembar kaca potongan dengan :

Sisa vertikal (biru muda Gambar 3.20) = (153 – (50 cm x 3)) x 122 cm

= 3 cm x 122 cm

Sisa Horisontal (abu-abu Gambar 3.20) = (122 cm – (30 cm x 4)) x 153 cm


(1)

Jumlah kaca lembaran yang diperlukan = 9 Lembar Pola pemotongan yang dipakai = Pola Horizontal

Sisa bidang yang dihasilkan (Dalam 1 lembar) = 522 cm2

Perhitungan cutting stock optimization dengan metode integer linear programming secara detil pada aplikasi dapat dilihat pada Gambar 4.13 :

Gambar 4.13 Hasil Integer Linear Programming

Dari perhitungan integer linear programming diketahui bidang paling optimal didapatkan dari X1.1 = 3 dan X2.1 = 4, sehingga Z = 40 .(3) x 50 .(4) = 24.000 cm2

Luas bidang 1 lembar kaca adalah 122 x 201 = 24.522 cm2 Luas Sisa Bidang Kaca = 24.522 cm2 – 24.000 cm2 = 522 cm2 4.4.2 Perhitungan manual tanpa aplikasi

Dengan contoh kasus yang sama seperti perhitungan aplikasi diatas, dilakukan perhitungan secara manual, yaitu menggunakan pola dan jenis ukuran kaca yang diambil secara acak. Pola permotongan yang dipakai adalah pola vertikal dengan ukuran


(2)

108

kaca 198 x 91,5. Berdasarkan pola pemotongan tersebut, hasil yang akan diperoleh adalah sebagai berikut:

Gambar 4.14 Hasil Pola Pemotongan Vertikal Manual

Perhitungan Jumlah Potongan : (91,5/40) x (198/50)

Perkalian ini diambil pembulatan kebawah

Jadi menghasilkan : 2 x 3 = 6

Kombinasi ini menghasilkan 6 lembar kaca potongan dengan :

Sisa vertikal (biru muda Gambar 4.14) = (91,5 – (40 cm x 2)) x 198 cm


(3)

Sisa Horisontal (abu-abu Gambar 4.14) = (198 cm – (50 cm x 3)) x 91,5 cm

= 48 cm x 91,5 cm

Perpotongan antara sisa vertikal dan horizontal (hitam Gambar 4.14) = 11,5 cm x 48 cm

Total sisa = (11,5 cm x 198 cm) + (48 cm x 91,5 cm) – (11,5 cm x 48 cm)

=2277 cm2 + 4392 cm2 - 552 cm2

=6117 cm2

4.4.3 Perbandingan Hasil Evaluasi

Dari hasil uji coba melalui aplikasi dan melalui perhitungan secara manual, total luas sisa kaca dalam 1 lembar kaca, yang dihasilkan mengalami penurunan dari 6.117 cm2 menjadi 522 cm2. Adapun perbandingan secara terperinci dapat dilihat pada Tabel 4.13.

Tabel 4.13 Perbandingan Hasil Evaluasi

Evaluasi Ukuran Kaca yang dipakai

Pola yang Dipakai Sisa yang Dihasilkan (1 lembar kaca ) Perhitungan

Aplikasi

201 x 122 Horizontal 522 cm2

Perhitungan Manual

198 x 91,5 Vertikal 6117 cm2

Adapun perbandingan hasil luas sisa kaca yang dihasilkan bila di visualisasikan dalam bentuk grafik akan tampak seperti pada Gambar 4.15 berikut ini.


(4)

110

Gambar 4.15 Perbandingan Luas Sisa Kaca

Berikut merupakan hasil evaluasi akhir rata-rata penurunan luas sisa pemotongan yang dihasilkan dari beberapa proses pemotongan yang dilakukan:

Tabel 4.14 Rata-Rata Penurunan Jenis Kaca Ukuran

Order

Sisa Pemotongan yang dihasilkan (cm2) Penurunan (%)

Manual Aplikasi

Polos 5 mm 50 x 40 6117 522 91,46

Polos 5 mm 80 x 40 5317 3126 41.20

Polos 5 mm 80 x 25 4117 1999.5 51.43

Polos 5 mm 40 x 25 4117 522 87.32

Riben 5 mm 150 x 30 666 666 0

Polos 5 mm 80 x 50 6117 1999.5 67.31


(5)

BAB V PENUTUP 5.1.Kesimpulan

Setiap penelitian tentu menghasilkan suatu kesimpulan yang dapat digunakan untuk memperkuat hasil penelitian. Adapun kesimpulan yang dapat diambil dari penelitian ini adalah sebagai berikut:

1. Luas bidang kaca yang dipakai dapat dioptimalkan dengan memilih pola yang telah dihitung menggunakan metode integer linear programming.

2. Biaya material yang muncul dari luas sisa kaca yang terbuang setiap lembarnya, dapat dikurangi menjadi sekitar 56,45 %.

5.2.Saran

Adapun saran yang dapat diberikan pada penelitian ini adalah sebagai berikut: 1. Aplikasi ini memerlukan aplikasi tambahan yang dapat menampilkan gambar

visualisasi pemotongan dengan lebih fleksibel dan inovatif.

2. Penelitian ini dapat dikembangkan lebih lanjut dengan menambahkan metode lainnya yang terkait seperti algoritma genetika.


(6)

DAFTAR PUSTAKA

Dimyati, Tjutju Tarliah dan Ahmad Dimyati, Operations Research : Model-model Pengambilan Keputusan, Sinar Baru Algensindo : Bandung, 2003

England, John Wiley & Sons. IEEE. “ Guide to the Software Engineering Body of Knowledge 2004 Version:” SWEBOK A Project of the IEEE Computer Society Professional Practices Committee. Tahun 2004.

Hamdy A Taha, Riset Operasi jilid 1, Binarupa Aksara, Jakarta, 1996

Kendall & Kendall Brothers. Analisis dan Perancangan Sistem .Cetakan Kelima. Jakarta.2003

Kristanto, H, Konsep dan Perancangan Database, Andi Offset, Yogyakarta, 1994. Lieberman, Gerald J. and Frederick S, Hillier, Introduction to Operations Research-6th

ed, McGraw Hill : New York, 1995

Royce, Winston (1970), "Managingthe Development of Large Software Systems", Proceedings of IEEE WESCON 26 (August): 1–9.

Scheithauer, G and G. Belov, A Branch-and-Cut-and-Price Algorithm for One- Dimensional Stock Cutting and Two-Dimensional Two-Stage Cutting, Technical

Report MATH-NM-03, Dresden University, 2003

Simatupang, Togar M., Pemodelan Sistem, Nindita : Klaten, 1995

Sommerville, I. and Sawyer, P. (1997). Requirements Engineering: A Good Practice, Chichester

Yuswanto, “Pemrograman Dasar Visual Basic .NET 2005”, Jakarta, 2008.