Minggu, 25 Desember 2011

Resume SQL 1 Pert 8


Menggunakan Set Operators
Set Operator

Set Operator menggabungkan hasil dari dua atau lebih komponen Query ke dalam sebuah penyelesaian.
Query yang berisi beberapa Set Operator disebut sebagai Compound Query.

Operator
Hasil
UNION
Semua baris distinct dipilih oleh query yang sama
UNION ALL
Semua baris dipilih oleh query yang sama, termasuk semua duplikat
INTERSECT
Semua baris distinct dipilih oleh kedua query
MINUS
Semua baris distinct yang telah dipilih oleh pernyataan SELECT dan tidak dipilih di pernyataan kedua

Semua Set Operator mempunyai pendahuluan yang sama. Jika sebuah pernyataan SQL berisi beragam Set Operator, Oracle server akan mengevaluasinya dari kiri (atas) ke kanan (bawah) jika
tidak ada sisipan secara jelas yang mengarah pada perintah lain. Anda harus menggunakan sisipan untuk menggolongkan perintah dari hasil evaluasi secara jelas dalam query yang menggunakan operator INTERSECT dengan Set operator yang lain.

UNION Operator

UNION Operator mengembalikan semua baris yang dipilih oleh query yang sama. Gunakan UNION Operator untuk mengembalikan semua baris dari beberapa tabel kemudian menghapus semua baris duplikat.

Pedoman - Pedoman
 Jumlah kolom dan tipe data dari kolom yang telah dipilih harus identik dengan semua pernyataan SELECT yang digunakan dalam Query. Nama kolom tidak harus identik.
 UNION mengubah keseluruhan kolom yang telah dipilih
 Nilai NULL tidak diperbolehkan sebelum dicek.
 Operator IN mempunyai prioritas lebih dulu daripada operator UNION
 Secara default, output akan diurutkan secara ascending dari kolom pertama kalimat SELECT.
Menggunakan Operator UNION

Operator  UNION menghapus semua record duplikat. Jika record tidak ada dalam kedua tabel
EMPLOYEES dan JOB_HISTORY secara identik, maka record tersebut ditampilkan hanya sekali.
Amati dari tampilan output pada slide, record untuk karyawan dengan EMPLOYEE_ID200 ditampilkan dua kali karena JOB_ID berbeda beda pada tiap row.
Perhatikan contoh dibawah ini :

SELECT employee_id, job_id, department_id
FROM employees
UNION
SELECT employee_id, job_id, department_id
FROM job_history;
Operator UNION ALL

Gunakan operator UNION ALL untuk mengembalikan semua baris dari beberapa queri

Pedoman Pedoman
Petunjuk untuk UNION dan UNION ALL semua sama, tapi dengan 2 perkecualian untuk UNION ALL yaitu :
 Tidak seperti UNION, baris duplikat tidak akan terhapus dan output tidak diurutkan secara
default.
 Keyword DISTINCT tidak bisa digunakan.
Seperti yang pada contoh diatas, ada 30 baris yang terpilih. Gabungan antara dua tabel berjumlah 30 baris.
Operator UNION ALL tidak menghapus baris duplikat. UNION mengembalikan semua baris distinct yang telah diseleksi oleh query tersebut. Fungsi UNION ALL mengembalikan semua baris yang telah diseleksi oleh query, termasuk semua duplikatnya.
Perhatikan quey yang terdapat pada slide, sekarang tuliskan dengan menggunakan kalimat UNION :

SELECT employee_id, job_id, department_id
FROM employees
UNION
SELECT employee_id, job_id, department_id
FROM job_history
ORDER BY employee_id;

Pada hasil query perintah diatas didapatkan hasil 29 baris. Hal ini dikarenakan perintah diatas telah menghapus baris berikut ini (yang merupakan sebuah baris duplikat)

Operator INTERSECT

Gunakan operator INTERSECT untuk mengembalikan semua baris yang ada (terlibat) dalam
beberapa query.

Petunjuk
 Nomor kolom dan tipe data kolom telah dipilih oleh pernyataan SELECT dalam query harus
