Algoritma dan Pemgoraman Dinamis pada

Algoritma
dan
Pemograman
Dinamis

Algoritma
• Pengertian Algoritma
• Kriteria Algoritma yang Baik
• Analisis Suatu Algoritma
• Pemograman Dinamis
• Metode Umum
• Multistage Graf

Pengertian Algoritma
Algoritma adalah suatu urutan dari beberapa
langkah yang logis guna menyelesaikan
masalah. Pada saat kita memiliki masalah,
maka kita harus dapat untuk menyelesaikan
masalah tersebut dengan menggunakan
langkah-langkah
yang

logis.

Algoritma Masak Air

Ciri dan Kriteria Algoritma yang Baik
1. Tepat, benar, sederhana,
standard an efektif
2. Logis, terstruktur dan sistematis
3. Semua operasi terdefinisi
4. Semua proses harus berakhir
setelah sejumlah langkah di
lakukan
5.Di tulis dengan bahasa yang
standar dengan format
peprograman agar mudah untuk di
implementasikan dan tidak
menimbulkan arti ganda

Kriteria Algoritma yang baik


1.Algoritma harus berhenti setelah
mengerjakan sejumlah langkah
terbatas
2. Setiap langkah harus
terdefinisikan dengan tepat dan
tidak berarti dua ( Ambiguitas )
3. Algoritma memiliki angka nol atau
lebih masukan
4.Algoritma memiiki angka nol atau
lebih keluaran’
5. Algoritma harus efektif ( setiap
langkah harus sederhana sehingga
dapat di kerjakan dalam Waktu yang
masuk akal )

Ciri penting Algoritma yang
baik

Analisa Algoritma


Analisa Algoritma digunakan untuk
melihat faktor efisiensi & efektifitas
dari algoritma tersebut), dapat
dilakukan terhadap suatu algoritma

Analisis Suatu Algoritma dengan melihat
pada
• Banyaknya langkah
• Besar dan jenis input data
• Jenis operasi
• Komputer dan kompilator
• Jumlah Memori yang di gunakan

Tahapan Analisa Algoritma
1. Bagaimana merencakan suatu
algoritma:

Menentukan beberapa model atau
desain sebagai penyelesaian dari
suatu masalah untuk mendapat

sebuah solusi yan mungkin. Dengan
demikian, akan banyak terdapat
variasi desain atau model yang dapat
diambil yang terbaik.

2. Bagaimana menyatakan suatu
algoritma
Menentukan model suatu algoritma yang
digunakan sehingga dapat membuat barisan
langkah secara berurutan guna mendapatkan
solusi penyelesaian masalah. Menentukan
model tersebut agar dapat digunakan dengan
cara:
- Dengan Bahasa semu(Pseudocode):
yaitu dengan menggunakan bahasa seharihari, tetapi harus jelas dan terstruktur, seperti
telah penulis sebutkan pada contoh-contoh

Contoh:
1. Untuk mengitung
Luas Segitiga:


2. Masukan Nilai Alas
3. Masukan Nilai Tinggi
4. Hitung Luas = (Alas *
Tinggi)/2
5. Cetak Luas
-

Dengan diagram
alur atau
flowchart:

-

yaitu dengan
membuat suatu
penulisan atau
penyajian   algoritma
berupa diagram yang
menggambarkan

susunan alur logika
dari suatu

-Dengan Statement
Program/Penggalan Program

Contoh:
1. Read Alas
2. Read Tinggi
3. Luas=(Alas*Tinggi)/2
4. Write(luas)

3. Bagaimana validitas suatu
algoritma
Yakni jika penyelesaian memenuhi solusi
yang sebenarnya, artinya solusi yang
didapat merupakan penyelesaian suatu
masalah dan bukannya membuat masalah
baru.


4. Bagaimana menganalisa suatu
algoritma
Caranya melihat running time atau waktu
tempuh yang digunakan dalam
menyelesaikan masalah serta jumlah
memori yang digunakan dalam
penyelesaian masalah tersebut.

