pert 1 pengenalan algoritma

39
Pengenalan Pengenalan Algoritma dan Algoritma dan Pemrograman Pemrograman Mata kuliah Algoritma dan Mata kuliah Algoritma dan Pemrograman Pemrograman Pertemuan ke-1 Pertemuan ke-1 Yan Puspitarani,ST Yan Puspitarani,ST

Upload: powbow

Post on 29-Dec-2015

66 views

Category:

Documents


3 download

DESCRIPTION

Algoritma

TRANSCRIPT

Pengenalan Algoritma Pengenalan Algoritma dan Pemrogramandan Pemrograman

Mata kuliah Algoritma dan Mata kuliah Algoritma dan PemrogramanPemrograman

Pertemuan ke-1Pertemuan ke-1

Yan Puspitarani,STYan Puspitarani,ST

-Alpro 2009- 2

Apakah Algoritma itu ?Apakah Algoritma itu ?

►Algorism, proses menghitung dengan Algorism, proses menghitung dengan bahasa Arabbahasa Arab

►Algorism berasal dari nama penulis Algorism berasal dari nama penulis buku Arab yang terkenal yaitu Abu buku Arab yang terkenal yaitu Abu Ja’far Muhammad ibnu Musa al-Ja’far Muhammad ibnu Musa al-Khuwarizmi yang menulih Kitab al Khuwarizmi yang menulih Kitab al jabar wal-muqabalajabar wal-muqabala

-Alpro 2009- 3

Apakah Algoritma itu ?Apakah Algoritma itu ?

► Urutan langkah-langkah Urutan langkah-langkah logislogis penyelesaian penyelesaian masalah yang disusun secara sistematismasalah yang disusun secara sistematis

► Urutan Urutan logislogis pengambilan keputusan untuk pengambilan keputusan untuk pemecahan masalahpemecahan masalah

► Logis Logis : hasil dari urutan langkah tersebut : hasil dari urutan langkah tersebut harus dapat ditentukan benar atau salahharus dapat ditentukan benar atau salah

►Dalam bidang pemrograman, Algoritma didefinisikan sebagai suatu metode

khusus yang tepat dan terdiri dari serangkaian langkah yang terstruktur dan dituliskan secara sistematis yang akan dikerjakan untuk menyelesaikan suatu masalah dengan bantuan komputer.

-Alpro 2009- 4

Proses Penyelesaian masalah Proses Penyelesaian masalah dengan Algoritmadengan Algoritma

Masalah Algoritma Solusi

Pemecahan Masalah

Implementasi

-Alpro 2009- 5

ContohContoh

► Ibu Tati Mengupas KentangIbu Tati Mengupas Kentang

-Alpro 2009- 6

Ruang LingkupRuang Lingkup

►Apakah kentangnya harus dibeli dulu Apakah kentangnya harus dibeli dulu atau sudah ada di dapur ?atau sudah ada di dapur ?

►Apakah yang dimaksud dengan Apakah yang dimaksud dengan mengupas kentang untuk makan mengupas kentang untuk makan malam berarti sampai kentang malam berarti sampai kentang terhidang?terhidang?

►Ketika kentangnya terhidang,jadi Ketika kentangnya terhidang,jadi sup,digoreng atau direbus saja?sup,digoreng atau direbus saja?

-Alpro 2009- 7

ConstraintConstraint

► Initial State :Initial State :

Kentang sudah ada di kantong kentang, Kentang sudah ada di kantong kentang, yang ditaruh di rak di dapur dimana ibu yang ditaruh di rak di dapur dimana ibu tati akan mengupasnyatati akan mengupasnya

►Final State :Final State :

Kentang dalam keadaan terkupas di Kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong panci, siap untuk dimasak dan kantong kentangnya dikembalikan ke rak lagikentangnya dikembalikan ke rak lagi

-Alpro 2009- 8

Sub-AksiSub-Aksi

►Ambil kantong kentang dari rakAmbil kantong kentang dari rak►Ambil panci dari almariAmbil panci dari almari►Kupas kentangKupas kentang►Kembalikan kantong kentang ke rakKembalikan kantong kentang ke rak

-Alpro 2009- 9

