You are on page 1of 12

ASSIGNMENT/ TUGASAN

___________________________________________________________________________
CBDS2103
DATA STRUCTURES
STRUKTUR DATA
JANUARY 2024

SPECIFIC INSTRUCTION / ARAHAN KHUSUS

1. Answer in ENGLISH or MALAY.


Jawab dalam BAHASA INGGERIS atau BAHASA MELAYU.

2. Submit your assignment ONCE only in MULTIPLE files.


Hantar tugasan SEKALI sahaja dalam PELBAGAI fail.

3. The program must be written in C LANGUAGE.


Aturcara mesti ditulis dalam BAHASA C.

4. Submit your assignment ONLINE.


Tugasan ini dihantar secara ONLINE.

5. Submission date : 11 Mac 2024


Tarikh penghantaran : 11 Mac 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.

The documentation to be submitted must include a short introduction to the problem


given, the program codes, and output screens (screen shots). You must submit the
documentation file and the .c program file.

The assessment will be based on the following criteria:


i. A proper writing of C codes and its structure

ii. The ability of program to be compiled and executed

iii. Implementation of correct programming techniques


iv. Complete documentation and correct submission

Note: You MUST write C programming codes for this assignment. Codes written in C++ will
not be accepted.
(50 marks)

KEPERLUAN / SOALAN TUGASAN


Suatu firma pengiklanan telah meminta anda mengimplementasikan Sistem Pengurusan
Pelanggan yang akan menyimpan sehingga maksimum 100 rekod pelanggan. Rekod
pelanggan yang disimpan ialah:
 IDPelanggan – Jenis Integer yang menyimpan ID pelanggan
 NamaPelanggan – 50 aksara yang menyimpan nama pelanggan
 AlamatPelanggan – 50 aksara yang menyimpan alamat pelanggan
 TarikhLahir – Jenis integer yang menyimpan tarikh lahir pelanggan dalam format
HHBBTT
 NomTelefon – 12 aksara yang menyimpan nombor telefon pelanggan
Anda perlu membina struktur Pelanggan dan senarai terpaut yang dinamakan
SenaraiPelanggan. Tulis aturcara C yang dapat melakukan operasi asas senarai terpaut untuk
SenaraiPelanggan:
i. Penyisipan nod baru
ii. Menjelajahi senarai terpaut
iii. Penghapusan dari senarai terpaut
iv. Carian dalam senarai
Anda diminta untuk menguji Sistem Pengurusan Pelanggan yang dibangunkan dengan
melakukan fungsi berikut:
a) Isytiharkan struktur Pelanggan dan senarai terpaut SenaraiPelanggan, mengunakan
maklumat yang diberikan di atas.
b) Masukkan LIMA pelanggan baru menggunakan IDPelanggan yang berturutan.
c) Mencari pelanggan menggunakan NamaPelanggan.
d) Mencari pelanggan menggunakan TarikhLahir.
e) Hapuskan pelanggan menggunakan IDPelanggan.
f) Memaparkan senarai semua pelanggan.

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

Penilaian akan dilakukan berdasarkan kepada kriteria berikut:


i. Penulisan kod C yang betul: struktur, kecekapan dan modular
ii. Kebolehbacaan, ketekalan, penamaan dan antara muka pengguna
iii. Kekukuhan dan ujian
iv. Dokumentasi lengkap dan penghantaran yang betul.

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.

ARAHAN BAGI TATACARA PENGHANTARAN SEBAGAI BUKTI AKTIVITI PENYERTAAN


DALAM TALIAN (10%)

Laksanakan perkara berikut:


1. Pilih LIMA (5) hantaran anda yang terbaik dari perbincangan dalam talian yang telah
di sediakan oleh tutor anda.
2. Laksanakan tangkap layar hantaran dan isikan dalam tugasan anda sebagai file
imej.
3. Imej tangkap layar mesti dalam format imej (sama ada JPG atau PNG).
4. Tangkap layar mesti mengandungi: Nama, Tajuk Perbincangan, Hari, Tarikh dan
Masa.

MUKA SURAT TAMAT / END OF PAGE


ATTACHMENT
ASSIGNMENT RUBRICS
QUESTION 1 (50%)
CBDS2103 DATA STRUCTURE/ JAN 2024
Excellent/ Good/ Fair/ Poor/ Unsatisfactory/
*QN/ Criteria/ Weight/ Cemerlang Baik Sederhana Lemah Tidak memuaskan Max
CLO
*NS Kriteria Pemberat Marks
4 3 2 1 0
Declaration of Customer structure and Met the Mostly met the Basic/ minimally Poorly met the Did not meet
CustomerList linked list structure requirements of requirements of met the requirements of criteria at all OR
 Codes are clear, logical, control structure used the criteria. the criteria but it requirements of the criteria. wrong answer was
correctly. can be improved the criteria. given.
 Most appropriate programming structures further.
(selection, repetition, files) are used
 Functions are modular and increases
programming clarity

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

Excellent/ Good/ Fair/ Poor/ Unsatisfactory/ Tidak


*QN/ Criteria/ Weight/ Cemerlang Baik Sederhana Lemah memuaskan Max
CLO
*NS Kriteria Pemberat Marks
4 3 2 1 0
Quality of postings All five comments are Four of the comments Two or three of the One post submitted. OR All Postings done past
good, appropriate, are good, appropriate, comments are posts done in one day. assignment timeline.
relevant, meaningful, and relevant, meaningful, somewhat good, OR None of the comments OR No postings given
respectful. and respectful. appropriate, meaningful
are good and relevant. as proof of
Postings reflect active Postings reflect and respectful. OR Comments are short participation in
participation within participation within Postings show relatively
responses that are not discussion
assignment timeline. assignment timeline. short participation time.
substantial nor meaningful.
Minimum effort (e.g. “I
agree with Tina”)
2 3 Kualiti Postings 1.5 Kelima-lima komen baik, Empat Dua atau tiga komen Satu penghantaran Postings melepasi 6
sesuai, relevan, bermakna komen baik, sesuai, baik, sesuai, ATAU Semua penghantaran tempoh tugasan.
dan berhemah. relevan, bermakna dan relevan,bermakna dan dibuat dalam satu hari . ATAU Tiada Postings
Postings mencerminkan berhemah. berhemah ATAU Tiada komen yang baik diberi sebagai bukti
penyertaan aktif Postings mencerminkan Postings menunjukkan dan relevan. ATAU Komen penyertaan dalam
sepanjang tempoh penyertaan sepanjang penyertaan dalam hanya respon yang ringkas perbincangan
tugasan. tempoh tugasan. jangakamasa yang dan tidak meluas dan tidak
singkat. bermakna.Usaha minimum
(Cth: “Saya bersetuju dengan
Tina”)
Timeline of postings Postings reflect active Postings reflect Postings show relatively All posts done in one day Postings done past
participation within participation within short participation time assignment timeline
assignment timeline assignment timeline
2 3 1.0 4
Tempoh hantaran Hantaran mencerminkan Hantaran Hantaran menunjukkan Semua penghantaran dibuat Hantaran melepasi
penyertaan aktif mencerminkan penyertaan dalam dalam satu hari. tempoh tugasan.
sepanjang tempoh penyertaan sepanjang jangakamasa yang
tugasan. tempoh tugasan. singkat.
Total 2.5 10
*QN = Question Number / *NS = Nombor Soalan

You might also like