Senin, 28 September 2015

SQL (Structured Query Language) Lanjutan

Tugas
1. Buatlah tabel Mahasiswa dengan field:

  1. NIM char (10)
  2. Nama varchar (20)
  3. Alamat varchar (20)
  4. Kota varchar (15) 
  • field NIM sebagai primary key! 

Senin, 21 September 2015

SQL (Structured Query Language) Pendahuluan

1. Pengertian SQL
SQL adalah singkatan dari Structured Query Language. Sedangan pengertian SQL adalah suatu bahasa (language) yang digunakan untuk mengakses data di dalam sebuah database relasional. SQL sering juga disebut dengan istilah query. dan bahasa SQL secara praktiknya digunakan sebagai bahasa standar internasional untuk manajemen database relasional. Hingga saat ini hampir seluruh server database atau software database mengenal dan mengerti bahasa SQL.
2. Sejarah SQL
Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama Jhonny Oracle yang membahas tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa tersebut kemudian diberi nama SEQUEL (Structured English Query Language). Setelah terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R. Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran John Oracle, maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalam manajemen basis data.
3. Standarisasi SQL

Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92. Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server basis data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek masing-masing.
4. Penulisan Perintah SQL
  • Perintah SQL tidak case sensitive 
  • Perintah SQL bisa ditulis pada satu baris atau lebih
  • Antar klausa perintah biasanya ditulis pada baris yang berbeda
  • Keywords tidak dapat dipisah antar baris
  • Tabs dan spasi diperbolehkan agar mudah dibaca
  • Setiap akhir perintah SQL (tidak baris) diakhiri dengantanda (;) 
5. Jenis-jenis Perintah / komponen SQL
  1. Data Definition Language (DDL) adalah jenis instruksi SQL yang berkaitan dengan pembuatan struktur tabel maupun database. Termasuk diantaranya : CREATEDROP,dan ALTER
  2. Data Manipulation Language (DML) adalah jenis instruksi SQL yang berkaitan dengan data yang ada dalam tabel, tentang bagaiman menginput, menghapus, memperbaharui serta membaca data yang tersimpan di dalam database. Contoh perintah SQL untuk DML : SELECT, INSERT, DELETE, dan UPDATE.
  3. Data Control Language (DCL) adalah jenis instruksi SQL yang berkaitan dengan manajemen hak akses dan pengguna (user) yang dapat mengakses database maupun tabel. Termasuk diantaranya : GRANT dan REVOKE

6. Tipe Data SQl
Tipe data digunakan untuk menentukan jenis nilai yang dapat ditampung oleh suatu variabel, umumnya telah menyediakan tipe-tipe data yang sederhana (simple) maupun yang terstruktur.
Macam-macam tipe data :
  • NUMBER, Menyimpanbilangan bulat serta bilangan pecahan di belakang titik desimal. Panjang maksimum tergantung pada implementasi oleh sistem operasi yang digunakan , tetapi pada umumnya 38 digit.
  • DATE, menyimpan data tanggal dan waktu dalam tabel. Tipe data DATE menyimpan data tahun (termasuk abad), Bulan, hari, jam, menit, seta detik. Oracle XE menggunkan format tanggal default dalam bentuk DD-MM-YY.
  • CHARACTER/CHAR, merupakan tipe data yang menyimpan karakter dengan sizemaximal 2000byte(1karakter = 1 byte)
  • VARCHAR, merupakan tipe data yang dapat menyimpan semua jenis karakter yang dimasukan lewat eyboard dengan size maximal karaker 4000byte.
  • INTEGER, merupakan tipe data dengan bilangan bulat dengan ukuran 4byte.


    Berdasarkan definisi yang tela dijelaskan sebelumnya, DDL adalah kumpulan perintah SQL yang digunakan untuk Membuat(CREATE), Mengubah(ALTER), dan Menghapus keseluruhan dari tabel(DROP).Berikut ini adalah sytax dari peerintah-perintah tersebut, seblumnya kita harus mengetahui komponen-komponen dari tabel 
KOMPONEN TABEL
  • TABEL, Merupakan kumpulan dari field dan record
  • FIELD, kolom dalam suatu tabel
  • RECORD, baris dalam suatu tabel
  • Primary Key, field yang unik dalam sebuah tabel dan hanya boleh ada 1 primary key dalam 1 tabel
  • Foreigen key, primary key pada tabel yang lain, boleh lebih dari 1 foreign key  pada 1 tabel.