selalu identik di dalam semua pernyataan SELECT yang digunakan dalam query. Nama dari kolom tidak harus selalu identik.
 Membalikkan tabel yang telah diintersect tidak akan mengubah hasil.
 INTERSECT tidak akan memperbolehkan adanya nilai NULL.
Apa yang akan dihasilkan jika anda menambahkan kolom DEPARTMENT_ID ke dalam pernyataan SELECT dari table JOB_HISTORY dan menjalankan query ini ? Hasilnya bisa saja berbeda karena pendahuluan dari kolom lainnya dimana nilai bisa diduplikasikan atau tidak diduplikasikan.

Contoh
SELECT employee_id, job_id, department_id
FROM employees
INTERSECT
SELECT employee_id, job_id, department_id
FROM job_history;
Karyawan 200 bukan lagi bagian dari hasil, hal ini dikarena nilai EMPLOYEES.DEPARTMENT_ID berbeda dari nilai JOB_HISTORY.DEPARTMENT_ID

Operator MINUS

Gunakan Operator MINUS untuk mengembalikan baris, yang dikembalikan oleh query pertama,
yang tidak tampak pada saat query kedua (pernyataan SELECT pertama MINUS pernyataan
SELECT kedua).

Petunjuk
 Jumlah kolom dan tipe data dari kolom telah dipilih oleh pernyataan SELECT di dalam query
seharusnya identik di dalam semua pernyataan SELECT yang digunakan dalam query. Nama kolom tidak harus identik.
 Semua kolom dalam kalimat WHERE seharusnya berada dalam kalimat SELECT supaya
operator MINUS berkerja.
Petunjuk Tentang Set Operator
 Penulisan di dalam rnomori SELECT dari query harus sesuai dengan nomor dan tipe data. Query yang menggunakan operator operator seperti UNION, UNION ALL, INTERSECT dan MINUS didalam kalimat WHERE nya harus mempunyai persamaan nomor dan tipe data kolom dalam rangkaian SELECT.

Seperti pada contoh :

SELECT employee_id, department_id
FROM employees
WHERE (employee_id, department_id)
IN (SELECT employee_id, department_id)
FROM employees
UNION
SELECT employee_id, department_id
FROM employees);

 Kalimat ORDER_BY :
Bisa muncul pada akhir sebuah pernyataan
Akan menerima nama kolom, sebuah alias atau sesuai dengan letak penulisan
 Nama kolom atau alias, jika digunakan sebuah kalimat ORDER_BY, seharusnya berasal dari
daftar SELECT yang pertama.
 Set operator bisa digunakan pada subqueri.
Server Oracle dan Set operator

Ketika sebuah query menggunakan set operator, Server Oracle akan menghapus baris duplikat secara otomatis kecuali di dalam kondisi dengan operator UNION ALL.
Nama kolom outputnya ditentukan oleh daftar kolom pada pernyataan SELECT yang pertama.
Secara default output akan diurutkan secara ascending dari kolom pertama kalimat SELECT.
Keterkaitan penulisan di dalam daftar SELECT yang merupakan komponen query dari campuran
query harus sesuai dengan nomor dan tipe data. Jika komponen query memilih data karakter, tipe
data dari nilai balik dengan ketentuan sebagai berikut :

 Jika kedua query memilih nilai dari tipe data CHAR, nilai balik harus berupa tipe data CHAR.
 Jika salah satu atau kedua query tersebut memilih nilai tipe data VARCHAR2, maka nilai
balik berupa tipe data VARCHAR2.

Selasa, 20 Desember 2011

RESUME SIT PERT. 10


 Tata Kelola Teknologi Informasi

IT Governance

Operasional kegiatan usaha perusahaan termasuk pemrosesan transaksi dan pembukuan sangat tergantung pada keandalan Teknologi Informasi (TI). Informasi yang dihasilkan sangat dibutuhkan dalam pengambilan keputusan baik oleh pihak intern perusahaan maupun pihak ekstern.
Untuk itu TI harus dikelola secara efektif guna memaksimalkan efektifitas penggunaannya dan agar risiko terkait dari teknologi yang diimplementasikan dapat dimitigasi.
Mengingat bahwa TI merupakan aset penting dalam operasional yang dapat meningkatkan nilai tambah dan daya saing perusahaan sementara dalam penyelenggaraannya mengandung berbagai risiko, maka perusahaan perlu menerapkan IT Governance. Penerapan IT Governance dilakukan melalui penyelarasan Rencana Strategis Teknologi Informasi dengan strategi bisnis perusahaan, optimalisasi pengelolaan sumber daya, pemanfaatan Teknologi Informasi (IT value delivery), pengukuran kinerja dan penerapan manajemen risiko yang efektif.
Keberhasilan penerapan IT Governance sangat tergantung pada
komitmen dewan komisaris dan direksi serta seluruh satuan kerja di perusahaan, baik penyelenggara maupun pengguna TI.

