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
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
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 Sisi Hardware Quatity
1 Arduino Mega 2560 + Kabel data 1
2 Ethernet Shield W5100 1
3 Adaptor 9 Volt 2 A 1
4 Kabel LAN 1 meter 1
5 LCD 16x2 1
6 PCB polos dan Dot Matrik 1
7 Kabel 1 M 1
8 Acrilic 3mm 2M x 1M + Lem Acrilic 1
9 Sakelar Togle 3p 2 Posisi 2
10 Siku Acrilic 4
11 Mata pisau Acrilic 1
12 Mata Bor + baut + Spicer 5
13 Led 3mm, 5 mm dan resistor 10
14 Push Button 10
15 Socket Power 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 :
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 :
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:
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 :
Gambar 3.4. Desain Maket Alat
Gambar 3.5. Rancangan Maket Alat
Perancangan dan pembuatan Sisi Software
Pada perancangan dan pembuatan untuk bagian software terdapat beberapa bagian program yang akan dibuat yaitu :
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 :
Start Inisialisasi Setup Check Koneksi Check Server ?koneksi OK ?server OK No Yes Get Data Stok pada database Yes Data ditampilkan pada LCD Check Request Picking
Control Led pada setiap Rak
?Button Up ditekan
?Button bottom ditekan Tambah Stok Yes
Kurangi Stok Yes
No ?button Save ditekan No Database Yes End No
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
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
Tampilkan Banyak Stok Pada LCD ?button Up ditekan ?button Botom ditekan ?button Save ditekan Kirim data (HTTP Request) Temporary Stok Yes Yes No 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
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 :
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
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.
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 :
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 :
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 :
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 :
Start Form Signup
Form Login
Form Request Order
Form Put in stok Main Page ?login sukses Proses data ?order ?Put in Stok No Save to Database Yes Yes No Logout
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 :
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
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
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.
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.
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.