1.Create Table
  • Tanpa Constraints
 
Contoh:







  •  Dengan Constraints
Untuk membuat tabel acuan (references) sebelum tada ')' tambahkan perintah 
Untuk membuat tabel yang mengacu pada tabel lain (tabel relasi) sbelum tanda ')' tambahkan perinta

 Contoh :
2.Alter Tabel
 Modifikasi Pendefinisian Tabel
  • Menambahkan Field Pada Tabel
 


Contoh :


  

  • Menghapus Field pada tabel




Contoh :
 


  • Menambah Primary Key




Contoh :


  • Menambah Foreign Key


Contoh :






  • Menghapus Primary Key
Contoh :





  • Menghapus Foreign Key




Contoh :




  • Mengganti Tipe Data Kolom

 
Contoh :


  • Mengganti Nama Kolom


Contoh :

  • Mengganti Nama Tabel 


Contoh :




3.Drop Tabel
Perintah yang digunakan untuk menghapus tabel secara keseluruhan
 


CONTOH :
 

Menggunakan PgAdmin
  • Buka Aplikasi PgAdmin
  • Klik kanan PostgreSQL 9.4 (localhost5432) -> refresh
  • Klik kanan PostgreSQL 9.4 (localhost5432) -> connec -> masukkan passwor
 













  • Klik kanan Postgres -> New Object -> New Database















  •  Masukkan nama database -> masukkan comment -> Ok















  • Klik kanan Database -> refresh















  • klik kanan nama_database (201331211)

  • Buka SQL

TUGAS











Buatlah tabel seperti pada gambar pada PgAdmin, Serta tentukan primary key dan foreign key dari tiap tabel!
  • Membuat Tabel Barang (primary key = kodebarang)
 
  • Membuat Tabel Suplier (primary key = kode suplier)





  • Membuat Tabel Pasok (primary key = kode pasok, foreign key = kode barang & kode suplier)

  • Melihat Output Tabel Barang, Tabel Suplier, dan Tabel Pasok (Blok masing-masing perintah untuk execute query)
Untuk Merunning kita dapat memblog masing-masing perintah kemudian meng execute query.


Sumber :

Selasa, 23 Juni 2015

Pile File


Enam Organisasi atau Pengaksesan Dasar
Terdapat enam organisasi dasar, kebanyakan organisasi file system termasuk salah satu atau kombinasi kategori-kategori ini. Enam organisasi pengaksesan file secara dasar adalah sebagai berikut :
1.    File pile (pile file)
2.    File sekuen (sequential file)
3.    File sekuen berindeks (indexed-sequenstial file)
4.    File berindek majemuk (multiple-indexed file)
5.    File ber-hash (hashed file)
6.    File cincin (multiring file)

Dibawah ini adalah pembahasan enam organisasi (PengaksesanDasar), namun dalam pembahasan ini akan lebih ditekankan pada File Pile (Pile File)

A.File Pile
1.   Pengertian File Pile

File pile merupakan struktur yang paling sederhana dan jarang digunakan secara praktis. Namun, file pile merupakan dasar evaluasi bagi struktur – struktur lainnya. Pada file pile, data tidak dianalisis, data tidak dikategorikan dan data tidak harus memenuhi definisi atau ukuran field tertentu. Format record pada file pile berbeda – beda artinya panjang record pada file pile tidak tetap, jadi pada file pile tidak ada keterkaitan antara ukuran file, ukuran record dan ukuran bloknya. Record – record pada file pile tersusun berdasarkan kedatangannya dan disusun bertumpuk. Di dalam file pile record tersebut tedak perlu memiliki elemen data yang sama. Namun, data yang disimpan harus disimpan secara lengkap yaitu : atribut maupun nilainya. Dalam struktur organisasi file pile, tiap elemen data berupa tuple dua komponen. Tuple dua komponen disebut juga sebagai pasangan nama atribut dan nilai atribut.


2.    Penggunaan File Pile
File pile merupakan struktur dasar dan tak terstruktur. Struktur ini memberikan fleksibilitas penuh. Struktur ini menggunakan ruang penyimpanan dengan baik saat data berukuran dan berstruktur beragam. Namun, struktur ini sangat jelek untuk pencairan record tertentu. Berbagai penggunaan dari file pile, diantaranya :
·  File – file system.
·  File log (mencatat kegiatan).
·  File – file penelitian / medis.
·  Config.sys
·  File pile biasanya digunakan untuk mengumpulkan data guna pemrosesan lebih lanjut.