Focus Area of IT Governance Life Cycle


Manajemen
•Dewan Komisaris
•Direksi
•Komite Pengarah Teknologi Informasi (IT Steering Committee)
•Pejabat Tertinggi Yang Bertanggungjawab Membawahi Bidang TI

Dewan Komisaris

Sesuai Undang-Undang Perseroan Terbatas, fungsi dewan komisaris adalah mengawasi kebijaksanaan direksi dalam operasional perusahaan serta memberi nasihat pada direksi. Dengan demikian dewan komisaris hendaknya memiliki komitmen, memahami dan berperan serta dalam kegiatan terkait TI

Tanggung jawab dewan komisaris mencakup antara lain:
a.Mengarahkan, memantau dan mengevaluasi Rencana Strategis TI dan kebijakan perusahaan terkait penyelenggaraan TI;
b.Melakukan pemantauan dan mengevaluasi kesesuaian antara kebijakan dengan penerapan manajemen risiko dalam penggunaan TI;
c.Melakukan evaluasi terhadap perencanaan dan pelaksanaan audit, memastikan audit dilaksanakan dengan frekuensi dan lingkup yang memadai serta melakukan pemantauan atas tindak lanjut hasil audit;
d.Melakukan evaluasi terhadap pengelolaan pengamanan yang andal dan efektif atas TI guna menjamin ketersediaan, kerahasiaan, keakuratan informasi.

Direksi

Wewenang dan tanggung jawab bagi direksi mencakup :
a.Menetapkan Rencana Strategis TI dan rencana pelaksanaan/pengembangan TI jangka pendek yang sejalan dengan rencana strategis dan rencana tahunan perusahaan;
b.Menetapkan kebijakan dan prosedur terkait penyelenggaraan TI yang memadai dan mengkomunikasikannya secara efektif, baik pada satuan kerja penyelenggara maupun pengguna TI. Selanjutnya direktur yang membawahi Satuan Kerja Kepatuhan perlu meninjau ulang kebijakan dan prosedur tersebut untuk memastikan pemenuhan terhadap ketentuan perundangan yang berlaku;
c.Mereview, menyetujui dan memantau proyek-proyek teknologi yang berdampak secara signifikan terhadap operasional dan kondisi keuangan perusahaan;
d.Dalam hal perusahaan menggunakan jasa pihak lain, direksi harus memastikan bahwa perusahaan memiliki kontrak tertulis yang mengatur peran, hubungan, kewajiban, tanggung jawab dari semua pihak yang terikat kontrak tersebut, serta memiliki keyakinan bahwa kontrak tersebut merupakan perjanjian yang berkekuatan hukum dan melindungi kepentingan perusahaan.

