De acuerdo, algunos cambios menores podrían ayudar
public function post(){
if($this->_validation()===FALSE){
$this->session->set_flashdata('error', 'Ooops, there was an error');
redirect(base_url("admin/product"));
}else{
$files = $_FILES;
$images = array();
$cpt = count($_FILES['userfile']['name']);
for($i=0; $i<$cpt; $i++){
$_FILES['userfile']['name']= $files['userfile']['name'][$i];
$_FILES['userfile']['type']= $files['userfile']['type'][$i];
$_FILES['userfile']['tmp_name']= $files['userfile']['tmp_name'][$i];
$_FILES['userfile']['error']= $files['userfile']['error'][$i];
$_FILES['userfile']['size']= $files['userfile']['size'][$i];
$this->upload->initialize($this->set_upload_options());
$this->upload->do_upload();
$images[] = $_FILES['userfile']['name'];
}
$fileName = implode(',',$images);
$data = array( 'kodeProduk' => $this->input->post('kodeproduk'),
'ket' => $this->input->post('ket'),
'GambarBesar' => $fileName
);
unset($data['submit']);
$this->table->add_record($data);
$this->session->set_flashdata('success', 'Product has been saved.');
redirect(base_url("admin/product"));
}
}