341 4.8 Recommendation 4.8.1 The System’s Usefulness and Feasibility Bagi Bagian Marketing, sistem ini dapat membantu dalam pembuatan peramalan dan menghasilkan peramalan dengan tingkat akurasi yang baik. Dengan Sistem ini, Bagian Marketing dapat memanfaatkan data pesanan dari periode-periode sebelumnya dalam jangka panjang sehingga dapat menghasilkan suatu peramalan untung jangka panjang. Peramalan jangka panjang ini bermanfaat sebagai informasi dalam pengambilan kebijakan bagianial untuk beberapa bulan kedepan. Sistem ini juga mendukung fungsi pengolahan data dan pembuatan PO. Sistem ini memungkinkan bagian marketing untuk membuat surat jalan dan faktur dan memudahkan dalam penyerahannya ke gudang barang jadi dan bagian finance. Bagi Bagian Produksi, sistem ini dapat membantu dalam penetapan target produksi dengan metode Integer Programming dan penjadwalan mesin. Untuk penetapan target produksi, sistem ini mendukung dalam pengambilan data hasil peramalan untuk kemudian dioptimasi dengan Integer Programming. Berikutnya dengan data hasil optimasi Bagian Produksi membuat penjadwalan mesin dengan dukungan sistem. Dengan dukungan sistem ini Bagian Produksi dapat membuat optimasi produksi dan penjadwalan mesin dengan cepat, mudah dan tepat. Sistem ini akan memudahkan Bagian Produksi untuk memperoleh hasil optimasi dengan keuntungan yang maksimal, sementara untuk penjadwalan mesin Bagian Produksi akan dengan mudah mendapatkan urutan produk yang akan diproduksi dengan total waktu penyelesaian paling singkat. Selain itu sistem ini juga akan memudahkan dalam pembuatan Surat Penyelesaian Barang Jadi (SPBJ) sebagai dokumentasi atas produk yang telah selesai diproduksi dan Surat Permintaan Bahan
342 Baku (SPBk) untuk meminta bahan baku yang diperlukan di lantai produksi. Sistem ini juga mendukung untuk menyerahkan SPBJ ke Gudang Barang Jadi dan SPBk ke Gudang Bahan Baku. Bagi Gudang Bahan Baku memudahkan untuk mengawasi stock bahan baku di gudang dengan menerima SPBk dan membuat laporan stock bahan baku. Sistem akan memberikan allert ketika ada SPBk yang masuk. Bagi Gudang Barang Jadi sistem ini memudahkan untuk mengawasi stock barang jadi di gudang dengan menerima SPBJ dan membuat laporan stock barang jadi. Bagi Bagian Finance sistem ini memudahkan dalam menerima faktur. Sistem ini juga mencegah adanya kesalahan akibat human error dalam pengisian faktur, karena sistem ini secara otomatis menyesuaikan antara PO dengan faktur. Sementara bagi peneliti, sistem ini dinilai sesuai dengan kebutuhan di PT. Kripton Gama Jaya. Sebagai sistem informasi perdana yang akan diimplementasikan pada PT. Kripton Gama Jaya, sistem ini menawarkan kemudahan dalam pengoperasiannya, fungsi yang sesuai kebutuhan masing-masing divisi, efisiensi, efektivitas, dan keamanan data yang lebih baik dibandingkan sistem berjalan. Sistem ini juga sangat sesuai bagi PT. Kripton Gama Jaya untuk menerapkan modernisasi sistem industri sebagai pendukung modernisasi proses produksi yang telah diterapkan perusahaan.
343 4.8.2 Strategy Langkah awal yang akan dilakukan adalah melakukan demo sistem baru dihadapan Bagian Marketing, Bagian Produksi, Bagian Finance, Gudang Bahan Baku, dan Gudang Barang Jadi selaku target pengguna sistem. Karena sistem yang tidak terlalu besar dan secara garis besar tidak mengubah alur informasi sistem berjalan, maka sistem usulan dirasa tepat untuk diimplementasikan dengan teknik Parallel Run. Dengan teknik ini proses implementasi sistem baru akan cepat selesai, resikonya yang ditimbulkan akibat kegagalan sistem baru sangat kecil, dan biaya yang tidak terlalu besar karena cakupan sistem yang tidak terlalu besar.
4.8.3 Development Economy Sistem yang dirancang membutuhkan dukungan peran serta dari beberapa orang dalam mengembangkan sistem dengan tugas masing-masing. Sistem yang akan dikembangkan direncanakan untuk dapat diselesaikan sampai pada tahap implementasi dalam waktu sekitar 4 bulan. Berikut ini merupakan rincian dari perkiraan biaya yang dibutuhkan untuk SDM (team project), biaya perangkat keras (hardware), biaya perangkat lunak (software), dan jaringan yang dibutuhkan (network): 1. SDM o Project Manager mencakup sebagai System Analyst:
Jumlah personil
= 1 orang
Gaji
= Rp. 800.000,- per minggu
Lama kerja
= 10 minggu
Total Biaya
= 1 x Rp. 800.000,- x 10 minggu
344 = Rp. 8.000.000,o Programmer
Jumlah personil
= 1 orang
Gaji
= Rp 400.000,- per minggu
Lama kerja
= 8 minggu
Total biaya
= 1 x Rp. 400.000 x 8 minggu = Rp 3.200.000,-
o Database administrator
Jumlah personil
= 1 orang
Gaji
= Rp 300.000,- per minggu
Lama kerja
= 6 minggu
Total biaya
= 1 x Rp. 300.000 x 6 minggu = Rp 1.800.000,-
Total Biaya SDM = Rp. 13.600.000,* biaya ini belum termasuk biaya lain-lain seperti transportasi, makan siang maupun tempat tinggal didasarkan pada lokasi pabrik yang berada di Yogyakarta dan hal ini akan ditentukan berdasarkan kesepakatan antara kedua belah pihak.
2. Hardware o Client 5 buah PC dengan spesifikasi:
Processor Pentium IV 2,4 GHz
= Rp. 1.000.000,-
Hard Disk 80GB.
= Rp. 500.000,-
Motherboard
= Rp. 700.000,-
345
DVD Rom
= Rp. 200.000,-
Memory DDRAM 512MB.
= Rp. 600.000,-
TOTAL
= Rp. 3.000.000,-
5 Buah PC (5 x Rp. 3.000.000,-)
= Rp 15.000.000,-
4 buah printer @ Rp 500.000,-
= Rp 2.000.000,-
5 buah keyboard + Mouse @ Rp100.000,-
= Rp 500.000,-
5 buah UPS @ Rp 500.000,-
= Rp 2.500.000,-
5 buah Monitor CRT@Rp 1.000.000,-
= Rp 5.000.000,- +
Total Biaya Client
= Rp 25.000.000,-
o Server
Processor Pentium IV 3,0 GHz = Rp 1.500.000,-
Hard Disk 160 G.
= Rp 800.000,-
Motherboard
= Rp 700.000,-
DVD RW
= Rp 300.000,-
Memory DDRAM 2GB
= Rp 1.000.000,-
UPS
= Rp 1.000.000,-+
Total Biaya Server
= Rp 5.3000.000,-
Total Biaya Hardware = Rp 30.300.000,* Untuk kebutuhan akan hardware tersebut perusahaaan dapat menggunakan hardware yang sudah ada dan kalaupun ada yang belum ada dapat disesuaikan dengan kebijakan perusahaan, karena daftar di atas bersifat usulan.
346 3. Software
5 Windows XP SP 2 @ Rp1.000.000,-
1 Windows Server 2003 @ Rp1.500.000, = Rp 1.500.000,-
1 Microsoft office 2003@ Rp 700.000,- = Rp 700.000,-
= Rp 5.000.000,-
Crystal Report 8.5 @ Rp 500.000,- = Rp 500.000,-+
TOTAL Biaya Software
= Rp 7.700.000,-
4. Network
5 buah Switcher@ Rp 100.000,-
= Rp 500.000,-
1 buah Hub @ Rp 500.000,-
= Rp 500.000,-
1 buah Router @Rp 1.000.000,-
= Rp 1.000.000,-
Kabel LAN
= Rp 1.500.000,-
Total Biaya Network
= Rp 3.500.000,-
Jadi Total Biaya yang harus dikeluarkan untuk SDM, Hardware, Software, dan Network adalah Rp 41.500.000,-
347 4.9 Design Document 4.9.1 The Task 4.9.1.1 Purpose Tujuan dari pembuatan sistem ini adalah secara khusus mendukung sistem produksi dengan metode-metode yang tepat dengan dukungan sistem informasi berbasis komputer dan secara umum mendukung aktivitas pengolahan dan sharing data serta informasi antar divisi yang terkait. Sistem ini juga membantu dalam pembuatan laporan, pengecekan stock barang jadi, stock bahan baku, pembuatan surat jalan dan faktur.
4.9.1.2 Correction to The Analysis Dalam perancangan sistem, dilakukan beberapa perbaikan pada analisis dokumen yang telah dirancang sebelumnya. Perbaikan tersebut adalah dengan membuat revise dari class diagram yang lama menjadi class diagram yang baru. Revise class diagram tersebut ditinjau dari berdasarkan atribut dan operation pada class diagram yang sudah ada sebelumnya. Perbaikan yang terjadi antara lain munculnya class detail PO, detail SPBJ, detail SPBk, munculnya hubungan agregasi antara peramalan-laporan peramalan, peramalan-optimasi, optimasi-barang jadi, optimasi-penjadwalan, barang jadi-detail SPBJ-SPBJ, SPBJ-SPBk, SPBk-detail SPBk-bahan baku, bahan bakulaporan stock bahan baku, barang jadi-laporan stock barang jadi, pendaftaran-customer, PO-detail PO-barang jadi, PO-SJ, PO-Faktur, dan hilangnya class-class yang tidak tersimpan dalam database sistem.
348 4.9.1.3 Quality Goals Sistem ini dirancang dengan memprioritaskan beberapa criteria penilaian sistem. Dengan adanya penentuan criteria tersebut, maka sistem ini memiliki nilai-nilai fungsi yang jelas. Tabel 4.275 Quality Goals Sangat Kriteria penting Usable
Tidak
Mudah
penting
relevan
dipenuhi
√ √
Secure Efficient
√
Correct
√
Reliable
√
Maintainable
√
Testable
√
Flexible
√
Comprehensible
√
Reusable
√ √
Portable Interoperable
Kurang Penting
√
349 Keterangan dari setiap kriteria dari sistem adalah sebagai berikut: 1. Kriteria usable dianggap sangat penting karena sistem memang dirancang untuk mendukung dan bahkan menggantikan fungsi-fungsi yang selama ini dikerjakan secara manual dari bagian Marketing, Produksi, Finance, Gudang Bahan Baku, dan Gudang Barang Jadi. 2. Kriteria secure dianggap penting karena sistem yang dibuat harus menjamin keamanan data dari akses ilegal. Dengan kata lain sistem ini menciptakan autoriasi data. 3. Kriteria efficient dianggap sangat penting karena sistem yang dibangun harus dapat menjalankan fungsi-fungsinya secara maksimal sesuai dengan yang diharapkan. Sistem usulan harus dapat bekerja lebih efisien dibandingkan sistem berjalan. 4. Kriteria correct dianggap sangat penting karena sistem yang dibangun harus sesuai dengan kebutuhan dari perusahaan yaitu dalam membantu memecahkan masalah peramalan, optimasi produksi, penjadwalan maupun administrasi dan pembuatan laporan. 5. Kriteria reliable dianggap sangat penting karena fungsi dari sistem harus dapat bekerja secara tepat guna sesuai fungsi yang dijalankan masing-masing divisi. 6. Kriteria maintainable dianggap penting, dimana sistem yang diusulkan harus mudah dalam hal pemeliharaan dan perbaikan apabila terjadi kerusakan dengan biaya yang wajar dan sesuai kemampuan perusahaan. 7. Kriteria testable dianggap penting karena sistem yang dibangun harus dapat diuji setiap fungsinya sesuai dengan kemampuan perusahaan dari segi waktu dan biaya pengujian.
350 8. Kriteria flexible dianggap sangat penting karena sistem yang dibangun diharapkan dapat dikembangkan lagi untuk mendukung dan mengikuti perkembangan perusahaan. 9. Kriteria comprehensible dianggap sangat penting karena sistem yang dibangun harus mudah untuk dipahami disesuaikan dengan kemampuan calon user. 10. Kriteria reuseable dianggap penting karena sistem yang diusulkan diharapkan dapat tetap dipergunakan untuk pengembangan sistem dimasa mendatang. 11. Kriteria portable dianggap kurang penting karena sistem yang dibangun diperkirakan akan tetap menggunakan teknikal platform yang sama untuk seterusnya. 12. Kriteria interoperable dianggap penting, karena diharapkan agar sistem yang dikembangkan dapat berjalan pada sistem lainnya dengan harga yang wajar.
4.9.2 Technical Platform 4.9.2.1 Equipment Technical Platform untuk sistem informasi penjadwalan mesin di PT.Kripton Gama Jaya membutuhkan spesifikasi minimum untuk client berupa komputer PC dengan Processor Pentium IV 2,4 GHz, Memory DDRAM 512MB, Hard Disk 80GB, Monitor, mouse, keyboard, printer, jaringan LAN, dan UPS (Uninterruptable Power Supply). Sedangkan untuk server membutuhkan spesifikasi minimum berupa komputer PC dengan Processor Pentium IV 3,0GHz, Memory DDRAM 2GB, Hard Disk 160GB, Monitor, mouse, keyboard, printer, jaringan LAN dan UPS (Uninterruptable Power Supply).
351
Gambar 4.123 Jaringan Komputer PT. Kripton Gama Jaya
4.9.2.2 System Software Sistem operasi untuk komputer client dapat menggunakan Windows XP. Bahasa pemrograman yang digunakan adalah Visual Studio 2005. Kemudian untuk aplikasi database-nya menggunakan SQL server 2000. Sistem operasi untuk komputer server dianjurkan menggunakan Windows Server 2003, dengan aplikasi database SQL server 2000.
352 4.9.2.3 System Interface Selain PC, sistem juga akan membutuhkan perlengkapan lain yang akan menghubungkan system interface lainnya seperti printer untuk mencetak dokumen dan laporan dan switch server untuk keperluan jaringan.
4.9.2.4 Design Language Rancangan sistem usulan pada PT. Kripton Gama Jaya ini menggunakan notasi UML untuk menggambarkan seluruh rancangan dengan menggunakan class diagram, statechart diagram, use case diagram, sequence diagram, navigation diagram, component diagram, dan deployment diagram. Piranti lunak yang digunakan untuk perancangan notasi UML adalah Microsoft Visio 2007.
4.9.3 Architecture 4.9.3.1 Component Architecture Pola arsitektur komponen yang digunakan pada sistem ini adalah pola centralized data dimana pada client menggunakan user interface (U) dan function (F), sedangkan pada server menggunakan model (M). Pada component client terdapat component client Bagian Marketing, Bagian Produksi, Bagian Finance, Gudang Bahan Baku, dan Gudang Barang Jadi. Penggunaan pola ini disebabkan karena pola ini cukup sederhana dan cocok untuk diterapkan di PT. Kripton Gama Jaya karena dapat mencegah redudansi data, biaya yang dibutuhkan tidak besar, dan strukturnya mudah untuk dipahami dan diimplementasikan. Gambar berikut menunjukkan component diagram dari sistem yang dirancang.
353 << component >> Client
<< component >> Client
<< component >> Client
<< component >> Bagian Produksi
<< component >> Bagian Finance
<< component >> Gudang Bahan Baku
<< component >> Function
<< component >> Function
<< component >> Function
<< component >> Client
<< component >> Client << component >> Bagian Marketing
<< component >> Gudang Barang Jadi
<< component >> Function
<< component >> Function
<< component >> Server
<< component >> Model
Gambar 4.124 Component Architecture
4.9.3.2 Process Architecture Berikut adalah gambar deployment diagram yang dirancang dengan centralized data dimana terdapat enam client dan satu server yang menampung semua data yang terintegrasi. Pada client menggunakan user interface dan function. Sedangkan pada server menggunakan model. Printer menjadi external device pada deployment diagram untuk aktivitas mencetak.
354
Gambar 4.125 Deployment Diagram
4.9.3.3 Standards Sistem ini dibuat dengan desain standar tampilan window untuk menampilkan suatu pesan konfirmasi pada window yang menampilkan peringatan untuk user jika terjadi kesalahan pada waktu menjalankan sistem. Login gagal
Username atau password salah
OK
Gambar 4.126 Window Ketika username atau password salah pada saat Login
355 Information
Jangan ada data kosong
OK
Gambar 4.127 Window Ketika ada data yang masih kosong (belum diisi)
Information
Tabel masih kosong
OK
Gambar 4.128 Window Ketika ada tabel yang masih kosong (belum diisi)
Information
Data masih kosong
OK
Gambar 4.129 Window Ketika masih ada data yang kosong (belum diisi)
356 Information
Data tidak ada
OK
Gambar 4.130 Window Ketika data yang dicari tidak ditemukan (tidak tersimpan)
357 4.9.4 Components 4.9.4.1 Model Component
Menerima Pendaftaran Membuat PO Menerima PO Membuat Faktur Menerima Faktur Membuat SJ Menerima SJ Membuat Peramalan Menerima Peramalan Membuat Optimasi Membuat Penjadwalan Membuat SPBk Menerima SPBk Membuat SPBJ Menerima SPBJ Membuat laporan peramalan Membuat laporan stock barang jadi Membuat laporan stock bahan baku
Pendaftaran
Laporan Stock bahan baku
Laporan Peramalan
SPBJ
SPBk
Penjadwalan
Optimasi
Peramalan
Customer
SJ
Faktur
Event
PO
Class
Laporan Stock barang jadi
Tabel 4.276 Model Component
* + *
* + * * * * * * * * * * * * * *
358 4.9.4.2 Stucture Berikut ini merupakan revise class diagram berdasarkan hasil analisa application domain. Dari class diagram awal tidak terdapat perubahan dari atribut akan tetapi terjadi beberapa perubahan event. Perubahan tersebut telah disertakan dalam revise class diagram berikut.
Gambar 4.131 Revise Class Diagram
359 4.9.4.3 Function Component
Gambar 4.132 Function Component
360 4.9.4.4 Operation Specification
Name operation Category Purpose Input data Conditions Effect Algorithm
Tabel 4.277 Operation Specification Hitung Peramalan Membuat Peramalan Active Compute Untuk menghitung peramalan berdasarkan periode yang dipilih. BarangJadi, PO, Bulan yang akan diramal, Tahun yang akan diramal. Periode yang dipilih tidak salah. Hasil perhitungan akan muncul pada user interface Sub cariproduk() Try Call bukaserver() PSQL = "select * from produk" cmd = New SqlClient.SqlCommand(PSQL, con) dtreader = cmd.ExecuteReader() If dtreader.HasRows Then While dtreader.Read Me.cmbkdproduk.Items.Add(dtreader("kd_produk")) End While End If cmd.Dispose() dtreader.Close() con.Close() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Warning") End Try End Sub Private Sub Button3_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnexit.Click Me.Dispose() End Sub Dim tabel As New DataTable Private Sub btnadd_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnadd.Click Try Dim dr As DataRow If txtjumlah.Text = "" Or txtjumlah.Text = "0" Then MsgBox("Jangan ada data kosong !", MsgBoxStyle.Critical, "Warning") Else If tabel.Rows.Find(cmbkdproduk.Text) Is Nothing Then dr = tabel.NewRow() dr(0) = cmbkdproduk.Text
361 dr(1) = txtjumlah.Text dr(2) = txtmse.Text tabel.Rows.Add(dr) DataGridView1.DataSource = tabel txtjumlah.Text = "0" txtmse.Text = "0" cmbkdproduk.Focus() Else dr = tabel.Rows.Find(cmbkdproduk.Text) dr(2) += CInt(txtjumlah.Text) DataGridView1.DataSource = tabel txtjumlah.Text = "0" txtmse.Text = "0" cmbkdproduk.Focus() End If End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Warning") End Try End Sub Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click If tabel.Rows.Count = 0 Then MsgBox("Data masih kosong !", MsgBoxStyle.Critical, "Data Table") cmbkdproduk.Focus() Else Try Dim n As Integer = DataGridView1.CurrentRow.Index If n <> -1 Then Dim dr As DataRow = tabel.Rows(n) tabel.Rows.Remove(dr) cmbkdproduk.Focus() End If Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Warning") End Try End If End Sub Private Sub btnclear_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnclear.Click
362 Try If tabel.Rows.Count = 0 Then MsgBox("Tabel masih kosong", MsgBoxStyle.Critical) Else tabel.Clear() DataGridView1.DataSource = tabel End If Catch ex As Exception MsgBox(ex.Message) End Try End Sub Sub tabelmaya() Dim a As New DataColumn("KodeProduk") a.DataType = GetType(String) Dim b As New DataColumn("Jumlah") b.DataType = GetType(String) Dim c As New DataColumn("MSE") c.DataType = GetType(Integer) tabel.Columns.Add(a) tabel.Columns.Add(b) tabel.Columns.Add(c) Dim fk(0) As DataColumn fk(0) = a tabel.PrimaryKey = fk End Sub Private Sub Forecasting_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load tabelmaya() generateno() cariproduk() cmbkdproduk.SelectedIndex = 0 lbltanggal.Text = FormatDateTime(Now, DateFormat.LongDate) End Sub Private Sub btnforecast_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnforecast.Click Dim Proc As New System.Diagnostics.Process Proc.StartInfo.WorkingDirectory = "C:\" Proc.StartInfo.FileName = "WINQSB\FC.EXE" Proc.Start() End Sub
Data Structures Placement Involved objects
Long, String Peramalan Peramalan, PO
363 Tabel 4.278 Operation Specification Membuat Optimasi Name operation Hitung Optimasi Category Active Compute Purpose Input data Conditions Effect Algorithm
Untuk menghitung Optimasi berdasarkan hasil peramalan. Peramalan, BarangJadi, Bulan yang akan dihitung, Tahun yang akan dihitung. Periode yang dipilih tidak salah dan data peramalan tersedia. Hasil perhitungan akan muncul pada user interface Private Sub generateno() Dim lastid As String Call bukaserver() PSQL = "select top 1 kd_optimasi from optimasi order by kd_optimasi desc" cmd = New SqlClient.SqlCommand(PSQL, con) lastid = cmd.ExecuteScalar If lastid = "" Then lblkdoptimasi.Text = "OPT-00001" Exit Sub End If Dim id As Integer = Val(Strings.Mid(lastid, 5, 7)) Select Case id Case 1 To 8 : lblkdoptimasi.Text = "OPT0000" & id + 1 Case 9 To 98 : lblkdoptimasi.Text = "OPT000" & id + 1 Case 99 To 998 : lblkdoptimasi.Text = "OPT00" & id + 1 Case 999 To 9997 : lblkdoptimasi.Text = "OPT-0" & id + 1 Case 9999 To 99997 : lblkdoptimasi.Text = "OPT-" & id + 1 Case Is = 99998 : MsgBox("No Terakhir", MsgBoxStyle.Critical, "Warning") lblkdoptimasi.Text = "OPT-" & id + 1 Case Is = 99999 : MsgBox("No Habis", MsgBoxStyle.Critical, "Warning") lblkdoptimasi.Text = "NULL" btnpenjadwalan.Enabled = False End Select con.Close() cmd.Dispose() End Sub Sub cariforecasting() Try Call bukaserver() PSQL = "select * from peramalan" cmd = New SqlClient.SqlCommand(PSQL, con) dtreader = cmd.ExecuteReader() If dtreader.HasRows Then
364 While dtreader.Read Me.cmbforecasting.Items.Add(dtreader("kd_peramalan")) End While End If cmd.Dispose() dtreader.Close() con.Close() Catch ex As Exception MsgBox(ex.Message, MsgBoxStyle.Critical, "Warning") End Try End Sub Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnpenjadwalan.Click If dttable2.Rows.Count = 0 Then MsgBox("Data masih kosong", MsgBoxStyle.Critical) Else Try Call bukaserver() Dim hsl As DateTime hsl = DateAdd(DateInterval.Month, 1, Now) PSQL = "insert into optimasi" & _ "(kd_optimasi,kd_peramalan,keuntungan,tgl_optimasi)" & _ "VALUES " & _ "('" & Me.lblkdoptimasi.Text & "'," & _ "'" & Me.cmbforecasting.Text & "'," & _ "'" & Me.txtkeuntungan.Text & "'," & _ "'" & Now & "')" cmd = New SqlClient.SqlCommand(PSQL, con) cmd.ExecuteNonQuery() cmd.Dispose() For i As Integer = 0 To dttable2.Rows.Count - 1 Dim dr As DataRow dr = dttable2.Rows(i) PSQL = "insert into optimasi_detail" & _ "(kd_optimasi,kd_produk,jumlah,MSE,warna,hargajual)" & _ "VALUES " & _ "('" & Me.lblkdoptimasi.Text & "',"
365 & _ "'" "'" "'" "'" "'"
& & & & &
dr(0) dr(1) dr(2) dr(3) dr(4)
& & & & &
"'," "'," "'," "'," "')"
& & & &
_ _ _ _
cmd = New SqlClient.SqlCommand(PSQL, con) cmd.ExecuteNonQuery() cmd.Dispose() Next MsgBox("Sukses menyimpan dengan No : " & lblkdoptimasi.Text, MsgBoxStyle.Information, "Save Data Success") Me.Dispose() PenjadwalanMesin.Show()
Catch salah As Exception MsgBox(salah.Message, MsgBoxStyle.Critical, "Warning") End Try End If
End Sub
Data Structures Placement Involved objects
Long, String Optimasi Peramalan, Optimasi, Barang Jadi
366 Tabel 4.279 Operation Specification Membuat Penjadwalan Name operation Category Purpose Input data Conditions Effect Algorithm
Membuat Penjadwalan Active
Compute
Untuk membuat Penjadwalan berdasarkan periode yang dipilih. Optimasi, Bulan yang akan diramal, Tahun yang akan diramal. Periode yang dipilih tidak salah dan data optimalisasi tersedia. Hasil perhitungan akan muncul pada user interface Private Sub InitializeComponent() Me.lbltanggal = New System.Windows.Forms.Label Me.Label2 = New System.Windows.Forms.Label Me.Label3 = New System.Windows.Forms.Label Me.Label4 = New System.Windows.Forms.Label Me.Label5 = New System.Windows.Forms.Label Me.txtmm = New System.Windows.Forms.TextBox Me.txtmft = New System.Windows.Forms.TextBox Me.DataGridView1 = New System.Windows.Forms.DataGridView Me.btnsave = New System.Windows.Forms.Button Me.lblkdpenjadwalan = New System.Windows.Forms.Label Me.Label1 = New System.Windows.Forms.Label Me.cmbkdoptimasi = New System.Windows.Forms.ComboBox Me.Button1 = New System.Windows.Forms.Button Me.DateTimePicker1 = New System.Windows.Forms.DateTimePicker CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).BeginIni t() Me.SuspendLayout() ' 'lbltanggal ' Me.lbltanggal.AutoSize = True Me.lbltanggal.Font = New System.Drawing.Font("Microsoft Sans Serif", 8.25!, CType((System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Italic), System.Drawing.FontStyle),
367 System.Drawing.GraphicsUnit.Point, CType(0, Byte)) Me.lbltanggal.Location = New System.Drawing.Point(12, 9) Me.lbltanggal.Name = "lbltanggal" Me.lbltanggal.Size = New System.Drawing.Size(53, 13) Me.lbltanggal.TabIndex = 0 Me.lbltanggal.Text = "Tanggal" ' 'Label2 ' Me.Label2.AutoSize = True Me.Label2.Location = New System.Drawing.Point(12, 35) Me.Label2.Name = "Label2" Me.Label2.Size = New System.Drawing.Size(127, 13) Me.Label2.TabIndex = 1 Me.Label2.Text = "Kode Penjadwalan Mesin" ' 'Label3 ' Me.Label3.AutoSize = True Me.Label3.Location = New System.Drawing.Point(12, 293) Me.Label3.Name = "Label3" Me.Label3.Size = New System.Drawing.Size(43, 13) Me.Label3.TabIndex = 2 Me.Label3.Text = "Periode" ' 'Label4 ' Me.Label4.AutoSize = True Me.Label4.Location = New System.Drawing.Point(12, 318) Me.Label4.Name = "Label4" Me.Label4.Size = New System.Drawing.Size(101, 13) Me.Label4.TabIndex = 3 Me.Label4.Text = "Minimum Makespan" ' 'Label5 ' Me.Label5.AutoSize = True Me.Label5.Location = New System.Drawing.Point(12, 344)
368 Me.Label5.Name = "Label5" Me.Label5.Size = New System.Drawing.Size(29, 13) Me.Label5.TabIndex = 4 Me.Label5.Text = "MFT" ' 'txtmm ' Me.txtmm.Location = New System.Drawing.Point(123, 315) Me.txtmm.Name = "txtmm" Me.txtmm.Size = New System.Drawing.Size(132, 20) Me.txtmm.TabIndex = 5 ' 'txtmft ' Me.txtmft.Location = New System.Drawing.Point(123, 341) Me.txtmft.Name = "txtmft" Me.txtmft.Size = New System.Drawing.Size(132, 20) Me.txtmft.TabIndex = 6 ' 'DataGridView1 ' Me.DataGridView1.AllowUserToAddRows = False Me.DataGridView1.AllowUserToDeleteRows = False Me.DataGridView1.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeig htSizeMode.AutoSize Me.DataGridView1.Location = New System.Drawing.Point(15, 84) Me.DataGridView1.Name = "DataGridView1" Me.DataGridView1.ReadOnly = True Me.DataGridView1.Size = New System.Drawing.Size(583, 198) Me.DataGridView1.TabIndex = 7 ' 'btnsave ' Me.btnsave.Location = New System.Drawing.Point(506, 324) Me.btnsave.Name = "btnsave"
369 Me.btnsave.Size = New System.Drawing.Size(92, 37) Me.btnsave.TabIndex = 10 Me.btnsave.Text = "Save" Me.btnsave.UseVisualStyleBackColor = True ' 'lblkdpenjadwalan ' Me.lblkdpenjadwalan.AutoSize = True Me.lblkdpenjadwalan.Location = New System.Drawing.Point(151, 35) Me.lblkdpenjadwalan.Name = "lblkdpenjadwalan" Me.lblkdpenjadwalan.Size = New System.Drawing.Size(76, 13) Me.lblkdpenjadwalan.TabIndex = 11 Me.lblkdpenjadwalan.Text = "Auto Generate" ' 'Label1 ' Me.Label1.AutoSize = True Me.Label1.Location = New System.Drawing.Point(12, 60) Me.Label1.Name = "Label1" Me.Label1.Size = New System.Drawing.Size(75, 13) Me.Label1.TabIndex = 12 Me.Label1.Text = "Kode Optimasi" ' 'cmbkdoptimasi ' Me.cmbkdoptimasi.FormattingEnabled = True Me.cmbkdoptimasi.Location = New System.Drawing.Point(154, 57) Me.cmbkdoptimasi.Name = "cmbkdoptimasi" Me.cmbkdoptimasi.Size = New System.Drawing.Size(128, 21) Me.cmbkdoptimasi.TabIndex = 13 ' 'Button1 ' Me.Button1.Location = New System.Drawing.Point(506, 41) Me.Button1.Name = "Button1" Me.Button1.Size = New System.Drawing.Size(92, 37) Me.Button1.TabIndex = 15
370 Me.Button1.Text = "Jadwal Mesin" Me.Button1.UseVisualStyleBackColor = True ' 'DateTimePicker1 ' Me.DateTimePicker1.CustomFormat = "dd MMMM yyyy" Me.DateTimePicker1.Format = System.Windows.Forms.DateTimePickerFormat.Custom Me.DateTimePicker1.Location = New System.Drawing.Point(123, 289) Me.DateTimePicker1.Name = "DateTimePicker1" Me.DateTimePicker1.Size = New System.Drawing.Size(132, 20) Me.DateTimePicker1.TabIndex = 16 ' 'PenjadwalanMesin ' Me.AutoScaleDimensions = New System.Drawing.SizeF(6.0!, 13.0!) Me.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font Me.BackColor = System.Drawing.Color.FromArgb(CType(CType(255, Byte), Integer), CType(CType(224, Byte), Integer), CType(CType(192, Byte), Integer)) Me.ClientSize = New System.Drawing.Size(610, 373) Me.ControlBox = False Me.Controls.Add(Me.DateTimePicker1) Me.Controls.Add(Me.Button1) Me.Controls.Add(Me.cmbkdoptimasi) Me.Controls.Add(Me.Label1) Me.Controls.Add(Me.lblkdpenjadwalan) Me.Controls.Add(Me.btnsave) Me.Controls.Add(Me.DataGridView1) Me.Controls.Add(Me.txtmft) Me.Controls.Add(Me.txtmm) Me.Controls.Add(Me.Label5) Me.Controls.Add(Me.Label4) Me.Controls.Add(Me.Label3) Me.Controls.Add(Me.Label2) Me.Controls.Add(Me.lbltanggal) Me.Name = "PenjadwalanMesin" Me.StartPosition = System.Windows.Forms.FormStartPosition.CenterScree
371 n Me.Text = "Penjadwalan Mesin" CType(Me.DataGridView1, System.ComponentModel.ISupportInitialize).EndInit( ) Me.ResumeLayout(False) Me.PerformLayout()
Data Structures Placement Involved objects
4.9.4.5
End Sub Long, String Penjadwalan Penjadwalan, Optimasi
Spesifikasi Tabel Tabel 4.280 Struktur data MS_BahanBaku Field KdBahanBaku NamaBahanBaku Jumlah Satuan
Data Type Text Text Number Text
Description Kode Bahan Baku Nama Bahan Baku Jumlah stock yang ada Jenis material
Tabel 4.281 Struktur data MS_BarangJadi Field KdBarangJadi NamaBarangJadi Jumlah Warna
Data Type Text Text Number Text
Description Kode Barang Jadi Nama Barang Jadi Jumlah stock yang ada Warna Barang Jadi
Tabel 4.282 Struktur data MS_Peramalan Field KdPeramalan KdBarangJadi Periode Jumlah MSE
Data Type Number Text Number Number Number
Description Kode Peramalan Nama Barang Jadi Periode peramalan Hasil perhitungan peramalan produk Error peramalan
372 Tabel 4.283 Struktur data MS_Customer Field KdCustomer Nama Alamat NoTelp Status
Data Type Text Text Text Number Text
Description Kode Customer Nama Customer Alamat Customer Periode tahun Status customer
Tabel 4.284 Struktur data Optimasi Field KdOptimasi KdPeramalan KdBarangJadi NamaBarangJadi Jumlah Periode Keuntungan
Data Type Number Number Text Text Number Number Number
Description Kode dari optimasi Kode Peramalan Kode Barang Jadi Nama Barang Jadi Jumlah hasil optimasi Periode optimasi Jumlah keuntungan maksimal
Tabel 4.285 Struktur data Penjadwalan Field KdPenjadwalan KdOptimasi KdBarangJadi NamaBarangJadi Makespan
Data Type Number Number Text Text Number
Description Kode dari penjadwalan Kode dari optimasi Kode Barang Jadi Nama Barang Jadi Makespan dari pekerjaan
Tabel 4.286 Struktur data PO Field KdPO KdCustomer KdBarangJadi NamaBarangJadi Jumlah Warna Tanggal
Data Type Number Text Text Text Number Text Number
Description Kode Purchase Order Kode Customer Kode Barang Jadi Nama Barang Jadi Jumlah Barang Jadi Warna Barang Jadi Tanggal pemesanan
373 Tabel 4.287 Struktur data SPBJ Field KdSPBJ KdBarangJadi NamaBarangJadi Jumlah Tanggal
Data Type Text Text Text Number Number
Description Kode Surat Penyelesaian Barang Jadi Kode barang jadi yang selesai diproduksi Nama Barang Jadi Jumlah Barang Jadi Tanggal penyelesaian
Tabel 4.288 Struktur data SPBk Field KdSPBk KdBahanBaku NamaBahanBaku Jumlah Tanggal
Data Type Text Text Text Number Number
Description Kode Surat Permintaan Bahan Baku Kode Bahan Baku yang diminta Nama Bahan Baku Jumlah bahan baku yang diminta Tanggal permintaan
Tabel 4.289 Struktur data Faktur Field KdFaktur KdPO KdBarangJadi NamaBarangJadi Jumlah Harga Total Tanggal
4.9.5
Data Type Text Text Text Text Number Number Number Number
Description Kode Faktur Kode Purchase Order Kode barang jadi yang selesai diproduksi Nama Barang Jadi Jumlah tagihan Harga barang jadi per produk Total biaya pemesanan Tanggal jatuh tempo pembayaran
Recommendation
4.9.5.1 The System’s Usefulness Sistem informasi yang dirancang memenuhi beberapa kriteria penting, yaitu : •
Useable Criteria dievaluasi ketika dilakukan analisis agar sistem dapat membantu dalam penentuan jumlah produksi, penjadwalan mesin, membuat laporan, dll serta memastikan bahwa sistem dapat digunakan sebaik-baiknya.
374 •
Efisien Criteria dievaluasi pada saat perancangan dan implementasi sistem, untuk mengetahui apakah sistem yang baru lebih mudah, sederhana, dan tepat dibandingkan sistem lama.
•
Reliable Criteria dievaluasi pada saat testing dan implementasi sistem, untuk menguji dan membandingkan akurasi output yang dihasilkan sistem baru dengan sistem lama.
•
Fleksible Criteria dievaluasi pada saat pengembangan sistem, untuk mengetahui tingkat fleksibilitas sistem terhadap pengembangan yang dilakukan.
•
Correct Criteria dievaluasi pada saat perancangan sistem agar sistem yang dikembangkan dapat memenuhi kebutuhan pengguna dan diuji apakah sistem dapat menjalankan fungsi dengan ketepatan yang diharapkan sehingga hasilnya dapat dipercaya.
•
Comprehensible Criteria dievaluasi dengan menguji sistem pada user yang belum pernah menggunakan sistem untuk mengetahui apakah sistem tersebut mudah untuk dipahami dan dioperasikan.