Anda di halaman 1dari 38

Pengenalan Algoritma

Mata kuliah Pemrograman Terstruktur Pertemuan ke-1 Hendi Sopian

Apakah Algoritma itu ?


Algorism,

proses menghitung dengan bahasa Arab Algorism berasal dari nama penulis buku Arab yang terkenal yaitu Abu Jafar Muhammad ibnu Musa al-Khuwarizmi yang menulis Kitab al jabar wal-muqabala

Apakah Algoritma itu ?


Urutan

langkah-langkah logis penyelesaian masalah yang disusun secara sistematis Urutan logis pengambilan keputusan untuk pemecahan masalah Logis : hasil dari urutan langkah tersebut harus 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.
3

Proses Penyelesaian masalah dengan Algoritma


Pemecahan Masalah Implementasi

Masalah

Algoritma

Solusi

Contoh
Ibu

Tati Mengupas Kentang

Ruang Lingkup
Apakah

kentangnya harus dibeli dulu atau sudah ada di dapur ? Apakah yang dimaksud dengan mengupas kentang untuk makan malam berarti sampai kentang terhidang? Ketika kentangnya terhidang,jadi sup,digoreng atau direbus saja?

Constraint
Initial

State : Kentang sudah ada di kantong kentang, yang ditaruh di rak di dapur dimana ibu tati akan mengupasnya Final State : Kentang dalam keadaan terkupas di panci, siap untuk dimasak dan kantong kentangnya dikembalikan ke rak lagi
7

Sub-Aksi
Ambil

kantong kentang dari rak Ambil panci dari almari Kupas kentang Kembalikan kantong kentang ke rak

Ambil

kantong kentang dari rak Ambil panci dari almari Depend on warna baju
Berwarna muda Tidak berwarna muda
Kupas

kentang Kembalikan kentang ke rak


9

Ambil

kantong kentang dari rak Ambil panci dari almari Depend on baju
Berwarna muda Tidak berwarna muda
While

do

jumlah kentang terkupas belum cukup kantong kentang ke rak


10

Kupas 1 kentang
Kembalikan

While

pakaian berwarna muda do

Kupas 1 kentang berikutnya

11

5 ciri penting algoritma


Algoritma

harus berhenti setelah mengerjakan sejumlah langkah terbatas Setiap langkah harus didefinisikan dengan tepat dan tidak memiliki dua arti (ambigu) Algoritma memiliki nol atau lebih masukan (input) Algoritma memiliki nol atau lebih keluaran (output) Algoritma harus efektif
12

Program dan Bahasa Pemrograman


Program

adalah formulasi sebuah algoritma dalam bentuk bahasa pemrograman sehingga siap untuk dijalankan pada mesin komputer Bahasa pemrograman adalah bahasa buatan yang digunakan untuk mengendalikan perilaku dari sebuah mesin, biasanya berupa mesin komputer, sehingga dapat digunakan untuk memberitahu komputer tentang apa yang harus dilakukan.

13

Klasifikasi Bahasa Pemrograman


Menurut

Generasi

First Generation Language (1GL), kode mesin Second Generation Language (2GL), bahasa assembly Generasi Ketiga, C,C++,Pascal,Java Generasi Keempat, SQL,PL/SQL,ABAP Generasi Kelima, Prolog,LISP AI

Menurut

Tingkatan

Low-level programming language, 1GL & 2GL High-level programming language (HLL), 3GL Very High-level programming language (VHLL), 4GL
14

Bagaimana Algoritma dapat menjadi program?

Piranti Masukan

CPU

Piranti Keluaran

Memori
15

Belajar Memprogram Vs Belajar Bahasa Pemrograman


Belajar

memprogram adalah belajar tentang metodologi pemecahan masalah, kemudian menuangkannya dalam suatu notasi tertentu yang mudah dibaca dan dipahami. Belajar bahasa pemrograman berarti belajar memakai suatu bahasa, aturan-aturan tata bahasanya, instruksi-instruksinya, tata cara pengoperasian compiler-nya, dan memanfaatkan instruksi-instruksi tersebut untuk membuat program yang ditulis hanya dalam bahasa itu saja.
16

Belajar Memprogram
belajar

