Friday, March 21, 2014

Replikasi Databse Microsoft SQL Server 2000

  No comments
Pada percobaan kali ini, metode replikasi database yang digunakan adalah metode Snapshot pada Microsoft SQL Server 2000. Server akan digunakan adalah server lokal atau dengan kata lain publisher, distributor dan subscriber berada pada server yang sama. Dengan kata lain replikasi ini juga disebut replikasi lokal.
Persiapan
Adapun persiapan yang dilakukan sebelum melakukan proses replikasi database antara lain sebagai berikut:
  • Pastikan bahwa engine SQL Server dan SQL Server Agent dalam kondisi aktif.
  • Jalankan SQL Server Enterprise Manager untuk memudahkan Anda dalam mengoperasikan fasilitas database yang ada.
  • Sediakan minimal 2 database. Dalam percobaan ini, digunakan database dengan nama ‘dbFakultas’ sebagai publisher/master, dan ‘dbLab’ sebagaisubscriber/slave.
  • Database publisher memiliki tabel-tabel yang akan direplikasi. Dalam percobaan ini, dbFakultas hanya menggunakan satu tabel saja (tblMhs) untuk direplikasi ke database dbLab sebagai slave.
Langkah-lagkah mereplikasi
Adapun urutan atau langkah-langka dalam melakukan proses replikasi adalah:
  1. Menentukan server sebagai distributor.
  2. Menentukan dan mengkonfigurasi database yang akan menjadi publisher.
  3. Menentukan dan mengkonfigurasi database subscription atau penerima.
  4. Mem-push/mereplikasi data dari publisher ke subscriber.
Proses Replikasi
1. Menentukan server sebagai distributor
  • Pilih menu Tool –> Replication –> Configure Publishing, Subscribers, and Distribution…
  • Akan muncul jendela Configure Publishing and Distribution Wizard seperti ini, lalu klik Next.
  • Pada jendela selanjutnya menentukan server sebagai distributor, klik Next.
  • Pada jendela selanjutnya, kita dapat menentukan SQL Server Agent dapat aktif ada saat komputer dinyalakan. Pilih Yes, configure the SQL Server Agent service to start automatically, lalu klik Next.
  • Jendela selanjutnya adalah meletakkan direktori Snapshot Folder, klik Next.
  • Pada jendela selanjutnya, Anda dapat melakuan konfigurasi pada distributor dan publisher. Pilih No, use the following default settings, lalu klik Next.
  • Pada jendela selanjutnya akan tampak bahwa konfigurasi server sebagai distributor selesai. Sepeti gambar di bawah ini.
2. Menentukan dan mengkonfigurasi database yang akan menjadi publisher
  • Masih di jendela SQL Server Enterprise Manager. Pilih menu Tool –> Replication –> Create and Manage Publications.
  • Akan muncul dialog box Create and Manage Publication seperti dibawah ini. Pilih dbFakultas (yang sudah dibuat sebelumnya) dan klik tombol Create Publication.
  • Klik Next lagi.
  • Pilih database dbFakultas seperti tampak pada gambar dibawah ini. Lalu klik Next.
  • Pada jendela selanjutnya, pilih Snapshot publication. Lalu klik Next.
  • Pada jendela selanjutnya, beri tanda contreng untuk server yang akan menerima dari publisher. Beri centang pada Server running SQL Server 2000 dan SQL Server version 7.0. lalu klik Next.
  • Pada jendela selanjutnya, pilih tabel yang ingin direplikasi. Pada percobaan ini, pilih tblMhs. Lalu klik Next.
  • Pada jendela selanjutnya, berilah nama publication-nya (dalam percobaan ini diberi nama ‘publication1’). Lalu klik Next.
  • Pada jendela selanjutnya, kita dapat melakukan penyaringan data, tapi pada percobaan kali ini hal tersebut belum diperlukan, pilih No, create the publication as specified, lalu klik next.
  • Pada jendela selanjunya, akan tampak bahwa konfigurasi terhadap database sebagai publisher telah selesai seperti tampak pada gambar dibawah ini. Lalu klik Close.
  • Hasil konfigurasi publication akan tampak pada jendela Create and Manage Publication seperti gambar dibawah ini (publication1 tercipta).
3. Menentukan dan mengkonfigurasi database subscription atau penerima
  • Masih di jendela Create and Manage Publication. Pilih publication yang sudah tercipta sebelumnya, lalu klik Push New Subscribtion…Lalu klik Next lagi.
  • Pilih server yang akan menjadi subscriber/penerima. Karena pada percobaan ini adalah replikasi lokal, maka dipilih nama server yang sama, seperti tampak pada gambar dibawah ini. Lalu klik Next.
  • Pada jendela selanjutnya, pilih database penerima/subscriber. Dalam percobaan ini database penerima/slave-nya adalah dbLab. Lalu klik Next.
  • Pada jendela selanjutnya, kita dapat mengatur jadwal Distributor Agent saat mengirim data replikasi ke database penerimanya. Untuk sementara, konfigurasi ini dapat dilakukan nanti. Klik Next.
  • Pada jendela selanjutnya, jangan lupa untuk memberi contreng pada Start the Snapshot Agent to begin the initialization process immediately untuk langsung memulai proses Snapshot Replication. Klik Next.
  • Pada jendela selanjutnya, akan ditampilkan status SQL Server Agent. Untuk proses replikasi, pastikan SQL Server Agent dalam status running. Anda dapat menghidupkan SQL Server Agent pada Tool SQL Server Service Manager. Klik Next.
  • Akan tampak jendela Finishing Subscribtion Wizard. Klik Finish.
  • Proses subscribtion selesai seperti tampak pada gambar dibawah ini. Lalu klik Close.
4. Mem-push/mereplikasi data dari publisher ke subscriber
  • Pada Jendela SQL Server Enterprise Manager, masuk ke direktori Replication Monitor –> Publisher –> nama_server_publisher –> nama_publisher, seperti tampak pada gambar dibawah ini.
  • Pada direktori yang telah dituju, terdapat 2 buah item Publication Agent, yaitu Snapshot dan Nama Server yang terhubung ke subscriber/penerima (bisa disebut sebagai Push to Subscriber). Snapshot berfungsi untuk meng-capture dan menyimpan data-data sementara dari database publisher. Sedangkan item Push to Subscriber berfungsi untuk mem-push/mengirim data dari publisher ke subscriber.
  • Untuk mereplikasi data, klik kanan pada Snapshot à pilih Start Agent (ini digunakan saat up-date data nantinya dan seterusnya. Untuk publishing pertama kali, sistem sudah menyimpan data replikasi saat konfigurasi subscriber, jadi hal ini boleh tidak dilakukan).
  • Lalu mem-push data replikasi ke subscriber dengan cara klik kanan pada item Push à pilih Start Synchronizing.
  • Periksalah daftar tabel pada database penerima/subscriber.
5. Update data
  • Untuk melakukan perubahan data/up-date data, maka perubahan data terjadi pada database publisher. Dalam percobaan ini subscriber hanya menerima data-data yang berubah dari publisher.
  • Untuk melihat perubahan data-datanya, klik kanan pada Snapshot –> pilih Start Agent. Lalu klik kanan pada item Push –> pilih Start Synchronizing.
6. Mengautomatisasi replikasi
  • Pengaturan jadwal replikasi dapat ditentukan pada item Snapshot dan item Push.
  • Untuk Snapshot, klik kanan pada Snapshot à pilih Agent Properties…Selanjutnya pilih tab Schedules –> klik Edit –> pilih Schedule type On time. Lalu atur jadwal sesuai yang diinginkan. Pengaturan jadwal untuk Snapshot ini berguna untuk menentukan kapan data-data dari databse publisher ditangkap oleh distributor untuk disimpan sementara, tapi belum di kirim ke subscriber.
KESIMPULAN
Adapun beberapa kesimpulan yang dapat ditarik dari percobaan replikasi database menggunakan Microsoft SQL Server 2000 diantaranya sebagai berikut:
  • Jika dilihat dari sudut pandang tampilan perangkat lunaknya, SQL Server 2000 memiliki GUI (Graphical User Interface) yang relatif lebih familiardan mudah dalam mengoperasikan fitur-fitur databasenya, khususya tahap-tahap dalam proses replikasi database.
  • SQL Server 2000 memiliki beberapa fitur metode replikasi seperti Snapshot Replication, Transactional Replication, dan Merge Replication yang sesuai dengan kebutuhan pengguna dan arsitektur topologi jaringan dalam pendistribusian database yang lebih baik dan efisien.
  • Komponen replikasi terdiri dari Publisher sebagai Master database/penyedia data, Subscriber sebagai Slave/penerima data, dan database Distributor sebagai penghubung Publisher dengan Subscriber.
  • Distributor merupakan bagian dari Server database Publisher, yang berfungsi untuk menampung data-data sementara dari database Publisher.
  • Adanya SQL Server Agent Service, membuat proses replikasi dapat berjalan sebagaimana mestinya
  • SQL Server 2000 dapat mendukung replikasi database secara parsial.
  • SQL Server 2000 juga mendukung mengotomatisasian replikasi database
