Showing posts with label Basisdata. Show all posts
Showing posts with label Basisdata. Show all posts

Monday, November 22, 2021

Backup Database Otomatis Terjadwal Dengan Cron



Kali ini saya akan membagikan sedikit ilmu tentang backup database secara otomatis dan terjadwal sesuai keinginan kita ges. yuk langsung praktek

pertama kalian install dulu aplikasi CRON

apt-get install cron

Friday, December 22, 2017

Tugas Trigger Oracle





TUGAS TRIGGER

BASIS DATA LANJUT



Jawab pertanyaan berikut disertai dengan penjelasan.
1. Perubahan pada data hanya diperbolehkan selama jam kerja dari jam 8:45 pagi
sampai 17.30 , dari Senin hingga Jum’at. Buat stored procedure dengan nama
SECURE_DML untuk mencegah DML statement dijalankan diluar dari jam kerja,
dengan menampilkan pesan “ Perubahan pada data hanya diperbolehkan hanya pada jam kerja ”.

2.Buat statement trigger pada tabel EMPLOYEES untuk memanggil prosedur diatas.

3.Implementasikan trigger berikut pada table JOBS sehubungan dengan kenaikan gaji pegawai.

Buat stored procedure dengan nama UPD_EMP_SAL untuk mengupdate jumlah gaji pada table EMPLOYEES. Prosedur ini menerima dua parameter : job id dari gaji yang akan diubah dan nilai minimum salary yang baru. Prosedur ini dijalankan dari trigger yang dibuat pada table JOBS.
4. Lanjutan dari soal nomer 3, buat row trigger dengan nama UPDATE_EMP_SALARY pada table JOBS yang memanggil prosedur UPD_EMP_SAL, pada saat minimum gaji pada table JOBS diubah untuk suatu job_ID tertentu.

Catatan : yang merubah nilai gaji pegawai pada table EMPLOYEES adalah prosedur UPDATE_EMP_SALARY

Jawab !

1. CREATE OR REPLACE TRIGGER secure_dml

BEFORE INSERT ON employees

BEGIN

IF (TO_CHAR(SYSDATE,'DY') IN ('SAT','SUN')) OR

