<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-164165558817346669</id><updated>2024-09-27T23:56:13.895+07:00</updated><category term="Lyrik"/><category term="Tugas Sistem Operasi"/><category term="Hacking"/><category term="Mempercepat Koneksi Internet"/><category term="S. Data"/><category term="Facebook"/><category term="Komputer"/><category term="Gara2 Virus"/><category term="Campur Aduk"/><category term="Tugas Teknoprenersip"/><title type='text'>Kumpulan Tips Dan Trik Komputer</title><subtitle type='html'>Kumpulan tips dan trik komputer</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default?start-index=26&amp;max-results=25&amp;redirect=false'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>81</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-4837177866293574682</id><published>2012-06-16T09:44:00.001+07:00</published><updated>2012-06-16T09:44:48.342+07:00</updated><title type='text'>Aplikasi LBS Pemetaan ATM Di Kota Yogyakarta</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;IN&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;
   &lt;m:brkBin m:val=&quot;before&quot;/&gt;
   &lt;m:brkBinSub m:val=&quot;--&quot;/&gt;
   &lt;m:smallFrac m:val=&quot;off&quot;/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val=&quot;0&quot;/&gt;
   &lt;m:rMargin m:val=&quot;0&quot;/&gt;
   &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;
   &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;
   &lt;m:intLim m:val=&quot;subSup&quot;/&gt;
   &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;
  DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;
  LatentStyleCount=&quot;267&quot;&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:&quot;Table Normal&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin-top:0cm;
 mso-para-margin-right:0cm;
 mso-para-margin-bottom:10.0pt;
 mso-para-margin-left:0cm;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:&quot;Times New Roman&quot;;
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;br /&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;mso-tab-count: 1;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dengana adanya perkembangan teknologi internet yang cukup
pesat pada saat ini, kebutuhan akan informasi dan komunikasi menjadi salah satu
unsur yang sangat dibutuhkan . internet memegang peranan penting daalm proses
pendistribusian informasi dan dalam usaha pemenuhan informasi serta komunikasi,
pada saat ini sudah banyak masyarakat modern yang memiliki mobilitas yang
tinggi, menggunakan telepon selular sebagai salah satu sarana pendukung atau
media yang cocok dalam proses berkomunikasi dan mengakses informasi. &lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;text-align: justify;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;mso-tab-count: 1;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Dari tahun ketahun bank bank baru di indonesia mulai
bermunculan menawarkan fasilitas yang beragam, salah satunya adalah ATM, ATM (Anjungan
Tunai Mandiri) adalah sebuah alat elektronik yang mengijinkan nasabah bank
untuk mengambil uang dan mengecek rekening tabungan mereka tanpa perlu dilayani
oleh seorang &quot;teller&quot; manusia. Untuk mempermudah seseorang mengetahui
letak ATM di kota yogyakarta maka diperlukan sebuah informasi yang cepat dan
akurat untuk menunjukan lokasi ATM di kota yogyakarta, berdasarkan persoalan
diatas maka kelompok kami mencobaa merancang &lt;/span&gt;&lt;strong&gt;&lt;span style=&quot;font-family: &amp;quot;Calibri&amp;quot;,&amp;quot;sans-serif&amp;quot;; mso-ascii-theme-font: minor-latin; mso-bidi-font-family: &amp;quot;Times New Roman&amp;quot;; mso-bidi-theme-font: minor-bidi; mso-hansi-theme-font: minor-latin;&quot;&gt;Aplikasi Layanan Berbasis Lokasi Untuk Pemetaan
ATM Di Kota Yogyakarta.&lt;/span&gt;&lt;/strong&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12.0pt; line-height: 115%;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/4837177866293574682/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2012/06/aplikasi-lbs-pemetaan-atm-di-kota.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4837177866293574682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4837177866293574682'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2012/06/aplikasi-lbs-pemetaan-atm-di-kota.html' title='Aplikasi LBS Pemetaan ATM Di Kota Yogyakarta'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-5740352407300686763</id><published>2011-11-25T07:17:00.001+07:00</published><updated>2011-12-25T11:10:53.851+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>Stereo Hearts - Gym Class Heroes  Feat. Adam Levine</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
[Adam Levine:]&lt;br /&gt;
My heart&#39;s a stereo&lt;br /&gt;
It beats for you, so listen close&lt;br /&gt;
Hear my thoughts in every no-o-o-te&lt;br /&gt;
Make me your radio&lt;br /&gt;
And turn me up when you feel low&lt;br /&gt;
This melody was meant for you&lt;br /&gt;
Just sing along to my stereo&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
[Travie McCoy:]&lt;br /&gt;
Gym Class Heroes baby!&lt;br /&gt;
If I was just another dusty record on the shelf&lt;br /&gt;
Would you blow me off and play me like everybody else?&lt;br /&gt;
&amp;lt;span class=&quot;fullpost&quot;&amp;gt;&lt;br /&gt;
If I asked you to scratch my back, could you manage that?&lt;br /&gt;
Like yea fucked up, check it Travie, I can handle that&lt;br /&gt;
Furthermore, I apologize for any skipping tracks&lt;br /&gt;
It&#39;s just the last girl that played me left a couple cracks&lt;br /&gt;
I used to, used to, used to, now I&#39;m over that&lt;br /&gt;
&#39;Cause holding grudges over love is ancient artifacts&lt;br /&gt;
&lt;br /&gt;
If I could only find a note to make you understand&lt;br /&gt;
I&#39;d sing it softly in your ear and grab you by the hand&lt;br /&gt;
Just keep it stuck inside your head, like your favorite tune&lt;br /&gt;
And know my heart&#39;s a stereo that only plays for you&lt;br /&gt;
&lt;br /&gt;
[Chorus:]&lt;br /&gt;
My heart&#39;s a stereo&lt;br /&gt;
It beats for you, so listen close&lt;br /&gt;
Hear my thoughts in every no-o-o-te&lt;br /&gt;
Make me your radio&lt;br /&gt;
And turn me up when you feel low&lt;br /&gt;
This melody was meant for you&lt;br /&gt;
Just sing along to my stereo&lt;br /&gt;
&lt;br /&gt;
Oh oh oh oh, oh oh oh oh to my stereo&lt;br /&gt;
Oh oh oh oh so sing along to my stereo&lt;br /&gt;
&lt;br /&gt;
[Travie McCoy:]&lt;br /&gt;
Let&#39;s go!&lt;br /&gt;
If I was an old-school fifty pound boombox (remember them?)&lt;br /&gt;
Would you hold me on your shoulder wherever you walk&lt;br /&gt;
Would you turn my volume up in front of the cops (turn it up)&lt;br /&gt;
And crank it higher everytime they told you to stop&lt;br /&gt;
And all I ask is that you don&#39;t get mad at me&lt;br /&gt;
When you have to purchase mad D batteries&lt;br /&gt;
Appreciate every mixtape your friends make&lt;br /&gt;
You never know we come and go like on the interstate&lt;br /&gt;
&lt;br /&gt;
I think I finally found a note to make you understand&lt;br /&gt;
If you can hit it, sing along and take me by the hand&lt;br /&gt;
Just keep me stuck inside your head, like your favorite tune&lt;br /&gt;
You know my heart&#39;s a stereo that only plays for you&lt;br /&gt;
&lt;br /&gt;
[Chorus:]&lt;br /&gt;
My heart&#39;s a stereo&lt;br /&gt;
It beats for you, so listen close&lt;br /&gt;
Hear my thoughts in every no-o-o-te&lt;br /&gt;
Make me your radio&lt;br /&gt;
Turn me up when you feel low&lt;br /&gt;
This melody was meant for you&lt;br /&gt;
Just sing along to my stereo&lt;br /&gt;
&lt;br /&gt;
Oh oh oh oh, oh oh oh oh to my stereo&lt;br /&gt;
Oh oh oh oh so sing along to my stereo&lt;br /&gt;
&lt;br /&gt;
[Bridge:]&lt;br /&gt;
I only pray you&#39;ll never leave me behind (never leave me)&lt;br /&gt;
Because good music can be so hard to find (so hard to find)&lt;br /&gt;
I take your head and hold it closer to mine&lt;br /&gt;
Thought love was dead, but now you&#39;re changing my mind&lt;br /&gt;
&lt;br /&gt;
[Chorus:]&lt;br /&gt;
My heart&#39;s a stereo&lt;br /&gt;
It beats for you, so listen close&lt;br /&gt;
Hear my thoughts in every no-o-o-te&lt;br /&gt;
Make me your radio&lt;br /&gt;
Turn me up when you feel low&lt;br /&gt;
This melody was meant for you&lt;br /&gt;
Just sing along to my stereo&lt;br /&gt;
&lt;br /&gt;
Oh oh oh oh, oh oh oh oh to my stereo&lt;br /&gt;
Oh oh oh oh (Gym Class Heroes baby!) so sing along to my stereo&lt;br /&gt;
&lt;br /&gt;
Yeah&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/5740352407300686763/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/stereo-hearts-gym-class-heroes-feat.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/5740352407300686763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/5740352407300686763'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/stereo-hearts-gym-class-heroes-feat.html' title='Stereo Hearts - Gym Class Heroes  Feat. Adam Levine'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-540533430540780275</id><published>2011-11-25T07:16:00.001+07:00</published><updated>2011-12-25T11:17:03.278+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>Bruno Mars - The Lazy</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Today I don&#39;t feel like doing anything&lt;br /&gt;
I just wanna lay in my bed&lt;br /&gt;
Don&#39;t feel like picking up my phone&lt;br /&gt;
So leave a message at the tone&lt;br /&gt;
&#39;Cause today I swear I&#39;m not doing anything&lt;br /&gt;
&lt;br /&gt;
I&#39;m gonna kick my feet up&lt;br /&gt;
Then stare at the fan&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
Turn the TV on, throw my hand in my pants&lt;br /&gt;
Nobody&#39;s gonna tell me I can&#39;t&lt;br /&gt;
&amp;lt;span class=&quot;fullpost&quot;&amp;gt;&lt;br /&gt;
I&#39;ll be lounging on the couch,&lt;br /&gt;
Just chillin&#39; in my snuggie&lt;br /&gt;
Click to MTV, so they can teach me how to dougie&lt;br /&gt;
&#39;Cause in my castle I&#39;m the freaking man&lt;br /&gt;
Oh, oh&lt;br /&gt;
&lt;br /&gt;
Yes I said it&lt;br /&gt;
I said it&lt;br /&gt;
I said it &#39;cause I can&lt;br /&gt;
&lt;br /&gt;
Today I don’t feel like doing anything&lt;br /&gt;
I just wanna lay in my bed&lt;br /&gt;
Don’t feel like picking up my phone&lt;br /&gt;
So leave a message at the tone&lt;br /&gt;
&#39;Cause today I swear I&#39;m not doing anything&lt;br /&gt;
Nothing at all&lt;br /&gt;
&lt;br /&gt;
Tomorrow I&#39;ll wake up, do some P90X&lt;br /&gt;
Meet a really nice girl, have some really nice sex&lt;br /&gt;
And she&#39;s gonna scream out: &#39;This is Great&#39;&lt;br /&gt;
(Oh my god, this is great)&lt;br /&gt;
Yeah&lt;br /&gt;
&lt;br /&gt;
I might mess around, get my college degree&lt;br /&gt;
I bet my old man will be so proud of me&lt;br /&gt;
But sorry pops, you&#39;ll just have to wait&lt;br /&gt;
Oh, oh&lt;br /&gt;
&lt;br /&gt;
Yes I said it&lt;br /&gt;
I said it&lt;br /&gt;
I said it &#39;cause I can&lt;br /&gt;
&lt;br /&gt;
Today I don’t feel like doing anything&lt;br /&gt;
I just wanna lay in my bed&lt;br /&gt;
Don’t feel like picking up my phone&lt;br /&gt;
So leave a message at the tone&lt;br /&gt;
&#39;Cause today I swear I&#39;m not doing anything&lt;br /&gt;
&lt;br /&gt;
No, I ain&#39;t gonna comb my hair&lt;br /&gt;
&#39;Cause I ain&#39;t going anywhere&lt;br /&gt;
No, no, no, no, no, no, no, no, no, oh&lt;br /&gt;
&lt;br /&gt;
I&#39;ll just strut in my birthday suit&lt;br /&gt;
And let everything hang loose&lt;br /&gt;
Yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah, yeah-eah&lt;br /&gt;
&lt;br /&gt;
Oh&lt;br /&gt;
Today I don’t feel like doing anything&lt;br /&gt;
I just wanna lay in my bed&lt;br /&gt;
Don’t feel like picking up my phone&lt;br /&gt;
So leave a message at the tone&lt;br /&gt;
&#39;Cause today I swear I&#39;m not doing anything&lt;br /&gt;
&lt;br /&gt;
Nothing at all&lt;br /&gt;
Nothing at all&lt;br /&gt;
Nothing at all &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/540533430540780275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/bruno-mars-lazy.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/540533430540780275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/540533430540780275'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/bruno-mars-lazy.html' title='Bruno Mars - The Lazy'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-8766179722140964520</id><published>2011-11-25T07:13:00.001+07:00</published><updated>2011-12-25T11:14:07.888+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>Bad Meets Evil Feat. Bruno Mars - Lighter</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
[Chorus]&lt;br /&gt;This ones for you and me&lt;br /&gt;Living out our dreams&lt;br /&gt;We are right where we should be&lt;br /&gt;With my arms out wide&lt;br /&gt;I open my eyes&lt;br /&gt;And now&lt;br /&gt;All I wanna see&lt;br /&gt;Is a sky full of lighters&lt;br /&gt;A sky full of lighters&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;[Eminem]&lt;br /&gt;By the time you hear this I will have already spiraled up&lt;br /&gt;I would never do nothin to let you cowards fuck my world up&lt;br /&gt;If I was you I would duck or get struck like lightning fighters&lt;br /&gt;Keep fighting&lt;br /&gt;Put your lighters up&lt;br /&gt;Point em’ skyward UH!&lt;br /&gt;Had a dream I was king&lt;br /&gt;I woke up&lt;br /&gt;Still king&lt;br /&gt;This rap game’s nipples is mine&lt;br /&gt;For the milking&lt;br /&gt;Till nobody else even fuckin feels me&lt;br /&gt;Till it kills me&lt;br /&gt;I swear to god I’ll be the fucking illest in the music&lt;br /&gt;There is&lt;br /&gt;Or there ever will be&lt;br /&gt;Disagree? Feel free, but from now on I’m refusing, to ever give up,&lt;br /&gt;Only thing I ever gave up is using&lt;br /&gt;No more excuses&lt;br /&gt;Excuse me if my head’s too big for this building&lt;br /&gt;And pardon me if I’m a cocky prick&lt;br /&gt;But you cocks are slick&lt;br /&gt;Poppin shit on how you flipped your life around&lt;br /&gt;Crock of shit&lt;br /&gt;Who you dicks tryna’ kid?&lt;br /&gt;Flip dick you did opposite&lt;br /&gt;You stayed the same&lt;br /&gt;Cause cock backwards is still cock you prick&lt;br /&gt;I love it when I tell’em shove it&lt;br /&gt;Cause it wasn’t that&lt;br /&gt;Long ago&lt;br /&gt;When Marshall sat&lt;br /&gt;Flustered, lack lustered&lt;br /&gt;Cause he couldn’t cut&lt;br /&gt;Mustered&lt;br /&gt;Muster up&lt;br /&gt;Nothin&lt;br /&gt;Brain fuzzy&lt;br /&gt;Cause he’s buzzing&lt;br /&gt;Woke up from that buzz and now you wonder&lt;br /&gt;Why he does it how he does&lt;br /&gt;Wasn’t cause he had&lt;br /&gt;Buzzards circlin’ round his head&lt;br /&gt;Waitin for him to drop dead, was it?&lt;br /&gt;Or was it cause some bitches wrote him off&lt;br /&gt;Little hussy ass fusses&lt;br /&gt;Fuck it&lt;br /&gt;Guess it doesn’t matter now does it?&lt;br /&gt;What difference it make&lt;br /&gt;Whats it take?&lt;br /&gt;To get it through you thick skulls that this ain’t&lt;br /&gt;Some bullshit&lt;br /&gt;People don’t usually come back this way&lt;br /&gt;From a place that was as dark as I was&lt;br /&gt;And just to get to this place&lt;br /&gt;Some of these words be like a switchblades to a hater’s rib cage&lt;br /&gt;And let it be known that from this day forward&lt;br /&gt;I wanna just say thanks&lt;br /&gt;Cause your hate is what gave me the strength&lt;br /&gt;So let them bics raise&lt;br /&gt;Cause I came at 5’9″&lt;br /&gt;But I feel like I’m 6’8″&lt;br /&gt;&lt;br /&gt;[Chorus]&lt;br /&gt;This ones for you and me&lt;br /&gt;Living out our dreams&lt;br /&gt;Where are right where we should be&lt;br /&gt;With my arms out wide&lt;br /&gt;I open my eyes&lt;br /&gt;And now&lt;br /&gt;All I wanna see&lt;br /&gt;Is a sky full of lighters&lt;br /&gt;A sky full of lighters&lt;br /&gt;&lt;br /&gt;[Royce Da 5’9&quot;]&lt;br /&gt;By the time you hear this I probably already be outie&lt;br /&gt;I advance like going from toting iron to goin&lt;br /&gt;And buying 4 or 5 of the homies, to iron man outie&lt;br /&gt;My daddy told me, slow down boy you’re going to blow it&lt;br /&gt;And I ain’t gotta stop to be the minute to tell shady I love the same way that he did Dr. Dre on the chronic&lt;br /&gt;Tell’em how real he is&lt;br /&gt;Or how high I am&lt;br /&gt;Or how I would kill him, for him to know it&lt;br /&gt;I cry when he tears&lt;br /&gt;My daddy gotta bad back&lt;br /&gt;So its only right that I write&lt;br /&gt;Till he can march right in to that post office and tell’em to hang it up&lt;br /&gt;Now his careers Lebron’s jersey in twenty years&lt;br /&gt;I stop when I’m at the very top&lt;br /&gt;You shitted on me on your way up&lt;br /&gt;It’s bout to be a scary drop&lt;br /&gt;Cause what goes up&lt;br /&gt;Must come down&lt;br /&gt;You goin down&lt;br /&gt;I’m somethin you don’t wanna see&lt;br /&gt;Like a hairy box&lt;br /&gt;Every hour&lt;br /&gt;Happy hour now&lt;br /&gt;Life is wacky now&lt;br /&gt;Used to have to eat the cat to get the pussy&lt;br /&gt;Now I’m just a cat’s meow&lt;br /&gt;Owwww&lt;br /&gt;I’m classic now&lt;br /&gt;Always down for the catch-way&lt;br /&gt;Like Pacquiao&lt;br /&gt;Yall are doomed&lt;br /&gt;I remember when T-Pain ain’t wanna work with me&lt;br /&gt;My car starts itself&lt;br /&gt;Parks itself&lt;br /&gt;And auto-tunes&lt;br /&gt;Cause now I’m in the Astin&lt;br /&gt;I went from having my city locked up&lt;br /&gt;To getting treated like Kwame Kilpatrick&lt;br /&gt;And now I’m fantastic&lt;br /&gt;Compared to a weed high&lt;br /&gt;And yall’ niggas the sky sippin like bitches&lt;br /&gt;On a radio and TV&lt;br /&gt;See me, we fly&lt;br /&gt;Y’all buggin out like Wendy Williams&lt;br /&gt;Starin’ at a bee hive&lt;br /&gt;And how real is that?&lt;br /&gt;I remember signing my first deal&lt;br /&gt;Now I’m the second best&lt;br /&gt;I can deal with that&lt;br /&gt;Now Bruno can show his ass&lt;br /&gt;Without the MTV awards gag&lt;br /&gt;&lt;br /&gt;[Bridge]&lt;br /&gt;You and I&lt;br /&gt;Know what it’s like&lt;br /&gt;To be kicked down&lt;br /&gt;Forced to fight&lt;br /&gt;But tonight&lt;br /&gt;We’re alright&lt;br /&gt;So hold up your lights&lt;br /&gt;Let it shine&lt;br /&gt;Cause..&lt;br /&gt;&lt;br /&gt;[Chorus]&lt;br /&gt;This ones for you and me&lt;br /&gt;Living out our dreams&lt;br /&gt;We are right where we should be&lt;br /&gt;With my arms out wide&lt;br /&gt;I open my eyes&lt;br /&gt;And now&lt;br /&gt;All I wanna see&lt;br /&gt;Is a sky full of lighters&lt;br /&gt;A sky full of lighters&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/8766179722140964520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/bad-meets-evil-feat-bruno-mars-lighter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8766179722140964520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8766179722140964520'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/bad-meets-evil-feat-bruno-mars-lighter.html' title='Bad Meets Evil Feat. Bruno Mars - Lighter'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-2946591375153747068</id><published>2011-11-25T07:07:00.001+07:00</published><updated>2011-12-25T11:15:58.999+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>LMFO - Party Rock Anthem</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
PARTY ROCK&lt;br /&gt;YEA&lt;br /&gt;Whoa!&lt;br /&gt;LET&#39;S GO!&lt;br /&gt;Party rock is in the house tonight&lt;br /&gt;Everybody just have a good time&lt;br /&gt;And we gonna make you lose your mind&lt;br /&gt;Everybody just have a good time&lt;br /&gt;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;Party rock is in the house tonight&lt;br /&gt;Everybody just have a good time&lt;br /&gt;And we gonna make you lose your mind&lt;br /&gt;We just wanna see ya!&lt;br /&gt;&lt;br /&gt;Shake that!&lt;br /&gt;&lt;br /&gt;In the club party rock, lookin&#39; for your girl&lt;br /&gt;She on my jock (huh) non stop when we in the spot&lt;br /&gt;Booty move away like she on the block&lt;br /&gt;What the track I got to know&lt;br /&gt;Tight jeans tattoo cause I&#39;m rock and roll&lt;br /&gt;Half black half white domino&lt;br /&gt;Gain the money Oprah Doe!&lt;br /&gt;&lt;br /&gt;Yo!&lt;br /&gt;I&#39;m running through these hoes like drano&lt;br /&gt;I got that devilish flow rock and roll no halo&lt;br /&gt;We party rock yea! that&#39;s the crew that I&#39;m repping&lt;br /&gt;On the rise to the top no led in our zeppelin&lt;br /&gt;Hey!&lt;br /&gt;&lt;br /&gt;Party rock is in the house tonight&lt;br /&gt;Everybody just have a good time&lt;br /&gt;And we gonna make you lose your mind&lt;br /&gt;Everybody just have a good time&lt;br /&gt;&lt;br /&gt;Let&#39;s go&lt;br /&gt;Party rock is in the house tonight&lt;br /&gt;Everybody just have a good time&lt;br /&gt;And we gonna make you lose your mind&lt;br /&gt;&lt;br /&gt;We just wanna see you!&lt;br /&gt;&lt;br /&gt;Shake that!&lt;br /&gt;&lt;br /&gt;Every day I&#39;m shuffling&lt;br /&gt;Shuffling shuffling&lt;br /&gt;&lt;br /&gt;Step up fast and be the first girl to make me throw this cash&lt;br /&gt;We get money don&#39;t be mad now stop hating is bad&lt;br /&gt;&lt;br /&gt;One more shot for us&lt;br /&gt;(Another round)&lt;br /&gt;Please fill up my cup&lt;br /&gt;(Don&#39;t mess around)&lt;br /&gt;We just wanna see&lt;br /&gt;(You shake it now)&lt;br /&gt;Now you wanna be&lt;br /&gt;(You&#39;re naked now)&lt;br /&gt;&lt;br /&gt;Get up get down put your hands up to the sound [x3]&lt;br /&gt;Put your hands up to the sound [x2]&lt;br /&gt;Get up [x9]&lt;br /&gt;Put your hands up to the sound, to the sound&lt;br /&gt;Put your hands up! [x4]&lt;br /&gt;&lt;br /&gt;Party rock is in the house tonight (Put your hands up!)&lt;br /&gt;Everybody just have a good time (Put your hands up!)&lt;br /&gt;And we gonna make you lose your mind (Put your hands up!)&lt;br /&gt;Everybody just have a good good good time&lt;br /&gt;&lt;br /&gt;Oh! Oh! (Put your hands up)&lt;br /&gt;Oh! Oh! Time to fill it now!&lt;br /&gt;Oh! Oh! (Put your hands up)&lt;br /&gt;Oh! Oh! (Put your hands up)&lt;br /&gt;&lt;br /&gt;Shake that!&lt;br /&gt;Every day I&#39;m shuf-f-f-ling&lt;br /&gt;&lt;br /&gt;Put your Put your&lt;br /&gt;Put your Put your (Yeah Yeah)&lt;br /&gt;Put your Put your (Whoa!)&lt;br /&gt;Put your Put your&lt;br /&gt;Put your hands up&lt;br /&gt;Your hands up&lt;br /&gt;Put your hands up &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I feel like I just seen the sun for the first time&lt;br /&gt;You make my life bright cause you shine&lt;br /&gt;It&#39;s me and you baby, it&#39;s our time&lt;br /&gt;I&#39;m living my dream, girl cause you mine&lt;br /&gt;You got me skippin&#39; down the street&lt;br /&gt;And singin&#39; love songs all out of key&lt;br /&gt;I didn&#39;t smoke nothin&#39; but I feel so high&lt;br /&gt;And I know why&lt;br /&gt;It&#39;s a love thing, it&#39;s got to be&lt;br /&gt;Your heart&#39;s all locked and I got the key&lt;br /&gt;It feels like I just won the lottery&lt;br /&gt;&#39;Cause I got my girl and she got me&lt;br /&gt;&lt;br /&gt;You my new obsession&lt;br /&gt;All I want to do&lt;br /&gt;You my new obsession, girl&lt;br /&gt;I feel on top of the world with you baby&lt;br /&gt;I want to dance and party tonight&lt;br /&gt;I feel on top of the world with my lady&lt;br /&gt;I&#39;m gonna rock your body all night&lt;br /&gt;She makes me wanna sing&lt;br /&gt;&lt;br /&gt;La, la la la [x8]&lt;br /&gt;&lt;br /&gt;Oh, I can&#39;t get you out my mind&lt;br /&gt;Everything you do is feelin&#39; right&lt;br /&gt;Remember that way you caught my eye?&lt;br /&gt;I remember that way you was walkin&#39; by&lt;br /&gt;Ooh girl, watch out now&lt;br /&gt;You looked at me, turned around and smiled&lt;br /&gt;Gave me eyes, my heart went wild&lt;br /&gt;Hypnotized, this love starts now&lt;br /&gt;And how do I know you&#39;re real?&lt;br /&gt;It really doesn&#39;t matter, it&#39;s the way I feel&lt;br /&gt;You make me feel super like the man of steel&lt;br /&gt;Got me goin&#39; stupid, pickin&#39; daffodils&lt;br /&gt;&lt;br /&gt;You my new obsession&lt;br /&gt;All I want to do&lt;br /&gt;You my new obsession, girl&lt;br /&gt;I feel on top of the world with you baby&lt;br /&gt;I want to dance and party tonight&lt;br /&gt;I feel on top of the world with my lady&lt;br /&gt;I&#39;m gonna rock your body all night&lt;br /&gt;She makes me wanna sing&lt;br /&gt;&lt;br /&gt;La, la la la... [x14]&lt;br /&gt;&lt;br /&gt;You my new obsession [x5]&lt;br /&gt;&lt;br /&gt;All I want to do&lt;br /&gt;You my new obsession, girl&lt;br /&gt;I feel on top of the world with you baby&lt;br /&gt;I want to dance&lt;br /&gt;&lt;br /&gt;Dance... [etc.]&lt;br /&gt;&lt;br /&gt;I feel on top of the world with you baby&lt;br /&gt;I want to dance and party tonight&lt;br /&gt;I feel on top of the world with my lady&lt;br /&gt;I&#39;m gonna rock your body all night&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/2946591375153747068/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/lmfo-party-rock-anthem.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2946591375153747068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2946591375153747068'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/lmfo-party-rock-anthem.html' title='LMFO - Party Rock Anthem'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-5039615795738480823</id><published>2011-11-25T07:02:00.001+07:00</published><updated>2011-12-25T11:17:55.917+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>Rihanna feat. Calvin Harris - We Found Love</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Yellow diamonds in the light&lt;br /&gt;
Now we’re standing side by side&lt;br /&gt;
As your shadow crosses mine&lt;br /&gt;
What it takes to come alive&lt;br /&gt;
&lt;br /&gt;
It’s the way I’m feeling I just can’t deny&lt;br /&gt;
But I’ve gotta let it go&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
Shine a light through an open door&lt;br /&gt;
Love a life I will divide&lt;br /&gt;
Turn away &#39;cause I need you more&lt;br /&gt;
Feel the heartbeat in my mind&lt;br /&gt;
&lt;br /&gt;
It’s the way I’m feeling I just can’t deny&lt;br /&gt;
But I’ve gotta let it go&lt;br /&gt;
&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
&lt;br /&gt;
Yellow diamonds in the light&lt;br /&gt;
Now we’re standing side by side&lt;br /&gt;
As your shadow crosses mine&lt;br /&gt;
&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place&lt;br /&gt;
We found love in a hopeless place &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&quot;A Year Without Rain&quot;&lt;br /&gt;
&lt;br /&gt;
Can you feel me&lt;br /&gt;
When I think about you&lt;br /&gt;
With every breath I take&lt;br /&gt;
Every minute&lt;br /&gt;
No matter what I do&lt;br /&gt;
My world is an empty place&lt;br /&gt;
&lt;br /&gt;
Like I&#39;ve been wandering the desert&lt;br /&gt;
For a thousand days (oh)&lt;br /&gt;
Don&#39;t know if it&#39;s a mirage&lt;br /&gt;
But I always see your face, Baby&lt;br /&gt;
&lt;br /&gt;
[Chorus:]&lt;br /&gt;
I&#39;m missing you so much&lt;br /&gt;
Can&#39;t help it, I&#39;m in love&lt;br /&gt;
A day without you is like a year without rain&lt;br /&gt;
I need you by my side&lt;br /&gt;
Don&#39;t know how I&#39;ll survive&lt;br /&gt;
A day without you is like a year without rain&lt;br /&gt;
&lt;br /&gt;
The stars are burning&lt;br /&gt;
I hear your voice in my mind (in my mind)&lt;br /&gt;
Can&#39;t you hear me calling?&lt;br /&gt;
My heart is yearning&lt;br /&gt;
Like the ocean that&#39;s running dry&lt;br /&gt;
Catch me, I&#39;m falling&lt;br /&gt;
&lt;br /&gt;
It&#39;s like the ground is crumbling underneath my feet&lt;br /&gt;
Won&#39;t you save me?&lt;br /&gt;
There&#39;s gonna be a monsoon&lt;br /&gt;
When you get back to me (oh, baby)&lt;br /&gt;
&lt;br /&gt;
[Chorus]&lt;br /&gt;
&lt;br /&gt;
So let this drought come to an end&lt;br /&gt;
And make this desert flower again&lt;br /&gt;
I need you here&lt;br /&gt;
I can&#39;t explain&lt;br /&gt;
But a day without you&lt;br /&gt;
Is like a year without rain (oh)&lt;br /&gt;
&lt;br /&gt;
[Chorus]&lt;br /&gt;
&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/5039615795738480823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/rihanna-feat-calvin-harris-we-found.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/5039615795738480823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/5039615795738480823'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/rihanna-feat-calvin-harris-we-found.html' title='Rihanna feat. Calvin Harris - We Found Love'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-2307567731922368178</id><published>2011-11-25T07:00:00.001+07:00</published><updated>2011-12-25T11:18:52.060+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>Last Friday Night (T.G.I.F.) - Katy Parry</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
There&#39;s a stranger in my bed,&lt;br /&gt;There&#39;s a pounding in my head&lt;br /&gt;Glitter all over the room&lt;br /&gt;Pink flamingos in the pool&lt;br /&gt;I smell like a minibar&lt;br /&gt;DJ&#39;s passed out in the yard&lt;br /&gt;Barbie&#39;s on the barbeque&lt;br /&gt;Is this a hickie or a bruise?&lt;br /&gt;Pictures of last night&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;Ended up online&lt;br /&gt;I&#39;m screwed&lt;br /&gt;Oh well&lt;br /&gt;It&#39;s a blacked out blur&lt;br /&gt;But I&#39;m pretty sure it ruled&lt;br /&gt;Damn&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah, we danced on tabletops&lt;br /&gt;And we took too many shots&lt;br /&gt;Think we kissed but I forgot&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah, we maxed our credit cards&lt;br /&gt;And got kicked out of the bar&lt;br /&gt;So we hit the boulevard&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;We went streaking in the park&lt;br /&gt;Skinny dipping in the dark&lt;br /&gt;Then had a ménage à trois&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah I think we broke the law&lt;br /&gt;Always say we&#39;re gonna stop&lt;br /&gt;Whoa-oh-oah&lt;br /&gt;&lt;br /&gt;This Friday night&lt;br /&gt;Do it all again&lt;br /&gt;This Friday night&lt;br /&gt;Do it all again&lt;br /&gt;&lt;br /&gt;Trying to connect the dots&lt;br /&gt;Don&#39;t know what to tell my boss&lt;br /&gt;Think the city towed my car&lt;br /&gt;Chandelier is on the floor&lt;br /&gt;Ripped my favorite party dress&lt;br /&gt;Warrant&#39;s out for my arrest&lt;br /&gt;Think I need a ginger ale&lt;br /&gt;That was such an epic fail&lt;br /&gt;&lt;br /&gt;Pictures of last night&lt;br /&gt;Ended up online&lt;br /&gt;I&#39;m screwed&lt;br /&gt;Oh well&lt;br /&gt;It&#39;s a blacked out blur&lt;br /&gt;But I&#39;m pretty sure it ruled&lt;br /&gt;Damn&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah, we danced on table tops&lt;br /&gt;And we took too many shots&lt;br /&gt;Think we kissed but I forgot&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah, we maxed our credit cards&lt;br /&gt;And got kicked out of the bar&lt;br /&gt;So we hit the boulevards&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;We went streaking in the park&lt;br /&gt;Skinny dipping int he dark&lt;br /&gt;Then had a ménage à trois&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah I think we broke the law&lt;br /&gt;Always say we&#39;re gonna stop&lt;br /&gt;Oh whoa oh&lt;br /&gt;&lt;br /&gt;This Friday night&lt;br /&gt;Do it all again&lt;br /&gt;Do it all again&lt;br /&gt;This Friday night&lt;br /&gt;Do it all again&lt;br /&gt;Do it all again&lt;br /&gt;This Friday night&lt;br /&gt;&lt;br /&gt;T.G.I.F.&lt;br /&gt;T.G.I.F.&lt;br /&gt;T.G.I.F.&lt;br /&gt;T.G.I.F.&lt;br /&gt;T.G.I.F.&lt;br /&gt;T.G.I.F.&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah, we danced on table tops&lt;br /&gt;And we took too many shots&lt;br /&gt;Think we kissed but I forgot&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah, we maxed our credit cards&lt;br /&gt;And got kicked out of the bar&lt;br /&gt;So we hit the boulevard&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;We went streaking in the park&lt;br /&gt;Skinny dipping in the dark&lt;br /&gt;Then had a ménage à trois&lt;br /&gt;&lt;br /&gt;Last Friday night&lt;br /&gt;Yeah I think we broke the law&lt;br /&gt;Always say we&#39;re gonna stop&lt;br /&gt;Oh-whoa-oh&lt;br /&gt;This Friday night&lt;br /&gt;Do it all again&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/2307567731922368178/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/last-friday-night-tgif-katy-parry.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2307567731922368178'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2307567731922368178'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/last-friday-night-tgif-katy-parry.html' title='Last Friday Night (T.G.I.F.) - Katy Parry'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-5390566774526604729</id><published>2011-11-25T06:57:00.001+07:00</published><updated>2011-12-25T11:19:49.100+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Lyrik"/><title type='text'>Move Like Jagger - Maroon5</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
Oh, yeah&lt;br /&gt;Oh!&lt;br /&gt;&lt;br /&gt;[Verse 1:]&lt;br /&gt;Just shoot for the stars&lt;br /&gt;If it feels right&lt;br /&gt;And aim for my heart&lt;br /&gt;If you feel like&lt;br /&gt;And take me away and make it OK&lt;br /&gt;I swear I&#39;ll behave&lt;br /&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;You wanted control&lt;br /&gt;So we waited&lt;br /&gt;I put on a show&lt;br /&gt;Now I make it&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You say I&#39;m a kid&lt;br /&gt;My ego is big&lt;br /&gt;I don&#39;t give a shit&lt;br /&gt;And it goes like this&lt;br /&gt;&lt;br /&gt;[Chorus:]&lt;br /&gt;Take me by the tongue&lt;br /&gt;And I&#39;ll know you&lt;br /&gt;Kiss me &#39;til you&#39;re drunk&lt;br /&gt;And I&#39;ll show you&lt;br /&gt;&lt;br /&gt;All the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;&lt;br /&gt;I don&#39;t need to try to control you&lt;br /&gt;Look into my eyes and I&#39;ll own you&lt;br /&gt;&lt;br /&gt;With them moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;&lt;br /&gt;[Verse 2:]&lt;br /&gt;Maybe it&#39;s hard&lt;br /&gt;When you feel like you&#39;re broken and scarred&lt;br /&gt;Nothing feels right&lt;br /&gt;But when you&#39;re with me&lt;br /&gt;I&#39;ll make you believe&lt;br /&gt;That I&#39;ve got the key&lt;br /&gt;&lt;br /&gt;Oh&lt;br /&gt;So get in the car&lt;br /&gt;We can ride it&lt;br /&gt;Wherever you want&lt;br /&gt;Get inside it&lt;br /&gt;And you want to steer&lt;br /&gt;But I&#39;m shifting gears&lt;br /&gt;I&#39;ll take it from here (Oh! Yeah yeah!)&lt;br /&gt;And it goes like this (Uh)&lt;br /&gt;&lt;br /&gt;[Chorus:]&lt;br /&gt;Take me by the tongue&lt;br /&gt;And I&#39;ll know you (Uh)&lt;br /&gt;Kiss me &#39;til you&#39;re drunk&lt;br /&gt;And I&#39;ll show you&lt;br /&gt;&lt;br /&gt;All the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;&lt;br /&gt;I don&#39;t need to try to control you (Oh, yeah)&lt;br /&gt;Look into my eyes and I&#39;ll own you&lt;br /&gt;&lt;br /&gt;With them moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger (Yeah yeah)&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;&lt;br /&gt;[Bridge:]&lt;br /&gt;You wanna know how to make me smile&lt;br /&gt;Take control, own me just for the night&lt;br /&gt;And if I share my secret&lt;br /&gt;You&#39;re gonna have to keep it&lt;br /&gt;Nobody else can see this&lt;br /&gt;&lt;br /&gt;So watch and learn&lt;br /&gt;I won&#39;t show you twice&lt;br /&gt;Head to toe, oooh baby rub me right&lt;br /&gt;But if I share my secret&lt;br /&gt;You&#39;re gonna have to keep it&lt;br /&gt;Nobody else can see this (Ay! Ay! Ay! Aaay!)&lt;br /&gt;&lt;br /&gt;And it goes like this&lt;br /&gt;&lt;br /&gt;[Chorus:]&lt;br /&gt;Take me by the tongue (Take me by the tongue)&lt;br /&gt;And I&#39;ll know you&lt;br /&gt;Kiss me &#39;til you&#39;re drunk&lt;br /&gt;And I&#39;ll show you (Yeah yeah yeah!)&lt;br /&gt;&lt;br /&gt;All the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;(Oh, yeah)&lt;br /&gt;I don&#39;t need to try to control you&lt;br /&gt;Look into my eyes and I&#39;ll own you&lt;br /&gt;&lt;br /&gt;With them moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger&lt;br /&gt;I&#39;ve got the moves like Jagger &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/5390566774526604729/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/move-like-jagger-maroon5.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/5390566774526604729'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/5390566774526604729'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/move-like-jagger-maroon5.html' title='Move Like Jagger - Maroon5'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-7100495355133704222</id><published>2011-11-24T11:30:00.000+07:00</published><updated>2011-12-25T11:31:02.741+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Contoh Program Pohon</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&amp;nbsp;Silahkan dicoba&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;deque&amp;gt;
#include &amp;lt;climits&amp;gt;
using namespace std;

