• Tidak ada hasil yang ditemukan

Implementasi algoritma programming pada aplikasi perhitungan biaya produksi produk percetakan berbasis web

N/A
N/A
Protected

Academic year: 2017

Membagikan "Implementasi algoritma programming pada aplikasi perhitungan biaya produksi produk percetakan berbasis web"

Copied!
125
0
0

Teks penuh

(1)

(STUDI KASUS : CV. TUNAS UTAMA)

ARIEF ARDIYUANDA

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

(2)

(STUDI KASUS: CV TUNAS UTAMA)

Skripsi

Sebagai Salah Satu Syarat Untuk Memperoleh Gelar Sarjana Komputer

Pada Fakultas Sains dan Teknologi

Universitas Islam Negeri Syarif Hidayatullah Jakarta

Oleh:

ARIEF ARDI YUANDA 105091002862

Menyetujui,

Pembimbing I,

Yusuf Durachman, MIT, M.Sc NIP. 1971 0522 2006 04 1 002

Pembimbing II,

Husni Teja Sukmana, PhD NIP. 1977 1030 2001 12 1 003

Mengetahui,

Ketua Program Studi Teknik Informatika

(3)

(STUDI KASUS : CV. TUNAS UTAMA)

Oleh:

ARIEF ARDIYUANDA 105091002862

Skripsi

Sebagai salah satu syarat untuk memperoleh gelar

Sarjana Komputer

PROGRAM STUDI TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS ISLAM NEGERI SYARIF HIDAYATULLAH

(4)

BENAR HASIL KARYA SENDIRI YANG BELUM PERNAH DIAJUKAN

SEBAGAI SKRIPSI ATAU KARYA ILMIAH PADA PERGURUAN TINGGI

ATAU LEMBAGA MANAPUN.

JAKARTA, JUNI 2010

ARIEF ARDIYUANDA

105091002862

(5)

Harga merupakan salah satu faktor kepuasan pelanggan. Perusahaan harus menentukan harga yang sesuai dengan harapan konsumen. Dalam menentukan harga satuan produk maka perusahaan harus mengetahui biaya produksi produk tersebut. Untuk mengetahui biaya produksi maka dibutuhkan perhitungan terhadap faktor produksi dan salah satunya adalah biaya bahan baku. Bahan baku kertas pada bidang percetakan diasumsikan sebagai permasalahan 0 1 knapsack dan menggunakan dynamic programming dalam penyelesaiannya. Metode pengembangan sistem menggunakan model proses rapid application development karena aplikasi yang akan dibuat menggunakan komponen-komponen yang sudah ada dan merupakan aplikasi sederhana. Aplikasi dibuat berbasis web dengan menggunakan PHP sebagai bahasa pemrograman untuk membuat aplikasi dan MySQL sebagai perangkat lunak Sistem Manajemen Basis Data. Aplikasi dapat memaksimalkan bahan baku sehingga meminimalisir biaya produksi dan berdampak langsung pada harga satuan produk.

Kata kunci : 0 1 knapsack, dynamic programming, Biaya Produksi.

(6)

memberikan kesabaran, semangat serta petunjuk dalam proses penyelesaian

skripsi ini.

Penulisan skripsi ini adalah sebagai syarat kelulusan untuk memperoleh

gelar Sarjana Komputer.

Penulis mengucapkan terima kasih berkat bimbingan, dorongan dan

bantuan kepada:

1. Bpk. DR. Syopiansyah Jaya Putra, M.Sis, selaku Dekan Fakultas Sains &

Teknologi.

2. Bpk. Yusuf Durachman, MIT, selaku Ketua Program Studi Teknik

Informatika dan juga selaku Dosen Pembimbing I yang senantiasa sabar

dalam membimbing penulis serta telah memberikan ilmunya yang sangat

berharga bagi penulis.

3. Bpk. Husni Teja Sukmana, PhD, selaku Dosen Pembimbing II yang juga

senantiasa sabar dalam membimbing penulis serta telah memberikan

ilmunya yang sangat berharga bagi penulis.

4. Kedua Orang Tua Tercinta, yang telah memberikan motivasi serta

dukungan moril maupun materil.

5. Karyawan CV. TUNAS UTAMA.

6. Dosen dan Pegawai Tata Usaha Fakultas Sains dan Teknologi.

7. Teman-teman D’Kans Organizer.

8. Teman-teman kelas TI-C 2005.

(7)

vi

Penulis selalu menerima saran dan kritik dari pembaca. Semoga tulisan ini

bermanfaat bagi kita semua. AMIN.

Jakarta, Mei 2010

(8)

HALAMAN PENGESAHAN ... ii

HALAMAN PERNYATAAN... iii

ABSTRAK... iv

KATA PENGANTAR... v

DAFTAR ISI... vii

DAFTAR TABEL... x

DAFTAR GAMBAR... xi

BAB I. PENDAHULUAN... 1

1.1. LATAR BELAKANG... 1

1.2. RUMUSAN MASALAH... 2

1.3. BATASAN MASALAH... 3

1.4. TUJUAN DAN MANFAAT PENELITIAN... 3

1.4.1. Tujuan Penelitian... 3

1.4.2. Manfaat Penelitian... 3

1.5. METODOLOGI PENELITIAN... 4

1.5.1. Metode Pengumpulan Data... 4

1.5.2. Metode Pengembangan Sistem... 4

1.6. SISTEMATIKA PENULISAN... 5

BAB II. LANDASAN TEORI... 6

2.1. ALGORITMA... 6

(9)

2.1.4. Kompleksitas Waktu... 13

2.2. DYNAMIC PROGRAMMING... 13

2.3. KNAPSACK PROBLEM... 15

2.4. BIAYA... 20

2.5. PRODUKSI... 20

2.6. BIAYA PRODUKSI... 21

2.6.1. Analisis Biaya Jangka Pendek... 22

2.7. WEB BASED APPLICATION... 23

2.8. PHP... 23

2.9. MySQL... 24

2.10. STUDI SEJENIS... 26

BAB III. METODOLOGI PENELITIAN... 30

3.1. METODE PENGUMPULAN DATA... 30

3.2. METODE PENGEMBANGAN SISTEM... 31

3.2.1. Communication... 33

3.2.2. Planning... 33

3.2.1. Modelling... 33

3.2.2. Construction... 33

3.2.1. Deployment... 34

3.3. ALASAN MENGGUNAKAN RAD... 34

(10)

ix

4.2. PLANNING... 35

4.3. MODELLING... 36

4.3.1. Business Modelling... 36

4.3.2. Data Modelling... 37

4.3.3. Process Modelling... 40

4.3.4. Perancangan Interface... 51

4.4. CONSTRUCTION... 58

4.5. DEPLOYMENT... 59

4.5.1. Spesifikasi Hardware dan Software... 59

4.5.2. Pengenalan Tampilan... 59

4.5.3. Pengujian... 69

4.5.3. Implementasi... 81

BAB V. KESIMPULAN DAN SARAN... 82

5.1. KESIMPULAN... 82

5.2. SARAN... 82

DAFTAR PUSTAKA... 83

(11)

Tabel 4.1. Data Admin ...37

Tabel 4.2. Data Kertas ...38

Tabel 4.3. Data Proses ...38

Tabel 4.4. Data Finishing ...39

Tabel 4.5. Data Ukuran ...39

(12)

Gambar 2.2. Contoh algoritma menggunakan pseudocode...7

Gambar 2.3. Contoh flowchart perhitungan luas...9

Gambar 2.4. Struktur Runtunan...10

Gambar 2.5. Struktur Percabangan...10

Gambar 2.6. Struktur Perulangan ...11

Gambar 2.7. Algoritma Dynamic Programming Pada 0 1 Knapsack...17

Gambar 2.8. Hasil perhitungan aplikasi optimasi biaya...27

Gambar 2.9. Hasil perhitungan salah satu fitur pada sistem informasi percetakan ...29

Gambar 3.1. The RAD Model...32

Gambar 4.1. Use Case Diagram...36

Gambar 4.2. Flowchart input data kertas ...40

Gambar 4.3. Flowchart update data kertas...41

Gambar 4.4. Flowchart delete data kertas...42

Gambar 4.5. Flowchart input data proses...42

Gambar 4.6. Flowchart update data proses...43

Gambar 4.7. Flowchart delete data proses ...44

Gambar 4.8. Flowchart input data finishing ...44

Gambar 4.9. Flowchart update data finishing ...45

Gambar 4.10. Flowchart delete data finishing ...46

(13)

Gambar 4.14. Flowchart perhitungan biaya bahan baku ...48

Gambar 4.15. Flowchart update password administrator ...49

Gambar 4.16. Flowchart proses perhitungan biaya produksi...50

Gambar 4.17. Rancangan tampilan home pengguna ...51

Gambar 4.18. Rancangan tampilan home Administrator ...51

Gambar 4.19. Rancangan tampilan input data kertas ...52

