Question Cbds2103 Data Structures
Question Cbds2103 Data Structures
Question Cbds2103 Data Structures
___________________________________________________________________________
CBDS2103
DATA STRUCTURES
STRUKTUR DATA
JANUARY 2024
6. This assignment accounts for 60% of the total marks for the course.
Tugasan ini menyumbang sebanyak 60% dari jumlah markah kursus.
ASSIGNMENT QUESTION
PURPOSE
The purpose of this assignment is to develop data structures using C language to solve a
given problem and demonstrate the implementation of appropriate data structure
features with suitable test data and output.
Tujuan tugasan ini adalah untuk membangunkan struktur data menggunakan bahasa C
untuk menyelesaikan masalah tertentu dan menunjukkan pelaksanaan ciri struktur data
yang sesuai dengan data dan output ujian yang sesuai.
PART I / BAHAGIAN I
REQUIREMENT/ASSIGNMENT QUESTION
An advertising firm has requested you to implement a Customer Management System
that will keep up to a maximum of 100 customer records. The customer records to be kept
are:
CustomerID – Integer type to store the customer’s ID
CustomerName – 50 characters to store the name of the customer
CustomerAddress– 50 characters to store the customer’s address
DateOfBirth – Integer type that stores the customer date of birth in this format
DDMMYY
TelephoneNum – 12 characters to store the customer’s telephone number
You would need to create a Customer structure and a link list called CustomerList. Write a
C program that will be able to do the basic linked list operations for the CustomerList:
i. insert new record
ii. traverse the link list
iii. delete from the link list
iv. search the link list
You are requested to test the Customer Management System developed by performing
the following tasks:
a) Declare the Customer structure and the CustomerList link list, using the
information given above.
b) Insert FIVE new customers using a sequential CustomerID.
c) Search for a particular customer by its CustomerName.
d) Search for a particular customer by its DateOfBirth.
e) Delete a particular customer by its CustomerID.
f) Display a list of all customers.
Note: You MUST write C programming codes for this assignment. Codes written in C++ will
not be accepted.
(50 marks)
Dokumentasi yang dihantar mesti mengandungi pengenalan ringkas kepada masalah yang
diberikan, kod program, dan skrin output (tangkapan skrin). Anda mesti menghantar fail
dokumentasi serta fail aturacara .c
Nota: Anda MESTI menulis kod pengaturcaraan C bagi tugasan ini. Kod yang ditulis dalam C+
+ tidak akan diterima.
PART II / BAHAGIAN II
ONLINE CLASS PARTICIPATION (10%)
Discuss the following topic(s) in the forum and submit proof of your participation in the
online discussions:
Share and discuss the design and implementation considerations, including
memory management and time complexity, when utilizing a doubly linked list to
efficiently represent and manipulate a collection of data in a dynamic software
application.
Bincangkan topik berkenaan di dalam forum dan hantar bukti penglibatan forum dalam
perbincangan dalam talian.
Kongsi dan bincangkan pertimbangan reka bentuk dan pelaksanaan, termasuk
pengurusan memori dan kerumitan masa, apabila menggunakan senarai berganda
untuk mewakili dan memanipulasi koleksi data dalam aplikasi perisian dinamik
dengan cekap.
(10 marks)
[Total/ Jumlah: 60 marks/ markah]
INSTRUCTIONS ON HOW TO SUBMIT PROOF OF ONLINE PARTICIPATION (10%)
Do the following:
1. Select the best FIVE (5) of your postings from the forum discussion set up by your tutor.
2. Do screenshots of the postings and include them as images in your assignment.
3. The screenshots should be in image file (either in JPG or PNG format).
4. The screenshots should contain: Name, Title of the discussion, Day, Date and Time.
1 2 Pengisytiharan struktur Pelanggan dan struktur 2.0 Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi 8
senarai terpaut SenaraiPelanggan keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Kod jelas, logic, struktur kawalan yang digunakan daripada keperluan secara asas/ secara lemah. ATAU jawapan
dengan betul. kriteria tetapi ianya minimal. yang salah telah
Struktur pengaturcaraan yang paling sesuai boleh dimantapkan diberikan.
(pemilihan, pengulangan, fail) digunakan. lagi.
Fungsi bersifat modular dan meningkatkan
kejelasan pengaturcaraan
1 2 Linked List Manipulation: Create empty list and 2.0 Met the Mostly met the Basic/ minimally Poorly met the Did not meet 8
insert data function requirements of requirements of met the requirements of criteria at all OR
Linked list is used correctly. the criteria. the criteria but it requirements of the criteria. wrong answer was
Most appropriate programming structures can be improved the criteria. given.
(selection, repetition) are used further.
Functions are modular and increases
programming clarity
Manipulasi Senarai Terpaut: Cipta senarai terpaut Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
kosong dan kemasukkan data keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Senarai terpaut digunakan dengan betul daripada keperluan secara asas/ secara lemah. ATAU jawapan
Struktur pengaturcaraan yang paling sesuai kriteria tetapi ianya minimal. yang salah telah
(pemilihan, pengulangan) digunakan. boleh dimantapkan diberikan.
Fungsi bersifat modular dan meningkatkan lagi.
kejelasan pengaturcaraan
Linked List Manipulation: Test linked list is not Met the Mostly met the Basic/ minimally Poorly met the Did not meet
empty and traverse the linked list requirements of requirements of met the requirements of criteria at all OR
Linked list is used correctly. the criteria. the criteria but it requirements of the criteria. wrong answer was
Most appropriate programming structures can be improved the criteria. given.
(selection, repetition) are used further.
Functions are modular and increases
programming clarity
1 2 2.0 8
Manipulasi Senarai Terpaut: Uji senarai terpaut tidak Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
kosong dan menjelajahi senarai terpaut keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Senarai terpaut digunakan dengan betul daripada keperluan secara asas/ secara lemah. ATAU jawapan
Struktur pengaturcaraan yang paling sesuai kriteria tetapi ianya minimal. yang salah telah
(pemilihan, pengulangan) digunakan. boleh dimantapkan diberikan.
Fungsi bersifat modular dan meningkatkan lagi.
kejelasan pengaturcaraan
1 2 Linked List Manipulation: Test linked list deletion 2.0 Met the Mostly met the Basic/ minimally Poorly met the Did not meet 8
and search function requirements of requirements of met the requirements of criteria at all OR
Linked list is used correctly. the criteria. the criteria but it requirements of the criteria. wrong answer was
Most appropriate programming structures can be improved the criteria. given.
(selection, repetition) are used further.
Functions are modular and increases
programming clarity
Manipulasi Senarai Terpaut: Uji fungsi penghapusan Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
dan pencarian senarai terpaut keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Senarai terpaut digunakan dengan betul daripada keperluan secara asas/ secara lemah. ATAU jawapan
Struktur pengaturcaraan yang paling sesuai kriteria tetapi ianya minimal. yang salah telah
(pemilihan, pengulangan) digunakan. boleh dimantapkan diberikan.
Fungsi bersifat modular dan meningkatkan lagi.
kejelasan pengaturcaraan
Readability, consistency, naming and user Met the Mostly met the Basic/ minimally Poorly met the Did not meet
interface: requirements of requirements of met the requirements of criteria at all OR
Coding style, easy to read and maintain. the criteria. the criteria but it requirements of the criteria. wrong answer was
Consistent and proper naming. can be improved the criteria. given.
Screen based instruction and final output are further.
clear, correct and attractive.
1 2 1.5 6
Kebolehbacaan, ketekalan, penamaan dan antara Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
muka pengguna: keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Gaya pengekodan, mudah dibaca dan daripada keperluan secara asas/ secara lemah. ATAU jawapan
diselenggara. kriteria tetapi ianya minimal yang salah telah
Penamaan yang konsisten dan tepat boleh dimantapkan diberikan.
Arahan berdasarkan skrin dan output akhir yang lagi.
jelas, betul dan menarik
1 3 Robustness and Testing 1.5 Met the Mostly met the Basic/ minimally Poorly met the Did not meet 6
Ability of the program to be compiled and requirements of requirements of met the requirements of criteria at all OR
executed the criteria. the criteria but it requirements of the criteria. wrong answer was
The program can handle erroneous or can be improved the criteria. given.
unexpected input further.
Complete without being redundant, all test
cases are considered
Determination process based on the input.
Correct technique must be chosen and shown in
this part
Displaying all output as required
Kekukuhan dan Ujian: Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi
Keupayaan aturcara untuk dikompil dan keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
dilaksanakan daripada keperluan secara asas/ secara lemah. ATAU jawapan
Aturcara ini dapat menangani input yang salah kriteria tetapi ianya minimal. yang salah telah
atau tidak dijangka boleh dimantapkan diberikan.
Lengkap tanpa kelebihan, semua kes ujian lagi.
dipertimbangkan
Proses penentuan berdasarkan input. Teknik
yang betul mesti dipilih dan ditunjukkan di
bahagian ini
Menunjukkan semua output mengikut keperluan
Complete documentation and correct submission: Met the Mostly met the Basic/ minimally Poorly met the Did not meet
Cover page of assignment requirements of requirements of met the requirements of criteria at all OR
Introduction, description of problem the criteria. the criteria but it requirements of the criteria. wrong answer was
Copy of codes can be improved the criteria. given.
Several screenshots with various input and further.
output
Submission of C source file in extension .c
1 3 Dokumentasi lengkap dan penghantaran yang betul: 1.5 Memenuhi Memenuhi Memenuhi Memenuhi Tidak memenuhi 6
Muka hadapan tugasan keperluan kriteria. kebanyakan keperluan kriteria keperluan kriteria kriteria langsung
Pengenalan, penghuraian masalah daripada keperluan secara asas/ secara lemah. ATAU jawapan
Salinan kod kriteria tetapi ianya minimal. yang salah telah
Beberapa cekupan skrin dengan pelbagai input boleh dimantapkan diberikan.
dan output lagi.
Penghantaran fail sumber C dalam
sambungan .c
Total 12.5 50
*QN = Question Number / *NS = Nombor Soalan
PART II
ASSIGNMENT RUBRICS