Diberdayakan oleh Blogger.
RSS

Desain Data base

Mendesain Database – Perangkat lunak dewasa ini mulai bertransformasi menjadi sebuah needs, kebutuhan. Fungsinya yang merupakan alat tambahan menjadi semakin prioritas di era dimana internet menjadi semakin murah untuk dinikmati kalangan menengah bawah. Dari semua aplikasi yang beredar dan digunakan oleh banyak orang, terdapat aplikasi yang memerlukan media basis data untuk menyimpan data-data vital dari sang pengguna ataupun data-data aplikasi itu sendiri.
Relational Database Management System
Relational Database Management System
Database adalah basis data. Basis data dalam kamus resmi bahasa Indonesia disebut juga pangkalan data.Basis data adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS) (Wikiedia).
Dalam sudut pandang developer, database memegang peranan penting dalam membangun sebuah aplikasi. Bertugas menyimpan informasi penting terkait program dan juga data pemakai, database memiliki porsi sama besar dalam komposisi komponen terpenting dari sebuah program, selain program itu sendiri.
Dalam mendesain database, terdapat berbagai metode yang bisa digunakan. Berikut langkah-langkah mendesain database yang penulis rangkum dari berbagai sumber di internet:

Analisis Persyaratan

Fase pertama dalam proses pendesainan database adalah menganalisa persyaratan. Hal ini dimaksudkan kita, sebagai seorang developer, harus memahami dan mengetahui data apa saja yang perlu disimpan dalam database. Yang perlu, karena tidak semua data perlu kita masukkan dalam database.Developer juga harus mengenali aplikasi apa yang akan dibangun di atasnya, dan juga mengetahui jenis operasi apa yang akan digunakan untuk aplikasi yang sedang kita bangun.

Desain Data Base Konseptual

Tahapan kedua adalah mendesain database secara konseptual, teoritis. Semua informasi yang berhasil dikumpulkan pada proses pertama, tahap analisis persyaratan, akan sangat berguna pada fase ini. Data tersebut akan digunakan untuk mengembangkan deskripsi data tingkat tinggi (high level data description). Tahapan ini sering dilakukan dengan menggunakan model E-R. Tujuannya adalah untuk menciptakan gambaran sederhana tentang data yang mirip dengan pemikiran pengguna / user.

Desain Data Base Logika

Tahapan selanjutnya adalah mengubah database konsep pada fase kedua menjadi desain database logika. Hal ini dilakukan dengna cara merubah skema E-R menjadi skema database relasional. Tujuan proses ini adalah untuk memperoleh skema konseptual pada model data relasional yang sering dinamakan skema logika.

Perbaikan Skema

Evaluasi langkah-langkah yang sudah dilakukan sebelumnya. Sangat mungkin terjadi perubahan dikarenakan penyesuaian-penyesuain yang harus dilakukan. Pada fase ini, lakukan analisis sekumpulan relasi dalam skema database relasional untuk mengidentifikasi permasalahan yang muncul dan memperbaikinya.

Desain Data Base Fisik

Langkah kelima dalam proses mendesain database adalah mendesain database secara fisik. Artinya, semua analisa, konsep, teori dan disain yagn dilakukan sebelumnya diimplementasikan ke dalam database yang sesungguhnya. Tahapan ini bisa mencakup pembuatan indeks pada beberapa tabel, lalu mengelompokkannya menjadi beberapa tabel atau melibatkan desain ulang yang substansial terhadap beberapa bagian skema database.

Desain Aplikasi dan Keamanan

Semua proyek pengembangan perangkat lunak yang melibatkan sebuah DBMS harus mempertimbangkan aspek aplikasi yang berada di luar database sperti : enkripsi, digital signature, dan lain-lain. Security pada database adalah lapisan pertama dalam menanggulangi ancaman terhadapa sebuah aplikasi. Contoh nyatanya seperti pemberian hash pada password, ataupun sekedar fungsi MD5.
Perancangan database yang baik merupakan salah satu pondasi pembangunan aplikasi yang penting. Dengan desain database yang baik, aplikasi yang berdiri di atasnya akan memperoleh pijakan yang kuat untuk berkembang semakin besar

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

Jaringan

Image:ti392.jpg
16.1. Local Area Network (LAN)
LAN adalah sebuah sistem komunikasi data yang membolehkan sejumlah device atau komputer yang terangkai untuk berkomunikasi langsung satu sama lainnya. Di dalam LAN dikenal ada 3 macam arsitektur: Ethernet,
token ring dan fiber distributed data interface (FDDI). Dalam bagian ini akan membahas bagianbagian penting dari suatu konsep LAN yang difokuskan terhadap perancangan suatu system jaringan (LAN).
16.2. Network Interace Card
Network interface card adalah kartu yang ditanam pada setiap komputer yang terhubung dalam jaringan. Beberapa komputer desktop yang dijual di pasaran saat ini sudah dilengkapi dengan kartu ini. Saat kita membeli komputer, kita bisa menanyakan kepada si penjual apakah pada komputer sudah dipasangkan NIC, apakah PC komputer kita memiliki NIC yang on board?. Jika belum Kita bisa
meminta mereka untuk memasangkan, atau kita bisa membelinya dan memasangnya sendiri.
Ada banyak macam kartu jaringan. Ada tiga hal yang harus kita perhatikan dari suatu NIC :
a. Jenis protokol
b. Tipe kartu jaringan
c. tipe kabel yang didukungnya.
Ada dua macam tipe kartu, yaitu PCI dan ISA. Sebagai penjelasan, pada komputer ada beberapa slot (tempat menancapkan kartu) yang disebut expansion slot. Slot-slot ini saat kita membeli komputer sengaja dibiarkan kosong oleh pembuat komputer.
Dari sisi protokol, jenis protokol yang saat ini paling banyak digunakan adalah Ethernet dan Fast Ethernet. Ada beberapa protokol lain, tetapi kurang populer, yaitu Token Ring, FDDI, dan ATM. Dua
protokol terakhir cenderung digunakan pada jaringan besar sebagai backbone (jaringan tulang punggung yang menghubungkan banyak segmen jaringan yang lebih kecil). Ethernet mendukung kecepatan transfer data sampai 10 Mbps, sedangkan Fast Ethernet mendukung kecepatan transfer data sampai 100 Mbps. Jika memilih untuk menggunakan protokol Ethernet, kita harus membeli kartu Ethernet. Demikian juga jika kita telah memilih Fast Ethernet. Namun saat ini juga ada kartu combo yang mendukung Ethernet maupun Fast Ethernet.
Dalam memilih NIC, kita harus menyesuaikan dengan tipe kabel yang telah/akan Kita pasang. Port/colokan untuk kabel UTP berbentuk mirip dengan kabel telepon tetapi sedikit lebih besar, port ini dikenal sebagai UTP kabel. Ada beberapa kartu yang mendukung dua atau lebih tipe kabel. Namun jika kita hanya akan menggunakan satu tipe kabel, pilihlah kartu yang mendukung satu tipe kabel saja karena harganya akan jauh lebih murah. Satu hal lagi, jika kita menggunakan komputer portabel (notebook), untuk berkoneksi ke jaringan kita menggunakan kartu PCMCIA. Bentuk kartu ini mirip
kartu kredit, tetapi sedikit tebal.
Kartu ini dimasukkan ke port PCMCIA yang ada pada setiap notebook. Jika untuk komputer desktop sudah tersedia banyak pilihan kartu untuk protokol Fast Ethernet, untuk PCMCIA pilihan mereknya masih sedikit sehingga harganya sangat mahal. Jika pada komputer desktop tidak ada kartu kombinasi antara kartu jaringan dengan kartu modem, pada PCMCIA kombinasi ini justru menjadi salah satu favorit. Dengan kombinasi ini, kita menghemat penggunaan slot PCMCIA dengan hanya menggunakan satu slot untuk dua kegunaan: modem dan jaringan. Saat ini hampir semua NIC yang beredar di pasaran sudah mendukung Plug-n-Play (NIC secara otomatis dikonfigurasi tanpa intervensi pengguna), tetapi ada baiknya Kita pastikan bahwa NIC yang Kita beli memang mendukung PnP.
16.3. Ethernet
Cara kerjanya menggunakan metoda CSMA/CD (Carrier Sence Multiple Access Collision Detection). Jika node akan mengirimkan data melewati jaringan, maka node tersebut akan mengecek terlebih
dahulu apakah jaringan sedang mengirimkan paket data atau tidak. Jika node melihat jaringan sedang kosong (tidak mengirimkan paket data), maka node akan mengirimkan paket data. Jika ternyata ada paket data yang dipancarkan pada saat node juga sedang mengirimkan paket data, maka akan terjadi collision (tabarakan) data.
Bila hal ini terjadi, maka node dan jaringan akan sama-sama berhenti mengirimkan paket data. Setelah berhenti, node dan jaringan akan menunggu dengan waktu yang random untuk mengirimkan paket
data. Paket data yang mengalami collision akan dikirimkan kembali ke tujuan jika terdapat suatu kesempatan. Kecepatan rata-rata 10 Mbps dan dapat menurun jika node yang terpasang banyak.
Metoda akses yang digunakan dalam LAN disebut carrier sense multiple access with collision detection (CSMA/CD). Maksudnya, sebelum komputer atau device mengirim data, komputer tersebut “menyimak/mendengar” dulu media yang akan dilalui sebagai pengecekan apakah komputer lain sedang menggunakannya, jika tidak ada maka komputer/device akan mengirimkan datanya. Terkadang
akan terjadi 2 atau lebih komputer yang mengirimkan data secara bersamaan dan itu akan mengakibatkan collision (tabrakan).
Bila collision terjadi maka seluruh komputer yang ada akan mengabaikan data yang hancur tersebut. Namun bagi komputer pengirim data, dalam periode waktu tertentu maka komputer pengirim akan mengirim kembali data yang hancur akibat tabrakan tersebut.

