Sains Komputer tingkatan 5

Inilah nota ringkas yang saya buat setelah memerhatikan segala kertas sebenar SPM serta kertas-kertas percubaan tahun lepas yang membantu saya skor dalam SPM. Semoga nota tersebut membantu adik-adik sekalian untuk menjawab kertas Sains Komputer.

Bab 1 Pengkomputeran

1.1 Komputer dan impak

Kesan inovasi dalam pengkomputeran

Kesan positif (8m)
-Inovasi Teknologi Rangkaian
  • Terciptanya Internet
- Inovasi Teknologi Storan
  • Jenis dan bentuk storan yang lebih baik dan wujudnya storan awam
- Inovasi Sistem Pengoperasian
  • Tercipta sistem pengoperasian rangkaian untuk peranti mudah alih
-Perkembangan sistem dalam talian
  • e-perbankaan,e-dagang,e-kerajaan yang membolehkan jaringan komunikasi tanpa sempadan
Kesan negatif
-Jenayah siber (1m)
  • penyalahgunaan teknologi pengkomputeran dan Internet bagi melaksanakan aktiviti jenayah
Jenis jenayah siber(3m) :
- penipuan
- pembulian siber
- kecurian maklumat (phishing)

Langkah mengatasi(2m):
-Gunakan kaedah penyulitan di mana setiap data penting perlu melalui proses penyulitan menggunakan perisian tertentu di Internet
-Hidupkan firewall untuk melindungi komputer dari ancaman luar

Maksud phishing (1m):
- Cubaan dengan ralat jahat dan menyalahi peraturan untuk mendapat maklumat sensitif

Kesan kepada pengguna persendirian dan institusi (2m):
- penipuan
- penipuan e-mel
- pembulian siber

Keselamatan negara
- serangan pengganas terhadap infrastruktur kritikal negara seperti sistem kerajaan,sistem kawalan trafik udara,sistem kawalan industri

KBAT💥
Nyatakan perkembangan sistem komunikasi rangkaian kini (1m)
-sistem komunikasi rangkaian menjadi pencetus kepada teknologi digital yang akan mengubah cara belajar,sistem sosial,politik dan perniagaan

Nyatakan cabaran kepada sistem pendidikan abad ke-21 untuk membantu mewujudkan modal insan (1m)
-Pendidikan memerlukan pelajar yang berfikiran kreatif, kritis, berkeupayaan menyelesaikan masalah dan menunjukkan daya kepimpinan

Nyatakan kesan pelaksanaan teknologi 5G dalam menghadap cabaran ekonomi digital terhadap negara(6m)
-Dapat menarik minat pelabur daripada syarikat luar untuk melabur dalam ekonomi negara kita
-Peluang pekerjaan daripada masyarakat
-Semakin banyak peluang perniagaan melalui online shopping
-Memperbaiki taraf hidup masyarakat Malaysia
-Dapat meluaskan pasaran barangan ke seluruh dunia
-Urusan jual beli dapat dijalankan dengan mudah dan cepat di samping menjimatkan kos

Etika dalam pengkomputeran 
Maksud(1m) :Standard panduan bagi mengawal perlakuan pengguna komputer supaya lebih bermoral

Tindakan etika (2m):
-Dilarang menggunakan komputer dengan niat untuk membahayakan orang lain
-Dilarang menggunakan komputer untuk mencuri
-Dilarang menceroboh ke dalam fail komputer pengguna lain
-Tidak menggunakan sumber komputer orang lain

Tindakan tidak beretika (2m):
-Mencipta virus
-Mencuri data peribadi bagi tujuan mendapatkan sumber kewangan
-Mengintip fail orang lain
-Menggunakan komputer tanpa meminta izin dari pemiliknya

Perbezaan etika dengan undang-undang (4m)


Agensi penguatkuasaan yang bekerjasama dengan Suruhanjaya Komunikasi dan Multimedia Malaysia (SKMM) untuk membanteras jenayah siber (2m)
- Polis Diraja Malaysia
- Kementerian Kesihatan Malaysia
- Bank Negara Malaysia
- Kementerian Perdagangan dalam negeri,koperasi dan kepenggunaan 

Antara langkah keselamatan data (3m)
Penyulitan E-mel 
-Proses penyulitan maklumat yang akan dihantar melalui e-mel
-Biasanya maklumat sensitif atau peribadi
-Contoh: Rmail, Safemail 

Dua pengesahan (2m)
-langkah pengesahan untuk mengakses data menjadi lebih sukar
-semakin banyak lapisan pengesahan, semakin sukar data untuk diceroboh

Fungsi(1m): untuk menyukarkan pencerobohan e-mel pengguna

Kata laluan
-Merupakan lapisan pengesahan keselamatan yang utama untuk memasuki akaun pengguna
-Pemilihan kata laluan amat penting

Elak pembinaan kata laluan berdasarkan (4m)
  • nama
  • nombor kad pengenalan
  • tarikh lahir
  • sebarang data berkaitan dengan maklumat peribadi
Kata laluan yang baik dibina (3m)
  • huruf
  • simbol
  • nombor

Kriptografi 

Maksud(1m): Proses penyulitan data bagi melindungi privasi data pengguna

Empat fungsi utama kriptografi
- Memelihara privasi
- Menjamin ketulenan
- Memastikan kriptografi
- Mengelakkan penafian atau penipuan

Penyulitan

Maksud(1m): Proses penterjemahan data kepada kod rahssia yang tidak dapat difahami
Teks biasa: Data yang belum melalui proses penyulitan
Teks sifer(1m) : Data yang telah melalui proses penyulitan

Jenis penyulitan (2m)
- Symmetric Encryption (Penyulitan simetri)
  • kunci sama
