100% menganggap dokumen ini bermanfaat (1 suara)
51 tayangan

Modul Algoritma

Bab I menjelaskan pengertian algoritma dan elemen dasarnya seperti variabel, operator, dan kontrol struktur. Bab II membahas tentang diagram alir dan pseudocode sebagai representasi algoritma. Bab III menjelasan tentang looping sebagai kontrol struktur pengulangan.

Diunggah oleh

NORISH
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
100% menganggap dokumen ini bermanfaat (1 suara)
51 tayangan

Modul Algoritma

Bab I menjelaskan pengertian algoritma dan elemen dasarnya seperti variabel, operator, dan kontrol struktur. Bab II membahas tentang diagram alir dan pseudocode sebagai representasi algoritma. Bab III menjelasan tentang looping sebagai kontrol struktur pengulangan.

Diunggah oleh

NORISH
Hak Cipta
© Attribution Non-Commercial (BY-NC)
Format Tersedia
Unduh sebagai DOC, PDF, TXT atau baca online di Scribd
Anda di halaman 1/ 17

Bab I

Pengenalan Algoritma
Terlebih dahulu yang harus kita ketahui adalah masalah programmer. Dan tugas - tugas dari programmer tersebut adalah Analisis Masalah yaitu membatasi antara input, proses dan output. Pembuatan dan pengembangan Algoritma. o Flow Chart o Pseude Code Pemilihan Program Pemrograman Dasar / Murni Pemrograman Pascal Pemrograman C++ Pemrograman basic Pemrograman Dbase Pemrograman $ % Pemrograman Data Base Lanjutan Pemrograman Delphi Pemrograman C++ Builder atau Delphi Pemrograman !isual Basic Pemrograman !isual "o# pro Pemrograman &racle

Pemeriksaan Program. Men'alankan Program ( Test )un * Pemeliharaan dan pengembangan Program + o Media yang digunakan adalah Disket o Media yang digunakan kapasitas lebih dari ,,-- Mb adalah CD o Media yang digunakan kapasitas lebih dari .// Mb adalah 0arddisk

A. Pengertian Algoritma Algoritma adalah suatu langkah untuk menyelesaikan masalah dengan bantuan logika dan ditulis secara sistematis. Elemen dasar yang digunakan dalam Algoritma adalah sebagai berikut : Pengenalan Abjad, Huruf atau Character . disini kita harus bisa membedakan antara A .. Z atau a .. ! . Pengenalan Angka numeric atau bilangan bulat : ", #, $, %&&. 'st. Pengenalan s(ecial karakter : ), *, +, ,, -, ., &.dll. Pengenalan /nterfier yaitu fungsi 0 fungsi key1ord yang ada di algoritma se(erti 2rite, /f then else, for , 1hile, case of, read sby. Pengenalan eks(resi adalah (erhitungan yang menggabungkan o(erator hitung. Contoh : Tunjangan adalah 25% * Gapok D=
b $ 4ac

Tunj = 0,25 * Gapok3