bahasa pemrograman belajar tentang strategi pemecahan masalah, metodologi dan sistematika pemecahan masalah kemudian menuliskannya dalam notasi yang disepakati bersama bersifat pemahaman persoalan, analisis dan sintesis titik berat : designer program
17

Belajar Bahasa Pemrograman


belajar

memakai suatu bahasa pemrograman, aturan sintaks, tatacara untuk memanfaatkan instruksi yang spesifik untuk setiap bahasa titik berat : coder

18

Syarat Program yang Baik


1.

2.
3. 4. 5.

benar berlaku umum untuk beragam data (valid) mudah dibaca mudah dimodifikasi dan dikembangkan efisiensi dalam penggunaan ruang dan waktu (kompleksitas rendah)

19

Flowchart dan Pseudocode

Struktur Dasar Algoritma


Runtunan

(Sequence) Pemilihan (Selection) Pengulangan(Repetition)

21

Flowchart
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
22

Flowchart
Terminator Input/Output Proses

Condisional / Decision
23

Flowchart (cont)
Preparation Arrow Connector (on page) Connector (off page) Display
24

Flowchart (cont)
Keuntungan

: lebih mudah dilihat dan dipahami Kelemahan : jika digunakan untuk menggambarkan proses atau algoritma untuk skala kasus yang besar, maka akan dibutuhkan banyak kertas
25

Kasus
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.
26

Pseudocode
Diarahkan

untuk menyerupai aturan penulisan bahasa pemrograman tertentu

27

Pseudocode
Judul

Kamus

Algoritma

28

Judul
Tidak

diawali dengan angka atau karakter lain selain alphabet Tidak terdapat karakter spasi atau karakter selain alphabet kecuali karakter underscore _ (sebagai pengganti karakter spasi) Mana yang benar ?
Algoritma Algoritma Algoritma Algoritma Algoritma berhitung; konversi suhu; hitungan_pajak; 2bilangan; *kecil;

29

Kamus
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

30

Algoritma
digunakan

untuk meletakkan semua algoritma atau kode-kode program Diawali dengan BEGIN dan diakhiri dengan END

31

Pemilihan (Selection)
If kondisi then endIf

aksi

If kondisi then else

aksi1

endIf

aksi2

32

Contoh (Pemilihan) :
If A>B then Max A endIf If B>A then Max B endIf If A>B then Max A Else Max B endIf

33

Pengulangan (Repetition)
for var awal to akhir do Endfor repeat

aksi

aksi until kondisi_stop


while kondisi_ulang do endwhile

aksi

-Alpro 2009-

34

Contoh (Pengulangan) :
For i 1 to 5 do output(Algoritma dan Pemrograman) EndFor i1 Repeat

output(Algoritma dan Pemrograman) ii+1 Until (i>5) i1 While (i<=5) do output(Algoritma dan Pemrograman) ii+1 endwhile
35

Input dan Output


Algoritma Masukkan_data Kamus data x : integer BEGIN input(x) /*x adalah variabel penampung nilai*/ END. Algoritma Masukkan_nilai Kamus data x : integer BEGIN x 5 /*panah ke kiri arah masuknya nilai*/ END.

36

Input dan Output


Algoritma Tampilan Kamus data x : integer BEGIN output(x) /*x adalah variabel yang berisi nilai*/ END.

37

Reference
Rinaldi

Munir. Algoritma dan Pemrograman Inggriani Liem.Diktat Kuliah Algoritma dan Pemrograman. ITB Diktat Kuliah Algoritma dan Pemrograman. Politeknik Telkom

38