- Asymmetric Encryption (Penyulitan tidak simetri)
  • kunci berbeza

Ceaser Cipher (Terangkan (2m))

- cipher penggantian iaitu setiap huruf teks biasa digantikan dengan huruf yang semoadan dengan huruf dalam abjad
- dengan anjakan n= (mengikut soalan)

Formula/Rumus penyulitan(1m): En(X)= (X+n) mod 26 
mod 26 (1m)  = Jumlah huruf A hingga Z iaitu 26
n (1m) = Bilangan anjakan

Penggodam (1m)
-penjenayah siber yang memintas komunikasi rangkaian bagi memperoleh data penting untuk dieksploitasikan

Cetak rompak

Maksud(1-2m): perbuatan menyalin semula,menggunakan bahan bercetak tanpa kebenaran pemegang hak cipta bagi harta intelek tersebut dengan maklumat mengaut keuntungan

Faktor cetak rompak(2m)

-Kurang kesedaran dari pengguna
-Penjualan produk cetak rompak di tempat terbuka

Kesan penggodaman dan cetak rompak (10-12m)

-Wujud pengangguran dalam industri kreatif dan perisian
  • hilang peluang pekerjaan
  • menjejas kualiti produk kreatif kerana terpaksa bersaing dengan produk cetak rompak
-Pengeluaran produk asli berkurang
  • Kualiti produk cetak rompak yang rendah akan memberikan kesan kepada
    barangan asli dan seterusnya akan menjejaskan pengeluaran produk asli.
  • Pengeluaran dari produk asli terpaksi dihentikan kerana saingan produk tiruan
-Hilangnya keyakinan pelabur kepada negara
  • Bagi menghasilkan sesuatu produk yang berkualiti, kita memerlukan
    proses penyelidikan dan pembangunan (R&D).
-Cetak rompak mengancam industri kreatif dan perisian negara
-Menjejaskan kestabilan ekonomi negara
  • masyarakat mengalih perhatian dengan membeli barangan cetak rompak.
  • Negara akan mengalami kerugian daripada hasil cukai yang merupakansalah satu sumber pendapatan negara.

Cara mengatasi penggodaman dan cetak rompak (2m):

- menjalankan harga kawalan maksimum terhadap barang asli
- penguatkuasaan undang-undang tegas

Akta yang disabitkan kepada penjual cetak rompak (2m):

- Akta komunikasi dan Multimedia 1997
- Akta cakera optik


Undang-undang siber

-peraturan yang ditetapkan oleh pihak berkuasan di sesebuah negara untuk memberikan hukuman kepada pesalah-pesalah  yang melakukan kesalahan dalam talian

1997 (2m)
-Akta Hak Cipta
-Akta Teleperubatan
-Akta Jenayah Komputer
-Akta Tandatangan Digital

1998 (1m)
-Akta Komunikasi dan Multimedia
-Akta Suruhanjaya Komunikasi dan Multimedia

2000
-Akta Perdagangan Elektronik

2007
-Akta Aktiviti Kerajaan Elektronik

2010
-Akta Perlindungan Data Peribadi


Kenapa jenayah siber semakin meningkat (1m)
-Kemudahan rangkaian Internet semakin meningkatkan dan kawalan keselamatan terhadap aktiviti dalam talian masih belum ditingkatkan

Cabaran pihak penguasaan untuk membendung peningkatan jenayah siber(1m)
- membanteras jenayah yang mengeksploitasi teknologi terkini dengan penguasaan undang-undang siber

Cadangan penambahbaikan (2m)
- perlu kerjasama di peringkat antarabangsa supaya penjenayah dapat dihadapkan ke muka pengasilan walau di mana mereka berada
-perlu ada penyelarasan antara negara dari segi kesalahan siber

Jom kita tengok soalan KBAT tersebut
Berdaasarkan jadual, pilih negara yang paling sesuai melakukan perniagaan atas talian (4m):

- Negara X
- Ada penubuhan undang-undang siber yang boleh menjamin keselamatan perniagaan atas talian
- Ada tapisan kandungan internet melindungi laman web boleh melindungi ancaman komen negatif
- Ahli WIPO mampu memberi penyediaan hak cipta kepada perniagaan atas talian

Tips menjawab (pilihan + sebab)

Kalau anda seorang pengusaha sebuah syarikat filem animasi yang beroperasi di negara S. Terangkan implikasi kepada masyarakat atau negara (6m)

Tips: rujuk nota Kesan penggodaman dan cetak rompak

Bidang utama dalam pengkomputeran

*Tugasan Pembangun Laman web (2m)
- membangunkan aplikasi berasaskan web,pengaturcaraan dan pengendalian sistem
- membangunkan laman web interaktif mengikut pelanggan syarikat

Tiga elemen telah dikenal pasti menjadi komponen utama infrastruktur produk dan perkhidmatan dlam sektor perindustrian kini (3m):

Mudah alih
-Penghasilan aplikasi dan kandungan mudah alih bagi peranti selain komputer

Keselamatan data
-Keperluan kepakaran dalam bidang penyulitan,pengesahan dan pengurusan

Data Raya dan kecerdasan perniagaan dan analistik
-Kemampuan menterjemah,menganalisis dan keupayaan untuk mengubah kuantiti mentah yang besat ke bentuk maklumat

1.2 Seni bina komputer

Jenis seni bina komputer (3m):

Unit pemprosesan pusat
- dikenali sebagai CPU
- terdiri daripada 3 komponen
   
 Unit aritmetrik dan logik (ALU) (2m)
- melakukan operasi aritmetrik dan logik
- contohnya : tambah dan tolak

Unit kawalan
- mengawal operasi ingatan,pemproses dan peranti input dan output

