22 Jun 2009 @ 9:38 

Bismillahi Alhamdulillahirobbil ‘alamiin.

Kali ini penulis akan berbagi tutorial yang berkaitan dengan logika .

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 – 10, yaitu: 1 3 5 7 9

Sedangkan, beberapa bilangan genap mulai dari 1 – 10, yaitu: 2 4 6 8 10

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.

Dalam penyimbolan, sisa habis bagi ini sering menggunakan istilah mod atau simbol %.

Dan untuk hasil bagi positif (division), dapat digunakan istilah div atau simbol / atau \ jika menggunakan bahasa pemrograman Visual Basic.

Contoh:

4 div 2 = 2

4 mod 2 = 0 –> genap

5 div 2 = 2

5 mod 2 = 1 –> ganjil

Sekarang kita gunakan ilustrasi.

A div B =

A mod B = D

Artinya, bilangan C dikali B kemudian ditambah D sama dengan A. Matematisnya, (C x B) + D = A

Sekarang kita gunakan logika pemrograman, atau ada yang sering menyebutnya dengan pemrograman.

Yang perlu diperhatikan bahwa, penentuan bahwa suatu bilangan itu ganjil atau genap cukup dengan memanfaatkan utilitas sisa hasil bagi atau mod saja, tanpa melibatkan div.

Berikut ini adalah contoh pseudocode dalam bahasa Indonesia.

JIKA A mod 2 = 0 MAKA
     A adalah bilangan genap
SEBALIKNYA
     A adalah bilangan ganjil

Sintaks SEBALIKNYA menandakan bahwa A mod 2 ≠ 0.

Sekarang mari kita gunakan algoritma yang sering dipakai di universitas (bidang komputer/pemrograman).

ALGORITMA GENAP_GANJIL
KAMUS
   A : integer
ALGORITMA
   input ( A )
   if ( A mod 2 = 0 ) then
      output ( "Bilangan Genap" )
   else
      output ("Bilangan Ganjil")

Berikutnya, penulis akan memodifikasi algoritma tersebut di atas.

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.

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.

Source Code C.

#include <stdio.h>
#include <conio.h>

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

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

 banyak=0;
 jml=0;

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

 }

 rata=float(jml)/banyak;

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

 printf ("\nBilangan genap: ");

 banyak=0;
 jml=0;

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

 }

 rata=float(jml)/banyak;

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

 getch();
 return 0;
}

Ini contoh gambar outputnya:

deret ganjil genap

Source Code C++.

#include <iostream>

using namespace std;

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

 cout << "Bilangan terkecil: ";
 cin >> min;
 cout << "Bilangan terbesar: ";
 cin >> max;
 cout << "\nBilangan ganjil: ";

 banyak=0;
 jml=0;

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

 }

 rata=float(jml)/banyak;

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

 cout << "\nAda " << banyak << " bilangan ganjil, dengan total jumlah " << jml;
 cout << "\nRata-ratanya adalah " << rata;

 cout << "\nBilangan genap: ";

 banyak=0;
 jml=0;

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

 }

 rata=float(jml)/banyak;

 cout << "\nAda " << banyak << " bilangan genap, dengan total jumlah " << jml;
 cout << "\nRata-ratanya adalah " << rata;
 cout << endl;
 system("PAUSE");
 return 0;
}

Source Code .

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( "Bilangan terkecil: " );
        min = input.nextInt();
        
        System.out.print( "Bilangan terbesar: " );  
        max = input.nextInt();
        
        System.out.print( "\nBilangan Ganjil: " );  
        
        banyak=0;
        jml=0;

        for (i=min;i<=max;i++)
        {
            if (i % 2 == 1)
            {
                System.out.printf("%d\t",i);
                banyak++;
                jml+=i;
            }
        }
        
        rata = (float)jml / banyak;
         
        System.out.printf ("\nAda %d bilangan ganjil, dengan total jumlah %d.",banyak,jml);
        System.out.printf ("\nRata-ratanya adalah %5.2f",rata);

        System.out.print( "\nBilangan Genap: " );  
        
        banyak=0;
        jml=0;

        for (i=min;i<=max;i++)
        {
            if (i % 2 == 0)
            {
                System.out.printf("%d\t",i);
                banyak++;
                jml+=i;
            }
        }
        
        rata = (float)jml / banyak;
         
        System.out.printf ("\nAda %d bilangan genap, dengan total jumlah %d.",banyak,jml);
        System.out.printf ("\nRata-ratanya adalah %5.2f",rata);
        
    }
}