3.  Struktur dan pengaksesan
Rekord berelasi dengan suatu objek atau kejadian di dunia nyata. Rekord berisi  lemen-elemen ( field-field) data dan tiap elemen data perlu mempunyai identifikasi. Identifikasi pada pile adalah berupa nama atribut secara ekplisit. Misalnya: Tinggi = 163, Dimana, nilai elemen data adalah 163 dan nama deskripsi adalah tinggi. Tiap elemen data di pile berbentuk tuple dua komponen disebut pasanagn nama atribut – nilai atribut (atribute name – value atribute ).

4.   Karakteristik struktur pile
Biasanya data ditumpuk secara kronologis. Tak ada keterkaitan antara ukuran file, record, dan blok. Elemen data dapat beragam, dapat berbeda untuk tiap record ( berisi attribut lain ). Data harus disimpan secara lengkap beserta nama attributnya, tidak Cuma nilai atributnya.

5.    Analisis Kinerja File Pile
       Untuk menganilisis kinerja file pile, ada tujuh pengukuran yang harus dilakukan, diantanya :
5.1  Ukuran Record (R)
Pada analisis kinerja file pile yang berkaitan dengan ukuran record dipengaruhi oleh 2  faktor, yaitu :
§ Nama dan nilai atribut yang disimpan lengkap adalah record data yang disimpan dalam file pile, dan
§ Data yang tidak eksis tidak diperhitungkan dalam file pile.

Rumus :
R = a’ (A+V+2)
Ket :
a’ : Rata – rata panjang atribut
A : Panjang rata – rata nama atribut
V : Panjang rata – rata nilai atribut
2 : Rata – rata panjang separator

3.2.Waktu pengambilan record tertentu (TF)
Waktu pengambilan record tertentu berhungan dengan Fetch record time (TF). Fetch record time adalah waktu yang dibutuhkan untuk menemukan suatu record didalam file pile. Waktu yang dibutuhkansangatlah lama karena didalam file pile, seluruh record harus dilalui untuk menemukan sebuah item data yang dikehendaki.
Ketentuannya, sebuah record dapat ditemukan setelah sedikitnya membaca satu buah blok atau sebanyak – banyak pembacaan harus dilakukan terhadap semua blok.
Mekanisme penelusurannya dilakukan secara sekuensial. Jadi, penelusuran dilakukan dari record awal sampai menemukan record yang dicari.

Rumus :
TF = ½ b (B/t’)

Atau

TF = ½ n (R/t’)

Ket :
b : Jumlah blok pada file
B : Ukuran blok
N : Jumlah record
R : Ukuran Record
b’ : Bulk transfer rate

3.3.Waktu pengambilan record berikutnya (TN)
Waktu pengambilan record berikutnya berhubungan dengan Get Next Time (TN). Pada saat pengambilan record berikutnya, tidak terjadi pengurutan record, pengambilan record berikutnya pada file pile dapat dilakukan dilokasi manapun. Dengan demikian, karena posisi tidak diketahui, maka untuk menemukan record penerus sama dengan mencari record tertentu.
Pada file pile, waktu yang diperlukan untuk mendapatkan record berikutnya adalah sama dengan waktu yang diperlukan untuk mendapatkan record tertentu. Karena data tidak terurut, maka waktunya sama dengan waktu untuk menemukan record tertentu

Rumus :
TN = TF
3.4.Waktu penyisipan record (TI)
Waktu penyisipan record pada file pile berhubungan dengan insert time (TI). Data yang terdapat pada file pile tidak terstruktur. Pada file pile, penyisipan record dilakukan dengan cara menambahkan record di akhir file.

Rumus :
TI = s + r + btt +TRW
Berikut ini merupakan mekanisme penyisipan record pada file pile yang dilakukan diakhir file.
§ Cari akhir file (EOF = End Of file ), diperlukan waktu sebesar seek time (s).
§ Cari sektor yang tepat, diperlukan waktu sebesar rational latency (r)
§ Lakukan transfer data yang memerlukan waktu sebesar block transfer time (btt), dan
§ Baca atau tulis block data dengan waktu sebesar waktu untuk baca – tulis (TRW)


3.5.Waktu pembaruan record (TU)
Waktu pembaruan record berhubungan dengan Update Time (TU).

