<?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>Galih Hermawan on The Net &#187; java</title>
	<atom:link href="http://galih.eu/tag/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://galih.eu</link>
	<description>Seorang hamba Allah ta'ala, naib Rasulullah Muhammad saw., dan pewaris kitabullah AlQur'an</description>
	<lastBuildDate>Mon, 02 Aug 2010 02:18:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Algoritma Deret Bilangan Prima</title>
		<link>http://galih.eu/2009/06/24/algoritma-deret-bilangan-prima/</link>
		<comments>http://galih.eu/2009/06/24/algoritma-deret-bilangan-prima/#comments</comments>
		<pubDate>Wed, 24 Jun 2009 02:00:16 +0000</pubDate>
		<dc:creator>Galih Hermawan</dc:creator>
				<category><![CDATA[Komputer]]></category>
		<category><![CDATA[Pemrograman]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[prima]]></category>

		<guid isPermaLink="false">http://galih.eu/?p=305</guid>
		<description><![CDATA[Alhamdulillahi robbil &#8216;aalamiin. Nahmaduhu wa nusholli wa nusallimu &#8216;alaa rasulihil kariim. Bilangan prima termasuk bilangan yang cukup unik, kita sudah mempelajari bilangan ini sejak masuk sekolah dasar. Beberapa referensi yang penulis dapat menyatakan bahwa bilangan prima merupakan bilangan positif yang hanya bisa dibagi oleh tepat 2 pembagi, yaitu angka 1 dan angka tersebut sendiri. Ada [...]]]></description>
			<content:encoded><![CDATA[<p><strong><span style="color: #3366ff;">Alhamdulillahi robbil &#8216;aalamiin. Nahmaduhu wa nusholli wa nusallimu &#8216;alaa rasulihil kariim.</span></strong></p>
<p>Bilangan prima termasuk bilangan yang cukup unik, kita sudah mempelajari bilangan ini sejak masuk sekolah dasar.</p>
<p>Beberapa referensi yang penulis dapat menyatakan bahwa bilangan prima merupakan bilangan positif yang hanya bisa dibagi oleh tepat 2 pembagi, yaitu angka 1 dan angka tersebut sendiri. Ada juga yang menyatakan sebagai suatu bilangan yang hanya bisa dibagi oleh dirinya sendiri tanpa menyertakan angka 1.</p>
<p>Contoh: 2, 3, 5, 7, 11, 13, 17, 19, 23, 29, 31, 37, 41, 43, 47, 53, 59, 61, 67, 71, 73, 79, 83, 89, 97 dan seterusnya.</p>
<p>Teori selanjutnya silakan baca <a href="http://en.wikipedia.org/wiki/Prime_number" target="_blank">http://en.wikipedia.org/wiki/Prime_number</a> dan <a href="http://mathworld.wolfram.com/PrimeNumber.html" target="_blank">http://mathworld.wolfram.com/PrimeNumber.html</a>.</p>
<p>Dalam logika pemrograman, kita cuma perlu memperhatikan mulai angka 2 dan seterusnya. Angka 0 jelas tidak mungkin, karena bilangan ini dibagi angka berapapun akan menghasilkan angka 0. Dan angka 1 juga kita abaikan saja, sebab angka 1 hanya bisa dibagi oleh dirinya sendiri, padahal bilangan prima itu syarat utamanya bisa dibagi oleh 2 bilangan natural yang nyata, yaitu angka 1 dan dirinya sendiri. (<span style="color: #800000;"><strong>Note: </strong></span>bisa dibagi ini dalam artian menghasilkan bilangan bulat positif, bukan bilangan pecahan.)</p>
<p>Berikutnya akan penulis ilustrasikan contoh pembagiannya, dimana kita sepakati bahwa angka pembagi tidak melibatkan angka 1.</p>
<p><strong>2</strong>: hanya bisa dibagi 2.</p>
<p><strong>3</strong>: hanya bisa dibagi 3.</p>
<p><strong>4</strong>: bisa dibagi 2 dan 4 (lebih dari 1 pembagian, maka tidak termasuk bilangan prima).</p>
<p><strong>5</strong>: hanya bisa dibagi 5.</p>
<p><strong>6</strong>: bisa dibagi 2,3, dan 6 (bukan bilangan prima).</p>
<p>Dan seterusnya.</p>
<p><span style="color: #0000ff;">Misalkan diketahui sebuah bilangan <strong>X</strong>, bagaimana cara menentukan bahwa bilangan <strong>X</strong> itu termasuk bilangan prima atau bukan?</span></p>
<p>Asumsi: X adalah bilangan yang lebih besar dari 2</p>
<p>Berarti bilangan-bilangan yang akan menjadi pembagi adalah mulai angka <strong>2</strong> sampai <strong>X-1</strong>.</p>
<p>Jika bilangan X bisa dibagi oleh minimal salah satu dari bilangan-bilangan mulai 2 sampai X-1, maka dapat dikatakan bahwa bilangan X adalah bukan bilangan prima.</p>
<p>Contoh: <span style="color: #3366ff;"><strong>9</strong></span></p>
<p>Bilangan sebagai pembagi adalah 2 3 4 5 6 7 8</p>
<p>Untuk mengetahui bahwa suatu bilangan bisa dibagi atau tidak, paling mudah kita menggunakan bantuan <strong>mod</strong>, yang menyatakan sisa hasil bagi. Jika sisa hasil bagi 0 berarti bisa dibagi.</p>
<p><span id="more-305"></span><span style="text-decoration: underline;">Kembali ke contoh.</span></p>
<p><span style="color: #003300;">9 mod 2 = 1</span> (hasil bukan 0, artinya tidak habis/bisa dibagi), lanjutkan,</p>
<p><span style="color: #003300;">9 mod 3 =0</span> (sudah cukup untuk menyimpulkan bahwa 9 adalah bukan bilangan prima.)</p>
<p>Tidak perlu kita uji dengan membagi 9 dengan angka 4 dan seterusnya.</p>
<p>Contoh lain: <span style="color: #3366ff;"><strong>11</strong></span></p>
<p>11 mod 2 = 1</p>
<p>11 mod 3 = 2</p>
<p>11 mod 4 = 3</p>
<p>11 mod 5 = 1</p>
<p>11 mod 6 = 5</p>
<p>11 mod 7 = 4</p>
<p>11 mod 8 = 3</p>
<p>11 mod 9 = 2</p>
<p>11 mod 10 = 1</p>
<p>Tidak ada yang menghasilkan angka 0, berarti 11 termasuk bilangan prima.</p>
<p>Sekarang kita coba dengan algoritma pemrogramannya.</p>
<blockquote>
<pre><strong>KAMUS</strong>
  i     : integer
  bil   : integer
  prima : boolean
<strong>ALGORITMA</strong>
  prima ← false
  input (bil)
  if (bil=2) then
     prima ← true
  else
     for i ← 2 to bil-1 do
        if (bil mod i = 0) then
           prima ← false
           exit for <span style="color: #993300;">// keluar dari <em>looping</em></span>
        else
           prima ← true
        endif
     endfor
  endif

  if (prima) then <span style="color: #993300;">// prima=true</span>
     output ("Bilangan Prima")
  else
     output ("Bukan Bilangan Prima")
  endif</pre>
</blockquote>
<p>Logika di atas bisa digunakan kalau kita ingin memeriksa hanya pada satu bilangan tertentu saja.</p>
<p>Bagaimana kalau soal kita kembangkan, menampilkan bilangan prima dari bilangan sekian sampai sekian. Maka tinggal kita kombinasikan dengan <em>looping</em> juga.</p>
<p><strong>Source Code C++.</strong></p>
<pre class="brush: cpp;">
#include &lt;iostream&gt;

/* ------------------------------
    Developed by Galih Hermawan
    Website: http://galih.eu
   ------------------------------ */

using namespace std;

int main()
{
    int i, j, min, max, jum=0, total=0;
    float rata;
    bool prima;

    cout &lt;&lt; &quot;Masukkan nilai batas bawah: &quot;;
    cin &gt;&gt; min;
    cout &lt;&lt; &quot;Masukkan nilai batas atas: &quot;;
    cin &gt;&gt; max;

    while (min &gt; max)
    {
        cout &lt;&lt; &quot;\n\nBatas atas harus lebih besar dari batas bawah.\nMasukkan nilai batas atas: &quot;;
        cin &gt;&gt; max;
    }
    cout &lt;&lt; endl;

    for (i=min;i&lt;=max;i++)
    {
        prima=false;
        if (i==2)
            prima=true;
        else
            {
                for (j=2;j&lt;i;j++)
                {
                    if (i % j==0)
                    {
                        prima=false;
                        break; // keluar dari looping
                    }
                    else
                        prima=true;
                }
            }
        if (prima) // prima = true
        {
            cout &lt;&lt; i &lt;&lt; &quot;\t&quot;;
            jum+=1; // menghitung banyaknya bilangan prima
            total+=i; // total jumlah dari seluruh bil. prima
        }
    }
    cout &lt;&lt; endl;

    cout.setf(ios::fixed);
    cout.setf(ios::showpoint);
    cout.precision(2);

    rata=(float)total/jum;
    cout &lt;&lt; &quot;\nTerdapat &quot; &lt;&lt; jum &lt;&lt; &quot; bilangan dengan total &quot; &lt;&lt; total;
    cout &lt;&lt; &quot;\nRata-ratanya &quot; &lt;&lt; rata &lt;&lt; endl;
    system (&quot;PAUSE&quot;);
    return 0;
}
</pre>
<p>Contoh tampilan:</p>
<p><img class="alignnone size-full wp-image-306" title="prima (c)" src="http://galih.eu/wp-content/uploads/2009/06/prima-c.JPG" alt="prima (c)" width="356" height="185" /></p>
<p><strong>Source Code Java.</strong></p>
<pre class="brush: java;">
import java.util.Scanner;
/* ------------------------------
    Developed by Galih Hermawan
    Website: http://galih.eu
   ------------------------------ */
public class DeretPrima
{
    public static void main( String[] args )
    {
        Scanner input = new Scanner( System.in );

        int i, j, min, max, jum=0, total=0;
        float rata;
        boolean prima;

        System.out.print(&quot;Masukkan nilai batas bawah: &quot;);
        min = input.nextInt();
        System.out.print(&quot;Masukkan nilai batas atas: &quot;);
        max = input.nextInt();

        while (min &gt; max)
        {
            System.out.print(&quot;\n\nBatas atas harus lebih besar dari batas bawah.\nMasukkan nilai batas atas: &quot;);
            max = input.nextInt();
        }

        System.out.print(&quot;\n&quot;);

        for (i=min;i&lt;=max;i++)
        {
            prima=false;
            if (i==2)
                prima=true;
            else
                {
                    for (j=2;j&lt;i;j++)
                    {
                        if (i % j==0)
                        {
                            prima=false;
                            break; // keluar dari looping
                        }
                        else
                            prima=true;
                    }
                }
            if (prima) // prima = true
            {
                System.out.printf(&quot;%d\t&quot;,i);
                jum+=1; // menghitung banyaknya bilangan prima
                total+=i; // total jumlah dari seluruh bil. prima
            }
        }

        rata=(float)total/jum;
        System.out.printf(&quot;\n\nTerdapat %d bilangan dengan total %d.&quot;,jum,total);
        System.out.printf(&quot;\nRata-ratanya %5.2f&quot;,rata);

    }
}
</pre>
<p>Contoh tampilan:</p>
<p><img class="alignnone size-full wp-image-307" title="prima (java)" src="http://galih.eu/wp-content/uploads/2009/06/prima-java.JPG" alt="prima (java)" width="423" height="269" /></p>
<p>Versi Visual Basic 6 bisa Anda lihat di <a href="http://if.web.id/visual-basic-vb/(beginner)-bilangan-ganjil-atau-genap/">http://if.web.id/visual-basic-vb/(beginner)-bilangan-ganjil-atau-genap/</a></p>
<p>Mudah-mudahan Allah ta&#8217;ala jadikan tutorial ini sebagai &#8216;ilmu yang bermanfaat. Amiin.</p>
<p><strong><span style="color: #3366ff;">Allaahu Akbar.</span></strong></p>
<img src="http://galih.eu/?ak_action=api_record_view&id=305&type=feed" alt="" />
	<h4>Tulisan yang berkaitan</h4>
	<ul class="st-related-posts">
	<li><a href="http://galih.eu/2009/06/22/algoritma-deret-genap-dan-ganjil/" title="Algoritma Deret Genap dan Ganjil (22 June 09)">Algoritma Deret Genap dan Ganjil</a> (0)</li>
	<li><a href="http://galih.eu/2009/06/22/algoritma-deret-bilangan-yang-habis-dibagi-bilangan-tertentu/" title="Algoritma Deret Bilangan Yang Habis Dibagi Bilangan Tertentu (22 June 09)">Algoritma Deret Bilangan Yang Habis Dibagi Bilangan Tertentu</a> (2)</li>
	<li><a href="http://galih.eu/2009/02/09/hello-world-2/" title="Hello World! (9 February 09)">Hello World!</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://galih.eu/2009/06/24/algoritma-deret-bilangan-prima/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Algoritma Deret Bilangan Yang Habis Dibagi Bilangan Tertentu</title>
		<link>http://galih.eu/2009/06/22/algoritma-deret-bilangan-yang-habis-dibagi-bilangan-tertentu/</link>
		<comments>http://galih.eu/2009/06/22/algoritma-deret-bilangan-yang-habis-dibagi-bilangan-tertentu/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 04:08:21 +0000</pubDate>
		<dc:creator>Galih Hermawan</dc:creator>
				<category><![CDATA[Komputer]]></category>
		<category><![CDATA[Pemrograman]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>

		<guid isPermaLink="false">http://galih.eu/?p=290</guid>
		<description><![CDATA[Alhamdulillahi nahmaduhu wa nusholli wa nusallimu &#8216;alaa rasulihil kariim. Setelah menuliskan tutorial mengenai deret bilangan genap ganjil, selanjutnya penulis akan memberikan tutorial yang hampir sama, yaitu bagaimana mengetahui dalam satu deret bilangan, bilangan mana saja yang habis dibagi oleh bilangan tertentu. Misal, penulis punya sederet bilangan: 1 2 3 4 5 6 7 8 10 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Alhamdulillahi nahmaduhu wa nusholli wa nusallimu &#8216;alaa rasulihil kariim.</strong></p>
<p>Setelah menuliskan tutorial mengenai deret bilangan genap ganjil, selanjutnya penulis akan memberikan tutorial yang hampir sama, yaitu bagaimana mengetahui dalam satu deret bilangan, bilangan mana saja yang habis dibagi oleh bilangan tertentu.</p>
<p>Misal, penulis punya sederet bilangan: 1 2 3 4 5 6 7 8 10</p>
<p>Habis dibagi 2: <span style="color: #3366ff;">2 4 6 8 10</span></p>
<p>Habis dibagi 3: <span style="color: #3366ff;">3 6 9</span></p>
<p>Habis di bagi 5: <span style="color: #3366ff;">5 10</span></p>
<p>Dan seterusnya.</p>
<p>Logika pemrogramannya adalah:</p>
<blockquote>
<pre><strong>KAMUS</strong></pre>
<pre>   i, bagi, banyak, jum : integer
   rata : real</pre>
<pre><strong>ALGORITMA</strong></pre>
<pre>   input ( bagi )</pre>
<pre>   jum &larr; 0
   banyak &larr; 0</pre>
<pre>   for i &larr; 1 to 10 do</pre>
<pre>      if (i mod bagi = 0) then</pre>
<pre>          output ( i )
          banyak &larr; banyak + 1
          jum &larr; jum + i</pre>
<pre>      endif</pre>
<pre>   endfor

   rata &larr; jum / banyak</pre>
<pre>   output ( "Total Jumlah bilangan ada ", jum )
   output ( "Rata-ratanya: ", rata )</pre>
</blockquote>
<p>Algoritma di atas memungkinkan kita untuk dapat mengetahui bilangan mana saja dalam sebuat deret yang habis dibagi oleh bilangan tertentu hanya sebatas satu kali periksa.<br />
<span id="more-290"></span><br />
Sekarang bagaimana kalau kita ingin mencari tahu bahwa bilangan-bilangan dalam deret tersebut mana saja yang habis dibagi oleh bilangan-bilangan berapapun yang kita inginkan.</p>
<p>Misal, kita punya deret: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15</p>
<p>Yang habis dibagi 3: <span style="color: #3366ff;">3 6 9 12 15</span></p>
<p>Yang habis dibagi 3 dan 4: <span style="color: #3366ff;">12</span></p>
<p>Yang habis dibagi 2 dan 3: <span style="color: #3366ff;">6 12</span></p>
<p>Dan seterusnya.</p>
<p>Langsung saja penulis sajikan <em>source code</em>-nya.</p>
<p><strong>Source Code JAVA.</strong></p>
<pre class="brush: java;">
import java.util.Scanner;

public class HabisDibagi2
{
    public static void main( String[] args )
    {
        Scanner input = new Scanner( System.in );            

        int i,j=0,jum=0;
        float rata=0;
        int min,max,g;
        int kali,k,l;
        int m1,m2;

        System.out.print( &quot;Nilai awal: &quot; );
        min = input.nextInt();

        System.out.print( &quot;Nilai akhir: &quot; );
        max = input.nextInt();

        while (max &lt; min)
        {
            System.out.print( &quot;Nilai max harus lebih besar dari nilai min.\n\nMasukkan angka akhir: &quot; );
            max = input.nextInt();
        }

        int[] larik = new int[max-min+1];

        //Isi larik
        k=min;
        do{
            larik[j] = k;
            j++;
            k++;
        } while (k &lt;= max);

        System.out.print( &quot;Dibagi berapa kali: &quot; );
        kali = input.nextInt();

        k=1;
        m1=0;
        m2=j;

        do{
            System.out.printf( &quot;Pembagi ke %d : &quot;,k );
            g = input.nextInt();

            while (g &gt; max)
            {
                System.out.printf( &quot;Bilangan pembagi harus lebih kecil dari nilai max.\n\nPembagi ke %d : &quot;,k );
                g = input.nextInt();
            }

            j=0;

            for (i=m1;i&lt;m2;i++)
            {
                if (larik[i] % g == 0)
                {
                    larik[j] = larik[i];
                    j=j+1;
                }
            } 

            k=k+1;
            m1=0;
            m2=j;
        } while (k &lt;= kali);

        jum=0;
        for (i=0;i&lt;j;i++)
        {
            System.out.println(larik[i]);
            jum=jum+larik[i];
        }

        rata = (float)jum/j;
        System.out.printf(&quot;\nAda %d bilangan dengan total jumlah %d&quot;,j,jum);
        System.out.printf(&quot;\nNilai rata-ratanya adalah %5.2f&quot;,rata);
    }
}
</pre>
<p>Ini contoh gambar outputnya:</p>
<p>

			    <a href="http://galih.eu/wp-content/uploads/2009/06/deret-habis-dibagi.JPG" class="highslide"  onclick="return hs.expand(this, {captionId: 'caption-for-P2900'})"> 
                <img src="http://galih.eu/wp-content/uploads/2009/06/deret-habis-dibagi-300x200.jpg" alt="" border="0" id="P2900" title="" /></a> 
				

</p>
<p><strong>Source Code C++.</strong></p>
<pre class="brush: cpp;">
#include &lt;iostream&gt;

using namespace std;

typedef int* IntArrayPtr;

int main()
{

        int i,j=0,jum=0;
        float rata=0;
        int min,max,g;
        int kali,k,l;
        int m1,m2;

        cout &lt;&lt; &quot;Nilai awal: &quot;;
        cin &gt;&gt; min;

        cout &lt;&lt; &quot;Nilai akhir: &quot;;
        cin &gt;&gt; max;

        while (max &lt; min)
        {
            cout &lt;&lt; &quot;Nilai max harus lebih besar dari nilai min.\n\nMasukkan angka akhir: &quot;;
            cin &gt;&gt; max;
        }

        // Menggunakan Array Dinamis (Pointer)
        IntArrayPtr larik;
        larik = new int[max-min+1];

        //Isi larik
        k=min;
        do{
            larik[j] = k;
            j++;
            k++;
        } while (k &lt;= max);

        cout &lt;&lt; &quot;Dibagi berapa kali: &quot;;
        cin &gt;&gt; kali;

        k=1;
        m1=0;
        m2=j;

        do{
            cout &lt;&lt; &quot;Pembagi ke &quot; &lt;&lt; k &lt;&lt; &quot; : &quot;;
            cin &gt;&gt; g;

            while (g &gt; max)
            {
                cout &lt;&lt; &quot;Bilangan pembagi harus lebih kecil dari nilai max.\n\nPembagi ke &quot; &lt;&lt; k &lt;&lt; &quot; : &quot;;
                cin &gt;&gt; g;
            }

            j=0;

            for (i=m1;i&lt;m2;i++)
            {
                if (larik[i] % g == 0)
                {
                    larik[j] = larik[i];
                    j=j+1;
                }
            }

            k=k+1;
            m1=0;
            m2=j;
        } while (k &lt;= kali);

        cout &lt;&lt; endl;

        jum=0;
        for (i=0;i&lt;j;i++)
        {
            cout &lt;&lt; larik[i] &lt;&lt; &quot;\t&quot;;
            jum=jum+larik[i];
        }

        cout &lt;&lt; endl;

        rata = (float)jum/j;

        cout.setf(ios::fixed);
        cout.setf(ios::showpoint);
        cout.precision(2);

        cout &lt;&lt; &quot;\nAda &quot; &lt;&lt; j &lt;&lt; &quot; bilangan dengan total jumlah &quot; &lt;&lt; jum;
        cout &lt;&lt; &quot;\nNilai rata-ratanya adalah &quot; &lt;&lt; rata;

        //Hapus array dari memory
        delete [] larik;

        return 0;
}
</pre>
<p>Selesai.<br />
Silakan Anda kembangkan sendiri selanjutnya. <img src='http://galih.eu/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Mudah-mudahan Allah ta&#8217;ala beri manfaat baik dari tutorial ini. Amiin.</p>
<img src="http://galih.eu/?ak_action=api_record_view&id=290&type=feed" alt="" />
	<h4>Tulisan yang berkaitan</h4>
	<ul class="st-related-posts">
	<li><a href="http://galih.eu/2009/06/22/algoritma-deret-genap-dan-ganjil/" title="Algoritma Deret Genap dan Ganjil (22 June 09)">Algoritma Deret Genap dan Ganjil</a> (0)</li>
	<li><a href="http://galih.eu/2009/06/24/algoritma-deret-bilangan-prima/" title="Algoritma Deret Bilangan Prima (24 June 09)">Algoritma Deret Bilangan Prima</a> (15)</li>
	<li><a href="http://galih.eu/2009/02/09/hello-world-2/" title="Hello World! (9 February 09)">Hello World!</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://galih.eu/2009/06/22/algoritma-deret-bilangan-yang-habis-dibagi-bilangan-tertentu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Algoritma Deret Genap dan Ganjil</title>
		<link>http://galih.eu/2009/06/22/algoritma-deret-genap-dan-ganjil/</link>
		<comments>http://galih.eu/2009/06/22/algoritma-deret-genap-dan-ganjil/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 02:38:28 +0000</pubDate>
		<dc:creator>Galih Hermawan</dc:creator>
				<category><![CDATA[Komputer]]></category>
		<category><![CDATA[Pemrograman]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[c]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://galih.eu/?p=281</guid>
		<description><![CDATA[Bismillahi Alhamdulillahirobbil &#8216;alamiin. Kali ini penulis akan berbagi tutorial yang berkaitan dengan logika pemrograman. Sebagai langkah awal, mari kita ingat lagi bagaimana cara menentukan bahwa sebuah bilangan itu termasuk bilangan ganjil atau genap. Beberapa bilangan ganjil mulai dari 1 &#8211; 10, yaitu: 1 3 5 7 9 Sedangkan, beberapa bilangan genap mulai dari 1 &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Bismillahi Alhamdulillahirobbil &#8216;alamiin.</strong></p>
<p>Kali ini penulis akan berbagi tutorial yang berkaitan dengan logika pemrograman.</p>
<p>Sebagai langkah awal, mari kita ingat lagi bagaimana cara menentukan bahwa sebuah bilangan itu termasuk bilangan ganjil atau genap.</p>
<p>Beberapa bilangan ganjil mulai dari 1 &#8211; 10, yaitu: 1 3 5 7 9</p>
<p>Sedangkan, beberapa bilangan genap mulai dari 1 &#8211; 10, yaitu: 2 4 6 8 10</p>
<p>Dalam bidang matematika, setiap bilangan yang habis dibagi 2 atau tidak bersisa atau menghasilkan angka 0, maka termasuk bilangan genap. Sebaliknya, apabila bilangan tersebut bila dibagi 2 ternyata bersisa 1, berarti ganjil.</p>
<p>Dalam penyimbolan, sisa habis bagi ini sering menggunakan istilah <strong>mod</strong> atau simbol <strong>%</strong>.</p>
<p>Dan untuk hasil bagi positif (division), dapat digunakan istilah <strong>div</strong> atau simbol <strong>/</strong> atau <strong>\</strong> jika menggunakan bahasa pemrograman Visual Basic.</p>
<p><strong><span style="color: #3366ff;">Contoh: </span></strong></p>
<p>4 div 2 = 2</p>
<p>4 mod 2 = 0 &#8211;> genap</p>
<p>5 div 2 = 2</p>
<p>5 mod 2 = 1 &#8211;> ganjil</p>
<p>Sekarang kita gunakan ilustrasi.</p>
<p><strong><span style="color: #008080;">A div B = C</span></strong></p>
<p><strong><span style="color: #008080;">A mod B = D</span></strong></p>
<p>Artinya, bilangan <strong>C</strong> dikali <strong>B</strong> kemudian ditambah<strong> D</strong> sama dengan <strong>A</strong>. Matematisnya,<span style="color: #0000ff;"> <strong>(C x B) + D = A</strong></span></p>
<p>Sekarang kita gunakan logika pemrograman, atau ada yang sering menyebutnya dengan algoritma pemrograman.</p>
<p>Yang perlu diperhatikan bahwa, penentuan bahwa suatu bilangan itu ganjil atau genap cukup dengan memanfaatkan utilitas sisa hasil bagi atau <strong>mod </strong>saja, tanpa melibatkan <strong>div</strong>.</p>
<p>Berikut ini adalah contoh <em>pseudocode</em> dalam bahasa Indonesia.</p>
<blockquote>
<pre>JIKA A mod 2 = 0 MAKA</pre>
<pre>     A adalah bilangan genap</pre>
<pre>SEBALIKNYA</pre>
<pre>     A adalah bilangan ganjil</pre>
</blockquote>
<p>Sintaks <span style="text-decoration: underline;">SEBALIKNYA </span>menandakan bahwa A mod 2 ≠ 0.<br />
<span id="more-281"></span><br />
Sekarang mari kita gunakan algoritma yang sering dipakai di universitas (bidang komputer/pemrograman).</p>
<blockquote>
<pre>ALGORITMA GENAP_GANJIL</pre>
<pre>KAMUS</pre>
<pre>   A : integer</pre>
<pre>ALGORITMA</pre>
<pre>   input ( A )</pre>
<pre>   if ( A mod 2 = 0 ) then</pre>
<pre>      output ( "Bilangan Genap" )</pre>
<pre>   else</pre>
<pre>      output ("Bilangan Ganjil")</pre>
</blockquote>
<p>Berikutnya, penulis akan memodifikasi algoritma tersebut di atas.<br />
<br />
Yaitu, menentukan bilangan genap atau ganjil dari sederet bilangan secara urut, sekaligus penulis juga mengetahui berapa banyaknya bilangan yang dimunculkan, berapa total (jumlah) dan rata-rata dari bilangan-bilangan tersebut.<br />
<br />
Berikut ini akan penulis sajikan contoh source code dalam beberapa bahasa pemrograman. Perlu diperhatikan bahwa source code yang penulis berikan ini masih mentah, belum disertakan validasi dalam berbagai hal.</p>
<p><strong>Source Code C.</strong></p>
<pre class="brush: cpp;">
#include &lt;stdio.h&gt;
#include &lt;conio.h&gt;

main()
{
 int min, max;
 int i, banyak, jml;
 float rata;

 printf (&quot;Bilangan terkecil: &quot;);scanf(&quot;%d&quot;,&amp;min);
 printf (&quot;Bilangan terbesar: &quot;);scanf(&quot;%d&quot;,&amp;max);
 printf (&quot;\nBilangan ganjil: &quot;);

 banyak=0;
 jml=0;

 for (i=min;i&lt;=max;i+=1)
 {
     if (i % 2 == 1)
     {
        printf (&quot;%d\t&quot;,i);
        banyak+=1;
        jml+=i;
     }

 }

 rata=float(jml)/banyak;

 printf (&quot;\nAda %d bilangan ganjil, dengan total jumlah %d.&quot;,banyak,jml);
 printf (&quot;\nRata-ratanya adalah %5.2f&quot;,rata);

 printf (&quot;\nBilangan genap: &quot;);

 banyak=0;
 jml=0;

 for (i=min;i&lt;=max;i+=1)
 {
     if (i % 2 == 0)
     {
        printf (&quot;%d\t&quot;,i);
        banyak+=1;
        jml+=i;
     }

 }

 rata=float(jml)/banyak;

 printf (&quot;\nAda %d bilangan genap, dengan total jumlah %d.&quot;,banyak,jml);
 printf (&quot;\nRata-ratanya adalah %5.2f&quot;,rata);

 getch();
 return 0;
}
</pre>
<p>Ini contoh gambar outputnya:</p>
<p><img src="http://galih.eu/wp-content/uploads/2009/06/deret-ganjil-genap.JPG" alt="deret ganjil genap" title="deret ganjil genap" width="420" height="173" class="alignnone size-full wp-image-283" /></p>
<p><strong>Source Code C++.</strong></p>
<pre class="brush: cpp;">
#include &lt;iostream&gt;

using namespace std;

int main()
{
 int min, max;
 int i, banyak, jml;
 float rata;

 cout &lt;&lt; &quot;Bilangan terkecil: &quot;;
 cin &gt;&gt; min;
 cout &lt;&lt; &quot;Bilangan terbesar: &quot;;
 cin &gt;&gt; max;
 cout &lt;&lt; &quot;\nBilangan ganjil: &quot;;

 banyak=0;
 jml=0;

 for (i=min;i&lt;=max;i+=1)
 {
     if (i % 2 == 1)
     {
        cout &lt;&lt; i &lt;&lt; &quot;\t&quot;;
        banyak+=1;
        jml+=i;
     }

 }

 rata=float(jml)/banyak;

 cout.setf(ios::fixed);
 cout.setf(ios::showpoint);
 cout.precision(2);

 cout &lt;&lt; &quot;\nAda &quot; &lt;&lt; banyak &lt;&lt; &quot; bilangan ganjil, dengan total jumlah &quot; &lt;&lt; jml;
 cout &lt;&lt; &quot;\nRata-ratanya adalah &quot; &lt;&lt; rata;

 cout &lt;&lt; &quot;\nBilangan genap: &quot;;

 banyak=0;
 jml=0;

 for (i=min;i&lt;=max;i+=1)
 {
     if (i % 2 == 0)
     {
        cout &lt;&lt; i &lt;&lt; &quot;\t&quot;;
        banyak+=1;
        jml+=i;
     }

 }

 rata=float(jml)/banyak;

 cout &lt;&lt; &quot;\nAda &quot; &lt;&lt; banyak &lt;&lt; &quot; bilangan genap, dengan total jumlah &quot; &lt;&lt; jml;
 cout &lt;&lt; &quot;\nRata-ratanya adalah &quot; &lt;&lt; rata;
 cout &lt;&lt; endl;
 system(&quot;PAUSE&quot;);
 return 0;
}
</pre>
<p><strong>Source Code JAVA.</strong></p>
<pre class="brush: java;">
import java.util.Scanner;

public class DeretGanjilGenap
{
    public static void main( String[] args )
    {
        Scanner input = new Scanner( System.in );            

        int min, max;
        int i, banyak, jml;
        float rata;       

        System.out.print( &quot;Bilangan terkecil: &quot; );
        min = input.nextInt();

        System.out.print( &quot;Bilangan terbesar: &quot; );
        max = input.nextInt();

        System.out.print( &quot;\nBilangan Ganjil: &quot; );  

        banyak=0;
        jml=0;

        for (i=min;i&lt;=max;i++)
        {
            if (i % 2 == 1)
            {
                System.out.printf(&quot;%d\t&quot;,i);
                banyak++;
                jml+=i;
            }
        }

        rata = (float)jml / banyak;

        System.out.printf (&quot;\nAda %d bilangan ganjil, dengan total jumlah %d.&quot;,banyak,jml);
        System.out.printf (&quot;\nRata-ratanya adalah %5.2f&quot;,rata);

        System.out.print( &quot;\nBilangan Genap: &quot; );  

        banyak=0;
        jml=0;

        for (i=min;i&lt;=max;i++)
        {
            if (i % 2 == 0)
            {
                System.out.printf(&quot;%d\t&quot;,i);
                banyak++;
                jml+=i;
            }
        }

        rata = (float)jml / banyak;

        System.out.printf (&quot;\nAda %d bilangan genap, dengan total jumlah %d.&quot;,banyak,jml);
        System.out.printf (&quot;\nRata-ratanya adalah %5.2f&quot;,rata);

    }
}
</pre>
<p><strong>Source Code PHP.</strong></p>
<pre class="brush: php;">
&lt;?php

echo &quot;

&lt;form method='POST' action='$_SERVER[PHP_SELF]'&gt;

Bilangan Terkecil: &lt;input type='text' name='min'&gt;&lt;br /&gt;
Bilangan Terbesar: &lt;input type='text' name='max'&gt;

&lt;br /&gt;

&lt;input type='submit' value='Proses'&gt;
&lt;input type='hidden' name='periksa' value='1'&gt;

&lt;/form&gt;

&quot;;

if(isset($_POST['periksa']))
{
	 $min = $_POST['min'];
	 $max = $_POST['max'];

	 echo &quot;Bilangan terkecil: {$min}&quot;;
	 echo &quot;&lt;br /&gt;Bilangan terbesar: {$max}&quot;;
	 echo &quot;&lt;br /&gt;&lt;br /&gt;Bilangan ganjil: &quot;;

	 $banyak=0;
	 $jml=0;

	 for ($i=$min;$i&lt;=$max;$i+=1)
	 {
		 if ($i % 2 == 1)
		 {
			echo &quot;{$i}\t&quot;;
			$banyak++;
			$jml+=$i;
		 }

	 }

	 $rata=$jml/$banyak;

	 echo &quot;&lt;br /&gt;Ada {$banyak} bilangan ganjil, dengan total jumlah {$jml}.&quot;;
	 echo &quot;&lt;br /&gt;Rata-ratanya adalah {$rata}&quot;;

	 echo &quot;&lt;br /&gt;&lt;br /&gt;Bilangan genap: &quot;;

	 $banyak=0;
	 $jml=0;

	 for ($i=$min;$i&lt;=$max;$i+=1)
	 {
		 if ($i % 2 == 0)
		 {
			echo &quot;{$i}\t&quot;;
			$banyak++;
			$jml+=$i;
		 }

	 }

	 $rata=$jml/$banyak;

	 echo &quot;&lt;br /&gt;Ada {$banyak} bilangan genap, dengan total jumlah {$jml}.&quot;;
	 echo &quot;&lt;br /&gt;Rata-ratanya adalah {$rata}&quot;;
}
?&gt;
</pre>
<p>Untuk versi Visual Basic 6 bisa Anda lihat di <a href="http://if.web.id/visual-basic-vb/beginner-bilangan-ganjil-atau-genap-2-t827.0.html">http://if.web.id/visual-basic-vb/beginner-bilangan-ganjil-atau-genap-2-t827.0.html</a></p>
<p>Alhamdulillah. Untuk selanjutnya silakan dikembangkan sendiri.</p>
<p>La hauwlaa wa laa quwwata illa billaah.</p>
<img src="http://galih.eu/?ak_action=api_record_view&id=281&type=feed" alt="" />
	<h4>Tulisan yang berkaitan</h4>
	<ul class="st-related-posts">
	<li><a href="http://galih.eu/2009/06/22/algoritma-deret-bilangan-yang-habis-dibagi-bilangan-tertentu/" title="Algoritma Deret Bilangan Yang Habis Dibagi Bilangan Tertentu (22 June 09)">Algoritma Deret Bilangan Yang Habis Dibagi Bilangan Tertentu</a> (2)</li>
	<li><a href="http://galih.eu/2009/06/24/algoritma-deret-bilangan-prima/" title="Algoritma Deret Bilangan Prima (24 June 09)">Algoritma Deret Bilangan Prima</a> (15)</li>
	<li><a href="http://galih.eu/2009/02/09/hello-world-2/" title="Hello World! (9 February 09)">Hello World!</a> (0)</li>
</ul>

]]></content:encoded>
			<wfw:commentRss>http://galih.eu/2009/06/22/algoritma-deret-genap-dan-ganjil/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