16.4. Frame Format (format bingkai)
Pada Gambar 1 6 .3. dapat dilihat sebuah Ethernet frame.
Sebagai catatan tambahan, bahwa Ethernet tidak menyediakan suatu mekanisme untuk acknowledge frame yang diterima, sehingga hal ini bisa dikatakan sebagai media yang unreliabel. Namun demikian acknowledgement diimplementasikan pada layer di atasnya.
Sebagai penjelasan isi bingkai ethernet adalah sebagai berikut :
o Preamble : memuat 7 byte (56 bit) rangkaian bolak-balik bit 0 dan 1. Kegunaannya untuk sinkronisasi pada komputer penerima.
o Start frame delimiter : berisi 1 byte dengan nilai (10101011).
Digunakan sebagai flag dan sinyal mulainya frame.
o Destination address : Berisi 6 byte yang memuat physical address untuk komputer yan dituju.
o Source address : Berisi 6 byte yang memuat physical address untuk komputer pengirim.
o Type : berisi informasi yang menentukan jenis data yang dibungkus (encapsulated)


pada frame.
o Data : berisi data dari lapisan di atasnya. Panjang data harus berkisar antara 46 dan 1500 byte. Apabila data yang didapat dari lapisan di atasnya kurang dari 46 byte, maka ditambahkan byte2 yang
disebut padding sehingga melengkapi jumlah minimum yakni 46 byte. Namun apablia data lebih besar dari 1500 byte, maka lapisan di atasnya harus mengfrgmentasikannya dalam pecahan-pecahan 1500 byte.
o Cyclic redudancy check : berisi 4 byte sebagai errordetection. Jenis CRC yang digunakan adalah CRC-32. 16.5. Implementasi Pada LAN Seluruh Ethernet LAN dikonfigurasikan sebagai
o 10BASE5 : Implementasi ini disebut thick ethernet atau thick-net. Adalah LAN topologi bus yang menggunakan base band sinyal dan memiliki panjang kabel maksimum 500 meter. Lihat Gambar 14.23
o 10BASE2 : Implementasi ini disebut thin ethernet. Ada yang menyebutnya: thin-net, cheap-net atau thin-wire Ethernet. Konsepnya sama dengan 10BASE5, namun thinnet ini lebih murah dan lebih ringan kabelnyasehingga lebih luwes dibanding thicknet. Kelemahannya dibanding thick-net adalah jarak kabel yang tidak melebihi 185 meter dan hanya mampu mengakomodasi sedikit komputer.
Gambar 16.4 memperlihatkan contoh thinnet.

o 10BASE-T : Implementasi LAN ini adalah yang sangat populer, disebut Twisted-pair Ethernet. Topologi yang digunakan pada implementasi LAN ini adalah topologi star. 10BASE-T ini mampu mendukung data hingga 10 MBps untuk panjang kawat maksimum 100 meter.

16.6. Fast Ethernet
Semakin berkembangnya aplikasi lewat LAN seperti CAD, image processing, audio dan video di mana dibutuhkan transportasi data yang menuntut kapasitas yang lebih besar dalam LAN maka ada implementasi LAN lagi yang disebut Fast Ethernet atau disimbolkan dengan 100BASE-T.
Fast Ethernet mampu mentransfer data hingga 100 MBps. Topologi Fast Ethernet tidak jauh beda dengan 10BASE-T.
Versi-versi terbaru Fast Ethernet ini pun sudah banyak macam ragamnya. Misalnya:
100BASE-T4 (menggunakan UTP 4 pair seperti 10BASET), 100BASEXT (menggunakan STP atau UTP 2 pair) dan 100BASE-XF (menggunakan dua kabel serat optik pada masing-masing jalur pengirim dan penerima).

16.7. Token Ring
Token Ring adalah permulaan standar LAN yang pernah dikembangkan oleh IBM. Metoda akses : token passing Pada Gambar 16.7. dapat dilihat bahwa dalam token passing, token dilewatkan dari station/ komputer satu ke station/komputer lain dalam urutan hingga token mengencounter sebuah data yang dilewatkan token itu. Station lain  menunggu hingga token terkirim.
Topologi ini mutlak harus berbentuk ring. Untuk menghindari masalah terhadap token yang tidak berguna atau token yang hilang maka diletakkan sebuah komputer/station yang bertugas sebagai pengontrol atau monitor.

Gambar 16.8. Frame Token Ring
Data frame adalah bingkai/frame yang hanya untuk mengangkut data. Isi field dalam Data Farem ini ada lah sebagai berikut :
o Start delimiter (SD). Berisi 1 byte yang digunakan untuk memberitahu komputer penerima ketika frame sampai.
o Access control (AC). Berisi 1 byte yang memuat informasi tentang prioritas dan reservasi.
o Frame control (FC). Field ini berisi 1 byte yang memuatjenis informasi yang dimuat dalam data field .
o Destination address (DA). Field ini panjangnya variabel antara 2sampai 6 byte. Memuat physical address komputer/station berikutnya.
o Source address (SA). Field ini panjangnya variabel antara 2 sampai 6 byte. Memuat physical address komputer/station sebelumnya.
o Data. Field ini memuat data. Data dapan memuat hingga 4500 byte.
o CRC. Field ini berisi 4 byte CRC-32
o End delimiter (ED). Berisi 1 byte yang mengindikasikanahir dari frame.
o Frame status (FS). Field ini diset oleh penerima untuk mengindikasikan bahwa frame sudah dibaca. Atau station monitor mengindikasikan bahwa frame ini sudah mengelilingi ring. Token Frame hanya berisi 3 field yaitu: SD, AC dan ED. Abort Frame hanya ada 2 field: SD dan ED. Digunaka n oleh monitor untuk mengabaikan mekanisme token ketika ada masalah.
Untuk implementasi Token ring Terdiri dari penggunaan kabel 150-ohm. Setiap station dihubungkan ke output port pada sebuah station sebelah dan input port pada station yang di sebelahnya yang la in lagi. Aliran token ring ini adalah unidirectional, atau satu arah. Jadi akan menjadi problem besar jika kabel-kabel yang menghubungkan 2 station putus atau rusak.
16.8. Fiber Distributed Data Interface (FDDI)
FDDI adalah protokol LAN yang distandarisasikan oleh ITU -T. FDDI mendukung laju data 100 MBps, sehingga menjadi aternatif pengganti ethernet dan token ring. FDDI dalam implementasinya harus menggunakan kabel serat optik, sehingga dari segi biaya adalah sangat mahal. Metoda akses: Token passing FDDI dalam metoda akses sama dengan Token Ring yakni token passin.
FDDI menggunakan 2 hingga Gambar 16.8. Frame Token Ring Data frame adalah bingkai/frame yang hanya untuk mengangkut data. Isi field dalam Data Farem ini ada lah sebagai berikut :
o Start delimiter (SD). Berisi 1 byte yang digunakan untuk memberitahu komputer penerima ketika frame sampai.
o Access control (AC). Berisi 1 byte yang memuat informasi tentang prioritas dan reservasi.
o Frame control (FC). Field ini berisi 1 byte yang memuat jenis informasi yang dimuat dalam data field .
o Destination address (DA). Fieldb ini panjangnya variabel antara 2 sampai 6 byte. Memuat physical address komputer/station berikutnya.
o Source address (SA). Field ini panjangnya variabel antara 2 sampai 6 byte. Memuat physical address komputer/station sebelumnya.
o Data. Field ini memuat data.
Data dapan memuat hingga 4500 byte.
o CRC. Field ini berisi 4 byte CRC-32
o End delimiter (ED). Berisi 1 byte yang mengindikasikanahir dari frame.
o Frame status (FS). Field ini diset oleh penerima untuk mengindikasikan bahwa frame sudah dibaca. Atau station monitor mengindikasikan bahwa frame ini sudah mengelilingi ring. Token Frame
hanya berisi 3 field yaitu: SD, AC dan ED. Abort Frame hanya ada 2 field: SD dan ED. Digunaka n oleh monitor untuk mengabaikan mekanisme token ketika ada masalah.
Untuk implementasi Token ring Terdiri dari penggunaan kabel 150-ohm. Setiap station dihubungkan ke output port pada sebuah station sebelah dan input port pada station yang di sebelahnya yang la in lagi. Aliran token ring ini adalah unidirectional, atau satu arah. Jadi akan menjadi problem besar jika kabel-kabel yang menghubungkan 2 station putus atau rusak.

16.8. Fiber Distributed Data kInterface (FDDI)
FDDI adalah protokol LAN yang distandarisasikan oleh ITU -T. FDDI mendukung laju data 100 MBps, sehingga menjadi aternatif pengganti ethernet dan token ring. FDDI dalam implementasinya harus menggunakan kabel serat optik, sehingga dari segi biaya adalah sangat mahal.
Metoda akses: Token passing dengan Token Ring yakni token passin. FDDI menggunakan 2 hingga


FDDI diimplementasikan menggunakan ring ganda (dual ring). Dalam banyak kasus data ditransmisikan pada ring pertama (primary ring). Jika ring pertama mengalami masalah, maka ring kedua (secondary ring ) melakukan recovery.
Setiap station atau node atau komputer dikoneksi dengan device yang bernama media transfer connector (MIC). Setiap MIC memiliki 2 fiber port. FDDI memiliki 3 tipe node: dual attachment station (DAS), single attachment station (SAS), dan dual attachment concentrator (DAC). Untuk DAS memiliki 2 MIC (MIC A dan MIC B) lihat gambar 16.10.

Gambar 16.10. Implementasi FDDI
16.9. Wide Area Network (WAN) Pada WAN menyediakan layanan transmisi data berjarak jauh secara geografis antar kota, pulau dan benua. Jadi perbedaan dengan LAN adalah bergantung pada perangkat keras yang dimilikinya. Jadi WAN dapat menggunakan fasilitas publik seperti sirkuit sewa (leased line ), frame relay, VSAT dlsb. Untuk mengetahui teknologi pendukung WAN ini lebih dalam perlu mengetahui konsep Point-to-Point Protocol (PPP), X.25, Frame Relay dan ATM.

16.10. Connective Device
Connecting device digunakan untuk menghubungkan segmen- segmen atau perangkat dalam jaringan untuk menghasilkan apa yang disebut internetwork/ internet. Dapat diklasifikasikan dalam Gambar 16.11 mengenai klasifikasi connecting device ini. Terlihat bahwa dalam connecting device ini terdapat jenis-jenis device sebagai berikut: repeater, bridge, router dan gateway.
Masing-masing connec-ting device ini terlibat dalam cakupan lapisan OSI yang berbeda seperti dapat dilihat pada Gambar 16.12

