Candi Borobudur

Borobudur adalah nama sebuah candi Buddha yang terletak di Borobudur, Magelang, Jawa Tengah, Indonesia. Lokasi candi adalah kurang lebih 100 km di sebelah barat daya Semarang, 86 km di sebelah barat Surakarta, dan 40 km di sebelah barat laut Yogyakarta. Candi berbentuk stupa ini didirikan oleh para penganut agama Buddha Mahayana sekitar tahun 800-an Masehi pada masa pemerintahan wangsa Syailendra. Monumen ini terdiri atas enam teras berbentuk bujur sangkar yang diatasnya terdapat tiga pelataran melingkar, pada dindingnya dihiasi dengan 2.672 panel relief dan aslinya terdapat 504 arca Buddha.[1] Stupa utama terbesar teletak di tengah sekaligus memahkotai bangunan ini, dikelilingi oleh tiga barisan melingkar 72 stupa berlubang yang di dalamnya terdapat arca buddha tengah duduk bersila dalam posisi teratai sempurna dengan mudra (sikap tangan) Dharmachakra mudra (memutar roda dharma).

Gunung Bromo

Gunung Bromo (dari bahasa Sanskerta: Brahma, salah seorang Dewa Utama Hindu), merupakan gunung berapi yang masih aktif dan paling terkenal sebagai obyek wisata di Jawa Timur. Sebagai sebuah obyek wisata, Gunung Bromo menjadi menarik karena statusnya sebagai gunung berapi yang masih aktif. Bromo mempunyai ketinggian 2.392 meter di atas permukaan laut itu berada dalam empat wilayah, yakni Kabupaten Probolinggo, Pasuruan, Lumajang, dan Kabupaten Malang. Bentuk tubuh Gunung Bromo bertautan antara lembah dan ngarai dengan kaldera atau lautan pasir seluas sekitar 10 kilometer persegi. Gunung Bromo mempunyai sebuah kawah dengan garis tengah ± 800 meter (utara-selatan) dan ± 600 meter (timur-barat). Sedangkan daerah bahayanya berupa lingkaran dengan jari-jari 4 km dari pusat kawah Bromo.

Pulau Komodo

Pulau Komodo adalah sebuah pulau yang terletak di Kepulauan Nusa Tenggara. Pulau Komodo dikenal sebagai habitat asli hewan komodo. Pulau ini juga merupakan kawasan Taman Nasional Komodo yang dikelola oleh Pemerintah Pusat. Pulau Komodo berada di sebelah timur Pulau Sumbawa, yang dipisahkan oleh Selat Sape. Secara administratif, pulau ini termasuk wilayah Kecamatan Komodo, Kabupaten Manggarai Barat, Provinsi Nusa Tenggara Timur, Indonesia. Pulau Komodo merupakan ujung paling barat Provinsi Nusa Tenggara Timur, berbatasan dengan Provinsi Nusa Tenggara Barat.

Pulau Lombok

Pulau Lombok (jumlah penduduk pada tahun 2001: 2.722.123 jiwa)[1] adalah sebuah pulau di kepulauan Sunda Kecil atau Nusa Tenggara yang terpisahkan oleh Selat Lombok dari Bali di sebelat barat dan Selat Alas di sebelah timur dari Sumbawa. Pulau ini kurang lebih berbentuk bulat dengan semacam "ekor" di sisi barat daya yang panjangnya kurang lebih 70 km. Luas pulau ini mencapai 5.435 km², menempatkannya pada peringkat 108 dari daftar pulau berdasarkan luasnya di dunia. Kota utama di pulau ini adalah Kota Mataram.

Iguana

Iguana ialah sejenis kadal yang hidup di daerah tropis di Amerika Tengah, Amerika Selatan, dan Karibia. Pertama kali mereka disebutkan oleh seorang naturalis berkebangsaan Austria Josephus Nicolaus Laurenti pada tahun 1768. Ada 2 spesies yang berbeda dari jenis kadal ini: iguana hijau dan iguana Antilles Kecil.

Jumat, 27 Desember 2013

Penerapan SEO pada Web

Sebagus apapun website yang kita miliki dan artikel yang kita posting, tidak akan berarti jika tidak banyak orang yang mengunjungi, melihat dan membaca isi website kita. Seperti mutiara dalam lumpur, indah dilihat namun tidak banyak yang mengetahui. Makanya website anda perlu posisi yang bagus dan stabil dalam halaman pencarian. Berikut adalah beberapa hal penting yang dapat anda lakukan:
1. Riset keyword
Sebelum membuat artikel, kita harus riset dulu keyword apa yang bagus dalam pencarian dan sedikit dalam persaingan. Setelah mendapatkannya maka buatlah artikel yang menarik dan terstruktur sesuai keyword tersebut. Jangan berlebihan karena akan membuat pembaca tidak nyaman. Buatlah artikel dengan keyword yang natural dan bersifat informatif sehingga menambah pengetahuan pembaca.

