tag:blogger.com,1999:blog-32980646262172837472024-03-13T09:53:59.299+07:00Arif's bloglife, coding, and stuffArifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.comBlogger50125tag:blogger.com,1999:blog-3298064626217283747.post-26792168672942537302015-12-13T22:46:00.000+07:002015-12-14T17:39:38.625+07:00Testing Amazon S3 secara lokal menggunakan fakes3<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="p1">
<b><a href="https://aws.amazon.com/s3/" target="_blank">Amazon S3</a></b> (<i>Simple Storage Service</i>) adalah salah satu solusi penyimpana data <i>cloud</i> populer yang ditawarkan oleh Amazon. S3 memperbolehkan kita menyimpan data sesuka kita, dengan struktur yang kita kehendaki. Kita bisa menyimpan data kita baik secara privat, maupun dengan siapapun (menggunakan web browser atau BitTorrent client). Amazon bertindak sebagai <i>host</i> untuk penyimpanan dan <i>bandwith</i>, dan meminta biaya per <i>gigabyte</i> sebagai gantinya.<br />
<br /></div>
<div class="p1">
<span class="Apple-tab-span"> </span>Ada dua kegunaan utama S3, yaitu:</div>
<div class="p2">
<br />
<a name='more'></a><br /></div>
<div class="p1" style="text-align: left;">
<i>Backup server</i></div>
<div class="p1" style="text-align: left;">
Kita menyimpan data lewat S3 dan tak mengjinkan siapapun untuk mengakses data tersebut. Tanpa membeli media penyimpanan kita sendiri, kita menyewa ruang penyimpanan tersebut dari amazon.</div>
<div class="p2" style="text-align: left;">
<br /></div>
<div class="p1">
<i>Data host</i></div>
<div class="p1">
Kita menyimpan data di S3 dan mengijinkan akses untuk orang lain. Amazon melayani data kita melalui HTTP atau BitTorrent. Tanpa membayar ISP untuk bandwith, kita membayar ke Amazon sebagai gantinya. Tergantung biaya bandwith yang kita punya sekarang, hal ini dapat menghemat kita. Banyak dari startup sekarang ini yang menggunakan S3 untuk melakukan hosting data mereka.</div>
<div class="p2">
<br /></div>
<h4 style="text-align: left;">
Struktur S3</h4>
<div class="p1">
Ada dua konsep dalam S3: “<i>bucket</i>” dan “<i>object</i>”. Sebuah objek dengan metadata tertentu. Sebuah “<i>bucket</i>” adalah wadah atau tempat menyimpan <i>object</i>. Analogi untuk hubungan <i>bucket</i> dan <i>object</i> pada S3 adalah seperti <i>filesytem</i> dan <i>file</i> pada hard disk.</div>
<div class="p1">
Sebuah bucket lebih mirip seperti filesystem jika dibandingkan dengan direktori pada hard disk. Sebuah direktori dapat dimasukkan ke dalam direktori lain, sedangkan bucket tidak dapat. Jika kita ingin sebuah struktur seperti direktori di dalam bucket kita, kita harus melakukan simulasi hal tersebut dengan memberi nama object kita seperti “directory/subdirectory/file-object”.<br />
<br /></div>
<h4 style="text-align: left;">
Bucket</h4>
<div class="p1">
Sebuah bucket punya memiiki sebuah informasi yang terkandung di dalamnya: nama. Nama sebuah bucket hanya dapat berisi huruf A-Z, a-z, 0-9, underscore(_), titik(.), dan strip(-).</div>
<div class="p1">
Seperti yang telah saya katakan di atas, sebuah bucket tidak dapat berisi bucket lain. Hanya object. Setiap pengguna S3 dibatasi 100 bucket, dan setiap bucket tidak boleh sam dengan milik pengguna lain.<br />
<br /></div>
<h4 style="text-align: left;">
Object</h4>
<div class="p1">
Sebuah object memiliki empat bagian:</div>
<ul class="ul1">
<li class="li1">Sebuah referensi ke bucket yang menyimpannya</li>
<li class="li1">Data yang disimpan ke object tersebut (S3 menyebutnya “value”)</li>
<li class="li1">Sebuah nama (S3 menyebutnya “key”)</li>
<li class="li1">Satu set metadata berbentuk pair key-value yang berasosisasi dengan object tersebut.</li>
</ul>
<div class="p2">
<br /></div>
<div class="p1">
Lebih lanjut mengenai S3 dapat dilihat di dokumentais resminya <a href="https://aws.amazon.com/documentation/s3/"><span class="s1">https://aws.amazon.com/documentation/s3/</span></a></div>
<div class="p2">
<br /></div>
<h4 style="text-align: left;">
fakes3</h4>
<div class="p1">
Meskipun Amazon menyediakan masa percobaan gratis 12 bulan untuk akun S3, namun kita harus memiliki kartu kredit untuk menggunakannya, di mana hal ini cukup sulit untuk beberapa orang. Jika kita hanya membutuhkan untuk keperluan testing atau belajar, kita cukup menggunaan fakes3.</div>
<div class="p2">
<br /></div>
<div class="p1">
<b><a href="https://github.com/jubos/fake-s3" target="_blank">fakes3</a></b> adalah sebuah server yang dapat merespon layaknya Amazon S3 asli. fakes3 sangat berguna untuk keperluan testing di dalam lingkungan <i>sandbox</i> tanpa melakukan <i>request</i> ke server Amazon asli.</div>
<div class="p2">
<br /></div>
<div class="p1">
Tujuan fakes3 adalah untuk meminimalkan dependensi dan sebagai <i>development tool </i>untuk mengetes S3 di dalam aplikasi yang kita buat.</div>
<div class="p2">
<br /></div>
<div class="p1">
fakes3 tidak menyediakan semua <i>command set</i> milik S3, tapi beberapa perintah dasar seperti <i>get, put, list, copy</i>, dan<i> make bucket</i> tersedia.</div>
<div class="p2">
<br /></div>
<h4 style="text-align: left;">
Persiapan</h4>
<div class="p1">
Dalam tutorial ini saya menggunakan:</div>
<div class="p1">
Mac OSX 10.11</div>
<div class="p1">
Ruby 2.0</div>
<div class="p2">
<br /></div>
<h4 style="text-align: left;">
Langkah-langkah</h4>
<div class="p1">
install gem untuk fakes3</div>
<div class="p2">
<br /></div>
<div class="code-snippet">
gem install fakes3
</div>
<br />
<div class="p2">
<br /></div>
<div class="p1">
kemudian untuk menjalankan kita tinggal menyediakan sebuah root dan port</div>
<div class="p2">
<br /></div>
<div class="code-snippet">
sudo fakes3 -r /mnt/fales3_root -p 4567
</div>
<br />
<div class="p2">
<br /></div>
<div class="p1">
Fake s3 mendukung banyak client untuk keperluan tes. Dalam tutorial ini saya mengunakan s3cmd.</div>
<div class="p2">
<br /></div>
<div class="p1">
Install s3cmd:</div>
<div class="p2">
<br /></div>
<div class="code-snippet">
sudo easy_install pip<br />
pip install boto<br />
brew install s3cmd
</div>
<div class="p2">
<br /></div>
<div class="p1">
sebelum menjalankan s3cmd kita perlu menyiapkan file konfigurasinya terlebih dulu. Buat sebuah file, saya akan beri nama config.txt</div>
<script src="https://gist.github.com/rohmanhakim/1c9f68881f1f93afa400.js"></script>
<br />
<div class="p2">
<br /></div>
<div class="p1">
kemudian kita perlu menyediakan DNS untuk simulasi bucket yang akan kita tes. Dalam contoh ini, saya akan buat sebuah bucket dengan nama ”tesbucket”</div>
<div class="p2">
<br /></div>
<div class="p1">
edit file host di /etc/hosts<br />
<br /></div>
<div class="code-snippet">
sudo nano /etc/hosts</div>
<br />
<div class="p2">
<br /></div>
<div class="p1">
tambahkan:</div>
<div class="p2">
<br /></div>
<div class="code-snippet">
127.0.0.1<span class="Apple-tab-span"> </span>testbucket.localhost</div>
<br />
<div class="p2">
<br /></div>
<div class="p1">
kemudian kita jalankan s3cmd, perintah untuk membuat bucket baru adalah ‘mb’ :</div>
<div class="p2">
<br /></div>
<div class="code-snippet">
s3cmd -c config.txt mb s3://testbucket</div>
<br />
<div class="p2">
<br /></div>
<div class="p1">
sebuah bucket baru dengan nama testbucket dengan domain testbucket.localhost telah dibuat</div>
<div class="p2">
<br /></div>
<div class="code-snippet">
Bucket 's3://testbucket/' created</div>
<br />
<div class="p2">
<br /></div>
<div class="p1">
Kita dapat melihat metadatanya dengan menggunakan web browser dengan alamat testbucket.localhost:4567</div>
<br />
<div class="p2">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ryFHU0kOGd3KjK8M_4jyTZeiCQEqiuIWcmUXl-LcwD3h3_s_maEBXvuRAmrbBjeV6hQ_wdHiA-04KoDno743ZIFLIZMqAtRU8PAce2DXvA1_A9qlnw3DqyUuoo7fNOTGFC24eqt76fI/s1600/Screen+Shot+2015-12-13+at+22.59.26.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" height="141" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5ryFHU0kOGd3KjK8M_4jyTZeiCQEqiuIWcmUXl-LcwD3h3_s_maEBXvuRAmrbBjeV6hQ_wdHiA-04KoDno743ZIFLIZMqAtRU8PAce2DXvA1_A9qlnw3DqyUuoo7fNOTGFC24eqt76fI/s400/Screen+Shot+2015-12-13+at+22.59.26.png" width="400" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br /></div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-31722759139181060732015-01-07T04:48:00.000+07:002015-02-08T11:33:24.933+07:00Final Fantasy X : Rebooting my RPG life<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9RzUPom0A9LNgZ3Hzo0ZIaMXlOX0c34p93hrs-O_bYkY24dU9XC4PuQXsw1KoItfnLCNKqr1UDD8dveTCKLG9-5dX4_t-xFq9v0ipO-9Pn0Yvpvcg51iJ-pj8XmFs8zew24wnWAopJjA/s1600/final-fantasy-x-front-cover-of-box-artwork-ps2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh9RzUPom0A9LNgZ3Hzo0ZIaMXlOX0c34p93hrs-O_bYkY24dU9XC4PuQXsw1KoItfnLCNKqr1UDD8dveTCKLG9-5dX4_t-xFq9v0ipO-9Pn0Yvpvcg51iJ-pj8XmFs8zew24wnWAopJjA/s1600/final-fantasy-x-front-cover-of-box-artwork-ps2.jpg" height="400" width="282" /></a></div>
<br />
<br />
Saya terlahir menyukai RPG, tumbuh besar memainkan RPG, tapi jarang benar-benar menyelesaikan RPG tersebut sampai tamat. </div>
<div>
<div>
</div>
<div>
Saya masih memainkan RPG dari pertama kali masuk kuliah. RPG terakhir yang benar-benar saya mainkan sampai tamat cuma beberapa game indie RPG Maker. Penyebabnya banyak. Ada karena saya tidak terlalu bisa bahasa inggris waktu kecil, waktu bermain yang berkurang sejalan bertambahnya umur, sampai save game emulator yang hilang entah di mana T_T...</div>
<div>
<br />
<a name='more'></a><br /><br />
Namun alasan utamanya adalah faktor waktu. Bisa dimaklumi karena RPG rata-rata punya game hours 50+ jam lebih. Saya butuh beberapa hari/minggu kosong untuk bisa menamatkannya. Di sela-sela aktivitas saya sebagai mahasiswa, saya bisa berhenti ditengah-tengah permainan untuk melakukan pekerjaan dan melupakan RPG yang saya mainkan, dan ketika teringat, motivasi saya sudah hilang untuk memainkan RPG tersebut. </div>
<div>
<br /></div>
<div>
Di semester akhir ini, saya hanya mengambil sedikit SKS dan memungkinkan saya untuk kembali memainkan RPG yang dulu sempat ingin saya mainkan (jangan dicontoh). RPG yang saya pilih untuk saya mainkan saat ini adalah Final Fantasy X.<br />
<br />
Kenapa? pertama saya hanya pernah memainkan seri FF sekali yaitu FF VI ketika SMP (tentu saja tidak tamat) dan saya menyukainya. Saya ingin kembali bermain seri ini, namun masih belum bisa beradaptasi dengan grafik retro. Kedua, setelah saya menghabiskan waktu di forum game mengenai FF, saya ingin menyimpan seri FF yang paling direkomendasikan (FF IX, FF VII) untuk FF yang akan saya mainkan terakhir. Ketiga, saya dulu sempat memiliki majalah game yang membahas FF X secara detail, dan jatuh cinta terhadap grafis, setting dunia, dan karakternya yang ditampilkan dalam majalah tersebut. </div>
<div>
<br /></div>
<div>
<span style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; display: inline !important; float: none; font-family: Tahoma; font-size: x-small; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">Maka saya putuskan untuk memainkan game ini dan berambisi untuk mulai menyelesaikan apapun yang saya mulai, termasuk bermain game :) </span><br />
<div style="-webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0px; color: black; font-family: Tahoma; font-size: medium; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: -webkit-auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px;">
<br /></div>
</div>
</div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-72465678361114111712014-08-21T11:23:00.002+07:002014-09-29T07:17:49.410+07:00Rubber ducking<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzHg0O79sDwpQ5qHuetdVhYSbARCtyu9wY7MTkQmEEEPK-uQWnyTBT_KVsG2OeJMpuvQrQmkutZtHjai03JB9CjpUl9kSVAAI9JXwfJOqGWfkKFG-PnGd_6CIXNLZ7OEfsRDF8H0UUnTw/s1600/duck.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhzHg0O79sDwpQ5qHuetdVhYSbARCtyu9wY7MTkQmEEEPK-uQWnyTBT_KVsG2OeJMpuvQrQmkutZtHjai03JB9CjpUl9kSVAAI9JXwfJOqGWfkKFG-PnGd_6CIXNLZ7OEfsRDF8H0UUnTw/s1600/duck.jpg" height="261" width="320" /></a></div>
<br />
<br />
pernah dengar istilah ini?<br />
<br />
<i>rubber ducking</i> atau <i><a href="https://en.wikipedia.org/wiki/Rubber%20duck%20debugging" target="_blank">rubber duck debugging</a> </i>ini nama sebuah metode <a href="https://en.wikipedia.org/wiki/Debugging" target="_blank"><i>debugging</i></a> yang cukup unik di kalangan <i>programmer</i>.<br />
<br />
istilah ini diambil dari cerita di buku <a href="https://en.wikipedia.org/wiki/The_Pragmatic_Programmer" target="_blank"><i>The Pragmatic Programmer</i></a>, di mana seorang programmer selalu membawa rubber duck atau bebek karet ketika bekerja. <br />
<a name='more'></a>Ketika dia menemukan <i>bug </i>atau<i> error</i>, dia melakukan debugging dengan memaksa dirinya untuk menjelaskan permasalahan tersebut, baris-per-baris, kepada si bebek karet.<br />
<br />
kedengarannya konyol bukan?<br />
<br />
<br />
percaya atau tidak, namun saya sendiri sudah sering melakukan hal ini dan terbukti sering membantu saya.<br />
Nggak pakai bebek karet juga, tapi saya melakukannya pada teman sekamar, kadang teman asrama random yang masuk kamar karena mau pinjem sesuatu.<br />
Intinya, rubber ducking ini adalah menjelaskan permasalahan pada sesuatu yang tidak mengerti sama sekali pada permasalahan tersebut. Dan teman sekamar saya, yang notabene nggak ngerti koding, pas untuk peran tersebut. (thanks, buddy roommate!) <br />
<br />
sebenarnya rubber ducking nggak cuma sebatas bagi programmer saja, kita bisa mempraktekannya di berbagai pekerjaan kita yang menuntut pemahaman.<br />
Contoh gampangnya, kembali pas saya masih SMA ketika jamannya UN dan SNMPTN. Saya sering melakukan belajar bareng teman sekelas sepulang sekolah. Ketika ada teman yang bertanya mengenai sebuah soal di pelajaran tertentu pada saya, mekipun saya juga kurang paham dengan soal tersebut, namun saya tetap berusaha menjelaskan.<br />
Pada prakteknya, rubber ducking ini menuntut saya untuk lebih fokus dan teliti, seolah-olah saya sedang mengajarkannya pada orang yang tidak tahu pada soal itu. Dan hal ini terbukti.<br />
<br />
Jadi ketika suatu saat anda sedang berhadapan dengan suatu masalah tentang pekerjaan, jelaskanlah pada orang lain seolah-olah anda sedang mengajarkannya pada seorang murid anda. Gunakan batin anda untuk menjelaskan apa yang sedang anda kerjakan step-by-step.<br />
<br />
good luck!</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-63103660732733307262014-05-26T14:35:00.000+07:002014-05-26T14:35:54.246+07:00Mengatasi Failed Connect : 443 di SourceTree dan BitBucket/GitHub<div dir="ltr" style="text-align: left;" trbidi="on">
Jika anda sudah melakuktan proxy setting dengan benar tapi masih gagal saat melakukan clone repositori melalui SourceTree, ditandai dengan munculnya pesan :<br />
<br />
fatal: unable to access 'https://xxxxx@bitbucket.org/xxxxxx/proves.git/': Failed connect to bitbucket.org:443; No error<br />
<br />
Jika hal tersebut buka disebabkan dari pihat Bitbucket/Github coba lakukan langkah berikut :<br />
<br />
<a name='more'></a><br /><br />
<ul style="text-align: left;">
<li>Periksa apakah SourceTree di blok oleh Windows Firewall</li>
<li>Buka Command Prompt lalu konfigurasi proxy git secara grlobal dengan memasukkan baris berikut :<br /><span style="font-family: Consolas, Menlo, Monaco, Lucida Console, Liberation Mono, DejaVu Sans Mono, Bitstream Vera Sans Mono, Courier New, monospace, serif;"><span style="background-color: #eeeeee; font-size: 14px; line-height: 17.804800033569336px; white-space: pre-wrap;">
<code>git config --global http.proxy http://user:password@proxy:xxx
</code>
</span></span></li>
</ul>
<br />
<br /></div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-38996639973154235972014-03-07T08:33:00.003+07:002014-03-07T08:35:11.657+07:00Mengatasi Error 417 Saat Update Extension di Visual Studio 2012<div dir="ltr" style="text-align: left;" trbidi="on">
Saat saya sedang melakukan update extension di Visual Studio 2012 menggunakan proxy, misalnya saat di kampus, saya menerima pesan error :<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIbuBlv8g5nPl0aQTNQxLsc3x7GOzdJWfcny_9Jk2f2NhZ5Uo5l2xlgOmCL68uAJ7LYy27pEiEJv32k9Fe5onHcrLft4-SwbL7nDY6z8hyphenhyphent-jc0w_Kh5h4PhZoH68mZ53hwGrCcHHpUCmN/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> The remote server returned an unexpected response: (417)Expectation failed
</code></pre>
Setelah mencari-cari solusi di web, akhirnya saya menemukan solusi.<br />
<a name='more'></a>Pada dasarnya kita harus merubah setting di file devenv.exe.config yang berlokasi di :<br />
<br />
<b>C:\Program Files (x86)\Microsoft Visual Studio 11.0\Common7\IDE\devenv.exe.config</b><br />
<br />
Cari baris kode di file tersebut sampai ketemu :<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIbuBlv8g5nPl0aQTNQxLsc3x7GOzdJWfcny_9Jk2f2NhZ5Uo5l2xlgOmCL68uAJ7LYy27pEiEJv32k9Fe5onHcrLft4-SwbL7nDY6z8hyphenhyphent-jc0w_Kh5h4PhZoH68mZ53hwGrCcHHpUCmN/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> <settings>
<ipv6 enabled="true"/>
</settings>
</code></pre>
<br />
Lalu ubah menjadi :<br />
<br />
<pre style="background-image: URL(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhIbuBlv8g5nPl0aQTNQxLsc3x7GOzdJWfcny_9Jk2f2NhZ5Uo5l2xlgOmCL68uAJ7LYy27pEiEJv32k9Fe5onHcrLft4-SwbL7nDY6z8hyphenhyphent-jc0w_Kh5h4PhZoH68mZ53hwGrCcHHpUCmN/s320/codebg.gif); background: #f0f0f0; border: 1px dashed #CCCCCC; color: black; font-family: arial; font-size: 12px; height: auto; line-height: 20px; overflow: auto; padding: 0px; text-align: left; width: 99%;"><code style="color: black; word-wrap: normal;"> <settings>
<ipv6 enabled="true"/>
<servicePointManager expect100Continue="false"/>
</settings>
</code></pre>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com1tag:blogger.com,1999:blog-3298064626217283747.post-66514022856941050802014-02-17T14:21:00.001+07:002014-02-17T21:23:10.436+07:00Simulasi Proses Bisnis menggunakan YAWL<div dir="ltr" style="text-align: left;" trbidi="on">
YAWL (<span id="textTitle"><i>Yet Another Workflow Language)</i></span> adalah sebuah aplikasi yang digunakan untuk membuat dan mensimulasikan <i>workflow</i> sebuah sistem bisnis, menggunakan sebuah bahasa modelling yang ringkas dan powerful. YAWL juga bisa membuat sebuah <i>log-file</i> dari sebuah simulasi proses bisnis, yang untuk selanjutnya bisa kita lakukan <i>process mining</i> terhadapnya.<br />
<br />
Dalam tutorial ini, akan saya tunjukkan bagaimana melakukan simulais terhadap proses bisnis sederhana menggunakan YAWL.<br />
<br />
<a name='more'></a><b>Tools yang saya gunakan :</b><br />
<ul style="text-align: left;">
<li> <a href="http://sourceforge.net/projects/yawl/files/">YAWL2.3.5</a></li>
<li> <a href="http://www.mozilla.org/en-US/firefox/new/">Firefox 27.0.1</a></li>
</ul>
<div style="text-align: left;">
<b>Deskripsi Proses Bisnis :</b></div>
<div style="text-align: left;">
<br />
Sebelum melakukan tutorial, akan saya jelaskan dulu proses bisnis yang akan kita lakukan.</div>
<div style="text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUMJrc5bIrOTT74RYw14UZLduNS3EyKm_IFLc5hvghDscVaR5Pb72MC95-sJk2AJ_eu8sB0nIAtrY4BJL5s8Sw4ZTXvk-5AxlR7EMqmnMOEKwuS1hZLB_HkWt19Xd-Z9Gv2zMOsZY6dGk/s1600/workflow.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUMJrc5bIrOTT74RYw14UZLduNS3EyKm_IFLc5hvghDscVaR5Pb72MC95-sJk2AJ_eu8sB0nIAtrY4BJL5s8Sw4ZTXvk-5AxlR7EMqmnMOEKwuS1hZLB_HkWt19Xd-Z9Gv2zMOsZY6dGk/s1600/workflow.png" height="164" width="640" /></a></div>
<div style="text-align: left;">
<br />
Proses bisnis yang akan kita simulasikan adalah sebuah sistem peminjaman uang (<i>Credit application</i>). Proses dimulai dengan peminjam men-<i>submit </i>sebuah <i>application</i> (dengan besar pinjman tertentu).</div>
<div style="text-align: left;">
<br />
Setelah menerima <i>application</i>, petugas pemeriksa akan memerisa apakah <i>applicatio</i>n milik si peminjam tadi sudah lengkap. Jika tidak petugas akan akan meminta info yang belum lengkap pada <i>application</i> milik si peminjam tadi. Jika sudah lengkap, petugas akan melakukan pemeriksaan lebih lanjut mengenai pendapatan dan latar belakang pinjaman si peminjam.</div>
<div style="text-align: left;">
<br />
Berdasarkan besar pinjaman yang diminta peminjam, apakah pinjaman besar (lebih dari $500) atau pinjaman kecil, petugas akan melakukan pemeriksaan yang berbeda. <i>Application</i> yang sudah divalidasi kemudian diperiksa kembali apakah diterima atau ditolak. Jika diputuskan untuk diterima, petugas akan memberitahukan peminjam kemudian kartu kredit akan dibuat dan dikirimkan ke peminjam. Jika diputuskan ditolak, maka peminjam akan diberitahu dan proses bisnis berhenti.</div>
<div style="text-align: left;">
<br />
<b>Langkah - Langkah :</b></div>
<div style="text-align: left;">
<br />
1. Buat <i>Process Workflow</i> untuk specification kasus kita menggunakan YAWL Editor.<br />
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2W2eu_lUik1jCK-qsqkXQzJKL9ixl7y7RYRnVJiECVbxG-aYXuAo2Vnuy7T2uIy4gGLI0_SJtJxxOe9l-7AK1ATw50pigdk6mnHv8dXswNNtewD3yxWgRuM9OQl9lBQjZpU-5NCfghuI/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg2W2eu_lUik1jCK-qsqkXQzJKL9ixl7y7RYRnVJiECVbxG-aYXuAo2Vnuy7T2uIy4gGLI0_SJtJxxOe9l-7AK1ATw50pigdk6mnHv8dXswNNtewD3yxWgRuM9OQl9lBQjZpU-5NCfghuI/s1600/1.png" height="372" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ12Lh_dPmV9ZDOuli0jZtOZb5i4VuiVGuu0tqX_Tzisyl8EVlRCm2i0WjBfK_l-ozMFWki6g5pX4hwt539uw35M9AfaMjVcRQbuaIZRkn8Xzpbso2kTzMwH32oUqG4aY_fs2tYRuyG34/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ12Lh_dPmV9ZDOuli0jZtOZb5i4VuiVGuu0tqX_Tzisyl8EVlRCm2i0WjBfK_l-ozMFWki6g5pX4hwt539uw35M9AfaMjVcRQbuaIZRkn8Xzpbso2kTzMwH32oUqG4aY_fs2tYRuyG34/s1600/2.png" style="margin-left: 1em; margin-right: 1em;"><br /></a></div>
<div style="text-align: left;">
2. Buat <i>net variable</i> yang diperlukan pada process. Dalam contoh ini, diperlukan tiga <i>net variable</i>. Pertama, sebuah<i> boolean </i>untuk memeriksa apakah aplikasi sudah lengkap (<i>completeApp</i>), kedua, <i>boolean</i> untuk memeriksa apakah aplikasi sudah disetujui (<i>decideApp</i>), dan terakhir <i>double</i> untuk besar pinjaman <i>(loanAmt</i>).<br />
<br />
Klik <b>Net > Update Net Detail...</b> . Beri nama, dalam contoh saya beri nama <i>CreditApplication</i>. Kemudian klik <b>Create</b>, lalu masukkan nama dan tipe data variabel, untuk <i>usage</i> pilih <i>local</i>, lalu klik<b> Done</b>.<br />
<br /></div>
<div style="text-align: left;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ12Lh_dPmV9ZDOuli0jZtOZb5i4VuiVGuu0tqX_Tzisyl8EVlRCm2i0WjBfK_l-ozMFWki6g5pX4hwt539uw35M9AfaMjVcRQbuaIZRkn8Xzpbso2kTzMwH32oUqG4aY_fs2tYRuyG34/s1600/2.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ12Lh_dPmV9ZDOuli0jZtOZb5i4VuiVGuu0tqX_Tzisyl8EVlRCm2i0WjBfK_l-ozMFWki6g5pX4hwt539uw35M9AfaMjVcRQbuaIZRkn8Xzpbso2kTzMwH32oUqG4aY_fs2tYRuyG34/s1600/2.png" height="506" width="640" /></a></div>
<div style="text-align: left;">
<br /></div>
<div style="text-align: left;">
3. Selanjutnya, untuk setiap task pada <i>workflow</i> yang melakukan pengambilan keputusan (percabangan) buat <i>flow predicate</i>-nya sesuai tugasnya.<br />
<br />
Dalam contoh, terdapat tiga <i>task</i>. <i>check for completeness</i> akan memeriksa apakah <i>net variable </i><i>completeApp</i> bernilai <i>true</i>, jika ya, masuk ke task selanjutnya yaitu <i>check loan amount</i>, jika tidak maka <i>user</i> dikembalikan ke task <i>get more info</i>.<br />
<br />
<i>Check loan amount</i> akan memeriksa apakah nilai <i>loanAmt</i> lebih dari 500, jika ya maka masuk ke <i>task perform check for large amount</i>, jika tidak masuk ke <i>perform check for small amount</i>.<br />
<br />
Terakhir, <i>task make decision</i> akan memeriksa apakah <i>net variable decideApp</i> bernilai<i> true</i>, jika ya, masuk ke <i>task start approval</i>, jika tidak masuk ke <i>task notify rejection</i>.<br />
<br />
Untuk membuat <i>flow predicate</i>, klik kanan pada salah satu <i>task</i>, kemudian pilih <b>Update Flow Detail...</b>.<br />
<br />
Pada contoh, <i>task check for completeness</i>, akan memeriksa apakah <i>net variable</i> <i>completeApp </i>berniai <i>true</i>, jika ya maka masuk ke<i> task</i> c4 yang selanjutnya akan masuk ke<i> task check loan amount</i>, jika tidak masuk ke<i> task </i>c2 yang selanjutnya akan masuk ke <i>task get more info</i>.<br />
<br />
Maka pada baris c4, klik <b>Predicate...</b>, masukkan <i>XPath Expression</i> yang sesuai. Dalam contoh, karena task ini akan memeriksa <i>net variable completeApp</i>, masukkan :<br />
<br /></div>
<div style="text-align: left;">
<code><span style="color: #38761d;">/CreditApplication/completeApp/text() = 'true'</span></code><br />
<br />
Untuk baris c2, barkan berisi default, yaitu <span style="color: #38761d;"><code>true().<code></code></code></span>
<span style="color: #38761d;"> </span><br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDR1AtDFtd4DADozLuYaPB8PtEmmI7f1zVoNsG8Xs9au7R04v_Ge64U-YB_47XeiVVnj7I4w6Bhl4zBUIdfOtsTzrExhhFXo68x6Sz7ANwt2gUIntBLnn5bkm8N2fR9o1_IE5ZjT5TR4s/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgDR1AtDFtd4DADozLuYaPB8PtEmmI7f1zVoNsG8Xs9au7R04v_Ge64U-YB_47XeiVVnj7I4w6Bhl4zBUIdfOtsTzrExhhFXo68x6Sz7ANwt2gUIntBLnn5bkm8N2fR9o1_IE5ZjT5TR4s/s1600/3.png" height="318" width="640" /></a></div>
<br />
4. Langkah selanjutnya adalah membuat aktor yang terlibat dalam proses ini.
Dalam kasus contoh ini, perlu minimal dilakukan oleh dua aktor, yaitu aktor 1
sebagai peminjam dan aktor 2 sebagai pemeriksa. Aktor 2 akan melakukan seluruh
task dalam proses kecuali <i>task receive application </i> yang dilakukan oleh aktor1.
Selanjutnya kita buat dua aktor ini. Klik kanan shortcut <b>Start Engine</b><i> </i>> <b>Run As
Administrator</b>.<br />
<br />
Kemudian buka <b>YAWL Control Centre</b>. Halaman login YAWL
akan terbuka, jika anda belum merubah password, gunakan <i>username</i> dan <i>password</i>
admin <i>default</i>, yaitu :<br />
<br />
<code>
<span style="color: #38761d;">Username : admin </span></code><br />
<code><span style="color: #38761d;">Password : YAWL</span></code><br />
<br />
<code><span style="color: #38761d;"> </span><code>
</code></code></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnnMF49b9v0sV9yYhysX2TqqS_VwJ1A2qvd5nBAbZUpAq18dwlF1cBatdhzC9qfo3zXRhF8Tq5l3ajT6gnpIQLUUVEXAPIDyAkj93nCKyYA8zg0EKDZKIFAhz0-_Q0o6LusaSnuMwiJH8/s1600/4.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjnnMF49b9v0sV9yYhysX2TqqS_VwJ1A2qvd5nBAbZUpAq18dwlF1cBatdhzC9qfo3zXRhF8Tq5l3ajT6gnpIQLUUVEXAPIDyAkj93nCKyYA8zg0EKDZKIFAhz0-_Q0o6LusaSnuMwiJH8/s1600/4.png" height="350" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Dalam contoh, saya akan membuat dua buah aktor, yaitu “Muhammad Arif” sebagai aktor 1 (peminjam), dan “Rohman Hakim” sebagai aktor 2 (pemeriksa). </div>
<div class="separator" style="clear: both; text-align: left;">
Klik<i> tab</i> <b>Users</b>. Kemudian klik tombol <b>New</b> di bagian kanan bawah. Masukkan <i>First Name, Last Name</i>, dan<i> Password</i>, kemudian klik<b> Add</b>. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFd72h7QRkX7NvMbTztaenmvVhLiiQRTiBFZJN5obP2mdSQMCOm2v22gfWwWfkGqS0AbyPCPyidcZ-SR6gZwD-OZ5erciR0o86n2mbFRPQOz5gV5iz_IXUO-8x0kAD4rpbCG_G-1sRieE/s1600/5.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiFd72h7QRkX7NvMbTztaenmvVhLiiQRTiBFZJN5obP2mdSQMCOm2v22gfWwWfkGqS0AbyPCPyidcZ-SR6gZwD-OZ5erciR0o86n2mbFRPQOz5gV5iz_IXUO-8x0kAD4rpbCG_G-1sRieE/s1600/5.png" height="606" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
5. Kembali lagi ke YAWL Editor, kini kita akan meng-<i>assign resource</i> (aktor) untuk setiap<i> task</i>. </div>
<div class="separator" style="clear: both; text-align: left;">
Klik kana salah satu<i> task</i>, lalu pilih <b>Manage Resourcing...</b> . Setelah itu pilih <b>Next</b>, pilih aktor yang akan menjalankan<i> task </i>tersebut, lalu klik <b>Finish</b>. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Seperti yang telah saya jelaskan tadi, dalam contoh kasus ini, aktor 2 (pemeriksa akan melakukan seluruh <i>task</i> dalam proses kecuali <i>task receive application</i> yang dilakukan oleh aktor1 (peminjam). </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJdE7_F3Hb1D2t7LINY7eLtg9Q27s5ekGqFlNkaL9N_X9ZRzcbxueJ1spwkAIMMGrpHm3Dd5EP21fu8g5eILa3BZUYfZsHmqshBs1UjrFmnsqnNBd1mkiXuZMKGP3KJeoOeBs1vGSSls/s1600/6.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNJdE7_F3Hb1D2t7LINY7eLtg9Q27s5ekGqFlNkaL9N_X9ZRzcbxueJ1spwkAIMMGrpHm3Dd5EP21fu8g5eILa3BZUYfZsHmqshBs1UjrFmnsqnNBd1mkiXuZMKGP3KJeoOeBs1vGSSls/s1600/6.png" height="394" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
6. Lakukan <i>validation</i> terhadap <i>specification</i> yang telah dibuat. Klik Menu <b>Specification</b> <b>> Validate Specification</b>. Jika tidak ada <i>error</i> yang muncul, maka akan nampak tampilan seperti gambar berikut :</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8YYCZ_FOP6flyRQlL0Yom2u2YCzpNtcePUVYxD6NdQe2116XfuHm6tsDha2YRYqb8nB5ztl8wVowD_Qya1uFEsrdDUP-QTTr0uySFkzRvJbRfYJR0JYe84mbxCfJMtPHtPDCpxQDt0jI/s1600/7.png" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi8YYCZ_FOP6flyRQlL0Yom2u2YCzpNtcePUVYxD6NdQe2116XfuHm6tsDha2YRYqb8nB5ztl8wVowD_Qya1uFEsrdDUP-QTTr0uySFkzRvJbRfYJR0JYe84mbxCfJMtPHtPDCpxQDt0jI/s1600/7.png" height="136" width="640" /> </a><br />
Setelah itu simpan file ini.<br />
<br />
7. Langkah selanjutnya adalah meng-<i>upload file specification</i> yang telah kita buat tadi. Buka kembali YAWL Control Centre. Kemudian <i>log-in</i> sebagai admin. Masuk ke tab <b>Cases</b>, klik <b>Browse</b>, pilih <i>file specification</i> yang telah kita buat tadi, kemudian klik <b>Upload File.</b><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQexzNv6jdEiS-kiTtcRFWwkbb-_t1fp3rOXw5ctJrzXKSQHrN4qt-dn26-7EXG_fVDOP3SA07vcNhJi0A4q74u75NJy3DHXlEefUth58wr_gtrFKGvGQKVgKxIxggck2o5MyHSQZ7QcA/s1600/8.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhQexzNv6jdEiS-kiTtcRFWwkbb-_t1fp3rOXw5ctJrzXKSQHrN4qt-dn26-7EXG_fVDOP3SA07vcNhJi0A4q74u75NJy3DHXlEefUth58wr_gtrFKGvGQKVgKxIxggck2o5MyHSQZ7QcA/s1600/8.png" height="184" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Setelah muncul tampilan seperti di bawah, klik <i>file specifiation</i> kita yang berupa kotak berwarna kuning di tengah (<i>CreditAppProcess</i>), kemudian klik <b>Launch Case</b>. </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil1pur7xXeNTlcGrsQ78NhTIqYBCGpmqF6kQlnvK8Qmg-3DqbxK1O-3Cgu_0d0_T2tmCRGZj1K8KarqETiEkmBC1ghCLy5YIki_XijXedcxrjhlnFaqv_kQXAf-PMkaCHbVPCgS-c6Ukk/s1600/9.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEil1pur7xXeNTlcGrsQ78NhTIqYBCGpmqF6kQlnvK8Qmg-3DqbxK1O-3Cgu_0d0_T2tmCRGZj1K8KarqETiEkmBC1ghCLy5YIki_XijXedcxrjhlnFaqv_kQXAf-PMkaCHbVPCgS-c6Ukk/s1600/9.png" height="458" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
8. Langkah selanjutnya adalah melakukan simulasi terhadap kasus ini. Pertama <i>logout</i> dari admin lalu <i>login</i> sebagai aktor peminjam (Muhammad Arif). Setelah itu akan muncul tampilan seperti berikut : </div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiohEif79quGUQMg2MUje8YDsnXH_uswrz1oZ7Mu1tJTgc4LBbkZ5ATg8dJAQf5pKMnTZt1zyvhfteD9mdoMvffagy3mOEZKGgoiVlt7LFFzsPCDJJgbyv5udgTBKYFHi9oF93lx2zwEg/s1600/10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgiohEif79quGUQMg2MUje8YDsnXH_uswrz1oZ7Mu1tJTgc4LBbkZ5ATg8dJAQf5pKMnTZt1zyvhfteD9mdoMvffagy3mOEZKGgoiVlt7LFFzsPCDJJgbyv5udgTBKYFHi9oF93lx2zwEg/s1600/10.png" height="358" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Klik <b>Accept > Start</b>. Pindah ke tab <b>Started</b>, lalu klik <b>View/Edit.</b></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEbhAbP-EVHSykvrbGHvkAVDBEpKlkxrcDlJtIW0hA_vOUk4cRQQ2QziSrBzebR3DS92MRmSaklHXMWyLVM18GklN4SHuLiSWqZbJ2f8dXw3FaRVI40SzcFCfl1fby2DjeV9e-QV1_INU/s1600/11.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiEbhAbP-EVHSykvrbGHvkAVDBEpKlkxrcDlJtIW0hA_vOUk4cRQQ2QziSrBzebR3DS92MRmSaklHXMWyLVM18GklN4SHuLiSWqZbJ2f8dXw3FaRVI40SzcFCfl1fby2DjeV9e-QV1_INU/s1600/11.png" height="358" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Lalu akan muncul tampilan seperti gambar berikut :</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS8xi_meKNtn3mjUuunodKHKqJhmaO3HzCzF7rIgXQAp8vKmzCFUccVx566b6-PXiEN0DXSmMKx0k_W_GoHHrI_uSznt4Cd-ZFSYAhB9i9EY2DZid3x_bo4UAQqSEY3PR5lWi-vuivvxU/s1600/12.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgS8xi_meKNtn3mjUuunodKHKqJhmaO3HzCzF7rIgXQAp8vKmzCFUccVx566b6-PXiEN0DXSmMKx0k_W_GoHHrI_uSznt4Cd-ZFSYAhB9i9EY2DZid3x_bo4UAQqSEY3PR5lWi-vuivvxU/s1600/12.png" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Karena kita sedang melakukan simulasi sebagai peminjam, maka kita bebas memasukkan nilai pinjaman. Dalam contoh, saya masukkan nilai 1000 yang seharusnya nantinya akan masuk ke <i>task perform checks for large amount</i>. Setelah memasukkan besar pinjaman, klik <b>Complete</b>.</div>
<div class="separator" style="clear: both; text-align: left;">
</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: left;">
9. Langkah selanjutnya adalah melakukan simulasi sebagai petugas pemeriksa (Rohman Hakim). <i>Logout</i> dari user Muhammad Arif, lalu <i>login</i> sebagai Rohman Hakim. </div>
<div class="separator" style="clear: both; text-align: left;">
Langkah selanjutnya sama seperti langkah saat kita mensimulasikan sebagai peminjam. Klik<b> Accept > Start</b>. Pindah ke tab <b>Started</b>, lalu klik <b>View/Edit</b>. Masukkan variabel yang ingin disimulasikan kemudian klik <b>Complete</b>.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
Untuk semua<i> task</i> selanjutnya juga sama, karena kita sedang melakukan simulaisi terhadap sebuah proses bisnis, maka kita bebas mengisi variabel dengan nilai apa saja senyata mungkin dengan kejadian aslinya.<br />
<br />
Berikut ini akan saya tampilkan kelanjutan simulasi jika kita melakukan simulasi dengan alur kejadian normal. <br />
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz7ZhQ_98hbwXp0IL30qP6WUxisxvC51Cx0HeR3nDOBduEClQ7_WnxSuE6ZhO1or0uxWRPAvIykfdRkVqxn_AuZ9uHOHh2TDBGYQYd5Plu12dgxNqIuYAZBZeiw8tgGFbjgQA0rGE03lo/s1600/13.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgz7ZhQ_98hbwXp0IL30qP6WUxisxvC51Cx0HeR3nDOBduEClQ7_WnxSuE6ZhO1or0uxWRPAvIykfdRkVqxn_AuZ9uHOHh2TDBGYQYd5Plu12dgxNqIuYAZBZeiw8tgGFbjgQA0rGE03lo/s1600/13.png" /></a></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhADU0UX05uOeQkl13mZyEHiq6EXQ-yCJAjWCAJJo5zb_wzM6ZhIosHd7eKazKNyrXIV-j8VPURbiumC-8dalj3W9N2tvn3yuX4CzS7OU6rULbm9hrP6q7GMD2gg0cBT46NuVBOGkoLwNQ/s1600/14.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhADU0UX05uOeQkl13mZyEHiq6EXQ-yCJAjWCAJJo5zb_wzM6ZhIosHd7eKazKNyrXIV-j8VPURbiumC-8dalj3W9N2tvn3yuX4CzS7OU6rULbm9hrP6q7GMD2gg0cBT46NuVBOGkoLwNQ/s1600/14.png" height="362" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMcyWdsR-i4w1qeGvRTcVvHolZ4xIq-V12IUH2HC70C7hOVtSUwIgIKZTEURabUNsnvO5tAEYSuxkV17yIHqCWngURar_77MZay_JAjvxVzNo6Cl4nRjnczIKOm1bVtK_gxBxc1x43HsQ/s1600/15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiMcyWdsR-i4w1qeGvRTcVvHolZ4xIq-V12IUH2HC70C7hOVtSUwIgIKZTEURabUNsnvO5tAEYSuxkV17yIHqCWngURar_77MZay_JAjvxVzNo6Cl4nRjnczIKOm1bVtK_gxBxc1x43HsQ/s1600/15.png" height="356" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6cT5jD27TioC-XNqGrGM1mHg_yCsR8RHGstv7DXBzVRUB2CzWLTEKOYnnHDt_UE2Y5JtwbPst-XPCWTLwP0UItvFWl2mzqzo6sL9fI2A0XzywPbqvHF_ulLKbh8WS6M7sZCRSAtvdRvc/s1600/16.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6cT5jD27TioC-XNqGrGM1mHg_yCsR8RHGstv7DXBzVRUB2CzWLTEKOYnnHDt_UE2Y5JtwbPst-XPCWTLwP0UItvFWl2mzqzo6sL9fI2A0XzywPbqvHF_ulLKbh8WS6M7sZCRSAtvdRvc/s1600/16.png" height="362" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaHbu2nD_XuIMsjQ0Ldvndwu1aAIzieiGhZtlWi3n1FPKwFcJhyphenhyphenj6hPsJiYgRLD07HQh3Ud20KsrQUfBlLRE37X2y41zMdn5kFIUEXboR764JWScTiXXjGFBBJ0RfZ_ndNIIZF3QcvF68/s1600/17.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaHbu2nD_XuIMsjQ0Ldvndwu1aAIzieiGhZtlWi3n1FPKwFcJhyphenhyphenj6hPsJiYgRLD07HQh3Ud20KsrQUfBlLRE37X2y41zMdn5kFIUEXboR764JWScTiXXjGFBBJ0RfZ_ndNIIZF3QcvF68/s1600/17.png" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1d6kQrL5sWhXAxj3Quk8jhoQtRbCGFOtkM5QjoVrn-RB2tOVpcXTyYzMCf4c3DM_9yGpytf_7AjqasmRLdnPEue8s4-oT4gXadeVmxFyrbJzFWVErUSmCVCNtBHDdoQhGeZMJHkUiRRM/s1600/18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg1d6kQrL5sWhXAxj3Quk8jhoQtRbCGFOtkM5QjoVrn-RB2tOVpcXTyYzMCf4c3DM_9yGpytf_7AjqasmRLdnPEue8s4-oT4gXadeVmxFyrbJzFWVErUSmCVCNtBHDdoQhGeZMJHkUiRRM/s1600/18.png" height="360" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaI6L5qDlQJ0xq3fZi0dBkJrKDdhtBxuZ24bffN27-AgLVxghRGdQ3hg7I5lAwNIOqa5c5gSS3hUw_nvfI8AutXKkzXiyyPLUvKVot-PBu1NOF0af0SwbWvwTBz6GkvN-V6lozo9hY00E/s1600/19.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaI6L5qDlQJ0xq3fZi0dBkJrKDdhtBxuZ24bffN27-AgLVxghRGdQ3hg7I5lAwNIOqa5c5gSS3hUw_nvfI8AutXKkzXiyyPLUvKVot-PBu1NOF0af0SwbWvwTBz6GkvN-V6lozo9hY00E/s1600/19.png" height="354" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSbXBQbpxTY9hpp-gbMVGuFYcJtpl9UAH2zVc6mF6rPU5v6relxziylOMk1A3xzyOxLwHOdjE0XNbGCTB70XEXrjwIQ_GQOU-FpEZB6BM7SW__hmaJDIA4MKvpuZm8JHA5Bb6kt51-zCk/s1600/20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgSbXBQbpxTY9hpp-gbMVGuFYcJtpl9UAH2zVc6mF6rPU5v6relxziylOMk1A3xzyOxLwHOdjE0XNbGCTB70XEXrjwIQ_GQOU-FpEZB6BM7SW__hmaJDIA4MKvpuZm8JHA5Bb6kt51-zCk/s1600/20.png" height="358" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixGjogNtmvSJ7neYIIohADcxwy8f9-JAHZEAmrLGHAI62ASlpWNw3cJNnmG__3T5H5nozLDwspqMhNNxytRVTv5bHeMEwJGRWqw2ZffuFoqW5L8azWtEUwPL8v5FV3Sh22_WNMezqo4pI/s1600/21.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEixGjogNtmvSJ7neYIIohADcxwy8f9-JAHZEAmrLGHAI62ASlpWNw3cJNnmG__3T5H5nozLDwspqMhNNxytRVTv5bHeMEwJGRWqw2ZffuFoqW5L8azWtEUwPL8v5FV3Sh22_WNMezqo4pI/s1600/21.png" height="360" width="640" /> </a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
10. Setelah kita selesai melakukan simulasi, kita bisa men-download <i>log-file</i>-nya. <i>Login </i>sebagai admin, lalu masuk ke tab <b>Cases</b>, lalu klik <b>Download log</b>. </div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnHGFp4UDw_jb97SP5f3P3r52Wc0_gW293opvPAJFdz06VLQVrVKKd5nmJ5xo-mUPC7v82wzjiLZT4hgGVfJQUOPJrkpi0OSVvXaRHCngmFR31_2RqTpMEy4VqGLSK40L708Mv6Cbh7TU/s1600/22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhnHGFp4UDw_jb97SP5f3P3r52Wc0_gW293opvPAJFdz06VLQVrVKKd5nmJ5xo-mUPC7v82wzjiLZT4hgGVfJQUOPJrkpi0OSVvXaRHCngmFR31_2RqTpMEy4VqGLSK40L708Mv6Cbh7TU/s1600/22.png" height="452" width="640" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
Turorial selesai sampai di sini. Terima kasih.</div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
<br /></div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-87719203036188195012014-02-11T20:50:00.001+07:002014-02-11T20:50:49.995+07:00One Game A Month<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPunrzW63L2Y6LIgekEw67ucEJ8X9546rgMJ5geSTZkyu18vgmOsTsiYpuwJQgZR5nJ5tm7adQB5lt5XysgEEuTfNLSFm881LnKYoaaWBj-hQPZeWdfiMBbCTxfQOFlCiZhwvsYlcgKI8/s1600/logo.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiPunrzW63L2Y6LIgekEw67ucEJ8X9546rgMJ5geSTZkyu18vgmOsTsiYpuwJQgZR5nJ5tm7adQB5lt5XysgEEuTfNLSFm881LnKYoaaWBj-hQPZeWdfiMBbCTxfQOFlCiZhwvsYlcgKI8/s1600/logo.png" height="87" width="320" /></a></div>
<br />Jadi, liburan semester 6 ini saya menemukan sbuah game engine baru dan saya mulai jatuh cinta pada game engine ini. Saya berpikir untuk mencari-cari project yang sekiranya bisa sambil jalan dengan belajar engine ini.<br /><br />Kemudian kira-kira seminggu lalu, ketika saya sedang browsing beberapa blog indie game developer, tidak terasa kegiatan itu mengarahkan saya kepada sebuah <a href="http://www.onegameamonth.com/" target="_blank">website</a> berjudul One Game A Month.<br /><br />Website apa sebenarnya ini? One Game A Month (untuk selanjutnya #1GAM) adalah sebuah website self challenge untuk para indie game developer atau siapapun yang berminat pada game development. Tujuan dari #1GAM ini adalah, sesuai namanya, yaitu menantang anggotanya untuk membuat satu game setiap satu bulan. <br /><br />Tidak ada aturan apapun dalam #1GAM karena tujuan dari website ini adalah self challenge, jadi kita sendiri lah yang menentukan.<br /><br />Website ini memakai gamification seperti achievement, level, dan xp, sehingga membuat anggotanya menjadi fun untuk terus terpicu semangatnya dalam menyelesaikan tantangannya.<br /><br />Saya kemudian mendaftar, kemudian membuat target kira-kira game apa saja yang akan saya buat satu tahun ini.<br /><br />Yang jelas, tidak mungkin 12 game, karena saya baru menemukan website ini bulan februari. Setelah membandingkan dengan 24 SKS yang saya ambil semester ini, saya memutuskan untuk minimal 10 game dalam satu tahun ini.</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-32358402397683836252014-02-01T14:42:00.001+07:002014-02-01T17:00:10.482+07:00Membuat Spring MVC project dengan Eclipse + Maven build + Apache Tomcat<div dir="ltr" style="text-align: left;" trbidi="on">
Spring Framework adalah salah satu framework yang digunakan untuk membuat aplikasi berbasis web dalam Java Enterprise Edition (Java EE). Dalam tutorial ini, saya akan menjelaskan cara membuat project pertama kali untuk Spring MVC di Eclipse dan menggunakan server Apache Tomcat.<br />
<br />
Tools yang saya gunakan dalam tutorial ini :<br />
<ul style="text-align: left;">
<li><a href="http://www.eclipse.org/downloads/packages/eclipse-ide-java-ee-developers/keplersr1" target="_blank"><span class="text"><span class="title">Eclipse IDE 4.3.1 Kepler for Java EE Developers</span></span></a></li>
<li><a href="http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html" target="_blank">Java Development Kit 1.7.0.0.4 (JDK 7)</a></li>
<li><a href="http://tomcat.apache.org/download-70.cgi" target="_blank">Apache Tomcat 7.0.42 (Saya menggunakan Tomcat bawaan XAMPP 1.8.2)</a> </li>
</ul>
Hal-hal yang perlu diperhatikan sebelum melakukan langkah-langkah di bawah :<br />
<br />
<ul style="text-align: left;">
<li><b>Pastikan anda menginstall Eclipse yang versi Java EE</b>. Hal ini penting, karena jika tidak, dalam Eclipse anda tidak akan terdapat tools Maven yang akan kita perlukan untuk mem-build project Spring MVC. </li>
<li><b>Pastikan anda terhubung ke internet tanpa proxy</b> ketika pertama kali membuat project Spring MVC dengan tutorial ini. </li>
</ul>
<br />
Langkah-Langkah : <br />
<br />
<a name='more'></a><br /><br />
1. Install XAMPP, maka secara otomatis, Apache Tomcat akan ikut terinstall.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNQRBzUJMiRB_wPvA-y2dxA52JCmIBQbfMhZ6Mbj999W7KWHD8StDB-a5WiQsTdKM1DHOeJZxbpQC1mk_jBhYRSvvc9yyNpa_F-3q20LsbB6pAKLDbNYbms8JNIp4N_Bq2f2Js3sAoyh4/s1600/1.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhNQRBzUJMiRB_wPvA-y2dxA52JCmIBQbfMhZ6Mbj999W7KWHD8StDB-a5WiQsTdKM1DHOeJZxbpQC1mk_jBhYRSvvc9yyNpa_F-3q20LsbB6pAKLDbNYbms8JNIp4N_Bq2f2Js3sAoyh4/s1600/1.PNG" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiaXqJuCx7p_d-NLhpVIbGFdxaXzT-L97VZ3bKgFxVOVLFqvbmYfQ7aWZQ1HMuxZEGfcS0sXiukzEhhtJE6jJCeBjJf-BZveHGgOn5Pyt3FiDxczczpZlPn6P6sqRbcD-TT15vHv9uqi_g/s1600/1.PNG" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
2. Buka Eclipse, kemudian klik Help > Eclipse Marketplace.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi95ENGcQb4PdoqIgXVHTvKw5xcjdj2WGPEP5ouxHFVweB_Wk_5l2rSYVmjfn6QKybwMLsti0CyfQHohuJI0YJD6I3X4m0NJaDDycPQ9Q-TsCOVcTfhVlbhvuA8r0AtqRgov9vCOKsqNuc/s1600/2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi95ENGcQb4PdoqIgXVHTvKw5xcjdj2WGPEP5ouxHFVweB_Wk_5l2rSYVmjfn6QKybwMLsti0CyfQHohuJI0YJD6I3X4m0NJaDDycPQ9Q-TsCOVcTfhVlbhvuA8r0AtqRgov9vCOKsqNuc/s1600/2.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYDJNVgWB9AVv02NTItCS_YgVSB0RUXP5bBLAU8ltuk7LU0spNIxnwiAYYPlL8Yuw8WHVReod0AdzuONBwJMQNnwiqrcrld2WFskFACQXfDPVaI8CmZebCrH_ROUpzatESADM1IqSpSh8/s1600/2.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
3. Di box pencarian, ketik "<b>Spring</b>", setelah muncul hasil pencarian, pilih paket dengan nama "<b>Spring Tool Suite (STS) for Eclipse</b>..." dan sesuaikan dengan versi Eclipse anda, dalam hal ini saya memilih "<b>Spring Tool Suite (STS) for Eclipse Kepler</b>". Kemudian klik "<b>Install</b>". Di halaman berikutnya klik "<b>Confirm </b>". Setelah muncul persetujuan lisensi, klik "<b> I accept....</b>" lalu klik "<b>Finish</b>". Setelah Eclipse selesai menginstall paket, restart Eclipse.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSV1Kh5_LGauMgK_E_lf7g8b1ftr6RXaG5zPXCTPImyqd9VX_5Swmyv7toGJXmJ9j0kpoHBdGuXJqj8_ejrYDO5DoGyzSULkqao3v46uNpV3njzXRYTVfJ1vP9lPS7yR9OAtd80z2VG5Q/s1600/3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSV1Kh5_LGauMgK_E_lf7g8b1ftr6RXaG5zPXCTPImyqd9VX_5Swmyv7toGJXmJ9j0kpoHBdGuXJqj8_ejrYDO5DoGyzSULkqao3v46uNpV3njzXRYTVfJ1vP9lPS7yR9OAtd80z2VG5Q/s1600/3.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhtyL1eFcOOo5fi21CQHrOujLXqV02Ow1kCe2A9yzzxH_KZiDCV8KmJWDYGdJBZAtNRWOhjEp8QwIRiqX4_HihhFj_QCqUcEAZK9JnrbYzU1SQGbdnn9wbIZAsL10xJRuJ_j8_f0_lO3wI/s1600/3.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
4. Setelah Eclipse terbuka, ganti <i>perspective</i> nya ke Spring dengan mengklik ikon di pojok kanan atas.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx6K4rFRp1VLPWVE0iSdli2MOc74a2oo4cIq8fPSHMWkB7dFWWs6iB-8T7cjoLUGQhiV93vzQZEe1Q4mua8B2NHTUwygTJMkwF4gKsqvJtjm5-jn3AxNAQYvB1dJfDW5kD44_31VAwhvc/s1600/4.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgx6K4rFRp1VLPWVE0iSdli2MOc74a2oo4cIq8fPSHMWkB7dFWWs6iB-8T7cjoLUGQhiV93vzQZEe1Q4mua8B2NHTUwygTJMkwF4gKsqvJtjm5-jn3AxNAQYvB1dJfDW5kD44_31VAwhvc/s1600/4.jpg" /></a></div>
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
<br />
5. Buat project baru dengan meng-klik menu "File" > "New" > "Spring Project".<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdMS90Jsdd7IO0r0pkW7hKzjVhG1iMX_mh7oCgu0RTFvTw7FYdIc3Ur-Hek8PrQ6n9L1l-RUwlW961EmxIeCel5Zxkn5jnUFYHpFSvBNy6lOCQM-oRiJkdp_v1w7XVHGAtJ19GTUaseuc/s1600/5.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo8ZBouEUqA6li6EwkKnW731qGibQkceipdk6NauesBVvGS30yy_VISHmtYIyXTVUP6fgvrbbIwWjBQ8L_klP9ibwtAYikFUN3KTWtZXBSuy_NqggWPRvJ8dTv-uJOdkcqqKganDi53ds/s1600/5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgo8ZBouEUqA6li6EwkKnW731qGibQkceipdk6NauesBVvGS30yy_VISHmtYIyXTVUP6fgvrbbIwWjBQ8L_klP9ibwtAYikFUN3KTWtZXBSuy_NqggWPRvJ8dTv-uJOdkcqqKganDi53ds/s1600/5.jpg" /></a></div>
<br />
<br />
6. Beri nama project anda, kemudian pada box Templates, pilih "Spring MVC Project". Jika anda pertama kali membuat project Spring MVC, maka anda diharuskan mendownload template nya terlebih dahulu, pastikan koneksi internet anda lancar. Kemudian klik "Next".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUsdJGBZZTsqMaWllxSrXWdADXzyxHokGADjyjSGOBRBZJs_XAmGzRIhUOCtpPGk1KiOSxUJ4ePAl0PBCb8-fUFuJLV0QiqYpg67nOmoZ2rfzWLFn8lsxXLtJHmyF7S6HYXHK0OeoOs4g/s1600/6.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjUsdJGBZZTsqMaWllxSrXWdADXzyxHokGADjyjSGOBRBZJs_XAmGzRIhUOCtpPGk1KiOSxUJ4ePAl0PBCb8-fUFuJLV0QiqYpg67nOmoZ2rfzWLFn8lsxXLtJHmyF7S6HYXHK0OeoOs4g/s1600/6.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh7pXmgWzfMPWJMuIshGzTRBbH1CNnIbs60hi9JYP6X4TK9dW9V4oPcJnQOF_a8W_zn2lFQdHqLIy5ixyJKwtm9jMYzxQD8Ljju9kaGt30gtPWfCf8v5xmrbbyB-WIuo_DuZGlqDqAbaKk/s1600/6.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
<br />
7. Beri nama package domain anda, lalu klik "Finish".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX04WQaLdqyarUsKd5b-CPEjeWl0gxEyz_DktYmZr-ejf5ZZHeU6vdRl2KiYsz5twknxmcjHVuhLn1PwqofIERR-IWk4vdBJFSzchsWgsWj1FeVPA2XnWaZY8LSPzL_ca9qMNz-SI8-18/s1600/7.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjX04WQaLdqyarUsKd5b-CPEjeWl0gxEyz_DktYmZr-ejf5ZZHeU6vdRl2KiYsz5twknxmcjHVuhLn1PwqofIERR-IWk4vdBJFSzchsWgsWj1FeVPA2XnWaZY8LSPzL_ca9qMNz-SI8-18/s1600/7.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTiyU9kOtmVETf2LkjIpxshOpqOndksqetVZ5GT1vEeUIHb-fY-ZRP8asHVj94WwpmX0A2Vq0eB1Hy9loijTyuoSSM0pYZBb7jYFEAMNT64Z5l4-n79vawGvC_5dfUvqrf29jRqMM_Yao/s1600/7.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTiyU9kOtmVETf2LkjIpxshOpqOndksqetVZ5GT1vEeUIHb-fY-ZRP8asHVj94WwpmX0A2Vq0eB1Hy9loijTyuoSSM0pYZBb7jYFEAMNT64Z5l4-n79vawGvC_5dfUvqrf29jRqMM_Yao/s1600/7.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a><br />
<br />
<br />
<br />
<br />
8. Bila muncul error, abaikan saja. Hal ini terjadi karena kita belum mem-build maven.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe91_TPCy1OFdB29hi7wpDctiSigwfEHihMM-Na-VlMWuZVG84jxISyV3tNV0qJq_Rg3ep-uiUUPwSHu9hpQIp-e4fmkRV9Fcacctk0oi7ZuopVbyVK5C4NW-3-qjzLoXLf3f8ml370Ts/s1600/8.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhe91_TPCy1OFdB29hi7wpDctiSigwfEHihMM-Na-VlMWuZVG84jxISyV3tNV0qJq_Rg3ep-uiUUPwSHu9hpQIp-e4fmkRV9Fcacctk0oi7ZuopVbyVK5C4NW-3-qjzLoXLf3f8ml370Ts/s1600/8.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhD8FUtDsmHCux2s5UXhsRnuPhloCWEvC1tR4xBczCQ2S-PKeCc_uj-zBGJu-ECgNPg5oMpr-fhrXeZkmnR-cqUFPOU26jnZh3cQbXhyiyE3Cd4rAKirMR-S8gEoqFUd8pxxC1MzkxrYvI/s1600/8.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
9. Langkah selanjutnya klik kanan pada project anda, lalu pilih "<b>Run As</b>" > "<b>Maven Install</b>".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdIZb-Eo9031ZQpmU_J8ReiX3twsZFQN2dgpK-7SZGV6nx6q9QBcriyeG9cZBM7lGqyglTyqVyIZsHTtpCRBAWws7FDpnC8WIrTuVJESiIjv1vvJAbs-4X6-Eo5zGKNvhpegZePWXfgDY/s1600/9.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgdIZb-Eo9031ZQpmU_J8ReiX3twsZFQN2dgpK-7SZGV6nx6q9QBcriyeG9cZBM7lGqyglTyqVyIZsHTtpCRBAWws7FDpnC8WIrTuVJESiIjv1vvJAbs-4X6-Eo5zGKNvhpegZePWXfgDY/s1600/9.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSjbicsgccJ2ugpeDlJtn-9X51nYADOOs0jhvHI2hJrsB-XBRdBZXhG_jXaBti9zkIoq42HSXQ1OvFdX_dePl3m-0PpAHjutoxtB96fne-tS0HwtKiBdRx1S_ifHpExwi97mKSGGfIUqw/s1600/9.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
10. Bila sukses, maka akan muncul keterangan seperti berikut di console:<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsdC3G3GMC3viIX0bYLiwwJGJxojlv8tkKi2yJxSsrkaXZ4ZYpaJV9IDcQrMY2FRzeoYPAcC_nsYEUZtaStDdSqoxetnMNNTThVrs6RM5vcH1Ca3VCbTeHMDp0CeXAMZIS1k_ZsYoK3Yw/s1600/10.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjsdC3G3GMC3viIX0bYLiwwJGJxojlv8tkKi2yJxSsrkaXZ4ZYpaJV9IDcQrMY2FRzeoYPAcC_nsYEUZtaStDdSqoxetnMNNTThVrs6RM5vcH1Ca3VCbTeHMDp0CeXAMZIS1k_ZsYoK3Yw/s1600/10.jpg" height="283" width="640" /></a></div>
<br />
<br />
<br />
11. Kemudian klik kanan lagi pada project Spring anda, kemudian klik "<b>Maven</b>" > "<b>Update Project</b>". Pada jendela yang muncul klik "<b>Ok</b>".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1YH3bLutRY9sYhHpoqLMM7bDoq6gvWJxns7qakX4lHubanodyzPGCAoTwGt3lKovRccy-SXcTpJlXJUZnu_IE5NdADtUf5E8mWIm6mMhJF9h7wQTi7rljw1exkOzjdwRgCl7Tdr_t6kE/s1600/11.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh1YH3bLutRY9sYhHpoqLMM7bDoq6gvWJxns7qakX4lHubanodyzPGCAoTwGt3lKovRccy-SXcTpJlXJUZnu_IE5NdADtUf5E8mWIm6mMhJF9h7wQTi7rljw1exkOzjdwRgCl7Tdr_t6kE/s1600/11.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhXzE9RYszHuzSrDkqgt8qc9soc68I_OETMkWHXJh6KAyLq2Ve7d3EtIS9EFJgVFE9quLxa-oOKhYPQX2Bj0XgxLU68PnHoJ3SM2g2orQ2ebyIgUQaq6Ntmdop5ipJFiaaJ67hDgfhFmw8/s1600/11.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
12. Sekarang kita akan mengetesnya di server. Klik kanan lagi pada project, lalu klik "<b>Run As</b>" > "<b>Run on Server</b>".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSU6aiZivc_oNBORiV4peQRgAwwJaMW3WpXv8uz-jchXjewaEb-PTw8us19a7tbYxWiZxTcOob9uRxRsRgrHQsDqS1fgM_uZMGkF4WHpZiuSwauJKKXjNoyug1DhauWC3bc_WoKO5AzMc/s1600/12.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSU6aiZivc_oNBORiV4peQRgAwwJaMW3WpXv8uz-jchXjewaEb-PTw8us19a7tbYxWiZxTcOob9uRxRsRgrHQsDqS1fgM_uZMGkF4WHpZiuSwauJKKXjNoyug1DhauWC3bc_WoKO5AzMc/s1600/12.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgIhWsGgIPAqCPnRoZ7XVecMQABiE7-hZeaaSI9fNoO4gM1SsPmo3l7-ejgmejEqIwEjYmKWCdaIHp-yCudfJY34o14F3-tGax4Y1tkGUsb94gpg16ip0K_u16rgoZGL7Pz8ZJAxDcS43M/s1600/12.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
13. Pada jendela yang muncuk, pilih server yang akan digunakan. Dalam hal ni saya memilih, "<b>Apache / Tomcat v7.0 Server</b>". Lalu klik "<b>Next</b>".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgloc142TR-lsLJQz828ExRnk8OIX9qpUdcttDTvzt086jueR5hCqusKBJe0xXs-czV-vnmhOBPhlNh76dABp3pkCvalxQnYc47ER9tHmQ5286oM8_zmnVYArfWqwenOGAf6LIX0VpNZcQ/s1600/13.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgloc142TR-lsLJQz828ExRnk8OIX9qpUdcttDTvzt086jueR5hCqusKBJe0xXs-czV-vnmhOBPhlNh76dABp3pkCvalxQnYc47ER9tHmQ5286oM8_zmnVYArfWqwenOGAf6LIX0VpNZcQ/s1600/13.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjFD5ynvqC6OQC6S_4axhyphenhyphenTCBu_9L-W64g5_JHVDw-kf5ghLWNjNDK-6IMkErcXQItZGZ2m7MbXzh8pykQO-IIqkOCAS-1CnVMDD214P303VHEsM3Z7DKAPkEAsPSD2C_-P_c9mlt4cyj4/s1600/13.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
<br />
14. Jika anda baru pertama kali membuat project dengan server Tomcat, maka anda akan diminta membuat server localnya terlebih dahulu. Klik "<b>Browse</b>" lalu pilih folder instalasi Tomcat anda (letaknya berada di : <b>LOKASI_XAMPP\Tomcat</b>. Contoh milik saya di <b>C:\xampp\tomcat</b>, sesuaikan dengan folder xampp anda). Setelah itu klik "<b>Finish</b>", lalu klik lagi "<b>Finish</b>".<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuWxHqclc_n7fG9MMsfmkp3tMp5KyrxrN_E6CzqZizBliZcdKlE559hFWal9apinkAwWGWKKf-dlqAjXuZbpcIhPEI1SNey1xh9IkyVmJQ3o3qLMeJIrCdnfGrCGA87P6KDMBY1F_jcWo/s1600/14.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiuWxHqclc_n7fG9MMsfmkp3tMp5KyrxrN_E6CzqZizBliZcdKlE559hFWal9apinkAwWGWKKf-dlqAjXuZbpcIhPEI1SNey1xh9IkyVmJQ3o3qLMeJIrCdnfGrCGA87P6KDMBY1F_jcWo/s1600/14.jpg" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiW6DlpZ7ZzkftOssAYwpsOFr4tBc9vIVoOXk-6MQqs-iGugvPnBNZfUuY0QKr4selbVrRGVmNhsxY6sCxuF_OcU8QPWr8lWN8JuKni2tRClTuGJsBXbGMAhmSGYGR3KTg4LjPxlvQfz_4/s1600/14.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<br />
15. Server Tomcat akan berjalan dan jika berhasil maka akan ditampilkan hasil aplikasi web kita di web browser Eclipse. Tutorial berakhir di sini.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6VUoMpIBWtSx76K_r4wQ-5bB8kWkmFZMva74t-z2FR1v1F2apDOyh9ft9g2EoM5ggxY3oN5Ay_zFbuR8EdD2ivjL-s4NGhuBMp8jCC8_FqlGdlueTftmIWCKP4BkosC-Xd3GCM9QQlHI/s1600/15.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi6VUoMpIBWtSx76K_r4wQ-5bB8kWkmFZMva74t-z2FR1v1F2apDOyh9ft9g2EoM5ggxY3oN5Ay_zFbuR8EdD2ivjL-s4NGhuBMp8jCC8_FqlGdlueTftmIWCKP4BkosC-Xd3GCM9QQlHI/s1600/15.jpg" height="588" width="640" /></a></div>
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg7JSmCD72zUt_wfPRcE7ooQNE-S5eEO8mY2DOxzWpQ5B8ZdUmnXsAND0KdbNajtIcVipuOxh27VFZZAao_1AAcCYq2wm0Iu7Z9UivmINKkZlHecdCaYlX4ojd5Rel3N7WNGfycXZe1zfs/s1600/15.jpg" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><br /></a>
<br />
<span style="font-size: large;"><b>N.B. Error dsb...</b></span><br />
<span style="font-size: large;"><b><span style="font-size: small;">Langkah 10 :</span> </b></span><br />
Jika anda menerima error dengan keterangan seperti berikut :<br />
<br />
<code>
"maven invalid LOC header (bad signature) -> [Help 1]"</code><br />
<br />
Hal ini dikarenakan repositori Maven anda korup saat proses download. Untuk mengatasinya<br />
hapus direktori repositori Maven. Biasanya berada di <code>"C:\Users\username\.m2\repository".</code><br />
Kemudian Ulangi lagi langkah-langkah mulai dari awal.<code> </code><br />
<div>
<div>
<ul style="text-align: left;">
</ul>
</div>
</div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com3tag:blogger.com,1999:blog-3298064626217283747.post-72788351152592138162013-10-20T10:33:00.000+07:002014-01-02T11:41:02.566+07:00Brainstorming Game MGDW 5<div dir="ltr" style="text-align: left;" trbidi="on">
Kami akhirnya rapat dan membahas game yang akan kami buat. <br />
<br />
Awalnya, saya memberi saran kalau buat sebuah game yang kira-kira possible dibuat dalam waktu 1 bulan. (Deadline MGDW 5 bulan Desember).<br />
<br />
Saya menyarankan membuat game platformer, karena banyak gampang dipahami, banyak tutorial dan cukup seru untuk dimainkan.<br />
<br />
Kami setuju, lalu kami mulai mencari tema / setting game kami.<br />
<br />
Tak disangka, sudah hampir 2 jam berlalu, dan tak seorangun dari kami yang dapat ide mengenai tema gamenya, lalau tiba-tia salah seorang teman setim saya nyeletuk...<br />
<br />
<a name='more'></a><br />
"Gimana kalau kita bikin aja game yang simple banget, yang ga usah ribet2 mikir tema nya, bisa dibikin dalam 1 bulan."<br />
<br />
"Game apa emangnya?"<br />
<br />
"Aku ada ide sih, jadi ada orang jatuh dari atas, terus kita ngontrol orangnya biar ga nabrak2 obstacle (rintangan)."<br />
<br />
"Aku setuju sih, aku bisa bikinnya kalau cuma 1 bulan", teman setim saya yang satunya merespon.<br />
<br />
Saya berpikir sejenak, lalu ikut merespon, "Bisa sih, nanti nggerakinnya pake <a href="http://electronics.howstuffworks.com/iphone-accelerometer.htm" target="_blank">accelerometer</a>, jadi kaya game <a href="https://itunes.apple.com/us/app/doodle-jump/id307727765?mt=8" target="_blank">Doodle Jump</a> tapi dibalik, gitu".<br />
<br />
"Nah iya gitu." Dia balik menjawab.<br />
<br />
"Asik, sih. Lumayan simple, seru. Temanya juga ga usah serius2 amat."<br />
<br />
Akhirnya hari itu kami putuskan akan membuat game bertipe flying(?) yg cara memainkannya kita tinggal menggerakkan handphone ke kanan dan ke kiri untuk mengendalikan tokoh kita agar tidak menabrak rintangan.<br />
<br />
Ya, sesederhana itu.</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-7008327952246751492013-10-16T07:38:00.000+07:002014-01-02T11:57:14.990+07:00MGDW 5<div dir="ltr" style="text-align: left;" trbidi="on">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgi8FXmkEfz0rTTD9xpUMKKvfulRL0DO87UsEcQVyTfT-40389Uvdu7bWaFsB38M-oocxP3WdmIlBZ4_Xcq4pNKXYu5cYC-gNzoqNecpK3hlVTels2ZdTWDcCbrdXcaXrwmBBlXGoo9lb4/s1600/altAgPEfblr0gqSk9XCDlCp9TJh2Rt7atDG0Uu6gTV5ClY0_jpg.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"></a>Beberapa hari yg lalu saya menemukan sebuah poster menempel di papan
informasi jurusan saya. Poster itu menarik perhatian karena gambar dan
desain yang mencolok dan berbeda dibandingkan poster lainnya. Seperti
ini poster tersebut :<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSHTQ9gQnORhumZFqDqDsAgqeJRIjiBMfUy7Gjr1hhIYKHdzBTolVji4iiWxHJ-OHa7KuAlKw6VBiURj4RW5jB6R7sWXEelnPLNArLBNefeO2_EPFCPODqB4xs8hf_6ntwnkEpBilM18/s1600/altAgPEfblr0gqSk9XCDlCp9TJh2Rt7atDG0Uu6gTV5ClY0_jpg.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEisSHTQ9gQnORhumZFqDqDsAgqeJRIjiBMfUy7Gjr1hhIYKHdzBTolVji4iiWxHJ-OHa7KuAlKw6VBiURj4RW5jB6R7sWXEelnPLNArLBNefeO2_EPFCPODqB4xs8hf_6ntwnkEpBilM18/s320/altAgPEfblr0gqSk9XCDlCp9TJh2Rt7atDG0Uu6gTV5ClY0_jpg.jpg" width="225" /></a></div>
<br />
Saya langsung mengontak tim saya dan menyampaikan ide untuk ikut kompetisi ini sekalian untuk mengetes kemampuan tim kami sebelum menghadapi Imagine Cup. <br />
<br />
Kami memutuskan untuk mendiskusikannya lagi akhir pekan ini<br />
<br /></div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-77502882704363671952013-10-10T22:15:00.000+07:002013-11-19T23:22:21.167+07:00Tim itu bernama Team Oxygen<div dir="ltr" style="text-align: left;" trbidi="on">
Satu minggu sejak saya diajak untuk membuat game oleh teman saya.<br />
<br />
Kami sudah memutuskan untuk menggunakan jangka waktu itu untuk mencari ide game yang mungkin nanatinya akan kami buat untuk ImagineCup.<br />
<br />
Kami juga sudah punya tempat di Lab. Pengembangan Game (GameDev), namun dengan syarat harus bergantian dengan tim lain.<br />
<br />
Saya hampir lupa tugas itu, dan saya datang pada pertemuan yang dijanjikan tanpa ide satupun dikepala.<br />
Waktu dua teman saya datang ke Lab. GameDev, kami pun mulai membahas.<br />
<br />
<a name='more'></a><br />
Seperti yang saya duga, salah satu bagian yang paling sulit dan rawan dalam membuat proyek game adalah menentukan ide. Terutama jika masih noobs seperti kami. Dua teman saya ini ternyata belum punya ide sama sekali. Alhasil tidak seorangpun yang punya ide saat itu.<br />
<br />
Waktu kami memutar otak untuk brainstorming, tiba-tiba saya terlintas akan salah satu game yang pernah saya buat untuk kompetisi lokal kampus(dan ternyata tidak selesai).<br />
<br />
Game itu adalah sebuah action platformer tentang mengembalikan tanaman yang telah terkontaminasi polusi manusia menjadi tanaman yang hijau kembali demi menciptakan oksigen sebanyak mungkin utnuk menyelamatkan kota dari kehancuran.<br />
<br />
<i>Sound's cool, right? I know that.</i><br />
<i>But it ended became half-assed game.</i><br />
<i><br /></i>
Kedua teman saya menyetujui begitu saja ketika saya menjelaskan game itu. Namun mereka juga mengutarakan beberapa pendapat mereka tentang menambahkan beberapa fitur yang mereka anggap mamapu membuat game ini menjadi lebih menarik.<br />
<br />
Karean hari sudah agak gelap ketika kami berdiskusi. Kami memutuskan untuk melanjutkannya di pertemuan jumat besoknya.<br />
<br />
Sebelum pulang saya menanyakan nama tim yang akan kami gunakan.<br />
<br />
Berbeda dari menentukan ide game, kali ini mereka langsug mengatakan beberapa nama.<br />
<br />
Setelah berdiskusi sebentar, akhirnya kami memutuskan nama tentatif "Team Oxygen". Kami menamai itu berdasarkan tema utama game yang tadi kami rencanakan akan kami buat.<br />
<br />
Maka terbentuklah tim ambisisus bernama "Team Oxygen" itu.</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-72854444824966694772013-10-01T22:23:00.000+07:002014-01-02T11:58:03.383+07:00Kembalinya dua kata yang sempat hilang<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRWp07VN4QD5p1SqMreSBU-au1cfQdqR3nPVwqnuz1wiyfL3QjNBr2J56d1Ba2vToU0HFUJZyhNjDSWULa4G-Qr2vHNzsLybi5fLT1-R1CvhgY-k2nN7C13hOxPQ0hdFwAFcN0En73SRs/s1600/INDIE_GAME_THE_MOVIE.mkv_snapshot_01.36.09_%255B2013.11.18_11.17.03%255D.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiRWp07VN4QD5p1SqMreSBU-au1cfQdqR3nPVwqnuz1wiyfL3QjNBr2J56d1Ba2vToU0HFUJZyhNjDSWULa4G-Qr2vHNzsLybi5fLT1-R1CvhgY-k2nN7C13hOxPQ0hdFwAFcN0En73SRs/s1600/INDIE_GAME_THE_MOVIE.mkv_snapshot_01.36.09_%255B2013.11.18_11.17.03%255D.jpg" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
"Bikin Game".<br />
<br />
Entah kapan terakhir kali saya merasa bergairah mendengar dua kata itu.<br />
<br />
Sebelum ini, "bikin game" adalah sesuatu yang mengingatkan saya akan kebodohan saya. Ke-ego-an saya. Cerita tentang seorang mahasiswa ambisius yang ingin membuat sesuatu yang luar biasa secara instan.<br />
<br />
Saya terus terang merasa tidak enak mendengar dua kata tersebut. Tetapi memang, sejak semester lalu. "Bikin Game" telah menyebabkan saya membuat salah satu teman terbaik saya putus asa.<br />
<br />
Setelah kami membuat tim beranggotakan dua orang, kami mulai membuat game untuk diikutkan berbagai kompetisi. Namun sayang, keberuntungan <strike> tidak </strike> belum berpihak pada kami. Tidak ada satupun dari karya yang kami buat menang, atau setidaknya lolos. Keputusasaan mulai melanda kami. Dan pada akhirnya rekan setim saya meninggalkan kegiatan ini. Sedangkan saya? well saya tidak terlalu mengerti. Antara saya belum menyerah atau terlalu naif.<br />
<br />
Beberapa bulan sejak teman saya meninggalkan tim, saya hampir tidak melakukan hal apapun yang berhubugan dengan "bikin game", bahkan main game pun tidak. Saya mulai meniggalkan kebiasaan nonton anime. Kemudian mulai berolahraga rutin setiap hari (yang mana jarang saya lakukan saat sedang aktif di tim). Dan yang terpenting, saya mulai mengejar ketertinggalan saya di akademik akibat kegiatan "bikib game" ini.<br />
<br />
Yang tertanam di pikiran saya waktu itu hanya : "Jadi mahasiswa Teknik Informatika yang baik. Gak usah nglakuin yang aneh-aneh. Fokus akademik. Lulus jadi pegawai teladan. Orangtua senang. bla...bla..bla..."<br />
<br />
Intinya, saya hampir tidak memikirkan lagi dengan apa yang namanya "bikin game".<br />
<br />
Hingga hari itu datang.<br />
<br />
<a name='more'></a><br />
"Hoi, Rif"<br />
<br />
"Bikin game, yuk."<br />
<br />
Seorang teman dari jurusan saya mengajak saya membuat game.<br />
<br />
Pada awalnya saya sempat sensitif dan hampir menolak ajakannya, namun karena saya pada dasarnya tipe orang yang tidak ingin mengecewakan orang lain, maka saya mengurungkannya.<br />
<br />
Setidaknya saya tanyakan dulu tujuannya, apakah untuk kompetisi / iseng aja.<br />
<br />
Ternyata teman saya yang ini ingin mengajak saya membuat tim game development. Dia mengajak saya untuk ikut <a href="http://en.wikipedia.org/wiki/Imagine_Cup%E2%80%8E" target="_blank">Imagine Cup</a>.<br />
<br />
Dalam hati terjelek saya, saya hanya berpikir : <i>Memangnya anak ini pernah bikin game apa, ingin jadi juara dunia degan bikin game?</i><br />
<br />
Namun, ceritanya yang selanjutnya membuat saya mengubah pikiran saya. Dia menceritakan tentang <a href="http://www.solitestudio.net/%E2%80%8E" target="_blank">tim dari Madura</a> yang ternyata menjadi juara 2 di Imagine Cup.<br />
<br />
Saya tergerak, merasa ada sesuatu yang mendorong saya ingin kembali melakukan hal yang beberapa bulan ini saya menyerah.<br />
<br />
Saya terima ajakannya. Saat awalnya saya pikir kami hanya berdua, ternyata teman saya ini sudah mengajak dua teman sejurusan lain untuk gabung di tim kami. Alhasil ada empat orang mahasiswa di tim ini.<br />
<br />
Dua minggu kemudian kami mulai merencanakan pertemuan rutin (jumat dan sabtu). Kemudian dari pertemuan rutin itu kami mulai merencanakan game yang akan kami buat.<br />
<br />
Mungkin yang namanya semangat bisa hilang. Tetapi<i> passion</i> seseorang yang sudah terpasang sejak lahir akan terus ada jika seseorang itu menyenanginya dengan ikhlas dan sepenuh hati.</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-44593817061890997952013-09-18T19:44:00.000+07:002013-11-18T23:42:55.819+07:00Reliving blog.<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAg3yhduEKLAbMI_0DfrrqPGcq-zSX6p5WX7wfJxO68Vh0W40y5TWSbuKL681yzclr0zF90DPsF_UHbLIxKMgbMbJlEqerXxAIW3Sct4Rek2wm-0qEgsOi9t2I0oj7Ekr5w83jzNlkoRg/s1600/You-brought-colors-in-my-life.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="240" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhAg3yhduEKLAbMI_0DfrrqPGcq-zSX6p5WX7wfJxO68Vh0W40y5TWSbuKL681yzclr0zF90DPsF_UHbLIxKMgbMbJlEqerXxAIW3Sct4Rek2wm-0qEgsOi9t2I0oj7Ekr5w83jzNlkoRg/s320/You-brought-colors-in-my-life.jpg" width="320" /></a></div>
<br />
<br />
Setelah sekian lama blog saya tidak saya update, saya memutuskan ingin menghidupkannya kembali.<br />
<br />
kali ini dengan tulisan yang berasal dari pemikiran saya.<br />
<br />
Maksud saya, jika selama ini, blog ini saya isi <strike>karena disuruh senior</strike> untuk keperluan tugas di kampus, untuk selanjutnya akan berisi tulisan-tulisan yang murni ekspresi diri saya yang ingin saya bagikan kepada orang lain.<br />
<br />
Sebisa mungkin akan saya update secara rutin (diluar kesibukan saya di kampus & proyek2 lain). Selain itu, content blog saya yang satunya (yang saya host di fc2.com) kemungkinan akan saya merge dengan yang di blogger ini.<br />
<br />
Karena saya baru sadar, <i>having a blog can give you many advantages in the future</i>.<br />
<br /></div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-58588121740497193672013-06-13T19:47:00.000+07:002013-11-18T20:49:49.535+07:00Subnetting & Routing<div dir="ltr" style="text-align: left;" trbidi="on">
Dalam mengkonfigurasi sebuah jaringan, dibutuhkan dua langkah, yaitu subnetting dan routing.<br />
Subnetting adalah proses pemecahan sebuah jaringan menjadi beberapa jaringan kecil (subnet) agar dapat melakukan efisiensi penggunaan alamat ip dan iptables. Sedangkan routing adalah proses pengkonfigurasian sebuah router agar dapat mengenali host.<br />
<br />
Misalnya, diberikan sebuah topologi dan kita diminta untuk menentukan alamat ip setiap host agar dapat saling terhubung dalam jaringan.<br />
<br />
<br />
<a name='more'></a><br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL3Hz7LsTZxlKBJ_1TcZ3O2uP9pv2Zhqc7GUIXy1c8e8b6xDkXbNlZw0IRBcx-hnS4iI6hrmP2UBMGM85qi7d6gVc3nc7Pb7xnj1g1HNck-BCo5OhQ0LIHaV_zUXGmcGnaJJuh-Hst2s0/s1600/topologi3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="480" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgL3Hz7LsTZxlKBJ_1TcZ3O2uP9pv2Zhqc7GUIXy1c8e8b6xDkXbNlZw0IRBcx-hnS4iI6hrmP2UBMGM85qi7d6gVc3nc7Pb7xnj1g1HNck-BCo5OhQ0LIHaV_zUXGmcGnaJJuh-Hst2s0/s640/topologi3.jpg" width="640" /></a></div>
<br />
Dlaam topologi tersebut, server tp dan gm bertindak sebagai server DMZ, yaitu server yang dapat diakses dari jaringan luar, sehingga memiliki alamat ip sendiri.<br />
<br />
pertama, kita buat topologinya di uml :<br />
<br />
<br />
<ol style="text-align: left;">
<li><i>uml_switch -unix swtp > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swgm > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swa > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swb > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swc > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swd > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swe > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swf > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swg > /dev/null < /dev/null &</i></li>
<li><i>uml_switch -unix swh > /dev/null < /dev/null &</i></li>
<li><i><br /></i></li>
<li><i>xterm -T tugu_pahlawan -e linux ubd0=tugu_pahlawan eth0=tuntap,,,10.151.70.9 eth1=daemon,,,swa eth2=daemon,,,swb eth3=daemon,,,swd mem=50M &</i></li>
<li><i>xterm -T balai_kota -e linux ubd0=balai_kota eth0=daemon,,,swc eth2=daemon,,,swb mem=50M &</i></li>
<li><i>xterm -T ampel -e linux ubd0=ampel eth0=daemon,,,swtp eth1=daemon,,,swa eth2=daemon,,,swgm mem=50M &</i></li>
<li><i>xterm -T monkasel -e linux ubd0=monkasel eth1=daemon,,,swg eth2=daemon,,,swe eth3=daemon,,,swd mem=50M &</i></li>
<li><i>xterm -T siola -e linux ubd0=siola eth0=daemon,,,swh eth1=daemon,,,swg mem=50M &</i></li>
<li><i>xterm -T stasiun_gubeng -e linux ubd0=stasiun_gubeng eth1=daemon,,,swf eth2=daemon,,,swe mem=50M &</i></li>
<li><i><br /></i></li>
<li><i>xterm -T tp -e linux ubd0=tp eth0=daemon,,,swtp mem=50M &</i></li>
<li><i>xterm -T gm -e linux ubd0=gm eth2=daemon,,,swgm mem=50M &</i></li>
<li><i><br /></i></li>
<li><i>xterm -T taman_bungkul -e linux ubd0=taman_bungkul eth0=daemon,,,swc mem=50M &</i></li>
<li><i>xterm -T sutos -e linux ubd0=sutos eth0=daemon,,,swe mem=50M &</i></li>
<li><i>xterm -T kebun_bibit -e linux ubd0=kebun_bibit eth1=daemon,,,swf mem=50M &</i></li>
<li><i>xterm -T plaza_surabaya -e linux ubd0=plaza_surabaya eth0=daemon,,,swh mem=50M &</i></li>
</ol>
<br />
dan kita mulai proses subnettingnya :<br />
<br />
<br /></div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-6150191256523125442013-05-06T20:05:00.000+07:002013-11-18T20:50:37.870+07:00Konfigurasi DNS di Linux<div dir="ltr" style="text-align: left;" trbidi="on">
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Diberikan sebuah topologi jaringan, kita diminta mengkonfigurasi DNS (Domain Name Sistem)-nya dengan soal seperti berikut:</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
1. Pertama, berilah nama pada komputer dan router sesuai dengan topolgi anda.</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
2. Dari topologi anda, buatlah hal-hal berikut ini:<br />
a. Satu domain besar bernama klpxx.jarkom.com, yang ditangain oleh stitch (yang<br />
tergabung dalam domain ini adalah selain woodstock & Snoopy)<br />
Clue:<br />
Setelah menginstall pada tempat diatas, sekarang masuk kedalam server Stitch yang<br />
menangani domain besar bernama klpxx.jarkom.com.<br />
/etc/b<br />
<br />
<br />
<a name='more'></a><br /></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
b. Subdomain kartun.klpxx.jarkom.com, beranggotakan woodstock, yang ditangani oleh<br />
Stitch. Komputer woodstock akan bernama woodstock.kartun.klpxx.jarkom.com<br />
c. Subdomain anime.klpxx.jarkom.com, beranggotakan snoopy, yang ditangani oleh elmo.<br />
Komputer snoopy akan bernama snoopy.anime.klpxx.jarkom.com<br />
d. woodstock.kartun.klpxx.jarkom.com akan menjadi slave untuk Anime.klpxx.jarkom.com<br />
e. Kalau melakukan ping ke admin.klpxx.jarkom.com maka akan mengarah ke Doraemon<br />
f. Kalau melakukan ping ke dns.klpxx.jarkom.com maka akan mengarah ke Stitch<br />
g. Elmo menjadi dns slave dari Stitch</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
3. Buatlah ‘load balancing’. Sehingga jika kita ping ke server.klpxx.jarkom.com, maka akan<br />
muncul 2 IP server, yaitu IP Stitch dan IP Elmo</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Sekarang, mari kita buat Konfigurasinya. Pertama kita harus membuat topologinya dahulu di UML. Berdasarkan soal di artikel sebelumnya, maka di untuk topologinya kita harus membuat sebuah router, 2 switch, 2 komputer server, dan 6 komputer client. Dimana router memiliki 3 interface, eth0 terhubung ke tuntap (jaringan luar), eth1 terhubung ke subnet pertama, dan eth2 terhubung ke subnet kedua dan terdapat switch yang dihubungkan di antara router dan masing-masing subnet. Dan masing-masing subnet terdiri dari 1 komputer server dan 3 komputer client.</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Setelah membuat topologi, sekarang yang kita lakukan adalah konfigurasi masing-masing hostnya.</div>
<ul style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; list-style-image: initial; list-style-position: initial; margin: 0px 0px 1.154em 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">patrick</em> (router)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">eth0 (tuntap)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 10.151.70.9</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 10.151.70.8</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">eth1 (switch1)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.1</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">eth2 (switch2)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.9</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
</ul>
</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Subnet 1 (eth1 dari <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">patrick/switch1</em>)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">stitch</em> (eth0) -> server1<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.2</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.1</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">doraemon</em> (eth1)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.5</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.1</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">snoopy</em> (eth2)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.3</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.1</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">woodstock</em> (eth3)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.4</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.1</li>
</ul>
</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">Subnet 2 (eth2 dari patrick/switch)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">tom</em> (eth0)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.10</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.9</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">jerry</em> (eth1)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.11</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.9</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">spike</em> (eth2)<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.12</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.9</li>
</ul>
</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"><em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">elmo</em> (eth3) -> server2<ul style="border: 0px; font-family: inherit; font-style: inherit; list-style: disc; margin: 0px 0px 0px 1.231em; outline: 0px; padding: 0px; vertical-align: baseline;">
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Address : 172.16.0.13</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Subnet Mask : 225.225.225.0</li>
<li style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">IP Default Gateway : 172.16.0.9</li>
</ul>
</li>
</ul>
</li>
</ul>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<span id="more-797" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"></span></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Lalu sekarang kita harus membuat script sh nya</div>
<ol style="text-align: left;">
<li><span style="color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: x-small; line-height: 21px;">#!/bin/bash</span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">uml_switch -unix switch1 > /dev/null < /dev/null &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">uml_switch -unix switch2 > /dev/null < /dev/null &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;"><br /></span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T patrick -e linux ubd0=patrick,uml umid=patrick eth0=tuntap,,,10.151.70.9 eth1=daemon,,,switch1 eth2=daemon,,,switch2 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;"><br /></span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T stitch -e linux ubd0=stitch,uml umid=stitch eth0=daemon,,,switch1 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T snoopy -e linux ubd0=snoopy,uml umid=snoopy eth0=daemon,,,switch1 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T woodstock -e linux ubd0=woodstock,uml umid=woodstock eth0=daemon,,,switch1 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T doraemon -e linux ubd0=doraemon,uml umid=doraemon eth0=daemon,,,switch1 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T tom -e linux ubd0=tom,uml umid=tom eth0=daemon,,,switch2 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T jerry -e linux ubd0=jerry,uml umid=jerry eth0=daemon,,,switch2 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T spike -e linux ubd0=spike,uml umid=spike eth0=daemon,,,switch2 mem=50M &</span></span></li>
<li><span style="color: #707070; font-family: Droid Sans, Verdana, sans-serif; font-size: x-small;"><span style="line-height: 21px;">xterm -T elmo -e linux ubd0=elmo,uml umid=elmo eth0=daemon,,,switch2 mem=50M &</span></span></li>
</ol>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Dari sini. Setiap host harus kita konfigurasi interfacenya. Cara buka interfaccenya: nano /etc/network/interfaces</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Berikut detail konfigurasinya:</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Pattrick(router) :</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address 10.151.70.9</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.255</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 10.151.70.8</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth1 eth2</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth1 inet manual</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth2 inet manual</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto br0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface br0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">bidge_ports eth1 eth2</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address 10.151.70.90</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Doraemon</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address 10.151.0.5</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Elmo</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth3</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.13</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Jerry</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.11</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Tom</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.10</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Woodstock</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth3</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.4</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Spike</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth2</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.12</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Stitch</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.2</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.1</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<strong style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">host Snoopy</strong></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">auto eth3</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">iface eth0 inet static</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">address <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">10.151.0.2</em></em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">netmask 255.255.255.0</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">gateway 172.16.0.3</em></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"></em>kemudian terapkan konfigurasi di atas dengan syntax <em style="border: 0px; font-family: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">service networking restart </em>di setiap host</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Konfigurasi interface selesai, kita lanjutkan dengan knfigurasi router.</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Begini, perlu diketahui bahwa router merupakan host yang memiliki fungsi khusus daripada host lainnya dalam jaringan komputer. Fungsi tersebut di antaranya adalah mengarahkan packet data agar sampai ke tujuannya. Agar dapat berjalan sesuai fungsinya, router harus dikonfigurasi. Beberapa konfigurasi router yang harus diterapkan adalah sebagai berikut.<span id="more-812" style="border: 0px; font-family: inherit; font-style: inherit; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;"></span></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Konfigurasi ip forward pada router. Buka file /etc/sysctl.conf dengan perintah</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br />
<i>nano /etc/sysctl.conf<br />Cari baris konfigurasi berikut.<br />#net.ipv4.ip_forward=1</i></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br />
Hapus tanda pagar di baris tersebut. Simpan file lalu keluar.<br />
Konfigurasi ip tables pada router. Buka file /etc/rc.local dengan perintah</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<i>nano /etc/rc.local</i></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br />
Tambahkan baris konfigurasi berikut ini sebelum atau di atas perintah exit 0.</div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
<br />
<i>iptables –A FORWARD –i eth1 –o eth0 –j ACCEPT<br />iptables –A FORWARD –i eth2 –o eth0 –j ACCEPT<br />iptables –t nat –A POSTROUTING –o eth0 –j MASQUERADE</i></div>
<div style="background-color: white; border: 0px; color: #707070; font-family: 'Droid Sans', Verdana, sans-serif; font-size: 13px; line-height: 21px; margin-bottom: 1.154em; outline: 0px; padding: 0px; vertical-align: baseline;">
Restart service networking yang menangani tentang konfigurasi jaringan agar perubahan<br />
konfigurasi yang dilakukan di atas dapat langsung diterapkan. Berikut ini perintah untuk<br />
merestart service tersebut.<br />
service networking restart.</div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-17035908012115783022013-04-11T00:30:00.002+07:002013-11-18T20:51:56.287+07:00Membuat Web Server Sendiri dengan Java<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Kita sudah tahu mengenai Apache yang merupakan web server paling populer. Namun, sebernarnya kita bisa membuat web server sederhana dengan meggunakan bahasa java.<br />
Web server yang akan kita buat nantinya akan melakukan listening terus menerus sampai ada request di port 8080, kemudian akan menampilkan sebuah halaman web.<br />
<br />
Pertama, import semua package yang diperlukan<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.BufferedInputStream;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.BufferedReader;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.DataInputStream;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.File;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.FileInputStream;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.InputStreamReader;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.io.PrintWriter;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.net.ServerSocket;</span><br />
<span style="font-family: Courier New, Courier, monospace;">import java.net.Socket;</span><br />
<br />
<a name='more'></a><br /><br />
Kita buat class WebServer<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">public class WebServer {</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> protected void start() {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ServerSocket s;</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> System.out.println("Webserver starting up on port 9090");</span><br />
<span style="font-family: Courier New, Courier, monospace;"> System.out.println("(press ctrl-c to exit)");</span><br />
<br />
start() adalah method yang akan dipanggil untuk menjalankan web server.<br />
Sedangkan s adalah sebuah Server Socket, yaitu Socket khusus yang akan bertindak sebagai penerima request dari luar.<br />
<br />
Lalu kita buta inisialisasinya<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">try {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> s = new ServerSocket(8080); </span><br />
<span style="font-family: Courier New, Courier, monospace;"> } catch (Exception e) {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> System.out.println("Error: " + e);</span><br />
<span style="font-family: Courier New, Courier, monospace;"> return;</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace;">System.out.println("Waiting for connection");</span><br />
<br />
s akan melakukan listening di port 8080.<br />
Kemudian kita buat loop utama yang akan dilakukan terus menerus.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">for (;;) {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> try {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> </span><br />
<span style="font-family: Courier New, Courier, monospace;"> Socket remote = s.accept();</span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
Variabel remote adalah socket yang akan menerima dan mengirim dari/ke koneksi luar yang sudah diterima s.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"> System.out.println("Connection, sending data.");</span><br />
<span style="font-family: Courier New, Courier, monospace;"> BufferedReader in = new BufferedReader(new InputStreamReader(</span><br />
<span style="font-family: Courier New, Courier, monospace;"> remote.getInputStream()));</span><br />
<span style="font-family: Courier New, Courier, monospace;"> PrintWriter out = new PrintWriter(remote.getOutputStream());</span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
Variabel in adalah sebuah buffered reader yang bertugas menerima data dari socket remote. Sedangkan out adalah sebuah Print Writer yang bertugas menampilkan data yang dikirimkan remote.<br />
<br />
Lalu, kita buat variabel bertipe string yang bertugas menerima dan menerjemahkan stream dari in menjadi string.<br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> String str = ".";</span><br />
<span style="font-family: Courier New, Courier, monospace;"> while (!str.equals(""))</span><br />
<span style="font-family: Courier New, Courier, monospace;"> str = in.readLine();</span><br />
<br />
Kemudian Server akan melakukan instruksi ke browser bahwa data yang dikirimkan adalah berupa HTML.<br />
<span style="font-family: Courier New, Courier, monospace;"><span class="Apple-tab-span" style="white-space: pre;"> </span> </span><br />
<span style="font-family: Courier New, Courier, monospace;"> out.println("HTTP/1.0 200 OK");</span><br />
<span style="font-family: Courier New, Courier, monospace;"> out.println("Content-Type: text/html");</span><br />
<span style="font-family: Courier New, Courier, monospace;"> out.println("Server: Bot");</span><br />
<span style="font-family: Courier New, Courier, monospace;"> out.println("");</span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
Definisikan halaman yang akan kita coba buka beserta stream-stream yang diperlukan.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;"> FileInputStream fis = new FileInputStream("test.html");</span><br />
<span style="font-family: Courier New, Courier, monospace;"> BufferedInputStream bis = new BufferedInputStream(fis);</span><br />
<span style="font-family: Courier New, Courier, monospace;"> DataInputStream dis = new DataInputStream(bis);</span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
Buat string yang akan membaca sebuah halaman html, kemudian tutup semua stream. <span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><br />
<span style="font-family: Courier New, Courier, monospace;">String show;</span><br />
<span style="font-family: Courier New, Courier, monospace;"> while ((show = dis.readLine()) != null)</span><br />
<span style="font-family: Courier New, Courier, monospace;"> {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> out.println(show);</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace;"> fis.close();</span><br />
<span style="font-family: Courier New, Courier, monospace;"> out.flush();</span><br />
<span style="font-family: Courier New, Courier, monospace;"> remote.close();</span><br />
<span style="font-family: Courier New, Courier, monospace;"> } catch (Exception e) {</span><br />
<span style="font-family: Courier New, Courier, monospace;"> System.out.println("Error: " + e);</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<br />
Pembuatan kelas WebServer sudah selesai, sekarang kita buat kelas utamanya<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">package javawebserver;</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;">public class JavaWebServer {</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> public static void main(String[] args) {</span><br />
<span style="font-family: Courier New, Courier, monospace;"><br /></span>
<span style="font-family: Courier New, Courier, monospace;"> WebServer ws = new WebServer();</span><br />
<span style="font-family: Courier New, Courier, monospace;"> ws.start();</span><br />
<span style="font-family: Courier New, Courier, monospace;"> }</span><br />
<span style="font-family: Courier New, Courier, monospace;">}</span><br />
<br />
Nah, sekarang coba jalankan program kita, kemudian buka sebuah browser dan masukkan alamat : localhost:8080<br />
Maka akan tampil halaman web yang sudah kita definisikan tadi (test.html).</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-20102826155723141602013-04-11T00:27:00.004+07:002013-04-11T00:27:35.728+07:00Konfigurasi Proxy Server Squid<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
Jika Apache adalah web server yang paling banyak digunakan, maka squid adalah proxy server yang banyak digunakan.<br />
Sama seperti apache, kelebihannya dalah banyaknya kustomsasi yang bisa kita lakukan pada proxy server ini.<br />
<br />
Semua konfigurasi squid terletak di file /etc/squid3/squid.conf, maka dari itu, kita perlu mengedit file ini untuk kebutuhan konfigurasi.<br />
<br />
<b>Membatasi Kecepatan Download Per IP</b><br />
<br />
Pertama, kita definisikan acl untuk IP yang ingin kita batasi. misal kita akan membatasi client dengan ip 192.168.1.2. Saya akan menamainya dengan host1.<br />
acl adalah variable di squid untuk mendefinisikan aturan-aturan yang akan kita buat.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">acl host1 src 192.168.1.2</span><br />
<br />
buat delay pools. Delay pools menandakan jumlah aturan yang akan kita buat. Karena kita hanya akan membuat satu aturan, yaitu membatasi kecepatan download berdasarkan ip, maka :<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">delay_pools 1</span><br />
<br />
kemudian kita buat delay class-nya. Delay class adalah aturan-aturan yang berkaitan dengan kecepatan suatu koneksi.<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">delay_class 1 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_access 1 allow host1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_parameters 1 30000/30000</span><br />
<br />
delay parameter adalah kecepatan maksimal suatu koneksi dalam byte. Dalam contoh saya ingin membatasi kecepatan download host1 sampai maksimal 30kbps (30.000 byte per second).<br />
<br />
restart squid<br />
<br />
<b>Membatasi kecepatan Download berdasarkan Waktu</b><br />
<br />
sama seperti berdasarkan ip, hanya saja acl yang kita buat adalah :<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">acl jamkerja time MTWHF 00:00-13.00</span><br />
<br />
MWTHF adalah kode hari di mana :<br />
<br />
M = Monday<br />
T = Tuesday<br />
W = Wednesday<br />
H = Thursday<br />
F = Friday<br />
S = Saturday<br />
A = Sunday<br />
<br />
Jadi, parameter acl di atas akan membatasi kecepatan download apada hari senin-jumat pada mulai jam 00:00 samapai jam 13:00.<br />
<br />
kemudian buat delay pools dan class nya<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">delay pools 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_class 1 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_access 1 allow jamkerja</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_parameters 1 20000/20000 </span><br />
<br />
restart squid.<br />
<br />
Membatasi Kecepatan Download Berdasarkan Extensi File<br />
<br />
sama seperti berdasarkan ip dan waktu, hanya saja acl yang kita buat adalah :<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">acl file1 url_regex -i \.pdf$\.mp3$\.doc$</span><br />
<br />
Jadi, parameter acl di aas akan membatasi download file .pdf,.mp3,dan .doc.<br />
<br />
kemudian buat delay pools dan class nya<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">delay pools 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_class 1 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_access 1 allow jamkerja</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_parameters 1 40000/40000</span><br />
<br />
restart squid.<br />
<br />
Membatasi Jumlah Koneksi Maksimal<br />
<br />
sama seperti berdasarkan ip, waktu, dan extensi file, hanya saja acl yang kita buat adalah :<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">acl limit maxconn 2</span><br />
<br />
Jadi, parameter acl di atas akan membatasi jumah koneksi samapai maksimal 2.<br />
<br />
kemudian buat delay pools dan class nya<br />
<br />
<span style="font-family: Courier New, Courier, monospace;">delay pools 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_class 1 1</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_access 1 allow limit</span><br />
<span style="font-family: Courier New, Courier, monospace;">delay_parameters 1 10000/10000 </span><br />
<br />
restart squid.<br />
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-23983761703632279792013-04-10T22:02:00.002+07:002013-04-10T22:56:35.694+07:00Konfigurasi Web Server Apache<div dir="ltr" style="text-align: left;" trbidi="on">
Apache adalah salah satu web server populer yang banyak dipakai. Kelebihannya adalah banyaknya kustomisasi yang bisa kita lakukan agar apache dapat bekerja sesuai yang kita inginkan. Kali saya akan menunjukkan beberapa konfigurasi pada apache yang dapat kita lakukan.<br />
<br />
<b>Membuat Virtual Direktori</b><br />
<br />
<span style="background-color: white; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 22px;">Biasanya, kita harus meletakkan halaman-halaman web kita di folder /var/www (jika di linux) atau /htdocs (jika di windows). Nah, ada trik dimana jika kita ingin meletakkan halaman web di luar folder-folder ini, atau istilahnya <i>Virtual directory.</i></span><br />
<span style="background-color: white; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 22px;"><i><br /></i></span>
<span style="background-color: white; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 22px;">Pertama kita harus meng-enable modul mod_alias milik apache</span><br />
<pre class="geshifilter-apache" style="background-color: rgba(40, 40, 0, 0.0588235); color: #222222; font-family: Menlo, Consolas, 'Andale Mono', 'Lucida Console', 'Nimbus Mono L', 'DejaVu Sans Mono', monospace, 'Courier New'; font-size: 0.77em; line-height: 1.3; overflow: hidden; padding: 0px; white-space: pre-wrap;">LoadModule alias_module modules/mod_alias.so</pre>
<pre class="geshifilter-apache" style="background-color: rgba(40, 40, 0, 0.0588235); color: #222222; font-family: Menlo, Consolas, 'Andale Mono', 'Lucida Console', 'Nimbus Mono L', 'DejaVu Sans Mono', monospace, 'Courier New'; font-size: 0.77em; line-height: 1.3; overflow: hidden; padding: 0px; white-space: pre-wrap;"></pre>
<br />
<span style="background-color: white; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 22px;"><i><br /></i></span>
<span style="background-color: white; font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif; font-size: 15px; line-height: 22px;">Kemudian tambahkan konfigurasi berikut di .httpd.conf</span><br />
<br />
<br class="Apple-interchange-newline" />
<span style="background-color: rgba(40, 40, 0, 0.0588235); color: #222222; font-family: Menlo, Consolas, 'Andale Mono', 'Lucida Console', 'Nimbus Mono L', 'DejaVu Sans Mono', monospace, 'Courier New'; font-size: 12px; line-height: 16px; white-space: pre-wrap;"><ifmodule alias_module="">
# ADD THIS LINES FOR YOUR VIRTUAL DIRECTORIES
Alias /project1 /home/me/web/project1
Alias /project2 /home/me/web/project2
Alias /project3 /home/me/web/project3
</ifmodule></span><br />
<br />
dalam contoh, saya membuat virtual directory bernama /project1 dimana sebenarnya letak project1 ini ada di /home/me/project1<br />
<br />
Lalu tambahkan baris berikut untuk setiap virtual direktori:<br />
<br />
<pre class="geshifilter-apache" style="background-color: rgba(40, 40, 0, 0.0588235); color: #222222; font-family: Menlo, Consolas, 'Andale Mono', 'Lucida Console', 'Nimbus Mono L', 'DejaVu Sans Mono', monospace, 'Courier New'; font-size: 0.77em; line-height: 1.3; overflow: hidden; padding: 0px; white-space: pre-wrap;"># SETTING DIRECTORY FOR /home/me/web/project1
<directory home="" me="" project1="" web="">
Options None
AllowOverride All
Order allow,deny
Allow from all
</directory></pre>
<br />
<br />
Kita harus membuat lebih dari satu konfigurasi untuk setiap virtual direktori yang kita buat seperti di atas. Kemudian Restart Apache.<br />
<br />
<b>Hosting lebih dari satu website</b><br />
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;"><br /></span>
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;">Apache dapat meng-host lebih dari satu website. Metode ini bisa dilakukan dengan melakukan setting yang disebut "virtual host" di Apache.</span><br />
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;"><br /></span>
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;">di folder /etc/apache2/sites-available/ ada sebuah file bernama "default". Gunakan file ini sebagai template untuk file virtual host. Untuk melakukannya cukup copy file-nya, dan rename dengan nama lain. contoh :</span><br />
<pre class="code" style="background-color: #eff0e9; border: 1px solid rgb(165, 172, 180); font-family: 'Andale Mono', 'DejaVu Sans Mono', 'Courier New', Courier, monospace; font: inherit; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 0.5em; vertical-align: baseline;"><span style="font-size: xx-small;">cp default djmadjack.com</span></pre>
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;">kemudian edit file yang baru kta copy tersebut menggunakan text editor</span><br />
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;"><br /></span>
<br />
<pre class="code" style="background-color: #eff0e9; border: 1px solid rgb(165, 172, 180); font-family: 'Andale Mono', 'DejaVu Sans Mono', 'Courier New', Courier, monospace; font: inherit; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 0.5em; vertical-align: baseline;"><span style="font-size: xx-small;">nano djmadjack.com</span></pre>
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;">kemudian tambahkan baris berikut :</span><br />
<br />
<pre class="code" style="background-color: #eff0e9; border: 1px solid rgb(165, 172, 180); font-family: 'Andale Mono', 'DejaVu Sans Mono', 'Courier New', Courier, monospace; font: inherit; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 0.5em; vertical-align: baseline;"><span style="font-size: xx-small;"><virtualhost>
ServerAdmin eric@djmadjack.com
ServerName www.djmadjack.com
DocumentRoot /var/www/djmadjack.com/
<directory>
Options FollowSymLinks
AllowOverride None
</directory>
<directory djmadjack.com="" var="" www="">
Options Indexes FollowSymLinks MultiViews
AllowOverride None
Order allow,deny
allow from all
</directory>
(...)</virtualhost></span></pre>
<br />
Baris DocumentRoot adalah letak di mana halaman web kita akan disimpan.<br />
<br />
Kemudian kita perlu meng-enable website baru kita.<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;"><br /></span><br />
<pre class="code" style="background-color: #eff0e9; border: 1px solid rgb(165, 172, 180); font-family: 'Andale Mono', 'DejaVu Sans Mono', 'Courier New', Courier, monospace; font: inherit; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 0.5em; vertical-align: baseline;"><span style="font-size: xx-small;">a2ensite djmadjack.com</span></pre>
<span style="background-color: white; font-family: OpenSans, Arial, Helvetica, Verdana, sans-serif; font-size: 13px; line-height: 18.1875px;">Jika sewaktu-waktu kita perlu men-disable, gunakan</span><br />
<br />
<pre class="code" style="background-color: #eff0e9; border: 1px solid rgb(165, 172, 180); font-family: 'Andale Mono', 'DejaVu Sans Mono', 'Courier New', Courier, monospace; font: inherit; margin-bottom: 1em; margin-top: 1em; overflow: auto; padding: 0.5em; vertical-align: baseline;"><span style="font-size: xx-small;">a2dissite djmadjack.com</span></pre>
<br />
Terakhir, restart apache.<br />
<br />
<b>Direktori Halaman Web per User</b><br />
<b><br /></b>
Secara default, letak halaman web apache adalh di /var/www. Ada kalanya kuta ingin membuat agar setiap user di komputer memiliki folder web nya sendiri-sendiri, jadi nantinya website kita bisa diakses lewat url : <span style="background-color: white; color: #555555; font-family: Arial, 'Liberation Sans', sans-serif; font-size: 14px; line-height: 20px; text-align: justify;">http://example.com/~namauser/</span><br />
Pertama, kita perlu meng-enable modul mod_userdir di apache<br />
<br />
<span style="background-color: #f7f7f7; color: #c20cb9; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 15px; white-space: pre;">sudo</span><span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;"> a2enmod userdir</span><br />
<span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;"><br /></span>
<br />
Lalu lakukan konfigurasi di file userdir.conf<br />
<br />
<span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;">gksudo gedit </span><span style="background-color: #f7f7f7; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 15px; white-space: pre;">/</span><span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;">etc</span><span style="background-color: #f7f7f7; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 15px; white-space: pre;">/</span><span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;">apache2</span><span style="background-color: #f7f7f7; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 15px; white-space: pre;">/</span><span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;">mods-enabled</span><span style="background-color: #f7f7f7; font-family: monospace; font-size: 12px; font-weight: bold; line-height: 15px; white-space: pre;">/</span><span style="background-color: #f7f7f7; color: #333333; font-family: monospace; font-size: 12px; line-height: 15px; white-space: pre;">userdir.conf</span><br />
<br />
Kemudian ganti dengan baris berikut :<br />
<br />
<table style="background-color: #f7f7f7; border-collapse: collapse; border: none; color: #555555; font-family: Arial, 'Liberation Sans', sans-serif; font-size: 14px; line-height: 20px; margin: 0px;"><tbody>
<tr><td class="code" style="border: none; color: #333333; padding: 2px 4px; vertical-align: top;"><pre class="apache" style="background-image: none; border: none; clear: none; float: none; font-size: 12px; line-height: 1.333; overflow: visible; padding: 0px; width: auto;"><<span style="color: black; font-weight: bold;">IfModule</span> mod_userdir.c>
<span style="color: #00007f;">UserDir</span> public_html
<span style="color: #00007f;">UserDir</span> disabled root
<<span style="color: black; font-weight: bold;">Directory</span> /home/*/public_html>
<span style="color: #00007f;">AllowOverride</span> <span style="color: blue;">All</span>
<span style="color: #00007f;">Options</span> MultiViews <span style="color: blue;">Indexes</span> SymLinksIfOwnerMatch
<<span style="color: black; font-weight: bold;">Limit</span> GET POST OPTIONS>
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">allow</span>,<span style="color: #00007f;">deny</span>
<span style="color: #00007f;">Allow</span> from <span style="color: blue;">all</span>
</<span style="color: black; font-weight: bold;">Limit</span>>
<<span style="color: black; font-weight: bold;">LimitExcept</span> GET POST OPTIONS>
<span style="color: #00007f;">Order</span> <span style="color: #00007f;">deny</span>,<span style="color: #00007f;">allow</span>
<span style="color: #00007f;">Deny</span> from <span style="color: blue;">all</span>
</<span style="color: black; font-weight: bold;">LimitExcept</span>>
</<span style="color: black; font-weight: bold;">Directory</span>>
</<span style="color: black; font-weight: bold;">IfModule</span>></pre>
</td></tr>
</tbody></table>
<br />
<br />
Restart apache.<br />
<br />
Dengan ini, setiap user dapat memiliki folder web nya di folder public_html di home foldernya masing-masing. Url nya dapat diakses melalui : <span style="background-color: white; color: #555555; font-family: monospace; font-size: 14px; line-height: 20px; text-align: justify;">http://127.0.0.1/~namauser/.</span><br />
<br />
<b>Disable Directory Listing</b><br />
<br />
Secara default, apache akan memperlihatkan direktori jika tidak dapat menemukan file index.html atau index.php. Untuk alasan keamanan, kita mungkin ingin mendisable hal ini.<br />
<br />
Pertama, buka file .httpd.conf<br />
<br />
Cari baris berikut<br />
<br />
<span style="color: #303e48; font-family: monospace, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 19.1875px;">Options Includes Indexes FollowSymLinks MultiViews</span><br />
<br />
Kemudian hapus tulisan Indexes menjadi :<br />
<br />
<span style="color: #303e48; font-family: monospace, Helvetica, Arial, sans-serif; font-size: 12px; line-height: 19.1875px;">Options Includes FollowSymLinks MultiViews</span><br />
<br />
Restart apache.<br />
<br />
<b>Melindungi Direktori dengan Password</b><br />
<b><br /></b>
Kita dapat melindungi sebuah direktori agar tidak dapat diakses orang yang tidak berhak. Caranya dengan menggunakan file .htaccess<br />
<br />
Pertama buat file bernama .htacess di direktori yang ingin kita lindungi. Isi dengan baris berikut :<br />
<br />
<br />
<pre style="border-left-color: rgb(238, 238, 238); border-left-style: solid; border-left-width: 4px; box-sizing: border-box; color: #6d6e71; margin-bottom: 1em; margin-left: 0.75em; margin-top: 1em; padding-left: 0.5em; white-space: pre-wrap; word-wrap: break-word;"><code class="language-apache" style="box-sizing: border-box;" type="htaccess">AuthName "Section Name"
AuthType Basic
AuthUserFile /home/<span style="box-sizing: border-box; color: #204a87;">username</span>/.htpasswds
Require valid-user </code></pre>
<br />
<br />
baris /home/username/,htpasswds merupakan lokasi file yang berisi username dan password kita.<br />
Buatlah file tersebut.<br />
<br />
Kemudian buka situs <a href="http://www.kxs.net/support/htaccess_pw.html">berikut</a>, isi username dan password anda pada form yang sesuai, kemudian klik create password. maka password akan dienkripsi.<br />
<br />
kemudian isi file .htpasswds kita dengan username dan password yang kita dapat dari situs barusan.<br />
<br />
<br />
<pre style="border-left-color: rgb(238, 238, 238); border-left-style: solid; border-left-width: 4px; box-sizing: border-box; color: #6d6e71; margin-bottom: 1em; margin-left: 0.75em; margin-top: 1em; padding-left: 0.5em; white-space: pre-wrap; word-wrap: break-word;"><code class="language-apache" style="box-sizing: border-box;" type="htpasswd"><span style="box-sizing: border-box; color: #204a87;">username</span>:<span style="box-sizing: border-box; color: #204a87;">password</span></code></pre>
<br />
<br />
Restart apache.<br />
<br />
Nah sekarang, direktori kita sudah terlindungi. Jika user membuka direktori ini lewat web browser, sebuah dialog box akan muncul dan menanyakan username dan password sebelum kita dapat mengaksesnya. Atau alternatifya kita bisa membukanya lewat :<br />
<div>
<br /></div>
<div>
<pre style="border-left-color: rgb(238, 238, 238); border-left-style: solid; border-left-width: 4px; box-sizing: border-box; color: #6d6e71; margin-bottom: 1em; margin-left: 0.75em; margin-top: 1em; padding-left: 0.5em; white-space: pre-wrap; word-wrap: break-word;">http://<span style="box-sizing: border-box; color: #204a87;">username</span>:<span style="box-sizing: border-box; color: #204a87;">password</span>@<span style="box-sizing: border-box; color: #204a87;">www.website.com</span>/<span style="box-sizing: border-box; color: #204a87;">directory</span>/
</pre>
</div>
<div>
<b>Konfigueasi SSL</b></div>
<div>
<b><br /></b></div>
<div>
Ada kalanya kita ingin melindungi website kita dengan SSL untuk alasan keamanan. Untuk kasus self-signed certificate, kita bisa melakukan langkah berikut :</div>
<div>
<br /></div>
<div>
Pertama, enable SSL di Apache </div>
<div>
<br /></div>
<div>
<span style="background-color: white; color: #333333; font-family: monospace; font-size: 12px; line-height: 18px;">sudo a2enmod ssl</span></div>
<div>
<br /></div>
<div>
Generate file CSR</div>
<div>
<br /></div>
<div>
<span style="background-color: white; color: #333333; font-family: monospace; font-size: 12px; line-height: 18px;">sudo openssl req -new > new.ssl.csr</span></div>
<div>
<br /></div>
<div>
Masukkan passphrase, ingat baik-baik, karen akita akan ditanya lagi di langkah berikutnya.</div>
<div>
<br /></div>
<div>
Kemudian kita akan diberikan serangkaian pertanyaan :</div>
<div>
<br /></div>
<div>
<pre style="background-color: #e9f4f8; border-left-color: rgb(4, 99, 128); border-left-style: solid; border-left-width: 5px; color: #333333; font-family: 'Courier News', monospace; font-size: 12px; line-height: 18px; margin-bottom: 10px; margin-top: 10px; padding: 0px; white-space: pre-wrap; word-wrap: break-word;"><code>Generating a 1024 bit RSA private key
................++++++
........................++++++
writing new private key to 'privkey.pem'
Enter PEM pass phrase:
Verifying - Enter PEM pass phrase:
-----
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:<b><i>Masukkan kode Negara</i></b>
State or Province Name (full name) [Some-State]:<b><i>Masukkan nama Provinsi</i></b>
Locality Name (eg, city) []:<b><i>Masukkan nama kota</i></b>
Organization Name (eg, company) [Internet Widgits Pty Ltd]:<b><i>Masukkan nama instansi </i></b>
Organizational Unit Name (eg, section) []:<em><strong>Masukkan nama unit di institusi anda</strong></em>
Common Name (eg, YOUR name) []:<em><strong>Nama lengkap anda</strong></em>
Email Address []:<em><strong>Email anda</strong></em>
Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:<b><i>Kosongi</i></b>
An optional company name []:<em><strong>Opsional</strong></em></code></pre>
</div>
<div>
<br /></div>
<div>
Kemudian generate certificate nya</div>
<div>
<br /></div>
<div>
<pre style="background-color: #e9f4f8; border-left-color: rgb(4, 99, 128); border-left-style: solid; border-left-width: 5px; color: #333333; font-family: 'Courier News', monospace; font-size: 12px; line-height: 18px; margin-bottom: 10px; margin-top: 10px; padding: 0px; white-space: pre-wrap; word-wrap: break-word;"><code>sudo openssl rsa -in privkey.pem -out new.cert.key
sudo openssl x509 -in new.ssl.csr -out new.cert.cert -req -signkey new.cert.key -days <em>NNN</em>
sudo cp new.cert.cert /etc/ssl/certs/server.crt
sudo cp new.cert.key /etc/ssl/private/server.key</code></pre>
</div>
<div>
<br /></div>
<div>
Ganti NNN dengan jumlah hari certificate ini akan berlaku sebelum expired.</div>
<div>
<br /></div>
<div>
Kemudian lakukan konfigurasi di file situs anda yang ada di sites-available. Contohnya, saya di : <code style="color: #333333; font-size: 12px; line-height: 18px;">/etc/apache2/sites-available/mydomain.net</code><span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;">:</span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br /></span></div>
<div>
<pre style="background-color: #e9f4f8; border-left-color: rgb(4, 99, 128); border-left-style: solid; border-left-width: 5px; color: #333333; font-family: 'Courier News', monospace; font-size: 12px; line-height: 18px; margin-bottom: 10px; margin-top: 10px; padding: 0px; white-space: pre-wrap; word-wrap: break-word;">NameVirtualHost *:443
NameVirtualHost *:80
<virtualhost>
ServerAdmin <em><strong>email address here</strong></em>
ServerName mydomain.net
ServerAlias www.mydomain.net
DocumentRoot /srv/www/mydomain.net/public_html/
ErrorLog /srv/www/mydomain.net/logs/error.log
CustomLog /srv/www/mydomain.net/logs/access.log combined
</virtualhost>
<virtualhost>
ServerAdmin
<a href="mailto:jzb@zonker.net" style="color: #e37407; text-decoration: initial;">jzb@zonker.net</a>
ServerName mydomain.net
ServerAlias www.mydomain.net
DocumentRoot /srv/www/mydomain.net/public_html/
ErrorLog /srv/www/mydomain.net/logs/error.log
CustomLog /srv/www/mydomain.net/logs/access.log combined
SSLEngine on
SSLOptions +StrictRequire
SSLCertificateFile /etc/ssl/certs/server.crt
SSLCertificateKeyFile /etc/ssl/private/server.key
</virtualhost></pre>
</div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br /></span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;">Enable situs anda </span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br /></span></div>
<div>
<span style="background-color: white; color: #333333; font-family: monospace; font-size: 12px; line-height: 18px;">sudo a2ensite mydomain.net</span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br /></span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;">Restart apache.</span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;"><br /></span></div>
<div>
<span style="background-color: white; color: #333333; font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px;">Nah, sekarang kita bisa membuka situs kita dengan protokol https://www.example.com</span></div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com1tag:blogger.com,1999:blog-3298064626217283747.post-81225057830868058092013-03-11T22:11:00.002+07:002013-03-11T22:11:32.664+07:00Review Materi Asistensi Jaringan Komputer<div dir="ltr" style="text-align: left;" trbidi="on">
<b><span style="font-size: large;">OSI Layer</span></b><br />
<span style="font-size: large;"><b><br /></b></span>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
OSI (Open System Interconnection) adalah penggambaran
bagaimana informasi dari suatu aplikasi berpindah melewati sebuah media
jaringan ke suatu aplikasi di komputer lain.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
OSI layer dibagi menjadi 7 lapisan. Urutan dari yang paling
bawah ( Yang mengendalikan transport data) sampai yang paling atas (Yang
berurusan dengan aplikasi pada umumnya) adalah sebagai berikut :<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Physical</b></div>
<div class="MsoNormal">
Lapisan ini bertanggung jawab untuk mengaktifkan dan
mengatur interface jaringan komputer yang berbentuk fisik. Seperti Kabel, Hub,
Router, dll.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Data Link</b><o:p></o:p></div>
<div class="MsoNormal">
Lapisan ini mengatur topologi jaringan, peringatan error,
dan pengaturan aliran data. Tugas utamanya adlah sebagai fasilitas pengiriman
data yang masih mentah dan mengubahnya ke saluran yang bebas dari gangguan. <o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Network</b><o:p></o:p></div>
<div class="MsoNormal">
Lapisan ini berfungsi untuk mengendalikan operasi subnet
dengan meneruskan paket-paket dari suatu node ke node lain dalam jaringan.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Transport</b><o:p></o:p></div>
<div class="MsoNormal">
Fungsi dasar dari Lapisan Transport adalah menerima data
dari lapisan session, memecah data menjadi bagian-bagian yang lebih kecil bila
perlu, meneruskan data ke lapisan Network, dan menjamin bahwa semua potongan
data tersebut bisa tiba di sisi lainnya dengan benar.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Session</b><o:p></o:p></div>
<div class="MsoNormal">
Lapisan Session mengijinkan pengguna untuk menetapkan
session dengan pengguna lainnya. Lapisan ini membuka, mengatur, dan menutup
suatu session antara aplikasi satu dengan lainnya.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Presentation</b><o:p></o:p></div>
<div class="MsoNormal">
Lapisan ini melakukan fungsi-fungsi seperti konversi,
format, dan enkripsi data.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>Application</b><o:p></o:p></div>
<div class="MsoNormal">
Lapisan ini bertugas memberikan sarana pelayanan langsung ke
user, yang berupa aplikasi-aplikasi dan mengadakan komunikasi dari program ke
program. Jika kita mencari suatu file dari file server untuk digunakan sebagai
aplikasi word processor, maka proses ini bekerja melalui layer ini. Demikian
pula ketika kita mengirimkan e-mail, browsing internet, chatting, membuka
telnet, atau menjalankan FTP Client, proses-proses tersebut dilakukan di layer
ini.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<o:p><br /></o:p></div>
<div class="MsoNormal">
<b><span style="font-size: large;">Protokol Dalam Email</span></b><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>SMTP (Simple Mail Protocol)</b><o:p></o:p></div>
<div class="MsoNormal">
Protokol umum yang digunakan untuk mengirimkan email dari
satu komputer ke komputer lain.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>POP3 (Post Office Protokol v3)</b><o:p></o:p></div>
<div class="MsoNormal">
Jika kita menggunkan protokol ini, email akan didownload ke
local disk dan kita bisa membacanya secara offline. Kita tidak bisa membaca
email terdahulu jika email yang kita download terhapus.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b>IMAP (Internet Message Acces Protocol)</b><o:p></o:p></div>
<div class="MsoNormal">
Jika kita menggunakan protokol ini, kita bisa membaca email
dari banyak account. Email akan dibaca langsung dari Server, dan
mensinkronisasikannya dengan aplikasi yang menggunakan protokol ini. Semua
perubahan terhadap keduanya akan disimpan<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-62543822195253561442013-03-11T21:36:00.001+07:002013-03-11T22:13:34.324+07:00Menggunakan FileZilla FTP Client<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
FileZilla adalah sebuah FTP client. Dengan FileZilla, kita
dapat mengorganisir dan mensinkronisasi file kita di local disk dan di remote
server secara mudah dan efisien.<o:p></o:p></div>
<div class="MsoNormal">
Hal pertama yang perlu dilakukan adalah konek ke server. <o:p></o:p></div>
<div class="MsoNormal">
Dalam contoh, akan dipakai data berikut<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 9.0pt; line-height: 115%;">Hostname: example.org<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 9.0pt; line-height: 115%;">Username: john<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 9.0pt; line-height: 115%;">Password: 7PjU#.J3<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5qbS3Z3jBppGx_MRg7GuWGDTDgwLZ8qst92f7ZG0B6ab0xLxTY-4JQsiN_niuob3iB_OEIwHkGligqUE_NcXgwT1QtJnovFzLugu0Co2Di-Z9TdQvHLapcxS24rL2n-H_hHPB7eyWg24/s1600/Tutorial_Quickconnect.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em; text-align: center;"><img border="0" height="13" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg5qbS3Z3jBppGx_MRg7GuWGDTDgwLZ8qst92f7ZG0B6ab0xLxTY-4JQsiN_niuob3iB_OEIwHkGligqUE_NcXgwT1QtJnovFzLugu0Co2Di-Z9TdQvHLapcxS24rL2n-H_hHPB7eyWg24/s320/Tutorial_Quickconnect.png" width="320" /></a></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
Masukkan data-data tersebut di field yang telah tersedia di
Quickconnect bar untuk memuat koneksi baru.<o:p></o:p></div>
<div class="MsoNormal">
Masukkan nama host di bagian host, username di Username, begitu
pula dengan Password. Kita bisa meninggalkan field Port, kecuali informasi
login kita menggunakan port yang spesifik. Kemudian klik Quickconnect.
FileZilla akan mencoba untuk berkomunikasi dengan server. Jika berhasil, kita
akan diberitahu di bagian kolom sebelah kana, dari bertuliskan Not coneccted to
any server menjadi menampilkan daftar file dan direktori.<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
Bagian-bagian dalam FileZilla adalah sebagai berikut :<o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKG9bhCqDE7HvcgWYebN99wem73E7S8dNE7ORpZzIy3mbdmZpdIUW4dcE3-8p3_wfMdEoBZehiJYdTPiDlXcwnhljs1ngn05PlGD-bBMc4b6NVkddg9QFgctpNdPDZo5KzP5IrNSmQFSw/s1600/Tutorial_Filelists.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjKG9bhCqDE7HvcgWYebN99wem73E7S8dNE7ORpZzIy3mbdmZpdIUW4dcE3-8p3_wfMdEoBZehiJYdTPiDlXcwnhljs1ngn05PlGD-bBMc4b6NVkddg9QFgctpNdPDZo5KzP5IrNSmQFSw/s1600/Tutorial_Filelists.png" /></a></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
</div>
<ol style="text-align: left;">
<li><span style="font-size: 7pt; text-indent: -24px;"> </span><span style="text-indent: -24px;">Toolbar</span></li>
<li><span style="text-indent: -24px;">Quickconnect bar</span></li>
<li><span style="text-indent: -24px;">Message Log, berfungsi untuk menampilkan pesan yang berhubungan dengan koneksi dan transfer.</span></li>
<li><span style="text-indent: -24px;">Local Panel, menampilkan file dan direktori yang ada di komputer kita</span></li>
<li><span style="text-indent: -24px;">Server Panel, menampilkan file dan direktori komputer server yang sedang kita konek.</span></li>
<li><span style="text-indent: -24px;">Daftar file yang akan di-transfer dan yang sudah di-transfer.</span></li>
</ol>
<br />
<div class="MsoListParagraphCxSpFirst" style="mso-list: l0 level1 lfo1; text-indent: -18.0pt;">
<br /></div>
<div class="MsoNormal">
<b>Upload<o:p></o:p></b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial;">Pertama, di local panel, masuk ke
direktori tempat file yang akan kita transfer. Kemudian, Buka direktori server
yang akan kita tuju untuk upload di bagian server panel. Untuk mengupload, kita
tinggal drag-and-drop file dari local panel ke server panel. Kita bisa melihat daftar
file yang sedang kita upload di bagian bawah aplikasi. Jika berhasil, file yang
baru kita transfer akan terlohat di server panel.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial;"><br /></span></div>
<div class="MsoNormal">
<b><span style="background-color: white; background-position: initial initial; background-repeat: initial initial;">Download<o:p></o:p></span></b></div>
<div class="MsoNormal">
<b><span style="background-color: white; background-position: initial initial; background-repeat: initial initial;"><br /></span></b></div>
<div class="MsoNormal">
<span style="background-color: white; background-position: initial initial; background-repeat: initial initial; font-family: Arial, sans-serif; font-size: 10pt; line-height: 115%;">Untuk mendownload file, atau
direktori, caranya sama seperti upload. Kita cukup men-drag-and-drop
file/direktori tersebut dari server panel ke local panel kali ini. </span><b><o:p></o:p></b></div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-6224730795907500222013-03-11T20:53:00.000+07:002013-03-11T22:12:31.078+07:00Socket Programming di Java<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Kali ini
akan saya tampilkan tutorial pemrograman socket menggunakan bahasa java. <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Ada dua
program yang berjalan di dua komputer berbeda, dan akan saling bertukar pesan
“Hello World”.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-font-weight: bold; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><br /></span></div>
<div class="MsoNormal">
<b><span style="font-family: "Courier 10 Pitch","serif"; font-size: 14.0pt; line-height: 115%;">Client.java</span></b><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Pertama kita import header yang
diperlukan<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">package clientsocket;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.io.IOException;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.io.InputStream;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.io.OutputStream;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.net.Socket;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.net.UnknownHostException;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.util.logging.Level;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.util.logging.Logger;</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Di bawah deklarasi kelas, buatlah
sebuah blok exception, lalu kita buat sebuah variabel yang akan kita gunakan
untuk menyimpan string yang akan kita kirim ke Server. Dalam contoh adalah
“Hello World!”<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">public class ClientSocket {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> public
static void main(String[] args) {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> try
{ </span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
String myrespon = "Hello World!\r\n";</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Lalu buat sebuah variabel bertipe
Socket. Lalu isiskan alamat ip dan port yang akan kita gunakan.</span><span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> </span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
Socket s = new Socket("10.151.43.185", 5136);</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Kemudian buat dua variabel bertipe
InputStream dan OutputStream. InputStream berfungsi sebagai penerima data yang
dikirimkan dari komputer lain, sedangkan OutputStream berfungsi sebagai
pengirim pesan ke komputer lain.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
InputStream is = s.getInputStream();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
OutputStream os = s.getOutputStream()
</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Fungsi berikut akan membuat
OutputStream yang telah kita buat untuk mengirimkan variabel pesan kita.
OutputStream hanya menerima data bertipe bytes, jadi kita gunakan method getBytes() untuk mengubah string
menjadi bytes.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
os.write(myrespon.getBytes());</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Selanjutnya kita buat sebuah
integer yang akan digunakan sebagai penerjemah pesan dari server. Lalu buat
sebuah loop yang ketika berjalan, ia akan membaca data dari InputStream dan
menyimpannya dalam integer yang selanjutnya akan diubah menjadi char dan
langsung ditampilkan ke layar. Jika integer yang telah diubah ke char tersebut
bernilai “\n”, maka loop akan dihentikan.<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
int c; </span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
while(true)</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
c = is.read();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
System.out.print((char)c);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
if((char)c == '\n') break;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Kemudian kita tutup semua Stream
yang telah kita buat dan soket itu sendiri.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
os.close();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
is.close();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
s.close();<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Terakhir, kita buat penutup dari
exception yang telah kita buat di atas.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }
catch (UnknownHostException ex) {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
Logger.getLogger(ClientSocket.class.getName()).log(Level.SEVERE, null,
ex);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }
catch (IOException ex) {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
Logger.getLogger(ClientSocket.class.getName()).log(Level.SEVERE, null,
ex);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">}</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<b><span style="font-family: "Courier 10 Pitch","serif"; font-size: 14.0pt; line-height: 115%;">Server.java</span></b><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Seperti biasa, kita import
terlebih dulu header yang diperlukan<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">package socketserver;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.io.IOException;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.io.InputStream;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.io.OutputStream;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.net.ServerSocket;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.net.Socket;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.util.logging.Level;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">import java.util.logging.Logger;</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Sebenarnya, program server tidak
jauh beda dari client, bedanya, jika client adalah pihak yang meminta koneksi,
maka server adalah pihak yang menyetujui koneksi. Maka kita buat lagi variabel bertipe socket
dan satu lagi variabel baru bertipe ServerSocket.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">public class SocketServer {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> public
static void main(String[] args) {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> try {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
Socket s = new Socket("10.151.34.185",5136);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
ServerSocket ss = new ServerSocket(5136);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> </span><span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Fungsi di bawah akan membuat socket yang telah kita buat untuk
disetujui oleh ServerSocket yang kita buat.</span><span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> </span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> s
= ss.accept();<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Seperti client, kita juga buat dua
buah Stream untuk input dan output, dan pesan kita.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
InputStream is = s.getInputStream();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: 'Courier 10 Pitch', serif; font-size: 9pt; line-height: 115%;"> </span><span style="font-family: 'Courier 10 Pitch', serif; font-size: 9pt; line-height: 115%;">OutputStream os = s.getOutputStream();</span></div>
<div class="MsoNormal">
<o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
String respon = "Hello World!\r\n";<o:p></o:p></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Kita juga buat sebuah loop yang
akan memeriksa pesan masuk dari client<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
int c;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
while(true)</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
c = is.read();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
System.out.print((char)c);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
if((char)c == '\n')</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
break;</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> </span><span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"><o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Terakhir kita kirim pesan respon
server kembali ke client. Tambahkan flush untuk merefresh stream kita.<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
os.write(respon.getBytes());</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
os.flush();</span><o:p></o:p></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Tutup Semua stream dan socket<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
os.close();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
is.close();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
s.close();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
ss.close();</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;"> <o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Calibri","sans-serif"; font-size: 11.0pt; line-height: 115%; mso-ascii-theme-font: minor-latin; mso-bidi-theme-font: minor-latin; mso-hansi-theme-font: minor-latin;">Dan terakhir, tutup exception yang
kita buat<o:p></o:p></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }
catch (IOException ex) {</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">
Logger.getLogger(SocketServer.class.getName()).log(Level.SEVERE, null,
ex);</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;"> }</span><o:p></o:p></div>
<div class="MsoNormal">
<span style="font-family: "Courier 10 Pitch","serif"; font-size: 9.0pt; line-height: 115%;">}</span><o:p></o:p></div>
</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-83151126035484168602013-03-11T08:14:00.000+07:002013-03-11T08:14:42.111+07:00Capture Paket dengan Wireshark<div dir="ltr" style="text-align: left;" trbidi="on">
Wireshark adalah sebuah tool analisis jaringan yang dapat meng-“capture” paket secara real-time dan menampilkannya dalam format yang dapat kita baca. Wireshark juga dapat mem-filter, color-coding dan fitur lain yang dapat kita gali lebih jauh untuk memeriksa paket-paket yang ada di dalam jaringan<br />
Tutorial ini akan menjelaskan bagaimana dasar capture sebuah paket dengan wireshark, mem-filternya dan memeriksanya. Kita dapat memakai Wireshark untuk memeriksa paket yang mencurigakan, menganalisis aliran trafik di dalam jaringan dan belajar tentang berbagai protokol komunikasi di internet. <br />
Anda dapat mendownload Wireshark di wireshark.org<br />
<br />
1. Jalankan Wireshark. Pilih “Capture” dan klik “interfaces” dari toolbar.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA4LQ4D7naSt-DjsdYI6bvcR8pyWxgbAZVQOxqSKAQ1evKd3ZYlBy1I9Z3skSQuCo8si4CYWYBSb0RLWOmv9ZmFkFTbshkqbTQ8H3haiUXYFUDn7ejHLHJGYfsRkAwOHX69POiT-z7dIk/s1600/1.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgA4LQ4D7naSt-DjsdYI6bvcR8pyWxgbAZVQOxqSKAQ1evKd3ZYlBy1I9Z3skSQuCo8si4CYWYBSb0RLWOmv9ZmFkFTbshkqbTQ8H3haiUXYFUDn7ejHLHJGYfsRkAwOHX69POiT-z7dIk/s320/1.png" width="320" /></a></div>
<br />
<br />
2. Jika ada beberapa interface yang berbeda, tentukan mana yang sedang aktif. Interface yang aktif punya alamat IP yang tertera dan punya beberapa paket yang aktif. Jumlah interface yang terlihat bervariasi, tergantung apakah kita memakai ethernet, Wi-Fi atau keduanya.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNQRPbzjVrc2ZaqTGRhawh_DziZ6IbI3z5gstG1x7YfjBE-5lhJ7nEEG_uZfIxPVMGP7VMhpHAEgc6muA-B98Cldf-n7iD-kQKvNYCez1-LlfEN0DCZ9BZHhyzzjHbb9BcwgnWopu7YpE/s1600/3.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjNQRPbzjVrc2ZaqTGRhawh_DziZ6IbI3z5gstG1x7YfjBE-5lhJ7nEEG_uZfIxPVMGP7VMhpHAEgc6muA-B98Cldf-n7iD-kQKvNYCez1-LlfEN0DCZ9BZHhyzzjHbb9BcwgnWopu7YpE/s320/3.png" width="320" /></a></div>
<br />
3. Setelah kita menentukan mana interface yang aktif, klik tombol “Start” di toolbar yang sama. Lihatlah, Di bagian jendela utama, Wireshark akan menampilkan berbagai paket yang ada di jaringan. Jika dalam beberapa detik kita tidak melihat paket apapun, berarti kita memilih interface yang salah atau kita tidak punya koneksi network yang aktif.<br />
<br />
4. Saat kita sudah selesai meng-“capture” paket, kita dapat menghentikan aktivitas Wireshark dengan meng-klik “X” merah di bagian kiri atas.<br />
<br />
5. Kita dapat mem-filter melalui paket yang telah kita “capture” dan dapat melihat informasinya. Filter dapat dipakai untuk mencari paket dengan kategori dan protokol tertentu. Di kotak pencarian “Filter”, ketikkan tipe protokol yang ingin kita analisis, seperti TCP, HTTP, atau UDP. Kemudian tekan “Enter”. Kita dapat mengurutkannya lewat layer yang berbeda (Data, UDP, IP, dan lain-lain) untuk mengakses informasi tertentu yang mungkin kita butuhkan seperti misalnya besar paket dan informasi lain.<br />
<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7pRCn8qwoe6XqFhtmD9zXMiKpzm9DJ1L-E7Rzyu2qxofN3KyLi7yE3K0W4If-Luia-bvGw9twYYl5wemFv07_b7TKFQthW9nU6ZBXq8HKSOU7wYYCp95h4-FblOBer5dfpk_DhEarVAU/s1600/2.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="296" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj7pRCn8qwoe6XqFhtmD9zXMiKpzm9DJ1L-E7Rzyu2qxofN3KyLi7yE3K0W4If-Luia-bvGw9twYYl5wemFv07_b7TKFQthW9nU6ZBXq8HKSOU7wYYCp95h4-FblOBer5dfpk_DhEarVAU/s320/2.png" width="320" /></a></div>
<br />
6. Untuk melihat informasi paket yang telah kita “Capture” klik salah satu dari daftar paket, kemudian lihat di jendela di bagian bawah jendela daftar paket. Kita dapat melihat informasi spesifik mengenai paket yang telah kita tangkap.</div>
Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-38320081328277783202012-05-29T10:56:00.001+07:002012-05-29T10:56:53.586+07:00Kunjungan Square Enix ke Teknik Informatika ITS<div dir="ltr" style="text-align: left;" trbidi="on">
<div>
<br /></div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSUv01bNm4wrt3zOGVuKfB1uwqQNFvksZtsFmzV6A3EbBWI17AyjHOG65g5tAJeavtYBL3SL0NIGSQyZgQ6M5lXVnQNNv4EXFwOCpOU4E5G1-5JJa-c1VmoaXZvUKpeKfpyQnEKmdOiAk/s1600/230px-Square_Enix_logo.svg.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSUv01bNm4wrt3zOGVuKfB1uwqQNFvksZtsFmzV6A3EbBWI17AyjHOG65g5tAJeavtYBL3SL0NIGSQyZgQ6M5lXVnQNNv4EXFwOCpOU4E5G1-5JJa-c1VmoaXZvUKpeKfpyQnEKmdOiAk/s1600/230px-Square_Enix_logo.svg.png" /></a>Minggu lalu, atau tepatnya hari Selasa, 22 Mei 2012, sekitar pukul 11.00, Teknik Informatika ITS kedatangan tamu dari negeri sakura, tamu ini bukan sembarang tamu,melainkan Square Enix.</div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
Ya, Square Enix, bagi anda yang suka bermain game RPG waktu zaman keemasan Playstation dulu, anda dijamin kenal dengan nama besar yang satu ini. Final Fantasy, Dragon Quest, Vagrant Story, Front Mission, Chrono Trigger, dan Chocobo’s Dungeon adalah beberapa karyanya yang mendunia. Alhasil, Aula Teknik Informatika hari iru pun dipadati oleh mahasiswa yang tidak ingin melewatkan kesempatan bertemu dengan salah satu Game Developer terbesar di dunia ini.</div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
<br /></div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
Awalnya Square (Square Soft) dan Enix dua perusahaan yang berbeda. Pada tanggal 1 April 2003, kedua Perusahaan ini bergabung di bawah nama Square Enix Co. ltd. Kunjungan kali ini adalah untuk melihat perkembangan industri game lokal di Surabaya. Sebenarnya mereka berencana untuk membuka cabang kerjasama di Indonesia, antara di Bandung atau di Surabaya. Kali ini ITS Surabaya diberi kesempatan untuk menunjukkan diri sebagai pusat pengembangan game oleh mahasiswa di Surabaya.Pihak Square Enix diwakili oleh beberapa orang dari divisi mobile game dan Keiji Honda, Executive Vice President Square Enix.</div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
<br /></div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
Acara dimulai sekitar pukul 11.30, dibuka dengan presentasi oleh salah satu dosen Teknik Informatika ITS, Pak Hari Ginardi. Beliau membawakan presentasi mengenai perkembangan Game Development di Surabaya Khususnya di Fakultas Teknologi Informasi (FTIF) ITS. Sesi ini banyak mengundang tawa dari peserta, karena Pak Hari membawakan presentasinya dengan guyonan-guyonan menggelitik mengenai keunggulan kota Surabaya dibandingkan Bandung, dan FTIF ITS dibanding dengan Fakultas serupa milik “Tetangga”.</div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
<br /></div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
Sesi kedua adalah Presentasi dari Game Edukasi.com. Mereka mempertunjukkan beberapa karyanya yang terkenal dan menjuarai beberapa kompetisi. Antara lain seperti P10NEER, Palawa, Mbatik Yuk, Visual Novel Merapi, dan Perjuangan Kartini. Beberapa sempat dimainkan di depan Square Enix.</div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
<br /></div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
Kemudian dilanjutkan dengan presentasi oleh Elventales, studio game professional yang punya kantor di Teknik Informatika. Mereka menunjukkan beberapa karya mereka. beberapa game mereka, Sky Express dan Kamikaze Cat sempat menarik perhatian Keiji Honda. Terlihat dari beberapa kali ia membicarakan game-game tersebut dengan Mas Mahdi Rizal, ketua Elventales.</div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
<br /></div>
<div data-mce-style="text-align: justify;" style="font-family: Georgia, 'Times New Roman', 'Bitstream Charter', Times, serif; font-size: 13px; line-height: 19px; text-align: justify;">
Sesi ditutup dengan sesi diskusi dan Tanya jawab oleh pihak Square Enix dan Peserta. Sesi ini ramai dengan pertanyaan-pertanyaan oleh peserta yang antusias. Karena banyaknya, beberapa pertanyaan tidak sempat terjawab, dikarenakan waktu yang terbatas. Setelah sesi pertanyaan, Acara ditutup, dan dilanjutkan dengan kunjungan Square Enix ke beberapa laboratorium Teknik Informatika ITS.</div>
</div>Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-76394989457797299952012-05-15T21:23:00.000+07:002012-05-16T00:06:22.503+07:00Fantasy, Dreams, and Reality<div dir="ltr" style="text-align: left;" trbidi="on">
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span> Sejak kecil, aku sudah jatuh cinta sama yg namanya fiksi. aku suka baca komik, baca cergam (cerita bergambar), nonton kartun, main game, dan lain-lain. aku suka berfantasi, membayangkan kalo aku adalah seorang ksatria yang akan mengalahkan naga, seorang penyihir yang menguasai mantra, dan lain-lain. Lalu, Mulailah aku berfantasi, kemudian mencoretkan gambar pertamaku di atas sebuah kertas, tentu saja gambarnya jelek. Namun bagi seorang anak kecil seperti aku waktu itu, gambar itu sangat indah, dan bisa membawaku ke "Dunia Lain". Karena suka dan keseringan, aku pun jadi suka dengan menggambar. Tentu saja yang aku gambar waktu itu adalah benda-benda yang muncul di dunia fanatasi buatanku.<br />
<br />
Namanya anak kecil, dari situ, timbullah keinginanku untuk suatu saat aku punya pekerjaan yang tidak jauh dari fiksi dan fantasi. Tapi ternyata orang-orang di sekitarku mempunyai pendapat yang seolah-olah membuat keinginaku mundur. Bukan karena berdasarkan keinginanku, tapi karena aku seorang indonesia. Nah lho. Saat aku bilang aku ingin jadi komikus, ingin seperti <b>Akira Toriyama</b> dengan Dragon Ball-nya, <b>Eiichiro Oda</b> dengan One Piece-nya, atau <b>Tsugumi Ohba</b> & <b>Takeshi Obata</b> dengan Death Note-nya, mereka bilang "Komik buatan indonesia gak bakal laku, gak ada penerbit yang mau nerima, susah bekembang". Saat aku ingin jadi Sutradara film fiksi ilmiah, seperti Jurassic Park-nya <b>Spielberg</b>, mereka bilang "Susah, Gak bakal laku, buat film di indonesia itu kalau mau laku, ya kalau gak drama remaja, ya Horror". Horror ? emang ada film horror ? yang aku lihat kebanyakan film tentang "Setan", Cewek seksi, plus adegan "Strip". Waktu aku ingin punya perusahaan game seperti <b>SQUARE</b> yang terkenal dengan Final Fantasy nya, mereka bilang "Buat apa, gak ada yang mau beli, paling ujung-ujungnya dibajak".<br />
<br />
Gila. Berkembang ditengah omongan-omongan seperti itu. aku heran, segini pesimisnya orang Indonesia terhadap bangsanya sendiri. Sebenarnya wajar, mungkin sih. Tradisi yang memandang Indonesia sebagai negara "Dunia Ketiga", negara biasa, gak usah neko-neko, gak usah niru negara-negara maju, yang penting hidup bisa seperti orang lain, keluarga tercukupi masih mengakar kuat. Apa gak ada tah yang mau keluar dari tradisi itu, ini bukan soal uang atau apa, tapi suatu kebanggaan, prestasi. Kita akan menjadi seorang yang levelnya lebih tinggi. Karena kita bisa melakukan hal kita sukai, membuat nyata sesuatu yang telah lama kita inginkan.<br />
<br />
Tapi harus diakui, mau gak mau, sistem di Indonesia memang seperti itu, jadi walaupun aku masih sempatkan waktu untuk terus mengasah kemampuan menggambar dan menulis cerita (fantasi), aku tetap belajar sungguh-sungguh untuk bisa melanjutkan kuliah, terutama karena aku ingin bahagiain orang tuaku, mereka sudah bekerja banting tulang, mati-matian agar anak mereka yang satu ini bisa kuliah. Sesuatau yang sangat mahal dan terpandang di keluargaku. Maka dari itu, aku pun memilih untuk kuliah di jurusan Informatika. Dulu sempat milih jurusan Desain, biar gak jauh-jauh dari menggambar, namun Allah ternyata memilihkan Informatika sebagai takdirku.<br />
<br />
Harapannya sih, ntar aku bsa bikin Game yang berkelas dan berkualitas, seperti buatan Jepang atau Amerika, hahaha, ya mungkin mulai dari kecil-kecilan dulu. Bukannya hal-hal besar itu selalu dimuali dari hal yang kecil ?<br />
<br />
Ya, Game. Itulah motivasi terbesar untuk saat ini, yang membuatku bisa survive untuk belajar dan berlatih keras di jurusan Informatika ini. Semoga kedepannya bisa tercapai, amiin.<br />
<div>
<br /></div>
</div>Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0tag:blogger.com,1999:blog-3298064626217283747.post-50322379489484986652012-05-10T23:26:00.001+07:002012-05-15T22:17:50.934+07:00Komik Tee & Cee #2<div dir="ltr" style="text-align: left;" trbidi="on">
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_UIjhlQOr9OAqRDrpOlQVcJoA3V9WWu6dZ2wDuwDuMVLC2Bpv9s4PPNJZMG2kWE7WqVfClgFLkxr3m5HWTBKaSbbHhSYwNItgmjHzKWkizn6BYxgOdOs9TCEva4_TJruIwo3-eO6_SWc/s1600/FINAL1.gif" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_UIjhlQOr9OAqRDrpOlQVcJoA3V9WWu6dZ2wDuwDuMVLC2Bpv9s4PPNJZMG2kWE7WqVfClgFLkxr3m5HWTBKaSbbHhSYwNItgmjHzKWkizn6BYxgOdOs9TCEva4_TJruIwo3-eO6_SWc/s640/FINAL1.gif" width="480" /></a></div>
<br /></div>Arifhttp://www.blogger.com/profile/10981340849131295635noreply@blogger.com0