The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by lien, 2021-10-31 03:22:49

Dokumentasi Fasa 5

Dokumentasi Fasa 5

LAPORAN PROJEK
SAINS KOMPUTER

TAJUK : SELF E-LEARNING SYSTEM

NAMA CALON : OOI LI EN

NOMBOR KP : 040725-02-0794

ANGKA GILIRAN : KJ111A098

SMK DATO’ BIJAYA SETIA

ALAMAT SEKOLAH :

NAMA GURU CG. SUNITA BT MAYDIN

:

TANDATANGAN GURU:

TARIKH 30 OKTOBER 2021

:

PROJEK SAINS KOMPUTER

SIJIL PELAJARAN MALAYSIA - BORANG PERAKUAN CALON

Borang ini mestilah ditandatangani oleh calon dan guru atau pentaksir yang mentaksir projek calon, dan
dilampirkan bersama dengan laporan projek yang dihantar kepada guru atau pentaksir. Kegagalan calon
menandatangani borang perakuan ini akan menyebabkan calon tidak diberikan sebarang markah untuk
projek yang dihasilkan.

Nama Calon OOI LI EN
No. Kad Pengenalan Calon 040725-02-0794
Angka Giliran Calon KJ111A098
Nombor Pusat Calon KJ111

Makluman kepada calon:
Projek yang dihantar untuk dinilai mestilah merupakan hasil kerja calon sendiri. Projek calon boleh
dibatalkan sekiranya calon didapati meniru projek calon lain atau membenarkan calon lain untuk meniru
projek yang dihasilkan oleh calon sendiri, atau calon didapati menipu dalam apa cara sekalipun bagi
menghasilkan projek tersebut. Calon perlu berintegriti dan jujur, mengamalkan kesamarataan, adil dan
menghormati maruah individu, kumpulan dan komuniti. Calon akan bertanggungjawab atas tindakan
serta keputusan yang diambil.

Perakuan Keaslian Kerja Kursus Calon:
Saya telah mengaku projek membaca dan memahami makluman di atas. Saya telah menghasilkan projek
Sains Komputer tanpa bantuan daripada mana-mana pihak, kecuali dengan penerangan oleh pihak yang
dibenarkan, iaitu guru mata pelajaran Sains Komputer di sekolah (untuk sekolah kerajaan dan calon
sekolah bantuan kerajaan).

Tandatangan Calon 30 OKTOBER 2021
Tarikh

Perakuan oleh Guru atau Pentaksir:
Saya mengesahkan bahawa projek Sains Komputer telah dihasilkan mengikut spesifikasi yang telah
ditetapkan. Saya telah memeriksa projek calon dan saya berpuas hati bahawa sepanjang pengetahuan
saya, projek tersebut telah dihasilkan sendiri oleh calon.

Tandatangan Guru/Pentaksir CG. SUNITA BT MAYDIN
Nama Guru/Pentaksir 30 OKTOBER 2021
Tarikh SMK DATO’ BIJAYA SETIA
Alamat

PENGHARGAAN

Saya mengambil kesempatan ini untuk mengucapkan ribuan terima kasih kepada semua
pihak yang telah menolong dan memberi kerjasama yang tidak ternilai untuk saya menyiapkan
kerja kursus Sains Komputer ini.

Terlebih dahulu, saya bersyukur kepada Tuhan keran telah membantu saya menyiapkan
kerja kursus ini dalam tempoh yang telah ditetapkan. Saya juga ingin mengucapkan terima kasih
kepada guru Sains Komputer saya, Cikgu Sunita Bt Maydin. Beliau sentiasa memberi panduan,
bimbingan dan nasihat yang bermanfaat kepada saya semasa menjalankan kerja kursus ini.

Saya juga ingin mengucapkan terima kasih kepada ibu bapa saya yang telah memberikan
sokongan dan dorongan secara fizikal kepada saya. Rakan-rakan saya pun menolong saya dalam
menyiapkan tugasan ini serta membincangkan cara penyelesaian dengan saya. Jadi, saya ingin
mengucapkan terima kasih kepada mereka yang sudi menemani saya menyiapkan kerja kursus
ini.

Akhir sekali, saya mengucapkan terima kasih kepada semua pihak yang sedia menolong
saya dalam kerja kursus ini. Saya janji tidak akan lupa pertolongan yang telah diberikan selama
ini.

