Tuesday, 4 December 2012

Tugas VI: Database System

Tugas Kekangan Data
System Pengajar: Achmad Bachris
Nama: Agustina Ampuni
NIM: 4312111011
Kelas: TKJ 1B

1. Simpulkan materi kekangan basisdata secara singkat dan benar!
Kekangan basisdata adalah aturan yang berhubungan dengan aspek-aspek penting dalam basis data seperti redudansi data, inkonsistensi data, data terisolasi, security data dan integritas data yang harus dipatuhi agar data yang diinputkan pada tabel-tabel database mempunyai integritas yang terjaga dan terjamin, sehingga kemungkinan kesalahan input data jauh berkurang.
*)Redudansi Data: data yang sama dan berulang pada file sebuah basisdata.
*)Inkonsistensi Data: data yang tidak konsisten pada letak yang sama untuk beberapa file dengan kunci yang sama.
*)Data Terisolasi: data yang tidak dapat diakses dari file tertentu oleh karena terpisah atau terisolasi terhadap file yang lain dalam basis data.
*)Security Data: tingkat keamanan pada data dalam sistem basis data.
*)Integritas Data: kinerja sistem agar dapat melakukan kontrol atau kendali pada setiap bagian sistem.

2. Berikan dua contoh kekangan pada database.
a. kekangan yang paling sederhana.
Kekangan yang paling sederhana pada databse bisa ditinjau melalui adanya normalisasi pada database, dimana tiap-tiap tahap pada normalisasi database diatur sedemikian rupa untuk menghilangkan redudansi data, data anomali, dan penetapan atribut kunci. Dengan adanya proses normalisasi tersebut, inkonsistensi data dapat dihilangkan, terlebih lagi proses normalisasi data dapat menjaga integritas data.
NIP
Nama_Karyawan
Alamat
Gol_Gaji
Gaji_Pokok
K001
Karin
Yogyakarta
III A
500.000
K002
Keenan
Surabaya
IV A
750.000
K003
Kugy
Jakarta
III A
500.000
K004
Kirana
Bandung
III B
550.000
K005
Karmina
Bogor
IV A
750.000


Dalam database diatas terdapat kerangkapan atau redudansi, berarti basisdata diatas belum memenuhi aturan/kekangan basis data. Agar tabel diatas memenuhi kekangan basis data, maka tabel diatas dipecah menjadi Tabel_Karyawan dan Tabel_Golongan.

Tabel_Karyawan
NIP
Nama_KaryawanAlamatGol_Gaji
K001
Karin
Yogyakarta
III A
K002
Keenan
Surabaya
IV A
K003
Kugy
Jakarta
III A
K004
Kirana
Bandung
III B
K005
Karmina
Bogor
IV A

Tabel_Golongan
Gol_Gaji
Gaji_Pokok
I A
100.000
I B
150.000
I C
200.000
I D
250.000
II A
300.000
II B
350.000
II C
400.000
II D
450.000
III A
500.000
III B
550.000
III C
600.000
III D
650.000
IV A
750.000
IV B
800.000
IV C
850.000
IV D
900.000

b. kekangan yang lain yang lebih tidak sederhana.
Kekangan yang tidak sederhana dapat dilihat dari lima aspek: redudansi data, inkonsistensi data, data terisolasi, security data dan integritas data. Contohnya seorang Designer atau perancang basisdata membuat sebuah basisdata dimana dalam proses pembuatannya terdapat proses normalisasi terlebih dulu. Proses normalisasi ini menghilangkan terjadinya redudansi pada data, menghilangkan inkonsistensi pada data, menghilangkan data data yang terisolasi, membuat security key untuk data atau melakukan control terhadap data seperti melakukan grant atau revoke demi menjaga keamanan terhadap pengaksesan data, dan menjaga intergritas data.

NIM
Nama_Mahasiswa
1701
Karin
1702
Keenan
1703
Kugy
1704
Kirana
1705
Karmina
NIM
Minat
1701
Linux
1702
Basis Data
1703
Multimedia
1704
Pemrograman
1705
Jaringan

Kode_Pembimbing
Nama_Pembimbing
P001
Chaerul
P002
Achmad Bachris
P003
Agus Wagyana
P004
Risna Sari
P005
Indri

Dari ketiga tabel diatas, ada beberapa tabel yang terisolasi, artinya antara table tersebut tidak memiliki relasi. Solusinya adalah dengan menambahkan kolom yang berfungsi sebagai penghubung dengan file yang telah ada.

Kode_Pembimbing
Minat
P001
Linux
P002
Basis Data
P003
Multimedia
P004
Pemrograman
P005
Jaringan

Kode_Pembimbing
Nama_Pembimbing
Minat
P001
Dani
Pemrograman
P002
Dina
Jaringan
P003
Dino
Web
P004
Dion
Basis Data
P005
Doni
Multimedia