Daftar (2m)
- menyimpan data secara sementara
- menghantar arahan yang dicapai daripada ingatan utama sebelum diproses di ALU

Unit ingatan (2m)
- menyimpan data dan arahan semasa komputer digunakan
-menyimpan data secara sementara selagi arahan masih beroperasi

Bersifat meruap: hilang kandungan jika bekalan elektrik terputus
Terbahagi kepada RAM dan ROM

Perbezaan RAM dan ROM

Peranti Input dan Output
Peranti Input(1m) : menukar data luaran kepada bentuk yang boleh difahami 
Contoh(3m) : tetikus,skrin,papan kekunci

Peranti Output(1m) : memapar hasil yang diproses oleh komputer kepada bentuk yang boleh difahami
Contoh(3m) : pencetak,monitor,pembesar suara

Kitaran mesin

Fungsi(2m) : memproses data dan arahan yang dimasukkan melalui peranti input
                      menghasilkan output

1) CAPAI(1m) - Unit kawalan memberikan isyarat supaya mencapai data dan arahan dari ingatan utama dan disimpan dalam daftar sementara menunggu untuk diproses

2) NYAHKOD (1m) - Unit kawalan nyahkod arahan bagi menentukan jenis operasi yang akan dilaksanakan oleh APU

3) LAKSANA(1m) - Pemproses melaksanakan operasi aritmetik dan logik terhadap data seperti yang dinyatakan oleh arahan

Proses yang dilaksanakan(3-4m): capai-nyahkod-laksana-simpan (kalau tanya 4m)

Terangkan secara ringkas kitaran mesin (1-2m)
-semasa proses ini diulangi,hasil pemprosesan disimpan sementara di dalam daftar sehingga selesai dan hasil akhir akan dihantar ke ingatan utama untuk dipamerkan melalui peranti output

Seni Bina Von Neumann
Nama pencipta (1m): Jon Von Neuman
Terangkan idea Jon Von Neuman(2m): Atur cara dan data disimpan dalam ingatan dan digerakkan dari unit ingatan ke pemproses.Konsep ini dirujuk sebagai Jon Von Neuman

3 Komponen Utama(3m) : CPU, Unit ingatan, peranti input dan output

Seni Bina Von Neuman
Nama sistem(1m): sistem bas

Jenis sistem bas(2m)
Bas dalaman(1m) :Menghubungkan komponen-komponen dalam pemproses dan membenarkan komponen tersebut bertukar-tukar maklumat

Bas luaran(1m) : Menghubungkan pemproses dengan komponen luaran seperti ingatan dan peranti input dan output

Jenis bas luaran(3m):
Bas data(2m) : digunakan untuk memindahkan antara 
                    - pemproses,peranti input/output dan ingatan
                    - antara daftar, unit kawalan dan ALU

Bas alamat(2m): digunakan bagi
                       - membawa alamat lokasi yang menempatkan data dan arahan dalam ingatan utama
                       - mengandungi arahan peranti input

Bas kawalan(1m) : bas yang mengandungi isyarat kawalan yang digunakan bagi mengawal operasi keseluruhan sistem

Sistem jam

Merupakan satu peranti cip dalam pemproses yang menjana denyutan elektronik pada kadar yang tetap bagi menyeragamkan semua operasi komputer.
Maksud Hertz(1m) : Unit yang digunakan untuk menghitung kadar kelajuan jam dalam pemproses.
1 Hertz(1m) = 1 denyutan/ kitaran per saat.
Lebih tinggi kelajuan Hertz, lebih laju komputer tersebut

Terangkan apa yang difahami daripada 180Mhz (2m)
- mempunyai frekuensi 180000000 kitaran sesaat
- melaksanakan 180 juta arahan dalam 1 saat

*Kalau soalan tanya sistem mana yang lebih cepat, bandingkan bilangan arahan yang dilakukan/tengok Hz


Jom tengok soalan tersebut





Jenis pemprosesan(2m)

  1. pemprosesan linear
  2. pemprosesan semasa/teknik talian paip

(KBAT) : soalan akan beri situasi dan minta pelajar untuk menyelesaikan masalah menggunakan pemprosesan semasa/ teknik talian taip

Kategori Bahasa Pengaturcaraan (2m)

Bahasa Aras Tinggi (2m) : Bahasa Berasaskan objek dan visual & Bahasa Berstruktur
-Menggunakan pernyataan yang mudah difahami oleh pengatur cara
-Kenapa(1m): Bahasanya hampir sama dengan Bahasa tabii manusia
-Lebih mudah difahami dan digunakan untuk membina atur cara
-Contohnya(2m) : Java, Python

Kepentingan menggunakan bahasa pengaturcaraan aras tinggi(2-4m)
-Kemudahalihan yang lebih baik
-Mempunyai banyak jenis data dan pengurusan memori
-Mempunyai sokongan yang baik dari aspek penyelenggaraan perisian
-Mempunyai sokongan yang lebih baik dari aspek guna semula perisian

Bahasa Aras Rendah(2m):
Bahasa Himpun
- Membina arahan dalam bentuk simbol yang ringkas
- Memahami fungsi setiap perkakasan dalam komputer

Bahasa Mesin
- Bahasa yang sukar difahami dan dimanipulasi
- Bentuk pernyataan bergantung pada jenis komputer

Penterjemah Bahasa Pengaturcaraan

Fungsi/Tujuan(1m) : menukar arahan yang difahami kepada bentuk yang difahami oleh mesin

Jenis penterjemahan (3m)
Penghimpun
Contoh(1m) : Basic Assembly Language

Pengkompil
- Menukar seluruh kod atur cara ke kod mesin sebelum dilaksanakan
Contoh(2-3m) : C, C++, COBOL