Anda mungkin juga menyukai

  • Ika Fatmawati
    Ika Fatmawati
    Dokumen4 halaman
    Ika Fatmawati
    Ulil Absor
    Belum ada peringkat
  • Uas 2015
    Uas 2015
    Dokumen1 halaman
    Uas 2015
    Ulil Absor
    Belum ada peringkat
  • Uas 2015
    Uas 2015
    Dokumen1 halaman
    Uas 2015
    Ulil Absor
    Belum ada peringkat
  • Uas 2015
    Uas 2015
    Dokumen1 halaman
    Uas 2015
    Ulil Absor
    Belum ada peringkat
  • Jbptunikompp GDL Janautama 23430 6 Modulim G
    Jbptunikompp GDL Janautama 23430 6 Modulim G
    Dokumen47 halaman
    Jbptunikompp GDL Janautama 23430 6 Modulim G
    Raizer Yuna Putis
    Belum ada peringkat
  • Konfigurasi DNS Debian 7
    Konfigurasi DNS Debian 7
    Dokumen4 halaman
    Konfigurasi DNS Debian 7
    Ulil Absor
    Belum ada peringkat
  • Ytrhaewr
    Ytrhaewr
    Dokumen2 halaman
    Ytrhaewr
    Ulil Absor
    Belum ada peringkat
  • GFHGF
    GFHGF
    Dokumen4 halaman
    GFHGF
    Ulil Absor
    Belum ada peringkat
  • Power Point - Ulil Absor
    Power Point - Ulil Absor
    Dokumen3 halaman
    Power Point - Ulil Absor
    Ulil Absor
    Belum ada peringkat
  • Dfheae
    Dfheae
    Dokumen17 halaman
    Dfheae
    Ulil Absor
    Belum ada peringkat
  • Jadwal Pembinaan Pengembangan Pelajaran
    Jadwal Pembinaan Pengembangan Pelajaran
    Dokumen1 halaman
    Jadwal Pembinaan Pengembangan Pelajaran
    Ulil Absor
    Belum ada peringkat
  • ZHBZDHNZDBFDZBZDBFZDFBH
    ZHBZDHNZDBFDZBZDBFZDFBH
    Dokumen8 halaman
    ZHBZDHNZDBFDZBZDBFZDFBH
    Ulil Absor
    Belum ada peringkat
  • Presentation 1
    Presentation 1
    Dokumen7 halaman
    Presentation 1
    Ulil Absor
    Belum ada peringkat
  • 36 Butir
    36 Butir
    Dokumen2 halaman
    36 Butir
    Roby Novianto
    Belum ada peringkat
  • GFHFG
    GFHFG
    Dokumen1 halaman
    GFHFG
    Ulil Absor
    Belum ada peringkat
  • Kartu AS 1
    Kartu AS 1
    Dokumen2 halaman
    Kartu AS 1
    Ulil Absor
    Belum ada peringkat
  • Skjdbfkljsdvilli
    Skjdbfkljsdvilli
    Dokumen33 halaman
    Skjdbfkljsdvilli
    Ulil Absor
    Belum ada peringkat
  • Execution
    Execution
    Dokumen1 halaman
    Execution
    Ulil Absor
    Belum ada peringkat
  • ZDF
    ZDF
    Dokumen2 halaman
    ZDF
    Ulil Absor
    Belum ada peringkat
  • GHGF
    GHGF
    Dokumen2 halaman
    GHGF
    Ulil Absor
    Belum ada peringkat
  • WWWW
    WWWW
    Dokumen3 halaman
    WWWW
    Ulil Absor
    Belum ada peringkat
  • ZDHJZDFHFG
    ZDHJZDFHFG
    Dokumen7 halaman
    ZDHJZDFHFG
    Ulil Absor
    Belum ada peringkat
  • ZDFHDZ
    ZDFHDZ
    Dokumen2 halaman
    ZDFHDZ
    Ulil Absor
    Belum ada peringkat
  • ZDVHFZDJ
    ZDVHFZDJ
    Dokumen6 halaman
    ZDVHFZDJ
    Ulil Absor
    Belum ada peringkat
  • Modin Berdemo Ke Depag
    Modin Berdemo Ke Depag
    Dokumen1 halaman
    Modin Berdemo Ke Depag
    Ulil Absor
    Belum ada peringkat
  • GNFDGN
    GNFDGN
    Dokumen1 halaman
    GNFDGN
    Ulil Absor
    Belum ada peringkat
  • DFJH 5 Te
    DFJH 5 Te
    Dokumen1 halaman
    DFJH 5 Te
    Ulil Absor
    Belum ada peringkat
  • Makalah Spi
    Makalah Spi
    Dokumen15 halaman
    Makalah Spi
    Ulil Absor
    Belum ada peringkat
  • ZDFH ZDHTG
    ZDFH ZDHTG
    Dokumen1 halaman
    ZDFH ZDHTG
    Ulil Absor
    Belum ada peringkat