Gambar 4.20. Rancangan tampilan update data kertas ...52

Gambar 4.21. Rancangan tampilan delete data kertas...53

Gambar 4.22. Rancangan tampilan input data proses ...53

Gambar 4.23. Rancangan tampilan update data proses...54

Gambar 4.24. Rancangan tampilan delete data proses ...54

Gambar 4.25. Rancangan tampilan input data finishing ...55

Gambar 4.26. Rancangan tampilan update data finsihing...55

Gambar 4.27. Rancangan tampilan delete data finishing ...56

Gambar 4.28. Rancangan tampilan input data ukuran...56

Gambar 4.29. Rancangan tampilan update data ukuran...57

Gambar 4.30. Rancangan tampilan delete data ukuran ...57

Gambar 4.31. Rancangan tampilan update password administrator ...58

Gambar. 4.32. Tampilan home pengguna...60

Gambar. 4.32. Tampilan home administrator...60

(14)

xiii

Gambar. 4.37. Tampilan input data proses cetak ...63

Gambar.4.38. Tampilan update data proses cetak...64

Gambar. 4.39. Tampilan delete data proses cetak ...64

Gambar. 4.40. Tampilan input data finishing...65

Gambar. 4.41. Tampilan update data finishing ...66

Gambar. 4.42. Tampilan delete data finishing...66

Gambar. 4.43. Tampilan input data ukuran kertas ...67

Gambar. 4.44. Tampilan update data ukuran kertas...68

Gambar. 4.45. Tampilan delete data ukuran kertas ...68

(15)

BAB I

PENDAHULUAN

1.1. LATAR BELAKANG

Kepuasan pelanggan (Customer Satisfaction) ditentukan oleh

persepsi pelanggan atas performance produk atau jasa dalam memenuhi

harapan pelanggan. Pelanggan merasa puas apabila harapannya terpenuhi

atau akan sangat puas jika harapan pelanggan terlampaui. Terdapat lima

faktor utama yang menentukan tingkat kepuasan pelanggan yaitu kualitas

produk, harga, kualitas pelayanan, emosional, kemudahan untuk

mendapatkan produk atau jasa tersebut (Irawan,2003:37).

CV. Tunas Utama merupakan salah satu perusahaan yang bergerak

di bidang percetakan. Layaknya sebuah perusahaan pada umumnya,

kepuasan pelanggan sangat dikedepankan terutama masalah harga. Dalam

menentukan harga sebuah produk, diperlukan perhitungan biaya produksi

yang dikeluarkan. Terdapat empat faktor yang mempengaruhi biaya

produksi yaitu bahan baku, tenaga kerja, overhead pabrik, dan pengusaha.

( Soeharno,2009:97).

Perusahaan harus menghitung empat faktor yang telah disebutkan,

salah satunya adalah biaya bahan baku. Pada bidang percetakan bahan

baku yang digunakan adalah kertas. Terdapat beberapa jenis kertas yang

memiliki beberapa ukuran panjang dan lebar, perusahaan harus bisa

memilih ukuran mana yang akan digunakan untuk meminimalisir biaya

(16)

pada harga pokok produksi. Harga pokok produksi yang didapat digunakan

untuk menentukan harga jual sebuah produk.

Berdasarkan permasalahan yang ada pada CV. Tunas Utama,

penulis menginginkan agar perangkat teknologi, seperti komputer dapat

dipergunakan untuk melakukan perhitungan biaya produksi yang terjadi,

sehingga penulis akan melakukan penelitian dengan judul

“IMPLEMENTASI ALGORITMA DYNAMIC PROGRAMMING PADA

APLIKASI PERHITUNGAN BIAYA PRODUKSI PRODUK

PERCETAKAN BERBASIS WEB (Studi Kasus : CV. Tunas Utama)”.

1.2. RUMUSAN MASALAH

Seperti yang telah dijabarkan dalam subbab sebelumnya, masalah

yang timbul yaitu:

1. Perhitungan biaya produksi yang masih manual.

2. Menentukan ukuran kertas mana yang akan digunakan sebagai bahan

baku produksi.

Dari masalah tersebut maka penulis merumuskan masalah pada

penelitian ini yaitu bagaimana merancang sebuah aplikasi yang dapat

melakukan perhitungan penentuan bahan baku yang digunakan sehingga

dapat menghitung biaya produksi produk percetakan dengan perangkat

(17)

1.3. BATASAN MASALAH

Batasan permasalahan pada penelitian ini adalah:

1. Melakukan perhitungan biaya produksi produk percetakan seperti:

brosur, undangan, kalender dan nota.

2. Perhitungan penentuan bahan baku kertas yang digunakan pada proses

pembuatan produk percetakan.

3. Implementasi 0 1 knapsack menggunakan dynamic programming.

1.4. TUJUAN DAN MANFAAT PENELITIAN 1.4.1. Tujuan Penelitian

Tujuan dari penelitian ini yaitu:

1. Menghitung biaya produksi produk percetakan secara

terkomputerisasi.

2. Menentukan ukuran bahan baku kertas yang akan digunakan.

1.4.2. Manfaat Penelitian

Manfaat dari penelitian ini adalah:

1. Aplikasi ini dapat melakukan perhitungan biaya produksi produk

percetakan.

2. Aplikasi ini dapat menentukan ukuran kertas yang akan digunakan

(18)

1.5. METODOLOGI PENELITIAN 1.5.1. Metode Pengumpulan Data

1. Observasi

Yaitu terjun langsung ke CV. Tunas Utama, Dengan cara

observasi ini akan diperoleh data yang lengkap dan tepat. Selain itu,

metode observasi mempunyai kelebihan yaitu peneliti mengetahui

sendiri dengan jelas tentang masalah knapsack yang terjadi serta

mengetahui perhitungan biaya produksi.

2. Studi Pustaka

Penelitian yang dilakukan dengan data atau keterangan dari

perpustakaan serta mencari referensi yang diperlukan dari buku–buku

acuan yang ada berhubungan dengan masalah knapsack dan

perhitungan biaya produksi.

1.5.2. Metode Pengembangan Sistem

Metode pengembangan sistem yang akan digunakan dalam penelitian

ini menggunakan RAD (Rapid Application Development) yang

dikembangkan oleh James Martin pada tahun 1971. Metode ini memiliki

lima tahapan (Pressman, 2005:81 ), yaitu :

1. Communication

2. Planning

3. Modelling

4. Construction

(19)

1.6. SISTEMATIKA PENULISAN

Dalam skripsi ini, pembahasan yang penulis sajikan terbagi dalam

lima bab, yang secara singkat dapat diuraikan sebagai berikut :

BAB I PENDAHULUAN

Bab ini membahas tentang latar belakang, perumusan

masalah, batasan masalah, tujuan dan manfaat penelitian,

metodologi penelitian dan sistematika penulisan.

BAB II LANDASAN TEORI

Bab ini membahas secara singkat teori yang diperlukan

dalam penelitian skripsi.

BAB III METODOLOGI PENELITIAN

Pada bab ini akan dijelaskan metodologi yang digunakan

penulis dalam melakukan penelitian.

BAB IV HASIL DAN PEMBAHASAN

Dalam bab ini diuraikan hasil analisis dan perancangan

sistem yang dibuat.

BAB V KESIMPULAN DAN SARAN

Bab ini adalah bab terakhir yang menyajikan kesimpulan

serta saran dari apa yang telah diterangkan dan diuraikan

(20)

BAB II

LANDASAN TEORI

2.1. ALGORITMA

Untuk menyelesaikan persoalan-persoalan yang kita hadapi, kita perlu menyusun langkah dan strategi. Langkah dan stratergi dalam menyelesaikan suatu persoalan disebut algoritma. Algoritma berasal dari

kata algorism, yaitu penulis buku arab yang terkenal, Abu Ja’far Muhammad Ibnu Musa Al-Khowarizmi (Sismoro,2005:29).

Algoritma adalah kumpulan instruksi/perintah/langkah yang berhingga jumlahnya, dituliskan secara sistematis, dan digunakan untuk menyelesaikan masalah/persoalan logika dan matematika dengan bantuan

komputer (Sismoro,2005:29).

Algoritma adalah urutan langkah-langkah untuk memecahkan suatu

masalah (Munir,2007:4)

Algoritma adalah alur pikiran dalam menyelesaikan suatu pekerjaan, yang dituangkan dalam bentuk tertulis yang dapat dimengerti

oleh orang lain (Sjukani,2007:1).

Algoritma adalah deretan langkah-langkah komputasi yang

mentransformasikan data masukan menjadi keluaran (Cormen,2002:5) Dari beberapa penjabaran di atas, maka dapat disimpulkan bahwa algoritma adalah tahapan-tahapan yang diproses untuk memperoleh

(21)

Bila digambarkan maka proses penyelesaian masalah sampai

memperoleh pemecahannya adalah sebagai berikut :