Pentafsir
- Menukar kod sumber atur cara baris demi baris dengan satu baris dalam satu masa
Contoh(2-3m) : Python, Ruby, Perl, PHP

* Java,Visual Basic, C# adalah kedua-dua pengkompil dan pentafsir

Perbezaan pengkompil dan pentafsir

1.3 Get logik

Litar bersepadu (2m): Merupakan litar elektronik yang terdiri daripada gabungan komponon elektrik untuk melaksanakan pelbagai fungsi dan get logik

Komponen elektrik (4m):

Lembaran emas: menyambung serpihan pada pin-pin litar bersepadu
Perumah plastik: melindungi serpihan agar tidak rosak

Jadual kebenaran
- menyemak output yang dihasilkan kepada get-get logik
- membuktikan teorem algebra boolean

Get logik (akan ditanya di bahagian A atau bahagian B 💥💥💥)

Get asas(2m)

Kombinasi Get Logik

Bab 2 Pangkalan data lanjutan

Jenis-jenis atribut (5m)
Atribut mudah
- digunakan untuk mewakili atribut mudah dan atribut bernilai tunggal

-Atribut mudah (1m)
- tidak boleh dibahagikan kepada beberapa bahagian
- Contoh: Nama
-Atribut bernilai tunggal (1m)
-Mempunyai satu nilai
-,NoKadPengenalan

Atribut nilai gandaan (1m)
- mempunyai lebih daripada satu nilai
- Contoh:Kemhiran

Atribut terbitan
-Terhasil berasaskan atribut lain
-Contoh: Gaji tahunan

Atribut kunci  (1m)
- unik dan dapat membezakan setiap rekod dalam pangkalan data
-Contoh :No Kad Pengenalan,No Kakitangan

Perbezaan dengan atribut biasa(1m):
 atribut kinci bernilai unik tetapi atribut biasa tidak perlu bernilai unik

Atribut komposit (1m)
-Atribut yang boleh dipecahkan kepada beberapa bahagian
-Contoh :Alamat

Jenis kekardinalan(2m)
Kekardinalan minimum
-meminimumkan data sesuatu entiti berkait dengan entiti lain

Kekardinalan maksimum
-Memaksimumkan data sesuatu entiti berkait dengan entiti lain


Ciri-ciri Modal Hubungan Data
- Setiap hubungan mempunyai nama yang berbeza
- Setiap data mempunyai 1 nilai sahaja
- Setiap atribut mempunyai nama yang berbeza
- Setiap rekod
- Susunan atribut tidak mempunyai kepentingan
- Susunan rekod tidak mempunyai kepentingan

SQL(Structured Query Language )
-Digunakan untuk mencapai dan mengemaskini data dalam Pangkalan data.
-digunakan untuk berhubung dengan pangkalan data melalui sistem pengurusan pangkalan data.

Jenis Bahasa arahan SQL
Bahasa Takrifan data
-Untuk mencipta dan mengubah struktur pangkalan data.
Contoh(2m): CREATE, ALTER, DROP

Bahasa Pengolahan Data
-Untuk memanipulasi data dalam jadual.
Contoh(2m) : SELECT, INSERT, UPDATE, DELETE

Bahasa Kawalan Data
-Untuk mengawal capaian data pangkalan data.
Contoh(2m): GRANT, REVOKE


Aktiviti yang boleh dilakukan dengan SQL
- melaksanakan pertanyaan kepada pangkalan data
- mengesan data daripada pangkalan data
- memasukkan rekod ke dalam pangkalan data
- mengemas kini rekod di dalam pangkalan data
- memadamkan rekod daripada pangkalan data dan sebagainya

Sistem pangkalan data dalam SQL
- Oracle
- MySQL
- Sybase

Pernyataan/Arahan SQL (mengubah medan dalam jadual)
Pernyataan/Arahan SQL (mengubah rekod dalam jadual)


Fungsi agregat (2m)
- dilaksanakan untuk menghasilkan satu nilai penyatuan bagi medan berkenaan.
- menggabungkan sekumpulan data dan mengembalikan nilai tunggal sebagai hasilnya.

Fungsi agregat yang sering digunakan

* HAVING
Keterangan : Menentukan kumpulan data yang hendak dipaparkan

SELECT nama medan,fungsi
FROM nama jadual
GROUP BY nama medan
HAVING (fungsi)

Cara melakukan sandaran pangkalan data dalam SQL (2m)
BACKUP DATABASE (NamaJadual)
TO DISK='filepath';

Cara mengiktiraf komposite kunci primer semasa mencipta jadual (KELUAR SPM 2021)

IDPelajar VARCHAR(50)
IDGuru VARCHAR(50)

PRIMARY KEY(IDPelajar,IDGuru)


Cara mengiktiraf kunci asing semasa mencipta jadual (KELUAR SPM 2021)
FOREIGN KEY(Nama medan untuk kunci asing) REFERENCE (nama jadual yang menjadikan kunci asing sebagai kunci primer)(Nama medan untuk kunci asing) 

Contoh: FOREIGN KEY (idKelas) REFERENCES KELAS (idKelas)




Terangkan kod SQL tersebut

*Formula
- (Nama medan),(jenis data),(saiz data)
-Siapa PK, siapa FK
  • Satu jadual dicipta bernama peserta yang mempunyai medan
  • IDPeserta berjenis data varchar(string) dengan saiz 5,
  • Nama Peserta berjenis data varchar(string) dengan saiz 20,
  • Jantina berjenis data varchar(string)dengan saiz 1,
  • Tarikh Lahir berjenis data DATE
  • IDPengurus berjenis data varchar(string) bersaiz 5,
  • di mana Kunci Primer ialah IDPeserta dan IDPengurus sebagai kunci asing.