16.11. Topologi Jaringan Komputer
Topologi adalah istilah yang digunakan untuk menguraikan cara bagaimana komputer terhubung dalam suatu jaringan. Topologi menguraikan layout actual dari perangkat keras jaringan sedangkan topologi juga menguraikan perilaku computer pada jaringan dari sudut pandang operator, dalam hal ini manusianya yaitu topologi fisik.
Topologi suatu jaringan didasarkan pada cara penghubung sejumlah node atau sentral dalam membentuk suatu sistem jaringan.
Topologi jaringan yang umum dipakai adalah : Mess, Bintang (Star), Bus, Tree, dan Cincin(Ring). Istilah dari topologi jaringan mengacu pada organisasi spasial perangkat jaringan, pengkabelan jaringan (Physical Routing) dan aliran paket data dari satu titk koneksi ke titik koneksi yang lain.
Titik koneksi jaringan dapat berupa perangkat seperti sistem komputer, printer atau router yang dihubungkan ke jaringan yang dapat mengirim dan menerima paket data. Secara garis besar, teknologi
transmisi dibedakan menjadi dua yaitu transmisi point-to-point dan transmisi dengan hubungan share.
Jaringan komputer yang menggunakan hubungan secara point-to-point terdiri dari sejumlah pasangan komputer yang ada pada jaringan komputer yang apabila paket data yang dikirimkan dari sumber ke tujuan akan melewati koputer yang menjadi perantara yang berakibat rute dan jaraknya menjadi berbeda beda dan membutuhkan beberapa jalur transmisi jika jumlah titik koneksi dalam jumlah besar.
Beberapa alasan yang mendasari kenapa kita harus memilih topologi yang tepat ketika akan membangun sebuah jaringan komputer adalah sebagai berikut :
1. Biaya, Faktor biaya menjadi salah satu faktor utama yang mempengaruhi secar langsung maupun tidak langsung dalam penentuan penggunaan topologi di jaringan komputer kita. Hal ini menyangkut pembelian pe- rangkat yang akan dipasang, perawatan yang kita lakukan terhadap jaringan komputer, dan efisiensi pengiriman data dari satu komputer ke komputer yang lain.
2. Kecepatan, Sampai sejauh mana kecepatan yang dibutuhkan dalam sistem.
3. Lingkungan, Misalnya listrik atau faktor-faktor lingkungan yang lain, yang berpengaruh pada jenis perangkat keras yang digunakan.
4. Ukuran, Sampai seberapa besar ukuran jaringan. Apakah jaringan memerlukan file server atau sejumlah server khusus
5. Konektivitas, Apakah pemakai yang lain yang menggunakan komputer laptop perlu mengakses jaringan dari berbagai lokasi.
Topologi secara fisik yang biasa digunakan dalam membagun suatu jaringan komputer adalah :
1. Topologi Bus (Bus Topology), Menggunakan satu segment (panjang kabel) backbone, yaitu yang menyambungkan semua host secara langsung.
2. Topologi Ring (Ring Topology),
Menghubungkan satu host ke host setelah dan sebelumnya. Secara fisik jaringan ini berbentuk ring (lingkaran).
3. Topologi Star (Star Topology),
Menghubungkan semua kabel pada host ke satu titik utama. Titik ini biasanya menggunakan Hub atau Switch.
4. Topologi Extended Star (Extended Star Topology),
Merupakan perkembangan dari topologi star. Memiliki beberapa titik yang terhubung ke satu titik utama.
5. Topologi Hirarki (Hierarchical
Topology), dibuat mirip dengan topologi extended star. Sistem dihubungkan kekomputer yang mengendalikan trafik pada topologi.
6. Topologi Mesh (Mesh
Topology), Menghubungkan satu titik ke titik yang lainnya. Kondisinya di mana tidak ada hubungan komunikasi terputus secara absolut antar node komputer.
Untuk lebih rincinya di bawah ini akan dijelaskan topologi-topologi tersebut serta bagaimana cara implementasinya dalam dunia jaringan.
16.12. Topologi BUS
Topologi jaringan jenis ini menggunakan sebuah kabel pusat yang sering disebut dengan backbone yang merupakan media utama dari jaringan. Terminal atau host yang akan membangun jaringan dihubungkan dengan kabel utama yang merupakan inti dari jaringan. Data yang dikirimkan akan langsung menuju terminal yang dituju tanpa harus melewati terminal atau host yang dalam jaringan. Tidak bekerjanya sebuah komputer tidak akan menghentikan kerja dari jaringan. Jaringan tidak akan bekerja ketika kabel utamanya putus.
Pada topologi Bus diguna-kan sebuah kabel tunggal atau kabelpusat di mana seluruh workstation dan server dihubung-kan.
Keunggulan topologi Bus adalah pengembangan jaringan atau penambahan workstation baru dapat dilakukan dengan mudah tanpa mengganggu workstation lain.
Kelemahan dari topologi ini adalah bila terdapat gangguan di sepanjang kabel pusat maka keseluruhan jaringan akan mengalami gangguan.

Keuntungan :
• Hemat kabel
• Layout kabel sederhana
• Mudah dikembangkan
• Tidak membutuhkan kendalipusat
• Penambahan dan pengurangan terminal tanpa mengganggu operasi yang sedang berjalan
Kerugian :
• Deteksi dan isolasi kesalahan sangat kecil
• Kepadatan lalu lintas
• Keamanan data kurang terjamin
• Kecepatan akan menurun bila klien bertambah
• Diperlukan repeater untuk jarak yang jauh
16.13. Topologi Star
Dalam topologi star, sebuah terminal pusat bertindak sebagai pengatur dan pengendali semuakomunikasi data yang terjadi, maksudnya semua komputer mengelilingi Hub pusat yang mengontrol komunikasi jaringan dan dapat berkomunikasi dengan Hub lain. Batas jarak komputer dengan Hub kurang lebih sekitar 100 meter. Setiap titik koneksi pada jaringan akan berkomunikasi melalui titik koneksi pusat atau konsentrator terlebih dahulu sebelum menuju server. Jaringan lebih fleksibel dan luas dibandingkan dengan dua topologi yang lainnya.

Keuntungan
• Paling fleksibel
• Pemasangan/perubahan stasiun sangat mudah dan tidak mengganggu bagian jaringan lain
• Kontrol terpusat
• Kemudahan deteksi dan isolasi kesalahan/kerusakan
•  Kemudahaan pengelolaan jaringan
Kerugian
• Boros kabel
• Perlu penanganan khusus
• Kontrol terpusat (HUB) jadi elemen kritis
16.14. Topologi Ring
Topologi ini mirip dengan topologi bus, tetapi kedua terminal yang berada di ujung saling dihubungkan, sehingga menyerupai seperti cincin. Setiap paket data yang diperoleh diperiksa alamatnya oleh terminal yang dilewatinya. Jika bukan untuk nya , paket dilewatkan sampai menemukan alamat yang benar. Setiap terminal dalam jaringan saling tergantung sehingga jika terjadi kerusakan pada satu
terminal maka seluruh jaringan akan terganggu. Namun paket data mengalir satu arah sehingg dapat menghindari terjadinya tabrakan.

Keuntungan
• Hemat Kabel dan dapat melayani lalu lintas yang padat dengan risiko tabrakan data yang kecil
Kerugian
• Peka kesalahan
• Pengembangan jaringan lebih kaku
• Kerusakan pada media pengiriman dan terminal dapat menyebabkan kelumpuhan kerja seluruh jaringan, dan lambat karena pengiriman databerdasarkan antrian.
16.15. Topologi Mesh
Topologi jaringan ini menerapkan hubungan antar sentral secara penuh. Jumlah saluran harus disediakan untuk membentuk jaringan Mesh adalah jumlah sentral dikurangi 1 (n-1, n = jumlah sentral).
Tingkat kerumitan jaringan sebanding dengan meningkatnya jumlah sentral yang terpasang. Dengan demikian disamping kurang ekonomis juga relatif mahal dalam pengoperasiannya.



16.16. Topologi Pohon
Pada jaringan Topologi pohon, terdapat beberapa tingkatan simpul (node). Pusat atau simpul yang lebih tinggi tingkatannya, dapat mengatur simpul lain yang lebih rendah tingkatannya. Data yang dikirim perlu melalui simpul pusat terlebih dahulu. Misalnya untuk bergerak dari komputer dengan node-3 ke komputer node-7 seperti halnya pada gambar, data yang ada harus melewati node-3, 5
dan node -6 sebelum berakhir pada node-7.

