Selasa, 18 Desember 2012

inventory control

Pengertian
Pengawasan terhadap persediaan yang dikenal juga sebagai inventory control adalah bagaimana fungsi tersebut dapat dilaksanakan secara efektif. Mengapa pengendalian persediaan sangat penting ? Karena begitu besar jumlah yang diinvestasikan dalam   persediaan. Pengendalian persediaan yang tepat memiliki pengaruh yang kuat dan langsung terhadap perolehan kembali atas investasi. Pengendalian persediaan juga penting dalam menentukan stok yang benar.
Inventory dapat berupa :
  • barang mentah (raw material)
  • barang setengah jadi (work in process)
  • barang jadi (finished goods)
  • barang pengemas (packaging materials)
Pengendalian Persediaan yang Efektif
           Pengendalian persediaan yang efektif adalah mengoptimalkan dua tujuan  yaitu memperkecil total investasi pada persediaan dan menjual atau menyediakan berbagai produk yang benar untuk memenuhi permintaan konsumen. Hal ini dapat dicapai apabila dapat menentukan :
  • Berapa banyak suatu item barang akan dipesan pada suatu waktu.
  • Kapan dilakukan pemesanan ulang terhadap item tersebut.
  • Yang mana dari item-item tersebut perlu dilakukan pengawasan.
Masalah Pengendalian Persediaan
Masalah klasik dari pengendalian persediaan adalah bagaimana cara menyeimbangkan antara pengaturan persediaan dengan biaya-biaya yang ditimbulkannya.

Pertimbangan Biaya variabel
1. Biaya penyimpanan
adalah biaya-biaya variabel yang berhubungan langsung dengan jumlah persediaan, seperti: biaya resiko kerusakan, kecurian, penerangan, keusangan, dll.
2. Biaya pemesanan
adalah biaya yang setiap kali harus ditnggung dalam pemesanan suatu bahan/barang, seperti: biaya telepon, pemrosesan pesanan, pemeriksaan penerimaan, pengiriman ke gudang.
3. Biaya penyiapan
adalah biaya yang harus ditanggung oleh RS dalam memproduksi suatu komponen apabila bahan-bahan tersebut tidak dibeli tetapi diproduksi sendiri, seperti Biaya mesin-mesin tidak terpakai, persiapan tenaga kerja langsung, penjadwalan, ekspedisi.
4. Biaya kehabisan (kekurangan bahan)
adalah biaya ini terjadi apabila persediaan tidak mencukupi terhadap permintaan atas bahan tersebut, seperti: adanya biaya karena pemesanan khusus, biaya kegiatan administrasi, kehilangan pelanggan, dll.
Dalam hal ini, perlu dilakukan pengendalian jumlah persediaan untuk memenuhi kebutuhan dengan cara yang paling ekonomis dan meminimalkan  total biaya persediaan.
Tujuan Inventory Control
Tujuan dari persediaan yang paling penting :
1. Melindungi dari kerugian.
Persediaan dapat melindungi dari berbagai fluktuasi dari permintaan dan penawaran. Jika distribusi obat dari supplier terlambat atau permintaan tiba-tiba meningkat seperti pada kasus penyakit epidemik tertentu, maka sistem persediaan yang baik dapat melindungi persediaan dari stok kosong.
2. Membuat sistem pengadaan/ manufaktur.
Harga unit-unit dari obat dengan sistem manufaktur biasanya lebih rendah, dan hal tersebut dihasilkan dari sistem persediaan yang baik.
3. Meminimalkan waktu tunggu.
Sistem persediaan dapat meningkatkan ketersediaan obat secara optimal, sehingga pelayanan kesehatan dapat ditingkatkan.
4. Meningkatkan efisiensi transportasi.
Biaya transportasi akan meningkat jika tidak ada sistem persediaan atau stok.
5. Mengantisipasi fluktuasi.
Fluktuasi akan permintaan sulit untuk diprediksi. Sistem inventori dapat mengantisipasi kenaikan permintaan yang tidak menentu.