3. Ambil kesimpulan dari contoh diatas.
Kesimpulannya adalah sebuah database haruslah diberi kekangan atau aturan. Hal ini dilakukan untuk menghindari kesalahan input seperti redudansi pada data, menghilangkan inkonsistensi pada data, menghilangkan data-data yang terisolasi, menjaga keamanan data, dan menjaga integritas data. Kekangan pada database dilakukan melalui proses normalisasi. Pada kasus pertama terjadi kerangkapan baris pada satu file basis data yang sama dan pada kasus kedua, masalahnya adalah tidak adanya hubungan antara tabel 1 dan tabel 2. Pemecahan kasus pertama adalah dengan cara memecah file basisdata menjadi dua bagian file dan pemecahana kasus kedua adalah dengan cara menghapus field yang sama lalu saling digabungkan.

Wednesday, 7 November 2012

Tugas V: Database System

Tugas V: Kuliah Database
SystemPengajar: Achmad Bachris
Nama: Agustina Ampuni
NIM: 4312111011
Kelas: TKJ 1B


1. Praktekan perintah2 pada DCL.

DCL adalah perintah-perintah yang digunakan untuk membantu mengontrol keamanan setiap database atau sebagian isi dari database dengan membuat hak – hak akses tertentu bagi setiap user.
a. Grant
Grant digunakan untuk memberikan hak akses oleh administrator (pemilik utama) server kepada user (pengguna biasa). Hak akses tersebut berupa hak membuat (create), mengambil (select), menghapus (delete), mengubah (update), dan hak khusus berkenaan dengan sistem databasenya.
Grant berfungsi juga untuk membuat user baru dan memberikan hak istimewa.
Grant digunakan untuk  memberikan privilege kepada tabel yang didefinisikan kepada pemakai lain.
Privilege untuk pemakai dalam perintah grant didefinisikan dengan  menggunakan nama-nama privilege. Nama privilege memudahkan admin untuk dapat memberikan privilege tanpa harus tahu apa  nama field dan tabel yang harus diisi.
Perintah grant secara otomatis akan menambah data pemakai apabila  data nama pemakai yang disertakan pada perintah tersebut belum ada  dalam tabel user. Perintah grant memudahkan administrator untuk tidak perlu melakukan perintah pendefinisian privilege dengan menggunakan  sql karena dengan menggunakan sql, kita harus hafal nama tabel yang  harus diisi, field apa saja yang harus diisi, jumlah field yang harus diisi.
Contoh Penggunaan:
1.      GRANT SELECT ON Point_Of_Sales.jenis TO Wisnu;
2.      GRANT SELECT ON Point_Of_Sales.jenisTO Aryo;
3.      GRANT SELECT ON Point_Of_Sales.item TO Setio;
4.      GRANT ALL PRIVILEGES ON Point_Of_Sales.User TO Admin;
5.      GRANT ALL ON Point_Of_Sales.jualDetail TO Admin;
6.      SHOW GRANTS FOR root@localhost;
7.      SHOW GRANTS FOR Admin;
8.      GRANT SELECT,INSERT ON Point_Of_Sales.jualDetail TO kasir;
9.      GRANT SELECT(Kode,Nama) ON Point_Of_Sales.jenis TO Gina;
10.  GRANT UPDATE(kodeItem,NmItem,kategori,Harga) ON Point_Of_Sales.item TO Gina;

b. Revoke
Revoke ini memiliki kegunaan terbalik dengan grant, yaitu untuk menghilangkan hak akses yang telah diberikan kepada user oleh administrator atau mencabut hak-hak dari seorang user terhadap database tertentu atau sebagian isi dari database.
Contoh Penggunaan:
REVOKE hak_akses ON nama_tabel FROM namaAccount@namaHost;
Menghapus batasan hak akses utk database & tabel :
REVOKE hak_akses ON nama_database.nama_tabel FROM user;
Menghapus batasan hak akses untuk kolom tertentu :
REVOKE hak_akses(field1,field2, field3,…) ON nama_database.nama_tabel FROM user;
Perintah-perintah lain yang termasuk dalam data control language adalah:

c. Commit
Commit merupakan perintah yang digunakan untuk memindahkan transaksi dari memory pemrosesan ke database atau menyimpan secara permanen perubahan-perubahan kedalam database.

d. Rollback
Rollback merupakan perintah yang digunakan untuk membatalkan transaksi yang belum di commit atau membatalkan perubahan-perubahan terakhir dari perintah commit/rollback terakhir.


2. Berikan contoh normalisasi pada kasus lain.


3. Dari tabel data yang dihasilkan pada perancangan basis data, lakukanlah normalisasi pada tabel-tabel tersebut sampai bentuk normal ketiga.
(Via email)