Source Code .

<?php

echo "

<form method='POST' action='$_SERVER[PHP_SELF]'>

Bilangan Terkecil: <input type='text' name='min'><br />
Bilangan Terbesar: <input type='text' name='max'>

<br />

<input type='submit' value='Proses'>
<input type='hidden' name='periksa' value='1'>


</form>

";

if(isset($_POST['periksa']))
{
	 $min = $_POST['min'];
	 $max = $_POST['max'];
	 
	 echo "Bilangan terkecil: {$min}";
	 echo "<br />Bilangan terbesar: {$max}";
	 echo "<br /><br />Bilangan ganjil: ";

	 $banyak=0;
	 $jml=0;

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

	 }

	 $rata=$jml/$banyak;

	 echo "<br />Ada {$banyak} bilangan ganjil, dengan total jumlah {$jml}.";
	 echo "<br />Rata-ratanya adalah {$rata}";
	 
	 echo "<br /><br />Bilangan genap: ";

	 $banyak=0;
	 $jml=0;

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

	 }

	 $rata=$jml/$banyak;

	 echo "<br />Ada {$banyak} bilangan genap, dengan total jumlah {$jml}.";
	 echo "<br />Rata-ratanya adalah {$rata}";
}
?>

Untuk versi Visual Basic 6 bisa Anda lihat di http://if.web.id/visual-basic-vb/beginner-bilangan-ganjil-atau-genap-2-t827.0.html

Alhamdulillah. Untuk selanjutnya silakan dikembangkan sendiri.

La hauwlaa wa laa quwwata illa billaah.

Posted By: Galih Hermawan
Last Edit: 25 Jul 2009 @ 22:56

EmailPermalink
Tags


 

Responses to this post » (14 Total)

 
  1. hidayat says:

    kalo pke kode pascal gmn???/tlg bantuannya ya…email jg bleh ke mohamad_hidayattulloh@yahoo.com

  2. RyuuJin7 says:

    Wihh, thannks bgt, ngebantu banget nih 🙂

  3. marthin sutanto says:

    salam sejahtera,
    halo pak galih bisa saya minta berapa angka algoritmanya dari 100 – 1000……………….sebelumnya saya ucapkan terima kasih.

  4. adhyp says:

    terimakasih sekali pak.. saya baru saja masuk perguruan tinggi teknik informatika.. mohon bimbingannya ya pak… 🙂

  5. Anymous says:

    makasih banyak, pa. membantu sekali buat mengerjakan tugas

  6. toha says:

    wah maksih banget ya om, saya merasa tertolong banget nih 🙂

  7. marni lifran says:

    selamat siang pak . saya mau bertanay ni
    jika algoritma dari a=7 b=0 c=0
    dengan rumus c =bxb
    yg di tanya apkah c=7 ?
    jikalau ya b adalah akar dari kuadrat a
    dan jikalu tidak b=b+1

  8. avief rian says:

    desain web nya keren (y)

  9. Dicky andara says:

    asalamualaikum, pak saya minta tolong mksd nya ni pa ya,, ?
    NPM Genap Sourcecode, NPM Ganjil Flowchart.
    Buatlah Solusi untuk menghitung jumlah angka-angka dari 1 sampai N.
    jumlah = 1 + 5 + 9 + …
    Nilai N dibaca terlebih dahulu dari piranti masukan.

    NPM itu NIM : 1614370592

  10. ghio says:

    gan klo pke codeblock menggunakan Array dengan soal :menghitung deret bilangan 1-10 dengan ketentuan setiap bilangaan ganjil dikalikan dengan 3 dan setiap bilangan genap di pangkatkan 3 kemudian jumlahkan semua bilangan tersebut menggunakan array.

Post a Comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>


 Last 50 Posts
 Back
Change Theme...
  • Users » 1
  • Posts/Pages » 46
  • Comments » 311
Change Theme...
  • VoidVoid
  • LifeLife
  • EarthEarth
  • WindWind
  • WaterWater « Default
  • FireFire
  • LightLight

Ijtima’ Indonesia 2009



    No Child Pages.

Keamanan Informasi Lanjut



    No Child Pages.

About



    No Child Pages.