Terangkan kod SQL tersebut
- memilih medan ID pengguna untuk mencari jumlah rekod dan negeri 
- dari jadual Pelanggan  
- rekod dikumpulkan berdasarkan negeri

Penerangan untuk operator LIKE


Jom cuba menerangkan kod SQL yang berikut







Bab 3 Pengaturcaraan berasaskan web

3.1 Bahasa Penskripan Klien

Nama lengkap HTML (1m) : Hypertext Markup Language
Maksud HTML(1m) : Bahasa yang markup standard yang digunakan oleh pereka web bagi bagi membentuk laman web

Atribut mengandungi maklumat tambahan bagi setiap elemen HTML dan biasanya ditempatkan di start tag

Elemen terdiri daripada:
start tag
close tag

<title> Latihan </title>
Labelkan setiap komponen (3m)

<title> : tag pembuka
Latihan : kandungan
</title> : tag penutup

2 bahagian atribut (2m):
atribut nama
atribut nilai

<p align= "center">
Labelkan setiap komponen (2m)

p align : atribut nama
center : atribut nilai

Nama lengkap CSS(1m) :Cascading style sheet
Maksud(1-2m): Bahasa pengaturcaraan yang merupakan tambahan kepada HTML
*Kalau soalan minta 2m, tambah membenarkan perubahan kepada gaya halaman web

Kelebihan CSS(1-2m) :membenarkan perubahan kepada gaya halaman web
                                      menerangkan persembahan bagi sesuatu dokumen HTML

HTML + CSS = Web page

Javascript: menyediakan keupayaan pengaturcaraan untuk memproses sesuatu tugas berdasarkan permohonan yang diterima daripada klien

Kod Javascript ditulis di antara tag <script> dengan </script>

2 cara Kod Javascript ditulis
-Explicit embedding
-Implicit embedding

Maksud Pelanggan(1m): biasanya pelayar yang digunakan oleh pengguna bagi melayari web
Aplikasi pelayan(1m): boleh berada di mana-mana jua di seluruh dunia yang bertindak untuk memproses permintaan atau menghantar laman web yang diminta oleh klien

Bahasa penskripan
Contoh: Javascript PHP ASP
Penskripan: sebahagian kecil program yang dilaksanakan berdasarkan interaksi pengguna dengan laman web

Perbezaan bahasa penskripan klien dengan bahasa penskripan pelayan (2-4m)



Bahasa penskripan klien
Maksud(1m): merujuk kepada program komputer dalam laman web yang dilaksanakan pada komputer klien

Fungsi/keperluan bahasa penskripan klien (2m):
- digunakan untuk proses pengesahan input yang dimasukkan oleh pengguna apabila mengisi borang dalam talian 
-digunakan untuk melaksanakan tugas-tugas yang mudah seperti menukar elemen untuk menghasilkan paparan web yang lebih menarik
-penting untuk laman web berinteraksi dengan pengguna
-memanimupasi dan memaparkan kandungan laman web yang telah dimuat turun ke dalam komputer kita


Contoh aplikasi yang menggunakan konsep klien(1m): Shopping cart
Contoh bahasa penskripan klien(3m): HTML, CSS, Javascript

Kelebihan bahasa penskripan (2-4m)
- Laman web menjadi interaktif
- Pembangun web berkeupayaan menentukan reka bentuk dan ciri-ciri web
- Pelaksanaan tugas yang panta tanpa penglibatn komputer pelayan
- Meningkatkan kebolehgunaan web bagi pelayar yang menyokong pelbagai jenis Bahasa Penskripan Klien

Isihan buih(Bubble Sort) (Kata kunci: 2 For 1 If)
Maksud/Proses yang berlaku: Satu algoritma mudah dalam pengisihan suatu senarai yang prosesnya
dilaksanakan satu persatu secara berturutan dengan membandingkan unsur-unsur bersebelahan dan akan menukar kedudukan (swap) sekiranya berlaku turutan yang salah.

Kelebihan isian buih
- sesuai untuk tujuan pembelajarn
-kurang sesuai untuk aplikasi sebenar
Mudah dibina dan difahami
-Sesuai digunakan untuk bilangan unsur yang kecil

Proses perbandingan/pengisihan
- turutan menurun
- turutan menaik

var bilNombor= no.length,i,j;
Pengecam(1m): pemboleh ubah

Terangkan maksud kod di bawah (4m):
if (no[j] > no[j+1])
{
sementara = no[j];
no[j]= no[j+1];
no[j+1] = sementara
}

- Bandingkan nilai pertama dan kedua yang brada bersebelahan
- set nilai sementara = nilai pertama
- set nilai pertama = nilai kedua
- set nilai kedua = nilai sementara



*Kalau turutan menurun, tukar no[j] > no[j+1] Kepada no[j] < no[j+1]

Isihan pilih (Kata kunci : 2 For 2 If)
Proses perbandingan (1m): Banding satu unsur dengan unsur terkecil/terbesar daripada unsur lain dalam jadual

Kelebihan isihan pilih
- sesuai untuk tujuan pembelajaran
- kurang sesuai untuk aplikasi sebenar
- mudah dibina dan difahami
- sesuai untuk bilangan unsur yang kecil


Carian perduaan (Binary search)

Kelebihan(1m): sesuai digunakan apabila melibatkan bilangan data yang banyak dan tidak diisih 

Kenapa carian didapati tidak dijumpai (1m): kerana senarai nombor tidak diisih

Mendapat nilai maksimum/minimum

Proses perbandingan (1m): bandingkan nilai yang dirujuk dalam seranai sama ada lebih besar/kecil daripada nilai maksimum/nilai minimum