struct Tree
{
 char data;
 Tree *left;
 Tree *right;  
 Tree *parent;  
};

Tree* lookUp(struct Tree *node, char key)
{&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
 if(node == NULL) return node;

 if(node-&amp;gt;data == key) return node;
 else {
  if(node-&amp;gt;data &amp;lt; key)
   return lookUp(node-&amp;gt;right, key) ;
  else
   return lookUp(node-&amp;gt;left, key);
 }
}

Tree* leftMost(struct Tree *node)
{
 if(node == NULL) return NULL;
 while(node-&amp;gt;left != NULL)
  node = node-&amp;gt;left;
 return node;
}

struct Tree *newTreeNode(int data) 
{
 Tree *node = new Tree;
 node-&amp;gt;data = data;
 node-&amp;gt;left = NULL;
 node-&amp;gt;right = NULL;
 node-&amp;gt;parent = NULL;

 return node;
}

struct Tree* insertTreeNode(struct Tree *node, int data)
{
 static Tree *p;
 Tree *retNode;

 if(node != NULL) p = node;

 if(node == NULL)  {
  retNode = newTreeNode(data);
      retNode-&amp;gt;parent = p;
  return retNode;
 }
 if(data &amp;lt;= node-&amp;gt;data ) { 
  p = node;
  node-&amp;gt;left = insertTreeNode(node-&amp;gt;left,data);
 } 
 else {
  p = node;
  node-&amp;gt;right = insertTreeNode(node-&amp;gt;right,data);
 } 
 return node;
}

void isBST(struct Tree *node)
{
 static int lastData = INT_MIN;
 if(node == NULL) return;

 isBST(node-&amp;gt;left);

 /* check if the given tree is BST */
 if(lastData &amp;lt; node-&amp;gt;data) 
  lastData = node-&amp;gt;data;
 else {
  cout &amp;lt;&amp;lt; &quot;Not a BST&quot; &amp;lt;&amp;lt; endl;
  return;
 }

 isBST(node-&amp;gt;right);
 return;
}

int treeSize(struct Tree *node)
{
 if(node == NULL) return 0;
 else
  return treeSize(node-&amp;gt;left) + 1 + treeSize(node-&amp;gt;right);
}

int maxDepth(struct Tree *node)
{
 if(node == NULL) return 0;

 int leftDepth = maxDepth(node-&amp;gt;left);
 int rightDepth = maxDepth(node-&amp;gt;right);

 return leftDepth &amp;gt; rightDepth ? 
    leftDepth + 1 : rightDepth + 1;
}

int minDepth(struct Tree *node)
{
 if(node == NULL) return 0;

 int leftDepth = minDepth(node-&amp;gt;left);
 int rightDepth = minDepth(node-&amp;gt;right);

 return leftDepth &amp;lt; rightDepth ? 
    leftDepth + 1 : rightDepth + 1;
}

bool isBalanced(struct Tree *node)
{
 if(maxDepth(node)-minDepth(node) &amp;lt;= 1) 
  return true;
 else
  return false;
}

/* Tree Minimum */
Tree* minTree(struct Tree *node)
{
 if(node == NULL) return NULL;
 while(node-&amp;gt;left) 
  node = node -&amp;gt; left;
 return node;
}

/* Tree Maximum */
Tree* maxTree(struct Tree *node)
{
 while(node-&amp;gt;right) 
  node = node -&amp;gt; right;
 return node;
}

/* In Order Successor - a node which has the next higher key */ 
Tree *succesorInOrder(struct Tree *node)
{
 /* if the node has right child, seccessor is Tree-Minimum */
 if(node-&amp;gt;right != NULL) return minTree(node-&amp;gt;right);

 Tree *y = node-&amp;gt;parent;
 while(y != NULL &amp;amp;&amp;amp; node == y-&amp;gt;right) {
  node = y;
  y = y-&amp;gt;parent;
 }
 return y;
}

/* In Order Predecessor - a node which has the next lower key */
Tree *predecessorInOrder(struct Tree *node)
{
 /* if the node has left child, predecessor is Tree-Maximum */
 if(node-&amp;gt;left != NULL) return maxTree(node-&amp;gt;left);

 Tree *y = node-&amp;gt;parent;
 /* if it does not have a left child, 
 predecessor is its first left ancestor */
 while(y != NULL &amp;amp;&amp;amp; node == y-&amp;gt;left) {
  node = y;
  y = y-&amp;gt;parent;
 }
 return y;
}
 
