<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>richie@weblog:~p</title>
	<atom:link href="http://richigo.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://richigo.wordpress.com</link>
	<description></description>
	<lastBuildDate>Tue, 24 Jan 2012 04:54:30 +0000</lastBuildDate>
	<language>id</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='richigo.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://0.gravatar.com/blavatar/6505244654b09a3e0f7c1a99fd4a9bb3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>richie@weblog:~p</title>
		<link>http://richigo.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://richigo.wordpress.com/osd.xml" title="richie@weblog:~p" />
	<atom:link rel='hub' href='http://richigo.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Slackware 13.37 + Ati Radeon X700 + Gnome 3.2</title>
		<link>http://richigo.wordpress.com/2012/01/24/slackware-13-37-ati-radeon-x700-gnome-3-2/</link>
		<comments>http://richigo.wordpress.com/2012/01/24/slackware-13-37-ati-radeon-x700-gnome-3-2/#comments</comments>
		<pubDate>Tue, 24 Jan 2012 04:50:35 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[Slackware]]></category>
		<category><![CDATA[Gnome 3.2]]></category>
		<category><![CDATA[linux]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1455</guid>
		<description><![CDATA[ternyata tidak diperlukan perjuangan yang payah untuk memasang Gnome 3.2 pada Slackware 13.37. ini diakibatkan adanya dokumentasi pada blog pak Widya Walesa. setelah installasi berhasil, saya memasang libffi yang tidak ditemukan. kemudian membangun ulang gjs. lalu mengcompile ulang mesa untuk mengaktifkan gallium. saya iseng memanfaatkan mesa 7.10.2 yang tersedia pada directory testing. kompilasi berjalan lancar [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1455&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>ternyata tidak diperlukan perjuangan yang payah untuk memasang Gnome 3.2 pada Slackware 13.37. ini diakibatkan adanya dokumentasi pada blog pak Widya Walesa. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  setelah installasi berhasil, saya memasang libffi yang tidak ditemukan. kemudian membangun ulang gjs. lalu mengcompile ulang mesa untuk mengaktifkan gallium. saya iseng memanfaatkan <a href="http://slackware.osuosl.org/slackware/testing/source/mesa/">mesa</a> 7.10.2 yang tersedia pada directory testing. kompilasi berjalan lancar jaya tanpa mengganti libdrm versi 2.3.23. berikut konfigurasi yang saya kutip :<br />
<pre class="brush: plain;"> gjs.SlackBuild
..
sed -i 's/mozilla-js/seamonkey-js/g' configure.ac
autoconf -i -f
..
</pre><br />
<pre class="brush: plain;"> Mesa.SlackBuild
..
  --enable-gallium-i915 \
  --enable-gallium-i965 \
  --enable-gallium-radeon \
  --enable-gallium-r600 \
  --enable-gles1 \
  --enable-gles2 \
  --enable-shared-dricore \
  --with-driver=dri \
  --with-state-trackers=dri,glx,egl
..
</pre></p>
<p>hasilnya, lumayan <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<a href="http://richigo.files.wordpress.com/2012/01/gnome-3-2.png"><img src="http://richigo.files.wordpress.com/2012/01/gnome-3-2.png?w=1024&#038;h=575" alt="" title="gnome-3.2" width="1024" height="575" class="aligncenter size-large wp-image-1456" /></a></p>
<p>referensi :<br />
<a href="http://www.walecha.net/content/gallium-berhasil-tundukkan-gnome-shell-di-ati-radeon">http://www.walecha.net/content/gallium-berhasil-tundukkan-gnome-shell-di-ati-radeon</a><br />
<a href="http://www.walecha.net/content/mencoba-gsb-32-di-slackware-current">http://www.walecha.net/content/mencoba-gsb-32-di-slackware-current</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1455/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1455/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1455/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1455&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2012/01/24/slackware-13-37-ati-radeon-x700-gnome-3-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>

		<media:content url="http://richigo.files.wordpress.com/2012/01/gnome-3-2.png?w=1024" medium="image">
			<media:title type="html">gnome-3.2</media:title>
		</media:content>
	</item>
		<item>
		<title>catatan singkat LFS</title>
		<link>http://richigo.wordpress.com/2011/12/22/catatan-singkat-lfs/</link>
		<comments>http://richigo.wordpress.com/2011/12/22/catatan-singkat-lfs/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 18:10:53 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[Slackware]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[Linux From Scratch]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1437</guid>
		<description><![CDATA[saya sudah mengetahui cara kompilasi kernel, kemudian juga pada posting terdahulu, saya tahu bahwa suatu program itu tidaklah berdiri sendiri. program yang besar (terlebih program dengan GUI) memiliki dependensi yang banyak terhadap paket pustaka. seperti dependensi yang beruntutan yang pernah saya temui pada installasi mysql workbench karena kebetulan basisnya adalah GTK+ sedangkan slackware tidak memasangnya [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1437&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>saya sudah mengetahui cara kompilasi kernel, kemudian juga pada posting terdahulu, saya tahu bahwa suatu program itu tidaklah berdiri sendiri. program yang besar (terlebih program dengan GUI) memiliki dependensi yang banyak terhadap paket pustaka. seperti dependensi yang beruntutan yang pernah saya temui pada installasi <a href="http://richigo.wordpress.com/2011/03/25/koneksi-mysql-melalui-mysql-workbench/">mysql workbench</a> karena kebetulan basisnya adalah GTK+ sedangkan slackware tidak memasangnya secara default. kali ini saya ingin mencoba sesuatu yang menurut saya lebih rumit dari itu. mengapa rumit? setelah saya mencoba LFS, perintah dasar untuk membuat partisi dan file sistem mengingatkan saya akan installasi backtrack 4.0 yang tidak berhasil saya lakukan. dulu mungkin saya yang salah mengunduh sehingga proses installasi yang harus dihadapi adalah full command line. sedangkan waktu itu pemahaman belum sampai, saya baru tiba di Linux. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  saat ini saya sudah mulai sedikit memahami dan intinya saya akan mencoba merakit sistem GNU/Linux ini dengan panduan dari LFS(linuxfromscratch.org).<br />
<span id="more-1437"></span><br />
adapun persiapan yang saya lakukan :<br />
- partisi bebas pada komputer, saya membuat sekitar 50GB.<br />
- sistem host, slackware, 8)<br />
spesifikasinya :<br />
<pre class="brush: plain;">- bash-4.1
- binutils-2.21
- bison-2.4
- bzip2-1.0.6
- coreutils-8.11
- diffutils-3.0
- findutils-4.4.2
- gawk-3.1.8
- gcc-4.5.2
- glibc-2.13
- grep-2.7
- gzip-1.4
- kernel-headers-2.6.38.7
- kernel 3.0.4</pre><br />
- optimisme &amp; semangatis! <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>partisi yang saya buat cuma untuk root, sedangkan untuk swap yang menggunakan yang sudah ada. hal pertama yang dilakukan adalah menyiapkan toolchain yang terdiri dari :<br />
<pre class="brush: plain;">- binutils-2.21.1a Pass 1
- GCC-4.6.1 - Pass 1
	- mpfr-3.1.0
	- gmp-5.0.2
	- mpc-0.9
- Linux-3.1 API Header
- Glibc-2.14.1</pre></p>
<p>setelah itu berlanjut pada pada pembuatan sistem sementara. sistem sementara ini akan digunakan sebagai cross-compiler untuk sistem akhir nanti. sistem sementara dipasang pada direktori /tools di partisi baru. disana, ditempatkan paket-paket yang akan digunakan untuk kompilasi sistem. dalam pembuatan sistem sementara ini saya telah diajarkan bagaimana melakukan installasi Linux secara dasar (./configure &amp;&amp; make &amp;&amp; make install). kemudian cara patch, cara melakukan testing, menggunakan sed, meski semuanya belum paham betul dan dapat diterapkan pada aktifitas sehari-hari. semuanya dilakukan dengan akun user biasa. adapun paket yang dipasang pada sistem sementara :<br />
<pre class="brush: plain;">- Binutils-2.21.1a - Pass 2
- GCC-4.6.1 - Pass 2
	- mpfr-3.1.0
	- gmp-5.0.2
	- mpc-0.9
- Tcl-8.5.10
- Expect-5.45
- DejaGNU-1.5
- Check-0.9.8
- Ncurses-5.9
- Bash-4.2
- Bzip2-1.0.6
- Coreutils-8.14
- Diffutils-3.2
- File-5.09
- Findutils-4.4.2
- Gawk-4.0.0
- Gettext-0.18.1.1
- Grep-2.9
- Gzip-1.4
- M4-1.4.16
- Make-3.82
- Patch-2.6.1
- Perl-5.14.2
- Sed-4.2.1
- Tar-1.26
- Texinfo-4.13a
- Xz-5.0.3</pre></p>
<p>setelah sistem sementara ini, dilanjutkan dengan penempaan sistem akhir. dimana perlu menyiapkan file system kernel virtual, ini maksudnya adalah membuat titik device kemudian me-mount dev dan filesistem kernel virtual :<br />
<pre class="brush: plain;"># mount -v --bind /dev $LFS/dev
# mount -vt devpts devpts $LFS/dev/pts
# mount -vt tmpfs shm $LFS/dev/shm
# mount -vt proc proc $LFS/proc
# mount -vt sysfs sysfs $LFS/sys</pre></p>
<p>kemudian masuk ke lingkungan chroot, membuat direktori-direktori sistem, membuat file-file esensial (contohnya fstab) dan symlinks. kemudian mengulang kembali pemasangan paket-paket LFS dengan menggunakan cross-compiler. yang terakhir yaitu memasang bootscript yang telah disediakan oleh otoritas LFS. kemudian reboot untuk melihat sistem sudah berjalan dengan baik atau tidak. karena sistem LFS saya telah berjalan dengan lancar, saya sedang melanjutkan studi ke BLFS. yang ini lebih banyak menghabiskan waktu, tapi positif aja. 8)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1437/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1437/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1437/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1437&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/12/22/catatan-singkat-lfs/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>do&#8217;a pagi ini</title>
		<link>http://richigo.wordpress.com/2011/12/21/doa-pagi-ini/</link>
		<comments>http://richigo.wordpress.com/2011/12/21/doa-pagi-ini/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 23:17:24 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1431</guid>
		<description><![CDATA[Ya Allah, jika dia bukan jodoh hamba, nggak apa-apa Ya Allah. karena mungkin apa yang hamba inginkan tidak sesuai dengan apa yang Engkau tetapkan. saat ini hamba masih sendiri Ya Allah. masih sering galau, sering merana. sering memikirkan sesuatu yang bukan urusan hamba. terkadang hamba terlalu melihat kedepan, tidak melihat yang saat ini. tidak melihat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1431&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Ya Allah, jika dia bukan jodoh hamba, nggak apa-apa Ya Allah. karena mungkin apa yang hamba inginkan tidak sesuai dengan apa yang Engkau tetapkan. saat ini hamba masih sendiri Ya Allah. masih sering galau, sering merana. sering memikirkan sesuatu yang bukan urusan hamba. terkadang hamba terlalu melihat kedepan, tidak melihat yang saat ini. tidak melihat apa yang telah Engkau anugerahkan. sehingga tanpa sadar hamba mengkufuri nikmatMU. astagfirullahalazim. sebagaimana yang telah hamba ketahui bahwa jodoh itu bukan hanya pertemuan sepasang kekasih. jodoh itu bisa jadi pertemuan antara hamba dengan orang tua hamba, handai taulan, guru dan teman hamba Ya Allah. maka dari itu Ya Allah, mantabkan rasa iman dan ilmu didalam dada ini, supaya hamba bisa mengambil makna dari setiap pertemuan yang telah Engkau tetapkan. Ya Allah, jika dia bukan jodoh hamba, nggak apa-apa Ya Allah. mungkin hamba memilih tertutup berdasarkan suku tertentu, padahal Engkau telah Firman dalam AlQur&#8217;an surat Al Hujuraat ayat 13 :</p>
<blockquote><p>&#8220;Hai manusia, sesungguhnya Kami menciptakan kamu dari seorang laki-laki dan seorang perempuan dan menjadikan kamu berbangsa-bangsa dan bersuku-suku supaya kamu saling kenal-mengenal. Sesungguhnya orang yang paling mulia diantara kamu disisi Allah ialah orang yang paling taqwa diantara kamu. Sesungguhnya Allah Maha Mengetahui lagi Maha Mengenal.&#8221;</p></blockquote>
<p>maka dari itu Ya Allah, kenalkanlah hamba dengan pelbagai suku bangsa di dunia ini. agar hamba dapat mempelajari karakter penyempurna dien Islam yang tepat untuk diri hamba. agar terbuka pengetahuan hamba ketika telah sampainya jodoh hamba, sehingga hamba menyadari apa yang Engkau tetapkan itu adalah sesuai dengan apa yang hamba butuhkan dan impikan. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1431/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1431/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1431/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1431&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/12/21/doa-pagi-ini/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>netstat -a</title>
		<link>http://richigo.wordpress.com/2011/12/20/netstat-a/</link>
		<comments>http://richigo.wordpress.com/2011/12/20/netstat-a/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 03:14:55 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1411</guid>
		<description><![CDATA[terkadang ada saja anonim yang datang ke komputer tanpa dikehendaki. mereka memasuki komputer, setelah memanfaatkan celah keamanan yang kadang dibiarkan terbuka oleh pengguna, ini biasanya banyak dilakukan oleh pengguna komputer windows yang tidak asli. sulit melakukan update sistem karena seperti biasa bakal di-blacklist oleh Microsoft. tanpa sadar, aktifitas penggunaan komputer kita dilihat oleh anonim tersebut. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1411&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>terkadang ada saja anonim yang datang ke komputer tanpa dikehendaki. mereka memasuki komputer, setelah memanfaatkan celah keamanan yang kadang dibiarkan terbuka oleh pengguna, ini biasanya banyak dilakukan oleh pengguna komputer windows yang tidak asli. sulit melakukan update sistem karena seperti biasa bakal di-blacklist oleh Microsoft. tanpa sadar, aktifitas penggunaan komputer kita dilihat oleh anonim tersebut. mereka mendapatkan akun email, facebook, paypal, dsb.<br />
<span id="more-1411"></span><br />
seperti kata orang-orang, tidak ada sistem yang aman didunia ini 100%. tetapi sebagai pengguna komputer, kita mestinya tahu bahwa sistem itu mesti di-update secara berkala. saya cuma bisa merekomendasikan untuk gunakan Linux untuk aktifitas berkomputer kita dijaringan. Anda bisa menggunakan blankon, ubuntu, atau linux lain yang sudah sangat memudahkan pengguna dalam proses pembaruan sistem. disamping sistem yang ter-update, untuk di windows, kita juga perlu untuk memasang antivirus dan firewall. virus sendiri sudah terlanjur banyak dan menggila, sampai-sampai virus itu dikelompokkan menjadi virus lokal dan virus luar. dalam persepsi saya, antivirus yang mesti dipasang ada dua, pertama saya merekomendasikan gunakan smadav untuk mengatasi virus lokal, dan kedua terserah, saya tidak begitu paham kelebihan dan kekurangan anti virus luar. firewall diperlukan juga untuk mem-blok port-port tertentu. secara default biasanya firewall seperti zona alarm akan memblok port-port yang dianggap tidak biasa.</p>
<p>disamping itu, kita juga perlu mengatur aplikasi yang dipasang dikomputer kita, jangan hanya install dan jalankan tetapi juga tahu file tersebut mengandung virus/trojan atau tidak, yaitu dengan menelusuri dari mana kita mendapatkannya. kemudian web browser juga perlu untuk diperbarui, mengingat aktifitas berinternet kita akhir-akhir ini sangat tinggi.</p>
<p>kita juga perlu untuk mengamati sendiri siapa-siapa yang terhubung dengan komputer. ini bisa dilihat dari output dari zona alarm dan menggunakan perintah netstat melalui cmd. ini bisa dilihat output dari netstat -a pada komputer smansa.<br />
<a href="http://richigo.files.wordpress.com/2011/12/netstat.jpg"><img src="http://richigo.files.wordpress.com/2011/12/netstat.jpg?w=269&#038;h=300" alt="" title="netstat" width="269" height="300" class="aligncenter size-medium wp-image-1412" /></a><br />
untuk localhost kita tahu itu adalah host lokal komputer kita. untuk maa03s05-in-f31.1e100.net itu adalah punya google. untuk www-13-06-prn1.facebook.com itu adalah facebook. untuk a125-252-237-115.deploy.akamaitechnologies saya belum mengetahuinya seperti dia memiliki ip 125.252.237.115. silahkan scan dengan menggunakan nmap atau tool sejenisnya. kemudian diatas gambar output itu ada alamat ip yang terhubung dengan komputer smansa, dia adalah 58.27.86.162 dan 58.27.86.160 keduanya adalah milik malaysia. apa orang malaysia yang mencoba-coba? bisa memang iya atau bisa juga orang kita sendiri yang menggunakan komputer dengan ip itu untuk digunakan sebagai tamengnya.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1411/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1411/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1411/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1411&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/12/20/netstat-a/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>

		<media:content url="http://richigo.files.wordpress.com/2011/12/netstat.jpg?w=269" medium="image">
			<media:title type="html">netstat</media:title>
		</media:content>
	</item>
		<item>
		<title>Pengurutan Array</title>
		<link>http://richigo.wordpress.com/2011/12/14/pengurutan-array/</link>
		<comments>http://richigo.wordpress.com/2011/12/14/pengurutan-array/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 08:17:19 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[algoritma]]></category>
		<category><![CDATA[pemrograman]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1385</guid>
		<description><![CDATA[dari referensi diketahui bahwa algoritma pengurutan ada banyak, namun dari pengurutan tersebut ada yang membutuhkan pemahaman yang lebih dari yang diketahui saat ini (array). misalnya tree sort yang membutuhkan pemahaman terhadap konsep pohon. untuk array, terdapat 4 model yang sering digunakan, dan biasanya memiliki varian-variannya, seperti : 1. Bubble Sort 2. Selection Sort 3. Insertion [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1385&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>dari referensi diketahui bahwa algoritma pengurutan ada banyak, namun dari pengurutan tersebut ada yang membutuhkan pemahaman yang lebih dari yang diketahui saat ini (array). misalnya tree sort yang membutuhkan pemahaman terhadap konsep pohon. untuk array, terdapat 4 model yang sering digunakan, dan biasanya memiliki varian-variannya, seperti :<br />
1. Bubble Sort<br />
2. Selection Sort<br />
3. Insertion Sort<br />
4. Shell Sort<br />
<span id="more-1385"></span></p>
<p>contoh programnya :<br />
<pre class="brush: plain;">
#include
#define SIZE 10

void bubbleSort (int a[], int size);

int main()
{
  int a[SIZE] = {4, 3, 8, 10, 7, 11, 51, 92, 43, 74};
  int i;

  printf (&quot;= BubbleSort =\n\n&quot;);
  printf (&quot;Data sebelum diurutkan :\n&quot;);
  for (i = 0; i &lt; SIZE; i++)
    {
      printf (&quot;%d\t&quot;, a[i]);
    }

  printf (&quot;\n&quot;);
  bubbleSort (a, SIZE);

  printf (&quot;\nData setelah diurutkan :\n&quot;);
  for (i = 0; i &lt; SIZE; i++)
    {
      printf (&quot;%d\t&quot;, a[i]);
    }

  printf (&quot;\n&quot;);
  return 0;
}

void bubbleSort (int a[], int size)
{
  int i;
  int elemen;
  int swap;

  // loop untuk mengendalikan elemen array
  for (elemen = 0; elemen &lt; size; elemen++)
    {
      // loop untuk kendalikan angka sebagai perbandingan per elemen
      for (i = 0; i &lt; size - 1; i++) 	{ 	  // bandingkan elemen berdekatan dengan swap jika elemen pertama lebih besar dari elemen dua 	  if (a[i] &gt; a[i + 1])
	    {
	      swap = a[i];
	      a[i] = a[i + 1];
	      a[i + 1] = swap;
	    }
	}
    }
}
</pre></p>
<p>1. <a href="http://en.wikipedia.org/wiki/Bubble_sort">Bubble Sort</a><br />
pada prinsipnya melakukan proses pertukaran dengan nilai yang ada disebelahnya sampai array tersebut terurut.</p>
<p><pre class="brush: plain;">
void bubbleSort (int a[], int size)
{
  int i;
  int elemen;
  int swap;

  // loop untuk mengendalikan elemen array
  for (elemen = 0; elemen &lt; size; elemen++)
    {
      // loop untuk kendalikan angka sebagai perbandingan per elemen
      for (i = 0; i &lt; size - 1; i++) 	{ 	  // bandingkan elemen berdekatan dengan swap jika elemen pertama lebih besar dari elemen dua 	  if (a[i] &gt; a[i + 1])
	    {
	      swap = a[i];
	      a[i] = a[i + 1];
	      a[i + 1] = swap;
	    }
	}
    }
}
</pre></p>
<p>untuk elemen ke-0, perulangan akan dilanjutkan langsung pada elemen ke-1 dengan indeks ke-0, karena elemen ke-0 tidak bernilai. elemen ke-1 yaitu a[0] akan dibandingkan dengan a[1] dari elemen ke-2. ternyata elemen ke-1 yang bernilai 4 lebih besar dari elemen ke-2 yang bernilai 3. maka proses pertukaran terjadi antara elemen ke-1 dengan elemen ke-2 menjadi a[0] = 3 dan a[1] = 4. setelah itu, elemen ke-1 akan dibandingkan dengan elemen ke-3 sampai dengan ke-10. ternyata, elemen ke-1 bernilai lebih kecil dari elemen setelahnya, maka proses pertukaran tidak terjadi lagi. pada elemen ke-2 yaitu a[1]. nilainya saat ini telah berubah menjadi 4. maka perbandingan nilai akan diulang lagi dari elemen ke-0 sampai ke 10. jika lebih besar maka nilainya akan ditukarkan, begitu seterusnya.</p>
<p>2. <a href="http://en.wikipedia.org/wiki/Selection_sort">Selection Sort</a><br />
algoritma ini memiliki prinsip yaitu memilih elemen bernilai maksimum dari array dan menempatkannya pada elemen terujung.<br />
<pre class="brush: plain;">
void selectionSort (int a[], int size)
// a[0] sampai a[n-1] adalah array untuk diurutkan terurut
{
  int elemen;
  int i;
  int maks;
  int swap;

  // lakukan pengulangan untuk tiap elemen array
  for (elemen = 0; elemen &lt; size; elemen++)
    {
      // atur kondisi maksimum pada elemen tiap elemen, dimulai dari maks = elemen 0
      maks = elemen;
      // cari indeks dari elemen maksimum di dalam array a[i..size]
      for (i = elemen + 1; i &lt; size; i++)
	{
	  if (a[i] &gt; a[maks]) // jika i lebih besar dari elemen sebelahnya maka tukar
	    {
	      maks = i;
	    }
	}
      // setelah kondisi maksimum didapat, maka lakukan proses pertukaran
      if (maks != elemen)
	{
	  swap = a[maks];
	  a[maks] = a[elemen];
	  a[elemen] = swap;
	}
    }
}
</pre></p>
<p>3. <a href="http://en.wikipedia.org/wiki/Insertion_sorthttp://en.wikipedia.org/wiki/Insertion_sort">Insertion Sort</a><br />
merupakan metode pengurutan dengan cara menyisipkan elemen array pada posisi yang tepat. pencarian posisi ini dilakukan dengan cara menyisir array. selama proses penyisiran dilakukan pergeseran elemen array. insertion sort cocok untuk persoalan menyisipkan elemen baru kedalam sekumpulan array yang sudah terurut.<br />
<pre class="brush: plain;">
void insertionSort (int a[], int size)
{
  int elemen;
  int index;
  int nilai;
  typedef enum {true = 1, false = 0} boolean;
  boolean selesai;

  for (elemen = 0; elemen &lt;= size-1; elemen++)
    {
      nilai = a[elemen];
      index = elemen - 1;
      selesai = false;

      // repeat
      while (index &gt;= 0 &amp;&amp; (!selesai))
	{
	  if (a[index] &gt; nilai)
	    {
	      a[index + 1] = a[index];
	      index--;
	    }
	  else
	    selesai = true;
	}
      a[index + 1] = nilai; // sisipkan nilai pada tempat yang tepat
    }
}
</pre></p>
<p>4. <a href="http://en.wikipedia.org/wiki/Shellsort">Shell Sort</a><br />
shell sort merupakan perbaikan dari insertion sort, dimana penyisipan array dikurangi oleh pembagian pada pola tertentu. lebih jelas, lihat video aja ya. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<span style="text-align:center; display: block;"><a href="http://richigo.wordpress.com/2011/12/14/pengurutan-array/"><img src="http://img.youtube.com/vi/CmPA7zE8mx0/2.jpg" alt="" /></a></span><br />
<pre class="brush: plain;">
void shellSort (int a[], int size)
{
  int step;
  int start;

  step = size;
  while (step &gt; 1)
    {
      step = step / 3 + 1;
      for (start - 1; start &lt;= step; start++)
	insertionSort(a, size, start, step);
    }
}

void insertionSort (int a[], int size, int start, int step)
{
  int elemen;
  int index;
  int nilai;
  typedef enum {true = 1, false = 0} boolean;
  boolean selesai;

  while (elemen &lt;= size)
    {
      nilai = a[elemen]; // sisipkan a[elemen] kedalam bagian yang sudah terurut

      // cari posisi yang tepat untuk nilai didalam a[start..i-1] sambil menggeser
      index = elemen - step;
      selesai = false;
      while (index &gt;= 0 &amp;&amp; (!selesai))
	{
	  if (a[index] &gt; nilai)
	    {
	      a[index + step] = a[index];
	      index = index - step;
	    }
	  else
	    selesai = true;
	}
      // i &lt; 1 atau selesai
      a[index + step] = nilai; // sisipkan nilai pada tempat yang tepat
      elemen = elemen + step;
    }
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1385/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1385/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1385/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1385&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/12/14/pengurutan-array/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>Array pada C</title>
		<link>http://richigo.wordpress.com/2011/12/05/array-pada-c/</link>
		<comments>http://richigo.wordpress.com/2011/12/05/array-pada-c/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 01:01:57 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[pemrograman]]></category>
		<category><![CDATA[struktur data]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1342</guid>
		<description><![CDATA[dalam pemrograman, satu variabel hanya dapat digunakan untuk menyimpan satu nilai. terdapat banyak kasus dimana pemrogram menggunakan banyak variabel bertipe sama. jika variabel itu dianalogikan sebagai lemari penyimpanan pakaian, tentu sangat tidak tepat jika menggunakan banyak lemari untuk menyimpan pakaian yang sama. akan sangat baik jika memanfaatkan laci dari lemari untuk menyimpan(mengindeks) pakaian. array dapat [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1342&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>dalam pemrograman, satu variabel hanya dapat digunakan untuk menyimpan satu nilai. terdapat banyak kasus dimana pemrogram menggunakan banyak variabel bertipe sama. jika variabel itu dianalogikan sebagai lemari penyimpanan pakaian, tentu sangat tidak tepat jika menggunakan banyak lemari untuk menyimpan pakaian yang sama. akan sangat baik jika memanfaatkan laci dari lemari untuk menyimpan(mengindeks) pakaian. array dapat didefinisikan sebagai variabel berindeks, struktur data yang menyimpan sekumpulan elemen yang bertipe data sama, setiap elemen tersebut diakses langsung melalui indeks. array akan mengambil lokasi memori dikomputer secara beruntutan.<br />
- array sebagai variabel<br />
- array sebagai tipe bentukan<br />
- array sebagai tipe terstruktur<br />
- array multidimensi<br />
- array dinamis<br />
<span id="more-1342"></span></p>
<p>contoh array sebagai variabel :<br />
<pre class="brush: plain;">
#include &lt;stdio.h&gt;

int main()
{
  int i;
  int array[7]; // array sebagai variabel
  int N;
  
  N = 7;
  printf(&quot;Isi dan cetak array dengan indeks 1 s/d 7\n&quot;);
  // mengisi nilai Array dengan perulangan
  for (i=1; i&lt;=N; i++)
    {
      array[i] = i; // mengacu kepada i, i &lt;= 7
    }
  
  // menampilkan nilai Array
  for (i=1; i&lt;=N; i++)
    {
      printf(&quot;i = %d, array[i] = %d\n&quot;, i, array[i]);
    }
}
</pre></p>
<p>contoh array sebagai tipe bentukan :<br />
<pre class="brush: plain;">
// program array
// program untuk membaca array, mencetak array dan menghitung nilai rata-ratanya

#include &lt;stdio.h&gt;
#define Nmaks 100 // ukuran maksimum array
typedef int arrayInt[Nmaks]; // array sebagai tipe bentukan dengan konstanta

// prototype
void bacaArray(arrayInt A, int n);
void tulisArray(arrayInt A, int n);
void hitungArray(arrayInt A, int n, float *u);

main()
{
  arrayInt A;
  int k;
  int n;
  float u;

  printf(&quot;Jumlah data array : &quot;);
  scanf(&quot;%d&quot;, &amp;n);
  
  printf(&quot;Baca data :\n&quot;);
  bacaArray(A,n);
  
  printf(&quot;Tulis data :\n&quot;);
  tulisArray(A,n);

  hitungArray(A,n,&amp;u);
  printf(&quot;Rata-rata data = %.2f\n&quot;, u);
}

void bacaArray(arrayInt A, int n)
{
  int i; // pencatat indeks larik

  for(i=0; i&lt;n; i++)
    {
      printf(&quot;Nilai A[%d] : &quot;, i);
      scanf(&quot;%d&quot;, &amp;A[i]);
    }
}

void tulisArray(arrayInt A, int n)
{
  int i;
  
  for (i=0; i&lt;n; i++)
    printf(&quot;A[%d] = %d\n&quot;, i, A[i]);
}

void hitungArray(arrayInt A, int n, float *u)
{
  int i;
  float jumlah;
  
  i = 1;
  jumlah = 0;
  for(i=0; i&lt;n; i++)
    jumlah = jumlah + A[i];

  *u = jumlah/n;
}
</pre></p>
<p>array sebagai tipe terstruktur :<br />
<pre class="brush: plain;">
// program array dengan struct
// program untuk membaca array, mencetak array dan menghitung nilai rata-ratanya menggunakan struct
// struct = tipe data bentukan

#include &lt;stdio.h&gt;
#define Nmaks 1000 // ukuran maksimum array
struct Nilai
{
  char nama[100];
  float mat;
  float b_ind;
  float b_ing;
  float rerata;
};

typedef struct Nilai un[Nmaks];  // array sebagai tipe bentukan dengan struct

void bacaNilai(un A, int n);
void tulisNilai(un A, int n);
void totalNilai(un A, int n);

main()
{
  un A;
  int i, n;
  float u;

  printf(&quot;Jumlah Data Penilaian : &quot;);
  scanf(&quot;%d&quot;, &amp;n);
  
  bacaNilai(A, n);
  tulisNilai(A, n);
  totalNilai(A, n);
}

void bacaNilai(un A, int n)
{
  int i;

  for (i=0; i&lt;n; i++)
    {
      printf(&quot;Nama : &quot;);
      scanf(&quot;%s&quot;, &amp;A[i].nama);
      printf(&quot;Nilai Matematika : &quot;);
      scanf(&quot;%f&quot;, &amp;A[i].mat);
      printf(&quot;Nilai Bahasa Indonesia : &quot;);
      scanf(&quot;%f&quot;, &amp;A[i].b_ind);
      printf(&quot;Nilai Bahasa Inggris : &quot;);
      scanf(&quot;%f&quot;, &amp;A[i].b_ing);
    } 
}

void tulisNilai(un A, int n)
{
  int i;

  for (i=0; i&lt;n; i++)
    {
      printf(&quot;Nama : %s\n&quot;, A[i].nama);
      printf(&quot;Nilai Matematika : %.2f\n&quot;, A[i].mat);
      printf(&quot;Nilai Bahasa Indonesia : %.2f\n&quot;, A[i].b_ind);
      printf(&quot;Nilai Bahasa Inggris : %.2f\n&quot;, A[i].b_ing);
    } 
}

void totalNilai(un A, int n) 
// tidak diperlukan lagi variabel keluaran karena rerata sudah tercakup pada struct
{
  int i;
  
  for (i=0; i&lt;n; i++)
    {
      A[i].rerata = (A[i].mat + A[i].b_ind + A[i].b_ing) / 3;
      printf(&quot;Nama : %s\n&quot;, A[i].nama);
      printf(&quot;Nilai Rata-Rata : %.2f\n&quot;, A[i].rerata);
    }
}
</pre></p>
<p>contoh array multidimensi :<br />
<pre class="brush: plain;">
// contoh array multidimensi
// program penilaian siswa
#include &lt;stdio.h&gt;
#define SISWA 4
#define MAPEL 4

// prototype fungsi
void cetakArray(const int nilai[][MAPEL], int siswa, int test);
int nilaiMinimum(const int nilai[][MAPEL], int siswa, int test);
int nilaiMaksimum(const int nilai[][MAPEL], int siswa, int test);
double rerata(const int aturNilai[], int test);

int main()
{
  int i;

  // inisial nilai siswa untuk empat siswa (baris) dan empat mata pelajaran (kolom)
  const int nilaiSiswa[SISWA][MAPEL] =
    {
      {77, 68, 86, 73},
      {96, 87, 89, 78},
      {70, 90, 86, 81},
      {80, 91, 98, 87}
    };

  printf(&quot;Daftar Penilaian Siswa \n&quot;);
  cetakArray(nilaiSiswa, SISWA, MAPEL);
  printf(&quot;\n\nNilai terendah : %d\n&quot;, nilaiMinimum(nilaiSiswa, SISWA, MAPEL));
  printf(&quot;Nilai tertinggi : %d\n&quot;, nilaiMaksimum(nilaiSiswa, SISWA, MAPEL));

  // perulangan untuk menampilkan nilai rerata tiap siswa
  for(i = 0; i &lt; SISWA; i++)
    {
      printf(&quot;Nilai rata-rata siswa ke %d adalah %.2f\n&quot;,
	     i, rerata(nilaiSiswa[i], MAPEL));
    }

  return 0;
}

// realisasi
void cetakArray(const int nilai[][MAPEL], int siswa, int test)
{
  // variabel lokal
  int i;
  int j;

  printf(&quot;                [A]  [B]  [C]  [D]&quot;);
  // perulangan baris
  for (i = 0; i &lt; siswa; i++)
    {
      // perulangan kolom
      printf(&quot;\nNilai Siswa [%d] &quot;, i);
      for (j = 0; j &lt; test; j++)
	{
	  printf(&quot;%-5d&quot;, nilai[i][j]);
	}
    }
}

int nilaiMinimum(const int nilai[][MAPEL], int siswa, int test)
{
  // variabel lokal
  int i;
  int j;
  int nilaiTerendah = 100; // deklarasi variabel dan nilai terendah sementara

  // perulangan baris
  for (i = 0; i &lt; siswa; i++)
    {
      // perulangan kolom
      for (j = 0; j &lt; test; j++)
	{
	  if (nilai[i][j] &lt; nilaiTerendah)
	    {
	      nilaiTerendah = nilai[i][j];
	    }
	}
    }
  
  return nilaiTerendah;
}

int nilaiMaksimum(const int nilai[][MAPEL], int siswa, int test)
{
  // variabel lokal
  int i;
  int j;
  int nilaiTertinggi;

  nilaiTertinggi = 0; // nilai tertinggi sementara
  // perulangan baris
  for (i = 0; i &lt; siswa; i++)
    {
      // perulangan kolom
      for (j = 0; j &lt; test; j++)
	{
	  if (nilai[i][j] &gt; nilaiTertinggi)
	    {
	      nilaiTertinggi = nilai[i][j];
	    }
	}
    }
  return nilaiTertinggi;
} 

double rerata(const int aturNilai[], int test)
{
  // variabel lokal
  int i;
  int total;

  total = 0; // total nilai sementara
  // perulangan untuk menghitung nilai rerata tiap siswa
  for (i = 0; i &lt; test; i++)
    {
      total = total + aturNilai[i];
    }

  return (double) total / test;
}
</pre></p>
<p>ketika pemrogram membuat suatu array, maka pemrogram secara otomatis telah mengalokasikan sejumlah memori untuk ditempatkan oleh array tersebut. alokasi memori ini tidak dapat diubah ketika program dieksekusi. dapat dikatakan bahwa contoh-contoh array yang dibuat diatas bertipe statis. dengan penggunaan malloc dan free, array dapat diperlakukan secara dinamis, dimana pemrogram mengalokasikan sejumlah memori tertentu dengan malloc dan kemudian dapat di bebaskan dengan free. batas dari alokasi memori dinamis bisa lebih besar jumlahnya dari memori fisik yang terpasang dikomputer, namun hal tersebut jarang tercapai karena memori yang tersedia mesti dibagikan pada banyak aplikasi. operator yang sering digunakan bersama malloc dan free adalah sizeof. sizeof merupakan fungsi untuk menghitung tipe data pada argumen dalam satuan byte, dan hasilnya menjadi return value.<br />
<pre class="brush: plain;">
// contoh array dinamis
#include &lt;stdio.h&gt;
#include &lt;stdlib.h&gt;

int main()
{
  int i;
  int x[7]; // x merupakan array statis
  int *y; // deklarasi array dinamis dengan pointer

  // inisial x[i] dengan nilai 0
  for (i = 0; i &lt; 7; i++)
    x[i] = 0;
  // endfor

  // mengisi kembali x[i] dengan input dari pengguna
  for (i = 0; i &lt; 7; i++)
    {
      printf (&quot;Masukkan nilai i : &quot;);
      scanf (&quot;%d&quot;, &amp;x[i]);
    }
  
  printf(&quot;_________________\n&quot;);
  printf(&quot;array statis : \n&quot;);

  // penulisan x[i] dengan perulangan
  for (i = 0; i &lt; 7; i++)
    printf (&quot;i ke %d,\tx[i] = %d\n&quot;, i, x[i]);
  // endfor
  y = (int *)malloc(7*sizeof(int)); // mengalokasikan memori 28 byte untuk y[7]
  printf(&quot;_________________\n&quot;);
  printf(&quot;array dinamis : \n&quot;);
  // pengisian y[i] dengan perulangan
  for (i = 0; i &lt; 7; i++)
    y[i] = x[i];

  // penulisan y[i] dengan perulangan
  for (i = 0; i &lt; 7; i++)
    printf (&quot;i ke %d,\ty[i] =  %d\n&quot;, i, y[i]);
  free (y); // free memory
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1342/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1342/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1342/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1342&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/12/05/array-pada-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>besok, puasa muharam yuk?</title>
		<link>http://richigo.wordpress.com/2011/12/04/besok-puasa-muharam-yuk/</link>
		<comments>http://richigo.wordpress.com/2011/12/04/besok-puasa-muharam-yuk/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 13:31:14 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1352</guid>
		<description><![CDATA[Rasullulah SAW sangat menganjurkan umatnya untuk berpuasa diluar bulan Ramadhan, satu diantaranya adalah pada hari asy-syura, bulan muharam. riwayat yang berkaitan : &#8220;Sesungguhnya ini adalah hari asy Syura dan tidaklah diwajibkan terhadap kalian untuk berpuasa (di hari ini). Dan aku saat ini berpuasa maka barangsiapa yang ingin berpuasa (maka berpuasalah) dan barangsiapa yang ingin berbuka [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1352&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Rasullulah SAW sangat menganjurkan umatnya untuk berpuasa diluar bulan Ramadhan, satu diantaranya adalah pada hari asy-syura, bulan muharam. riwayat yang berkaitan :<br />
&#8220;Sesungguhnya ini adalah hari asy Syura dan tidaklah diwajibkan terhadap kalian untuk berpuasa (di hari ini). Dan aku saat ini berpuasa maka barangsiapa yang ingin berpuasa (maka berpuasalah) dan barangsiapa yang ingin berbuka (tidak berpuasa) maka berbukalah.&#8221; (Muttafaq Alaihi)</p>
<p>penyebab puasa pada hari Asy Syura adalah bahwa Musa A.S telah berpuasa pada hari itu. Dan hari itu adalah hari diselamatkannya Musa dari Fir’aun. Diriwayatkan dari Ibnu Abbas berkata,&#8221;Ketika Nabi saw memasuki kota Madinah beliau saw menyaksikan orang-orang Yahudi berpuasa pada hari asy Syura. Beliau berkata,&#8221;Ada apa ini?&#8221; mereka menjawab,&#8221;Hari baik, di hari ini Allah telah menyelamatkan Musa dan Bani Israil dari musuh-musuh mereka dan Musa berpuasa (di hari ini).&#8221; Lalu Nabi saw bersabda,&#8221;Aku lebih berhak terhadap Musa daripada kalian.&#8221; Maka beliau saw pun berpuasa dan memerintahkan untuk berpuasa.&#8221; (Muttafaq Alaihi) Dari Abu Musa al Asy’ariy berkata,&#8221;Hari asy Syura&#8217; diagungkan oleh orang-orang Yahudi dan mereka pun menjadikannya sebagai hari raya. Dan Rasulullah saw bersabda,&#8217;Berpuasalah kalian (di hari ini).&#8221; (Muttafaq Alahi).</p>
<p>kita juga disunahkan untuk berpuasa pada hari ke-9 (Tasuua&#8217;a) dan ke-10 (Asyura&#8217;) dari bulan Muharram. ini disunahkan supaya kita tidak menyerupai umat lainnya. sebagaimana diriwayatkan oleh Imam Muslim dari Ibnu Abbas berkata, &#8220;Sewaktu Rasulullah saw berpuasa pada hari Asyura lalu beliau saw memerintahkan (para sahabat) untuk berpuasa.&#8221; Para sahabat bertanya, &#8220;Wahai Rasulullah, sesungguhnya hari ini adalah hari yang diagungkan oleh orang-orang Yahudi dan Nasrani.&#8221; Beliau saw menjawab, &#8220;Untuk tahun depan, insya Allah kita berpuasa (juga) pada hari kesembilan.&#8221; Ibnu Abbas berkata, &#8220;Ternyata tahun depan tidaklah menemuinya hingga beliau SAW wafat.&#8221;</p>
<p>besok, menurut kalender nasional adalah hari ke-9 bulan muharam, alangkah baiknya jika besok kita sudah memulai puasa Tasuua&#8217;a. puasa sunnah tentu sangat baik bagi orang-orang yang belum menikah seperti saya ini, sebagaimana yang diriwayatkan pada hadist :<br />
&#8220;Wahai generasi muda, barang siapa di antara kalian telah mampu menikah maka segeralah menikah karena sesungguhnya menikah itu lebih menjaga kemaluan dan memelihara pandangan mata. Barang siapa yang belum mampu maka hendaklah berpuasa karena puasa menjadi benteng (dari gejolak birahi).&#8221; (H.R. al-Bukhori: 5066)</p>
<p>puasa sunnah juga baik bagi orang yang sudah menikah, ini bisa jadi momentum untuk semakin dekat dengan pasangannya. yang biasanya bisa dikerjakan sendirian, sekarang dikerjakan berduaan. hehe, tentulah, tidak semua orang langsung sanggup mengerjakan puasa sunnah secara penuh termasuk saya pribadi. ini dapat disiasati dengan cara mengulang kembali pola belajar puasa wajib sewaktu kecil. yay, puasa setengah hari. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  tapi yang perlu dicamkan untuk selanjutnya lebih baik! 3/4 hari dan 1 hari penuh. yang terpenting sekarang luruskan niat untuk memperbaiki diri. nah, siapa tahu dengan kita mau memperbaiki diri, kita berjodoh dengan orang yang mau memperbaiki juga. Aamiin, <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>referensi :<br />
<a href="http://www.eramuslim.com/ustadz-menjawab/apa-hikmah-puasa-10-muharram-itu.htm">http://www.eramuslim.com/ustadz-menjawab/apa-hikmah-puasa-10-muharram-itu.htm</a><br />
<a href="http://www.eramuslim.com/ustadz-menjawab/puasa-muharram.htm">http://www.eramuslim.com/ustadz-menjawab/puasa-muharram.htm</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1352/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1352/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1352/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1352&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/12/04/besok-puasa-muharam-yuk/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>lukisan alam</title>
		<link>http://richigo.wordpress.com/2011/11/22/lukisan-alam/</link>
		<comments>http://richigo.wordpress.com/2011/11/22/lukisan-alam/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 01:06:10 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1333</guid>
		<description><![CDATA[lagu zaman sekarang kebanyakan hanya membicarakan tentang kau dan aku. jarang sekali lagu yang membicarakan tentang kita. yay, tentang kita semua, tentang kehidupan yang menghamba kepada Tuhan Yang Satu. dan oleh karena itu saya sangat suka nasyid. obat galau juga.. hehe, Hidup tidak selalunya indah Langit tak selalu cerah Suram malam tak berbintang Itulah lukisan [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1333&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>lagu zaman sekarang kebanyakan hanya membicarakan tentang kau dan aku. jarang sekali lagu yang membicarakan tentang kita. yay, tentang kita semua, tentang kehidupan yang menghamba kepada Tuhan Yang Satu. dan oleh karena itu saya sangat suka nasyid. <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  obat galau juga.. hehe,<br />
<span style="text-align:center; display: block;"><a href="http://richigo.wordpress.com/2011/11/22/lukisan-alam/"><img src="http://img.youtube.com/vi/9klBVFlqNjg/2.jpg" alt="" /></a></span></p>
<p style="text-align:center;">Hidup tidak selalunya indah<br />
Langit tak selalu cerah<br />
Suram malam tak berbintang<br />
Itulah lukisan alam<br />
(Begitu aturan Tuhan)</p>
<p style="text-align:center;">Jadilah rumput nan lemah lembut<br />
Tak luruh dipukul ribut<br />
Bagai karang di dasar lautan<br />
Tak terusik dilanda badai</p>
<p style="text-align:center;">Dalam suka hitunglah kesyukuranmu<br />
Dalam senang awasi kealfaanmu<br />
Setitis derita melanda<br />
Segunung kurniaanNya</p>
<p style="text-align:center;">Usah mengharapkan ke segalanya<br />
Dalam perjuangan penuh pengorbanan<br />
Usah dendam berpanjangan<br />
Maafkan kesalahan insan<br />
(Begitu ajaran Tuhan)</p>
<p style="text-align:center;">Hasbiallah, Hasbunallah<br />
HasbiRabbi jalallahu Ya Allah</p>
<p style="text-align:center;">Dalam diam taburkanlah baktimu<br />
Dalam tenang buangkanlah amarahmu<br />
Suburkanlah sifat sabar<br />
(Di) dalam jiwamu itu</p>
<p>posting nasyid juga, biar nggak kaku blognya. 8)</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1333/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1333/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1333/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1333&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/11/22/lukisan-alam/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>pemrograman modular -prosedur dan fungsi- 2</title>
		<link>http://richigo.wordpress.com/2011/11/22/pemrograman-modular-prosedur-dan-fungsi-2/</link>
		<comments>http://richigo.wordpress.com/2011/11/22/pemrograman-modular-prosedur-dan-fungsi-2/#comments</comments>
		<pubDate>Wed, 23 Nov 2011 00:25:34 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[pemrograman]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1328</guid>
		<description><![CDATA[fungsi merupakan modul program yang memberikan pengembalian nilai dari tipe tertentu seperti tipe dasar dan tipe bentukan. parameter pada fungsi hanya merupakan parameter masukan untuk menghasilkan nilai. contoh pengembalian nilai dari tipe dasar : contoh pengembalian nilai dari tipe bentukan : dalam penerapannya, prosedur dan fungsi dapat digunakan untuk berbagai kasus yang sama. jika prosedur [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1328&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>fungsi merupakan modul program yang memberikan pengembalian nilai dari tipe tertentu seperti tipe dasar dan tipe bentukan. parameter pada fungsi hanya merupakan parameter masukan untuk menghasilkan nilai.<br />
<pre class="brush: plain;">
// prototype
int max(int *a, int *b)

// realisasi
int max(int *a, int *b)
{
	if (a&gt;=b)
		return a;
	else
		return b;
}
</pre><br />
<span id="more-1328"></span><br />
contoh pengembalian nilai dari tipe dasar :<br />
<pre class="brush: plain;">
// Program tabel fungsi
// Pengembalian nilai bertipe real

#include &lt;stdio.h&gt;

// prototype
float F(float x, float y);
// mengembalikan nilai F(x,y)=2x*x + 3y*y - 4xy, x, y = real
main()
{
  float x;
  float y;

  printf(&quot;==============================================\n&quot;);
  printf(&quot;= x                   y             f(x,y)   =\n&quot;);
  printf(&quot;==============================================\n&quot;);
  x = 3.2;
  y = 3.3;
  while(x &lt;= 10.0)
    {
      printf(&quot;= %f        %f        %f  =\n&quot;, x,y,F(x,y)); // F(x,y) =&gt; pemanggilan fungsi
      x = x + 0.5;
      y = y + 0.5;
    }
  printf(&quot;==============================================\n&quot;);
}

// realisasi
float F(float x, float y)
{
  return 2*x*x + 3*y*y - 4*x*y;
}
</pre><br />
contoh pengembalian nilai dari tipe bentukan :<br />
<pre class="brush: plain;">
// Program Jam
// Menghitung Jam Setelah Ditambah Satu Detik

#include &lt;stdio.h&gt;
typedef struct
{
  int jj;
  int mm;
  int dd;
}Jam; // variabel global

Jam TambahSatuDetik(Jam J); // prototype

main()
{
  Jam J;

  printf(&quot;Jam Pertama :\n&quot;);
  printf(&quot;Jam   : &quot;); scanf(&quot;%d&quot;, &amp;J.jj);
  printf(&quot;Menit : &quot;); scanf(&quot;%d&quot;, &amp;J.mm);
  printf(&quot;Detik : &quot;); scanf(&quot;%d&quot;, &amp;J.dd);

  TambahSatuDetik(J); // pemanggilan fungsi
}

// realisasi
Jam TambahSatuDetik(Jam J)
{
  if(J.dd + 1 &lt; 60)
    J.dd = J.dd + 1;
  else
    {
      J.dd = 0;
      if(J.mm + 1)
	J.mm = J.mm + 1;
      else
	{
	  J.mm = 0;
	  
	  if(J.jj + 1 &lt; 24)
	    J.jj = J.jj + 1;
	  else
	    J.jj = 0;
	}
    }

  printf(&quot;Jam yang baru %d:%d:%d\n&quot;, J.jj,J.mm,J.dd); 
  return J;
}
</pre></p>
<p>dalam penerapannya, prosedur dan fungsi dapat digunakan untuk berbagai kasus yang sama. jika prosedur tidak dapat mengembalikan nilai, maka pemrogram dapat menambahkan variabel penampung untuk mengisikan nilai yang dihasilkan dari pengubahan fungsi ke prosedur. sedangkan jika pemrogram mengubah prosedur ke fungsi, tidak diperlukan lagi variabel penampung tersebut, karena seperti pengertiannya, parameter fungsi hanya berupa masukan untuk menghasilkan nilai. jadi secara default, nilai dikembalikan oleh fungsi.<br />
contoh :<br />
<pre class="brush: plain;">
#include &lt;stdio.h&gt;

// prototype
void max(int a, int b);

main()
{
  int a;
  int b;
  int maks;

  printf(&quot;Ketik nilai a : &quot;);
  scanf(&quot;%d&quot;, &amp;a);
  printf(&quot;Ketik nilai b : &quot;);
  scanf(&quot;%d&quot;, &amp;b);
  
  max(a, b);
}

// realisasi
void max(int a, int b)
{
  int maks; // variabel penampung yang dimaksud
  
  if (a &gt;= b)
    maks = a;
  else
    maks = b;
  printf(&quot;Nilai maksimal dari kedua nilai a dan b adalah : %d\n&quot;, maks); // prosedur tidak dapat mengembalikan nilai
}
</pre></p>
<p>prosedur diatas jika diubah menjadi fungsi adalah sebagai berikut :<br />
<pre class="brush: plain;">
#include &lt;stdio.h&gt;

// prototipe
int max(int a, int b);

void main()
{
  int a;
  int b;
  
  printf(&quot;Ketik nilai a : &quot;);
  scanf(&quot;%d&quot;, &amp;a);
  printf(&quot;Ketik nilai b : &quot;);
  scanf(&quot;%d&quot;, &amp;b);

  printf(&quot;Maksimum dari dua bilangan %d\n&quot;, max(a, b)); // max(a, b) =&gt; pemanggilan fungsi
}

// realisasi
int max(int a, int b)
{
  return((a&gt;b) ? a:b); // return mengembalikan nilai
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1328/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1328/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1328/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1328&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/11/22/pemrograman-modular-prosedur-dan-fungsi-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
		<item>
		<title>pemrograman modular -prosedur dan fungsi- 1</title>
		<link>http://richigo.wordpress.com/2011/11/21/pemrograman-modular-prosedur-dan-fungsi-1/</link>
		<comments>http://richigo.wordpress.com/2011/11/21/pemrograman-modular-prosedur-dan-fungsi-1/#comments</comments>
		<pubDate>Tue, 22 Nov 2011 02:02:06 +0000</pubDate>
		<dc:creator>richie</dc:creator>
				<category><![CDATA[C/C++]]></category>
		<category><![CDATA[pemrograman]]></category>

		<guid isPermaLink="false">http://richigo.wordpress.com/?p=1323</guid>
		<description><![CDATA[penggunaan prosedur dan fungsi pada pemrograman terkait pada model pemrograman modular. dimana pemrogram membuat prosedur atau fungsi untuk dipanggil pada bagian-bagian program, ini diupayakan untuk menghindari coding secara berulang. kelebihan penggunaan prosedur dan fungsi akan menghasilkan program yang lebih elegan, mudah ditelurusi dan dibaca. prosedur merupakan modul program yang mengerjakan tugas/aktifitas yang spesifik, dimana pemrogram [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1323&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>penggunaan prosedur dan fungsi pada pemrograman terkait pada model pemrograman modular. dimana pemrogram membuat prosedur atau fungsi untuk dipanggil pada bagian-bagian program, ini diupayakan untuk menghindari coding secara berulang. kelebihan penggunaan prosedur dan fungsi akan menghasilkan program yang lebih elegan, mudah ditelurusi dan dibaca.<br />
<span id="more-1323"></span><br />
prosedur merupakan modul program yang mengerjakan tugas/aktifitas yang spesifik, dimana pemrogram perlu mendefinisikan prototype terlebih dahulu, sebelum runtutan instruksi didalam prosedur dilaksanakan. kemudian mendefinisikan realisasi setelah runtutan instruksi tersebut dilaksanakan. dalam prosedur dikenal tidak memiliki pengembalian nilai (void). contoh :<br />
<pre class="brush: plain;">
// prototype
void baca(int *a, int *b)

// realisasi
void baca(int* a, int* b)
{
	printf(&quot;a = &quot;); scanf(&quot;%d&quot;, &amp;a);
	printf(&quot;b = &quot;); scanf(&quot;%d&quot;, &amp;b);
}
</pre></p>
<p>dalam prosedur, program memerlukan parameter untuk melakukan aktifitas pertukaran informasi antara prosedur dan program. <a href="http://www.informatika.org/~rinaldi/Buku/Algoritma%20dan%20Pemrograman%20I%20%28Edisi%203%29/Alpro1.htm">disebutkan</a> bahwa parameter yang digunakan adalah parameter aktual dan parameter formal. parameter aktual akan berkorespondensi dengan parameter formal. tiap-tiap parameter aktual berpasangan dengan parameter formal yang bersesuaian.<br />
<pre class="brush: plain;">
void baca(int *a, int *b) // (int *a, int *b) =&gt; parameter formal pada bagian header
baca(x,y); // (x, y) =&gt; parameter aktual pada pemanggilan prosedur
</pre></p>
<p>jenis parameter yang dapat digunakan pada prosedur adalah :<br />
prosedur tanpa parameter<br />
=&gt; prosedur dapat dipanggil tanpa menggunakan parameter<br />
contoh :<br />
<pre class="brush: plain;">
// Program Segitiga Bintang Pagar

#include &lt;stdio.h&gt;

void SegitigaBintangPagar();

main()
{
  int a, B;

  printf(&quot;Banyaknya Cetakan Segitiga = &quot;);
  scanf(&quot;%d&quot;, &amp;B);
  for(a=1; a&lt;=B; a++)
    SegitigaBintangPagar(); // pemanggilan prosedur tanpa parameter
}

void SegitigaBintangPagar()
{
  int N, i, j;
 
  printf(&quot;Tinggi segitiga, N = &quot;);
  scanf(&quot;%d&quot;, &amp;N);
  
  // Cetak segitiga pertama
    for (i=1; i&lt;=N; i++)
    {
      for (j=1; j&lt;=i; j++)
	{
	  if(i!=j) 
	    printf(&quot;*&quot;);
	  else
	    printf(&quot;#&quot;);
	}
        printf(&quot;\n&quot;);
    }
  // Cetak segitiga kedua
    for (i=N-1; i&gt;=1; i--)
    {
      for (j=1; j&lt;=i; j++)
	{
	  if(i!=j) 
	    printf(&quot;*&quot;);
	  else
	    printf(&quot;#&quot;);
	}
      printf(&quot;\n&quot;);
    }
}
</pre></p>
<p>parameter masukan<br />
=&gt; parameter aktual digunakan sebagai parameter masukan untuk mengisi parameter formal.<br />
contoh :<br />
<pre class="brush: plain;">
// Program Segitiga
// Menghitung luas N buah segitiga

#include &lt;stdio.h&gt;

// prototype
void HitungLuasSegitiga(float a, float t);

main()
{
  int i, N;
  float a, t;

  printf(&quot;Banyaknya segitiga = &quot;);
  scanf(&quot;%d&quot;, &amp;N);
  for(i=1; i&lt;=N; i++)
    {
      printf(&quot;alas segitiga = &quot;);
      scanf(&quot;%f&quot;, &amp;a);
      printf(&quot;tinggi segitiga = &quot;);
      scanf(&quot;%f&quot;, &amp;t);
      HitungLuasSegitiga(a, t);  // pemanggilan dengan parameter aktual sebagai parameter masukan
    }
}

void HitungLuasSegitiga(float alas, float tinggi)
{
  float luas;
  
  luas = (alas*tinggi)/2.0;
  printf(&quot;Luas segitiga = %f\n&quot;, luas);
}
</pre></p>
<p>parameter keluaran<br />
=&gt; parameter aktual berfungsi sebagai tempat untuk mengisi informasi dari prosedur.</p>
<p>contoh :<br />
<pre class="brush: plain;">
// program segitiga
// menghitung luas N buah segitiga

#include &lt;stdio.h&gt;

// prototype
void HitungLuasSegitiga(float a, float t, float *L);

main()
{
  int i, N;
  float a, t;
  float L;

  printf(&quot;Banyak Segitiga : &quot;);
  scanf(&quot;%d&quot;, &amp;N);
  for(i=1; i&lt;=N; i++)
    {
      printf(&quot;alas segitiga = &quot;);
      scanf(&quot;%f&quot;, &amp;a);
      printf(&quot;tinggi segitiga = &quot;);
      scanf(&quot;%f&quot;, &amp;t);
      HitungLuasSegitiga(a, t, &amp;L);
      printf(&quot;Luas segitiga = %f\n&quot;, L); // parameter aktual sebagai parameter keluaran
    }
}

void HitungLuasSegitiga(float alas, float tinggi, float *luas)
{
  *luas = (alas * tinggi) / 2.0;
}
</pre></p>
<p>parameter masukan/keluaran<br />
=&gt; parameter aktual berfungsi sebagai masukan dan keluaran dari prosedur.</p>
<p>contoh :<br />
<pre class="brush: plain;">
// Program Tambah Satu

#include &lt;stdio.h&gt;

// prototype
void TambahSatu(int *A, int *B);

main()
{
  int X, Y, Z;
  
  printf(&quot;X = &quot;);
  scanf(&quot;%d&quot;, &amp;X);
  printf(&quot;Y = &quot;);
  scanf(&quot;%d&quot;, &amp;Y);

  printf(&quot;Nilai X dan Y sebelum pemanggilan prosedur : \n&quot;);
  printf(&quot;X = %d\n&quot;, X);
  printf(&quot;Y = %d\n\n&quot;, Y);
  
  TambahSatu(&amp;X, &amp;Y);

  printf(&quot;Nilai X dan Y sesudah pemanggilan prosedur : \n&quot;);
  printf(&quot;X = %d\n&quot;, X);
  printf(&quot;Y = %d\n\n&quot;, Y);
}

// realisasi
void TambahSatu(int *A, int *B)
{
  *A = *A + 1;
  *B = *B + 1;
  printf(&quot;Nilai A dan B pada prosedur tambah : \n&quot;);
  printf(&quot;A : %d\n&quot;, *A);
  printf(&quot;B : %d\n\n&quot;, *B);
}
</pre></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/richigo.wordpress.com/1323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/richigo.wordpress.com/1323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/richigo.wordpress.com/1323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/richigo.wordpress.com/1323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/richigo.wordpress.com/1323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/richigo.wordpress.com/1323/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/richigo.wordpress.com/1323/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/richigo.wordpress.com/1323/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=richigo.wordpress.com&amp;blog=8349192&amp;post=1323&amp;subd=richigo&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://richigo.wordpress.com/2011/11/21/pemrograman-modular-prosedur-dan-fungsi-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a697e793a64866b589d9ed8a86107c2f?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">richie</media:title>
		</media:content>
	</item>
	</channel>
</rss>