Rumus :
TU = TF + TRW + TI
Mekanisme pembaruan record pada file pile sebagai berikut :
§ Mencari posisi record yang diperbaharui, dan
§ Memeriksa apakah ukuran tempat record masih memenuhi syarat.

Syarat ukuran record pada file pile, yaitu :
§ Bila ukuran record baru lebih kecil dari ukuran record lama atau record baru sama dengan record lama, maka dilakukan penimpaan record. Penimpaan yang dilakukan pada file pile yaitu dengan cara melakukan penghapusan record kemudian lakukan penulisan kembali di tempat tersebut.
§ Bila ukuran record lebih besar dari pada ukuran record lama, maka dilakukan penghapusan dan penyisipan record baru diakhir file.

Ketika melakukan pembaruan pada record terdapat dua kasus sebagai berikut :
§ Hanya dilakukan penimpaan. Hal ini, berarti tidak terjadi penyisipan record baru diakhir file.
§ Dilakukan penandaan. Hal ini, berarti terjadi proses penandaan record yang akan dihapus dan terjadi penyisipan di akhir file.


3.6.Waktu pembacaan seluruh record (TX)
Mekanisme pembacaan seluruh record pada file pile dilakukan secara  sekuensial yaitu : dibaca secara terurut dari record awal sampai record yang terakhir.

Rumus :
TX = 2TF = n (R/t’)

3.7.Waktu reorganisasi file (TY)
Berikut ini merupakan alasan kinerja file yang dapat turun drastis,diantaranya.
§ File telah berisi banyak record yang secara logik sebagai file yang sudah dihapus.
§ Banyak record yang telah ditambahkan ke pile sejak reorganisasi terakhir sehingga banyak record yang tidak berada ditempat.

Waktu reorganisasi file pada file pile berhubungan dengan reorganisasi File Time (TY). Reorganisasi file sangatlah dibutuhkan, agar file dapat menjadi lebih ringkas dan proses pengambilan record menjadi lebih cepat.

Rumus :
TY = (n+o) R/t’ + (n+o+d) R/t’

Ket :
n = Jumlah record
o = ninsert
d = ndelete



B. File sekuen (sequential file)
Sequential file merupakan suatu cara ataupun suatu metode penyimpanan dan pembacaan data yang dilakukan secara berurutan. Dalam hal ini, data yang ada akan disimpan sesuai dengan urutan masuknya. Data pertama dengan nomor berapapun, akan disimpan ditempat pertama demikian pula dengan data berikutnya yang juga akan disimpan ditempat berikutnya.
Dalam melakukan pembacaan data, juga akan dilakukan secara berurutan, artinya, pembacaan akan dimulai dari data paling awal dan dilanjutkan dengan data berikutnya sehingga data yang dimaksud bisa diketemukan.

Keuntungan :
Merupakan organisasi file yang sederhana. Jarak setiap aplikasi yang tersimpan sangat jelas. Metode penyimpanan didalam memory sangat sederhana, sehingga efisien untuk menyimpan record yang besar. Sangat murah untuk digunakan, sebab medianya cukup menggunakan magnetic tape.

Kerugian :
Seandainya diperlukan perubahan data, maka seluruh record yang tersimpan didalam master file, harus semuanya diproses.
Data yang tersimpan harus sudah urut (sorted). Posisi data yang tersimpan sangat susah untuk up-to-date, sebab master file hanya bisa berubah saat proses selesai dilakukan. Tidak bisa dilkukan pembacaan secara langsung.

Definisi file sequensial :
§ Terdiri dari kumpulan record fixed dan terurut berdasarkan ketentuan tertentu
§ Penyimpanan data tidak fleksibel
§ Update dalam file cukup sulit
§ Struktur file sederhana.

C. File sekuen berindeks (indexed-sequenstial file)
Sebelum kita mengarah pada definisi dari Organisasi Berkas Indeks Sequential, lebih baik terlebih dahulu kita pahami dulu satu persatu dari pengertian Organisasi Berkas Indeks Sequential tersebut.
§ Organisasi File debut juga sebagai suatu teknik atau cara yang digunakan untuk menyatakan dan menyimpan record–record dalam sebuah file.
§ Campuran organisasi berkas langsung dengan organisasi berkas sekuensial
§ Cocok untuk aplikasi yang memakai kedua jenis cara pengaksesan (langsung dan sekuensial)
§ Sangat berguna kalau kita pada suatu saat perlu mengakses satu record saja, dan pada saat yang lain perlu mengakses banyak rekord sekaligus
§ Sedangan pengertian dari Index Sequential File merupakan perpaduan terbaik dari teknik Sequential dan random file. Pada teknik penyimpanan yang dilakukan, menggunakan suatu index yang isinya berupa bagian dari data yang sudah tersortir. Index ini diakhiri denga adanya suatu pointer (penunjuk) yang bisa menunjukkan secara jelas posisi data yang selengkapnya. Index yang ada juga merupakan record-key (kunci record), sehingga kalau recordkey ini dipanggil, maka seluruh data juga akan ikut terpanggil.

