METODOLOGI PENELITIAN
ANALISIS DAN PERANCANGAN SISTEM
2. Tabel Estimasi Kebutuhan Simpanan Data Dalam Jangka Waktu 3 Tahun
4.12 Rancangan Antar Muka
4.4.2. Pengujian Sistem
Pada tahap ini dilakukan pengujian terhadap sistem informasi pencatatan pembelian barang PT. Bank ANZ Indonesia.Pengujian yang dilakukan adalah pengujian external (Blackbox Testing).Blackbox Testing yaitu melakukan pengujian terhadap aplikasi dengan cara memeriksa satu persatu link yang ada dengan menggunakan tabel pengujian, apakah link tersebut sudah sesuai seperti yang diharapkan atau belum.
Pengujian proses pemesanan program umroh
Black box testing pada proses Administrasi pembelian barang aktor yang terlibat adalah Staff PCO, dan managerPCO:
1. Pengujian Proses Staff PCO a. File master
Pengujian form entry data Barang
Actor Staff PCO
- Please Enter Required Field
Kesesuaian Sistem - Your data has been successfully stored into the database.
Hasil Warning Sesuai
Accept Sesuai
Keterangan Tanda peringatan kesalahan dapat
menyesuaikan pada form yang belum diisi.
2.Pengujian Laporan Pembelian Barang b. File Laporan
Pengujian view Laporan pembelian
Actor Staff PCO
Menu laporan
Sub Menu Laporan Pembelian
Aktivitas rancangan proses a. Klik menu laporan sub menu laporan pembelian
b. Klik tanggal / bulan ( untuk melihat laporan per tanggal / per bulan )
c. Klik tahun ( untuk melihat laporan per
Kesesuaian Sistem - Berhasil menmpilkan laporan Pembelian
Hasil Warning Sesuai
Accept Sesuai
Keterangan ok
b. Laporan Pemesanan Barang Pengujian view Laporan pembelian
Actor Staff PCO
Menu laporan
Sub Menu Laporan Pemesanan
Aktivitas rancangan proses a. Klik menu laporan sub menu laporan pemesanan
b. Klik tanggal / bulan ( untuk melihat laporan per tanggal / per bulan )
c. Klik tahun ( untuk melihat laporan per
Kesesuaian Sistem - Berhasil menmpilkan laporan Pemesanan
Hasil Warning Sesuai
Accept Sesuai
Keterangan ok
c. Laporan Retur Barang Pengujian view Laporan pembelian
Actor Staff PCO & Manager PCO
Menu laporan
Sub Menu Laporan Retur
Aktivitas rancangan proses a. Klik menu laporan sub menu laporan Retur
b. Klik tanggal / bulan ( untuk melihat laporan per tanggal / per bulan )
c. Klik tahun ( untuk melihat laporan per
Kesesuaian Sistem - Berhasil menmpilkan laporan Retur
Hasil Warning Sesuai
Accept Sesuai
Keterangan ok
134 BAB V PENUTUP
5.1 Kesimpulan
Berdasarkan uraian dan pembahasan bab-bab sebelumnya maka dapat disimpulkan bahwa :
1. Penyimpanan data ke dalam database yang terkomputerisasi secara optimal dan terintegrasi sehingga dapat membantu perusahaan dalam proses penyimpanan sehingga tidak boros kertas serta rentan akan kehilangan serta kerusakan data baik itu data pemesanan.
2. Waktu yang cepat dalam proses perekapan data pemesanan karena sistem telah terintegrasi antara fungsi-fungsi tersebut.
5.2 Saran
Beberapa saran yang peneliti sampaikan dalam perancangan sistem informasi pemesanan barang, yaitu :
1. Perlu adanya pengembangan dalam sistem informasi pencatatan pembelian barang hingga sistem informasi pembelian barang.
2. Perlu ditambahkan sistem online untuk berhubungan langsung dengan supplier.
Betha, Sidik 2005. MySQL untuk Pengguna Administrator dan Pengembangan Aplikasi Web. Bandung: Informatika.
Dennis, Alan., Wixom, Barbara Haley., Tegarden, David. (2005). System Analysis and Design With UML Version 2.0 : An Object-Oriented Approach 2nd Edition. United States: John Wiley & Sons.
Kadir, Abdul 2003. Pengenalan Sistem Informasi. Andi, Yogyakarta.
Ladjamudin, bin Al Bahra. 2005. Analisi Dan Desain Sistem Informasi (Edisi Pertama). Yogyakarta : Graha Ilmu.
Laudon, Kennetch C & Laudon, Jane P. 2004. Management Information System.
(8t edition). New Jersey: Prentice Hall.
McLeod, Raymond, Jr & Schell, Goerge. 2008. Sistem Informasi Manajemen.
(Edisi10 Terjemahan Ali Akbar Yulianto). Jakarta: Salemba Empat.
McLeod, Raymond, (2004), Sistem Informasi Manajemen, jilid 1. PT.
Prenhallindo, Jakarta.
Mathiassen, Lars., Munk-Madsen, Andreas., Nielsen, Peter A., Stage, Jen,. 2000.
Object Oriented Analysisi & Design. Denmark: Forlaget Marko.
Munawar. 2005. Pemodelan Visual dengan UML. Yogyakarta: Graha Ilmu.
Nugroho Bunafit, 2008, Latihan Membuat Aplikasi Web PHP dan Mysql dengan Dreamwaver, Gaya Media, Yogyakarta
Nickerson, Robert C. 2001. Business and Information Systems. International Edition. 2nd edition. Prentice-Hall.
Pressman, Roger S. 2002. Rekayasa Perangkat Lunak: Pendekatan Praktis. (Buku 1 Edisi 2 Terjemahan: LN Harningrum). Yogyakarta: Andi.
Phillips, Paul. 2003. E-business Strategy : Text and Case. McGraw – Hill Education, New York
Peak, P. and N. Heudecker 2006, Hibernate Quickly, Manning Publication Co.
Rizky, Soetam. 2011. Konsep Dasar Rekayasa Perangkat Lunak. Jakarta: Prestasi Pustaka.
Turban, Efraim, Lee, King, dan Chung. (2002). Electronic Commerce 2002: A Managerial Perspective. Pearson Education Inc., Upper Saddle River, New Jersey.
LAMPIRAN I
(WAWANCARA)
Jabatan : Leader Staff PCO
Penanya : Muhammad Audri Al Kaisar Tanggal : 12 Juni 2013
Tema : Profil PT. Bank ANZ Indonesia
Tujuan : Mengetahui tentang sejarah berdirinya PT. Bank ANZ Indonesia
Poin Utama Wawancara :
1. Bagaimana profil PT Bank ANZ Indonesia ?
2. Bagaimana struktur organisasi PT Bank ANZ Indonesia?
3. Bagaimana alur proses Pembelian Barang yang saat ini berjalan pada PT Bank ANZ Indonesia
Hasil Wawancara :
Dari hasil wawancara ini, dapat diketahui tentang gambaran umum, visi misi, struktur organisasi, galeri dan kontak pada PT. Bank ANZ Indonesia Dengan diketahuinya gambaran umum, visi misi, struktur organisasi tersebut memudahkan peneliti dalam mempelajari alur dokumen yang ada pada PT. Bank ANZ Indonesia
Tempat : PT Bank ANZ Indonesia
Waktu : Juni 2013
Berdasarkan observasi yang penulis lakukan, penulis mengumpulkan informasi mengenai :
1. Sejarah singkat, visi misi, struktur organisasi.
2. Alur sistem proses Pembelian Barang yang berjalan di PT Bank NZ Indonesia
Penanya : Muhammad Audri Al Kaisar Tanggal : 20 Juni 2013
Tema : Proses Pembelian Barang PT Bank ANZ Indonesia
Tujuan : Mengetahui tentang alur proses pemesanan hingga penyampaian pelaporan dalam informasi pemesnaan program umroh.
1. Apakah PT. Bank ANZ Indonesia memiliki sistem informasi Pembelian Barang berbasis komputer?
Hasil Wawancara:
Belum ada, sejauh ini apabila ada Pemesanan dan transaksi Pembelian barang dilakukan secara manual.
2. Bagaimana dengan dokumentasi data dan disimpan dimana dokumen tersebut?
Hasil Wawancara :
Untuk data yang berbentuk kertas dikumpulkan menjadi satu binder dan disimpan di lemari penyimpanan dan untuk softcopy disimpan di computer dalam bentuk Ms-Word dan Ms-Excel.
LAMPIRAN II
( SURAT)
LAMPILAN III
(CODING)
class Admin extends CI_Controller {
public function __construct() {
parent::__construct();
$this->load->database();
$this->load->helper('url');
$this->load->library('grocery_CRUD');
if(!$this->session->userdata('ID_USER')){header('location:'.base_url());}
}
public function _general_output($output = null) {
$this->load->view('admin/general_crud.php',$output);
}
public function data_barang(){
$crud = new grocery_CRUD();
$crud->set_theme('dataTables');
$crud->set_table('data_barang');
$crud->display_as('data_barang');
$crud->set_subject('Entry Data Barang');
$crud->required_fields('kode_barang');
$output = $crud->render();
$this->_general_output($output);
$crud->set_theme('dataTables');
$crud->set_table('supplier');
$crud->display_as('supplier');
$crud->set_subject('Entry Data Supplier');
$crud->required_fields('kode_supplier');
$output = $crud->render();
$this->_general_output($output);
}
public function pegawai(){
$crud = new grocery_CRUD();
$crud->set_theme('dataTables');
$crud->set_table('pegawai');
$crud->display_as('pegawai');
$crud->set_subject('Entry Data Pegawai');
$crud->required_fields('kode_pegawai');
$output = $crud->render();
$this->_general_output($output);
}
public function entry_surat_pesanan(){
$crud = new grocery_CRUD();
$crud->set_theme('dataTables');
$crud->set_table('entry_surat_pesanan');
->display_as('id_barang','Nama Barang');
$crud->set_relation('id_pegawai','pegawai','nama_pegawai');
$crud->set_relation('id_supplier','supplier','nama_supplier');
$crud->set_relation('id_barang','data_barang','nama_barang');
$output = $crud->render();
$this->_general_output($output);
}
public function entry_retur(){
$crud = new grocery_CRUD();
$crud->set_theme('dataTables');
$crud->set_table('entry_retur');
$crud->display_as('Entry Retur');
$crud->set_subject('Entry Retur');
$crud->display_as('id_barang','Nama Barang')
->display_as('id_entry_tanda_terima','No TTB');
$crud->set_relation('id_barang','data_barang','nama_barang');
$crud->set_relation('id_entry_tanda_terima','entry_tanda_terima_barang','nomor_ttb');
$output = $crud->render();
$this->_general_output($output);
}
public function entry_bukti_bayar(){
$crud = new grocery_CRUD();
$crud->display_as('id_entry_tanda_terima','No TTB');
$crud->set_relation('id_entry_tanda_terima','entry_tanda_terima_barang','nomor_ttb');
$output = $crud->render();
$this->_general_output($output);
}
public function entry_tanda_terima_barang(){
$crud = new grocery_CRUD();
$crud->set_theme('dataTables');
$crud->set_table('entry_tanda_terima_barang');
$crud->display_as('entry_tanda_terima_barang');
$crud->set_subject('Entry Tanda Terima Barang');
$crud->display_as('id_surat_pesanan','No SP') ->display_as('nomor_ttb','Nomor TTB') ->display_as('no_ref_sj','No Ref SJ')
->display_as('tanggal_ref_sj','Tanggal Ref SJ') ->display_as('no_ref_kwitansi','No Ref Kwitansi') ->display_as('tanggal_kwitansi','Tanggal Kwitansi');
$crud->set_relation('id_surat_pesanan','entry_surat_pesanan','nomor_sp');
$output = $crud->render();
$this->_general_output($output);
}
function cari_laporan_pemesanan(){
}
GENERAL_MODUL
<?php
class general_Model extends CI_Model {
function __construct() {
parent::__construct();
$this->load->database();
}
public function get_data_ref($table){
$this->db->select('*');
$this->db->from($table);
$this->db->where('active','Yes');
return $this->db->get();
}
public function get_data_select($table,$where=false,$limit=false){
$this->db->select('*');
$this->db->from($table);
if($where!=false){
}
$this->db->where($id_primary, $id);
$this->db->update($table, $data);
return TRUE;
}
* PHP grocery CRUD notify anyone which license you are using.
* Please see the corresponding license file for details of these licenses.
* You are free to use, modify and distribute this software, but all copyright information must remain.
*
* @package grocery CRUD
* @copyright Copyright (c) 2010 through 2012, John Skoumbourdis
* @license https://github.com/scoumbourdis/grocery-crud/blob/master/license-grocery-crud.txt * @version 1.2
* @author John Skoumbourdis <[email protected]>
*/
* @author John Skoumbourdis <[email protected]>
* @version 1.2
* @link http://www.grocerycrud.com/documentation */
class grocery_CRUD_Model extends CI_Model {
protected $primary_key = null;
protected $table_name = null;
function __construct() {
parent::__construct();
}
function db_table_exists($table_name = null) {
return $this->db->table_exists($table_name);
}
foreach($this->relation as $relation)
{
list($field_name , $related_table , $related_field_title) = $relation;
$unique_join_name = $this->_unique_join_name($field_name);
$unique_field_name = $this->_unique_field_name($field_name);
if(strstr($related_field_title,'{')) {
$related_field_title = str_replace("
"," ",$related_field_title);
$select .= ",
CONCAT('".str_replace(array('{','}'),array("',COALESCE({$unique_join_name}.",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $unique_field_name";
$unique_field_name";
}
if($this->field_exists($related_field_title))
$select .= ", `{$this->table_name}`.$related_field_title AS
'{$this->table_name}.$related_field_title'";
}
}
//set_relation_n_n special queries. We prefer sub queries from a simple join for the relation_n_n as it is faster and more stable on big tables.
if(!empty($this->relation_n_n)) {
$select = $this->relation_n_n_queries($select);
}
$this->db->select($select, false);
$results = $this->db->get($this->table_name)->result();
return $results;
}
public function get_row($table_name = null) {
$table_name = $table_name === null ? $this->table_name : $table_name;
return $this->db->get($table_name)->row();
}
public function set_primary_key($field_name, $table_name = null) {
$table_name = $table_name === null ? $this->table_name : $table_name;
protected function relation_n_n_queries($select) {
$this_table_primary_key = $this->get_primary_key();
foreach($this->relation_n_n as $relation_n_n) {
list($field_name, $relation_table, $selection_table, $primary_key_alias_to_this_table,
$primary_key_alias_to_selection_table,
$title_field_selection_table, $priority_field_relation_table) = array_values((array)$relation_n_n);
$primary_key_selection_table = $this->get_primary_key($selection_table);
$field = "";
$use_template = strpos($title_field_selection_table,'{') !== false;
$field_name_hash = $this->_unique_field_name($title_field_selection_table);
if($use_template) {
$title_field_selection_table = str_replace(" ", " ",
$title_field_selection_table);
$field .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$title_field_selection_table))."')";
} else {
$field .= "$selection_table.$title_field_selection_table";
}
return $select;
}
function order_by($order_by , $direction) {
function or_having($key, $value = NULL, $escape = TRUE) {
$this->db->or_having( $key, $value, $escape);
}
function like($field, $match = '', $side = 'both') {
$this->db->like($field, $match, $side);
}
}
function limit($value, $offset = '') {
$this->db->limit( $value , $offset );
}
function get_total_results() {
//set_relation_n_n special queries. We prefer sub queries from a simple join for the relation_n_n as it is faster and more stable on big tables.
if(!empty($this->relation_n_n)) {
$select = "{$this->table_name}.*";
$select = $this->relation_n_n_queries($select);
$this->db->select($select,false);
return $this->db->get($this->table_name)->num_rows();
}
return $this->db->count_all_results($this->table_name);
}
function set_basic_table($table_name = null) {
if( !($this->db->table_exists($table_name)) )
return false;
$this->table_name = $table_name;
return true;
$primary_key_field = $this->get_primary_key();
$this->db->where($primary_key_field,$primary_key_value);
$result = $this->db->get($this->table_name)->row();
return $result;
}
function join_relation($field_name , $related_table , $related_field_title) {
$related_primary_key = $this->get_primary_key($related_table);
if($related_primary_key !== false) {
$unique_name = $this->_unique_join_name($field_name);
$this->db->join( $related_table.' as '.$unique_name ,
"$unique_name.$related_primary_key = {$this->table_name}.$field_name",'left');
$this->relation[$field_name] = array($field_name , $related_table ,
$related_field_title);
return true;
}
return false;
}
function set_relation_n_n_field($field_info) {
$this->relation_n_n[$field_info->field_name] = $field_info;
}
protected function _unique_join_name($field_name) {
protected function _unique_field_name($field_name) {
return 's'.substr(md5($field_name),0,8); //This s is because is better for a string to begin with a letter and not with a number
}
function get_relation_array($field_name , $related_table , $related_field_title, $where_clause,
$order_by, $limit = null, $search_like = null) {
$relation_array = array();
$field_name_hash = $this->_unique_field_name($field_name);
$related_primary_key = $this->get_primary_key($related_table);
$select = "$related_table.$related_primary_key, ";
if(strstr($related_field_title,'{')) {
$related_field_title = str_replace(" ", " ", $related_field_title);
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
} else {
$select .= "$related_table.$related_field_title as $field_name_hash";
}
$this->db->select($select,false);
if($where_clause !== null)
$this->db->where($where_clause);
if($where_clause !== null)
$this->db->where($where_clause);
if($search_like !== null)
$this->db->having("$field_name_hash LIKE
'%".$this->db->escape_like_str($search_like)."%'");
$order_by !== null
? $this->db->order_by($order_by)
: $this->db->order_by($field_name_hash);
$results = $this->db->get($related_table)->result();
foreach($results as $row) {
$relation_array[$row->$related_primary_key] = $row->$field_name_hash;
}
return $relation_array;
}
function get_ajax_relation_array($search, $field_name , $related_table , $related_field_title,
$where_clause, $order_by) {
return $this->get_relation_array($field_name , $related_table , $related_field_title,
$where_clause, $order_by, 10 , $search);
}
function get_relation_total_rows($field_name , $related_table , $related_field_title, $where_clause) {
if($where_clause !== null)
$this->db->where($where_clause);
return $this->db->count_all_results($related_table);
}
$use_template = strpos($related_field_title,'{') !== false;;
$field_name_hash = $this->_unique_field_name($related_field_title);
if($use_template) {
$related_field_title = str_replace(" ", " ", $related_field_title);
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
} else {
$select .= "$related_field_title as $field_name_hash";
}
$this->db->select('*, '.$select,false);
$selection_primary_key = $this->get_primary_key($field_info->selection_table);
if(empty($field_info->priority_field_relation_table)) {
if(!$use_template){
$this->db->order_by("{$field_info->selection_table}.{$field_info->title_field_selection_table}");
}
} else {
$this->db->order_by("{$field_info->relation_table}.{$field_info->priority_field_relation_table}");
}
$this->db->where($field_info->primary_key_alias_to_this_table, $primary_key_value);
$this->db->join(
$field_info->selection_table,
"{$field_info->relation_table}.{$field_info->primary_key_alias_to_selection_table} = {$field_info->selection_table}.{$selection_primary_key}"
foreach($results as $row) {
$results_array[>{$field_info->primary_key_alias_to_selection_table}] =
$row->{$field_name_hash};
}
return $results_array;
}
function get_relation_n_n_unselected_array($field_info, $selected_values) {
$use_where_clause = !empty($field_info->where_clause);
$select = "";
$related_field_title = $field_info->title_field_selection_table;
$use_template = strpos($related_field_title,'{') !== false;
$field_name_hash = $this->_unique_field_name($related_field_title);
if($use_template) {
$related_field_title = str_replace(" ", " ", $related_field_title);
$select .= "CONCAT('".str_replace(array('{','}'),array("',COALESCE(",", ''),'"),str_replace("'","\\'",$related_field_title))."') as $field_name_hash";
} else {
$select .= "$related_field_title as $field_name_hash";
}
$this->db->select('*, '.$select,false);
if($use_where_clause){
$this->db->where($field_info->where_clause);
}
>title_field_selection_table}");
$results = $this->db->get($field_info->selection_table)->result();
$results_array = array();
foreach($results as $row) {
if(!isset($selected_values[$row->$selection_primary_key]))
$results_array[$row->$selection_primary_key] = $row->{$field_name_hash};
}
return $results_array;
}
function db_relation_n_n_update($field_info, $post_data ,$main_primary_key) {
$this->db->where($field_info->primary_key_alias_to_this_table, $main_primary_key);
if(!empty($post_data))
$this->db->where_not_in($field_info->primary_key_alias_to_selection_table ,
$post_data);
$this->db->delete($field_info->relation_table);
$counter = 0;
if(!empty($post_data)) {
foreach($post_data as $primary_key_value) {
$where_array = array(
$field_info->primary_key_alias_to_this_table =>
$main_primary_key,
$field_info->primary_key_alias_to_selection_table =>
$primary_key_value,
);
if($count == 0)
}elseif($count >= 1 &&
!empty($field_info->priority_field_relation_table)) {
$this->db->update( $field_info->relation_table, array($field_info->priority_field_relation_table => $counter) , $where_array);
}
$counter++;
} }
}
function db_relation_n_n_delete($field_info, $main_primary_key) {
$this->db->where($field_info->primary_key_alias_to_this_table, $main_primary_key);
$this->db->delete($field_info->relation_table);
}
function get_field_types_basic_table() {
$db_field_types = array();
foreach($this->db->query("SHOW COLUMNS FROM `{$this->table_name}`")->result() as
$db_field_type) {
{
$db_field_types[$db_field_type->Field]['db_max_length'] = $length;
$db_field_types[$db_field_type->Field]['db_type'] = $db_type;
$db_field_types[$db_field_type->Field]['db_null'] = $db_field_type->Null == 'YES'
? true : false;
$db_field_types[$db_field_type->Field]['db_extra'] = $db_field_type->Extra;
}
$results = $this->db->field_data($this->table_name);
foreach($results as $num => $row) {
$row = (array)$row;
$results[$num] = (object)( array_merge($row, $db_field_types[$row['name']]) );
}
return $results;
}
function get_field_types($table_name)
}
function db_update($post_array, $primary_key_value) {
$primary_key_field = $this->get_primary_key();
return $this->db->update($this->table_name,$post_array, array( $primary_key_field =>
$primary_key_value));
}
function db_insert($post_array) {
$insert = $this->db->insert($this->table_name,$post_array);
if($insert)
function db_delete($primary_key_value) {
$primary_key_field = $this->get_primary_key();
if($primary_key_field === false)
return false;
$this->db->limit(1);
$this->db->delete($this->table_name,array( $primary_key_field => $primary_key_value));
if( $this->db->affected_rows() != 1)
return false;
else
return true;
}
$filename)) )
function field_exists($field,$table_name = null) {
if(empty($table_name)) {
$table_name = $this->table_name;
}
return $this->db->field_exists($field,$table_name);
}
function get_primary_key($table_name = null) {
if($table_name == null) {
if(isset($this->primary_keys[$this->table_name]))
{
return $this->primary_keys[$this->table_name];
}
if(empty($this->primary_key)) {
$fields = $this->get_field_types_basic_table();
foreach($fields as $field)
}
if(isset($this->primary_keys[$table_name]))
{
return $this->primary_keys[$table_name];
}
$fields = $this->get_field_types($table_name);
foreach($fields as $field)
function escape_str($value) {
return $this->db->escape_str($value);
}
}