DAFTAR PUSTAKA
  • Paul, Sujoy P. (2006). Pro SQL Server 2005 Replication. USA: Apress. ISBN-13: 978-1-59059-650-0.
  • Knightet, Brian et al. (2007). Professional SQL Server 2005 Administration. Indianapolis: Wrox Press. ISBN: 9780470055205.
  • Bagui, Sikha Saha & Richard Walsh Earp. (2006). Learning SQL on SQL Server 2005. Sebastopol: O’Reilly. 0-596-10215-1.
Sumber : http://ismailadhakesuma.wordpress.com/2009/05/14/mereplikasi-basis-data-menggunakan-microsoft-sql-server-2000/

Tuesday, March 18, 2014

Sekilas DTS dan Olap SQLServer 2000

  No comments

Kebutuhan Sistem:

  • Dual Core, mem 3GB, Win7 Professional
  • UnInstall MSSQL2008 / MSSQL2005
  • Master SQL Server 2000

Instalasi SQL Server 2000

Hasil Instalasi

Studi Kasus OLTP

Sistem Informasi yang dijadikan contoh adalah sebuah sistem pembayaran hutang di sebuah perusahaan Kontraktor. Setiap proyek memiliki database proyek tersendiri, yang menyimpan data hutang mereka, data usulan pembayaran atas hutang mereka, dan data pembayaran hutang mereka. Pada contoh ini, yang ditampilkan fokus pada transaksi input hutang proyek.
Struktur Organisasi tampak dalam gambar berikut :
Dalam 1 Cabang, mengkoordinir beberapa proyek yang berjalan. Jumlah proyek dalam 1 tahun sd 200 proyek, dalam contoh ini hanya digunakan beberapa proyek saja, yang di ambil dari database proyek X dan database cabang Y
Berikut PDM Database proyek X
Berikut PDM Database Cabang Y

Desain Dimensi dan Fact Tables

Sebagai contoh, akan dibangun datawarehouse yang akan mengamati nilai hutang dari setiap proyek untuk tiap bulan, setiap vendor, berapa nilai pajak nya, dan berapa yang sudah lunas.
Desain Dimensi dan Fact tables :
Dimensi
Waktu
Proyek
Jenis Tagihan
Vendor
Tahun
Bulan
Quarter
Nama proyek
Cabang
Tahun proyek
Jenis Tagihan
Nama vendor
Kota Vendor
Fact : Data hutang :Kd_proyek, kd_jns_tgh, no_register, kd_vendor, cp, jkotor, pph, lain, jbersih, lunas

Desain PDM Database Datawarehouse

Proses ETL menggunakan SQL Server 2000 DTS (Data Transformation Service)

Tool ETL ini adalah salah satu tool untuk melakukan proses ETL, selain tool yang lain ( Pentaho Data Integration, BENETL, Self Development, ETLTOOLS, dsb).
Untuk Mendesaign, buat new packages dari modul DTS sesuai dengan gambar berikut :
Setelah package baru dibuat, langkah berikutnya adalah mendeklarasikan database sumber (OLTP), dan database tujuan (DW), yang di deklarasikan dengan menggunakan connection sesuai dengan gambar berikut :
Setelah semua Datasource (Proyek X, Cabang Y, DW )dibuat, akan muncul gambar yang menampilkan semua connection yang telah dibuat sebagai berikut :
Langkah berikutnya adalah mendesain apa yang akan di transfer ke DW, dibuat bertahap, misalnya
  1. Dari Connection Proyek X, transfer tabel proyek ke DW
  2. Dari Connection CabangY, transfer tabel proyek ke DW
  3. Dari Connection Proyek X, transfer tabel jns_tagihan ke DW
  4. Dari Connection Cabang Y, transfer tabel jns_tagihan ke DW
  5. Dari Connection Proyek X, transfer tabel Vendor ke DW
  6. Dari Connection Proyek Y, transfer tabel Vendor ke DW
  7. Dari Connection Proyek X, transfer tabel phbaru ke DW
  8. Dari Connection Cabang Y, transfer tabel Phbaru ke DW
  9. Dari Connection Cabang Y, transfer tabel chbaru ke DW
