• Tidak ada hasil yang ditemukan

Apa Itu Algoritma? Algoritma berasal dari: ahli

N/A
N/A
Protected

Academic year: 2021

Membagikan "Apa Itu Algoritma? Algoritma berasal dari: ahli"

Copied!
11
0
0

Teks penuh

(1)

Dasar

Dasar

-

-

dasar

dasar

Algoritma

Algoritma

Algoritma

Algoritma

dan

dan

Pemrograman

Pemrograman

Tahar

Tahar

Agastani

Agastani

Teknik

Teknik

Informatika

Informatika

UIN

UIN

Apa

Apa

Itu

Itu

Algoritma

Algoritma

?

?

AlgoritmaAlgoritmaberasalberasaldaridari::

– NamaNamaAbu Abu Ja’farJa’farMuhammad Muhammad IbnuIbnuMusaMusaAlAl--KhwarizmiKhwarizmiahliahli

matematika

matematikaPersia yang Persia yang menulismenulisKitabKitabAl Al jabarjabarwalwal--muqabalamuqabala

pada

padasekitarsekitartahuntahun825M.825M.

– KonsepKonseppencatatanpencatatancaracara--caracara((prosedurprosedur) ) pemecahanpemecahanmasalahmasalah matematika

matematika..

DefinisiDefinisi:: –

– UrutanUrutanlangkahlangkahberhinggaberhinggauntukuntukmemecahkanmemecahkanmasalahmasalahlogikalogika atau

ataumatematikamatematika(Microsoft Press@)(Microsoft Press@)

– KamusKamusBesarBesarBahasaBahasaIndonesia:Indonesia: Algoritma

Algoritmaadalahadalahurutanurutanlogislogispengambilanpengambilanputusanputusanuntukuntuk

pemecahan

pemecahanmasalahmasalah

AlgoritmaAlgoritmadibutuhkandibutuhkan((terkaitterkaitdengandengankomputerkomputer):):

– untukuntukmemerintahmemerintahkomputerkomputermengambilmengambillangkahlangkah--langkahlangkah tertentu

(2)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 33

Algoritma

Algoritma

di

di

Kehidupan

Kehidupan

Nyata

Nyata

Cara-

Cara

-cara

cara

memasak

memasak

atau

atau

membuat

membuat

kue

kue

yang

yang

dinyatakan

dinyatakan

sebagai

sebagai

resep

resep

adalah

adalah

algoritma.

algoritma

.

Menulis

Menulis

surat:

surat

:

1.

1. MempersiapkanMempersiapkan kertaskertas dandan amplopamplop 2.

2. MempersiapkanMempersiapkan alatalattulistulis..

3.

3. MulaiMulaimenulismenulis 4.

4. MemasukkanMemasukkan kertaskertas kekedalamdalamamplopamplop

5.

5. AmplopAmplopditempeliditempeli perangkoperangkosecukupnyasecukupnya 6.

6. PergiPergikekekantorkantorpos pos untukuntukmengeposkanmengeposkan suratsurattsbtsb.. Langkah

Langkah 1 1 s/ds/d6 6 adalahadalahalgoritmaalgoritma

Konstruksi

Konstruksi

(struktur

(

struktur)

)

Algoritma

Algoritma

Berurutan

Berurutan

(sequence):

(sequence):

– langkahlangkahdikerjakandikerjakansecarasecaraberurutanberurutan((sekuensialsekuensial).).

Percabangan

Percabangan

(selection):

(selection):

– langkahlangkahdikerjakandikerjakanJIKAJIKAmemenuhimemenuhikondisikondisitertentutertentu

Pengulangan

Pengulangan

(iteration):

(iteration):

– langkahlangkahdikerjakandikerjakanSELAMASELAMAmemenuhimemenuhisuatusuatukondisikondisi tertentu

tertentu..

Konkuren

Konkuren

(concurrent):

(concurrent):

– beberapabeberapalangkahlangkahdikerjakandikerjakansecarasecarabersamabersama..

Catatan

(3)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 55

Penulisan

Penulisan

Algoritma

Algoritma

Dalam

Dalam

bahasa

bahasa

natural

natural

(

(Bahasa

Bahasa

Indonesia,

Indonesia,

Bahasa

Bahasa

Inggris,

Inggris

, dan

dan

bahasa

bahasa

manusia

manusia

lainnya)

lainnya

)

– TapiTapiseringseringmembingungkanmembingungkan((ambiguousambiguous))

Menggunakan

Menggunakan

pseudo-

pseudo

-code

code

– SudahSudahlebihlebihdekatdekatkekebahasabahasapemrogramanpemrograman, , namunnamun sulit

sulit dimengertidimengertioleholehorangorangyang yang tidaktidak mengertimengerti

pemrograman

pemrograman