5. Bagaimana menguji program
dari suatu algoritma
Yaitu dengan cara menyajikannya dalam
salah satu bahasa pemrogramana,
misalnya BASIC, PASCAL, FORTRAN, dBase,
atau yang lainnya. Dalam proses, uji
program oleh komputer akan melalui
beberapa tahap yaitu:
1. Fase Debugging, yaitu fase melakukan
koreksi terhadap kesalahan program
2. Fase Profilling, yaitu fase untuk melihat dan


Pemograman Dinamis
• Pengertian Pemograman dinamis
• Metode Umum
• Multistage Graf

Pemograman Dinamis
Program Dinamis (dynamic
programming): metode pemecahan
masalah dengan cara menguraikan solusi
menjadi sekumpulan langkah (step) atau
tahapan (stage) sedemikian sehingga
solusi dari persoalan dapat dipandang dari
serangkaian keputusan yang saling
berkaitan.

Metode Pemograman Dinamis
1. terdapat sejumlah berhingga pilihan
yang mungkin,
2. solusi pada setiap tahap dibangun dari
hasil solusi tahap sebelumnya,

3. kita menggunakan persyaratan optimasi
dan kendala untuk membatasi sejumlah
pilihan yang harus dipertimbangkan
pada suatu tahap.

Tinjau graf di bawah ini. Kita ingin menemukan
lintasan terpendek dari 1 ke 10.

Prinsip Optimalitas
• Pada program dinamis, rangkaian keputusan yang optimal
dibuat dengan menggunakan Prinsip Optimalitas.

• Prinsip Optimalitas: jika solusi total optimal, maka bagian
solusi sampai tahap ke-k juga optimal.

• Prinsip optimalitas berarti bahwa jika kita bekerja
dari tahap k ke tahap k + 1, kita dapat
menggunakan hasil optimal dari tahap k tanpa
harus kembali ke tahap awal.


• ongkos pada tahap k +1 =
(ongkos yang dihasilkan pada tahap k ) +
(ongkos dari tahap k ke tahap k + 1)

• Dengan prinsip optimalitas ini dijamin bahwa
pengambilan keputusan pada suatu tahap adalah
keputusan yang benar untuk tahap-tahap
selanjutnya.
• Pada metode greedy hanya satu rangkaian
keputusan yang pernah dihasilkan, sedangkan
pada metode program dinamis lebih dari satu
rangkaian keputusan. Hanya rangkaian keputusan
yang memenuhi prinsip optimalitas yang akan
dihasilkan.

Karakteristik Persoalan
Program Dinamis
1. Persoalan dapat dibagi menjadi beberapa tahap
(stage), yang pada setiap tahap hanya diambil
satu keputusan.


2. Masing-masing tahap terdiri dari sejumlah status
(state) yang berhubungan dengan tahap
tersebut. Secara umum, status merupakan
bermacam kemungkinan masukan yang ada
pada tahap tersebut.

Graf multitahap (multistage graph). Tiap simpul di dalam graf
tersebut menyatakan status, sedangkan V1, V2, … menyatakan tahap.

3. Hasil dari keputusan yang diambil pada setiap
tahap ditransformasikan dari status yang
bersangkutan ke status berikutnya pada tahap
berikutnya.

4. Ongkos (cost) pada suatu tahap meningkat
secara teratur (steadily) dengan bertambahnya
jumlah tahapan.

5. Ongkos pada suatu tahap bergantung pada
ongkos tahap-tahap yang sudah berjalan dan
ongkos pada tahap tersebut.

6. Keputusan terbaik pada suatu tahap bersifat
independen terhadap keputusan yang
dilakukan pada tahap sebelumnya.

7. Adanya hubungan rekursif yang
mengidentifikasikan keputusan terbaik untuk
setiap status pada tahap k memberikan
keputusan terbaik untuk setiap status pada
tahap k + 1.

8. Prinsip optimalitas berlaku pada persoalan
tersebut.

Dua pendekatan PD
• Dua pendekatan yang digunakan dalam PD: maju (forward
atau up-down) dan mundur (backward atau bottom-up).



Misalkan x1, x2, …, xn menyatakan peubah
(variable) keputusan yang harus dibuat masingmasing untuk tahap 1, 2, …, n. Maka,