Sunday, 4 November 2012

Tugas III: Database System

Tugas III: Kuliah Database
SystemPengajar: Achmad Bachris
Nama: Agustina Ampuni
NIM: 4312111011
Kelas: TKJ 1B


1.   Praktekan command pada DDL.
Start Run > Command Prompt
Aktifkan Xampp (contoh: C: >”program file\xampp\mysql\bin\mysql.exe” -u root -p)
Masukan password


Membuat Database
—prompt mysql > membuat database baru
—mysql > create database nama_database
—mysql> show databases (mengecek apakah database telah tersimpan)
—mysql> drop database nama_database (menghapus database yang telah ada)

Membuat Table Dalam Database
—mysql> use nama_database;


Memasukan Field
—mysql> create table tabel_pertamaku

no int(3), nama varchar(30), alamat varchar(50), pekerjaan varchar(20)

Melihat Struktur Table
—mysql> desc nama_tabel


2.   Apa tujuan perancangan basis data?
Memenuhi informasi yang berisikan kebutuhan-kebutuhan pengguna secara khusus dan aplikasi-aplikasinya.

Memudahkan pengertian struktur informasi
Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time and storage space)

3.   Apa yang dimaksud dengan macro lifecycle dan micro lifecycle? Sebutkan perbedaannya.
Macro Life Cycle adalah siklus kehidupan sistem informasi.

Micro Life Cycle adalah siklus kehidupan basis data.
Jadi, proses perancangan basis data merupakan bagian dari siklus hidup sistem informasi.

4.   Langkah apa saja yang dilakukan pada tahap pengumpulan dan analisa data?
Pertama, kenali bagian–bagian lain dari sistem informasi yang akan berinteraksi dengan sistem basis data, termasuk pemakai yang ada dan para pemakai yang baru serta aplikasi–aplikasinya. Ada 4 aktifitas pengumpulan data dan analisa data, yaitu:

Menentukan Kelompok Pemakai dan Bidang Aplikasi
Langkah ini untuk menentukan aplikasi utama dan kelompok pengguna yang akan menggunakan basis data, individu utama pada tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah selanjutnya dari pengumpulan dan spesifikasi data.
Peninjauan Dokumentasi
Langkah kedua ini bertujuan untuk mempelajari dan menganalisa dokumen yang ada dan yang berhubungan dengan aplikasi–aplikasi. Adapun dokumen lainnya seperti kebijakan–kebijakan, form, report, dan bagan organisasi, akan diuji dan ditinjau kembali untuk menguji apakah dokumen tersebut berpengaruh terhadap kumpulan data dan proses spesifikasi.
Analisa Lingkungan Operasi dan Pemprosesan Data
Langkah ini bertujuan untuk memperinci dan mempelajari informasi yang sekarang dan yang akan datang termaksud juga analisa jenis–jenis transaksi, frekuensi transaksinya dan juga arus informasi dalam sistem dimana informasi–informasi tersebut berupa input–output data.
Daftar Pertanyaan dan Wawancara
Langkah ini bertujuan untuk mengumpulkan jawaban pertanyaan–pertanyaan dari para pemakai basis data yang berpotensi. Ketua kelompok atau individu utama dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka yang memperhatikan informasi yang berharga dan mengadakan prioritas.

5.   Apa yang dimaksud dengan Transaction Throughput?
Transaction Throughput adalah jumlah rata-rata transaksi yang dapat diproses per menit oleh sistem basis data dan merupakan parameter kritis dari sistem transaksi. Misal, digunakan pada pemesanan tempat di pesawat, bank, dll. Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file basis data. 


Sunday, 28 October 2012

Tugas IV: Database System

Tugas II: Kuliah Database
SystemPengajar: Achmad Bachris
Nama: Agustina Ampuni
NIM: 4312111011
Kelas: TKJ 1B


1.Praktekan seluruh perintah DML.


2.Terangkan dan jelaskan secara singkat dari macam-macam atribut.

Atribut berfungsi untuk mendeskripsikan entitas dan atribut mempunyai nilai (harga). Contoh atribut untuk entitas pegawai misalnya nama, alamat, tempat dan tanggal lahir, dll. Atribut digambarkan dengan simbol ellips. Atribut dibedakan menjadi beberapa macam, yaitu :
Simple Attribute
Atribut yang tidak dapat dibagi-bagi menjadi atribut yang lebih sederhana (mendasar).
Composite Attribute
Atribut yang terdiri dari beberapa atribut yang lebih mendasar.
Single Valued Attribute
Atribut yang hanya mempunyai satu harga untuk suatu entitas tertentu.
Multi Valued Attribute
Atribut yang dapat terdiri dari sekumpulan harga untuk suatu entitas tertentu. 
Null-Value Attribute
Atribut yang tidak mempunyai nilai dan tidak diketahui harganya. 
Key Attribute
Atribut yang unik dari suatu entitas dan nilai dari atribut kunci akan berbeda untuk masing-masing entitas.