Menggunakan

Menggunakan

flow chart

flow chart

(diagram alir

(diagram

alir)

)

– BagusBagussecarasecara visual visual akanakantetapitetapirepot repot kalaukalau

algoritmanya

algoritmanya panjangpanjang

Pseudo

Pseudo

-

-

code

code

Definisi

Definisi:

:

– BahasaBahasa((biasanyabiasanyaInggrisInggris) ) terstrukturterstrukturuntukuntuk

menggambarkan

menggambarkan logikalogikaalgoritmaalgoritma

Bagian

Bagian

terstruktur

terstruktur

(

(konstruksi

konstruksi

dasar)

dasar

) adalah

adalah:

:

– SEQUENCE: SEQUENCE: berurutanberurutanmelakukanmelakukansatusatulangkahlangkah setelah

setelah langkahlangkahlainnyalainnya –

– IFIF--THENTHEN--ELSE: ELSE: percabanganpercabangan((seleksiseleksi) ) pilihanpilihandibuatdibuat diantara

diantara duaduaalternatifalternatiflangkahlangkah –

– WHILE: WHILE: pengulanganpengulangandengandenganujiujikondisikondisididiawalawal

Konstruksi

Konstruksi

tambahan:

tambahan

:

– CASE: CASE: percabanganpercabangan((generalisasigeneralisasiIFIF--THENTHEN--ELSE)ELSE) –

– DODO--WHILE: WHILE: pengulanganpengulangandengandenganujiuji kondisikondisididiakhirakhir –

(4)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 77

Konstruksi

Konstruksi

SEQUENCE

SEQUENCE

Keyword yang Keyword yang umumumumdaridariSEQUENCE:SEQUENCE:

Input : READ, OBTAIN, GET

Input : READ, OBTAIN, GET

Output : PRINT, DISPLAY, SHOW

Output : PRINT, DISPLAY, SHOW

Compute : COMPUTE, CALCULATE, DETERMINE

Compute : COMPUTE, CALCULATE, DETERMINE

Initialize : SET, INIT

Initialize : SET, INIT

Add one : INCREMENT, BUMP

Add one : INCREMENT, BUMP

ContohContoh::

READ height of rectangle READ width of rectangle

COMPUTE area as height times width DISPLAY area

BACA tinggi persegi panjang BACA lebar persegi panjang HITUNG luas sbg tinggi kali lebar TAMPILKAN luas

Konstruksi

Konstruksi

IF

IF

-

-

THEN

THEN

-

-

ELSE

ELSE

BentukBentukUmumUmum::

IF condition THEN IF condition THEN sequence 1 sequence 1 ELSE ELSE sequence 2 sequence 2 ENDIF ENDIF Catatan

Catatan: condition : condition adalahadalahpilihanpilihanbinerbiner((yayaatauatautidaktidak))

ContohContoh:: IF

IF HoursWorkedHoursWorked> > NormalMaxNormalMaxTHEN THEN

Display overtime message

Display overtime message

ELSE

ELSE

Display regular time message

Display regular time message

ENDIF

(5)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 99

Konstruksi

Konstruksi

WHILE

WHILE

Bentuk

Bentuk

Umum:

Umum

:

WHILE condition WHILE condition sequence sequence ENDWHILE ENDWHILE

Contoh:

Contoh

:

WHILE Population < Limit

WHILE Population < Limit

Compute Population as Population + Births

Compute Population as Population + Births --DeathsDeaths ENDWHILE ENDWHILE

Flowchart

Flowchart

DefinisiDefinisi:: Flowchart

Flowchart adalahadalahbentukbentukgambargambar/diagram yang /diagram yang mempunyaimempunyai

aliran

aliransatusatuatauatauduaduaaraharahsecarasecarasekuensialsekuensial. .

DigunakanDigunakan::

Untuk

Untukmerepresentasikanmerepresentasikansebuahsebuahalgoritmaalgoritmasecarasecaraskematikskematik

sehingga

sehinggamempermudahmempermudahmemahamimemahamialuralurlogikanyalogikanya..

Aliran

Alirandatadata Mulai

MulaiatauatauSelesaiSelesai (Terminator) (Terminator) Keterangan Keterangan Lambang Lambang Lambang-lambang Flowchart

(6)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 1111

Lambang

Lambang

-

-

lambang

lambang

Flowchart

Flowchart

Memanggil

Memanggilfungsifungsi

Konektor

Konektordidi halaman

halamanlainlain

Pemberian

Pemberiannilainilai awal

awalsuatusuatu variabel

variabel

Konektor

Konektordidi halaman

halamanyang yang

sama sama Percabangan Percabangan ( (SeleksiSeleksi)) Proses Proses Perulangan Perulangan ( (IterasiIterasi)) Input/Output Input/Output

Keterangan

