Struktur Data & Algoritme (Data Structures & Algorithms)

Ukuran: px
Mulai penontonan dengan halaman:

Download "Struktur Data & Algoritme (Data Structures & Algorithms)"

Transkripsi

1 Struktur Data & Algoritme (Data Structures & Algorithms) Analisa Algoritma Denny Fakultas Ilmu Komputer Universitas Indonesia Semester Genap /2001 Version Internal Use Only Algoritme Suatu set instruksi yang harus diikuti oleh computer untuk memecahkan suatu masalah. SDA/ALG-AN/DN/V1.0/2 Fundamental Data Types: String, Math, Casting 1

2 Analisa Algoritme: motivasi perlu diketahui berapa banyak resource (time & space) yang diperlukan oleh sebuah algoritme Menggunakan teknik-teknik untuk mengurangi waktu yang dibutuhkan oleh sebuah algoritme SDA/ALG-AN/DN/V1.0/3 Objectives dapat memperkirakan waktu yang dibutuhkan mempelajari teknik yang secara drastis menurunkan running time mempelajari kerangka matematik yang secara rigorously menggambarkan running time SDA/ALG-AN/DN/V1.0/4 Fundamental Data Types: String, Math, Casting 2

3 Outline Apa itu analisa algoritme?- what Bagaimana cara untuk analisa/mengukur? - how Notasi Big-Oh Case Study: The Maximum Contiguous Subsequence Sum Problem Algorithm 1: A cubic algorithm Algorithm 2: A quadratic algorithm Algorithm 3: An N log N algorithm Algorithm 4: A linear algorithm SDA/ALG-AN/DN/V1.0/5 Analisa Algoritme: what? Mengukur jumlah sumber daya (time dan space) yang diperlukan oleh sebuah algoritme Waktu yang diperlukan (running time) oleh sebuah algorithm cenderung tergantung pada jumlah input yang diproses. Running time dari sebuah algoritme adalah fungsi dari jumlah inputnya Selalu tidak terikat pada platform, bahasa pemrograman atau bahkan metodologi (mis. Procedural vs OO) SDA/ALG-AN/DN/V1.0/6 Fundamental Data Types: String, Math, Casting 3

4 Worst, Best and Average Case Worst-case running time is a bound over all inputs of a certain size N. (Guarantee - Pesimistic) Average-case running time is an average over all inputs of a certain size N. (Prediction) Best-case running time is defined by the minimum number of steps taken on any instance of size n. (Optimistic) SDA/ALG-AN/DN/V1.0/7 Worst, Best and Average Case (2) running time worst case average case best case input size n SDA/ALG-AN/DN/V1.0/8 Fundamental Data Types: String, Math, Casting 4

5 Analisa Algoritme: how? Bagaimana jika kita menggunakan jam? Jumlah waktu yang digunakan bervariasi tergantung pada beberapa faktor lain: kecepatan mesin, sistem operasi, kualitas kompiler, dan bahasa pemrograman. Sehingga kurang memberikan gambaran yang tepat tentang algoritme Notasi O (sering disebut sebagai notasi big-oh ) Digunakan sebagai bahasa untuk membahas efisiensi dari sebuah algoritme: log n, linier, n log n, n 2, n 3,... Contoh: run time algoritme Insertion Sort adalah O(n 2 ) Dari hasil run-time, dapat kita buat grafik dari waktu eksekusi dan jumlah data. SDA/ALG-AN/DN/V1.0/9 Big Oh Sebuah fungsi kubic adalah sebuah fungsi yang suku dominannya (dominant term) adalah sebuah konstan dikalikan dengan n 3. Contoh: 10 n 3 + n n + 80 n n n + 80 n SDA/ALG-AN/DN/V1.0/10 Fundamental Data Types: String, Math, Casting 5

6 Dominant Term Mengapa hanya suku yang memiliki pangkat tertinggi/dominan saja yang diperhatikan? Contoh: kita estimasi n n 2 + n dengan n 3. Untuk n = Nilai aktual 1,003,500,010,000 Nilai estimasi 1,000,000,000,000 Kesalahan dalam estimasi 0.35%, dapat diabaikan. Untuk n yang besar, suku dominan lebih mengindikasikan perilaku dari algoritme. Untuk n yang kecil, suku dominan tidak selalu mengindikasikan perilakunya, tetapi program dengan input kecil umumnya berjalan sangat cepat sehingga kita tidak perlu perhatikan. SDA/ALG-AN/DN/V1.0/11 Big Oh: issues Apakah fungsi linier selalu lebih kecil dari fungsi kubic? Untuk n yang kecil, bisa saja fungsi linier > fungsi kubic Tetapi untuk n yang besar, fungsi kubic > fungsi linier Contoh: 10 n n n Mengapa nilai konstan/koefesien pada setiap suku tidak diperhatikan? Nilai konstan/koefesien tidak berarti pada mesin yang berbeda \ Big Oh digunakan untuk merepresentasikan laju pertumbuhan (growth rate) SDA/ALG-AN/DN/V1.0/12 Fundamental Data Types: String, Math, Casting 6

7 Orde Fungsi Running-Time Function Name c Constant log N Logarithmic log 2 N Log-squared N Linear N log N N log N N 2 Quadratic N 3 Cubic 2 N Exponential N! Factorial SDA/ALG-AN/DN/V1.0/13 Fungsi Running-Time Untuk input yang sedikit, beberapa fungsi lebih cepat dibandingkan dengan yang lain. SDA/ALG-AN/DN/V1.0/14 Fundamental Data Types: String, Math, Casting 7

8 Fungsi Running-Time (2) Untuk input yang besar, beberapa fungsi runningtime sangat lambat - tidak berguna. SDA/ALG-AN/DN/V1.0/15 Contoh Mencari elemen terkecil dalam sebuah array Algoritme: sequential scan Orde-nya: O(n) - linear Mencari dua titik yang memiliki jarak terpendek dalam sebuah bidang (koordinat X-Y) Masalah dalam komputer grafis. Algoritme: hitung jarak dari semua pasangan titik cari jarak yang terpendek Jika jumlah titik adalah n, maka jumlah pasangan ada n * (n - 1) / 2 Orde-nya: O(n 2 ) - kuadratik Ada solusi yang O(n log n) bahkan O(n) dengan cara algoritme lain. SDA/ALG-AN/DN/V1.0/16 Fundamental Data Types: String, Math, Casting 8

9 Contoh (2) Tentukan apakah ada tiga titik dalam sebuah bidang yang segaris (colinier). Algoritme: periksa semua pasangan titik yang terdiri dari 3 titik. Jumlah pasangan: n * (n - 1) * (n - 2) / 6 Orde-nya: O(n 3 ) - kubik. Sangat tidak berguna untuk titik. Ada algoritme yang kuadratik. SDA/ALG-AN/DN/V1.0/17 Studi Kasus Mengamati sebuah masalah dengan beberapa solusi. Masalah Maximum Contiguous Subsequence Sum Diberikan (angka integer negatif dimungkinkan) A 1, A 2,, A N, cari nilai maksimum dari (A i + A i A j ). maximum contiguous subsequence sum adalah nol jika semua integer adalah negatif. (Why?) Contoh (maximum subsequences digarisbawahi) -2, 11, -4, 13, -4, 2 1, -3, 4, -2, -1, 6 SDA/ALG-AN/DN/V1.0/18 Fundamental Data Types: String, Math, Casting 9

