Thursday, June 18, 2015

membuat fungsi hex2bin() menggunakan PHP

Saat kita ingin menyimpan file ke database terkadang kita perlu mengubahnya terlebih dahulu ke bentuk binnary. PHP sudah menyediakan conversi kebentuk binnary ke heksa dengan bin2hex(). Akan tetapi saat ingin dibalik menjadi hex2bin terkadang error karena belum ada fungsi hex2bin. Disini saya ingin berbagi secript yang saya temukan setelah mencari digoogle tentunya, agar saya suatu saat tidak kebingungan lagi jika ingin menggunakannya lagi maka saya tulis saja disini, berikut secriptnya :

            function hexkebin($hexdata) {
  $bindata="";
  for ($i=0;$i<strlen($hexdata);$i+=2) {
     $bindata.=chr(hexdec(substr($hexdata,$i,2)));
  }
  return $bindata;
}
Mungkin ini yang dapat saya sharekan, soalnya saya bingung kalau mau menjelaskan banayk-banyak, belum pandai mencairkan isi kepala saya kedalam bentuk sebuah tulisan bingung mau nulis dari mana, mungkin jika ada yang bisa mengajari cara menulis tentunya saya sangat senang, maaf baru anak kemarin sore.....

Wednesday, June 3, 2015

menghapus duplikat entri di database oracle

Beberapa query yang saya gunakan di oracle karena mengalami beberapa masalah didatabase
yang saya buat. Query ini saya tulis disini agar suatu saat memerlukan dapat dilihat lagi
karena menghafalnya sangat sulit.
Berikut query untuk menampilkan beberapa value yang difilter berdasarkan tanggal antara
tanggal 1 mei 2015 sampai 31 mei 2015

select to_char(tgl,'dd/mm/yyyy hh24:mi:ss') from d_absen where nip='009' and
tgl >= to_date('01/05/2015','dd/mm/yyyy') and
tgl <= to_date('31/05/2015','dd/mm/yyyy') order by tgl;

Perintah untuk insert dan delete column yang memiliki tipe data date, memerlukan
konversi dari char ke date.

insert into d_absensi(nip,tgl) values('002',to_date('29/06/2015','dd/mm/yyyy'));
delete from d_absensi where tgl = to_date('29/06/2015','dd/mm/yyyy');

Menambahkan dan menghapus constraint primary key atau foreign key pada table

alter table d_absensi add CONSTRAINT PK_D_ABSENSI_NIP_TGL PRIMARY KEY (NIP, TGL);
alter table d_absensi drop CONSTRAINT PK_D_ABSENSI_NIP_TGL;

Jika penambahan constraint error maka beberpa kesalahan yang mungkin terjadi
adalah penulisan querynya salah, ada multiple value atau isi dalam table itu terduplikat,
kalau penambahan foreign key yang error kemungkinan juga pada table references belum
memiliki primary key.
Berikut cara menghapus jika terdapat multiple atau duplicat value dalam satu table,

DELETE FROM
   d_apel A
WHERE
  a.rowid >
   ANY (
     SELECT
        B.rowid
     FROM
        d_apel B
     WHERE
        A.tanggal = B.tanggal
and
A.nip = B.nip
        );

Yang sering lupa saat merenovasi database adalah jika terjadi kesalahan dan ingin merestore
tidak memiliki backupan databasenya, maka dari itu diperlukan untuk membackup database
sebelum mengoprek databasenya, untuk membackupnya masuk ke comandpromt
dan ketikan script dibawah ini

exp 'system/password' file=c:/xxx.dmp owner=xxx grants=y rows=y;

sedangkan untuk merestorenya menggunakan

imp 'system/password as sysdba' file=c:/xxx.dmp fromuser=xxx touser=xxx