Keterangan

Lambang

Lambang

Keterangan

Keterangan

Lambang

Lambang

syarat pencacah

Bagian yang diulang

Contoh

Contoh

Konstruksi

Konstruksi

Berurutan

Berurutan

– MemecahkanMemecahkanmasalahmasalahmatematikamatematikayaituyaitumenghitungmenghitung

luas

luas lingkaranlingkarandengandenganmasukanmasukanberupaberupajarijari--jarijari lingkaran

lingkaran

Rumus

Rumus: L = : L = ππRR22

Algoritma

Algoritma

dalam

dalam

bahasa

bahasa

natural (Indonesia)

natural (Indonesia)

1.

1. AmbilAmbiljarijari--jarijarilingkaranlingkaranRR 2.

2. Set Pi Set Pi samasamadengandengan3.143.14 3.

3. HitungHitungluasluaslingkaranlingkaranL L yaituyaituPi kali Pi kali kwadratkwadratjarijari--jarijariRR

4.

(7)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 1313

Algoritma

Algoritma

dengan

dengan

Pseudo

Pseudo

-

-

code

code

Indonesia

Indonesia

1.

1.

Masukkan

Masukkan

R

R

2.

2.

Pi ←

Pi

3.14

3.14

3.

3.

L ←

L

Pi * R * R

Pi * R * R

4.

4.

Tulis

Tulis

L

L

Algoritma

Algoritma

dengan

dengan

Pseudo

Pseudo

-

-

code

code

Inggris

Inggris

1.

1.

Read R

Read R

2.

2.

Pi ←

Pi

3.14

3.14

3.

3.

L ←

L

Pi * R * R

Pi * R * R

4.

4.

Print L

Print L

Algoritma

Algoritma

dengan

dengan

Flow chart

Flow chart

Mulai Masukkan R Pi ←3.14 L ←Pi * R * R Tulis L Selesai

(8)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 1515

Contoh

Contoh

Konstruksi

Konstruksi

Percabangan

Percabangan

– MenuliskanMenuliskannilainilaiabsolutabsolutdaridarinilainilaiyang yang dimasukkandimasukkan pengguna

pengguna

Definisi

Definisinilainilaiabsolutabsolut: : | x | = x,

| x | = x, jikajikax x ≥≥00 | x | =

| x | = --x, x, jikajikax < 0x < 0

Algoritma

Algoritma

dalam

dalam

bahasa

bahasa

natural Indonesia

natural Indonesia

1.

1. AmbilAmbilnilainilaixx 2.

2. JikaJika(x < 0) (x < 0) makamakakerjakankerjakanbarisbaris3, 3, jikajikatidaktidakkerjakankerjakan baris

baris44 3.

3. Set x Set x samasamadengandengan--xx 4.

4. TampilkanTampilkanxx

Algoritma

Algoritma

dengan

dengan

Pseudo-

Pseudo

-code (

code (

Bhs

Bhs

Inggris)

Inggris

)

1. 1. GET xGET x 2. 2. IF x < 0 THEN x IF x < 0 THEN x ←←--xx 3. 3. DISPLAY xDISPLAY x

Algoritma

Algoritma

dengan

dengan

Pseudo-

Pseudo

-code (

code (

Bhs

Bhs

Indonesia)

Indonesia)

1.

1. AMBIL xAMBIL x 2.

2. JIKA x < 0 MAKA x JIKA x < 0 MAKA x ←←--xx

3.

(9)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 1717

Algoritma

Algoritma

dengan

dengan

Flow chart

Flow chart

Mulai Masukkan x Tulis x Selesai x < 0? x ← -x Y T

Contoh

Contoh

Konstruksi

Konstruksi

Pengulangan

Pengulangan

– MenghitungMenghitungpenjumlahanpenjumlahandaridarisekumpulansekumpulandata yang data yang dimasukkan

dimasukkanoleholehpenggunapengguna Rumus

Rumusmencarimencaripenjumlahanpenjumlahandaridarisejumlahsejumlahdata N: data N:

N N sum = sum = ∑∑dtdtii i=1 i=1

AlgoritmaAlgoritmadalamdalambahasabahasanatural (natural (BhsBhsIndonesia)Indonesia)

1.

1. MasukkanMasukkanjumlahjumlahdata Ndata N

2.

2. Set sum = 0 Set sum = 0 dandanpencacahpencacahi = 1i = 1

3.

3. UlangiUlangilangkahlangkah--langkahlangkahberikutberikutsampaisampaii > Ni > N

a.

a. MasukkanMasukkandtdt

b.

b. HitungHitungsum = sum = sumsum+ + dtdt

c.

(10)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 1919

Algoritma

Algoritma

dengan

dengan

Pseudo

Pseudo

-

-

code

code

Inggris

Inggris

1.