Direksi juga harus memastikan :
1)TI yang digunakan perusahaan dapat mendukung perkembangan usaha, pencapaian tujuan bisnis perusahaan dan kelangsungan pelayanan kepada nasabah;
2)tersedianya satuan kerja yang berfungsi mengelola TI yang diselenggarakan oleh perusahaan (atau digunakan oleh perusahaan bila diselenggarakan oleh pihak penyedia jasa TI);
3)kebijakan dan prosedur serta standar yang ditetapkan telah diterapkan, dikaji ulang dan direvisi secara berkala;
4)tersedianya Sistem Pengelolaan Pengamanan Informasi (Information Security Management System) yang efektif dan dikomunikasikan kepada seluruh pengguna dan penyelenggara Sistem Informasi; 
5)terdapat penerapan proses manajemen risiko dalam penggunaan TI yang dilaksanakan secara efektif dan memadai antara lain dengan:
a)menumbuhkan risk awareness dari manajemen;
b)memiliki dan mengkomunikasikan pemahaman yang jelas mengenai kriteria dan tingkat risiko yang dapat diterima oleh perusahaan (risk appetite) kepada satuan kerja pengguna dan penyelenggara TI;
c)memiliki pemahaman terhadap ketentuan yang berlaku;
d)mengkomunikasikan risiko signifikan secara transparan kepada satuan kerja pengguna dan penyelenggara TI yang menghadapi risiko tersebut;
e)mengembangkan struktur organisasi beserta uraian tugas dan tanggung jawab yang dapat mengelola risiko yang dihadapi perusahaan secara komprehensif, sistematis dan terintegrasi.
6)tersedianya sumber daya manusia yang cukup dan kompeten sesuai dengan kebutuhan;
7)terdapat upaya peningkatan kompetensi sumber daya manusia terkait penyelenggaraan TI diantaranya melalui pendidikan/pelatihan yang memadai dan program edukasi untuk meningkatkan kesadaran atas pengamanan informasi; 
8)terdapat sistem pengukuran kinerja proses penyelenggaraan TI yang paling kurang dapat:
a)mendukung proses pemantauan terhadap implementasi strategi;
b)mendukung penyelesaian proyek;
c)mengoptimalkan pendayagunaan investasi pada infrastruktur dan sumber daya manusia;
d)meningkatkan kinerja proses penyelenggaraan TI dan kualitas layanan penyampaian hasil proses kepada pengguna;
9)struktur organisasi manajemen proyek dari seluruh proyek terkait TI digunakan dengan maksimal;

Komite Pengarah Teknologi Informasi (IT Steering Committee)
perusahaan wajib memiliki Komite Pengarah TI yang bertujuan untuk membantu dewan komisaris dan direksi mengawasi kegiatan terkait TI. Komite sekurangkurangnya terdiri dari:
a.Direktur yang membawahi satuan kerja Teknologi Informasi;
b.Direktur yang membawahi satuan kerja Manajemen Risiko;
c.Pejabat tertinggi yang membawahi satuan kerja penyelenggara TI;
d.Pejabat tertinggi yang membawahi satuan kerja pengguna utama TI;

Untuk dapat melaksanakan tugasnya, Komite Pengarah TI wajib memiliki IT Steering Committee Charter yang mencantumkan wewenang dan tanggung jawab komite.
Untuk dapat melakukan tugasnya secara efektif dan efisien, komite harus melakukan pertemuan secara berkala untuk membicarakan hal-hal yang terkait dengan strategi TI yang didokumentasikan dalam bentuk risalah rapat.

Wewenang dan tanggung jawab Komite Pengarah TI adalah memberikan rekomendasi kepada direksi yang paling kurang mencakup:

a.Rencana Strategis TI (Information Technology Strategic Plan) yang sesuai dengan rencana strategis kegiatan usaha perusahaan. Dalam memberikan rekomendasi, Komite hendaknya memperhatikan faktor efisiensi, efektifitas serta hal-hal sebagai berikut:
1)rencana pelaksanaan (road-map) untuk mencapai kebutuhan TI yang mendukung strategi bisnis perusahaan. Road map terdiri dari kondisi saat ini (current state), kondisi yang ingin dicapai (future state) serta langkah-langkah yang akan dilakukan untuk mencapai future state;
2)sumber daya yang dibutuhkan;
3)keuntungan / manfaat yang akan diperoleh saat rencana diterapkan.