1.

Program dinamis maju. Program dinamis
bergerak mulai dari tahap 1, terus maju ke
tahap 2, 3, dan seterusnya sampai tahap n.
Runtunan peubah keputusan adalah x1, x2, …,
xn .

2.

Program dinamis mundur. Program dinamis bergerak
mulai dari tahap n, terus mundur ke tahap n – 1, n – 2,
dan seterusnya sampai tahap 1. Runtunan peubah
keputusan adalah xn, xn-1, …, x1.

Langkah-langkah Pengembangan Algoritma
Program Dinamis
1.

Karakteristikkan struktur solusi optimal.

2.

Definisikan secara rekursif nilai solusi optimal.

3.

Hitung nilai solusi optimal secara maju atau mundur.

4.

Konstruksi solusi optimal.

Lintasan Terpendek
(Shortest Path)
• Tentukan lintasan terpendek dari simpul 1
ke simpul 10:

Penyelesaian dengan Program Dinamis
Mundur
• Misalkan x1, x2, …, x4 adalah simpul-simpul yang
dikunjungi pada tahap k (k = 1, 2, 3, 4).

• Maka rute yang dilalui adalah
yang dalam hal ini x4 = 10.

1x1x2x3x4 ,

Pada persoalan ini,
• Tahap (k) adalah proses memilih simpul tujuan berikutnya
(ada 4 tahap).

• Status (s) yang berhubungan dengan masing-masing tahap
adalah simpul-simpul di dalam graf.

•TERIMAKASIH

Dokumen yang terkait

Keanekaragaman Makrofauna Tanah Daerah Pertanian Apel Semi Organik dan Pertanian Apel Non Organik Kecamatan Bumiaji Kota Batu sebagai Bahan Ajar Biologi SMA

26 317 36

FREKUENSI KEMUNCULAN TOKOH KARAKTER ANTAGONIS DAN PROTAGONIS PADA SINETRON (Analisis Isi Pada Sinetron Munajah Cinta di RCTI dan Sinetron Cinta Fitri di SCTV)

27 310 2

FREKWENSI PESAN PEMELIHARAAN KESEHATAN DALAM IKLAN LAYANAN MASYARAKAT Analisis Isi pada Empat Versi ILM Televisi Tanggap Flu Burung Milik Komnas FBPI

10 189 3

SENSUALITAS DALAM FILM HOROR DI INDONESIA(Analisis Isi pada Film Tali Pocong Perawan karya Arie Azis)

33 290 2

Analisis Sistem Pengendalian Mutu dan Perencanaan Penugasan Audit pada Kantor Akuntan Publik. (Suatu Studi Kasus pada Kantor Akuntan Publik Jamaludin, Aria, Sukimto dan Rekan)

136 695 18

DOMESTIFIKASI PEREMPUAN DALAM IKLAN Studi Semiotika pada Iklan "Mama Suka", "Mama Lemon", dan "BuKrim"

133 700 21

Representasi Nasionalisme Melalui Karya Fotografi (Analisis Semiotik pada Buku "Ketika Indonesia Dipertanyakan")

53 338 50

KONSTRUKSI MEDIA TENTANG KETERLIBATAN POLITISI PARTAI DEMOKRAT ANAS URBANINGRUM PADA KASUS KORUPSI PROYEK PEMBANGUNAN KOMPLEK OLAHRAGA DI BUKIT HAMBALANG (Analisis Wacana Koran Harian Pagi Surya edisi 9-12, 16, 18 dan 23 Februari 2013 )

64 565 20

PENERAPAN MEDIA LITERASI DI KALANGAN JURNALIS KAMPUS (Studi pada Jurnalis Unit Aktivitas Pers Kampus Mahasiswa (UKPM) Kavling 10, Koran Bestari, dan Unit Kegitan Pers Mahasiswa (UKPM) Civitas)

105 442 24

KEABSAHAN STATUS PERNIKAHAN SUAMI ATAU ISTRI YANG MURTAD (Studi Komparatif Ulama Klasik dan Kontemporer)

5 102 24