T0026 Data Structures: Soal Praktikum
T0026 Data Structures: Soal Praktikum
T0026 Data Structures: Soal Praktikum
Soal Praktikum
Practicum Case
T0026
Data Structures
Teknik Informatika C1-T0026-RZ01
Computer Science
Learning Outcomes
Demonstrate how to create any learned data structure
Analyze the usage of data structure in application
Topic
Session 07 - Binary Search Tree
Sub Topics
Insert Binary Search Tree
Searching Binary Search Tree
Transversal Tree (Inorder, Preorder, Postorder)
Delete Binary Search Tree (1 node)
Soal
Case
Blue-Luna Online is a MMORPG that is so popular recently. There are many players playing that
game. Mr. Ace as one of the Game Master of Blue-Luna Online wants to make an event of Player Wars.
He needs a program that contains all the players in that game so he asks you as a skillful programmer to
make the program using the binary search tree concept. Here are the descriptions of the program:
Program consists of 4 menus:
1. View All Characters
2. Add New Character
3. Inorder, Preorder, Postorder Character’s Damage
4. Exit and Popall
If user chooses View All Characters, then :
- If there is no data in the tree, show the message “--- There is No Character in The Tree ---”
- If data is already in the tree, show the player list (name, job, level, damage).
If user chooses Add New Character, then:
- Ask user to input character’s name. Validate that the length of player’s name must be
between 3 and 20 characters and must not contain any space character.
- Ask user to input character’s job. Validate that the job must be between “fighter”,
“rogue”, and “mage”.
Halaman : 1 dari 3
Page 1 of 3
140717 FM-BINUS-AA-FPT-66/R6
- Ask user to input character’s level. Validate that the level must be between 1 and 105.
- Then calculate the character’s damage with the following rules:
If the character’s job is “fighter”, then:
[Character’s damage] = [character’s level] + [random number (0~49)]
If the character’s job is “rogue”, then :
[Character’s damage] = [character’s level] + [random number (0~24)]
If the character’s job is “mage”, then :
[Character’s damage] = [character’s level] + [random number (0~74)]
- If tree is still empty, then data will be inserted automatically.
- The data is inserted into the tree using BST Concept based on the character’s damage.
- If data has been successfully inputted, then show the message “--- Add New Character
Success ---”
If user chooses Inorder, Preorder, Postorder, then:
- If there is no data in the tree, show the message “--- There is No Character in The Tree ---”
- If data is already in the tree, show the character’s damage in in-order, pre-order, and post-order.
If user chooses Exit, then:
- Delete all data in the linked list.
- Program ends.
Halaman : 2 dari 3
Page 2 of 3
140717 FM-BINUS-AA-FPT-66/R6
Halaman : 3 dari 3
Page 3 of 3