Kelebihan dari topologi pohon adalah, dapat terbentuknya suatu kelompok yang dibutuhkan setiap saat. Sebagai contoh, perusahaan dapat membentuk kelompok yang terdiri atas terminal keuangan serta pada kelompok lain dibentuk untuk terminal penjualan. Adapun kelemahannya adalah, apabila simpul yang lebih tinggi kemudian tidak berfungsi, maka kelompk lainnya yang berada di bawahnya
akhirnya juga menjadi tidak efektif.
Cara kerja jaringan pohon ini relatif menjadi lambat.
16.17. Topologi Peer-to-peer Network
Peer artinya rekan sekerja. Peer-to-peer network adalah jaringan komputer yang terdiri dari beberapa komputer (biasanya tidak lebih dari 10 komputer dengan 1-2 printer). Dalam sistem jaringan ini yang diutamakan adalah penggunaan program, data dan printer secara bersama-sama. Pemakai komputer bernama A dapat memakai program yang dipasang di komputer B, dan mereka berdua dapat mencetak ke printer yang sama pada saat yang bersamaan.
Sistem jaringan ini juga dapat dipakai di rumah. Pemakai komputer yang memiliki komputer 'kuno’, misalnya AT, dan ingin memberli komputer baru, katakanlah Pentium II, tidak perlu membuang komputer lamanya. Ia cukup memasang network card pada komputernya kemudian dihubungkan dengan kabel yang khusus digunakan untuk sistem jaringan. Dibandingkan dengan ketiga cara diatas, sistem jaringan ini lebih sederhana sehingga lebih mudah dipelajari dan dipakai.
16.18. Protokol Pada Jaringan
Protokol merupakan karakter hukum formal. Dalam hubungan international, protocol mengurangi masalah yang disebabkan oleh adanya perbedaan kultur pada saat berbagai bangsa bekerja sama. Pada saat dilakukan persetujuan atas hukum hukum ini, semua pihak mengetahui hukum itu dibuat tidak atas dasar kepentingan sebuah bangsa saja. Protokol diplomatik mengurangi terjadinya kasus
kesalahpahaman, setiap orang mengetahui bagaimana melakukannya dan bagaimana menerjemahkanprotocol itu untuk berinteraksi dengan bangsa lain.
Keadaan seperti ini diterapkan dalam komunikasi data jaringan komputer sehingga pada prakteknya diperlukan hukum komunikasi data yang dapat diterima oleh berbagai jenis komputer yang mempergunakan beragam sistem operasi maupun aplikasinya.
Dalam komunikasi data, hukum untuk penyelenggaraan komunikasi data yang telah ditentukan disebut protokol.
Dalam sebuah jaringan komputer yang homogen, biasanya pihak penjual (vendor) komputer akan menentukan jenis sistem operasinya dan satu jenis komputernya agar jaringan komputer itu bisa bekerja optimal.
Tetapi pada jaringan komputer homogen ini bisa dianalogikan dengan sebuah bangsa yang hanya dihuni oleh bangsa itu sendiri di dalamnya. TCP/IP sebagai sebuah protokol independen dan umum memungkinkan adanya komunikasi data antar jaringan komputer yang berbeda-beda (heterogen) yang memakai beragam komputer dengan arsitektur berbedaberikut sistem operasinya yang berbeda.
16.19. Rangkuman
Dari uraian tersebut diatas maka dapat ambil inti pembahasan pada bagian ini adalah sebagai berikut :
1. Local Area Network (LAN), merupakan jaringan milik pribadi di dalam sebuah gedung atau kampus yang berukuran sampai beberapa kilometer. LAN seringkali digunakan untuk menghubungkan komputerkomputer pribadi dan workstation dalam kantor suatu perusahaan atau pabrik-pabrik untuk memakai bersama sumberdaya (resouce, misalnya printer) dan saling bertukar informasi.
2. Metropolitan Area Network (MAN), pada dasarnya merupakan versi LAN yang berukuran lebih besar dan biasanya menggunakan teknologi yang sama dengan LAN. MAN dapat mencakup kantor-kantor perusahaan yang letaknya berdekatan atau juga sebuah kota dan dapat dimanfaatkan untuk keperluan pribadi (swasta) atau umum. MAN mampu menunjang data dan suara, bahkan dapat berhubungan dengan jaringan televisi kabel.
3. Wide Area Network (WAN), jangkauannya mencakup daerah geografis yang luas, seringkali mencakup sebuah negara bahkan benua. WAN terdiri dari kumpulan mesin-mesin yang bertujuan untuk menjalankan program program (aplikasi) pemakai.
16.20. Soal Latihan
Kerjakan soal-soal di bawah ini dengan baik dan benar.
7. Jelaskan apa yang dimaksud dengan jaringan LAN, MAN dan WAN.
8. Sebutkan 5 perangkat keras jaringan dan jelaskan secara rinci satu persatu.
9. Apakah fungsi Hub dalam jaringan?
10. Sebutkan topologi jaringan dan jelaskan kelemahan dan keuntungan dari masing-masing topologi tersebut.
11. Jelaskan perbedaan antara jaringan yang bersifat Client-server dan peer-to-peer.
12. FDDI merupakan protocol yang diberikan oleh ITU-T dalam jaringan LAN. Jelaskanlah metode akses ari FDDI dan bagaimana transmisi data pada FDDI.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

BASIS DATA BERBASIS SQL

BASIS DATA BERBASIS SQL

Gambar 12.1 di samping ini adalah gambar sekumpulan komputer server yang biasanya ada pada perusahaan penyedia jasa internet atau pada bagian teknologi informasi perusahaan-perusahaan besar. Salah satu fungsi peralatan ini adalah sebagai pusat data yang dibutuhkan penggunanya. Peran sebagai pusat data ini membutuhkan DBMS dan aplikasi basis data yang kuat. Perangkat DBMS seperti Microsoft SQL Server, Oracle, MySQL, PostgreSQL biasanya menjadi pilihan. Fungsi-fungsi lanjut yang disediakan oleh DBMS tersebut sangat membantu kecepatan kerja, keamanan, dan keakuratan data yang disampaikan.
Bab ini membahas tiga standar kompetensi yaitu melakukan pemrograman data deskripsi (SQL) tingkat dasar, mengoperasikan bahasa pemrograman data deskripsi (SQL) tingkat lanjut dan membuat program basis data dengan Microsoft SQL Server. Kedua standar kompetensi ini disatukan karena kedekatan materi bahasan. Susunan sub bab tidak langsung mengacu pada kompetensi dasar, tapi lebih pada kecocokan materi. Ringkasan akan disampaikan di akhir bab kemudian dilanjutkan dengan soal-soal latihan. Sebelum kalian mempelajari bab ini buka kembali bab-bab tentang pemecahan masalah, sistem operasi, algoritma lanjutan, dasar-dasar basis data, dan aplikasi basis data berbasis Microsoft Access pada bab-bab sebelumnya.


12.1. SEKILAS TENTANG SQL


Dalam DBMS biasanya tersedia paket bahasa yang digunakan untuk mengorganisasi basis data yang ada, yaitu Data Definition Language (DDL) dan Data Manipulation Language (DML).


12.1.1.Data Definition Language (DDL)


Data Definition Language (DDL) adalah satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data. Hasil kompilasi dari DDL adalah satu set tabel yang disimpan dalam file khusus yang disebut Data Directory/Dictionary. Secara umum perintah perintah dalam DDL berhubungan dengan operasi-operasi dasar seperti membuat basis data baru, menghapus basis data, membuat tabel baru, menghapus tabel, membuat indeks, mengubah struktur tabel. Contoh perintah DDL misalnya, Create Table, Create Index, Alter, dan Drop Database.


12.1.2.Data Manipulation Language


Data Manipulation Language (DML) adalah satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat. Dengan DML dapat dilakukan kegiatan :
- Mengambil informasi yang tersimpan dalam basis data.
- Menyisipkan informasi baru dalam basis data.
- Menghapus informasi dari tabel.
Terdapat dua tipe DML yaitu prosedural dan non prosedural. Prosedural DML membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan dan bagaimana cara mendapatkannya, sedang non prosedural DML membutuhkan pemakai untuk menspesifikasikan data apa yang dibutuhkan tanpa tahu bagaimana cara mendapatkannya.
SQL merupakan kependekan dari Structured Query Language (Bahasa Query Terstruktur). SQL lebih dekat dengan DML dari pada DDL. Namun tidak berarti SQL tidak menyediakan perintah DDL. SQL lebih menekankan pada aspek pencarian dari dalam tabel. Aspek pencarian ini sedemikian penting karena di sinilah sebenarnya inti dari segala upaya kita melakukan pengelolaan data. Data dalam basis data diorganisasi sedemikian rupa dengan tujuan untuk memudahkan pencarian di kemudian hari.
Sebagai sebuah bahasa, SQL telah distandarisasi dan mengalami beberapa perubahan atau penyempurnaan. SQL muncul pertama kali pada tahun 1970 dengan nama Sequel (nama yang masih sering digunakan hingga saat ini). Standarisasi yang pertama dibuat pada tahun 1986 oleh ANSI (American National Standards Institute) dan ISO (International Standard Organization), yang disebut SQL-86. Pada tahun 1989 SQL-86 diperbaharui menjadi SQL-89. Standar terakhir yang dibuat adalah SQL-92.
Pernyataan-pernyataan SQL digunakan untuk melakukan beberapa tugas seperti : update data pada basis data, atau menampilkan data dari basis data.
Beberapa software RDBMS yang dapat menggunakan SQL, seperti : Oracle, Sybase, Microsoft SQL Server, MySQL, Microsoft Access, Ingres, dsb. Setiap software basis data mempunyai mungkin bahasa perintah / sintaks yang berbeda, namun pada prinsipnya mempunyai arti dan fungsi yang sama. Perintah utama dalam SQL adalah select. Struktur utama perintah adalah sebagai berikut:
Select <kolom>
From <table>
Where <kondisi>
Kita akan menggunakan perintah-perintah ini pada bagian-bagian berikut.


12.2. MEMPERSIAPKAN PERANGKAT LUNAK BERBASIS SQL


Seperti disebutkan di bagian awal bab, perangkat lunak yang akan kita gunakan adalan Microsoft SQL Server. Pada kesempatan ini versi yang dipakai adalah versi 2005 Developer Edition. Penjelasan sekilas tentang Microsoft SQL Server dapat dilihat pada bab 10.


12.2.1.Kebutuhan Operasi


Microsoft SQL Server adalah perangkat lunak yang berjalan pada platform Microsoft Windows, sehingga kebutuhan utama dari perangkat lunak ini adalah tersedianya komputer yang telah terinstal sistem operasi Windows, terutama versi Server. Hal ini karena Windows versi Server memberikan integrasi yang lebih baik. Selain itu dari sisi keamanan dan alokasi kerja model client-server, versi server memberikan unjuk kerja yang lebih baik.
Microsoft SQL Server adalah perangkat lunak yang harus diaktifkan sebagai service pada Windows. Jika belum dijalankan maka kita tidak akan dapat menggunakannya. Default-nya, ketika Microsoft SQL Server diinstal maka secara otomatis, service ini akan dibuat dan dijalankan setiap kali Windows dihidupkan. Namun untuk memastikan kalian dapat memeriksanya dengan membuka Control Panel, kemudian pilih Administrative Tool. Pada jendela Administrative Tool (Gambar 12.2) klik ganda pada ikon Service sehingga terbuka jendela seperti pada Gambar 12.3.
Pada jendela Service carilah nama service SQL Server kemudian periksalah di kolom status, apakah sudah started atau belum. Jika belum jalankan (start) service ini.

12.2.2.Menjalankan Perangkat Lunak Basis Data Berbasis SQL


