41
BAB III
PERANCANGAN DAN PEMBUATAN SYSTEM 3.1.
Block Diagram Perancangan dari Konfigurasi System Dari blok diagram diatas dapat ada beberapa bagian blok yang dapat
diuraian sebagai berikut :
Gambar 3.1.
Blok Diagram
Dari blok diagram diatas terdapat 3 Blok bagian : 1. Block Rak Blok ini berfungsi sebagai Input dan Output dari System yang dibuat. Pada blok Rak ini akan terdapat LCD yang berguna untuk output dari proses yang dilakukan. Dan Button sebagai input untuk arduino dalam meproses data. 2. Blok Main Control Blok ini berfungsi sebagai Pusat kontrol dari system yang dibuat. Yang mana pada blok ini akan dilakukan pengambilan data dari server, yang memproses data dari blok Rak dan mengeluarkan output ke Blok diagram sesuai dengan rancangan yang ingin dibuat. Pada blok ini terdapat Arduino Mega sebagai Mikrokontroller dan Ethernet Shield sebagai Modul yang
http://digilib.mercubuana.ac.id/
42
akan menghubungkan arduino ke dalam komunikasi IP, yang mana pada kasus ini arduino akan dikoneksi kan ke Server yang terhubung pada Satu jaringan LAN. 3. Blok Server Blok ini berfungsi sebagai server dan pusat data dari alat yang akan dibuat. Pada blok ini terdapat Database Mysql yang dapat menyimpan semua data olahan dari System sedangkan Web Inventory digunakan interface user untuk melihat data melalui website. Pada dasar nya prinsip kerja Alat dan System yang dibuat agar dapat memudahkan dalam penghitungan Stok barang dalam waktu yang real, selain itu akan mempermudah dalam mencari posisi barang yang ingin diambil atau diletakkan pada Rak. Sehingga dengan alat ini akan didapat efisiensi waktu dalam pengambilan/Peletakkan barang pada Rak, penghitungan Stok pada setiap Rak, dan memudahkan dalam mencari posisi barang. Dari gambar alur diagram diatas dapat dilihat petugas Picker (Pengambil Orderan) melakukan input orderan barang yang mw diambil pada web setelah itu dari data tersebut akan mengeluarkan posisi lokasi, jumlah stok dan Led pada rak barang yang diorder akan hidup, setelah itu picker akan pergi ke ID lokasi rak, dan mencari led Rak mana yang hidup. Setelah itu barang diambil dari rak, dan menekan button bawah untuk mengurangi jumlah barang, setelah itu alat akan melakukan update data ke server sesuai dengan jumlah yang diinputkan oleh picker pada alat. Dan juga begitu sebaliknya untuk petugas yang ingin meletakkan barang untuk menambah stok, awal nya dilakukan pencarian terlebih dahulu lokasi barang dan menghidupkan led indikator pada rak, setelah itu petugas
http://digilib.mercubuana.ac.id/
43
meletakkan barang pada Rak yang sesuai data, lalu menekan button atas untuk menambah stok barang pada Rak tersebut. Setelah itu alat melakukan update terhadap data jumlah barang diletakkan. 3.2.
Manufacturing Prototype dan Pembuatan Alat a. Bahan – bahan bagian Hardware Pada perancangan sisi hardware akan diperlukan bahan – bahan yang perlu dipersiapkan terlebih dahulu yaitu : Table 3.1. Persiapan bagian Hardware NO 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Sisi Hardware Arduino Mega 2560 + Kabel data Ethernet Shield W5100 Adaptor 9 Volt 2 A Kabel LAN 1 meter LCD 16x2 PCB polos dan Dot Matrik Kabel 1 M Acrilic 3mm 2M x 1M + Lem Acrilic Sakelar Togle 3p 2 Posisi Siku Acrilic Mata pisau Acrilic Mata Bor + baut + Spicer Led 3mm, 5 mm dan resistor Push Button Socket Power
Quatity 1 1 1 1 1 1 1 1 2 4 1 5 10 10 3
b. Bahan – bahan Bagian software Pada sisi software dalam pembuatan alat ini, merupakan perangkat lunak yang dapat terintergasi dengan Arduino dan juga software simulasi yang dapat mendukung dalam perancangan dan pengujian, berikut bahan – bahan yang dibutuhkan pada sisi software : Table 3.2. Persiapan bagian Software
http://digilib.mercubuana.ac.id/
44
NO Sisi Software 1 Arduino IDE software 2 Sublime Text Editor 3 Wampp Server
3.3.
Perancangan dan Pembuatan Sisi Hardware Perancangan sisi hardware merupakan langkah awal dalam pembuatan
alat Pick and Put to Light pada warehouse berbasis Arduino dan Website, adapun tujuan dari perancangan hardware yaitu: a. Sebagai panduan dalam pembuatan Alat pada sisi hardware b. Dapat mendesain dan mensimulasikan hardware secara software sehingga dapat mengurangi kesalahan rangkaian,dan lebih ekonomis c. Dapat membeikan gambaran yang lebih jelas dan terperinci dalam pembuatan alat pada sisi hardware Dari tujuan inilah perancangan pada sisi hardware dapat meliputi : a. Perancangan Wiring Diagram b. Perancangan sirkuit rangkaian c. Pembuatan sirkuit rangkaian Wiring Diagram Perancangan wiring diagram merupakan tahap lanjut dari blok diagram yang dirancang. yang mana tahap ini merupakan perancangan system bagian hardware. Untuk lebih jelasnya dapat dilihat pada gambar berikut :
http://digilib.mercubuana.ac.id/
45
Gambar 3.2.
Wiring Diagram
Rangkaian Penghubung. Rangkaian penghubung ini dimaksudkan agar semua modul yang telah dibuat dapat digabungkan menjadi 1 rangkaian dengan sensor, LCD, button, resistor dan buzzer yang akan dihubungkan pada modul arduino. Maka dilakukan lah perancangan rangkaian tersebut menggunakan eagle yang hasilnya dapat dilihat pada rangkaian dibawah ini:
http://digilib.mercubuana.ac.id/
46
Gambar 3.3.
Rangkaian Penghubung
Pada rangkaian diatas akan dapat dilihat bahwa terdapat 5 button yang akan terhubung ke arduino pada pin 2,3,4,5,6 yaitu pada Port digital. Begitu juga dengan LCD dapat dilihat terhubung pada port SDA dan SCL yang
mana
disini
penulis
menggunakan
rangkaian
I2C
untuk
mengkonversikan komunikasi LCD yang sebelumnya paralel menjadi serial sehingga akan menghemat pin Arduino yang digunakan dan memudahkan dalam penulisan program. Selain itu terdapat buzzer dan LED yang terhubung pada port digital arduino yang berfungsi sebagai output. 3.4.
Perancangan dan Pembuatan Maket Simulasi Agar dapat mengilustrasikan system yang dibuat,sehingga dapat dipahami
dan dapat disimulasikan dalam bentuk prototype. Yang mana prototype tersebut telah dapat mewakili dari system alat yang dibuat. Untuk itu terlebih dahulu dilakukan perancangan sebuah maket dari alat yang akan dibuat :
http://digilib.mercubuana.ac.id/
47
Gambar 3.4.
Gambar 3.5.
Desain Maket Alat
Rancangan Maket Alat
Perancangan dan pembuatan Sisi Software Pada perancangan dan pembuatan untuk bagian software terdapat beberapa bagian program yang akan dibuat yaitu :
http://digilib.mercubuana.ac.id/
48
Program Arduino menggunakan bahasa C++ Yaitu program yang akan ditanamkan ke dalam arduino yang dapat berfungsi mengolah input dari button, menampilkan Stok pada LCD dan mengambil/mengirimkan data dari/ke Server melalui komunikasi melalui jaringan computer menggunakan Modul Ethernet Shield
Program Web Inventory Yaitu program Web yang dibuat dari baha PHP,HTML dan Java script. Pada Web ini user dapat Melihat,modify, delete, buat baru dan mengatur data yang ada pada database.
3.5. Perancangan Flochart Program keseluruhan Dalam perancangan sistem sisi program maka diperlukan sebuah rancangan alur kerangka berpikir dari program yang akan dibuat, untuk itu dibuat flowchart agar pembaca dapat memahami alur dari program yang dibuat, berikut gambar flowchart yang telah dibuat :
http://digilib.mercubuana.ac.id/
49
Start
Inisialisasi Setup
No
Check Koneksi
?koneksi OK Yes
Check Server
Data ditampilkan pada LCD
Get Data Stok pada database Check Request Picking
Tambah Stok
Yes
?server OK
Yes
Control Led pada setiap Rak
Database
?Button Up ditekan
No
Kurangi Stok
Yes
?Button bottom ditekan
No Yes ?button Save ditekan
No End
Gambar 3.6.
Flowchart Keseluruhan
Dari flowchart diatas dapat dilihat dilakukan pengecekan koneksi antara arduino dengan server, hal ini bertujuan agar arduino nantinya dapat mengambil data pada database server. Tahap selanjutnya mengecek apa server nya berjalan, jika koneksi dan server berjalan normal maka arduino akan mengambil data dari database mengenai jumlah stok pada setiap rak lalu menampilkan pada LCD. Dan selanjut nya menunggu request jika ada order yang mana ada barang yang akan diambil dari gudang untuk dikeluarkan maka dilakukan check request picking lalu pada proses tersebut akan diketahui posisi barang yang ingin diambil dengan kode
http://digilib.mercubuana.ac.id/
50
lokasi dan led yang menyala pada Rak yang dituju. Dan jika pada rak terdapat tombol up dan bottom yang berfungsi untuk menambahkan dan mengurangi stok, jika ingin mengambil barang maka yang akan ditekan adalah tombol bottom, yang mana akan mengurangi stok dan sebalik nya jika tombol Up ditekan maka stok barang pada rak tersebut akan bertambah. Lalu untuk mengesekusi atau menyimpan data stok barang maka dilakukan penekanan tombol save, jika tombol save ditekan maka data stok yang ditampilkan pada LCD akan tersimpan pada database. 3.6.
Perancangan Pembuatan Program Hardware a. Flowchart Start
Inisialisasi
Setup I/O
?Check Koneksi
Get Data from DB
Kirim data (HTTP Request)
Tampilkan Banyak Stok Pada LCD
?button Up ditekan
Yes No
?button Botom ditekan
Temporary Stok
Yes
?button Save ditekan
End
Gambar 3.7.
Flowchart Program Arduino
Flowchart diatas merupakan flowchart untuk membuat program arduino yang menggunakan bahasa C++, yang mana pada flowchart dapat dilihat
http://digilib.mercubuana.ac.id/
51
bahwa dilakukan eksekusi awal yaitu inisialisasi, yang bertujuan melakukan import library, setting parameter, dan penamaan variable. Lalu selanjutnya melakukan Setup I/O yaitu melakukan penyetingan Input dan output yang akan dipakai pada arduino, dan juga melakukan ekseksusi pengkonfigurasian Ethernet agar dapat berkomunkasi melalui jaringan LAN. Jika koneksi antara arduino dengan server berjalan dengan baik maka dilakukan pengambil data dari database untuk jumlah stok barang dan menampilkan nya pada LCD. Jika button Up ditekan maka data stok akan ditambah dan disimpan sementara pada variable temporary_stok, begitu juga jika button bottom ditekan maka data stok akan berkurang. Untuk melakukan penyimpanan data stok yang terupdate maka ditekan button Save. Jika button save ditekan maka data jumlah stok yang terdapat pada variable temporary_stok disimpan pada database. b. Pembuatan Program Arduino menggunakan Bahasa C++ Pada pembuatan program Arduino digunakan bahasa pemrograman C++ yang telah terintergrasi dengan Arduino IDE. Arduino IDE merupakan Software besutan pengembang Arduino, yang mana disini user dapat menuliskan kode program dengan bahasa C lalu melakukan Compilasi ke dalam machine. Sehingga hasil Compile itu dapat ditanamkan kedalam arduino Mega yaitu menggunakan mikrokontroler Atmega 2560. Untuk lebih mengetahui bentuk tampilan dari Program Arduino IDE, dapat dilihat pada gambar dibawah ini :
http://digilib.mercubuana.ac.id/
52
Gambar 3.8.
Tampilan awal program Arduino
Pada awal tampilan file baru untuk arduino akan secara otomatis tergenerate dengan stuktur yang dapat dilihat pada gambar diatas, yang mana setup merupakan untuk penyetingan I/O dan loop merupakan main program. c. Pembuatan Program Arduino Program arduino memiliki beberapa struktur yaitu : 1. Import Library 2. Inisialisasi variable 3. Setup 4. Main Program (Loop) 5. Function Sehingga dari struuktur diatas penulis akan membagi beberapa potongan program arduino yang telah dibuat, dengan penjelasan sebagai berikut : 1. Library Merupakan bagian tempat dilakukan import script reference yang akan digunakan, contoh jika menggunakan module ethernet maka library ethernet.h harus diimport dalam program hal ini dikarenakan library inilah yang akan menghandle semua yang berkaitan dengan ethernet. Dan dengan library ini akan memudahkan dalam membuat program
http://digilib.mercubuana.ac.id/
53
selanjutnya. Dan dengan adanya library, penulis tidak perlu lagi membuat program yang panjang untuk melakukan komunikasi arduino dengan ethetnet. Untuk library yang akan digunakan pada kasus ini dapat dituliskan program sebagai berikut :
2. Inisialisasi variable Merupakan tempat untuk menuliskan sebuah variable yang akan digunakan dalam program, berikut inilisasi variable yang digunakana dalam pembuatan alat ini.
http://digilib.mercubuana.ac.id/
54
3. Setup Bagian ini merupaka tempat dimana melakukan penyetingan Port yang akan digunakan sebagai input maupun output,
dan memulai
komunikasi I2C LCD dan komunikasi Arduino dengan ethernet, yang mac address, IP dan gateway telah diinisialisasi isi parameter terlebih dahulu. Berikut script program untuk bagian setup :
http://digilib.mercubuana.ac.id/
55
4. Loop (Main program) Merupakan bagian utama dari program arduino yang mana pada bagian inilah eksekusi akan berulang dan yang akan mengeksekusi semua fungsi yang ingin dieksekusi oleh karena itu bagian ini biasa disebut dengan main program. Untuk lebih jelasnya dapat dilihat pada script dibawah ini :
http://digilib.mercubuana.ac.id/
56
5. Function Button Script yang dapat membaca button saat ditekan dan melakukan eksekusi sesuai button yang ditekan maka script nya dapat dilihat pada gambar dibawah ini :
http://digilib.mercubuana.ac.id/
57
3.7.
Perancangan Pembuatan Program Website
a. Flowchart Pada perancangan pembuatan program website akan lebih baik membuat sebuah alur berpikir (Flowchart) dari sebuah program yang mana nanti nya akan menghasil algoritma yang baik. Dengan menggunakan flowchart programmer dapat membayangkan script program yang akan ditulis. Sehingga tidak membutuhkan waktu yang lama dalam penulisan program karena logika nya telah tercantum pada flowchart, disamping itu flowchart juga berfungsi sebagai dokumentasi sehingga para pembaca tidak perlu membaca script pemprograman yang begitu rumit. Dalam pembuatan website yang dibuat maka dirancanglah flowchart program website sebagai berikut :
http://digilib.mercubuana.ac.id/
58
Start
Form Signup
?login sukses
Form Login
Form Request Order Main Page
Proses data
Form Put in stok
?order
Logout
No
Yes Save to Database
No
?Put in Stok
Yes
Gambar 3.9.
Flowchart Website
b. Perangcangan Pembuatan Desain Web Form Setelah merancang flowchart untuk website yang akan dibuat, maka langkah selanjutnya adalah melakukan perancangan desain halaman untuk website yang akan dibuat. Dengan melakukan desain halaman website untuk setiap proses yang akan dibuat, ini akan mempermudah nantinya untuk melakukan logika terhadap pemrograman dibagian corenya. Dalam tahap desain halaman website ini ada beberapa halaman yang akan dibuat sebagai berikut : 1. Halaman Login
http://digilib.mercubuana.ac.id/
59
Gambar 3.10. Halaman Login Halaman login berfungsi untuk akses masuk user ke dalam website, sehingga hanya user yang berwenang dapat mengakses website. Dalam halaman ini terdapat 2 input yaitu Username dan password. Untuk user yang belum terdaftar dapat dilakukan registrasi dengan halaman master user yang mana dapat dilihat pada point berikut ini. 2. Halaman Master User
Gambar 3.11. Halaman Master User
http://digilib.mercubuana.ac.id/
60
Dengan halaman ini administrator dapat mendaftarkan user yang da[at mengakses web, dengan inputan berupa nama, username, password dan hak akses nya. 3. Halaman Master Barang
Gambar 3.12. Halaman Master Barang Halaman ini digunakan untuk menambah produk atau barang pada database. Data yang akan diinput berupa kode barang, nama barang, jenis barang , lokasi barang dan jumlah stok barang. 4. Halaman Request Barang
Gambar 3.13. Halaman Request Barang
http://digilib.mercubuana.ac.id/
61
Halaman ini digunakan untuk melakukan request order barang untuk diambil atau diletakkan. Dan dihalaman ini juga picker dapat mengetahui posisi dari barang yang direquest. c. Pembuatan Database Setelah membuat desain untuk halaman website, langkah selanjutnya adalah membuat database yang mana akan digunkan untuk menyimpan data web berupa informasi data master barang, user, log data dan request data. Dengan menggunakan database, data pada web dapat ditambah, dihapus, dan diubah sesuai program. Oleh karena itu pada kasus ini penulis menggunakan database mysql sebagai server database, yang tentunya bahasa untuk mengakses data tersebut adalah bahasa sql. Untuk lebih jelasnya dapat dilihat perancangan table data yang dibuat sebagai berikut : 1. Table master_barang
Gambar 3.14. Table master barang Tabel master barang berfungsi untuk menyimpan semua data yang berkaitan dengan barang/ produk. Yang akan berisi informasi tentang kode barang, jenis barang, namanya, lokasi barang disimpan, yg tepatnya lokasi rak dimana barang disimpan, jumla stok barang dan status barang itu seperti apa, apa dalam status Sold-out atau available.
http://digilib.mercubuana.ac.id/
62
2. Table mst_user
Gambar 3.15. Table master user Table mst_user dapat disebut juga dengan table master user yang mana digunakan sebagai tempat menyimpan informasi data mengenai user yang dapat mengakses web. Data ini akan digunakan pada saat login website, pemberian hak akses dan untuk report sebuah pekerjaan dari seorang user. 3. Table status_rak
Gambar 3.16. Table status rak Pada status rak ini berfungsi untuk mengetahui apakah rak itu sedang adanya request Pengambilan atau peletakkan barang, data informasi ini digunakan oleh alat arduino untuk mengontrol led indikator pada setiap rak. Yang mana status dari kode location pada database bernilai 1 maka rak tersebut berstatus Get, yang mana akan tertampil pada LCD pada rak dan LED pada Rak akan hidup, sedangkan jika bernilai 2 maka status rak tersebut Take, yang artinya ada pengambilan barang. Status tersebut akan berubah jika button kirim alat telah ditekan. Dan status pada database akan bernilai 0. Sehingga LED pada rak padam.
http://digilib.mercubuana.ac.id/
63
4. Table pick_request
Gambar 3.17. Table pick request Table ini berfungsi sebagai log data dari request yang dilakukan oleh picker yang mana bertugas mengambil dan meletakkan barang sesuai kode barang dan id lokasi nya, yang sesuai dengan data master barang. Data ini dapat digunakan sebagai reporting dari picker atas kinerja nya selama melakukan tugas, yang dapat dinilai dari kecepatan picker dalam melaksakan tugas dari waktu request hingga waktu yang tercatat saat picker mengirim kan sinyal send, dengan menekan tombol send pada rak.
http://digilib.mercubuana.ac.id/