Terangkan maksud kod atur cara berikut(3m)
for (i=0,i<bilNombor;i++)
{
    if (no[i]> noMaksimum)
    {
     noMaksimum=no[i]
    }
}

- setkan nilai indeks tambah
- banding nilai dalam senarai dengan nilai awal minimum
- setkan nilai nombor minimum = nilai nombor pertama


*Kalau no minimum, tukar no maksimum=-1 kepada no minimum =999 dan tukar if(no[i] >noMaksimum) kepada if(no[i] <noMinimum)
Queue: merupakan struktur data linear-pengumpukan nilai dalam ruang ingatan secara teratur.
Queue boleh membuang nilai lama → nilai yang terawal dimasukkan.
Kaedah ini dipanggil FIFO - First-In, First-Out




Penggunaan push() dan shift() dalam javascript
-Nilai awal dimasukkan melalui bahagian belakang ruang ingatan array
-Nilai awal dikeluarkan melalui bahagian depan ruang ingatan array

Penggunaan unshift() dan pop() dalam javascript
-Nilai awal dimasukkan melalui bahagian depan ruang ingatan array
-Nilai awal dikeluarkan melalui bahagian belakang ruang ingatan array

Standard library (Keluar dalam SPM 2021)

Maksud(1m): koleksi yang disediakan dan digunapakai sewaktu implementasi dalam kod atur cara

Kelebihan standard library(2-3m)
- Tak perlu tahu cara perlaksanaannya
- Mengurangkan masa pembangunan atur cara
- Boleh digunakan berulang kali

Contoh standard library(2m)
-math.js
-date.js

* standard library ditulis dalam bentuk <script src="math.js/date.js"> (1m) dalam HTML

math.js (diminta untuk menulis fungsi yang sesuai (1m))
- terdiri daripada fungsi build in dan pemalar dengan pelbagai jenis data seperti nombor

date.js

Tatasusunan

Terangkan kod atur cara berikut(3m)

for (var i =0; i< bilNo, i++){
     no[i]=prompt("Masukkan nombor"+(i+1));
 }

- Menerima input dari pengguna melalui prompt popup
- Menerima input daripada pengguna
- Menyimpann input ke dalam tatasusunan

Terangkan kod atur cara berikut(1-2m)
if(markah[i] > markahTertinggi)

-Membandingkan merkah yang dirujuk yang terdapat di tatasusunan yang lebih besar daripada nilai markah tertinggi terkini




Terangkan tujuan kod atur cara 
1) document.write(jum1):
- memapar/mencetak jumlah hasil jum1

2) subatur cara JumlahNo:
-Menerima senarai nombor dalam tatasusunan Senarai Pertama.

-Mengira hasil tambah nombor dalam tatasusunan menggunakan struktur kawalan
ulangan.

-Hasil jumlah dipulangkan kepada subatur cara yang memanggil.

Terangkan perkaitan kod baris 4 dengan subatur cara JumlahNo. (3m):

-Atur cara akan memanggil fungsi JumlahNo dengan menghantar nilai tatasusunan Senarai Pertama.

-Fungsi JumlahNo akan menerima nilai dalam tatasusunan dan akan mengira hasil tambah nombor di dalam tatasusunan SenaraiPertama menggunakan struktur kawalan ulangan.

-Nilai hasil tambah Senarai Pertama dipulangkan ke fungsi main. Pemboleh ubah jum1
akan menerima nilai yang dikembalikan.


Berdasarkan kod di atas terangkan fungsi kod baris ke-4
- Mengisytiharkan tatasusunan bernama namaMurid berjenis String/Rentetan

Menukar segmen kod kepada fungsi dan prosedur
Segmen kod atur cara
<script>
var panjang,lebar, luas;

panjang=4, lebar=5
luas=panjang*lebar
document.write("<br>luas 1:",luas)

panjang=3, lebar=2
luas=panjang*lebar
document.write("<br>luas 2:",luas)

panjang=6, lebar=7
luas=panjang*lebar
document.write("<br>luas 3:",luas)
</script>

Prosedur
<script>
var panjang,lebar,luas,bil

kira_luas(1,4,5)
kira_luas(1,4,5)
kira_luas(1,4,5)

function kira_luas(bil,panjang,lebar)
{
   luas=panjang*lebar
   document.write("<br> luas",bil , " : " ,luas)
}
</script>

Fungsi
<script>
var panjang,lebar,luas

luas=kira_luas(4,5)
document.write("<br> luas1: " , luas);

luas=kira_luas(3,2)
document.write("<br> luas2: " , luas);

luas=kira_luas(6,7)
document.write("<br> luas3: " , luas);

function kira_luas(panjang,lebar)
{
   luas=panjang*lebar
   return luas;
}
</script>

Tag HTML<button>
<button onclick = "window.alert('Hai')> Klik sini </button>
Fungsi: wujud ikon "KLIK SINI", selepas tekan , window baharu yang ditulis Hai akan keluar


<form action= "action_page.php">
Fungsi(1m) : data akan dimasukkan ke dalam borang ini

nama:
        <input type: "text" name="nama pengguna" value=" ">
Fungsi(1m) : menyediakan ruang kotak teks untuk kemasukan data nama

        <input type: "submit" value="Hantar">
Fungsi(1m) :menghasilkan satu btang hantar untuk diproses

</form>

Jenis-jenis input(input type)

Tulis symbol yang dipaparkan kalau jenis input ialah Password (1m)
 Jawapan: *****

Tulis segmen atur cara tersebut dengan menggunakan bahasa penskripan klien

Borang daftar masuk login peserta
Jawapan: <form method='POST' action= "login.php"> (2m)