ISI KANDUNGAN MUKA SURAT
TAJUK
1
1.0 MENGANALAISIS MASALAH 1
1.1 Pernyataan Masalah 1
1.2 Objektif 2
1.3 Skop 2
1.4 Kumpulan Sasaran 3
1.5 Menilai Sistem Sedia Ada
1.6 Tempoh Projek 4
5
2.0 MEREKA BENTUK PENYELESAIAN 6-7
2.1 Algoritma 8-10
2.2 Gambar Rajah Perhubungan Entiti (ERD)
2.3 Pernormalan 11-13
2.4 Antara Muka Input 14-15
17-19
3.0 MELAKSANAKAN PENYELESAIAN 20-26
3.1 Jadual
3.2 Borang 27
3.3 Query 27
3.4 Laporan 28
3.5 Mengekod
28
4.0 MENGUJI DAN MENYAH RALAT 39
4.1 Ralat Sintaks 29-38
4.2 Ralat Logik
4.3 Ralat Masa Larian

5.0 MANUAL PENGGUNA
5.1 Dokumentasi Dalaman
5.2 Sumber Rujukan

6.4 MANUAL PENGGUNA

1.0 MENGANALISIS MASALAH
1.1 Pernyataan Masalah

Guru-guru Tingkatan 3 Sekolah Menengah Kebangsaan Dato’ Bijaya Setia
mengumpul koleksi pelbagai bentuk soalan untuk berbilang subjek dan mengurus
penilaian prestasi murid-murid secara manual yang melibatkan proses
pengumpulan data-data seperti set soalan, markah kuiz serta gred secara manual.
Koleksi soalan dan penilaian prestasi juga masih dilaksanakan secara manual. Ini
menyukarkan guru untuk mengesan kemajuan dan tahap penguasaan murid bagi
sesuatu topik untuk subjek pilihan dalam sesuatu tempoh yang ditetapkan.
Berkemungkinan akan berlaku keciciran dan kelewahan maklumat murid, markah
kuiz atau gred serta set soalan yang tidak dijawab.

Sistem pengurusan penilaian berasaskan web dapat mengatasi masalah untuk
mengumpul koleksi soalan secara digital dan membuat penilaian prestasi setiap
murid serta menjana laporan kemajuan murid dengan tersusun,cepat dan tepat.
Sistem ini membolehkan guru mata pelajaran untuk mengesan tahap pencapaian
murid terhadap subjek beliau dan memantau dengan mudah.

1.2 Objektif

● Dapat merekod dan mengumpul soalan mengikut topik bagi subjek Tingkatan 3.

● Dapat mengira jumlah skor jawapan yang betul bagi setiap set soalan/kuiz yang
di jawab oleh murid.

1.3 Skop

● Sistem ini dapat menganalisa penilaian prestasi setiap murid Tingkatan 3 bagi
pelbagai subjek.

● Sistem ini mempunyai koleksi soalan dalam pelbagai bentuk secara
berangkaian bagi topik-topik dalam subjek Tingkatan 3.

1

1.4 Kumpulan Sasaran

● Guru-guru subjek Tingkatan 3.
● Murid Tingkatan 3

1.5 Menilai Sistem Sedia Ada

Fungsi sistem sedia ada:
● Kekuatan:

Sistem sedia ada masih berfungsi dengan baik serta analisa maklumat prestasi
murid-murid Tingkatan 3 juga dapat dilaksanakan.
● Kelemahan:
Maklumat yang dikutip mungkin tidak tepat kerana disimpan secara manual dan
proses analisa maklumat menggunakan masa yang lama. Menjawab set-set soalan
secara manual boleh menyebabkan kertas set soalan hilang dan menjadi sukar
untuk semakan serta set-set tersebut menggunakan ruang simpanan yang banyak.
Laporan prestasi markah dan gred juga mengambil masa yang agak lama untuk
diberi kepada murid. Selain itu, laporan prestasi murid mungkin akan wujud
kesalahan gred dan markah yang silap.
● Justifikasi:
Sistem ini dihasilkan untuk memudahkan guru-guru Tingkatan 3 untuk mengurus
koleksi soalan dan memantau prestasi murid secara berangkaian. Guru-guru
Tingkatan 3 juga boleh mengetahui tahap penguasaan murid Tingkatan 3 terhadap
subjek dalam sesuatu tempoh.
● Nama sistem:
Self E-Learning System

2

1.6 Tempoh Projek

TINGKATAN 4

BULAN/ SEPT. OKT. 2020 NOV. DIS. 2020
PERKARA 2020 2020

MINGGU 12 34123412341234

1. Muat naik tema kerja
projek

2. Muat turun tema kerja
projek. Taklimat guru
kepada pelajar

3. Pelaksanaan kerja projek
Fasa 1 dan Fasa 2

4. Penyelarasan markah Ting. 4
oleh Pentaksir Kawasan

(PKw) / Ketua Pentaksir
Negeri (KPN)