10 Brute Force Algorithm (1) Algoritme: Hitung jumlah dari semua sub-sequence yang mungkin Cari nilai maksimumnya SDA/ALG-AN/DN/V1.0/19 Brute Force Algorithm (2) public static int MaxSubSum1( int [] A ) { int MaxSum = 0; for(int i = 0; i < A.length; i++) { for( int j = i; j < A.length; j++) { int ThisSum = 0; for(int k = i; k <= j; k++) ThisSum += A[ k ]; if( ThisSum > MaxSum ) MaxSum = ThisSum; return MaxSum; SDA/ALG-AN/DN/V1.0/20 Fundamental Data Types: String, Math, Casting 10

11 Analysis Loop of size N inside of loop of size N inside of loop of size N means O(N 3 ), or cubic algorithm. Slight over-estimate that results from some loops being of size less than N is not important. SDA/ALG-AN/DN/V1.0/21 Actual Running Time For N = 100, actual time is 0.47 seconds on a particular computer. Can use this to estimate time for larger inputs: T(N) = cn 3 T(10N) = c(10n) 3 = 1000cN 3 = 1000T(N) Inputs size increases by a factor of 10 means that running time increases by a factor of 1,000. For N = 1000, estimate an actual time of 470 seconds. (Actual was 449 seconds). For N = 10,000, estimate seconds (6 days). SDA/ALG-AN/DN/V1.0/22 Fundamental Data Types: String, Math, Casting 11

12 How To Improve Remove a loop; not always possible. Here it is: innermost loop is unnecessary because it throws away information. ThisSum for next j is easily obtained from old value of ThisSum: Need A i + A i A j-1 + A j Just computed A i +A i A j-1 What we need is what we just computed + A j SDA/ALG-AN/DN/V1.0/23 The Better Algorithm public static int MaxSubSum2( int [ ] A ) { int MaxSum = 0; for( int i = 0; i < A.length; i++ ) { int ThisSum = 0; for( int j = i; j < A.length; j++ ) { ThisSum += A[ j ]; if( ThisSum > MaxSum ) MaxSum = ThisSum; return MaxSum; SDA/ALG-AN/DN/V1.0/24 Fundamental Data Types: String, Math, Casting 12

13 Analysis Same logic as before: now the running time is quadratic, or O(N 2 ) As we will see, this algorithm is still usable for inputs in the tens of thousands. Recall that the cubic algorithm was not practical for this amount of input. SDA/ALG-AN/DN/V1.0/25 Actual running time For N = 100, actual time is seconds on the same particular computer. Can use this to estimate time for larger inputs: T(N) = cn 2 T(10N) = c(10n) 2 = 100cN 2 = 100T(N) Inputs size increases by a factor of 10 means that running time increases by a factor of 100. For N = 1000, estimate a running time of 1.11 seconds. (Actual was 1.12 seconds). For N = 10,000, estimate 111 seconds (= actual). SDA/ALG-AN/DN/V1.0/26 Fundamental Data Types: String, Math, Casting 13

14 Recursive Algorithm Use a divide-and-conquer approach. Membagi (divide) permasalahan ke dalam bagian yang lebih kecil Menyelesaikan (conquer) masalah per bagian secara recursive Menggabung penyelesaian per bagian menjadi solusi masalah awal SDA/ALG-AN/DN/V1.0/27 Recursive Algorithm (2) The maximum subsequence either lies entirely in the first half lies entirely in the second half starts somewhere in the first half, goes to the last element in the first half, continues at the first element in the second half, ends somewhere in the second half. Compute all three possibilities, and use the maximum. First two possibilities easily computed recursively. SDA/ALG-AN/DN/V1.0/28 Fundamental Data Types: String, Math, Casting 14

15 Computing the Third Case Easily done with two loops; see the code For maximum sum that starts in the first half and extends to the last element in the first half, use a right-to-left scan starting at the last element in the first half. For the other maximum sum, do a left-to-right scan, starting at the first element in the first half * * 5 SDA/ALG-AN/DN/V1.0/29 Recursion version static private int maxsumrec (int[] a, int left, int right) { int center = (left + right) / 2; if(left == right) // Base case return a[left] > 0? a[left] : 0; int maxleftsum = maxsumrec (a, left, center); int maxrightsum = maxsumrec (a, center+1, right); for(int i = center; i >= left; i--) { leftbordersum += a[i]; if(leftbordersum > maxleftbordersum) maxleftbordersum = leftbordersum;... SDA/ALG-AN/DN/V1.0/30 Fundamental Data Types: String, Math, Casting 15

16 Recursion Version... for(int j = center + 1; j <= right; j++) { rightbordersum += a[j]; if(rightbordersum > maxrightbordersum) maxrightbordersum = rightbordersum; return max3 (maxleftsum, maxrightsum, maxleftbordersum + maxrightbodersum); // publicly visible routine static public int maxsubsum (int [] a) { return maxsumrec (a, 0, a.length-1); SDA/ALG-AN/DN/V1.0/31 Coding Details The code is more involved Make sure you have a base case that handles zeroelement arrays. Use a public static driver with a private recursive routine. Recursion rules: Have a base case Make progress to the base case Assume it works Avoid computing the same solution twice SDA/ALG-AN/DN/V1.0/32 Fundamental Data Types: String, Math, Casting 16

17 Analysis Let T( N ) = the time for an algorithm to solve a problem of size N. Then T( 1 ) = 1 (1 will be the quantum time unit; remember that constants don't matter). T( N ) = 2 T( N / 2 ) + N Two recursive calls, each of size N / 2. The time to solve each recursive call is T( N / 2 ) by the above definition Case three takes O( N ) time; we use N, because we will throw out the constants eventually. SDA/ALG-AN/DN/V1.0/33 Bottom Line T(1) = 1 = 1 * 1 T(2) = 2 * T(1) + 2 = 4 = 2 * 2 T(4) = 2 * T(2) + 4 = 12 = 4 * 3 T(8) = 2 * T(4) + 8 = 32 = 8 * 4 T(16) = 2 * T(8) + 16 = 80 = 16 * 5 T(32) = 2 * T(16) + 32 = 192 = 32 * 6 T(64) = 2 * T(32) + 64 = 448 = 64 * 7 T(N) = N(1 + log N) = O(N log N) SDA/ALG-AN/DN/V1.0/34 Fundamental Data Types: String, Math, Casting 17

18 N log N Any recursive algorithm that solves two half-sized problems and does linear non-recursive work to combine/split these solutions will always take O( N log N ) time because the above analysis will always hold. This is a very significant improvement over quadratic. It is still not as good as O( N ), but is not that far away either. There is a linear-time algorithm for this problem; see the online code. The running time is clear, but the correctness is non-trivial. SDA/ALG-AN/DN/V1.0/35 Linear Algorithms Linear algorithm would be best. Remember: linear means O( N ). Running time is proportional to amount of input. Hard to do better for an algorithm. If input increases by a factor of ten, then so does running time. SDA/ALG-AN/DN/V1.0/36 Fundamental Data Types: String, Math, Casting 18

19 Idea Let A i,j be any sequence with S i,j < 0. If q > j, then A i,q is not the maximum contigous subsequence. Proof: S i,q = S i,j + S j+1,q S i,j < 0 => S i,q < S j+1,q SDA/ALG-AN/DN/V1.0/37 The Code - version 1 static public int maximumsubsequencesum3 (int a[]) { int maxsum = 0; int thissum = 0; for (int j = 0; j < a.length; j++) { thissum += a[j]; if (thissum > maxsum) { maxsum = thissum; else if (thissum < 0) { thissum = 0; return maxsum; SDA/ALG-AN/DN/V1.0/38 Fundamental Data Types: String, Math, Casting 19

20 The Code - version 2 static public int maximumsubsequencesum3b (int data[]) { int thissum = 0, maxsum = 0; for (int i = 0; i < data.length; i++) { thissum = Max(0, data[i] + thissum); maxsum = Max(thisSum, maxsum); return maxsum; SDA/ALG-AN/DN/V1.0/39 Running Time SDA/ALG-AN/DN/V1.0/40 Fundamental Data Types: String, Math, Casting 20

21 Running Time: on different machines Cubic Algorithm on Alpha at 533 Mhz using C compiler Linear Algorithm on Radio Shack TRS-80 Model III (a 1980 personal computer with a Z-80 processor running at 2.03 Mhz) using interpreted Basic n Alpha 21164A, C compiled, Cubic Algorithm TRS-80, Basic interpreted, Linear Algorithm microsecs 200 milisecs milisecs 2.0 secs 1, secs 20 secs 10, mins 3.2 mins 100,000 7 days 32 mins 1,000, yrs 5.4 hrs SDA/ALG-AN/DN/V1.0/41 Running Time: moral story Even the most clever programming tricks cannot make an ineffiecient algorithm fast. Before we waste effort attempting to optimize code, we need to optimize the algorithm. SDA/ALG-AN/DN/V1.0/42 Fundamental Data Types: String, Math, Casting 21

22 The Logarithm Formal Definition For any B, N > 0, log B N = K if B K = N. If (the base) B is omitted, it defaults to 2 in computer science. Examples: log 32 = 5 (because 2 5 = 32) log 1024 = 10 log = 20 log 1 billion = about 30 The logarithm grows much more slowly than N, and slower than the square root of N. SDA/ALG-AN/DN/V1.0/43 Examples of the Logarithm BITS IN A BINARY NUMBER How many bits are required to represent N consecutive integers? REPEATED DOUBLING Starting from X = 1, how many times should X be doubled before it is at least as large as N? REPEATED HALVING Starting from X = N, if N is repeatedly halved, how many iterations must be applied to make N smaller than or equal to 1 (Halving rounds up). Answer to all of the above is log N (rounded up). SDA/ALG-AN/DN/V1.0/44 Fundamental Data Types: String, Math, Casting 22

23 Why log N? B bits represents 2 B integers. Thus 2 B is at least as big as N, so B is at least log N. Since B must be an integer, round up if needed. Same logic for the other examples. SDA/ALG-AN/DN/V1.0/45 Repeated Halving Principle An algorithm is O( log N ) if it takes constant time to reduce the problem size by a constant fraction (which is usually 1/2). Reason: there will be log N iterations of constant work. SDA/ALG-AN/DN/V1.0/46 Fundamental Data Types: String, Math, Casting 23

24 Static Searching Given an integer X and an array A, return the position of X in A or an indication that it is not present. If X occurs more than once, return any occurrence. The array A is not altered. If input array is not sorted, solution is to use a sequential search. Running times: Unsuccessful search: O( N ); every item is examined Successful search: Worst case: O( N ); every item is examined Average case: O( N ); half the items are examined Can we do better if we know the array is sorted? SDA/ALG-AN/DN/V1.0/47 Binary Search Yes! Use a binary search. Look in the middle Case 1: If X is less than the item in the middle, then look in the subarray to the left of the middle Case 2: If X is greater than the item in the middle, then look in the subarray to the right of the middle Case 3: If X is equal to the item in the middle, then we have a match Base Case: If the subarray is empty, X is not found. This is logarithmic by the repeated halving principle. The first binary search was published in The first published binary search without bugs did not appear until SDA/ALG-AN/DN/V1.0/48 Fundamental Data Types: String, Math, Casting 24

25 /** Performs the standard binary search using two comparisons per a the x the ItemNotFound if index where item is found. */ public static int binarysearch (Comparable [ ] a, Comparable x ) throws ItemNotFound { int low = 0; int high = a.length - 1; int mid; while( low <= high ) { mid = (low + high) / 2; if (a[mid].compares (x) < 0) { low = mid + 1; else if (a[mid].compares (x) > 0) { high = mid - 1; else { return mid; throw new ItemNotFound( "BinarySearch fails" ); SDA/ALG-AN/DN/V1.0/49 Binary Search Can do one comparison per iteration instead of two by changing the base case. See online code for details. Average case and worst case in revised algorithm are identical. 1 + log N comparisons (rounded down to the nearest integer) are used. Example: If N = 1,000,000, then 20 element comparisons are used. Sequential search would be 25,000 times more costly on average. SDA/ALG-AN/DN/V1.0/50 Fundamental Data Types: String, Math, Casting 25

26 Big-Oh Rules (1) Mathematical expression relative rates of growth DEFINITION: (Big-Oh) T(N) = O(F(N)) if there are positive constants c and N 0 such that T(N) c F(N) when N N 0. DEFINITION: (Big-Omega) T(N) = Ω(F(N)) if there are constants c and N 0 such that T(N) c F(N) when N N 0. DEFINITION: (Big-Theta) T(N) = Θ(F(N)) if and only if T(N) = O(F(N)) and T(N) = Ω(F(N)). DEFINITION: (Little-Oh) T(N) = o(f(n)) if and only if T(N) = O(F(N)) and T(N) Θ (F(N)). SDA/ALG-AN/DN/V1.0/51 Big-Oh Rules (2) Meanings of the various growth functions T(N) = O(F(N)) Growth of T(N) is growth of F(N) T(N) = Ω(F(N)) Growth of T(N) is growth of F(N) T(N) = Θ(F(N)) Growth of T(N) is = growth of F(N) T(N) = o(f(n)) Growth of T(N) is < growth of F(N) SDA/ALG-AN/DN/V1.0/52 Fundamental Data Types: String, Math, Casting 26

27 Limitation of Big Oh Tidak dapat digunakan untuk N yang kecil Faktor X Memory access & disk access Memory size & disk cache SDA/ALG-AN/DN/V1.0/53 Summary more data means the program takes more time Big-Oh tidak dapat digunakan untuk N yang kecil SDA/ALG-AN/DN/V1.0/54 Fundamental Data Types: String, Math, Casting 27

28 Exercises Urutkan fungsi berikut berdasarkan laju pertumbuhan (growth rate) N, N, N 1.5, N 2, N log N, N log log N, N log 2 N, N log (N 2 ), 2/N, 2 N, 2 N/2, 37, N 3, N 2 log N A 5 + B 5 + C 5 + D 5 + E 5 = F 5 0 < A B C D E F 75 hanya memiliki satu solusi. berapa? SDA/ALG-AN/DN/V1.0/55 Assignment Critical Mass Secara umum dapat dilihat di OnlineJudge/v5/580.html Lengkapnya akan diposting di forum.iki.struktur Due date: 2 Maret 2001 SDA/ALG-AN/DN/V1.0/56 Fundamental Data Types: String, Math, Casting 28

29 Further Reading Chapter 5 mirror/evo.apm.tuwien.ac.at/ AlgDesignManual/INDEX.HTM OnlineJudge/v1/108.html SDA/ALG-AN/DN/V1.0/57 What s Next Recursion (Chapter 7) SDA/ALG-AN/DN/V1.0/58 Fundamental Data Types: String, Math, Casting 29

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data & Algoritme (Data Structures & Algorithms) Analisa Algoritme Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap

Lebih terperinci

Algoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Expected Outcome. Analisa Algoritme: motivasi. Analisa Algoritme: what?

Algoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Expected Outcome. Analisa Algoritme: motivasi. Analisa Algoritme: what? Struktur Data & Algoritme (Data Structures & Algorithms) Analisa Algoritme Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap

Lebih terperinci

Struktur Data & Algoritma

Struktur Data & Algoritma Struktur Data & Algoritma Pengenalan Analisa Algoritma Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI 1 Algoritma al go rithm n. 1 Math. a) any systematic method of solving

Lebih terperinci

ANALISA RUNNING TIME

ANALISA RUNNING TIME ANALISA RUNNING TIME Maximum Contiguous Subsequence Sum I KETUT RESIKA ARTHANA NPM : 1006747864 MAGISTER ILMU KOMPUTER FAKULTAS ILMU KOMPUTER UNIVERSITAS INDONESIA 1 Deskripsi Singkat Permasalahan Maximum

Lebih terperinci

Recursion Properties. Factorial: MaxSubseqSum Recursive version. MaxSubseqSum Recursive version

Recursion Properties. Factorial: MaxSubseqSum Recursive version. MaxSubseqSum Recursive version Recursion Properties base case, problem paling sederhana yang memproses input tanpa perlu recursive lagi. recursive case: 1. membagi problem menjadi bagian yang lebih kecil. 2. memanggil fungsi secara

Lebih terperinci

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Sort. Outline. Bubble Sort: idea. Bubble Sort. Sorting Struktur Data & Algoritme (Data Structures & Algorithms) Objectives Memahami beberapa algoritme sorting dan dapat menganalisa kompleksitas-nya Sorting Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id)

Lebih terperinci

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data & Algoritme (Data Structures & Algorithms) Recursion Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2004/2005

Lebih terperinci

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Outline. Apa itu Recursion? Recursion

Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Outline. Apa itu Recursion? Recursion Struktur Data & Algoritme (Data Structures & Algorithms) Objectives Memahami lebih dalam method rekursif Dapat membuktikan bahwa sebuah method rekursif sudah benar dengan menggunakan induksi matematik

Lebih terperinci

Algoritma dan Struktur Data

Algoritma dan Struktur Data Algoritma dan Struktur Data Click to edit Master subtitle style Pertemuan 3 Pengantar Analisis Efisiensi Algoritma Analisa efisiensi algoritma bertujuan mengestimasi waktu dan memori yang dibutuhkan untuk

Lebih terperinci

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees

Outline. Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar. Definisi. 2-3 Trees Struktur Data & Algoritme (Data Structures & Algorithms) 2-3 Trees Outline Pengantar Definisi 2-3 Tree Operasi: Search Insert Delete (a,b)-tree Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id)

Lebih terperinci

Design and Analysis of Algorithm

Design and Analysis of Algorithm Design and Analysis of Algorithm Week 3: Notasi Asymptotic dan Kelas Dasar Efisiensi Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry

Lebih terperinci

Struktur Data dan Algoritma

Struktur Data dan Algoritma Struktur Data dan Algoritma Rekursif Suryana Setiawan, Ruli Manurung & Ade Azurat ( Denny (acknowledgments: Fasilkom UI Outline Dasar-dasar Rekursif Apa itu recusion/rekursif? Aturan Rekursif Induksi Matematik

Lebih terperinci

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3.

1/5. while and do Loops The remaining types of loops are while and do. As with for loops, while and do loops Praktikum Alpro Modul 3. Judul TIU TIK Materi Modul Perulangan Ganjil 204/205 Mahasiswa memahami Konsep Perulangan. Mahasiswa mampu menggunakan perintah perulangan For, While do, do While 2. Mahasiswa mampu menggunakan perintah

Lebih terperinci

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching

Adam Mukharil Bachtiar English Class Informatics Engineering Algorithms and Programming Searching Adam Mukharil Bachtiar English Class Informatics Engineering 2011 Algorithms and Programming Searching Steps of the Day Definition of Searching Sequential Search Binary Search Let s Start Definition of

Lebih terperinci

Simple Sorting Techniques

Simple Sorting Techniques Simple Sorting Techniques DIK-013 Data Structure Diploma 3 Years in Informatics Management Irvanizam Zamanhuri, M.Sc Computer Science Study Program Syiah Kuala University http://www.informatika.unsyiah.ac.id/irvanizam

Lebih terperinci

Design and Analysis Algorithm

Design and Analysis Algorithm Design and Analysis Algorithm Pertemuan 02 Drs. Achmad Ridok M.Kom Fitra A. Bachtiar, S.T., M. Eng Imam Cholissodin, S.Si., M.Kom Aryo Pinandito, MT Contents 31 2 Analisis Algoritma Analisis Efisiensi

Lebih terperinci

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms

Sorting Algorithms. Algoritma dan Struktur Data. Sorting algorithms 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms Sorting algorithms Metode Insertion, selection dan bubble sort memiliki worst-case performance yang bernilai quadratik

Lebih terperinci

Pendahuluan. Ukuran input (input s size)

Pendahuluan. Ukuran input (input s size) Kompleksitas Algoritma Sesi 14 Pendahuluan Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang mangkus ialah algoritma yang meminimumkan kebutuhan waktu dan ruang.

Lebih terperinci

Pengantar Analisa Algoritma

Pengantar Analisa Algoritma Pengantar Analisa Algoritma Pendahuluan Suatu permasalahan memungkinkan untuk diselesaikan dengan lebih dari satu algoritma (pendekatan) Bagaimana kita memilih satu diantara beberapa algoritma tersebut.

Lebih terperinci

SORTING (BAGIAN II) Proses kelima

SORTING (BAGIAN II) Proses kelima SORTING (BAGIAN II) I. INSERTION SORT Mirip dengan cara orang mengurutkan kartu, selembar demi selembar kartu diambil dan disisipkan (insert) ke tempat yang seharusnya. Pengurutan dimulai dari data ke-2

Lebih terperinci

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data & Algoritme (Data Structures & Algorithms) Wrap Up Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2004/2005

Lebih terperinci

Struktur Data dan Algoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data dan Algoritme. Objectives.

Struktur Data dan Algoritme. Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data dan Algoritme. Objectives. Struktur Data & Algoritme (Data Structures & Algorithms) Wrap Up Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2004/2005

Lebih terperinci

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016

Analisa dan Perancangan Algoritma. Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Analisa dan Perancangan Algoritma Ahmad Sabri, Dr Sesi 1: 9 Mei 2016 Apakah algoritma itu? Asal istilah: Al Khwarizmi (± 800 M), matematikawan dan astronomer Persia. Pengertian umum: "suatu urutan langkah-langkah

Lebih terperinci

Pemrograman Lanjut. Interface

Pemrograman Lanjut. Interface Pemrograman Lanjut Interface PTIIK - 2014 2 Objectives Interfaces Defining an Interface How a class implements an interface Public interfaces Implementing multiple interfaces Extending an interface 3 Introduction

Lebih terperinci

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 04

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 04 Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 04 Contents 31 2 Asymptotic Analysis Brute Force Algorithm 1 2 Asymptotic Analysis Asymptotic Notation Think of n as the number

Lebih terperinci

Analisis Algoritma Bubble Sort

Analisis Algoritma Bubble Sort Analisis Algoritma Bubble Sort Ryan Rheinadi NIM : 13508005 Program Studi Teknik Informatika, Sekolah Teknik Elektro dan Informatika, Institut Teknologi Bandung Jalan Ganesha 10, Bandung e-mail: if18005@students.if.itb.ac.id

Lebih terperinci

Nama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal

Nama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal Nama Soal Pembagian Ring Road Batas Waktu 1 detik Nama Berkas Ringroad[1..10].out Batas Memori 32 MB Tipe [output only] Sumber Brian Marshal Deskripsi Soal Dalam rangka mensukseskan program Visit Indonesia,

Lebih terperinci

Outline STRUKTUR DATA. VII. Sorting

Outline STRUKTUR DATA. VII. Sorting STRUKTUR DATA VII. Sorting 1 Outline Beberapa algoritma untuk melakukan sorting: Bubble sort Selection sort Insertion sort Shell sort Merge sort Quick sort Untuk masing-masing algoritma: Ide dasar Contoh

Lebih terperinci

ANALISIS ALGORITMA BINARY SEARCH

ANALISIS ALGORITMA BINARY SEARCH ANALISIS ALGORITMA BINARY SEARCH Metode Binary search Binary search merupakan salah satu algoritma untuk melalukan pencarian pada array yang sudah terurut. Jika kita tidak mengetahui informasi bagaimana

Lebih terperinci

Arsitektur Komputer. Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer

Arsitektur Komputer. Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer Arsitektur Komputer Pertemuan ke-2 - Aritmatika Komputer >>> Sistem bilangan & Format Data - Perkembangan Perangkat Keras Komputer ARITMATIKA KOMPUTER Materi : Englander, bab 2 dan 3 Stallings, bab 8 IEEE

Lebih terperinci

Rekursif. Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti.

Rekursif. Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti. Rekursif Rekursif Proses yang memanggil dirinya sendiri. Merupakan suatu fungsi atau prosedur Terdapat suatu kondisi untuk berhenti. Faktorial Konsep Faktorial n! = n(n-1)(n-2) 1 Dapat diselesaikan dengan

Lebih terperinci

Rahasia Cermat & Mahir Menguasai Akuntansi Keuangan Menengah (Indonesian Edition)

Rahasia Cermat & Mahir Menguasai Akuntansi Keuangan Menengah (Indonesian Edition) Rahasia Cermat & Mahir Menguasai Akuntansi Keuangan Menengah (Indonesian Edition) Hery Hery Click here if your download doesn"t start automatically Rahasia Cermat & Mahir Menguasai Akuntansi Keuangan Menengah

Lebih terperinci

Review. Struktur Data & Algoritme (Data Structures & Algorithms) Objectives. Outline. Stacks & Queues

Review. Struktur Data & Algoritme (Data Structures & Algorithms) Objectives. Outline. Stacks & Queues Struktur Data & Algoritme (Data Structures & Algorithms) Stacks & Queues Review Abstract data type (ADT) Kumpulan obyek dan metoda operasi yang mempresentasikan sifat-sifat abstrak bagi "user" dengan menyembunyikan

Lebih terperinci

ANALISIS CAPAIAN OPTIMASI NILAI SUKU BUNGA BANK SENTRAL INDONESIA: SUATU PENGENALAN METODE BARU DALAM MENGANALISIS 47 VARIABEL EKONOMI UNTU

ANALISIS CAPAIAN OPTIMASI NILAI SUKU BUNGA BANK SENTRAL INDONESIA: SUATU PENGENALAN METODE BARU DALAM MENGANALISIS 47 VARIABEL EKONOMI UNTU ANALISIS CAPAIAN OPTIMASI NILAI SUKU BUNGA BANK SENTRAL INDONESIA: SUATU PENGENALAN METODE BARU DALAM MENGANALISIS 47 VARIABEL EKONOMI UNTU READ ONLINE AND DOWNLOAD EBOOK : ANALISIS CAPAIAN OPTIMASI NILAI

Lebih terperinci

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI

Sorting. Struktur Data dan Algoritma. Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI Struktur Data dan Algoritma Sorting Suryana Setiawan, Ruli Manurung & Ade Azurat (acknowledgments: Denny) Fasilkom UI SUR HMM AA Fasilkom UI - IKI20100/ IKI80110P 2009/2010 Ganjil Minggu 5 Outline Beberapa

Lebih terperinci

Algoritma Pencarian Blind. Breadth First Search Depth First Search

Algoritma Pencarian Blind. Breadth First Search Depth First Search Algoritma Pencarian Blind Breadth First Search Depth First Search Deskripsi Merupakan algoritma untuk mencari kemungkinan penyelesaian Sering dijumpai oleh peneliti di bidang AI Mendefinisikan permasalahan

Lebih terperinci

Analisis Kecepatan Sorting Dengan Notasi Big O

Analisis Kecepatan Sorting Dengan Notasi Big O Analisis Kecepatan Sorting Dengan Notasi Big O Rama Aulia NIM : 13506023 Program Studi Teknik Informatika, Institut Teknologi Bandung Jl. Ganesha 10, Bandung E-mail : ramaaulia@yahoo.co.id Abstrak Sorting

Lebih terperinci

TEKNIK KOMPUTASI TEI 116/A. Jurusan Teknik Elektro dan Teknologi Informasi Universitas Gadjah Mada 2011

TEKNIK KOMPUTASI TEI 116/A. Jurusan Teknik Elektro dan Teknologi Informasi Universitas Gadjah Mada 2011 TEKNIK KOMPUTASI TEI 116/A Jurusan Teknik Elektro dan Teknologi Informasi Universitas Gadjah Mada 2011 Why teknik komputasi? Komputasi or computation comes from the word compute that is make a mathematical

Lebih terperinci

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati

Quick Sort dan Merge Sort. Arna Fariza Yuliana Setiowati Quick Sort dan Merge Sort Arna Fariza Yuliana Setiowati Ide Quicksort Tentukan pivot. Bagi Data menjadi 2 Bagian yaitu Data kurang dari dan Data lebih besar dari pivot. Urutkan tiap bagian tersebut secara

Lebih terperinci

Langkah Awal menuju Analisis Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma Langkah Awal menuju Analisis Kompleksitas Algoritma Isi Proses Desain dan Analisis Algoritma Tipe-tipe Problem yang penting Kebutuhan akan algoritma yang efisien Analisis framework 2 Proses Desain dan

Lebih terperinci

Sorting Algorithms. Divide and Conquer

Sorting Algorithms. Divide and Conquer 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Sorting Algorithms 1 Divide and Conquer Metode Divide and Conquer, setiap kali memecah persoalan menjadi setengahnya, namun menggunakan hasil dari

Lebih terperinci

Program Attributes. Algorithm Analysis. Time Consumption. Algoritma

Program Attributes. Algorithm Analysis. Time Consumption. Algoritma Algorithm Aalysis Kita perlu memproses jumlah data yag sagat besar. Harus diyakika bahwa program berheti dalam batas waktu yag wajar (reasoable) Tidak terikat pada programmig laguage atau bahka metolodologi

Lebih terperinci

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Data Structures. Class 5 Pointer. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Data Structures Class 5 Pointer McGraw-Hill Technology Education Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved. What is a variable? 1. Each variable must be defined before you can

Lebih terperinci

Organisasi Sistem Komputer

Organisasi Sistem Komputer Organisasi Sistem Komputer Materi III Binary Digit (Number System) Dr. Hary Budiarto Program Pasca Sarjana Universitas Putra Indonesia YPTK Padang Komputer Digital Hanya mengenal dua status (mis. ada /

Lebih terperinci

STRATEGI DIVIDE AND CONQUER

STRATEGI DIVIDE AND CONQUER Pemrogram bertanggung jawab atas implementasi solusi. Pembuatan program akan menjadi lebih sederhana jika masalah dapat dipecah menjadi sub masalah - sub masalah yang dapat dikelola. Penyelesaian masalah

Lebih terperinci

Langkah Awal menuju Analisis Kompleksitas Algoritma

Langkah Awal menuju Analisis Kompleksitas Algoritma Langkah Awal menuju Analisis Kompleksitas Algoritma Analisis dan Strategi Algoritma CS3024-FAZ 1 Isi Proses Desain dan Analisis Algoritma Tipe-tipe Problem yang penting Kebutuhan akan algoritma yang efisien

Lebih terperinci

UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014

UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014 UJIAN AKHIR SEMESTER GANJIL 2005/2006 ALGORITMA & STRUKTUR DATA / CS2014 NIM: Nama : HARI : Rabu, 4 Januari 2006 WAKTU : 135 Menit Tanda tangan: DOSEN : TIM SIFAT : Tutup Buku Petunjuk Baca dengan teliti

Lebih terperinci

Sorting Algorithms. Buble Sort

Sorting Algorithms. Buble Sort 1. Insertion 2. Selection 3. Bubble 4. Shell 5. Quick 6. Merge Sorting Algorithms 1 Buble Sort Metode gelembung (bubble sort) disebut dengan metode penukaran (exchange sort) adalah metode yang mengurutkan

Lebih terperinci

Line VS Bezier Curve. Kurva Bezier. Other Curves. Drawing the Curve (1) Pertemuan: 06. Dosen Pembina Danang Junaedi Sriyani Violina IF-UTAMA 2

Line VS Bezier Curve. Kurva Bezier. Other Curves. Drawing the Curve (1) Pertemuan: 06. Dosen Pembina Danang Junaedi Sriyani Violina IF-UTAMA 2 Line VS Bezier Curve Kurva Bezier Pertemuan: 06 Dosen Pembina Danang Junaedi Sriyani Violina IF-UTAMA 1 IF-UTAMA 2 Other Curves Drawing the Curve (1) IF-UTAMA 3 IF-UTAMA 4 1 Drawing the Curve (2) Algoritma

Lebih terperinci

LINEAR PROGRAMMING-1

LINEAR PROGRAMMING-1 /5/ LINEAR PROGRAMMING- DR.MOHAMMAD ABDUL MUKHYI, SE., MM METODE KUANTITATIF Perumusan PL Ada tiga unsur dasar dari PL, ialah:. Fungsi Tujuan. Fungsi Pembatas (set ketidak samaan/pembatas strukturis) 3.

Lebih terperinci

Design and Analysis of Algorithm

Design and Analysis of Algorithm Design and Analysis of Algorithm Week 1: Introduction Dr. Putu Harry Gunawan 1 1 Department of Computational Science School of Computing Telkom University Dr. Putu Harry Gunawan (Telkom University) Design

Lebih terperinci

ORGANISASI DAN ARSITEKTUR KOMPUTER

ORGANISASI DAN ARSITEKTUR KOMPUTER 1 ORGANISASI DAN ARSITEKTUR KOMPUTER Wisnu Djatmiko TM 2 Daftar Pustaka 2 1. Bab 1 Wisnu Djatmiko Daftar Pustaka 3 2. Bab 2 Wisnu Djatmiko TIK 4 Peserta MK Arsikom dapat menjelaskan definisi CPU Time dengan

Lebih terperinci

Keseimbangan Torsi Coulomb

Keseimbangan Torsi Coulomb Hukum Coulomb Keseimbangan Torsi Coulomb Perputaran ini untuk mencocokan dan mengukur torsi dalam serat dan sekaligus gaya yang menahan muatan Skala dipergunakan untuk membaca besarnya pemisahan muatan

Lebih terperinci

BAB III ANALISIS KOMPLEKSITAS ALGORITMA

BAB III ANALISIS KOMPLEKSITAS ALGORITMA BAB III ANALISIS KOMPLEKSITAS ALGORITMA 3.1 Kompleksitas Algoritma Suatu masalah dapat mempunyai banyak algoritma penyelesaian. Algoritma yang digunakan tidak saja harus benar, namun juga harus efisien.

Lebih terperinci

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT

ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT ANALISIS PERBANDINGAN ALGORITMA SELECTION SORT DENGAN MERGE SORT Disusun untuk memenuhi tugas UTS mata kuliah : Analisis Algoritma Oleh : Eka Risky Firmansyah 1110091000043 Program Studi Teknik Informatika

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Bahan Kuliah IF2120 Matematika Disktit Rinaldi M/IF2120 Matdis 1 Rinaldi M/IF2120 Matdis 2 Pendahuluan Sebuah masalah dapat mempunyai banyak algoritma penyelesaian. Contoh: masalah

Lebih terperinci

E VA D A E L U M M A H K H O I R, M. A B. P E R T E M U A N 2 A N A

E VA D A E L U M M A H K H O I R, M. A B. P E R T E M U A N 2 A N A HANDLING TAMU E VA D A E L U M M A H K H O I R, M. A B. P E R T E M U A N 2 A N A CARA PENERIMAAN TAMU Menanyakan nama dan keperluan (RESEPSIONIS) Good Morning. What can I do for you? Good morning, can

Lebih terperinci

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data & Algoritme (Data Structures & Algorithms) Stacks & Queues Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap -

Lebih terperinci

Membangun Menara karakter (Indonesian Edition)

Membangun Menara karakter (Indonesian Edition) Membangun Menara karakter (Indonesian Edition) Stella Olivia Click here if your download doesn"t start automatically Membangun Menara karakter (Indonesian Edition) Stella Olivia Membangun Menara karakter

Lebih terperinci

Algoritma dan Struktur Data. Performansi Algoritma

Algoritma dan Struktur Data. Performansi Algoritma Algoritma dan Struktur Data Performansi Algoritma Teknik Informatika Universitas Muhammadiyah Malang 2016 Mana yang lebih baik? pilihan 1 : Algoritma biasa dengan komputer yang cepat. pilihan 2 : Menggunakan

Lebih terperinci

6 KERANJANG 7 LANGKAH API (INDONESIAN EDITION) BY LIM TUNG NING

6 KERANJANG 7 LANGKAH API (INDONESIAN EDITION) BY LIM TUNG NING 6 KERANJANG 7 LANGKAH API (INDONESIAN EDITION) BY LIM TUNG NING READ ONLINE AND DOWNLOAD EBOOK : 6 KERANJANG 7 LANGKAH API (INDONESIAN EDITION) BY LIM TUNG NING PDF Click button to download this ebook

Lebih terperinci

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER

SORTING DENGAN ALGORITMA DIVIDE AND CONQUER SORTING DENGAN ALGORITMA DIVIDE AND CONQUER Ibnu Alam (13506024) Teknik Informatika Institut Teknologi Bandung Jalan Ganesha 10 if16024@students.if.itb.ac.id ABSTRAK Kemangkusan program adalah salah satu

Lebih terperinci

Statistik Bisnis 1. Week 9 Discrete Probability

Statistik Bisnis 1. Week 9 Discrete Probability Statistik Bisnis 1 Week 9 Discrete Probability Random Variables Random Variables Discrete Random Variable Continuous Random Variable Wk. 9 Wk. 10 Probability Distributions Probability Distributions Wk.

Lebih terperinci

Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai:

Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai: Setelah mempelajari topik Analisis Algoritma di kuliah SDA, ada beberapa kompetensi yang perlu Anda kuasai: Menentukan kompleksitas waktu (Big-Oh) dari beberapa algoritma (logaritmik, linier, kuadratik,

Lebih terperinci

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data & Algoritme (Data Structures & Algorithms) Pengantar Denny denny@cs.ui.ac.id Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2000/2001 Version 1.0 - Internal Use Only Tujuan

Lebih terperinci

Virtual Memory Ch. 9. Virtual Memory. SISTIM OPERASI (Operating System) IKI Johny Moningka

Virtual Memory Ch. 9. Virtual Memory. SISTIM OPERASI (Operating System) IKI Johny Moningka Virtual Memory Ch. 9 SISTIM OPERASI (Operating System) IKI-00 Johny Moningka (moningka@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester 000/00 Virtual Memory Background Demand Paging

Lebih terperinci

Sistem Informasi. Soal Dengan 2 Bahasa: Bahasa Indonesia Dan Bahasa Inggris

Sistem Informasi. Soal Dengan 2 Bahasa: Bahasa Indonesia Dan Bahasa Inggris Sistem Informasi Soal Dengan 2 Bahasa: Bahasa Indonesia Dan Bahasa Inggris 1. Kita mengetahui bahwa perkembangan teknologi di zaman sekarang sangat pesat dan banyak hal yang berubah dalam kehidupan kita.

Lebih terperinci

Rekursif. Overview. Tujuan Instruksional

Rekursif. Overview. Tujuan Instruksional Rekursif Pertemuan : 6-7 Disusun oleh : Danang Junaedi Jurusan Teknik Informatika Universitas Widyatama Overview Tujuan Instruksional Review Fungsi & Prosedur Introduction of Recursion Definition Recursion

Lebih terperinci

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 08

Design and Analysis Algorithm. Ahmad Afif Supianto, S.Si., M.Kom. Pertemuan 08 Design and Analysis Algorithm Ahmad Afif Supianto, S.Si., M.Kom Pertemuan 0 Contents 4 Decrease and Conguer Insertion and Selection Sort DFS and BFS Binary Search Tree Decrease and conquer. Mengurangi

Lebih terperinci

Easy & Simple - Web Programming: Belajar Pemprograman Website Secara Efektif dan Efisien (Indonesian Edition)

Easy & Simple - Web Programming: Belajar Pemprograman Website Secara Efektif dan Efisien (Indonesian Edition) Easy & Simple - Web Programming: Belajar Pemprograman Website Secara Efektif dan Efisien (Indonesian Edition) Rohi Abdulloh Click here if your download doesn"t start automatically Easy & Simple - Web Programming:

Lebih terperinci

MANAJEMEN RISIKO 1 (INDONESIAN EDITION) BY IKATAN BANKIR INDONESIA

MANAJEMEN RISIKO 1 (INDONESIAN EDITION) BY IKATAN BANKIR INDONESIA Read Online and Download Ebook MANAJEMEN RISIKO 1 (INDONESIAN EDITION) BY IKATAN BANKIR INDONESIA DOWNLOAD EBOOK : MANAJEMEN RISIKO 1 (INDONESIAN EDITION) BY IKATAN Click link bellow and free register

Lebih terperinci

32-bit and 64-bit Windows: Frequently asked questions

32-bit and 64-bit Windows: Frequently asked questions 32-bit and 64-bit Windows: Frequently asked questions // // Here are answers to some common questions about the 32-bit and 64-bit versions of Windows. Frequently asked questions Collapse all What is the

Lebih terperinci

Data Structures. Class 4 Arrays. Pengampu : TATI ERLINA, M.I.T. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved.

Data Structures. Class 4 Arrays. Pengampu : TATI ERLINA, M.I.T. Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved. Data Structures Class 4 Arrays Pengampu : TATI ERLINA, M.I.T. McGraw-Hill Technology Education Copyright 2006 by The McGraw-Hill Companies, Inc. All rights reserved. DESKRIPSI Bayangkan jika kita memiliki

Lebih terperinci

Analisa Kompleksitas Algoritma. Sunu Wibirama

Analisa Kompleksitas Algoritma. Sunu Wibirama Analisa Kompleksitas Algoritma Sunu Wibirama Referensi Cormen, T.H., Leiserson, C.E., Rivest, R.L., Stein, C., Introduction to Algorithms 2nd Edition, Massachusetts: MIT Press, 2002 Sedgewick, R., Algorithms

Lebih terperinci

Informatics Class A UISI CALCULUS I WEEK 2 DAY 2

Informatics Class A UISI CALCULUS I WEEK 2 DAY 2 Informatics Class A UISI CALCULUS I WEEK 2 DAY 2 SLIDE AND ASSIGNMENT teachingnation.wordpress.com OUTLINE Recap Equalities Functions Domain and Range Graph Operations on Functions Inverse Trigonometry

Lebih terperinci

KESASTRAAN MELAYU TIONGHOA DAN KEBANGSAAN INDONESIA: JILID 2 FROM KPG (KEPUSTAKAAN POPULER GRAMEDIA)

KESASTRAAN MELAYU TIONGHOA DAN KEBANGSAAN INDONESIA: JILID 2 FROM KPG (KEPUSTAKAAN POPULER GRAMEDIA) Read Online and Download Ebook KESASTRAAN MELAYU TIONGHOA DAN KEBANGSAAN INDONESIA: JILID 2 FROM KPG (KEPUSTAKAAN POPULER GRAMEDIA) DOWNLOAD EBOOK : KESASTRAAN MELAYU TIONGHOA DAN KEBANGSAAN Click link

Lebih terperinci

1-x. dimana dan dihubungkan oleh teorema Pythagoras.

1-x. dimana dan dihubungkan oleh teorema Pythagoras. `2. Menyelesaikan persamaan dengan satu variabel Contoh: Berdasarkan Hukum Archimedes, suatu benda padat yang lebih ringan daripada air dimasukkan ke dalam air, maka benda tersebut akan mengapung. Berat

Lebih terperinci

The Essence of Programming & Problem Solving

The Essence of Programming & Problem Solving The Essence of Programming & Problem Solving TMB208 Pemrograman Teknik Kredit: 3 (2-3) PROBLEM SOLVING Engineers must analyze and solve a wide range of technical problems. Some will be reasonably simple

Lebih terperinci

SUKSES BERBISNIS DI INTERNET DALAM 29 HARI (INDONESIAN EDITION) BY SOKARTO SOKARTO

SUKSES BERBISNIS DI INTERNET DALAM 29 HARI (INDONESIAN EDITION) BY SOKARTO SOKARTO Read Online and Download Ebook SUKSES BERBISNIS DI INTERNET DALAM 29 HARI (INDONESIAN EDITION) BY SOKARTO SOKARTO DOWNLOAD EBOOK : SUKSES BERBISNIS DI INTERNET DALAM 29 HARI Click link bellow and free

Lebih terperinci

Struktur Data & Algoritme (Data Structures & Algorithms)

Struktur Data & Algoritme (Data Structures & Algorithms) Struktur Data & Algoritme (Data Structures & Algorithms) B Trees Denny (denny@cs.ui.ac.id) Suryana Setiawan (setiawan@cs.ui.ac.id) Fakultas Ilmu Komputer Universitas Indonesia Semester Genap - 2004/2005

Lebih terperinci

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha

ABSTRACT. Keyword: Algorithm, Depth First Search, Breadth First Search, backtracking, Maze, Rat Race, Web Peta. Universitas Kristen Maranatha ABSTRACT In a Rat Race game, there is only one way in and one way out. The objective of this game is to find the shortest way to reach the finish. We use a rat character in this game, so the rat must walk

Lebih terperinci

Melakukan Operasi Logika

Melakukan Operasi Logika Melakukan Operasi Logika Hampir semua statemen C++ adalah ekspresi. Operator C++ selain +, -, /, * yakni operator logika. Pada dasarnya orang2 menghitung menggunakan operasi AND dan OR Mengapa Menggunakan

Lebih terperinci

Practical Communication Skill: dalam Bisnis, Organisasi, dan Kehidupan (Indonesian Edition)

Practical Communication Skill: dalam Bisnis, Organisasi, dan Kehidupan (Indonesian Edition) Practical Communication Skill: dalam Bisnis, Organisasi, dan Kehidupan (Indonesian Edition) Click here if your download doesn"t start automatically Practical Communication Skill: dalam Bisnis, Organisasi,

Lebih terperinci

SIMULASI MONTE CARLO RISK MANAGEMENT DEPARTMENT OF INDUSTRIAL ENGINEERING

SIMULASI MONTE CARLO RISK MANAGEMENT DEPARTMENT OF INDUSTRIAL ENGINEERING SIMULASI MONTE CARLO RISK MANAGEMENT DEPARTMENT OF INDUSTRIAL ENGINEERING PENGANTAR Simulasi Monte Carlo didefinisikan sebagai semua teknik sampling statistik yang digunakan untuk memperkirakan solusi

Lebih terperinci

Kompleksitas Algoritma

Kompleksitas Algoritma Kompleksitas Algoritma Sebuah algoritma tidak saja harus benar, tetapi juga harus mangkus (efisien). Algoritma yang bagus adalah algoritma yang mangkus. Kemangkusan algoritma diukur dari berapa jumlah

Lebih terperinci

ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM

ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM ADDING RTGS BENEFICIARY FOR CHECKER MAKER SYSTEM Jika anda menggunakan checker maker maka akan ada satu petugas maker yang akan membuat data entry dan satu petugas checker yang akan melakukan autorisasi

Lebih terperinci

TIF APPLIED MATH 1 (MATEMATIKA TERAPAN 1) Week 3 SET THEORY (Continued)

TIF APPLIED MATH 1 (MATEMATIKA TERAPAN 1) Week 3 SET THEORY (Continued) TIF 21101 APPLIED MATH 1 (MATEMATIKA TERAPAN 1) Week 3 SET THEORY (Continued) OBJECTIVES: 1. Subset and superset relation 2. Cardinality & Power of Set 3. Algebra Law of Sets 4. Inclusion 5. Cartesian

Lebih terperinci

Relasi Negara & Agama: Redefinisi Diskursus Konstitusionalisme (Rangkaian Studi IMR)

Relasi Negara & Agama: Redefinisi Diskursus Konstitusionalisme (Rangkaian Studi IMR) Relasi Negara & Agama: Redefinisi Diskursus Konstitusionalisme (Rangkaian Studi IMR) Yudi Junadi Click here if your download doesn"t start automatically Relasi Negara & Agama: Redefinisi Diskursus Konstitusionalisme

Lebih terperinci

4. Seorang tukang sablon membuat nomor dada pada 100 kaos mulai dari nomor 1 sampai dengan nomor 251. Banyaknya angka 0 yang ia buat adalah...

4. Seorang tukang sablon membuat nomor dada pada 100 kaos mulai dari nomor 1 sampai dengan nomor 251. Banyaknya angka 0 yang ia buat adalah... BABAK 1 SOAL ISIAN SINGKAT 1. In how many ways can be written as a sum of two fractions in lowest term given that the denominators of the two fractions are different and are each not more than 12? 2. 1000

Lebih terperinci

GROWTH AND UNDERINVESTMENT PROGRAM STUDI ADMINISTRASI BISNIS UNIVERSITAS BRAWIJAYA

GROWTH AND UNDERINVESTMENT PROGRAM STUDI ADMINISTRASI BISNIS UNIVERSITAS BRAWIJAYA GROWTH AND UNDERINVESTMENT PROGRAM STUDI ADMINISTRASI BISNIS UNIVERSITAS BRAWIJAYA GROWTH AND UNDERINVESTMENT GROWTH AND UNDERINVESTMENT Pada situasi Growth and underinvestment", pendekatan pertumbuhan

Lebih terperinci

Secuil Cerita tentang Facebook Hacker Cup 2012 Qualification Round [Part II]

Secuil Cerita tentang Facebook Hacker Cup 2012 Qualification Round [Part II] SherinaCode Secuil Cerita tentang Facebook Hacker Cup 2012 Qualification Round [Par http://hanf_aff.staff.ipb.ac.id/2012/01/25/secuil-cerita-tentang-facebook-hacker-cup-2012-qualificati o Secuil Cerita

Lebih terperinci

PAM 253 PERSAMAAN DIFERENSIAL BIASA Topik: Pendahuluan. Mahdhivan Syafwan

PAM 253 PERSAMAAN DIFERENSIAL BIASA Topik: Pendahuluan. Mahdhivan Syafwan PAM 53 PERSAMAAN DIFERENSIAL BIASA Topik: Pendahuluan Mahdhivan Syafwan Newton's Law of Cooling http://www.biology.arizona.edu/biomath/tutorials/applications/applications.html Chemical Pollution in a Lake

Lebih terperinci

Membangun Menara karakter (Indonesian Edition)

Membangun Menara karakter (Indonesian Edition) Membangun Menara karakter (Indonesian Edition) Stella Olivia Click here if your download doesn"t start automatically Membangun Menara karakter (Indonesian Edition) Stella Olivia Membangun Menara karakter

Lebih terperinci

Algoritma Greedy (Bagian 2) IF2251 Strategi Algoritmik Oleh: Rinaldi Munir

Algoritma Greedy (Bagian 2) IF2251 Strategi Algoritmik Oleh: Rinaldi Munir Algoritma Greedy (Bagian 2) IF2251 Strategi Algoritmik Oleh: Rinaldi Munir 1 5. Penjadwalan Job dengan Tenggat Waktu (Job Schedulling with Deadlines) Persoalan: - Ada n buah job yang akan dikerjakan oleh

Lebih terperinci

Informasi Data Pokok Kota Surabaya Tahun 2012 BAB I GEOGRAFIS CHAPTER I GEOGRAPHICAL CONDITIONS

Informasi Data Pokok Kota Surabaya Tahun 2012 BAB I GEOGRAFIS CHAPTER I GEOGRAPHICAL CONDITIONS BAB I GEOGRAFIS CHAPTER I GEOGRAPHICAL CONDITIONS Indonesia sebagai negara tropis, oleh karena itu kelembaban udara nya sangat tinggi yaitu sekitar 70 90% (tergantung lokasi - lokasi nya). Sedangkan, menurut

Lebih terperinci

Bab 2. Instructions: Bahasa dari Komputer

Bab 2. Instructions: Bahasa dari Komputer Bab 2. Instructions: Bahasa dari Komputer Introduction ke MIPS machine Set dari MIPS instruction MMD 2405 Andi WRE 1 Register vs. Memori Komponen dari sebuah komputer Prosesor, memori, input, dan output

Lebih terperinci

Decrease and Conquer

Decrease and Conquer Decrease and Conquer Bahan Kuliah IF2211 Strategi Algoritma Oleh: Rinaldi Munir Program Studi Teknik Informatika Sekolah Teknik Elektro dan Informatika ITB 1 Decrease and conquer: metode desain algoritma

Lebih terperinci

Tipe Boolean. Oleh : Fiftin Noviyanto

Tipe Boolean. Oleh : Fiftin Noviyanto Oleh : Fiftin Noviyanto Tipe Boolean Operator aritmatika menghasilkan angka. Sedangkan operator relational dan operator logika menghasilkan nilai TRUE/FALSE. Tipe boolean, diambil dari nama seorang ahli

Lebih terperinci

Dynamic Programming Matakuliah Desain & Analisis Algoritma (CS 3024) ZK Abdurahman Baizal STT Telkom Bandung

Dynamic Programming Matakuliah Desain & Analisis Algoritma (CS 3024) ZK Abdurahman Baizal STT Telkom Bandung Dynamic Programming Matakuliah Desain & Analisis Algoritma (CS 3024) ZK Abdurahman Baizal STT Telkom Bandung Ditemukan oleh Seorang matematikawan AS, Richard Bellman tahun 1950 Kata Programming lebih mengacu

Lebih terperinci

365 Menu Sukses MP-ASI selama 1 tahun Menu Pendamping ASI untuk Bayi Usia 7-18 Bulan (Indonesian Edition)

365 Menu Sukses MP-ASI selama 1 tahun Menu Pendamping ASI untuk Bayi Usia 7-18 Bulan (Indonesian Edition) 365 Menu Sukses MP-ASI selama 1 tahun Menu Pendamping ASI untuk Bayi Usia 7-18 Bulan (Indonesian Edition) Hindah J. Muaris Click here if your download doesn"t start automatically 365 Menu Sukses MP-ASI

Lebih terperinci