<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:cc="http://cyber.law.harvard.edu/rss/creativeCommonsRssModule.html">
    <channel>
        <title><![CDATA[Stories by Nicolas Martinus Manurung on Medium]]></title>
        <description><![CDATA[Stories by Nicolas Martinus Manurung on Medium]]></description>
        <link>https://medium.com/@nickmanurung?source=rss-77e219d91b77------2</link>
        <image>
            <url>https://cdn-images-1.medium.com/fit/c/150/150/1*eD0K8OaZXyL5HWoXcT06YA.jpeg</url>
            <title>Stories by Nicolas Martinus Manurung on Medium</title>
            <link>https://medium.com/@nickmanurung?source=rss-77e219d91b77------2</link>
        </image>
        <generator>Medium</generator>
        <lastBuildDate>Sat, 14 Nov 2026 15:30:39 GMT</lastBuildDate>
        <atom:link href="https://medium.com/@nickmanurung/feed" rel="self" type="application/rss+xml"/>
        <webMaster><![CDATA[yourfriends@medium.com]]></webMaster>
        <atom:link href="http://medium.superfeedr.com/" rel="hub"/>
        <item>
            <title><![CDATA[Memahami Defenition Clear Path dalam Data Flow Testing]]></title>
            <link>https://nickmanurung.medium.com/memahami-defenition-clear-path-dalam-data-flow-testing-7c99d0b12a8a?source=rss-77e219d91b77------2</link>
            <guid isPermaLink="false">https://medium.com/p/7c99d0b12a8a</guid>
            <category><![CDATA[c-use]]></category>
            <category><![CDATA[data-flow-testing]]></category>
            <category><![CDATA[testing]]></category>
            <category><![CDATA[software-engineering]]></category>
            <category><![CDATA[defenition-clear-path]]></category>
            <dc:creator><![CDATA[Nicolas Martinus Manurung]]></dc:creator>
            <pubDate>Fri, 27 Mar 2020 05:19:40 GMT</pubDate>
            <atom:updated>2020-03-27T05:46:48.208Z</atom:updated>
            <content:encoded><![CDATA[<p>Sebelum memahami apa itu <em>Defenition Clear Path </em>kita harus memahami pengertian daripada Data Flow Testing.</p><blockquote>Data flow testing uses the control flow graph to explore the unreasonable things that can happen to data (data flow anomalies).</blockquote><p>Walaupun dikatakan dengan menggunakan Flow Graph, ini tidak ada hubungannya sama sekali dengan data flow diagrams.<br>Yang akan digunakan disini adalah tentang variabel yang akan digunakannya, sehingga membentuk aliran-aliran yang menghubungkan ke dalam tiap kode program yang dibangun.</p><p>Adapun yang diperhatikan dalam Data Flow Testing yaitu:<br>Memperhatikan statement variabel yang telah di set nilainya(Def).<br>Memperhatikan statement yang variabelnya digunakan ataupun melakukan referensi terhadap variabel lainnya (P-USE, C-USE).</p><p>Lah? Apa lagi itu Def, P-USE, dan C-USE?<br>Nah, kali ini akan saya jelaskan menggunakan contoh.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/338/1*kbnruaB7D1cuohJmzZEsag.png" /></figure><p>int cekNilai(){<br>int y;<br>int x = 3;<br>while(x&gt;10){<br>x = x+1<br>if(x&lt;10){<br>x = x+1;<br>else{<br>x = x -1;<br> }<br>}</p><h3>DEF</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/338/1*kbnruaB7D1cuohJmzZEsag.png" /></figure><p>Def adalah kondisi dimana sebuah variabel akan melakukan defenisi(mengisi nilai) jika nilai tersebut terikat atau melakukan eksekusi pada saat program tersebut dijalankan. Jadi apabila hanya mendeklarasikan variabel, itu tidak termasuk <em>def. </em><br>Dalam contoh, terdapat inisialisasi variabel yaitu: <em>int y;<br></em>Itu adalah contoh yang mana bukan mengeksekusi nilai di dalam variabel. <br>Dalam contoh disamping, kita anggap tiap kotak dan jajar genjang sebagai node.<br>Sehingga untuk contoh <em>Def</em> adalah sebagai berikut:<br>Node 1 : x<br>Node 2 : -<br>Node 3 (Kotak Kiri) : x<br>Node 4 (Kotak Kanan) : x<br>Node 5 : -</p><h3>P-USE (Predicate Use)</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/338/1*kbnruaB7D1cuohJmzZEsag.png" /></figure><p>P-Use adalah kondisi dimana variabel tersebut digunakan, dan pada saat dilakukan eksekusi, akan dilakukan pembagian jalur eksekusi berdasarkan nilai yang ada di dalam variabel. Dalam kondisi ini kita lebih sering menyebutnya sebagai logical code seperti if-else, while dan sebagainya.<br>Dalam contoh disamping, kita anggap tiap kotak dan jajar genjang sebagai node.</p><p>Sehingga untuk contoh <em>P-Use</em> adalah sebagai berikut:<br>Node 1 : -<br>Node 2 : x<br>Node 3 (Kotak Kiri) : -<br>Node 4 (Kotak Kanan) : -<br>Node 5 : x</p><h3>C-USE(Computational Use)</h3><figure><img alt="" src="https://cdn-images-1.medium.com/max/338/1*kbnruaB7D1cuohJmzZEsag.png" /></figure><p>C-Use adalah kondisi dimana sebuah variabel digunakan nilainya agar variabel lain melakukan def terhadap dirinya sendiri menggunakan variabel itu.<br>Contoh pada code disamping yaitu:<br>Dimana sebelumnya x telah di defenisikan nilai variabelnya pada Node 1.<br>Akan tetapi pada Node 3(Kotak Kiri) terjadi c-use pada variabel c. Dimana x = x-1, sehingga x(var def) = x(c-use)-1.<br>Jadi dalam hal ini nilai x lah yang digunakan sebagai c-use. Loh? kan sudah di def kan? Emang bisa dilakukan c-use? BISA! kita dapat menggabungkan def dan c-use.</p><blockquote>Akan tetapi ada peraturan dimana def hanya dilakukan di Node dan p-use hanya digunakan di Edge.</blockquote><p>Sehingga dengan peraturan tersebut, dapat dikatakan bahwa def, tidak dapat digabungkan dalam p-use.</p><p>Sehingga untuk contoh C<em>-Use</em> adalah sebagai berikut:<br>Node 1 : -<br>Node 2 : -<br>Node 3 (Kotak Kiri) : x<br>Node 4 (Kotak Kanan) : x<br>Node 5 : x</p><p>Wah, semoga teman-teman sekalian sudah paham tentang def, c-use dan p-use ini.<br>Kita lanjut ke Defenition Clear Path.</p><h3>Defenition Clear Path</h3><p>Dari namanya saja Defenition, berarti tidak jauh dengan def yang ada diatas dong?<br>Ya benar. Tidak jauh. Oke, saya akan menjelaskannya berdasarkan flow diatas yang saya rombak sedikit.</p><figure><img alt="" src="https://cdn-images-1.medium.com/max/338/1*cs25L18fUins1JLwa1Wmhw.png" /></figure><p>Sesuai namanya, <em>Defenition Clear Path</em> kita harus tahu dulu apa itu <em>Path</em>. Path adalah sebuah jalur atau biasa kita tahu garis yang menghubungkan flow.<br>Contoh flow adalah dari <br>1 -&gt; 2 -&gt;4.</p><p>Baik jadi, apa itu <em>defenition clear path</em>?</p><p><em>defenition clear path</em> adalah sebuah clear-path(jalur bersih) yang tidak melakukan defenisi terhadap sebuah variabel yang telah ditentukan untuk mencari sebuah path(sebagai salah satu syarat dari global variabel).</p><p>Jadi nantinya apabila ada sebuah pertanyaan, dari node mana sajakah Global Defenition untuk variabel x?<br>Jawabannya adalah:<br>Dari 1-&gt;2-&gt;4 dan 1-&gt;2-&gt;3-&gt;5</p><p>Loh? 1-&gt;2-&gt;3-&gt;5 itu bukannya melakukan defenisi?<br>Iya, akan tetapi disini kita mencari untuk variabel x, bukan y.<br>Jadi walaupun dalam path tersebut melakukan defenisi terhadap variabel lain(y), apabila dia tidak berhubungan dengan defenisi variabel yang ingin kita cari(x), maka itu tidak akan mengganggu untuk clear pathnya. Jadi kita bisa meneruskannya hingga path akhir.</p><p>Demikian penjelasan saya terhadap Defenition Clear Path, semoga teman-teman dapat memahami penjelasan saya. Apabila ada pertanyaan atau kesalahan, harap kita diskusikan dalam forum response. Terima kasih.</p><img src="https://medium.com/_/stat?event=post.clientViewed&referrerSource=full_rss&postId=7c99d0b12a8a" width="1" height="1" alt="">]]></content:encoded>
        </item>
    </channel>
</rss>