Setelah terinstal maka kita dapat menggunakan Microsoft SQL Server dengan memanggil GUI client dari Microsoft SQL Server yang disebut sebagai SQL Server Management Studio. Ketika pertama kali dipanggil maka tampilan akan tampak seperti pada Gambar 12.4.
Setiap kali kita membuka SQL Server Management Studio, kita akan diperiksa apakah kita berhak menggunakan SQL Server atau tidak. Jika SQL Server dijalankan pada mesin lokal dan menggunakan Windows Authentication maka kita dapat langsung menekan tombol Connect untuk masuk ke lingkungan SQL Server. Tetapi bila SQL Server dijalankan dari komputer lain (server) kita akan diminta memasukkan user name dan password yang telah didaftarkan.
Ada informasi penting dari Gambar 12.4 di atas yang kalian perlu ketahui. Pada gambar tersebut terlihat bahwa kita akan mengakses tipe server Database Engine, yaitu server yang berhubungan dengan masalah aplikasi basis data. SQL Server menyediakan beberapa tipe server yang dapat diakses. Namun tidak dijelaskan pada buku ini. Selain itu nama server yang akan diakses adalah ARMBLACKMATE. Hal ini karena SQL Server diinstal pada komputer dengan nama ARM-BLACKMATE sehingga kita perlu nama server sama dengan nama dimana SQL Server berjalan.


12.3. MENU / FITUR UTAMA


Setelah kita berhasil masuk ke dalam lingkungan SQL Server maka kita akan disuguhi tampilan awal dari SQL Server Management Studio seperti pada Gambar 12.5.
Ada dua bagian penting yang ada pada bagian awal ini yaitu Object Explorer dan Summary Panel. Object Explorer adalah tempat kita melihat obyekobyek apa saja yang ada di dalam SQL Server. Pada gambar di atas kalian bisa melihat obyek-obyek yang tersedia. Untuk sementara yang paling penting adalah Databases. Sedangkan Summary panel merupakan tempat keterangan atau ringkasan yang ada pada Object Explorer. Coba klik pada salah satu obyek di Object Explorer, maka isi Summary panel juga akan berubah sesuai dengan obyek yang kita pilih.
Kita akan fokus pada obyek Databases. Coba klik tanda + (atau tanda node) di depan obyek Databases, sehingga akan tampak tampilan seperti pada Gambar 12.6 di samping ini. Pada Gambar tersebut tampak ada empat basis data yang sudah ada pada SQL Server, yaitu AdventureWorks, AdventureWorksDW, latihan01SQL dan Northwind2007SQL. Keempat basis data ini termasuk user object karena merupakan buatan pengguna. SQL Server juga membuat sendiri basis data ketika proses  instalasi berlangsung. Basis data ini biasa disebut sebagai system object. Biasanya ada beberapa system object yang tersedia yaitu Master, Model, MSDB, Resource, TempDB, dan Distribution. Basis data ini tidak boleh dihapus karena akan membuat sistem menjadi tidak bekerja normal. Untuk memeriksanya, coba klik node di depan System Databases.
Sementara ini kita tidak akan berhubungan dengan System Databases. Kita akan melihat pada user object. Klik pada salah satu basis data maka tampilan pada Summary Panel akan berubah. Perhatikan Gambar 12.7. Pada gambar tersebut tampak bahwa basis data AdventureWorks berisi berbagai komponen antara lain Database Diagrams, Tables, Views dan yang lainnya. Setiap basis data yang kita buat di SQL server akan punya komponen-komponen ini secara default. Meskipun kita tidak membuat Database Diagrams misalnya, komponen Database Diagrams tetap disediakan.

12.4. PEMBUATAN DAN PENGISIAN TABEL


12.4.1.Pembuatan Basis Data


Sebelum kita membuat tabel, kita harus membuat lebih dahulu basis datanya. Untuk membuat basis data baru, klik kanan pada Databases dan pilih New Database. Jendela untuk membuat basis data baru akan terbuka (Gambar 12.8). Pada textbox di depan Database name, ketikkan nama basis data yang akan dibuat. Pada contoh ini namanya adalah Lat-01. Kemudian klik OK. Perhatikan pada Object Explorer, basis data baru sudah terbentuk dan memiliki komponen-komponen yang sama dengan basis data lainnya.

12.4.2.Pembuatan Tabel


Setelah basis data terbentuk kita baru bisa membuat tabel. Klik kanan pada komponen Tables di basis data Lat-01 dan pilih New Table… Bagian Summary panel akan berubah menjadi seperti pada Gambar 12.9. Kalian bisa mulai memasukkan atribut atau kolom dari tabel yang akan dibuat. Pembuatan tabel ini sama persis dengan apa yang telah kalian lakukan dengan Microsoft Access. Penentuan tipe data, lebar data dan primary key juga tidak jauh berbeda. Yang agak berbeda adalah SQL Server menyediakan tipe data yang lebih banyak daripada Microsoft Access. Untuk menentukan primary key, pilih atribut kemudian tekan tanda kunci pada toolbar.
Pada gambar di atas, kita membuat tabel dengan 5 kolom yaitu NoInduk, Nama, Alamat, Kota, NoTelepon. Masing-masing bertipe nchar dengan lebar data yang bervariasi. Untuk menentukan lebar data, lihatlah pada bagian property dari kolom. Setelah selesai simpan tabel dengan nama tertentu. Pada contoh di atas tabel disimpan dengan nama siswa. SQL server akan memberikan awalan nama (prefix) dbo secara default. Tetapi ini bisa kita rubah. Jadi nama tabel yang kita buat di atas akan menjadi dbo.siswa.

12.4.3.Pengisian Data pada Tabel


Setelah semua tabel terbentuk, kita dapat mengisi tabel dengan data-data yang kita inginkan. Dengan menggunakan GUI SQL Server Management Studio kita dapat mengisi data seperti halnya pada Access. Klik kanan pada nama tabel kemudian pilih Open Table. Jendela baru pada Summary panel akan terbuka dan siap untuk diisi datanya. Gambar 12.10 menunjukkan bagaimana kita mengisi data pada sebuah tabel. Setiap kali kalian mengisi untuk satu baris harus diikuti dengan menekan Enter. Jika tidak maka data tidak tersimpan. Cobalah isi tabel-tabel yang lain.

12.5. OPERASI PADA TABEL DAN VIEW


12.5.1.Relasi Antar Tabel

Tabel-tabel yang telah kalian buat dan isi di atas masih merupakan tabel yang berdiri sendiri tidak ada hubungan antar tabel. Padahal kalau dilihat dari tabel-tabel yang ada kita bisa membuat model hubungannya (lihat bab 10 dan 11 tentang relasi antar tabel). Tabel siswa berhubungan dengan tabel program, tabel guru berhubungan dengan tabel bidang dan tabel program. Untuk membuat hubungan antar tabel ini kita bisa menggunakan komponen Database Diagrams. Klik kanan pada Database Diagrams kemudian pilih New Database Diagram. Jendela baru akan terbuka seperti tampak pada Gambar 12.11.
Pada jendela Add Table klik Add untuk memilih tabel yang akan kita relasikan. Pada contoh ini kita akan pilih semua tabel karena semua saling terkait. Klik Add beberapa kali sampai tidak ada nama tabel di jendela Add Table. Setelah semua tabel terpilih buat relasi seperti tampak pada Gambar 12.12. Cara menghubungkan tabel satu dengan tabel yang lain sama persis dengan yang kita lakukan di Microsoft Access. Simpan diagram ini.

12.5.2.Membuat View


View sama dengan Query pada Microsoft Access. SQL Server juga menyediakan fitur GUI untuk membuat View seperti halnya GUI Query pada Microsoft Access. Untuk membuat View, klik kanan pada View kemudian pilih New View sehingga jendela seperti Gambar 12.13 terbuka. Pilih Add Table untuk menambahkan satu atau lebih tabel yang akan kita buat View-nya. Misalnya kita pilih tabel siswa. Klik Close untuk menutup jendela tersebut. Sehingga akan muncul tampilan seperti tampak pada Gambar 12.14.
Ada empat bagian penting pada Gambar 12.14 yaitu jendela Diagram, jendela Criteria, jendela SQL dan jendela Result. Jendela Diagram digunakan sebagai tempat tabel-tabel sumber yang akan kita buat View-nya. Jendela Criteria adalah tempat kita menentukan kriteria-kriteria pada View. Jendela SQL adalah tempat menuliskan perintah SQL dari View yang kita buat. Jendela Result adalah tempat untuk menampilkan hasil dari View.
Pada Gambar 12.14, kita telah memilih tabel Siswa sebagai sumber View dan muncul pada jendela Diagrams. Kita akan membuat View sederhana berdasarkan tabel ini. Klik *(All Columns) di bawah nama tabel Siswa. Isi jendela SQL otomatis akan berubah. Isi jendela SQL akan berubah sesuai dengan apa yang kalian lakukan pada jendela Diagram dan jendela Criteria. Kemudian klik tanda seru (!) pada toolbar untuk mengeksekusi View tersebut atau klik kanan di salah satu bagian pada Gambar 12.14 (boleh di jendela Diagram/Criteria/SQL/Result) kemudian pilih Execute SQL. Kalian akan memperoleh tampilan seperti pada Gambar 12.15. Simpan View ini dengan cara klik pada ikon Disket pada Toolbar kemudian masukkan nama View.
Kalau kalian perhatikan, langkah-langkah membuat View di atas sama persis dengan apa yang kalian lakukan ketika membuat Query pada Microsoft Access. Kita akan buat beberapa contoh yang lebih kompleks. Perhatikan contoh-contoh berikut.
Contoh 12.1. View untuk menampilkan nama Guru yang alamat rumahnya di luar kota Malang.
Pada contoh ini kita menggunakan tabel Guru sebagai sumber View. Buat View baru kemudian tampilkan jendela seperti pada Gambar 12.13. Pilih tabel Guru kemudian Close. Klik Nama, Alamat dan Kota pada kotak tabel Guru. Kemudian pada jendela Criteria, pilih baris Kota dan pada kolom Filter ketikkan pernyataan <> ‘Malang’. Jalankan View ini, kalian akan mendapatkan hasil seperti pada Gambar 12.16.
Kolom Filter pada jendela Criteria digunakan untuk memilih baris yang sesuai dengan keinginan kita. Pada contoh di atas, digunakan untuk memilih baris yang isi kolom Kotanya bukan ‘Malang’. Kita menggunakan tanda <> untuk menyatakan ketidaksamaan.
Contoh 12.2. View untuk menampilkan nama, nomor induk, dan program keahlian Siswa secara urut abjad nama.
Contoh ini membutuhkan minimal 2 tabel, yaitu tabel Siswa dan tabel Program. Perhatikan relasi antar tabel pada Gambar 12.12. Tabel Siswa berhubungan langsung dengan tabel Program. Dengan cara yang sama seperti Contoh 12.13, pilih tabel Siswa dan tabel Program. Pada kotak Siswa di jendela Diagram pilih Nama dan NoInduk sedangkan pada kotak Program pilih NamaProgram. Pada jendela Criteria, pilih baris Nama dan klik pada kolom Sort Type kemudian pilih Ascending. Kemudian jalankan View tersebut. Kalian akan mendapat hasil seperti pada Gambar 12.17. Perhatikan pada jendela Result, kolom Nama ditampilkan berurutan sesuai dengan abjad.
Contoh 12.3. View untuk menampilkan nama Guru dan bidang keahliannya secara urut abjad nama.
Berdasarkan relasi tabel pada Gambar 12.12, maka View pada contoh ini membutuhkan tiga buah tabel yaitu tabel Guru, Guru_Bidang dan Bidang. Kolom Nama ada di tabel Guru sedangkan kolom NamaBidang ada pada tabel Bidang. Pilih tiga tabel tersebut. Pada kotak Guru di jendela Diagram pilih Nama kemudian pada kotak Bidang pilih NamaBidang. Pada jendela Criteria, pilih baris Nama dan klik pada kolom Sort Type kemudian pilih Ascending. Jalankan View ini. Perhatikan hasil yang diperoleh.

