Tugas Analisa Dan Desain Algoritma Algoritma Dosen sen
: Ir Ir. Moh. Sju Sjuka kan ni, M. M.M
DISUSUN OLEH : NAMA NIM 'ELAS
: ATNASAI : !"!!"##$%& : (A
)O*AM MA*ISTE ILMU 'OM)UTE UNI+ESITAS UDI LUHU -A'ATA /#!"
Soal 0an ja1a2an
1. Titik A dan titik B dihubungkan hanya oleh sebuah jalan yang panjangnya 1100 m. ali berangkat dari titik A menuju titik B tepat pukul 08:00:00 pagi dengan kecepatan tetap 10 m/detik, tidak pernah berubah. epuluh detik kemudian, yaitu pukul 08:00:10 Badu berangkat dari titik B menuju titik A dengan kecepatan a!al " m/detik. Tetapi 10 detik kemudian, kecepatannya naik sebesar # m/detik menjadi $ m/detik. %emikian seterusnya, setiap 10 detik kecepatan Badu naik sebesar # m/detik. usun algoritma untuk mencetak pukul berapa &'am : (enit : %etik) Ali dan Badu bertemu, berpapasan dijalan. Bila Ali dan Badu berpapasan dititik *, cetak jarak titik A dengan titik *. -a1a2 : Analisa Masalah + 'arak antara titik A dan titik B + Ali berangkat dari titik A - B + ecepatan Ali + Badu berangkat dari titk B - A + ecepatan A!al Badu + Titik ali dan badu berpapasan + aktu ali bertemu &'am:(enit:%etik) + 'arak titik A - *
1100 m 08:00:00 pagi 10 m/s &Tetap) 08:00:10 " m/s &per 10 detik naik # m/s) Titik *
Algoritma Ali Brangkat dari Titik A!al &A) 0 1100 Badu berangkat dari Titik Akhir &B) Titik * adalah titik di mana ali dan Badu berpapasan yaitu ketika : 'arak tempuh Ali &1100 - 'arak tempuh Badu) )rogram 0an Out3utn4a
include 2iostream3 include 2conio.h3 using namespace std4 main&) 5 cout2267rogram oal omor 1622endl4 cout226622endl22endl4 cout2269( t: 1;11;00<$8622endl4 cout226ama t: =atnasari622endl4 cout226elas t: >A622endl22endl4 cout226622endl22endl4 int mnt,det4 int jarak0,jarakA0,jarakB+"0, kecA10,kecB" 4 int durasi0,?0 4 !hile&jarakB21100)
5 ??@1 4 jarakAjarakA@kecA 4 jarakBjarakB@kecB 4 i&&?3#0)&?C100)) kecBkecB@#4
i&jarakA&1100+jarakB)) 5 durasi ? 4 jarak jarakA4 D D mnt durasi / ;0 4 det durasi C ;0 4 cout226n'arak dari Titik A ke Titik B 1100 meter64 cout226nAli berangkat dari A + B t: pukul 08:00:00 64 cout226nBadu berangkat dari B + A t: pukul 08:00:10 64 cout226nnaktu aat berpapasan ttt: 08:0622mnt226:0622det 4 cout226n'arak papasan dari Titik A ke Titik * t: 622jarak226 meter622endl 4 getch&)4 D
#. ebuah kebun besar ditanami pohon bibit sebanyak n baris. etiap baris terdiri dari n pohon, sehingga kebun besar ini dapat kita sebut ukurannya n ? n. pohon+pohon tersebut kemudian
dicabut dan ditanam ulang menjadi 1< buah kebun dengan ukuran lebih kecil yaitu setiap kebun kecil terdiri dari m baris dan setiap baris tediri dari m pohon, sehingga kebun kecil kita sebut berukuran m ? m. etelah terbentuk 1< kebun kecil ukuran m ? m, ternyata pada kebun besar masih tersisa 1 pohon. usun program untuk mencetak berapa jumlah pohon semula yang ada di kebun besar. -a1a2 :
include 2iostream3 include 2math.h3 include 2conio.h3 using namespace std4 main&) 5 cout2267rogram oal omor #622endl4 cout226622endl22endl4 cout2269( t: 1;11;00<$8622endl4 cout226ama t: =atnasari622endl4 cout226elas t: >A622endl22endl4 cout226622endl22endl4 int ?1004 int b1,b# 4 loat a1,a#4 bool cukup4 do 5 ?@@4 i&?C1< 1) 5 a1 sErt&?)4 b1 sErt&?)4 a# sErt&&?+1)/1<)4 b# sErt&&?+1)/1<)4 i&a1+b10 a#+b#0) cukuptrue4 D D !hile&cukupalse)4 cout226'umlah 7ohon 7ada ebun besar dengan ukuran F622b1226 > 622b1226G t: 622?226 batang622endl4 cout226'umlah 7ohon 7ada 1< ebun kecil dengan ukuran F622b#226 > 622b#226G t: 622&?+1)/1<226 batang64 getch&)4
D
<. usun program &penggalan program) untuk menginputkan dua buah bilangan long integer yang berbeda, lebih besar dari nol, misalkan disimpan dalam Hariable A dan B. kemudian cari dan cetak pembagi persekutuan terbesar kedua buah bilangan tersebut : *ontoh : Bila A $" dan B 10" maka tercetak 1". eterangan : $" dan 10" habis dibagi oleh : 1, <, ", 1". Iang terbesar adalah 1". 9ni yang dicetak. 10" habis dibagi <", tapi $" tidak habis dibagi <", jadi <" tidak termasuk dalam persekutuan pembagi habis. $" habis dibagi #", tapi 10" tidak habis dibagi #", jadi #" tidak termasuk dalam persekutuan pembagi habis. -a1a2 :
include 2iostream3 include 2conio.h3 using namespace std4 long cekkosong&long nil) 5 do5 i&nil21) 5 cout226nilai yang diberikan harus lebih besar dari 0 64 cout226nilahkan masukan nilai kembali : 64 cin33nil4 D D!hile&nil21)4
cout22endl4 return&nil)4 D main&) 5 long A,B,*,>, (A>4 cout2267rogram oal omor <622endl4 cout226622endl22endl4 cout2269( t: 1;11;00<$8622endl4 cout226ama t: =atnasari622endl4 cout226elas t: >A622endl22endl4 cout226622endl22endl4 cout226(asukan ilai A : 64 cin33A4 Acekkosong&A)4 cout226(asukan ilai B : 64 cin33B4 Bcekkosong&B)4 i&AB) 5 do 5 cout226nilai A dan B harus berbeda JJJ64 cout226nilahkan masukan nilai B kembali : 64 cin33B4 Bcekkosong&B)4 D !hile&AB)4 D i&A3B) (A>A4 else (A>B4 or&>14>2(A>4>@@) 5 i&AC>0 BC>0) * >4 D cout226nilai 7ersekutuan Terbesar : 622*4 getch&)4 D
K. > dan I adalah bilangan bulat lebih besar dari nol. usun program untuk mencetak nilai > dan I, bila berlaku : @ Ky 1$ "? @ #y 1L -a1a2 :
include 2iostream3 using namespace std4 int main&) 5 cout2267rogram oal omor K622endl4 cout226622endl22endl4 cout2269( t: 1;11;00<$8622endl4 cout226ama t: =atnasari622endl4 cout226elas t: >A622endl22endl4 cout226oal t: @ Ky 1$622endl4 cout226t: "? @ #y 1L622endl22endl4 cout226622endl22endl4 int ?,y4 or &?14 ?2;04 ?@@) 5 or &y14 y2;04 y@@)
5 i&&?M< @ yMK 1$) &?M" @ yM# 1L)) 5 cout226nilai ? 622?22endl4 cout226nilai y 622y22endl4 D D D return 04 D
". ebuah restoran mempunyai # macam daging campur, daging campur A dan daging campur B, masing+masing 10 kg. %aging campur A merupakan campuran 80C daging dan #0C lemak. %aging campur B merupakan campuran ;0C daging dan K0C lemak. usun program untuk mencetak berapa kg daging campur A, dan berapa kg daging campur B yang harus diambil, keduanya diaduk secara merata agar didapat K kg daging campur baru dengan $"C daging dan #"C lemak. -a1a2 :
include 2iostream3 include 2stdio.h3 include 2stdlib.h3 using namespace std4 int c4
loat ka,kb,da,db,la,lb,dca,dcb,dc,lc,jd,jl4 typede loat matrikF10GF10G4 typede loat matriksF10G4 Hoid doolittle&matrik A,matrik N,matrik O,int n)4 Hoid input&matrik A,int n,matriks P)4 Hoid persamaan &matrik A, matriks P, int n)4 Hoid solusiy&matrik A, matriks (, matriks P, int n)4 Hoid solusi?&matrik O, matriks >, matriks I, int n)4 Hoid output&matriks P, int n)4 main&) 5 matrik A,N,O4 matriks P,I,>4 int n4 cout2267rogram oal omor "622endl4 cout226622endl22endl4 cout2269( t: 1;11;00<$8622endl4 cout226ama t: =atnasari622endl4 cout226elas t: >A622endl22endl4 cout226622endl22endl4 /Mputs &67rogram 7enyelesaian 7N dengan n+Qariabeln6)4 puts &6%engan (enggunakan (etode (AT=9n6)4M/ puts&6olusi asus %aging *ampurann6)4 puts &6 n6)4 //print&6Banyaknya jenis daging campuran &n) 6)4 //scan&6Cd6,n)4 n#4 input&A,n,P)4 //meminta input persamaan persamaan&A,P,n)4//menampilkan persamaan linier doolittle&A,N,O,n)4//aktorisasi matrik A menjadi NMO solusiy&N,I,P,n)4//menentukan matrik I dari persamaan NMIP solusi?&O,>,I,n)4//menentukan matrik > dari persamaan OM>I output&>,n)4//menampilkan matrik > ke layar getchar&)4 D Hoid input&matrik A, int n, matriks P) 5 int i,j4 /Mstring ?F#G4 ?F1G67ersentase %aging64 ?F#G67ersentase Nemak64M/ cout2267ersamaan 1 adalah persentase %AR9R622endl4 cout2267ersamaan # adalah persentase NS(A622endl4 or &i04i2n4i@@)
5 print&6n7ersamaan Cd : n6,i@1)4 or &j04j2n4j@@) 5 print&67ersentase FCdG 6,j@1)4 scan&6C6,AFiGFjG)4 /Mda&j@1,AFiG)4 db&j@#,AFiG)4 la&j@1,AFjG)4 la&j@#,AFjG)4M/ D D cout22endl4 cout226Berat daging campuran yang diinginkan : 64cin33c4 cout2267ersentase daging didalam daging campuran : 64cin33dc4 cout2267ersentase lemak didalam daging campuran : 64cin33lc4 jddcMc4 jllcMc4 cout226++++++++++++++622endl44 cout226'umlah berat daging didalam daging campuran setelah dihitung menjadi : 622jd22endl4 cout226'umlah berat lemak didalam daging campuran setelah dihitung menjadi : 622jl22endl4 cout226+++++++++++++++622endl4 cout226(asukan berat %AR9R yang telah dihitung kedalam SU99S 1622endl4 cout226(asukan berat NS(A yang telah dihitung kedalam SU99S #622endl22endl4 print&6Pasil 7ersamaan n6)4 or &j04j2n4j@@) 5 print&6oeisien FCdG 6,j@1)4 scan&6C6,PFjG)4 D D Hoid persamaan&matrik A,matriks P, int n) 5 int i,j,g4 print&6n7ersamaan Ninier : n6)4 or &i04i2n4i@@) 5 g04 or &j04j2n4j@@) 5 i &AFiGFjGJ0) 5 i &g0) 5
i &AFiGFjGJ1) print&6CK.# >FCdG6,AFiGFjG,j@1)4 else print&6>FCdG6,j@1)4 g14 D else 5 i &AFiGFjGJ1) print&6@ CK.# >FCdG6,AFiGFjG,j@1)4 else print&6@ >FCdG6,j@1)4 D D i &j n+1) print&6 CK.#6,PFiG)4 D print&6n6)4 D D Hoid doolittle&matrik A,matrik N,matrik O,int n) 5 loat sum4 int k,j,m4 or&j04j2n4j@@) 5 NFjGFjG14 or &m04m2j4m@@) 5 i &m3j) NFjGFmG04 else i &m2j) OFmGFjG04 D D or &k04k2n4k@@) 5 OF0GFkGAF0GFkG4 i &OF0GF0GJ0) NFkGF0GAFkGF0G/OF0GF0G4 D or &k04k2n4k@@) 5 or&j14j2k4j@@) 5 sum04 or &m04m2j4m@@) sum@OFmGFjGMNFkGFmG4 i &&kJj) &OFjGFjGJ0))
NFkGFjG&AFkGFjG+sum)/OFjGFjG4 D i &kJ0) or&jk4j2n4j@@) 5 sum04 or &m04m2k4m@@) sum@OFmGFjGMNFkGFmG4 i &j3k) OFkGFjGAFkGFjG+sum4 D D D Hoid solusiy&matrik A,matriks (,matriks P, int n) 5 int i,j4 loat sum4 (F0G PF0G4 or &i14i2n4i@@) 5 sum04 or &j04j2i4j@@) sum@AFiGFjGM(FjG4 (FiG PFiG+sum4 D D Hoid solusi?&matrik O, matriks >, matriks I, int n) 5 int i,j4 loat sum4 >Fn+1G IFn+1G/OFn+1GFn+1G4 or &in+#4i304i++) 5 sum04 or &jn+14j3i4j++) sum@OFiGFjGM>FjG4 i &OFiGFiGJ0) >FiG &IFiG+sum)/OFiGFiG4 D D Hoid output&matriks >, int n) 5 int j4 print&6nolusi 7ersamaan Ninier : n6)4
or &j04j2n4j@@) 5 i &j0) 5 ka&j@1,>FjG)4 print&6>FCdG CK.# 6,j@1,>FjG)4 print&6n6)4 D i &j1) 5 kb&j@1,>FjG)4 print&6>FCdG CK.# 6,j@1,>FjG)4 print&6n6)4 D D cout22endl4 // dca cout226nilai ka : 622ka22endl4 cout226nilai kb : 622kb22endl4 system&6pause6)4 D