Open GL

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <stdarg.h>
#include <GL/glut.h>
void mydisplay(){
glClear(GL_COLOR_BUFFER_BIT);
glBegin(GL_POLYGON);
glColor3f(0, 1, 0);
glVertex3f(-0.5, -0.5, 1);
glColor3f(0, 0, 1);
glVertex3f(-0.75, 0, 1);
glColor3f(1, 0, 0);
glVertex3f(-0.5, 0.5, 1);
glColor3f(0, 1, 0);
glVertex3f(0, 0.75, 1);
glColor3f(0, 0, 1);
glVertex3f(0.5, 0.5, -1);
glColor3f(1, 0, 0);
glVertex3f(0.75, 0, -1);
glColor3f(0, 1, 0);
glVertex3f(0.5, -0.5, -1);
glColor3f(0, 0, 1);
glVertex3f(0,-0.75, -1);
glEnd();
glFlush();
}
int main(int argc, char** argv){
glutCreateWindow("simple");
glutDisplayFunc(mydisplay);
glutMainLoop();
}

A.Pengeritan CGI- (Common Gateway Interface)



CGI Common Gateway Interface, adalah suatu Antarmuka (interface) untuk menjalankan program dari luar, software atau gateaway di Server. Suatu cara bagaimana Server Web memperoleh data dari dan mengirim data ke database, dokumen atau program lainnya, dan menayangkannya ke pemakai. Atau CGI adalah sistim program untuk Web CGI ditulis dalam bahasa program Perl Practical Extraction and Report Language, dan merupakan himpunan protocols (aturan) yang memungkinkan client web menjalankan program2 di Server Web dan memperoleh hasilnya.
Interface ini telah digunakan oleh WWW sejak 1993.- Bekerjanya CGI secara umum adalah seperti: client Web (pengguna) memasukan masukan data (bila dibutuhkan, beberapa program CGI tidak membutuhkan masukan, seperti contoh terdahulu), yang dikirim ke server berlandaskan beberapa protocol. Server menampung masukan, lalu menyalurkannya ke program CGI. Kemudian program CGI dijalankan (mis: mengirim e-mail atau menjalankan program pelacak (search).
Gambaran tentang bagaimana konsep kerja CGI adalah:

 


Gambar 1.

A.    Arduino

Arduino adalah kit elektronik atau papan rangkaian elektronik open source yang di dalamnya terdapat komponen utama yaitu sebuah chip mikrokontroler dengan jenis AVR dari perusahaan Atmel.
Mikrokontroler itu sendiri adalah chip atau IC (integrated circuit) yang bisa diprogram menggunakan komputer. Tujuan menanamkan program pada mikrokontroler adalah agar rangkaian elektronik dapat membaca input, memproses input tersebut dan kemudian menghasilkan output sesuai yang diinginkan. Jadi mikrokontroler bertugas sebagai ‘otak’ yang mengendalikan input, proses dan output sebuah rangkaian elektronik.
Mikrokontroler ada pada perangkat elektronik di sekeliling kita. Misalnya handphone, MP3 player, DVD, televisi, AC, dll. Mikrokontroler juga dipakai untuk keperluan mengendalikan robot. Baik robot mainan, maupun robot industri. Karena komponen utama Arduino adalah mikrokontroler, maka Arduino pun dapat diprogram menggunakan komputer sesuai kebutuhan kita.
Kegunaan Arduino tergantung kepada kita yang membuat program. Arduino bisa digunakan untuk mengontrol LED, bisa juga digunakan untuk mengontrol helikopter. Contoh yang sudah pernah dibuat adalah MP3 player, pengontrol motor, mesin CNC, monitor kelembaban tanah, pengukur jarak, penggerak servo, balon udara, pengontrol suhu, monitor energi, statiun cuaca, pembaca RFID, drum elektronik, GPS logger, monitoring bensin dan masih banyak lagi. Silahkan buka Google, Youtube atau lihat di http://www.freeduino.org
Kelebihan Arduino
  • Tidak perlu perangkat chip programmer karena di dalamnya sudah ada bootloader yang akan menangani upload program dari komputer.
  • Sudah memiliki sarana komunikasi USB, sehingga pengguna Laptop yang tidak memiliki port serial/RS323 bisa menggunakan nya.
  • Bahasa pemrograman relatif mudah karena software Arduino dilengkapi dengan kumpulan library yang cukup lengkap.
  • Memiliki modul siap pakai (shield) yang bisa ditancapkan pada board Arduino. Misalnya shield GPS, Ethernet, SD Card, dll.

Bahasa Pemrograman Arduino Bahasa pemrograman Arduino adalah bahasa C. Tetapi bahasa ini sudah dipermudah menggunakan fungsi-fungsi yang sederhana sehingga pemula pun bisa mempelajarinya dengan cukup mudah.
B.     Penjelasan Singkat dalam pembuatan Simolator Lampu
Langkah awal dalam membuat projek dan estensi.cgi kita dapat menggunakan bahasa pemograman c/c++ dari microsoft visual studio, dengan mengetik score coding sebagai berikut.
#using <System.dll>
#include <iostream>
#include <stdlib.h>
#include <fstream>
#include <conio.h>
#include <string>

using namespace System;
using namespace System::IO::Ports;
using namespace std;

int main(){
      char *data;
      int a,b,c,d,e;

      cout<<"Content-Type:b text/html"<<endl<<endl;
      cout<<"<title>Loding</title>"<<endl;
      //cout<<"<h3>Loding</h3>"<<endl;

      data = getenv("QUERY_STRING");


      if(data==NULL)
      {
            cout <<"<p>Kesalahan pada pengiriman data<p>"<<endl;
      }
      else if (sscanf (data,"a=%ld & b=%ld & c=%ld & d=%ld & e=%ld",&a,&b,&c,&d,&e) !=5)
      {
            cout <<"<p> Data salah, masukkan data numerik</p> "<<endl;
      }
      else
      {

      if (a==1){
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("c");
    mySerialPort->Close();
      }else{
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("d");
    mySerialPort->Close();
      }

      if (b==1){
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("e");
    mySerialPort->Close();
      }else{
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("f");
    mySerialPort->Close();
      }
     
      if (c==1){
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("g");
    mySerialPort->Close();
      }else{
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("h");
    mySerialPort->Close();
      }
      if (d==1){
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("a");
    mySerialPort->Close();
      }else{
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("b");
    mySerialPort->Close();
      }
      if (e==1){
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("i");
    mySerialPort->Close();
      }else{
      SerialPort^ mySerialPort = gcnew SerialPort("COM1");

    mySerialPort->BaudRate = 9600;
    mySerialPort->Parity = Parity::None;
    mySerialPort->StopBits = StopBits::One;
    mySerialPort->DataBits = 8;
    mySerialPort->Handshake = Handshake::None;

    mySerialPort->Open();
      mySerialPort->Write("j");
    mySerialPort->Close();
      }
      cout<<"<meta http-equiv='refresh' content='2; url=http://192.168.1.2/lampu.php?a=" <<a<< "&b=" <<b<< "&c=" <<c<< "&d=" <<d<< "&e=" <<e<<"/'>"<<endl;
      return 0;}
}
            Setelah score coding telah selesai di ketik, langkah selanjutnya, lakukan pengcompilan atau program di run... lalu pada bagian projek file kita rubah file exe menjadi cgi. Kemudian filenya di copy kedalam folder cgi di program file micrsosft.



 


Gambar 2. Sketch Arduino 0022



int led1 = 11;
int led2 = 12;
int led3 = 13;
void setup(){
  pinMode(led1,OUTPUT);
  pinMode(led2,OUTPUT);
  pinMode(led3,OUTPUT);
  Serial.begin(9600);
} 
void loop(){
  int data = Serial.read();
 
  if (data=='a'){
    digitalWrite(led1,HIGH);
  }else if(data=='s'){
    digitalWrite(led1,LOW);
  }else if(data=='d'){
    digitalWrite(led2,HIGH);
  }else if(data=='f'){
    digitalWrite(led2,LOW);
  }else if(data=='g'){
    digitalWrite(led3,HIGH);
  }else if(data=='h'){
    digitalWrite(led3,LOW);
  }
}


1.      Tampilan Web CGI pertama kali dijalankan, dengan menggunakan aplikasi web browser mozila ferifok, selanjutnya mamasukan alamat ip address 192.168.1.2/lampu. 
 
 

 
 
  
  
  
  
  
  
  
  
  
  
  
  
 
 
  
Gambar. Awal Web CGI dijalankan
 
 
 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>CGI</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
<!--
body {
        background-image: url(gambar1.jpg);
}
.style1 {
        color: #FFFFFF;
        font-weight: bold;
        font-size: 14px;
}
-->
</style></head>
<body>
 
<div align="center" id="x"> Lamp Controller</div>
 
<a href="proses.php?a=0&b=0&c=0"></a>
<div id="tombol">
  <div align="left">
    <p align="center"><a href="proses.php?a=0&b=0&c=0"><img src="image.jpg" alt="" width="98" height="98"></a></p>
  </div>
</div>
<p><a href="proses.php?a=0&b=0&c=0"></a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p class="style1">Created By : Kelompok CGI &gt;&gt;&gt; Tengku Musri &gt;&gt; Syahrizan &gt;&gt; Sukarno </p>
</body>
</html>


Gambar. Main menu Web CGI 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>CGI</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
<!--
body {
        background-image: url(Led%20Berjalan.JPG);
}
-->
</style></head>
<body>
 
<div align="center" id="x"><blink> Lamp Controller is Ready</blink></div>
<div id="wrapper">
 
 
<div id="row">
<div id="row_2">
        <a href="http://192.168.1.2/cgi-bin/control_lampu.cgi?a=1&b=0&c=0"><div id="merah_off"></div></a>
</div>
</div>
 
<div id="row">
<div id="row_2">
        <a href="http://192.168.1.2/cgi-bin/control_lampu.cgi?a=0&b=1&c=0"><div id="kuning_off"></div></a>
</div>
</div>
 
<div id="row">
<div id="row_2">
        <a href="http://192.168.1.2/cgi-bin/control_lampu.cgi?a=0&b=0&c=1"><div id="hijau_off"></div></a>
</div>
</div>
</div>
</body>
</html>
 



Gambar. Main menu Web CGI 

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>CGI</title>
<link rel="stylesheet" type="text/css" href="style.css" />
<style type="text/css">
<!--
body {
        background-image: url(Led%20Berjalan.JPG);
}
-->
</style></head>
<body>
 
<div align="center" id="x"><blink> Lamp Controller is Ready</blink></div>
<div id="wrapper">
 
 
<div id="row">
<div id="row_2">
        <a href="http://192.168.1.2/cgi-bin/control_lampu.cgi?a=1&b=0&c=0"><div id="merah_off"></div></a>
</div>
</div>
 
<div id="row">
<div id="row_2">
        <a href="http://192.168.1.2/cgi-bin/control_lampu.cgi?a=0&b=1&c=0"><div id="kuning_off"></div></a>
</div>
</div>
 
<div id="row">
<div id="row_2">
        <a href="http://192.168.1.2/cgi-bin/control_lampu.cgi?a=0&b=0&c=1"><div id="hijau_off"></div></a>
</div>
</div>
</div>
</body>
</html>