Lampiran
Format Folio:
Muka Depan
1. Nama Sekolah
2. Tajuk
3. Nama Kumpulan
4. Senarai Ahli Kumpulan
5. Kelas
Isi Kandungan
1. Pengenalan
2. Pernyataan Logik
a. Jenis-jenis Get.
b. Jadual kebenaran.
c. Simbol-simbol dalam Operasi Boolean
d. Contoh Ungkapan Boolean.
3. Penyelesaian Projek
a. Situasi / Puzzle.
b. Jadual Kebenaran.
c. Get-get yang terlibat.
d. Gambarajah Litar Logik
e. Ungkapan Boolean.
4. Penutup
MATA PELAJARAN: SAINS KOMPUTER
PENGAJARAN : 17
STANDARD KANDUNGAN : 2.1 Bahasa Pertanyaan Berstruktur: SQL (Structure
MASA Query Language)
TINGKATAN : 1 jam 30 minit
:5
STANDARD PEMBELAJARAN
2.1.1 Melakar ERD (Entity Relationship Diagram) bagi permasalahan yang diberi
OBJEKTIF:
Murid boleh
1. Memahami data dari pelbagai persekitaran dan keperluan memodelkan data tersebut
secara jelas bagi mewujudkan pangkalan data yang berkesan dan memenuhi keperluan
pihak berkepentingan.
2. Memahami konsep dan teknik permodelan data melalui penghasilan ERD untuk
menggambarkan struktur dan maksud data.
3. Menghasilkan lakaran ERD berdasarkan contoh permasalahan praktikal.
BAHAN BANTU MENGAJAR:
1. Satu set slaid PowerPoint yang mengandungi kajian yang mudah. Sila rujuk Lampiran 1.
2. Kertas dan pensel, atau perisian melakar ERD (sekiranya ada) seperti Microsoft Visio dan
StarUML (sumber terbuka). Microsoft PowerPoint juga boleh digunakan untuk melakar
ERD asas.
3. Arahan tugasan. Sila rujuk Lampiran 2.
PERSEDIAAN SEBELUM KELAS MASA: Tiada
Menyediakan seperti berikut:
Satu set slaid PowerPoint seperti di Lampiran 1
Sekiranya menggunakan perisian melakar ERD, perisian itu hendaklah dipasang di
beberapa komputer di makmal komputer.
Senarai lokasi di sekolah bagi aktiviti pemetaan seperti “dari bilik darjah ke pusat
sumber”, “dari bilik darjah ke kantin” dan “dari bilik darjah ke pondok pengawal”.
Murid dibahagikan kepada sekumpulan tiga atau empat orang untuk mendapatkan
bilangan kumpulan yang genap untuk aktiviti dan tugasan. Sekiranya menggunakan
perisian ERD, setiap kumpulan disediakan dengan satu komputer.
SET INDUKSI MASA: 15 minit
Pemetaan:
a) Murid bekerja dalam kumpulan bagi melakar peta penunjuk arah ke lokasi-lokasi di
sekolah mengikut senarai yang telah disediakan. Dua kumpulan menerima lokasi yang
sama.
b) Murid membuat aktiviti pemetaan secara berkumpulan bagi memahami konsep
membuat lakaran grafik model perwakilan maklumat yang ringkas, tepat dan mudah
difahami.
c) Setelah membuat pemetaan, dua kumpulan yang menerima lokasi yang sama membuat
perbandingan pemetaan mereka.
d) Murid membincangkan sama ada:
i. peta penunjuk arah yang dilakarkan adalah senang atau susah untuk diikuti
ii. simbol-simbol yang diguna berkesan dan membantu pemahaman.
Perbincangan bertujuan memberi pengenalan terhadap penggunaan notasi ERD
bagi perwakilan model data dalam pembangunan sistem.
Pemahaman Reka Bentuk ERD:
a) Melalui bimbingan guru, murid berbincang serta memberikan contoh-contoh entiti, set
hubungan dan atribut yang biasa ditemui.
b) Murid mengenal pasti dan menjelaskan komponen-komponen asas ERD – entiti,
hubungan dan atribut – berdasarkan kajian kes “Pinjaman Buku dari Pusat Sumber”
(Slaid 2 dan 3, Lampiran 1) yang ditunjukkan oleh guru.
c) Murid seharusnya boleh memahami ERD dan komponen-komponen asas bagi
membolehkan mereka mula melakarkan ERD untuk perwakilan data.
MEMUPUK PEMAHAMAN MASA: 30 minit
Penghasilan lakaran ERD:
1. Berdasarkan kajian kes “Pinjaman Buku dari Pusat Sumber” (Slaid 2 dan 3, Lampiran
1), murid mengenal pasti entiti, set hubungan, dan atribut dalam kajian kes tersebut.
Jenis kekardinalan yang biasa digunakan:
a. 1:1 (satu-ke-satu)
b. 1:M (satu-ke-banyak)
c. M:N (banyak-ke-banyak)
Contoh:
Entiti-entiti: Murid, Pinjaman
Hubungan: Membuat
Atribut-atribut: (i) Murid – nama, ID;
(ii) Pinjaman – tarikh pinjam, tarikh pulang
Kekardinalan hubungan murid dan pinjaman: 1:M (satu-ke-banyak)
2. Setelah mengenal pasti komponen dalam reka bentuk ERD dan kekardinalan dalam
kajian kes, murid bekerja dalam kumpulan bagi menghasilkan lakaran ERD dalam
kumpulan.
3. Murid mengenal pasti semua “kunci primer” setiap entiti.
4. Guru boleh merujuk kepada Slaid 4, Lampiran 1 untuk contoh penyelesaian ERD
“Pinjaman Buku dari Pusat Sumber”.
PENYERTAAN SECARA AKTIF MASA: 30 minit
Melalui bimbingan guru, murid menyelesaikan tugasan lakaran ERD dalam kumpulan bagi
kes yang disediakan di Lampiran 2.
KESIMPULAN MASA: 10 minit
a) Murid menjelaskan tujuan ERD.
b) Murid menerangkan entiti dan atribut, hubungan serta membezakan berbagai jenis
hubungan antara entiti.
TOPIK AKAN DATANG MASA: 1 minit
ERD merupakan pendekatan atas-ke-bawah dalam reka bentuk pangkalan data yang
bermula dengan mengenalpasti data penting seperti entiti dan perhubungan antara data
yang mesti diwakili dalam pangkalan data. Butiran maklumat yang terkandung dalam
entiti seperti atribut dan kekangan kemudiannya dimasukkan.
Modul seterusnya (2.1.2 Menghasilkan skema hubungan yang ternormal (normalize) dari
permasalahan yang diberi) memberi pengenalan kepada suatu pendekatan lain yang
dipanggil normalisasi. Pendekatan ini merupakan pendekatan bawah-ke-atas dalam reka
bentuk pangkalan, yang bemula dengan pemeriksaan antara atribut..
Lampiran 1
Lampiran 2
Bina satu ERD yang lengkap bagi mewakili senario pembelian produk seperti di bawah.
1. Seorang pelanggan diberi invois apabila membuat pesanan pembelian produk. Pelanggan
diberi invois setelah produk dipesan. Seorang pelanggan boleh membuat banyak pesanan
pembelian produk dari kedai “International Foodstuff”.
2. Satu invois boleh mengandungi satu atau banyak produk yang dipesan, dan satu produk
dijumpai dalam kosong, satu atau banyak invois.
Invois yang diberi kepada pelanggan digambarkan seperti berikut:
INTERNATIONAL FOODSTUFF NO. INVOIS: 567
TARIKH: 3 Ogos 2016
10, Jalan Bunga 3/A
50010 Perindustrian Jaya No. Pelanggan: 56
Selangor
Kepada:
Food Inc.
20, Jalan Utama
40110 Shah Alam
KUANTITI ITEM DESKRIPSI HARGA AMAUN
ID SEUNIT (RM)
Coombs Maple Syrup (RM)
10 546 Bragg Apple Cider Vinegar 300
5 823 Chef Anton’s Cajun Seasoning 30 100
8 713 20 64
8
JUMLAH 464
MATA PELAJARAN: SAINS KOMPUTER
PENGAJARAN : 18
STANDARD KANDUNGAN : 2.1 Bahasa Pertanyaan Berstruktur: SQL (Structure
MASA Query Language)
TINGKATAN : 1 jam 30 minit
:5
2.1.2 STANDARD PEMBELAJARAN
Menghasilkan skema hubungan yang ternormal (normalize) dari permasalahan yang
diberi
OBJEKTIF:
Murid boleh
1. Memahami tujuan dan cara-cara proses normalisasi dalam mengatur data dilakukan.
2. Memahami masalah dan penyelesaian ketekalan dalam data (data inconsistencies).
3. Memahami langkah mengendali ketekalan dalam data.
BAHAN BANTU MENGAJAR:
1. Kad Jadual sebelum penormalan dan selepas penormalan (manila kad / kertas majong) –
tiru carta/jadual yang terdapat dalam slaid pernomalan (normalization)
GLOSARI:
1. Penormalan – proses menyusun data dengan melihat kepada atribut masing-masing
supaya tiada kelewahan data (data redundancy) dan hanya satu butir data yang
digunakan.
2. Hubungan (Relation) – adalah pautan antara dua data yang berada di jadual berlainan.
Hubungan mereka dipautkan dengan menggunakan kunci primer (prime key).
3. Pangkalan data hubungan (relational database) – model pangkalan data di mana data
diatur dalam format jadual logikal dengan mengumpulkan data yang sama ke dalam
jadual yang dipautkan oleh medan utama (key field).
PERSEDIAAN SEBELUM KELAS MASA: Tiada
1. Menyediakan:
kad carta/jadual sebelum penormalan
kad carta/jadual selepas penormalan
Untuk lebih interaktif, kad ini boleh dicantum dan dileraikan untuk menunjukkan
proses penormalan yang berlaku.
2. Menggunakan slaid PowerPoint yang disediakan untuk memudahkan pemahaman
murid serta membantu guru semasa proses penerangan di mana murid diminta untuk
membentuk 4 kumpulan.
(Carta/jadual sama seperti yang ada dalam slaid PowerPoint)
SET INDUKSI MASA: 15 minit
1. Murid dimaklumkan bahawa proses penormalan ialah satu proses untuk
mengumpulkan atribut-atribut ke dalam hubungan tertentu bagi mengatur satu set
hubungan yang mempunyai ciri-ciri yang baik dan sesuai untuk mengurangkan
kelewahan data.
2. Murid ditunjukkan dengan contoh satu jadual yang tidak dinormalkan (Slaid 2,
Lampiran 1) dan diminta memberi pendapat tentang maklumat yang mungkin
diperoleh semasa membaca jadual yang dipaparkan.
3. Seterusnya, murid ditunjukkan satu lagi bentuk jadual yang telah dinormalkan (dalam
Slaid 3, Lampiran 1).
4. Murid diminta memberi pendapat mereka tentang perbezaan antara jadual sebelum
pernormalan dan selepas pernormalan (yakni lebih mudah dianalisis, lebih mudah
mengenalpasti sesuatu maklumat yang diperlukan).
MEMUPUK PEMAHAMAN MASA: 20 minit
1. Murid diberikan penerangan tentang cara jadual ini (Slaid 2 dan 3, Lampiran 1)
dinormalkan dan sebab-sebab ia melalui proses ini (mengurangkan kelewahan data,
jadual lebih mudah dibaca)
2. Sebelum penormalan, jadual terdiri dari 8 medan (fields) (Slaid 2, Lampiran 1).
3. Proses pertama yang berlaku ialah proses penormalan tahap pertama (1NF – 1 normal
form) untuk mengeluarkan data yang berulang.
4. Penormalan tahap kedua (2NF) berlaku apabila jadual yang dibina diberi ‘kunci
primer’ (primary key) untuk menyediakan kebergantungan fungsi (functional
dependency).
5. Penormalan tahap ketiga (3NF) pula terjadi apabila pergantungan transitif dihapuskan
(eliminated transitive dependencies).
6. Database yang berada pada penormalan tahap ketiga tidak akan mempunyai sebarang
data berulang dalam jadualnya (prevents redundant data being stored).
PENYERTAAN SECARA AKTIF (AKTIVITI 1) MASA: 25 minit
1. Setiap kumpulan diminta untuk menyumbangkan pandangan tentang kebarangkalian
aturan data yang mungkin dibina berdasarkan contoh jadual tidak normal yang
ditunjukkan.
2. Wakil setiap kumpulan diminta untuk cuba-cuba membina jadual yang mereka fikirkan
mungkin wujud semasa proses penormalan dilakukan.
3. Satu kumpulan untuk satu bentuk penormalan dan ahli lain diminta untuk
menyumbangkan pandangan mereka dengan justifikasi.
4. Perbincangan berlangsung sehingga penormalan tahap ketiga dan sehingga mereka
mencapai bentuk jadual yang ideal.
KESIMPULAN MASA: 5 minit
Murid menerangkan kebaikan membuat penormalan untuk sesuatu jadual yang terlibat
dalam satu pangkalan data. Tajuk pernormalan sangat berkait rapat dengan tajuk Gambar
Rajah Hubungan Entiti (ERD).
Murid menyatakan kebaikan proses ini adalah untuk memudahkan pembangun sistem
membuat penambahbaikan pada sistem pada masa akan datang.
TOPIK AKAN DATANG MASA: 1 minit
Guru menunjukkan beberapa contoh (Slaid 4 dan 5, Lampiran 1) pangkalan data untuk
menarik minat murid pada topik yang akan datang iaitu topik membina pangkalan data.
10/27/2018
Pengajaran 18
Penormalan (Normalization)
2.1.2
(Slaid 2): Contoh Jadual Tidak Ternomal
ISBN Tajuk Pengarang ID Murid Nama NoTelefon Tarikh Pinjam Tarikh Pulang
PNA2171 0123947922 2017-01-13 2017-02-03
Fundamentals in Murshid Rahman 290710 Ahmad Ali
PNC9872 Design and 0123947922
PNC1325 Enineering Akmal Musa 290710 Ahmad Ali 0115551234 2017-04-24 2017-05-09
PND7652 M Key Lang 290713 John Muthu 0155552222 2017-01-20 2017-02-12
PNK4231 Hafazan Terkini Michael Low 0123947922
John Arul 290714 Chong L. W. 2017-03-22 2017-04-11
Pengilangan Bahan
Lengai 290710 Ahmad Ali 2017-03-11 2017-03-28
Materials in Civil
Engineering
Perisian Mudah Ali
1
10/27/2018
(Slaid 3): Contoh Jadual Ternomal
ISBN Table_Pinjaman TPulang
PNA2171 2017-02-03
PNC9872 ID Murid TPinjam 2017-05-09
PNC1325 2017-02-12
PND7652 290710 2017-01-13 2017-04-11 Table_Murid
PNK4231 2017-03-28
ID Murid Nama NoTelefon
290710
290710 2017-04-24 290713 Ahmad Ali 0123947922
290714
290713 2017-01-20 John Muthu 0115551234
290714 2017-03-22 Chong L.W 0155552222
290710 2017-03-11
ISBN Table_Book Pengarang
PNA2171
PNC9872 Tajuk
PNC1325
Design and Enineering Murshid Rahman
PND7652
Hafazan Terkini Akmal Musa
PNK4231
Pengilangan Bahan M Key Lang
Lengai
Materials in Civil Michael Low
Engineering
Perisian Mudah Ali John Arul
(Slaid 4): Contoh Pangkalan Data & SQL
DROP TABLE Pinjaman;
DROP TABLE Murid;
DROP TABLE Buku;
CREATE TABLE Murid (
IDMurid int(5),
Nama varchar(30),
NoTelefon PRIMARY KEY (IDMurid)
);
CREATE TABLE Buku (
ISBN char(13),
Tajuk varchar(30),
PengarangPRIMARY KEY (ISBN)
);
CREATE TABLE Pinjaman (
ISBN char(13),
IDMurid int(5),
TPinjam date,
TPulang date,
PRIMARY KEY (ISBN, IDMurid),
FOREIGN KEY (ISBN) REFERENCES Buku(ISBN),
FOREIGN KEY (IDMurid) REFERENCES Murid(IDMurid)
);
2
10/27/2018
(Slaid 5): Contoh Pangkalan Data & SQL
Jadual Wayang
id tajuk genre tempoh
1 Upin & Ipin Animasi 65
SELECT id, tajuk 2 Adiwira Ku Drama 94
FROM wayang 98
WHERE tempoh>= 86 3 Kanang: Anak Langkau Aksi 95
AND genre = ’Komedi'
ORDER BY tempoh; 86
4 Abang Long Fadil 2 Komedi
5 Nujum Pak Belalang Komedi
3
MATA PELAJARAN: SAINS KOMPUTER
PENGAJARAN : 19
STANDARD KANDUNGAN : 2.1 Bahasa Pertanyaan Berstruktur: SQL (Structure
MASA Query Language)
TINGKATAN : 2 jam
:5
STANDARD PEMBELAJARAN
2.1.3 Membina pangkalan data hubungan menggunakan SQL: Table
OBJEKTIF:
Murid boleh
1. Menterjemah model data konseptual kepada model data logikal.
2. Memperoleh satu set jadual melalui pemetaan ERD kepada jadual hubungan.
3. Mentakrifkan jadual SQL.
4. Membina dan menghapus jadual SQL menggunakan pernyataan-pernyataan DDL.
5. Mengaplikasi kekangan integriti SQL dalam pembinaan jadual.
BAHAN BANTU MENGAJAR:
1. Satu set Powerpoint slaid bagi pembelajaran modul. Sila rujuk Lampiran 1.
2. Perisian sistem pengurusan pangkalan data hubungan (RDBMS) telah dipasang di
komputer seperti MySQL (sumber terbuka) atau Oracle Express Edition (percuma) untuk
membina jadual SQL. Ketika ini, tidak semua pernyataan-pernyataan SQL, terutamanya
DDL disokong oleh Microsoft Access. Guru boleh menggunakan MySQL sama ada
melalui Xampp atau Wamp. Contoh-contoh yang ditunjukkan dalam modul ini
menggunakan MySQL (Xampp/phpMyAdmin).
3. Arahan tugasan. Sila rujuk Lampiran 3.
GLOSARI:
1. Bahasa Definisi Data: Data Definition Language: DDL) – Sub bahasa SQL yang
digunakan untuk mentakrifkan kerangka atau struktur pangkalan data.
2. Bahasa Manipulasi Data: Data Manipulation Language (DML) – Sub bahasa SQL yang
digunakan untuk memanipulasi atau mengolah data dalam pangkalan data.
3. Baris – Satu rekod individu atau tupel.
4. Jadual – Jadual dua dimensi yang bernama dan mempunyai lajur dan baris.
5. Jenis data – Set nilai yang mungkin bagi sesuatu atribut seperti Character, Numeric dan
Datetime.
6. Kunci asing – Atribut yang mengandungi nilai kunci primer daripada jadual sasaran.
7. Kunci primer – Atribut nilai tunggal atau gabungan dua atau lebih atribut yang boleh
mengecam setiap entiti secara unik.
8. Lajur – Satu atribut atau medan.
9. Pangkalan Data – Satu sistem himpunan data yang berkaitan dan tersusun, yang dapat
dicapai dan digunakan.
10. Sistem Pengurusan Pangkalan Data: Database Management System (DBMS) – Perisian
aplikasi yang mengurus, menyediakan storan, mengelola, mendapat semula, memastikan
keutuhan sekuriti, dan memudahkan pembinaan jadual dan pelaporan data dalam
pangkalan data.
11. Sistem Pengurusan Pangkalan Data Hubungan: Relational Database Management
System (RDBMS) – DBMS yang membolehkan pembinaan jadual berpandukan skema
hubungan.
PERSEDIAAN SEBELUM KELAS MASA: Tiada
Menyediakan seperti berikut:
Perisian RDBMS dipasang di beberapa komputer di makmal komputer.
Murid dibahagikan kepada sekumpulan tiga atau empat orang untuk mendapatkan
bilangan kumpulan yang genap untuk aktiviti dan tugasan. Satu komputer yang dipasang
dengan RDBMS disediakan untuk setiap kumpulan.
SET INDUKSI MASA: 15 minit
Proses Penghasilan Sebuah Pangkalan Data Ternormal:
Melalui bimbingan guru, murid berbincang mengenai langkah-langkah untuk menghasilkan
pangkalan data hubungan. Ringkasan langkah-langkah manghasilkan pangkalan data
ditunjukkan di Slaid 2, Lampiran 1.
Penghasilan Model Data Logikal:
1. Menggunakan penyelesaian ERD senario kes “Pinjaman Buku dari Pusat Sumber” dari
Pengajaran 17 – 2.1.1 (Slaid 3, Lampiran 1), murid bekerja dalam kumpulan bagi
menterjemahkan lakaran ERD yang telah dibuat sebelum ini kepada lakaran bentuk
“Jadual Hubungan”.
2. Perkara yang perlu diberi perhatian dalam menterjemahan ERD kepada jadual
hubungan ialah penggunaan kekardinalan dalam menentukan:
a. Set bilangan jadual yang sesuai dihasilkan; dan
b. Kunci asing yang menghubungkan dua jadual yang berkaitan.
3. Murid seterusnya memasukkan tiga rekod data sampel bagi setiap entiti dan menyusun
data entiti-entiti ke dalam lajur dan baris semua jadual-jadual.
4. Guru boleh merujuk kepada Slaid 4, Lampiran 1 untuk satu contoh penyelesaian jadual
hubungan “Pinjaman Buku dari Pusat Sumber”.
5. Daripada set jadual hubungan “Pinjaman Buku dari Pusat Sumber” yang dihasilkan,
murid ditunjukkan skema hubungan (Slaid 5, Lampiran 1).
6. Murid diberi pengenalan mengenai jenis data iaitu set nilai yang mungkin bagi sesuatu
atribut melalui contoh ‘Jadual Murid’ (Slaid 6, Lampiran 1).
7. Murid bekerja dalam kumpulan untuk mentakrifkan jenis dan saiz data yang sesuai
bagi setiap lajur set jadual hubungan “Pinjaman Buku dari Pusat Sumber”.
MEMUPUK PEMAHAMAN MASA: 60 minit
Penggunaan Perisian Sistem Pengurusan Pangkalan Data Hubungan (RDBMS):
a) Dengan pelaksanaan SQL dalam pelbagai RDBMS, murid mempelajari
menggunakan perisian RDBMS yang dipilih terlebih dahulu sebelum boleh
membina jadual-jadual dan memproses pertanyaan (query). Dokumen
sokongan perisian seperti panduan penggunaan perisian boleh dimuat turun dari
beberapa laman web.
b) Melalui bimbingan guru, murid bekerja dalam kumpulan untuk mempelajari
menggunakan perisian RDBMS yang dipilih. Bagi perisian MySQL, buka
phpMyAdmin dan bina pangkalan data terlebih dahulu melalui salah satu cara
di bawah sebelum jadual-jadual hubungan dapat dimasukkan.
1. Menaip pernyataan DDL CREATE DATABASE di tab (Slaid
7, Lampiran 1); atau
2. Klik tab , taip nama pangkalan data di tab
dan klik (Slaid 8, Lampiran 1).
Pembinaan Jadual SQL (SQL: Table):
a) Menggunakan perisian MySQL, murid seterusnya mempelajari pernyataan-
pernyataan DDL:
CREATE TABLE – membina jadual SQL; dan
DROP TABLE – menghapus jadual SQL.
b) Murid bekerja dalam kumpulan untuk menghasilkan pangkalan data dengan
membina struktur jadual SQL. Menggunakan skema hubungan “Pinjaman
Buku dari Pusat Sumber”, dan jenis dan saiz data untuk semua jadual, murid
membina jadual-jadual dalam pangkalan data yang telah dibina di atas
mengikut langkah-langkah yang berikut:
1. Menaip pernyataan-pernyataan DDL CREATE TABLE di tab
(Slaid 9, Lampiran 1) dan klik untuk membina semua jadual-jadual
tersebut (Slaid 10, Lampiran 1).
2. Selain daripada langkah 1 di atas, murid juga boleh membina jadual-jadual
melalui tab dengan;
a. mengisi nama jadual dan bilangan lajur, klik (Slaid 11,
Lampiran 1), dan (Slaid 12,
b. mengisi butir-butiran setiap lajur dan klik
Lampiran 1).
3. Klik tab bagi memastikan semua jadual-jadual telah dibina
(Slaid 13, Lampiran 1).
4. Di belah kanan setiap jadual, klik untuk memastikan skema
jadual dibina dengan betul. Murid memeriksa semua skema jadual-jadual
(Slaid 14, Lampiran 1).
c) Murid boleh menghapuskan jadual yang dibina melalui melalui salah satu cara
di bawah :
1. Menaip pernyataan DDL DROP TABLE di tab (Slaid 15,
Lampiran 1), klik untuk menghapus jadual yang berkenaan (Slaid
16, Lampiran 1); atau
2. Di sebelah kanan jadual, klik untuk menghapus jadual yang
berkenaan (Slaid 17, Lampiran 1). Murid harus diingatkan bahawa
pernyataan tersebut meghapuskan struktur jadual dan juga data jadual.
Perbuatan tersebut tidak boleh dibuat asal semula (undo).
PENYERTAAN SECARA AKTIF MASA: 30 minit
Melalui bimbingan guru, murid berkerja dalam kumpulan bagi menyelesaikan tugasan
menghasilkan jadual SQL bagi kes yang disediakan di Lampiran 2.
KESIMPULAN MASA: 10 minit
a. Murid menerangkan bagaimana menterjemahkan model data konseptual kepada model
data logikal.
b. Murid menjelaskan pemetaan entiti-entiti dan hubungan melalui jenis kekardinalan
bagi mendapatkan set bilangan jadual yang sesuai dan menentukan kunci asing.
c. Murid menunjukkan langkah-langkah serta pernyataan-pernyataan SQL DDL yang
digunakan melalui perisian RDBMS untuk menghasilkan dan menghapuskan jadual
SQL.
TOPIK AKAN DATANG MASA: 1 minit
Pernyataan-pernyataan DDL dalam modul ini digunakan untuk membangunkan kerangka
pangkalan data iaitu jadual-jadual SQL. Sebaliknya, pernyataan-pernyataan DML (2.1.4
Menggunakan SQL untuk memanipulasi data: (i) Sisip/Tambah, (ii) Padam, dan (iii)
Kemaskini) digunakan untuk mengisi dan memanipulasi data-data dalam jadual.
10/27/2018
Pengajaran 19
Membina pangkalan data hubungan menggunakan
SQL: Table
1
Proses Penghasilan Pangkalan
Data Hubungan
1. Menentukan tujuan pangkalan data yang ingin
dibina.
2. Mencari dan mengatur data yang diperlukan.
3. Mereka bentuk model data konseptual melalui
lakaran gambar rajah perhubungan entiti (ERD).
4. Mereka bentuk model data logikal melalui
penghasilan jadual hubungan.
5. Menggunakan peraturan penormalan untuk
memastikan jadual distruktur dengan betul.
6. Membina jadual menggunakan sistem pengurusan
pangkalan data hubungan yang dipilih.
2
1
10/27/2018
Contoh penyelesaian ERD “Pinjaman
buku dari Pusat Sumber”
IDMurid Nama IDMurid ISBN
1 M TPinjam
Pinjaman TPulang
Murid membuat
M
ISBN 1
Tajuk
Buku dipinjam
3
Contoh penyelesaian Jadual Hubungan
“Pinjaman buku dari Pusat Sumber”
Buku Tajuk Murid Nama
ISBN Essentials of Database IDMurid Khatijah Ibrahim
1-234-10478-9 Introduction to SQL 10234 Ramlee Hussain
1-345-90156-1 MySQL by Example 11009 Lim Choo Kin
3-765-21130-4 12541
Kunci Asing
Pinjaman IDMurid TPinjam TPulang
ISBN 10234 1-OKT-2017 15-OKT-2017
1-234-10478-9 12541 2-OKT-2017 16-OKT-2017
3-765-21130-4 10234 3-OKT-2017 16-OKT-2017
3-765-21130-4
4
2
10/27/2018
Skema Hubungan “Pinjaman buku
dari Pusat Sumber”
Murid (IDMurid, Nama)
Kunci Primer IDMurid
Buku (ISBN, Tajuk)
Kunci Primer ISBN
Pinjaman (ISBN, IDMurid, TPinjam, TPulang)
Kunci Primer ISBN, IDMurid, TPinjam
Kunci Asing ISBN rujukan Buku(ISBN)
Kunci Asing IDMurid rujukan Murid(IDMurid)
5
Jenis Data untuk Jadual Murid
Atribut Nama Deskripsi Jenis dan Saiz Data
IDMurid Numeric: saiz 5
Nombor pengenalan Set semua nombor
Nama murid pengenalan murid yang
berkemungkinan
Nama Set semua nama murid Character: saiz 30
yang berkemungkinan
Beberapa jenis data ISO SQL yang biasa digunakan
Jenis Data Pengisytiharan
Character CHAR VARCHAR
Numeric NUMERIC INTEGER
Datetime DATE TIME
6
3
10/27/2018
BINA PANGKALAN DATA (Tab SQL)
7
BINA PANGKALAN DATA (Tab Databases)
8
4
10/27/2018
BINA JADUAL
CREATE TABLE Murid (
IDMurid int(5),
Nama varchar(30),
PRIMARY KEY (IDMurid)
);
CREATE TABLE Pinjaman (
ISBN char(13),
IDMurid int(5),
TPinjam date,
TPulang date,
PRIMARY KEY (ISBN, IDMurid, TPinjam),
FOREIGN KEY (ISBN) REFERENCES Buku(ISBN),
FOREIGN KEY (IDMurid) REFERENCES Murid(IDMurid)
);
9
BINA JADUAL (Tab SQL)
10
5
10/27/2018
BINA JADUAL (Tab Structure)
11
BINA JADUAL (Jadual)
12
6
10/27/2018
Tab Structure – Set Jadual
13
Struktur Jadual
14
7
10/27/2018
HAPUS JADUAL
• Menghapuskan jadual sedia ada dari pangkalan
data.
• Perbuatan tidak boleh dibuat asal semula (undo).
• Pernyataan untuk DROP jadual ialah:
DROP TABLE Murid;
15
HAPUS JADUAL (Tab SQL)
16
8
10/27/2018
HAPUS JADUAL (Ikon DROP)
17
9
Lampiran 2
a) Terjemah ERD “Pesanan Pembelian” yang dihasilkan di Pengajaran 17 – 2.1.1 kepada skema
hubungan. Nyatakan nama jadual, atribut, kunci-kunci primer dan kunci-kunci asing (di mana
berkenaan).
b) Berdasarkan skema hubungan yang dihasilkan dari soalan a) dan menggunakan pernyataan-
pernyataan SQL DDL, bina struktur jadual-jadual bagi kes “Pesanan Pembelian”.
MATA PELAJARAN: SAINS KOMPUTER
PENGAJARAN : 20
STANDARD KANDUNGAN : 2.1 Bahasa Pertanyaan Berstruktur: SQL (Structure
MASA Query Language)
TINGKATAN : 1 jam 30 minit
:5
2.1.4 STANDARD PEMBELAJARAN
Menggunakan SQL untuk memanipulasi data:
(i) Sisip/Tambah
(ii) Padam
(iii) Kemaskini
OBJEKTIF:
Murid boleh
1. Menambah baris data baru ke dalam jadual menggunakan pernyataan SQL INSERT.
2. Memadam baris data sedia ada dari jadual menggunakan pernyataan SQL DELETE.
3. Mengemaskini data sedia ada dalam jadual menggunakan pernyataan SQL UPDATE.
BAHAN BANTU MENGAJAR:
1. Satu set Powerpoint slaid bagi pembelajaran modul. Sila rujuk Lampiran 1.
2. Perisian sistem pengurusan pangkalan data hubungan (RDBMS) telah dipasang di
komputer seperti MySQL (sumber terbuka) atau Oracle Express Edition (percuma) untuk
membina jadual SQL. Ketika ini, tidak semua pernyataan-pernyataan SQL, terutamanya
DDL disokong oleh Microsoft Access. Guru boleh menggunakan MySQL sama ada
melalui Xampp atau Wamp. Contoh-contoh yang ditunjukkan dalam modul ini
menggunakan MySQL (Xampp/phpMyAdmin).
3. Arahan tugasan. Sila rujuk Lampiran 3.
GLOSARI:
1. Bahasa Definisi Data: Data Definition Language: DDL) – Sub bahasa SQL yang
digunakan untuk mentakrifkan kerangka atau struktur pangkalan data.
2. Bahasa Manipulasi Data: Data Manipulation Language (DML) – Sub bahasa SQL yang
digunakan untuk memanipulasi atau mengolah data dalam pangkalan data.
3. Baris – Satu rekod individu atau tupel.
4. Jadual – Jadual dua dimensi yang bernama dan mempunyai lajur dan baris.
5. Lajur – Satu atribut atau medan.
6. Pangkalan Data – Satu sistem himpunan data yang berkaitan dan tersusun, yang dapat
dicapai dan digunakan.
7. Sistem Pengurusan Pangkalan Data: Database Management System (DBMS) – Perisian
aplikasi yang mengurus, menyediakan storan, mengelola, mendapat semula, memastikan
keutuhan sekuriti, dan memudahkan pembinaan jadual dan pelaporan data dalam
pangkalan data.
8. Sistem Pengurusan Pangkalan Data Hubungan: Relational Database Management System
(RDBMS) – DBMS yang membolehkan pembinaan jadual berpandukan skema
hubungan.
PERSEDIAAN SEBELUM KELAS MASA: Tiada
Menyediakan seperti yang berikut:
Satu set Powerpoint slaid seperti di Lampiran 1.
Perisian RDBMS dipasang di beberapa komputer di makmal komputer.
Murid dibahagikan kepada sekumpulan tiga atau empat orang untuk mendapatkan
bilangan kumpulan yang genap untuk aktiviti dan tugasan. Satu komputer yang
dipasang dengan RDBMS disediakan untuk setiap kumpulan.
SET INDUKSI MASA: 20 minit
Pemahaman Manipulasi Data:
Murid menerangkan bagaimana proses memasukkan data baharu, memadamkan data dan
mengemaskini data dilaksanakan menggunakan perisian pangkalan data Microsoft Access.
Penggunaan Perisian Sistem Pengurusan Pangkalan Data Hubungan (RDMBS):
1. Murid bekerja dalam kumpulan membuat persediaan menggunakan perisian RDBMS
terlebih dahulu sebelum mula menggunakan SQL untuk manipulasi data dan
menjalankan pertanyaan (query). Dokumen sokongan perisian seperti panduan
penggunaan perisian boleh dimuat turun dari beberapa laman web.
2. Melalui bimbingan guru, murid membuat perbandingan mengenai perbezaan antara
Microsoft Access dan perisian RDBMS yang dipilih seperti MySQL
(Xampp/phpMyAdmin) dari segi antara muka dan perlaksanaan pernyataan SQL.
3. Bagi perisian MySQL, murid membuka phpMyAdmin dan klik pangkalan data yang
telah dibina semasa Pengajaran 19 - 2.1.3.
4. Klik di belah kanan setiap jadual bagi memeriksa jenis dan saiz data setiap
lajur jadual pangkalan data “Pinjaman Buku dari Pusat Sumber”. Untuk memasukkan
data baharu ke dalam jadual, murid perlu mengetahui jenis dan saiz data bagi setiap
jadual.
MEMUPUK PEMAHAMAN MASA: 15 minit
Sisip/Tambah (INSERT):
1. Murid diberi penerangan mengenai penggunaan sintaks INSERT dan ditunjukkan
contoh menambah dua rekod data baharu ke dalam jadual Pinjaman pangkalan data
“Pinjaman Buku dari Pusat Sumber” (Slaid 2, Lampiran 1).
2. Murid bekerja dalam kumpulan untuk menambah rekod-rekod data dalam semua
jadual seperti dalam model hubungan “Pinjaman Buku dari Pusat Sumber” yang dibina
semasa Pengajaran 19 – 2.1.3. Rekod data ditambah melalui salah satu cara dibawah:
a. Menaip pernyataan INSERT di tab dan klik untuk menambah
rekod data ke dalam jadual yang berkenaan (Slaid 3, Lampiran 1); atau
b. Di sebelah kanan jadual, klik untuk menambah rekod data ke dalam
jadual yang berkenaan dan klik (Slaid 4, Lampiran 1).
3. Murid boleh melihat rekod data baharu yang ditambah dengan mengklik di
sebelah kanan jadual atau dengan menaip pernyataan berikut di tab :
SELECT * FROM Pinjaman;
4. Berdasarkan Slaid 2, Lampiran 1, murid menjawab soalan berikut:
Bagaimana untuk memasukkan nilai NULL dengan kaedah pertama?; dan
Apakah nilai atribut atau lajur yang dimasukkan sekiranya atribut itu tidak dinyatakan
seperti dalam kaedah kedua?
Padam (DELETE):
1. Murid diberi penerangan mengenai penggunaan sintaks DELETE dengan dua kaedah
iaitu
memadam semua rekod data sedia ada, dan
memadam rekod data sedia ada yang khusus.
Murid ditunjukkan contoh memadam rekod data sedia ada dari jadual Pinjaman
pangkalan data “Pinjaman Buku dari Pusat Sumber” (Slaid 5, Lampiran 1).
2. Murid bekerja dalam kumpulan untuk memadam rekod-rekod data dalam jadual
melalui salah satu cara dibawah:
a. Menaip pernyataan DELETE di tab dan klik untuk memadam
rekod data ke dalam jadual yang berkenaan (Slaid 6, Lampiran 1); atau
b. Di sebelah kanan jadual, klik dan klik di sebelah rekod
data khusus yang ingin dipadamkan (Slaid 7, Lampiran 1).
Kemaskini (UPDATE):
1. Murid diberi penerangan mengenai penggunaan sintaks UPDATE dengan dua kaedah
iaitu
Mengemaskini semua rekod data sedia ada, dan
Mengemaskini rekod data sedia ada yang khusus.
Murid ditunjukkan contoh menegemaskini rekod data sedia ada dari jadual Pinjaman
pangkalan data “Pinjaman Buku dari Pusat Sumber” (Slaid 8, Lampiran 1).
2. Murid bekerja dalam kumpulan untuk mengemaskini rekod-rekod data dalam jadual
melalui salah satu cara dibawah:
a. Menaip pernyataan UPDATE di tab dan klik untuk
mengemaskini rekod data dalam jadual yang berkenaan (Slaid 9, Lampiran 1);
atau
b. Di sebelah kanan jadual, klik dan klik di sebelah rekod data
khusus yang ingin dikemaskinikan (Slaid 10, Lampiran 1).
PENYERTAAN SECARA AKTIF (AKTIVITI 1) MASA: 30 minit
Melalui bimbingan guru, murid berkerja dalam kumpulan bagi menyelesaikan tugasan berikut
untuk pangkalan data “Pesanan Pembelian”.
Menggunakan pernyataan SQL:
1. Tambah sekurang-kurangnya satu rekod baharu bagi setiap jadual yang terdapat dalam
pangkalan data “Pesanan Pembelian”.
2. Padam satu rekod dari jadual Item.
3. Tukar data alamat sedia ada dari satu rekod jadual Pelanggan kepada alamat yang
berikut:
Alamat = ‘No. 10, Jalan Takraw, Shah Alam’
KESIMPULAN MASA: 5 minit
Murid menyatakan pernyataan-pernyataan Bahasa Manipulasi Data (DML) bagi:
i. Sisip/Tambah – menambah data baru ke dalam jadual,
ii. Padam – memadam data dari jadual, dan
iii. Kemaskini – mengemaskini data dalam jadual.
TOPIK AKAN DATANG MASA: 1 minit
Modul seterusnya menggunakan sub bahasa DML iaitu Bahasa Pertanyaan Data (Data Query
Language) bagi mendapatkan semula data dalam pangkalan data (2.1.5 Menggunakan SQL
SELECT untuk mendapatkan semula data menggunakan GROUP BY dan ORDER BY).
10/27/2018
Pengajaran 20
Menggunakan SQL untuk memanipulasi data:
(i) Sisip/Tambah
(ii) Padam
(iii) Kemaskini
1
MENAMBAH REKOD MELALUI:
INSERT INTO … VALUES
• Menambah baris data baru ke dalam jadual melalui
kaedah:
1. INSERT INTO Pinjaman VALUES (‘1-234-10478-
9’, 10234, ‘2017-10-1’, ‘2017-10-15’);
2. INSERT INTO Pinjaman (ISBN, IDMurid,
TPinjam) VALUES (‘3-765-21130-4’, 12541,
‘2017-10-2’);
2
1
10/27/2018
MENAMBAH REKOD MELALUI:
INSERT INTO (Tab SQL)
3
MENAMBAH REKOD MELALUI:
INSERT INTO (Tab INSERT)
10234
4
2
10/27/2018
MEMADAM REKOD MELALUI:
DELETE FROM
• Memadam baris data sedia ada dari jadual.
Memadam semua baris data:
DELETE FROM Pinjaman;
Memadam baris data yang khusus:
DELETE FROM Pinjaman
WHERE IDMurid = 10234;
5
MEMADAM REKOD MELALUI:
DELETE FROM (Tab SQL)
6
3
10/27/2018
MEMADAM REKOD MELALUI:
DELETE FROM (Tab BROWSE)
7
MENGEMASKINI DATA
MELALUI:
UPDATE … SET
• Mengemaskini baris data sedia ada dalam jadual.
Mengemaskini semua baris data:
UPDATE Pinjaman
SET Tpulang = ‘2017-10-31’;
Mengemaskini baris data yang khusus:
UPDATE Pinjaman
SET Tpulang = ‘2017-10-31’
WHERE IDMurid = 12541;
8
4
10/27/2018
MENGEMASKINI DATA
MELALUI: (Tab SQL)
UPDATE … SET
9
MENGEMASKINI DATA
MELALUI:
UPDATE … SET (Tab INSERT)
10
5
MATA PELAJARAN: SAINS KOMPUTER
PENGAJARAN : 21
STANDARD KANDUNGAN : 2.1 Bahasa Pertanyaan Berstruktur: SQL (Structure
MASA Query Language)
TINGKATAN : 1 jam
:5
2.1.5 STANDARD PEMBELAJARAN
Menggunakan SQL SELECT untuk mendapatkan semula data menggunakan:
(i) GROUP BY
(ii) ORDER BY
OBJEKTIF:
Murid boleh
1. Menggunakan SQL SELECT untuk mendapatkan semula data menggunakan GROUP
BY.
2. Menggunakan SQL SELECT untuk mendapatkan semula data menggunakan ORDER
BY.
GLOSARI:
1. GROUP BY – fungsi ini digunakan untuk mengumpulkan keputusan yang ditetapkan
oleh satu lajur atau lebih. Ia biasanya digunakan dengan fungsi agregat seperti COUNT,
MAX, MIN, SUM, AVG, yang akan dipelajari di pelajaran seterusnya.
2. ORDER BY – fungsi ini digunakan untuk menyisih (sort) hasil dapatan carian (query)
dengan tertib menaik atau menurun. Secara lalai (default), susunan adalah mengikut tertib
menaik.
PERSEDIAAN SEBELUM KELAS MASA: Tiada
1. Menyediakan beberapa set arahan bagi murid menyenaraikan maklumat dari data yang
diedarkan seperti di lampiran-lampiran yang disediakan.
2. Menyediakan beberapa arahan SQL untuk aktiviti dalam kumpulan.
3. Mempastikan pangkalan data Jadual: Pelanggan seperti Lampiran 1 dan Lampiran 4 (1.
ORDER BY, 2. GROUP BY) sedia ada di komputer murid.
SET INDUKSI MASA: 15 minit
1. Guru menunjukkan data dalam jadual pangkalan data. (Lampiran 1, Jadual: Pelanggan)
2. Murid diarah untuk menyenaraikan maklumat Pelanggan yang mengandungi
NamaPelangan, Bandar dan Poskod dari jadual Pelangan dan disusun mengikut
“Bandar”. Murid diminta menyenaraikan data yang diminta. – pada papan putih
(whiteboard). (Contoh Jawapan – Lampiran 2)
MEMUPUK PEMAHAMAN MASA: 15 minit
1. Guru menunjukkan contoh set data (Lampiran 2) yang telah siap di manipulasi dari
pangkalan data.
2. Setiap kumpulan dikehendaki mengenalpasti apakah arahan yang sesuai untuk
menyenaraikan data tersebut.
3. Setiap kumpulan menampal hasil perbincangan di hadapan kelas.
4. Murid membandingkan setiap jawapan dari semua kumpulan.
5. Murid menyenaraikan persamaan dan perbezaan jawapan.
6. Guru memaklumkan rumusan aktiviti.
PENYERTAAN SECARA AKTIF (AKTIVITI 1) MASA: 20 minit
1. Setiap kumpulan diberikan satu set jadual pangkalan data seperti di Lampiran 1,
Jadual: Pelanggan.
2. Setiap kumpulan diminta menyenaraikan hasil bagi setiap arahan SQL seperti di
Lampiran 3
3. Seorang ahli kumpulan akan tinggal untuk menjadi jurucakap bagi ahli kumpulan.
Manakala ahli kumpulan yang lain akan ke kumpulan lain bagi mendapatkan maklumat
dari kumpulan tersebut.
4. Murid dipilih secara rawak untuk memberi kesimpulan dan dapatan kumpulan masing-
masing secara lisan.
PENYERTAAN SECARA AKTIF (AKTIVITI 2) MASA: 15 minit
1. Guru menerangkan secara ringkas maksud pernyataan SQL SELECT dan SQL
ORDER BY dan GROUP BY
SELECT – digunakan untuk memilih data dari pengkalan data
ORDER BY – digunakan untuk menyisih hasil query berdasarkan satu lajur
atau lebih.
GROUP BY – digunakan untuk untuk mengumpulkan keputusan yang
ditetapkan oleh satu lajur atau lebih
2. Guru memberikan soalan kepada setiap kumpulan menggunakan Lampiran 4.
3. Murid diarah menggunakan komputer untuk mencuba sendiri arahan ORDER BY
untuk mendapatkan data mengikut kehendak soalan dari guru.
4. Murid diarah menggunakan komputer untuk mencuba sendiri arahan GROUP BY
untuk mendapatkan data mengikut kehendak soalan dari guru.
KESIMPULAN MASA: 5 minit
Murid dipilih secara rawak untuk menerangkan perbezaan SQL SELECT menggunakan
ORDER BY dan GROUP BY.
TOPIK AKAN DATANG MASA: 1 minit
Guru bertanya sekiranya murid boleh meneka maksud am AVG, SUM, MAX, MIN
dan COUNT.
Guru memberitahu murid semua ini akan dipelajari pada kelas akan datang.
LAMPIRAN 1
Jadual: Pelanggan
PelangganI NamaPelangga NamaRujuka Alamat Bandar Posko Negeri
Dn n d
1 Khairul Anuar Norhayati 15 Jalan Teluk 36000 Perak
Nordin Anggerik Intan
2 D.J. Dave D. J. Dave 1 Lorong Butterwort 12000 Pulau
Indah, h Pinang
Taman
Cicily
3 P. Ramlee P. Ramlee Taman Kuala 50470 Wilayah
Bukit Lumpur Persekutua
Ampanga n
n
4 Jackie Chan Jackie Chan 8 Jalan Ipoh 30450 Perak
Utama
Greentow
n
5 Philip anak Peter anak 23 Jalan Kuching 93000 Sarawak
Mansopiad Mansopiad Maxwell
Murid menyenaraikan maklumat Pelanggan yang mengandungi NamaPelangan, Bandar dan
Poskod dari jadual Pelangan dan disusun mengikut lajur “Bandar”.
LAMPIRAN 1 – JAWAPAN
NamaPelanggan Bandar Poskod
D. J. Dave Butterworth 12000
Jackie Chan Ipoh 30450
P. Ramlee Kuala Lumpur 50470
Philip anak Mansopiad Kuching 93000
Khairul Anuar Teluk Intan 36000
LAMPIRAN 2
NamaPelanggan Bandar
D. J. Dave Butterworth
Jackie Chan Ipoh
P. Ramlee Kuala Lumpur
Philip anak Mansopiad Kuching
Khairul Anuar Teluk Intan
Apakah arahan untuk dapatkan maklumat diatas dari jadual Pelanggan?
LAMPIRAN 2 – JAWAPAN
NamaPelanggan Bandar
D. J. Dave Butterworth
Jackie Chan Ipoh
P. Ramlee Kuala Lumpur
Philip anak Mansopiad Kuching
Khairul Anuar Teluk Intan
Apakah arahan untuk dapatkan maklumat diatas dari jadual Pelanggan?
SELECT NamaPelangan,Bandar FROM Pelanggan;
LAMPIRAN 3
SELECT * FROM Pelanggan
ORDER BY Negeri
SELECT * FROM Pelanggan
ORDER BY Negeri
SELECT COUNT(PelangganID), Negeri
FROM Pelanggan
GROUP BY Negeri
ORDER BY COUNT(PelangganID) DESC;
SELECT COUNT(PelangganID), Negeri
FROM Pelanggan
GROUP BY Negeri;