Jadi, organisasi berkas indeks sequential adalah Berkas/file yang disusun sedemikian rupa sehingga dapat diakses secara sequential maupun secara direct (langsung) atau kombinasi keduanya, direct dan sequential. Contoh sederhana dari organisasi ini adalah susunan data yang ada di sebuah buku kamus. Kita bisa mengakses buku kamus tersebut secara sequential (berurutan), maupun melalui index (daftar isi) nya.

Definisi File Sekuensial Berindeks :
§ Struktur organisasi yang mengombinasikan indeks dengan sekuensial file
Keunggulan :
pencarian data dan update file berdasarkan 1 atribut tertentu jauh lebih baik daripada sekuensial file

D.  File berindek majemuk (multiple-indexed file)
File Brindeks Majemuk (Multiple Indexed File) : File indeks berisi kumpulan isian indeks untuk mengacu record di file utama. Isian indeks berisi pasangan nilai atribut kunci record dan pointer acuan untuk pengaksesan seketika record tersebut, yaitu ( nilai kunci, pointer ). Pada file berindeks majemuk, pembaruan dilakukan terhadap file utama bukan file overflow. Karena record dicari lewat indeks, maka indeks harus dinamis. Begitu terjadi pembaruan ( insert, update, delete ), maka indeks –indeks diperbarui mengikuti perubahan di file utama.

Definisi File Berindeks Majemuk :
§ File indeks dengan banyak key
§ Memungkinkan pencarian data dengan menggunakan lebih dari 1 atribut
§ Cukup fleksibel
§ Proses update kompleks
§ Pengambilan record lebih mudah

E. File ber-hash (hashed file)
File ber-Hash (Hashed File) adalah Metode penempatan dan pencarian yang memanfaatkan metode Hash disebut hashing atau ‘Hash addressing’ dan fungsi yang digunakan disebut fungsi hashing / fungsi Hash. Fungsi hashing atau fungsi Hash inilah yang dapat menjadi salah satu alternatif dalam menyimpan atau mengorganisasi File dengan metode akses langsung. Fungsi Hash berupaya menciptakan “fingerprint” dari berbagai data masukan. Fungsi Hash akan mengganti atau mentransposekan data tersebut untuk menciptakan fingerprint, yang biasa disebut Hashvalue (nilai Hash).
Definisi Hash File :
§ Memungkinkan pencapaian record secara cepat berdasarkan rumus tertentu
§ Format record tetap

F.  File cincin (multiring file)
Multiring File merupakan metode pengorganisasian file yang berorientasi pada pemrosesan subset dari record secara efisien. Subset tersebut digambarkan sebagai grup dari beberapa record yang terdiri dari nilai atribut yang biasa. Contohnya “Semua pekerja yang berbicara bahasa Perancis”. Subset dari record dihubungkan bersama secara eksplisit menggunakan pointer. Rantai penghubung ini menentukan urutan anggota dari subset. Setiap subset mempunyai record kepala yang merupakan record awal dari suatu rantai. Sebuah record kepala berisi informasi yang berhubungan dengan seluruh record anggota di bawahnya. Record-record kepala ini juga dapat dihubungkan menjadi sebuah rantai. Tipe rantai tertentu yang digunakan untuk menggambarkan hal ini dinamakan ring, yang merupakan rantai di mana pointer anggota terakhir digunakan untuk menunkuk record kepala dari rantai. Ring-ring dapat disarangkan dalam banyak level kedalaman. Dalam hal ini record anggota dari ring level ke-i record kepala ring bawahan pada level i-1. Ring level terbawah, yang berisi data terakhir, selalu dianggap berada pada level 1

Definisi Multiring File :
§ Terdidri dari kumpulan record yang memiliki interkoneksi antar record
§ Mempercepat pencarian
§ Boros tempat karena membutuhkan pointer.



Sumber :