Masalah Algoritma Solusi

Gambar 2.1. Hubungan masalah, algoritma dan solusi

2.1.1. Penyajian Algoritma

Algoritma disajikan dengan tulisan atau gambar. Algoritma yang disajikan dengan tulisan memiliki struktur bahasa tertentu dan

pseudocode, sedangkan yang disajikan dengan gambar, misalnya

flowchart program, data flow diagram, diagram chart dan lain-lain.

1. Pseudocode berasal dari kata pseudo (mirip/menyerupai) dan code,

yang berarti kode yang mirip dengan kode program yang sebenarnya. Sebagai contoh, algoritma yang ditulis dengan pseudocode untuk

menyelesaikan permasalahan akan menukarkan isi dari dua nilai yang berbeda, yaitu A = 10 dan B = 20.

C B

B A

A C

Output (A,B)

Gambar 2.2. Contoh algoritma menggunakan pseudocode

2. flowchart adalah bagan yang menggambarkan urutan logika dari suatu

(22)

simbol-simbol yang dipergunakan dalam flowchart beserta dengan nama dan

fungsi masing-masing simbol.

Tabel. 2.1. Simbol-simbol yang dipergunakan dalam flowchart

Simbol Nama Fungsi

terminal symbol menunjukkan awal dan akhir dari

program

preparation symbol memberikan nilai awal pada suatu

variabel

processing symbol Menunjukkan pengolahan

aritmatika dan pemindahan data

input/output symbol menunjukkan proses input atau

output

desicion symbol mewakili operasi perbandingan

dengan logika. predefined process

symbol

proses yang ditulis sebagai

subprogram, yaitu prosedur/fungsi

connector symbol penghubung pada halaman yang

sama

off page connector symbol

penghubung pada halaman yang

berbeda.

(23)

Gambar 2.3 memperlihatkan flowchart untuk menghitung luas lingkaran, pertama memulai program kemudian memasukkan jari-jari dan program akan

menghitung luas sesuai dengan rumus yang telah dibuat dan menghasilkan

keluaran berupa luas:

Mulai

Masukan jari_jari

Luas 3,14 x jari_jari x jari_jari

Keluaran Luas

Selesai

Gambar 2.3. Contoh flowchart perhitungan luas

2.1.2. Struktur Dasar Algoritma

Algoritma berisi langkah-langkah penyelesaian suatu masalah. Langkah-langkah tersebut bisa berupa aksi (kejadian/tindakan), pemilihan aksi, dan pengulangan aksi. Berikut adalah tiga struktur dasar algoritma,

(24)

1. Sequence Structure (Struktur Runtunan)

Struktur runtunan adalah struktur dasar algoritma di mana instruksi akan dieksekusi secara berurutan. Digunakan untuk program yang instruksinya berurutan. Gambar 2.4. menjelaskan algoritma dengan

struktur runtunan, jika langkah 1 telah dikerjakan maka lanjut ke langkah 2 tanpa ada persyaratan.

Langkah 1 Langkah 2

Gambar 2.4. Struktur Runtunan

2. Selection Structure (Struktur percabangan)

Struktur percabangan adalah struktur dasar algoritma di mana instruksi/pernyataan akan dieksekusi apabila memerlukan atau

memnuhi suatu kondisi. Gambar 2.5. menggambarkan algoritma yang berstruktur percabangan, jika kondisi telah terpenuhi maka akan menjalankan langkah 1 dan menghasilkan output tetapi jika kondisi

tidak terpenuhi maka akan menjalankan langkah 2. F

kondisi T

Gambar 2.5. Struktur Percabangan Langkah 1 Langkah 2

(25)

3. Repetition Structure (Struktur Perulangan)

Struktur perulangan adalah struktur dasar algoritma di mana instruksi akan dieksekusi secara berulang-ulang apabila memenuhi atau tidak memenuhi suatu kondisi. Gambar 2.5. menggambarkan algoritma

yang berstruktur percabangan, jika kondisi terpenuhi maka akan berulang sampai kondisi tidak terpenuhi.

Gambar 2.6. Struktur Perulangan

2.1.3. Dasar Penyusunan Algoritma

Sejauh ini tidak ada standarisasi tentang bagaimana menyusun algoritma. Secara prinsip anda mempunyai kebebasan untuk menyusun algoritma. Anda dapat menggunakan kata-kata dalam bahasa manusia

ataupun flowchart untuk mewujudkan suatu algoritma.

Walaupun begitu ada beberapa hal yang perlu diperhatikan dalam

menyusun suatu algoritma. Menurut Knuth yang terkutip dalam (Kadir,2005:42), ada lima ciri penting yang harus dimiliki sebuah algoritma, yaitu berupa finiteness, definiteness, masukan, keluaran, dan

efektifitas.

F

T

Kondisi

(26)

1. Finiteness, menyatakan bahwa suatu algoritma harus berakhir untuk

semua kondisi setelah memproses sejumlah langkah.

2. Definiteness, menyatakan setiap langkah harus dinyatakan dengan jelas (tidak rancu atau mendua-arti).

3. Masukan, setiap algoritma dapat tidak memiliki masukan atau mempunyai satu atau beberapa masukan. Masukan merupakan suatu

besaran yang diberikan diawal sebelum algoritma diproses.

4. Keluaran, setiap algoritma memiliki keluaran, entah hanya sebuah keluaran atau banyak keluaran. Keluaran merupakan besaran yang

mempunyai kaitan atau hubungan dengan masukan.

5. Efektifitas, setiap algoritma diharapkan bersifat efektif, dalam arti

semua operasi yang dilaksanakan oleh algoritma harus sederhana dan dapat dikerjakan dalam waktu yang terbatas. Secara prinsip, setiap instruksi dalam algoritma dapat dikerjakan oleh orang hanya

dengan menggunakan kertas dan pensil.

Sebuah algoritma dikatakan benar, untuk beragam masukan, jika

algoritma berakhir dengan keluaran yang benar. Pada keadaan ini algoritma menyelesaikan masalah komputasi yang diberikan.

(27)

2.1.4. Kompleksitas Waktu

Kompleksitas waktu adalah lamanya waktu tempuh sebuah algoritma. Terdapat tiga keadaan yang bisa muncul selama masa tempuh algoritma yaitu worst case, average case, best case. Penjelasan

masing-masing kompleksitas adalah sebagai berikut : 1. Worst Case

Merupakan waktu tempuh yang bernilai maksimum dari suatu fungsi

f(n) untuk setiap input yang mungkin. Keadaan ini disebut sebagai keadaan terburuk dari sebuah algoritma.

2. Average Case

Merupakan seuatu keadaan dari waktu tempuh yang ekivalen dengan

nilai suatu fungsi f(n).

3. Best Case

Merupakan waktu tempuh yang bernilai minimum dari suatu fungsi f(n)

untuk setiap input yang mungkin. Keadaan ini disebut keadaan terbaik dari sebuah proses algoritma dalam menyelesaikan masalah.

2.2. DYNAMIC PROGRAMMING

Dynamic Programming merupakan prosedur optimasi yang

dikembangkan oleh Richar Bellman pada tahun 1952.

(28)

rangkaian keputusan. Menghitung semua urutan keputusan dan kemudian

memilih yang terbaik (Hanchate,2007:3-1).

Dynamic Programming merupakan metode yang secara umum memecahkan masalah optimasi yang melibatkan urutan keputusan, solusi

optimal dari masalah yang asli dapat ditemukan dari solusi optimal

subproblem. (Lew,2007:5)

Dynamic Programming adalah sebuah metode yang dapat digunakan saat permasalahan dapat diurai menjadi beberapa permasalahan.

Dynamic programming menyelesaikan setiap permasalahan hanya sekali

kemudian jawaban tersebut disimpan dalam sebuah tabel, itu dilakukan untuk menghindari perhitungan kembali permasalahan yang ditemui

selanjutnya.(Cormen,2002:323).

Dari beberapa pengertian yang telah dipaparkan sebelumnya, maka dapat disimpulkan bahwa dynamic programming adalah sebuah metode

yang digunakan untuk mendapatkan sebuah solusi masalah utama dengan cara menyatukan solusi-solusi optimal sub masalah.

Dynamic Programming biasa digunakan dalam permasalahan

optimalisasi. Pada sebuah masalah bisa didapatkan banyak kemungkinan solusi. Tiap solusi mempunyai nilai dan kita ingin menemukan sebuah

nilai yang optimal pada masalah tersebut.

(29)

1. Karakteristikan bahwa masalah adalah solusi optimal.

2. Secara berulang mendefinisikan nilai dari solusi optimal. 3. Menghitung nilai solusi optimal dengan cara bottom-up.

4. Membangun solusi optimal dari informasi yang telah didapat.

Pada dynamic programming menggunakan teknik bottom-up. Ada tiga maksud dalam teknik bottom-up yaitu;