(TO_CHAR(SYSDATE,'HH24:MI') NOT BETWEEN '08:45’ AND '17:30')

THEN RAISE_APPLICATION_ERROR (-20500,'Penyisipan data pada table EMPLOYEES hanya diperbolehkan selama jam kerja');

END IF;

END;

/





2. INSERT INTO employees (employee_id, last_name,first_name, email, hire_date, job_id, salary, department_id) VALUES (300, 'Smith', 'Rob', 'RSMITH', SYSDATE,'IT_PROG', 4500, 60);







3. CREATE OR REPLACE PROCEDURE upd_emp_sal

(p_job_id IN employees.job_id%TYPE, p_min_sal IN employees.salary%TYPE)

IS

CURSOR c_emp_sal_update(cp_job_id employees.job_id%TYPE) IS

SELECT salary

FROM employees

WHERE job_id = cp_job_id

FOR UPDATE OF salary NOWAIT;

BEGIN

FOR v_c IN c_emp_sal_update(p_job_id)

LOOP

IF v_c.salary < p_min_sal THEN

UPDATE employees SET salary = p_min_sal

WHERE CURRENT OF c_emp_sal_update;

END IF;

END LOOP;

END upd_emp_sal;

/



















































4. CREATE OR REPLACE TRIGGER update_emp_salary

AFTER INSERT OR UPDATE

OF min_salary ON jobs

FOR EACH ROW

BEGIN

IF :NEW.min_salary > :OLD.min_salary THEN

upd_emp_sal(:NEW.job_id, :NEW.min_salary);

END IF;

END update_emp_salary;

/

Download









Tuesday, December 12, 2017

Tutorial Migrate Database MySql to oracle with Sql Developer

Oracle Banyak diminati oleh para administrator database karena keamanan dan kinerjanya yang handal dan dapat dijamin. Kali ini kita akan mempelajari cara migrate database dari mysql ke oracle dengan software sql developer .

Langsung saja untuk alat tempurnya :

Video Tutorial





Tuesday, December 5, 2017

Sql Developer 4.2


Oracle SQL Developer adalah lingkungan pengembangan terintegrasi gratis yang menyederhanakan pengembangan dan pengelolaan Oracle Database baik dalam penerapan tradisional dan Cloud. SQL Developer menawarkan pengembangan end-to-end lengkap dari aplikasi PL / SQL Anda, lembar kerja untuk menjalankan kueri dan skrip, konsol DBA untuk mengelola database, antarmuka laporan, solusi pemodelan data lengkap, dan platform migrasi untuk memindahkan Database pihak ketiga ke Oracle.




Tuesday, November 21, 2017

Konfigurasi Menghubungkan Oracle dengan PHP

PHP dan Oracle 
1. Install Xampp . Download xampp
2. Install Oracle Download Oracle
3. download Oracle instant client dan extrack di local disk C. Download Oracle Instant Client
4. Tambahkan PATH instant oracle dimana pada variable PATH environment variables yang ada di system Windows. Caranya klik kanan computer -> properties -> advance setup -> advance -> environment values. Pilih path kemudian edit





Tambahkan path instant oracle


5. Download oci8 for windows dan extract . kemudian copy file ke C:/xampp/php/ext
6. Konfigurasi pada file php.ini, dengan cara buka xampp, klik config pada action apache , kemudian pilih php.ini. hilangkan tanda ; seperti pada extension = php_oci8.dll sesuai versi oracle.

7. Pada Xampp , aktifkan APACHE

8. Untuk cek apakah oci sudah akti Pada browser ketik alamat http://localhost/dashboard/phpinfo.php atau jika tidak bisa , ketik url http://localhost/xampp/phpinfo.php  
9. Buat file php yang berisi sperti berikut untuk menghubungkan oracle dengan php


10. Dan hasilnya

Tuesday, November 7, 2017

Operasi JOIN Oracle


TUGAS PERTEMUAN 3

1.   Buat query untuk menampilkan nama pegawai, nomer department dan nama department dari semua pegawai
      


2.    Buat daftar yang unik dari semua pekerjaan pada department 30, tampilkan pula nama kota (city) dari department 30.

3.      Tampilkan nama pegawai, nama department dari semua pegawai yang memiliki komisi (komisi tidak sama dengan NULL)
      

4.  Tampilkan nama pegawai dan nama department untuk semua pegawai yang memiliki huruf ‘A’ pada namanya.


5.      Buat query untuk menampilkan nama pegawai, pekerjaan, nomer department, dan nama department untuk semua pegawai yang bekerja di kota ‘DALLAS’.

6.   Buat query untuk menampilkan nama pegawai dan nomer pegawai, nama manager dan nomer pegawai dari manager.



7.   Modifikasi query pada nomer 6, buat outer join untuk menampilkan pula data pegawai yang tidak mempunyai manager.


8.      Buat query yang menampilkan nama pegawai, nomer department, dan semua employee yang bekerja pada department yang sama dengan employee.

9.      Tampilkan struktur dari table SALGRADE. Buat query yang menampilkan nama pegawai , pekerjaan, nama department, gaji dan grade untuk semua pegawai
Tidak ada tabel SALGRADE di user HR.


10.  Buat query untuk menampilkan nama dan tanggal mulai bekerja dari pegawai yang tanggal bekerjanya setelah pegawai bernama ‘BLAKE’




11. Tampilkan semua nama pegawai dan tanggal kerjanya serta nama manager dan tanggal kerjanya dimana tanggal mulai kerja pegawai lebih dulu daripada tanggal mulai kerja managernya.


12. Tampilkan nama pegawai dan pekerjaannya untuk pegawai yang tidak bekerja di department manapun


13. Tampilkan nomer department dan nama departemen dimana tidak ada pegawai yang bekerja di departemen tersebut.





Monday, November 28, 2016

Oracle Prak 10

  1. Buat table DEPARTMENT sehingga mempunyai struktur seperti ini :
  2. Dapatkan data dari table DEPT, masukkan ke dalam table DEPARTMENT.
  3. Buat table EMPLOYEE sehingga mempunyai struktur seperti ini :
  4. Buat table EMPLOYEE2 yang memiliki struktur dari table EMP hanya pada field empno,ename, dan deptno. Beri nama kolom yang baru ini pada table EMPLOYEE2 : ID, LAST_NAME, DEPT_ID.
  5. Drop table EMPLOYEE
  6. Ubah nama table EMPLOYEE2 menjadi EMPLOYEE
  7. Tambahkan perintah ke table DEPARTMENT dan EMPLOYEE yang mendeskripsikan isi dari kedua table.

Friday, October 21, 2016

Oracle PENGGUNAAN FUNGSI GROUP

Latihan Soal
  1. Tampilkan nilai tertinggi, terendah, jumlah dan rata-rata gaji dari seluruh pegawai. Beri judul kolom MAKSIMUM MINIMUM TOTAL RATA2.

  2. Tampilkan nilai tertinggi, terendah, juml/h dan rata-rata gaji pada tiap-tiap jenis pekerjaan yang ada.. Beri judul kolom MAKSIMUM MINIMUM TOTAL RATA2.

  3. Tampilkan nama pekerjaan dan jumlah pegawai yang bekerja pada tiap-tiap pekerjaan tersebut !

  4. Buat query yang menampilkan perbedaan antara nilai terendah dan nilai tertinggi dari gaji pegawai, beri judul kolom PERBEDAAN.

  5. Buat query untuk menampilkan nama department, lokasinya, jumlah pegawai yang bekerja, dan rata-rata gaji pada department tersebut. Bulatkan rata-rata gaji ke 2 angka decimal
Download tugas file.doc

Tuesday, October 11, 2016

Tugas Oracle Prak 3


LATIHAN SOAL

  1. Buat query untuk menampilkan tanggal hari ini dan beri judul ‘TANGGAL’
  2. Tampilkan nomer pegawai, nama, gaji dan gaji setelah dinaikkan 15%
  3. Tampilkan nama pegawai, tanggal mulai bekerja dan tampilan tanggal hari Senin pertama setelah 6 bulan dia bekerja (beri judul REVIEW). Format untuk tanggal, misal : “Monday, the Twenty-Fourth of May, 1982”
  4. Untuk tiap pegawai tampilkan nama pegawai, hitung jumlah bulan pegawai tersebut telah bekerja, lakukan pembulatan keatas (round)
  5. Buat query yang bisa menampilkan informasi dalam satu kolom yang berisi informasi : <nama pegawai> gajinya <gaji> sebulan tapi ingin <3 kali gaji> beri judul kolom “GAJI IMPIAN”
  6. Buat query untuk menampilkan nama dan gaji dengan format 15 karakter panjangnya, rata kiri dan kolom yang kosong diisi dengan ‘$’, beri label “GAJI”
  7. Buat query untuk menampilkan nama pegawai yang diawali dengan huruf besar dan diikuti dengan semua huruf kecil beri judul kolom ‘NAMA’, panjang nama pegawai beri judul kolom ‘PANJANG’, untuk semua pegawai yang namanya diawali dengan J,A, atau M.
  8. Buat query yang menampilkan nama dan jumlah komisi, jika komisi sama dengan NULL ganti dengan keterangan “Tidak ada Komisi” dan beri judul ‘Komisi’. 
  9. Buat query yang menampilkan nama pegawai dan jumlah gaji yang ditampilkan dengan symbol ‘*’, tiap satu ‘*’ mewakili ratusan dollar.
Download Tugas.DOC

Tuesday, October 4, 2016

Oracle Praktikum 2


LATIHAN SOAL TUGAS 2
1.       Buat query untuk menampilkan nama dan gaji dari pegawai yang memiliki gaji lebih dari $2850. 

2.       Buat query untuk menampilkan nama pegawai dan nomer departemen dari pegawai tersebut untuk pegawai yang mempunyai nomer pegawai = 7566. 

3.       Tampilkan nama dan gaji untuk semua pegawai yang memiliki gaji yang tidak berada dalam range antara $1500 sampai $2850. 

4.       Tampilkan nama pegawai, pekerjaan dan tanggal mulai pegawai bekerja antara 20 February 1981 sampai 1 Mei 1981.  Urutkan dengan urutan menaik pada kolom tgl mulai kerja. 

5.       Tampilkan nama pegawai dan nomer department dari semua pegawai dalam department 10 dan department 30 dalam urutan menaik berdasarkan nama. 

6.       Tampilkan nama dan gaji pegawai yang memiliki gaji lebih dari $1500 dan bekerja pada nomer department 10 atau 30.  Beri judul kolom ‘Pegawai’ dan ‘Gaji Sebulan’ . 

7.       Tampilkan nama dan tanggal mulai kerja dari seorang pegawai yang mulai bekerja di tahun 1982
8.       Tampilkan nama, dan pekerjaan pegawai yang tidak mempunyai manager (nilai kolom mgr = NULL) 

9.       Tampilkan nama, gaji dan komisi dari semua pegawai yang memiliki komisi (kolom komisi tidak sama dengan NULL). Urutkan berdasarkan gaji dan komisi, dengan urutan menurun. 

10.   Tampilkan nama dari semua pegawai yang memiliki nama yang mengandung karakter ‘A’ pada huruf ketiga. 

11.   Tampilkan nama pegawai yang memiliki dua huruf ‘L’ pada namanya, dan bekerja di department 30, atau managernya = ‘7782’ 

12.   Tampilkan nama, pekerjaan, dan gaji dari semua pegawai yang memiliki pekerjaan ‘CLERK’ atau ‘ANALYST’ dan gajinya tidak sama dengan $1000, $3000 atau $5000. 



13.   Tampilkan nama, gaji, dan komisi dari semua pegawai yang memiliki jumlah komisi lebih dari jumlah gaji setelah dinaikkan 10%,.

Download Tugas.doc

Thursday, September 29, 2016

Tugas 1 Oracle Database

2.21.  Latihan
1. Apakah statement SELECT berikut ini dapat dijalankan dengan benar ? Benar/Salah
    SQL> SELECT last_name,job_id,salary as sal
2  FROM EMPLOYEES;

2. Temukan 4 (empat) kesalahan pada statement SELECT berikut : 

3. Tampilkan struktur dari table departments, kemudian tampilkan semua datanya !
   
4. Tampilkan struktur dari table EMPLOYESS. Buat query untuk menampilkan nomer pegawai, nama, pekerjaan, dan tanggal mulai bekerja untuk tiap pegawai.

5. Buat query untuk menampilkan pekerjaan secara unik dari table EMPLOYEES. 

6. Tampilkan nama pegawai digabung dengan pekerjaan dengan dipisah tanda koma, kemudian beri judul “Pegawai dan Pekerjaan” 


7. Buat query untuk menampilkan semua kolom dari table EMP.  Semua kolom digabung jadi satu dengan tanda koma sebagai pemisah, kemudian beri judul “OUTPUT” 

Jawab
1.       Benar
2.       -      penulisan salary x 12 , seharusnya operator x menggunakan * .
-          Penulisan select empno,ename  salary tidak ada pemisah koma antara ename dan salary.
-          Penulisan Gaji  seharusnya tidak usah di tulis . syntax akan error
-          Penulisan setahun tidak usah di tulis . syntax akan error
Dan perintah yang benar seharusnya :
SELECT EMPNO,ENAME, SAL * 12  FROM EMP;

3.       DESC departments;
Select* from departments;

4.       DESC employees;
Select empno,ename,job,hiredate from employees;

5.       Select job from employees group by job;

6.       Select ename||’, ’||job AS ”Pegawai Dan Pekerjaan” from employees;

7.       Select empno||’, ’||ename||’, ’||job||’, ’||hiredate||’, ’||salary AS “output” from employees;


Saturday, April 2, 2016

Belajar My SQL Dasar




MENGENAL MySQL

MySQL adalah Sebuah program database server yang mampu menerima dan mengirimkan datanya sangat cepat, multi user serta menggunakan perintah dasar SQL ( Structured Query Language).
Kelebihan MySQL
Database MySQL memiliki beberapa kelebihan dibanding database lain, diantaranya :
• MySQL merupakan Database Management System ( DBMS )
• MySQL sebagai Relation Database Management System ( RDBMS ) atau disebut dengan database Relational
• MySQL Merupakan sebuah database server yang free, artinya kita bebas menggunakan database ini untuk keperluan pribadi atau usaha tanpa harus membeli atau membayar lisensinya

PRAKTIKUM DATABASE
1. Mengaktifkan Direktori MySQL Server
Untuk dapat menggunakan MySQL terlebih dahulu aktifkan Server MySQL dengan menghidupkan daemond MySQL. Program MySQL yang digunakan pada modul ini adalah XAMPP 1.7, maka untuk menjalankan daemond MySQL terdapat pada direktori yaitu C:\Program Files\Xampp\Mysql\Bin
Untuk masuk kedalam server MySQL, bukalah MS-DOS Prompt anda melalui Run kemudian ketik Command atau cmd. Maka anda dapat masuk ke dalam direktori MySQL melalui MS-DOS Promtp seperti dibawah ini.

2. Masuk dan Keluar dari Server MySQL
MySQL adalah sebuah database server yang sangat aman. MySQL memiliki kemampuan memanajemen user dalam mengakses. Jadi, tidak sembarang user dapat mengakses sebuah database yang diciptakan MySQL. Maka sebelum anda memiliki User untuk mengakses MySQL anda juga dapat Mengakses database MySQL menggunakan User Root.
Berikut adalah perintah yang digunakan untuk mengkoneksikan kedalam Server Mysql :

Keterangan :  Tanda –u menerangkan bahwa kita akan masuk menggunakan User Name bernama Root.
         Tanda –p menyatakan kita akan masuk menggunakan Password.


           Untuk dapat keluar dari Server MysQL kita dapat mengetikkan Intruksi quit atau \q :



3. Melihat Database di MySQL
             Menggunakan perintah: show databases;


4. Membuat Database dengan nama “PraktikumMySQL”
             Menggunakan perintah:
CREATE DATABASE namadatabase;
Misal ingin membuat database dengan nama praktikummysql:
            

5. Cara Memilih dan Menggunakan Database MySQL

Kita harus memilih sebuah database yang akan digunakan, format query untuk memilih database ini adalah:

6. Melihat isi table di dalam database MySQL
             show tables;

7. Melihat Seluruh isi table dalam database MySQL
             SELECT * from namatabeldatabase;

8. Membuat User baru
          CREATE USER 'namauser'@'localhost' IDENTIFIED BY 'mypassword';
Keterangan: - membuat user baru didatabase dengan nama namauser
 - akses ke database hanya dilakukan lewat localhost
 - pasword dari namauser adalah mypassword

9. Melihat User baru yang sudah dibuat
  Agar bisa keluar dari user root dan masuk sebagai user lainnya, harus mengakses MySQL Client dari CMD Windows
mysql> exit;
Bye

c:\xampp\MySQL\bin>mysql -u namauser –p namadatase
enter password: password dari namauser

10. Memberikan Privileges User MySQL
Agar user MySQL dapat melakukan update, insert, drop, dll, maka perlu diberikan hak akses / privilege
GRANT ALL PRIVILEGES ON namadatabase.* TO 'namauser'@'localhost';
11. Merubah Password pada user MySQL
Jika user yang ‘lupa’ passwordnya bukan user root, maka kita tinggal menimpa password lama dengan yang baru. Berikut adalah format dasar query yang digunakan:
SET PASSWORD FOR nama_user@'lokasi_user' = PASSWORD('password_baru');


12. Menghapus Password pada user MySQL
Jika yang anda inginkan adalah menghapus password dari seorang user secara keseluruhan, maka cukup memberikan string kosong sebagai isian password.
SET PASSWORD FOR 'nama_user'@'lokasi_user' = ''

13. Menghapus Database MySQL
Jika database sudah tidak digunakan lagi, kita dapat menghapusnya. Proses penghapusan ini akan menghapus database, termasuk seluruh tabel dan isi dari tabel tersebut.

DROP DATABASE database_name;

          Sekian pengenalan MySql dari saya semoga bermanfaat. Untuk yang belum punya software xampp silahkan Download disini

DML ( DATA MANIPULATION LANGUAGE )

PRAKTIKUM 12 DML BASIS DATA


1.    Buatlah database dengan nama ‘data_keluarga’
·         Login user root


    ¯   Buat database

2.    Didalam database tsb buatlah sebuah tabel dengan nama keluarga’
    ¯   Pilih database yg akan di kasih table


3.    Tabel keluarga tersebut berisi kolom (nama,gender,tanggal_lahir,umur,hoby) disesuaikan dengan masing-masing keluarga


4.    Masing-masing kolom diisikan datanya, minimal isi terdiri dari 5 anggota keluarga
    ¯   Buat isi table dengan perintah berikut satu persatu.


    ¯   Untuk melihat isi table



5.    Tambahkan kolom no_ktp pada tabel tsb

6.    Isikan no_ktp masing-masing keluarga (untuk no_ktp tidak sesuai asli tdk apa2,nilainya tidak boleh sama)
7.    Berilah Primary_key pada tabel no_ktp tersebut


8.    Rubahlah nama tabel ‘keluarga’ menjadi ‘family’


9.    Rubahlah nama kolom ‘umur’ menjadi nama ‘usia’


10.    Rubahlah isi data hoby dari keluarga yang usianya paling muda


11.    Tampilkanlah kolom nama dan usia yang berjenis kelamin perempuan

12.    Tampilkanlah seluruh isi table dari keluarga yang paling tua


13.    Kosongkan kolom usia yang berjenis kelamin laki-laki dan tampilkan hasilnya
\
14.    Isikan kembali kolom usia yang berjenis kelamin laki-laki


15.    Tampilkan seluruh isi table ‘keluarga’