Senin, 24 Januari 2011

Dia ga pergi dan selalu ada disini

Sedih rasanya ngelihat hasil kelakuanku selama ini, ga ada bagus2nya. Udah mulai berani ngelupain Dia juga, padahal Dia ga pernah ninggalin aku sendiri. Dia selalu aza setia nunggu aku, ngejaga aku, ngelindungin aku dari hal2 yang buruk yang ga patut untuk dilakukan. Sampai sekarang aku masih dalam petunjukNya, padahal aku udah melupakanNya. Ada perasaan sedih, kecewa, marah sama diri sendiri. KENAPA BISA KAYAK GINI??? Kenapa ga kayak dulu yang masih mengingatNya walau pun satu jengkal, walau pun satu detik?? Aku benci diriku sendiri.

Dan sekarang aku ngerasa kangen banget sama Kamu, aku rindu saat2 ngobrol sama Kamu, berdua, cuma aku dan Kamu saja yang tau.
Aku mengaku salah, aku mengaku karena telah melupakanMu. Tapi aku ga selingkuh dengan yang lain, aku hanya melupakanMu sementara, sedetik, semenit, tidak, aku rasa mungking beberapa jam yang lalu untuk kebahagiaan duniaku, kehidupan yang belum aku temukan arti spesialnya.

Aku hanya ingin kamu tahu aku selalu mencintaiMu sampai kapan pun, sampai akhir hayatku dan akan selalu merindukanMu, melihat wajahMu, menyentuhMu, memelukMu suatu waktu nanti. Aku minta maaf atas kelakuanku selama ini, atas semua kelalainku terhadap perintah2Mu. Aku akan berusaha merubah semuanya dan berusaha melakukan yang terbaik dalam hidupku karena satu yang aku inginkan menemuiMu secepatnya sambil memberikan rapor yang baik selama perjalanan hidupku tanpa tinta merah, tanpa cacat, dan tanpa catatan tambahan yang ditulis oleh para pengawalMu. Akan kutunjukan segera rapor ini sambil mengucap kata terindah di hadapanMu "Alhamdulillahirobbilalamin".

Aku benar-benar merindukanMu, dan aku harap Kamu mau untuk segera datang dalam mimpi indah ku. Aku akan selalu menungguMu.

Kamis, 20 Januari 2011

Belajar SECURITY

--membuat user :
create user USER1 identified by user1;

--memberi hak akses koneksi :
grant connect to user1;

--buat koneksi ke server
sqlplus hr@admin

--ngasih hak kpd user utk select regions on hr :
grant select on hr.regions to user1, user2;

--ngasih hak kpd user utk insert regions on hr :
grant insert on hr.regions to user1, user2;

--memberi hak akses kepada user dan user tersebut boleh memberi akses kepada user lain :
grant insert on hr.regions to user1 with grant option; --> hanya untuk yang menggunakan ON
(apabila hak askes user1 di revoke, maka hak akses yang diberikan kpd user2 otomatis di revoke)

grant connect to user1 with admin option; --> hanya untuk yang tidak pakai ON
(apabila hak askes user1 di revoke, maka hak akses yang diberikan kpd user2 masih bisa dipakai)

--admin melakukan revoke utk penjahat(mencabut hak akses) :
revoke select on hr.regions FROM user1;

--mengunci account client :
alter user namauser account locked;

--reset/rubah password client :
alter user (nama user) identified by 12345;

--reset/rubah password client agar admin tdk tau password kita:
alter user (nama user) identified by 12345 expire

--mewariskan hak akses DBA ke user client :
grant dba to user2;

--mencabut hak akses :
revoke connect from user1;

--memberi hak kembali :
grant connect to user1;

CLIENT :
--mengunci tabel client agar tdk dpt d insert oleh user lain
lock table hr.regions in exclusive mode;

--mengunci tabel scr bersama2 bbrp org client
lock table hr.regions in share mode;

--melihat user yang kita punya :
select * from all_users;

--Macam-macam GRANT :
GRANT nama_privilage TO nama_user;
Contoh :
   GRANT CONNECT TO NGATIMIN;--> memberi koneksi kepada Ngatimin
   GRANT RESOURCE TO NGATIMIN; -->bisa bikin tabel
   GRANT SELECT ON HR.REGIONS TO NGATIMIN; --> memberi hak untuk melihat table kepada user
   GRANT INSERT, UPDATE, DELETE ON HR.REGIONS TO NGATIMIN, NGATIYEM;
   GRANT EXCLUSIVE ON nama_procedure TO NGATIMIN;

--Masuk ke mesin server :
JIKA DBA nya mati..masuk paksa ke system server :
SQLPLUS / AS SYSDBA;  

--DBA_SYS_PRIVS --> mengecek privilage user
Select TABLE_NAME, GRANTOR, PRIVILEGE, GRANTEE, GRANTABLE
from DBA_TAB_PRIVS where OWNER = 'POLTEK'
and TABLE_NAME IN ('MAHASISWA', 'KULIAH', 'NILAI')
order by TABLE_NAME;

 

Minggu, 09 Januari 2011

Belajar PROCEDURE dan FUNCTION

  • Syntaks dasar PROCEDURE :
CREATE OR REPLACE PROCEDURE procedure_name 
(parameter1 mode1 datatype1,
parameter2 mode2 datatype2,
. . .)
IS
Daftar variabel lokal jika ada
BEGIN
END;
/
Catatan :
  1. mode1 atau mode2 dapat diisi dengan : IN atau OUT atau IN OUT, bila mode tidak ditulis maka akan dianggap mode IN
  2. mode1 atau mode2 tidak wajib ada, sesuaikan dengan kebutuhan program pengguna
  3. Daftar parameter tidak wajib ada, sesuaikan dengan kubutuhan program pengguna   
contoh penggunaan PROCEDURE :
CREATE OR REPLACE PROCEDURE perkalian
(a IN number, b number)
IS
c number(3);
BEGIN
c:=a*b;

DBMS_OUTPUT.PUT_LINE('Hasil perkalian '||a||' x '||b||' sama dengan '||c);
END;
Untuk memanggil PROCEDURE tersebut yaitu dengan  exec perkalian(5,2);
  • Syntaks dasar FUNCTION :
CREATE OR REPLACE FUNCTION function_name
(argument1 mode1 datatype1,
argument2 mode2 datatype2,
. . .)
RETURN datatype
IS
Daftar variabel lokal jika ada
BEGIN
RETURN …. ;
END;
/
Catatan :
  1. fungsi mode1 atau mode2 sama dengan fungsi mode pada PROCEDURE
contoh penggunaan FUNCTION :
CREATE OR REPLACE FUNCTION jumlah
(x IN number, y number)
RETURN number
IS

BEGIN
RETURN x+y;

END;
/
Untuk mengecek nilai FUNCTION : SELECT jumlah(10,20) from dual;