VOKASIONAL
KEMENTERIAN PENDIDIKAN MALAYSIA
ARAS 5 & 6, BLOK E14, KOMPLEKS E,
PUSAT PENTADBIRAN KERAJAAN PERSEKUTUAN
KERTAS PENERANGAN
(INFORMATION SHEET)
NO.DAN TAJUK
K4 WRITE MODULE CODE
KOMPETENSI
TAJUK/TITLE :
WRITE MODULE CODE & COMMIT MODULE SOURCE CODE
TUJUAN/PURPOSE :
Kertas penerangan ini adalah bertujuan menerangkan mengenai :
1. Jenis bahasa pengaturcaraan penskripan yang digunakan: HTML, CSS dan JS
2. Statement dan Variable
3. Operator
4. Struktur Kawalan: if- else Switch dan Repetation
5. Function dalam Javascript
6. Array : Satu dimensi
7. Browser Object Model (B.O.M)
8. Event
9. Application Mockup
10. Unit Testing
11. Debugging prosedur
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 2
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
PENERANGAN/INFORMATION:
1.0 Jenis bahasa pengaturcaraan penskripan
1.1 Hyper Text Markup Language (HTML)
HTML adalah sebuah bahasa markup yang digunakan untuk buat
web dan memaparkan pelbagai maklumat di dalam sebuah browser
internet. HTML merupakan standard internet yang didefinisikan dan
dikendalikan penggunaannya oleh World Wide Web Consortium
(W3C).
KELEBIHAN CSS
o Mengemaskini tampilan lebih mudah.
o Beban bandwith yang lebih kecil.
o Memisahkan gaya rekaan dengan kandungan halaman web
o Modifikasi web template yang lebih mudah
o Lebih mudah digunakan pada peranti mudah alih seperti smartphone
o Menyusun reka bentuk dengan efisyen
o Satu fail CSS yang boleh digunakan oleh banyak halaman
o Mudah dimuat turun atau di muat naik keran ukuran fail yang kecil
o Mengurangkan penulisan kod kerana satu tag boleh dipakai oleh
banyak kod HTML
o Rekaan gaya yang lebih menarik berbanding HTML
o Menjimatkan masa kerja, semasa membuat mahupun mengubah
halaman web atau blog
o Jika ingin mengubah tema atau warna halaman, hanya perlu ubah
CSS sahaja.
KEKURANGAN CSS
o Paparan pada setiap browser berbeza
o Terdapat browser yang tidak dapat menyokong CSS contohnya
browser lama
o Perlu tahu cara menggunakannya
o Memerlukan waktu yang lama untuk membuat dan menyusun tag
CSS
o Tiada lagi bug / error dalam CSS
● CSS: mempunyai peranan dalam reka bentuk, warna, teks dan sebagainya
<script>
........
</script>
Rajah : Element bagi script
Pengetahuan asas yang perlu diketahui dari JavaScript adalah seperti berikut.
● JavaScript sintaks boleh diletakkan di dalam tag elemen <head> atau tag
<body>.
<script>
function myFunction() {
document.getElementById("demo").innerHTML = "Paragraph changed.";
}
</script>
</body>
</html>
● Pada akhir setiap baris mesti ditutup dengan titik koma (;).
function myFunction() {
document.getElementById("demo").innerHTML = "Paragraph changed.";
}
Untuk menggunakan skrip luaran (external file), letakkan nama fail skrip dalam atribut src (sumber) tag
<script>:
<!DOCTYPE html>
<html>
<body>
<script src="myScript.js"></script>
</body>
</html>
<script src="myScript1.js"></script>
<script src="myScript2.js"></script>
1.3.1 Output
a) Menggunakan innerHTML
<body>
<h1>My First Web Page</h1>
<p>My First Paragraph</p> My First Paragraph.
<p id="demo"></p> 11
<script>
document.getElementById("demo").innerHTML = 5 + 6
;
</script>
</body>
</html>
b) Menggunakan document.write()
<script>
document.write(5 + 6);
</script>
</body>
</html>
c) Menggunakan window.alert()
<!DOCTYPE html>
<html>
<body>
</body>
</html>
d) Menggunakan console.log()
Untuk tujuan debugging, boleh menggunakan kaedah console.log () untuk memaparkan
data.
<!DOCTYPE html>
<html>
<body>
<script>
console.log(5 + 6);
</script>
</body>
</html>
● JavaScript programs
var x, y, z; 11
x = 5;
y = 6;
z = x + y;
document.getElementById("demo").innerHTML = z;
c = a + b;
● Bermula dengan //
● Sebarang teks antara // dan akhir baris akan diabaikan oleh JavaScript (tidak akan
dilaksanakan).
// Change heading:
document.getElementById("myH").innerHTML = "My First Page";
// Change paragraph:
document.getElementById("myP").innerHTML = "My first paragraph.";
/*
The code below will change
the heading with id = "myH"
and the paragraph with id = "myP"
in my web page:
*/
document.getElementById("myH").innerHTML = "My First Page";
document.getElementById("myP").innerHTML = "My first paragraph.";
2.2 Variable
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 10
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
2.2.1 Variables
● Nama pembolehubah boleh menggunakan huruf, nombor, tanda underscore (_) dan
var carName;
atau
var carName = "Volvo";
● Kata-kata reserved (seperti kata kunci JavaScript) tidak boleh digunakan sebagai
nama,
● Pemboleh ubah JavaScript boleh memegang nombor seperti 100 dan nilai teks
var x = 5;
var y = 5;
Boolean var z = 6;
(x == y) // Returns true
(x == z) // Returns false
● String ditulis di dalam double atau single quotes. Nombor ditulis tanpa tanda quotes.
● Jika anda memasukkan nombor dalam tanda quotes, ia akan dianggap sebagai
string.
var pi = 3.14;
var person = "John Doe";
var answer = 'Yes I am!';
String
● String adalah jenis data yang terdiri daripada huruf atau kata-kata.
● boleh menggunakan quotes di dalam string, selagi mereka tidak sepadan dengan
● String length
● Special characters
Backslash (\ escape character) menjadikan special characters menjadi string
character:
var x = 'It\'s alright';
It's alright
var y = "We are the so-called \"Vikings\"
from the north.";
We are the so-called "Vikings" from the
north.
▪ Kaedah indeksOf () tidak boleh mengambil nilai carian yang kuat (regular
expressions- eg: /pattern/modifiers;).
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 13
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
3.0 Operator
3.1 Matematik
3.2 Assignment
x = x + 5
Ia mengira nilai x + 5 dan meletakkan hasilnya menjadi x. Nilai x menambah sebanyak 5.
3.3 Increment
3.4 Decrement
3.5 Relational
3.6 Logical
3.7 Conditional
a) Gunakan if untuk menentukan satu blok kod yang akan dilaksanakan, jika keadaan
yang dinyatakan adalah benar
b) Gunakan else untuk menentukan satu blok kod yang akan dilaksanakan, jika
keadaan yang sama adalah palsu
c) Gunakan else if untuk menentukan syarat baru untuk menguji, jika syarat pertama
adalah palsu
d) Gunakan switch untuk menentukan blok alternatif kod yang akan dilaksanakan
A) if statement
● untuk menentukan satu blok kod JavaScript yang akan dilaksanakan jika keadaan
adalah benar.
● Sintaks
if (condition) {
block of code to be executed if the condition is true
● Contoh
Menghasilkan kata aluan "Good day" kalau masa Jika masa sekarang adalah 0958, maka akan dapat
kurang daripada 18:00. paparan berikut.
B) else statement
● untuk menentukan satu blok kod yang akan dilaksanakan jika keadaan adalah
salah.
● Sintaks
if (condition) {
block of code to be executed if the condition is true
} else {
block of code to be executed if the condition is false
}
● Contoh
Menghasilkan kata aluan "Good day" kalau masa Jika masa sekarang adalah 0958, maka akan dapat
kurang daripada 18:00, jika tidak “Good evening” paparan berikut.
dipaparkan.
C) else if statement
● untuk menentukan syarat baru jika syarat pertama adalah palsu
● Sintaks
if (condition1) {
block of code to be executed if condition1 is true
} else if (condition2) {
block of code to be executed if the condition1 is false and condition2 is
true
} else {
block of code to be executed if the condition1 is false and condition2 is
false
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 15
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
● Contoh
Jika masa adalah kurang daripada 10:00, mewujudkan Jika masa sekarang adalah 0958, maka akan
"Good Morning" ucapan, jika tidak, tetapi masa adalah dapat paparan berikut.
kurang daripada 20:00, mewujudkan "Good day", jika
tidak "Good evening":
D) switch
● memilih salah satu daripada banyak blok kod yang akan dilaksanakan.
● Sintaks
switch(expression) {
case n:
code block
break;
case n:
code block
break;
default:
code block
}
● break akan menghentikan pelaksanaan kod dan ujian dalam blok.
● tidak perlu break pada blok kes switch terakhir kerana blok akan berhenti di sana
● kata kunci default menentukan kod untuk berjalan jika tiada kes padanan (match)
● Contoh
Kaedah getDay () mengembalikan hari minggu sebagai nombor antara 0 dan Hari ini adalah Selasa
6. (30/1/2018)
Jika hari ini bukan Sabtu (6) atau Ahad (0), menulis mesej default:
break;
case 0:
text = "Today is Sunday";
break;
default:
text = "Looking forward to the Weekend";
}
Kadang-kadang anda akan mahu kes switch yang berbeza untuk Hari ini adalah Selasa
menggunakan kod yang sama. (30/1/2018)
Dalam contoh ini kes 4 dan 5 bahagian blok kod yang sama, dan 0 dan 6
bahagian blok kod lain:
Loops
● Gelung dapat menjalankan kod yang sama berulang-ulang kali, setiap kali dengan
● Contoh
<!DOCTYPE html> JavaScript Loops
<html> BMW
<body> Volvo
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 17
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
Saab
<h2>JavaScript Loops</h2> Ford
Fiat
<p id="demo"></p> Audi
<script>
var cars = ["BMW", "Volvo", "Saab", "Ford",
"Fiat", "Audi"];
var text = ""; //permulaan text tiada nilai
var i;
for (i = 0; i < cars.length; i++) {
text += cars[i] + "<br>";
}
document.getElementById("demo").innerHTML = text;
</script>
</body>
</html>
A) For loop
● menggunakan apabila anda ingin membuat loop.
● Sintaks
statement 1
● Pilihan (optional)
statement 2
● Pilihan (optional)
● Jika statement 2 adalah benar, loop akan bermula sekali lagi, jika ia
mengembalikan palsu, loop akan berakhir.
● Jika anda meninggalkan statement 2, anda mesti memberikan break
di dalam loop. Jika tidak loop tidak akan tamat.
statement 3
● Pilihan (optional)
B) For/in loop
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 19
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
C) While loop
● loop melalui satu blok kod selagi keadaan yang dinyatakan adalah benar.
● Sintaks
while (condition) {
code block to be executed
}
● Contoh
● Dalam contoh berikut, kod di dalam loop akan berjalan, selagi pembolehubah (i)
● melaksanakan blok kod sekali, sebelum memeriksa jika keadaan ini benar, maka ia
● Sintaks
do {
code block to be executed
}
while (condition);
● Contoh
do {
text += "The number is " + i;
i++;
}
while (i < 10);
● Didapati bahawa while loop adalah lebih kurang sama seperti for loop, dengan
● Contoh berikut menggunakan dua jenis loop untuk mengumpul nama-nama kereta
● Fungsi JavaScript adalah blok kod yang direka untuk melaksanakan tugas tertentu.
<p id="demo"></p>
<script>
function myFunction(p1, p2) {
return p1 * p2;
}
document.getElementById("demo").innerHTML =
myFunction(4, 3);
</script>
</body>
</html>
● Sintaks Fungsi
● Function Return
Mengira hasil darab bagi dua nombor, dan kembali hasilnya: Keputusan dalam x
akan:
function myFunction(a, b) {
return a * b; // Function returns the
product of a and b
}
o Dengan contoh di atas, toCelsius merujuk kepada objek fungsi, dan toCelsius
() merujuk kepada keputusan fungsi itu.
o Mengakses fungsi tanpa () akan kembali definisi fungsi dan bukannya hasil
fungsi:
function toCelsius(fahrenheit) { function toCelsius(f)
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 22
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
6.0 Array
● Array JavaScript digunakan untuk menyimpan pelbagai nilai dalam pemboleh ubah
tunggal.
Sintaks:
var array_name = [item1, item2, ...];
Contoh:
var cars = ["Saab", "Volvo", "BMW"];
o Contoh:
var cars = ["Saab", "Volvo", "BMW"];
Saab
document.getElementById("demo").innerHTML = cars[0];
o Contoh:
var cars = ["Saab", "Volvo", "BMW"];
Saab,Volvo,BMW
document.getElementById("demo").innerHTML = cars;
<p id="demo"></p>
<script>
var fruits = ["Banana", "Orange", "Apple",
"Mango"];
document.getElementById("demo").innerHTML =
fruits.length;
</script>
</body>
</html>
o Loop array
<!DOCTYPE html> JavaScript Arrays
<html>
<body> The best way to loop through an
array is using a standard for loop:
<h2>JavaScript Arrays</h2>
● Banana
<p>The best way to loop through an array is using
a standard for loop:</p> ● Orange
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<h2>JavaScript Arrays</h2>
<p>The push method appends a new element
to an array.</p>
<button onclick="myFunction()">Try Selepas tekan Try it
it</button>
<p id="demo"></p>
<script>
var fruits = ["Banana", "Orange",
"Apple", "Mango"];
document.getElementById("demo").innerHTML
= fruits;
function myFunction() {
fruits.push("Lemon");
document.getElementById("demo").innerHTML
= fruits;
}
</script>
</body>
</html>
<!DOCTYPE html>
<html>
<body> Banana,Orange,Apple,Mango,,,Lemon
<script>
(lubang-lubang yang belum ditentukan
var fruits = ["Banana", "Orange", "Apple", "Mango"];
nilai)
fruits[6] = "Lemon";
document.write(fruits);
</script>
</body>
</html>
o join() : Ia berkelakuan seperti toString (), tetapi sebagai tambahan anda boleh
menentukan pemisah
var fruits = ["Banana", "Orange", "Apple", "Mango"]; Banana * Orange * Apple *
document.getElementById("demo").innerHTML = Mango
fruits.join(" * ");
// the value of x is 5
o unshift() : menambah elemen baru pada array (pada mulanya), dan "unshifts"
elemen sebelumnya
var fruits =
Sebelum unshift():
["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon"); Banana,Orange,Apple,Mango
// Adds a new element "Lemon" to fruits Selepas unshift():
Lemon,Banana,Orange,Apple,Mango
var fruits =
Selepas unshift():
["Banana", "Orange", "Apple", "Mango"];
fruits.unshift("Lemon"); // Returns 5 5 (nilai fruits.unshift )
o hapus elemen
var fruits = ["Banana", "Orange", "Apple", "Mango"]; The first fruit is: Banana
delete fruits[0]; // Changes the first
element in fruits to undefined
The first fruit is: undefined
o splice() :
Parameter pertama (2) mentakrifkan kedudukan di mana unsur-unsur baru perlu ditambah
(disambungkan dalam).
Parameter kedua (0) menentukan berapa banyak elemen yang perlu dikeluarkan.
Selebihnya parameter ("Lemon", "Kiwi") menentukan unsur-unsur baru yang akan
ditambah.
o slice() : potong sebahagian elemen dari sesuatu array ke dalam array baru
keluarkan sebahagian daripada array bermula dari elemen array 1 Sebelum slice():
("Orange")
Banana,Orange,Lemon,Apple,Mango
var fruits =
["Banana", "Orange", "Lemon", "Apple", "Mango"]; Selepas slice():
var citrus = fruits.slice(1); Orange,Lemon,Apple,Mango
keluarkan sebahagian daripada array bermula dari elemen array 3 Sebelum slice():
("Apple")
Banana,Orange,Lemon,Apple,Mango
var fruits =
["Banana", "Orange", "Lemon", "Apple", "Mango"]; Selepas slice():
var citrus = fruits.slice(3); Apple,Mango
Apabila kaedah slice () diberi dua hujah (argument), ia memilih Sebelum slice():
elemen array dari hujah permulaan, dan sehingga (tetapi tidak
termasuk) hujah akhir:
Banana,Orange,Lemon,Apple,Mango
● Susun array
o sort() : Susun (Sort) Array
var fruits = Sebelum sort():
["Banana", "Orange", "Apple", "Mango"]; Banana,Orange,Apple,Mango
fruits.sort(); Selepas sort():
// Sorts the elements of fruits Apple,Banana,Mango,Orange
o Numeric Sort
▪ fungsi sort() menyusun nilai sebagai strings
▪ kaedah sort() akan menghasilkan hasil yang salah apabila menyusun nombor
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 29
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
<script>
var points = [40, 100, 1, 5, 25, 10]; Susun secara rawak kali pertama
document.getElementById("demo").innerHTML = points;
function myFunction1() {
points.sort(function(a, b){return 0.5 -
Math.random()}); Susun secara rawak kali kedua
document.getElementById("demo").innerHTML = points;
}
</script>
}
</script>
<p>The lowest number is <span id="demo"></span>.</p> The lowest number is 1.
<script>
var points = [40, 100, 1, 5, 25, 10];
document.getElementById("demo").innerHTML =
myArrayMin(points);
function myArrayMin(arr) {
return Math.min.apply(null, arr);
}
</script>
● Kod ini memberikan banyak nilai (Fiat, 500, putih) kepada pembolehubah bernama
car:
var car = {type:"Fiat", model:"500", color:"white"};
● Nilai ditulis sebagai pasangan nama: Nilai (nama dan nilai dipisahkan dengan
noktah bertindih).
● Pasangan nama: Nilai (dalam objek JavaScript) dipanggil ciri-ciri (properties).
eyeColor blue
var person = {
firstName:"John",
lastName:"Doe",
age:50,
eyeColor:"blue"
};
objectName.propertyName
objectName["propertyName"]
<script> <script>
var person = { var person = {
firstName: "John", firstName: "John",
lastName : "Doe", lastName : "Doe",
id : 5566 id : 5566
}; };
document.getElementById("demo").innerHT document.getElementById("demo").innerHT
ML = ML =
person.firstName + " " + person["firstName"] + " " +
person.lastName; person["lastName"];
</script> </script>
</body> </body>
</html> </html>
objectName.methodName()
name = person.fullName();
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " +
this.lastName;
}
};
document.getElementById("demo").innerHTM
L = person.fullName();
</script>
</body>
</html>
* Jika anda mengakses kaedah tanpa () , ia akan function () { return this.firstName + " "
mengembalikan definisi fungsi : + this.lastName; }
<script>
var person = {
firstName: "John",
lastName : "Doe",
id : 5566,
fullName : function() {
return this.firstName + " " +
this.lastName;
}
};
document.getElementById("demo").innerHTM
L = person.fullName;
</script>
8.0 Event
● Aktiviti (Events) HTML adalah perkara yang berlaku kepada HTML elemen.
● Dalam contoh berikut, sifat onclick (dengan kod), ditambah kepada elemen butang:
<p id="demo"></p>
</body>
</html>
</body>
</html>
Event Penerangan
onChange Elemen HTML telah ditukar
onclick pengguna klik elemen HTML
onmouseover pengguna menggerakkan tetikus di atas elemen HTML
onmouseout pengguna menggerakkan tetikus lagi elemen HTML
onkeydown Pengguna menolak kekunci keyboard
onload pelayar telah selesai memuatkan halaman
Windows
● Objek tetingkap (Window object) mewakili tetingkap yang terbuka dalam pelayar.
mewujudkan satu objek tetingkap untuk dokumen HTML, dan tambahan satu objek
tetingkap untuk setiap bingkai.
pelayar.
● Semua objek global JavaScript, fungsi, dan pembolehubah secara automatik menjadi
● Objek dokumen (document object) (DOM HTML) adalah sebuah objek tingkap.
window.document.getElementById("header");
Adalah sama seperti
document.getElementById("header");
● Saiz tetingkap – digunakan untuk menentukan saiz tetingkap pelayar dalam piksel
● Contoh:
<!DOCTYPE html>
<html> Browser inner window width: 668,
<body> height: 488.
<p id="demo"></p>
<script>
var w = window.innerWidth
|| document.documentElement.clientWidth
|| document.body.clientWidth;
var h = window.innerHeight
|| document.documentElement.clientHeight
|| document.body.clientHeight;
var x = document.getElementById("demo");
x.innerHTML = "Browser inner window width:
" + w + ", height: " + h + ".";
</script>
</body>
</html>
<button onclick="openWin()">Open
"myWindow"</button>
<button onclick="closeWin()">Close
"myWindow"</button>
<script>
var myWindow;
function openWin() {
// Opens a new window
myWindow = window.open("",
"myWindow", "width=200,height=100");
myWindow.document.write("<p>This
is 'myWindow'</p>"); Selepas tekan Close “myWindow”, Window di atas
} akan ditutup.
function closeWin() {
// Closes the new window
myWindow.close();
}
</script>
</body>
</html>
<p>Open "myWindow" and move the new window to the top left corner of the
screen:</p>
<script>
var myWindow;
function openWin() {
myWindow=window.open("", "myWindow", "width=200, height=100");
myWindow.document.write("<p>This is 'myWindow'</p>");
}
function moveWin() {
myWindow.moveTo(500, 100);
myWindow.focus();
}
</script>
</body>
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 38
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
</html>
Selepas tekan butang Move “myWindow” tetingkap kecil (myWindow) telah bergerak dari atas kiri ke
tengah
<p>Open a new window, and resize the width and height of the new window.</p>
<script>
var myWindow;
function openWin() {
myWindow = window.open("", "", "width=250, height=250");
}
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 39
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
function resizeWinTo() {
//mengubah saiz tetingkap untuk lebar dan tinggi yang dinyatakan.
myWindow.resizeTo(800, 600);
myWindow.focus();
}
function resizeWinBy() {
//mengubah saiz tetingkap dengan jumlah yang ditetapkan, berbanding dengan saiz
semasa.
myWindow.resizeBy(-500, -200);
myWindow.focus();
}
</script>
</body>
</html>
Frames
● Ciri (property) bingkai (frame) memulangkan objek seperti array, diwakili dengan
● Unsur-unsur <iframe> boleh diakses dengan nombor indeks. Indeks bermula pada 0.
window.frame <!DOCTYPE html> Click the button to loop through the frames on
<html> this page, and change the location of every frame
(mendapatkan <body> to "w3schools.com".
bilangan frame)
<p>Click the button to loop through the
Sebelum tekan Try it
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 41
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
<button onclick="myFunction()">Try
it</button>
<br><br>
<iframe src="https://www.cnn.com"></iframe>
<iframe src="https://www.bbc.com"></iframe>
Selepas tekan Try it
<script>
function myFunction() {
var frames = window.frames;
var i;
</body>
</html>
"W3C Document Object Model (DOM) adalah platform antara muka dan bahasa-
neutral yang membolehkan program dan skrip untuk mengakses dan mengemas
kini kandungan, struktur dan gaya dokumen secara dinamik."
Model.
● Dengan model objek, JavaScript mendapat semua kuasa yang diperlukan untuk
● HTML DOM ialah standard objek model dan pengaturcaraan antara muka untuk
HTML. Ia mentakrifkan:
o Unsur-unsur HTML sebagai objek
o Sifat-sifat semua elemen HTML
o Kaedah untuk mengakses semua elemen HTML
o Event untuk semua elemen HTML
● Dalam erti kata lain: HTML DOM ialah standard bagaimana mendapat, menukar,
● Sifat-sifat (properties) HTML DOM adalah nilai-nilai (HTML Elements) yang boleh
● Contoh berikut perubahan kandungan (yang innerHTML) daripada <p> elemen dengan id
= "demo":
o getElementById ialah kaedah (method) - mencari unsur
o innerHTML ialah ciri/sifat (property) - mendapatkan atau menggantikan
kandungan unsur-unsur HTML
<html>
<body>
<p id="demo"></p>
<script>
document.getElementById("demo").innerHTML = "Hello World!";
</script>
</body>
</html>
● HTML DOM dokumen objek adalah pemilik semua objek lain dalam halaman web.
● Jika ingin mengakses elemen dalam halaman HTML, sentiasa bermula dengan
HTML.
o Mencari elemen HTML
● Contoh ini mendapatkan elemen dengan id = " main ", dan kemudian mendapati
semua <p> unsur-unsur di dalam "main":
<!DOCTYPE html> Hello World!
<html> The DOM is very useful.
<body> This example demonstrates
the getElementsByTagName method
<p>Hello World!</p> The first paragraph (index 0) inside
"main" is: The DOM is very useful.
<div id="main">
<p>The DOM is very useful.</p>
<p>This example demonstrates the
<b>getElementsByTagName</b> method</p>
</div>
<p id="demo"></p>
<script>
var x = document.getElementById("main");
var y = x.getElementsByTagName("p");
document.getElementById("demo").innerHTML
=
'The first paragraph (index 0) inside
"main" is: ' + y[0].innerHTML;
</script>
</body>
</html>
<p id="demo"></p>
<script>
var x =
document.getElementsByClassName("intro");
document.getElementById("demo").innerHTML
=
'The first paragraph (index 0) with
class="intro": ' + x[0].innerHTML;
</script>
</body>
</html>
Contoh ini mengembalikan senarai semua unsur-unsur <p> dengan class = "intro".
<!DOCTYPE html> Hello World!
<html> The DOM is very useful.
<body> This example demonstrates
the querySelectorAll method.
<p>Hello World!</p> The first paragraph (index 0) with
class="intro": The DOM is very
<p class="intro">The DOM is very useful.</p>
<p class="intro">This example demonstrates useful.
the <b>querySelectorAll</b> method.</p>
<p id="demo"></p>
<script>
var x =
document.querySelectorAll("p.intro");
document.getElementById("demo").innerHTML =
'The first paragraph (index 0) with
class="intro": ' + x[0].innerHTML;
</script>
</body>
WIM EDISI JAN 2019
NO. KOD / SKPK IT-010-3:2016/KP(3/5) Muka Surat / Page : 47
CODE NO. KSKV KPD 3014 / KP (3/5) Drp / of : 4
</html>
Contoh ini mendapatkan unsur form dengan id = "frm1", dalam koleksi form, dan
memaparkan semua nilai elemen:
<!DOCTYPE html>
<html>
<body>
<form id="frm1"
action="/action_page.php">
First name: <input type="text"
name="fname" value="Donald"><br>
Last name: <input type="text"
name="lname" value="Duck"><br><br>
<input type="submit" value="Submit">
</form>
<button onclick="myFunction()">Try
it</button>
<p id="demo"></p>
<script>
function myFunction() {
var x = document.forms["frm1"];
var text = "";
var i;
for (i = 0; i < x.length ;i++) {
text += x.elements[i].value +
"<br>";
}
document.getElementById("demo").innerH
TML = text;
}
</script>
</body>
</html>
o document.anchors
o document.body
o document.documentElement
o document.embeds
o document.forms
o document.head
o document.images
o document.links
o document.scripts
o document.title
o Contoh
Isi kandungan Hello World diganti dengan New text!
<html>
<body>
<script>
document.getElementById("p1").innerHTML = "New text!";
</script>
</body>
</html>
o Contoh
Atribut src bagi elemen ditukar daripada "smiley.gif" kepada "landscape.jpg"
<!DOCTYPEhtml>
<html>
<body>
<imgid="myImage"src="smiley.gif">
<script>
document.getElementById("myImage").src="landscape.jpg";
</script>
</body>
</html>
● Sintaks
<script>
document.getElementById("p2").style.color =
"blue";
document.getElementById("p2").style.fontFamily =
"Arial";
document.getElementById("p2").style.fontSize =
"larger";
</script>
</body>
</html>
<button type="button"
onclick="document.getElementById('id1').styl Selepas butang Click Me!
e.color = 'red'"> ditekan
Click Me!</button>
</body>
</html>
</body>
</html>
<!DOCTYPE html>
<html>
<body>
<p>Click "Try it" to execute the
displayDate() function.</p>
<button id="myBtn">Try it</button> Selepas tekan butang Try it masa semasa akan
<p id="demo"></p> dipaparkan
<script>
document.getElementById("myBtn").onclick =
displayDate;
function displayDate()
{ document.getElementById("demo").innerHTM
L = Date();
}
</script>
</body>
</html>
<html>
luar kotak merah, perkataan
<body>
“Mouse Over Me” dipaparkan.
<div onmouseover="mOver(this)"
onmouseout="mOut(this)"
style="background-
color:#D94A38;width:120px;height:20px;padding:4
0px;">
Mouse Over Me</div>
Apabila menggerakkan tetikus ke
<script>
atas kotak, perkataan “Thank
function mOver(obj) {
You” dipaparkan.
obj.innerHTML = "Thank You"
}
function mOut(obj) {
obj.innerHTML = "Mouse Over Me"
}
</script>
</body>
</html>
<!DOCTYPE html>
Mengubah gambar dengan cara
<html>
mouseover dan mouseout
<head>
<script>
function doraemon () {
document.getElementById('myimage').src =
"E:/24.jpg";
}
function kv() {
document.getElementById('myimage').src =
"E:/T01.jpg";
}
</script>
</head>
Selepas mouseover
<body>
</body>
</html>
<div onmousedown="mDown(this)"
onmouseup="mUp(this)"
style="background-
color:#D94A38;width:90px;height:20px;padding:40px
;">
Click Me</div> Apabila tetikus diklik, paparan
berikut dipaparkan.
<script>
function mDown(obj) {
obj.style.backgroundColor = "#1ec5e5";
obj.innerHTML = "Release Me";
}
function mUp(obj) {
obj.style.backgroundColor="#D94A38";
obj.innerHTML="Thank You";
}
</script>
</body>
</html>
mendemonstrasikan fungsi yang asas dengan cara yang statik kerana ia tidak
benar-benar berfungsi contohnya aplikasi tersebut tidak mampu menyimpan
sebarang input dari pengguna kerana belum dihubungkan dengan pangkalan
data. Antara perisian yang boleh membangunkan mock up ialah Mokingbird,
Mockup builder, proto.io (untuk aplikasi mudah alih) dan banyak lagi.
atur cara
sekali
perlaksanaan
● Nilai sempadan dan kelas data : Memastikan modul berfungsi dengan baik
pada nilai sempadan. Kelas data yang sah dan tidak sah juga diuji.
arahan?
aplikasi ini?
pengguna?
Jika banyak soalan yang dijawab oleh pengguna adalah ‘Ya’ ia boleh
dikatakan sebagai kebolehgunaan telah tercapai. Pengujian ini penting untuk
mengukur tahap kepuasan pengguna dan mengurangkan kos sokongan dan
juga dokumentasi.
Pengujian kebolehgunaan boleh dilakukan untuk menguji fungsi dan
penerimaan pengguna terhadap antaramuka. Pengujian antaramuka perlu
mengambilkira 5 prinsip asas rekabentuk interaksi iaitu konsistensi,
kebolehan membuat pemerhatian, boleh dipelajari, kebolehan untuk
menjangka dan maklumbalas.
● Konsistensi
● Boleh dipelajari
Kebolehan untuk menjangka pula ialah pengguna dapat menjangka apa yang
akan berlaku apabila menggunakan sebarang elemen dalam aplikasi.
Sebagai contoh apabila pengguna memilih fungsi untuk Cadang Tajuk,
pengguna dapat menjangka untuk mengisi sesuatu bagi mencadangkan tajuk
projek akhir. Pengguna akan dibawa ke halaman untuk memasukkan tajuk
Projek Tahun Akhir yang akan dipaparkan dalam senarai yang akan dipohon
oleh pelajar nanti.
● Maklumbalas
KAEDAH PENILAIAN
Antara kaedah penilaian yang boleh digunakan dalam menjalankan pengujian
sistem ialah soal selidik. Soal selidik boleh dibangunkan untuk menilaian
kebolehgunaan produk berdasarkan prinsip asas rekabentuk di atas. Pilihan
jawapan dalam soal selidik boleh ditampilkan dalam dua jenis iaitu bentuk
Skala Likert ataupun bentukSkala Guttmen.
Skala Likert digunakan untuk melihat sejauh mana persetujuan
pengguna terhadap produk yang dibangunkan. Jenis ini menampilkan skala
yang mewakili maksud seperti :
5 = Amat setuju
4 = Setuju
3 = Tidak setuju
2 = Sangat tidak setuju
1 = Tidak pasti
Skala Guttman pula bertujuan untuk mendapatkan data yang lebih
jelas, tegas dan konsisten iaitu menampilkan pilihan ‘Ya’ yang mewakili setuju
dan ‘Tidak’ untuk tidak atau kurang bersetuju.
11.0 Debugging prosedur
11.1 RALAT
Ralat adalah kesilapan atau kesalahan yang menyebabkan sesuatu aturcara tidak
berfungsi seperti yang diharapkan atau mengeluarkan output yang salah.
Jenis ralat:
a) Ralat Logik
Algoritma diuji setelah ditulis untuk tujuan pembaikan. Pengujian algoritma dibuat
sebelum algoritma ditulis sebagai Kod Komputer. Lihat rajah dibawah. Hal ini
kerana pembetulan di peringkat kod mengambil masa yang lebih lama dan lebih
mahal daripada pembetulan di peringkat algoritma.
● Mudah Difahami
● Lengkap
● Efisien
SOALAN:
1. Nyatakan 3 Jenis bahasa pengaturcaraan penskripan yang digunakan
2. Apakah fungsi Function dalam Javascript
3. Berikan 1 contoh bagi kod Array yang telah anda pelajari
4. Apakah maksud Browser Object Model (B.O.M)
5. Nyatakan kegunaan Event dalam JavaScript
6. Nyatakan kepentingan Application Mockup
7. Apakah tujuan Unit Testing
8. Apakah Debugging prosedur
RUJUKAN: