MENGATASI DUPLIKASI DATA DALAM QUERY

MENGATASI DUPLIKASI DATA DALAM QUERY


MENGATASI DUPLIKASI DATA DALAM QUERY

Dalam mengotak-atik query, terkadang kita harus menggunakan beberapa tabel dalam database. Dan tentu saja, dari masing-masing tabel terdapat key yang identik, sehingga tabel-tabel bisa saling dihubungkan.Anggap Anda telah memahami tentang penjoinan tabel. Nah, masalah yang sering muncul adalah, duplikasi data pada query. Ya, duplikasi ini bisa disebabkan beberapa hal. Misalkan dua tabel yang dihubungkan tidak memiliki key yang unik. Pemasangan non-unique key memang bisa dilakukan. Namun, resiko ada data kembar kemungkinan besar terjadi.
           Kedua, tidak adanya key penghubung yang cukup kuat. Dalam kasus tabel dengan banyak field, kita sering menemui adanya lebih daru satu primary key yang bisa dimanfaatkan. Nah, kesalahan yang sering terjadi adalah, kita tidak memasangkan cukup banyak atau spesifik dari key tabel satu ke tabel lainnya.
Pahit nih...
       Untuk database dengan sedikit tabel, field, dan data, tentu relatif mudah dalam memeriksa atau menelusuri penyebab terjadinya duplikasi. Tapih, bagaimana kalau database sudah complicated secara struktur dan isiny?. Aduh, perlu kerja keras sekeras-kerasnya...
Beberapa tips untuk mengatasi data kembar dalam melakukan query. Dimulai dari tindakan pencegahan dulu.
Pertama, selalu upayakan tiap tabel paling tidak memiliki satu unique primary key, yang menjadi 'identitas' dari sang tabel.  Dengan kata lain, pastikan ada satu field yang isinya tidak pernah sama meski data menjulang hingga ribuan.
Kedua, membuat strukturasi antar tabel dengan jelas dan mudah ditelaah. Ini gampang diomongin tapi sedikit sulit diterapkan. Kita harus bisa memilah tiap tabel sesuai dengan fungsinya, pastikan untuk meminimalisir pemborosan kolom. Dalam istilah kerennya sering disingkat normalisasi database. Pasti pernah dengar normalisasi waduk di Jakarta,'kan? Nah, mirip-mirip kok. Hehehe...
          Tujuannya adalah sama-sama menghilangkan jumlah data yang berlebihan. Jika satu kolom bisa dipakai untuk dependency banyak tabel, kenapa harus memasukkan kolom itu disetiap tabel? Tentunya akan membengkakkan kapasitas tabel. Kalau datanya cuma puluhan mungkin tak terasa. Tapi di instansi besar yang memiliki data hingga puluhan hingga ratusan ribu, ini hal sentimen yang kudu diperhatikan.
Nah, sekarang dari tindakan non-preventif.
Tips untuk menghilangkan data ganda pada query adalah dengan pemakaian distinct.
Syntax :
select distinct bla bla bla...
Mudah 'kan?
Yang perlu dilakukan hanyalah menempatkan kata distinct setelah select. Distinct sendiri berasal dari bahasa Inggris yang artinya jelas, terang, atau berbeda. Nah, dengan adanya command ini, maka query akan memproses data yang pure beda.
Contoh data tanpa distinct:
Select nama_pegawai, nomor_induk, status from tpegawai
Maka muncul hasil seperti di bawah :
Nama_pegawai
Nomor_induk
Status
John
12300
Lajang
Herman
12301
Duda
Budi
12302
Lajang
Anduk
12303
Menikah
Budi
2302
Lajang

Perhatikan. Dari contoh di atas, terdapat dua data Budi. Hal ini bisa terjadi karena salah input dua kali, atau join table yang kurang tepat. (Dalam kasus ini hanya memakai satu tabel, jadi tidak ada join).
Wah, gak lucu dong kalau muncul data dua kali. Untuk itu, kita bisa menambahkan perintah distinct setelah select sehingga hasil query menjadi :
Nama_pegawai
Nomor_induk
Status
John
12300
Lajang
Herman
12301
Duda
Budi
12302
Lajang
Anduk
12303
Menikah

Lihat, hanya tinggal ada 4 row. Data yang duplikat telah lenyap dan yang muncul hanyalah data yang memang berbeda. Eitss.. Ada beberapa hal yang perlu diperhatikan dalam pemakaian distinct.
1.      Distinct tidak menghapus data di tabel. Ya, distinct hanya 'menghilangkan' data dobel di query. Sedangkan di source aslinya tetap ada ganda. Distinct tidak menghilangkan duplikasi satu kolom saja. Ya, lihat dari contoh di atas. Ada 3 buah kolom dan 4 row yang muncul.
Contohnya :
Nama_pegawai
Jenis_kelamin
Umur
Budi
Pria
27
Budi
Pria
27
Budi
Pria
25
Dari contoh itu, maka yang dimaksud duplikat adalah nomor 1 dan 2. Kenapa? Karena datanya sama! Dari kolom 1 hingga akhir tidak ada yang berbeda. Sementara itu, meski data nomor tiga Budi dan Prianya sama dengan yang lain. Tapi tidak dianggap duplikasi. Karena ada kolom lain yang berbeda, yaitu umurnya 25. Jadi, distinct melakukan pengecekan duplikasi tidak per kolom. Tapi menyeluruh semua kolom pada tiap row.
Insya Allah, semoga sedikit informasi ini dapat bermanfaat!

PEMAKAIAN FUNGSI ADD_MONTHS PADA SQL ORACLE

PEMAKAIAN FUNGSI ADD_MONTHS PADA SQL ORACLE
PEMAKAIAN FUNGSI ADD_MONTHS PADA SQL ORACLE

Kembali lagi bertemu! Kali ini saya siap share lagi ilmu tentang sql!

     Terkadang, dalam sql oracle, kita tidak hanya melakukan manipulasi terhadap data bertipe numeric dan string saja. Tipe data Date pun sesekali meramaikan query yang memusingkan kepala. Salah satu fitur sql Oracle untuk melakukan manipulasi data tanggal adalah add_months...

Add_months? Hah, terdengar simpel...

     Yah, sepertinya tidak perlu dijelaskan dengan detail. Dari namanya saja sudah ketahuan ya, hehe. Add_months merupakan syntax yang digunakan untuk menambahkan jumlah bulan dari tanggal yang kita inputkan. Proses ini tidak hanya untuk menambahkan dari bulan sekarang, tapi juga bisa untuk melakukan pengurangan bulan.
Syntax :
Add_months(tanggal, jumlah bulan yang ingin ditambahkan)
Contoh :
Select Add_months('12-SEP-2013',1) from dual
Maka akan memiliki result :
12-OCT-2013
     Coba perhatikan, angka 1 mewakili jumlah bulan yang kita inginkan. Angka ini merupakan bilangan bulat mutlak tanpa desimal. Dengan kata lain, jika kita memasukkan bilangan desimal misalkan 1.5 atau 1, keduanya tetap akan dihitung sebagai 1. Ini juga berlaku untuk bilangan setelah koma pada 0, misalkan 0.5 atau 0.8. Meskipun data bisa dibulatkan menjadi 1, namun sql tetap membaca sebagai 0. Sehingga pemberian syntax seperti ini tidak akan berarti apa pun. Karena sekali lagi, yang dihitung adalah bulan, bukan hari, minggu, atau punjam.
Contoh :
Select Add_months('12-SEP-2013',0) from dual
Maka akan memiliki result :
12-SEP-2013 -- hasil tetap konstan, tidak terjadi perubahan.
     Bagian n jumlah di belakang ini tidak memiliki batas sih. Meski pun bulan cuma ada 12, kita tetap bisa menginputkannya dengan nominal sebesar 50, bahkan 1000. Sungguh super sekali. (Kalau ini udah aneh-aneh nih...)
Contoh :
Select Add_months('12-SEP-2013',1000) from dual
Maka akan memiliki result :
12-JAN-2097
     Penggunaan lain yang tidak kalah penting yaitu adalah pemakaian minus pada fitur ini. Yup, dengan minus bulan akan dikurangi dari tanggal yang kita inputkan.
Contoh :
Select Add_months('12-SEP-2013',-1) from dual
Maka akan memiliki result :
12-AUG-2013
     Lalu pertanyaannya, untuk apa sih syntax aneh macam begini digunakan? Memangnya ada orang yang akan melakukan penghitungan bulan?
Jawabannya : ADA!
Jelas, jelas, jelas. Setiap hari setiap saat, disadari atau tidak kita tak bisa lepas dari yang namanya tanggal alias Date. Dalam dunia bisnis dan perusahaan, tanggal merupakan komponen penting karena menyangkut masalah administrasi internal, koneksi dengan mitra usaha, hingga menjadi patokan dalam urusan pelanggan. Dan simak saja, banyak database di perusahaan besar, MAU TAK MAU menginputkan tanggal dalam setiap transaksi. Baik itu transaksi dengan stakeholder luar, transaksi jual beli dengan pelanggan, maupun untuk audit internal.
Nah, tugas kita sebagai seorang programmer, sudah barang tentu dituntut untuk bisa menyediakan data yang pas. Dan tanggal merupakan data yang sangat sensitif. Kesalahan satu hari, satu jam saja terkadang bisa menimbulkan petaka. Apalagi jika kita mendapatkan job untuk melakukan penghitungan tanggal. Hmm.. Dengan fitur Add_months ini, setidaknya kita bisa melakukan peringkasan script dalam proses tersebut, dan juga mudah untuk dipahami oleh programmer lain yang menjadi rekan kerja kita. Dan yang paling penting, fitur add_months membantu melakukan penghitungan bulan tidak secara manual, sehingga bisa meminimalisir kesalahan dari counting kita.

Insya Allah, semoga sedikit informasi ini bisa bermanfaat!

INSTALASI DEBIAN LENNY

 INSTALASI DEBIAN LENNY

Distro Linux memang beranak pinak dengan sangat banyak. Salah satu yang jadi ‘partai besar’ adalah Debian. Debian sendiri pun telah memiliki banyak versi. Dan meski sudah termasuk lama, Lenny memiliki fitur-fitur standar dan lumayan fixable, tidak kalah dengan versi selanjutnya.  Nah, kalau misalkan ribet atau belum mendapatkan yang new, menggunakan Lenny sudah bisa merepresentasikan sosok Debian kok. Hehehe…
Berikut ini beberapa langkah dalam instalasi Debian Lenny..

1. Anda telah memasuki dunia Debian. Untuk memulai petualangan Anda, tekan tombol Enter.

2. Tunggu beberapa saat, maka penampakan di bawah muncul. Pilihlah bahasa untuk proses instalasi. Dianjurkan Bahasa Inggris demi menambah wawasan pribadi. Atau jika mau ekspreimen, boleh tuh dicoba bahasa Bosnia atau Kroasia. Langsung bingung deh. Hehehe… 



3. Next step, tentukan lokasi Anda tinggal. Jika tak ada dalam list tersebut coba pilih other. Karena kita di Indonesia, pilih other, lalu pilihlah opsi Indonesia. Press Enter.
4. Tentukan tipe keyboard yang Anda gunakan. Style deault biasanya memakai model American English.
5. Nantilah beberapa proses di bawah dengan hati yang sabar. Sambil ngopi dulu juga boleh kok.
6. Masukkan hostname yang akan dipergunakan dalam sistem ini.  Kemudian continue untuk menuju tahap selanjutnya.  Baiklah, kali ini kita pakai hostname debian.

7. Inputkan domain name Anda gunakan. 
8. Tunggu beberapa saat, maka Anda akan dihadapkan untuk melakukan partisi drive. Bila ingin menentukan spesifikasi size tiap drive untuk dipartisi, kita pilih Manual.


9.  Pengaturan paritisi bisa Anda tentukan sendiri.
10. Jangan lupa berikan spase yang cukup untuk swap dan juga boot. Bagian lain bisa kita bagi lagi, tapi jika merasa cukup, kita atur sebagai / atau root saja. Contoh partisi seperti yang tercantum di bawah.
 
11. Pada “write the changes to disks”, pilih yes agar partisi yang kita buat terformat.
12. Setelah proses format usai, pilih zona waktu di mana Anda tinggal. Bagi yang berada di belahan Indonesia Barat bisa menjadikan Jakarta sebagai pilihan. 
13. Berikanlah root password yang merupakan kata sandi bagi admin. Lalu Re-enter password untuk validasi.
14. Berikan full name dari user. Inputkan username untuk account yang Anda gunakan. Berikanlah password untuk user atau pengguna baru. Lalu, mari menanti instalasi selama beberapa menit..
15. Di tengah perjalanan instalasi, akan diberikan dua jalan berbeda.Jika kita menginstal via CD saja, maka kita tidak perlu menggunakan network mirror. Oleh karenanya pilih opsi No.
16. Pada tahap berikutnya, pilih opsi No dalam  proses “participate in the package usage survey?” .
17. Pilih berbagai software yang akan digunakan. Usahakan efisiensi serta efektivitas dalam pemilihan software sesuai dengan kebutuhan kita.
18. Tunggu beberapa saat. Kemudian jika muncul pesan seperti di bawah, baca seksama dan pilih Yes.
 
19. Berikan nama dari workgroup dalam konfigurasi di bawah. Lalu pilih Continue.
 
20.  Setelah itu, kita akan diberi pilihan untuk memodifikasi konfigurasi samba untuk menggunakan WINS pilih Yes.
21. Instalasi software berjalan dan tunggulah hingga proses selesai. 
22. Kita kembali diberi pilihan apakah akan menginstal GRUB boot loader atau tidak. Jika kita mempunyai dua sistem operasi atau lebih maka GRUB ini sangatlah penting agar kita dapat melakukan instalasi sistem operasi lebih dari satu. Jika hanya satu, kita gunakan opsi No saja.  
23. Instalasi selesai. Selamat mengutak-atik Debian ini.  

  Insya Allah, semoga sedikit informasi ini dapat bermanfaat!