1.

GET N

GET N

2.

2.

sum ←

sum

0

0

3.

3.

i ←

i

1

1

4.

4.

WHILE i ≤

WHILE i

N

N

5.

5.

READ dt

READ

dt

6.

6.

sum ←

sum

sum + dt

sum +

dt

7.

7.

i ←

i

i + 1

i + 1

8.

8.

ENDWHILE

ENDWHILE

9.

9.

DISPLAY sum

DISPLAY sum

Algoritma

Algoritma

dengan

dengan

Flow chart

Flow chart

Mulai Masukkan N Tulis sum Selesai sum ← 0 i ← 1 Selama (i ≤ N) sum ← sum + dt i ← i + 1 Masukkan dt

(11)

TI

TI --Algoritma dan PemrogramanAlgoritma dan Pemrograman 2121

Aspek

Aspek

Penting

Penting

dari

dari

Algoritma

Algoritma

1.

1.

Finiteness (Finiteness (adaadabatasbatas))

Algoritma

Algoritmaharusharusberhentiberhentiafter a finite number of stepsafter a finite number of steps

2.

2.

Definiteness (Definiteness (pastipasti))

Setiap

Setiaplangkahlangkahharusharusdidefinisikandidefinisikansecarasecaratepattepat, , tidaktidakbolehboleh membingungkan

membingungkan(ambiguous)(ambiguous)

3.

3.

InputInput

Sebuah

Sebuahalgoritmaalgoritmamemilikimemilikinolnolatauataulebihlebihinput yang input yang diberikandiberikan

kepada

kepadaalgoritmaalgoritmasebelumsebelumdijalankandijalankan

4.

4.

OutputOutput

Sebuah

Sebuahalgoritmaalgoritmamemilikimemilikisatusatuatauataulebihlebihoutput, yang output, yang biasanya

biasanyabergantungbergantungkepadakepadainputinput

5.

5.

Effectiveness (Effectiveness (tepattepatdandanefisienefisien))

Setiap

Setiapalgoritmaalgoritmadiharapkandiharapkanmilikimilikisifatsifatefektifefektif

Latihan

Latihan

1.

1.

TulislahTulislahalgoritmaalgoritmauntukuntukmencarimencariluasluassegitigasegitigajikajika

masukan

masukan daridaripenggunapenggunaadalahadalahalas alas dandantingginyatingginya..

Rumus

Rumus: L = ½ : L = ½ a.ta.t..

2.

2.

TulislahTulislahalgoritmaalgoritmauntukuntukmencarimencarisisisisi miring miring daridarisuatusuatu

segitiga

segitiga sikusiku--sikusiku jikajikadiketahuidiketahui panjangpanjangduaduasisisisiyang yang membentuk

membentuk sudutsudutsikusiku--sikusiku..

Rumus

Rumus: c = : c = √√(a2 + b2)(a2 + b2)

3.

3.

TulislahTulislahalgoritmaalgoritmauntukuntukmemintamemintamasukanmasukanduadua

bilangan

bilangan daridaripenggunapenggunakemudiankemudianmenampilkanmenampilkan bilangan

bilangan terbesarterbesardidiantaraantarakeduakeduabilanganbilangantersebuttersebut..

4.

4.

TulislahTulislahalgoritmaalgoritmauntukuntukmenampilkanmenampilkanteksteks““Hello Hello

World

Referensi

Dokumen terkait

Tesis Pengaruh pemberian ekstrak ..... ADLN -

Soal Simulasi KBS UKOM 6ers 001+.. Perawat pada unit ruang nias merawat klien yang baru sa#a melahirkan dengan riwayat plasenta pri/ia. Manakah resiko yang mun$ul terkait

Jumlah Pegawai Teknisi Kehutanan pada Balai Taman Nasional Kepualuan Seribu Sampai dengan Bulan Desember

Ibu nifas Ny “ I “ dengan anemia sedang dan hipertensi, penulis merencanakan asuhan kebidanan berdasarkan diagnosa / masalah adalah dengan melakukan observasi

Penelitian ini bertujuan untuk mengetahui pengaruh akuntabilitas, opini audit BPK, temuan audit BPK, dan penerapan teknologi informasi dan komunikasi terhadap

Pada uji-t diperoleh bahwa variabel harga beras, harga jagung, harga mi instan, dan pendapatan perkapita penduduk berpengaruh secara nyata terhadap permintaan

Dari hasil pengujian blackbox dapat menunjukkan bahwa sistem pendukung keputusan penentuan lokasi pembangunan SPBU menggunakan metode SAW di Kabupaten Merauke

Mattulada menyatakan bahwa dengan diterimanya Islam dan dijadikannya sara’ (syariat Islam) sebagai bagian integral dari panngaderreng, maka pranata-pranata kehidupan