<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Heru C Rustamaji &#187; analisa algoritma</title>
	<atom:link href="http://herucr.com/tag/analisa-algoritma/feed" rel="self" type="application/rss+xml" />
	<link>http://herucr.com</link>
	<description>Pak Dosen juga nge-Blog</description>
	<lastBuildDate>Fri, 04 Feb 2011 13:45:39 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.4</generator>
		<item>
		<title>Analisa Algoritma</title>
		<link>http://herucr.com/analisa-algoritma.html</link>
		<comments>http://herucr.com/analisa-algoritma.html#comments</comments>
		<pubDate>Sat, 17 Jan 2009 00:45:31 +0000</pubDate>
		<dc:creator>heru</dc:creator>
				<category><![CDATA[Perkuliahan]]></category>
		<category><![CDATA[analisa algoritma]]></category>

		<guid isPermaLink="false">http://herucr.com/analisa-algoritma.html</guid>
		<description><![CDATA[Semester ini, salah satu materi kuliah yang ditugaskan oleh jurusan kepada saya adalah analisa algoritma (2 SKS). Fokus matakuliah ini adalah pemecahan masalah dengan berbagai strategi algoritma, disamping juga melakukan perhitungan kompleksitas algoritmanya. Seperti biasa, materi secara lengkap dapat dilihat dan didownload di LMS UPN “Veteran” Yogyakarta. Pertemuan direncanakan selama 14 kali ditambah dengan UTS [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-102" title="analgo" src="http://herucr.com/wp-content/uploads/2009/01/analgo-142x150.gif" alt="analgo" width="142" height="150" />Semester ini, salah satu materi kuliah yang ditugaskan oleh jurusan kepada saya adalah analisa algoritma (2 SKS).  Fokus matakuliah ini adalah pemecahan masalah dengan berbagai strategi algoritma, disamping juga melakukan perhitungan kompleksitas algoritmanya.  Seperti biasa, materi secara lengkap dapat dilihat dan didownload di LMS UPN “Veteran” Yogyakarta.  Pertemuan direncanakan selama 14 kali ditambah dengan UTS dan UAS. Berikut resume setiap pertemuan</p>
<ol>
<li>Pendahuluan, sekedar mengingatkan mengenai sejarah dan istilah, mengingat kembali berbagai teknik pemrograman, Dijelaskan pula mengenai materi kuliah,RPS, referensi, serta pre test untuk melihat sejauh mana pengetahuan mengenai algoritma.</li>
<li> Konsep algoritma, berisi konsep dasar algoritma, tahapan algoritma, menegaskan  kembali ciri algoritma yang baik, menjelaskan strategi algoritma, serta mengulang kembali notasi matematik yang penting bagi perkuliahan ini.</li>
<li>Running Time, membahas mengenai efisiensi algoritma, serta melakukan pengukuran running time pada berbagai algoritma yang sederhana.</li>
<li> Faktor analisa algoritma, membahas running time dan penggunaan memory, kompleksitas waktu serta best, worst dan average case</li>
<li> Notasi Asymptotic, membahas Big Oh, Big Omega, Big Teta beserta sifat dan hubungannya.</li>
<li> Algoritma Rekursif, membahas  algoritma rekursif dengan studi kasus menara hanoi dan faktorial beserta perhitungan kompleksitasnya, menyelesaikan relasi rekurens linier dan koefisien konstan, serta menyelesaikan relasi rekurens dengan teorema master</li>
<li> Brute Force. Membahas algoritma brute force dengan studi kasus menghitung an,faktorial, perkalian matriks, mencari faktor, mencari elemen terbesar/terkecil, sequential search, bubble sort, polinom, serta membahas karakteristik algoritma brute force.</li>
<li> Exhaustive search, membahas  dengan berbagai studi kasus TSP, 1/0 knapsack, serangan pada kriptografi, serta solusi alternatif algoritma exhaustive search</li>
<li> Divide And Conquer, membahas algoritma divide and conquer dengan studi kasus minmax dan sorting (merge sort), serta menghitung kompleksitas waktunya.</li>
<li> Divide And Conquer (lanjutan), membahas studi kasus perpangkatan a serta perkalian matriks dengan algoritma strassen, dan menghitung kompleksitas waktunya</li>
<li> Algoritma greedy, membahas algoritma greedy dengan studi kasus penukaran uang, scheduling dan knapsack problem, beserta kompleksitas waktunya</li>
<li> Algoritma backtrack, membahas algoritma backtrack dengan studi kasus knapsack 0/1, persoalan n-ratu dan labirin, beserta kompleksitas waktunya</li>
<li> Dynamic programming , membahas pemrograman dinamis  dengan studi kasus lintasan terpendek, capital budgetting dan  knapsack 0/1, beserta kompleksitas waktunya</li>
<li> 14.	Dynamic programming membahas pemrograman dinamis dengan studi kasus TSP beserta kompleksitas waktunya.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://herucr.com/analisa-algoritma.html/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Materi kuliah semester pendek</title>
		<link>http://herucr.com/materi-kuliah-semester-pendek.html</link>
		<comments>http://herucr.com/materi-kuliah-semester-pendek.html#comments</comments>
		<pubDate>Tue, 24 Jun 2008 04:01:39 +0000</pubDate>
		<dc:creator>heru</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[analisa algoritma]]></category>
		<category><![CDATA[matematika diskret]]></category>
		<category><![CDATA[otomata dan pengantar kompilasi]]></category>

		<guid isPermaLink="false">http://herucr.wordpress.com/?p=52</guid>
		<description><![CDATA[Materi kuliah semester pendek untuk matakuliah matematika diskret, analisa algoritma dan otomata dan pengantar kompilasi sudah bisa didownload melalui http://ielisa.upnyk.ac.id , berada dalam format ppt dan tersusun untuk 13 kali perkuliahan, yaitu. Berikut deskripsi masing masing materi Analisa Algoritma Pendahuluan Konsep algoritma Running time Faktor analisa algoritma Notasi asimptotik Relasi Rekurens algoritma rekursif Brute Force [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone" src="http://i276.photobucket.com/albums/kk11/herucr/images.jpg" alt="" />Materi kuliah semester pendek untuk matakuliah matematika diskret, analisa algoritma dan otomata dan pengantar kompilasi sudah bisa didownload melalui <a href="http://ielisa.upnyk.ac.id" target="_blank">http://ielisa.upnyk.ac.id</a> , berada dalam format ppt dan tersusun untuk 13 kali perkuliahan, yaitu. Berikut deskripsi masing masing materi</p>
<p><span id="more-44"></span><strong>Analisa Algoritma</strong></p>
<p>Pendahuluan</p>
<p>Konsep algoritma</p>
<p>Running time</p>
<p>Faktor analisa algoritma</p>
<p>Notasi asimptotik</p>
<p>Relasi Rekurens algoritma rekursif</p>
<p>Brute Force</p>
<p>Exhaustive Search</p>
<p>Devide &amp; Conquer ( 2 pertemuan)</p>
<p>Algoritma Greedy</p>
<p>Algoritma Backtrack</p>
<p>Dynamic Programming<strong> </strong></p>
<p><strong>Matematika diskret</strong></p>
<p>Pengantar mat diskret</p>
<p>Himpunan</p>
<p>Relasi   (1 dan 2)</p>
<p>Fungsi</p>
<p>Pigeonhole Principle</p>
<p>Induksi matematika</p>
<p>Graph</p>
<p>Representasi graph</p>
<p>Aplikasi graph</p>
<p>Tree</p>
<p>Aplikasi tree</p>
<p><strong>Otomata dan Pengantar Kompilasi</strong></p>
<p>Pendahuluan</p>
<p>Konsep tatabahasa</p>
<p>Proses kompilasi</p>
<p>Otomata</p>
<p>Ekuivalensi NFA DFA</p>
<p>Ekspresi reguler</p>
<p>Analisa leksikal</p>
<p>Tatabahasa bebas konteks</p>
<p>Penyederhanaan tatabahasa bebas konteks</p>
<p>Analisa semantik dan  kode antara</p>
<p>Optimasi kode</p>
<p>Penanganan kesalahan</p>
<p>Pembangkit kode</p>
]]></content:encoded>
			<wfw:commentRss>http://herucr.com/materi-kuliah-semester-pendek.html/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Divide and Conquer</title>
		<link>http://herucr.com/divide-and-conquer.html</link>
		<comments>http://herucr.com/divide-and-conquer.html#comments</comments>
		<pubDate>Sat, 17 May 2008 00:41:50 +0000</pubDate>
		<dc:creator>heru</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[Perkuliahan]]></category>
		<category><![CDATA[analisa algoritma]]></category>

		<guid isPermaLink="false">http://herucr.wordpress.com/?p=30</guid>
		<description><![CDATA[Salah satu strategi penyelesaian masalah dalam bidang komputasi adalah menggunakan divide dan conquer. Caranya adalah memecah problem menjadi beberapa sub problem. Masing masing sub problem tersebut dipecahkan dan selanjutnya solusinya digabungkan dengan suatu mekanisme tertentu. Apabila sub problem tersebut masih tidak bisa dipecahkan secara langsung, maka sub problem tersebut dipecah kembali menjadi beberapa sub problem [...]]]></description>
			<content:encoded><![CDATA[<p>Salah satu strategi penyelesaian masalah dalam bidang komputasi adalah menggunakan divide dan conquer. Caranya adalah memecah problem menjadi beberapa sub problem. Masing masing sub problem tersebut dipecahkan dan selanjutnya solusinya digabungkan dengan suatu mekanisme tertentu. Apabila sub problem tersebut masih tidak bisa dipecahkan secara langsung, maka sub problem tersebut dipecah kembali menjadi beberapa sub problem secara divide an conquer. Dalam aplikasinya, hal tersebut bisa diselesaikan secara rekursif.</p>
<p><span id="more-31"></span><strong>BINARY SEARCH</strong></p>
<p>Salah satu penggunaan strategi penyelesaian menggunakan divide and conquer adalah dalam algoritma searching menggunakan binary search untuk suatu array yang telah terurut. Dengan menggunakan algoritma ini maka kompleksitas algoritma ini adalah O(log n). inilah algoritmanya :<br />
<code><br />
int BinSearch (KeyType A [], int n, KeyType Key,int &amp; Where)<br />
// Search A [0 .. n-1] for Key. If found return<br />
// TRUE and set Where to the subscript where found;<br />
// otherwise, return FALSE . Assume A is in ascending<br />
// sorted order and n &gt; 0 .<br />
{<br />
int Lo = 0, Hi = n;<br />
assert (n &gt; 0);<br />
while (Lo &lt; Hi - 1)<br />
{<br />
Where = (Lo + Hi) / 2;<br />
if (Key &lt; A [Where])<br />
Hi = Where;<br />
else<br />
Lo = Where;<br />
}<br />
Where = Lo;<br />
return (Key == A [Lo]);<br />
}<br />
</code><br />
<strong> MERGE SORT</strong></p>
<p>Inilah salah satu alternatif melakukan pengurutan /sorting menggunakan strategi divide and conquer. Kompleksitasnya algoritmanya dinyatakan dengan relasi rekurens T (n) = 2T (n/2) + n yang akan menghasilkan solusi O(n lg n)<br />
<code><br />
MergeSort (TYPE A [], int n)<br />
{<br />
if (n &gt; 1)<br />
{<br />
MergeSort (A, n/2);<br />
MergeSort (A + n/2, n - n/2)<br />
Merge (A, n/2, A + n/2, n - n/2, A)<br />
}<br />
}<br />
</code><br />
Kelemahan merge sort ini adalah dibutuhkan memory ekstra pada saat fase Merge, bukan menggunakan teknik &#8216;in-place&#8217;.</p>
<p><strong>PERKALIAN MATRIKS<br />
</strong></p>
<p>Perkalian matriks yang biasa dilakukan, apabila dibuat prosedurnya secara biasa akan menghasilkan kompleksitas O(n^3). Hal tersebut dilakukan dengan menghitung masing masing elemen hasil perkalian matriks dengan rumus</p>
<p>C(i,j) = ? A(i,k) B(k,j)</p>
<p>Namun hal tersebut bisa dipangkas lagi menggunakan algoritma strassen, dimana setiap matriks dibagi menjadi 4 partisi, sebagai contoh sebuah matriks A dipartisi menjadi</p>
<p>A11   |  A12<br />
&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
A21   |  A22</p>
<p>dan dilakukan perhitungan sebagai berikut</p>
<p>M1 = (A11 + A22)(B11 + B22)</p>
<p>M2 = (A11 + A22)B11</p>
<p>M3 = A11(B11 ? B22)</p>
<p>M4 = A22(B21 ? B11)</p>
<p>M5 = (A11 + A12)B22</p>
<p>M6 = (A21 ? A11)(B11 + B12)</p>
<p>M7 = (A12 ? A22)(B21 + B22)</p>
<p>Diperoleh hasil perkalian matriks sebagai berikut:</p>
<p>C11 = M1 + M4 ? M5 + M7</p>
<p>C12 = M3 + M5</p>
<p>C21 = M2 + M4</p>
<p>C22 = M1 + M3 ? M2 + M6</p>
<p>Kompleksitas algoritmanya dapat dihitung dengan formulasi berikut</p>
<p>M (n) = 7M (n/2)</p>
<p>M (1) = 1;</p>
<p>Relasi rekurens tersebut akan menghasilkan solusi O(n ^ 2.807)</p>
]]></content:encoded>
			<wfw:commentRss>http://herucr.com/divide-and-conquer.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