1. Mulai dengan bagian permasalahan yang paling kecil

2. Kombinasikan solusi yang didapatkan dan ukuran dinaikkan 3. Kerjakan hingga dicapai solusi permasalah asli.

Dynamic programming menggunakan prinsip-prinsip optimal, artinya setiap bagian dari penyelesaian yang dijalankan harus optimal,

solusi bagian tersebut lalu dikombinasikan sehingga menghasilkan solusi yang optimal.

2.3. KNAPSACK PROBLEM

Knapsack Problem dapat digambarkan sebagai berikut terdapat sebuah wadah dengan kapasitas (W) akan diisi dengan benda sebanyak (n),

masing-masing benda memiliki keuntungan berupa value (v) dan berat berupa weight (w). (Kellerer,2004:2)

Knapsack Problem dapat digambarkan sebagai berikut: Seorang Pencuri merampok toko, menemukan sejumlah n benda, benda ke i

(30)

barang yang berharga sebanyak mungkin, namun ia hanya bisa membawa

barang seberat W pon.( Cormen,2002:382)

Dari penggambaran yang dipaparkan dapat ditarik kesimpulan bahwa Knapsack Problem dapat digambarkan sebagai memilih dari antara

berbagai macam barang yang paling bernilai mengingat bahwa wadah memiliki kapasitas terbatas. Tujuannya adalah memilih benda yang ada

sehingga keuntungan total yang dipilih dapat menjadi maksimal serta ukuran tidak melebihi batasan.

Dari penjabaran di atas maka muncul dua permasalahan knapsack

yaitu fractional knapsack dan 0-1 knapsack problem. Contoh penerapan dari permasalahan knapsack adalah pemotongan bahan baku manufaktur.

Penjelasan dari kedua versi adalah sebagai berikut : 1. Fractional knapsack problem

Maksud dari fractional knapsack adalah objek-objek yang

tersedia boleh diambil sebagian saja. Misal terdapat objek yang mempunyai berat 5 kg dengan nilai Rp. 5000, maka diperbolehkan hanya mengambil 2 kg dengan nilai Rp. 2000.

2. 0-1 knapsack problem

Inti dari knapsack 0-1 adalah objek yang tersedia harus diambil

secara keseluruhan atau tidak sama sekali

(31)

Algoritma mengambil masukan maksimum dengan berat W,

jumlah objek berupa n, dan dua urutan yaitu v= (v1,v2…,vn) dan w= (w1,w2,….,wn). Keadaan ini akan disimpan dalam tabel c[0…n,0…W] yang didalamnya terdapat hasil perhitungan pada baris

pertama dari kolom kiri ke kanan sepanjang W kemudian dilanjutkan pada baris kedua dan seterusnya sebanyak objek n. Pada akhir

perhitungan akan terdapat c[n,W] yang berisi nilai maksimum.

Gambar 2.7. merupakan algoritma dynamic programming pada penyelesaian masalah 0 1 knapsack, pada penyelesaiannya algoritma

ini menyimpan nilai optimal dalam sebuah array :

for w ← 0 to W do

Gambar. 2.7. Algoritma Dynamic Programming Pada 0 1 Knapsack

(32)

Dengan melihat tabel c[n,W], maka dapat ditelusuri dari mana nilai optimal itu didapat. Jika c[i,w] = c[i-1,w], maka objek ke i bukan bagian dari solusi, dan melanjutkan penelusuran dengan c[i,w] =

c[i-1,w], Jika objek ke i merupakan bagian dari solusi maka melanjutkan penelusuran dengan c[i,w] = v[i] + c[i-1,w-w[i]], algoritma ini

memakan waktu n x W.

Berikut contoh kasus penggunaan metode dynamic programming dalam menyelesaikan masalah 0 1 knapsack :

Terdapat knapsack dengan ruang maksimal W = 6. Kemudian ingin dimasukkan beberapa jenis barang (n) = 4. Masing-masing

barang memiliki berat(w) dan keuntungan(v) sebagai berikut : (w1,w2,w3,w4) = (3,2,5,4) , (v1,v2,v3,v4) = (6,5,9,8)

Berapakah keuntungan maksimal yang bisa didapat?

Langkah 1 : inisialisasikan array [0,0] dengan nilai 0 karena tidak ada objek yang dipilih.

Kondisi : i=0 v[0]=0 w[0]=0

for w ← 0 to W do c[0,w] ←0 for i ← 1 to n do c[i,0] ← 0

i/w 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0

1 0

2 0

3 0

(33)
(34)

Kondisi : i=4 v[4]=8 w[4]=4

i/w 0 1 2 3 4 5 6 0 0 0 0 0 0 0 0 1 0 0 0 6 6 6 12

2 0 0 5 6 10 11 15

3 0 0 5 6 10 11 15

4 0 0 5 6 10 11 15

2.4. BIAYA

Biaya adalah semua pengeluaran untuk mendapatkan barang/jasa dari pihak ketiga (Kuswadi,2006:60).

Dalam hal ini biaya adalah uang tunai atau kas atau ekivalen kas (harta non-kas yang dapat ditukar untuk barang atau jasa yang diinginkan) yang dikorbankan untuk barang atau jasa yang diharapkan dapat

memberikan laba baik untuk masa kini maupun masa mendatang. (Kuswadi,2006:60).

Biaya adalah uang yg dikeluarkan untuk mengadakan (mendirikan,

melakukan, dsb) sesuatu.(Kamus Besar Bahasa Indonesia).

Berdasarkan dua penjelasan di atas, maka dapat disimpulkan

bahwa biaya adalah pengeluaran untuk mendapatkan sesuatu yang dinilai dalam bentuk uang.

2.5. PRODUKSI

Produksi ialah suatu proses mentransfer masukan-masukan (inputs)

(35)

Produksi adalah suatu usaha atau kegiatan untuk menambah

kegunaan (nilai guna) suatu barang. Kegunaan suatu barang akan bertambah bila memberikan manfaat baru atau lebih dari bentuk semula (Putong,2005:203).

Produksi adalah suatu kegiatan untuk meningkatkan manfaat dengan cara mengkombinasikan faktor-faktor produksi kapital, tenaga

kerja, teknologi, managerial skill (Soeharno,2009:67)

Dari beberapa definisi yang disebutkan, maka dapat ditarik kesimpulan bahwa produksi adalah proses mengubah masukan sebagai

nilai guna/manfaat sebuah barang menjadi keluaran sebagai barang yang memiliki pertambahan nilai guna.

2.6. BIAYA PRODUKSI

Biaya Produksi adalah semua pengeluaran yang dilakukan oleh

perusahaan untuk memperoleh faktor-faktor produksi dan bahan-bahan mentah yang akan digunakan untuk menciptakan barang-barang yang di produksikan perusahaan tersebut (sadono,2006:205)

Biaya Produksi adalah adalah semua pengorbanan yang dikeluarkan untuk suatu proses produksi yang dinyatakan dalam bentuk

uang menurut harga yang berlaku. ( Sumarsono,2007:154)

(36)

Berdasarkan beberapa pengertian di atas, dapat disimpulkan bahwa

biaya produksi adalah pengeluaran dalam bentuk uang untuk memperoleh faktor-faktor produksi, yang digunakan dalam proses produksi sehingga menghasilkan suatu produk.

Produksi meliputi empat unsur penting, yang disebut faktor-faktor produksi, yaitu:

1. Biaya bahan baku

Biaya yang dikeluarkan untuk pembelian bahan baku produk. 2. Biaya tenaga kerja

Biaya yang dikeluarkan sebagai upah pekerja dalam melakukan proses produksi dari bahan mentah menjadi barang jadi.

3. Biaya overhead pabrik (BOP)

Biaya yang dikeluarkan sebagai sarana pembantu yang digunakan dalam memproduksi barang.

4. Pengusaha

Biaya atas resiko yang diambil oleh para inisiator suatu perusahaan. Hasil biaya produksi yang telah didapat akan digunakan untuk

menentukan harga satuan produk.

2.6.1. Analisis Biaya jangka pendek

(37)

Dalam analisis jangka pendek konsep-konsep biaya yang digunakan

adalah :

1. Biaya tetap, yaitu biaya yang tidak tergantung pada banyak sedikitnya produk yang dihasilkan.

2. Biaya variabel , yaitu biaya yang tergantung pada banyak sedikitnya produk yang dihasilkan.

3. Biaya total, yaitu biaya tetap yang ditambah dengan biaya variabel. 4. Biaya rata-rata yaitu biaya total dibagi produk yang dihasilkan.

5. Biaya marginal yaitu tambahan terhadap biaya total sebagai akibat

ditambahnya satu unit produk yang dihasilkan. 6.

2.7. HARGA SATUAN PRODUK

Harga satuan produk atau harga pokok produksi adalah perhitungan yang mencakup semua biaya yang telah diadakan untuk suatu