Tree *lowestCommonAncestor(Tree *root, Tree *p, Tree *q) 
{
 Tree *left, *right;
 if(root == NULL) return NULL;
 if(root-&amp;gt;left == p || root-&amp;gt;left == q
  || root-&amp;gt;right == p || root-&amp;gt;right == q) return root;
 else {
  left = lowestCommonAncestor(root-&amp;gt;left,p,q);
  right = lowestCommonAncestor(root-&amp;gt;right, p,q);
  if(left &amp;amp;&amp;amp; right) 
   return root;
  else 
   return (left) ? left : right;
 } 
}

void clear(struct Tree *node)
{
 if(node != NULL) {
  clear(node-&amp;gt;left);
  clear(node-&amp;gt;right);
  delete node;
 }
}
/* print tree in order */
/* 1. Traverse the left subtree. 
   2. Visit the root. 
   3. Traverse the right subtree. 
*/

void printTreeInOrder(struct Tree *node)
{
 static int lastData = INT_MIN;
 if(node == NULL) return;

 printTreeInOrder(node-&amp;gt;left);
 cout &amp;lt;&amp;lt; node-&amp;gt;data &amp;lt;&amp;lt; &quot; &quot;;
 printTreeInOrder(node-&amp;gt;right);
}

/* print tree in postorder*/
/* 1. Traverse the left subtree. 
   2. Traverse the right subtree. 
   3. Visit the root. 
*/
void printTreePostOrder(struct Tree *node)
{
 if(node == NULL) return;

 printTreePostOrder(node-&amp;gt;left);
 printTreePostOrder(node-&amp;gt;right);
 cout &amp;lt;&amp;lt; node-&amp;gt;data &amp;lt;&amp;lt; &quot; &quot;;
}

/* print in preorder */
/* 1. Visit the root. 
   2. Traverse the left subtree. 
   3. Traverse the right subtree. 
*/
void printTreePreOrder(struct Tree *node)
{
 if(node == NULL) return;

 cout &amp;lt;&amp;lt; node-&amp;gt;data &amp;lt;&amp;lt; &quot; &quot;;
 printTreePreOrder(node-&amp;gt;left);
 printTreePreOrder(node-&amp;gt;right);
}

/* printing array */
void printThisPath(int path[], int n)
{
 for(int i = 0; i &amp;lt; n; i++)
  cout &amp;lt;&amp;lt; (char)path[i] &amp;lt;&amp;lt; &quot; &quot;;
 cout &amp;lt;&amp;lt; endl;
}

/* recursion routine to find path */
void pathFinder(struct Tree *node, int path[], int pathLength)
{
 if(node == NULL) return;
 path[pathLength++] = node-&amp;gt;data;

 /* Leaf node is the end of a path. 
    So, let&#39;s print the path */
 if(node-&amp;gt;left == NULL &amp;amp;&amp;amp; node-&amp;gt;right == NULL)
  printThisPath(path, pathLength);
 else {
  pathFinder(node-&amp;gt;left, path, pathLength);
  pathFinder(node-&amp;gt;right, path, pathLength);
 }
}

/*printing all paths :
Given a binary tree, print out all of its root-to-leaf 
paths, one per line. Uses a recursive helper to do the work. */

void printAllPaths(struct Tree *root)
{
 int path[100];
 pathFinder(root,path,0);
}

bool matchTree(Tree *r1, Tree *r2)
{
 /* Nothing left in the subtree */
 if(r1 == NULL &amp;amp;&amp;amp; r2 == NULL)
  return true;
 /* Big tree empty and subtree not found */
 if(r1 == NULL || r2 == NULL)
  return false;
 /* Not matching */
 if(r1-&amp;gt;data != r2-&amp;gt;data)
  return false;
 return (matchTree(r1-&amp;gt;left, r2-&amp;gt;left) &amp;amp;&amp;amp; 
   matchTree(r1-&amp;gt;right, r2-&amp;gt;right));
}

bool subTree(Tree *r1, Tree *r2)
{
 /*Big tree empty and subtree not found */
 if(r1 == NULL)
  return false;
 if(r1-&amp;gt;data == r2-&amp;gt;data)
  if(matchTree(r1, r2)) return true;
 return (subTree(r1-&amp;gt;left, r2) || subTree(r1-&amp;gt;right, r2));
}

bool isSubTree(Tree *r1, Tree *r2)
{
 /* Empty tree is subtree */
 if(r2 == NULL) 
  return true;
 else
  return subTree(r1, r2);
}

/* change a tree so that the roles of the left 
and right hand pointers are swapped at every node */
void mirror(Tree *r)
{
 if(r == NULL) return;
 
 Tree *tmp;
 mirror(r-&amp;gt;left);
 mirror(r-&amp;gt;right);

 /* swap pointers */
 tmp = r-&amp;gt;right;
 r-&amp;gt;right = r-&amp;gt;left;
 r-&amp;gt;left = tmp;
}

/* create a new tree from a sorted array */
Tree *addToBST(char arr[], int start, int end)
{
 if(end &amp;lt; start) return NULL;
 int mid = (start + end)/2;

 Tree *r = new Tree;
 r-&amp;gt;data = arr[mid];
 r-&amp;gt;left = addToBST(arr, start, mid-1);
 r-&amp;gt;right = addToBST(arr, mid+1, end);
 return r;
}

Tree *createMinimalBST(char arr[], int size)
{
 return addToBST(arr,0,size-1);
}

/* Breadth first traversal using queue */
void BreadthFirstTraversal(Tree *root)
{
 if (root == NULL) return;
 deque &amp;lt;Tree *&amp;gt; queue;
 queue.push_back(root);

 while (!queue.empty()) {
  Tree *p = queue.front();
  cout &amp;lt;&amp;lt; p-&amp;gt;data &amp;lt;&amp;lt; &quot; &quot;;
  queue.pop_front();

  if (p-&amp;gt;left != NULL)
   queue.push_back(p-&amp;gt;left);
  if (p-&amp;gt;right != NULL)
   queue.push_back(p-&amp;gt;right);
 }
 cout &amp;lt;&amp;lt; endl;
} 

/* find n-th max node from a tree */
void NthMax(struct Tree* t)
{        
 static int n_th_max = 5;
 static int num = 0;
 if(t == NULL) return;        
 NthMax(t-&amp;gt;right);        
 num++;        
 if(num == n_th_max)                
  cout &amp;lt;&amp;lt; n_th_max &amp;lt;&amp;lt; &quot;-th maximum data is &quot; &amp;lt;&amp;lt; t-&amp;gt;data &amp;lt;&amp;lt; endl;        
 NthMax(t-&amp;gt;left);
}

/* Converting a BST into an Array */ 
void TreeToArray(struct Tree *node, int a[]){ 
 static int pos = 0; 
  
 if(node){ 
  TreeToArray(node-&amp;gt;left,a); 
  a[pos++] = node-&amp;gt;data; 
  TreeToArray(node-&amp;gt;right,a); 
      } 
} 