5. Kemasukan markah online
(markah tingkatan 4)

TINGKATAN 5

3

2.0 MEREKA BENTUK PENYELESAIAN
2.1 Algoritma

4

2.2 Gambarajah Perhubungan Entiti (ERD)

5

2.3 Penormalan

0NF
PEREKODAN(idpengguna, nama, jantina, aras, password, idsubjek, subjek,
idtopik, topik, markah, idsoalan, nom_soalan, soalan, jenis, gambarajah, idpilihan,
jawapan, pilihan_jawapan, jenis, skor, catatan_masa)
MASALAH:
1. Lajur tidak atomik
2. Tiada Kunci Primer
PENYELESAIAN:
1. Wujudkan 1NF untuk memastikan lajur atomik dan mempunyai kunci
primer.

1NF
PEREKODAN(idpengguna<KP>, nama, jantina, aras, password,
idsubjek<KP>, subjek, idtopik<KP>, topik, markah, idsoalan<KP>,
nom_soalan, soalan, jenis, gambarajah, idpilihan<KP>, jawapan,
pilihan_jawapan, jenis, skor, catatan_masa)
MASALAH:
1. Jadual tidak mempunyai kedua-dua kebergantungan fungsi sepenuh dan
kebergantungan
fungsi separa.
PENYELESAIAN:
1. Wujudkan 2NF supaya Jadual mempunyai kedua-dua kebergantungan
fungsi sepenuh dan kebergantungan fungsi separa.
2. Jadual akan dipecahkan kepada beberapa jadual yang lain.

6

2NF
PEREKODAN(idpengguna<KP>, nama, jantina, aras, password)
SUBJEK (idsubjek<KP>, subjek)
TOPIK (idtopik<KP>, topik, markah)
SOALAN (idsoalan<KP>, nom_soalan, soalan, jenis, gambarajah)
PILIHAN(idpilihan<KP>, jawapan, pilihan_jawapan, jenis, skor, catatan_masa)
MASALAH:
1. Terdapat kebergantungan fungsi transitif dimana atribut jenis,skor,
catatan_masa tidak bergantung kepada kunci primer idpilihan, sebaliknya ia
bergantung kepada idpengguna.
PENYELESAIAN:
1. Wujudkan 3NF dan memastikan terdapat kunci asing untuk mengaitkan
antara sesama jadual.
2. Wujudkan juga satu jadual yang menghubungkan antara sesama kunci
primer.
3NF
PENGGUNA (idpengguna<KP>, nama, jantina, aras, password)
SUBJEK (idsubjek<KP>,subjek)
TOPIK (idtopik<KP>, topik, markah, idsubjek <KA>, idpengguna<KA>)
SOALAN(idsoalan<KP>,nom_soalan, soalan, jenis, gambarajah, idtopik<KA>)
PILIHAN(idpilihan<KP>,nom_soalan,jawapan, pilihan_jawapan,
idsoalan<KA>)
PEREKODAN(idperekodan<KP>, idpengguna<KA>, idtopik<KA>, jenis, skor,
catatan_masa)

7

2.4 Antara Muka Input / Output

i) Antara muka
ii) Borang subjek

8

iii) Borang topik
iv) Borang soalan dan pilihan

9

v) Laporan perekodan
10

3.0 MELAKSANAKAN PENYELESAIAN
3.1 Jadual

Jadual : pengguna

Jadual : perekodan

11

Jadual : pilihan
Jadual : soalan

12

Jadual : subjek
Jadual : topik

13

3.2 Borang

1. Borang pengguna

2. Borang perekodan

14

3. Borang pilihan
4. Borang soalan
5. Borang subjek

15

6. Borang topik (isi tempat kosong)
7. Borang topik (Pelbagai Jawapan / Benar Palsu)

16

3.3 Query

Coding untuk memilih subjek

