Kisi Kisi LKS Web Technology Prov Aceh 2021
Kisi Kisi LKS Web Technology Prov Aceh 2021
Kisi Kisi LKS Web Technology Prov Aceh 2021
WEB TECHNOLOGY
PROVINSI ACEH
2021
MODULE SPEEDTEST
Part B: Layout
CSS Grid
Please implement the following layout in CSS grid.
Part C: Front-End Development
RGB Slider
Please implement an RGB slider as following. There are 3 sliders for adjusting values of red,
green and blue.
Part D: Back-End Development
PHP Verification captcha
Please use PHP to produce verification code image (captcha), which must comply the
following rules (please see the provided images):
a. It randomly generates four characters, consisting of English Alphabet (A-Z) or digit
numbers (0-9).
b. The four characters must be slightly rotated.
c. The four characters must not be located at the same row.
d. The image contains at least 3 random lines.
e. At least 3 mixed noise points.
Introduction
You are a freelance worker working in the field of Web Technology and you have been
asked to develop a new website for COVID-19. Your client has heard that you are good at
building content management systems.
Dashboard Configuration
The client wants to have At a Glance, Activity, Quick Draft in the dashboard. Please
configure these dashboard widgets and remove all others in the dashboard.
Menus
The menu should stick to the top when scrolling down the page. The menu has the following
items.
● Home
● Our Category (List from categories)
Front-end Requirement
You will need to create your own theme, based on the given starter themes. You will need
to implement the following elements for your web page:
● A footer with copyrights and social media links
o “Copyright © 2019 - All rights reserved” where the year should be the current year
dynamically based on server time.
o Footer plugins should be used for footer links to Twitter, Facebook, and Instagram.
User can change the social links.
Feel free to add and change as many elements as you like, but the elements in the list need
to be present and your design should blend in with the given design.
The client does not like refreshing the whole page. Page transition should be loaded via
JavaScript with animated transition effect. (This does not apply to admin area)
INTRODUCTION
PT. XYZ decided to create simple anonymous voting system called YukPilih. This system will
be used for asking some company decisions to their employees. Your task is to implement the
backend with Laravel PHP Framework and frontend. The detail description and tools that you
can use will be described below.
Menu Detail
• The system’s role can be an Admin or a User
• The user (admin or user) can login (and logout) into the system on the start page of the
application
• After login, if admin or user still using default password, frontend will be redirected to
change password page. Else, redirect to poll page.
Login
• After login, admin will have button (FAB) to create a new poll
• After login, user can view all schedule
• Note: the system is not providing register menu, all user data registration is managed by
administrator on the database directly
• After login, if admin or user still using default password, frontend will be redirected to
change password page
Change • On this page, user will be asked to input old password, new password, and confirm new
Password password. Validate new password and confirm new password must be match before
hitting reset_password backend endpoint.
• After success resetting password, redirect to login page.
• Username and logout button will be displayed on the menu. Admin or user can use the
button for logging out.
• Admin will have floating action button (FAB) to create a new poll
• Admin cannot do vote. Admin always seeing the poll results.
• Admin can delete polls.
• User can do vote only once per poll.
• User only seeing poll results only if the poll already deadline or user already voted for that
poll.
Poll • Polls sorted by created_at descending.
• Poll results will be shown as percentage with following formula:
• Choice’s percentage = choice’s point / [total of all points] x 100%
• Point will be calculated with following standards:
o Regardless number of division members, a division will only have 1 point for each poll.
o All voting will be calculated internally on each division.
o After calculated internally, the winner from each division will be used for the whole
poll.
o If there is more than one winner on a division, the division’s point will be split equally.
Create Poll ● If admin click the FAB button, this dialog will be shown.
Dialog
● Admin asked to fill title (string), description (string, can be multiline), deadline (use date
time picker, default value is current time), and choices.
● Choices have special behaviours:
o Initially, there is only one input field.
o After admin typing down on the input field, a new blank input field will be appended
in the bottom of the form.
o Admin can delete input fields, but make sure admin always have at least one blank
input field in the bottom of the form.
● There is a cancel button to close this dialog without creating poll.
Simulation 2:
This poll having 3 choices (‘senin’, ‘rabu’, or ‘jumat’).
- All users from payment division already vote. All of them choosing ‘rabu. ‘rabu’ win
on this division, one point for ‘rabu’.
- Three users from procurement division voted. 1 choosing ‘senin’, 1 choosing ‘rabu’, 1
choosing ‘jumat’. We have 3 winners on this division. 1/3 point will be given for each option.
- Five users from IT division voted. 2 choosing ‘senin’, 2 choosing ‘rabu’, 1 choosing
‘jumat’. We have 2 winners on this division. 1/2 point will be given for ‘senin’ and ‘rabu’.
- No user from finance division voted. No point given from this division yet.
Result: ‘senin’ 0.8333 points. ‘rabu’ 1.8333 points. ‘jumat’ 0.3333 points.
Percentage calculation:
‘senin’ = 0.8333 / (0.8333 + 1.8333 + 0.3333) * 100% = 27.78%
‘rabu’ = 1.8333 / (0.8333 + 1.8333 + 0.3333) * 100% = 61.11%
‘jumat’ = 0.3333 / (0.8333 + 1.8333 + 0.3333) * 100% = 11.11%
ERD
You can use and improve ERD below:
MODULE CLIENT
INTRODUCTION
In recent years internet has become our basic daily source and needs, enabling the
dissemination of information in an inexhaustible content and interaction. Games uses has
gained a prtominent role in nowadays computer usage, allowing people to get access to
entertainment from any places.
You are asked to develop game called Phytons using HTML and CSS and develop client-side
programming using JavaScript and its open source libraries. Some media files are available to
you in a zip file. You can create more media and modify anything in the media if you want.
Your game needs to be developed in a tablet resolution (960x600 pixels). In bigger resolution,
the game must be centred in the screen both horizontally and vertically.
Game Functionalities
1. Show game icon on the top of the screen.
2. Show game instruction in the centre after page are loaded.
3. Show text field for player to input their name.
4. Player can start game after click “Play” button at the bottom of game instruction.
5. The “Play” button should be disabled if the text field is empty.
6. Phyton’s starting point is in the middle of board and moving east (from left to right)
automatically 4 grid per second. The phyton moves only north, south, east, or west.
7. Phyton cannot move directly into opposite direction.
8. To move phyton, player can use arrow keys or “WASD” keys with the following:
a. North with up arrow or ‘w’
b. South with down arrow or ‘s’
c. East with right arrow or ‘d’
d. West with left arrow or ‘a’
9. Phyton should eat food pellet to increase its length which also increase player’s score.
10. Pellet appear at random location inside board every 3 seconds and will disappear
after 5 seconds. Number of pellets in board is minimum 3 and maximum 5 at the same
time.
11. Pellets cannot appear on python’s location.
12. Player score are based on phyton’s length. So, the initial score would be 6.
13. There’s a timer at the top of board whose shows elapsed time and player score.
14. If phyton head hit board edge, then its head should appear on the opposite edge.
15. Player can rewind the phyton game for 5 seconds. Rewind features allows player to
rewind the game anytime they want.
16. Rewind button are located at the bottom of game board, or player can activate it
using “space” button.
17. After the rewind feature activated, there will be a seeker in the form of slider which
player can moves below the game board, the game will rewind accordingly. This
seeker can be moved 5 ticks, each tick for each second.
18. Player can cancel the rewind feature using “Cancel Rewind” button.
19. Phyton dies if it hit its own tail. Game should notify player it is over and shows
Highscore. If the current game score is higher, then it should be the highscore.
Highscore should be saved.
20. Your game should work without JavaScript errors or messages shown in the browser
console.
21. Maintain your HTML/CSS and JavaScript code organized and clean to facilitate future
maintenance. Use correct indentation and comments. Use meaningful variable names
and document your code as much as possible so another developer would be able to
modify your work in the future.
22. The game needs to work correctly in Google Chrome.
Example
These following images are for example purpose only. You may design your own game layout.