2. Spesifikasi artikel
Algoritma Google yang baru lebih menyukai artikel yang panjang, informatif dan natural. Sehingga kita perlu untuk membuat artikel dengan jumlah kata minimal 400 kata. Dalam pembuatan artikel, hindari pembahasan yang diulang-ulang. Jangan bertele-tele dan masukan poin-poin yang penting saja. Quality Content saat ini adalah fokus yang harus anda kembangkan. Website dengan banyak artikel berkualitas akan mendapatkan nilai positif. Baik dari Google maupun visitor.

3. SEO on Page
SEO (Search Engine Optimization) on Page adalah penerapan SEO di dalam artikel itu sendiri. Yakni menggunakan internal link ke homepage dan related post yang disisipkan dalam artikel itu sendiri. Penerapan SEO on page yang benar pada artikel anda akan membuatnya lebih kuat dan stabil di persaingan dan membuat pembaca tertarik untuk membaca artikel lain di website sehingga menghindari terjadinya bounce rate yang tinggi.

4. Hindari spam backlink
Dulu saat Google belum memiliki algortitma baru, spam backlink yang berlebihan bisa membuat posisi artikel dan website kita meroket. Namun perlu anda tahu bahwa Google sudah melakukan perubahan algoritma. Penggunaan backlink yang berlebihan malah akan menjadi bumerang yang memukul balik website kita di hasil pencarian. Maka buat backlink yang berkualitas dan senatural mungkin, rutin dan tidak membabi buta. Google lebih suka semua yang terlihat alami dan natural.

5. Keep it natural
Sosial media seperti FB, Twitter dan lain sebagainya bisa menunjang trafik anda. Namun mendapatkan trafic dari sini dianggap bukanlah trafic yang alami. Sehingga tidak berpengaruh apa-apa di Google. Maka begitu pula dengan Social Bookmark. Trafik yang dihasilkan keduanya dianggap bukan visitor alami yang memang mencari informasi. Sementara Google lebih menyukai sumber trafic yang alami dan natural dari Search Engine. Jadi buatlah semua natural dan alami. Tidak perlu ngotot.

6. Konsiten dan fokus
Ilmu SEO saat ini ya berkutat di sini. Website yang rutin update setiap hari akan dinilai bagus oleh Google. Ranking Alexa akan langsing secara alami. Page rank akan meningkat secara natural. Maka jadikan diri anda konsisten untuk update artikel berkualitas yang disukai pembaca. Perlahan website
Anda akan memiliki posisi yang baik di halaman pencarian.

Selasa, 17 Desember 2013

Belajar Code Igniter

Semoga BERMANFAAT,

Codeigniter berbahasa Indonesia yang telah disusun oleh  koder.web.id.  Menjelaskan semua tentang Codeigniter untuk yang ingin belajar pemula Codeigniter, dan mempermudah diikut sertakan codenya agar bisa lebih real :D




Ebooknya
Source Codenya

Sabtu, 14 Desember 2013

Download Code Igniter

CodeIgniter

CodeIgniter adalah aplikasi open source yang berupa framework dengan model MVC (Model, View, Controller) untuk membangunwebsite dinamis dengan menggunakan PHP. CodeIgniter memudahkan developer untuk membuat aplikasi web dengan cepat dan mudah dibandingkan dengan membuatnya dari awal. CodeIgniter dirilis pertama kali pada 28 Februari 2006. Versi stabil terakhir adalah versi 2.1.3