Jawapan:
<p>Nombor KP<input type='text' name='nomborKP' value=' '></p> (2m)
<p><input type='submit' value='Login'</p> (2m)



Tag HTML <a> .... </a> (hyperlink)

<a href= "http://www.mohe.gov.my/en/" Laman Web KPT Malaysia </a>
Fungsi: selepas menekan perkataan Laman Web KPT Malaysia pada skrin, pengguna akan dihantar ke laman sesawang http://www.mohe.gov.my/en/

<a href= "javascript:lamanweb ()"><img src="logo_kpt_2012.png" border="0"> </a>
Fungsi: selepas menekan imej pada skrin, pengguna akan dihantar ke laman sesawang javascript:lamanweb ()





3.2 Konsep Pelayan

Berasaskan pengagihan fungsi antara klien dan pelayan.
• Klien : apa-apa mesin atau proses yang memohon servis yang spesifik daripada
pelayan.
• Pelayan: Mesin atau proses yang memberikan servis kepada klien.

Dalam persekitaran internet dan rangkaian,
pelayar web (web browser) akan bertindak sebagai : klien
pelayan web (web server) pula adalah : pelayan.

Contoh aplikasi yang menggunakan konsep pelayan(2m):
-SAPS
-Shopee


Perbezaan web statik dan web dinamik(6m)

Bahasa Penskripan Pelayan
Maksud(1m): Program yang dilaksanakan di sebelah pelayan web atau pelayan web yang melantari pembangun web

Fungsi/Kemampuan(1m): mengakses data daripada pangkalan data dan memaparkan kepada pengguna

Contoh(3m): PHP, Phython, Javascript

Operasi asas fail teks [.txt] (1-4m):
Menulis data
Bentuk sintaks:(pemboleh ubah, "text")

Mencipta/membuka fail
Bentuk sintaks:("nama fail",mod capaian)

Menyunting

Membaca data

Membuka fail teks
Mod capaian 💥💥

Terangkan kod
$f=fopen("LogMasuk.txt", "w") (2m):
- membuka(tulis operasi asas mengikut soalan) fail teks dengan nama mod capaian "w" (tulis mod capaian mengikut soalan)
- Bertujuan untuk menulis data( tulis fungsi mengikut mod capaian yang diberi pada soalan)

Antara langkah yang perlu ada fail PHP ialah:
1 Buka fail menggunakan fopen.
2 Tulis isi kandungan fail yang telah dibuka dengan teks menggunakan fwrite.
3 Tutup fail yang telah dibuka menggunakan fclose.

Proses Mencapai Data Daripada Pangkalan Data (4m)

Membuat Sambungan ke Pangkalan Data MySQL (1-2m)
Sintaks: $con = mysql_connect("hoskomputer"," namapengguna", "katalaluan");
Contoh: $con = mysql_connect("localhost", " halim", "1234");

Memilih Nama Pangkalan Data MySQL (1-2m)
Sintaks: mysqli_select_db("namasambungan", "namapangkalan data");
Contoh: mysqli_select_db($con, "dbPelajar");

Membuat Pertanyaan terhadap Pangkalan Data MySQL (1-2m)
Sintaks : $hasil = mysqli_query("namasambungan", " pernyataan SQL");
Contoh : $hasil = mysqli_query($con," SELECT from MURID ");

Nama proses(1m): pengesahsahihan
Cara pengesahsahihan input (4m):

Langkah mengemaskini pangkalan data
1 Login terlebih dahulu dalam halaman "phpMyAdmin" anda.
2 Klik pangkalan data yang ingin kita kemas kini, katakan pangkalan data tersebut ialah "dbPelajar".
3 Klik menu 'Structure'.
4 Untuk mengubah nama medan, kita klik pada bahagian 'Change' manakala untuk menghapuskan
nama medan, kita klik pada bahagian 'Drop'.

Langkah membuat data sandaran (4m)
1 Login terlebih dahulu dalam halaman "phpMyAdmin" anda.
2 Klik pangkalan data yang ingin kita buat sandaran. Katakan pangkalan data tersebut ialah "dbPelajar".
3 Klik menu "Export".
4 Taip nama fail sandaran yang ingin dicipta pada ruangan 'New Template'.dan klik menu Go

Langkah memulihkan data
1 Login terlebih dahulu dalam halaman "phpMyAdmin" anda.
2 Klik nama pangkalan data untuk memulihkan pangkalan data.
3 Klik menu "Import".
4 Pada ruangan "file to import", klik butang "Choose File" dan pilih nama fail sandaran yang pernah kita buat sebelumnya.

Perbezaan Update dengan Import (1-2m)
Update: memulihkan data
Import: memulihkan pangkalan data

Perbezaan export dan import(3-6m):
* Tips mengingati
Export safe elak hiro safe= keselamatan data hi=kehilangan ro=kerosakan
bring data out hasil fail bring data out = membawa data keluar
Import pulih bring masuk pulih=memulihkan data bring masuk=membawa data masuk
pangkalan read SQL read SQL = membaca SQL

*Kalau soalan minta namakan fail text yang terhasil, lihat perkataan selepas $log