int main(int argc, char **argv)
{
 char ch, ch1, ch2;
 Tree *found;
 Tree *succ;
 Tree *pred;
 Tree *ancestor;
 char charArr[9] 
  = {&#39;A&#39;,&#39;B&#39;,&#39;C&#39;,&#39;D&#39;,&#39;E&#39;,&#39;F&#39;,&#39;G&#39;,&#39;H&#39;,&#39;I&#39;};

 Tree *root = newTreeNode(&#39;F&#39;);
 insertTreeNode(root,&#39;B&#39;);
 insertTreeNode(root,&#39;A&#39;);
 insertTreeNode(root,&#39;D&#39;);
 insertTreeNode(root,&#39;C&#39;);  
 insertTreeNode(root,&#39;E&#39;);
 insertTreeNode(root,&#39;G&#39;);
 insertTreeNode(root,&#39;I&#39;);
 insertTreeNode(root,&#39;H&#39;);

 /* is the tree BST? */
 isBST(root);

 /* size of tree */
 cout &amp;lt;&amp;lt; &quot;size = &quot; &amp;lt;&amp;lt; treeSize(root) &amp;lt;&amp;lt; endl;

 /* max depth */
 cout &amp;lt;&amp;lt; &quot;max depth = &quot; &amp;lt;&amp;lt; maxDepth(root) &amp;lt;&amp;lt; endl;

 /* min depth */
 cout &amp;lt;&amp;lt; &quot;min depth = &quot; &amp;lt;&amp;lt; minDepth(root) &amp;lt;&amp;lt; endl;

 /* balanced tree? */
 if(isBalanced(root))
  cout &amp;lt;&amp;lt; &quot;This tree is balanced!\n&quot;;
 else
  cout &amp;lt;&amp;lt; &quot;This tree is not balanced!\n&quot;;

 /* min value of the tree*/
 if(root) 
  cout &amp;lt;&amp;lt; &quot;Min value = &quot; &amp;lt;&amp;lt; minTree(root)-&amp;gt;data &amp;lt;&amp;lt; endl;

 /* max value of the tree*/
 if(root) 
  cout &amp;lt;&amp;lt; &quot;Max value = &quot; &amp;lt;&amp;lt; maxTree(root)-&amp;gt;data &amp;lt;&amp;lt; endl;

 ch = &#39;B&#39;;
 found = lookUp(root,ch);
 if(found) {
  cout &amp;lt;&amp;lt; &quot;Min value of subtree &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; as a root is &quot;
    &amp;lt;&amp;lt; minTree(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  cout &amp;lt;&amp;lt; &quot;Max value of subtree &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; as a root is &quot;
    &amp;lt;&amp;lt; maxTree(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
 }

 ch = &#39;B&#39;;
 found = lookUp(root,ch);
 if(found) {
  succ = succesorInOrder(found);
  if(succ)
   cout &amp;lt;&amp;lt; &quot;In Order Successor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is &quot;
    &amp;lt;&amp;lt; succesorInOrder(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  else 
   cout &amp;lt;&amp;lt; &quot;In Order Successor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is None\n&quot;;
 }

 ch = &#39;E&#39;;
 found = lookUp(root,ch);
 if(found) {
  succ = succesorInOrder(found);
  if(succ)
   cout &amp;lt;&amp;lt; &quot;In Order Successor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is &quot;
    &amp;lt;&amp;lt; succesorInOrder(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  else 
   cout &amp;lt;&amp;lt; &quot;In Order Successor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is None\n&quot;;
 }

 ch = &#39;I&#39;;
 found = lookUp(root,ch);
 if(found) {
  succ = succesorInOrder(found);
  if(succ)
   cout &amp;lt;&amp;lt; &quot;In Order Successor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is &quot;
    &amp;lt;&amp;lt; succesorInOrder(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  else 
   cout &amp;lt;&amp;lt; &quot;In Order Successor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is None\n&quot;;
 }

 ch = &#39;B&#39;;
 found = lookUp(root,ch);
 if(found) {
  pred = predecessorInOrder(found);
  if(pred)
   cout &amp;lt;&amp;lt; &quot;In Order Predecessor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is &quot;
    &amp;lt;&amp;lt; predecessorInOrder(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  else 
   cout &amp;lt;&amp;lt; &quot;In Order Predecessor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is None\n&quot;;
 }

 ch = &#39;E&#39;;
 found = lookUp(root,ch);
 if(found) {
  pred = predecessorInOrder(found);
  if(pred)
   cout &amp;lt;&amp;lt; &quot;In Order Predecessor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is &quot;
    &amp;lt;&amp;lt; predecessorInOrder(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  else 
   cout &amp;lt;&amp;lt; &quot;In Order Predecessor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is None\n&quot;;
 }

 ch = &#39;I&#39;;
 found = lookUp(root,ch);
 if(found) {
  pred = predecessorInOrder(found);
  if(pred)
   cout &amp;lt;&amp;lt; &quot;In Order Predecessor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is &quot;
    &amp;lt;&amp;lt; predecessorInOrder(found)-&amp;gt;data &amp;lt;&amp;lt; endl;
  else 
   cout &amp;lt;&amp;lt; &quot;In Order Predecessor of &quot; &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is None\n&quot;;
 }

 /* Lowest Common Ancestor */
 ch1 = &#39;A&#39;;
 ch2 = &#39;C&#39;;
 ancestor = 
  lowestCommonAncestor(root, 
   lookUp(root,ch1), lookUp(root,ch2));
 if(ancestor) 
  cout &amp;lt;&amp;lt; &quot;The lowest common ancestor of &quot; &amp;lt;&amp;lt; ch1 &amp;lt;&amp;lt; &quot; and &quot;
  &amp;lt;&amp;lt; ch2 &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; ancestor-&amp;gt;data &amp;lt;&amp;lt; endl;

 ch1 = &#39;E&#39;;
 ch2 = &#39;H&#39;;
 ancestor = 
  lowestCommonAncestor(root, 
   lookUp(root,ch1), lookUp(root,ch2));
 if(ancestor) 
  cout &amp;lt;&amp;lt; &quot;The lowest common ancestor of &quot; &amp;lt;&amp;lt; ch1 &amp;lt;&amp;lt; &quot; and &quot;
  &amp;lt;&amp;lt; ch2 &amp;lt;&amp;lt; &quot; is &quot; &amp;lt;&amp;lt; ancestor-&amp;gt;data &amp;lt;&amp;lt; endl;

 /* print tree in order */
 cout &amp;lt;&amp;lt; &quot;increasing sort order\n&quot;;
 printTreeInOrder(root);
 cout &amp;lt;&amp;lt; endl;

 /* print tree in postorder*/
 cout &amp;lt;&amp;lt; &quot;post order \n&quot;;
 printTreePostOrder(root);
 cout &amp;lt;&amp;lt; endl;

 /* print tree in preorder*/
 cout &amp;lt;&amp;lt; &quot;pre order \n&quot;;
 printTreePreOrder(root);
 cout &amp;lt;&amp;lt; endl;

 /* lookUp */
 ch = &#39;D&#39;;
 found = lookUp(root,ch);
 if(found) 
  cout &amp;lt;&amp;lt; found-&amp;gt;data &amp;lt;&amp;lt; &quot; is in the tree\n&quot;;
 else
  cout &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is not in the tree\n&quot;;

 /* lookUp */
 ch = &#39;M&#39;;
 found = lookUp(root,ch);
 if(found) 
  cout &amp;lt;&amp;lt; found-&amp;gt;data &amp;lt;&amp;lt; &quot; is in the tree\n&quot;;
 else
  cout &amp;lt;&amp;lt; ch &amp;lt;&amp;lt; &quot; is not in the tree\n&quot;;

 /* printing all paths :
 Given a binary tree, print out all of its root-to-leaf 
 paths, one per line. Uses a recursive helper to do the work. */
 cout &amp;lt;&amp;lt; &quot;printing paths ...&quot; &amp;lt;&amp;lt; endl;
 printAllPaths(root); 

 /* find n-th maximum node */
 NthMax(root);


 /* convert the tree into an array */
 int treeSz = treeSize(root);
 int *array = new int[treeSz];
 TreeToArray(root,array);
 cout &amp;lt;&amp;lt; &quot;New array: &quot;;
 for (int i = 0; i &amp;lt; treeSz; i++)
  cout &amp;lt;&amp;lt; (char)array[i] &amp;lt;&amp;lt; &#39; &#39;;
 cout &amp;lt;&amp;lt; endl;
 delete [] array;

 /* subtree */
 Tree *root2 = newTreeNode(&#39;D&#39;);
 insertTreeNode(root2,&#39;C&#39;);  
 insertTreeNode(root2,&#39;E&#39;);
 cout &amp;lt;&amp;lt; &quot;1-2 subtree: &quot; &amp;lt;&amp;lt; isSubTree(root, root2) &amp;lt;&amp;lt; endl;

 Tree *root3 = newTreeNode(&#39;B&#39;);
 insertTreeNode(root3,&#39;A&#39;);  
 insertTreeNode(root3,&#39;D&#39;);
 insertTreeNode(root3,&#39;C&#39;);  
 insertTreeNode(root3,&#39;E&#39;);
 cout &amp;lt;&amp;lt; &quot;1-3 subtree: &quot; &amp;lt;&amp;lt; isSubTree(root, root3) &amp;lt;&amp;lt; endl;

 Tree *root4 = newTreeNode(&#39;B&#39;); 
 insertTreeNode(root4,&#39;D&#39;);
 insertTreeNode(root4,&#39;C&#39;);  
 insertTreeNode(root4,&#39;E&#39;);
 cout &amp;lt;&amp;lt; &quot;1-4 subtree: &quot; &amp;lt;&amp;lt; isSubTree(root, root4) &amp;lt;&amp;lt; endl;

 cout &amp;lt;&amp;lt; &quot;2-3 subtree: &quot; &amp;lt;&amp;lt; isSubTree(root2, root3) &amp;lt;&amp;lt; endl;
 cout &amp;lt;&amp;lt; &quot;3-2 subtree: &quot; &amp;lt;&amp;lt; isSubTree(root3, root2) &amp;lt;&amp;lt; endl;

 /* swap left and right */
 mirror(root);

 /* deleting a tree */
 clear(root);

 /* make a new tree with minimal depth */
 Tree *newRoot = createMinimalBST(charArr,9);

 /* Traversing level-order. 
 We visit every node on a level before going to a lower level. 
 This is also called Breadth-first traversal.*/
 cout &amp;lt;&amp;lt; &quot;printing with Breadth-first traversal&quot; &amp;lt;&amp;lt; endl;
 BreadthFirstTraversal(newRoot);

 return 0;
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/7100495355133704222/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/contoh-program-pohon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/7100495355133704222'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/7100495355133704222'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/contoh-program-pohon.html' title='Contoh Program Pohon'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-8517683460640868629</id><published>2011-11-24T11:27:00.000+07:00</published><updated>2011-12-25T11:27:31.173+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Antrian dengan linklist</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;fullpost&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
Contoh antrian dengan linklist &lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;stdio.h&amp;gt;
#include &amp;lt;stdlib.h&amp;gt;

struct node
{
 int data;
 node *next;
};
typedef struct node node_t;

node_t *head = NULL;

void push(int n)
{
 node_t *newNode = (node_t *)malloc(sizeof(node_t));
 newNode-&amp;gt;data = n;
 newNode-&amp;gt;next = NULL;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
 if(head == NULL) {
  head = newNode;
  return;
 }

 node_t *cur = head;
 while(cur) {
  if(cur-&amp;gt;next==NULL) {
   cur-&amp;gt;next = newNode;
   return;
  }
  cur = cur-&amp;gt;next;
 }
}

void pop()
{
 if(head==NULL) return;
 node_t *tmp = head;
 head = head-&amp;gt;next;
 free(tmp);
}

void display()
{
 node_t *cur = head;
 while(cur) {
  printf(&quot;%3d&quot;,cur-&amp;gt;data);
  cur = cur-&amp;gt;next;
 }
 printf(&quot;\n&quot;);
}

int main()
{
 push(1);push(2);push(3);push(4);push(5);display();
 pop();display();
 pop();display();
 pop();display();
 pop();display();
 pop();display();
 return 0;
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/8517683460640868629/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/antrian-dengan-linklist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8517683460640868629'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8517683460640868629'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/antrian-dengan-linklist.html' title='Antrian dengan linklist'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-4429833870114464104</id><published>2011-11-12T09:42:00.000+07:00</published><updated>2011-12-25T11:01:55.987+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Link list menggunakan class</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;
using namespace std;

class list
{
public:
 struct node {
  int id;
  string name;
  struct node *next;
 } *head, *tail, *ptr; 

 list():head(NULL),tail(NULL){} // constructor 
 ~list();   // destructor
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
 struct list::node* searchName(struct list::node*, string); 
 struct list::node* searchId(struct list::node*, int);
 struct list::node* initNode(string, int);

 void reverse();
 void addNode( struct list::node*);
 void insertNode( struct list::node*);
 void deleteNode( struct list::node*);
 void deleteList( struct list::node*);
 void displayList( struct list::node*)const ;
  void displayNode( struct list::node*) const; 
};

list::~list() {
 node *current,*temp;
 current = head;
 temp = head;
 while(current != NULL) {
  current = current-&amp;gt;next;
  delete temp;
  temp = current;
 }
}

struct list::node* list::initNode(string s, int i) {
 struct node *ptr = new node;
 
 // error? then just return
 if( ptr == NULL )                         
  return static_cast&amp;lt;struct node *&amp;gt;(NULL);  
 // assign it 
 // then return pointer to ne node
 else {  
  ptr-&amp;gt;name = s ;  
  ptr-&amp;gt;id = i;                        
  return ptr;                         
 }
}

// adding to the end of list  
void list::addNode( struct node *newNode )  {
 // if there is no node, put it to head
 if( head == NULL ) {
  head = newNode;  
  tail = newNode;
 }
   
 // link in the new_node to the tail of the list
 // then mark the next field as the end of the list
 // adjust tail to point to the last node

 tail-&amp;gt;next = newNode;       
 newNode-&amp;gt;next = NULL;       
 tail = newNode;               
}

void list::insertNode( struct node *newnode ) {
   struct node *temp, *prev;                

   if( head == NULL ) {                     // if an empty list,         
       head = newnode;                      // set &#39;head&#39; to it         
       tail = newnode;
       head-&amp;gt;next = NULL;                   // set end of list to NULL     
       return;                                             
   }

   temp = head;                             // start at beginning of list 
         // while currentname &amp;lt; newname 
   while( temp-&amp;gt;name &amp;lt; newnode-&amp;gt;name) {     // to be inserted then 
          temp = temp-&amp;gt;next;                // goto the next node in list  
          if( temp == NULL )                // don&#39;t go past end of list    
              break;
   }        
         // set previous node before we insert  
         // first check to see if it&#39;s inserting         
   if( temp == head ) {           // before the first node 
      newnode-&amp;gt;next = head;                 // link next field to original list    
      head = newnode;                       // head adjusted to new node          
   }
   else {        // it&#39;s not the first node
      prev = head;           // start of the list, 
      while( prev-&amp;gt;next != temp ) { 
          prev = prev-&amp;gt;next;          // will cycle to node before temp 
      }
      prev-&amp;gt;next = newnode;                 // insert node between prev and next   
      newnode-&amp;gt;next = temp;
      if( tail == prev )      // if the new node is inserted at the  
         tail = newnode;      // end of the list the adjust &#39;end&#39;    
   }
}

struct list::node* list::searchName(struct node* ptr, string name) {
    while( name != ptr-&amp;gt;name ) {    
       ptr = ptr-&amp;gt;next;                          
       if( ptr == NULL )                          
          break;                                  
    }
    return ptr;  
}

struct list::node* list::searchId(struct node* ptr, int id) {
    while( id != ptr-&amp;gt;id ) {    
       ptr = ptr-&amp;gt;next;                          
       if( ptr == NULL )                          
          break;                                  
    }
    return ptr;  
}

void list::reverse() {
 // we need at least two nodes for the reverse to have any effect
 if(head == NULL || head-&amp;gt;next == NULL) return;

 // Starting 2nd list as &#39;me&#39; and &#39;head&#39; is now &#39;me-&amp;gt;next&#39;
 // and &#39;head-&amp;gt;next&#39; is pointing to NULL
 // So, the 3rd list is now &#39;child&#39; of &#39;me&#39;
 node *parent = head;
 node *me = head-&amp;gt;next;
 node *child = me-&amp;gt;next;

 // convert head to tail
 head-&amp;gt;next = NULL;

 // reverse pointer direction
 me-&amp;gt;next = head;
 
 while(child != NULL){
  me-&amp;gt;next = parent;
  parent = me;
  me = child;
  child = child-&amp;gt;next;
 }
 // when me reached the tail
 // me becomes head
 head = me;
 // the head is now pointing to the 2nd last node
 head-&amp;gt;next = parent;
}
 

void list::deleteNode( struct list::node *ptr )
{
  struct node *temp, *prev;
   temp = ptr;    // node to be deleted 
   prev = head;   // start of the list, will cycle to node before temp    

   if( temp == prev ) {                    // deleting first node?  
       head = head-&amp;gt;next;                  // moves head to next node     
       if( tail == temp )                  // is it end, only one node?   
          tail = tail-&amp;gt;next;               // adjust end as well          
       delete temp ;                       // free up space 
   }
   else {                                  // if not the first node, then 
       while( prev-&amp;gt;next != temp ) {       // move prev to the node before
           prev = prev-&amp;gt;next;              // the one to be deleted       
       }
       prev-&amp;gt;next = temp-&amp;gt;next;            // link previous node to next  
       if( tail == temp )                  // if this was the end node,   
           tail = prev;                    // then reset the end pointer  
      delete temp;                         // free up space
   }
}

void list::deleteList( struct node *ptr )
{
   struct node *temp;

   if( head == NULL ) return;    // don&#39;t try to delete an empty list      

   if( ptr == head ) {   // if we are deleting the entire list    
       head = NULL;   // then reset head and    
       tail = NULL;   // end to empty                                     
   }
   else {
       temp = head;   // if it&#39;s not the entire list, readjust end   
       while( temp-&amp;gt;next != ptr )       // locate previous node to ptr   
           temp = temp-&amp;gt;next;
       tail = temp;                     // set end to node before ptr   
   }

   while( ptr != NULL ) {  // whilst there are still nodes to delete      
      temp = ptr-&amp;gt;next;   // record address of next node                 
      delete ptr;   // free this node                             
      ptr = temp;   // point to next node to be deleted           
   }
}

void list::displayNode( struct list::node *ptr ) const
{
 cout &amp;lt;&amp;lt; ptr-&amp;gt;id &amp;lt;&amp;lt; &quot;: &quot; &amp;lt;&amp;lt; ptr-&amp;gt;name &amp;lt;&amp;lt; endl;
}

void list::displayList( struct list::node *ptr ) const
{
 if(!ptr) cout &amp;lt;&amp;lt; &quot;Nothing to display&quot; &amp;lt;&amp;lt; endl;
 while(ptr) {
  displayNode(ptr);
  ptr = ptr-&amp;gt;next;
 }
}

int main()
{
 int id;
 string name;
  list myList;
 list::node* ptr;

 // add
 ptr = myList.initNode( &quot;s1&quot;, 1 );
 myList.addNode(ptr);
 ptr = myList.initNode( &quot;s2&quot;, 2 );
 myList.addNode(ptr);
 ptr = myList.initNode( &quot;s3&quot;, 3 );
 myList.addNode(ptr);
 ptr = myList.initNode( &quot;s4&quot;, 4 );
 myList.addNode(ptr);
 ptr = myList.initNode( &quot;s5&quot;, 5 );
 myList.addNode(ptr); 
 myList.displayList(myList.head);

 // delete
 name = &quot;s2&quot;;
 ptr = myList.searchName( myList.head, name );
 if( ptr == NULL ) {
  cout &amp;lt;&amp;lt; &quot;\nName: &quot; &amp;lt;&amp;lt; name &amp;lt;&amp;lt; &quot; not found&quot; &amp;lt;&amp;lt; endl;
 }
 else {
  cout &amp;lt;&amp;lt; &quot;\nDeleting a node ...  &quot;;
     myList.displayNode(ptr);
  myList.deleteNode( ptr );
 }
 myList.displayList(myList.head);

 // insert
 name = &quot;s2&quot;;
 id = 2;
 ptr = myList.initNode( name, id );
 myList.insertNode( ptr );
 cout &amp;lt;&amp;lt; &quot;\nInserting a node ...  &quot;;
 myList.displayNode(ptr);
 myList.displayList(myList.head);

 // reverse
 cout &amp;lt;&amp;lt; &quot;\nReversing the list ...  \n&quot;;
 myList.reverse();
 myList.displayList(myList.head);

 // delete
 cout &amp;lt;&amp;lt; &quot;\nIn the end, deleting the list ...  \n&quot;;
 myList.deleteList(myList.head);
 myList.displayList(myList.head);
 return 0;
}
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/4429833870114464104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/12/link-list-menggunakan-class.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4429833870114464104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4429833870114464104'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/12/link-list-menggunakan-class.html' title='Link list menggunakan class'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-8561375362412889157</id><published>2011-11-11T09:46:00.000+07:00</published><updated>2011-12-25T10:21:25.686+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Link list circular (loop)</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;fullpost&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;pre&gt;Didalam kode ini berisi
 1. menambahkan node
 2. fungsi pengembalian pada list
 3. membuat list circular (loop)
 4. rekursif 
&lt;/pre&gt;
&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;
using namespace std;

struct Node
{
 int data;
 Node * next;
};
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
Node *root = 0;

void addNode(int n)
{
 if(root==0) {
  root = new Node;
  root-&amp;gt;data = n;
  root-&amp;gt;next = 0;
  return;
 }
 Node *cur = root;
 while(cur) {
  if(cur-&amp;gt;next == 0) {
   Node *ptr = new Node;
   ptr -&amp;gt; data = n;
   ptr -&amp;gt; next = 0;
   cur -&amp;gt; next = ptr;
   return;
  }
  cur = cur-&amp;gt;next;
 }
}

void makeCircular()
{
 if(!root || !root-&amp;gt;next) return;
 Node *cur = root;
 while(cur) {
  if(cur-&amp;gt;next == 0) {
   cur-&amp;gt;next = root;
   return;
  }
  cur = cur-&amp;gt;next;
 }
}

int sizeOfList()
{
 Node *cur = root;
 int size = 0;
 while(cur) {
  size++;
  if(cur-&amp;gt;next == 0) {
   return size; 
  }
  cur = cur-&amp;gt;next; 
 }
 return size;
}

bool detectCircular() 
{
 // Assuming the list may not be circular

 if(!root || !root-&amp;gt;next) return false;
 Node *ptr1 = root;
 Node *ptr2 = root;

 while(ptr1 &amp;amp;&amp;amp; ptr2) {
  ptr1 = ptr1-&amp;gt;next;
  ptr2 = ptr2-&amp;gt;next;
  if(ptr2) {
         ptr2 = ptr2-&amp;gt;next;
         if(!ptr2) return false;
  }
  else {
   return false;
  }
  cout &amp;lt;&amp;lt; ptr1-&amp;gt;data &amp;lt;&amp;lt; &quot;,&quot; &amp;lt;&amp;lt; ptr2-&amp;gt;data &amp;lt;&amp;lt; endl;
  if(ptr1==ptr2) {
   return true;
  }
 }
 return false;
}

void printRecursive(Node *ptr)
{
 if(!ptr) {
  cout &amp;lt;&amp;lt; endl;
  return;
 }
 cout &amp;lt;&amp;lt; ptr-&amp;gt;data &amp;lt;&amp;lt; &quot; &quot;;
 printRecursive(ptr-&amp;gt;next);
}

int main(int argc, char **argv)
{
 addNode(10);addNode(20);addNode(30);addNode(40);addNode(50);
 addNode(60);addNode(70);addNode(80);addNode(90);addNode(100);
 
 printRecursive(root);

 cout &amp;lt;&amp;lt; &quot;size of list = &quot; &amp;lt;&amp;lt; sizeOfList() &amp;lt;&amp;lt; endl;
  
 makeCircular();

 if(detectCircular()) cout &amp;lt;&amp;lt;&quot;Circular\n&quot;;
 else cout &amp;lt;&amp;lt; &quot;Normal\n&quot;;
  
}
&lt;/pre&gt;
Output from the run:&lt;br /&gt;
&lt;pre&gt;10 20 30 40 50 60 70 80 90 100
size of list = 10
20,30
30,50
40,70
50,90
60,10
70,30
80,50
90,70
100,90
10,10
Circular
&lt;/pre&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;subtitle_2nd&quot; id=&quot;linkedlistexample5B&quot;&gt;
Example 5B - Detecting Circular (Loop) Linked List (Generic Class with Template)&lt;/div&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;

using namespace std;

template &amp;lt;class T&amp;gt;
class LinkedList
{
private:
 struct node
 {
  T data;
  node * next;
 } *head;

public:
 LinkedList();
 ~LinkedList();
 void add(T d);
 void remove(T d);
 void clear();
 void makeCircular();
 bool isCircular();
 void display(const char* s);
};

template &amp;lt;class T&amp;gt;
LinkedList&amp;lt;T&amp;gt;::LinkedList()
{
 head = NULL;
} 

template &amp;lt;class T&amp;gt;
LinkedList&amp;lt;T&amp;gt;::~LinkedList()
{
 node *p, *q;
 p = head;
 if(p == NULL) return;
 while(p) {
  q = p-&amp;gt;next;
  delete p;
  p = q;
 }
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::add(T d)
{ 
 node *p, *q;
 if(head == NULL) {
  head = new node;
  head-&amp;gt;data = d;
  head-&amp;gt;next = NULL;
  return;
 } 
 p = head;
 while(p-&amp;gt;next != NULL) 
  p = p-&amp;gt;next;
 q = new node;
 q-&amp;gt;data = d;
 q-&amp;gt;next = NULL;
 p-&amp;gt;next = q; 
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::remove(T d)
{
 node *p, *q;
 if(head == NULL) return;
 p = head;
 while(p) {
  if(p-&amp;gt;data == d) {
   q-&amp;gt;next = p-&amp;gt;next;
   delete p;
   return;
  }
  q = p;
  p = p-&amp;gt;next;
 }
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::clear()
{
 node *p, *q;
 if(head == NULL) return;
 p = head;
 while(p) {
  q = p-&amp;gt;next;
  delete p;
  if(q != head)  {
   head = NULL;
   return;
  }
  p = q;
 }
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::makeCircular()
{
 node *p;
 if(head == NULL || head-&amp;gt;next == NULL) return;
 p = head;
 while(p) {
  if(p-&amp;gt;next == NULL) {
   p-&amp;gt;next = head;
   return;
  }
  p = p-&amp;gt;next;
 }
}

template &amp;lt;class T&amp;gt;
bool LinkedList&amp;lt;T&amp;gt;::isCircular()
{
 node *p, *pp;
 if(head == NULL || head-&amp;gt;next == NULL) return false;
 p = head;
 pp = head;
 while(pp) {
  p = p-&amp;gt;next;
  if(pp-&amp;gt;next == NULL) return false;
  pp = (pp-&amp;gt;next)-&amp;gt;next;
  if(p == pp) return true;
 }
 return false;
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::display(const char* s)
{
 node *p;
 if(head == NULL) return;
 p = head;
 while(p) {
  if(s == &quot;string&quot;) 
   cout &amp;lt;&amp;lt; p-&amp;gt;data &amp;lt;&amp;lt; endl;
  else
   cout &amp;lt;&amp;lt; p-&amp;gt;data &amp;lt;&amp;lt; &#39; &#39;;
  p = p-&amp;gt;next;
  if(p != NULL) {
   if(p == head) return;
  }
 }
 if(s == &quot;integer&quot;) cout &amp;lt;&amp;lt; endl;
}
 
int main()
{
 LinkedList&amp;lt;string&amp;gt; sList;
 sList.add(&quot;Wolfgang Amadeus Mozart&quot;);
 sList.add(&quot;Franz Peter Schubert&quot;);
 sList.add(&quot;Pyotr Ilyich Tchaikovsky&quot;);
 sList.add(&quot;Clude-Achille Debussy&quot;);
 sList.add(&quot;Camille Saint-Saens&quot;);
 sList.display(&quot;string&quot;);
 sList.clear();

 LinkedList&amp;lt;int&amp;gt; iList;
 iList.add(40);
 iList.add(50);
 iList.add(60);
 iList.add(70);
 iList.add(80);
 iList.add(90);
 iList.add(100);
 iList.add(10);
 iList.add(20);
 iList.add(30);
 iList.display(&quot;integer&quot;);

 /* link last element to the first */
 iList.makeCircular();

 if(iList.isCircular()) cout &amp;lt;&amp;lt;&quot;This is circular list\n&quot;;
 iList.display(&quot;integer&quot;);

 iList.clear();
 cout &amp;lt;&amp;lt; &quot;\ndisplay after clear()\n&quot;;
 iList.display(&quot;integer&quot;);

 return 0;
}
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/8561375362412889157/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/12/link-list-circular-loop.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8561375362412889157'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8561375362412889157'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/12/link-list-circular-loop.html' title='Link list circular (loop)'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-1690417982403598034</id><published>2011-11-10T10:27:00.000+07:00</published><updated>2011-12-25T10:27:38.536+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Stack menggunakan linklist</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;fullpost&quot;&gt;Contoh program stack ini menggunakan linklist dan data terstruktur&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;

&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;lt;

using namespace std;

typedef struct Element
{
 void *data;
 struct Element *next;
} Element;

bool push(Element **top, void *data)
{
 Element *elem = new Element;
 if(!elem) return false;

 elem-&amp;gt;data = data;
 elem-&amp;gt;next = *top;
 *top = elem;
 return true;
}

bool createStack(Element **top)
{
 *top = NULL;
 return true;
}

bool pop(Element **top, void **data )
{
 Element *elem;
 if( !(elem = *top) ) return false;

 *data = elem-&amp;gt;data;
 *top = elem-&amp;gt;next;
 delete elem;
 return true;
}

bool deleteStack(Element **top)
{
 Element *elem;
 while(*top) {
  elem = (*top)-&amp;gt;next;
  delete *top;
  *top = elem;
 }
 return true;

}

void printStack(Element *top) 
{
 if(top==NULL) {
  cout &amp;lt;&amp;lt; &quot;Empty!&quot; &amp;lt;&amp;lt; endl;
 }
 Element *cur = top;
 while(cur) {
  cout &amp;lt;&amp;lt; *(static_cast&amp;lt;int *&amp;gt;(cur-&amp;gt;data)) &amp;lt;&amp;lt; &quot; &quot;;
  cur = cur-&amp;gt;next;
 }
 cout &amp;lt;&amp;lt; endl &amp;lt;&amp;lt; endl;
}

int main()
{
 Element *head;
 createStack(&amp;amp;head);
 int n1 = 10, n2 = 20, n3 = 30, n4 = 40, n5 = 50;
 push(&amp;amp;head, &amp;amp;n1);
 push(&amp;amp;head, &amp;amp;n2);
 push(&amp;amp;head, &amp;amp;n3);
 push(&amp;amp;head, &amp;amp;n4);
 push(&amp;amp;head, &amp;amp;n5);

 printStack(head);

 void * n;
 pop(&amp;amp;head, &amp;amp;n);
 cout &amp;lt;&amp;lt; &quot;popped &quot; &amp;lt;&amp;lt; *(static_cast&amp;lt;int*&amp;gt;(n)) &amp;lt;&amp;lt; endl;
 pop(&amp;amp;head, &amp;amp;n);
 cout &amp;lt;&amp;lt; &quot;popped &quot; &amp;lt;&amp;lt; *(static_cast&amp;lt;int*&amp;gt;(n)) &amp;lt;&amp;lt; endl;
 cout &amp;lt;&amp;lt; endl;

 printStack(head);

 cout &amp;lt;&amp;lt; &quot;deleting stack...&quot; &amp;lt;&amp;lt; endl;
 deleteStack(&amp;amp;head);
 printStack(head);
}
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/1690417982403598034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/stack-menggunakan-linklist.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/1690417982403598034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/1690417982403598034'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/stack-menggunakan-linklist.html' title='Stack menggunakan linklist'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-7635656512478637644</id><published>2011-11-10T10:15:00.000+07:00</published><updated>2011-12-25T10:20:28.310+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Link list menggunakan template</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
ini contoh linklist circular menggunakan template &lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;
#include &amp;lt;string&amp;gt;

using namespace std;

template &amp;lt;class T&amp;gt;
class LinkedList
{
private:
 struct node
 {
  T data;
  node * next;
 } *head;

public:&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
 LinkedList();
 ~LinkedList();
 void add(T d);
 void remove(T d);
 void clear();
 void makeCircular();
 bool isCircular();
 void display(const char* s);
};

template &amp;lt;class T&amp;gt;
LinkedList&amp;lt;T&amp;gt;::LinkedList()
{
 head = NULL;
} 

template &amp;lt;class T&amp;gt;
LinkedList&amp;lt;T&amp;gt;::~LinkedList()
{
 node *p, *q;
 p = head;
 if(p == NULL) return;
 while(p) {
  q = p-&amp;gt;next;
  delete p;
  p = q;
 }
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::add(T d)
{ 
 node *p, *q;
 if(head == NULL) {
  head = new node;
  head-&amp;gt;data = d;
  head-&amp;gt;next = NULL;
  return;
 } 
 p = head;
 while(p-&amp;gt;next != NULL) 
  p = p-&amp;gt;next;
 q = new node;
 q-&amp;gt;data = d;
 q-&amp;gt;next = NULL;
 p-&amp;gt;next = q; 
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::remove(T d)
{
 node *p, *q;
 if(head == NULL) return;
 p = head;
 while(p) {
  if(p-&amp;gt;data == d) {
   q-&amp;gt;next = p-&amp;gt;next;
   delete p;
   return;
  }
  q = p;
  p = p-&amp;gt;next;
 }
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::clear()
{
 node *p, *q;
 if(head == NULL) return;
 p = head;
 while(p) {
  q = p-&amp;gt;next;
  delete p;
  if(q != head)  {
   head = NULL;
   return;
  }
  p = q;
 }
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::makeCircular()
{
 node *p;
 if(head == NULL || head-&amp;gt;next == NULL) return;
 p = head;
 while(p) {
  if(p-&amp;gt;next == NULL) {
   p-&amp;gt;next = head;
   return;
  }
  p = p-&amp;gt;next;
 }
}

template &amp;lt;class T&amp;gt;
bool LinkedList&amp;lt;T&amp;gt;::isCircular()
{
 node *p, *pp;
 if(head == NULL || head-&amp;gt;next == NULL) return false;
 p = head;
 pp = head;
 while(pp) {
  p = p-&amp;gt;next;
  if(pp-&amp;gt;next == NULL) return false;
  pp = (pp-&amp;gt;next)-&amp;gt;next;
  if(p == pp) return true;
 }
 return false;
}

template &amp;lt;class T&amp;gt;
void LinkedList&amp;lt;T&amp;gt;::display(const char* s)
{
 node *p;
 if(head == NULL) return;
 p = head;
 while(p) {
  if(s == &quot;string&quot;) 
   cout &amp;lt;&amp;lt; p-&amp;gt;data &amp;lt;&amp;lt; endl;
  else
   cout &amp;lt;&amp;lt; p-&amp;gt;data &amp;lt;&amp;lt; &#39; &#39;;
  p = p-&amp;gt;next;
  if(p != NULL) {
   if(p == head) return;
  }
 }
 if(s == &quot;integer&quot;) cout &amp;lt;&amp;lt; endl;
}
 
int main()
{
 LinkedList&amp;lt;string&amp;gt; sList;
 sList.add(&quot;Wolfgang Amadeus Mozart&quot;);
 sList.add(&quot;Franz Peter Schubert&quot;);
 sList.add(&quot;Pyotr Ilyich Tchaikovsky&quot;);
 sList.add(&quot;Clude-Achille Debussy&quot;);
 sList.add(&quot;Camille Saint-Saens&quot;);
 sList.display(&quot;string&quot;);
 sList.clear();

 LinkedList&amp;lt;int&amp;gt; iList;
 iList.add(40);
 iList.add(50);
 iList.add(60);
 iList.add(70);
 iList.add(80);
 iList.add(90);
 iList.add(100);
 iList.add(10);
 iList.add(20);
 iList.add(30);
 iList.display(&quot;integer&quot;);

 /* link last element to the first */
 iList.makeCircular();

 if(iList.isCircular()) cout &amp;lt;&amp;lt;&quot;This is circular list\n&quot;;
 iList.display(&quot;integer&quot;);

 iList.clear();
 cout &amp;lt;&amp;lt; &quot;\ndisplay after clear()\n&quot;;
 iList.display(&quot;integer&quot;);

 return 0;
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/7635656512478637644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/12/link-list-menggunakan-template.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/7635656512478637644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/7635656512478637644'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/12/link-list-menggunakan-template.html' title='Link list menggunakan template'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-1336823133880002789</id><published>2011-11-10T09:38:00.000+07:00</published><updated>2011-12-25T10:22:47.698+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Contoh Link list</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
Ini adalah contoh linklist&lt;/blockquote&gt;
silahkan dicoba&lt;br /&gt;
 &lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;

using namespace std;

struct Node {
 int data;
 Node* next;
};

// only for the 1st Node
void initNode(struct Node *head,int n){
 head-&amp;gt;data = n;
 head-&amp;gt;next =NULL;
}

// apending
void addNode(struct Node *head, int n) {
 Node *newNode = new Node;
 newNode-&amp;gt;data = n;
 newNode-&amp;gt;next = NULL;

 Node *cur = head;
 while(cur) {
  if(cur-&amp;gt;next == NULL) {
   cur-&amp;gt;next = newNode;
   return;
  }
  cur = cur-&amp;gt;next;&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
 }
}

void insertFront(struct Node **head, int n) {
 Node *newNode = new Node;
 newNode-&amp;gt;data = n;
 newNode-&amp;gt;next = *head;
 *head = newNode;
}

struct Node *searchNode(struct Node *head, int n) {
 Node *cur = head;
 while(cur) {
  if(cur-&amp;gt;data == n) return cur;
  cur = cur-&amp;gt;next;
 }
 cout &amp;lt;&amp;lt; &quot;No Node &quot; &amp;lt;&amp;lt; n &amp;lt;&amp;lt; &quot; in list.\n&quot;;
}

bool deleteNode(struct Node **head, Node *ptrDel) {
 Node *cur = *head;
 if(ptrDel == *head) {
  *head = cur-&amp;gt;next;
  delete ptrDel;
  return true;
 }
 
 while(cur) {
  if(cur-&amp;gt;next == ptrDel) {
   cur-&amp;gt;next = ptrDel-&amp;gt;next;
   delete ptrDel;
   return true;
  }
  cur = cur-&amp;gt;next;
 }
 return false;
}

/* reverse the list */
struct Node* reverse(struct Node** List) 
{
 Node *parent = *List;
 Node *me = parent-&amp;gt;next;
 Node *child = me-&amp;gt;next;

 /* make parent as tail */
 parent-&amp;gt;next = NULL;
 while(child) {
  me-&amp;gt;next = parent;
  parent = me;
  me = child;
  child = child-&amp;gt;next;
 }
 me-&amp;gt;next = parent;
 *List = me;
 return *List;
}

/* Creating a copy of a linked list */
void copyLinkedList(struct Node *node, struct Node **pNew)
{
 if(node != NULL) {
  *pNew = new Node;
  (*pNew)-&amp;gt;data = node-&amp;gt;data;
  (*pNew)-&amp;gt;next = NULL;
  copyLinkedList(node-&amp;gt;next, &amp;amp;((*pNew)-&amp;gt;next));
 }
}

/* Compare two linked list */
/* return value: same(1), different(0) */
int compareLinkedList(struct Node *node1, struct Node *node2)
{
 static int flag;

 /* both lists are NULL */
 if(node1 == NULL &amp;amp;&amp;amp; node2 == NULL) {
  flag = 1;
 }
 else {
  if(node1 == NULL || node2 == NULL) 
   flag = 0;
  else if(node1-&amp;gt;data != node2-&amp;gt;data) 
   flag = 0;
  else
   compareLinkedList(node1-&amp;gt;next, node2-&amp;gt;next);
 }

 return flag;
}

void deleteLinkedList(struct Node **node)
{
 struct Node *tmpNode;
 while(*node) {
  tmpNode = *node;
  *node = tmpNode-&amp;gt;next;
  delete tmpNode;
 }
}

void display(struct Node *head) {
 Node *list = head;
 while(list) {
  cout &amp;lt;&amp;lt; list-&amp;gt;data &amp;lt;&amp;lt; &quot; &quot;;
  list = list-&amp;gt;next;
 }
 cout &amp;lt;&amp;lt; endl;
 cout &amp;lt;&amp;lt; endl;
}

int main() 
{
 struct Node *newHead;
 struct Node *head = new Node;
 
 initNode(head,10);
 display(head);

 addNode(head,20);
 display(head);

 addNode(head,30);
 display(head);

 addNode(head,35);
 display(head);

 addNode(head,40);
 display(head);

 insertFront(&amp;amp;head,5);
 display(head);

 int numDel = 5;
 Node *ptrDelete = searchNode(head,numDel);
 if(deleteNode(&amp;amp;head,ptrDelete)) 
  cout &amp;lt;&amp;lt; &quot;Node &quot;&amp;lt;&amp;lt; numDel &amp;lt;&amp;lt; &quot; deleted!\n&quot;;
 display(head);

 cout &amp;lt;&amp;lt; &quot;The list is reversed\n&quot;;
 reverse(&amp;amp;head);
 display(head);

 cout &amp;lt;&amp;lt; &quot;The list is copied\n&quot;;
 copyLinkedList(head,&amp;amp;newHead);
 display(newHead);

 cout &amp;lt;&amp;lt; &quot;Comparing the two lists...\n&quot;;
 cout &amp;lt;&amp;lt; &quot;Are the two lists same?\n&quot;;
 if(compareLinkedList(head,newHead)) 
  cout &amp;lt;&amp;lt; &quot;Yes, they are same!\n&quot;;
 else
  cout &amp;lt;&amp;lt; &quot;No, they are different!\n&quot;;
 cout &amp;lt;&amp;lt; endl;

 numDel = 35;
 ptrDelete = searchNode(newHead,numDel);
 if(deleteNode(&amp;amp;newHead,ptrDelete)) {
  cout &amp;lt;&amp;lt; &quot;Node &quot;&amp;lt;&amp;lt; numDel &amp;lt;&amp;lt; &quot; deleted!\n&quot;;
  cout &amp;lt;&amp;lt; &quot;The new list after the delete is\n&quot;;
  display(newHead);
 }
 cout &amp;lt;&amp;lt; &quot;Comparing the two lists again...\n&quot;;
 cout &amp;lt;&amp;lt; &quot;Are the two lists same?\n&quot;;
 if(compareLinkedList(head,newHead)) 
  cout &amp;lt;&amp;lt; &quot;Yes, they are same!\n&quot;;
 else
  cout &amp;lt;&amp;lt; &quot;No, they are different!\n&quot;;
    
 cout &amp;lt;&amp;lt; endl;
 cout &amp;lt;&amp;lt; &quot;Deleting the copied list\n&quot;;
 deleteLinkedList(&amp;amp;newHead);
 display(newHead);
 return 0;
}&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/1336823133880002789/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/12/contoh-link-list.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/1336823133880002789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/1336823133880002789'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/12/contoh-link-list.html' title='Contoh Link list'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-2904589340537688625</id><published>2011-11-01T11:34:00.000+07:00</published><updated>2011-12-25T11:34:53.102+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Program Pointer</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;span class=&quot;fullpost&quot;&gt;
&lt;/span&gt;&lt;br /&gt;
Contoh program pointer&lt;br /&gt;
&lt;br /&gt;

&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;pre&gt;#include &amp;lt;iostream&amp;gt;  
using namespace std;  

enum Type  {  
   INT,  
   FLOAT,  
   STRING,  
 };  

void Display(void *pVoid, Type eType)  {    
   switch (eType)  {  
 case INT:  
   cout &amp;lt;&amp;lt; *(int*)pVoid &amp;lt;&amp;lt; endl;  
  break;  &lt;a name=&#39;more&#39;&gt;&lt;/a&gt;
 case FLOAT:  
  cout &amp;lt;&amp;lt; *(float*)pVoid &amp;lt;&amp;lt; endl;  
  break;  
 case STRING:  
  cout &amp;lt;&amp;lt; (char*)pVoid &amp;lt;&amp;lt; endl;  
  break;  
   }  
}    

int main()  
{  
   int a = 10;  
   float b = 987.654;  
   char *c = 
 &quot;Art is a lie that makes us realize the truth.&quot;;  
   Display(&amp;amp;a, INT);  
   Display(&amp;amp;b, FLOAT);  
   Display(c, STRING);  
   return 0;  
} 
&lt;/pre&gt;
&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/2904589340537688625/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/11/program-pointer.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2904589340537688625'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2904589340537688625'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/11/program-pointer.html' title='Program Pointer'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-2277735475185460830</id><published>2011-11-01T08:40:00.000+07:00</published><updated>2011-12-25T11:08:56.621+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Source code program C menghitung nilai kombinasi Dan Permutasi</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;a href=&quot;http://nasikun.blogspot.com/2010/12/source-code-program-c-menghitung-nilai.html&quot;&gt;&lt;b&gt;&lt;span style=&quot;color: black; font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.5pt;&quot;&gt;Source code program C menghitung nilai kombinasi&lt;/span&gt;&lt;/b&gt;&lt;/a&gt;&lt;b&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;Berikut ini merupakan source code bahasa C untuk membuat program penghitung nilai dari kombinasi bilangan&lt;br /&gt;
&lt;/span&gt;&lt;br /&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
# include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
long int faktorial (unsigned int n)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
if(n==1||n==0)&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
return 1;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
else&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
return n*faktorial (n-1);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
}&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
int main()&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
{&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
int a,b;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
long int hasil;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf(&quot;\t Menghitung Rumus Kombinasi\n\n&quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf(&quot;Masukkan nilai a = &quot;);&lt;/span&gt;&lt;/blockquote&gt;
&lt;blockquote&gt;
&lt;a name=&#39;more&#39;&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
scanf(&quot;%d&quot;,&amp;amp;a);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf(&quot;Masukkan nilai b = &quot;);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
scanf(&quot;%d&quot;,&amp;amp;b);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
hasil = faktorial(a)/faktorial(b)*faktorial(a-b);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf (&quot;%d!=%d\n&quot;,a,faktorial(a));&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf (&quot;%d!=%d\n&quot;,b,faktorial(b));&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf (&quot;%d-%d!=%d\n&quot;,a,b,faktorial(a-b));&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
printf(&quot;%d C %d = %d\n\n&quot;,a,b,hasil);&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
return 0;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;
}&lt;/span&gt;&lt;/blockquote&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.5pt;&quot;&gt;Source code program C menghitung nilai Permutasi&lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;
&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 12pt;&quot;&gt;Berikut ini merupakan source code bahasa C untuk membuat program penghitung nilai dari permutasi bilangan&lt;/span&gt;&lt;b&gt;&lt;u&gt;&lt;span style=&quot;font-family: &amp;quot;Times New Roman&amp;quot;,&amp;quot;serif&amp;quot;; font-size: 13.5pt;&quot;&gt; &lt;/span&gt;&lt;/u&gt;&lt;/b&gt;&lt;/div&gt;
&lt;blockquote class=&quot;tr_bq&quot;&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;conio.h&amp;gt;&lt;br /&gt;
#include &amp;lt;stdlib.h&amp;gt;&lt;br /&gt;
main()&lt;br /&gt;
{&lt;br /&gt;
int x,y,m,n,z=0,nilai=1;&lt;br /&gt;
system(“color d”);&lt;br /&gt;
puts(“\t\t=========================================================”);&lt;br /&gt;
puts(“\n\t\t =============== \2\4 PROGRAM PERMUTASI \4\2 ===============”);&lt;br /&gt;
puts(“\n\t\t=========================================================”);&lt;br /&gt;
printf(“\n\nmasukkan banyak angka yang akan di cari permutasinya : “, x);&lt;br /&gt;
scanf(“%d”,&amp;amp;x);&lt;br /&gt;
system(“color b”);&lt;br /&gt;
puts(“\n===========================”);&lt;br /&gt;
printf(“Hasil Permutasinya”);&lt;br /&gt;
puts(“\n===========================”);&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
for(n=0;n&amp;lt;x;n++)&lt;br /&gt;
{&lt;br /&gt;
n=nilai*x;&lt;br /&gt;
nilai=n;&lt;br /&gt;
}&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;line-height: normal;&quot;&gt;
int p[x];&lt;br /&gt;
for(y=0;y&amp;lt;x;y++)&lt;br /&gt;
p[y]=1;&lt;br /&gt;
for(y=0;y&amp;lt;nilai;y++)&lt;br /&gt;
{&lt;br /&gt;
for(m=0;m&amp;lt;x;m++)&lt;br /&gt;
printf(“%d&amp;nbsp; “,p[m]);&lt;br /&gt;
p[x-1]++;&lt;br /&gt;
printf(“\n”);&lt;/div&gt;
for(m=x-1;m&amp;gt;0;m–)&lt;br /&gt;
{&lt;br /&gt;
if(p[m]&amp;gt;x)&lt;br /&gt;
{&lt;br /&gt;
p[m]=1;&lt;br /&gt;
p[m-1]++;&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
}&lt;br /&gt;
puts(“\n===========================”);&lt;br /&gt;
getch();&lt;br /&gt;
} 
&lt;stdio.h&gt;&lt;span class=&quot;fullpost&quot;&gt;&lt;stdio.h&gt;&lt;conio.h&gt;&lt;stdlib.h&gt;&lt;x;n++) for(m=&quot;0;m&amp;lt;x;m++)&quot; for(y=&quot;0;y&amp;lt;x;y++)&quot; int=&quot;&quot; n=&quot;nilai*x;&quot; nilai=&quot;n;&quot; p[x-1]++;=&quot;&quot; p[x];=&quot;&quot; p[y]=&quot;1;&quot; printf(“%d=&quot;&quot; printf(“\n”);=&quot;&quot; {=&quot;&quot; }=&quot;&quot; “,p[m]);=&quot;&quot;&gt;&lt;/x;n++)&gt;&lt;/stdlib.h&gt;&lt;/conio.h&gt;&lt;/stdio.h&gt;&lt;/span&gt;&lt;/stdio.h&gt;&lt;/blockquote&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/2277735475185460830/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/12/source-code-program-c-menghitung-nilai.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2277735475185460830'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2277735475185460830'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/12/source-code-program-c-menghitung-nilai.html' title='Source code program C menghitung nilai kombinasi Dan Permutasi'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-1227873068787237751</id><published>2011-10-12T08:40:00.000+07:00</published><updated>2011-12-25T09:25:22.917+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="S. Data"/><title type='text'>Contoh Program Antrian</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:WordDocument&gt;
  &lt;w:View&gt;Normal&lt;/w:View&gt;
  &lt;w:Zoom&gt;0&lt;/w:Zoom&gt;
  &lt;w:TrackMoves/&gt;
  &lt;w:TrackFormatting/&gt;
  &lt;w:PunctuationKerning/&gt;
  &lt;w:ValidateAgainstSchemas/&gt;
  &lt;w:SaveIfXMLInvalid&gt;false&lt;/w:SaveIfXMLInvalid&gt;
  &lt;w:IgnoreMixedContent&gt;false&lt;/w:IgnoreMixedContent&gt;
  &lt;w:AlwaysShowPlaceholderText&gt;false&lt;/w:AlwaysShowPlaceholderText&gt;
  &lt;w:DoNotPromoteQF/&gt;
  &lt;w:LidThemeOther&gt;IN&lt;/w:LidThemeOther&gt;
  &lt;w:LidThemeAsian&gt;X-NONE&lt;/w:LidThemeAsian&gt;
  &lt;w:LidThemeComplexScript&gt;X-NONE&lt;/w:LidThemeComplexScript&gt;
  &lt;w:Compatibility&gt;
   &lt;w:BreakWrappedTables/&gt;
   &lt;w:SnapToGridInCell/&gt;
   &lt;w:WrapTextWithPunct/&gt;
   &lt;w:UseAsianBreakRules/&gt;
   &lt;w:DontGrowAutofit/&gt;
   &lt;w:SplitPgBreakAndParaMark/&gt;
   &lt;w:DontVertAlignCellWithSp/&gt;
   &lt;w:DontBreakConstrainedForcedTables/&gt;
   &lt;w:DontVertAlignInTxbx/&gt;
   &lt;w:Word11KerningPairs/&gt;
   &lt;w:CachedColBalance/&gt;
  &lt;/w:Compatibility&gt;
  &lt;w:BrowserLevel&gt;MicrosoftInternetExplorer4&lt;/w:BrowserLevel&gt;
  &lt;m:mathPr&gt;
   &lt;m:mathFont m:val=&quot;Cambria Math&quot;/&gt;
   &lt;m:brkBin m:val=&quot;before&quot;/&gt;
   &lt;m:brkBinSub m:val=&quot;--&quot;/&gt;
   &lt;m:smallFrac m:val=&quot;off&quot;/&gt;
   &lt;m:dispDef/&gt;
   &lt;m:lMargin m:val=&quot;0&quot;/&gt;
   &lt;m:rMargin m:val=&quot;0&quot;/&gt;
   &lt;m:defJc m:val=&quot;centerGroup&quot;/&gt;
   &lt;m:wrapIndent m:val=&quot;1440&quot;/&gt;
   &lt;m:intLim m:val=&quot;subSup&quot;/&gt;
   &lt;m:naryLim m:val=&quot;undOvr&quot;/&gt;
  &lt;/m:mathPr&gt;&lt;/w:WordDocument&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 9]&gt;&lt;xml&gt;
 &lt;w:LatentStyles DefLockedState=&quot;false&quot; DefUnhideWhenUsed=&quot;true&quot;
  DefSemiHidden=&quot;true&quot; DefQFormat=&quot;false&quot; DefPriority=&quot;99&quot;
  LatentStyleCount=&quot;267&quot;&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;0&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Normal&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;heading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;9&quot; QFormat=&quot;true&quot; Name=&quot;heading 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 7&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 8&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; Name=&quot;toc 9&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;35&quot; QFormat=&quot;true&quot; Name=&quot;caption&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;10&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; Name=&quot;Default Paragraph Font&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;11&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtitle&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;22&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Strong&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;20&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;59&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Table Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Placeholder Text&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;1&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;No Spacing&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; UnhideWhenUsed=&quot;false&quot; Name=&quot;Revision&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;34&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;List Paragraph&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;29&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;30&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Quote&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 1&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 2&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 3&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 4&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 5&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;60&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;61&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;62&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Light Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;63&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;64&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Shading 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;65&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;66&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium List 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;67&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 1 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;68&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 2 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;69&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Medium Grid 3 Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;70&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Dark List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;71&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Shading Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;72&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful List Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;73&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; Name=&quot;Colorful Grid Accent 6&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;19&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;21&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Emphasis&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;31&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Subtle Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;32&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Intense Reference&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;33&quot; SemiHidden=&quot;false&quot;
   UnhideWhenUsed=&quot;false&quot; QFormat=&quot;true&quot; Name=&quot;Book Title&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;37&quot; Name=&quot;Bibliography&quot;/&gt;
  &lt;w:LsdException Locked=&quot;false&quot; Priority=&quot;39&quot; QFormat=&quot;true&quot; Name=&quot;TOC Heading&quot;/&gt;
 &lt;/w:LatentStyles&gt;
&lt;/xml&gt;&lt;![endif]--&gt;&lt;!--[if gte mso 10]&gt;
&lt;style&gt;
 /* Style Definitions */
 table.MsoNormalTable
 {mso-style-name:&quot;Table Normal&quot;;
 mso-tstyle-rowband-size:0;
 mso-tstyle-colband-size:0;
 mso-style-noshow:yes;
 mso-style-priority:99;
 mso-style-qformat:yes;
 mso-style-parent:&quot;&quot;;
 mso-padding-alt:0cm 5.4pt 0cm 5.4pt;
 mso-para-margin-top:0cm;
 mso-para-margin-right:0cm;
 mso-para-margin-bottom:10.0pt;
 mso-para-margin-left:0cm;
 line-height:115%;
 mso-pagination:widow-orphan;
 font-size:11.0pt;
 font-family:&quot;Calibri&quot;,&quot;sans-serif&quot;;
 mso-ascii-font-family:Calibri;
 mso-ascii-theme-font:minor-latin;
 mso-fareast-font-family:&quot;Times New Roman&quot;;
 mso-fareast-theme-font:minor-fareast;
 mso-hansi-font-family:Calibri;
 mso-hansi-theme-font:minor-latin;
 mso-bidi-font-family:&quot;Times New Roman&quot;;
 mso-bidi-theme-font:minor-bidi;}
&lt;/style&gt;
&lt;![endif]--&gt;

&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
Source Code C++:&lt;br /&gt;
#include &amp;lt;iostream.h&amp;gt;&lt;br /&gt;
#include &amp;lt;conio.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
int main()&lt;br /&gt;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; int cek=0, data[20], x, hapus;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; char pil;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; do {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;1. Tambah Antrian&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;2. Hapus Antrian&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;3. Lihat Antrian&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;4. Keluar&quot;&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;Silahkan masukkan pilihan anda = &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pil=getche();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
if(pil!=&#39;1&#39; &amp;amp;&amp;amp; pil !=&#39;2&#39; &amp;amp;&amp;amp; pil !=&#39;3&#39; &amp;amp;&amp;amp; pil!=&#39;4&#39; )&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; cout&amp;lt;&amp;lt;&quot;Anda
salah mengetikkan inputan&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if(pil==&#39;1&#39;)&amp;nbsp;&amp;nbsp; //PUSH&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if(cek==20)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;Antrian Penuh&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;Masukkan nilai = &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cin&amp;gt;&amp;gt;x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
data[cek]=x;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cek++;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if(pil==&#39;2&#39;)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //POP&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if(cek==0)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;Antrian kosong&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
hapus=data[0];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
for(int v=0;v&amp;lt;cek;v++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
data[v]=data[v+1];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
data[cek-1]=NULL;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cek--;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;Data dengan nilai &quot;&amp;lt;&amp;lt;hapus&amp;lt;&amp;lt;&quot;
terhapus&quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
getch();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if(pil==&#39;3&#39;)&amp;nbsp;&amp;nbsp; //CEK DATA&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
if(cek==0)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot;Antrian Kosong&quot;;&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
else&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;endl;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
for(int z=0;z&amp;lt;cek;z++)&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
{&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot; | &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot; &quot;&amp;lt;&amp;lt;data[z];&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
cout&amp;lt;&amp;lt;&quot; | &quot;;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
getch();&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
return 0;&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;
}&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;
&lt;br /&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; }while(pil!=&#39;4&#39;);&lt;br /&gt;
}&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/1227873068787237751/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/10/contoh-program-antrian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/1227873068787237751'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/1227873068787237751'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/10/contoh-program-antrian.html' title='Contoh Program Antrian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-8171351394012109369</id><published>2011-07-07T19:57:00.000+07:00</published><updated>2011-07-07T19:57:33.391+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Hacking"/><category scheme="http://www.blogger.com/atom/ns#" term="Mempercepat Koneksi Internet"/><title type='text'>Mempercepat Koneksi Tekomflash</title><content type='html'>Kalo koneksi intetnet kamu pakai telkomflash, pasti ngerasa kesel banget kan kalo quotanya dah abis buat download pasti lolanya gak ketulungan, untuk download file 4MB aja harus nunggu 15menit bau selesai padahal itu juga dah pake IDM yang membuat koneksi buat browsingnya jadi lambat, nah disini ane coba kasih trik yang mungkin bisa berguna bagi agan agan sekalian trik ini ane kutip dari kaskus forum favorit ane, dah gak usah basa basi lagi langsung ikuti triknya gan&lt;span class=&quot;fullpost&quot;&gt; &lt;br /&gt;
&lt;br /&gt;
# siapin tool buat loncatin kodok nya (mdma dan dan reconnect dial ---&gt; cari sendiri di google ya) &gt;&gt; trik yg masih ampuh sampe saat ini buat sedot bandwith si kampredd...!!(kampredd=telkomflash)&lt;br /&gt;
&lt;br /&gt;
    # pada mdma set gprs/edge only terlebih dahulu..&lt;br /&gt;
&lt;br /&gt;
    # dial si kampret dr reconnect dial..ini di gunakan untuk jaga2 disco ya gan...&lt;br /&gt;
&lt;br /&gt;
    # setelah konek cek ip client nya,,kalo ane seh demen sama kepala 182 pada paket ini&lt;br /&gt;
&lt;br /&gt;
    # selanjut nya buka broser agan,, lalu masuk link speedtest,,, misalnya http://speedtest.indosatm2.com/ atau link2 lain yg menyediakan speedtest bandwith kita....&lt;br /&gt;
&lt;br /&gt;
    # silahkan mulai speedtest dengan klik start pada link td&lt;br /&gt;
&lt;br /&gt;
    # untuk mendapatkan bandwith yg kenceng,,,koneksi agan sampe disini harus tetep gprs/edge only..&lt;br /&gt;
&lt;br /&gt;
    # begitu hasil angka PING keluar pada speedtest td,,,skrng agan pindah kan koneksi nya pada 3G only pada aplikasi mdma nya...&lt;br /&gt;
&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/8171351394012109369/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/07/mempercepat-koneksi-tekomflash.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8171351394012109369'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/8171351394012109369'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/07/mempercepat-koneksi-tekomflash.html' title='Mempercepat Koneksi Tekomflash'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-3005175308287009002</id><published>2011-06-26T19:07:00.000+07:00</published><updated>2011-06-26T19:07:22.998+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tugas Sistem Operasi"/><title type='text'>Menejemen Sistem Input Output Di Linux Debian</title><content type='html'>Manajemen Sistem M/K ( I/O)&lt;br /&gt;
Pekerjaan utama yang paling sering dilakukan oleh sistem komputer selain melakukan komputasi adalah Masukan/Keluaran (M/K). Dalam kenyataannya, waktu yang digunakan untuk komputasi lebih sedikit dibandingkan waktu untuk M/K. Ditambah lagi dengan banyaknya variasi perangkat M/K sehingga membuat manajemen M/K menjadi komponen &lt;span class=&quot;fullpost&quot;&gt; yang penting bagi sebuah sistem operasi. Sistem operasi juga sering disebut device manager, karena sistem operasi mengatur berbagai macam perangkat ( device).&lt;br /&gt;
Fungsi-fungsi sistem operasi untuk sistem M/K:&lt;br /&gt;
• Penyanggaan ( buffering). Menampung data sementara dari/ke perangkat M/K&lt;br /&gt;
• Penjadwalan ( scheduling). Melakukan penjadualan pemakaian M/K sistem supaya lebih efisien.&lt;br /&gt;
• Spooling. Meletakkan suatu pekerjaan program pada penyangga, agar setiap perangkat dapat mengaksesnya saat perangkat tersebut siap.&lt;br /&gt;
• Menyediakan driver perangkat yang umum. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K yang umum, seperti optical drive, media penyimpanan sekunder, dan layar monitor.&lt;br /&gt;
• Menyediakan driver perangkat yang khusus. Driver digunakan agar sistem operasi dapat memberi perintah untuk melakukan operasi pada perangkat keras M/K tertentu, seperti kartu suara, kartu grafis, dan motherboard&lt;br /&gt;
Manajemen Sistem I/O &lt;br /&gt;
Sering disebut device manager. Menyediakan device driveryang umum sehingga operasi I/O dapat seragam (membuka, membaca, menulis,menutup). Contoh: pengguna menggunakan operasi yang sama untuk membaca berkas pada perangkat keras, CD-ROM dan floppy disk .&lt;br /&gt;
Manajemen sistem I/O merupakan aspek perancangan sistem operasi yang terluas disebabkan sangat beragamnya perangkat dan begitu banyaknya aplikasi dari perangkat- perangkat itu.&lt;br /&gt;
Sistem operasi bertanggung jawab dalam aktivitas yang berhubungan dengan manajemen sistem/perangkatI/O:&lt;br /&gt;
• Mengirim perintah ke perangkat I/O agar menyediakan layanan.&lt;br /&gt;
• Menangani interupsi perangakat I/O .&lt;br /&gt;
• Menangani kesalahan pada perangakat I/O.&lt;br /&gt;
• Menyediakan antarmuka ke pengguna.&lt;br /&gt;
Ada juga beberapa perangkat keras yang terdapat pada I/O manajemen yaitu :&lt;br /&gt;
1.      Pooling&lt;br /&gt;
• Busy-waiting/ polling adalah ketika host mengalami looping yaitu membaca status register secara terus-menerus sampai status busy di-clear.&lt;br /&gt;
• Pada dasarnya polling dapat dikatakan efisien. Akan tetapi polling menjadi tidak efisien ketika setelah berulang-ulang melakukan looping, hanya menemukan sedikit device yang siap untuk men-service, karena CPU processing yang tersisa belum selesai.&lt;br /&gt;
2. Interupsi&lt;br /&gt;
Mekanisme Dasar Interupsi :&lt;br /&gt;
• Ketika CPU mendeteksi bahwa sebuah controller telah mengirimkan sebuah sinyal ke interrupt&lt;br /&gt;
request line (membangkitkan sebuah interupsi), CPU kemudian menjawab interupsi tersebut (juga disebut menangkap interupsi) dengan menyimpan beberapa informasi mengenai state terkini CPU–contohnya nilai instruksi pointer, dan memanggil interrupt handler agar handler tersebut dapat melayani controller atau alat yang mengirim interupsi tersebut.&lt;br /&gt;
• Fitur Tambahan pada Komputer Modern :&lt;br /&gt;
• Pada arsitektur komputer modern, tiga fitur disediakan oleh CPU dan interrupt controller (pada perangkat keras) untuk dapat menangani interrupsi dengan lebih bagus. Fitur-fitur ini antara lain adalah kemampuan menghambat sebuah proses interrupt handling selama prosesi berada dalam critical state, efisiensi penanganan interupsi sehingga tidak perlu dilakukan polling untuk mencari device yang mengirimkan interupsi, dan fitur yang ketiga adalah adanya sebuah konsep multilevel interupsi sedemikian rupa sehingga terdapat prioritas dalam penanganan interupsi (diimplementasikan dengan interrupt priority level system).&lt;br /&gt;
Penyebab Interupsi&lt;br /&gt;
• Interupsi dapat disebabkan berbagai hal, antara lain exception, page fault, interupsi yang dikirimkan oleh device controllers, dan system call Exception adalah suatu kondisi dimana terjadi sesuatu/ dari sebuah operasi didapat hasil tertentu yang dianggap khusus sehingga harus mendapat perhatian lebih, contoh nya pembagian dengan 0 (nol), pengaksesan alamat memori yang restricted atau bahkan tidak valid, dan lain-lain.&lt;br /&gt;
• System call adalah sebuah fungsi pada aplikasi (perangkat lunak) yang dapat mengeksekusikan instruksi khusus berupa software interrupt atau trap.&lt;br /&gt;
3. DMA&lt;br /&gt;
• DMA adalah sebuah prosesor khusus (special purpose processor) yang berguna untuk menghindari pembebanan CPU utama oleh program I/O (PIO).&lt;br /&gt;
4. Handshaking&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/3005175308287009002/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/06/menejemen-sistem-input-output-di-linux.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/3005175308287009002'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/3005175308287009002'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/06/menejemen-sistem-input-output-di-linux.html' title='Menejemen Sistem Input Output Di Linux Debian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-2957524954677592067</id><published>2011-06-26T19:05:00.002+07:00</published><updated>2011-06-26T19:05:59.096+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tugas Sistem Operasi"/><title type='text'>Penjadwalan Proses Linux Debian</title><content type='html'>Ketika kernel telah mencapai titik penjadwalan ulang, entah karena terjadi interupsi penjadwalan ulang maupun karena proses kernel yang sedang berjalan telah diblokir untuk menunggu beberapa signal bangun, harus memutuskanproses selanjutnya yang akan dijalankan. Linux telah memiliki dua algoritma penjadwalan proses yang terpisah satu sama lain. Algoritma yang pertama adalah algoritma time-sharing untuk penjadwalan preemptive yang adil diantara sekian banyak proses. Sedangkan algoritma yang kedua didesain untuk tugas real-time dimana proritas mutlak lebih utama &lt;span class=&quot;fullpost&quot;&gt; daripada keadilan mendapatkan suatu pelayanan.&lt;br /&gt;
&lt;br /&gt;
Bagian dari tiap identitas proses adalah kelas penjadwalan, yang akan menentukan algoritma yang digunakan untuk tiap proses. Kelas penjadwalan yang digunakan oleh Linux, terdapat dalam standar perluasan POSIX untuk sistem komputer waktu nyata.&lt;br /&gt;
&lt;br /&gt;
Untuk proses time-sharing, Linux menggunakan teknik prioritas, sebuah algoritma yang berdasarkan pada kupon. Tiap proses memiliki sejumlah kupon penjadwalan; dimana ketika ada kesempatan untuk menjalankan sebuah tugas, maka proses dengan kupon terbanyaklah yang mendapat giliran. Setiap kali terjadi interupsi waktu, proses yang sedang berjalan akan kehilangan satu kupon; dan ketika kupon yang dimiliki sudah habis maka proses itu akan ditunda dan proses yang lain akan diberikan kesempatan untuk masuk.&lt;br /&gt;
&lt;br /&gt;
Jika proses yang sedang berjalan tidak meiliki kupon sama sekali, linux akan melakukan operasi pemberian kupon, memberikan kupon kepada tiap proses dalam sistem, dengan aturan main: kupon = kupon / 2 + prioritas Algoritma ini cenderung untuk menggabungkan dua faktor yang ada: sejarah proses dan prioritas dari proses itu sendiri. Satu setengah dari kupon yang dimiliki sejak operasi pembagian kupon terakhir akan tetap dijaga setelah algoritma &lt;br /&gt;
telah dijalankan, menjaga beberapa sejarah sikap proses. Proses yang berjalan sepanjang waktu akan cenderung untukmenghabiskan kupon yang dimilikinya dengan cepat, tapi proses yang lebih banyak menunggu dapat mengakumulasi kuponnya dari. Sistem pembagian kupon ini, akan secara otomatis memberikan proritas yang tinggi ke proses I/O bound ataupun interaktif, dimana respon yang cepat sangat diperlukan.&lt;br /&gt;
&lt;br /&gt;
Kegunaan dari proses pemberian prioritas dalam menghitung kupon baru, membuat prioritas dari suatu proses dapat ditingkatkan. Pekerjaan background batch dapat diberikan prioritas yang rendah; proses tersebut akan secara otomatis menerima kupon yang lebih sedikit dibandingkan dengan pekerjaan yang interaktif, dan juga akan menerima persentase waktu CPU yang lebih sedikit dibandingan dengan tugas yang sama dengan prioritas yang lebih tinggi. Linux menggunakan sistem prioritas ini untuk menerapkan mekanisme standar pembagian prioritas proses yang lebih baik.&lt;br /&gt;
&lt;br /&gt;
Penjadwalan waktu nyata Linux masih tetap lebih sederhana. Linux, menerapkan dua kelas penjadwalan waktu nyata yang dibutuhkan oleh POSIX 1.b: First In First Out dan round-robin. Pada keduanya, tiap proses memiliki prioritas sebagai tambahan kelas penjadwalannya. Dalam penjadwalan time-sharing , bagaimanapun juga proses dengan prioritas yang berbeda dapat bersaing dengan beberapa pelebaran; dalam penjadwalan waktu nyata, si pembuat jadwal selalu menjalankan proses dengan prioritas yang tinggi. Diantara proses dengan prioritas yang sama, maka proses yang sudah menunggu lama, akan dijalankan. Perbedaan satu - satunya antara penjadwalan FIFO dan round-robin adalah proses FIFO akan melanjutkan prosesnya sampai keluar ataupun diblokir, sedangkan proses round-robin akan dipreemptivekan setelah beberapa saat dan akan dipindahkan ke akhir antrian, jadi proses round-robin dengan prioritas yang sama akan secara otomatis membagi waktu jalan antar mereka sendiri.&lt;br /&gt;
&lt;br /&gt;
Perlu diingat bahwa penjadwalan waktu nyata di Linux memiliki sifat yang lunak. Pembuat jadwal Linux menawarkan jaminan yang tegas mengenai prioritas relatif dari proses waktu nyata, tapi kernel tidak menjamin seberapa cepat penjadwalan proses waktu-nyata akan dijalankan pada saat proses siap dijalankan. Ingat bahwa kode kernel Linux tidak akan pernah bisa dipreemptive oleh kode mode pengguna. Apabila terjadi interupsi yang membangunkan proses waktu nyata, sementara kernel siap untuk mengeksekusi sebuah sistem call sebagai bagian proses lain, proses waktu nyata harus menunggu sampai sistem call yang sedang dijalankan selesai atau diblokir.&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/2957524954677592067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/06/penjadwalan-proses-linux-debian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2957524954677592067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/2957524954677592067'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/06/penjadwalan-proses-linux-debian.html' title='Penjadwalan Proses Linux Debian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-4959706032552329833</id><published>2011-06-26T19:04:00.001+07:00</published><updated>2011-06-26T19:08:34.975+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tugas Sistem Operasi"/><title type='text'>Manajemen Proses di Linux Debian</title><content type='html'>Setiap kali instruksi diberikan pada Shell Linux, kernel akan menciptakan proses-id. Proses ini disebut juga dalam terminologi UNIX sebagai JOB. Proses-id (PID) dimulai dari 0, yaitu proses INIT, kemudian diikuti oleh proses berikutnya (dapat dilihat dalam daftar urutan pada /etc /inittab). Proses-proses sistem terbagi dalam tiga tipe utama, yaitu :&lt;br /&gt;
Interactive : Diprakarsai oleh sebuah shell dan berjalan dalam foreground dan&lt;br /&gt;
Background.&lt;span class=&quot;fullpost&quot;&gt; &lt;br /&gt;
Batch : Secara tipical merupakan sebuah seri dari proses-proses yang&lt;br /&gt;
dijadwalkan untuk dieksekusi pada suatu waktu tertentu&lt;br /&gt;
Daemon : Secara tipikal diinisialisasi saat boot untuk membentuk fungsi-fungsi&lt;br /&gt;
sistem yang dibutuhkan, seperti LPD, NFS dan DNS&lt;br /&gt;
Proses Interaktive terdiri dari atas :&lt;br /&gt;
- Proses fireground adalah suatu proses yang ketika berjalan, shell tidak menampilkan prompt hingga proses berakhir.&lt;br /&gt;
- Proses background adalah suatu proses yang sewaktu-waktu berjalan, pemakai tetap dapat memberikan perintah yang lain. Sebab begitu perintah background diberikan (setelah di tekan ENTER), prompt akan ditampilkan kembali dan shell siap menerika perintah berikutnya.&lt;br /&gt;
7.1 Background Proses&lt;br /&gt;
Untuk menghasilkan sebuah background proses, dapat dilakukan dengan menjalankan perintah yang diakhiri dengan simbol &amp;. Pada kondisi seperti ini, sehll tidak akan menunggu sampai eksekusi perintah berakhir. Begitu perintah berakhiran &amp; diberikan, shell siap menerima perintah lain. Kegunaan perintah ini misalnya untuk memperoleh daftar seluruh file dari direktori root (/) beserta anak-anaknya dan menempatkannya ke sebuah file. Karena proses ini Kemungkinan memakan waktu yang cukup lama, pemakai dapat mengatur agar eksekusinya dilakukan dilatar belakang. Sehingga sementara sistem sedang memprosesnya, pemakai tetap dapat bekerja memberikan perintah-perintah lainnya.&lt;br /&gt;
Contoh :&lt;br /&gt;
$ls –lR / &gt; lsroot 2&gt;&amp;1 &amp;&lt;br /&gt;
Pada contoh tersebut, perintah ls beserta pesan kesalahan ditempatkan ke file lsroot dan dilakukan secara background. Proses latar belakang cocok untuk proses yang tidak menggunakan keluaran ke layar terminal atau masukkan dari keyboard.&lt;br /&gt;
7.2 Status Proses&lt;br /&gt;
Instruksi ps (proses status) digunakan untuk melihat kondisi proses yang ada. Ketika tidak ada option sama sekali, ps akan menampilkan proses yang saat itu dilakukan oleh sebuah terminal (tty?).&lt;br /&gt;
$ ps PID TT STAT TIME COMMAND 29384 p0 Is 0:00.01 -ksh (ksh) 27221 p0 R+ 0:00.00 ps&lt;br /&gt;
Proses ksh adalah proses shell yang aktif pada saat user login ke dalam sistem dan proses ksh ini akan menunggu instruksi dari pemakai. Bila shell menjalankan instruksi, maka shell menciptakan proses anak dan menunggu hingga proses tersebut selesai.&lt;br /&gt;
$ ps -u USER PID %CPU %MEM VSZ RSS TT STAT STARTED TIME COMMAND dsn970210 29384 0.0 0.1 404 328 p0 Ss 7:35PM 0:00.01 -ksh (ksh) dsn970210 21658 0.0 0.1 284 164 p0 R+ 7:42PM 0:00.00 ps -u&lt;br /&gt;
Sebuah sistem yang dibangun oleh serangkain proses, dengan perintah ps –e (everthing) dapat ditampilkan sejumlah proses-proses tersebut.&lt;br /&gt;
$ ps -e&lt;br /&gt;
PID TTY TIME COMMAND&lt;br /&gt;
1 ? 00:00:05 init&lt;br /&gt;
2 ? 00:00:00 klogd&lt;br /&gt;
3 ? 00:00:00 inetd&lt;br /&gt;
—cut——&lt;br /&gt;
Semakin banyak pemakai yang sedang menggunakan sistem, semakin banyak proses yang akan ditampilkan. Tanda tanya (?) menyatakan bahwa proses tersebut adalah proses daemon (proses yang hidup terus selama sistem hidup dan berjalan dilatar belakang).&lt;br /&gt;
Sejumlah proses yang ditampilkan melalui ps –e berkedudukan sebagai pemimpin group proses (proses group leader), yaitu proses yang menjalankan proses yang lain. Sebagai contoh jika dijanlankan perintah ps –f (full listing), dengan hasil sebagai berikut :&lt;br /&gt;
$ps –f&lt;br /&gt;
UID PID PPID C STIME TTY TIME CMD&lt;br /&gt;
dsn970210 8907 1094 0 12:44 tty02 00:00:00 -bash&lt;br /&gt;
dsn970210 9205 8907 0 13:02 tty02 00:00:00 ps -f&lt;br /&gt;
Proses sh sebenarnya memimpin group proses. Tampak bahwa PID dari bash tercantum dalam PPID dari proses ps –f. PPID (parrent PID) menyatakan proses induk dari proses yang sedang berjalan, dan STIME menyatakan awal proses dimulai.&lt;br /&gt;
Contoh lain perintah ps :&lt;br /&gt;
ps –u anjik : untuk menampilkan proses yang terkait dengan seorang pemakai&lt;br /&gt;
ps –t tty02 : untuk menampilkan proses yang terkait dengan terminal&lt;br /&gt;
ps –auxww : untuk menampilkan informasi detail tentang setiap proses yang berjalan dalam komputer.&lt;br /&gt;
a : Mendaftar semua proses&lt;br /&gt;
u : menampilkan informasi dalam “user-oriented style”&lt;br /&gt;
x : memasukkan informasi dalam proses yang tidak&lt;br /&gt;
menampilkan kontrol ttys.&lt;br /&gt;
ww : memasukkan baris perintah dengan komplit, bahkan jika&lt;br /&gt;
mereka menjalankan sampai 132 kolom.&lt;br /&gt;
Field-field dalam output ps diantaranya :&lt;br /&gt;
USER : username dari proses. (Jika proses memiliki UID yang tidak sesuai dengan /etc/passwd, perlu berhati-hati karena dimungkinkan terjadi proses penyerangan.&lt;br /&gt;
PID : Proses Identification Number&lt;br /&gt;
%CPU : Prosentasi CPU yang digunakan&lt;br /&gt;
%MEM : Prosentasi MEMORY yang digunakan&lt;br /&gt;
SZ : Jumlah virtual memori yang digunakan proses&lt;br /&gt;
RSS : Resident set size, jumlah proses physical memory yang ditempati proses&lt;br /&gt;
TT : Terminal yang mengontrol proses&lt;br /&gt;
STAT : Field yang menunjukkan status proses&lt;br /&gt;
TIME : CPU time yang sedang digunakan&lt;br /&gt;
COMMAND : Nama perintah&lt;br /&gt;
Pada field STAT yang merupakan status proses dapat digunakan sebagai indikator terhadap suatu proses, sejumlah status tersebut dapat diketaui dari huruf pertama field STAT adalah :&lt;br /&gt;
R : actually running or runnable&lt;br /&gt;
S : Sleeping (sleeping &gt; 20 seconds)&lt;br /&gt;
I : Idle (sleeping &lt; 20 seconds)
T : stop
H : Halted
P : In page wait
D : In disk wait
Z : Zombie
&lt;blank&gt; : In core&lt;br /&gt;
W : Swapped out&lt;br /&gt;
&gt; : Proses yang telah melampaui soft limit ketetapan memori&lt;br /&gt;
Pada huruf ketiga field STAT menunjukkan keterangan apakah proses berjalan dengan altered CPU Schedule, antara lain :&lt;br /&gt;
N : Proses berjalan pada prioritas rendah&lt;br /&gt;
# : nice (nomor yang lebih tinggi dari 0)&lt;br /&gt;
&lt; : Proses berjalan pada prioritas tinggi
Beberapa pilihan perintah ps, sebagai berikut :
-a : Menampilkan semua proses (termasuk milik user)
-c : Menampilkan nama perintah dari environment task_struct
-e : Menampilkan environment setelah baris perintah dan “and”
-f : Menampilkan “forest” fromat pohon (proses dan subproses)
-h : Tidak ada header
-j : Jobs format
-l : Long format
-m : Menampilkan info memori
-n : Output memori untuk USER dan WCHAN
-r : Hanya proses-proses yang berjalan
-s : Format signal
-S : Menambah child CPU time dan page fault
-t xx : Proses-proses yang hanya diasoasikan dengan ttyxx
-u : Format user, memberikan nama user dan waktu mulai
-v : format vm (virtual memory)
-w : Wide output
-x : Menampilakn proses-proses tanpa mengontrol terminal
7.3 Menghentikan Proses (Kill)
Kadang ada keinginan untuk membunuh atau menghentikan sebuah proses. Suatu alasan yang umum untuk menghentikan proses diantaranya :
- Proses terlalu banyak menghabiskan CPU time
- Proses berjalan terlalu lama tanpa menghasilkan output yang diharapkan.
- Proses memproduksi terlalu banyak output pada layar atau ke sebuah file.
- Proses mengunci terminal atau beberapa sesi lain.
- Proses menggunakan file-file yang salah baik input maupun output, disebabkan kesalahan operator atau programming yang error.
- Proses sudah tidak diperlukan lagi.
Sebenarnya untuk menghentikan proses yang tidak berada pada background, cukup dengan menekan &lt;CTRL+C&gt;. Namun jika proses tersebut bekerja pada background, proses dapat dihentikan dengan perintah kill. Perintah kill bekerja dengan cara mengirim signal ke proses yang sedang berjalan melalui nomer proses yang sudah diketahui. Kill hanya dapat digunakan untuk menghentikan proses dari masing-masing user, hanya superuser saja yang berwenang untuk menghentikan proses user lain.&lt;br /&gt;
Format penulisan perintah kill sebagai berikut :&lt;br /&gt;
kill [-s signal_name] pid [...]&lt;br /&gt;
kill -l [exit_status]&lt;br /&gt;
kill -signal_name pid [...]&lt;br /&gt;
kill -signal_number pid [...]&lt;br /&gt;
Beberpa signal tersebut diantaranya:&lt;br /&gt;
1 HUP (hang up)&lt;br /&gt;
2 INT (interrupt)&lt;br /&gt;
3 QUIT (quit)&lt;br /&gt;
6 ABRT (abort)&lt;br /&gt;
9 KILL (non-catchable, non-ignorable kill)&lt;br /&gt;
14 ALRM (alarm clock)&lt;br /&gt;
15 TERM (software termination signal)&lt;br /&gt;
Contoh :&lt;br /&gt;
$ kill 123&lt;br /&gt;
Menghentikan proses dengan PID 123&lt;br /&gt;
$ kill -9 1234&lt;br /&gt;
Menghentikan dengan paksa proses dengan PID 1234.&lt;br /&gt;
# kill -HUP `cat /var/run/inetd.pid`&lt;br /&gt;
Mengirimkan hang up signal kepada daemon ined dengan PID seperti yang terseimpan pada /var/run/inetd.pid, dan meminta proses untuk membaca ulang susunan konfigurasi /etc/inetd.conf.&lt;br /&gt;
# kill 0&lt;br /&gt;
Menghentikan semua proses yang berjalan dalam background.&lt;br /&gt;
Jobs control adalah fasilitas yang memungkinkan suatu program dihentikan secara sementara dan kemudian dijalankan kembali. Fasilitas ini dapat dipakai untuk memindahkan program yang sedang berjalan secara background (dilatar belakang) ke foreground (di latar depan) atau sebaliknya. Fasilitas ini meniru fasilitas pada C shell.&lt;br /&gt;
Jika seseorang memberikan perintah (script shell, utilitas atau program), perintah tersebut akan menjadi sebuah job, terlepas perrintah itu dijalankan dilatar depan atau belakang.&lt;br /&gt;
Jobs control biasanya diaktifkan secara otomatis begitu berada di prompt (shell). Untuk mengetahui fasilitas ini sudah dijalankan atau belum, dapat deketahui dengan perintah :&lt;br /&gt;
$ set –o | grep monitor&lt;br /&gt;
monitor on&lt;br /&gt;
Jika perintah di atas menghasilkan informasi berupa “monitor on” berarti fasilitas job control sudah diaktifkan. Apabila fasilitas tesebut belum aktif, dapat diaktifkan dengan perintah :&lt;br /&gt;
$ set -o monitor&lt;br /&gt;
$ set -m&lt;br /&gt;
Untuk menjalankan perintah di background, perlu akhiran &amp; disetiap perintah yang akan dijalankan.&lt;br /&gt;
$find / -name *.c –print &gt; c.out 2&gt; c.error &amp;&lt;br /&gt;
Perintah diatas dipakai untuk memperoleh semua file berakhiran *.c dari root (/) danhasilnya ditempatkan ke file c.out. Adapun kalau ada sesuatu kesalahan (misalnya karena tidak diperkanankan membaca direktori tertentu berhubungan dengan ijin akses) kesalahan tersebut direkam ke file c.error. Proses ini dilakukan dibelakang layar, dan diberi nomor job dan identitas proses (PID).&lt;br /&gt;
Apabila nomor job adalah satu dan jobs belum berakhir, maka jika diberikan job kedua, maka nomor job tersebut sama dengan 2.&lt;br /&gt;
$ du / &gt; du.out 2&gt;1 &amp;&lt;br /&gt;
[2] 272&lt;br /&gt;
Perintah du digunakan untuk memperoleh blok dari setiap file atau direktori. Setelah nomor job kedua diatas, jika dijalankan satu job lagi, maka :&lt;br /&gt;
$ sleep 500 &amp; #tidak melakukan apa-apa selama 500 detik&lt;br /&gt;
[3] 273&lt;br /&gt;
Untuk melihat status proses dari perintah yang dieksekusi dilatar belakang, dapat digunakan perintah jobs.&lt;br /&gt;
$ jobs&lt;br /&gt;
[1] Stopped vi file1.txt &amp;&lt;br /&gt;
[2] – Running ps –aux &amp;&lt;br /&gt;
[3] + Running sleep 500 &amp;&lt;br /&gt;
Informasi dibagian kiri menyatakan nomor job. Tanda + sesudah nomor job menyatakan job yang terbaru. Tanda – menyatakan job kedua yang terbaru. Informasi seperti running menyatakan bahwa perintah job sedang dieksekusi (belum selesai). Kemungkinan lain informasi adalah :&lt;br /&gt;
Stopped : job sedang berhenti secara sementara (ditangguhkan)&lt;br /&gt;
Done : job sudah selesai dikerjakan.&lt;br /&gt;
Bagian terkanan menyatakan nama perintah. Pemakai dapat memberikan pilihan –p pada perintah jobs. Pilihan ini akan menyebabkan jobs menampilkan PID dari semua proses yang dieksekusi dilatar belakang.&lt;br /&gt;
$ jobs –p&lt;br /&gt;
300&lt;br /&gt;
302&lt;br /&gt;
Artinya ada dua proses di latar belakang dengan PID 300 dan 302. Pilihan (option) –l akan menampilkan informasi seperti jobs tanpa option dan informasi PID (nomor proses)&lt;br /&gt;
$ jobs –l&lt;br /&gt;
[2] + 300 Running sleep 300 &amp;&lt;br /&gt;
[1] – 302 Running sleep 150 &amp;&lt;br /&gt;
Job yang berjalan dilatar depan dapat dihentikan dengan menekan tombol &lt;ctrl + Z&gt;. Sebagai contoh, saat menjalankan perintah sleep 500 di latar depan, kemudian menekan tombol &lt;ctrl + Z&gt;, maka proses tersebut akan dihentikan sementara.&lt;br /&gt;
$ sleep 500&lt;br /&gt;
&lt;ctrl + Z&gt; [1] + Stopped sleep 500&lt;br /&gt;
Dengan menggunakan perintah jobs, status proses tersebut diatas dapat diketahui, sebagai berikut :&lt;br /&gt;
$ jobs&lt;br /&gt;
[1] + Stopped sleep 500&lt;br /&gt;
Job yang sedang ditangguhkan dapat diaktifkan kembali dengan cara diaktifkan dilatar belakang dan diaktifkan dilatar depan. Job yang sedang berhenti secara sementara dapat dijalankan kembali dilatar depan dengan cara menjalankan perintah fg. Dengan menjalankan perintah fg maka sleep 500 akan dijalankan di foreground, dan jika setelah di depan ingin ditangguhkan kembali tinggal menjalankan perintah bg.&lt;br /&gt;
$ sleep 500&lt;br /&gt;
&lt;ctrl + Z&gt;&lt;br /&gt;
[1] + Stopped sleep 500&lt;br /&gt;
$ bg #Eksekusi kelatar belakang&lt;br /&gt;
[1] sleep 500&lt;br /&gt;
Pada bentuk fg dan bg tanpa argumen, job terbarulah yang diproses. Sedangkan jika %n digunakan, job dengan nomor n yang diproses.&lt;br /&gt;
$ jobs&lt;br /&gt;
[2] + Running sleep 1000 &amp;&lt;br /&gt;
[1] – Running sleep 200 &amp;&lt;br /&gt;
$ fg %1&lt;br /&gt;
sleep 200 &amp;&lt;br /&gt;
Proses yang sedang ditangguhkan ataupun yang sedang berada di latar belakang dapat dimatikan dengan menggunakan perintah kill.&lt;br /&gt;
$ kill %1 # job nomor 1 dihapus&lt;br /&gt;
[1] – Terminated sleep 200 &amp;&lt;br /&gt;
Jika dikehendaki, pemakai dapat menyuruh shell menunggu suatu proses dilatar belakang selesai dieksekusi. Perintah yang diperlukan adalah wait. Perintahnya adalah wait %n, dengan n adalah nomor job dari proses latar belakang yang ditunggu.&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/4959706032552329833/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/06/manajemen-proses-di-linux-debian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4959706032552329833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4959706032552329833'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/06/manajemen-proses-di-linux-debian.html' title='Manajemen Proses di Linux Debian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-4936321712377260394</id><published>2011-06-26T19:02:00.000+07:00</published><updated>2011-06-26T19:02:41.883+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tugas Sistem Operasi"/><title type='text'>Menejemen File di Linux Debian</title><content type='html'>1.Pengertian  Dasar&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
File system atau manajemen  file adalah  metode dan struktur data yang digunakan  sistem  operasi  untuk mengatur dan  mengorganisir  file pada  disk atau partisi.  File system juga dapat diartikan sebagai partisi atau disk yang digunakan untuk menyimpan file-file dalam cara tertentu. Cara memberi suatu file system ke dalam disk atau partisi dengan cara melakukan  Format.&lt;span class=&quot;fullpost&quot;&gt; &lt;br /&gt;
File system Linux kebanyakan  menggunakan  ext2 (baca:  second extended) atau ext3, file system  yang  tidak mengalami  fragmentasi seperti halnya  file system windows (FAT/FAT32). Ext2 juga memiliki system security yang baik dengan menerapkan  access permission untuk owner, group owner, dan other.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
2.Atribut File&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Setiap sistem dalam manajemen file mempunyai sistem atribusi yang berbeda- beda, namun  pada dasarnya  di linux mempunyai  atribut seperti berikut ini:&lt;br /&gt;
&lt;br /&gt;
• Nama:   Nama  berkas  simbolik ini adalah  informasi  satu-satunya yang disimpan dalam format yang dapat dibaca oleh pengguna.&lt;br /&gt;
&lt;br /&gt;
• Indentifiers:  Tanda  unik  ini yang  biasanya  merupakan  sebuah  angka, mengenali berkas didalam sebuah berkas; tidak dapat dibaca oleh peng- guna.&lt;br /&gt;
&lt;br /&gt;
• Tipe: Informasi ini diperlukan untuk sistem-sistem yang mendukung tipe berbeda  (misal:  .tar.gz pada kompresi, .tex pada dokumen latex).&lt;br /&gt;
&lt;br /&gt;
• Lokasi: Informasi ini adalah  sebuah penunjuk  pada sebuah device terse- but(misal:  harddisk,  UFD(usb  flashdisk), floppy, DVD rom dll).&lt;br /&gt;
&lt;br /&gt;
• Ukuran:  Ukuran  dari sebuah berkas (dalam  bytes, words, atau, blocks)&lt;br /&gt;
dan mungkin ukuran  maksimum dalam atribut juga.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
• Permission  :  Informasi  yang menentukan siapa  yang dapat melakukan read, write, execute, dan lainnya.&lt;br /&gt;
&lt;br /&gt;
• Waktu dan  identifikasi  pengguna  :  informasi  ini  dapat disimpan  un- tuk pembuatan berkas,  modifikasi terakhir, dan  penggunaan  terakhir. Data-data ini dapat berguna untuk proteksi, keamanan,  dan monitoring pengggunaan.&lt;br /&gt;
&lt;br /&gt;
Inode adalah Informasi yang mengidentifikasikan suatu file secara unik.  In- ode mengidentifikasikan lokasi tempat file disimpan, dan karakteristik dari file tersebut.  (owner, date, dsb); tetapi nama  file tidak disimpan  sebagai bagian dari inode. Informasi yang disimpan dalam inode antara lain :&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Izin Akses File (File Permission)&lt;br /&gt;
Tidak  seperti halnya  sistem  operasi DOS, setiap file Linux memiliki status izin akses (file permission).   Maksudnya  setiap file memiliki informasi untuk mengatur siapa yang berhak  untuk membaca,  menjalankan  atau men- gubah file tersebut.&lt;br /&gt;
Linux  merupakan  sistem  operasi  multiuser dan  umumnya  digunakan  se- bagai sistem operasi untuk jaringan.   Oleh karena  itu untuk menjaga  privasi file, keamanan  serta integritas sistem agar tidak terganggu, izin akses file di- gunakan  untuk melindungi file/sistem dari orang lain yang tidak mempunyai hak.&lt;br /&gt;
Bayangkan  tanpa adanya  fasilitas ini maka mail anda  akan dapat di baca oleh seluruh orang yang terhubung dalam jaringan  yang sama.  File-file anda tidak akan dapat dijamin keamanannya dari penghapusan  dan pencurian  oleh orang  lain.   Oleh karena  itu penting bagi anda  untuk memahami  izin akses suatu file.&lt;br /&gt;
Perhatikan file di bawah ini :&lt;br /&gt;
&lt;br /&gt;
darkstar:~$ ls –l filetes&lt;br /&gt;
-rw-r- -r- - l juli users 121 Dec 17 12:12 filetes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Notasi yang dicetak tebal-miring itulah yang menyatakan izin akses file.&lt;br /&gt;
- rw- r-- r-- 1 juli users&lt;br /&gt;
1  2  3  4&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gambar  2.1: Izin akses file&lt;br /&gt;
&lt;br /&gt;
Perhatikan bahwa  notasi  di  atas terdiri  atas sepuluh  digit  yang  dapat dikelompokkan sebagai berikut:&lt;br /&gt;
Notasi pertama menyatakan tipe dari file tersebut. Tanda  dash (-) meny- atakan bahwa file tersebut adalah file biasa.  Untuk direktori maka lokasi terse- but akan  berisi karakter  d, karakter  l untuk link file, dan beberapa  tipe lain yang tidak dibahas  pada bab ini.&lt;br /&gt;
Notasi ke dua yang terdiri dari tiga karakter menunjukkan  status file untuk pemilik  (owner)  dalam  hal  ini  adalah  juli.  Adapun  tiga  karakter  tersebut mengikuti aturan berikut:&lt;br /&gt;
&lt;br /&gt;
• Karakter  pertama  untuk menentukan  hak  baca  dari  pemilik,  karakter r berarti pemilik  memiliki hak  baca  terhadap file tersebut sedangkan bila berisi karakter dash (-) berarti pemilik file tidak memiliki hak baca terhadap file tersebut.&lt;br /&gt;
&lt;br /&gt;
• Karakter kedua  untuk menunjukkan   hak  tulis terhadap file tersebut, dalam hal ini user tersebut memiliki hak untuk menulis atau mengubah file tersebut.&lt;br /&gt;
&lt;br /&gt;
• Karakter ketiga untuk menentukan apakah file tersebut dapat dieksekusi oleh pemilik. Bila file tersebut dapat dieksekusi maka digit tersebut akan berisi karakter x.&lt;br /&gt;
&lt;br /&gt;
Notasi ketiga juga terdiri atas tiga karakter, dimana  tiga karakter ini menentukan izin akses file untuk seluruh user yang memiliki grup yang sama dengan  user tersebut.  Dalam  hal  ini grup  dari  pemilik file tersebut adalah users. Cara memahami tiga karakter izin grup ini pun sama dengan izin untuk pemilik file yang sudah dijelaskan sebelumnya.  Dalam hal ini seluruh user yang termasuk dalam grup user hanya memiliki hak baca terhadap file tersebut.&lt;br /&gt;
Tiga  karakter  terakhir  (notasi  ketiga)  digunakan  untuk menentukan  izin file untuk user  lain  yang  tidak termasuk dalam  grup  tersebut (diistilahkan sebagai others).  Dalam hal ini others hanya memiliki hak baca dan tidak hak tulis ataupun hak menjalankannya.&lt;br /&gt;
Secara  umum  file tersebut hanya  dapat dibaca  dan  ditulis oleh pemilik yaitu juli, dan user lain yang berada  satu grup (users) serta orang lain hanya dapat membaca file tersebut.&lt;br /&gt;
 &lt;br /&gt;
3.Operasi File&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Fungsi dari berkas adalah  untuk menyimpan  data dan mengizinkan  kita membacanya.   Dalam  proses ini ada  beberapa  operasi yang dapat dilakukan berkas.  Ada pun operasi-operasi dasar yang dilakukan  berkas, yaitu:&lt;br /&gt;
&lt;br /&gt;
• Membuat Berkas (Create):&lt;br /&gt;
Kita perlu  dua  langkah  untuk membuat suatu berkas.   Pertama, kita harus temukan tempat didalam  sistem berkas.  Kedua,  sebuah entri un- tuk berkas yang baru harus dibuat dalam direktori.  Entri dalam direktori tersebut merekam nama dari berkas dan lokasinya dalam sistem berkas.&lt;br /&gt;
&lt;br /&gt;
• Menulis sebuah berkas (Write) :&lt;br /&gt;
Untuk  menulis sebuah  berkas,  kita membuat  sebuah  system  call yang menyebutkan nama berkas dan informasi yang akan ditulis kedalam berkas.&lt;br /&gt;
&lt;br /&gt;
• Membaca Sebuah berkas (Read):&lt;br /&gt;
Untuk membaca  sebuah  berkas  menggunakan  sebuah  system  call yang menyebut nama berkas yang dimana dalam blok memori berikutnya dari sebuah berkas harus diposisikan.&lt;br /&gt;
&lt;br /&gt;
• Memposisikan Sebuah Berkas (Reposition):&lt;br /&gt;
Direktori dicari untuk entri yang sesuai dan current-file-position diberi sebuah nilai.  Operasi ini di dalam berkas tidak perlu melibatkan M/K, selain itu juga diketahui sebagai file seek.&lt;br /&gt;
&lt;br /&gt;
• Menghapus Berkas (Delete):&lt;br /&gt;
Untuk menghapus  sebuah  berkas  kita mencari  dalam  direktori untuk nama berkas tersebut. Setelah ditemukan, kita melepaskan  semua spasi berkas sehingga dapat digunakan kembali oleh berkas-berkas lainnya dan menghapus  entry direktori.&lt;br /&gt;
&lt;br /&gt;
• Menghapus Sebagian Isi Berkas (Truncate):&lt;br /&gt;
User mungkin  mau menghapus  isi dari sebuah  berkas,  namun  menyim- pan atributnya. Daripada  memaksa pengguna untuk menghapus  berkas tersebut dan membuatnya kembali, fungsi ini tidak akan mengganti atribut, kecuali panjang berkas dan mendefinisikan ulang panjang berkas tersebut menjadi nol.&lt;br /&gt;
&lt;br /&gt;
Keenam operasi diatas merupakan operasi-operasi dasar dari sebuah berkas yang nantinya dapat dikombinasikan  untuk membentuk operasi- operasi baru&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
lainnya.   Contohnya, apabila  kita ingin menyalin  sebuah  berkas,  maka  kita memakai  operasi  create untuk membuat berkas  baru,  read  untuk membaca berkas yang lama, dan write untuk menulisnya pada berkas yang baru.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
4.Struktur Direktori&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Beberapa sistem komputer menyimpan banyak sekali berkas-berkas dalam disk, sehingga diperlukan suatu struktur pengorganisasian  data agar lebih mu- dah diatur.&lt;br /&gt;
Direktori atau folder merupakan  suatu entitas dalam sebuah berkas sistem yang mengandung  berkas atau mengandung  direktori lain.  Sebenarnya,  pada hakikatnya berkas atau berkas terdapat dalam disk, direktori hanya menyedi- akan link atau menunjuk  pada berkas yang ada.&lt;br /&gt;
Dengan  demikian,  dapat disimpulkan  bahwa  direktori digunakan  sebagai sarana  untuk pengorganisasian  berkas pada  suatu sistem komputer.  Dengan direktori, berkas-berkas  dapat dikelompokkan.   Berkas  tersebut dapat berisi berkas  ataupun direktori  lain, sehingga direktori  dapat juga disebut  sebagai&lt;br /&gt;
berkas istimewa.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Gambar  2.2: File Organization&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Pada  atribut, perbedaan  pada  direktori dan atribut pada  berkas yaitu di- rektori tidak mempunyai  tipe, sedangkan  berkas mempunyai  banyak  tipe.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Direktori  pada Unix&lt;br /&gt;
&lt;br /&gt;
Struktur direktori yang digunakan  dalam Unix adalah  struktur direktori tradisional.  Seperti yang terdapat dalam gambar  direktori entri dalam Unix, setiap entri berisi nama  berkas dan nomor inode yang bersangkutan.  Semua informasi dari jenis, kapasitas, waktu dan kepemilikan,  serta block disk yang berisi  inode.  Sistem  Unix  terkadang  mempunyai  penampakan yang  berbe- da,tetapi pada  beberapa  kasus,  direktori entri biasanya  hanya  string  ASCII dan nomor inode.&lt;br /&gt;
 &lt;br /&gt;
Gambar  2.3: Direktori Unix&lt;br /&gt;
Saat berkas dibuka, sistem berkas harus mengambil nama berkas dan men- galokasikan block disk yang bersangkutan, sebagai contoh, nama path /usr/ast/ mbox  dicari,  dan  kita menggunakan  Unix  sebagai  contoh, tetapi algoritma yang digunakan  secara dasar  sama dengan semua hirarki  sistem direktori sis- tem.&lt;br /&gt;
Pertama, sistem berkas mengalokasikan  direktori root.  Dalam Unix inode yang  bersangkutan ditempatkan dalam  tempat yang  sudah  tertentu dalam disk. Kemudian,  Unix melihat komponen pertama dari path, usr dalam direk- tori root menemukan nomor inode dari direktori /usr. Mengalokasikan sebuah nomor  inode  adalah  secara  straight-forward,   sejak  setiap inode  mempunyai lokasi yang  tetap dalam  disk.   Dari  inode ini, sistem  mengalokasikan  direk- tori untuk /usr dan melihat komponen berikutnya, dst.  Saat dia menemukan entri untuk ast,  dia sudah  mempunyai  inode untuk direktori /ust/ast.  Dari inode ini, dia dapat menemukan  direktorinya  dan  melihat  mbox.   Inode un- tuk berkas ini kemudian dibaca ke dalam memori dan disimpan disana sampai berkas tersebut ditutup.&lt;br /&gt;
Nama  path  dilihat  dengan  cara  yang  relatif  sama  dengan  yang  absolut.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
Dimulai  dari  direktori  yang  bekerja  sebagai  pengganti  root  directory.    Seti- ap  direktori  mempunyai  entri  untuk.  dan  ”..”   yang  dimasukkan  ke dalam saat direktori dibuat.  Entri ”.”  mempunyai  nomor inode yang menunjuk  ke direktori di atasnya/orangtua (parent ), ”.”  kemudian  melihat ../dick/prog.c hanya  melihat tanda ”..”  dalam  direktori yang bekerja,  dengan  menemukan nomor  inode dalam  direktori di atasnya/parent dan  mencari  direktori disk. Tidak ada mekanisme spesial yang dibutukan untuk mengatasi masalah nama ini. Sejauh masih di dalam sistem direktori, mereka hanya  merupakan  ASCII string  yang biasa.   Dari nomor inode ini kita memperoleh  inode yang meru- pakan  suatu struktur data yang menyimpan  informasi berkas.   Penghapusan berkas dilakukan dengan cara melepas inode. Inode ini berisi informasi tentang&lt;br /&gt;
:&lt;br /&gt;
• tipe&lt;br /&gt;
• ukuran&lt;br /&gt;
• waktu&lt;br /&gt;
• owner&lt;br /&gt;
• blok-blok disk&lt;br /&gt;
&lt;br /&gt;
 &lt;br /&gt;
Gambar  2.4: Bagaimana  file di UNIX ditampilkan&lt;br /&gt;
 &lt;br /&gt;
5.Konsep Mounting&lt;br /&gt;
5.1Mounting&lt;br /&gt;
Mounting adalah proses mengkaitkan sebuah sistem berkas yang baru dite- mukan  pada  sebuah piranti ke struktur direktori utama yang sedang dipakai. Piranti-piranti yang akan di-mount dapat berupa  cd-rom, disket atau sebuah zip-drive.  Tiap-tiap sistem berkas yang akan di-mount akan diberikan  sebuah mount point, atau sebuah direktori dalam pohon direktori sistem Anda, yang sedang diakses.  Sistem berkas yang dideskripsikan  di /etc/fstab(fstab adalah singkatan dari filesystem tables) biasanya  akan di-mount saat komputer baru dimulai dinyalakan,  tapi dapat juga me-mount sistem berkas tambahan dengan menggunakan  perintah:&lt;br /&gt;
mount[nama_piranti]&lt;br /&gt;
Atau dapat juga  dengan  menambahkan  secara  manual  mount  point ke berkas  /etc/fstab.  Daftar sistem  berkas  yang di-mount dapat dilihat kapan saja dengan menggunakan  perintah mount. Karena izinnya hanya diatur read- only di berkas  fstab,  maka  tidak perlu  khwatir  pengguna  lain  kana  menco- ba mengubah  dan  menulis mount point yang baru.   Seperti biasa  saat ingin mengutak-atik berkas konfigurasi seperti mengubah  isi berkas fstab,  pastikan untuk membuat berkas cadangan untuk mencegah terjadinya kesalahan teknis yang dapat menyebabkan  suatu kekacauan.  Kita dapat melakukannya  dengan cara menyediakan  sebuah  disket atau recovery-disk dan mem-back-up  berkas fstab  tersebt sebelum  membukanya  di editor teks untuk diutak-atik.   Pada linux,  isi sebuah  berkas  dibuat nyata tersedia dengan  mengabungkan  sistem berkas ke dalam  sebuah  sistem direktori melalui sebuah  proses yang disebut mounting.&lt;br /&gt;
&lt;br /&gt;
5.2 Mounting  Overview&lt;br /&gt;
Mounting membuat sistem  berkas,  direktori, piranti dan  berkas  lainnya menjadi dapat digunakan  digunakan  di lokasi-lokasi tertentu, sehingga memu- ngkinkan  direktori itu menjadi  dapat diakses.   Perintah mount mengintruk- sikan sistem operasi untuk mengkaitkan sebuah sistem berkas ke sebuah direk- tori khusus.&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
5.3 Mounting  point&lt;br /&gt;
Mount  point  adalah  sebuah  direktori  dimana  berkas  baru  menjadi  da- pat diakses.   Untuk me-mount suatu berkas  atau direktori, titik mountnya harus  berupa  direktori,dan untuk me-mount sebuah  berkas,mount pointnya juga harus berupa  berkas.&lt;br /&gt;
Ada dua jenis mounting, yaitu remote mounting dan mounting lokal.  Re- mote mounting dilakukan dengan sistem remote dimana data dikirimkan melalui jalur komunikasi.  Network sistem berkas seperti Network File System (NFS), menharuskan agar  file diekspor  dulu  sebelum  dimount.   Mounting  lokal di- lakukan  di sistem lokal.&lt;br /&gt;
Biasanya, sebuah sistem berkas, direktori, atau sebuah berkas di-mount ke sebuah mount point yang kosong, tapi biasanya hal tersebut tidak diperlukan. Jika sebuah  berkas atau direktori  yang akan  menjadi  mount  point  berisi da- ta, data tersebut tidak akan  dapat diakses selama direktori/berkas tersebut sedang  dijadikan  mount point oleh berkas  atau direktori lain.   Sebagai  ak- ibatnya, berkas  yang  di-mount akan  menimpa  apa  yang  sebelumnya  ada  di direktori/berkas tersebut.  Data asli dari  direktori itu dapat diakses kembali bila proses mounting sudah selesai.&lt;br /&gt;
Saat sebuah sistem berkas di-mount ke sebuah direktori, izin direktori root dari berkas yang di-mount akan mengambil alih izin dari mount point. Penge- cualiannya  adalah pada direktori induk akan memiliki atribut .. (double dot). Agar sistem operasi dapat mengakses sistem berkas yang baru, direktori induk dari mount point harus tersedia.&lt;br /&gt;
 &lt;br /&gt;
Gambar  2.5: Mount Point&lt;br /&gt;
 &lt;br /&gt;
&lt;br /&gt;
5.4 Mounting  Sistem  Berkas, Direktori,  dan Berkas&lt;br /&gt;
Ada dua jenis mounting: remote mounting dan mounting lokal.  Remote mounting dilakukan  dengan  sistem  remote dimana  data dikirimkan  melalui jalur  telekomunikasi. Remote  sistem  berkas  seperti  Network  File  Systems (NFS),  mengharuskan  agar  file diekspor  dulu  sebelum  di-mount.   mounting lokal dilakukan  di sistem lokal.&lt;br /&gt;
Tiap-tiap sistem  berkas  berhubungan dengan  piranti yang  berbeda.   Se- belum kita menggunakan  sebuah sistem berkas, sistem berkas tersebut harus dihubungkan dengan struktur direktori yang ada (dapat root atau berkas yang lain  yang  sudah  tersambung). Sebagai  contoh,  kita dapat me-mount  dari&lt;br /&gt;
/home/server/database ke mount point yang dispesifikasikan sebagai /home/user1,&lt;br /&gt;
/home/user2, and /home/user3 :&lt;br /&gt;
&lt;br /&gt;
• /home/server/database /home/user1&lt;br /&gt;
&lt;br /&gt;
• /home/server/database /home/user2&lt;br /&gt;
&lt;br /&gt;
• /home/server/database /home/user3&lt;br /&gt;
&lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/4936321712377260394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/06/menejemen-file-di-linux-debian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4936321712377260394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/4936321712377260394'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/06/menejemen-file-di-linux-debian.html' title='Menejemen File di Linux Debian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-945538874859935048</id><published>2011-06-26T18:41:00.002+07:00</published><updated>2011-06-26T18:41:56.257+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tugas Sistem Operasi"/><title type='text'>Manajemen Memori di Linux Debian</title><content type='html'>Manajemen Memori Fisik&lt;br /&gt;
Bagian ini menjelaskan bagaimana linux menangani memori dalam sistem. Memori manajemen merupakan salah satu bagian terpenting dalam sistem operasi. Karena adanya keterbatasan memori, diperlukan suatu strategi dalam menangani masalah ini. Jalan keluarnya adalah dengan menggunakan memori virtual. Dengan memori virtual, &lt;span class=&quot;fullpost&quot;&gt;memori tampak lebih besar daripada ukuran yang sebenarnya. &lt;br /&gt;
Dengan memori virtual kita dapat:&lt;br /&gt;
1. Ruang alamat yang besar&lt;br /&gt;
Sistem operasi membuat memori terlihat lebih besar daripada ukuran memori sebenarnya. Memori virtual bisa beberapa kali lebih besar daripada memori fisiknya. &lt;br /&gt;
2. Pembagian memori fisik yang dil&lt;br /&gt;
Manajemen memori membuat pembagian yang adil dalam pengalokasian memori antara proses-proses. &lt;br /&gt;
3. Perlindungan&lt;br /&gt;
Memori manajemen menjamin setiap proses dalam sistem terlindung dari proses-proses lainnya. Dengan demikian, program yang crash tidak akan mempengaruhi proses lain dalam sistem tersebut. &lt;br /&gt;
4. Penggunaan memori virtual bersama&lt;br /&gt;
Memori virtual mengijinkan dua buah proses berbagi memori diantara keduanya, contohnya dalam shared library. Kode library dapat berada di satu tempat, dan tidak dikopi pada dua program yang berbeda. &lt;br /&gt;
Memori Virtual&lt;br /&gt;
Memori fisik dan memori virtual dibagi menjadi bagian-bagian yang disebut page. Page ini memiliki ukuran yang sama besar. Tiap page ini punya nomor yang unik, yaitu Page Frame Number (PFN). Untuk setiap instruksi dalam program, CPU melakukan mapping dari alamat virtual ke memori fisik yang sebenarnya. &lt;br /&gt;
Penerjemahan alamat di antara virtual dan memori fisik dilakukan oleh CPU menggunakan tabel page untuk proses x dan proses y. Ini menunjukkan virtial PFN 0 dari proses x dimap ke memori fisik PFN 1. Setiap anggota tabel page mengandung informasi berikut ini: &lt;br /&gt;
1. Virtual PFN&lt;br /&gt;
2. PFN fisik&lt;br /&gt;
3. informasi akses page dari page tersebut&lt;br /&gt;
Untuk menerjemahkan alamat virtual ke alamat fisik, pertama-tama CPU harus menangani alamat virtual PFN dan offsetnya di virtual page. CPU mencari tabel page proses dan mancari anggota yang sesuai degan virtual PFN. Ini memberikan PFN fisik yang dicari. CPU kemudian mengambil PFN fisik dan mengalikannya dengan besar page untuk mendapat alamat basis page tersebut di dalam memori fisik. Terakhir, CPU menambahkan offset ke instruksi atau data yang dibutuhkan. Dengan cara ini, memori virtual dapat dimap ke page fisik dengan urutan yang teracak. &lt;br /&gt;
Demand Paging&lt;br /&gt;
Cara untuk menghemat memori fisik adalah dengan hanya meload page virtual yang sedang digunakan oleh program yang sedang dieksekusi. Tehnik dimana hanya meload page virtual ke memori hanya ketika program dijalankan disebut demand paging. &lt;br /&gt;
Ketika proses mencoba mengakses alamat virtual yang tidak ada di dalam memori, CPU tidak dapat menemukan anggota tabel page. Contohnya, dalam gambar, tidak ada anggota tabel page untuk proses x untuk virtual PFN 2 dan jika proses x ingin membaca alamat dari virtual PFN 2, CPU tidak dapat menterjemahkan alamat ke alamat fisik. Saat ini CPU bergantung pada sistem operasi untuk menangani masalah ini. CPU menginformasikan kepada sistem operasi bahwa page fault telah terjadi, dan sistem operasi membuat proses menunggu selama sistem operasi menagani masalah ini. &lt;br /&gt;
CPU harus membawa page yang benar ke memori dari image di disk. Akses disk membutuhkan waktu yang sangat lama dan proses harus menunggu sampai page selesai diambil. Jika ada proses lain yang dapat dijalankan, maka sistem operai akan memilihnya untuk kemudian dijalankan. page yang diambil kemudian dituliskan di dalam page fisik yang masih kosong dan anggota dari virtual PFN ditambahkan dalam tabel page proses. Proses kemudian dimulai lagi pada tempat dimana page fault terjadi. Saat ini terjadi pengaksesan memori virtual, CPU membuat penerjemahan dan kemudian proses dijalankan kembali. &lt;br /&gt;
Demand paging terjadi saat sistem sedang sibuk atau saat image pertama kali diload ke memori. Mekanisme ini berarti sebuah proses dapat mengeksekusi image dimana hanya sebagian dari image tersebut terdapat dalam memori fisik. &lt;br /&gt;
Swaping&lt;br /&gt;
Jika memori fisik tiba-tiba habis dan proses ingin memindahkan sebuah page ke memori, sistem operasi harus memutuskan apa yang harus dilakukan. Sistem operasi harus adil dalam mambagi page fisik dalam sistem diantara proses yang ada, bisa juga sistem operasi menghapus satu atau lebih page dari memori untuk membuat ruang untuk page baru yang dibawa ke memori. Cara page virtual dipilih dari memori fisik berpengaruh pada efisiensi sistem. &lt;br /&gt;
Linux menggunakan tehnik page aging agar adil dalam memilih page yang akan dihapus dari sistem. Ini berarti setiap page memiliki usia sesuai dengan berapa sering page itu diakses. Semakin sering sebuah page diakses, semakin muda page tersebut. Page yang tua adalah kandidat untuk diswap. &lt;br /&gt;
Pengaksesan memori virtual bersama&lt;br /&gt;
Memori virtual mempermudah proses untuk berbagi memori saat semua akses ke memori menggunakan tabel page. Proses yang akan berbagi memori virtual yang sama, page fisik yang sama direference oleh banyak proses. Tabel page untuk setiap proses mengandung anggota page table yang mempunyai PFN fisik yang sama. &lt;br /&gt;
Efisiensi&lt;br /&gt;
Desainer dari CPU dan sistem operasi berusaha meningkatkan kinerja dari sistem. Disamping membuat prosesor, memori semakin cepat, jalan terbaik adalah manggunakan cache. Berikut ini adalah beberapa cache dalam manajemen memori di linux: &lt;br /&gt;
1. Page Cache&lt;br /&gt;
Digunakan untuk meningkatkan akses ke image dan data dalam disk. Saat dibaca dari disk, page dicache di page cache. Jika page ini tidak dibutuhkan lagi pada suatu saat, tetapi dibutuhkan lagi pada saat yang lain, page ini dapat segera diambil dari page cache. &lt;br /&gt;
2. Buffer Cache&lt;br /&gt;
Page mungkin mengandung buffer data yang sedang digunakan oleh kernel, device driver dan lain-lain. Buffer cache tampak seperti daftar buffer. Contohnya, device driver membutuhkan buffer 256 bytes, adalah lebih cepat untuk mengambil buffer dari buffer cache daripada mengalokasikan page fisik lalu kemudian memecahnya menjadi 256 bytes buffer-buffer. &lt;br /&gt;
3. Swap Cache&lt;br /&gt;
Hanya page yang telah ditulis ditempatkan dalam swap file. Selama page ini tidak mengalami perubahan setelah ditulis ke dalam swap file, maka saat berikutnya page di swap out tidak perlu menuliskan kembali jika page telah ada di swap file. Di sistem yang sering mengalami swap, ini dapat menghemat akses disk yang tidak perlu. &lt;br /&gt;
Salah satu implementasi yang umum dari hardware cache adalah di CPU, cache dari anggota tabel page. Dalam hal ini, CPU tidak secara langsung membaca tabel page, tetap mencache terjemahan page yang dibutuhkan. &lt;br /&gt;
Load dan Eksekusi Program&lt;br /&gt;
1. Penempatan program dalam memori&lt;br /&gt;
Linux membuat tabel-tabel fungsi untuk loading program, memberikan kesempatan kepada setiap fungsi untuk meload file yang diberikan saat sistem call exec dijalankan. Pertama-tama file binari dari page ditempatkan pada memori virtual. Hanya pada saat program mencoba mengakses page yang telah diberikan terjadi page fault, maka page akan diload ke memori fisik. &lt;br /&gt;
2. Linking statis dan linking dinamis&lt;br /&gt;
a. Linking statis:&lt;br /&gt;
librari-librari yang digunakan oleh program ditaruh secara langsung dalam file binari yang dapat dieksekusi. Kerugian dari linking statis adalah setiap program harus mengandung kopi library sistem yang umum. &lt;br /&gt;
b. Linking dinamis:&lt;br /&gt;
hanya sekali meload librari sistem menuju memori. Linking dinamis lebih efisien dalam hal memori fisik dan ruang disk. &lt;br /&gt;
 &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/945538874859935048/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/06/manajemen-memori-di-linux-debian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/945538874859935048'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/945538874859935048'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/06/manajemen-memori-di-linux-debian.html' title='Manajemen Memori di Linux Debian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-164165558817346669.post-3150747918725388593</id><published>2011-06-26T18:40:00.000+07:00</published><updated>2011-06-26T18:40:05.489+07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Tugas Sistem Operasi"/><title type='text'>Sejarah Debian</title><content type='html'>Debian pertama kali diperkenalkan oleh Ian Murdock, seorang mahasiswa dari Universitas Purdue, Amerika Serikat, pada tanggal 16 Agustus 1993. Nama Debian berasal dari kombinasi nama Ian dengan mantan-kekasihnya Debra Lynn: Deb dan Ian.&lt;span class=&quot;fullpost&quot;&gt;&lt;br /&gt;
Pada awalnya, Ian memulainya dengan memodifikasi distribusi SLS (Softlanding Linux System). Namun, ia tidak puas dengan SLS yang telah dimodifikasi olehnya sehingga ia berpendapat bahwa lebih baik membangun sistem (distribusi Linux) dari nol (Dalam hal ini, Patrick Volkerding juga berusaha memodifikasi SLS. Ia berhasil dan distribusinya dikenal sebagai &quot;Slackware&quot;).&lt;br /&gt;
Proyek Debian tumbuh lambat pada awalnya dan merilis versi 0.9x di tahun 1994 dan 1995. Pengalihan arsitektur ke selain i386 dimulai ditahun 1995. Versi 1.x dimulai tahun 1996.&lt;br /&gt;
Ditahun 1996, Bruce Perens menggantikan Ian Murdoch sebagai Pemimpin Proyek. Dalam tahun yang sama pengembang debian Ean Schuessler, berinisiatif untuk membentuk Debian Social Contract dan Debian Free Software Guidelines, memberikan standar dasar komitmen untuk pengembangan distribusi debian. Dia juga membentuk organisasi &quot;Software in Public Interest&quot; untuk menaungi debian secara legal dan hukum.&lt;br /&gt;
Di akhir tahun 2000, proyek debian melakukan perubahan dalam archive dan managemen rilis. Serta di tahun yang sama para pengembang memulai konferensi dan workshop tahunan &quot;debconf&quot;.&lt;br /&gt;
Di April 8, 2007, Debian GNU/Linux 4.0 dirilis dengan nama kode &quot;Etch&quot;. Rilis versi terbaru Debian, 2009, diberi nama kode &quot;Lenny&quot;. deb adalah perpanjangan dari paket perangkat lunak Debian format dan nama yang paling sering digunakan untuk paket-paket binari seperti itu.&lt;br /&gt;
Paket debian adalah standar Unix pada arsip yang mencakup dua gzip, tar bzipped atau lzmaed arsip: salah satu yang memegang kendali informasi dan lain yang berisi data. Program kanonik untuk menangani paket-paket tersebut adalah dpkg, paling sering melalui apt/aptitude.&lt;br /&gt;
Beberapa paket Debian inti tersedia sebagai udebs (&quot;mikro deb&quot;), dan biasanya hanya digunakan untuk bootstrap instalasi Linux Debian. Meskipun file tersebut menggunakan ekstensi nama file udeb, mereka mematuhi spesifikasi struktur yang sama seperti biasa deb. Namun, tidak seperti rekan-rekan mereka deb, hanya berisi paket-paket udeb fungsional penting file. Secara khusus, file dokumentasi biasanya dihilangkan. udeb paket tidak dapat diinstal pada sistem Debian standar.&lt;br /&gt;
Paket debian juga digunakan dalam distribusi berbasis pada Debian, seperti Ubuntu dan lain-lain. Saat ini telah terdapat puluhan distribusi Linux yang berbasis kepada debian, salah satu yang paling menonjol dan menjadi fenomena adalah Ubuntu&lt;br /&gt;
 &lt;/span&gt;</content><link rel='replies' type='application/atom+xml' href='http://gomu2no.blogspot.com/feeds/3150747918725388593/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://gomu2no.blogspot.com/2011/06/sejarah-debian.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/3150747918725388593'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/164165558817346669/posts/default/3150747918725388593'/><link rel='alternate' type='text/html' href='http://gomu2no.blogspot.com/2011/06/sejarah-debian.html' title='Sejarah Debian'/><author><name>Trafalgar Zald</name><uri>http://www.blogger.com/profile/12710171250254086293</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgTMfdAk1F4p5l_xYtS-vELyh5zf7jlJnYLhH25v1Qxm90a_MnzxJNAuQJ6xOAo86sfaVmAUwHySI1ABLtemGpZTE4c2N8WRLIMZbTVVBZAtzG-k2PKuzonjVXeMcSKGgU/s220/DSC00007+-.jpg'/></author><thr:total>0</thr:total></entry></feed>