Institutional Repository | Satya Wacana Christian University: Recommender System for Mobile Phone Selection applying Extended Weighted Tree Similarity Algorithm T1 672007238 BAB IV
26
Chapter 4
Result and Discussion
4.1 Implementation of Extended Weighted Tree Similarity
Extended weighted tree similarity has been implemented to this recommender system and the user interface has been designed to support it. The design of the user interface has been explained in chapter 3 and the implementation of it will be explained in the next sub chapters but before it is explained, how the system run will be discussed first.
4.1.1 Crawling the Web
After the user input the criteria in to system and press search button, what the system do is crawling the web. The site that is crawled by the system is Tabloid Pulsa’s site because the site provides information about mobile phone. Code 4.1 shows the code of the crawling that it started with startup url setting, download the page and save the XML tree in the vector. Code 4.2 is show the conversion of web page to XML tree.
Code 4.1 Crawler Controller
27 public class crawlercontroller{ . . .
46 Sring starturl = http://tabloidpulsa.co.id/spesifikasi
. . .
194 Private String downloadstring(URL url){ 195 try {
196 BufferedReader reader =
197 new BufferedReader(new InputStreamReader( 198 pageUrl.openStream()));
. . . 214 } . . .
282 public Vector crawl() throws Exception { 383 }
(2)
27
Code 4.2 XML tree generation from website
As has been discussed in chapter 2, the crawler system that is used in this system is combination of Depth and Breadth First Systems. The Breadth First system is used to list all links in the web page but if the system find the link that contains mobile phone information, the system will look deeper in that link first to find the link of mobile phone’s image before continue to the next link.
4.1.2 User Interface
4.1.1 Main Form
Main form is form for users to decide the weight of Harga
(Price), Vendor and Fitur (Feature). If the users decide the weight of one or more criteria, the system will show the sub form depend of the choices. Figure 4.1 show the main form of the recommender system.
26 public class xmltreewebsiteController {
27 public static Document buildxmltree(String pagecontent) throws ParserConfigurationException {
28 DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
29 DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
30 Document doc = docBuilder.newDocument();
. . .
(3)
28
Figure 4.1 Main Form
4.1.2 Price Form
Price Form is form for user to decide the weight of Harga Baru (New Price) and Harga Lama (Old Price). Both of them are child of price in XML tree. The prices are ranged to 4 ranges. First is fewer than 1 million rupiah. Second is between 1 to 2 million rupiah. Third is between 2 to 5 million rupiah and the last is larger than 5 million rupiah. Figure 4.2 show the price form of the recommender system.
Figure 4.2 Price Form
(4)
29
Vendor form is form for user to decide the weight of vendor. In this form, the users can choose at most 3 vendors of the mobile phone that they prefer to. The choices in this form will impact the search process because the system search the first choice vendor first although it will recommend depend of the weight. Figure 4.3 show the vendor form of the recommender system.
Figure 4.3 Vendor Form
4.1.4 Feature Form
Feature form is form for user to decide the weight of sub feature. It is different with Price and Vendor form that allow the users to choose an item and give weight to it, in this form, the user just decide the weight and they type the detail in the sub form of feature form. Feature form have 9 sub form, they are Dimension Form, Sound Form, Camera Form, Data Form Battery Form, General Form, Display Form, Memory Form, Feature 2 Form. Figure 4.4 show the feature form of the recommender system.
(5)
30
Figure 4.4 Feature Form
4.1.5 Dimension Form
Dimension form is one of sub form of feature form. In this form, the users can determine the Ukuran/Berat (Size/Weight) of mobile phone that they want. Figure 4.5 show the dimension form of the recommender system.
(6)
31
Figure 4.5 Dimension Form
4.1.6 Sound Form
Sound form is another sub form of feature form. In this form, the users can determine some detail’s specifications of sound of mobile phone and also their weight. They are audio jack, feature of the sound, and speaker phone. Figure 4.6 show the sound form of the recommender system.
Figure 4.6 Sound Form
4.1.7 Camera Form
Camera form is also another sub form of feature form. Like sound form, the users also can determine some detail’s specifications of kinds of camera of mobile phone and also their weight. They are premier camera (on the behind of mobile phone), seconder camera (in front of mobile phone), and camera
(7)
32
for video recorder. Figure 4.7 show the camera form of the recommender system.
Figure 4.7 Camera Form
4.1.8 Data Form
Another sub form of feature form is data form. Data form is one of most complex form beside feature 2 form because in this form, the users can determine 7 detail’s specifications about data transfer ways and also their weight. They are 3G, EDGE, GPRS, WLAN, Bluetooth, Infrared and cable/port. Figure 4.8 show the data form of the recommender system.
4.1.9 Battery Form
The next sub form of feature form is battery form. Like sound form and camera form, in this form, the system allows the users to determine 3 detail’s specifications about battery and also
(8)
33
Figure 4.8 Data Form
their weight. They are stand by time, talk time and type of battery. Figure 4.9 show the battery form of the recommender system.
Figure 4.9 Battery Form
4.1.10 General Form
In the general form, another sub form of feature form, the users can determine the Network of mobile phone that they want. Figure 4.10 show the general form of the recommender system.
(9)
34
Figure 4.10 General Form
4.1.11 Display Form
Display form is one of sub form of feature form that allows the users to determine some detail’s specifications about display of mobile phone that they want and also their weight. They are type and size of the display. Figure 4.11 show the display form of the recommender system.
Figute 4.11 Display Form
4.1.12 Memory Form
Another sub form of feature form is memory form. This form allows the user to determine the kinds of memory of the mobile phone and also their weight. They are internal memory and external memory. Figure 4.12 show the memory form of the recommender system.
(10)
35
Figure 4.12 Memory Form
4.1.13 Feature 2 Form
The last sub form of feature form is feature 2 form. In this form, the users are allowed to determine the detail’s specification of mobile phone’s feature that is not classified in the previous form and also their weight. They are operation system, CPU, Browser, GPS, Messaging, Java and Radio. Figure 4.13 show the feature 2 form of the recommender system.
Figure 4.13 Feature 2 Form
4.1.14 Table Form and Result Form
Table form and result form are 2 last forms in the recommender system. Table form is used to show the
(11)
36
recommended mobile phones on the table. Every row of the table contains of 3 columns. The first column contains of recommendation number, the second column contains of name of mobile phone, and the last column contains of similarity value. If the users choose one of the rows, the system will display result form that contains picture of name, profile, figure, recommendation number and similarity value of the selected mobile phone. Figure 4.14 show the table form of the recommender system and Figure 4.15 show the result form of the recommender system.
Figure 4.14 Table Form
(12)
37
4.1.3 Similarity’s counting
As has been explained in previous chapters, Extended Weighted Tree Similarity is applied in this system to count the similarity between 2 XML trees that represent the mobile phone specification from website and user’s input. Code 4.3 shows how the system counts similarity using Extended Weighted Similarity Algorithm.
Code 4.3 Matching Controller
4.2 Testing and Analysis
In this sub chapter, it will be discussed about analysis of this recommender system as software using clinical software analysis (Abookire et al, 1999). The information-gathering technique that will be used to collect the data for the analysis is questionnaires. The questionnaires will be designed to accommodate the software quality factors of clinical software analysis.
20 public class matchingxmltreeController { . . .
38 public float countsimilarity(Element docinput, Element docwebsite) {
. . .
50 for (int j = 0; j < n.getChildNodes().getLength(); j++) { 51 for (int k = 0; k < nd.getChildNodes().getLength(); k++) {
52 Node n1 = n.getChildNodes().item(j); 53 Node n2 = nd.getChildNodes().item(k); 54 NamedNodeMap nn1 = n1.getAttributes(); 55 NamedNodeMap nn2 = n2.getAttributes(); . . .
(13)
38
The questionnaires will have several closed questions for the factors, and 1 open question for asking general suggestions and criticisms about the recommender system from the user. The answer of closed questions will be scaled using Linkert scale.
The kind of Linkert Scale that used in this research is 1-5 scale that has been explained in chapter 2. Table 4.1 shows the score for every answer and Formula 4.1 show the interval formula for classify the answer.
Table 4.1 Score’s table of Questioner’s answer
Answer Score Very Disagree 1
Disagree 2 Undecided 3
Agree 4
Very Agree 5
Formula 4.1 Interval formula to classify the answer Explanation:
I = Interval
Max = maximum score Min = minimum score
C = the count of answer’s categories
(14)
39
Using the formula 4.1, it can be calculated that the interval of the answer will be:
= (5 - 1) / 5 = 4 / 5 = 0.8
The interval will be used to arrange the classification table. Table 4.2 shows the classification table.
Table 4.2 classification table Range Crit eria
1 - 1, 79 Very Disagree
1,8 - 2,59 Disagree
2,6 - 3,39 Quit e Agree
3,4 - 4,19 Agree
4,2 - 5 Very Agree
Table 4.3 shows the result of the first question of the questionnaires. The first question is: Do you agree that inputting the criteria to system and deciding the weight are not difficult? From the average value, it can be concluded that the user quite agree that with statement.
Table 4.3 The result of the first question
No Answ er Frequency Score
1 Very Disagree 2 2
2 Disagree 8 16
3 Quit e Agree 5 15
4 Agree 10 40
5 Very Agree 5 25
Tot al 98
(15)
40
Table 4.4 shows the result of the second question of the questionnaires. The second question is: Do you agree that the output of the system is easy to understand? From the average value, it can be concluded that the user agree that with statement.
Table 4.4 The result of the second question
No Answ er Frequncy Score
1 Very Disagree 1 1
2 Disagree 5 10
3 Quit e Agree 7 21
4 Agree 12 48
5 Very Agree 5 25
Tot al 106
Average 3.533333
Table 4.5 shows the result of the third question of the questionnaires. The third question is: In experiment with 50 mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.5 The result of the third question
No Answ er Frequency Score
1 Very Disagree 5 5
2 Disagree 4 8
3 Quit e Agree 3 9
4 Agree 8 32
5 Very Agree 10 50
Tot al 104
Average 3.466667
Table 4.6 shows the result of the fourth question of the questionnaires. The fourth question is: In experiment with 100
(16)
41
mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.6 The result of the fourth question
No Answ er Frequency Score
1 Very Disagree 2 2
2 Disagree 6 12
3 Quit e Agree 6 18
4 Agree 7 28
5 Very Agree 9 45
Tot al 105
Average 3.5
Table 4.7 shows the result of the fifth question of the questionnaires. The fifth question is: In experiment with 150 mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.7 The result of the fifth question
No Answ er Frequncy Score
1 Very Disagree 0 0
2 Disagree 2 4
3 Quit e Agree 9 27
4 Agree 9 36
5 Very Agree 10 40
Tot al 107
Average 3.566667
Table 4.8 shows the result of the sixth question of the questionnaires. The sixth question is: In experiment with 200
(17)
42
mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.8 The result of the sixth question
No Answ er Frequency Score
1 Very Disagree 0 0
2 Disagree 2 4
3 Quit e Agree 9 27
4 Agree 16 64
5 Very Agree 3 15
Tot al 110
Average 3.666667
Several conclusions about software quality factors can be concluded from the six closed questions. They are:
Usability
As mentioned in chapter 2, usability is effort to learn, prepare input, and interpret output of the program. So, the usability of this system can be concluded from user’s answers in question number 1 and 2. In question number 1, the average value is
3.266667 t hat m ean the users quite agree that inputting data to the system and deciding weight are not difficult. In question number 2, the average value is 3.533333 t hat m ean t he users agree m ean t he out put of t he syst em is easy t o underst and. The average value from bot h quest ions is 3.4 t hat m ean t he usabilit y of t his syst em is good. There are som e crit ics and suggest ions from open-ended question but m ost of t he users said t hat t hey had a problem in
(18)
43
input t ing det ail of specificat ion about t he feat ure of m obile phone.
Correctness and Reliability
As mentioned in chapter 2, correctness is extend to which program satisfies its specification and fulfill the user’s mission objective and reliability is extend to which program can be expected to perform its intended function with required precision. So, the correctness and reliability of this system can be concluded from user’s answers in question number 3 until 6. In that questions, the users agree that the system can generate right recommendation in experiment with 50, 100, 150 and 200 mobile phones. So, it can be concluded that the system have good correctness and reliability.
(1)
38
The questionnaires will have several closed questions for the factors, and 1 open question for asking general suggestions and criticisms about the recommender system from the user. The answer of closed questions will be scaled using Linkert scale.
The kind of Linkert Scale that used in this research is 1-5 scale that has been explained in chapter 2. Table 4.1 shows the score for every answer and Formula 4.1 show the interval formula for classify the answer.
Table 4.1 Score’s table of Questioner’s answer Answer Score
Very Disagree 1 Disagree 2 Undecided 3
Agree 4
Very Agree 5
Formula 4.1 Interval formula to classify the answer Explanation:
I = Interval
Max = maximum score Min = minimum score
C = the count of answer’s categories
(2)
39
Using the formula 4.1, it can be calculated that the interval of the answer will be:
= (5 - 1) / 5 = 4 / 5 = 0.8
The interval will be used to arrange the classification table. Table 4.2 shows the classification table.
Table 4.2 classification table Range Crit eria
1 - 1, 79 Very Disagree
1,8 - 2,59 Disagree
2,6 - 3,39 Quit e Agree
3,4 - 4,19 Agree
4,2 - 5 Very Agree
Table 4.3 shows the result of the first question of the questionnaires. The first question is: Do you agree that inputting the criteria to system and deciding the weight are not difficult? From the average value, it can be concluded that the user quite agree that with statement.
Table 4.3 The result of the first question
No Answ er Frequency Score
1 Very Disagree 2 2
2 Disagree 8 16
3 Quit e Agree 5 15
4 Agree 10 40
5 Very Agree 5 25
Tot al 98
(3)
40
Table 4.4 shows the result of the second question of the questionnaires. The second question is: Do you agree that the output of the system is easy to understand? From the average value, it can be concluded that the user agree that with statement.
Table 4.4 The result of the second question
No Answ er Frequncy Score
1 Very Disagree 1 1
2 Disagree 5 10
3 Quit e Agree 7 21
4 Agree 12 48
5 Very Agree 5 25
Tot al 106
Average 3.533333
Table 4.5 shows the result of the third question of the questionnaires. The third question is: In experiment with 50 mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.5 The result of the third question
No Answ er Frequency Score
1 Very Disagree 5 5
2 Disagree 4 8
3 Quit e Agree 3 9
4 Agree 8 32
5 Very Agree 10 50
Tot al 104
Average 3.466667
Table 4.6 shows the result of the fourth question of the questionnaires. The fourth question is: In experiment with 100
(4)
41
mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.6 The result of the fourth question
No Answ er Frequency Score
1 Very Disagree 2 2
2 Disagree 6 12
3 Quit e Agree 6 18
4 Agree 7 28
5 Very Agree 9 45
Tot al 105
Average 3.5
Table 4.7 shows the result of the fifth question of the questionnaires. The fifth question is: In experiment with 150 mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.7 The result of the fifth question
No Answ er Frequncy Score
1 Very Disagree 0 0
2 Disagree 2 4
3 Quit e Agree 9 27
4 Agree 9 36
5 Very Agree 10 40
Tot al 107
Average 3.566667
Table 4.8 shows the result of the sixth question of the questionnaires. The sixth question is: In experiment with 200
(5)
42
mobile phones, do you agree that the system can generate the right recommendation? From the average value, it can be concluded that the user agree that with statement.
Table 4.8 The result of the sixth question
No Answ er Frequency Score
1 Very Disagree 0 0
2 Disagree 2 4
3 Quit e Agree 9 27
4 Agree 16 64
5 Very Agree 3 15
Tot al 110
Average 3.666667
Several conclusions about software quality factors can be concluded from the six closed questions. They are:
Usability
As mentioned in chapter 2, usability is effort to learn, prepare input, and interpret output of the program. So, the usability of this system can be concluded from user’s answers in question number 1 and 2. In question number 1, the average value is
3.266667 t hat m ean the users quite agree that inputting data to the system and deciding weight are not difficult. In question number 2, the average value is 3.533333 t hat m ean t he users agree m ean t he out put of t he syst em is easy t o underst and. The average value from bot h quest ions is 3.4 t hat m ean t he usabilit y of t his syst em is good. There are som e crit ics and suggest ions from open-ended question but m ost of t he users said t hat t hey had a problem in
(6)
43
input t ing det ail of specificat ion about t he feat ure of m obile phone.
Correctness and Reliability
As mentioned in chapter 2, correctness is extend to which program satisfies its specification and fulfill the user’s mission objective and reliability is extend to which program can be expected to perform its intended function with required precision. So, the correctness and reliability of this system can be concluded from user’s answers in question number 3 until 6. In that questions, the users agree that the system can generate right recommendation in experiment with 50, 100, 150 and 200 mobile phones. So, it can be concluded that the system have good correctness and reliability.