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 {
282 public Vector crawl() throws Exception { 383 }
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();
. . .
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
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
30
Figure 4.4 Feature Form
4.1.5 Dimension Form
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
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
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
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
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
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
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(); . . .
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
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
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 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
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 concluded that the user agree that with statement.
Table 4.5 The result of the third question
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 concluded that the user agree that with statement.
Table 4.7 The result of the fifth question
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
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
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.