Top Banner
Volume 11, No 1, 2017 Daftar Isi: Optimizing the Gains of PD controller Using Artificial Bee Colony for Controlling the Rigid Gantry Crane System 1-8 Edwar Yazid Newtons Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutrition for Laying Hens 9-14 M.Shochibul Burhan, Fitri Utami Ningrum Optimization of Robot Telemonitoring System Software using multi-thread method 15-24 Midriem Mirdanies Build and Design of Voyage Account Applications Using C#, WPF, and SQL Server 2012 (Case Study Company X) 25-32 Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana Knowledge Discovery : Preprocessing Technique in Web Server Data Log 33-40 Supriyadi 1/2017 Pusat Penelitian Informatika - LIPI Jurnal INKOM Vol. 11 No. 1 Hal. 1-40 Bandung, p-ISSN 1979-8059 Mei 2017 e-ISSN 2302-6146
52

Volume 11, No 1, 2017 - Universitas Pertamina · 2019. 11. 20. · Volume 11, No 1, 2017 Editorial Dear Respected Readers! INKOM Journal Vol 11 No 1 2017 is nally published. In this

Feb 03, 2021

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
  • Volume 11, No 1, 2017

    Daftar Isi:

    Optimizing the Gains of PD controller Using Artificial Bee Colony for Controlling theRigid Gantry Crane System

    1-8

    Edwar Yazid

    Newtons Method for Distance Optimization in Firefly Algorithm in DeterminingOptimum Nutrition for Laying Hens

    9-14

    M.Shochibul Burhan, Fitri Utami Ningrum

    Optimization of Robot Telemonitoring System Software using multi-thread method 15-24Midriem Mirdanies

    Build and Design of Voyage Account Applications Using C#, WPF, and SQL Server2012 (Case Study Company X)

    25-32

    Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana

    Knowledge Discovery : Preprocessing Technique in Web Server Data Log 33-40Supriyadi

    1/2017Pusat Penelitian Informatika - LIPI

    Jurnal INKOM Vol. 11 No. 1 Hal. 1-40 Bandung, p-ISSN 1979-8059Mei 2017 e-ISSN 2302-6146

    1

  • Volume 11, No 1, Mei 2017

    Penanggung JawabKepala Pusat Penelitian Informatika - LIPI

    Dewan RedaksiKetua Dr. Esa Prakasa Pusat Penelitian Informatika LIPIAnggota Dr. Kadek Heri Sanjaya Pusat Penelitian Telimek LIPI

    Dr. Nasrullah Armi P2 Elektronika dan Telekomunikasi LIPI

    Redaksi PelaksanaPenyunting Tata Letak Nurhayati Masthurah, M.Kom Puslit Informatika LIPIPenyunting Naskah Riyo Wardoyo, MT. Puslit Informatika LIPIDesain Grafis Dicky Rianto Prajitno, MT. Puslit Informatika LIPI

    Mitra BestariDr.Muhammad Agni Catur Bhakti, Dr.Edi Kurniawan, Dr.Martha Arbayani Zaidan, Dr.

    Irwan Purnama, Dr.Oyas Wahyuanggoro, Dr.Hermawan Nugroho, Dr.Heru Susanto,Ms.Iftitahu Ni’mah, M.I.T

    SekretariatAsri Rizki Yuliani, MBA Puslit Informatika LIPI

    Alamat Redaksi

    Jurnal INKOM

    Pusat Penelitian Informatika, Lembaga Ilmu Pengetahuan Indonesia

    Komp. LIPI Gd. 20 Lt. 3 Jln Sangkuriang, Bandung, 40135

    Telp: +62 22 2504711, Fax: +62 22 2504712

    Email: [email protected], Website: http://jurnal.informatika.lipi.go.id

    Pertama terbit: Mei 2007

    Frekuensi terbit: Dua kali setahun, setiap bulan Mei dan November

    Jurnal INKOM adalah jurnal yang mengkaji masalah yang berhubungan dengan Informatika, SistemKendali, dan Komputer dengan keberkalaan penerbitan dua kali setahun pada Mei dan November. Tulisanyang dipublikasikan berupa hasil penelitian, pemikiran atau pengembangan untuk kemajuan keilmuan atauterapan. Kelayakan pemuatan dipertimbangkan oleh penilai dengan double blind review berdasarkan keaslian(originalitas) dan keabsahan (validitas) ilmiah.

    c©2015 Hak cipta dilindungi undang-undang

    2

  • Volume 11, No 1, 2017

    Content

    Titles Pages

    Optimizing the Gains of PD controller Using Artificial Bee Colony for Controllingthe Rigid Gantry Crane System

    1-8

    Edwar Yazid

    Newton’s Method for Distance Optimization in Firefly Algorithm in DeterminingOptimum Nutrition for Laying Hens

    9-14

    M. Shochibul Burhan, Fitri Utami Ningrum

    Optimization of Robot Telemonitoring System Software using multi-thread method 15-24Midriem Mirdanies

    Build and Design of Voyage Account Applications Using C#, WPF, and SQLServer 2012 (Case Study Company X)

    25-32

    Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana

    Knowledge Discovery : Preprocessing Technique in Web Server Data Log 33-40Supriyadi

    • i

  • Volume 11, No 1, 2017

    Editorial

    Dear Respected Readers! INKOM Journal Vol 11 No 1 2017 is finally published. In this edition,we publish five selected articles. The articles have been blind-reviewed by expert reviewers frominformatics and computer areas. The first paper entitled Optimizing the Gains of PD controller UsingArtificial Bee Colony for Controlling the Rigid Gantry Crane System. This paper proposes artificialbee colony algorithm to optimize the gains of the proportional-derivative controller. The papershows that the proposed method can improve the controlling performance. The second paper entitledNewton’s Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutritionfor Laying Hens. The paper describes implementation of firefly algorithm to optimize calculationof optimum nutrition for laying hens. The third author presents a paper entitled Optimization ofRobot Telemonitoring System Software using multi-thread method. The paper describes multi-threadmethod that can be used to speed up the data processing time. Here, the method is applied to handlereal-time thermal and color cameras of the telemonitoring system. The paper is then followed bythe fourth paper entitled Build and Design of Voyage Account Applications Using C#, WPF, andSQL Server 2012 (Case Study Company X). The paper reports development of a voyage account torecord consumption data on each voyage. The data is then used to calculate the profit and the loss inevery single voyage. The last paper entitled Knowledge Discovery: Preprocessing Technique in WebServer Data log, explains preprocessing method to provide filtered data for data mining analysis. Datacleaning method is proposed in the paper. The method uses parser algorithm and query processingwhich are written by using PHP programming. In the end, the Journal Editor would like to thankeditorial board and secretariat team members, reviewers and authors for their firm commitment andcooperation. We hope the published papers in this edition could give benefit and new insight for all ofthe journal readers.

    INKOM JournalEditor-in-Chief

    Esa Prakasa

    ii •

  • Volume 11, No 1, 2017

    The descriptor given are free terms. This abstract sheet may be reproduced without permission or charge.DDC 621.39Edwar Yazid (Research Center for Electrical Power and Mechatronics, Indonesian Institute of Sciences (LIPI)Optimizing the Gains of PD controller Using Artificial Bee Colony for Controlling the Rigid GantryCrane SystemINKOM, 11(1) 2017: 01-08

    Control position and reduction of swinging of the payload of a rigid gantry crane system is a challengingwork because of under-actuated system. This paper addresses challenges by proposing the artificial bee colony(ABC) algorithm to optimize the gains of the PD controller to form what the so-called the artificial beecolony (ABC)-PD controller. The effectiveness of the proposed control algorithm is tested under constant stepfunctions and compared with Ziegler-Nichols (ZN)-PD controller. Simulation results show that the proposedcontroller produces slower rise time and peak time, but faster settling time than the ZN-PD controller as wellas no overshoot under the predefined trajectories.

    (Author)Keywords : Gantry crane system, swing angle, PD gains, ABCDDC 621.38M. Shochibul Burhan, Fitri Utami Ningrum (Fakultas Ilmu Komputer Universitas Brawijaya Malang-JawaTimur)Newton’s Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutritionfor Laying HensINKOM, 10(1) 2017: 09-14

    An accurate calculation of feed nutrition and more affordable price is an extremely complex. Fireflyalgorithm is an algorithm designed for optimization calculation whose output is highly dependent on lightintensity (β), which is influenced by distance (r). Therefore, in order to produce maximum output values,an optimization of firefly distance should be done. The most appropriate method is Newton’s Method as ithas the capability of solving roots of equations accurately. From the testing of distance optimization in fireflyalgorithm, a fairly good increase in the fitness value was obtained.

    (Author)Keywords: Newton Method, Firefly Algorithm

    • iii

  • Volume 11, No 1, 2017

    The descriptor given are free terms. This abstract sheet may be reproduced without permission or charge.DDC 621.39Midriem Mirdanies (Research Center for Electrical Power and Mechatronics, Indonesian Institute of Sciences(LIPI)Optimization of Robot Telemonitoring System Software using multi-thread methodINKOM, 11(1) 2017: 15-24

    The processor development today is on multi-core and multi-processor which can be used to a speedupof data processing time compared with one processor core only. One of the main ways that can be used to speedup the data processing time is by using multi-thread. Multi-thread method has been implemented on the robottelemonitoring system based on Graphical User Interface (GUI) which has been developed in Research Centerfor Electrical Power and Mechatronics, Indonesian Institute of Sciences (LIPI). A part of that requires highprocessing time and dynamic at the telemonitoring systems are the display of real-time thermal cameras andcolor camera along with tracking algorithm used, it can be seen from the camera display which less smoothespecially on the thermal camera, and some of the process is zero which means the buffer is unprocessed whichcausing lag. Two threads have been added to process each of the cameras separately. C programming languagewith the OpenCV library and the Integrated Development Environment (IDE) Qt Creator, has been used toimplement this method into an application program. Based on experiments, it can be seen that the display ofboth cameras could run smoothly, the average processing time faster than sequential, and the absence of a zeroprocess time. The average fps generated is more stable and is at the higher level that is 7.5 fps on the thermalcamera and 7.5 - 8 fps on the color camera.

    (Author)Keywords: multi-thread, telemonitoring, GUI, Qt creator, C languageDDC 621.32Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana (Politeknik Negeri Jakarta)Build and Design of Voyage Account Applications Using C#, WPF, and SQL Server 2012 (Case StudyCompany X)INKOM, 11(1) 2017: 25-32

    Voyage Account is an application that record consumption data on each voyage, then the data isused to calculate the profit or loss of each voyage. The application interface was created using WindowsPresentation Foundation (WPF). Prototyping development methods was used to create these applications, C#as the programming language, and SQL Server 2012 as the database. This study discusses the making of theinterface, backend, and database of application. WPF has been selected, because WPF is the latest technologydeveloped by Microsoft after WinForms. WPF presents a display that can be customized to user needs. Thetest results showed that the Voyage Account application is already functioning in accordance with wishes ofthe user, the test is done using sql query by entering the appropriate username and password and match thequery returns results with what is displayed by the application. As for testing the interface shows if WPF canbe flexibly adapted to the screen resolution of 1366 x 768, 1920 x 1080 and 1280 x 720.

    (Author)Keyword: Voyage Account, WPF, prototyping, C#, SQL Server 2012.

    iv •

  • Volume 11, No 1, 2017

    The descriptor given are free terms. This abstract sheet may be reproduced without permission or charge.DDC 621.38Supriyadi (Informatics, STMIK Kharisma Karawang)Knowledge Discovery: Preprocessing Technique in Web Server Data LogINKOM, 11(1) 2017: 33-40

    Preprocessing is a process to avail a clean and ready data for data mining analysis. Four stages are carriedout in this process i.e. data selection, data cleaning, data integration and data transformation. The numeroussemi structured pattern of web server log data accumulation has made the data cleaning-up to select the reallyneeded data difficult. Hence, in this research a technique to carry out data cleaning using parser algorithmand query processing is proposed. The parser algorithm is written using PHP programming as web basedprogramming, while the query processing is implemented using relationship database management system(RDBMS) MySQL. The computation system is tested using twenty six different sized trial data, originatedfrom six web server. The final result concluded that in general the data being tested have 80 percent decreasingaverage with average processing velocity of 9.28 mbps.

    (Author)Keywords: query processing, parser algorithm, semi structured data, web log data

    • v

  • INKOM, Vol 11 No. 1, Mei 2017: 01-08

    1

    Optimizing the Gains of PD Controller Using Artificial Bee

    Colony for Controlling the Rigid Gantry Crane System

    Edwar Yazid Research Center for Electrical Power and Mechatronics

    Indonesian Institute of Sciences

    Email:[email protected]

    _______________________________________________________________________________________

    Abstract

    Control position and reduction of swinging of the payload of a rigid gantry crane system is a challenging work

    because of under-actuated system. This paper addresses challenges by proposing the artificial bee colony (ABC)

    algorithm to optimize the gains of the PD controller to form what the so-called the artificial bee colony (ABC)-PD

    controller. The effectiveness of the proposed control algorithm is tested under constant step functions and compared

    with Ziegler-Nichols (ZN)-PD controller. Simulation results show that the proposed controller produces slower rise

    time and peak time, but faster settling time than the ZN-PD controller as well as no overshoot under the predefined

    trajectories.

    Keywords: Gantry crane system, swing angle, PD gains, ABC

    _______________________________________________________________________________________

    1. Introduction

    1 Gantry crane system, a non-slewing-luffing

    crane system is most widely used in several work

    places such as ports, factories, construction sites.

    This type of crane is designed for repeat motions

    such as hoisting, transporting which includes

    longitudinal, transverse motion, and lowering

    heavy payload, as well as combination of each

    motion. Schematic of gantry crane system is shown

    in Figure 1. Gantry crane system can be divided

    into two subsystems, namely gantry crane and

    stationary crane framework. Gantry crane

    incorporates interaction among trolley, wire rope

    as hoist cable and payload which is manipulated by

    trolley and hoist mechanism. The payload is

    grabbed using hook system, which is then hoisted

    from trolley by means of cable.

    The function of cable drum is to wind up or

    unwind the cable, raises or lowers the payload

    attached to the hook. The trolley and hoist work

    simultaneously to perform the task of gantry crane.

    In general, the task performed by a gantry crane

    is to pick the payload, raise it, move it to target

    position and lower it down on the crane

    framework.

    Because the traverse motion of trolley during

    transport operations, the payload has the tendency

    to swing naturally due to traverse motion of

    trolley. The swinging motion reduces the speed,

    accuracy and safety requirements of crane

    1Received: 14 March 2017; Revised: 17 May 2017;

    Accepted: 26 May 2017; Published Online: 3 May 2018

    @2017 INKOM 2017/18-NO527

    DOI:http://dx.doi.org/10.14203/j.inkom.527

    operations. It lowers the speed of crane operations

    because the payload swing must be avoided before

    the payload can be safely lowered into specified

    position.

    Framework

    Wheels

    Rails

    Trolley

    Cable

    Payload

    Hook

    Top beam

    Figure 1. Gantry crane system [1]

    The swings make it difficult to perform

    alignment, fine position, or other accuracy driven

    task. Swing effect also causes safety problems to

    the crane framework. That’s why control systems

    are needed to suppress the effects. If the cable and

    stationary crane framework are considered as rigid

    bodies, then the gantry crane system is regarded as

    a rigid system.

    Much attention has been placed on the

    modeling of dynamics and control of gantry crane

    system. Khalid et al. [2] have controlled the bridge

    and gantry cranes by proposing the PD and input

    shaping controllers and succeeded to achieve good

  • 2 INKOM, Vol 11 No. 1, Mei 2017: 01-08 2

    positioning accuracy and significant sway

    reduction. Hazriq et al. [3]-[4] have studied

    numerically the dynamic behaviour of a nonlinear

    gantry crane system by varying the input voltage,

    cable length, payload mass and trolley mass and

    controlled the system. They modeled the dynamics

    using Lagrange’s approach and simulated the

    system through the simulink of Matlab. The rest

    can be referred to references [5]-[10].

    The major contribution of this study is to

    improve the control capacity of the PD controller

    (PDC) from the aforementioned previous works.

    There are several PD tuning methods in the

    literature (e.g. Ziegler-Nichols (ZN), Cohen-Coon,

    lambda tuning. However, they do not always lead

    to an acceptable performance and they may also

    suffer from some from robustness issues [11].

    An optimizer, namely artificial bee colony

    (ABC) algorithm is proposed to optimize the gains

    of PDC. That is because this algorithm is a

    powerful optimization technique, good numerical convergence and multi-dimensional

    search space compared to other soft computing

    techniques such as genetic algorithm and particle

    swarm optimization [12] as well as fuzzy logic and

    neural network. The combination between the

    ABC algorithm and PDC is called the artificial bee

    colony (ABC)-PD controller. This proposed

    controller is applied to control the position and to

    reduce the swinging of the payload of rigid gantry

    crane system. Ziegler-Nichols (ZN) based PD

    controller is chosen as a benchmark because of its

    common practice.

    The remainder of this paper is organized as

    follows. Section 2 derives the modeling of rigid

    gantry crane system. Section 3 describes a typical

    structure of a PDC with proposed optimizer.

    Section 4 presents the concept of optimization of

    PDC via ABC algorithm. Section 5 discusses the

    control and optimization. Finally, Section 6

    concludes this paper.

    2. Modeling of Rigid Gantry Crane System

    For simplicity of the characteristics of the physical gantry crane system, several assumptions

    are put forward to the dynamical model. Mass of

    trolley Tm and payload Pm are modeled as

    lumped mass which is connected by inextensible

    hoist cable P . Payload and its cable behave as

    pendulum model as depicted in Fig. 2. The payload has one swing angle with respect

    to the inference frame: is denoted as angle

    between the Tx -axis and TT yx -plane. The payload

    swings either small or large swing angles. Friction

    between trolley and the top beam of crane

    framework and dynamics of hoist cable and drum

    in hoist system and hoist drive mechanism are not

    considered. The structure is treated as a rigid body.

    Z

    Y

    X

    Tm

    Pm

    P

    xf

    Figure 2. Model of rigid gantry crane system

    The equations of motion of rigid gantry crane system can be derived by Lagrange’s equations,

    with the following form,

    .,xq,xq,fq

    F

    q

    L

    q

    L

    dt

    dT,Ti

    (1)

    All terms of ,xq T are defined as the generalized coordinates to describe the trolley and

    payload motion. General velocity of the system is

    .,xq T The Lagrangian L is defined as ,PKL where K is kinetics energy and P is

    potential energy of system. Generalized force is

    denoted as if , where they are yx f,f and zf applied

    input force for the x, y and z motions respectively.

    Total kinetics energy of the system K in terms

    of generalized coordinates and velocities are the

    kinetics energy of the trolley and payload,

    .cosxxmK,xmK

    ,rmrmKKK

    PPTTpP

    TTT

    ppTTPT

    222

    2

    22

    22

    1

    21

    21

    21

    (2)

    Total potential energy of the system is the potential

    energy of the trolley and the potential energy of the

    payload,

    .cosgmPP PpP (3)

    The energy of damping is expressed as,

    .xcF Tx 2

    1 (5)

    By differentiating the Lagrangian operator L and F with respect to the generalized coordinates q and q ,

  • Optimizing the Gains of PD Controller Using Artificial Bee Colony ........ : Edwar Yazid 3

    ,fx

    F

    x

    L

    x

    L

    dt

    dx

    TTT

    (6)

    .FLL

    dt

    d0

    (7)

    The nonlinear equation of motion of gantry

    crane system can be written in Eqs. (8)-(9),

    ,fsincosmxcxmm xPpTxTpT 2 (8)

    .sing

    cosx

    PP

    T 0

    (9)

    Equations (8)-(9) are dynamics of gantry crane

    coupled with dynamics of crane framework and

    call for some remarks.

    1. Equation (8) presents dynamics of trolley motion with the input force, while Eq. (9) is

    dynamics of payload.

    2. Term xf is input force or driving force for the

    trolley motion while PT mm is mass total from trolley and payload.

    3. Term Tx is the acceleration of trolley which

    appears as the forcing term in the payload

    dynamics if the input force for gantry crane is

    set up to be zero.

    The input force xf is generated from the torque of

    trolley motor. Dynamic of trolley motor can be

    written as,

    .xrR

    zKu

    rR

    zKz

    r

    Tf

    pT

    TT

    pT

    T

    p

    xx

    2

    2

    (10)

    Equations (8) and (10) are combined to yield,

    .xrR

    zKu

    rR

    zK

    sincosmxcxmm

    T

    pT

    TT

    pT

    T

    PpTxTpT

    2

    2

    2

    (11)

    Terms in Eq. (11) can be explained as: TTT u,R,K

    are torque constant, motor resistance and input

    voltage, respectively while pr,z are gear ratio and

    radius of motor pulley.

    3. Closed-Loop Control System with PD Controller (PDC)

    A typical structure of a PDC for controlling the

    rigid gantry crane system is shown in Fig. 3. It is

    seen that the system is classified as a double input

    single output system (under-actuated system). The

    first input for the PDC is error and error derivative

    )n(e),n(e TT of trolley position while the second input is error and error derivative )n(e),n(e of payload swing. The errors and error derivatives are

    multiplied by the gains of PDC, namely

    proportional pK and derivative dK and then combined to form the control signal of PDC as

    follows,

    .)n(e)n(eK)n(e)n(eKnu PTdPTp (12)

    Terms in Eq. (12) are as follows:

    )n(e),n(e),n(e),n(e PTPT are errors of trolley

    position and payload swing as well as their

    error derivatives, respectively. The value of

    neT nxd

    Rigid

    Gantry

    Crane

    System

    nxT

    ABC

    neT

    PDC

    Figure 3. Diagram block of PD controller for rigid gantry crane system system

    n nuT

    ne

    ne

    Motor

    Dynamics

    nu

  • 4 INKOM, Vol 11 No. 1, Mei 2017: 01-08 4

    nu is limited by using saturation function before it is sent to the motor. The control action nu is then applied to the gantry crane system.

    Under any types of system input, the gains

    in Eq. (12) significantly affect the closed-loop

    response. Suboptimal gains lead to the system

    becomes unstable, high overshoot and large

    steady-state error. The gains must be designed to match the system input (set-point) and the system

    output by giving the corrective action in terms of

    control action. Hence, ABC algorithm is

    employed to optimize those gains. In addition,

    Eq. (12) also reflects that gain for the errors of

    trolley position and swinging of the payload

    are set up similarly and so do the gain of error

    derivatives. Both gains can be set up

    separately, but this is intended to make the

    optimization process efficient. It is worthy to note that integral action is not

    required due to the presence of integral (reset)

    windup leading to significant amount of

    overshoots. Hence, PD controller is an appropriate

    choice for controlling the system.

    4. Optimization of PD Controller via ABC Algorithm

    Parameters dP K,K are modeled as foods in artificial bee colony (ABC) algorithm. For the

    sake of clarity, optimizer for the parameters of

    PDC using ABC algorithm is called ABC-PD.

    PDC parameters recalled as dP K,K are initialized randomly in ABC-PD controller. The

    major phases of this algorithm has been outlined

    [12], but it is revisited here for a new cost function,

    1. Initialization The initial candidate solutions for x are

    produced for employed bees by using Eq. (12),

    .D,,j,S,,i,xxxx minjmaxjminjj,i 11 (12)

    Terms in Eq. (812 can be explained as

    follows: j,ix is j-th dimension of i-th

    employed bee, minj

    x and maxj

    x are lower and

    upper bounds of j-th parameters, respectively,

    is a random number in range of 1,0 , S is the number of food sources and D is the

    number of gains of PDC. The cost function

    values of i-th the initial solution are calculated

    using Eq. (13),

    .nxnxSSEN

    n

    T

    ^

    T

    1

    (13)

    Terms in Eq. (13) are as follows: N is the

    number of data, nxT is the actual trolley

    position while nx T^

    is the calculated trolley

    position. The fitness value of Eq. (13) is

    calculated by using following formula,

    .

    otherwiseCF1

    0fifCF1

    1

    f

    i

    iii

    (14)

    2. Employed bee phase

    In this phase, employed bees update the initial

    candidate solutions using Eq. (15),

    .D,,j,S,,k,i

    ,xxxg j,kj,ij,ij,ij,i

    11

    (15)

    Terms in Eq. (15) can be explained as follows:

    j,ig is j-th dimension of i-th updated candidate

    solution, j,ix is j-th dimension of i-th

    employed bee, j,kx is j-th dimension of k-th

    employed bee, term is a random number in

    range of 1,1 . Also, j and k indices are randomly selected among initial solutions so

    that ki to assure that the initial candidate solutions can be updated. After the solutions

    are updated, the cost function and fitness

    values of i-th updated candidate solutions are

    calculated using Eqs. (14)-(15). If the fitness

    value of updated candidate solutions is better

    than fitness value of initial candidate

    solutions, then the initial candidate solutions

    are replaced with updated candidate solutions.

    3. Onlooker bee phase In this phase, the employed bees communicate

    with the onlooker bees by calculating the

    probability of each fitness value as follows,

    .

    f

    fp

    S

    i

    i

    ii

    1

    (16)

    Based on the probability value, the onlooker

    bees also randomly improve the candidate

    solutions in the employed bee phase by using

    Eq. (16), as well as calculate the cost function

    and fitness values of i-th updated candidate

    solutions using Eqs. (15)-(16). If the fitness

    value of the updated candidate solutions found

    in the onlooker bee phase is better than fitness

    value of the solutions in the employed bee

    phase, the onlooker bee is replaced with the

    employed bee.

  • Optimizing the Gains of PD Controller Using Artificial Bee Colony ........ : Edwar Yazid 5

    4. Scout bee phase If the candidate solutions during the employed

    bee phase cannot be updated until a predefined

    number of iterations reaches to the limit, the

    employed bee becomes scout bee and new

    candidate solutions are produced by using Eq.

    (12).

    Step by step of optimization process above is

    depicted in Fig. 4.

    5. Results and Discussions

    In this section, performance of proposed controller

    is investigated under constant step function. Other

    functions such as varying step function and

    sinusoidal functions are not elaborated in this

    study. Basic parameters of gantry crane system and

    parameters of ABC algorithm are shown in Table 1

    and Table 2, respectively. Interval for the

    searching space is 100x0 for DP K,K . Since this paper works on model based control, then Eqs.

    (9) and (11) are solved using fourth-order Rung-

    Kutta with sampling time of 0.01 s. Control and

    optimization processes are performed

    simultaneously using Matlab.

    Table 1. Gantry crane parameters

    Parameters

    Trolley mass, Tm 50 kg

    Payload mass, pm 200 kg

    Cable length, P

    Gravitational acceleration, g

    1 m 2s/m81.9

    Initial conditions, 00o ,, 0,0,0o

    Table 2. Parameters of ABC algorithm

    ABC

    Number of iterations 550 Onlooker number 50%

    Number of foods 550 Employed bee number 50%

    Number of optimized

    parameters

    2 Scout number 1

    Time domain responses obtained from ZN-PD

    and ABC-PD controllers are compared one to

    another. Control performances in time domain are

    then assessed in terms of rise time, settling time,

    overshoot and peak time.

    Crane is commanded to track a position in

    mx 12 by giving a constant step function. The

    system response for duration 180 s is shown in Fig.

    5. The figure depicts that the crane is able to track

    the commanded position and both controllers have

    successfully stabilized it with respect to time. This

    is confirmed by Fig. 6 where the error of both

    controllers decays to zero.

    However, each controller has different

    performances during the tracking process. ZN-PD

    controller has faster rise time and peak time than

    the ABC-PD controller. However, fast rise time

    and peak time lead to overshoot until it reaches its

    settling time. In the other side, slow rise time and

    peak time of ABC-PD controller lead to no

    overshoot so that settling time can be achieved

    faster than ZN-PD controller. Details are

    elaborated in Table 3.

    Onlooker Bee

    Phase

    Scout Bee

    Phase

    e

    Cost Function, Eq. (13)

    Foods

    Gains

    PK

    DK

    New Foods

    Employed Bee

    Phase

    Figure 4. Gains optimization process in ABC-PD controller

    system

    e

  • 6 INKOM, Vol 11 No. 1, Mei 2017: 01-08 6

    Figure 5. Trolley position under step function

    Figure 6. Error of trolley position under step function

    Table 3. Controller’s performances under step function

    Performance ZN-PD ABC-PD

    Rise time

    8.31 26.23

    Settling time 58.44 46.85

    Overshoot 4.58 0

    Peak time 24.3 177.2

    Optimal gains of PD controller are tabulated in

    Table 4. It is worthy to note that the initial gains

    are set randomly and it will lead to the change of

    the optimized gains accordingly. After 50

    realizations, it is found that the optimized PK and

    dK of ABC-PD controller are lower than the

    optimized gains of ZN-PD controller. It explains

    why the ABC-PD controller has the slow rise time

    and peak time, fast settling time as well as no

    overshoot as the function of gain PK is to increase

    the rise time of the system response and the

    function of dK is to reduce the oscillation.

    Table 4. Optimal gains of PD controller under step

    function

    Gains ZN-PD ABC-PD

    Optimized Optimized

    pK 1.36 0.01

    dK 56.85 20.92

    (a)

    (b)

    Figure 7. Payload swing angle under for step function

    (a) time window 0-180 s (b) time window 0-25 s

    Control performance in Figs. 5-6 is elaborated

    by Fig. 7. The figure shows the consequent of fast

    rise time and peak time of ZN-PD controller.

    Faster the crane reaches the target position, bigger

    the swing angle of payload occurs. Large swing

    angle of payload of ZN-PD controller in Fig. 7 is

    the consequent of using full nonlinear dynamic

    model in Eq. 9 and Eq. 11. At this point, control

    designer can choose whether the trolley moves fast

    with large swing angle as expense or reasonable

    speed of trolley with no overshoot. The latter is

    favorable since it is required for safety in crane

    operation. Hence, all results confirm that the ABC-PD controller outperforms the ZN-PD controller.

    In optimizing the gains, PD controller

    optimized by ABC algorithm produces cost

    function as shown in Fig. 8. It displays the cost

    0 20 40 60 80 100 120 140 160 180 0

    2

    4

    6

    8

    10

    12 T

    roll

    ey p

    osi

    tio

    n, x

    (m

    )

    Time (s)

    Reference

    ZN-PD

    ABC-PD

    0 20 40 60 80 100 120 140 160 180 -2

    0

    2

    4

    6

    8

    10

    12

    Time (s)

    Reference

    ZN-PD PSO-PD

    Tro

    lley

    po

    siti

    on

    err

    or,

    ex (

    m)

    0 20 40 60 80 100 120 140 160 180 -50

    50

    Time (s)

    Reference

    ZN-PD ABC-PD

    0

    Pay

    load

    sw

    ing

    ang

    le,

    θ (

    deg

    )

    0 5 10 15 20 25 -50

    0

    50

    Time (s)

    Reference

    ZN-PD

    ABC-PD

    Pay

    load

    sw

    ing

    ang

    le,

    θ (

    deg

    )

  • Optimizing the Gains of PD Controller Using Artificial Bee Colony ........ : Edwar Yazid 7

    function with respect to the number of iterations.

    As observed, the cost exhibits a gradual

    convergence and seems like a ladder function as

    the number of iteration increases. However, the

    cost function starts to converge after the-31st

    iteration and is steady to a certain value.

    Figure 8. Cost function for step function with respect to number of iterations

    Figure 9. Trolley position under payload mass variation

    To test the effectiveness the proposed controller

    for a more challenging condition, payload mass is

    varied from 200 kg to 400 kg. Under this

    condition, the commanded position 4 is fixed and

    the result is shown in Fig. 9. The crane, as

    expected, is still able to track the commanded

    position. However, the figure shows that as the

    payload mass increases, the rise time and settling

    time also increases with respect to time. With

    increased payload mass, performance of ABC-PD

    controller will deteriorates further.

    6. Conclusions

    In this paper, a controller namely the ABC-PD

    is proposed for controlling the rigid gantry crane

    system. Simulation results show that the proposed

    controller can improve the performance of closed-

    loop control system under constant step function.

    Important conclusions and suggestions from this

    work are derived below.

    - The ABC-PD controller outperforms the ZN-PD controller in terms of fast settling time and

    no overshoot.

    - Control and optimization are still performed under simulation since the ABC-PD controller

    is computationally expensive for real-time

    implementation.

    - The generated cost function seems like a ladder function.

    - The proposed controllers can easily be applied

    to PID controller, where the gain iK is

    included.

    - The proposed controllers can be applied to control other dynamic systems.

    Acknowledgments

    Research facility for this work from research

    center for electrical power and mechatronics,

    Indonesian Institute of Sciences is gratefully

    appreciated.

    References

    [1] SPANCO. (1998). Installation and parts manual for SPANCO PF series gantry cranes, Available:

    http://www.spanco.com/products/gantry

    cranes.html

    [2] Khalid, L.S., William, S. and Stephen, D., DA Controller Enabling Precise Positioning and Sway

    Reduction in Bridge and Gantry Cranes, Control

    Engineering Practices Vol. 15, 2007, pp. 825-833.

    [3] Hazriq, et al., Dynamic Behaviour of a Nonlinear Gantry Crane System, Proceedings of the ICEEI

    Vol. 11, 2013, pp. 419-425.

    [4] Hazriq, et al., Performance analysis for a Nonlinear Gantry Crane System using Priority-

    based Fitness Scheme in Binary PSO Algorithm,

    Advanced Materials Research Vol. 903, 2014, pp.

    285-290.

    [5] Diep, D.V. and Khoa, V.V., PID-Controllers

    Tuning Optimization with PSO Algorithm for

    Nonlinear Gantry Crane System, International

    Journal of Engineering and Computer Science Vol.

    3 No. 6, 2014, pp. 6631-6635.

    [6] Sandor, I., et al., Stabilizing Model Predictive

    Control of a Gantry Crane Based on Flexible Set-

    Membership Constraints, Proceedings of the IFAC

    Vol. 48-23, 2015, pp. 248-253.

    [7] Ahmad, B.A., et al., Optimal Analysis and Control

    of 2D Nonlinear Gantry Crane System,

    Proceedings of the ICSSA, 2015, pp. 30-35.

    [8] Hussien, S.Y.S., Ghazali, R., Jaafar, H.I., and Soon

    C.C., An Experimental of 3D Gantry Crane System

    in Motion Control by PID and PD controller via

    PFPSO, Journal of Telecommunication, Electronic

    0 20 40 60 80 100 120 140 160 180 0

    2

    4

    6

    8

    10

    12

    14

    Time (s)

    Reference 200 kg 300 kg 400 kg

    Tro

    lley

    po

    siti

    on

    , x

    (m

    )

    0 10 20 30 40 50 3300

    3500

    3700

    3900

    4100

    Number of iterations

    Co

    st f

    un

    ctio

    n (

    SS

    E)

  • 8 INKOM, Vol 11 No. 1, Mei 2017: 01-08 8

    and Computer Engineering Vol. 8 No. 7, 2016, pp.

    133-137.

    [9] Hussien, S.Y.S., Ghazali, R., Jaafar, H.I., and Soon

    C.C., Analysis of 3D Gantry Crane System by PID

    and VSC for Positioning Trolley and Oscillation

    Reduction, Journal of Telecommunication,

    Electronic and Computer Engineering Vol. 8 No.

    7, 2016, pp. 139-143.

    [10] Wei, H. and Shuzi, S.G., Cooperative Control of a

    Nonuniform Gantry Crane System with

    Constrained Tension, Automatica Vol. 66, 2016,

    pp. 146-154.

    [11] Skoczowski, S., Domek, S., Pietrusewicz. K. and

    Broel-Plater, B., A method for improving the

    robustness of PID control, IEEE Transactions on

    Industrial Electronics Vol. 52, 2005, pp. 1669-

    1676.

    [12] Yazid, E. Liew, M.S., Parman, S., and Kurian,

    V.J., Improving the modelling capacity of Volterra

    model using evolutionary computing methods

    based on Kalman Smoother adaptive filter, Journal

    of Applied Soft Computing, Vol. 35, 2015, pp.

    695-707.

  • INKOM, Vol 11 No. 1, Mei 2017: 09-14

    Newton’s Method for Distance Optimization in Firefly Algorithm in Determining Optimum Nutrition for Laying

    Hens

    M.Shochibul Burhan, Fitri Utami Ningrum Fakultas Ilmu Komputer, Universitas Brawijaya, Malang, Jawa TImur

    Email:[email protected]

    _______________________________________________________________________________________

    Abstract

    An accurate calculation of feed nutrition and more affordable price is an extremely complex. Firefly algorithm is an

    algorithm designed for optimization calculation whose output is highly dependent on light intensity (β), which is influenced

    by distance (r). Therefore, in order to produce maximum output values, an optimization of firefly distance should be done.

    The most appropriate method is Newton’s Method as it has the capability of solving roots of equations accurately. From the

    testing of distance optimization in firefly algorithm, a fairly good increase in the fitness value was obtained.

    Keywords: Newton Method, Firefly Algorithm

    _______________________________________________________________________________________

    1. Introduction

    1In determining the composition of the feed

    material is very a complex calculation. Because it

    must consider all the nutrient content in the feed

    material in accordance with the age of animals,

    especially laying hens. And also required fast and

    accurate computation so that decisions can be

    taken immediately. For that we need a

    computational algorithm that is able to complete

    the optimization calculation of the dosage of feed

    ingredients, quickly and accurately.

    The firefly algorithm is an algorithm created to

    find the optimal solution [1]. The advantage of the

    firefly algorithm is that the best generated

    generation will be the reference to change the light

    intensity or the quality of the solution, so that when

    the changes in the solution is not far from the best

    solution. So that the required computation iteration

    more efficiently.

    Setiawan, et al [2]. Using the firefly algorithm

    to do the scheduling, and get a small enough

    penalty of 0.0003. Hadhi, et al [3]. Use the firefly

    algorithm for scheduling the power plant unit. By

    obtaining a low enough cost below 2% the firefly

    algorithm is considered reliable in terms of

    optimization of power plant scheduling. The distance between firefly individuals is the most

    vital element in the firefly algorithm. This is because the

    firefly algorithm uses light intensity in changing the

    value of each individual that is considered poor [1].

    Meanwhile, the level of light intensity between fireflies

    1Received: 20 Jan 2017; Revised: 13 April 2017;

    Accepted: 29 May 2017; Published Online: 3 May 2018

    @2017 INKOM 2017/18-NO509

    DOI:http://dx.doi.org/10.14203/j.inkom.509

    is highly influenced by distance. The shorter the

    distance of the firefly, the stronger the level of light

    intensity.

    With regard to laying hen feed, firefly

    algorithm is used for the optimization of the best

    amount of feed in accordance to the required

    nutrition and the minimum price. Ini this algorithm

    process, 15-35 [1] initial solutions are given

    randomly, which are also called the initial

    inviduals, which represents a number of feed types.

    Then, a change in every individual is made in order

    to be closer to the ideal or fitness value.

    Newton‟s Method is one of the best methods

    used for obtaining maximum optimization of

    square roots [4]. Newton‟s Method uses approach

    repetition to obtain the value that is the closet to

    the real value. The distance between fireflies is

    calculated by finding the square root of the

    difference between the value of the best individual

    and the value of the poorest individual. The

    optimization process is done by obtaining the

    optimum square root value by doing some iteration

    so that the optimum result is obtained, then it is

    used as the value of the distance between

    individuals.

    In the previous research, Ismail et al [5] used

    Newton‟s Method for the optimization of genetic

    algorithm in solving nonlinear equations, in which

    new individuals are going to be selected and the

    ones that have values close to nonlinear value will

    be maintained. As for the individuals whose values

    are far from the nonlinear value will be changed

    using Newton‟s approach. The result shows a

    better accuacy level compared to the previous

    research. Farook and Raju [6] in their resarch

    optimized individuals in firefly using Genetic

  • 10 INKOM, Vol 11 No. 1, Mei 2017: 09-14

    Algorithm, in which the best individual will be

    crossed over to poorer individuals. The results

    obtained are the global solution that have even

    fitness and good fitness value.

    In this research, only distance optimization is

    going to be carried out as firefly algorithm has a

    number of complex parameters for finding optimal

    solutions. Thus, the merging of methods that have

    complex parameters such as genetic algorithm will

    add more computation load in the calculation. In

    this research, the method of addition is going to be

    done as efficient as possible to maximize the

    computatin in firefly algorithm.

    2. Newton’s method

    Newton’s method is an approach method for

    finding the valu of the roots of equations. It is

    expressed in the following equation [7]:

    Following linear algebra equation

    (1)

    From the equation above, the tangent point is

    , ( ) = f ‘ ( ) the tangent equation is 0 - f( ) = f ‘ ( ) ( x - ) and they are intersecting on x axis when y=0. Thus, 0 – f( ) = f ‘ ( ) (x -

    ) and = x = - if = - . It is

    started from if . Jika = . Therefore,

    the following equation is obtained

    (2)

    If the equation above is used in solving the

    equation f(x) = - 5 and f „(x) = 2x, the following

    is obtained

    = =

    = =

    thus, the simplest equation obtained from

    Newton‟s method is

    (3)

    3. Firefly Algorithm

    By adopting the behavior of fireflies and the

    way fireflies flash, in 2007-2008, Xin-Sheyang

    developed firefly algorithm under the following

    rules [1]:

    a. Fireflies have unisex nature so the

    attraction to others is not based on the sex.

    b. The attraction toward others is influenced

    by the brightness level of fireflies‟ flash. In

    a wide distance, the brightness decreases,

    so the fireflies that have less brightness

    will approach those brighter. The fireflies

    will move to any direction or randomly if

    there is no bighter light.

    c. The light of the fireflies is determined by

    the objective condiction and function to

    determine the level of brightness.

    The attraction of fireflies is determined by the

    brightness perceived by the fireflies nearby. Thus,

    the formula of attractiveness β can be expressed

    (4)

    β0 = attractiveness at r = 0.

    γ = The coefficient of light absorption, which

    controls the light decrease.

    = || - || =

    𝑘=1𝑑𝑥𝑖,𝑘−𝑥𝑗,𝑘2 (5)

    = the distance between two fireflies

    = component to from the spatial coordinate

    from firefly .

    ( ) + (6)

    = the initial position of firefly i.

    = attractiveness.

    = the firefly‟s random movement. α is a

    random number from 0 to 1

    ( ) + . We

    substitute the formula for finding the distance with

    Newton‟s method formula.

    = || - || = = ( ) (7)

    4. Laying Hen Feed

    The feed inside hen‟s body has several

    functions as [8]:

    a. Constituent substance (building substance)

    is the constituent substance that builds the

    body structure of hens, including protein,

    mineral, fat and water.

    b. Energy substance is the energy source

    producing heat, work and/or accumulation

    of fat such as carbohydrate, fat, protein.

    c. Regulating substance as the substance

    controling the function inside fowl body,

    including vitamins, enzimes, hormones,

    minerals, certain amino acids and certain

    fat acids.

    d. Additional function is a function used for

    producing something such as egg and

    milk.

  • Newton‟s Method for Distance Optimization .... : M.S. Burhan, F.U.Ningrum 11

    Table 1. Nutritional needs of laying hen [9] (*ISA Nutrition Menegement Guide , 2010. ** SNI,1995).

    NUTRITION

    Age (Week) 0-4 >4-10 >10-16 >16 – Egg Production 2% Egg Production 2% - 28 28 - Afkir

    Water Content (%)**

  • 12 INKOM, Vol 11 No. 1, Mei 2017: 09-14

    This is illustrated in the flowchart below:

    Figure 2. The flowchart of Newton‟s method in determining the optimum distance in firefly algorithm.

    Table 2. Analysis of the raw material of laying hen feed [10]

    Raw Material ME

    (Kcal/kg)

    Crude

    Protein (%)

    Crude

    Fat (%)

    Crude

    Figer (%)

    Ash

    (%)

    Calcium

    (%)

    Phosphor

    (%)

    Water

    Content

    (%)

    Yellow Corn 3.360 9,0 4,1 2,2 24 0,3 50 15

    Buckwheat 3.040 11,0 1,9 3,4 1,65 0,028 0,28 16

    Broken Rice 3.050 8,9 2,0 1,0 0 0 1,36

    Mill Fine Bran 1.630 13,6 8,2 8,0 10,8 0 0 14,5

    Traditional Fine Bran 2.240 41,7 4,0 6,2 10,8 0 0 14,5

    Peanut Meal 2.200 43,9 6,0 12,6 0 0,2 0,65 6,6

    Coconut Cake 1.540 20,5 6,7 12,0 6,36 0,08 0,52 0

    Fish Flour 2.910 61,8 7,8 0,6 7,19 0 1,01 0

    Meat Flour 2.150 57,80 10,2 1,7 0 0 0 0

    Shrimp Flour 2.900 33,20 4,4 18,3 0 0 0 0

    White Leadtree Leaf Flour 1.140 23,20 2,4 20,1 7,79 0 0 0

    Vegetable Hummingbird Leaf Flour

    1.230 31,7 1,9 22,4 0 0 0 0

    Papaya Leaf Flour 1.230 23,50 9,1 11,3 0 0 0 0

    Distance between

    both fireflies

    Distance optimization using

    Newton‟s method

    Difference of optimization values

    Diference approach to

    0 or, Diference= 0

    The best distance

    Taking the best firefly ( ) and

    the firefly to be changed ( )

    Start

    NO

    YES

    End

  • Newton‟s Method for Distance Optimization .... : M.S. Burhan, F.U.Ningrum 13

    6. Testing result

    There were several phases used in this study.

    The first phase was testing the number of optimum

    fireflies, and the number of iteration = 100. After

    the number of optimum fireflies was obtained, the

    movement value (β), light coefficient (γ) and

    random value (α) were obtained. The testing was

    compared to the fitness. The higher the fitness, the

    closer the solution to be optimum. Based on this

    testing, the Newton’s method was then applied and

    the best iteration was tested.

    In the testing of the number of fireflies, 15 to

    40 fireflies were tested. By using 6 feed

    combinations, the best fitness was obtained when

    the number of fireflies used was 35. This is shown

    in the table below.

    Table 3. Testing of the number of fireflies

    Number of

    Firefly

    β γ α Fitness

    15 1 0,2 -1 0,961 20 1 -0,2 -1 1 25 1 0,8 -1 0,985 30 1 1 -1 0,930 35 1 1 -1 0,960 40 1 -0,2 -1 1

    Fitness = +

    (8)

    According to the results of the testing, it was

    found out that the best numbers of fireflies based

    on the highest fitness value were 20 and 40. The

    number of fireflies of 20 was selected due to

    lighter computation.

    The next phase was testing the number of

    iteration in the Newton‟s method. In the testing,

    10-80 iterations were conducted by using 4 feed

    combinations20 firefly algorithm iterations, β

    value = 1. γ = -0,2. α = -1.

    Table 4. Ptesting of the number of iterations in

    Newton‟s method Jumlah

    Iterasi

    Best 1 Best 2 Deference

    10 9,620 9,580 0,040

    20 9.0142723769946 9.0000112987902 0,014

    30 9 9 0

    40 9 9 0

    50 9 9 0

    The optimum number of iterations is 30+

    iterations. Therefore, the number of iterations in

    the Newton‟s method in this research was 30.

    Figure 3. Chart of the best iteration testing

    Figure 4. Chart of iteration testing using Newton‟s

    method

    The next phase was testing Newton‟s method in

    the application of firefly algorithm in distance

    optimization.

    In fitness testing some comparisons with other

    individual-based optical algorithms are evolution

    strategic (ES). with μ = number of feed

    combinations or called parent (2,3,4,5) and ʎ = 3

    for each parent. Then compared with firefly

    algorithm which is not done distance optimization.

    A number of input combination were

    conducted, and the results are as follows:

    Table 5. Fitness result

    Jumlah

    Kombinasi Pakan

    Fitness

    E.S Firefly Firefly+ Newton

    2 0,43085 1,03319 1,03321 3 0,35616 0,94230 1,03381 4 0,24605 1,03097 1,03154 5 0,23220 0,25330 0,48198

  • 14 INKOM, Vol 11 No. 1, Mei 2017: 09-14

    Figure 5. Chart of the comparison of fitness of firefly

    algorith, E.S (blue), FA (Red) and firefly algorithm

    optimized using Newton‟s method, FA + NW (metro)

    The results of the testing of fitness between

    Evolution Strategic, normal firefly algorithm and

    firefly algorithm optimized using Newton‟s

    method showed an increase in the fitness. This

    shows that there was an increase in the light

    intensity which was influenced by distance, so the

    optimum result could be obtained.

    7. Conclusion

    For a series of test above, be obtained 20 the

    number of fireflies as the best solution for a total

    amount tertimggi Gym numbered 1 (scala 0-1).

    With the value of β (light intensity). With the

    movement kuang-kunangterbaik nilaiγ = -0.2 dan

    α = -1.

    From the test results on the algorithm of

    fireflies and then test methods newton on the

    number of iteration, iteration 30 best obtained by

    the difference amounted to 0.

    Optimization was then performed at a distance

    (r) the firefly algorithm, generating kenaiikan

    fitness value. In the second combination of feed

    has increased by 0,002. In the third combined gain

    of 0.1 feed. At 4 combinations of feed rose 0,001

    and the five combinations of feed increased by 0.2.

    This shows the optimization method will

    increase the accuracy of calculations newon feed in

    determining optimal nutrition in chickens petelor.

    Reference

    [1] X. S. Yang, “Firefly algorithms for

    multimodal optimization,” Lect. Notes

    Comput. Sci. (including Subser. Lect. Notes

    Artif. Intell. Lect. Notes Bioinformatics),

    vol. 5792 LNCS, 2009, pp. 169–178.

    [2] H. Setiawan, L. H. Hanafi, and K. R.

    Prilianti, “Implementasi Algoritma

    Kunang-Kunang,” J. Buana Inform., vol. 6,

    2015, pp. 269–278.

    [3] B. P. Hadhi, R. S. Wibowo, and I. Robandi,

    “Mempertimbangkan Fungsi Biaya Tidak

    Mulus Dengan Firefly Algorithm,” J. TENI

    POMITS, vol. 3, no. 1, 2014.

    [4] S. Raskin, “Newton‟s method,” Dep. Math.

    Univ. Chicago, vol. 2, 2006, pp. 1–4.

    [5] A. A. Mohd Arfian Ismail, Safaai Deris,

    Mohd Saberi Mohamad, “A Hybrid of

    Newton Method and Genetic Algorithm for

    Constrained Optimization method of the

    Production of Metabolic Pathway,” Life Sci.

    J., vol. 11, no. 1, 2014, pp. 409–414.

    [6] S. Farook and P. S. Raju, “Evolutionary

    Hybrid Genetic-Firefly Algorithm for

    Global Optimization,” IJCEM Int. J.

    Comput. Eng. Manag., vol. 16, no. 3, 2013.

    [7] M. Allame and N. Azad, “On Modified

    Newton Method for Solving a Nonlinear

    Algebraic Equations by Mid-Point,” vol.

    17, no. 12, 2012.

    [8] Sudarmono, Guidelines for the maintenance

    of laying hens (Panduan Beternak Ayam

    Petelor). Yogyakarta: KANISUS, 2003.

    [9] Info Medion, “Studying Patterns Giving

    Rations Laying Hens (Mempelajari Pola

    Pemberian Ransum Ayam Petelur),” info

    medion, 2014.

    [10] J. Servatius, Successful breeding laying

    hens (Sukses Beternak Ayam Petelor), PT.

    Agro Media Pustaka, Depok, 2005.

  • INKOM, Vol 11 No. 1, Mei 2017: 15-24 1

    Optimization of Robot Telemonitoring System Software using

    multi-thread method

    Midriem Mirdanies Research Center for Electrical Power and Mechatronics, Indonesian Institute of Sciences (LIPI), Kompleks LIPI,

    Komp LIPI Bandung, Jl. Sangkuriang, Gd. 20. Lt. 2, Bandung 40135, Indonesia

    Email: [email protected]

    _______________________________________________________________________________________

    Abstract

    The processor development today is on multi-core and multi-processor which can be used to a speedup of data

    processing time compared with one processor core only. One of the main ways that can be used to speed up the data

    processing time is by using multi-thread. Multi-thread method has been implemented on the robot telemonitoring

    system based on Graphical User Interface (GUI) which has been developed in Research Center for Electrical Power

    and Mechatronics, Indonesian Institute of Sciences (LIPI). A part of that requires high processing time and dynamic at

    the telemonitoring systems are the display of real-time thermal cameras and color camera along with tracking

    algorithm used, it can be seen from the camera display which less smooth especially on the thermal camera, and some

    of the process is zero which means the buffer is unprocessed which causing lag. Two threads have been added to

    process each of the cameras separately. C programming language with the OpenCV library and the Integrated

    Development Environment (IDE) Qt Creator, has been used to implement this method into an application program.

    Based on experiments, it can be seen that the display of both cameras could run smoothly, the average processing time

    faster than sequential, and the absence of a zero process time. The average fps generated is more stable and is at the

    higher level that is 7.5 fps on the thermal camera and 7.5 - 8 fps on the color camera.

    Keywords: multi-thread, telemonitoring, GUI, Qt creator, C language

    ______________________________________________________________________________

    1. Introduction

    1Processor development today is on a multi-

    processor, and multi-core processors from the two

    cores and above, as well as the hyper-threading

    technology. On desktop processor today, it has

    been available processor with 10 cores with a total

    of 20 threads with hyper-threading technology that

    is Intel CoreTM i7-6950X Processor Extreme

    Edition [1], while for server processor, has been

    available processor with 24 cores with a total of 48

    threads such as Intel Xeon Processor E7-8890 v4

    [2] and Intel Xeon Processor E7-8894 v4 [3]. An

    example of a quad-core processor architecture can

    be seen in Figure 1.

    In Figure 1 it can be seen that each processor

    can consist of more than one processor core which

    each core has individual memory, and can connect

    to one another using shared memory. This multi-

    core processor can be used to run multiple

    programs or threads simultaneously to speed up

    data processing performance. Techniques to

    optimizing multi-core processors to speed up data

    processing on a program are parallel programming

    1 Received : 3 May 2017; Revised : 4 Oct 2017;

    Accepted : 15 Dec 2017; Published Online: 3 May 2018

    @2017 INKOM 2017/18-NO550

    DOI:http://dx.doi.org/10.14203/j.inkom.550

    or multi-thread. In multi-thread, a program is

    divided into two or more parts and processed on a

    different thread.

    Some publications have been reported using

    multi-core processors for specific applications. In

    image processing, cabaret et al. have implemented

    the Connected Component Labeling (CCL)

    algorithm for labeling objects [5], and Mirdanies

    et al. have also conducted research that utilizes

    multicore processors using shared memory to

    speed up the multi-object identification process by

    the SIFT and SURF methods [6]. Huynh et al. have

    also used multi-core processors in data mining to

    speed up mining data process on large datasets

    using a method called Parallel Dynamic Bit Vector

    Sequential Pattern Mining (pDBV-SPM) [4].

    Publications that used multi-threading methods

    on multi-core processors i.e. rui et al. to hide the

    deduplication of I/O latency by using multi-thread

    deduplication (Multi-Dedup) [7]. Sikora et al. have

    used multi-thread method in the audio signal field

    to speed up the beam-tracing simulation [8].

  • 16 INKOM, Vol 11 No. 1, Mei 2017: 15-24

    1

    6

    The telemonitoring system has been widely

    implemented in a variety of areas including the

    health field that Gyllensten has done for the

    treatment of patients with chronic heart failure [9].

    Azimi et al. also had discussed a monitoring

    system for the elderly using the concept of the

    Internet of Things (IoT) [10]. Both of the

    telemonitoring systems above are more emphasis

    on the concept and how the telemonitoring system

    mechanism used but did not discuss the

    optimization to speed up the processing time,

    especially by using multi-core processors.

    This paper describes the implementation of

    multi-thread method to optimize the robot

    telemonitoring system program. This system has

    been created using c programming language,

    OpenCV library, and Integrated Development

    Environment (IDE) Qt Creator.

    2. Methods

    Figure 2 is two Degrees Of Freedom (DOF) of

    robotic arms which have been developed in the

    Research Center for Electrical Power and

    Mechatronics, Indonesian Institute of Sciences

    (LIPI).

    Microcontrollers are used to drive two DOF

    mechanisms, while mini-pc is used for complex

    data processing and requires fast processing times

    such as for image processing, stabilization

    systems, ballistics, and telemonitoring or

    telecontrol systems. Mini-pc specification used in

    this research is intel core processor i3-4160T, 8GB

    DDR3, 500GB HDD, Intel HD Graphics VGA,

    GbE NIC, and windows 7 professional.

    Figure 1. An example of a quad-core processor architecture [4].

    Figure 2. Two DOF of robotic arms.

    Figure 3. Telemonitoring system diagram of the two DOF robot arm

  • Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 17

    Telemonitoring system diagram that has been

    created to monitor and control the robotic arm can

    be seen in Figure 3.

    Mini-PCs read data from thermal cameras, color

    cameras, and LRF that are displayed to the user

    through a GUI-based touchscreen monitor. In

    addition, the user can send commands to the mini-

    pc through the GUI. The Mini-PC is connected to a

    microcontroller using a serial cable to transmit the

    azimuth and elevation angle coordinates and read

    the current azimuth and elevation positions.

    A microcontroller is an intermediary between a

    mini-pc and a motor driver that sends commands

    from a mini-pc to a motor driver and reads the

    current angle of the azimuth and elevation

    mechanisms.

    The application program of the telemonitoring

    system based Graphical User Interface (GUI) can

    be seen in Figure 4. The data displayed on the GUI

    i.e. thermal camera, color camera (RGB), azimuth

    and elevation angle, object distance, the choice of

    a manual or automatic mode in the movement of

    the robot arm, button to movements robot

    manually with speed setting which can be used in

    manual mode and "Tembak" button to shoot the

    object. If the automatic mode is selected, the robot

    arm will move to follow the direction of the

    selected object using tracking algorithms.

    Figure 4. The telemonitoring system program based Graphical User Interface (GUI)

  • 18 INKOM, Vol 11 No. 1, Mei 2017: 15-24

    1

    8

    Telemonitoring system flowchart can be seen in

    Figure 5. The thermal camera used in this research

    is Flir A65 (f = 25mm, 7.5 Hz) which connected

    using Local Area Network (LAN) cable with an

    RJ45 connection, and the color camera is DFK

    72AUC02-F connected via USB. The both of

    camera can be seen in Figure 6 and Figure 7

    Figure 5. Telemonitoring system flowchart

  • Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 19

    One part that requires dynamic and high

    processing time on this telemonitoring system is

    the display of two cameras i.e. thermal camera and

    color camera with 640 x 480 pixel resolution with

    tracking algorithm used in real-time, it can be seen

    primarily in thermal camera display which less

    smooth, it can be seen in Figure 8. The computing

    process of thermal cameras and color cameras is

    done sequentially at any given interval using a

    timer. The object tracking algorithm used in this

    telemonitoring system is Tracking Learning

    Detection (TLD) [11].

    The GUI display in Figure 8a is taken shortly

    after the bottle is moved to the front of the camera,

    while in Figure 8b is three seconds after it. In

    Figure 8a we can see the delay in the thermal

    camera shown by the absence of the bottle,

    whereas in Figure 8b has appeared. On the other

    hand, the color camera has a bottle showing, both

    in Figure 8a and Figure 8b, although there is still a

    little delay occurs.

    The sequential timing of sequential processing

    has been done at several time intervals to ensure

    real-time processing that can be seen in section

    three. From the test results can be seen that there is

    still a lag that causes the appearance of the camera

    on the GUI has not been smooth.

    Based on this, two new threads have been

    added, first to process thermal camera, and second

    to process the color camera. Each thread is

    processed in parallel and separate, so it can handle

    the needs of a fast and dynamic processing. Two

    new threads implemented can be seen in Figure 9.

    Illustrated of thread execution on this system on

    the processor cores can be seen in Figure 9. The

    first thread is used to process raw thermal camera

    data until display it in the GUI and the second

    thread is used to process raw color camera data

    until display it in the GUI. Core processor was

    used to executing this thread is set automatically,

    so no need to specify the program.

    Flowchart of the new proposed system can be

    seen in Figure 10. In Figure 10 it can be seen that

    after the 'Mulai' button is pressed it will form two

    new threads that process color camera and thermal

    camera data continuously until the 'Stop' button is

    pressed. So the total thread was used is three.

    If the user chooses automatic mode and chooses

    the object to be tracked either by the color camera

    or thermal camera, the tracking algorithm will

    work and send commands to the microcontroller to

    move the azimuth and elevation mechanisms to

    always point to the object, whereas if manual

    mode is selected, the tracking algorithm does not

    work, the system will only move the azimuth and

    elevation mechanisms according to the direction

    keys pressed by the user.

    Thread had been implemented into an

    application program using Qt Creator IDE with

    Figure 6. Thermal camera

    Figure 7. Color camera

  • 20 INKOM, Vol 11 No. 1, Mei 2017: 15-24

    2

    0

    QtConcurrent header. Source code had been

    made using c language is as follows.

    //Header

    #include

    // variables declaration QFuture thread_RGB;

    QFuture thread_Thermal;

    //running thread

    thread_RGB = run(this,

    &Dialog::proses_RGB);

    thread_Thermal = run(this,

    &Dialog::proses_Thermal);

    // Procedures to be executed on thread void Dialog::proses_RGB() {

    // Source code of color camera

    // processing

    }

    void Dialog::proses_Thermal() {

    // Source code of thermal camera

    // processing

    }

    Two procedures have been created to process

    each of these cameras, and each procedure is

    processed on a different thread,

    Dialog::proses_RGB() procedure is processed

    (a)

    (b)

    Figure 8. GUI when running the program sequentially; (a) shortly after the bottle is moved to the front of the camera;

    (b) three seconds later.

    Figure 9. The implementation of multi-thread on telemonitoring system

  • Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 21

    on thread_RGB, while the

    Dialog::proses_Thermal() procedure is

    processed on thread_Thermal.

    The processing time of a sequential program

    and with added two threads is calculated using

    std::chrono::high_resolution_clock [12]

    to calculate the actual processing time in a

    microsecond and QTime [13] to calculate Frame

    Per Second (FPS) of each process. Source code in

    c language using

    std::chrono::high_resolution_clock is as

    follows. //Header

    #include

    //Start calculation

    auto start =

    std::chrono::high_resolution_clock::n

    ow();

    //Read buffer of thermal or color

    //camera & process the tracking

    //algorithm

    //Calculate elepsed time in us

    auto elapsed =

    std::chrono::high_resolution_clock::n

    ow() - start;

    long long microseconds =

    std::chrono::duration_cast(elapsed).count();

    The source code in c language using QTime is

    as follows.

    //Header

    #include

    //variables declaration

    QTime myTimer;

    double fps;

    double second;

    int jml_counter = 0;

    //Start calculation

    myTimer.start();

    //Source code of camera processing

    //Calculate FPS

    jml_counter++;

    if (jml_counter >= 120) {

    second = myTimer.elapsed() / 1000;

    Figure 10. Flowchart telemonitoring system with added two threads

  • 22 INKOM, Vol 11 No. 1, Mei 2017: 15-24

    2

    2

    fps = jml_counter / second;

    myTimer.restart();

    }

    3. Results and Discussion

    The sequential processing time was performed

    at 100 ms, 134 ms, 159 ms, and 300 ms time

    intervals as shown in Figure 11.

    In Figure 11 it can be seen that the processing

    time of the thermal camera and color camera at

    100 ms, 134 ms, 159 ms, and 300 ms intervals

    vary. This is related to the timer interval used and

    loads the process done, whether it is just reading

    the image buffer and displaying it, or accompanied

    by the processing of the tracking algorithm. Some

    (a)

    (b)

    (c)

    (d)

    (e)

    (f)

    (g)

    (h)

    Figure 11. The sequential processing time of: (a) color camera 100 ms; (b) thermal camera 100 ms; (c) color camera

    134 ms; (d) thermal camera 134 ms; (e) color camera 159 ms; (f) thermal camera 159 ms; (g) color camera 300 ms; (h)

    thermal camera 300 ms

  • Optimization of Robot Telemonitoring System Software ..... : M.Mirdanies 23

    value of the processing time of the thermal camera

    is 0 which means that the buffer is not processed at

    that time and causing the lag. Unlike the thermal

    camera, almost all value of the color cameras are

    more than 0, except at 300 ms intervals, it means

    that the amount of lag of the color camera is less

    than thermal camera. Based on the experimental

    results, it can be seen that all the timer intervals

    have not been able to process both cameras smooth

    and stable without any lag.

    Experiments have also been performed on PCs

    with Intel Core i7-4790, 8GB DDR3, 1 TB, Nvidia

    GeForce GTX 745, and Windows 8.1 as

    comparators. Based on experimental results,

    obtained the same conclusion, there are still lag on

    several experiments.

    Fps generated from the sequential time of

    process at both 100 ms, 134 ms, 159 ms, and 300

    ms intervals can be seen in Figure 12. In Figure 12

    it can be seen that the highest fps time is obtained

    at intervals of 134 ms ie 7.5 fps, but it can not be

    used as a solution because the appearance is still

    not smooth because of the lag as shown in Figure

    11.

    The GUI display after added two threads can be

    seen in Figure 13. The GUI in Figure 13a is taken

    shortly after the bottle is moved to the front of the

    camera, while Figure 13b is three seconds later. In

    Figure 13a and Figure 13b, it can be seen that

    there is no delay like Figure 8, that means the

    display of thermal camera and the color camera

    has been running smooth.

    The processing time of the thermal camera and

    color camera after each run parallel on a different

    thread can be seen in Figure 14. In Figure 14 it can

    be seen that the processing time of the color

    camera and thermal camera data is more stable

    than using a certain timer interval. In this way it

    can also accommodate dynamic processing, it can

    be seen from the absence of a zero processing time

    so that no lag occurs. The resultant fps on parallel

    processing can be seen in Figure 15. In Figure 15 it

    can be seen that the average fps generated on each

    camera's processing is more stable and is at the top

    level of 7.5 fps on the thermal camera and 7.5 - 8

    fps in the color camera.

    Figure 12. The sequential processing time at each

    interval in fps

    (a)

    (b)

    Figure 13. GUI with added two threads; (a) shortly

    after the bottle is moved to the front of the camera; (b)

    three seconds later.

    (a)

    (b)

    Figure 14. The parallel processing time of; (a) color

    camera; (b) thermal camera

    Figure 15. The parallel processing time in fps

  • 24 INKOM, Vol 11 No. 1, Mei 2017: 15-24

    2

    4

    4. Conclusions

    The multi-threaded method has been successfully

    implemented on two DOF robotic arm

    telemonitoring systems. The experimental results

    show that both the camera display with tracking

    algorithm used inside it after the process is

    separated using two threads can work smooth

    which can be seen visually, no lag in the

    processing time, and the average fps is more stable

    and is on higher level that is 7.5 fps on the thermal

    color and 7.5 - 8 fps on color camera. Based on

    this, it can be seen that the two threads added can

    improve the speed, and make it stable to make the

    display to be smooth without any delay like a

    sequential program.

    Acknowledgments

    Author would like to thanks to Research Center for

    Electrical Power and Mechatronics, Indonesian

    Institute of Sciences (LIPI) for the support of

    research funds, Mechatronics research group,

    especially to Aditya Sukma Nugraha, Hendri Maja

    Saputra, and Rifa Rahmayanti that have supported

    this research, and all those who have helped

    conducting this research.

    References

    [1] Intel Corporation, “Intel® Core™ i7-6950X

    Processor Extreme Edition”, [Online]. Available:

    https://ark.intel.com/products/94456/Intel-Core-

    i7-6950X-Processor-Extreme-Edition-25M-

    Cache-up-to-3_50-GHz. [Accesed: 03 04 2017].

    [2] Intel Corporation, “Intel® Xeon® Processor E7-

    8890 v4”, [Online]. Available:

    https://ark.intel.com/products/93790/Intel-Xeon-

    Processor-E7-8890-v4-60M-Cache-2_20-GHz.

    [Accesed: 03 04 2017].

    [3] Intel Corporation, “Intel® Xeon® Processor E7-

    8894 v4”, [Online]. Available:

    https://ark.intel.com/products/96900/Intel-Xeon-

    Processor-E7-8894-v4-60M-Cache-2_40-GHz.

    [Accesed: 03 04 2017].

    [4] B. Huynh, B. Vo dan V. Snasel, “An efficient

    method for mining frequent sequential patterns

    using multi-Core processors”, Applied

    Intelligence, Vol. 46, No. 3, 2017, pp. 703-716.

    [5] L. Cabaret, L. Lacassagne dan D. Etiemble,

    “Parallel Light Speed Labeling: an efficient

    connected component algorithm for labeling and

    analysis on multi-core processors”, Journal of

    Real-Time Image Processing, No. Special Issue

    Paper, 2016, pp. 1-24.

    [6] M. Mirdanies, A. S. Prihatmanto dan E. Rijanto,

    “Object Recognition System in Remote

    Controlled Weapon Station using SIFT and SURF

    Methods,” Methatronics, Electrical Power, and

    Vehicular Technology, Vol. 4, No. 2, 2013, pp.

    99-108.

    [7] R. Zhu, L.-h. Qin, J.-l. Zhou dan H. Zheng,

    “Using multi-threads to hide deduplication I/O

    latency with low synchronization overhead”,

    Journal of Central South University, Vol. 20, No.

    6, 2013, pp. 1582-1591.

    [8] M. Sikora dan I. Mateljan, “A method for

    speeding up beam-tracing simulation using

    thread-level parallelization”, Engineering with

    Computers, Vol. 30, No. 4, 2014, pp. 679-688.

    [9] I. C. Gyllensten, A. Crudall-Goode, R. M. Aarts

    dan K. M. Goode, “Simulated case management

    of home telemonitoring to assess the impact of

    different alert algorithms on work-load and

    clinical decisions”, BMC Medical Informatics and

    Decision Making, Vol. 17, 2017, pp. 1-11.

    [10] I. Azimi, A. M. Rahmani, P. Liljeberg dan H.

    Tenhunen, “Internet of things for remote elderly

    monitoring: a study from user-centered

    perspective”, Journal of Ambient Intelligence and

    Humanized Computing, Vol. 8, No. 2, 2017, pp.

    273-289.

    [11] Z. Kalal, K. Mikolajczyk dan J. Matas, “Tracking-

    learning-detection”, IEEE transactions on pattern

    analysis and machine intelligence, Vol. 34, No. 7,

    2012, pp. 1409-1422.

    [12] cppreference.com, “C++ reference”, 2017.

    [Online]. Available: http://en.cppreference.com/ w/cpp/chrono/high_resolution_clock. [Accesed:

    13 04 2017].

    [13] The Qt Company, “Qt”, 2017. [Online]. Available:

    http://doc.qt.io/qt-5/qtime.html. [Accesed: 13 04

    2017].

  • INKOM, Vol 11 No. 1, Mei 2017: 25-32

    Build and Design of Voyage Account Applications Using C#, WPF,

    and SQL Server 2012

    (Case Study Company X)

    Desi Dyah Sulistyarini, Reza Kamaluddin Isman, Hata Maulana Politeknik Negeri Jakarta

    Jl. Prof. G.A. Siwabessy, Kampus Baru UI, Kota Depok Jawa Barat, Indonesia 16424

    Email: [email protected]

    Abstract

    Voyage Account is an application that record consumption data on each voyage, then the data is used to calculate

    the profit or loss of each voyage. The application interface was created using Windows Presentation Foundation (WPF).

    Prototyping development methods was used to create these applications, C# as the programming language, and SQL

    Server 2012 as the database. This study discusses the making of the interface, backend, and database of application.

    WPF has been selected, because WPF is the latest technology developed by Microsoft after WinForms. WPF presents a

    display that can be customized to user needs. The test results showed that the Voyage Account application is already

    functioning in accordance with wishes of the user, the test is done using sql query by entering the appropriate username

    and password and match the query returns results with what is displayed by the application. As for testing the interface

    shows if WPF can be flexibly adapted to the screen resolution of 1366 x 768, 1920 x 1080 and 1280 x 720.

    Keyword:Voyage Account, WPF, prototyping, C#, SQL Server 2012.

    1. Preliminary

    1The main business of Company X is focused

    on the coal transportation to supply PLN power

    plants, a subsidiary of PLN, and Independent

    Power Producers (IPP). Consumption from every

    voyage captured and recorded to quantify the

    costs incurred by the company. Calculation from

    recorded data is made to be used as an evaluation

    for the Operation Department and Fleet

    Department.

    Each voyage which is run by fleet has the

    income and cost. Costs to be charged in one

    voyage, among others MFO (Marine Fuel Oil),

    MDO (Marine Diesel Oil), CO (Crude Oil), FW

    (Fresh Water), and HSD (High Speed Diesel).

    When fleet do not travel in accordance with a

    predetermined time, the operational costs of fleet

    will increase. There are many factors that cause

    the fleet did not arrive at their destination on time,

    one of which is the weather. Because of that

    factor, Voyage Account application is made so

    that can be used to record data obtained during the

    voyage and this application can calculate profit or

    loss that is earned by the company in one voyage.

    Voyage Account application can shorten the time

    of calculation of profits and losses which

    1Received : 10 April 2017; Revised : 28 Sept 2017;

    Accepted : 15 Dec 2017; Published Online: 3 May

    2018 @2017 INKOM 2017/18-NO541

    DOI:http://dx.doi.org/10.14203/j.inkom.541

    originally was done manually. In addition, the

    information generated by the application can be

    used as an evaluation of each voyage.

    2. Result

    (Soni, 2012) [1] argued that WPF is a reliable

    technology in the manufacture of a GUI. When

    combined with the method MVVM, processing

    applications can be more focussed, because the

    method of MVVM that divides an application into

    three parts, namely Model (back end Voyage

    Account), ViewModel (back end Window Voyage

    Account), and View (front end or Window)

    Technology WPF and MVVM pattern be applied

    in applications Voyage account.

    According Akiki, Pierre A. Arosha K.

    Bandara, and Yijun Yu [2] applications design

    that created already adapted to the whim of the

    client. However, sometimes users who use these

    applications do not necessarily have the same

    opinion on the application design that has been

    made, because of the experience and knowledge

    of each user is different.Thus, if the user desires

    varied met, factors such as performance, price,

    and time will increase, impacting applications and

    users themselves. This problem can be solved

    with adaptive design, in which the method of this

    design, the varied desires can be met. Because,

    applied adaptive design is the simplest design

    application and each user can add their own

    functionality according to the needs and desires of

    each. For example, the default view Adobe

  • 26 INKOM, Vol 11 No. 1, Mei 2017: 25-32

    Illustrator CS6, functions basic functions such as

    to draw a square or circle that has been provided

    on the toolbox left of the application, while using

    a function to draw the kind of brush-shaped arrow

    in the application, the user must add it via the

    Window menu in the menubar section on the

    application and then choose a brush library and

    choose a new arrows then the user can use the

    function to draw the arrow.This is done in Adobe

    for drawing basic shapes such as square or circle

    is the basic need of every user applications, both

    from a user-level amateur to professional, while

    the functions of drawing with the brush-shaped

    arrow usually used a specific user only, so with an

    adaptive design applied to Adobe, users with

    amateur level does not interfere with the choices

    necessary functions that are not shown in the

    default view of the application.Adaptive design is

    a method that can be applied to a wide variety of

    programming languages in accordance with the

    ability of the developer. As with the Java

    language, C # (WinForms and WPF), Python, or

    Objective C and Swift. But when referring to the

    second article, WPF than the other advantages is

    rendered WPF display with 2 threads. Thread 1 to

    render and thread 2 to adjust the responsiveness of

    the user interface, so that the display of adaptive

    design can be better and more responsive.

    3. The Making of Application

    Voyage Account application created by using

    Microsoft Visual Studio 2015. Microsoft [3]

    stated that Microsoft Visual Studio 2015 is a set

    of software tools to create, from the planning

    phase through User Interface design, coding,

    testing, debugging, analyzing code quality and

    performance, deploy to customers (publishing),

    and collect telemetry (metered variable) on use. In

    making the Voyage Account, the method used in

    analysis of needs (requirements analysis) is to

    interview the users from Operation and Fleet

    Department. After the interviews obtained several

    requirements, including:

    • Using an integrated database. • Add and edit data ship, barge, and ports. • Add and edit fixed cost of each fleet. • Calculate the profit / loss of each voyage by

    the fleet.

    • Can view v