Sebagai contoh, untuk membuat task agar mentransfer proses no1, langkahnya :
Pilih ‘Transform Data Task’, hubungkan antara Proyek X dengan DW. Akan muncul Garis panah, Double Klik, sesuai dengan gambar berikut:
Dalam contoh berikut, telah dibuat 4 ‘Transform Data Task’
Langkah selanjutnya adalah menentukam urutan proses mana yang akan dilakukan dahulu, langkahnya dengan arahkan kursor ke ‘Transform data task’, klik kanan, pilih Workflow properties. Inputkan proses apa yang akan dilakukan terlebih dahulu, seperti dalam contoh berikut :
Hasil desain secara lengkap, tampak pada gambar berikut :
Langkah selanjutnya, kita bisa melakun Run Dari desain DTS yang telah kita buat melalui menu Package, Execute. Dari Hasil Running, kita bisa melakukan revisi terhadap desain kita.

OLAP Service / Analysis Services

Kita lakukan instalasi ulang sesuai dengan gambar :

Friday, March 14, 2014

7 VARIASI PERINTAH INSERT DI MYSQL YANG SERING TERLUPAKAN

  No comments

Data Manipulation Language (DML) merupakan bagian dari perintah SQL (Structured Query Language) yang terdiri dari berbagai perintah untuk memanipulasi data di dalam suatu database. Empat perintah utama yang termasuk dalam perintah DML adalah perintah SELECT, INSERT, UPDATE dan DELETEMySQL sebagai salah satu software database terkemuka tentunya mendukung keempat perintah DML tersebut dengan sangat baik. Di dalam tutorial kali ini, akan dibahas mengenai perintah INSERT dimana ternyata cukup banyak variasi perintah INSERT di MySQL yang sering terlupakan (terabaikan), namun sebenarnya sangat berguna.
Selain bentuk dasar perintah INSERT, setidaknya ada 7 (tujuh) variasi bentuk perintah INSERT yang saya yakin suatu saat akan berguna untuk Anda. Berikut ini ketujuh perintah INSERT tersebut yang selanjutnya akan saya jelaskan satu per satu.
  1. INSERT INTO (field1, field2, …) VALUES (…)
  2. INSERT … SELECT …
  3. INSERT IGNORE …
  4. INSERT DELAYED …
  5. INSERT LOW PRIORITY | HIGH PRIORITY …
  6. INSERT … ON DUPLICATE KEY UPDATE
  7. REPLACE INTO …

1. INSERT INTO tabel (field1, field2) VALUES …

Ada kalanya kita hanya ingin menambahkan sebagian dari kolom tabel, jadi tidak semua kolom kita masukkan. Jika demikian, variasi perintah INSERT yang pertama ini tentu tepat untuk digunakan. Kita menyebutkan kolom-kolom yang akan di-insert-kan di belakang nama tabel. Urutannya juga tidak harus sesuai dengan urutan di dalam struktur tabel. Sebagai contoh, kita akan memasukkan data nim dan nama seorang mahasiswa, tanpa memasukkan alamatnya. Urutan fieldnya sengaja dibalik, nama terlebih dahulu baru nim. Berikut perintahnya:
INSERT INTO tblmhs (nama, nim) VALUES('CHOTIMATUL MUSYAROFAH', '1012501983');

2. INSERT … SELECT …

Ada kalanya kita ingin memindahkan atau meng-copy sejumlah data yang berada pada suatu tabel ke tabel yang lainnya. Singkatnya copy data antar tabel. Untuk menyelesaikan permasalahan tersebut, tentunya sangat kurang efektif jika kita harus melakukan insert satu per satu. Untuk melakukan copy record antar tabel, akan lebih efektif jika kita menggunakan bentuk perintah “INSERT … SELECT …” yang menggabungkan proses insert (menambahkan data) dan select (mengambil data). Sebagai contoh, kita ingin memindahkan data nim dan nama mahasiswa yang berada di tabel tblpendaftaran ke tabel tblmhs, berikut ini perintahnya:
INSERT INTO t_mhs(c_nim, c_nama) SELECT c_nim, c_nama FROM t_daftar;

3. INSERT IGNORE