Framework
Framework secara sederhana dapat diartikan kumpulan dari fungsi-fungsi/prosedur-prosedur dan class-class untuk tujuan tertentu yang sudah siap digunakan sehingga bisa lebih mempermudah dan mempercepat pekerjaan seorang programer, tanpa harus membuat fungsi atau class dari awal.
Ada beberapa alasan mengapa menggunakan Framework:
  • Mempercepat dan mempermudah pembangunan sebuah aplikasi web.
  • Relatif memudahkan dalam proses maintenance karena sudah ada pola tertentu dalam sebuah framework (dengan syarat programmer mengikuti pola standar yang ada)
  • Umumnya framework menyediakan fasilitas-fasilitas yang umum dipakai sehingga kita tidak perlu membangun dari awal (misalnya validasi, ORM, pagination, multiple database, scaffolding, pengaturan session, error handling, dll
  • Lebih bebas dalam pengembangan jika dibandingkan CMS

Model View Controller merupakan suatu konsep yang cukup populer dalam pembangunan aplikasi web, berawal pada bahasa pemrograman Small Talk, MVC memisahkan pengembangan aplikasi berdasarkan komponen utama yang membangun sebuah aplikasi seperti manipulasi data, user interface, dan bagian yang menjadi kontrol aplikasi. Terdapat 3 jenis komponen yang membangun suatu MVC pattern dalam suatu aplikasi yaitu :
  1. View, merupakan bagian yang menangani presentation logic. Pada suatu aplikasi web bagian ini biasanya berupa file template HTML, yang diatur oleh controller. View berfungsi untuk menerima dan merepresentasikan data kepada user. Bagian ini tidak memiliki akses langsung terhadap bagian model.
  2. Model, biasanya berhubungan langsung dengan database untuk memanipulasi data (insert, update, delete, search), menangani validasi dari bagian controller, namun tidak dapat berhubungan langsung dengan bagian view.
  3. Controller, merupakan bagian yang mengatur hubungan antara bagian model dan bagian view, controller berfungsi untuk menerima request dan data dari user kemudian menentukan apa yang akan diproses oleh aplikasi.
Dengan menggunakan prinsip MVC suatu aplikasi dapat dikembangkan sesuai dengan kemampuan developernya, yaitu programmer yang menangani bagian model dan controller, sedangkan designer yang menangani bagian view, sehingga penggunaan arsitektur MVC dapat meningkatkan maintanability dan organisasi kode. Walaupun demikian dibutuhkan komunikasi yang baik antara programmer dan designer dalam menangani variabel-variabel yang akan ditampilkan.
Ada beberapa kelebihan CodeIgniter (CI) dibandingkan dengan Framework PHP lain,
  • Performa sangat cepat : salah satu alasan tidak menggunakan framework adalah karena eksekusinya yang lebih lambat daripada PHP from the scracth, tapi Codeigniter sangat cepat bahkan mungkin bisa dibilang codeigniter merupakan framework yang paling cepat dibanding framework yang lain.
  • Konfigurasi yang sangat minim (nearly zero configuration)  : tentu saja untuk menyesuaikan dengan database dan keleluasaan routing tetap diizinkan melakukan konfigurasi dengan mengubah beberapa file konfigurasi seperti database.php atau autoload.php, namun untuk menggunakan codeigniter dengan setting standard, anda hanya perlu merubah sedikit saja file pada folder config.
  • Banyak komunitas: dengan banyaknya komunitas CI ini, memudahkan kita untuk berinteraksi dengan yang lain, baik itu bertanya atau teknologi terbaru.
  • Dokumentasi yang sangat lengkap : Setiap paket instalasi codeigniter sudah disertai user guide yang sangat bagus dan lengkap untuk dijadikan permulaan, bahasanya pun mudah dipahami.
  • Dan banyak lagi yang lainnya. sumber

Baca Disini Materinya

Disini

E-book Pemograman Manajemen Database Pendidikan berbasis Web dengan PHP dan Mysql

Buku ini sangat cocok bagi Anda yang ingin membuat  aplikasi pemro­graman PHP dan MySQL sebagai sebuah sarana untuk membangun database  berbasis  web.  Bahasan  dalam  buku  ini  juga  memberikan contoh aplikasi lengkap dengan listing script dan penjelasannya.
Materi dalam buku ini ditujukan bagi pemula dan menengah yang ingin membuat aplikasi web yang interaktif dengan menggunakan bahasa yang singkat  dan sistematis. Dengan demikian, diharapkan dapat membantu pembaca dalam memahami tiap-tiap bagian script dalam buku ini. Setiap kelompok bagian fungsi yang ada dalam proyek ini dimasukkan ke dalam bab-bab yang terpisah, sehingga Anda akan lebih mudah dalam mempelajarinya  sumber
Disini downloadnya

Jumat, 13 Desember 2013

Membuat Paspor Di Jakarta Selatan


Hari pertama -> bawa bukti print daftar online + semua dokumen asli & copy-nya(dokumen yg di scan yg pernah kita upload via onlinea) + foto +  bayar.

 Hari kedua (1 minggu setelahnya) -> ambil pasport dengan memeperlihatkan bukti bayar.

Jadi intinya online itu mempercepat kita dari 3x dateng jadi 2x aja. Kalo tanpa online, hari pertama kita bakal direpotin sama antri ambil & isi formulir yg nyebabin kadang foto disuruh balik lagi besoknya karena dah kesiangan.

Kalo pake online, hari pertama dateng tinggal beli amplop khusus di koperasi buat masukin bukti daftar online + semua dokumen asli & copy-an nya yg pernah kita scan & langsung deh ke loket jadi ga repot isi formulir. Bisa langsung dapet panggilan pertama deh..trus jam 11 siang dah difoto. Asal datengnya tetep pagi ya gan..jam 6 dah disana kalo bisa..

* inget copy-an dokumen harus ukuran A4 dan gak boleh dipotong. Maksudnya,kalo yg di copy tuh KTP, kan paling tu copy-an nya muncul di pojokan kertas A4. Nah bilang ama abangnya jangan dipotong biarin aja kaya gitu. Soalnya ada yg disuruh copy lagi disana gara2 dipotong gan ama petugasnya..cape ngantri lagi...

* Jangan langsung pulang gan, pas bayar jangan lupa dokumen asli diambil lagi & periksa bener gak, sapa tau ketuker ama punya org lain.. 

Sekian dari ane gan..

Secara Online Membuat Paspor

Jika teman-teman ada yang akan membuat Paspor untuk persiapan kirim berkas untuk Sending Data, dibawah ini akan dibahas tentang tata cara pembuatannya secara Online/ via Internet. Pembuatan Paspor secara Online akan mempermudah proses registrasi saat kita pertama datang ke Kantor Imigrasi. Tidak usah bayar jasa Calo lah, jika masih bisa dikerjakan sendiri apa salahnya mencoba sendiri langsung. Harap dicatat saja, untuk bayar jasa calo minimal kita harus merogoh kocek Rp. 500,000 sampai Rp.800,000. 

1. Langkah pertama silahkan buka alamat website Ditjen Imigrasi
Websitenya gan
2. Kemudian persiapkan terlebih dahulu Dokumen identitas persyaratan membuat paspor seperti berikut ini:
a. Akte Kelahiran.
b. KTP.
c. Kartu Keluarga.
d. Ijazah Terakhir.
e. Surat Nikah (bagi yang telah menikah).
Semua ny yang asli yaa gan jangan yg palsu 

3. Selanjutnya Scann semua kelengkapan dokumen tersebut diatas untuk kita upload secara online. Setelah itu isilah form isian yang ada di website buat paspor Online di imigrasi. Tata cara pengisian Aplikasi/ Formulir Pengajuan pembuatan Paspor secara online bisa Anda klik disini : Ini dia gan

Apabila sudah mengisi semua isian dan upload seluruh dokumen yang diminta, maka klik Simpan dan teman-teman akan memperoleh bukti pendaftaran yang dimana terdapat nama dan nomor pendaftaran. Kemudian Print Bukti Pendaftaran Online tersebut.

4. Setelah itu datang ke kantor imigrasi tempat anda tinggal, berikan Bukti Print Pendaftaran Online Passpor tersebut. Setelah itu anda akan diminta menunggu terlebih dahulu sekitar 15 menit. Setelah itu anda akan dipanggil, dan akan diberi bukti untuk tahap foto passpor. Untuk Foto paspor menunggu sekitar 2 minggu .

5. Nah apabila sudah tiba hari foto paspor, selanjutnya anda akan diminta membayar sejumlah uang untuk pembayaran paspor. Untuk Biaya Pembuatan Paspor 24 halaman, sebesar Rp. 270.000.

6. Selanjutnya tunggu giliran untuk foto dan sidik jari. Nah ini yang mungkin memakan waktu, karena antrian untuk foto dan sidik jari lebih banyak. Sekitar setengah hari untuk menunggu dipanggil foto dan sidik jari.


7. Setelah foto dan sidik jari, kita diminta menunggu sekitar 10 menit. Setelah itu kita dipanggil lagi, dan jadi lah paspor kita. 

Kamis, 21 November 2013

Cloud Computing, Booming

 Sejarah Cloud Computing     


                 
Sejarah cloud computing dimulai pada tahun1960-an, John McCarth seorang pakar komputer dari MIT meramalkan bahwa suatu hari nanti komputerisasi akan menjadi infrastruktur publik layaknya seperti berlangganan listrik atau telepon. Kemudian pada akhir tahun 1990-an, lahir konsep ASP (Application Service Provider) yang ditandai munculnya perusahaan pengolah data center. Selanjutnya pada tahun1995, Larry Ellison, pendiri Oracle, melahirkan wacana “Network Computing” pasca penetrasi Microsoft Windows 95 yang merajai pasar software dunia pada saat itu. Ide itu menyebutkan bahwa PC tidak perlu dibenamkan software yang membuat berat kinerja dan cukup diganti sebuah terminal utama berupa server. Pada awal tahun 2000-an, Marc Beniof, eks Vice President Oracle melansir aplikasi CRM berbentuk “software as a service” bernama Salesforce.com sebagai penanda lahirnya cloud computing. Tahun 2005, situs online shopping Amazon.com meluncurkan Amazon EC2 (Elastic Compute Cloud), diikuti Google dengan Google App Engine, dan IBM yang melansir Blue Cloud Initiative.

Perkembangan Cloud Computing atau Komputasi Awan

          

  Cloud computing saat ini sangat populer, selain dari pemain besar software seperti Microsoft dan Google, perusahaan lain bermunculan hanya untuk menyediakan layanan berbasis awan sebagai pengganti atau penyempurnaan aplikasi pada PC hari ini. Beberapa dari perusahaan tersebut adalah Zoho.com, sebuah office suite online, Evernote.com, merupakan sebuah situs yang ditujukan untuk catatan online , dan RememberTheMilk.com, manajemen tugas online. Email yang tersedia dalam bentuk web mail merupakan contoh yang sangat kecil dari teknologi cloud computing. Dengan menggunakan layanan email seperti Gmail dan Yahoo Mail, orang tidak perlu lagi menggunakan Outlook atau aplikasi desktop lainnya untuk email mereka. Membaca email dengan browser memungkinkan dilakukan di mana saja sepanjang ada koneksi internet.
     
            Microsoft sebagai perusahaan software terbesar saat ini, melansir “Microsoft Office 365” dan “Windows Azzure” sebagai sistem operasi (OS) berbasis komputasi awan yang digadang-gadang akan menggantikan OS Windows yang ada saat ini. Sementara itu Apple melansir “Mobile Me” untuk pengguna Mac yang disinkronisasikan dengan teknologi Cloud Computing. Sedangkan Google yang sejak 10 tahun silam mengincar pengembangan teknologi ini mulai mengerahkan para penggunanya dalam penerapan sederhana cloud computing melalui layanan “Google Docs” dimana kita dapat memanfaatkan layanan secara online tanpa harus install program. IBM juga telah meluncurkan produk pertamanya di teknologi ini sejak tiga tahun silam yang bernama “LotusLive”. Tidak ketinggalan Hitachi Data System (HDS) sebagai perusahaan data penyimpanan ketiga terbesar di dunia dari Jepang menggarap “Leapdrive.com” sebagai salah satu layanan cloud computing berupa ruang penyimpanan yang diminati publik saat ini.

Karakteristik Cloud Computing



1.    On-Demand Self-Services
Sebuah layanan cloud computing harus dapat dimanfaatkan oleh pengguna melalui  mekanisme swalayan dan langsung tersedia pada saat dibutuhkan. Campur tangan penyedia layanan adalah sangat minim. Jadi, apabila kita saat ini membutuhkan layanan aplikasi CRM (sesuai contoh di awal), maka kita harus dapat mendaftar secara swalayan dan layanan tersebut langsung tersedia saat itu juga.

2.    Broad Network Access 
Sebuah layanan cloud computing harus dapat diakses dari mana saja, kapan saja, dengan alat apa pun, asalkan kita terhubung ke jaringan layanan. Dalam contoh layanan aplikasi CRM di atas, selama kita terhubung ke jaringan Internet, saya harus dapat mengakses layanan tersebut, baik itu melalui laptop, desktop, warnet, handphone, tablet, dan perangkat lain.

3.    Resource Pooling 
Sebuah layanan cloud computing harus tersedia secara terpusat dan dapat membagi sumber daya secara efisien. Karena cloud computing digunakan bersama-sama oleh berbagai pelanggan, penyedia layanan harus dapat membagi beban secara efisien, sehingga sistem dapat dimanfaatkan secara maksimal.

4.    Rapid Elasticity 
Sebuah layanan cloud computing harus dapat menaikkan (atau menurunkan) kapasitas sesuai kebutuhan. Misalnya, apabila pegawai di kantor bertambah, maka kita harus dapat menambah user untuk aplikasi CRM tersebut dengan mudah. Begitu juga jika pegawai berkurang. Atau, apabila kita menempatkan sebuah website berita dalam jaringan cloud computing, maka apabila terjadi peningkatkan traffic karena ada berita penting, maka kapasitas harus dapat dinaikkan dengan cepat.

5.    Measured Service 
Sebuah layanan cloud computing harus disediakan secara terukur, karena nantinya akan digunakan dalam proses pembayaran. Harap diingat bahwa layanan  cloud computing dibayar sesuai penggunaan, sehingga harus terukur dengan baik.

3 Tingkatan Layanan Pada Cloud Computing:

1.    Infrastructure as service, hal ini meliputi Grid untuk virtualized server, storage & network. Contohnya seperti Amazon Elastic Compute Cloud dan Simple Storage Service.
.    Platform as a service, hal ini memfokuskan pada aplikasi dimana dalam hal ini seorang developer tidak perlu memikirkan hardware dan tetap fokus pada pembuatan aplikasi tanpa harus mengkhawatirkan sistem operasi, infrastructure scaling, load balancing dan lain-lain. Contohnya yang sudah mengimplementasikan ini adalah Force.com dan Microsoft Azure investment.

  
  Software as a service, Hal ini memfokuskan pada aplikasi dengan Web-based interface yang diakses melalui Web Service dan Web 2.0. Contohnya adalah Google Apps, SalesForce.com dan aplikasi jejaring sosial seperti FaceBook.


 Kelebihan dan Kekurangan Cloud Computing

1.       Kelebihan Cloud Computing
ð  Menghemat biaya investasi awal untuk pembelian sumber daya.
ð  Bisa menghemat waktu sehingga perusahaan bisa langsung fokus ke profit dan berkembang dengan cepat.
ð  Membuat operasional dan manajemen lebih mudah karena sistem pribadi/perusahaan yang tersambung dalam satu cloud dapat dimonitor dan diatur dengan mudah.
ð  Menjadikan kolaborasi yang terpercaya dan lebih ramping.
ð  Mengehemat biaya operasional pada saat realibilitas ingin ditingkatkan dan kritikal sistem informasi yang dibangun.


2.       Kekurangan Cloud Computing

ð  Continuous high availability
ð  Konsistensi (Consistency)
ð  Interoperability dan Standartization
ð  Skalabilitas untuk semua komponen
ð  Data secrecy
ð  Permasalahan legal dan politik dari penyimpanan data  dan translasi menyeberangi region
ð  Issu performansi
ð  Kesulitan kastemisasi
ð  Hambatan organisasi
ð  Service level
Cloud provider mungkin tidak akan konsisten dengan performance dari application atau transaksi. Mengharuskan anda untuk memahami service level mengenai transaction response time, data protection dan kecepatan data recovery.
ð  Privacy
Karena orang lain / perusahaan lain juga melakukan hosting kemungkinan data anda akan keluar atau di baca oleh pemerintah U.S. dapat terjadi tampa sepengetahuan anda atau approve dari anda.
ð  Compliance
Cloud service provider diharapkan dapat menyamakan level compliance untuk penyimpanan data didalam cloud


Jumat, 25 Oktober 2013

Buku Tamu dengan PHP



Pertama membuat file Index.php simpan di folder bukutamu,
Index.php  

<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html>
<head>
       <title>Guest Book</title>
</head>
<body>
<pre>
<h2>Signup Guestbook </h2>
<hr size=1>
<form name="tamu" method="post" action="simpan.php">
Name      : <input type="text" name="name"><br>
E-Mail    : <input type="text" name="email"><br>
Address   : <input type="text" name="alamat"><br>
City      : <input type="text" name="kota"><br>
Message   : <br><textarea name="msg"></textarea><br>
<input type="submit" name="submit" value="Send"><input type="reset" name="reset" value="Reset">
</form>
</body>
</html>
Lalu yang kedua membuat 
Kedua membuat file Simpan.php simpan di folder bukutamu,
Simpan.php
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html>
<head>
       <title>Simpan Data</title>
</head>
<body>
<?php
$nama=$_POST['name'];
$email=$_POST['email'];
$alm=$_POST['alamat'];
$kota=$_POST['kota'];
$msg=$_POST['msg'];

$koneksi=mysql_connect("localhost","root","");
mysql_select_db("buku_tamu");
$proses="INSERT INTO tamu(name,email,address,city,msg)
VALUES('$nama','$email','$alm','$kota','$msg')";
$hasil=mysql_query($proses,$koneksi);
echo "<font color=red size=5>Buku Tamu BERHASIL Diisi</font>";
?>
<br>
<a href="tampil.php"><h3>Lihat Buku Tamu</h3></a>
</body>
</html>
Untuk menampilkan file nya dengan membuat file,
Ketiga membuat tampil Index.php simpan di folder bukutamu, untuk menampilkan isi buku tamunya
Tampil.php
<!doctype html public "-//W3C//DTD HTML 4.0 //EN"> <html>
<head>
       <title>BUKU TAMU</title>
</head>
<body>
<pre>
<h1>BUKU TAMU</h1>
<a href="index.php"> <-- Kembali ke Form Buku Tamu</a>
<hr size=1>
<?php

$koneksi=mysql_connect("localhost","root","");
mysql_select_db("buku_tamu");
$sql=mysql_query("SELECT * FROM tamu", $koneksi);
while($data=mysql_fetch_array($sql))
{
 $id=$data['id'];
 $name=$data['name'];
 $email=$data['email'];
 $alm=$data['address'];
 $city=$data['city'];
 $msg=$data['msg'];
 
 echo "No     : $id<br>";
 echo "Nama   : $name<br>";
 echo "E-Mail : $email<br>";
 echo "Alamat : $alm, $city<br>";
 echo "Pesan  : $msg<br><hr size=1>";
      }
 ?>
</body>
</html>



Senin, 21 Oktober 2013

TDD Rekayasa Perangkat Lunak


TESTING - Test Case pada TDD

Test driven development adalah metodologi terbaru dalam pengembangan perangkat lunak. Berbeda dengan metodologi lain yang berbasiskan develop then test, metodologi ini mewajibkan pembuatan kasus-kasus pengujian terlebih dahulu sebelum membuat applikasi.
Langkah umumnya adalah :
1. buat class baru
2. buat class pengujinya
3. buat skeleton class baru
4. buat skeleton class penguji
5. kompilasi
6. jalankan di di nunit
7. jika ada kesalahan perbaiki kode class baru dan class penguji dan lakukan langkah 5 dan 6 lagi

Alasan-alasan yang menyebakan metodologi ini dikembangkan adalah :
• pengujian belakangan sering tidak lengkap
• sulit menguji ketika applikasi sudah komplek
• sulit menguji ketika sudah ada user interface (data entri lambat dan tidak reuse)
• manajemen test case sulit dilakukan kecuali pada tataran dimana perusahaan software sudah besar
• metodologi lain menghasilkan code yang kurang self explainatory (menjelaskan dirinya)

Kesulitan utama dalam pembuatan dalam metodologi ini adalah penciptaan kelengkapan kasus pengujian. Ada beberapa teknik yang akan penulis bagikan sebagai hasil uji coba penulis sejauh ini antara lain refactoring, boundary testing dan cylomatic testing. Semua jenis testing ini adalah white box testing. Inti ketiga testing di atas adalah membandingkan hasil yang diperolah dari method yang kita buat dan hasil kalkulasi yang dilakukan manual. Semuanya akan penulis jelaskan di bagian bawah artikel ini nanti.


Pembangkitan kasus uji pada prinsipnya mengacu pada operasi-operasi yang ada dalam sebuah method yang akan diuji. Secara garis besar operasi elementer dalam sebuah method meliputi :
• kalkulasi
• perulangan
• analisa kasus
Jadi sebagai bagian dari kelengkapan artikel akan dibuat beberapa contoh yang berdasarkan 3 operasi elementer di atas. Sebagai contoh akan dibuat beberapa method.
Refactoring adalah teknik memodifikasi source code. Teknik ini sebenarnya mungkin agak salah kaprah untuk dipakai sebagai bagian dari metodologi ini, karena tujuan refactoring adalah memperbaiki struktur internal source code agar mudah dipahami dan dibaca. Namun penulis merasa teknik ini adalah teknik pengujian parsial yang sangat membantu.

Contoh Kasus :
Sebagai contoh lihatlah evolusi method penguji bentuk air pada suhu tertentu di bawah ini
Versi 1
Function bentukair(pIntSuhu as integer) as string
Return “padat”
End function
Maka test casenya
• Bentukair(10) akan bernilai benar jika menghasilkan string padat
Versi 2
Function bentukair(pIntSuhu as integer) as string
If pIntSuhu<=0 then
Return “padat”
Else if pIntSuhu>=1 and pIntSuhu<=100 then
Return “Cair”
End if
End function
Maka test casenya
• bentukair(0)) akan bernilai benar jika menghasilkan string “padat”
• bentukair(10)) akan bernilai benar jika menghasilkan string “cair”
Boundary testing adalah teknik membangkitkan nilai-nilai test dengan cara menguji nilai-nilai batas yang ada di dalam analisa kasus yang digunakan. Sebagai contoh lihat method penguji bentuk air pada suhu tertentu di bawah ini
Function bentukair(pIntSuhu as integer) as string
If pIntSuhu<=0 then
Return “padat”
Else if pIntSuhu>=1 and pIntSuhu<=100 then
Return “cair”
Else
Return “gas”
End if
End function
Contoh ini akan menghasilkan beberapa kasus uji yaitu :
• bentukair(-1) akan bernilai benar jika menghasilkan string “padat”
• bentukair(0) akan bernilai benar jika menghasilkan string “padat”
• bentukair(1) akan bernilai benar jika menghasilkan string “cair”
• bentukair(2) akan bernilai benar jika menghasilkan string “cair”
• bentukair(99) akan bernilai benar jika menghasilkan string “cair”
• bentukair(100) akan bernilai benar jika menghasilkan string “cair”
• bentukair(101) akan bernilai benar jika menghasilkan string “gas”
Test case di atas diperoleh dari pengurangan dan penambahan angka 1 terhadap nilai nilai yang dijadikan analisa kasus.
If pIntSuhu<=0 menghasilkan -1, 0 dan 1
If pIntSuhu >=1 and pIntSuhu<=100 menghasilkan 1,2,99,100, 101.
Jika angka 1 tidak memadai gunakan 0.1,0.01,0.001 dan seterusnya bergantung pada tipe data (integer atau real)
Cyclomatic testing adalah sebuah testing untuk menguji semua jalur eksekusi yang ada di sebuah program dengan jalan membangkitkan semua test case yang mungkin. Kembali ke contoh penentu suhu air di atas. Kita dapat menambahkan variable lain untuk memperumit kondisi diatas katakanlah x yang berupa integer berisi nilai 1,2,3,4,5,6
Function bentukair(pIntSuhu as integer, x as integer) as string
If pIntSuhu<=0 then
If x= 1 then
Return “padat1”
Else if x=2 then
Return “padat2”
Else
Return “invalid”
End if
Else if pIntSuhu>=1 and pIntSuhu<=100 then
If x=3 then
Return “cair3”
Else x= 4 then
Return “cair4”
Else
Return “invalid”
End if
Else
If x=5 then
Return “gas5”
Else if x= 6 then
Return “gas6”
Else
Return “invalid”
End if
End function
Karena fungsi di atas merupakan pengembangan dari fungsi bentukair sebelumya maka kita dapat menggunakan testcase dari bentuk air sebelumnya menjadi bagian dari test case fungsi sekarang. Berikut ini adalah daftarnya
• bentukair(-1,0) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(-1,1) akan bernilai benar jika menghasilkan string “padat1”
• bentukair(-1,2) akan bernilai benar jika menghasilkan string “padat2”
• bentukair(-1,3) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(0,0) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(0,1) akan bernilai benar jika menghasilkan string “padat1”
• bentukair(0,2) akan bernilai benar jika menghasilkan string “padat2”
• bentukair(0,3) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(1,2) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(1,3) akan bernilai benar jika menghasilkan string “cair3”
• bentukair(1,4) akan bernilai benar jika menghasilkan string “cair4”
• bentukair(1,5) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(2,2) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(2,3) akan bernilai benar jika menghasilkan string “cair3”
• bentukair(2,4) akan bernilai benar jika menghasilkan string “cair4”
• bentukair(2,5) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(99,2) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(99,3) akan bernilai benar jika menghasilkan string “cair3”
• bentukair(99,4) akan bernilai benar jika menghasilkan string “cair4”
• bentukair(99,5) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(100,2) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(100,3) akan bernilai benar jika menghasilkan string “cair3”
• bentukair(100,4) akan bernilai benar jika menghasilkan string “cair4”
• bentukair(100,5) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(101,4) akan bernilai benar jika menghasilkan string “invalid”
• bentukair(101,5) akan bernilai benar jika menghasilkan string “gas5”
• bentukair(101,6) akan bernilai benar jika menghasilkan string “gas6”
• bentukair(101,7) akan bernilai benar jika menghasilkan string “invalid”
Untuk operasi elementer kalkulasi sebenarnya cukup sulit dilakukan karena begitu banyaknya data uji yang dapat dibuat. Sebagai contoh lihat fungsi tambah1 dibawah ini
Function tambah1(pint as integer) as integer
Return pint+1
End function

