<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>GiniGitu [dot] com &#187; Jurnal</title>
	<atom:link href="http://ginigitu.com/category/Jurnal/feed" rel="self" type="application/rss+xml" />
	<link>http://ginigitu.com</link>
	<description>Berkicau Sesuka Hati</description>
	<lastBuildDate>Mon, 14 May 2012 08:54:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED-INTEGER NONLINEAR PROGRAMMING PROBLEMS</title>
		<link>http://ginigitu.com/buku/jurnal/an-improved-direct-search-approach-for-solving-mixed-integer-nonlinear-programming-problems.htm</link>
		<comments>http://ginigitu.com/buku/jurnal/an-improved-direct-search-approach-for-solving-mixed-integer-nonlinear-programming-problems.htm#comments</comments>
		<pubDate>Sat, 20 Nov 2010 08:27:32 +0000</pubDate>
		<dc:creator>Waden</dc:creator>
				<category><![CDATA[Jurnal]]></category>
		<category><![CDATA[basic]]></category>
		<category><![CDATA[component]]></category>
		<category><![CDATA[MILP]]></category>
		<category><![CDATA[MINLP]]></category>

		<guid isPermaLink="false">http://ginigitu.com/?p=2162</guid>
		<description><![CDATA[Share G2 ke FBMangku M.Guno, Dedy Hartama, Arie S.Siregar, Hikmah A.Adam,
Ommi Alfina, Herman Mawengkang
Graduate School of Computer Science
The University of Sumatera Utara
Email: hmawengkang@yahoo.com

Abstract 
The special class of a nonlinear mathematical programming problem which is addressed in this paper has a structure characterized by a subset of variables restricted to assume discrete values, which are linear [...]]]></description>
			<content:encoded><![CDATA[<div align="right" style="float: right; padding: 0px 0px 5px 5px;"><a name="fb_share" type="button_count" share_url="http://ginigitu.com/buku/jurnal/an-improved-direct-search-approach-for-solving-mixed-integer-nonlinear-programming-problems.htm">Share G2 ke FB</a></div><p style="text-align: center;">Mangku M.Guno, Dedy Hartama, Arie S.Siregar, Hikmah A.Adam,<br />
Ommi Alfina, Herman Mawengkang<br />
Graduate School of Computer Science<br />
The University of Sumatera Utara<br />
Email: <a href="hmawengkang@yahoo.com">hmawengkang@yahoo.com</a></p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong>Abstract </strong></p>
<p style="text-align: justify;"><em>The special class of a nonlinear mathematical programming problem which is addressed in this paper has a structure characterized by a subset of variables restricted to assume discrete values, which are linear and separable from the continuous variables. The strategy of releasing nonbasic variables from their bounds, combined with the “active constraint” method and the notion of superbasics, has been developed for efficiently tackling the problem. After solving the problem by ignoring the integrality requirements, this strategy is used to force the appropriate non-integer basic variables to move to their neighborhood integer points. A study of criteria for choosing a nonbasic variable to work with in the integerizing strategy has also been made. Successful implementation of these algorithms was achieved on various test problems. The results show that the proposed integerizing strategy is promising in tackling certain classes of mixed integer nonlinear programming problems.</em></p>
<p style="text-align: justify;"><strong>Keywords:</strong></p>
<p style="text-align: justify;"><strong>1.   Introduction</strong></p>
<p style="text-align: justify;">Mixed Integer Nonlinear Programming (MINLP) refers to mathematical pro­gramming with continuous and discrete variables and nonlinearities in the ob­jective function and constraints. The special class of Mixed-Integer nonlinear programming problem which is addressed in this paper is to assume discrete values, which are linear and separable from the continuous variables. This problem is defined by the following model.</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/1.jpg" ><img class="size-full wp-image-2251 alignleft" title="1" src="http://ginigitu.com/wp-content/uploads/2010/11/1.jpg" alt="1 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="428" height="165" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/2.jpg"><br />
</a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Where  and ,  are continuous and generally well-behaved function defined on the <em>n</em>-dimensional compact polyhedral convex set   is a discrete set, say the nonnegative integer points of some convex polytope, where for most applications Y is the unit hypercube .  and  are respectively matrices and vectors of comfortable dimensions; the vectors are column vectors unless specified otherwise.</p>
<p style="text-align: justify;">There are various applications for the MINLP model, including the process indus­try and the financial, engineering, management science and operations research sectors. It includes problems in process flow sheets, portfolio selection, batch processing in chemical engineering (consisting of mixing, reaction, and centrifuge separation), and optimal design of gas or water transmission networks. Other areas of interest include the automobile, aircraft, and VLSI manufacturing ar­eas. An impressive collection of MINLP applications can be found in [14] and [15]. The needs in such diverse areas have motivated research and development in MINLP solver technology, particularly in algorithms for handling large-scale, highly combinatorial and highly nonlinear problems.</p>
<p style="text-align: justify;">Methods for solving MINLPs include innovative approaches and related tech­niques taken and extended from MIP. Outer Approximation (OA) methods [1, 2, 3], Branch-and-Bound (B&amp;B) [16, 23], Extended Cutting Plane methods [33], and Generalized Bender’s Decomposition (GBD) [13] for solving MINLPs have been discussed in the literature since the early 1980’s. These approaches generally rely on the successive solutions of closely related NLP problems. For example, B&amp;B starts out forming a pure continuous NLP problem by dropping the integrality requirements of the discrete variables (often called the relaxed MINLP or RMINLP). Moreover, each node of the emerging B&amp;B tree represents a solution of the RMINLP with adjusted bounds on the discrete variables. [10] propose an approximate algorithm as a problem is proposed by [8].</p>
<p style="text-align: justify;"><strong>2.   The Basic Approach</strong></p>
<p style="text-align: justify;">Before we proceed to the case of MINLP problems, it is worthwhile to discuss the basic strategy of process for linear case, i.e, Mixed Integer Linear Programming (MILP) problems.</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/3.jpg" ><img class="size-full wp-image-2253 alignleft" title="3" src="http://ginigitu.com/wp-content/uploads/2010/11/3.jpg" alt="3 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="464" height="140" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">A component of the optimal basic feasible vector (<em>x<sub>B</sub></em>)<em><sub>k</sub></em>, to MILP solved as continuous can be written as<a href="http://ginigitu.com/wp-content/uploads/2010/11/6.jpg" ><img class="aligncenter size-full wp-image-2255" title="6" src="http://ginigitu.com/wp-content/uploads/2010/11/6.jpg" alt="6 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="380" height="20" /></a></p>
<p style="text-align: justify;">Note that, this expression can be found in the final tableau of Simplex procedure. If  is an integer variable and we assume that  is not an integer, the</p>
<p style="text-align: justify;">partitioning of  into the integer and fractional components is that given</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/5.jpg" ><img class="aligncenter size-full wp-image-2254" title="5" src="http://ginigitu.com/wp-content/uploads/2010/11/5.jpg" alt="5 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="344" height="20" /></a></p>
<p style="text-align: justify;">suppose we wish to increase  to its nearest integer, . Based on the idea of suboptimal solutions we may elevate a particular nonbasic variable, say , above its bound of zero, provided , as one of the element of the vector , is negative. Let  be amount of movement of the non variable , such that the numerical value of scalar  is integer. Referring to Eqn.(9),  can then be expressed as</p>
<p style="text-align: justify;">while the remaining nonbasic stay at zero. It can be seen that after substituting (10) into (11) for (<em>x<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub> and taking into account the partitioning of <em>b</em><em><sub>k</sub></em> given in (10), we obtain</p>
<p style="text-align: justify;">Thus,  is now an integer.</p>
<p style="text-align: justify;">It is now clear that a nonbasic variable plays an important role to integerize the corresponding basic variable. Therefore, the following result is necessary in order to confirm that must be a non-integer variable to work with in integerizing process.</p>
<p style="text-align: justify;">
<p style="text-align: justify;"><strong>Theorem 1.</strong> <em>Suppose the MILP problem </em><em>-</em><em> has an optimal solution, then some of the nonbasic variables. </em><em>, must be non-integer variables.</em></p>
<p style="text-align: justify;"><strong>Proof</strong><strong>:</strong></p>
<p style="text-align: justify;">Solving problem as a continuous of slack variables (which are non-integer, except in the case of equality constraint). If we assume that the vector of basic variables  consists of all the slack variables then all integer variables would be in the nonbasic vector  and therefore integer valued.</p>
<p style="text-align: justify;"><strong>3.   Derivation of the method</strong></p>
<p style="text-align: justify;">It is clear that the other components, , of vector <em>x<sub>B</sub></em> will also be affected as the numerical value of the scalar  increases to . Consequently, if some element of vector , i.e., <sub> </sub>for , are positive, then the corresponding element of  will decrease, and eventually may pass through zero. However, any component of vector <em>x </em>must not go below zero due to the non-negativity restriction. Therefore, a formula, called the minimum ratio test is needed in order to see what is the maximum movement of the nonbasic  such that all components of <em>x</em> remain feasible. This ratio test would include two cases.</p>
<p style="text-align: justify;">1.        A basic variable,  decreases to zero (lower bound) first.</p>
<p style="text-align: justify;">2.        The basic variable,  increases to an integer.</p>
<p style="text-align: justify;">Specifically, corresponding to each of these two cases above, one would compute</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/8.jpg" ><img class="size-full wp-image-2256 alignleft" title="8" src="http://ginigitu.com/wp-content/uploads/2010/11/8.jpg" alt="8 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="188" height="34" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">How far one can release the nonbasic (<em>x<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub> from its bound of zero, such that vector<em> x</em> remains feasible, will depend on the ratio test q<sup>*</sup> given below</p>
<p style="text-align: justify;">q<sup>*</sup> = min(q<sub>1,</sub> q<sub>2</sub>)   (14)</p>
<p style="text-align: justify;">obviously, if q<sup>*</sup> = q<sub>1</sub>, one of the basic variable (<em>x<sub>B</sub></em>)<sub>i</sub><sub>¹</sub><sub>k</sub> will hit the lower bound before (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> becomes integer. If q<sup>*</sup> = q<sub>2</sub>, the numerical value of the basic variable (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> will be integer and feasibility is still maintained. Analogously, we would be able to reduce the numerical value of the basic variable (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> to its closest integer [<em>b</em><em><sub>k</sub></em>]. In this case the amount of movement of a particular nonbasic variable, (<em>x<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub>, corresponding to any positive element of vector <em>a</em><em><sub>j</sub></em><sub>’</sub>, is givenby</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/9.jpg" ><img class="size-full wp-image-2257 alignleft" title="9" src="http://ginigitu.com/wp-content/uploads/2010/11/9.jpg" alt="9 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="184" height="26" /></a></p>
<p style="text-align: justify;">In order to maintain the feasibility, the ratio test q<sup>*</sup> is still needed. Consider the movement of a particular nonbasic variable, D, as expressed in Eqns.(11) and (15).</p>
<p style="text-align: justify;">The only factor that one needs to calculate is the corresponding element of vector<em>a</em>. A vector <em>a</em><em><sub>j</sub></em> can be expressed as</p>
<p style="text-align: justify;"><em>a</em><em><sub>j</sub></em> = <em>B</em><sup>-1</sup><em>a<sub>j</sub></em>, <em>j</em> = 1, ¼, <em>n</em> – <em>m</em> (16)</p>
<p style="text-align: justify;">Therefore, in order to get a particular element of vector a<sub>j</sub> we should be able to distinguish the corresponding column of matrix [<em>B</em>]<sup>-1</sup>. Suppose we need the value of element <em>a</em><em><sub>kj</sub></em><sub>*</sub>, letting  be the</p>
<p style="text-align: justify;">k-th column vector of [<em>B</em>]<sup>-1</sup>, we then have</p>
<p style="text-align: justify;"><a href="../wp-content/uploads/2010/11/11.jpg"><img title="11" src="../wp-content/uploads/2010/11/11.jpg" alt="11 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="195" height="12" /></a></p>
<p style="text-align: justify;">subsequently, the numerical value of a<sub>kj*</sub> can be obtained from</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/12.jpg" ><img class="size-full wp-image-2261 alignleft" title="12" src="http://ginigitu.com/wp-content/uploads/2010/11/12.jpg" alt="12 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="194" height="14" /></a></p>
<p style="text-align: justify;">in Linear Programming (LP) terminology the operation conducted in Eqns. (17)  and (18) is called the pricing operation. The vector of reduced costs <em>d­<sub>j</sub></em> ca is used to measure the deterioration of the objective function value caused by releasing a nonbasic variable from its bound. Consequently, in deciding which nonbasic should be released in the integerizing process, the vector <em>d<sub>j</sub></em> must be taken into account, such that deterioration is minimized. Recall that the minimum continuous solution provides a lower bound to any integer-feasible solution. Nevertheless, the amount of movement of particular nonbasic variable as given in Eqns. (11) or (15), depends in some way on the corresponding element of vector <em>a<sub>j</sub></em>. Therefore it can be observed that the deterioration of the objective function value due to</p>
<p style="text-align: justify;">releasing a nonbasic variable (<em>x<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub> so as to integerize a basic variable (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> may be measured by the ration</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/13.jpg" ><img class="size-full wp-image-2262 alignleft" title="13" src="http://ginigitu.com/wp-content/uploads/2010/11/13.jpg" alt="13 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="194" height="31" /></a></p>
<p style="text-align: justify;">where |<em>a</em>| means the absolute value of scalar a.</p>
<p style="text-align: justify;">In order to minimize the detonation of the optimal continuous solution we then use the following strategy for deciding which nonbasic variable may be increased from its bound of zero, that is,</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/14.jpg" ><img class="size-full wp-image-2263 alignleft" title="14" src="http://ginigitu.com/wp-content/uploads/2010/11/14.jpg" alt="14 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="225" height="33" /></a></p>
<p style="text-align: justify;">From the “active constraint” strategy and the partitioning of the constraints corresponding to basic (<em>B</em>), superbasic (<em>S</em>) and nonbasic (<em>N</em>) variables we can write</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/15.jpg" ><img class="size-full wp-image-2264 alignleft" title="15" src="http://ginigitu.com/wp-content/uploads/2010/11/15.jpg" alt="15 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="289" height="212" /></a></p>
<p style="text-align: justify;">The basis matrix <em>B</em> is assumed to be square and nonsingular, we get</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/16.jpg" ><img class="size-full wp-image-2265 alignleft" title="16" src="http://ginigitu.com/wp-content/uploads/2010/11/16.jpg" alt="16 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="226" height="69" /></a></p>
<p style="text-align: justify;">Expression (23) indicates that the nonbasic variables are being held equal to their bound. It is evident through the “nearly” basic expression of Eqn. (24), the integerizing strategy discussed in the previous section, designed for MILP problem can be implemented. Particularly, we would be able to release a nonbasic variable from its bound, Eqn (23) and exchange it with a corresponding basic variable in the integerizing process, although the solution would be degenerate. Furthermore, the Theorem (1) above can also be extended for MINLP problem.</p>
<p style="text-align: justify;"><strong>Theorem 2.</strong> Suppose the MINLP problem has a bounded optimal continuous solution, then we can always get a non-integer <em>y<sub>j</sub></em><sub> </sub> in the optimum basic variable vector.</p>
<p style="text-align: justify;"><strong><em>Proof</em></strong></p>
<p style="text-align: justify;">If these variables are nonbasic, the they will be at their bound. Therefore they have integer value.</p>
<p style="text-align: justify;">1.        If a <em>y<sub>j</sub></em> is superbasic, it is possible to make <em>y<sub>j</sub></em> basic and bring in a nonbasic at its bound to replace it in the superbasic.</p>
<p style="text-align: justify;">However, the ratio test expressed in (14) cannot be used as a tool to guarantee that the integer solution optimal found gill remains in the feasible region. Instead, we use the feasibility test from Minos in order to check whether the integer solution is feasible or infeasible.</p>
<p style="text-align: justify;"><strong>4.     Pivoting</strong></p>
<p style="text-align: justify;">Currently, we are in a position where particular basic variable, (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> is being integerized, thereby a corresponding nonbasic variable, (<em>c<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub>, is being released from its bound of zero. Suppose the maximum movement of (<em>x<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub> satisfies</p>
<p style="text-align: justify;">q<sup>*</sup> = D<em><sub>j</sub></em><sub>*</sub></p>
<p style="text-align: justify;">such that (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> is integer valued to exploit the manner of changing the basis in linear programming, we would be able to move (<em>x<sub>N</sub></em>)<em><sub>j</sub></em><sub>*</sub> into <em>B</em> (to replace (<em>x<sub>B</sub></em>)<em><sub>k</sub></em>) and integer-valued (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> into <em>S</em> in order to maintain the integer solution. We now have a degenerate solution since a basic variable is at its bound. The integerixing process continues with a new set [<em>B</em>, <em>S</em>]. In this case, eventually we may end up with all of the integer variables being superbasic.</p>
<p style="text-align: justify;"><strong>Theorem 3</strong>. A suboptimal solution exists to the MILP and MINLP problem in which all of the integer variables are superbasic.</p>
<p style="text-align: justify;"><strong><em>Proof</em></strong></p>
<p style="text-align: justify;">1.        If all of the integer variables are in <em>N</em>, then they will be a bound.</p>
<p style="text-align: justify;">2.        If an integer variable is basic it is possible to either</p>
<ul style="text-align: justify;">
<li>interchange it with a superbasic continuous variable, or
<ul>
<li>make this integer variable superbasic and bring in a nonbasic at its bound to replace it in the basis which gives a degenerate solution.</li>
</ul>
</li>
</ul>
<p style="text-align: justify;">The other case which can happen is that a different basic variabels (<em>x<sub>B</sub></em>)<em><sub>i</sub></em><sub>¹</sub><em><sub>k</sub></em> may hit its bound before (<em>x<sub>B</sub></em>)<em><sub>k</sub></em> becomes integer. Or in other words, we are in a situation where</p>
<p style="text-align: justify;">In this case we move the basic variable (<em>x<sub>B</sub></em>)<em><sub>i</sub></em> into <em>N</em> and its position in the basic variable vector would be replaced by nonbasic (<em>x<sub>N</sub></em>)<em><sub>j*</sub></em>. note (<em>x<sub>B</sub></em>)<em><sub>k</sub></em><sub> </sub> is still a non-integer basic variable with a new value.</p>
<p style="text-align: justify;"><strong>5. The Algorithm</strong></p>
<p style="text-align: justify;">After solving the relaxed problem, the procedure for searching a suboptimal but integer-feasible solution from an optimal continuous solution can be described as follows.</p>
<p style="text-align: justify;">Let be the (continuous) solution of the relaxed problem, [<em>x</em>] is the integer component of non-integer variable <em>x</em> and  <em>f</em> is the fractional component.</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/17.jpg" ><img class="size-full wp-image-2266 alignleft" title="17" src="http://ginigitu.com/wp-content/uploads/2010/11/17.jpg" alt="17 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="226" height="184" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;"><em><br />
</em></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/19.jpg" ><img class="size-full wp-image-2268 alignleft" title="19" src="http://ginigitu.com/wp-content/uploads/2010/11/19.jpg" alt="19 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="213" height="323" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">Otherwise go to next non-integer nonbasic or superbasic <em>j</em> (if available). Eventually the column <em>j*</em> is to be increased form LB or decreased from UB. If none go to next <em>i*</em>.</p>
<p style="text-align: justify;">Step 4.    Calculate</p>
<p style="text-align: justify;">Step 5.    Ratio test; there would be three possibilities for the basic variables in order to stay feasible due to the releasing of nonbasic</p>
<p style="text-align: justify;"><em>j*</em> from its bounds.</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/20.jpg" ><img class="size-full wp-image-2269 alignleft" title="20" src="http://ginigitu.com/wp-content/uploads/2010/11/20.jpg" alt="20 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="207" height="250" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">step 6.    Exchanging basis for the three possibilities</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/21.jpg" ><img class="size-full wp-image-2270 alignleft" title="21" src="http://ginigitu.com/wp-content/uploads/2010/11/21.jpg" alt="21 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="224" height="189" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;"><strong>6. Computational Experience A Process System Synthesis Problem</strong></p>
<p style="text-align: justify;">Mathematical Statement the problem</p>
<p style="text-align: justify;">This synthesis problem is the one of simultaneously determining the optimal structural and operating parameters for a process so as to satisfy a given design specification. The decision variables are defined as follows.</p>
<p style="text-align: justify;">is a binary variable which is associated with each process unit (piece of equipment) to     denote its potential existence in the final optimal configuration, and</p>
<p style="text-align: justify;">are the continuous which represent process parameters such as flow rates of materials.</p>
<p style="text-align: justify;">Generally, the objective is to minimize the annual costs, including both investment and operation costs.</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/22.jpg" ><img class="size-full wp-image-2271 alignleft" title="22" src="http://ginigitu.com/wp-content/uploads/2010/11/22.jpg" alt="22 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="245" height="246" /></a><a href="http://ginigitu.com/wp-content/uploads/2010/11/23.jpg" ></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/23.jpg" ><img class="size-full wp-image-2272 alignleft" title="23" src="http://ginigitu.com/wp-content/uploads/2010/11/23.jpg" alt="23 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="218" height="140" /></a></p>
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">
<p style="text-align: justify;">The above formulation contains 8 binary variables, 9 bounded continous variables, 23 inequality constraints. Nonliniearities appear in the objective function and in four inequalities.</p>
<p style="text-align: justify;">Discussion of the results</p>
<p style="text-align: justify;">The continous optimal solution was obtained by using a NLP software. Only one binary variable is integer-valued (at its lower bound) in the continous solution. A binary variable  is in superbasic set with non integer value. We then moved this variable to its closest integer by using truncation strategy and kept it superbasic. We must check the feasibility of the corresponding basic variables due to this movement. We integerized the remaining non-integer binary variables by using our proposed integerizing strategy. Both the continuous and the integer results of the synthesis problem can be seen in the Table 1.</p>
<p style="text-align: justify;"><a href="http://ginigitu.com/wp-content/uploads/2010/11/T1.jpg" ><img class="aligncenter size-full wp-image-2273" title="T1" src="http://ginigitu.com/wp-content/uploads/2010/11/T1.jpg" alt="T1 AN IMPROVED DIRECT SEARCH APPROACH FOR SOLVING MIXED INTEGER NONLINEAR PROGRAMMING PROBLEMS" width="254" height="354" /></a></p>
<p>Our objective results is in agreement with the result obtained by [2] (1986).</p>
<p><strong>6.     Conclusion</strong></p>
<p>The strategy of releasing nonbasic variable from their bounds, combined with the “active constraint” method and the notion of superbasic, has been developed for efficiently ackling mixed integer nonlinear programming problems. After solving a problem by ignoring the integrality requirements, this strategy is used to force the appropriate non-integer basic variables to move to their neighbourhood integer points.</p>
<p>Computational testing of the procedure presented this paper has demonstrated that it is a viable approach for large problems.</p>
<p><strong>References</strong></p>
<p>[1]     P.Bonami, L.T. Biegler, A.R. Conn,      G.Cornuejols, I.E. Grossmann, C.D. Laird, J. Lee, A. Lodi, F. Margot, N. Sawaya, and A. Wachter. An algorithmic framework for convex mixed integer nonlinear programs. <em>Discrete Optimization</em>, 5(2):186-204, 2008</p>
<p>[2]     M. A. Duran and I. E Grossmann, An Outer-Approxomation Algorithm For a class of Mixed-Integer Nonlinear Programs, <em>Mathematical Programming </em>36 (1986) 307.</p>
<p>[3]     Roger Fletcher and Sven Leyffer, Solving Mixed Integer Nonlinear Programming by Outer Approximation, <em>Mathematical Programming</em>, Vol. 66 (1994) 327.</p>
<p>[4] A.M. Geoffrion (1972). A Generalized Benders Decomposition, <em>J. Op-tim. Theory Appl.</em>, 10 (4), 237–260.</p>
<p>[5] I.E. Grossmann and N.V. Sahinidis (eds) (2002). Special Issue on Mixed-integer Programming and it’s Application to Engineering, Part I, Op-tim. Eng., 3 (4), Kluwer Academic Publishers, Netherlands.</p>
<p>[6] I.E. Grossmann and N.V. Sahinidis (eds) (2002). Special Issue on Mixed-integer Programming and it’s Application to Engineering, Part II, Op-tim. Eng., 4 (1), Kluwer Academic Publishers, Netherlands.</p>
<p>[7] O.K. Gupta and A. Ravindran (1985). Branch and Bound Experiments in Convex Nonlinear Integer Programming, <em>Manage Sci</em>., 31 (12), 1533–1546.</p>
<p>[8]     B. A. Murtagh and S. J. Sugden. A Direct Search Approach to Non-Linear Integer Programming, <em>Optimization Methods and Software</em>, Vol. 4 (1994) 171.</p>
<p>[9] I. Quesada and I.E. Grossmann (1992). An LP/NLP Based Branch and Bound Algorithm for Convex MINLP Optimization Problems, <em>Computers Chem. Eng., 16 (10/11), 937–947.</em></p>
<p>[10]   V. Vassilev and Krassimira Genova, An Approximate Algorithm for Nonlinear Integer programming. EJOR. 74 (1994) 170.</p>
<p>[11] T. Westerlund and F. Petersson (1995). A Cutting Plane Method for Solving Convex MINLP Problems, Computers Chem. Eng., 19, 131–136.</p>
]]></content:encoded>
			<wfw:commentRss>http://ginigitu.com/buku/jurnal/an-improved-direct-search-approach-for-solving-mixed-integer-nonlinear-programming-problems.htm/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64</title>
		<link>http://ginigitu.com/buku/enkripsi-field-rekam-medis-laboratorium-berbasis-web-menggunakan-algoritma-base64.htm</link>
		<comments>http://ginigitu.com/buku/enkripsi-field-rekam-medis-laboratorium-berbasis-web-menggunakan-algoritma-base64.htm#comments</comments>
		<pubDate>Fri, 13 Aug 2010 16:40:05 +0000</pubDate>
		<dc:creator>deihart</dc:creator>
				<category><![CDATA[Buku]]></category>
		<category><![CDATA[Jurnal]]></category>
		<category><![CDATA[akakom]]></category>
		<category><![CDATA[Algoritma]]></category>
		<category><![CDATA[base64]]></category>
		<category><![CDATA[berbasis web]]></category>
		<category><![CDATA[Comedy Remaja]]></category>
		<category><![CDATA[cryptographi]]></category>
		<category><![CDATA[description]]></category>
		<category><![CDATA[deskripsi]]></category>
		<category><![CDATA[encription]]></category>
		<category><![CDATA[enkripsi]]></category>
		<category><![CDATA[informasi]]></category>
		<category><![CDATA[jurnal sriti]]></category>
		<category><![CDATA[karya ilmilah]]></category>
		<category><![CDATA[laboratorium]]></category>
		<category><![CDATA[prodia]]></category>
		<category><![CDATA[rekam]]></category>
		<category><![CDATA[sistem]]></category>
		<category><![CDATA[Sistem Informasi]]></category>
		<category><![CDATA[teknologi]]></category>
		<category><![CDATA[yogyakarta]]></category>

		<guid isPermaLink="false">http://ginigitu.com/?p=898</guid>
		<description><![CDATA[1. Pendahuluan

Pencatatan data riwayat kesehatan pasien adalah hal yang penting dalam dunia medis dan dikenal dengan istilah data rekam medis. Selama pasien melakukan pemeriksaan atau menjalani perawatan medis oleh dokter atau suatu instansi medis, maka status kesehatan pasien akan dicatat sebagai data rekam medis pasien. Data rekam medis pasien tersebut dapat dipakai sebagai acuan untuk pemeriksaan kesehatan pasien selanjutnya, sekaligus sebagai bukti tercatat mengenai diagnosis penyakit pasien dan pelayanan medis yang diperoleh pasien.]]></description>
			<content:encoded><![CDATA[<div align="right" style="float: right; padding: 0px 0px 5px 5px;"><a name="fb_share" type="button_count" share_url="http://ginigitu.com/buku/enkripsi-field-rekam-medis-laboratorium-berbasis-web-menggunakan-algoritma-base64.htm">Share G2 ke FB</a></div><div style="background-color: ##ccffff; border: thin-dashed; padding: 5px;">
<p style="text-align: center;">Dedy Hartama,<em><sup>1)</sup></em> Muhammad Zarlis,<em><sup>2)</sup></em> Sajadin Sembiring,<sup>3)</sup></p>
<p style="text-align: center;">
</div>
<p><strong>Abstrak</strong></p>
<p>Perkembangan data elektronik yang semakin pesat, mengakibatkan dibutuhkannya pengamanan data elektronik yang cukup handal. Saat ini, setiap orang sangat mudah bertukar informasi mengenai segala hal, termasuk berbagi ilmu mengenai bagaimana caranya mengakses data secara ilegal. Penyimpanan data dalam tabel database yang dilengkapi dengan mekanisme autentikasi password yang dipasang pada aplikasi dapat dilakukan. Namun orang yang berniat jahat dapat mencari jalan lain untuk mengakses data rahasia tersebut, yaitu dengan mengakses langsung ke tabel database, tanpa melalui aplikasi.</p>
<p style="text-align: justify;">Pelayanan kesehatan di Laboratorium prodia perlu adanya dukungan dari berbagai faktor yang terkait, salah satunya adalah terselenggaranya rekam medis yang sesuai dengan standar yang berlaku. Rekam medis merupakan berkas yang berisi catatan, dan dokumen tentang identitas pasien, pemeriksaan, pengobatan, tindakan dan pelayanan lain kepada pasien pada sarana pelayanan pasien. Rekam medis ini bersifat rahasia, aman dan berisi informasi yang dapat dipertanggungjawabkan.</p>
<p style="text-align: justify;">Pada penelitian ini, penulis mencoba mengusulkan teknik enkripsi field rekam medis dengan mempergunakan base64_code. Base64 salah satu algoritma untuk encoding dan decoding suatu data kedalam format ASCI, yang di dasarkan pada bilangan 64. karakter yang dihasilkan dari Base64 teridiri dari A-Z , a-z dan 0..9, serta ditambah dengan 2 karakter terakhir yaitu / dan +.. Data penting yang hendak disimpan dalam field database, sebelumnya dienkripsi dengan mempergunakan Base64. Setelah dienkripsi, barulan <em>ciphertext </em>ini disimpan dalam field tabel database.</p>
<p style="text-align: justify;"><em>Kata kunci : Base64,Enkripsi data, Rekam Medis</em></p>
<p style="text-align: justify;"><em><br />
</em></p>
<p><strong>1. Pendahuluan</strong></p>
<p style="text-align: justify;">Pencatatan data riwayat kesehatan pasien adalah hal yang penting dalam dunia medis dan dikenal dengan istilah data rekam medis. Selama pasien melakukan pemeriksaan atau menjalani perawatan medis oleh dokter atau suatu instansi medis, maka status kesehatan pasien akan dicatat sebagai data rekam medis pasien. Data rekam medis pasien tersebut dapat dipakai sebagai acuan untuk pemeriksaan kesehatan pasien selanjutnya, sekaligus sebagai bukti tercatat mengenai diagnosis penyakit pasien dan pelayanan medis yang diperoleh pasien. Tetapi sistem pencatatan rekam medis yang dipakai selama ini masih memiliki kelemahan. Karena data rekam medis pasien hanya tersimpan secara lokal di tempat dimana pasien tersebut menjalani pemeriksaan dan perawatan medis dan antar tempat tidak memungkinkan pertukaran data secara langsung. Apabila pasien menjalani pemeriksaan dan perawatan medis pada beberapa instansi medis maka beda, dan tiap instansi medis tidak mempunyai data riwayat kesehatan pasien sebelum menjalani pemeriksaan kesehatan di instansi medis tersebut.</p>
<p style="text-align: justify;">Apabila pasien memiliki asuransi kesehatan, maka untuk pengajuan klaim asuransi pihak instansi asuransi akan meminta data medis dari perawatan kesehatan yang dijalaninya dalam bentuk berkas-berkas beserta formulir pengajuan klaim asuransi ke instansi asuransi, meliputi gejala penyakit, diagnosis, pengobatan, dan tindakan medis yang dilakukan. Hal ini membutuhkan proses yang cukup rumit dan waktu yang cukup lama. Karena selain pasien harus mengurus klaim pengajuan asuransi juga harus mengurus berkas-berkas yang dibutuhkan untuk pengajuan klaim dari instansi medis tempat dia menjalani perawatan.</p>
<p style="text-align: justify;">Karena adanya kelemahan yang dimiliki oleh sistem pencatatan rekam medis pasien yang ada saat ini, maka penelitian ini bertujuan untuk mendapatkan alternatif teknologi yang dapat diterapkan di masa yang akan datang untuk pencatatan dan penyampaian data rekam medis yang mungkin diterapkan oleh pasien, dokter, dan instansi medis.</p>
<p style="text-align: justify;">
<p><strong>2. Permasalahan</strong></p>
<p style="text-align: justify;">Permasalahan yang dikemukakan dalam makalah ini adalah bagaimana menganalisis dan menerapkan algoritma enkripsi base64_encode dan base64_decode pada kasus sistem web design khususnya di Laboratorium Prodia:</p>
<ol style="text-align: justify;">
<li>Menganalisis sebuah pesan enkripsi  file plainteks  algoritma base64_encode.</li>
<li>Tidak menangani manajemen kunci dan masalah komunikasi data</li>
<li>Bagaimana merancang dan membuat suatu sistem pencatatan dan penyampaian data rekam medis yang memungkinkan pihak medis untuk melakukan pencatatan secara <em>online</em>. Sistem instansi medis ini dihubungkan dengan <em>Web Service </em>yang memungkinkan terjadinya pertukaran data rekam medis antar instansi medis dan mengirimkan data rekam medis yang bersangkutan secara <em>online </em>ke pihak pasien sebagai hasil pemeriksaan di laboratorium prodia.</li>
<li style="text-align: justify;">Bagaimana merancang dan membuat suatu sistem informasi rekam medis yang berbasis web, yang berfungsi sebagai media pencatatan data rekam medis dan menampilkan informasi rekam medis pasien yang bersangkutan.</li>
</ol>
<p><strong>3. Tinjauan Teoritis</strong></p>
<p style="text-align: justify;"><em>Cryptography </em>salah satu ilmu yang sangat penting dan mulai menonjol sejak digunakan pada aplikasi radio dan pengiriman perintah perang pada Perang Dunia ke II. Aplikasi ini pada PD II digunakan untuk membuat kode dan membakar atau mengacak kode lawan. Saat ini cryptography semakin dikembangkan</p>
<p style="text-align: justify;">untuk aplikasi-aplikasi pertahanan keamanan maupun untuk aplikasi bisnis. Pada intinya sistem pengamanan dokumen dengan cryptography ada 2 langkah, yaitu :</p>
<p style="text-align: justify;">1.  Proses Enkripsi</p>
<p style="text-align: justify;">Proses enkripsi adalah suatu proses yang mengubah plainteks (kode sesungguhnya) menjadi ciperteks (kode rahasia). Untuk merubah plainteks ke ciperteks digunakan fungsi matematika dan kunci.</p>
<p style="text-align: justify;">2.  Proses Dekripsi</p>
<p style="text-align: justify;">Proses dekripsi adalah suatu proses yang mengubah ciperteks menjadi plainteks, dimana dokumen yang sudah teracak dikembalikan ke dokumen semula yang juga menggunakan fungsi matematika dan kunci.</p>
<p style="text-align: justify;">Misalkan P menyatakan plainteks dan C menyatakan chiperteks, maka fungsi enkripsi E memetakan P ke C,  E(P) = C dan fungsi dekripsi D memetakan C ke P,        D(C) = P. Karena proses enkripsi kemudian dekripsi mengembalikan pesan ke pesan asal maka persamaan berikut harus benar,  D(E(P)) = P.</p>
<div id="attachment_959" class="wp-caption aligncenter" style="width: 293px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/enkripsi-1.jpg" ><img class="size-full wp-image-959" title="enkripsi 1" src="http://ginigitu.com/wp-content/uploads/2010/08/enkripsi-1.jpg" alt="enkripsi 1 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="283" height="58" /></a><p class="wp-caption-text">Gambar 1. Proses Enkripsi dan Deskripsi</p></div>
<p><strong>3.1. Algortima Base 64 Encoding</strong></p>
<p style="text-align: justify;"><strong> </strong></p>
<div id="attachment_960" class="wp-caption aligncenter" style="width: 389px"><strong><strong><a href="http://ginigitu.com/wp-content/uploads/2010/08/enkripsi-Base-64.jpg" ><img class="size-full wp-image-960" title="enkripsi Base 64" src="http://ginigitu.com/wp-content/uploads/2010/08/enkripsi-Base-64.jpg" alt="enkripsi Base 64 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="379" height="307" /></a></strong></strong><p class="wp-caption-text">Encoding Algortima Base 64</p></div>
<p>Dari gambar diatas, terlihat mula-mula data inputan yang sudah berupa kumpulan binary (hasil ekstrak dari karakter dengan menggunakan tabel ASCII) dimana satu karakter diwakili 8 bits kemudian kumpulan 8 bits tersebut di ekstrak menjadi kumpulan per 6 bits yang mewakili satu karakter yang disusun membentuk 4</p>
<p style="text-align: justify;">bagian per blok (jadi tersusun beberapa blok dimana satu blok terdapat 24 bit data). Untuk kemungkinan jika terdapat data bit yang tidak mencapai 6 bits setelah proses ekstrak tadi, solusinya adalah dengan menambahkan bit 0 pada bit 6 hingga mencapai 6 bit dan bit 1 sisanya hingga mencapai 24 bit pada blok yang tersisa. Setelah kumpulan bit tersusun menjadi 24 bits dimana setiap blok nya dibagi menjadi 4 bagian, yang terdiri dari susunan-susunan 6 bits, barulah dari setiap bagian 6 bits tersebut data-data binary dapat dikonversikan menjadi karakter <em>encoding base64</em> berdasarkan tabel data <em>Encoding 64 radix </em>diatas dimana satu bagian 6 bits mewakili satu karakter <em>encoding base64</em>.</p>
<p><strong>3.2. Algortima Base 64 Decoding</strong></p>
<div id="attachment_962" class="wp-caption aligncenter" style="width: 394px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Deskripsi-Base-64.jpg" ><img class="size-full wp-image-962" title="Deskripsi Base 64" src="http://ginigitu.com/wp-content/uploads/2010/08/Deskripsi-Base-64.jpg" alt="Deskripsi Base 64 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="384" height="354" /></a><p class="wp-caption-text">Decoding Algoritma Base 64</p></div>
<p style="text-align: justify;">Pada proses dekripsi berdasarkan gambar algortima <em>decoding </em>diatas, terlihat inputan data berupa data karakter base64 hasil <em>encoding</em> pada proses sebelumnya, pertama-tama  dengan menggunakan tabel Data <em>Encoding</em> <em>64 Radix</em>, data karakter di ubah menjadi binary, dimana satu karakter di wakili oleh 6 bits data yang dikelompokkkan dalam blok yang berisi 24 bits data, setelah semua  kumpulan bits data tersusun, kumpulan-kumpulan bits tersebut akan diekstrak menjadi kumpulan 8 bits data, dimana satu blok berisi 24 bits data akan di ekstrak menjadi 3 karakter ASCII 8 bits. Kemudian barulah dengan menggunakan tabel ASCII, kumpulan 8 bits data tersebut di ekstrak menjadi karakter <em>plaintext </em>(8 bits data mewakili satu karakter <em>Plaintext</em>).</p>
<p><strong>3.3. Pengertian Rekam Medis</strong></p>
<p><strong> </strong></p>
<p>Rekam medis dalam KUBI (kamus umum bahasa Indonesia ) berarti hasil perekaman yang berupa keterangan mengenai hasil pengobatan pasien; sedangkan rekam kesehatan yaitu hasil perekaman yang berupa keterangan mengenai kesehatan pasien. Dalam Permenkes 749a tahun 1989 tentang rekam medis disebutkan bahwa rekam medis adalah berkas yang berisikan catatan dan documen tentang identitas pasien, pemeriksaan, pengobatan, tindakan dan pelayanan lain kepada pasien pada sarana pelayanan kesehatan.</p>
<p>Berdasarkan studi kasus dan pengambilan contoh data yang dilakukan di laboartorium prodia pematangsiantar, penulis mengambil data dari data penulis sendiri, maka untuk perancangan dan pembuatan sistem informasi pada penelitian ini, terdapat beberapa kebutuhan yang harus dipenuhi, yaitu:</p>
<p>1. Bagi pasien:</p>
<ol>
<li>Pasien dapat melakukan pencarian data berdasarkan tanggal.</li>
<li>Pasien yang membayar pemeriksaan akan diberikan nomor faktur dan user name untuk melihat data asli dari hasil pemeriksaan laboratorium prodia.</li>
<li>Pasien dapat mengajukan data rekam medis yang berhubungan dengan klaim asuransi pada pihak asuransi dimana pasien tersebut terdaftar.</li>
</ol>
<p>2. Bagi instansi medis:</p>
<ol>
<li>Instansi medis memiliki sistem informasi lokal yang terintegrasi dengan sistem pusat informasi medis.</li>
<li>Instansi medis setelah pasien melakukan pemeriksaan maka data pemeriksaan di copykan ke web enkripsi.</li>
</ol>
<p><strong>4.  Analisis Hasil dan Pembahasan</strong></p>
<p><strong>4.1.  Pengujian Enkripsi dengan </strong><strong>Algoritma </strong></p>
<p><strong> Base64_encode</strong></p>
<p><strong> </strong></p>
<p>Berikut ini adalah proses enkripsi dari algoritma  Base64 encode :</p>
<p>1. Misalkan plaintext adalah : LP@5</p>
<p>2. Cari Kode ASCII-nya</p>
<p style="padding-left: 30px;">L             = 76</p>
<p style="padding-left: 30px;">P              = 80</p>
<p style="padding-left: 30px;">@            = 64</p>
<p style="padding-left: 30px;">5              = 53</p>
<p>3. Ubah kode ASCII menjadi binary 8 bit :</p>
<p style="padding-left: 30px;">L             = 0100 1100</p>
<p style="padding-left: 30px;">P              = 0101 0000</p>
<p style="padding-left: 30px;">@            = 0100 0000</p>
<p style="padding-left: 30px;">5              = 0011 0101</p>
<p>4. Susun kodenya memanjang</p>
<p style="padding-left: 30px;">0100 1100 0101 0000 0100 0000 0011 0101</p>
<p>5. Kelompokkan menjadi 6 – 6 ( kalau ada sisa  biarkan saja )</p>
<p style="padding-left: 30px;">010011  000101 000001  000000 001101 01</p>
<p style="padding-left: 30px;">6. Kelompokkan Lagi 24-24 ( kalau ada sisa biarkan saja )</p>
<p style="padding-left: 30px;">[010011  000101 000001  000000] 001101 01</p>
<p>7. Bila ada kelompok bit yang &lt; 6 maka</p>
<p style="padding-left: 30px;">tambahkan beberapa 0 sehingga jumlahnya 6</p>
<p style="padding-left: 30px;">[010011  000101 000001  000000]</p>
<p style="padding-left: 30px;">001101 010000</p>
<p>8. Bila ada Kelompok  Bit yang &lt; 24  maka tambahkan beberapa 111111 sehingga jumlahnya 24</p>
<p style="padding-left: 30px;">[010011  000101 000001  000000]</p>
<p style="padding-left: 30px;">[001101  010000 <span style="text-decoration: underline;">111111  111111</span>]</p>
<p>9. Ubah jadi Desimal ( kecuali karakter padding)</p>
<p style="padding-left: 30px;">19                           5                              1</p>
<p style="padding-left: 30px;">0                              13                           6</p>
<p style="padding-left: 30px;">(pad)     (pad)</p>
<p>10. Encode dengan Tabel</p>
<p style="padding-left: 30px;">T             F              B</p>
<p style="padding-left: 30px;">A             N             Q</p>
<p style="padding-left: 30px;">=              =</p>
<p>11. SUSUN MEMANJANG</p>
<p style="padding-left: 30px;">TFBANQ==</p>
<p><strong>4.2.  Perancangan Database</strong></p>
<p><strong> </strong></p>
<p>Database yang digunakan pada Sistem enkripsi field rekam medis laboratorium berbasis web kasus laboratorium prodia adalah :</p>
<p>Database : enkripsidb</p>
<p>Tabel yang digunakan adalah</p>
<ol>
<li>Tabel login</li>
<p>Tabel login digunakan untuk masuk kedalam file deskripsi yang merubah chipertext menjadi plaintext.</p>
<table>
<tbody>
<tr>
<td>No.</td>
<td>Field Name</td>
<td>Data Type</td>
<td>Size/Length</td>
<td>Constraint</td>
</tr>
<tr>
<td>1</td>
<td>Userku</td>
<td>Varchar</td>
<td>6</td>
<td>Primary key</td>
</tr>
<tr>
<td>2</td>
<td>Passku</td>
<td>Varchar</td>
<td>6</td>
<td>-</td>
</tr>
</tbody>
</table>
<li>Tabel loginprodia</li>
<p>Tabel loginprodia digunakan untuk masuk kedalam halaman web halaman depan prodia</p>
<table>
<tbody>
<tr>
<td>No.</td>
<td>Field Name</td>
<td>Data Type</td>
<td>Size/Length</td>
<td>Constraint</td>
</tr>
<tr>
<td>1</td>
<td>Nama</td>
<td>Varchar</td>
<td>20</td>
<td>-</td>
</tr>
<tr>
<td>2</td>
<td>NoFaktur</td>
<td>Varchar</td>
<td>10</td>
<td>Primary key</td>
</tr>
</tbody>
</table>
<li>Tabel prodia</li>
<p>Tabel prodia digunakan untuk mengisi hasil pemeriksaan data transaksi untuk halaman prodia.</p>
<table>
<tbody>
<tr>
<td>No.</td>
<td>Field Name</td>
<td>Data Type</td>
<td>Size/Length</td>
<td>Constraint</td>
</tr>
<tr>
<td>1</td>
<td>Id</td>
<td>Int</td>
<td>11</td>
<td>Auto Increment, Primary Key</td>
</tr>
<tr>
<td>2</td>
<td>NoLab</td>
<td>Varchar</td>
<td>10</td>
<td>-</td>
</tr>
<tr>
<td>3</td>
<td>Tanggal</td>
<td>Date</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>4</td>
<td>Nama</td>
<td>Varchar</td>
<td>25</td>
<td>-</td>
</tr>
<tr>
<td>5</td>
<td>Umur</td>
<td>Varchar</td>
<td>9</td>
<td>-</td>
</tr>
<tr>
<td>6</td>
<td>Kelamin</td>
<td>Varchar</td>
<td>10</td>
<td>-</td>
</tr>
<tr>
<td>7</td>
<td>Alamat</td>
<td>Varchar</td>
<td>30</td>
<td>-</td>
</tr>
<tr>
<td>8</td>
<td>KetEnkripsi</td>
<td>Text</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>9</td>
<td>KetDeskripsi</td>
<td>Text</td>
<td>-</td>
<td>-</td>
</tr>
<tr>
<td>10</td>
<td>Dokter</td>
<td>Varchar</td>
<td>20</td>
<td>-</td>
</tr>
<tr>
<td>11</td>
<td>Kesimpulan</td>
<td>Varchar</td>
<td>20</td>
<td>-</td>
</tr>
</tbody>
</table>
</ol>
<p><strong>4.3. Implementasi </strong></p>
<p>Berikut adalah cara kerja dari enkripsi field rekam medis laboratorium berbasis web kasus laboratorium prodia adalah :</p>
<p><strong>4.3.1.  Bagian Admin</strong></p>
<p><strong> </strong>Bagian admin digunakan untuk mengisi data rekam medis, yang akan dilihat oleh customer atau pasien. Menu admin terdiri dari file index dan input data medis, seperti pada gambar sebagai berikut.</p>
<ol>
<li>Menu bagian admin</li>
<div id="attachment_970" class="wp-caption aligncenter" style="width: 410px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia1.jpg" ><img class="size-full wp-image-970" title="Prodia1" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia1.jpg" alt="Prodia1 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="400" height="300" /></a><p class="wp-caption-text">Gambar 2. Menu index admin</p></div>
<p>Pada gambar 2 diatas adalah halaman utama atau index dari menu bagian admin.</p>
<li>Input Data Medis</li>
<div id="attachment_971" class="wp-caption aligncenter" style="width: 410px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia2.jpg" ><img class="size-full wp-image-971" title="Prodia2" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia2.jpg" alt="Prodia2 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="400" height="300" /></a><p class="wp-caption-text">Gambar 3. Menu input data medis</p></div>
<p>Pada gambar 3 diatas adalah halaman untuk mengisi data pemeriksaan laboratorium yang telah dicetak menggunakan program visual.</ol>
<p><strong>4.3.2 Bagian Pasien</strong></p>
<p>Bagian pasien digunakan untuk mencari data berdasarkan tanggal pemeriksaan dan mencari data berdasarkan nomor lab setelah melakukan login. Menu bagian pasien terdiri dari :</p>
<div id="attachment_972" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia3.jpg" ><img class="size-full wp-image-972" title="Prodia3" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia3.jpg" alt="Prodia3 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="289" /></a><p class="wp-caption-text">Gambar 4. Menu index pasien</p></div>
<p style="text-align: center;">a. index</p>
<p>Pada gambar 4 diatas adalah menu index yang digunakan untuk informasi cara menggunakan halaman untuk pasien.</p>
<p>b. Menu cari tanggal</p>
<div id="attachment_973" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia4.jpg" ><img class="size-full wp-image-973" title="Prodia4" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia4.jpg" alt="Prodia4 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 5. Menu cari tanggal</p></div>
<p>Pada gambar 5 diatas adalah menu mencari data berdasarkan tanggal pemeriksaan, kemudian akan menampilkan data berdasarkan nomor lab.</p>
<p>c. Melihat Data Enkripsi</p>
<div id="attachment_974" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia5.jpg" ><img class="size-full wp-image-974" title="Prodia5" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia5.jpg" alt="Prodia5 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 6. Menu Lihat Data Enkripsi</p></div>
<p>Pada gambar 6 diatas adalah menu melihat data enkripsi dari plaintext dengan menggunakan algoritma base64code. Untuk melihat data yang asli maka pasien harus login berdasarkan nomor faktur pada saat membayar kwitansi.</p>
<p>d. Login berdasarkan nofaktur</p>
<div id="attachment_976" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia6.jpg" ><img class="size-full wp-image-976" title="Prodia6" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia6.jpg" alt="Prodia6 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 7. Menu login berdasarkan nomor faktur</p></div>
<p>Pada gambar 7 diatas adalah menu untuk melihat data yang asli. Maka pasien harus login berdasarkan nomor faktur pada saat membayar kwitansi.</p>
<p>e. Menambah username dan password</p>
<div id="attachment_977" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia7.jpg" ><img class="size-full wp-image-977" title="Prodia7" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia7.jpg" alt="Prodia7 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 8. Menu menambah username dan password</p></div>
<p>Pada gambar 8 diatas adalah menu untuk mengisi data username dan password yang digunakan untuk  meningkatkan security.</p>
<p>f. Melakukan login dari username dan password baru</p>
<div id="attachment_978" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia8.jpg" ><img class="size-full wp-image-978" title="Prodia8" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia8.jpg" alt="Prodia8 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 9. Menu login berdasarkan nomor faktur</p></div>
<p>Pada gambar 9 diatas adalah menu untuk menggunakan username dan password yang telah diisi pada langkah ke 5 sesuai dengan gambar 8.</p>
<p>g. Pasien mencari data berdasarkan nolab</p>
<div id="attachment_979" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia9.jpg" ><img class="size-full wp-image-979" title="Prodia9" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia9.jpg" alt="Prodia9 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 10. Menu mencari berdasarkan nolab</p></div>
<p>Pada gambar 10 diatas adalah menu untuk mencari data berdasarkan nomor laboratorium.</p>
<p>h. Menu Deskripsi</p>
<div id="attachment_981" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia10.jpg" ><img class="size-full wp-image-981" title="Prodia10" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia10.jpg" alt="Prodia10 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 11. Menu Deskripsi</p></div>
<p>Pada gambar 11 diatas adalah menu untuk mengubah data chipertext menjadi plaintext atau data sebenarnya yang diisi oleh admin laboratorium.</p>
<p>i. Menu enkripsi.</p>
<div id="attachment_982" class="wp-caption aligncenter" style="width: 510px"><a href="http://ginigitu.com/wp-content/uploads/2010/08/Prodia11.jpg" ><img class="size-full wp-image-982" title="Prodia11" src="http://ginigitu.com/wp-content/uploads/2010/08/Prodia11.jpg" alt="Prodia11 Enkripsi Field Rekam Medis Laboratorium Berbasis Web Menggunakan Algoritma Base64" width="500" height="288" /></a><p class="wp-caption-text">Gambar 12. Menu Enkripsi</p></div>
<p>Pada gambar 12 diatas adalah menu menampilkan data setelah di deskripsi oleh pasien, sehingga pasien dapat melihat data yang asli.</p>
<ol>
<li><strong>5. </strong><strong>Penutup</strong></li>
</ol>
<p><strong>5.1. </strong><strong>Kesimpulan</strong></p>
<ol>
<li>1.    Algoritma Transformasi Base64 adalah salah satu algoritma untuk encoding dan decoding suatu data kedalam format ASCI, yang di dasarkan pada bilangan 64. karakter yang dihasilkan dari Base64 teridiri dari A-Z , a-z dan 0..9, serta ditambah dengan 2 karakter terakhir yaitu / dan +.</li>
<li>2.    Algoritma Transpormasi Base64 menggunakan padding untuk menambah enkripsi.</li>
<li>3.     Algoritma Transformasi Base64 dapat diterapkan idenya dalam sistim enkripsi berbasis web untuk meningkatkan pelayanan laboratorium prodia terhadap customer.</li>
</ol>
<p><strong>5.2. </strong><strong>Saran</strong></p>
<ol>
<li> Karena enkripsi base64 belum menggunakan kunci, maka dianjurkan menggunakan algoritma kriptografi modern yaitu  menggunakan kunci publik.</li>
<li> Walaupun banyak kelemahan dari algoritma enkripsi base64, namun enkripsi base64 dapat dijadikan sebagai sumber pemahaman konsep dasar enkripsi dan dari kelemahan-kelamahan itulah didapat suatu algoritma baru yang lebih aman terhadap serangan-serangan yang ada.</li>
<li>Tulisan ini masih banyak kekurangannya, oleh karena itu penulis berharap agar pembaca bisa mengembangkan tulisan ini lagi untuk perbaikan yang lebih mendekati ke sempurna</li>
</ol>
<p><strong>Daftar Pustaka</strong></p>
<p>[1]     Ariyus, Dony. 2008. Pengantar Ilmu Kriptografi: Teori, analisis, dan Implementasi. Yogyakarta : Andi Offset</p>
<p>[2]     Munir , Rinaldi.    2006. Kiptografi. Bandung: Informatika</p>
<p><strong>[3] </strong><em>Joko Lianto Buliali, Suhadi Lili, Deddy Cahyadi</em> 2007 Sistem Pencatatan Informasi Medis Berbasis Teknologi Microsoft .Net <strong> </strong></p>
<p><strong>[4] </strong>Schneier, Bruce, Applied Cryptography  2nd, John wiley &amp; Sons, 1996<strong> </strong></p>
<p><strong>[5] </strong>An Introduction to Cryptography / Richard A. Mollin. &#8212; 2<sup>nd</sup>, 2007.<strong> </strong></p>
<p>[6]     A.Menezes, P.van Oorschot, and S.Vanstone, <em>Handbook of Applied Cryptography, </em>CRC Press,1996.</p>
<p>[7]     en.wikibooks.org</p>
<p>[8]     Kahate, Atul, <em>Cryptography and Network Security</em>,Tata McGraw-Hill, 2003.</p>
<p>[9]     Rosen, Kenneth H, <em>Discrete Matehematics and Its Applications, 5</em><em>th edition</em>, McGraw-Hill, 2003.</p>
<p>[10]  Schneier, Bruce; “<em>Applied Cryptography Second Edition: protocol, algorithm, and source code in C</em>”; John Wiley and Son , 1996.</p>
<p><strong>[11] </strong>Stallings, William, <em>Network and Internetwork Security : principles and practise</em>, Prentice Hall,New   Jersey, 1995</p>
<p><strong>[CV Penulis]</strong></p>
<p><strong>Dedy Hartama, </strong>menyelesaikan studi S1 bidang Teknik Informatika di Sekolah Tinggi Teknik Harapan medan pada tahun 2003 dan sekarang melanjut ke jenjang pascasarjana S2 Teknik Informatika Komputer FMIPA USU Medan.</p>
]]></content:encoded>
			<wfw:commentRss>http://ginigitu.com/buku/enkripsi-field-rekam-medis-laboratorium-berbasis-web-menggunakan-algoritma-base64.htm/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

