• Tidak ada hasil yang ditemukan

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("

","&nbsp;",$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(" ", "&nbsp;",

$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(" ", "&nbsp;", $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(" ", "&nbsp;", $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(" ", "&nbsp;", $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);

}

}

Dokumen terkait