Saya pernah membuat suatu absensi pada suatu perusahaan dimana data absensi diimport dari suatu file dbf menjadi teks hasil keluaran dari magnetic card. Setelah diimport, data absensi karyawan akan diperiksa dan dilengkapi oleh staf HRD. Proses import dari teks file dapat terjadi berulang-ulang sehingga diperlukan mekanisme agar pada saat proses import data yang mungkin sudah diedit oleh staf HRD tidak tertimpa. Jadi intinya, saat proses import, harus diperiksa apakah data absensi yang akan dimasukkan ke tabel sudah ada atau belum. Jika sudah ada, maka tidak perlu dilakukan insert, namun jika tidak ada maka lakukan proses import. Awalnya terpikir untuk melakukan pengecekan data ke database terlebih dahulu sebelum insert, namun dari isi efektivitas tentu hal ini tidak baik, apalagi jika datanya cukup banyak. Beruntung kemudian ketemu bentuk perintah INSERT IGNORE … di MySQL. Dengan perintah ini, permasalahan tersebut dapat terselesaikan hanya dengan satu perintah.
Dalam contoh berikut ini, akan melakukan insert data ke tabel tblmhs hanya jika data nim belum ada di tabel. Pemeriksaan data didasarkan pada field yang menjadi primary key. Jadi jika terjadi duplikasi primary key maka data akan diabaikan (ignored).

4. INSERT DELAYED

Bentuk perintah INSERT DELAYED … merupakan bentuk perintah yang mungkin akan kita perlukan saat membuat suatu aplikasi transaksional dengan beberapa pengguna dalam satu waktu. Dengan tambahan perintah “DELAYED” maka proses menambahkan data akan ditangguhkan hingga tidak ada user yang mengakses tabel.

5. INSERT LOW PRIORITY | HIGH PRIORITY

Tambahan perintah LOW PRIORITY atau HIGH PRIORITY dibelakang perintah INSERT dapat digunakan untuk mengatur prioritas dari perintah INSERT yang akan dijalankan. Perintah dengan prioritas lebih tinggi tentu akan didahulukan untuk dijalankan. Sama seperti bentuk perintah INSERT DELAYED, perintah ini juga berguna saat kita “bermain” dengan proses transaksional.

6. INSERT … ON DUPLICATE KEY UPDATE

Variasi perintah INSERT ini mungkin suatu saat akan kita perlukan. Misalnya pada kasus dimana pada proses insert sejumlah data, jika datanya sudah ada, dalam arti terjadi duplikasi primary key, maka lakukan perintah update untuk kolom tertentu. Sebagai contoh, kita akan melakukan penambahan data ke tblmhs, jika datanya sudah ada, maka update field alamat dengan alamat yang baru.

7. REPLACE INTO …

Saya sangat senang dengan adanya bentuk perintah REPLACE di MySQL ini. Perintah ini sangatlah membantu. Contohnya saat saya ingin melakukan penambahan data secara massal seperti pada kasus import absensi karyawan di atas. Jika pada proses import, kita menginginkan agar data selalu up to date, maka jika data sudah ada harus dilakukan proses update. Perintah REPLACE INTO berperan untuk melakukan dua tugas sekaligus, yaitu INSERT jika datanya belum ada dan UPDATE jika datanya sudah ada.

Demikian ketujuh bentuk variasi perintah INSERT di dalam MySQL yang sering terlupakan namun seringkali kita butuhkan. Semoga postingan ini bermanfaat untuk kita semua. Mari terus semangat berbagi demi Indonesia TETAP SEMANGAT!

Game Tic Tac Toe Android

  No comments
Syalom.. selamat pagi teman teman.. gimana kabarnya.. Semoga selalu dengan semangat yang tak pernah menyerah untuk belajar.. apalagi tentang pemrograman.. :D

Pagi ini saya ingin bagikan cript tentang game android yang saya dapat dari halaman pembelajaran asal benua seberang yang saya buat ulang pake versi indo.. heehee..:D

Gamenya adalah game Tic Tac Toe.. pasti teman teman tau kan gimana itu game tictac toe. dan kali ini di kemas dengan pemrograman android

Gak pakai lama lama dahh.. ini langsung saja saya tampilkan screenshotnya..




Gambar diatas itu tampilan dari game.ny.. yang ingin apk android.ny bisa download disini.. dan yang mau ubek ubek source code.ny bisa download disini

Selamat Mencoba.. Semoga Bermanfaat.. Semangatt.. :D
Kode-Kecil. Powered by Blogger.