►Ambil kantong kentang dari rakAmbil kantong kentang dari rak►Ambil panci dari almariAmbil panci dari almari►Depend onDepend on warna baju warna baju

Berwarna muda : pakai celemekBerwarna muda : pakai celemek Tidak berwarna muda : -Tidak berwarna muda : -

►Kupas kentangKupas kentang►Kembalikan kentang ke rakKembalikan kentang ke rak

-Alpro 2009- 10

►Ambil kantong kentang dari rakAmbil kantong kentang dari rak►Ambil panci dari almariAmbil panci dari almari►Depend onDepend on baju baju

Berwarna muda : pakai celemekBerwarna muda : pakai celemek Tidak berwarna muda : -Tidak berwarna muda : -

►WhileWhile jumlah kentang terkupas belum jumlah kentang terkupas belum cukup cukup dodo Kupas 1 kentangKupas 1 kentang

►Kembalikan kantong kentang ke rakKembalikan kantong kentang ke rak

-Alpro 2009- 11

►WhileWhile pakaian berwarna muda pakaian berwarna muda dodo Kupas 1 kentang berikutnyaKupas 1 kentang berikutnya

-Alpro 2009- 12

Kasus lainKasus lain

A B A B

Bagaimana Algoritmanya ??

-Alpro 2009- 13

5 ciri penting algoritma5 ciri penting algoritma

►Algoritma harus berhenti setelah Algoritma harus berhenti setelah mengerjakan sejumlah langkah terbatasmengerjakan sejumlah langkah terbatas

►Setiap langkah harus didefinisikan Setiap langkah harus didefinisikan dengan tepat dan tidak memiliki dua arti dengan tepat dan tidak memiliki dua arti (ambigu)(ambigu)

►Algoritma memiliki nol atau lebih Algoritma memiliki nol atau lebih masukan (input)masukan (input)

►Algoritma memiliki nol atau lebih Algoritma memiliki nol atau lebih keluaran (output)keluaran (output)

►Algoritma harus efektifAlgoritma harus efektif

-Alpro 2009- 14

Program dan Program dan Bahasa PemrogramanBahasa Pemrograman

► Program Program adalah formulasi sebuah algoritma adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman sehingga dalam bentuk bahasa pemrograman sehingga siap untuk dijalankan pada mesin komputersiap untuk dijalankan pada mesin komputer

► Bahasa pemrogramanBahasa pemrograman adalah bahasa adalah bahasa buatan yang digunakan untuk mengendalikan buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin, biasanya berupa perilaku dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan mesin komputer, sehingga dapat digunakan untuk memberitahu komputer tentang apa untuk memberitahu komputer tentang apa yang harus dilakukan.yang harus dilakukan.

-Alpro 2009- 15

Klasifikasi Bahasa Klasifikasi Bahasa PemrogramanPemrograman

►Menurut GenerasiMenurut Generasi First Generation Language (1GL), kode mesinFirst Generation Language (1GL), kode mesin Second Generation Language (2GL), bahasa Second Generation Language (2GL), bahasa

assemblyassembly Generasi Ketiga, C,C++,Pascal,JavaGenerasi Ketiga, C,C++,Pascal,Java Generasi Keempat, SQL,PL/SQL,ABAPGenerasi Keempat, SQL,PL/SQL,ABAP Generasi Kelima, Prolog,LISP Generasi Kelima, Prolog,LISP AI AI

►Menurut TingkatanMenurut Tingkatan Low-level programming language, 1GL & 2GLLow-level programming language, 1GL & 2GL High-level programming language (HLL), 3GLHigh-level programming language (HLL), 3GL Very High-level programming language (VHLL), Very High-level programming language (VHLL),

4GL4GL

-Alpro 2009- 16

Bagaimana Algoritma dapat Bagaimana Algoritma dapat menjadi program?menjadi program?

PirantiMasukan

CPU

Memori

PirantiKeluaran

-Alpro 2009- 17

Belajar Memrogram Vs Belajar Belajar Memrogram Vs Belajar Bahasa PemrogramanBahasa Pemrograman

► Belajar memprogramBelajar memprogram adalah belajar tentang adalah belajar tentang metodologi pemecahan masalah, kemudian metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. yang mudah dibaca dan dipahami.

