LEMBAR PENGESAHAN
No Praktikum
: 01/PRAA/3.2/IT/2017
JudulPraktikum
: AlgoritmaBruteForce
TaggalPraktikum
: 0!"aret2017
Taggal Pe#era$a %a&ora
: 1' "aret 2017
Nama Praktika
: (i)a *a+itri
NI"
: 1,'730103-
ela
: 3.2
Jurua
: TekologiI+ormaidaom&uter
Prodi
: TekikI+ormatika
Nilai
:
eteraga
:
Buket Rata 1' "aret 2017 (oe Pemimig
Muhammad Arhami, Ssi, M.Kom NIP. 19741029 2000 001
!A"#AR ISI
LEMBAR PENGESAHAN.......................................................................................... !A"#AR ISI......................................................................................................... ....... !A"#AR GAMBAR................................................................................................ .. 1.1 P$%dahu&ua%.......................................................................................................... 1.2 #i%'aua% Pus(a)a...................................................................................................
1.2.1 %adaa Teori Algotirma Brute Force............................................................ 1. La%*)ah K$r'a......................................................................................................
1.3.1 Peragkat #ag di&erluka............................................................................... 1.3.2 %agka$ &ercoaa.......................................................................................... 1.4 A%a&isa da% P$m+ahasa%.................................................................................. .
1.,.1 Program.......................................................................................................... 1. K$sim-u&a% da% Sara%....................................................................................... !a(ar Pus(a)a.......................................................................................................... .
!A"#AR GAMBAR
Gam+ar 1.1 Ico (e) .....................................................................................7 Gam+ar 1.2 Tam&ila a4al (e) .....................................................................7 Gam+ar 1. Tam&ila *ource File..........................................................................! Gam+ar 1.4 I&ut 1.................................................................................................Gam+ar 1. 5ut&ut 1..............................................................................................Gam+ar 1./ I&ut 2...............................................................................................10 Gam+ar 1.7 5ut&ut 2............................................................................................10 Gam+ar 1. I&ut 3...............................................................................................11 Gam+ar 1.9 5ut&ut 3............................................................................................11 Gam+ar 1.10 I&ut ,.............................................................................................12 Gam+ar 1.11 5ut&ut ,..........................................................................................12 Gam+ar 1.12 I&ut '.............................................................................................13 Gam+ar 1.1 5ut&ut '..........................................................................................13 Gam+ar 1.14 I&ut 6.............................................................................................1, Gam+ar 1.1 I&ut 6.............................................................................................1'
PRAKTIKUM 1 ALGORITMA BRUTE FORCE
1.1 P$%dahu&ua% 1.1.1
1.1.2
#u'ua% Pra)(i)um "egeal Algoritma Brute Force "egeta$ui cara kera Algoritma Brute Force dalam &rogram
La(ar B$&a)a%* Algoritma meru&aka lagka$ atau cara utuk me#eleaika uatu
maala$. Program kom&uter &ada umum#a emua uda$ megguaka algoritma8algoritma
#ag
ereda.
(ega
megim&lemetaika
algoritma ke dalam &rogram da megerti tetag algoritma8algoritma #ag diguaka aka mematu kita dega muda$ da mem&erigkat 4aktu utuk memeca$ka uatu maala$. Aalii algoritma meru&aka ala$ atu daar ilmu kom&uter #ag agat &etig ke&ada ia&a&u #ag teru ke idag item i+ormai atau &egemaga &eragkat luak. *etia& maala$ aka diguaka algoritma #ag ereda euai dega kodii #ag diutu$ka utuk me#eleaika maala$ tereut. "aig8 maig algoritma memiliki keuggula da kekuraga dalam &ecaria kecocoka kete&ata#a maig8maig. (iii kita tela$ mem&elaari tetag algoritma da &eera&a#a dalam
&emrograma
&ermaala$a
ii
&e#eleaia
dari
kom&uter.
adala$
eulita
ua$#a
&ermaala$a
kita
#ag
#ag megerti di$ada&i
di$ada&i
dalam
algoritma erta
da
ulit#a
mema#agka truktur data #ag aka diguaka. (alam mema$ami &e#eleaia uatu &ermaala$a kita aka lei$ muda$ utuk megigat da mema$ami#a a&aila &ermaala$a itu da&at ditam&ilka dalam etuk )iual da gamar e$igga &e#aia #a meadi lei$ mearik.
1.2 #i%'aua% Pus(a)a 1.2.1 La%dasa% #$ori A&*o(irma Bru($ "or$ Brute Force 9Rialdi "uir 200, &. 2 adala$ eua$ &edekata lagug 9 straight forward utuk memeca$ka uatu maala$ #ag iaa#a didaarka &ada &er#ataa maala$ 9 problem statement da de+iii koe& #ag diliatka. Pada daar#a algoritma Brute Force adala$ alur &e#eleaia uatu &ermaala$a dega cara er&ikir #ag eder$aa da tidak memutu$ka uatu &ermikira #ag lama. *eear#a algoritma Brute Force meru&aka algoritma #ag mucul karea &ada daar#a alur &ikir mauia adala$ Brute Force 9lagug/to the point. Beera&a karakteritik dari algoritma Brute Force da&at dielaka eagai erikut. a. "emutu$ka umla$ lagka$ #ag a#ak dalam me#eleaika uatu &ermaala$a e$igga ika ditera&ka meadi uatu algoritma &rogram a&likai aka memutu$ka a#ak memori. . (iguaka eagai daar dalam meemuka uatu olui #ag lei$ e+ekti+. c. Ba#ak di&ili$ dalam &e#eleaia eua$ &ermaala$a #ag eder$aa karea kemuda$a cara er&ikir#a. d. Pada a#ak kau algoritma ii a# ak di&ili$ karea $am&ir da&at di&atika da&at me#eleaika a#ak &eroala #ag ada. e. (iguaka eagai daar agi &eradiga kee+ekti+a eua$ algoritma. elei$a dari algoritma Brute Force adala$ eagai erikut. •
"etode Brute Force da&at diguaka utuk memeca$ka $am&ir eagia ear maala$ 9wide applicability.
•
"etode Brute Force eder$aa da muda$ dimegerti.
•
"etode Brute Force meg$ailka algoritma #ag la#ak utuk eera&a maala$ &etig e&erti &ecaria &eguruta &ecocoka string &erkalia matrik.
•
"etode Brute Force meg$ailka algoritma aku 9 standard utuk
tuga8tuga kom&utai e&erti ëa$a/&erkalia n ua$ ilaga meetuka eleme miimum atau makimum di dalam tael 9 list. *elai itu terda&at eera&a kelema$a dari algoritma Brute Force: "etode Brute Force arag meg$ailka algoritma #ag e+ekti+. Beera&a algoritma Brute Force lamat e$igga tidak da&at diterima. Tidak ekotrukti+/ekreati+ tekik &emeca$a maala$ lai#a.
• • •
Berikut ii adala$ coto$8coto$ &eera&a algoritma Brute Force &ada &er$ituga matematika iaa. 1 M$%*hi(u%* a% 3a 0, % ad a&ah +i&a%*a% +u&a( (a)5%$*a(i n
a = a x a x … x a (n kali) !ika n " # ;1 ika ; 0 Algoritma: kalika 1 dega a ea#ak n kali.
2 M$%*hi(u%* %6 3% +i&a%*a% +u&a( (a)5%$*a(i
< ; 1 = 2 = 3 = > = ;1
ika ? 0 ika ; 0
Algoritma: kalika ua$ ilaga #aitu 1 2 3 > ekaligu. M$%*a&i)a% dua +uah ma(ri) a%* +$ru)ura% % 8 %. "ialka ; A = B da eleme8eleme matrik di#ataka eagai ci ai
da i. Algoritma: $itug etia& eleme $ail &erkalia atu &er atu dega cara megalika dua )ektor ari da kolom #ag &aag#a .
4 M$%$mu)a% s$m ua a) (or da ri +i&a %*a% +u&a( % s$&ai % dari 1 da% % i(u s$%diri.
(e+iii: Bilaga ulat a adala$ +aktor dari ilaga ulat ika a $ai memagi .
M$%ari $&$m$% ($r+$sar 3a(au ($r)$i&
(ierika eua$ $im&ua #ag eraggotaka ua$ ilaga ulat. Bilaga8ilaga ulat tereut di#ataka eagai a1 a2 > a. arila$ eleme terear di dalam $im&ua tereut. / S$u$%(ia& S$arh
*e@uetial *earc$ adala$ &roe memadigka etia& eleme larik atu &er atu ecara erutu mulai dari eleme &ertama am&ai eleme #ag dicari ditemuka atau eluru$ eleme uda$ di&erika. Algoritma &ecaria ecara liear diguaka utuk mecari eua$ ilai &ada tael emarag. Ada dua macam cara &ecaria &ada tael. Algo ritma ii mem&u#ai dua ei metode #aitu dega oolea da ta&a oolea. Algoritma &ecaira ecara liear melakuka &egulaga ea#ak 1 kali utuk kau teraik 9)alue ama dega eleme &ertama dalam tael da Nma kali utuk kau teruruk. *e$igga algoritma ii mem&u#ai kom&lekita algoritma 59. Proe &ecaria data dega metode ii cuku& eder$aa da muda$ di&a$ami. (alam &ecaria ii &roe dilakuka dega cara mecocoka data #ag aka dicari dega emua data #ag ada dalam kelom&ok data. Proe &ecaria data dilakuka dega cara mecocoka data #ag aka dicari dega emua data #ag ada dalam kelom&ok data. Proe &ecocoka data dilakuka ecara erurut atu demi atu dimulai dari data ke81 $igga data &ada ururta terak$ir. Jika data #ag dicari mem&u#ai $arga #ag ama dega data #ag ada dalam kelom&ok data erarti data tela$ ditemuka. Teta&i ika data #ag dicari tidak ada #ag cocok dega data8data dalam ekelom&ok data erarti data tereut tidak ada dalam ekelom&ok data
7 Bu++&$ S or(
Bule *ort adala$ ala$ atu algoritma utuk ortig data atau kata lai#a megurutka data dari #ag terear ke #ag terkecil atau ealik#a 9Acedig atau (ecedig. Bule ort 9metode gelemug adala$ metode/alg oritma &eguruta dega dega cara melakuka &eukara data dega te&at dieela$#a ecara teru meeru am&ai ia di&atika dalam atu iterai tertetu tidak ada lagi &erua$a. Jika tidak ada &erua$a erarti data uda$ terurut. (ieut &eguruta gelemug karea maig8m aig kuci aka dega lamat meggelemug ke &oii#a #ag te&at. "etode &eguruta gelemug 9Bule *ort dii&iraika ole$ gelemug au #ag erada di&ermukaa air. area erat ei gelemug au lei$ riga dari&ada erat ei air maka gelemug au elalu tera&ug ke ata &ermukaa. Prii& di ata di&akai &ada &eguruta gelemug. Algoritma ule ort adala$ ala$ atu algoritma &eguruta #ag &alig im&le aik dalam $al &egertia mau&u &eera&a#a. Ide dari algoritma ii adala$ megulag &roe &emadiga atara tia&8tia& eleme arra# da meukar#a a&aila uruta#a ala$. Pemadiga eleme8eleme ii aka teru diulag $igga tidak &erlu dilakuka &eukara lagi. Algoritma ii termauk dalam gologa algoritma com&ario ort karea megguaka &eradiga dalam o&erai atar eleme#a. Berikut ii adala$ gamara dari algoritma ule ort. "ialka kita mem&u#ai eua$ arra# dega. leme8 eleme C, 2 ' 3 -D. Proe #ag aka teradi a&aila diguaka algoritma uleort adala$ eagai erikut.
Pa &ertama 9, 2 ' 3 - meadi 92 , ' 3 - 92 , ' 3 - meadi 92 , ' 3 - 92 , ' 3 - meadi 92 , 3 ' - 92 , 3 ' - meadi 92 , 3 ' - Pa kedua 92 , 3 ' - meadi 92 , 3 ' -
92 , 3 ' - meadi 92 3 , ' - 92 3 , ' - meadi 92 3 , ' - 92 3 , ' - meadi 92 3 , ' - Pa ketiga 92 3 , ' - meadi 92 3 , ' - 92 3 , ' - meadi 92 3 , ' - 92 3 , ' - meadi 92 3 , ' - 92 3 , ' - meadi 92 3 , ' - (a&at dili$at &ada &roe di ata eear#a &ada &a kedua lagka$ kedua arra# tela$ terurut. Namu algoritma teta& dilautka $igga &a kedua erak$ir. Pa ketiga dilakuka karea de+iii terurut dalam algoritma uleort adala$ tidak ada atu&u &eukara &ada uatu &a e$igga &a ketiga diutu$ka utuk mem)eri+ikai keuruta arra# tereut.
A&*ori(ma Bu++&$ Sor( 1. "emadigka data ke8i dega data ke89i1 9te&at ereela$a. Jika tidak
euai maka tukar 9data ke8i ; data ke89i1 da data ke89i1 ; data ke8i. A&a makud#a tidak euaiE Jika kita megigika algoritme meg$ailka data dega uruta acedig 9A8 kodii tidak euai adala$ data ke8i ? data ke8 i1 da ealik#a utuk uruta decedig 9A8. 2. "emadigka
data
ke89i1
dega
data
ke89i2.
ita
melakuka
&emadiga ii am&ai data terak$ir. oto$: 1 dg 2G 2 dg 3G 3 dg ,G , dg ' > G 81 dg . 3. *eleai atu iterai adala$ ika kita uda$ eleai memadi gka atara 981 dg . *etela$ eleai atu iterai kita lautka lagi iterai erikut#a euai dega atura ke81. mulai dari data ke81 dg data ke82 dt. ,. Proe aka er$eti ika tidak ada &ertukara dalam atu iterai.
1. La%*)ah K$r'a 1..1 P$ra%*)a( a%* di-$r&u)a% •
P #ag dilegka&i dega &eragkat multimedia 9oud card
"icro&$oe *&eaker acti)e atau $eadet *item 5&erai Hido4 da Peragkat %uak (e) 1..2
La%*)ah -$ro+aa%
tuk memulai megguaka &rogram (e) . *etela$ itu uka &rogram (e) *etela$ itu alaka a&likai dega cara melakuka double$clicking &ada
shortcut icon (e)
Gam+ar 1. 1 Ico (e)
•
*elaut#a aka meda&atka tam&ila a4al a&likai e&erti &ada gamar erikut ii.
Gam+ar 1. 2 Tam&ila a4al (e)
•
%alu mulai la$ memuat eua$ &roect aru &ada meu CFileD #ag ada &ada toolar &rogram da &ili$ CNe4D lalu &ili$ &ada &ili$a C*ource FileD. %alu aka tam&il gamar e&erti dia4a$ ii:
Gam+ar 1. Tam&ila *ource File
•
%alu mulaila$ megetikka ource &rogram dia4a$ ii #ag aka dialaka dega a&likai (e) $igga megeluarka out&ut #ag euai dega ear.
1 Program meg$itug &agkat I&ut •
Gam+ar 1. 4 I&ut 1
•
5ut&ut
Gam+ar 1. 5ut&ut 1
2 Program ulied 9m I&ut •
Gam+ar 1. / I&ut 2
•
5ut&ut
Gam+ar 1. 7 5ut&ut 2
3 Program *e@uetial *earc$ I&ut •
Gam+ar 1. I&ut 3
•
5ut&ut
, Program Bule *ort •
I&ut
Gam+ar 1. 9 :u(-u(
Gam+ar 1. 10 I&ut ,
•
5ut&ut
' Program i e&rimaa Gam+ar 1. 11 5ut&ut , I&ut •
Gam+ar 1. 12 I&ut '
•
5ut&ut
Gam+ar 1. 1 5ut&ut '
6 Program "eg$itug Nilai Poliom ecara Brute Force I&ut •
Gam+ar 1. 14 i&ut 6
•
5ut&ut
Gam+ar 1. 1 5ut&ut 6
1.4 A%a&isa da% P$m+ahasa% 1.4.1
Pro*ram 1
a) Program Mencari Pangkat
•
#include
meru&aka ala$ atu ei &egara$ &re&roeor directi)e .
*edagka meru&aka igkata dari tadar i&ut out&ut $eader #ag diguaka eagai tadar i&ut out&ut o&erai #ag • •
diguaka dalam a$aa . main () meru&aka tada ekekui aka dimulai. int a,n, k,hasil; it meru&aka t#&e dalta #ag diguaka edagka a k $ail meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it.
•
printf
("Program
perpangkatan
bilangan\n");
&rit+ er+ugi
utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada &rogram ii aka ditam&ilka data dega tulia CProgram &er&agkata ilagaD &ada out&ut. •
printf
("asukkan
bilangan
!
");
&rit+
er+ugi
utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia C"aukka ilaga;D &ada out&ut. •
scanf ("i",a);ca+
er+ugi utuk megamil ilai &ada )ariael a
#ag memiliki t#&e data iteger. •
printf
("asukkan
pangkat
!
");
&rit+
er+ugi
utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia C"aukka &agkat;D &ada out&ut. •
scanf ("i",n); ca+
er+ugi utuk megamil ilai &ada )ariael
•
#ag memiliki t#&e data iteger hasil!$; $ail meru&aka ama )ariael. Pada ari &rogram ii )ariael $ail erilai 1.
•
for (k!$;k
+or meru&aka &erulaga dimaa )ariael k ; 1
maka ika ilai )ariael k lei$ ear ama dega ilai ilai &ada •
)ariael k aka melakuka iterai da k aka 1. &hasil!hasil'a ; )ariael $ail ; )ariael $ail dikalika dega ilai #ag terda&at dalam )ariael a.
•
printf
("hasil
pangkatan
i
dari
i
!
",a,n);
");
&rit+
er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& •
kurug. i megamil ilai iteger dari )ariael i da . for (k!$;k
•
maka ika ilai )ariael k lei$ ear ama dega ilai ilai &ada )ariael k aka melakuka iterai da k aka 1. &if(k!!$) &printf ("i",a); kodii#a ika i;1 maka &rogram
•
aka meam&ilka data #ag ada &ada )ariael a dega t#&e data iteger. else &printf (" i",a); kodiii#a ika lai#a maka &rogram aka meam&ilka da megamil data #ag terim&a dalam )ariael a dega t#&e data iteger.
•
printf (" ! i",hasil)
&rit+ er+ugi utuk meam&ilka data atau
tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. i megamil ilai iteger dari )ariael $ail.
) Program E!"ie# $m%n) •
#include
meru&aka
ala$
atu
ei
&egara$
&re&roeor directi)e. *edagka meru&aka igkata dari tadar i&ut out&ut $eader #ag diguaka eagai tadar i&ut •
out&ut o&erai #ag diguaka dalam a$aa int gcd(int m,int n)it meru&aka t#&e data #ag diguaka #aitu iteger gcd meru&aka igkata dari greatet commo di)ior atau +actor &erekutua terear. Kag aka diekekui dega +ugi it gcd ii adala$ ilai #ag terim&a di dalam )ariale m da dega
•
t#&e data iteger. int r; it meru&aka t#&e data #ag diguaka edagka r meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it.
•
*hile
(n+!)&r!mn;
m!n;
n!r; ketika
erilai
tidak
amadega ol maka aka dialaka &erita$ ilai )ariael r adala$
ilai dari modulo atau ia agi dari )ariael m da ilai )ariael m • •
amadega da ilai )ariael amadega r. return m; er+ugi utuk megemalika ilai &ada )ariael m. int m,n; it meru&aka t#&e data #ag diguaka edagka m meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it.
•
printf("masukkan
nilai
m-
");
&rit+
er+ugi
utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia C"aukka •
ilai m;D &ada out&ut. scanf("d",m); ca+ er+ugi utuk megamil ilai &ada
•
)ariael m #ag memiliki t#&e data de+ault/c$ar printf("masukkan nilai n"); &rit+
er+ugi
utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia C"aukka •
ilai ;D &ada out&ut. scanf("d",n); ca+ er+ugi utuk megamil ilai &ada )ariael #ag memiliki t#&e data de+ault/c$ar
•
printf("aktor
pembagi
d\n",m,n,gcd(m,n));
bilangan
d
dan
d
adalah
&rit+ er+ugi utuk meam&ilka data
atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. d megamil ilai de+ault dari )ariael m da +ugi gcd 9m.
c) Progr am &e'!entia" &earc( #include meru&aka ala$ atu ei &egara$ &re&roeor directi)e. *edagka
meru&aka igkata dari tadar
i&ut out&ut $eader #ag diguaka eagai tadar i&ut out&ut o&erai •
#ag diguaka dalam a$aa int ,k,n,/0$1; it meru&aka t#&e dalta #ag diguaka edagka k A meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it. edagka AL100M meru&aka )ariale a dideklaraika arra# ea#ak L100M ide 2oid se3uential(int k)
k!$; k
meru&aka )ariale #ag dielika ilai 1. megecek kodii ika ilai )ariale k
*hile ((k
lei$ kecil dari da ilai arra# A dega ide k tidak amadega maka aka dialaka ari &rogram dia4a$ ii k!k%$; if (/0k1!!) ilai k aka ditama$ 1 lalu diim&a ke ilai k. ika kodii ilai arra# A dega ide k ama dega maka aka dialaka ari &rogram #ag elaut#a. •
&/0k1!k; printf("4ata ditemukan pada
data ke
d",k);
ALkM meru&aka
)ariale a dideklaraika arra# ea#ak ilai #ag ada &ada )ariael LkM ide#a erilai ol. Prit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia C(ata tidak ditemukaD &ada out&ut. •
else& /0k1!; printf("4ata tidak ditemukan");
ele meru&aka &ili$a
kedua ika kodii diata tidak ear maka aka megecek kodii ii. Jika ALkM meru&aka )ariale a dideklaraika arra# ea#ak ilai #ag ada &ada )ariael LkM ide#a erilai ol. Prit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia C(ata tidak ditemukaD &ada out&ut. •
printf("Program
5ederhana
5e3uential
5earch\n\n");
&rit+
er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia CProgram *eder$aa *e@uetial *earc$D &ada out&ut. •
printf("6nputkan 7umlah data 8ang diinginkan
- ");
&rit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka scanf("d",n);
da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia CI&utka umla$ data #ag diigika:D &ada out&ut. *ca+ er+ugi utuk megamil ilai &ada )ariael #ag memiliki t#&e data de+ault/c$ar
•
for (k!$;k
+or meru&aka &erulaga dimaa )ariael k ; 1
maka ika ilai )ariael k lei$ ear ama dega ilai ilai &ada •
)ariael k aka melakuka iterai da k aka 1. printf("4ata ke d ! ",k); &rit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$
•
tada &etik. d megamil ilai de+ault dari )ariael k. scanf("d",/0k1 ); *ca+ er+ugi utuk megamil ilai &ada )ariael A #ag memiliki ide arra# eilai )ar k dega t#&e data de+ault.
•
printf("6nputkan bilangan 8ang
dicari -
");scanf("d",);
&rit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka ditam&ilka data dega tulia CI&utka ilaga #ag dicari:D &ada out&ut. *ca+ er+ugi utuk megamil ilai &ada )ariael #ag memiliki t#&e data de+ault/c$ar •
se3uential(k);
#) Program B!"e &ort •
#include
meru&aka ala$ atu ei &egara$ &re&roeor directi)e .
*edagka meru&aka igkata dari tadar i&ut out&ut $eader #ag diguaka eagai tadar i&ut out&ut o&erai #ag diguaka dalam a$aa •
int
90:1,temp,i,7,n!;
it meru&aka t#&e data #ag diguaka
edagka % i meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it. edagka %L20M meru&aka )ariale a dideklaraika arra# ea#ak L20M ruag da )ariael erilai 6. •
printf("pengurutan
berdasarkan
elements-
&rit+ er+ugi utuk meam&ilka data atau
\n",n);
ubble
sort
\nmasukkan
d
tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada &etik. d megamil ilai de+ault dari )ariael .
•
for(i!;i
+or meru&aka &erulaga dimaa )ariael i ; 0
maka ika ilai )ariael i lei$ kecil dari ilai ilai &ada )ariael i aka melakuka iterai da k aka 1. (a aka mealai &erita$ dia4a$: scanf("d",90i1); printf("\nsebelum sorting- "); *ca+ er+ugi utuk megamil ilai &ada )ariael % dega arra# ea#ak
•
ilai )ariael i #ag memiliki t#&e data de+ault/c$ar. %alu ditam&ilka tulia Ceelum ortigD dega &erita$ &rit + &ada out&ut. for(i!;i
•
%alu aka ditam&ilka ilai dari )ariael % dega a#ak arra# ilai i. for(i!n=:;i>!;i==)& +or meru&aka &erulaga dimaa )ariael i ; ilai dikuragka 2 maka ika ilai )ariael i lei$ ear amadega
•
ol ilai &ada )ariael i aka melakuka iterai da i aka 81 for(7!;7
•
if(9071>907%$1)& temp!9071; 9071!907%$1; 907%$1!temp;
er+ugi utuk megecek kodii. Jika arra# dega
ide lei$ ear dari ilai &ada arra# dega ide 1 maka ilai arra# % dega ide aka diim&a ke dalam )ariael tem&. lalu ilai arra# )ariael 1 aka dimakka ke dalam arra# %LM. da ilai )ar tem& aka •
aka dimaukka kedalam arra# dega ide 1. printf("\nsetelah sorting- ");&rit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. Pada ari &rogram ii aka
•
ditam&ilka data dega tulia C*etela$ ortig:D &ada out&ut for(i!;i
•
&printf("d
",90i1);
printf("\n");
&rit+ er+ugi utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada uka da diak$iri tutu& kurug. d megamil ilai de+ault dari )ariael % dega arra# eilai )ariale i.
e) Program Ui ke*rimaan •
#include
meru&aka ala$ atu ei &egara$ &re&roeor directi)e .
*edagka meru&aka igkata dari tadar i&ut out&ut $eader #ag diguaka eagai tadar i&ut out&ut o&erai #ag •
diguaka dalam a$aa #include meru&aka ala$ atu ei &egara$ &re&roeor directi)e.
*edagka
er+ugi
utuk
&rogram
#ag
•
megguaka o&erai matematika kuadrat. bool Prime(int )& +ugi#a ool meru&aka t#&e data edagka
•
&rime meru&aka )ar dega ilai iteger )ariale . int k, 8; it meru&aka t#&e data #ag diguaka edagka k # meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it.
•
bool test; if(<:)er+ugi
utuk medeklaraika )ariael tet &ada
ila Boolea. Jika ilai lei$ kecil dari 2 maka aka mealaka
•
&erita$ &rogram diari elaut#a. return false; megemalika ilai ala$. else if(!!:)& ele meru&aka &ili$a kedua ika kodii diata tidak ear maka aka megecek kodii ii. ika ilai ; 2 maka return true; megemalika ilai ear. else& ika kodii kedua ala$ lagi maka aka laut megecek &ada ekekui terak$ir. 8!ceil(s3rt()); er+ugi
utuk meg$itug ilai akar dari )ariael
kemudia diim&a ke #. test!true; er+ugi utuk memida$ka ilai #ag ada &ada true ke tet. •
*hile (test (8>!:))&
er+ugi utuk megecek kodii )ariael tet da )ariale # lei$ ear amadega 2. if (8!!) test!false; ika ia agi dari )ariael da # adala$ ol maka ilai &ada )ariael tet aka erilai ala$/+ale.
•
else 8==;
kodii lai utuk ika ilai # 81 er+ugi utuk megemalika ilai a4al a&ada )ariael
return test;
tet. int main()&+ugi
utama dari eua$ kode a$aa c dega ilai t#&e
data iteger •
int a; bool prima; printf ("asukkan angka- "); scanf ("d",a);
it meru&aka t#&e data #ag diguaka iteger edagka a adala$ )ariael#a. Bool uga meru&aka t#&e data Boolea #ag dideklaraika &ada )ariael &rima. Prit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada &etik. d megamil ilai de+ault dari )ariael a. *ca+ er+ugi utuk megamil ilai &ada )ariael a dega t#&e data de+ault da ditam&ilka &ada out&ut &rogram. prima!Prime(a); •
if (prima)ika
kodii &ada )ariael meru&aka ilai dari )ar &rima
maka &rogram aka megekekui &erita$ &rogram dia4a$ ii printf ("d bilangan prima",a); Prit+ er+ugi
utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data •
#ag dituli etela$ tada &etik. d megamil ilai de+ault dari )ariael a else ele meru&aka &ili$a lai ika kodii diata tidak ear &ada ari ii adala$ kodii terak$ir. Jika emua kodii diata ala$ maka &rogram aka mealaka &erita$ &ada ari &rogram dia4a$ ii printf ("d bukan bilangan prima",a); Prit+ er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data
•
#ag dituli etela$ tada &etik. d megamil ilai de+ault dari )ariael a return $; er+ugi utuk megemalika ke ilai 1.
+) Program mencari ni"ai Po"inom #engan Br!te Force
•
#include
meru&aka ala$ atu ei &egara$ &re&roeor directi)e .
*edagka meru&aka igkata dari tadar i&ut out&ut $eader #ag diguaka eagai tadar i&ut out&ut o&erai #ag •
diguaka dalam a$aa #include meru&aka ala$ atu ei &egara$ &re&roeor directi)e .
Sedangkan
meru&aka +ile $eader #ag er+ugi &ada
•
o&erai &emadig da o&erai ko)eri. #define /56?@ $ utuk meeta&ka ilai maie 10 eagai
•
kotata #ag teta& &ada &rogram. int main(2oid) meru&aka +ugi utama dalam &rogram Ba$aa c.
meru&aka +ugi utuk medeklaraika )ariael
•
int arra80/56?@1;
•
arra# #ag memiliki t#&e data it atau iteger #ag arra##a maie. int i, 7, a; it meru&aka t#&e data #ag diguaka edagka i a meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it.
•
float
,
pangkat;
+loat meru&aka t#&e data #ag diguaka
edagka meru&aka )ariael adi )ariael tereut dideklaraika ke dalam t#&e data it. &agkat uga meru&aka )ariael #ag diguaka. •
printf("!!!!!!!!! Program Polinom !!!!!!!!!!\n\n"); printf("asukkan an8ak Polinom \n"); scanf("d", 7);
Prit+ er+ugi utuk meam&ilka data atau tulia.
(ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada &etik. *ca+ er+ugi utuk megamil ilai &ada )ariael dega t#&e data de+ault da ditam&ilka &ada out&ut &rogram. •
printf("asukkan Ailai \n"); scanf("f", );
Prit+ er+ugi utuk meam&ilka data atau tulia.
(ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada &etik. *ca+ er+ugi utuk megamil ilai &ada )ariael dega t#&e data +loat da ditam&ilka &ada out&ut &rogram. •
printf("asukkan d Ailai Bonfiden \n", 7 % $); for (i ! ; i
Prit+ er+ugi utuk meam&ilka data
atau tulia. (ata #ag aka ditam&ilka adala$ data #ag dituli etela$ tada &etik +or meru&aka &erulaga dimaa )ariael i; 0 maka ika ilai )ariael i lei$ kecil amadega dari ilai ilai &ada )ariael i aka melakuka iterai da i aka 1. *ca+ er+ugi utuk megamil ilai &ada arra# dega ide )ar i da ditam&ilka &ada out&ut &rogram. •
pangkat
! arra801; meru&aka ilai arra# dega ide 0 aka diamil da dimaukka &ada )ariale &agkat. for (i ! $; i
i; 1 maka ika ilai )ariael i lei$ kecil amadega dari ilai ilai •
&ada )ariael i aka melakuka iterai da i aka 1. pangkat ! pangkat ' % arra80i1; meru&aka ilai )ariale &agkat dikali dega ila )ariael lalu diumla$ka dega arra# #ag ideg#a adala$ ea#ak )ariael I lalu $ail#a aka dimaukka ke dalam )ariael &agkat. a
! 7;
)ariael a adega ilai &ada )ar .
•
printf("Ailai
Polinomn8a
-
\n");
&rit+
er+ugi
utuk
meam&ilka data atau tulia. (ata #ag aka ditam&ilka &ada out&ut adala$ data #ag dituli etela$ tada &etik •
for (i ! ; i
+or meru&aka &erulaga dimaa )ariael i; 0 maka ika ilai )ariael i lei$ kecil amadega dari ilai ilai &ada )ariael i aka melakuka iterai da i aka 1. Jika ilai )ariale a lei$ kecil dari ol maka &rogram dia4a$ aka di reak atau dile4ati. •
if (arra80i1 > ) printf(" % ");
diii aka megecek kodii ika kodii arra# dega ide )ariael i lei$ ear dari ol maka aka mealaka &erita$ uruk meam&ilka data tulia CD &ada out&ut. •
else if (arra80i1 < ) printf(" = ");
diii aka megecek kodii lai ika kodii diata
tidak euai ika kodii arra# dega ide )ariael i lei$ kecil dari ol maka aka mealaka &erita$ uruk meam&ilka data tulia C 8 D •
&ada out&ut. else
printf(" "); printf("dCd
", abs(arra80i1), a==)
diii aka megecek
kodii lai terak$ir ika kodii diata tidak euai maka aka mealaka &erita$ uruk meam&ilka data tulia C &ai D da meam&ilka ilai mutlak dari ilai arra# dega ide i da ilai de+ault elaut#a adala$ ilai dari )ariale a dikuragka 1 &ada out&ut. •
printf("\n\nDasil 4ari Polinom ! .:f \n", pangkat);
Prit+
er+ugi utuk meam&ilka data atau tulia. (ata #ag aka ditam&ilka adala$ data $ail &olio dega t#&e data ilai +loat atau &eca$a da diamil dari )ariale &agkat.
1. K$sim-u&a% da% Sara%
eim&ula #ag diamil dari &raktikum 1 ii adala$ : •
Algoritma meru&aka lagka$ atau cara utuk me#eleaika uatu maala$. Algoritma uga agat dekat dega ke$idu&a e$ari8$ari mauia.
•
Algoritma Brute Force adala$ alur &e#eleaia uatu &ermaala$a dega cara er&ikir #ag eder$aa da tidak memutu$ka uatu
•
&ermikira #ag lama. Algoritma Brute Force uga a#ak memiliki ei algoritma #ag ereda8eda euai dega maaa$ #ag di$ada&i &rogram atau #ag
•
diutu$ka utuk me#eleaika eua$ maala$ dega &rogram. (alam &rogram8&rogram diata #ag uda$ di&raktekka da&at kita im&ulka a$4a kodig8kodig #ag diguaka $aru euai dega algoritma #ag ditetuka utuk meda&atka $ail dari algoritma itu
•
ediri dega ear. Program de) c uga meera&ka i+at cae eiti)e dimaa &rogram $aru di&er$atik a edetail mugki utuk mealaka &rogram ika terda&at keala$a maka &rogram tidak aka ia dialaka da tidak aka megeluarka out&ut.
*ara &ada &raktikum 1 emoga &raktika ia da&at mema$ami lagi algoritma8algoritma diata dega lei$ aik lagi da mem&era#ak ilmu#a lagi tetag algoritma rute +orce
!a(ar Pus(a)a 1. $tt&://ar#o.lecture.u.ac.id/+ile/2013/03/(AA8III8Brute8Force.&&t (iake &ada taggal 1, "aret 2017 2. $tt&://mall&d+8&roductio8+ile.38eu84et8 1.amaoa4.com/c+c!-c-ed6+e1+2d1e6+a7e2ee7c+0.&d+.doc (iake &ada taggal 1, "aret 2017
3. $tt&://mar)i&roect.ource+orge.et/do4load/"akala$8IF30'1820128 02'.&d+ (iake &ada taggal 13 "aret 2017