25
BAB III PERANCANGAN DAN PEMBAHASAN
Perancangan sistem secara keseluruhan terdiri atas 2 bagian utama, yaitu perancangan perangkat keras dan perangkat lunak. Peran
at lunak yang digunakan
yaitu Visual Basic 6.0 sedangkan perangkat keras yang digunakan yaitu antarmuka hardware yang meliputi catu daya, termokopel, pengatur suhu, proximity sensor dan beberapa perangkat keras pendukung lainnya. Pembuatan
ng dilakukan dengan
menuangkan aliran program yang telah direncanakan ke d
bahasa pemrograman
sekaligus menyesuaikan output yang diharapkan dengan komponen-komponen pendukung lainnya. Diagram blok system yang akan dirancang secara global
at dilihat pada
gambar dibawah ini :
Gambar 3.1 Gambar blok system secara keseluruhan
3.1 Perancangan Perangkat Keras Perangkat keras dibutuhkan sebagai sarana antarmuka (i erface) antara komputer dengan pengguna. Fungsi perangkat keras dalam pencatat hasil produksi ini adalah
sebagai sensor yang mendeteksi produk dan suhu kemudian dengan acuan suhu tertentu akan diberikan kondisi rendah, normal atau tinggi yang kemudian disinyalkan dengan lampu LED (kuning, hijau atau merah) sebagai indikator sedangkan komputer akan mulai menghitung hasil produksi pada saat kondisi suhu normal .
25
26
3.1.1 Power Supply Power supply yang digunakan untuk mendukung sistem ini merupakan po er supply AC to DC Converter (Pengubah tegangan AC menjadi DC) dengan masukan sebesar 220 VAC menjadi tegangan keluaran 5 VDC dan 15 VDC. Power supply ini juga digunakan untuk mendukung kerja buzzer sebagai indikator yang mempunyai tegangan kerja 12 VDC. Untuk mendapatkan tegangan keluaran dari power supply sebesar 5 VDC dan 15 VDC, digunakan voltage regulator berupa IC 7815 dan IC 7805 yang didukung den an filter / penyaring ripple berupa kapasitor. 3.1.2 Rangkaian Sensor Suhu Rangkaian sensor suhu ini menggunakan komponen utama termokopel dengan akurasi tinggi pada pengukuran suhu sekitar (-55°C - 150°C). Sensor suhu akan mengkonversi suhu dengan besaran Celcius menjadi tegangan dan kemudian akan di converter oleh pengatur suhu ( temperature controller ) sehingga dapat dibaca kedalam bentuk digital. Karena proses yang di kontrolnya itu bersifat analog atau kontinyu, maka
didalam modul penggatur suhu tersebut terdapat perangkat keras tambahan berupa ADC (Analog to Digital Converter) dan DAC (Digital to Analog Converter) yang digunakan sebagai antar muka kontroller digital dengan proses. Selain itu d idalam pengatur suhu tersebut dilengkapi dengan kemampuan untuk melakukan operasi adaptasi, tuning secara otomatis (autotuning) dan penjadwalan penguat (gain scheduling). 3.1.3
Rangkaian Sensor Pencatat (Proximity Switch) Rangkaian sensor pencatat ini menggunakan komponen utama proximity switch
dengan jenis inductive yang dapat mendeteksi keberadaan objek logam. Keluaran dihasilkan saat sensor proximity mendeteksi adanya keberadaan objek logam pada batas referensi jarak yang telah ditentukan, kemudian sensor memberikan keluaran sebesar 5 volt pada LPT1 yang kemudian dibaca oleh program sebagai input high dan mengaktifkan program pencatatan.
27
3.1.4
Driver LED Rangkaian driver LED merupakan rangkaian yang digunakan untuk interface
(antarmuka) antara temperature control dengan led sebagai pelaksana aksi. Pada rangkaian ini menggunakan tiga buah relay sebagai komponen switching (saklar) dimana fungsi kerja transistor ini mirip dengan fungsi switch (saklar). Relay 1 berfungsi sebagai switch pada lampu led kuning yang menunjukkan
bahwa suhu pada kondisi dibawah batas setting point yang telah ditentukan ( low temp). Pada kondisi ini temperature control mengeluarkan output sebesar 12 VDC melalui pin 1 yang mengaktifkan relay 1. Dengan aktifnya relay ini akan mengaktifkan lampu LED kuning yang terhubung ke power supply 5 VDC melalui kontak NO pada relay. Relay 2 berfungsi sebagai switch pada lampu led hijau yang menunjukkan
bahwa suhu pada kondisi batas setting point yang telah ditentukan (normal temp). Pada kondisi ini temperature control mengeluarkan output se esar 12 VDC melalui pin 3 yang mengaktifkan relay 2. Dengan aktifnya relay ini akan mengaktifkan lampu LED hijau yang terhubung ke power supply 5 VDC melalu i kontak NO pada relay. Relay 3 berfungsi sebagai switch pada lampu led merah yang menunjukkan bahwa suhu pada kondisi dibawah batas setting point yang telah ditentukan (high temp). Pada kondisi ini temperature control mengeluarkan outp t sebesar 12 VDC me lalui pin 14 yang mengaktifkan relay 1. Dengan aktifnya relay ini akan mengaktifkan lampu LED merah yang terhubung ke power supply 5 VDC melalui kontak NO pada relay.
3.1.5
Akses LPT1 Dengan Visual Basic 6.0 Visual Basic 6.0 tidak bisa langsung mengakses port-port perangkat keras ke
dalam sistem komputer. Untuk mengakses port-port tersebut diperlukan bantuan tambahan berupa file-file dalam Dynamic Link Library (DLL) atau dari file ActiveX Control (OCX). File yang dapat digunakan untuk mengakses port LPT1 adalah inpout32.dll. Paralel port biasanya dapat ditemukan di belakang PC dengan 25 pin perempuan atau konektor DB25 yang umumnya digunakan untuk menghubungkan printer.
28
Berikut gambar konektor DB25:
Gambar 3.2 Konetor DB25
Tabel 3.1 Fungsi Pin pada Konektor DB25
29
Langkah-langkah untuk mengakses LPT1 dengan menggunakan Visual Basic 6.0 adalah sebagai berikut:
1. Copy file inpout32.dll ke direktori C:\WINDOWS\SYSTEM lalu di register dengan REGSVR32.exe Start>Run : REGSVR32 C:\WINDOWS\SYSTEM \inpout32.dll
2. Untuk dapat mengakses port-port dalam LPT1 maka sebelumnya harus dilakukan pengaturan dari LPT1 dengan memasukka n Function Inp dan Sub Out pada Modul dari Project Visual Basic. Pengaturan LPT1: Option Explicit Public Declare Function Inp Lib “inpout32.dll” _ Alias “Inp32” (ByVal PortAddress As Integer) _ As Integer Public Declare Sub Out Lib “inpout32.dll” _ Alias “Out32” (ByVal PortAddress As Integer, _ ByVal Value As Integer)
Metode pembacaan dan penulisan pada port LPT1 hanya da at dilakukan dengan metode pembacaan dan penulisan langsung 8 bit data. Nilai data yang dibaca maupun ditulis dalam besaran desimal.
a.
Pembacaan Pada Port LPT1 Pembacaan pada port sama halnya dengan kita melakukan pengecekan pada nilai
masukan yang diberikan pada port tersebut. Syntax : Inp PortAddress Untuk PortAddress dari LPT1 adalah 378H atau 888 desimal.
b.
Penulisan Pada Port LPT1 Penulisan pada port sama halnya dengan kita melakukan proses pemberian nilai
keluaran pada port tersebut. Syntax : Out PortAddress, Nilai Untuk PortAddress dari LPT1 adalah 378H atau 888 desimal dan Nilai dalam satuan
desimal.
30
3.2
Perancangan dan Pembuatan Perangkat Lunak
3.2.1 Form Splash Desain :
Gambar 3.3. Tampilan form Splash Form Splash ini akan muncul pada saat pertama kali program dijalankan. Sebagaimana terlihat pada gambar 3.3. form ini menampilkan nama dari program ini serta lisensi dari pembuat program. Form ini hanya akan tampil selama beberapa saat
saja (± 5 detik) . 3.2.2
Menu User log In Desain :
Gambar 3.4. Tampilan menu User Log In Menu User Log In ini akan muncul setelah menu Splash dan pada saat akan masuk ke menu Utama ( Kapasitas Produksi Line Printing ). Menu ini bertujuan untuk mengkonfirmasikan nama supervisor yang akan dipilih dan password-nya. Pemilihan
31
nama supervisor dapat dilakukan dengan memilih nama supervisor yang terdapat pada list yang tercantum di dalam combo box . Pengisian nomor password disesuaikan dengan
nama supervisor yang dipilih dengan cara memasukkan pada field password. Proses selanjutnya adalah dengan mengklik command button OK, jika nama supervisor dan password-nya benar maka program akan menampilkan menu Kapasitas Produksi Line Printing. Command button cancel digunakan untuk membatalkan proses
konfirmasi. Command button register digunakan untuk masuk ke menu User Registration untuk mendaftarkan supervisor yang diperbolehkan untuk mengoperasikan program utama oleh admin.
3.2.3
Menu Admin Log In Desain :
Gambar 3.5. Tampilan menu Admin Log In Menu Admin Log In ini akan muncul sebelum proses registrasi user dilakukan. Menu ini dapat diakses melalui menu user log in dengan meng-klik Command button register. Menu ini membutuhkan password yang digunakan untuk masuk ke dalam Menu registrasi (lihat perancangan frmRegisitration). Jika password yang dimasukkan betul maka proses registrasi dapat dilakukan setelah command button OK dilakukan. .... .... .... If TxtUserName.Text = "" Then .... .... .... ElseIf TxtPassword.Text = Password Then ‘jika password benar Load FrmRegistration ‘menampilkan form registrasi
32
FrmRegistration.Show Unload Me
‘menghilangkan form Login
.... .... .... End If
Pembuatan form ini bertujuan agar user yang didaftarkan harus melalui Administrator (Admin) sistem yang bertanggung jawab terhadap proses registrasi user. Pengisian data dapat dilakukan oleh user sendiri. 3.2.4
Menu User Registration Desain :
Gambar 3.6. Tampilan menu User Registration Menu user registrasi akan muncul setelah pengisian password oleh admin pada Menu Admin log in telah dilakukan dengan benar. Menu ini digunakan untuk mendaftarkan user yang diperbolehkan untuk mengoperasikan program utama pada form Kapasitas Produksi Line Printing. Proses registrasi dilakukan dengan mengisikan beberapa field yang tersedia. Nama dan password yang telah terdaftar dapat digunakan
oleh user untuk mengakses ke menu Kapasitas Produksi Line Printing.
33
.... .... With DatRegistration .Recordset.AddNew .Recordset!NoId = TxtId.Text .Recordset!Name = TxtName.Text .Recordset!PhNo = TxtPh.Text .Recordset!Registerd = Now .Recordset.Update .Recordset.MoveLast .Refresh End With
3.2.5
Menu Utama ( Form Kapasitas Produksi Line Printing ) Desain :
Gambar 3.7 . Menu Utama ( form Kapasitas Produksi Line Printing )
34
Pada layar menu utama program dibagi menjadi tiga bagian menu, yaitu sebagai
berikut: 1. File Menu ini terdiri dari sub menu report, sub menu change password, dan sub menu
exit. a. Sub menu Report digunakan untuk melihat laporan kapasitas hasil produksi lengkap dengan tanggal, shift maupun design. Private Sub mnuReport_Click() .... .... Rpt.Show ‘menampilkan menu report .... .... End Sub
b.
Sub menu Change Admin Password digunakan untuk mengganti password admin, karena hanya admin saja yang dapat masuk ke fom registrasi untuk mendaftarkan nama operator/supervisor yang menjalankan sistem. .... Private Sub mchangepassword_Click() .... Load frmchangepassword frmchangepassword.Show ‘menampilkan menu change password .... End Sub
c.
Sub menu Exit digunakan untuk mengakhiri program secara keseluruhan. .... Private Sub mexit_Click() .... End .... End Sub
2. Utility Menu ini digunakan sebagai utility tambahan untuk mengakses calculator dan notepad.
35
3. Help Untuk melihat menu instruction sets dalam pengoperasia
program ini, serta
melihat informasi mengenai program dan informasi pembu t sistem secara keseluruhan.
Form Kapasitas Produksi Line Printing ini merupakan Menu Utama yang akan digunakan oleh user untuk melakukan perhitungan kapasitas produksi dan memonitor temperatur oven mesin cetak (monitoring berupa kondisi low heat, normal dan over heat). Saat pertama kali program ini dijalankan user diharuskan terlebih dahulu mengklik commond button reset sebelum mengisi data – data produksi yang akan dilaksanakan, yang terbagi atas :
1. Kolom Shift untuk mengetahui shift produksi saat itu dengan memilih pada list yang tercantum di dalam combo box (shift 1, shift 2, atau shift 3).
2. Kolom Design untuk mengetahui design produksi yang akan dijalankan 3. Kolom Plan untuk mendata target jumlah/rencana hasil produksi dalam 1 shift. .... .... Private Sub save() With Data .Recordset.AddNew .Recordset![Date] = Now .Recordset!Shift = cmb.Text ‘pengisian kolom shift .Recordset!Design = txtdesign.Text ‘pengisian kolom design .Recordset!Plan = txtplan.Text ’pengisian kolom plan .... .... .... End With End Sub
Setelah mengisi semua kolom diatas sesuai dengan rencana produksi kemudian klik command button set untuk menyimpan data tersebut ke database. Proses selanjutnya adalah dengan meng-klik command button Start untuk memulai perhitungan produksi. Setiap perubahan data aktual hasil produksi maupun selisih hasil produksi
36
yang masuk akan ditampilkan dalam bentuk visual dapat dilihat pada kolom Aktual dan Selisih . Untuk perubahan data aktual, PC akan melakukan scanning data dengan interval 1 ms (interval timer VB tercepat) pada alamat 379 H, dengan source code sebagai berikut : .... .... Private Sub TmrIO_Timer() portvalue = Interface.InPort(&H379) ‘baca data pada alamat 379H Text1.Text = portvalue
‘data yang dibaca diasumsikan sebagai Data
.... ....
Sedangkan untuk selisih hasil produksi akan dihitung berdasarkan selisih antara plan/target produksi dikurangi dengan actual hasil produksi saat itu. P erhitungan datadata tersebut pada source code adalah sebagai berikut : .... Private Sub kalkulasi() aktual = aktual + 1 hasil = aktual - CInt(txtplan.Text) .... .... If hasil < 0 Then lblselisih.ForeColor = vbRed Else lblselisih.ForeColor = &HC000& End If .... .... blaktual.Caption = CStr(aktual) lblselisih.Caption = CStr(hasil) .... End Sub
Saat perhitungan hasil produksi secara bersamaan dilakukan juga monitoring temperatur oven mesin cetak berdasarkan pada masukan dari Temperature Control sehingga user dapat segera mengetahui jika temperatur mesin dibawah (low heat) atau
37
diatas (over heat) standar. Monitoring temperatur ini ditampilkan secara visual yang dibagi menjadi tiga kondisi, yaitu :
?
Low Heat = Kondisi saat suhu di bawah batas bawah set point (label low heat akan berkedip)
?
Normal
= Kondisi saat suhu pada batas set point (label normal akan menyala)
?
Over Heat = Kondisi saat suhu di atas batas atas set point (label over heat akan
berkedip) Pada saat temperatur dalam kondisi low heat atau over
at perhitungan secara otomatis
akan berhenti hingga kondisi kembali normal. Saat kondisi over heat selain diberikan peringatan secara visual juga diberikan peringatan secara audio. Contoh penerapannya pada source code adalah sebagai berikut : .... .... If portvalue = 248 Or portvalue = 184 Then NormalOn ’label normal akan menyala OverOff LowerOff End If .... .... If portvalue = 104 Or portvalue = 40 Then Timer1.Enabled = True OverOn ’label over heat akan berkedip NormalOff LowerOff mp.FileName = "c:\be.mp3" mp.Play ‘pemberian peringatan audio dari PC Else Timer1.Enabled = False mp.Stop .... ....
End If
38
.... .... If portvalue = 88 Then LowerOn ’label low heat akan berkedip OverOff NormalOff .... End If
Apabila perhitungan kapasitas produksi telah selesai, maka user dapat menyimpan hasil produksi tersebut ke database dengan meng-klik command button Stop.
3.2.6
Menu Change Admin Password Desain :
Gambar 3.8. Tampilan menu Change Admin Password Menu Change Admin Password digunakan untuk mengubah atau mengganti password aktif yang akan digunakan dalam menu admin log in. Password merupakan accses key yang sangat penting, maka apabila seorang admin telah mengubah password, selanjutnya jika ingin masuk ke dalam menu registrasi
s menggunakan password
baru tersebut. Untuk mengakses menu Ubah Password ini
ka pilihlah menu File pada
menu utama program lalu pilihlah menu Change Admin Pasword. Pada layar tampilan Ubah Password terdapat input data :
• Old Password digunakan untuk menginput password lama user yang menggunakan program. • New Password digunakan untuk menginput password baru bagi user ters but dalam program.
39
• Confirm Password digunakan untuk menginput ulang password baru user tersebut yang telah diinput pada kotak input Password Baru deng n tujuan untuk memastikan bahwa password baru yang diinput tersebut adalah benar Password yang diinput disini harus sama dengan password yang diinput pada kotak input Password Baru. Setelah selesai mengganti password maka pilihlah command button OK agar password baru yang diinput tersebut dapat berlaku atau pilihlah command button Cancel untuk membatalkan penggantian password. .... Private Sub cmdOk_Click() If Text2.Text <> "" Or Text3.Text <> "" Then If Text2.Text = Text3.Text Then EditPassword Text3.Text MsgBox "Change password confirmed", vbInformation + vbOKOnly Unload Me Else MsgBox "The Password you type did not match, please re the new password", vbExclamation + vbOKOnly, "Oops..." End If End If End Sub
(Text2 = input password baru, Text3 = input konfirmasi password baru)
3.2.7
Menu About Program Desain :
Gambar 3.9. Tampilan menu About Program
e
40
Menu About Program digunakan untuk melihat lisensi pembuat program serta sistem informasi komputer yang digunakan. Jika Anda ingin melihat sistem informasi maka pilih tombol SysInfo, sedangkan jika ingin keluar dari layar tampilan Tentang Program maka pilih command button OK. Untuk mengakses menu Tentang Program maka pada menu utama program pilihlah menu Help kemudi
pilih lah menu About
Program. ..... Public Sub StartSysInfo() On Error GoTo SysInfoErr Dim Rc As Long Dim SysInfoPath As String ..... ..... Call Shell(SysInfoPath, vbNormalFocus) Exit Sub SysInfoErr: MsgBox "System Information Is Unavailable At This Time", vbOKOnly End Sub ..... .....
3.2.8
Menu Capacity Report Desain :
Gambar 3.9. Tampilan menu Capacity Report
41
Menu Capacity Report ini menyediakan menu laporan yang terdiri dari beberapa data laporan produksi, yaitu :
1. User/supervisor produksi 2. Tanggal produksi 3. Shift produksi 4. Design produksi 5. Rencana jumlah produksi 6. Hasil produksi 7. Selisih hasil produksi yang menunjukkan selisih hasil produksi antara plan dan actual (+/-) Seluruh laporan tersebut ditampilkan dalam bentuk print preview, untuk melihat banyaknya halaman laporan dapat dilihat pada bagian kanan bawah pada setiap halaman, dan laporan ini dapat langsung dicetak. Laporan kapasitas produksi ini dapat diakses melalui menu utama kemudian pilih file dan setelah itu pilih sub menu report.