D = ((B*B !("*a*# $0,5

Dan priorita% utama &ang dilak%anakan perhitungan oleh #omputer ' (ang menggunakan Tanda )urung ( * (ang menggunakan Tanda Pangkat ( $ * (ang menggunakan Tanda )ali ( * * (ang menggunakan Tanda Bagi ( + * Tanda Bagi ter,agi ata% dua ' -od adalah .i%a Pem,agian ' /0 mod 2 = 00 /0 mod 1 = / Di2 adalah 3a%il Pem,agian ' /0 di2 2 = 50 /0 di2 1 = 1 (ang menggunakan Tanda Plu% ( 4 * (ang menggunakan Tanda )urang ( ! * B* 5lo6 7hart 5istem (enyajian yang beru(a diagram grafis untuk menentukan (rosedur kerja atau diagram alir. 6entuk umum dari 7lo1 Chart : memulai ( Begin mengakhiri ( 9nd

8ooping ( Pengulangan

De#i%ion atau %ele#tion ( Pemilihan

Pro%e%

7one#tor ( Alat Penghu,ung ke 5ile

Gari% Penghu,ung 5lo6 7hart

Do#ument Tempat Pen&impanan 5ile %ementara

)a%u%' 6uatlah flo1 Chart untuk menghitung 'iskriminasi: '8 7ara Pen&ele%aiann&a' :nput Pro%e% =utput ' ;,,a,#< ' ;D=((,*, !("*a*# $0,5< ' ;D< Program Di%krimina%i
b $ 4ac

:nput ;,,a,#<

D=((,*, !("*a*# $0,5

=utput ;D<

Do#ument Di%krimina%i 9>D

C. P%eude 7ode 5ystem (enulisan yang aturan (enulisannya sudah berdasarkan (rogram terstruktur yang satu sama lain saling berhubungan untuk menjadi (rogram yang utuh. 6entuk (enulisannya : Algoritma >ame ' ? @udul Pogram A Bar >ama 2aria,le ' tipe data ? pendeklara%ian tipe data A Begin ? -emulai Program A Cead ? -em,a#a :nputan A .tatement ? Badan Program A Drite ? -en#etak =utput A 9nd* ? mengakhiri program A 9i(e data adalah kum(ulan dari huruf, angka, simbol yang berfungsi untuk menyim(an nilai di memory com(uter. 9i(e data yang sering digunakan dalam (rogram antara lain: 6yte adalah bilangan bulat yang berka(asitas :"..$;;< digit. 5hortinteger adalah bilangan bulat yang berka(asitas :0 #$=..#$>< digit. 2ord adalah bilangan bulat yang berka(asitas :"..?;;%;< digit. /nteger adalah bilangan bulat yang berka(asitas :@%$>?=..%$>?><digit. Aong/nteger adalah bilangan bulat yang berka(asitas :@$#4>4=%?4=.. $#4>4=%?4>. Beal adalah bilangan decimal yang berka(asitas :$,CD#"@%C..#,>D#"%=< digit. 5ingle adalah bilangan decimal yang berka(asitas :#,;D#"@4;..%,4D#"%=< digit. 'ouble adalah bilangan decimal yang berka(asitas :;,"D#" @%$4 .. #,>D#"%="< digit. EEtended adalah bilangan decimal yang berka(asitas :%,4D#" @4C%$ .. #,#D#"4C%$< digit. Char adalah huruf yang berka(asitas # huruf atau character. 5tring adalah huruf yang berka(asitas $ milyar huruf. Tata #ara penuli%an nama 2ari,el antara lain ' 9idak boleh menggunakan blank atau s(asi. Fama 5is1a : string3 : 5alah < FamaG5is1a : string3 : 6enar < 9idak boleh didahului dengan angka. #Ha(ok Ha(ok# : longint3 : 5alah < : longint3 : 6oleh <

9idak boleh menggunakan s(ecial character. )nama Ha(okI : string3 : 5alah < : longint3 : 5alah <

9idak boleh menggunakan interfaier. 2riteGnama Ha(okGfor : string3 : 5alah < : longint3 :5alah <

7ontoh ka%u%'
Buatlah P%eude 7ode untuk menukar i%i tempat dar a ke , dan , ke a* 7ara pen&ele%aiann&a' )eadaan a6al Belum dipro%e% )eadaan akhir %udah dipro%e%

A
/00

B
50

A
50

B
/00

A
:nput ' ; A, B, 7 < Pro%e%' ; A ke 7, B ke A, 7 ke B < =utput' ; A, B < Algoritma >ame' ; TukarETempat <0 Bar A, B, 7 ' integer0 Begin Cead(:nput 0 A=70 B=A0 7=B0 Drite(=utput 0 9nd* /00

2 /
7
0

B
50

Ba, :: De#e%ion + .ele#tion ( Pemilihan


'idalam (emrograman kita ada bebera(a langkah yang a(abila ada (emilihan itu kita menggunakan langkah decesion. 'idalam (emrograman syntaE : Aturan < (enulisan ada $ macam: /* :F then el%e 9nd iF Pro%e% pemilihan &ang menggunakan kondi%i ( ?, A, ?=, A=, = * .&ntaG penuli%ann&a ' :F ()ondi%i!/ Then ( .tatement H / 9l%e iF ( )ondi%i H 2 Then ( .tatement H 2 9l%e iF ( )ondi%i H 1 Then ( .tatement H 1 9l%e ( .tatement H n 9nd iF 7ontoh )a%u% ' Buatlah algoritma dalam ,entuk P%eudeu 7ode untuk menghitung >ilai Akhir -aha%i%6a* Dengan )etentuan >:-, >ama -aha%i%6a, Alamat -aha%i%6a, @uru%an, >ilai IA., >ilai IT., >ilai JuiK dan >ilai Tuga%* Intuk men#ari >ilai Akhir Adalah "0% * >ilai Ia% ditam,ah 10% * >ilai IT. ditam,ah 20% * >ilai JuiK ditam,ah /0% * >ilai Tuga%* >ilai Akhir ditentukan oleh >ilai Grade* @ika >ilai Akhir A L5 maka >ilai Grade = MAN @ika >ilai Akhir A O5 maka >ilai Grade = MBN @ika >ilai Akhir A P5 maka >ilai Grade = M7N @ika >ilai Akhir A 55 maka >ilai Grade = MDN @ika >ilai Akhir ? 55 maka >ilai Grade = M9N 7ara pen&ele%ain&a ' /n(ut Proses : J Fim, Fama, Alamat, Kurusan, FGLA5, FGL95, FM, F9 N : J Fa 8 :",4OFGLA5<P:",%OFGL95<P:",$OFM<P:",#OF9< Kika Fa Q =; maka FH 8 RAS Kika Fa Q >; maka FH 8 R6S Kika Fa Q ?; maka FH 8 RCS

Kika Fa Q ;; maka FH 8 R'S Kika Fa T ;; maka FH 8 RES N &utput + 1 23M, 2ama, Alamat, 4urusan, 256A$, 256T$, 2 , 2T, 2a, 27 8

Algoritma Name ! Menghitung"Nilai"A#hir"Mahasiswa $ %ar NIM& Nama& Alamat& 'urusan (tring) N"*as& N"*ts& N+& N, B-te/ Integer) Na .eal) N/ Char) Begin .ead0Input 1 Na 2 34&56N"*A(7834&96N"*,(7834&:6N+7834&;6N,7) I< Na $ => ,hen N/2?A? @lse I< Na $ A> ,hen N/2?B? @lse I< Na $ B> ,hen N/2?C? @lse I< Na $ >> ,hen N/2?D? ,hen N/2?@? @nd IF Crite 0 Dutput 1 @nd. :. Case o< @nd Case Alternati9 lain apabila kita menggunakan selection atau decision.

(-ntaE penulisann-a Case 3 Nama %ariabel 7 o<


Fondisi Fondisi Fondisi Fondisi @nd Case G; G: G9 Gn (tatement (tatement (tatement (tatement H H H H ; : 9 n

Contoh Fasus Buatlah Algoritma dalam bentuk Pseudeu Code untuk menghitung 6pah :arya;an. Dengan :etentuan 23:, 2ama :arya;an, Alamat :arya;an, 7ol, 4am :er'a. 4ika 7ol < , maka 6ang 0arian < =//// dan 6ang %embur < ,//// 4ika 7ol < = maka 6ang 0arian < ,>/// dan 6ang %embur < .>// 4ika 7ol < ? maka 6ang 0arian < ,//// dan 6ang %embur < >/// 6ang %embur dihitung 'ika 4am :er'anya lebih dari @ 4am. Tun'angan < -A B 6ang 0arian dan 6pah < 6ang 0arian ditambah 6ang %embur + Tun'angan. Cara penyelesainnya + 3nput + 1 23:, 2ama, Alamat, 7ol, 4: 8 Proses + 1 4ika 7ol < , maka 60 < =//// dan 6% < ,//// 4ika 7ol < = maka 60 < ,>/// dan 6% < .>// 4ika 7ol < ? maka 60 < ,//// dan 6% < >/// 4ika 4: C @ maka %embur < (4:-@* B 6% 4ika 4: D< @ maka %embur < /E Tun' < /,/- B 60 6pah < 60 + %embur + Tun' 8 &utput + 1 23:, 2ama, Alamat, 7ol, 4:, 60, 6%, %embur, Tun', 6pah 8 Algoritma Name ! Menghitung"*pah"Far-awan $ %ar NIF& Nama& Alamat (tring) 'F& /ol Integer) *I Longint) *L& Lembur& *pah& ,unj .eal) Begin .ead 0 Input 1 Case /ol D< ; *I 2 :4444) *L 2 ;4444) : *I 2 ;>444) *L 2 A>44) 9 *I 2 ;4444) *L 2 >444) @nd Case I< 'F $ = ,hen Lembur 2 3 'F H = 7 6 *L) @lse Lembur 2 4) @nd I< ,unj 2 4&45 6 *I) *pah 2 *I 8 Lembur 8 ,unjangan ) Crite 0 Dutput 1

@nd.

Bab III Looping 3 Pengulangan 7

$uatu langkah dimana kita akan melakukan proses beulang F ulang untuk penambahan data. Proses looping ini synta#nya ada tiga macam + ;. For to do @nd For Proses pengulangan yang menggunakan increment ( Pencacah 2aik *. (-ntaE penulisann-a For nama Jariable 2 inde# awal to inde# a#hir do Begin .ead 0 Input 1 (tatement @nd @nd For Catatan + 6ntuk nama Gariable kita bisa menggunakan huru9 a sampai H tapi yang sering digunakan adalah huru9 3, 4, I, J. Contoh Fasus Buat Algoritma dalam bentuk Pseudeu Code untuk menghitung ? Data :redit 2asabah Bank. Dengan :etentuan 2o 2asabah, 2ama 2asabah, Alamat 2asabah, Besar Pin'aman, $uku Bunga, %ama Pin'aman. 6ntuk mencari bunga adalah Besar pin'aman dikali %ama pin'aman dikali $uku Bunga. 2ilai Pengembalian adalah Besar pin'aman ditambah Bunga. Cara pen-elesainn-a + 3nput Proses + 1 2o52asabah, 2ama, Alamat, BP, %P, $B 8 + 1 Pengulangan sampai dengan ? :ali B < BP B %P B $B 2P < BP + B 8 + 1 2o52asabah, 2ama, Alamat, BP, %P, $B, B, 2P 8

&utput

Algoritma Name ! Data"Fredit"Nasabah"Ban# $ %ar No"Nasabah& Nama& Alamat (tring) LP& I Integer)

Begin

BP B& (B& NP For I2; to 9 do Begin .ead 0 Input 1 B 2 BP 6 LP 6 (B) NP 2 BP 8 B) @nd @nd For Crite 0 Dutput 1

Longint) .eal)

@nd. =. Chile Do @nd Chile Proses pengulangan yang menggunakan kondisi ( D, C, D<, C<, < *. Proses pengulangan berlangsung 'ika kondisinya benar. (-ntaE penulisann-a Nama Jariable 2 IndeE awal) Chile 3 #ondisi 7 do Begin .ead 0 Input 1 (tatement) InKrement) @nd @nd Chile Contoh Fasus Buatlah Algoritma dalam Pseudeu Code untuk menghitung = %uas Persegi Pan'ang. Dengan :etentuan Pan'ang, %ebar. 6ntuk mencari %uas adalah pan'ang kali lebar. Cara penyelesainnya + 3nput Proses &utput + 1 P, % 8 + 1 Pengulangan sampai dengan = kali %uas < P B % 8 + 1 P, %, %uas 8

Algoritma Name ! Perhitungan"Matemati#a $ %ar P& L& Luas real) I Integer) Begin I24) Chile I!: do Begin .ead 0 Input 1 Luas 2 P 6 L) I 2 I 8 ;) @nd @nd Chile Crite 0 Dutput 1 @nd. 9. .epeat *ntil Proses pengulangan kebalikan dari Khile do. Dan tidak perlu menggunakan Begin dan Lnd. (-ntaE penulisann-a Nama Jariable 2 IndeE awal) .epeat .ead 0 Input 1 (tatement) InKrement) *ntil 3 Fondisi 7 Contoh :asus Buat Algoritma dalam bentuk Pseudeu Code untuk menghitung ? Data :redit 2asabah Bank. Dengan :etentuan 2o 2asabah, 2ama 2asabah, Alamat 2asabah, Besar Pin'aman, $uku Bunga, %ama Pin'aman. 6ntuk mencari bunga adalah Besar pin'aman dikali %ama pin'aman dikali $uku Bunga. 2ilai Pengembalian adalah Besar pin'aman ditambah Bunga. Cara pen-elesainn-a + 3nput Proses + 1 2o52asabah, 2ama, Alamat, BP, %P, $B 8 + 1 Pengulangan sampai dengan ? :ali B < BP B %P B $B 2P < BP + B 8

&utput + 1 2o52asabah, 2ama, Alamat, BP, %P, $B, B, 2P 8 Algoritma Name ! Data"Fredit"Nasabah"Ban# $ %ar No"Nasabah& Nama& Alamat (tring) LP& I Integer) BP Longint) B& (B& NP .eal) Begin I24) .epeat .ead 0 Input 1 B 2 BP 6 LP 6 (B) NP 2 BP 8 B) I 2 I 8 ;) *ntil 3 I!9 7 Crite 0 Dutput 1 @nd.

Bab I% (tru#tur Data Fomple# 3 Pengelompo#an ,ipe Data 7 Pengelompokan tipe data didalam program terbagi atas = macam + ;. ArraAdalah kumpulan dari tipe data yang se'enis atau disebut "ield 2ame. $ynta# penulisanaya + Nama %ariabel Contoh :asus + Buatlah Algoritma dalam bentuk Pseudeu Code untuk menghitung > Data Pen'ulan Barang. Dengan ketentuan 2o, 2ama Barang, 0arga Barang, $tock A;al, Ter'ual. 6ntuk mencari $isa adalah $tock A;al F Ter'ual. Cara pen-elesainn-a 3nput Proses &utput + 1 2o, 2B, 0B, $A, ter'ual 8 + 1 Pengulangan sampai dengan > kali $isa < $A F Ter'ual 8 + 1 2o, 2B, 0B, $A, Ter'ual, $isa 8 Arra- 0 IndeE Awal .. IndeE a#hir 1 D< ,ipe data)

Algoritma Name Data"Penjualan"Barang $ %ar No& NB Arra-0;..>1 o< (tring) IB Arra-0;..>1 o< Longint) (A& ,erjual& (isa Arra-0;..>1 o< Integer) I Integer) Begin For I2; to > do Begin .ead 0 Input 1 (isa0I1 2 (A0I1 G ,erjual0I1) @nd @nd For Crite 0 Dutput 1 @nd.

:. .eKord Adalah kumpulan dari tipe data yang tidak se'enis. (-ntaE penulisann-a ,-pe Nama"Data

.eKord ,ipe DataG;) ,ipe DataG:) ,ipe DataGn)

@nd %ar Nama Jariable Contoh Fasus

Nama JariableG; Nama JariableG: Nama JariableGn

,ipe data)

Buatlah algoritma dalam bentuk Pseudeu Code dengan menggunakan )ecord untuk menghitung - 2ilai Akhir Mahasis;a. Dengan :etentuan 23M, 2ama Mahasis;a, Alamat Mahasis;a, 4urusan, 2ilai 6A$, 2ilai 6T$, 2ilai uiH dan 2ilai Tugas. 6ntuk mencari 2ilai Akhir Adalah -/A B 2ilai 6as ditambah ?/A B 2ilai 6T$ ditambah =/A B 2ilai uiH ditambah ,/A B 2ilai Tugas. 2ilai Akhir ditentukan oleh 2ilai 7rade. 4ika 2ilai Akhir C @> maka 2ilai 7rade < MAN 4ika 2ilai Akhir C .> maka 2ilai 7rade < MBN 4ika 2ilai Akhir C O> maka 2ilai 7rade < MCN 4ika 2ilai Akhir C >> maka 2ilai 7rade < MDN 4ika 2ilai Akhir D >> maka 2ilai 7rade < MLN Cara pen-elesain-a 3nput Proses + 1 2im, 2ama, Alamat, 4urusan, 256A$, 256T$, 2 , 2T 8 + 1 Pengulangan sampai dengan - kali 2a < (/,-B256A$*+(/,?B256T$*+(/,=B2 *+(/,,B2T* 4ika 2a C @> maka 27 < MAN 4ika 2a C .> maka 27 < MBN 4ika 2a C O> maka 27 < MCN 4ika 2a C >> maka 27 < MDN 4ika 2a D >> maka 27 < MLN 8

&utput + 1 23M, 2ama, Alamat, 4urusan, 256A$, 256T$, 2 , 2T, 2a, 27 8 Algoritma Name ! Menghitung"Nilai"A#hir"Mahasiswa $ ,-pe Data"(iswa 2 reKord NIM& Nama& Alamat& 'urusan (tring) N"*as& N"*ts& N+& N, B-te/ Integer) Na .eal) N/ Char) @nd %ar (iswa Arra-0;..51 o< Data"(iswa) I Integer) Begin I24) .epeat .ead0Input 1 Na.(iswa0I1 2 34&56N"*A(.(iswa0I17 8 34&96N"*,(.(iswa0I17 8 34&:6N+.(iswa0I17 8 34&;6N,.(iswa0I17) I< Na.(iswa0I1 $ => ,hen N/.(iswa0I12?A? @lse I< Na.(iswa0I1 $ A> ,hen N/.(iswa0I12?B? @lse I< Na. (iswa0I1 $ B> ,hen N/.(iswa0I12?C? @lse I< Na.(iswa0I1 $ >> ,hen N/.(iswa0I12?D? ,hen N/.(iswa0I12?@? @nd IF Crite 0 Dutput 1 @nd.

Bab % Prosedur Fungsi $utu blok program terpisah yang terdiri dari sub- sub program yang se;aktu ;aktu bisa dipanggil. Perbedaan dari prosedur 9ungsi adalah kalau prosedur hasilnya tidak ditipe datakan P dideklarasikan tapi kalau 9ungsi hasilnya ditipedatakan P dideklarasikan. Contoh Fasus Buatlah program pen'umlahan dengan menggunakan prosedur 9ungsi denga ketentuan A,B, C. Pen-elesainn-a 3nput + 1A,B8 Proses + 1 C<A+B 8 &utput +1C8 Algoritma Name 0 Penjumlahan 1 ProKedure Penjumlahan3 A& B& C integer7) Begin C2A8B) @nd Begin .ead 0 Nilai A 1 .ead 0 Nilai B 1 Penjumlahan) @nd.

Algoritma Name 0 Penjumlahan 1 FunKtion Penjumlahan3 A& B& C integer7 integer) Begin C2A8B) @nd Begin .ead 0 Nilai A 1 .ead 0 Nilai B 1 Penjumlahan) @nd.

ProKedure /aris) Begin .ead3LGGGGGGGGGGGGGGGGGGGGGGGL7) @nd Begin /aris) .ead3L Belajar algoritma L7) /aris) @nd. FunKtion /aris (tring) Begin .ead3LGGGGGGGGGGGGGGGGGGGGGGGL7) @nd Begin /aris) .ead3L Belajar algoritma L7) /aris) @nd.

Anda mungkin juga menyukai