12.6. MENGGUNAKAN T-SQL


Transact-SQL (disingkat T-SQL) adalah varian dari bahasa basis data SQL yang dikeluarkan oleh perusahaan Microsoft dan Sybase. Microsoft SQL Server hanya mengenali bahasa SQL tipe T-SQL ini. Oleh karena itu jika kalian ingin menggunakan Microsoft SQL Server, maka kalian harus memahami bahasa ini.
Secara umum T-SQL tidak berbeda jauh dengan SQL standard. Hal ini karena T-SQL sebenarnya adalah bahasa SQL standar yang diberi tambahan perintah-perintah khusus untuk membantu kerja dalam SQL Server. Perintah SELECT, FROM dan WHERE yang telah kita singgung di awal bab, tetap menjadi perintah utama di T-SQL.
Untuk membuat perintah-perintah T-SQL ini SQL Server mempunyai jendela Query yang dapat kita buka dengan cara klik pada tombol New Query di bawah Menu Bar (lihat Gambar 12.19). Sebelumnya pilih terlebih dahulu basisdata yang ingin kita gunakan dengan cara klik pada nama basis data di Object Explorer. Setelah jendela Query terbuka kalian dapat mulai mengetikkan perintah-perintah SQL.

12.6.1.Definisi Tabel dengan T-SQL


