• Tidak ada hasil yang ditemukan

Algoritma dan Pemgoraman Dinamis pada

N/A
N/A
Protected

Academic year: 2018

Membagikan "Algoritma dan Pemgoraman Dinamis pada"

Copied!
38
0
0

Teks penuh

(1)

Algoritma

dan

(2)

Algoritma

Pengertian Algoritma

Kriteria Algoritma yang Baik

Analisis Suatu Algoritma

Pemograman Dinamis

Metode Umum

(3)

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

(4)
(5)

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

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 )

(6)

Analisa Algoritma

Analisa Algoritma digunakan untuk

melihat faktor efisiensi & efektifitas

dari algoritma tersebut), dapat

(7)

Analisis Suatu Algoritma dengan melihat

pada

Banyaknya langkah

Besar dan jenis input data

Jenis operasi

Komputer dan kompilator

(8)

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

(9)

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

sehari-hari, tetapi harus jelas dan terstruktur, seperti

telah penulis sebutkan pada contoh-contoh

(10)

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

permasalahan

-Dengan Statement

Program/Penggalan Program

Contoh:

1. Read Alas 2. Read Tinggi

(11)

3.

Bagaimana validitas suatu

algoritma

Yakni jika penyelesaian memenuhi solusi

yang sebenarnya, artinya solusi yang

didapat merupakan penyelesaian suatu

(12)

4.

Bagaimana menganalisa suatu

algoritma

Caranya melihat running time atau waktu

tempuh yang digunakan dalam

menyelesaikan masalah serta jumlah

memori yang digunakan dalam

(13)

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

(14)

Pemograman Dinamis

Pengertian Pemograman dinamis

Metode Umum

(15)

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

(16)

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

(17)
(18)

Prinsip Optimalitas

Pada program dinamis, rangkaian keputusan yang optimal

dibuat dengan menggunakan Prinsip Optimalitas.

Prinsip Optimalitas: jika solusi total optimal, maka bagian

(19)

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 =

(20)

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

(21)

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

(22)

Graf multitahap (multistage graph). Tiap simpul di dalam graf

(23)

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.

(24)

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.

(25)

Dua pendekatan PD

Dua pendekatan yang digunakan dalam PD: maju (forward

(26)

• Misalkan x1, x2, …, xn menyatakan peubah

(variable) keputusan yang harus dibuat masing-masing 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, …,

(27)

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

(28)

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.

(29)

Lintasan Terpendek

(

Shortest Path

)

Tentukan lintasan terpendek dari simpul 1

(30)

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 1x1x2x3x4 ,

(31)

Pada persoalan ini,

Tahap (k) adalah proses memilih simpul tujuan berikutnya

(ada 4 tahap).

Status (s) yang berhubungan dengan masing-masing tahap

(32)
(33)
(34)
(35)
(36)
(37)
(38)

Referensi

Dokumen terkait

Dalam pembelajaran matematika pengembangan komunikasi matematik dan aspek afektif sebagai bagian dari hasil belajar matematik berlangsung secara bersamaan, dan secara

BAGI MAHASISWA YANG ADA DI KELAS DIBAWAH INI AGAR SEGERA PINDAH KE KELAS LAIN YANG TERSEDIA... HENDRI

Manfaat penelitian ini adalah untuk menggali potensi belut di Indonesia, bahwa belut tidak hanya dapat dijadikan lauk-pauk ataupun kerupuk saja tetapi dengan

Arab MTs Swasta MANBAUL ULUM Kemlagi Kab.. Arab MI SWASTA AL -

Penerapan sistem pengelolaan kehadiran berbasis sidik jari (Finger Print Time Attendance) yang telah dilakukan di lokasi mitra pengabdian dapat menyelesaikan

Penerapan hukum terhadap harta dalam perjanjian perkawinan adalah berlaku saat perkawinan dilangsungkan yang bertujuan untuk melakukan proteksi terhadap harta

Petani yang memiliki umur yang semakin tua (>50 tahun) biasanya semakin lamban mengadopsi ilmu baru atau inovasi baru yang dijelaskan oleh penyuluh dan cenderung hanya

Karena proses pendataan yang dipakai di PT.Kharisma Prima Abadi sela ma ini masih menggunakan proses manual dan menggunakan Microsoft Office Excel, maka penulis ingin membuat