► Belajar bahasa pemrogramanBelajar bahasa pemrograman berarti belajar berarti belajar memakai suatu bahasa, aturan-aturan tata memakai suatu bahasa, aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara bahasanya, instruksi-instruksinya, tata cara pengoperasian pengoperasian compiler-compiler-nya, dan nya, dan memanfaatkan instruksi-instruksi tersebut untuk memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam membuat program yang ditulis hanya dalam bahasa itu saja.bahasa itu saja.

-Alpro 2009- 18

Belajar MemprogramBelajar Memprogram

►belajar bahasa pemrogramanbelajar bahasa pemrograman►belajar tentang strategi pemecahan belajar tentang strategi pemecahan

masalah, metodologi dan sistematika masalah, metodologi dan sistematika pemecahan masalah kemudian pemecahan masalah kemudian menuliskannya dalam notasi yang menuliskannya dalam notasi yang disepakati bersamadisepakati bersama

►bersifat pemahaman persoalan, bersifat pemahaman persoalan, analisis dan sintesisanalisis dan sintesis

►titik berat : designer programtitik berat : designer program

-Alpro 2009- 19

Belajar Bahasa PemrogramanBelajar Bahasa Pemrograman

►belajar memakai suatu bahasa belajar memakai suatu bahasa pemrograman, aturan sintaks, pemrograman, aturan sintaks, tatacara untuk memanfaatkan tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap instruksi yang spesifik untuk setiap bahasabahasa

►titik berat : codertitik berat : coder

-Alpro 2009- 20

Syarat Program yang BaikSyarat Program yang Baik

1.1. benarbenar

2.2. berlaku umum untuk beragam data berlaku umum untuk beragam data (valid)(valid)

3.3. mudah dibaca mudah dibaca

4.4. mudah dimodifikasi dan mudah dimodifikasi dan dikembangkandikembangkan

5.5. efisiensi dalam penggunaan ruang efisiensi dalam penggunaan ruang dan waktu (kompleksitas rendah)dan waktu (kompleksitas rendah)

Flowchart dan Flowchart dan PseudocodePseudocode

-Alpro 2009- 22

Struktur Dasar AlgoritmaStruktur Dasar Algoritma

►Runtunan (Sequence)Runtunan (Sequence)►Pemilihan (Selection)Pemilihan (Selection)►Pengulangan(Repetition)Pengulangan(Repetition)

-Alpro 2009- 23

FlowchartFlowchart

►bagan yang menggambarkan urutan instruksi untuk proses dengan komputer dan hubungan antara suatu proses dengan proses lainnya dengan menggunakan simbol

►tidak digunakan untuk menggambarkan urutan langkah untuk memecahkan masalah, tetapi hanya untuk menggambarkan prosedur dalam sistem yang dibentuk

-Alpro 2009- 24

FlowchartFlowchart

TerminatorTerminator

Input/OutputInput/Output

ProsesProses

Condisional / DecisionCondisional / Decision

-Alpro 2009- 25

Flowchart (cont’)Flowchart (cont’)

PreparationPreparation

ArrowArrow

Connector (on page)Connector (on page)

Connector (off page)Connector (off page)

DisplayDisplay

-Alpro 2009- 26

Flowchart (cont’)Flowchart (cont’)

►Keuntungan :Keuntungan :

lebih mudah dilihat dan dipahamilebih mudah dilihat dan dipahami►Kelemahan :Kelemahan :

jika digunakan untuk menggambarkan jika digunakan untuk menggambarkan proses atau algoritma untuk skala proses atau algoritma untuk skala kasus yang besar, maka akan kasus yang besar, maka akan dibutuhkan banyak kertasdibutuhkan banyak kertas

-Alpro 2009- 27

KasusKasus

►Pemimpin sebuah perusahaan otomotif perlu menentukan besarnya bonus yang akan diberikan kepada para pegawainya yang bekerja sebagai account executive. Jika terdapat pegawai yang dalam bulan ini telah menjual mobil lebih dari dua unit, maka akan mendapatkan bonus sebesar Rp 1.000.000,- kemudian pegawai yang bisa menjual mobil tepat dua buah maka, akan mendapatkan bonus Rp 500.000,- namun jika pegawai yang dalam bulan ini penjualannya kurang dari dua unit maka, pegawai tersebut tidak mendapatkan bonus.

