CREATE TABLE tugas (
    id INT AUTO_INCREMENT PRIMARY KEY,
    judul VARCHAR(255),
    deskripsi TEXT,
    deadline DATE,
    id_kelas INT
);

CREATE TABLE pengumpulan (
    id INT AUTO_INCREMENT PRIMARY KEY,
    id_tugas INT,
    id_siswa INT,
    file VARCHAR(255),
    tanggal_upload DATETIME
);
class Tugas extends CI_Controller {

    public function upload($id_tugas) {
        $config['upload_path']   = './uploads/';
        $config['allowed_types'] = 'pdf|doc|docx|zip';
        $config['max_size']      = 2048;

        $this->load->library('upload', $config);

        if (!$this->upload->do_upload('file')) {
            echo $this->upload->display_errors();
        } else {
            $data = $this->upload->data();

            $this->db->insert('pengumpulan', [
                'id_tugas' => $id_tugas,
                'id_siswa' => $this->session->userdata('id'),
                'file' => $data['file_name'],
                'tanggal_upload' => date('Y-m-d H:i:s')
            ]);

            redirect('tugas');
        }
    }
}
<form method="post">
    <input type="number" name="nilai" placeholder="Nilai" required>
    <textarea name="komentar" placeholder="Komentar"></textarea>
    <button type="submit">Simpan</button>
</form>
<form method="post">
    <input type="number" name="nilai" placeholder="Nilai" required>
    <textarea name="komentar" placeholder="Komentar"></textarea>
    <button type="submit">Simpan</button>
</form>
$this->db->where('id_siswa', $this->session->userdata('id'));
$data['nilai'] = $this->db->get('pengumpulan')->result();/uploads/if ($_FILES['file']['size'] > 2000000) {
    echo "File terlalu besar!";
}