<?php
$no=1;
$data1=mysqli_query($hubung,"SELECT * FROM subjek");
while ($info1=mysqli_fetch_array($data1))
{

?>
<tr>
<td><?php echo $no; ?></td>
<td><?php echo $info1['subjek']; ?></td>
<td><a href="papar_topik.php?idsubjek=<?php echo

$info1['idsubjek'];?>"><button>PAPAR</button></a>
<a href="tambah_topik.php?idsubjek=<?php echo
$info1['idsubjek'];?>"><button>CIPTA</button></a></td>

</tr>

Antara muka query

Klik butang pilih untuk
memaparkan subjek yang dipilih

17

Coding untuk memilih senarai topik bagi sesuatu subjek
<?php

$no=1;
$data1= mysqli_query($hubung,"SELECT * FROM subjek AS s
INNER JOIN topik AS t ON s.idsubjek = t.idsubjek
INNER JOIN soalan AS q ON t.idtopik = q.idtopik
WHERE s.idsubjek='$subjek_pilihan'
group by q.idtopik,q.jenis ");
while ($info1= mysqli_fetch_array($data1)) {

?>
<tr><td><?php echo $no; ?></td>

<td><?php echo $info1['idtopik']; ?></td>
<td><?php
if($info1['jenis']==1){
echo "MCQ/TF";
}else{

echo"FIB";
}?></td>

18

Antara muka query

3.4 Laporan

Laporan senarai bilangan soalan mengikut topik bagi semua subjek

Laporan senarai prestasi pelajar berdasarkan subjek-topik

19

3.5 Mengekod

Sign Up
<?php
require 'sambung.php';
include 'header.php';
if (isset($_POST['idpengguna'])) {

//pemboleh untuk memegang data yang dihantar
$idpengguna = $_POST['idpengguna'];
$password = $_POST['password'];
$nama = $_POST['nama'];
$jantina = $_POST['jantina'];
$aras = $_POST['aras'];
$daftar= "INSERT INTO pengguna (idpengguna,password,nama,jantina,aras) VALUES
('$idpengguna','$password','$nama','$jantina','$aras')" ;
$hasil = mysqli_query($hubung, $daftar);
if ($hasil) {

echo "<script>alert('Pendaftaran berjaya');
window.location='login.php'</script>";
} else {
echo "<script>alert('Pendaftaran gagal');

window.location='daftar_baru.php'</script>";
} }?>

20

Pop up message untuk sign up
21

Log in
<?php
require 'sambung.php';
include 'header.php'; ?>
<html>
<head><?php include 'menu1.php' ?></head>
<body>

<center><h2>LOG MASUK PENGGUNA</h2></center>
<main>

<table width="70%" border="0" align="center">
<tr>
<td align="center">
<form action="proseslogin.php" method="post">
Nombor Kad Pengenalan:<br>
<input onblur="checkLength(this)" type="text" name="idpengguna"
placeholder="Tanpa tanda -" maxlength='12' size="25"
onkeypress='return event.charCode >= 48 && event.charCode <= 57'required

autofocus/> <script>
function checkLenght(el){

if(el.value.length != 12){
alert("Nombor KP mesti 12 digit")

}}
</script>

<br><br>
Katalaluan:<br>
<input type="password" name="password"

placeholder="4 Digit" maxlength="4" size="10"
onkeypress="return event.charCode >= 48 && event.charCode <= 57" required>

22

Antara muka daftar masuk
Antara muka halaman guru

23

Import file

<?php
require 'sambung.php';
if(isset($_POST["inport"])){
$filename=$_FILES["file"]["tmp_name"];
if($_FILES["file"]["size"] > 0){
$file = fopen($filename, "r");
while (($getData = fgetcsv($file, 10000, ",")) !==FALSE){
$import = "INSERT INTO pengguna (idpengguna,password,nama,jantina,aras) values
('".$getData[0]."','".$getData[1]."','".$getData
[2]."','".$getData[3]."','PELAJAR')";
//MSG POP UP JIKA GAGAL
$tambah = mysqli_query($hubung,$import);
if(!isset($tambah)){

echo "<script>alert('Pindah naik fail CSV gagal');
window.location='import_daftar.php'</script>";
}else {
echo "<script>alert('Pindah naik fail CSV berjaya');
window.location='senarai_pelajar.php'</script>";

}}
fclose($file); }
}?>

24

Pop Up Message untuk import fail
25

Memilih mengikut subjek
Memilih senarai topik bagi sesuatu subjek

26

4.0 MENGUJI DAN MENYAH RALAT
4.1 Ralat Sintaks

Tiada ralat sintaks berlaku.

4.2 Ralat Logik

Nama Item Nama Medan Sampel Data Output

( xxxxxxxxx )

Jenis Data

Varchar 040725020794

Had Bawah

Bilangan huruf = 12 04072502079

Had Atas

Bilangan huruf = 12 040725020abc

27

4.3 Ralat Masa Larian

Tiada ralat masa larian berlaku.
I. Sistem dapat integrate dengan processor.
II. Sistem boleh dijalankan dengan lancar dan tidak hang.
III. Sistem telah menjalankan process carian dengan berdasarkan drop-down
list.

5.0 MANUAL PENGGUNA

Fasa ini telah membuat dokumentasi atas seluruh kerja kursus ini.

5.1 Dokumentasi Dalaman

//TABLE TOPIK
$dataTopik= mysqli_query($hubung,"SELECT * FROM topik
WHERE
idtopik='$info1[idtopik]'");
$getTopik= mysqli_fetch_array($dataTopik);

28

6.4 Manual Pengguna

Langkah 1 : Daftar baru sebelum login
Sistem ini ditabdir oleh seorang admin dan mempunyai dua jenis pengguna ,iaitu
guru mata pelajaran dan pelajar. Mereka perlu memasukkan id sendiri, nama, kata
laluan, jantina dan memilih aras untuk mendaftar sebagai pengguna.

Rajah 1 menunjukkan antara muka untuk daftar

Rajah 1
Rajah 2 menunjukkan pop up message untuk daftar

Rajah 2
29

Langkah 2 : Login ke dalam system
Rajah 3 menunjukkan antara muka login masuk ke dalam sistem. Guru dan pelajar perlu
memasukkan id sendiri dan kata laluan yang telah didaftarkan sebelum masuk ke dalam
sistem.

Rajah 3

30

Rajah 4 menunjukkan antara muka pengguna(pelajar) selepas berjaya login

Rajah 4
Langkah 3 : Daftar,edit dan hapus subjek,guru serta pelajar. (Aras admin)

Admin akan mendaftar subjek mengikut mata pelajaran.
Rajah 6.1.1 menunjukkan antara muka admin daftar subjek.

Rajah 6.1.1
31

Admin dapat mengedit dan menghapus subjek.
Rajah 6.1.2 meunjukkan antara muka untuk edit dan hapus subjek tertentu.

Rajah 6.1.2
Admin boleh melihat, mengedit dan menghapus senarai guru dan pelajar dalam
sistem.
Rajah 6.1.3 menunjukkan antara muka senarai guru.

Rajah 6.1.3
32

Rajah 6.1.4 menunjukkan antara muka senarai pelajar.

Rajah 6.1.4
Admin dapat melihat dan mencetak laporan bilangan soalan mengikut topik bagi
semua subjek.
Rajah 6.1.5 menunjukkan antara muka laporan statistik.

Rajah 6.1.5
33

Langkah 4: Mencipta,mengedit dan menghapus kuiz. (Aras guru)
Guru boleh mencipta,mengedit dan menghapus kuiz mengikut subjek.
Rajah 6.2.1 menunjukkan antara muka mencipta kuiz mengikut subjek.

Rajah 6.2.1
Rajah 6.2.2 menunjukkan antara muka mengedit dan menghapus kuiz.

Rajah 6.2.2
34

Rajah 6.2.3 menunjukkan antara muka mencipta kuiz dengan dua jenis soalan.

Rajah 6.2.3
Guru dapat menyemak prestasi pelajar berdasarkan subjek-topik dan mengimport data
pelajar-pelajar.
Rajah 6.2.4 menunjukkan antara muka menyemak prestasi pelajar berdasarkan
subjek-topik.

Rajah 6.2.4
35

Rajah 6.2.5 menunjukkan antara muka mengimport maklumat pelajar.

Rajah 6.2.5
Langkah 5: Menjawab dan menyemak prestasi kuiz berdasarkan subjek-topik. (Aras
pelajar)

Murid menjawab kuiz berdasarkan subjek-topik.
Rajah 6.3.1 menunjukkan antara muka kuiz mengikut senarai subjek yang dapat
dijawab.

Rajah 6.3.1
36

Rajah 6.3.2 menunjukkan antara muka senarai topik mengikut subjek yang dipilih.

Rajah 6.3.2
Rajah 6.3.3 menunjukkan antara muka jenis soalan kuiz yang dipilih untuk
menjawab.

Rajah 6.3.3
37

Pelajar dapat menyemak prestasi sendiri berdasarkan subjek-topik.
Rajah 6.3.4 menunjukkan antara muka prestasi setiap kuiz yang telah dijawab.

Rajah 6.3.4
Langkah 6: Daftar keluar daripada sistem. Semua pengguna boleh daftar keluar daripada
sistem.

Rajah 6.4 menunjukkan antara muka daftar keluar daripada sistem.

Rajah 6.4
38

5.2 SUMBER RUJUKAN

i. BUKU TEKS SAINS KOMPUTER TINGKATAN 4
ii. BUKU TEKS SAINS KOMPUTER TINGKATAN 5
iii. PROJEK SAINS KOMPUTER KSSM 2020
iv. https://www.w3schools.com/
v. https://www.youtube.com/

LAMPIRAN

i. Ambil gambar (temuramah soal selidik – lakon semula)
ii. Soalan soal selidik
iii. Surat pengesahan/sokongan interview
Tandatangan calon:

39


Click to View FlipBook Version