b.perumusan kebijakan dan prosedur TI yang utama seperti kebijakan pengamanan TI dan manajemen risiko terkait penggunaan TI di perusahaan;
c.kesesuaian proyek-proyek TI yang disetujui dengan Rencana Strategis TI. Komite juga menetapkan status prioritas proyek TI yang bersifat kritikal (berdampak signifikan terhadap kegiatan operasional perusahaan) misalnya pergantian core perusahaaning application, server production dan topologi jaringan;
d.kesesuaian pelaksanaan proyek-proyek TI dengan rencana proyek (project charter) yang disepakati dalam service level agreement. Komite hendaknya melengkapi rekomendasi dengan hasil analisis dari proyek-proyek TI yang utama sehingga memungkinkan direksi mengambil keputusan secara efisien;
e.kesesuaian TI dengan kebutuhan sistem informasi manajemen yang mendukung pengelolaan kegiatan usaha perusahaan;
f.efektivitas langkah-langkah minimalisasi risiko atas investasi perusahaan pada sektor TI dan bahwa investasi tersebut memberikan kontribusi terhadap tercapainya tujuan bisnis perusahaan;
g.pemantauan atas kinerja TI, dan upaya peningkatannya misalnya dengan mendeteksi keusangan TI dan mengukur efektivitas dan efisiensi penerapan kebijakan pengamanan TI;
h.upaya penyelesaian berbagai masalah terkait TI, yang tidak dapat diselesaikan oleh satuan kerja pengguna dan satuan kerja penyelenggara. Komite dapat memfasilitasi hubungan antara kedua satuan kerja tersebut;
i.kecukupan dan alokasi sumber daya yang dimiliki perusahaan. Apabila sumber daya yang dimiliki tidak memadai dan perusahaan akan menggunakan jasa pihak lain dalam penyelenggaraan TI maka Komite Pengarah TI harus memastikan perusahaan telah memiliki kebijakan dan prosedur terkait.

Pejabat Tertinggi Yang Bertanggungjawab Membawahi Bidang TI

Dalam struktur organisasi, perusahaan harus menetapkan pejabat tertinggi yang hanya membawahi bidang TI. Jabatan tersebut dapat dibawahi oleh direktur TI atau pimpinan satuan kerja TI sesuai dengan kompleksitas usaha di perusahaan. Wewenang dan tanggung jawab utama dari pejabat tertinggi TI tersebut minimal (namun tidak terbatas pada), mencakup hal-hal berikut:
a.merumuskan kebijakan, rencana dan anggaran TI;
b.menerapkan semua kebijakan TI dan rencana yang telah ditetapkan oleh direksi;
c.memberikan dukungan pemberian jasa TI kepada satuan kerja pengguna untuk mencapai target bisnisnya secara responsif dan tepat waktu;
d.memastikan setiap informasi yang dimiliki oleh satuan kerja penggunaTI mendapatkan perlindungan yang baik terhadap semua gangguan yang dapat menyebabkan kerugian akibat bocornya data/informasi penting;
e.memastikan kecukupan dan efektifitas kebijakan dan prosedur TI serta penerapan manajemen risiko untuk mengidentifikasi, mengukur, menilai dan mengawasi risiko TI;
f.memastikan terdapatnya pengawasan yang memadai dalam setiap pengembangan atau modifikasi sistem TI;
g.memberikan kepada direksi laporan pelaksanaan TI secara periodik dan jika diperlukan dapat mengusulkan tindakan untuk mengatasi kelemahan TI yang telah ditemukan;
h.menilai kinerja dari layanan TI di perusahaan, contohnya persentase berapa lama sistem mati (downtime error), pelanggaran keamanan, perkembangan proyek, penerapan perjanjian tingkat layanan (Service Level Agreement - SLA) antara satuan kerja TI dan satuan kerja pengguna atau pihak penyedia jasa TI;
i.memastikan tindakan yang tepat telah dilakukan untuk memperbaiki temuan audit baik dari auditor intern maupun auditor ekstern;
j.memastikan kecukupan sumber daya manusia baik dalam penyelenggaraan TI maupun dalam penerapan manajemen risiko ;
k.apabila pejabat tertinggi yang secara langsung membawahi TI adalah seorang direktur maka yang bersangkutan berkewajiban mengawasi implementasi budget TI seperti pengadaan di bidang TI dan pelatihan. Apabila pejabat tertinggi bukan seorang direktur maka pengawasan kedua bidang tersebut dapat dilakukan oleh direktur yang membawahi;
l.direktur TI bertanggung jawab terhadap penyusunan dan implementasi arsitektur TI dan rencana-rencana lain yang strategis yang mempengaruhi modal perusahaan secara signifikan, memastikan struktur organisasi manajemen proyek dari seluruh proyek terkait TI digunakan dengan maksimal;
m.memastikan bahwa kontrak tertulis antara perusahaan dengan pihak penyedia jasa TI mencakup hal-hal yang semestinya.