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

<channel>
	<title>artharry blog &#187; Database</title>
	<atom:link href="http://www.artharry.com/blog/category/database/feed" rel="self" type="application/rss+xml" />
	<link>http://www.artharry.com/blog</link>
	<description></description>
	<lastBuildDate>Tue, 29 Dec 2009 10:01:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Menampilkan Data dari Database</title>
		<link>http://www.artharry.com/blog/menampilkan-data-dari-database.html</link>
		<comments>http://www.artharry.com/blog/menampilkan-data-dari-database.html#comments</comments>
		<pubDate>Wed, 21 Jan 2009 05:06:07 +0000</pubDate>
		<dc:creator>artharry</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Paradox]]></category>
		<category><![CDATA[Pemrograman]]></category>
		<category><![CDATA[Akses Database]]></category>
		<category><![CDATA[Database Desktop]]></category>
		<category><![CDATA[Menampilkan Data]]></category>
		<category><![CDATA[Paradox dengan Delphi]]></category>

		<guid isPermaLink="false">http://www.artharry.com/blog/?p=120</guid>
		<description><![CDATA[Menampilkan data disini adalah menampilkan data yang ada di dalam database melalui aplikasi yang kita bangun. Jadi, tentu saja sebelumnya kita harus punya database terlebih dahulu yang sudah berisi data-data tertentu yang nantinya ditampilkan di aplikasi. Sebelum lebih jauh kita pelajari, database yang dimaksud disini adalah database paradox dan program yang kita gunakan nanti adalah [...]]]></description>
			<content:encoded><![CDATA[<p>Menampilkan data disini adalah menampilkan data yang ada di dalam <em>database</em> melalui aplikasi yang kita bangun. Jadi, tentu saja sebelumnya kita harus punya database terlebih dahulu yang sudah berisi data-data tertentu yang nantinya ditampilkan di aplikasi. Sebelum lebih jauh kita pelajari, <em>database</em> yang dimaksud disini adalah <em>database paradox</em> dan program yang kita gunakan nanti adalah program <em>Borland Delphi</em>.</p>
<p>Jika masih bingung, mungkin bisa membaca dulu postingan sebelumnya tentang cara membuat <a title="Database Sederhana" href="http://www.artharry.com/blog/database-sederhana-paradox.html" target="_blank">Database Sederhana</a> dan <a title="Aplikasi Sederhana" href="http://www.artharry.com/blog/program-delphi-sederhana.html" target="_blank">Aplikasi Sederhana</a>.<span id="more-120"></span></p>
<p>Pertama yang kita lakukan adalah menyiapkan <em>database</em>nya terlebih dahulu, jika masih bingung, silahkan baca dan <em>download</em> contohnya pada posting sebelumnya. Jangan lupa untuk membuat <em>folder</em> baru, seperti yang telah saya sampaikan sebelumnya, yang digunakan untuk meletakkan database dan aplikasi nantinya, sebut saja namanya Lesson3.</p>
<p>Simpan atau taruh databasenya ke <em>folder</em> Lesson3, kemudian buka program <em>Borland Delphi</em>. Sebelum menjalankan (<em>run</em>) program <em>Delphi</em>, simpan dahulu dengan menekan tombol <em>save all</em> di <em>toolbar</em> atau melalui menu &#8216;File-&gt;Save All&#8217; ke <em>folder</em> Lesson3 tadi. Sehingga dalam <em>folder</em> tersebut terdapat <em>database</em> dan aplikasi dalam satu lokasi yang sama dan kemudian menampilkan data yang ada di <em>database</em> melalui aplikasi yang kita bangun ini nantinya.</p>
<p>Kembali ke tampilan <em>Borland Delphi</em>, klik <em>tab</em> &#8216;BDE&#8217; pada <em>components palette</em> dan pilih <em>component</em> &#8216;Table (DBTables)&#8217; yang terletak paling sebelah kiri. <em>Double</em> klik atau klik satu kali dan klik ke <em>form</em> satu kali, hal ini bermaksud untuk menambahkan <em>component</em> &#8216;Table&#8217; tersebut ke<em> form</em>. Dengan cara yang sama, klik <em>tab</em> &#8216;Data Access&#8217; dan pilih <em>component</em> &#8216;DataSource (DB)&#8217;, kemudian klik <em>tab</em> &#8216;Data Controls&#8217; dan pilih <em>component</em> &#8216;DBGrid (DBGrids)&#8217; untuk menambahkan &#8216;Grid&#8217;.</p>
<p><em>Component</em> &#8216;Table&#8217; tersebut berguna untuk menentukan atau mengakses <em>table</em> dari <em>database</em> yang ingin ditampilkan, sedangkan &#8216;DataSource&#8217; berguna untuk menjembatani antara &#8216;Table&#8217; dan penggunaan data pada aplikasi, dan sedang &#8216;DBGrid&#8217; berguna untuk menampilkan data yang ada di <em>database</em> melalui &#8216;data source&#8217; yang telah ditentukan table mana yang ingin ditampilkan. Sehingga, jika kita memiliki 3 buah <em>table </em>dalam <em>database</em>, maka kita juga akan mempunyai 3 buah &#8216;table&#8217;, &#8216;datasource&#8217; dan &#8216;DBGrid&#8217; (walaupun sebenarnya dapat juga cuma satu untuk masing-masing, namun dengan logika pemrograman yang sedikit lebih rumit daripada dengan menggunakan cara tersebut).</p>
<p>Sekarang tinggal mengatur masing-masing <em>component</em> tersebut, yang pertama <em>component</em> &#8216;Table&#8217;, klik (satu kali saja, karena kalau <em>double</em> klik akan beda hasilnya) <em>component</em> tersebut kemudian cari <em>properties</em> &#8216;TableName&#8217; di <em>Object Inspector</em> di sebelah kiri bawah.  Seharusnya disana sudah ada pilihan &#8216;Table&#8217; (buku_telepon.db) karena dari awal tadi kita telah menjadikan satu antara <em>database</em> dan aplikasi yang sedang kita bangun ini, kemudian pilih <em>table</em> tersebut. Setelah itu (masih di <em>properties</em>, <em>Object Inspector</em>) ubah <em>properties</em> &#8216;Active&#8217; (letaknya paling atas) menjadi &#8216;True&#8217;, jika berhasil maka anda telah terhubung ke <em>database</em>.</p>
<p>Kedua kita mengatur <em>Data Source</em>, klik (satu kali saja) pada <em>component</em> &#8216;DataSource1&#8242; yang ada di <em>form</em>, kemudian ubah <em>properties</em> &#8216;DataSet&#8217; menjadi &#8216;Table1&#8242;. Setelah itu yang terakhir kita atur <em>DBGrid</em>, klik pada <em>component</em> &#8216;DBGrid1&#8242;, udah <em>properties</em> &#8216;DataSource&#8217; menjadi &#8216;DataSource1&#8242;.</p>
<p>Setelah pengaturan itu semua, harusnya data yang ada di dalam <em>database</em> akan muncul ke <em>DBGrid</em> yang ada di <em>form</em> itu, tanpa menjalankan programnya. Tekan tombol F9 untuk menjalankan dan melihat hasilnya.</p>
<p>Sebenarnya ada beberapa cara untuk menyambungkan <em>database</em> ke aplikasi, contoh di atas memperlihatkan contoh yang paling sederhana, namun demikian dapat juga diatur dengan menggunakan alias maupun dengan membuat databse lokal di apliakasi, mungkin akan kita bahas di postingan berikutnya, <img src='http://www.artharry.com/blog/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>Silahkan download contoh filenya disini: <a href='http://www.artharry.com/blog/menampilkan-data-dari-database.html/lesson3' rel='attachment wp-att-152'>lesson3</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artharry.com/blog/menampilkan-data-dari-database.html/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Database sederhana Paradox</title>
		<link>http://www.artharry.com/blog/database-sederhana-paradox.html</link>
		<comments>http://www.artharry.com/blog/database-sederhana-paradox.html#comments</comments>
		<pubDate>Wed, 03 Sep 2008 21:02:52 +0000</pubDate>
		<dc:creator>artharry</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Delphi]]></category>
		<category><![CDATA[Paradox]]></category>
		<category><![CDATA[Pemrograman]]></category>
		<category><![CDATA[Database Desktop]]></category>

		<guid isPermaLink="false">http://www.artharry.com/blog/?p=70</guid>
		<description><![CDATA[Untuk membuat database Paradox ini dapat menggunakan aplikasi Database Desktop yang secara default terinstall ketika kita menginstall Borland Delphi, dalam hal ini Delphi 7. Untuk membukanya dapat melalui menu Start-&#62;Programs-&#62;Borland Delphi 7-&#62;Database Desktop atau juga dapat dibuka melalui Borland Delphi 7. Dari beberapa menu di Borland Delphi, pilih menu Tools kemudian pilih sub menu Database [...]]]></description>
			<content:encoded><![CDATA[<p>Untuk membuat database <em>Paradox</em> ini dapat menggunakan aplikasi <em>Database Desktop</em> yang secara default terinstall ketika kita menginstall <em>Borland Delphi</em>, dalam hal ini <em>Delphi 7</em>. Untuk membukanya dapat melalui menu <em>Start-&gt;Programs-&gt;Borland Delphi 7-&gt;Database Desktop</em> atau juga dapat dibuka melalui <em>Borland Delphi 7</em>. Dari beberapa menu di <em>Borland Delphi</em>, pilih menu <em>Tools</em> kemudian pilih sub menu <em>Database Desktop</em>. Kedua cara tersebut akan membuka aplikasi <em>Dataabse Desktop</em> yang nantinya digunakan membuat database <em>Paradox</em>.</p>
<p><span id="more-70"></span>Untuk membuat database, pertama-tama kita buat <em>table</em> kemudian <em>field</em> serta tipe datanya dan <em>primary key</em> jika diperlukan. Setelah aplikasi <em>Database Desktop</em> dibuka, pilih menu <em>File-&gt;New-&gt;Table&#8230;</em> kemudian pilih <em>table type</em>-nya <em>Paradox 7</em>. Sekarang kita akan membuat tabel, misal tabel <em>buku_telepon</em>, dengan <em>field</em> : kode, nama, nomor telepon yang masing-masing mempunyai tipe data <em>integer</em>,<em> alpha</em>(45) dan <em>alpha</em>(20). Sebagai catatan, untuk membuat <em>field </em>disarankan untuk tidak memberi <em>nama field</em> berupa angka atau karakter tertentu pada awal <em>nama field,</em> misal <em>2nama</em>, selain itu juga disarankan untuk tidak memberi karakter spasi pada <em>nama field</em>, misal <em>nama teman</em>.</p>
<p>Isikan <em>kode</em> pada <em>Field Name</em>, kemudian pilih <em>Type</em> dengan klik kanan pada <em>mouse</em> atau dengan menekan spasi pada <em>keyboard</em> dan pilih <em>Long Integer</em>. <em>Size</em> dikosongi saja karena tipe data <em>Long Integer</em> telah memiliki batas ukuran tersendiri. Isi <em>Key</em> dengan  karakter * (asterik) atau klik dua kali dengan <em>mouse</em> dengan maksud bahwa field <em>kode</em> ini dijadikan sebagai <em>primary key</em> dari tabel <em>buku_telepon</em> ini, dan kemudian tekan tombol <em>enter</em>. Dengan cara yang sama, buat <em>field nama</em> dengan tipe data <em>Alpha</em> dan <em>Size</em> 45 serta <em>field nomor</em> dengan tipe data <em>Alpha</em> dan <em>Size</em> 20.</p>
<p>Setelah selesai membuat <em>field</em>, simpan tabel dengan menekan tombol <em>Save as&#8230;</em> dan beri nama <em>buku_telepon</em>, jangan lupa untuk menentukan lokasi penyimpanan dengan memilih lokasi folder pada sebelah kanan <em>Save in:</em> untuk mempermudah pengelolaan data nantinya. Setelah lokasi sudah sesuai dan nama tabel juga sudah terisi, klik tombol <em>Save</em>. Sampai disini, pembuatan tabel <em>buku_telepon</em> telah selesai, untuk melihat hasilnya dapat membuka tabel yang telah dibuat tadi di folder tempat lokasi penyimpanan tabel tersebut.</p>
<blockquote><p>Agar mempermudah kita membuka tabel yang kita buat tadi tanpa mebuka banyak folder untuk mencarinya, kita dapat menentukan folder tempat kita menyimpan tabel tadi sebagai default-nya sehingga jika kita ingin membuka tabel tadi kita akan langsung menuju folder tersebut. Caranya yaitu pilih menu <em>File-&gt;Working Directory&#8230; </em>kemudian tentukan lokasi folder tempat menyimpan tabel tadi dengan menekan tombol <em>Browse</em>, dan Setelah lokasi telah ditentukan kemudian klik tombol OK, jika ada pertanyaan &#8220;<em>Do you want continue?</em>&#8221; pilih OK. Untuk mengetahui hasilnya dapat memilih menu <em>File-&gt;Open-&gt;Table&#8230;</em> dan jika pengaturan tadi berhasil maka akan langsung menuju ke folder tempat menyimpan tabel tersebut.</p></blockquote>
<p>Tabel yang telah dibuat tadi dapat diisikan data dengan cara manual yaitu dengan membuka tabel melalui menu <em>File-&gt;Open-&gt;Table&#8230; </em>kemudian pilih tabel yang akan diisikan datanya<em>.</em> Sampai disini tabel belum dapat diisi, untuk merubah agar dapat diisi pilih menu <em>Table-&gt;Edit Data</em>.<em> </em>Untuk menyimpan data yang telah diisikan cukup dengan menutup tabel tersebut, dan jika ada pertanyaan &#8220;<em>Do you want to save them?</em>&#8221; pilih <em>Yes</em> maka data akan tersimpan dalam database <em>buku_telepon</em> tersebut.</p>
<p>Pembuatan database <em>Paradox</em> sederhana dengan aplikasi <em>Database Desktop</em> selesai, dan database tersebut dapat diakses, ditambah, dirubah dan dikurangi melalui aplikasi yang kita buat sendiri, misalnya dengan menggunakan <em>Software Borland Delphi</em>. Tunggu postingan berikutnya.. <img src='http://www.artharry.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Download File: <a title="Database Paradox Sederhana" href="http://www.artharry.com/blog/program-delphi-sederhana.html/lesson1" target="_blank">Database Paradox Sederhana</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artharry.com/blog/database-sederhana-paradox.html/feed</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Akses MySQL dari &#8220;host&#8221; lain</title>
		<link>http://www.artharry.com/blog/akses-mysql-dari-host-lain.html</link>
		<comments>http://www.artharry.com/blog/akses-mysql-dari-host-lain.html#comments</comments>
		<pubDate>Sat, 02 Aug 2008 09:29:09 +0000</pubDate>
		<dc:creator>artharry</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Akses MySQL]]></category>

		<guid isPermaLink="false">http://www.artharry.com/blog/?p=42</guid>
		<description><![CDATA[Perintah dasar tersebut akan kita jumpai jika kita mempunyai program PHP yang terhubung dengan database MySQL. Koneksi ke database MySQL dilakukan ke komputer yang sama dengan letak program PHP tersebut dengan menggunakan username sebagai user dan passwordnya. Jadi, antara program dan database terdapat dalam satu host atau komputer yang sama. Tetapi kok program web dan [...]]]></description>
			<content:encoded><![CDATA[<p>Perintah dasar tersebut akan kita jumpai jika kita mempunyai program PHP yang terhubung dengan database MySQL. Koneksi ke database MySQL dilakukan ke komputer yang sama dengan letak program PHP tersebut dengan menggunakan username sebagai user dan passwordnya. Jadi, antara program dan database terdapat dalam satu host atau komputer yang sama. Tetapi kok program web dan database saya bisa saya akses dari komputer saya, dari warnet, dari mana saja asalkan terhubung ke internet? Memang benar dapat diakses dari mana saja, akan tetapi pada dasarnya program dan database tersebut berada pada satu komputer yang komputer tersebut dapat kita &#8220;masuki&#8221; dengan user yang terbatas hak aksesnya.</p>
<p>Lalu, apakah mungkin kita akses database yang berada pada komputer lain dari komputer kita? dengan kata lain database berada pada komputer lain sedangkan program berada pada komputer kita.<br />
<span id="more-42"></span></p>
<p>Baris program tersebut melakukan koneksi ke komputer atau host 192.168.0.1 dari komputer dimana program tersebut berada. Jika kita sering menggunaka web server lokal komputer dengan menggunakan user &#8220;root&#8221; sebaga user untuk koneksi ke mysql, biasanya secara default user tersebut telah memiliki hak akses ke seluruh database yang ada. Namun demikian, jika hal tersebut dilakukan dari komputer lain untuk mengakses mysql belum tentu dapat dilakukan karena tidak memiliki hak akses ke database dari komputer lain.</p>
<p>Salah satu pesan kesalahan jika sedang melakukan koneksi dari komputer lain adalah sebagai berikut:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">Warning: mysql_connect(): Client does not support authentication protocol requested by server; consider upgrading MySQL client in connection.php on line 10</div>
</li>
</ol>
</div>
<p>permasalahan tersebut terjadi karena adanya pengecekan autentikasi password pada MySQL 5.0 di komputer yang terdapat database tersebut sedangkan client atau komputer program berada menggunakan MySQL 4.0 dibawahnya.</p>
<p>Cara menanganinya yaitu<br />
- Install MySQL client diatas 4.0 untuk komputer dimana program berada, atau<br />
- Update password untuk user dimana database MySQL berada dengan syntax:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">INSERT into mysql.db <span class="br0">&#40;</span>Host,Db,user<span class="br0">&#41;</span> values <span class="br0">&#40;</span><span class="st0">&#8217;192.168.0.1&#8242;</span>,<span class="st0">&#8216;Nama Database&#8217;</span>,<span class="st0">&#8216;Nama user&#8217;</span><span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1">UPDATE mysql.user SET Password = OLD_PASSWORD<span class="br0">&#40;</span><span class="st0">&#8216;password baru&#8217;</span><span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">WHERE Host = <span class="st0">&#8216;alamat host / IP&#8217;</span> AND User = <span class="st0">&#8216;nama user&#8217;</span>;</div>
</li>
<li class="li1">
<div class="de1">FLUSH PRIVILEGES;</div>
</li>
</ol>
</div>
<p>Baris pertama untuk memberikan hak akses kepada user untuk mengakses database dari 192.168.0.1 dengan database yang ditentukan dan hak-hak apa saja yang dapat diberikan. Sedangkan baris 2 sampai 4 dilakukan karena adanya perbedaan versi MySQL antara di komputer 192.168.0.1 dan komputer databse berada. Untuk melakukan ini Anda harus mempunyai hak akses untuk merubah password user mysql dan hak akses memberikan <em>privileges</em>-nya.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.artharry.com/blog/akses-mysql-dari-host-lain.html/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Backup, bagian yang harus kita lakukan</title>
		<link>http://www.artharry.com/blog/backup-bagian-penting-yang-harus-kita-lakukan.html</link>
		<comments>http://www.artharry.com/blog/backup-bagian-penting-yang-harus-kita-lakukan.html#comments</comments>
		<pubDate>Thu, 24 Jul 2008 02:49:53 +0000</pubDate>
		<dc:creator>artharry</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[Keamanan Data]]></category>
		<category><![CDATA[backup data]]></category>
		<category><![CDATA[database backup]]></category>
		<category><![CDATA[web backup]]></category>

		<guid isPermaLink="false">http://www.artharry.com/blog/?p=5</guid>
		<description><![CDATA[Backup menurut pandangan saya merupakan proses duplikasi. Disebut duplikasi karena proses yang terjadi disana pada hakikatnya memang seperti itu. Hal ini dilakukan apabila terjadi kerusakan pada data utama sehingga dapat mengembalikan kembali melalui data duplikasi tersebut. Pertanyaan yang muncul selanjutnya adalah mengapa kita perlu melakukan backup? se-penting itukah backup? kapan kita harus melakukan backup? apa [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-19" title="Backup Recovery" src="http://www.artharry.com/blog/wp-content/uploads/2008/07/backuprecovery-284x300.jpg" alt="Backup Recovery" width="155" height="165" />Backup menurut pandangan saya merupakan proses duplikasi. Disebut duplikasi karena proses yang terjadi disana pada hakikatnya memang seperti itu. Hal ini dilakukan apabila terjadi kerusakan pada data utama sehingga dapat mengembalikan kembali melalui data duplikasi tersebut.</p>
<p>Pertanyaan yang muncul selanjutnya adalah mengapa kita perlu melakukan backup? se-penting itukah backup? kapan kita harus melakukan backup? apa saja yang harus kita backup? dimana kita harus meletakan data hasil backup?<br />
Itu semua tergantung dengan data yang kita miliki yang akan kita backup.<br />
<span id="more-5"></span><br />
Untuk mengantisipasi ketika terjadi kerusakan data, <em>penghapusan secara sengaja maupun tidak</em>, atau media penyimpanan data, <em>dalam hal ini perangakat keras</em>, yang hilang atau rusak maka diperlukan adanya backup data. Hal ini sangat membantu ketika kita ingin mengembalikan data aslinya walaupun tidak persis saat terjadinya kerusakan data, akan tetapi setidak²nya mendekati atau tergantung dari kapan kita melakukan backup data tersebut dengan me-<em>restore</em>nya. Seandainya kita tidak mempunyai data backup, <em>ya benar</em>, pasti kita tidak akan bisa mengembalikannya. Jadi kita tidak akan membuat data tersebut dari awal lagi, melainkan hanya menambahkan data selama backup terakhir sampai dengan terjadinya kerusakan data.</p>
<p>Waktu untuk melakukan backup data tergantung dari kebutuhan kita dengan acuan seberapa penting data tersebut dan seberapa banyak perubahan data dalam sehari, seminggu atau mungkin juga sebulan. Jika data tersebut dalam sehari mengalami perubahan yang sangat berarti maka akan lebih baik jika dilakukan setiap hari, sehingga ketika ada kerusakan data pada tengah hari hanya data setengah hari tersebut yang mungkin akan hilang. Jadi tergantung dari banyak sedikitnya perubahan data yang kita miliki.</p>
<p>Sedangkan data apa yang harus kita amankan (<em>backup</em>) juga sangat tergantung dari perubahan data tersebut. Misalnya kita memiliki sistem yang melakukan penyimpanan data pada suatu database, maka antara sistem dan database pasti akan memiliki perbedaan frekuensi backup antara keduanya. Ketika sistem sudah tidak lagi mengalami perubahan, maka sistem tidak perlu kita backup setiap hari melainkan ketika ada perubahan saja. Sedangkan data yang disimpan dalam database pasti akan mengalami banyak perubahan tergantung banyak sedikitnya transaksi yang berlangsung.</p>
<p>Apakah sampai disini sudah bisa dikatakan aman, <em>belum</em>,  minimal kita jangan hanya mempercayakan media penyimpanan pada satu tempat saja, sehingga jika kita sebelumnya menyimpan data hasil backup pada hardisk, maka tidak ada salahnya kita juga meyimpannya dalam kepingan CD ata DVD jika telah mencapai kapasitas yang besar. Jadi walaupun kita kehilangan data backup dalam hardisk, kita masih punya lagi data backup yang lain.</p>
<p>Semua pada akhirnya tergantung Anda, jadi tergantung penting tidaknya data yang anda miliki dan apakah sudah mempercayakan media penyimpanan yang ada tanpa melakukan backup. Namun demikian, backup merupakan bagian yang harus kita lakukan sebagai antisipasi.</p>
<p><em>* image from: profitability.net</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artharry.com/blog/backup-bagian-penting-yang-harus-kita-lakukan.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Sequence di postgreSQL</title>
		<link>http://www.artharry.com/blog/sequence-di-postgresql.html</link>
		<comments>http://www.artharry.com/blog/sequence-di-postgresql.html#comments</comments>
		<pubDate>Mon, 14 Jul 2008 09:32:25 +0000</pubDate>
		<dc:creator>artharry</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[postgreSQL]]></category>
		<category><![CDATA[create sequence]]></category>
		<category><![CDATA[describe postgreSQL table]]></category>
		<category><![CDATA[drop sequence]]></category>
		<category><![CDATA[postgreSQL sequence]]></category>

		<guid isPermaLink="false">http://www.artharry.com/blog/?p=4</guid>
		<description><![CDATA[Mungkin akan mendapat kurang perhatian oleh kita untuk masalah yang satu ini, SEQUENCE (kalau menurut saya seh mungkin lebih mirip dengan auto_increament di MySQL), karena hal ini hanya kita temukan ketika kita akan membuat table di postgreSQL dan setelah itu mungkin kita jarang berhubungan dengannya. Oleh sebab itu ketika ada suatu kesalahan, maka tidak ada [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-medium wp-image-24" title="Postgres Slonik" src="http://www.artharry.com/blog/wp-content/uploads/2008/07/postgres_slonik.png" alt="" width="132" height="136" />Mungkin akan mendapat kurang perhatian oleh kita untuk masalah yang satu ini, SEQUENCE (kalau menurut saya seh mungkin lebih mirip dengan auto_increament di MySQL), karena hal ini hanya kita temukan ketika kita akan membuat table di postgreSQL dan setelah itu mungkin kita jarang berhubungan dengannya. Oleh sebab itu ketika ada suatu kesalahan, maka tidak ada salahnya untuk memeriksa SEQUENCE ini.</p>
<p>Contoh kasus seperti ini, misalnya, ketika program dan database jadi dan sudah jalan dalam beberapa waktu, tiba-tiba terdapt kesalahan baru pada saat memasukkan data, apapun itu pasti tidak akan terlihat dimana kesalahannya jika kita tidak menampilkannya. Dengan demikian kita dapat menelusurinya dari program yang mengalami kesalahan tersebut dengan memberikan parameter bantuan atau dengan memeriksa databasenya dengan memasukkan (<em>insert</em>) secara manual, dan ternyata tidak bisa juga.</p>
<p>Sekarang permasalahannya adalah bagaimana menemukan kesalahan tersebut.<br />
<span id="more-4"></span></p>
<p>Pemeriksaan kesalahan ini mungkin alternatif pemeriksaan kesalahan yang lainnya. Misalnya kita mempunyai tabel dengan nama <strong>buku</strong> dengan primary key <strong>idbuku</strong> dan menjadikannya SEQUENCE, Maka dapat kita periksa seperti berikut:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">\d buku</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Table <span class="st0">&quot;buku&quot;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;Column &nbsp;| &nbsp;Type &nbsp; | &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Modifiers</div>
</li>
<li class="li1">
<div class="de1">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;</div>
</li>
<li class="li2">
<div class="de2">&nbsp;idbuku &nbsp;| integer | not null default nextval<span class="br0">&#40;</span><span class="st0">&#8216;buku_idbuku_seq&#8217;</span>::text<span class="br0">&#41;</span></div>
</li>
<li class="li1">
<div class="de1">&nbsp;judul &nbsp; | text &nbsp; &nbsp;|</div>
</li>
<li class="li1">
<div class="de1">Primary key: buku_pkey</div>
</li>
<li class="li1">
<div class="de1">&nbsp;</div>
</li>
<li class="li1">
<div class="de1">\ds buku</div>
</li>
<li class="li2">
<div class="de2">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;List of relations</div>
</li>
<li class="li1">
<div class="de1">&nbsp; &nbsp; &nbsp; &nbsp;Name &nbsp; &nbsp; &nbsp;| &nbsp; Type &nbsp; | Owner</div>
</li>
<li class="li1">
<div class="de1">&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-+&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;</div>
</li>
<li class="li1">
<div class="de1">&nbsp;buku_idbuku_seg | sequence | artharry</div>
</li>
<li class="li1">
<div class="de1"><span class="br0">&#40;</span><span class="nu0">1</span> row<span class="br0">&#41;</span></div>
</li>
</ol>
</div>
<p>Dari sini dapat diperhatikan bahwa sequence harus sama antara yang terdapat di tabel <strong>buku</strong> maupun yang terdapat pada sequence. Jika tidak sama, maka dapat merubah atau <em>rename</em> nama sequence atau menghapusnya dan memasukkan dengan nama sequence yang baru dan sama dengan nama sequence di tabel <strong>buku</strong>.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1">DROP SEQUENCE buku_idbuku_seg;</div>
</li>
<li class="li1">
<div class="de1">DROP</div>
</li>
<li class="li1">
<div class="de1">CREATE SEQUENCE buku_idbuku_seq;</div>
</li>
<li class="li1">
<div class="de1">CREATE</div>
</li>
<li class="li2">
<div class="de2">REVOKE ALL ON TABLE buku_idbuku_seq FROM PUBLIC;</div>
</li>
<li class="li1">
<div class="de1">REVOKE</div>
</li>
<li class="li1">
<div class="de1">GRANT ALL ON TABLE buku_idbuku_seq TO PUBLIC;</div>
</li>
<li class="li1">
<div class="de1">GRANT</div>
</li>
</ol>
</div>
<p>Setelah itu cobalah untuk memasukkan (<em>insert</em>) data secara manual.</p>
<p><em>* image from: postgresql.org</em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.artharry.com/blog/sequence-di-postgresql.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>

