pertemuan 3 pengantar algoritma

Upload: heri

Post on 17-Feb-2018

261 views

Category:

Documents


0 download

TRANSCRIPT

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    1/24

    TEE 2103Algoritma & Pemrograman

    Pengantar Algoritma

    Dosen: Abdillah, MIT

    HP: 0853 6581 8665Email: [email protected]

    !ebsi"e: h""#:$$abdill01.%o&d#&ess.om

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    2/24

    TujuanMahasiswa memahami struktur dasar algoritma

    dan cara membuat algoritma menggunakan

    pseudo-code.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    3/24

    Algorithmberasal dari kata algoritmi,nama latinseorang cendekiawan muslim dari Uzbekistan yang

    bernama Abu Jafar Muhammad bin Musa Al-

    Khwarizmi.

    Sebuah erangko yang

    diterbitkan ada ! Set "#$%

    oleh Uni So&yet' untuk

    memeringati ".()) tahun Al-

    Khwarizmi.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    4/24

    Definisi

    Algoritma adalah urutan logis langkah-langkah

    enyelesaian masalah.

    *rogram komuter adalah realisasi teknis dari

    sebuah algoritma.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    5/24

    Belajar Bahasa Pemrograman

    +ela,ar bahasa emrograman berarti bela,ar

    memakai suatu bahasa emrograman' aturan

    tata bahasanya' instruksinya' tata cara

    engoerasian komilernya dan memanfaatkan

    istruksi tersebut untuk membuat rogram yang

    ditulis dalam bahasa tersebut.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    6/24

    Belajar Memprogram

    +ela,ar memrogram berarti bela,ar tentang

    metodologi emecahan masalah' kemudian

    menuangkan algoritma emecahan masalahdalam suatu notasi algoritma pseudo-code.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    7/24

    Struktur Teks Pseudo-codePR!RAM "ama Program

    / *en,elasan tentang algoritma' yang berisi uraian singkat

    mengenai masalah yang akan diselesaikan 0

    D#$%ARAS

    / Semua nama yang diakai' meliuti nama tie' konstanta'

    eubah' rosedur dan fungsi diumumkan di sini 0

    A%!RTMA'

    / Semua langkah1aksi algoritma dituliskan di sini 0

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    8/24

    (ontoh Masalah2in,au sebuah masalah sederhana yakni

    memertukarkan isi dari dua buah gelas. 3elas

    A berisi air koi dan gelas + berisi air susu.

    Kita ingin memertukarkan isi kedua gelas itu

    sedemikian hingga gelas A akan berisi air susu

    dan gelas + berisi air koi.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    9/24

    (ontoh Algoritma

    Misal'an seseo&ang men(lis'an lang'ah)lang'ah#e&"('a&an isi 'ed(a gelas "e&seb(" 'e dalam#&og&am Tukar_Isidengan algo&i"ma sbb:

    ALGORITMA:

    Tuangkan air dari gelas A ke dalam gelas B

    Tuangkan air dari gelas B ke dalam gelas A

    Pe&ha"i'an bah%a algo&i"ma Tukar_Isidi a"as "ida'a'an menghasil'an #e&"('a&an *ang bena&.+ang'ah)lang'ahn*a "ida' logis.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    10/24

    Perhatikan langkah pemecahan berikut:

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    11/24

    Algoritma Pemecahan MasalahC A { simpan A di tempat penampungan

    sementara C }

    A B { sekarang A dapat diisi dengan

    nilai B }

    B C { isi B dengan nilai A semula

    yang tadi disimpan di C }

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    12/24

    (ontoh Masalah(a"lah algo&i"ma (n"(' mem#e&"('a&'annilai da&i d(a -a&iabel. Algo&i"ma#e&"('a&an d(a nilai ini sama se#e&"i

    algo&i"ma mem#e&"('a&'an isi da&i d(ab(ah gelas.

    Misal'an A 8 dan 5.

    /i"a ingin mem#e&"('a&'an nilai A dan sehingga se"elah #e&"('a&an nilai A 5 dan 8.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    13/24

    Algoritma Pemecahan Masalah

    PROGRAM Tukar_ilai{ Mempertukarkan nilai A dan B! ilai A dan B di"a#a terle"i$ da$ulu }%&'LARA(I

    A) B) temp : integerALGORITMA: read *A)B+ {Ba#a nilai A dan B terle"i$ da$ulu}{Pr,ses pertukaran}temp A {simpan A di tempat sementara) temp}

    A B {sekarang A dapat diisi dengan nilai B}B temp {isi B dengan nilai A semula yang tadi

    disimpan di temp}-rite *A)B+{#etak nilai A dan B setela$ pertukaran}

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    14/24

    Translasi Algoritma ke Program

    ./Pr,gram Tukar_ilai/.

    0in#lude 1stdi,!$2main*+{ int A) B) temp3 print4*5Masukkan nilai A: 5+3 s#an4*56d5)7A+3 print4*5Masukkan nilai B: 5+3 s#an4*56d5)7B+3 ./ ALGORITMA /. temp 8 A3 A 8 B3

    B 8 temp3 print4*5ilai A setela$ pertukaran adala$: 6d9n5) A+3 print4*5ilai B setela$ pertukaran adala$: 6d5) B+3}

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    15/24

    Masalah Selanjutn)a**+uatlah algoritma untuk memertukarkan nilai

    dari dua buah eubah' A dan + tana

    menggunakan eubah bantu.

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    16/24

    Algoritma Pemecahan Masalah

    *4534AM *ertukaran67ilai

    / *rogram untuk memertukarkan nilai A dan + tana eubah

    bantu. 7ilai A dab + dibaca terlebih dahulu0

    89K:A4AS;A' + < integer

    A:354;2MA ()@dari ga,i okok dan a,ak > "@ dari ga,i okok ditambah tun,angan 0

    89K:A4AS;const ersen6tun,angan > ).(

    const ersen6a,ak > )."

    nama6karyawan < string

    ga,i6okok' tun,angan' a,ak' ga,i6bersih < real

    A:354;2MA!@3 #$ar nama?>3 4l,at ga=i_p,k,k) tun=angan) pa=ak) ga=i_"ersi$3 print4*Dama karya-an: 5+3 s#an4*56s5) nama+3 print4*DGa=i p,k,k: Rp! 5+3 s#an4*5645)7ga=i_p,k,k+3

    ./ ALGORITMA /. tun=angan 8 persen_tun=angan / ga=i_p,k,k3 pa=ak 8 persen_pa=ak / *ga=i_p,k,k tun=angan+3 ga=i_"ersi$ 8 ga=i_p,k,k tun=angan ; pa=ak3 print4*5ama karya-an adala$: 6s9n5) nama+3

    print4*5Ga=i "ersi$ adala$: Rp! 6!?45) ga=i_"ersi$+3}

  • 7/23/2019 Pertemuan 3 Pengantar Algoritma

    20/24

    (ontoh Algoritma

    *4534AM Kon&ersi6ke6Jam6Menit68etik

    / Membaca durasi waktu dalam detik. Kemudian mengkon&ersiwaktu ke dalam ,am' menit dan detik. 0

    89K:A4AS;tye Jam > record C hh' mm'dd < integer Ddurasi < Jamtotal6detik' sisa < integer

    A:354;2MA