3.Apa yang dimaksud dengan Diagram E-R dan sebutkan fungsinya?

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi.
ERD berfungsi untuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol.

4.Diagram E-R mempunyai 4 simbol utama. Sebutkan dan jelaskan masing-masing simbol tersebut !

a. Entiti
Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entiti digambarkan dengan persegi panjang.
b. Atribut
Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Simbol dari atribut digambarkan dengan elips.
c. Hubungan
Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda. Simbil dari atribut digambarkan dengan diamond. 
Relasi yang terjadi diantara dua himpunan entitas (misalnya A dan B) dalam satu basis data yaitu:
-Satu ke satu (one to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
-Satu ke banyak (one to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B hanya dapat berhubungan dengan satu entitas pada himpunan entitas A.
-Banyak ke satu (many to one)
Setiap entitas pada himpunan entitas A hanya dapat berhubungan dengan satu entitas pada himpunan B, tetapi setiap entitas pada entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
-Banyak ke banyak (many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan sebaliknya. 
d. Garis
Garis berfungsi sebagai penghubung antara relasi dengan entitas, relasi dan entitas dan atribut.

5.Berikan contoh untuk masing-masing kardinalitas dalam Diagram E-R!

Kardinalitas pemetaan atau rasio kardinalitas menunjukkan jumlah entitas yang dapat dihubungkan ke satu entity lain dengan suatu relasi. Contoh masing masing kardinalitas dari Diagram E-R meliputi :

a.Satu ke satu (one to one)
Hubungan relasi satu ke satu yaitu setiap entitas pada himpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B.
b.Satu ke banyak (one to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B, tetapi setiap entitas pada entitas B hanya dapat berhubungan dengan satu entitas pada himpunan entitas A.
c.Banyak ke satu (many to one)
Setiap entitas pada himpunan entitas A hanya dapat berhubungan dengan satu entitas pada himpunan B, tetapi setiap entitas pada entitas B dapat berhubungan dengan banyak entitas pada himpunan entitas A.
d.Banyak ke banyak (many to many)
Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B dan sebaliknya. 


6.Apa yg dimaksud dengan spesialisasi dan generalisasi?

Spesialisasi
Spesialisasi adalah proses mendesain subgrup di dalam suatu entity. Suatu himpunan entitas bisa memiliki suatu subgrup yang berbeda diantara entitas-entitas lain dalam himpunan tersebut. Misalnya suatu sub himpunan entitas dalam suatu himpunan entity bisa memiliki atribut yang berbeda dari entity-entiti lain. Model E-R memiliki fasilitas untuk perbedaan ini.
Misal, himpunan entitas account memiliki atribut account-number dan balance. Suatu account dapat diklasifikasikan lagi menjadi salah satu dari:
-Savings-Account
-Checking-Account
Setiap tipe account ini diterangkan dengan himpunan atribut yang termasuk dalam atribut-atribut dari entitas account ditambah dengan atribut tambahan. Contoh entity saving-account diterangkan dengan atribut interest-rate, danchecking-account diterangkan dengan overdraft-amount. Proses spesialisasi mengijinkan pembedaan account berdasarkan tipe account. Account juga dapat dibedakan dengan cara lain, misalkan berdasarkan tipe kepemilikkan menjadi commercial-account dan personal-account. Ketika dalam suatu entitas dibentuk lebih dari satu proses spesialisasi, maka suatu entitas menjadi milik dua spesialisasi tersebut. Misal suatu account bisa merupakan suatu personal account dan suatu checking account. Dalam diagram E-R, spesialisasi dilambangkan dengan komponen segitiga bertuliskan ISA. ISA juga melambangkan hubungan antara superclass-subclass. Entity yang dengan kedudukkan lebih rendah/tinggi memiliki lambang sama.
Generalisasi
Generalisasi adalah proses  pendefinisian  subclass-subclass yang  disatukan  menjadientitas  superclass  tunggal  berdasarkan karakteristik umum. Disamping proses desain top-down (dari inisial entitas ke level lebih rendah atau subgrup), desain juga dapat dilakukan dengan proses bottom-up, yaitu banyak entitas disintesiskan menjadi entity yang lebih tinggi berdasarkan kesamaan feature-nya.
Desainer basis data mungkin mengidentifikasi terlebih dulu entitas checking-account dengan atribut account-number, balance dan overdraftamount. Ditemukan juga entity set saving-account dengan atribut account-number, balance dan interest-rate. Terdapat kesamaan antara entitas checking-account dengan entitas saving-account, yaitu keduanya memiliki beberapa atribut yang sama.