PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf ·...

50
PENGANTAR STRATEGI DAN ANALISA ALGORITMA wijanarto

Transcript of PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf ·...

Page 1: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

PENGANTAR STRATEGI DANANALISA ALGORITMA

PENGANTAR STRATEGI DANANALISA ALGORITMA

wijanarto

Page 2: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

AlgorithmAlgorithm: himpunan instruksiyang menggambarkan bagaimana

melakukan pekerjaan atau proses .

eureka!

ProgrammingProgramming:: C,pascalC,pascalProgrammingProgramming:: C,pascalC,pascal

Page 3: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Algorithm – DefinisiFrom: Websters Revised Unabridged Dictionary, 1913:

Algorism (Al"go*rism Al"go*rithm)• n. [OE. algorism, algrim, augrim, OF. algorisme, F.

algorithme (cf. Sp. algoritmo, OSp. alguarismo, LL.algorismus)

• Al-Khowarezmi aslinya Abu Ja'far Mohammed ben Musa,ahli arithmetic awal abad 9, bukunya dalam bhs latinalgorismus.

3

From: Websters Revised Unabridged Dictionary, 1913:

Algorism (Al"go*rism Al"go*rithm)• n. [OE. algorism, algrim, augrim, OF. algorisme, F.

algorithme (cf. Sp. algoritmo, OSp. alguarismo, LL.algorismus)

• Al-Khowarezmi aslinya Abu Ja'far Mohammed ben Musa,ahli arithmetic awal abad 9, bukunya dalam bhs latinalgorismus.

Page 4: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

• Urutan instruksi untuk menentukanlangkah yang di perlukan dalammenyelesaikan suatu tugas.

• Muhammad ibn Musa al-KhwarizmiBerasal dari Khowarezm (sekarang Khiva di

Uzbekistan)

Algorithm

4

• Urutan instruksi untuk menentukanlangkah yang di perlukan dalammenyelesaikan suatu tugas.

• Muhammad ibn Musa al-KhwarizmiBerasal dari Khowarezm (sekarang Khiva di

Uzbekistan)

Page 5: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

5Source: http://www.atlapedia.com/online/maps/political/Kazakh_etc.htm

Page 6: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Algorithm– Sejarah

Muhammad ibn Musa Al-Khwarizmi• Circa 160-230 A.H. (anno Hegirae)• Circa 780-850 C.E. (Common Era)

6

Page 7: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Algorithm –Sejarah (lanj)

Muhammad ibn Musa Al-Khwarizmihttp://www-groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Al-Khwarizmi.html

• Buku arithmetic:– Hindu numeration, decimal numbers, use of zero,

method for finding square root– Latin translation (c.1120 CE): “Algoritmi de numero

Indorum”• Buku aljabar

– Hisab al-jabr w’al-muqabala

7

Muhammad ibn Musa Al-Khwarizmihttp://www-groups.dcs.st-andrews.ac.uk/~history/Mathematicians/Al-Khwarizmi.html

• Buku arithmetic:– Hindu numeration, decimal numbers, use of zero,

method for finding square root– Latin translation (c.1120 CE): “Algoritmi de numero

Indorum”• Buku aljabar

– Hisab al-jabr w’al-muqabala

Page 8: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

• Urutan langkah yang menggambarkanbagaimana melakukan suatu pekerjaan

Algorithm – Working Definition

8

Page 9: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Algorithm -- Contoh

• Resep masakan• Instruksi Assembly• Aturan main game• Instruksi VCR• Deskripsi teknik bela diri• Arahan dari A to B• Pola jahitan• Manual perbaikan mobil

9

• Resep masakan• Instruksi Assembly• Aturan main game• Instruksi VCR• Deskripsi teknik bela diri• Arahan dari A to B• Pola jahitan• Manual perbaikan mobil

Page 10: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Dari Algorithm ke ProgramProblem AlgorithmAlgorithm: Urutan langkah ttg bagaimana

mengerjakan suatu tugas atau process

10

C/C/pascalpascal ProgramProgram

Page 11: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Bgmn kita memecahkan masalah?• Langsung kerjakan

• Tebak dan untung-untungan• Trial error• Pengalaman• "Scientifically“ = dg cara ilmiah

11

• Langsung kerjakan• Tebak dan untung-untungan• Trial error• Pengalaman• "Scientifically“ = dg cara ilmiah

Page 12: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Patient has elevatedpressure in anteriorparietal lobe

Process memecahkan masalah

Problemspecification

Design

"Doctor, my head hurts"

Analysis

1. Sterilize cranial saw2. Anaesthetize patient3. Remove top of skull4. Get the big spoon...5. etc., etc.

12

0100111010110010101010101001010101010100110010101010101001011010011101010101010010010111010011110101010111110101010001101…

sterilize(saw,alcohol);raise_hammer();lower hammer(fast);start(saw);/* etc. etc. */

Algorithm

Program

Executable(solution)

Implementation

Compilation

1. Sterilize cranial saw2. Anaesthetize patient3. Remove top of skull4. Get the big spoon...5. etc., etc.

Page 13: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Process memecahkan masalah

Problemspecification

Analysis

Design

"Dok, kepala saya sakit”

Pasien ada penyumbatanpd anterior parietallobe.

1. Steril gergaji2. bius3. Potong batok kepala4. Ambil spoon...5. etc., etc.

13

steril(gergaji,alcohol);raise_hammer();lower hammer(fast);start(saw);/* etc. etc. */

Algorithm

Program

Executable(solution)

Implementation

Compilation

1. Steril gergaji2. bius3. Potong batok kepala4. Ambil spoon...5. etc., etc.

010011101011001010101010100101010101010011001010101010100101101001110101010101001001011101001111010101011111010101000110100001101...

Page 14: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Process memecahkan masalah

Problemspecification

Analysis

Design

Kita Berada Disini

14

Algorithm

Program

Executable(solution)

Implementation

Compilation

Page 15: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Tahapan Penyelesaian MasalahVersi lain

• Komputer diciptakan untuk membantumenyelesaikan masalah manusia. Masalahyang dimaksud tentunya masalah yang dapatdiselesaikan dengan menggunakan computer (computerize problems ). Adapun secaraumum, langkah-langkah penyelesaian masalahdengan komputer adalah sebagai berikut

• Komputer diciptakan untuk membantumenyelesaikan masalah manusia. Masalahyang dimaksud tentunya masalah yang dapatdiselesaikan dengan menggunakan computer (computerize problems ). Adapun secaraumum, langkah-langkah penyelesaian masalahdengan komputer adalah sebagai berikut

Page 16: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Diagram PS

ANALISIS MASALAH

PERANCANGANALGORITMA

MASALAH

MENURUNKAN / TO DEVIC

MENYATAKAN /TO EXPRESS

MENVALIDASI / TO VALIDATEMENGANALISIS / TOANALYZE

PEMBUATAN PROGRAMKOMPUTER

UJI HASIL PROGRAM

DAN DOKUMENTASI

PENYELESAIAN/

SOLUSI MASALAH

MENURUNKAN / TO DEVIC

MENYATAKAN /TO EXPRESS

MENVALIDASI / TO VALIDATEMENGANALISIS / TOANALYZE

Page 17: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Tahapan Pemecahan Masalah• Analisis Masalah (40%)

– Analisis masalah adalah kegiatan mempelajari, mendalami masalah hinggamendapatkan ide-ide penyelesaian masalah (ide global).

• Perancangan Algoritma (30%)– Perancangan algoritma adalah pembuatan algoritma dimulai dari ide-ide

penyelesaian masalah hingga terciptanya algoritma dalam bentuk standar (a.l.pseudocode).

• Pembuatan Program Komputer (20%)– Mentransfer algoritma menjadi kode program, yang sebelumnya perlu

ditentukan struktur datanya.• Pengujian Hasil Program (5%)

– Running program untuk mengetahui apakah ada kesalahan, baik kesalahansintax, running atau output/hasil.

• Pembuatan Dokumentasi Program (5%)– Pembuatan dokumentasi meliputi dokumentasi dalam program atau manual

petunjuk pemakaian dan pemeliharaan program.

• Analisis Masalah (40%)– Analisis masalah adalah kegiatan mempelajari, mendalami masalah hingga

mendapatkan ide-ide penyelesaian masalah (ide global).• Perancangan Algoritma (30%)

– Perancangan algoritma adalah pembuatan algoritma dimulai dari ide-idepenyelesaian masalah hingga terciptanya algoritma dalam bentuk standar (a.l.pseudocode).

• Pembuatan Program Komputer (20%)– Mentransfer algoritma menjadi kode program, yang sebelumnya perlu

ditentukan struktur datanya.• Pengujian Hasil Program (5%)

– Running program untuk mengetahui apakah ada kesalahan, baik kesalahansintax, running atau output/hasil.

• Pembuatan Dokumentasi Program (5%)– Pembuatan dokumentasi meliputi dokumentasi dalam program atau manual

petunjuk pemakaian dan pemeliharaan program.

Page 18: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Struktur Data dan Algoritma

• Algoritma– Prosedur komputasional– Instruksi yang di kerjakan Step by step

• Program– Implementasi algortima dengan bahasa tertentu

• Struktur Data– ORGANISASI DATA yang di perlukan untuk

menyelesaikan masalah

• Algoritma– Prosedur komputasional– Instruksi yang di kerjakan Step by step

• Program– Implementasi algortima dengan bahasa tertentu

• Struktur Data– ORGANISASI DATA yang di perlukan untuk

menyelesaikan masalah

Page 19: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Masalah Algoritmik

SpesifikasiInput ?

Spesifikasi outputsebagai fungsi

input

• Sejumlah instan input yang tidak terbatas yangmemenuhi spesifikasi, misal terurut menaik darisuatu bilangan bulat lebih besar dari nol– 1,20,,908,909,100000,10000000

Page 20: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Solusi Algoritmik

Instan Input Algorithm

Output yangberhubungan

dengan input yangdi butuhkan

• Algoritma menggambarkan aksi dari instaninput

Page 21: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Bagaimanakah Algoritma yang bagus ?

• Effisien– Running time– Space yang di pakai

• Efisiensi sebagai ukuran dari fungsi input– Jumlah bit dalam sejumlah input– Sejumlah elemen data (angka)

• Effisien– Running time– Space yang di pakai

• Efisiensi sebagai ukuran dari fungsi input– Jumlah bit dalam sejumlah input– Sejumlah elemen data (angka)

Page 22: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Mengukur running time

• Bagaimana kita mengukur running timealgoritma

• Studi Eksperimen– Tulis program yang mengimplementasikan suatu

algoritma– Jalankan program dengan input data yang

berbeda-beda– Pakai pengukuran waktu

• Bagaimana kita mengukur running timealgoritma

• Studi Eksperimen– Tulis program yang mengimplementasikan suatu

algoritma– Jalankan program dengan input data yang

berbeda-beda– Pakai pengukuran waktu

Page 23: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Waktu dalam c (gcc)

/*fungsi utk mendapatkan waktu dalam milisecond*/void get_current_time( double *time_returned )

{struct timeval tp;

gettimeofday (&tp, NULL);

*time_returned = tp.tv_usec;*time_returned += tp.tv_sec*1000000;*time_returned /= 1E6;

}

/*fungsi utk mendapatkan waktu dalam milisecond*/void get_current_time( double *time_returned )

{struct timeval tp;

gettimeofday (&tp, NULL);

*time_returned = tp.tv_usec;*time_returned += tp.tv_sec*1000000;*time_returned /= 1E6;

}

Page 24: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Keterbatasan Studi eksperimen

• Harus dapat di implementasikan untukmengetahui running time

• Keterbatasan input• HW dan SW yang berbeda

• Harus dapat di implementasikan untukmengetahui running time

• Keterbatasan input• HW dan SW yang berbeda

Page 25: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Psuedo code

Algoritma ArrMax (A,n)Input: Array A yang menyimpan n

integerOutput: Nilai maximum dalam array A

maxa[0]for i1 to n-1 doif max<a[i]then maxa[i]

max

Algoritma ArrMax (A,n)Input: Array A yang menyimpan n

integerOutput: Nilai maximum dalam array A

maxa[0]for i1 to n-1 doif max<a[i]then maxa[i]

max

Page 26: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Notasi Algoritmik

• Eskpresi– Simbol matematika standar

• Untuk ekspresi boolean dan aritmatika

– untuk assignment– <,>,,,,= untuk relasi kesetaraan

• Deklarasi method/fungsi– nama(param1,param2) : Bla(X)

• Hasil Balik Fungsi– X atau return X

• Eskpresi– Simbol matematika standar

• Untuk ekspresi boolean dan aritmatika

– untuk assignment– <,>,,,,= untuk relasi kesetaraan

• Deklarasi method/fungsi– nama(param1,param2) : Bla(X)

• Hasil Balik Fungsi– X atau return X

Page 27: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Notasi Algoritmik

• Konstruksi program– if(kondisi)then(aksi1)else(aksilain)

– while(kondisi)…do– repeat …until(kondisi)– for … do atau i Traversal 1..N– index array a[i],a[i,j]– Assignment : Y=10 atau X10

• Konstruksi program– if(kondisi)then(aksi1)else(aksilain)

– while(kondisi)…do– repeat …until(kondisi)– for … do atau i Traversal 1..N– index array a[i],a[i,j]– Assignment : Y=10 atau X10

Page 28: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Strategi dan Analisis Algoritma

• Strategi adalah rencana yang cermat mengenaikegiatan untuk mencapai sasaran khusus (KBBI).

• Algoritma adalah urutan langkah-langkah untukmemecahkan suatu masalah.

• Strategi algoritmik adalah kumpulan metode atauteknik untuk memecahkan masalah guna mencapaitujuan yang ditentukan, yang dalam hal ini deskripsimetode atau teknik tersebut dinyatakan dalam suatuurutan langkah-langkah penyelesaian.

• Strategi adalah rencana yang cermat mengenaikegiatan untuk mencapai sasaran khusus (KBBI).

• Algoritma adalah urutan langkah-langkah untukmemecahkan suatu masalah.

• Strategi algoritmik adalah kumpulan metode atauteknik untuk memecahkan masalah guna mencapaitujuan yang ditentukan, yang dalam hal ini deskripsimetode atau teknik tersebut dinyatakan dalam suatuurutan langkah-langkah penyelesaian.

Page 29: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Strategi dan Analisis Algoritma

• Analisis berhubungan dengan cara pandangkita terhadap seberapa cepat algoritma itubekerja (waktu tempuh) dan perlu berapabanya sumber daya (memori)

• Dengan menganalisis suatu algoritma,diharapkan akan mendapatkan strategi yangtepat untuk memilih algoritma dalammenyelesaikan masalah.

• Analisis berhubungan dengan cara pandangkita terhadap seberapa cepat algoritma itubekerja (waktu tempuh) dan perlu berapabanya sumber daya (memori)

• Dengan menganalisis suatu algoritma,diharapkan akan mendapatkan strategi yangtepat untuk memilih algoritma dalammenyelesaikan masalah.

Page 30: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Analisis Algoritma

• Analisis algoritma adalah salah satu tahapandari perancangan algoritma, Sedangkanperancangan algoritma adalah salah satutahapan dari proses pemecahan masalahdengan komputer. Sebelum pembahasananalisis algoritma, terlebih dahulu kita bahastahapan pemecahan masalah dengankomputer.

• Analisis algoritma adalah salah satu tahapandari perancangan algoritma, Sedangkanperancangan algoritma adalah salah satutahapan dari proses pemecahan masalahdengan komputer. Sebelum pembahasananalisis algoritma, terlebih dahulu kita bahastahapan pemecahan masalah dengankomputer.

Page 31: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Struktur Dasar Algoritma

• 3 Bentuk Standar Algoritma– Sekuensial– Pencabangan (branching)– Kalang (looping)

• 3 Bentuk Standar Algoritma– Sekuensial– Pencabangan (branching)– Kalang (looping)

Page 32: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Aspek Algoritma

• Valid– Algoritma harus benar, artinya memberikan keluaran

yang di kehendaki• Efektifitas

– Tepat guna, hasil guna, akurat, mencapa tujuan, aman• Efisiensi

– Hemat, Cepat dengan space memori yang kecil• Berhingga langkahnya• Logis dan terstruktur

• Valid– Algoritma harus benar, artinya memberikan keluaran

yang di kehendaki• Efektifitas

– Tepat guna, hasil guna, akurat, mencapa tujuan, aman• Efisiensi

– Hemat, Cepat dengan space memori yang kecil• Berhingga langkahnya• Logis dan terstruktur

Page 33: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Analisis Algoritma

• Memori– Di pengaruhi oleh variabel– Stack : tempat menyimpan data sebenarnya

• Kecepatan– Cache memori (HW)– Jumlah langkah (algoritma)– Operator dan operand

• Memori– Di pengaruhi oleh variabel– Stack : tempat menyimpan data sebenarnya

• Kecepatan– Cache memori (HW)– Jumlah langkah (algoritma)– Operator dan operand

Page 34: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Strategi Algoritma

• Bagaimana merencanakan atau menentukansuatu model penyelesaian masalah, untuk ituperlu di buat disain yang memenuhi aspekalgoritma yang di maksud.

• Bagaimana memilih model penyelesianmasalah yang sudah ada sehingga di pandangdapat dengan tepat untuk itu

• Bagaimana merencanakan atau menentukansuatu model penyelesaian masalah, untuk ituperlu di buat disain yang memenuhi aspekalgoritma yang di maksud.

• Bagaimana memilih model penyelesianmasalah yang sudah ada sehingga di pandangdapat dengan tepat untuk itu

Page 35: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Efektifitas dan efisiensi• Kecenderungan efektifitas adalah

– Kebenaran algoritma tersebut– Merespon terhadap inputan apapun

• Efisiensi– Space yang di perlukan– Waktu/banyak langkah atau waktu tempuh yang di gunakan

oleh :• Banyaknya statement• Jenis statement/struktur• Banyak operasi aritmatik dan logik• Procedure dan fungsi call

– Built-in function– User define

» Recursif» Non recursive

• Kecenderungan efektifitas adalah– Kebenaran algoritma tersebut– Merespon terhadap inputan apapun

• Efisiensi– Space yang di perlukan– Waktu/banyak langkah atau waktu tempuh yang di gunakan

oleh :• Banyaknya statement• Jenis statement/struktur• Banyak operasi aritmatik dan logik• Procedure dan fungsi call

– Built-in function– User define

» Recursif» Non recursive

Page 36: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Kompleksitas Algoritma

• Kebutuhan space dan waktu tempuh inilahyang di sebut dengan kompleksitas algoritma

• Space sering unpredicted, terutama jikabanyak menggunakan pointer/ tipe datadinamis

• Seringkali space tidak disertakan dalampenentuan kompleksitas algoritma, kecuali jikatipe data yang terlibat adalah statis.

• Kebutuhan space dan waktu tempuh inilahyang di sebut dengan kompleksitas algoritma

• Space sering unpredicted, terutama jikabanyak menggunakan pointer/ tipe datadinamis

• Seringkali space tidak disertakan dalampenentuan kompleksitas algoritma, kecuali jikatipe data yang terlibat adalah statis.

Page 37: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Problem ?

• Kompleksitas algoritma memiliki batas bawahdan batas atas yang di sebut dengan ORDER

• Bagaimana menentukan kompleksitas (dalambentuk fungsi) ???

• Bagaimana menentukan ORDERnya ????• Untuk menentukan 2 hal tersebut di perlukan

Mathematical Background.

• Kompleksitas algoritma memiliki batas bawahdan batas atas yang di sebut dengan ORDER

• Bagaimana menentukan kompleksitas (dalambentuk fungsi) ???

• Bagaimana menentukan ORDERnya ????• Untuk menentukan 2 hal tersebut di perlukan

Mathematical Background.

Page 38: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Background Matematika

• Hanya review, karena sudah di ajarkan di matakuliah lain (Kalkulus)

• Induksi Matematika• Fungsi, barisan dan deret• Limit barisan

• Hanya review, karena sudah di ajarkan di matakuliah lain (Kalkulus)

• Induksi Matematika• Fungsi, barisan dan deret• Limit barisan

Page 39: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Induksi Matematika

• Buktikan bahwa statement P(n) adalahbilangan asli untuk nN. P(n) benar, kecuali– Terdapat n0 N sehingga P(n0) benar– Untuk setiap nn0, jika P(n) benar maka P(n+1)

juga benar

• Buktikan bahwa statement P(n) adalahbilangan asli untuk nN. P(n) benar, kecuali– Terdapat n0 N sehingga P(n0) benar– Untuk setiap nn0, jika P(n) benar maka P(n+1)

juga benar

Page 40: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Induksi Matematika

• P(a) Benar, ini di sebut sebagai langkah basis.• Jika P(n) benar maka P(n+1) benar untuk

n a, ini di sebut sebagai langkah induksi.

Page 41: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Induksi Matematika

Page 42: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Fungsi

• Pemetaan suatu nilai dari domain ke rangeF: AB

• Pemetaan suatu nilai dari domain ke rangeF: AB

A B

Page 43: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Fungsi

• Penyajian Fungsi• Model Matematika

• AlgoritmaF(n)if(n1)then 1else (n*F(n+1))

1)1(*11

)(nnFnn

nF

• Penyajian Fungsi• Model Matematika

• AlgoritmaF(n)if(n1)then 1else (n*F(n+1))

1)1(*11

)(nnFnn

nF

Page 44: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Barisan

• Merupakan fungsi dengan himpunan asalberupa bilangan asli, jika a merupakan nilaifungsi f di n, maka an=f(n) dan dapat ditulis{ an|n=1,2,3,...} disebut dengan BARISAN.

• Contoh :

• Merupakan fungsi dengan himpunan asalberupa bilangan asli, jika a merupakan nilaifungsi f di n, maka an=f(n) dan dapat ditulis{ an|n=1,2,3,...} disebut dengan BARISAN.

• Contoh :

Page 45: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Deret

• Merupakan barisan dalam bentuk jumlahanbarisan.

• Di ketahui barisan a1,a2,a3,a4,…, a,…– DERET1= a1,a1+a2,a1+a2+a3,…– DERET2=a1,a2,a1+a3,a2+a4,a1+a3+a5,a2+a6,….

• Merupakan barisan dalam bentuk jumlahanbarisan.

• Di ketahui barisan a1,a2,a3,a4,…, a,…– DERET1= a1,a1+a2,a1+a2+a3,…– DERET2=a1,a2,a1+a3,a2+a4,a1+a3+a5,a2+a6,….

Page 46: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Limit Barisan

• Misalkan di ketahui suatu barisan {an} dengana=f(n) , maka barisan an di katakan konvergenke L apabila :

• Misalkan di ketahui suatu barisan {an} dengana=f(n) , maka barisan an di katakan konvergenke L apabila :

Page 47: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Limit Barisan

• Contoh

Page 48: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Teorema

Page 49: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

contoh

Page 50: PENGANTAR STRATEGI DAN ANALISA ALGORITMA - …dinus.ac.id/repository/docs/ajar/slide_1.pdf · Algorithm Sejarah Muhammad ibn Musa Al ... suatu bilangan bulat lebih besar dari nol

Latihan1. Jelaskan bagaimana masalah seharusnya di selesaikan2. Dapatkah anda gambarkan komponen penyelesaian masalah,

berikan contoh aktual.3. Tuliskan pengertian konsep strategi algoritma dan analisa

algoritma serta hubungan diantaranya.4. Dapatkah anda menuliskan struktur dasar algoritma, berikan

contohnya5. Jelaskan konsep mengenai algoritma, program, pemrograman.6. Sebut dan jelaskan aspek-aspek suatu algoritma dan bagaimana

pengukuran dilakukan.7. Tuliskan konsep dasar suatu fungsi, deret dan barisan.8. Apa peranan struktur data dalam analisa algoritma.

1. Jelaskan bagaimana masalah seharusnya di selesaikan2. Dapatkah anda gambarkan komponen penyelesaian masalah,

berikan contoh aktual.3. Tuliskan pengertian konsep strategi algoritma dan analisa

algoritma serta hubungan diantaranya.4. Dapatkah anda menuliskan struktur dasar algoritma, berikan

contohnya5. Jelaskan konsep mengenai algoritma, program, pemrograman.6. Sebut dan jelaskan aspek-aspek suatu algoritma dan bagaimana

pengukuran dilakukan.7. Tuliskan konsep dasar suatu fungsi, deret dan barisan.8. Apa peranan struktur data dalam analisa algoritma.