-Alpro 2009- 28

PseudocodePseudocode

►Diarahkan untuk menyerupai aturan Diarahkan untuk menyerupai aturan penulisan bahasa pemrograman penulisan bahasa pemrograman tertentutertentu

-Alpro 2009- 29

PseudocodePseudocode

Judul

Kamus

Algoritma

-Alpro 2009- 30

JudulJudul

►Tidak diawali dengan angka atau karakter Tidak diawali dengan angka atau karakter lain selain alphabetlain selain alphabet

►Tidak terdapat karakter spasi atau karakter selain alphabet kecuali karakter underscore ‘_’ (sebagai pengganti karakter spasi)

►Mana yang benar ? Algoritma berhitung; Algoritma konversi suhu; Algoritma hitungan_pajak; Algoritma 2bilangan; Algoritma *kecil;

-Alpro 2009- 31

KamusKamus

►digunakan sebagai tempat untuk mencantumkan variabel, konstanta, dan record

►Hal-hal yang dideklarasikan pada bagian ini digunakan sebagai ‘reservasi’ alokasi memory untuk penyimpanan data dan akan digunakan selama program bekerja

-Alpro 2009- 32

AlgoritmaAlgoritma

►digunakan untuk meletakkan semua algoritma atau kode-kode program

►Diawali dengan ‘BEGIN’ dan diakhiri dengan ‘END’

-Alpro 2009- 33

Pemilihan (Pemilihan (SelectionSelection))

IfIf kondisikondisi thenthen aksi aksi endIfendIf

IfIf kondisikondisi thenthen aksi1aksi1elseelse aksi2aksi2endIfendIf

-Alpro 2009- 34

Contoh (Pemilihan) :Contoh (Pemilihan) :

IfIf A>B A>B thenthen Max Max A A endIfendIf

IfIf B>A B>A thenthen Max Max B B endIfendIf

IfIf A>B A>B thenthen Max Max AAElseElse Max Max BBendIfendIf

-Alpro 2009- 35

Pengulangan (Pengulangan (Repetition)Repetition)

forfor var var awalawal toto akhirakhir dodoaksiaksi

EndforEndfor

repeatrepeataksiaksi

untiluntil kondisi_stopkondisi_stop

whilewhile kondisi_ulangkondisi_ulang dodoaksiaksi

endwhileendwhile

-Alpro 2009- 36

Contoh (Pengulangan) :Contoh (Pengulangan) :ForFor i i 1 1 toto 5 5 dodo

outputoutput(“Algoritma dan Pemrograman”)(“Algoritma dan Pemrograman”)EndForEndFor

ii11RepeatRepeat

outputoutput(“Algoritma dan Pemrograman”)(“Algoritma dan Pemrograman”) iii+1i+1UntilUntil (i>5) (i>5)

ii11WhileWhile (i<=5) (i<=5) dodo

outputoutput(“Algoritma dan Pemrograman”)(“Algoritma dan Pemrograman”) iii+1i+1endwhileendwhile

-Alpro 2009- 37

Input dan OutputInput dan OutputAlgoritma Masukkan_dataKamus data x : integerBEGIN input(x) /*x adalah variabel penampung nilai*/END.

Algoritma Masukkan_nilaiKamus data x : integerBEGIN x 5 /*panah ke kiri arah masuknya nilai*/END.

-Alpro 2009- 38

Input dan OutputInput dan Output

Algoritma TampilanKamus data x : integerBEGIN output(x) /*x adalah variabel yang berisi nilai*/END.

-Alpro 2009- 39

ReferenceReference

►Rinaldi Munir. “Algoritma dan Rinaldi Munir. “Algoritma dan Pemrograman”Pemrograman”

► Inggriani Liem.”Diktat Kuliah Algoritma Inggriani Liem.”Diktat Kuliah Algoritma dan Pemrograman”. ITBdan Pemrograman”. ITB

►““Diktat Kuliah Algoritma dan Diktat Kuliah Algoritma dan Pemrograman”. Politeknik TelkomPemrograman”. Politeknik Telkom