Bismillahi Alhamdulillahirobbil ‘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 – 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 = C
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 algoritma 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 MAKAA adalah bilangan genapSEBALIKNYAA 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_GANJILKAMUSA : integerALGORITMAinput ( A )if ( A mod 2 = 0 ) thenoutput ( "Bilangan Genap" )elseoutput ("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:
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 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( "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.
<?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.
Popularity: 37% [?]