produk sampai barang itu terjual, memberikan informasi yang penting untuk penentuan harga jual(Gilarso,2003:128).

Tujuan kalkulasi harga pokok adalah

1. Sebagai dasar untuk menentukan harga jual.

2. Sebagai alat untuk mengawasi efisiensi perusahaan.

3. Untuk penentuan besarnya laba/rugi.

(38)

2.8. WEB BASED APPLICATION

Web based application adalah sebuah aplikasi yang berjalan pada jaringan sebagai sebuah sarana aplikasi yang melakukan fungsi atau kemampuannya. (Shi,2003:257). Web based application berjalan pada web

browser untuk saling berinteraksi dengan users dan menggunakan protocol HTTP (HyperText Transfer Protocol) yang memungkinkan user

berinteraksi dengan web pages, menyebarkan dan menghubungkan aplikasi.

2.9. PHP

PHP (Hypertext Preprocessing) adalah bahasa pemrograman yang

cocok untuk pengembangan web dan dapat ditanamkan kedalam HTML (http://www.php.net). PHP adalah bahasa pemrograman script yang paling banyak dipakai saat ini. PHP banyak dipakai untuk memrogram situs web

dinamis, walaupun tidak tertutup kemungkinan digunakan untuk pemakaian lain

Keuntungan menggunakan PHP :

1. Open Source, PHP didistribusikan dibawah lisensi Apache yang membolehkan penggunaan pada sisi komersil maupun nonkomersil.

2. Komunitas, PHP memiliki basis komunitas dann pengembang yang luas. Sangat mudah menemukan programmer yang mahir menggunakan PHP sehingga mudah mendapatkan informasi yang

(39)

3. Database support, PHP mendukung koneksi database open source

seperti MySQL dan PostgreSQL, dan komersial seperti Microsoft SQL Server.

4. Multiplatform, PHP bisa berjalan pada berbagai sistem operasi seperti

windows, unix, Mac OS 2, OS/2 dan sistem operasi lainnya.

2.10. MySQL

Basis data MySQL telah menjadi basis data open source paling populer karena memiliki kecepatan performa yang tetap, tingkat keamanan

yang tinggi dan mudah digunakan (http://www.mysql.com/why-mysql). MySQL adalah sebuah perangkat lunak Sistem Manajemen Basis Data

SQL (Database Management Sistem) yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia.

MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial

Swedia MySQL AB, dimana memegang hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah: David Axmark, Allan Larsson, dan

Michael "Monty" Widenius.

MySQL adalah Relational Database Management Sistem

(RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Dimana setiap orang bebas untuk menggunakan MySQL, namun tidak boleh dijadikan produk turunan yang bersifat

(40)

utama dalam basis data sejak lama, yaitu SQL (Structured Query

Language). SQL adalah sebuah konsep pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Keandalan

suatu sistem basis data (DBMS) dapat diketahui dari cara kerja optimizer -nya dalam melakukan proses perintah-perintah SQL, yang dibuat oleh user

maupun program-program aplikasinya. Sebagai basis data server, MySQL dapat dikatakan lebih unggul dibandingkan basis data server lainnya dalam query data.

2.11. STUDI SEJENIS

Studi sejenis merupakan salah satu kegiatan penting dalam melakukan penelitian ilmiah.

Pada penelitian ini penulis menggunakan studi sejenis yang akan digunakan sebagai acuan pembuatan aplikasi untuk membedakan hal-hal yang sudah dilakukan dan menentukan hal-hal yang perlu dilakukan. Studi

literatur ini di ambil dari beberapa penelitian yang telah dilakukan sebelumnya.

(41)

Pendekatan Mundur” Pada Percetakan Paperindo Harsa. Hingga saat ini pelanggan yang akan mencetak kebutuhan masing-masing, sulit untuk menentukan jumlah biaya yang harus disiapkan untuk kebutuhan cetak mereka. Tujuan penelitian ini adalah merancang sebuah

program komputer untuk menyelesaikan model yang dapat mengoptimalkan biaya produksi dengan mengaplikasikan pemodelan

matematika dalam dunia industri pada suatu perusahaan dengan metode pendekatan mundur. Aplikasi yang dibuat peneliti dapat memenuhi perhitungan yang biasa dilakukan perusahaan dalam merekomendasikan

produk sesuai budget yang tersedia. Kekurangan aplikasi ini tidak bisa merubah ukuran kertas sesuai kehendak pengguna, aplikasi ini hanya

(42)

Gambar 2.8. Hasil perhitungan aplikasi optimasi biaya

Gambar 2.8. mengilustrasikan tampilan aplikasi optimasi biaya,

terdapat form yang harus diisi oleh pengguna sesuai kebutuhannya. Setelah form terisi dan diproses maka akan menghasilkan rekomendasi sesuai dengan input yang dilakukan pengguna sebelumnya.

Penelitian yang dilakukan oleh Kevin Tanadi (2008).

(43)

persoalan Integer Knapsack dimana terdapat n buah objek dan sebuah

knapsack (karung, tas, buntilan, dsb) dengan kapasitas bobot k. Setiap objek memiliki sebuah bobot (weight) w dan keuntungan (profit) p. Tujuan dari permasalahan ini adalah dengan mengunakan Knapsack

yang hanya dapat menampung beban maksimal k mendapatkan keuntungan sebesar - besarnya. Kita dapat mengimplementasi algoritma

sesuai dengan keperluan kita, kita dapat mengimplementasi algoritma Greedy jika kita hanya memiliki sedikit waktu dan jawaban yang optimal tidak terlalu diperlukan. Kita dapat memilih metode

Kombinasi Brute-Force dan Runut balik apabila ukuran kertas yang dipakai kecil. Dan kita dapat mengimplementasikan algoritma Program

Dinamis apabila kita memiliki cukup waktu untuk mengimplementasikannya dan solusi yang optimal sangatlah penting. Kekurangan karya ilmiah ini hanya sebatas perbandingan dan

tidak diimplementasikan pada suatu kasus.

Penelitian yang dilakukan oleh Henrywae (2008). “Sistem

Informasi Percetakan”. Permasalahan perhitungan pola pemotongan yang terjadi pada percetakan dalam hal ini adalah kertas sebagai bahan

baku produksi. Tujuan aplikasi sebagai salah satu fitur yang terdapat pada sistem ini adalah menghitung jumlah potongan kertas yang dihasilkan serta membuat pola pemotongannya. Aplikasi ini dapat menghitung dan

(44)

aplikasi ini, tidak menggunakan database kertas sehingga pengguna harus

menghapal jenis kertas beserta ukuran dan harganya.

Gambar 2.9. Hasil perhitungan salah satu fitur dalam sistem informasi percetakan

Gambar 2.9. mengilustrasikan hasil perhitungan fitur yang tersedia dalam sistem informasi percetakan, setelah pengguna memasukan ukuran awal dan

(45)

3.1. METODE PENGUMPULAN DATA

Untuk memenuhi data yang diperlukan dalam penelitian ini, maka

dilakukan pengumpulan data dengan menggunakan beberapa teknik

pengumpulan data yaitu:

1. Observasi

Pada teknik observasi ini, penulis mempelajari secara langsung

proses perhitungan biaya produksi di CV. Tunas Utama, hal ini

dilakukan untuk memahami dan mendapatkan informasi jelas seputar

proses perhitungan bahan baku secara khusus maupun perhitungan

biaya produksi secara umum.

2. Studi Pustaka

Penulis membaca dan mempelajari buku-buku mengenai

dynamic programming terutama pada masalah 0 1 knapsack yang

menjadi masalah pada penentuan bahan baku yang akan digunakan

pada proses produksi serta mempelajari perhitungan yang dikeluarkan

pada tahap produksi atau biasa disebut biaya produksi, serta

buku-buku lainnya yang berkaitan dengan masalah pada penulisan ini.

(46)

sebuah model proses pengembangan perangkat lunak sekuensial linear

yang menekankan siklus pengembangan cepat. Model RAD ini merupakan

adaptasi "kecepatan tinggi" dari model sekuensial linear di mana

pengembangan cepat dicapai dengan menggunakan model pendekatan

konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik,

proses RAD memungkinkan tim pengembang menciptakan "sistem

fungsional yang utuh" dalam periode waktu periode yang sangat pendek

kira-kira 60-90 hari. (Pressman,2010: 82).

Model RAD digunakan dengan tujuan mempersingkat waktu

pengerjaan aplikasi serta proses yang dihasilkan, didapatkan secara cepat

dan tepat. ilustrasi model RAD seperti berikut:

(47)

Gambar 3.1. The RAD Model Communication

Modelling Planning

Business modelling Data modeling Process modelling

Construction Component reuse

Automatic code generation

60 – 90 days

Deployment Integration Delivery Feedback

(48)

diakomodasi oleh aplikasi yang akan dibuat. Dengan pemahaman terhadap

masalah dan informasi yang akan diakomodasi tadi diharapkan aplikasi

yang akan dibuat ini dapat menjadi solusi yang baik terhadap masalah

serta mengakomodasi informasi yang dibutuhkan pengguna.

3.2.2. Planning

Pada tahap ini melakukan perencanaan proses yang terjadi, perencanaan data yang diperlukan serta pembagian tugas pembuatan

aplikasi kepada beberapa tim yang bekerja secara bersamaan.

3.2.3. Modelling

Pada tahap ini melakukan pemodelan informasi yang harus di

akomodasi, proses-proses yang terjadi pada aplikasi, interface yang akan

dipergunakan, dan data yang diperlukan selama penggunaan aplikasi.

3.2.4 Construction

Pada tahap ini melakukan pembuatan aplikasi dengan

menggunakan komponen yang sudah ada seandainya itu dapat dilakukan

dan menggunakan tools yang dapat mempermudah dan mempercepat

proses pembuatan aplikasi. Hal ini dilakukan sampai aplikasi dapat

berjalan dengan baik dan dapat dipergunakan untuk memecahkan masalah

yang ada.

(49)

35

menggunakan aplikasi baru tersebut serta mendapatkan feedback dari

pengguna.

3.3. ALASAN MENGGUNAKAN RAD

Alasan penulis menggunakan RAD dalam implementasi algoritma dynamic programming pada aplikasi perhitungan biaya produksi berbasis

web yaitu:

• Karena aplikasi yang dibuat merupakan aplikasi sederhana yang

mengimplementasikan beberapa baris algoritma dan memerlukan

waktu yang singkat yaitu selama 60 - 90 hari, sehingga metode RAD

tepat dipergunakan karena menekankan siklus perkembangan yang

pendek.

• Karena menggunakan kembali komponen-komponen yang sudah ada

(50)

BAB IV

HASIL DAN PEMBAHASAN

4.1. COMMUNICATION

Berdasarkan pada latar belakang permasalahan yang telah

dijabarkan pada sub-bab 1.1, CV. Tunas Utama membutuhkan adanya aplikasi yang berguna untuk melakukan perhitungan biaya produksi terutama pada perhitungan penentuan bahan baku yang akan digunakan

pada proses produksi. Sehingga bahan baku yang digunakan sesuai dengan kebutuhan produksi.

Perhitungan biaya produksi yang telah didapatkan sebagai output

aplikasi perhitungan biaya produksi ini, digunakan sebagai pertimbangan penentuan harga jual kepada konsumen.

4.2. PLANNING

Berdasarkan permasalahan yang telah diketahui pada tahap

sebelumnya, maka dapat diketahui fungsi-fungsi yang harus diakomodasi oleh aplikasi yang akan dibuat seperti perhitungan biaya bahan baku yang digunakan untuk menghitung biaya produksi, kemudian perhitungan biaya

produksi yang digunakan untuk menghitung harga pokok produksi dan selanjutnya perhitungan harga jual kepada konsumen. Dapat diketahui juga

proses bisnis yang terjadi serta data-data yang diperlukan seperti data ertas, proses dan finishing yang akan digunakan untuk perhitungan biaya produksi itu sendiri.

(51)

4.3. MODELLING

4.3.1. Business Modelling

Pemodelan ini dilakukan untuk menggambarkan urutan aktifitas yang menghasilkan suatu nilai atau objek yang dapat

dilihat bagi satu pihak atau entitas tertentu.

pengguna

Menghitung biaya produksi Menghitung biaya bahan baku

Memasukkan data kertas Merubah data kertas Menghapus data kertas Memasukkan data proses Administrator Merubah data proses

Menghapus data proses Memasukkan data finishing

Merubah data finishing Menghapus data finishing Memasukkan data ukuran

Merubah data ukuran Menghapus data ukuran

Merubah password

Menghitung biaya produksi

37

(52)

4.3.2. Data Modelling

Tahap selanjutnya adalah menyimpan variabel-variabel statis yang akan dipergunakan nantinya pada saat proses perhitungan dilakukan. Oleh karena itu variabel-variabel tersebut

penulis masukkan ke dalam database dengan menggunakan MYSQL.

Berdasarkan observasi yang telah dilakukan peneliti, maka dibutuhkan tabel-tabel untuk penyimpanan data, seperti tabel admin sebagai penyimpan data accountadministrator, tabel kertas sebagai

penyimpan data jenis kertas, harga kertas dan ukuran awal kertas, tabel proses sebagai penyimpan data proses dan harga cetak, tabel

finishing sebagai penyimpan data proses dan harga finishing, dan tabel ukuran sebagai penyimpan data ukuran potong standar kertas. Lima tabel tersebut terdapat pada database tunasutama.dbf.

Adapun rincian pembuatan tabel sebagai berikut :

1. admin

Nama Tabel : admin

Keterangan : account admin

Tabel 4.1. Data Admin

Nama_field Tipe Panjang Keterangan Username

Password

Varchar Varchar

25 60

Username admin Password admin

(53)

2. kertas

Nama Tabel : kertas Keterangan : data kertas Primary Key : id_kertas

Tabel 4.2. Data Kertas

Nama_field Tipe Panjang Keterangan id_kertas Jenis kertas Panjang kertas 1 Lebar kertas 1 Harga kertas 1 Panjang kertas 2 Lebar kertas 2 Harga kertas 2 Panjang kertas 3 Lebar kertas 3 Harga kertas 3

3. proses

Nama Tabel : proses Keterangan : data proses

Primary Key : id_proses

Tabel 4.3. Data Proses

Nama_field Tipe Panjang Keterangan Id_proses Nama proses Harga gestener

(54)

GTO_46

4. finishing

Nama Tabel : finishing Keterangan : data finishing Primary Key : id_finishing

Tabel 4.4. Data Finishing

Nama_field Tipe Panjang Keterangan Id_finishing

Id Finishing Nama finishing Harga per cm Harga minimal

5. ukuran

Nama Tabel : ukuran

Keterangan : data ukuran kertas Primary Key : id_ukuran

Tabel 4.5. Data Ukuran

Nama_field Tipe Panjang Keterangan Id_ukuran Nama ukuran Ukuran panjang Ukuran lebar

(55)

4.3.3. Process Modelling

Pada tahap sebelumnya telah didefinisikan data yang dibutuhkan, data ini kemudian ditransformasi untuk mendapatkan aliran informasi yang mungkin dan diperlukan untuk

mengimplementasikan fungsi bisnis. Penulis menggunakan

flowchart untuk menggambarkan proses bisnis yang telah

dimodelkan sebelumnya. Flowchart aplikasi perhitungan biaya produksi :

1. Flowchart proses input data kertas.

Gambar 4.2. menjelaskan proses input data kertas, setelah memasukkan data kemudian di cek oleh aplikasi, jika data

kertas belum ada maka data yang dimasukkan akan disimpan tetapi jika sudah ada maka akan keluar.

Mulai

input data kertas

Gambar 4.2. Flowchartinput data kertas

Data kertas input = kertas dbase

Y

N

Data kertas input

Selesai

Simpan data kertas

(56)

2. Flowchart proses update data kertas

Gambar 4.3. menjelaskan proses update data kertas, setelah memilih jenis kertas, kemudian aplikasi menampilkan data kertas tersebut, setelah data dirubah maka akan disimpan

kembali ke dalam database.

Mulai

Pilih data kertas

Tampilkan data kertas

Data kertas pilihan

Update data kertas

Selesai

Gambar 4.3. Flowchartupdate data kertas

3. Flowchart proses delete data kertas.

Gambar 4.4. menjelaskan proses hapus data kertas, setelah data kertas ditampilkan kemudian memilih data kertas yang akan

dihapus, lalu hapus data kertas tersebut maka data kertas yang dipilih akan terhapus dari database.

(57)

Mulai

Pilih data kertas

Tampilkan data kertas

Data kertas pilihan

Deletedata kertas

Selesai

Gambar 4.4. Flowchartdelete data kertas 4. Flowchart proses input data proses

Gambar 4.5 menjelaskan proses input data proses, setelah

memasukkan data kemudian di cek oleh aplikasi, jika data proses belum ada maka data yang dimasukkan akan disimpan tetapi jika sudah ada maka akan keluar.

Mulai

input jenis proses

Jenis proses input = jenis proses dbase

Jenis Proses input

Selesai

Y

N

Simpan jenis proses

43

(58)

5. Flowchart proses update data proses

Gambar 4.6. menjelaskan proses update data proses, setelah memilih proses, kemudian aplikasi menampilkan data proses tersebut, setelah data dirubah maka akan disimpan kembali ke

dalam database.

Mulai

Pilih jenis proses

Tampilkan jenis proses

Jenis Proses pilihan

Update jenis proses

Selesai

Gambar 4.6. Flowchart update data proses

6. Flowchart proses delete data proses

Gambar 4.7. menjelaskan proses hapus data proses, setelah data proses ditampilkan kemudian memilih data proses yang

akan dihapus, lalu hapus data proses tersebut maka data proses yang dipilih akan terhapus dari database.

(59)

Mulai

Pilih jenis proses

Tampilkan jenis proses

jenis proses pilihan

Delete data proses

Selesai

Gambar 4.7. Flowchartdelete data proses 7. Flowchart proses input data finishing

Gambar 4.8. menjelaskan proses input data finishing, setelah

memasukkan data kemudian di cek oleh aplikasi, jika data finishing belum ada maka data yang dimasukkan akan disimpan tetapi jika sudah ada maka akan keluar.

Mulai

input jenis finishing

jenis finishing input= jenis finishing dbase

Gambar 4.8. Flowchartinput data finishing

Jenis finishing

Selesai

Y

N

Simpan jenis finishing

(60)

8. Flowchart proses update data finishing.

Gambar 4.9. menjelaskan proses update data finishing, setelah memilih finishing, kemudian aplikasi menampilkan data finishing tersebut, setelah data dirubah maka akan disimpan

kembali ke dalam database.

Mulai

Pilih finishing

Tampilkan finishing

Finishing pilihan

Update finishing

Selesai

Gambar 4.9. Flowchartupdate data finishing

9. Flowchart proses delete data finishing.

Gambar 4.10 menjelaskan proses hapus data finishing, setelah data finishing ditampilkan kemudian memilih data finishing

yang akan dihapus, lalu hapus data finishing tersebut maka data finishing yang dipilih akan terhapus dari database.

(61)

Mulai

Pilih jenis finishing

Tampilkan jenis finishing

jenis finishing pilihan

Delete data finishing

Selesai

Gambar 4.10. Flowchartdelete data finishing 10.Flowchart proses input data ukuran kertas.

Gambar 4.11. menjelaskan proses input data ukuran kertas,

setelah memasukkan data kemudian di cek oleh aplikasi, jika data ukuran kertas belum ada maka data yang dimasukkan akan disimpan tetapi jika sudah ada maka akan keluar.

Mulai

input jenis ukuran

11.Flowchart proses update data ukuran kertas.

jenis uran in

uk

put=jenis ukuran dbase

Jenis ukuraninput

Y

N

Selesai

Simpan jenis ukuran

(62)

11.Flowchart proses delete data ukuran kertas.

Gambar 4.12. menjelaskan proses update data ukuran kertas, setelah memilih ukuran kertas, kemudian aplikasi menampilkan data ukuran kertas tersebut, setelah data dirubah

maka akan disimpan kembali ke dalam database.

Mulai

Pilih ukuran kertas

Tampilkan ukuran kertas

Ukuran kertas pilihan

Update ukuran kertas

Selesai

Gambar 4.12. Flowchartupdate data ukuran kertas

12.Flowchart proses delete data ukuran kertas.

Gambar 4.13. menjelaskan proses hapus data ukuran kertas,

setelah data ukuran kertas ditampilkan kemudian memilih data ukuran kertas yang akan dihapus, lalu hapus data ukuran kertas

tersebut maka data ukuran kertas yang dipilih akan terhapus dari database.

(63)

Mulai

Pilih ukuran kertas

Tampilkan ukuran kertas

Ukuran kertas pilihan

Deleteukuran kertas

Selesai

Gambar 4.13. Flowchartdelete data ukuran kertas 13.Flowchart proses perhitungan biaya bahan baku.

Gambar 4.14. menjelaskan proses perhitungan biaya bahan

baku, setelah memasukan quantity, jenis kertas kemudian ukuran potong, maka aplikasi akan melakukan perhitungan sesuai rumus yang telah dimasukkan dan akan menghasilkan

biaya bahan baku produksi.

Mulai

Quantitty, jenis kertas,ukuran, potongan

14.Flowchart proses update data password administrator Gambar 4.14. Flowchart perhitungan biaya bahan baku

Selesai

Biaya bahan baku Quantity/potongan x harga

Biaya bahan baku

(64)

14.Flowchartupdate password administrator

Mulai

inputpassword lama dan passwordbaru 1

md5.password lama

Password lama enkrip input

Passwordlama enkrip dbase

N Passwordlama enkrip

input = passwordlama enkrip dbase

Gambar 4.15. Flowchartupdate password administrator Password baru 1

= password baru

md5.password baru

Password baru enkrip

Y

N

Y

UpdatePassword

Selesai

(65)

Gambar 4.15 menjelaskan tentang proses perubahan password

administrator, pertama masukan password lama dan password

baru, kemudian password lama di enkripsi dan di cek oleh aplikasi. Jika password lama sama dengan password dalam

database maka password baru di enkripsi dan di simpan ke dalam database.

15.Flowchart proses perhitungan biaya produksi

Gambar 4.16 menjelaskan tentang proses perhitungan biaya

produksi, setelah memasukan quantity, jenis kertas, proses ukuran potong kemudian finishing, maka aplikasi akan

melakukan perhitungan sesuai rumus yang telah dimasukkan dan akan menghasilkan harga jual persatuan produk.

Gambar 4.16. Flowchart proses perhitungan biaya produksi

Biaya bahan baku Quantity/potongan x harga Mulai

quantity, ukuran, jenis kertas, proses, finishing,potongan

Biaya produksi biaya bahan baku + proses + finishing quantity

Biaya produksi

Selesai

(66)

4.3.4. Perancangan Interface

Berikut ini adalah perancangan halaman tampilan pada aplikasi perhitungan biasa produksi produk percetakan yang penulis buat.

1. Perancangan halaman home pengguna.

Berikut merupakan tampilan awal yang disajikan pada saat mengakses aplikasi ini.

Header

Form Login

Form masukan variabel biaya

produksi

Harga satuan produk

Gambar 4.17. Rancangan tampilan home pengguna 2. Perancangan tampilan home Administrator

Berikut merupakan tampilan awal admin setelah login

dengan account administrator.

Header

Menu

Form masukan variabel biaya

bahan baku

Biaya bahan baku

52

(67)

3. Perancangan tampilan input data kertas.

Berikut merupakan tampilan untuk memasukkan data kertas setelah login dengan accountadministrator.

Header

Menu aplikasi

Form input data kertas

Gambar 4.19. Rancangan tampilan input data kertas 4. Perancangan tampilan update data kertas

Berikut merupakan tampilan untuk merubah data kertas

setelah login dengan accountadministrator.

Header

Menu aplikasi

Form update data kertas

Gambar 4.20. Rancangan tampilan update data kertas

(68)

5. Perancangan tampilan delete data kertas.

Berikut merupakan tampilan untuk menghapus data kertas setelah login dengan accountadministrator.

Header

Menu aplikasi

Form delete data kertas

Gambar 4.21. Rancangan tampilan delete data kertas 6. Perancangan tampilan input data proses

Berikut merupakan tampilan untuk memasukkan data proses

setelah login dengan accountadministrator.

Header

Menu aplikasi

Form input data proses

Gambar 4.22. Rancangan tampilan input data proses

(69)

7. Perancangan tampilan update data proses.

Berikut merupakan tampilan untuk merubah data proses setelah login dengan accountadministrator.

Header

Menu aplikasi

Form update data proses

Gambar 4.23. Rancangan tampilan update data proses 8. Perancangan tampilan delete data proses

Berikut merupakan tampilan untuk menghapus data kertas

setelah login dengan accountadministrator.

Header

Menu aplikasi

Form delete data proses

Gambar 4.24. Rancangan tampilan delete data proses

(70)

9. Perancangan tampilan input data finishing

Berikut merupakan tampilan untuk memasukkan data finishing setelah login dengan accountadministrator.

Header

Menu aplikasi

Form input data finishing

Gambar 4.25. Rancangan tampilan input data finishing 10.Perancangan tampilan update data finishing

Berikut merupakan tampilan untuk merubah data finishing

setelah login dengan accountadministrator.

Header

Menu aplikasi

Form update finishing

Gambar 4.26. Rancangan tampilan update data finsihing

(71)

11.Perancangan tampilan delete data finishing

Berikut merupakan tampilan untuk menghapus data finishing setelah login dengan accountadministrator.

Header

Menu aplikasi

Form delete data finishing

Gambar 4.27. Rancangan tampilan delete data finishing 12.Perancangan tampilan input data ukuran kertas.

Berikut merupakan tampilan untuk memasukkan data ukuran

kertas setelah login dengan accountadministrator.

Header

Menu aplikasi

Form input data ukuran

Gambar 4.28. Rancangan tampilan input data ukuran

(72)

13.Perancangan tampilan update data ukuran kertas.

Berikut merupakan tampilan untuk merubah data ukuran kertas setelah login dengan accountadministrator.

Header

Menu aplikasi

Form update ukuran

Gambar 4.29. Rancangan tampilan update data ukuran 14.Perancangan tampilan delete data ukuran

Berikut merupakan tampilan untuk menghapus data ukuran

kertas setelah login dengan accountadministrator.

Header

Menu aplikasi

Form delete data ukuran

Gambar 4.30. Rancangan tampilan delete data ukuran

(73)

15.Perancangan tampilan update password administrator

Berikut merupakan tampilan untuk merubah data password administrator setelah login dengan accountadministrator.

Header

Menu aplikasi

update password

administrator

Gambar 4.31. Rancangan tampilan update password

administrator

4.3.5. Pemodelan knapsack

Tahap ini merupakan pemodelan knapsack yang terjadi serta pembahasan algoritma sebagai solusi dari masalah knapsack tersebut. Berikut merupakan algoritma dynamic programming pada

penyelesaian masalah knapsack : for w ← 0 to W do c[0,w] ←0 end for

for i ← 1 to n do c[i,0] ← 0 end for

for i ← 1 to n do for w=0 to W do if w[i] ≤ w then

(74)

if v[i] + c[ i,w-w[i] ] > c[i – 1, w ] then c[i,w] ←v[i] + c[i-1, w-w[i] ] else

c[i,w] ← c [i–1,w] end if

else

c[i,w] ← c[i-1,w] end if

end for end for

Algoritma dynamic programming akan digunakan sebagai penentuan bahan baku yang akan digunakan pada proses produksi. Berikut merupakan contoh implementasi algoritma dynamic

programming pada suatu kasus yang terjadi pada aplikasi:

Terdapat ukuran awal kertas pada gambar A dengan P= 3 dan L=2 akan di potong pada gambar B menjadi ukuran P1=2 dan L1=1,

berapakan potongan yang akan dihasilkan?

Langkah 1 : menentukan variabel-variabel yang akan dipergunakan untuk perhitungan knapsack. Berikut variabel yang telah ditentukan:

Ruang -> W = L = 2

Jumlah objek yang akan dipotong -> n=(P1,L1) = 2

Berat -> w =(w1,w2)=(P1,L1)= (2,1)

Keuntungan -> v=(v1,v2)=(P/P2, P/P1)= (3,1) 1

2

2 3

A B

(75)

Langkah 2 : inisialisasikan array [0,0] dengan nilai 0 karena tidak

ada objek yang dipilih.

Langkah 3 : isi tabel berupa array dengan algoritma yang telah diketahui.

Langkah 4 : isi tabel berupa array berikutnya dengan algoritma yang telah diketahui.

(76)
(77)
(78)

if 1 ≤ 2 then

4.4. CONSTRUCTION

Penulis membuat aplikasi perhitungan biaya produksi produk

percetakan ini dengan bahasa pemrograman PHP versi 5.2.2 serta MYSQL versi 5.0.41 sebagai tempat penyimpan data yang diperlukan.

Penulis juga memanfaatkan komponen yang sudah ada untuk mempercepat dan mempermudah proses pembuatan aplikasi.

4.5. DEPLOYMENT

Pada tahap akhir dari metode pengembangan cepat ini dilakukan

integrasi dan penyebaran aplikasi yang akan dijabarkan sebagai berikut : 4.5.1. Spesifikasi hardware dan software

Penulis memerlukan dua macam perangkat, yaitu perangkat

keras (hardware) dan juga perangkat lunak (software). Berikut adalah spesifikasi yang penulis akan gunakan dalam tahap pengujian :

i/w 0 1 2 0 0 0 1 0 0 3 2 0 1 3

Hasil Akhir Potongan

2

1 1 1

(79)

1. Perangkat keras (hardware)

Penulis menggunakan sebuah laptop. 2. Perangkat Lunak (software)

Beberapa perangkat lunak yang digunakan untuk membuat

aplikasi ini yaitu : a. PHP versi 5.2.2

b. MYSQL versi 5.0.41 c. Notepad ++

d. Mozilla firefox 3.5.4

4.5.2. Pengenalan tampilan

Tampilan aplikasi perhitungan biaya produksi produk percetakan

yang telah dibuat adalah sebagai berikut : 1. Tampilan home pengguna.

Berikut merupakan tampilan home bagi pengguna saat mengakses

aplikasi ini. Terdapat form yang harus diisi sehingga pengguna mendapatkan harga satuan produk.

65

(80)

2. Tampilan home administrator

Berikut merupakan tampilan home bagi administrator setelah melakukan login terlebih dahulu. Terdapat form untuk menghitung biaya bahan baku produksi.

Gambar. 4.33. Tampilan home administrator

3. Tampilan input data kertas.

Berikut merupakan tampilan input data kertas bagi administrator

setelah melakukan login terlebih dahulu. Terdapat form yang harus

diisi sebagai masukkan data kertas, jenis kertas yang akan dimasukkan memiliki minimal satu ukuran berupa panjang dan lebar

serta satu satuan harga dan maksimal memliki tiga ukuran berupa panjang dan lebar serta tiga satuan harga.

(81)

Gambar. 4.34. Tampilan input data kertas

4. Tampilan update data kertas

Berikut merupakan tampilan update data kertas bagi administrator

setelah melakukan login terlebih dahulu. Terdapat form untuk merubah data kertas yang telah dipilih, yang kemudian akan

disimpan kembali ke dalam database.

(82)

5. Tampilan delete data kertas.

Berikut merupakan tampilan delete data kertas bagi administrator

setelah melakukan login terlebih dahulu. Terdapat data kertas yang telah ditampilkan kemudian memilih data mana yang akan dihapus.

Gambar. 4.36. Tampilan delete data kertas 6. Tampilan input data proses cetak

Berikut merupakan tampilan input data proses cetak bagi

administrator setelah melakukan login terlebih dahulu. Terdapat beberapa form yang harus diisi. Form diisi dengan harga proses

cetak masing-masing mesin.

(83)

Gambar. 4.37. Tampilan input data proses cetak

7. Tampilan update data proses cetak

Berikut merupakan tampilan update data proses cetak bagi

administrator setelah melakukan login terlebih dahulu. Terdapat form untuk merubah data proses cetak yang telah dipilih, kemudian

akan disimpan kembali ke dalam database setelah perubahan data selesai.

(84)

8. Tampilan delete data proses cetak

Berikut merupakan tampilan delete data proses cetak bagi

administrator setelah melakukan login terlebih dahulu. Terdapat data proses cetak yang telah ditampilkan, kemudian memilih proses cetak

mana yang akan dihapus.

Gambar. 4.39. Tampilan delete data proses cetak 9. Tampilan input data finishing

Berikut merupakan tampilan input data finishing bagi administrator

setelah melakukan login terlebih dahulu. Terdapat form yang harus

diisi dengan jenis finishing termasuk harga finishing tersebut, kemudian akan disimpan ke dalam database.

(85)

Gambar. 4.40. Tampilan input data finishing

10.Tampilan update data finishing

Berikut merupakan tampilan update data finishing bagi

administrator setelah melakukan login terlebih dahulu. Terdapat form untuk merubah data finishing yang telah dipilih, kemudian disimpan kembali ke dalam database setelah perubahan selesai

dilakukan.

Gambar

Gambar. 2.7. Algoritma Dynamic Programming Pada 0 1 Knapsack
Gambar 2.8. Hasil perhitungan aplikasi optimasi biaya
Gambar 2.9. Hasil perhitungan salah satu fitur
Gambar 3.1. The RAD Model
+7

Referensi

Dokumen terkait

Berdasarkan berbagai definisi di atas, maka dapat diambil kesimpulan bahwa stress akademik adalah kondisi ketegangan yang dialami siswa karena adanya kesenjangan antara

dengan menggunakan pesawat yang beragam, user akan dihadapkan dengan koin dan bahan bakar di antara awan yang digunakan untuk menambah score serta bahan bakar

Posisi operator yang bcrada di scbclah kanan pasien menyebabkan operator lebih teliti dalanr memperhatikan sisi scbclah kanan rahang pasien. sehingga timbul pcftan)aan

Individu ini tidak mengambil berat orang bawahan. Seorang yang emosional. Jika tidak berhati-hati, di kemudian hari individu ini tidak mempunyai ramai kawan dan akan

Setelah membaca materi dan mencermati video secara daring dan berdiskusi siswa dapat melakukan setting koneksi pengendalian server melalui client-server pada

teori absurditas Camus adalah mengenai pemberontakan dan hasil dari penelitian ini memperlihatkan bahwa pemberontakan yang terdapat pada karakter tokoh dalam novel Cara Berbahagia

lama akan mengarahkan pada loyalitas, karena itu pihak perusahaan harus bertanggung jawab untuk menjaga merek tersebut. Perlu diperhatikan, pengurangan standar kualitas dari

“PENERAPAN SANKSI TINDAK PIDANA ILLEGAL LOGGING MENURUT UNDANG – UNDANG NOMOR 41 TAHUN 1999 TENTANG KEHUTANAN DI PENGADILAN NEGERI REMBANG” dalam rangka memenuhi syarat