Penjelasan nya :
Kelihatannya mudah. Tetapi untuk menjamin sistem ini benar maka data ujinya bisa dari – tak hingga sampai + tak hingga. Sangat banyak. Jadi kita hanya bisa berharap saja.
Untuk operasi elementer perulangan maka dapat digunakan metode yang sama analisa kasus. Sebagai contoh akan dibuat sebuah fungsi yang menentukan apakah sebuah elemen bernilai x ada di dalam sebuah array. Array dinamakan mObjData dan tipe elemennya adalah integer
Function IsExist(x as integer) as boolean
Dim dBolKetemu as boolean =false
Dim I as integer
For i= 0 to mObjData.length-1 do
If x=mObjData[i] then
dBolKetemu=true
exit for
end if
End for
Return dBolKetemu
End function
Maka untuk menguji fungsi diatas adalah
• mObjData kosong tidak memiliki elemen apapun. Akan bernilai benar jika menghasilkan false
• mObjData berisi beberapa buah elemen dan x tidak ada di dalamnya. Akan bernilai benar jika menghasilkan false
• mObjData berisi beberapa buah elemen dan x ada di elemen pertama. Akan bernilai benar jika menghasilkan true
• mObjData berisi beberapa buah elemen dan x ada di elemen terakhir. Akan bernilai benar jika menghasilkan true jadi pada perulangan yang harus di test adalah jika :
• loop tidak dimasuki sama sekali
• loop dimasuki 1 kali
• loop dimasuki sebanyak n kali