Segmen atur cara untuk menghasilkan paparan pengesahan kemasukan username dan password(4m):
if( username == "kakidar"(ubah nama ikut soalan) & password = "123"(ubah password ikut soalan){
window.alert("Ok anda berjaya.");
} else {
window.alert("Cuba lagi")
}

Melaksanakan pernyataan

Jenis pernyataan(2m):
Pertanyaan tindakan:
-menjalankan tugas bersama-sama data yang sedia ada
-Contoh:mencipta jadual

Pernyataan memilih:
-mengambil data yang sedia ada dari pangkalan data

Mengesahkan pengguna
-membatas pengguna untuk melakukan perubahan ke atas pangkalan data

Dua butang pilihan yang biasanya digunakan(2m)
-butang radio
  • menunjukkan pelbagai pilihan tetapi pengguna hanya boleh memilih satu pilihan

-butang checkbox
  • menunjukkan pelbagai pilihan tetapi pengguna boleh memilih lebih daripada satu pilihan


Jenis Fitur kotak Popup

-Kotak Alert
Sintaks: Window.Alert(" Mesej popup")
Fungsi:Mendapat kepastian maklumat daripada pengguna

-Kotak Confirm
Sintaks: Window.confirm (" Mesej popup")
Fungsi:Untuk mendapat pengesahan

-Kotak Prompt
Sintaks: Window.prompt (" Mesej popup")
Fungsi:Memasukkan satu nilai sebelum memasuki suatu laman web

Soalan kadangkala minta calon untuk menerangkan maksud kod yang ditulis(1-2m)
*Fopen - Membuka fail
  Fwrite - Menulis (perkataan) ke dalam fail (nama fail)

Fungsi sintaks session start(2m):
-menyimpan sementara pemboleh ubah dalam server
-dapat dibaca pada halaman lain setelah mengesahkan kata laluan yang betul

3.3 Laman web interaktif

Faktor teknikal mengenai persekitaran laman web (5m)
- Kesesuaian penggunaan pelbagai jenis pelayar
  • Pereka web mempertimbangkan jenis dan versi pelayar yang digunakan
-Kesesuaian carian Internet
  • Kelajuan capaian perlu diambil kira
- Keperluan perisian sokongan untuk paparan
  • Sesetengah laman web memerlukan perisian sokongan untuk menyokong paparan
- Kepelbagaian sistem komputer dan peranti mudah alih yang digunakan oleh pengguna
  • memastikan laman web fleksibel,selari dengan kepelbagaian komputer dan peranti pengguna
- Kepelbagaian saiz paparan monitor yang diguna
  • memastikan laman web fleksibel,selari dengan kepelbagaian saiz skrin komputer

Prinsip asas reka bentuk Laman Web


Pembinaan antaramuka berdasarkan prinsip (5-6m)


-Navigasi( ada anak panah untuk pilihan kelas)
-Warna dan grafik (ada logo)
-Typografi (layout laman web/menu)
-Penekaan maklumat (ada fokus soalan)
-Kerangka (melukis kerangka untuk laman web)
- Ada butang tindakan
- Ada ruang pengisisan
- Ada tajuk utama
- Ada tajuk interface
 
Proses mereka bentuk kerangka aplikasi(4m)
-menentukan bagaimana struktur laman web secara logikalnya digambarkan
-membina wireframe/lakaran antaramuka/ skema halaman/ pelan halaman/ rangka wayar
-elemen-elemen yang akan dimasukkan dalam laman web disusun untuk mewakili rangka
kerja keseluruhan web
-melakar jenis video/audio/ grafik/ yang hendak di bina dalam laman web

Cara menstruktur kandungan atau maklumat(4-6m)

Elemen dan atribut dalam HTML/laman web interaktif (soalan akan minta calon untuk menentukan elemen yang ditulis)

Headings
<h1> </h1>
<h6></h6>

Header
<head></head>

Body
<body></body>

Paragraph
<p></p>

Line break
<p> <br>, 2<br> 3</p>

Imej
<img src=" link " style=width:128 px; height 128 px>
<img> link </img>

Frame
<iframe height= "40%" src="link" ></iframe>

Option
<option value= "kelas"> </option>
Fungsi(1m) : menyediakan senarai pilihan kelas

CSS (Akan beri gambar kod mengubah suai laman web ditanya nama pengaturcaraan(1m))
Fungsi(1m): menggayakan sesuatu laman web

Cara menulis CSS (3m)
Helaian gaya luar (bahasa pengaturcaraan tambahan)
- Tag gaya ditulis dan disimpan dalam fail yang mempunyai extension "CSS"

Helaian gaya dalaman (bahasa pengaturcaraan tambahan)
- Tag gaya boleh ditulis sama ada di dalam kawasan <head> atau <body>

h1{color:red}
h1{text align: center}
h1{text shadow:2px 2px #000000}
<h1 style= "font family="Ariel Black"></h1>
<h1 style= "font size:70"></h1>
<h1 style= "font style:italic"></h1>

<body>
{ background-color: lightgreen;}
</body>


<body>
{ background-image:url ("link");}
</body>

Cara menulis HTML pada bahagian style
Jenis gaya pada position

Helaian gaya luar vs helaian gaya dalaman (6m)


Kod HTML yang berpasangan dalam kod HTML (1m)
- Tag

Kod ditulis dalam bentuk jadual menggunakan elemen (1m)
- table

Kaedah untuk menulis sesuatu pernyataan berkenaan dengan menghantar data-data dalam medan borang yang dihasilkan(1m)
- Kaedah POST



Jenis Fitur kotak Popup
kotak alert (window.alert)
-mendapat kepastian maklumat yang datang daripada pengguna
*rujuk buku teks m/s 338 untuk contoh

kotak confirm (window.confirm)
-untuk mendapat kepastian
*rujuk buku teks m/s 339 untuk contoh

kotak prompt (window.prompt)
-memasukkan satu nilai sebelum memasuki suatu laman web
*rujuk buku teks m/s 341 untuk contoh

Ciri laman web interaktif (4m)

Elemen-elemen dalam laman web




Lihat juga blog saya untuk ujian lisan

Part 1

Part 2

Part 3

Part 4
Part 5

Part 6













The Evolution of Computer Science

The Evolution of Computer Science: From Ada Lovelace to Artificial Intelligence The field of computer science has come a long way since Ada ...