Hampir semua aktivitas di dalam SQL Server dapat dilakukan dengan menggunakan perintah-perintah T-SQL. Termasuk membuat tabel. Pada sub bab sebelumya kalian telah membuat tabel-tabel dengan menggunakan fasilitas GUI. Kalian juga bisa membuat tabel-tabel tersebut dengan perintah-perintah SQL. Perintah-perintah yang berhubungan dengan definisi tabel termasuk dalam kategori DDL. Perintah untuk pendefinisian atau pembuatan tabel baru adalah CREATE TABLE. Sedangkan untuk menghapus kita menggunakan perintah DROP TABLE
Buat basis data baru dengan nama Lat-01_SQL. Kemudian pilih basis data tersebut. Buka jendela Query seperti pada Gambar 12.18. Kiata akan membuat tabel-tabel yang sama seperti pada Lat-01 tetapi dengan perintah SQL. Tabel pertama yang kita buat adalah tabel Siswa (lihat kembali struktur tabel ini pada Tabel 12.1 di atas). Ketikkan perintah berikut ini, kemudian jalankan dengan klik tanda seru (!).
CREATE TABLE [dbo].[Bidang](
[IdBidang] [smallint] NOT NULL,
[NamaBidang] [nchar](20)NULL,
[Deskripsi] [nchar](100)NULL,
CONSTRAINT [PK_Bidang] PRIMARY KEY CLUSTERED
(
[IdBidang] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Perintah CREATE TABLE diikuti dengan nama tabel yang akan kita buat ([dbo].[Bidang]) kemudian diikuti dengan daftar kolom yang ada pada tabel tersebut. Pada daftar kolom ini, tipe data, lebar data dan kondisi lainnya (misalnya NOT NULL atau NULL) harus dicantumkan. Setelah itu baru bagian CONSTRAINT dari tabel tersebut dituliskan. Bagian CONSTRAINT ini biasanya berisi pendefinisian Primary Key dari tabel tersebut. Perhatikan cara penulisan perintah-perintah di atas.
Setelah kalian jalankan, periksalah pada bagian node Tables apakah tabel kalian sudah terbentuk atau belum. Klik kanan pada Tables basis data kalian di Object Explorer kemudian pilih Refresh. Tabel baru yang kalian buat akan muncul di bawah Object Tables. Buatlah tabel-tabel lainnya dengan cara yang sama. Berikut ini perintah-perintah pembuatan masing-masing tabel.
Tabel Program
CREATE TABLE [dbo].[Program](
[IdProgram] [smallint] NOT NULL,
[NamaProgram] [nchar](20) NULL,
[Deskripsi] [nchar](100) NULL,
CONSTRAINT [PK_Program] PRIMARY KEY CLUSTERED
(
[IdProgram] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Tabel Guru
CREATE TABLE [dbo].[Guru](
[NIP] [nchar](15) NOT NULL,
[Nama] [nchar](20) NULL,
[Alamat] [nchar](30) NULL,
[Kota] [nchar](20) NULL,
[Telepon] [nchar](15) NULL,
CONSTRAINT [PK_Guru] PRIMARY KEY CLUSTERED
(
[NIP] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Tabel Siswa
CREATE TABLE [dbo].[Siswa](
[NoInduk] [nchar](10) NOT NULL,
[Nama] [nchar](20) NULL,
[Alamat] [nchar](30) NULL,
[Kota] [nchar](20) NULL,
[Telepon] [nchar](15) NULL,
[IdProgram] [smallint] NULL,
CONSTRAINT [PK_Siswa] PRIMARY KEY CLUSTERED
(
[NoInduk] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Tabel Guru_Program
CREATE TABLE [dbo].[Guru_Program](
[NIP] [nchar](15) NOT NULL,
[IdProgram] [smallint] NOT NULL,
CONSTRAINT [PK_Guru_Program] PRIMARY KEY CLUSTERED
(
[NIP] ASC,
[IdProgram] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Tabel Guru_Bidang
CREATE TABLE [dbo].[Guru_Bidang](
[IdBidang] [smallint] NOT NULL,
[NIP] [nchar](15) NOT NULL,
CONSTRAINT [PK_Guru_Bidang] PRIMARY KEY CLUSTERED
(
[IdBidang] ASC,
[NIP] ASC
)WITH (IGNORE_DUP_KEY = OFF) ON [PRIMARY]
) ON [PRIMARY]
Pada perintah-perintah pembuatan tabel di atas, kita belum membuat relasi antar tabel. Relasi antar tabel pada SQL biasanya dinyatakan dalam hubungan FOREIGN KEY (lihat kembali pengertian FOREIGN KEY pada bab 10 dan 11). Kita perlu memodifikasi tabel dengan menambahkan CONSTRAINT agar tabel dapat mengerti relasi antar tabel. Buka kembali jendela Query kemudian ketikkan perintah-perintah berikut ini.
ALTER TABLE [dbo].[Siswa] WITH CHECK ADD CONSTRAINT
[FK_Siswa_Program] FOREIGN KEY([IdProgram])
REFERENCES [dbo].[Program] ([IdProgram])
ALTER TABLE [dbo].[Guru_Program] WITH CHECK ADD
CONSTRAINT [FK_Guru_Program_Guru] FOREIGN KEY([NIP])
REFERENCES [dbo].[Guru] ([NIP])
ALTER TABLE [dbo].[Guru_Bidang] WITH CHECK ADD CONSTRAINT
[FK_Guru_Bidang_Bidang] FOREIGN KEY([IdBidang])
REFERENCES [dbo].[Bidang] ([IdBidang])
ALTER TABLE [dbo].[Guru_Bidang] WITH CHECK ADD CONSTRAINT
[FK_Guru_Bidang_Guru] FOREIGN KEY([NIP])
REFERENCES [dbo].[Guru] ([NIP])
Perintah untuk memodifikasi atau merubah struktur tabel adalah ALTER
TABEL kemudia diikuti dengan nama tabel yang ingin dirubah. Perhatikan pada baris ALTER TABLE [dbo].[Siswa] WITH CHECK ADD CONSTRAINT
[FK_Siswa_Program] FOREIGN KEY([IdProgram]). Tabel yang ingin dimodifikasi adalah dbo.Siswa dan tabel ini berhubungan dengan tabel Program
sehingga dituliskan FK_Siswa_Program. Kolom IdProgram pada tabel Siswa merupakan FOREIGN KEY sehingga dituliskan sebagai FOREIGN KEY([IdProgram]). Kolom IdProgram ini berasal dari tabel program sehingga pada bagian akhir perintah harus dituliskan referensi tabelnya (ditulis dengan REFERENCES [dbo].[Program] ([IdProgram])). Dengan cara yang sama relasi-relasi antar tabel di atas dibuat.
Perintah DROP TABEL sangat mudah dilakukan yaitu tinggal menambahkan nama tabel didepan perintah tersebut. Misalnya DROP TABLE [dbo].[Bidang].


12.6.2.Pengisian

Perubahan dan Penghapusan Isi Tabel dengan SQL Setelah semua tabel selesai dibuat, maka kita dapat mengisi data pada masing-masing tabel dengan menggunakan perintah INSERT. Perintah ini termasuk dalam kelompok DML. Kita akan mencoba menggunakan perintah ini pada tabel Bidang. Kita periksa dulu isi tabel Bidang dengan cara klik kanan pada nama tabel kemudian pilih Open Table. Isi tabel akan muncul pada jendela Summary (Gambar 12.20). Tutup kembali jendela Open Table tersebut.
Buka jendela Query kemudian ketikkan perintah berikut.
INSERT INTO [Lat-01].[dbo].[Bidang]
([IdBidang]
,[NamaBidang]
,[Deskripsi])
VALUES
(8, 'Jaringan Wireless', NULL)
Perintah INSERT diikuti dengan nama basis data dan nama tabel ([Lat-01].[dbo].[Bidang])kemudian diikuti dengan nama kolom yang ada pada tabel tersebut. Kata kunci VALUES digunakan untuk memberi petunjuk bahwa bagian setelah kata kunci ini adalah data yang akan dimasukkan. Perhatikan,
karena ada 3 kolom di tabel Bidang, maka kita juga memasukkan 3 buah data. Data pertama (8) harus terisi karena pada definisi tabel Bidang, kolom IdBidang dinyatakan NOT NULL. Data ketiga yaitu untuk kolom Deskripsi kita isi NULL karena kita ingin mengosongkan isi kolom ini.
Jalankan perintah di atas. Kemudian klik kanan pada tabel Bidang kemudian pilih Refresh. Kemudian klik kanan lagi pada tabel Bidang dan pilih Open Table. Data yang kalian masukkan sudah berada pada tabel Bidang (Gambar 12.21).
Kalau kalian perhatikan, perintah INSERT di atas terlalu panjang. Coba hapus bagian daftar nama kolom pada perintah tersebut. Kemudian ganti data di bawah VALUES menjadi (9, ’Digital Animation’, NULL). Kemudian jalankan dan periksalah hasilnya. Apa yang terjadi? Setelah Refresh, kalian akan menjumpai bahwa data kalian juga dapat dimasukkan tanpa harus menyebut daftar nama kolom pada perintah INSERT.
Seringkali dalam pengisian data pada suatu tabel, kita melakukan kesalahan. Kesalahan dapat berupa kesalahan ketik atau kesalahan pembacaan data. Sehingga ketika diperiksa, kita menginginkan untuk merubah/memperbaiki data tersebut. Proses ini biasa disebut sebagai update data. SQL menyediakan perintah UPDATE untuk melakukan proses ini. Perintah ini masih termasuk dalam kelompok DML.
Misalnya kita ingin merubah isi kolom NamaBidang pada IdBidang yang ke-5 (lihat Gambar 12.21). Dari ‘Fotografi’ kita rubah menjadi ‘Fotografi Digital’ maka kita ketikkan perintah seperti berikut.
UPDATE [Lat-01].[dbo].[Bidang]
SET [NamaBidang] = 'Fotografi Digital'
WHERE [IdBidang] = 5
Periksa kembali isi tabel Bidang. Jangan lupa untuk me-refresh dulu tabel Bidang sebelum perintah Open Table dijalankan.
Penghapusan data dengan SQL dilakukan dengan perintah DELETE. Perlu diperhatikan bahwa perintah DELETE akan menghapus isi seluru baris. Kalau kalian hanya ingin mengosongkan isi satu bagian dari baris (atau satu sel) saja gunakan perintah UPDATE. Misalnya kita ingin kita menghapus baris yang IdBidangnya sama dengan 8 maka kita ketikkan dengan perintah seperti berikut.
DELETE FROM [Lat-01].[dbo].[Bidang]
WHERE [IdBidang] = 8


12.6.3.Mencari dan Menampilkan Data (View) dengan SQL


Seperti telah disinggung di awal bab, perintah utama dalam SQL adalah SELECT, FROM dan WHERE. Sebagian besar aktivitas kita menggunakan SQL berhubungan dengan perintah-perintah ini. Untuk menggunakan perintahperintah ini, buka jendela Query kemudian ketikkan perintah yang kalian inginkan. Jalankan dengan menekan tombol tanda seru (!).
Perintah SELECT digunakan untuk memilih kolom mana saja yang akan ditampilkan. Jika kita ingin menampilkan semua kolom, kita cukup menggunakan tanda *. Perintah FROM digunakan untuk menentukan asal kolom yang ingin kita tampilkan datanya. Perintah WHERE digunakan untuk membatasi baris-baris yang akan kita tampilkan agar sesuai dengan kriteria yang kita inginkan. WHERE bisa dari tabel atau hasil dari View yang lain. Perhatikan contoh-contoh penggunaan SQL berikut ini.
Contoh 12.4. Menampilkan semua data pada tabel Bidang.
Contoh ini kita membutuhkan tabel Bidang. Sedangkan kolom yang kita ingin tampilkan adalah semua kolom. Kita dapat menggunakan tanda * atau mendaftar semua kolom yang ada pada tabel Bidang. Berikut adalah perintah SQL dan hasil eksekusinya.
Jika kalian ingin menyimpan dalam bentuk View perintah di atas, tambahkan sebelum pernyataan SELECT perintah CREATE VIEW <nama_view> AS. Ganti <nama_view> dengan nama yang kalian inginkan.
Contoh 12.5. Menampilkan data nama dan alamat siswa.
Pada contoh ini kita membutuhkan tabel Siswa. Sedangkan kolom yang kita inginkan adalah kolom nama, alamat, dan kota. Kita tidak bisa menggunakan tanda *, tetapi harus mendaftarkan nama kolom nama dan alamat setelah perintah SELECT. Perhatikan perintah SQL dan outpunya berikut ini.
Contoh 12.6. Menampilkan data nama siswa yang rumahnya di Batu.
Pada contoh ini kita membutuhkan pernyataan WHERE untuk membatasi baris yang ingin kita tampilkan. Tabel yang dipakai adalah tabel Siswa dan kolom yang ingin ditampilkan adalah kolom Nama. Kalau kalian perhatikan hasil eksekusi contoh 12.2 di atas, yang alamat rumahnya di Batu ada dua orang yaitu Pepe Ricard dan Bubi Red. Pernyataan WHERE diikuti dengan kondisi yang harus dipenuhi. Pada kasus ini adalah Kota=’Batu’. Berikut ini perintah SQL secara lengkap dan outputnya. Perhatikan cara penulisannya.
Contoh 12.7. Menampilkan data nama, alamat dan kota dari guru yang rumahnya tidak di Malang.
Pada bagian ini kita juga menggunakan perintah WHERE untuk membatasi data yang ingin kita tampilkan. Tabel yang kita gunakan adalah tabel guru dan kolom yang kita butuhkan adalah kolom nama, alamat dan kota. Pernyataan yang rumahnya tidak di Malang merupakan kondisi yang harus dipenuhi. Sehinga secara lengkap pernyataan akan tampak seperti berikut.
Contoh 12.8. Menampilkan data nama siswa dan program keahlian yang diikuti.
Pada contoh ini kita melibatkan dua buah tabel yang saling berhubungan yaitu tabel Siswa dan tabel Program. Yang kita ingin tampilkan adalah kolom Nama pada tabel Siswa dan kolom NamaProgram pada tabel Program. Untuk kasus seperti ini pada perintah SELECT pemanggilan nama kolom harus didahului dengan nama tabelnya. Sedangkan pada FROM kita menggunakan perintah INNER JOIN untuk menggabung dua tabel. Perlu kalian cermati (lihat Tabel 12.1 di atas), pada tabel Siswa terdapat Foreign Key yaitu IdProgram yang merupakan Primary Key pada tabel Program. IdProgram ini merupakan penghubung yang dapat kita gunakan untuk menggabung dua tabel. Perhatikan pernyataan SQL berikut ini dan cermati outputnya.
 
Contoh 12.9. Menampilkan data nama siswa yang mengikuti program keahlian RPL.
Contoh ini merupakan kelanjutan dari contoh 12.4. Kita menambahkan pernyataan WHERE untuk menampilkan nama yang ikut program keahlian RPL.
Selain itu kita hanya ingin menampilkan kolom Nama dari tabel Siswa. Perhatikan pernyataan SQL berikut dan hasil eksekusinya.
Contoh 12.10. Menampilkan data nama guru dan bidang keahliannya.
Contoh ini lebih kompleks dari contoh-contoh di atas. Kita melibatkan tiga buah tabel, yaitu tabel Guru, tabel Guru_Bidang dan tabel Bidang. Perhatikan relasi antar tabel tersebut pada Gambar 12.11. Ada dua INNER JOIN yang kita gunakan, yaitu INNER JOIN tabel Guru dengan tabel Guru_Bidang dan INNER JOIN Guru_Bidang dengan tabel Bidang. Perhatikan bagaimana membuat pernyataan INNER JOIN.
Contoh
Contoh 12.11. Menampilkan data nama guru yang bidang keahliannya Pemrograman Web atau Basis Data.
Contoh ini merupakan pengembangan dari contoh 12.10. Kita ingin menampilkan guru yang bidang keahliannya Pemrograman Web atau Basis Data.
Kita perlu menambahkan perintah WHERE untuk membatasi baris. Pada WHERE kita juga perlu operator OR. Perhatikan perintah SQL dan hasil eksekusinya berikut ini.
Bandingkan dengan hasil eksekusi contoh 12.10. Cobalah ganti OR dengan AND dan jalankan kembali perintah SQL tersebut. Bagaimanakah hasilnya?
Contoh-contoh di atas dapat dikembangkan lagi dengan banyak variasi.
Dengan banyak mencoba dan berlatih maka kalian akan dapat memahami dengan baik penggunaan perintah-perintah SQL.


12.7. FUNGSI, PROCEDURE DAN TRIGGER


Microsoft SQL Server menyediakan fasilitas-fasilitas tingkat lanjut yang tidak dimiliki oleh Microsoft Access seperti kemampuan membuat fungsi, mendefinisikan store procedure dan trigger. Hal ini karena SQL Server diperuntukkan sebagai basis data server yang membutuhkan kinerja yang lebih kuat dari Microsoft Access.


12.7.1.FUNGSI


T-SQL menyediakan banyak fungsi yang digunakan untuk mempermudah tugas-tugas dalam pengelolaan basis data. Beberapa fungsi penting akan disampaikan di sini. Untuk lebih lengkapnya silahkan baca manual atau onlinehelp dari SQL Server.
- Fungsi-fungsi yang berhubungan dengan numeric
Fungsi-fungsi penting yang berhubungan dengan numeric (angka) adalah isNumeric dan Round. Fungsi isNumeric digunakan untuk memeriksa apakah isi suatu data berupa data angka atau tidak. Buka jendela Query kemudian ketikkan perintah seperti pada contoh 12.12 dan periksalah hasilnya. Tabel Siswa mempunyai kolom Telepon yang isi datanya sekilas berupa angka. Kita dapat memeriksa dengan menggunakan fungsi isNumerik. Pada hasil eksekusi di bawah ini terlihat nilai hasil pemeriksaan menghasilkan angka 0 untuk seluruh data. Angka 0 berarti false. Berarti, semua data pada kolom Telepon bukan data numeric.
Contoh 12.12. Menggunakan fungsi isNumeric.
Fungsi ROUND digunakan untuk membulatkan bilangan pecahan ke bilangan bulat terdekat. Misalnya 13.58 akan menjadi 14.00. Perhatikan contoh berikut ini.Fungsi ROUND digunakan untuk membulatkan bilangan pecahan ke bilangan bulat terdekat. Misalnya 13.58 akan menjadi 14.00. Perhatikan contoh berikut ini.
- Fungsi-fungsi yang berhubungan dengan string
Fungsi-fungsi penting yang berhubungan dengan karakter (string) antara lain adalah LEFT, RIGHT, LEN, LOWER, UPPER, LTRIM, dan RTRIM.
LEFT digunakan untuk memilih sejumlah karakter tertentu dari sebelah kiri sedangkan RIGHT dari sebelah kanan. Hasil dari RIGHT tergantung dari lebar data yang kalian tetapkan pada pembuatan table. LEN digunakan mengetahui panjang karakter pada data. Perhatikan contoh berikut.
Contoh 12.14. Menggunakan LEFT, RIGHT dan LEN.
LOWER digunakan untuk merubah karakter menjadi huruf kecil, sedangkan UPPER sebaliknya. LTRIM digunakan untuk menghilangkan space di sebelah kiri data string, sedangkan RTRIM di sebelah kanan.
Lihat contoh berikut.
Contoh 12.15. Menggunakan fungsi UPPER dan LOWER.
- Fungsi-fungsi yang berhubungan dengan waktu
Fungsi-fungsi yang berhubungan dengan waktu yang penting antara lain:
GETDATE, MONTH, DAY, YEAR, DATENAME, DATEADD, and DATEDIFF.
GETDATE digunakan untuk mendapatkan tanggal sekarang dari system computer. MONTH digunakan untuk mengambil bagian bulan dari data tanggal. DAY digunakan untuk mengambil bagian tanggal dari data tanggal. YEAR digunakan untuk mengambil bagian tahun dari data tanggal. DATENAME digunakan untuk mendapatkan nama hari dari suatu tanggal. DATEADD digunakan untuk menambah atau mengurangi data tanggal. DATEDIFF digunakan untuk melihat selisih antara dua buah data tanggal. Perhatikan contoh berikut.

12.7.2.Procedure dan Stored Prosedure


Selain fungsi-fungsi yang tersedia di atas, SQL Server juga memperkenalkan user-defined function. Fungsi ini adalah fungsi yang dapat kita buat sendiri untuk  mempercepat pengelolaan basis data. Kadang-kadang fungsi jenis ini disebut juga procedure. Ada dua tipe user defined function yaitu scalar dan inline table-value. Fungsi scalar menghasilkan satu nilai keluaran melalui kata kunci Return. Inline Table-Value menghasilkan suatu table baru ketika dieksekusi. Perhatikan contoh berikut.
Contoh 12.17. Membuat fungsi scalar.
Fungsi yang ada di samping ini diberi nama dbo.FullName.
Parameter yang digunakan ada dua yaitu @FirstName dan @LastName. Perhatikan bagaimana mendefinisikan suatu fungsi dan parameternya. Output dari fungsi akan bertipe data nVarChar dengan lebar data 35. Fungsi ini akan memberikan output satu nilai yaitu gabungan dari @LastName dan @Firstname. Sehingga kita bisa
nyatakan ini termasuk dalam fungsi scalar.
Pada kode yang di blok, terlihat bagaimana fungsi tersebut dipanggil pada suatu pernyataan query. Perhatikan output yang dihasilkan. Terbentuk kolom baru yang berisi gabungan kolom LastName dan FirstName. Stored procedure adalah potongan kode program yang dapat menerima parameter input dan menghasilkan satu atau lebih parameter output. Stored procedure umumnya digunakan untuk operasi-operasi pada basis data. Biasanya suatu perintah SQL yang rumit, panjang dan kompleks disimpan sebagai stored procedure. Jika kita ingin melakukan operasi tersebut kita tidak perlu mengetik ulang, cukup kita panggil nama stored procedure dan kita eksekusi langsung.
Perintah untuk membuat stored procedure adalah CREATE PROCEDURE kemudian diikuti dengan nama procedure-nya. Perhatikan contoh berikut ini.
Contoh 12.18. Membuat stored procedure.
Buka jendela Query, kemudian ketikkan kode berikut ini.
CREATE PROCEDURE hapusBaris
@IdNumber smallint
AS
DELETE
FROM dbo.Bidang Where dbo.Bidang.IdBidang = @IdNumber
Procedure yang kita buat ini bernama hapusBaris dengan satu parameter yaitu @IdNumber dengan tipe data smallint. Pernyataan setelah AS adalah pernyataan SQL yang akan dikerjakan ketika stored procedure di atas dijalankan.


12.7.3.Trigger


Trigger adalah tipe khusus dari stored procedure yang akan dieksekusi ketika suatu kejadian muncul. Kejadian tersebut misalnya ketika ada penambahan data (INSERT), penghapusan data (DELETE) atau perubahan data (UPDATE). Trigger biasanya merupakan komponen dari suatu table.
Cara membuatnya adalah klik node di depan table yang anda pilih.
Setelah muncul daftar komponen table tersebut klik kanan pada Trigger dan pilih New Trigger. SQL Server akan menampilkan jendela baru yang isinya adalah  template dari Trigger. Hapus semua teks pada jendela tersebut kemudian ketikkan contoh berikut ini.
Contoh 12.19. Membuat trigger.
CREATE TRIGGER coba_trigger
ON dbo.Bidang FOR INSERT
AS
DECLARE @varNama Varchar(20)
SELECT @varNama = NamaBidang FROM INSERTED
PRINT 'Anda baru memasukan data : ' + @varNama
Trigger di atas berada pada table Bidang. Nama triggernya adalah coba_trigger dan akan dijalankan ketika event pemasukkan data (INSERT) pada table dbo.Bidang terjadi.

12.8. ADMINISTRASI SQL SERVER


12.8.1.Security dan Authentication.


Security atau keamanan basis data merupakan komponen yang sangat penting. Karena sifatnya yang berperan sebagai server maka sebenarnya SQL Server secara teori dapat diakses oleh siapa saja. Hal ini tentu akan sangat merugikan jika ada pihak-pihak yang tidak bertanggung jawab melakukan perubahan, perusakan atau bahkan menghapus basis data yang kita buat dengan susah payah.
SQL Server menyediakan mekanisme Authentication untuk membatasi siapa yang berhak masuk ke dalam sistem SQL Server. Ada dua model authentication yaitu Windows Authentication dan SQL Server Authentication.
- Windows Authentication. Pada model ini SQL Server tidak melakukan pengecekan pada user name dan password yang diberikan namun dipercayakan pada system operasi Windows. Artinya sebenarnya hanya user yang terdaftar pada computer tersebut yang mungin bisa masuk pada SQL Server.
- SQL Server Authentication. Informasi user name dan password disimpan dalam SQL Server sehingga setiap kali ada user yang akan masuk koneksi ke SQL Server, SQL Server akan memeriksanya.
Untuk melihat model authentication apa yang ada di SQL Server, klik kanan pada nama server di jendela Object Explorer kemudian pilih Properties.
Pada jendela Server Properties pilih bagian Security sehingga tampilan akan tampak seperti pada Gambar 12.22.
Untuk menambahkan user yang bisa masuk ke SQL Server, klik node pada Security di Object Explorer, kemudian klik kanan Logins. Pilih New Logins untuk membuka jendela Login seperti pada Gambar 12.23. Buat user baru yang kalian inginkan.

12.8.2.Permissions


Permissions berhubungan dengan hak akses seorang user pada suatu basis data. Seorang yang sudah terdaftar sebagai user pada SQL Server tidak secara otomatis bisa menggunakan basis data yang ada jika belum diberi hak. Untuk mengubah hak user pada basis data tertentu, klik node pada Logins. Klik kanan pada nama user yang terdaftar di bawah Logins kemudian pilih Properties. Pada jendela Login Properties, pilih bagian User Mapping sehingga tampilan akan tampak seperti pada Gambar 12.24.
Gambar di atas menunjukka user dengan nama sa merupakan pemilik (db_owner) dari beberapa basis data (lihat basis data yang dicentang). Kita dapat mengatur peran (role) seorang member pada basis data dengan mencentang atau tidak pada bagian Database role membership.


12.9. RINGKASAN


- Data Definition Language (DDL) adalah satu paket bahasa DBMS yang berguna untuk melakukan spesifikasi terhadap skema basis data sedangkan Data Manipulation Language (DML) adalah satu paket DBMS yang memperbolehkan pemakai untuk mengakses atau memanipulasi data sebagaimana yang telah diorganisasikan sebelumnya dalam model data yang tepat.
- SQL lebih menekankan pada aspek pencarian dari dalam tabel hal ini karena pencarian adalah inti dari pengelolaan data.
- Pembuatan Tabel dan View pada SQL server dapat dilakukan dengan cara GUI atau dengan menggunakan perintah-perintah SQL.
- Perintah utama SQL adalah SELECT, FROM dan WHERE.
- Microsoft SQL Server menyediakan fasilitas fungsi built-in dan user-defined function.
- Stored procedure adalah potongan kode program yang dapat menerima parameter input dan menghasilkan satu atau lebih parameter output.
Trigger adalah tipe khusus dari stored procedure yang akan dieksekusi ketika suatu kejadian muncul
- SQL Server menyediakan mekanisme Authentication untuk membatasi siapa yang berhak masuk ke dalam sistem SQL Server dengan dua model yaitu Windows Authentication dan SQL Server Authentication. Selain itu keamanan data juga diatur dengan cara pemberian permissions.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS