Wednesday 4 January 2012

Logika dari Program C menggunakan Algoritma Brute Force

Assalamu'alaikum warahmatullahi wabarakatuh

Postingan ini merupakan lanjutan dari postingan saya yang berjudul  "Program C menggunakan Algoritma Brute Force"
Nah, postingan ini merupakan logika dari Listing atau Code Program yang ada pada postingan tersebut.

Brute force adalah sebuah pendekatan yang lempang (straightforward) untuk memecahkan suatu masalah, biasanya didasarkan pada pernyataan masalah (problem statement) dan definisi konsep yang dilibatkan. Algoritma brute force memecahkan masalah dengan sangat sederhana, langsung dan dengan cara yang jelas (obvious way). Algoritma brute force seringkali lebih mudah diimplementasikan daripada algoritma yang lebih canggih, dan karena kesederhanaannya, kadang-kadang algoritma brute force dapat lebih mangkus (ditinjau dari segi implementasi).

Di dalam program ini terdapat coding untuk membuat program gabungan dari Pencarian Bilangan Prima, Sorting Bilangan dan Perkalian Matriks, dimana dari ketiga program tersebut menggunakan konsep algoritma brute forcé.


#include <conio.h>
peryataan conio.h. adalah library pada C yang digunakan untuk mengkoneksikan pernyataan clrscr() dengan program yang kita buat. Tanpa menggunakan library ini, kita tidak bisa menggunakan fungsi prototype seperti: gotoxy(), clrscr(), clreol().

#include <stdio.h>
Pernyataan di atas digunakan sebagai standard library yang berfungsi untuk I/O  package maksudnya digunakan jika kita ingin pada program kita menggunakan fungsi standard input atau output bisa dikatakan seperti portable input/output package. Tanpa menggunakan library ini, kita tidak bisa menggunakan perintah-perintah input/output pada program kita.

#include <iostream.h>
Pernyataan iostream.h digunakan sebagai library untuk penyimpanan dari inputan yang telah kita masukkan

void prima (),bsort(),kalimatriks();
Pernyataan di atas digunakan untuk mendefinisikan procedure untuk melakukan penghitungan bilangan prima, sorting dan perkalian matriks.

main() {
Pernyataan di atas adalah main procedure (prosedur utama dalam program ini). Fungsinya sama seperti public.static.void.main(String args[]) { pada bahasa pemrograman java.

start :
Pernyataan di atas digunakan sebagai identitas blok pernyataan yang nantinya akan dipanggil oleh program ketika program dieksekusi.

clrscr();
Pernyataan di atas digunakan untuk membersihkan layar ketika program dieksekusi.

int x;
Pernyataan diatas digunakan untuk mendeklarasikan variable x bertipe data integer (bilangan bulat).

printf("\t   Algoritma Brute Force \n");
Pernyataan printf di atas digunakan untuk mencetak tulisan yang ada diantara tanda kutip “ ”, yaitu Algoritma Brute Force. Pernyataan \n digunakan agar tulisan utama yang dicetak ada jedanya (enter) pada saat program dieksekusi, sedangkan pernyataan \t digunakan agar tulisan utama yang dicetak menjorok kedalam (tab) pada saat dieksekusi.

scanf("%d",&x);
Pernyataan scanf digunakan untuk menyimpan angka yang kita input ketika program dieksekusi. Disini terdapat %d yang mengartikan data inputan akan ditampilkan dalam bentuk decimal, dan &x mengartikan data inputan akan disimpan sementara pada variable x.

switch(x)  {
Pernyataan di atas digunakan sebagai kondisi percabangan dalam program ini, dimana pilihannya terdapat pada case-case yang dideklarasikan setelah pernyataan ini.

case 1  : prima ();  goto start;
Pernyataan di atas digunakan sebagai pilihan pertama dari percabangan dalam program ini, dimana program akan mengeksekusi blok procedure prima.

case 2  : bsort();  goto start;
Pernyataan di atas digunakan sebagai pilihan kedua dari percabangan dalam program ini, dimana program akan mengeksekusi blok procedure bsort.

case 3  : kalimatriks();  goto start;
Pernyataan di atas digunakan sebagai pilihan ketiga dari percabangan dalam program ini, dimana program akan mengeksekusi blok procedure kalimatriks.

case 4  : return 0;
Pernyataan di atas digunakan sebagai pilihan keempat dari percabangan dalam program ini, dimana program akan berhenti mengeksekusi jika kita memasukkan pilihan terhadap kondisi ini.

default : ...}
Pernyataan di atas digunakan jika pilihan yang kita masukkan tidak sesuai dengan yang ada pada program ini, jika demikian maka kondisi default akan dieksekusi.

void prima ()   {
Pernyataan di atas merupakan procedure prima yang digunakan untuk mencari bilangan prima.

for(j=2;j<=bil;j++)  {
Pernyataan for di atas digunakan sebagai kondisi percabangan dengan ketentuan program akan mengeksekusi dimulai dari bilangan 2, program akan berhenti mengeksekusi jika variable j telah lebih besar daripada variable bil, dan program menggunakan fungsi increment yaitu variable j akan bertambah satu setiap terjadi perulangan.

if ((j%2>0)&&(j%3>0)&&(j%5>0)&&(j%7>0) || (j==2)||(j==3)||(j==5)||(j==7))
      printf ("%i ",j);   } Pernyataan if digunakan sebagai kondisi percabangan dengan ketentuan jika hasil bagi j dengan 2, 3, 5, 7 nilainya lebih besar dari 0 atau nilai j sama dengan 2, 3, 5, 7 maka program akan mengeksekusi pernyataan printf(“%i”,j);

void bsort()
Pernyataan di atas merupakan procedure bsort yang digunakan untuk mensortir bilangan (mengurutkan).

if (i!= n-1)
Pernyataan di atas merupakan inti dari procedure bsort, pernyataan diatas digunakan untuk mensortir bilangan yang telah kita masukkan.

void kalimatriks()
Pernyataan di atas merupakan procedure kalimatriks yang digunakan untuk mengkalikan matriks.

gotoxy((j+1)*5,i+11+ordo*2);
Pernyataan di atas merupakan inti dari procedure kalimatriks, pernyataan diatas digunakan untuk mengkalikan bilangan yang telah kita masukkan dengan ketentuan (j+1)*5,i+11+ordo*2) .

getch();
berguna unutk membaca sebuah karakter, bisa juga membaca tombol, getch() tidak akan menampilkan karakter dari tombol yang ditekan. Sebuah getch() bisa pula digunakan untuk menunggu sembarang tombol ditekan. Pada keadaan seperti ini, hasil dari fungsi ini tidak perlu diletakkan ke variable, atau dipascal dapat diartikan sebagai readln

Disini saya membuat programnya menggunakan TurboC++, untuk melihat hasil dari program yang kita buat terlebih dahulu kita harus menyimpan (save as) dengan format .c atau .cpp, jika telah kita simpan selanjutnya adalah mengkompile dengan langkah: Project > Compile atau bisa menekan Alt+F9, dan untuk melihat outputnya: Debug > Run atau bisa menekan Ctrl+F9

Semoga postingan ini bermanfaat :)

Wassalamu'alaikum warahmatullahi wabarakatuh

No comments:

Post a Comment

Harry Potter - Golden Snitch Angry Birds -  Red Bird