perancangan basis data

117
PERANCANGAN BASIS DATA Dosen : Achmad Zakki Falani, S.Kom Fakultas Ilmu Komputer Universitas Narotama Surabaya NEXT

Upload: gefen

Post on 25-Jan-2016

188 views

Category:

Documents


6 download

DESCRIPTION

PERANCANGAN BASIS DATA. Dosen : Achmad Zakki Falani, S.Kom Fakultas Ilmu Komputer Universitas Narotama Surabaya. NEXT. Kriteria Penilaian:. Kehadiran: 10 % Tugas: 15 % Keaktifan: 15 % NIlai UTS: 30 % (Reg.) Nilai UAS: 30 % (Reg.) Nilai UAS: 60 % (Ins.). BACK. NEXT. - PowerPoint PPT Presentation

TRANSCRIPT

  • PERANCANGAN BASIS DATADosen :Achmad Zakki Falani, S.KomFakultas Ilmu KomputerUniversitas Narotama Surabaya

    NEXT

  • Kriteria Penilaian:Kehadiran: 10 %Tugas: 15 %Keaktifan: 15 %NIlai UTS: 30 % (Reg.)Nilai UAS: 30 % (Reg.)

    Nilai UAS: 60 % (Ins.)NEXTBACK

  • Definisi BasisdataBeberapa definisi basisdata (database) adalah sbb:Sekumpulan data store(bisa dalam jumlah besar) yang tersimpan dalam magnetic disk, optical disk, dan media penyimpan sekunder lainnya.Sekumpulan program-program aplikasi umum yang mengeksekusi dan memproses data secara umum (hapus,cari,update,dll)Basisdata terdiri dari data yang di-share bagi banyak user dan memungkinkan penggunaan data yang sama pada waktu bersamaan oleh banyak userKoleksi terpadu dari data-data yang saling berkaitan dari suatu enterprise.Mis. Basisdata RS akan terdiri dari data-data seperti pasien, karyawan, dokter, perawat, dll.NEXTBACK

  • Definisi Perancangan BasisdataPerancangan Database adalah proses untuk menentukan isi dan pengaturan data yang dibutuhkan untuk mendukung berbagai rancangan sistem.Tujuan Perancangan Database : untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user secara khusus dan aplikasi-aplikasinya. memudahkan pengertian struktur informasi. mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space)NEXTBACK

  • Proses Perancangan Database6 Fase proses perancangan database :1. Pengumpulan data dan analisis2. Perancangan database secara konseptual3. Pemilihan DBMS4. Perancangan database secara logika (data model mapping)5. Perancangan database secara fisik6. Implementasi Sistem database.

    6 fase di atas tidak harus diproses berurutan. Pada beberapa hal,rancangan tsb dapat dimodifikasi dari yang pertama dan sementara itu mengerjakan fase yang terakhir (feedback loopantara fase) dan feedback loop dalam fase sering terjadi selamaproses perancangan.NEXTBACK

  • Fase 1 : Pengumpulan data dan analisaProses identifikasi dan analisa kebutuhan-kebutuhan datadisebut pengumpulan data dan analisa. Untuk menentukankebutuhan-kebutuhan suatu sistem database,pertama-tamaharus mengenal bagian-bagian lain dari sistem informasiyang akan berinteraksi dengan sistem database, termasukpara pemakai yang ada dan para pemakai yang baru sertaaplikasi-aplikasinya. Kebutuhan-kebutuhan dari para pemakai dan aplikasi-aplikasi inilah yang kemudiandikumpulkan dan dianalisa.NEXTBACK

  • Aktifitas-aktifitas pengumpulan data dan analisa :Menentukan kelompok pemakai dan bidang-bidang aplikasinya.Peninjauan dokumentasi yang ada.Analisa lingkungan operasi dan pemrosesan data.Daftar pertanyaan dan wawancara.

    NEXTBACK

  • Fase 2 : Perancangan database konseptualTujuan dari fase ini adalah menghasilkan conceptualschema untuk database yang tergantung padasebuah DBMS yang spesifik. Sering menggunakansebuah high-level data model seperti ER/EER modelselama fase ini. Dalam conceptual schema, kitaharus merinci aplikasi-aplikasi database yangdiketahui dan transaksi-transaksi yang mungkin.NEXTBACK

  • Aktifitas paralel perancangan database secara konseptual :1. Perancangan skema konseptual :menguji kebutuhan-kebutuhan data dari suatu database yang merupakan hasil dari fase 1, dan menghasilkan sebuah conceptual database schema pada DBMS independent model data tingkat tinggi seperti EER (enhanced entity relationship) model.2. Perancangan transaksi :menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya telah dianalisa pada fase 1, dan menghasilkan perincian transaksi-transaksi ini.NEXTBACK

  • Fase 3 : Pemilihan DBMSPemilihan database ditentukan oleh beberapa faktor, diantaranya:1. Struktur data Jika data yang disimpan dalam database mengikuti struktur hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.2. Personal yang telah terbiasa dengan suatu sistem Jika staf programmer dalam suatu organisasi sudah terbiasa dengan suatu DBMS, maka hal ini dapat mengurangi biaya latihan dan waktu belajar.3. Tersedianya layanan penjual Keberadaan fasilitas pelayanan penjual sangat dibutuhkan untuk membantu memecahkan beberapa masalah sistem.4. Teknik Keberadaan DBMS dalam menjalankan tugasnya seperti jenis -jenis DBMS (relational, network, hierarchical, dll), struktur penyimpanan, dan jalur akses yang mendukung DBMS, pemakai, dll.NEXTBACK

  • Fase 4 : Perancangan database secara logika (pemetaan model data)

    Fase selanjutnya dari perancangan database adalahmembuat sebuah skema konseptual dan skema eksternal pada model data dari DBMS yang terpilih. Fase inidilakukan oleh pemetaan skema konseptual dan skemaeksternal yang dihasilkan pada fase 2. Pada fase ini, skema konseptual ditransformasikan dari model datatingkat tinggi yang digunakan pada fase 2 ke dalammodel data dari DBMS yang dipilih pada fase 3.NEXTBACK

  • Pemetaan diproses dalam 2 tingkat :1. Pemetaan system-independent :Pemetaan ke dalam model data DBMS dengan tidak mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada implementasi DBMS darimodel data tsb.2. Penyesuaian skema ke DBMS yang spesifik :mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada implementasi yang khusus di masa yang akan datang dari suatu model data yangdigunakan pada DBMS yang dipilih.NEXTBACK

  • Fase 5 : Perancangan database fisikPerancangan database secara fisik merupakan prosespemilihan struktur-struktur penyimpanan dan jalur-jalurakses pada file-file database untuk mencapai penampilanyang terbaik pada bermacam-macam aplikasi.Selama fase ini, dirancang spesifikasi-spesifikasi untukdatabase yang disimpan yang berhubungan denganstruktur-struktur penyimpanan fisik, penempatan recorddan jalur akses. NEXTBACK

  • Petunjuk pemilihan perancangan database secara fisik : 1. Response time Waktu yang telah berlalu dari suatu transaksi database yang diajukanUntuk menjalankan suatu tanggapan. Pengaruh utama pada response time adalah di bawah pengawasan DBMS yaitu : waktu akses database untuk data item yang ditunjuk oleh suatu transaksi.Response time juga dipengaruhi oleh beberapa faktor yang tidak berada di bawah pengawasan DBMS, seperti penjadwalan sistem operasi atau penundaan komunikasi. 2. Space Utility Jumlah ruang penyimpanan yang digunakan oleh file-file database dan struktur-Struktur jalur akses. 3. Transaction throughput :Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem database, 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 database.NEXTBACK

  • Fase 6 :Implementasi sistem databaseSetelah perancangan secara logika dan secara fisik lengkap,kita dapat melaksanakan sistem database. Perintah-perintah dalam DDL dan SDL(storage definition language) dari DBMS yang dipilih, dihimpun dan digunakan untuk membuat skema database dan file-file database (yang kosong) kemudian database tsb dimuat (disatukan) dengan datanya.Jika data harus dirubah dari sistem komputer sebelumnya, perubahan-perubahan yang rutin mungkin diperlukan untuk format ulang datanya yang kemudian dimasukkan kedatabase yang baru. Transaksi-transaksi database sekarang harus dilaksanakan oleh para programmmer aplikasi.NEXTBACK

  • ALASAN PERANCANGAN BASIS DATASistem basis data telah menjadi bagian dalam sistem informasi suatu organisasiKebutuhan menyimpan data dl jumlah besar semakin mendesakFungsi-fungsi dalam organisasi semakin dikomputerisasikanSemakin kompleks data & aplikasi yg digunakan, maka relationship antar data harus dimodelisasikanDibutuhkannya kemandirian data

  • KONVERSI & LOADING DATATahap ini dilakukan apabila sistem basis data yg ada digantikan sistem basis data baruSemua data yg ada ditransfer ke basis data baru & konversi aplikasi yg ada utk basis data baru

  • PENGOPERASIAN & PERAWATANPengoperasian basis data setelah divalidasiMemonitor kinerja sistem, jika tidak sesuai perlu reorganisasi basis dataPerawatan & upgrade sistem aplikasi basis data jika diperlukan.

  • Model Konseptual Basis DataModel konseptual merupakan kombinasi beberapa cara untuk memproses data untuk beberapa aplikasi. Pada perancangan model konseptual basis data ini penekanan dilakukan pada struktur data dan relasi antara field. Pada perancangan model konseptual ini dapat dilakukan dengan menggunakan model data relasional.NEXTBACK

  • Teknik NormalisasiProses normalisasi adalah proses pengelompokan data elemen menjaditabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasidilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saatmenambah/menyisipkan, menghapus, mengubah dan mengakses pada suatuBasis data. Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum optimal.

    Contoh:- Tabel usermanager yang dapat dinormalisasi ke beberapa aplikasi.

    NEXTBACK

  • EntityEntity atau entitas, dalam basis data entitysama halnya dengan sebuah tabel.

    NEXTBACK

  • AtributAtribut, dalam basis data sama halnya dengan field.

    NEXTBACK

  • Jenis AtributAtribut SederhanaAtribut KompositAtribut Bernilai TunggalAtribut Bernilai JamakAtribut Harus BernilaiAtribut Bernilai NullAtribut Turunan

    NEXTBACK

  • Atribut Sederhana Atribut Sederhana : atribut sederhana merupakan atribut atomik yang tidak dapat lagi dipecah menjadi atribut lain.

    Contoh:Entitas mahasiswa mempunyai atribut sederhana berupa NIM, NamaMahasiswa .

    NEXTBACK

  • Atribut Komposit Atribut Komposit : atribut komposit merupakan atribut yang masih dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti tesendiri.

    Contoh:Entitas mahasiswa mempunyai atribut alamat. Maka alamat disini dapatdipecah menjadi sub atribut seperti kota, kab, kode_pos.Entitas dosen mempunyai atribut nama_dosen. Maka nama disini dapat dipecah menjadi sub atribut lain seperti glr_dpn, nama, glr_blk.

    NEXTBACK

  • Atribut Bernilai Tunggal Atribut Bernilai Tunggal : atribut yang hanya memiliki satu nilai untuksetiap barisnya.

    Contoh:entitas mahasiswa mempunyai atribut NIM, nama, alamat isi datadari atribut ini hanya boleh diisi dengan 1 data. Setiap mahasiswa hanya memiliki 1 NIM, 1 Nama, 1 Alamat.

    NEXTBACK

  • Atribut Bernilai Jamak Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari satu nilai untuk setiap barisnya.

    Contoh:entitas mahasiswa mempunyai atribut Hobby isi data dari atribut iniboleh lebih dari 1 data. Mahasiswa Roshita memiliki NIM 04102002beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,Nyanyi, Masak dan Nonton TV)

    NEXTBACK

  • Atribut Harus Bernilai (not null)Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan dalam perancangan tabelnya sehingga jika dalam pengisian di kosongi akan terjadi kesalahan.

    Contoh:entitas mahasiswa mempunyai atribut NIM dan nama_mahasiswa yang harus diisi datanya, sebab jika tidak diisi akan terjadi kesalahan (error) dalam basis data

    NEXTBACK

  • Atribut Bernilai Null (is null)Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data untuk setiap barisnya.

    Contoh:entitas mahasiswa mempunyai atribut hobby, nama_pacar yang boleh tidak terisi.

    NEXTBACK

  • Atribut TurunanAtribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.

    Contoh:entitas mahasiswa mempunyai atribut IPK yang diperoleh daripengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIMmahasiswa yang sama dan diproses sehingga menghasilkan IPK untukmahasiswa yang bersangkutan.

    NEXTBACK

  • QUIZ I:Kerjakan Sesuai dengan Analisis Anda Masing-masing1. Jelaskan dengan bahasa Anda sendiri, tentang Fase Proses Perancangan Database!2. Menurut Pendapat Anda, apakah penggunaan perancangan database mutlak digunakan dalam proses pembuatan sistem informasi? Jelaskan Alasannya?3. Buatlah 5 contoh yang lain tentang: atribut sederhanaatribut kompositatribut bernilai tunggalatribut bernilai jamakatribut harus bernilai (not null)atribut bernilai null (is null)atribut turunan

    NEXTBACK

  • SoalBuatlah contoh yang lain tentang: atribut sederhanaatribut kompositatribut bernilai tunggalatribut bernilai jamakatribut harus bernilai (not null)atribut bernilai null (is null)atribut turunan

    NEXTBACK

  • Field (Atribut) Kuncisetiap field selalu terdapat kunci berupa field atau satu set field yang dapat mewakili record. Misalnya Nomor Induk Mahasiswa (NIM) merupakankunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian cukup dengan menyebut NIM mahasiswa tersebut maka dapat diketahui identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya.

    Contoh lain:Nomor Pegawai (NIDN) bagi data dosen, NIK untuk data karyawan,Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.

    NEXTBACK

  • Kunci Kandidat (Candidate Key)Kunci kandidat adalah satu atribut atau satu set atribut yangmengidentifikasikan secara unik suatu kejadian spesifik dari entity. Satu set atribut menyatakan secara tidak langsung dimana anda tidak dapat membuang beberapa atribut dalam set tanpa merusak kepemilikan yang unik.

    NEXTBACK

  • Kunci Kandidat (Candidate Key)Contoh:Tabel pegawai berisi field:nikno_ktpnama_pegawaitmp_lahirtgl_lahiralamatkota

    Kunci kandidat dalam tabel pegawai di disamping dapat dipilih sbb :nikno_ktpnama_pegawai (tidak dapat dipakai karena sering seseorang punya nama yangsama dengan orang lain)tmp + tgl Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yangsama cukup kecil)nama + tmp + tgl_lahir (dapat dipakai sebagai kunci)alamat dan kota (bukan kunci)

    NEXTBACK

  • Kunci Kandidat (Candidate Key)Contoh Kasus: Tentukan Kunci Kandidat dari tabel tersebutTabel mt_kuliah berisi field:id_matkulkode_matkulnama_matkulkurikulumsemestersksnilai_minimum

    NEXTBACKKunci kandidat dalam tabel mt_kuliah di disamping dapat dipilih sbb :id_matkulkode_matkulnama_matkul (mungkin bisa dipakai sebagai kunci karena kemungkinan nama matkul dengan yang lain ada perbedaan)kurikulum + semester + sks + nilai_minimum (tidak dapat dipakai karena sering matkul punya data yangsama dengan matkul lain)

  • Kunci Primer (Primary Key)Primary key adalah satu atribut atau satu set minimal atribut yang tidak hanya mengidentifikasi secara unik suatu kejadian spesifik, tetapi juga dapatmewakili setiap kejadian dari suatu entity.

    Catatan:Setiap kunci kandidat dapat menjadi kunci primer tetapi sebaliknya sebaiknyadipilih satu saja yang dapat mewakili secara menyeluruh terhadap entity yangada.

    NEXTBACK

  • Kunci Primer (Primary Key)Contoh :nik (karena sifatnya yang unik maka tidak mungkin pegawai mempunyai Nomor Induk Karyawan yang sama).no_ktp (bisa dipakai misalnya untuk pegawai yang baru belum mendapatkan nomor pegawai maka bisa digunakan nomor KTP untuk sementara sebagai kunci primer.kode_mtkuliah (bisa dipakai untuk data mata kuliah karena kode mata kuliah bersifat unik untuk tiap mata kuliah)

    NEXTBACK

  • Kunci Primer (Primary Key)Contoh Kasus: Tentukan Kunci Primer dari tabel tersebutTabel mt_kuliah berisi field:id_matkulkode_matkulnama_matkulkurikulumsemestersksnilai_minimum

    NEXTBACK

  • Kunci Alternatif (Alternate Key)Kunci alternatif adalah kunci kandidat yang tidak dipakai sebagai kunci primer.Kunci alternatif ini sering digunakan untuk kunci pengurutan misalnya dalam membuat laporan.

    NEXTBACK

  • Kunci Alternatif (Alternate Key)Contoh Kasus: Tentukan Kunci Alternatif dari tabel tersebutTabel krs berisi field:no_krsid_matkulnimnilai_angkanilai_huruflulusNEXTBACK

  • Kunci Tamu (Foreign Key)Kunci tamu adalah satu atribut atau satu set minimal atribut yangmelengkapi satu hubungan yang menunjukkan ke induknya. kunci tamu ditempatkan pada entity anak dan sama dengan kunci primer induk yang direlasikan. Hubungan antara entity induk dengan anak adalah hubungansatu lawan banyak (one to many relationship)

    NEXTBACK

  • Kunci Tamu (Foreign Key)Contoh Kasus: Tentukan Kunci Tamu dari tabel tersebut

    NEXTBACK

  • Kamus DataContoh Kamus Data :Nama Database : akademikNama Tabel : mahasiswaFungsi : menyimpan data mahasiswa

    NEXTBACK

  • SoalBuatlah contoh kamus data yang lain, yang bertemakan akademik?.....Syarat: minim 3 table & 5 field NEXTBACK

  • Bahasa BasisdataContoh Kamus Data :Nama Database : akademikNama Tabel : dosenFungsi : menyimpan data profil dosen

    NEXTBACK

  • Bahasa BasisdataContoh Kamus Data :Nama Database : akademikNama Tabel : mt_kuliahFungsi : menyimpan data mata kuliah

    NEXTBACK

  • Bahasa BasisdataContoh Kamus Data :Nama Database : akademikNama Tabel : mtk_openFungsi : menyimpan data mata kuliah yang dibuka

    NEXTBACK

  • ERD (Entity Relationship Diagram)ERD merupakan suatu model untuk menjelaskan hubungan antar data dalambasis databerdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. NEXTBACK

  • ERD (Entity Relationship Diagram)SymbolERDuntuk memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan beberapa notasi dan simbol. Pada dasarnya ada tiga simbol yang digunakan, yaitu : a.Entiti merupakan objek yang mewakili sesuatu yang nyata dan dapat dibedakan dari sesuatu yang lain. Simbol dari entitiini biasanya digambarkan dengan persegi panjang.b.Atribut Setiap entitas pasti mempunyai elemen yang disebutatributyang berfungsi untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambaratributdiwakili oleh simbol elips.c.Hubungan/Relasi Hubungan antara sejumlah entitas yang berasal dari himpunan entitas yang berbeda.NEXTBACK

  • ERD (Entity Relationship Diagram)RelasiNEXTBACKSatu ke satu (One to one) Hubungan relasi satu ke satu yaitu setiap entitas padahimpunan entitas A berhubungan paling banyak dengan satu entitas pada himpunan entitas B

  • ERD (Entity Relationship Diagram)RelasiNEXTBACKSatu 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 dapat berhubungan dengan satu entitaspada himpunan entitas A.

  • ERD (Entity Relationship Diagram)RelasiNEXTBACKBanyak ke banyak (Many to many) Setiap entitas pada himpunan entitas A dapat berhubungan dengan banyak entitas pada himpunan entitas B.

  • ERD (Entity Relationship Diagram)SymbolNEXTBACKEaR

  • ERD (Entity Relationship Diagram)NEXTBACKKeterangan :Banyak pegawai bekerja pada satu departemen.

  • ERD (Entity Relationship Diagram)Contoh Kasus :Sebuah perusahaan retail memiliki banyak pelanggan yang telah memesan sejumlah barang produksi.Gambarkan diagram ER dari proses transaksi pembelian tersebut dan buatkan tabel-tabelnya!

  • SOLUSIER Diagram :Keterangan:Satu pelanggan dapat memesan banyak barang. Banyak barang dapat diproses pada satu kali penjualan.

  • SOLUSITabel :

  • Operasi Dasar Basis DataPembuatan basis data baru (create new database), yang identik dengan pembuatan lemari arsip yang baru.Penghapusan basis data (drop database), identik dengan perusakan nilai arsip sekaligus dengan isinya.Pembuatan file/tabel baru ke suatu basis data (create table), identik dengan penambahan map arsip baru ke dalam lemari arsip yang telah ada.Penghapusan file/tabel dari suatu basis data (drop table), yang identik dengan perusakan map arsip lama yang ada di dalam lemari arsip.Penambahan atau pengisian data baru ke dalam field/tabel di sebuah basis data (insert), identik dengan penambahan lembaran arsip ke sebuah map arsip.Pengambilan data dari field/tabel (retrieve/search), yang identik dengan pencarian lembaran arsip dari sebuah map arsip. Pengubahan data dari sebuah field/tabel (update), identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip. Penghapusan data dari sebuah field/tabel (delete), identik dengan penghapusan sebuah lembaran arsip yang ada di sebuah map arsip.NEXTBACK

  • SQLMenggunakan Structures Query Language (SQL)SQL adalah bahasa standar database yang digunakan untuk query, manipulasi dan memperbarui RDBMS. Karena semakin banyak organisasi yang memutuskan untuk mengkonsolidasikan database mereka ke dalam sistem seluas usaha, pengetahuan mengenai SQL akan menjadi kebutuhan untuk para perancang database.NEXTBACK

  • Bahasa BasisdataSebuah bahasa basisdata (database languange) dapat dipilah ke dalam 2 bentuk, yaitu :

    1. Data Definition Language (DDL)Dengan bahasa inilah kita dapat membuat tabel baru,membuatindexs, mengubah tabel, menentukan struktur penyimpanantabel, dll. Hasil kompilasi perintah DDL adalah kumpulan tabel yang disimpan dalam file khusus yang disebut Kamus Data (Data Dictionary). Kamus Data merupakan suatu metadata yaitu data yang mendeskripsikan data sesungguhnya. Kamus Data ini selalu diakses ke suatu operasi basis data sebelum file data yang sesungguhnya diakses.

    NEXTBACK

  • SQLDDL (Data Definition Language):CREATE DATABASE data;CREATE TABLE nama_tabel;SHOW TABLES;ALTER TABLE nama_tabel_lama RENAME nama_tabel_baru;ALTER TABLE nama_tabel CHANGE field_lama field_baru type_data (panjang)

    NEXTBACK

  • Bahasa Basisdata2. Data Manipulation Language (DML)Berguna untuk melakukan manipulasi dan pengambilan data pada suatu basis data. Manipulasi data dapat berupa :>>Penyisipan/penambahan data baru, penghapusan data dan pengubahan data.

    Ada 2 Jenis DML, yaitu : Prosedural, yang mensyaratkan agar pemakai menentukan, data apa yang diinginkan serta bagaimana cara mendapatkannya.Contoh: dBaseIII, FoxBase Non-Prosedural, yang membuat pemakai dapat menentukan data apa yang diinginkan tanpa menyebutkan bagaimana caramendapatkannya.Contoh : SQL

    NEXTBACK

  • SQLDML (Data Manipulation Language):SELECT nama_field FROM nama_tabelINSERT INTO nama_tabel (field1,field2,) VALUES(nilai1,nilai2,)UPDATE nama_tabel SET field1=nilai1,.DELETE FROM nama_tabel WHERE field1=nilai1

    NEXTBACK

  • SQLAturan Penulisan SQL:Semua Keywords dari statement SQL diketik dengan menggunakan huruf besar.Informasi bertipe string yang terletak di antara pernyataan SQL dapat diapit dengan kutip ganda () atau kutip tunggal ().Pada waktu menampilkan data (recordset), SQL mendukung penggunaan wildcards dengan lambang asterisk (*).Jika nama field atau tabel memiliki spasi di tengahnya, maka nama tersebut harus diapit dengan lambang ([]).contoh: [nama pegawai]Untuk menunjuk field khusus pada tabel khusus dalam pernyataan SQL digunakan notasi dot (.)-> namatabel.namafield

    NEXTBACK

  • SQLCommand SQL:

    NEXTBACK

  • SQLKetika menggunakan query, Anda dapat menggunakan klausa berikut untuk diimplementasikan dalam statement SQL.Klausa SQL:

    NEXTBACK

  • LoopEntity = TabelAtribut = FieldRecordset = Record = Data = Baris data

    NEXTBACK

  • Resep SQL di MySQL (DDL)Membuat DatabaseSintaks:CREATE DATABASE nama_database;

    --resep_01CREATE DATABASE db_akademik;

    Catatan:Dalam membuat database usahakan jangan gunakan spasiGunakan huruf kecil semua, untuk memudahkan mengingat string database kita dalam berprogrammingNEXTBACK

  • Resep SQL di MySQL (DDL)Membuat TableSintaks:CREATE TABLE nama_table (nama_kolom1 tipe_data [nilai_default] [constraint kolom].. .. ..);

    --resep_02CREATE TABLE buku (isbn char(10) PRIMARY KEY,judul varchar(50) NOT NULL,penerbit varchar(50) NOT NULL);

    NEXTBACK

  • Resep SQL di MySQL (DDL)Mengetahui Struktur Tabel:

    Untuk menampilkan struktur tabel dalam bentuk tabular, gunakan:DESCRIBE nama_table;Untuk menampilkan perintah struktur tabel dalam bentuk perintah, gunakan:SHOW CREATE TABLE nama_table;

    NEXTBACK

  • Resep SQL di MySQL (DDL)Contoh latihan CREATE TABLE:-- contoh_03-- NOTE: klausa check hny dikenal di MySQL 4.0 ke atasCREATE TABLE siswa (id INT PRIMARY KEY AUTO_INCREMENT,nama VARCHAR(128) NOT NULL,jenis_kel CHAR(1) NOT NULL CHECK (jenis_kel=L OR jenis_kel=P),tmplahir VARCHAR(50) NOT NULL,tgllahir DATE NOT NULL) ENGINE=InnoDB;NEXTBACK

  • Resep SQL di MySQL (DDL)Soal: (Tuliskan dengan SQL)Buatlah database dengan nama -> db_kemahasiswaanBuatlah tabel mahasiswa dengan struktur sebagai berikut:

    NEXTBACK

  • Resep SQL di MySQL (DDL)Manajemen TableMerubah Field Sintaks:ALTER TABLE nama_table CHANGE COLUMN field_lama field_baru tipe_data kriteria;

    NEXTBACK

  • Resep SQL di MySQL (DDL)Manajemen TableNama Tabel: mahasiswaMerubah Field, nim -> id_siswa Sintaks:ALTER TABLE mahasiswa CHANGE COLUMN nim id_siswa VARCHAR(8) NOT NULL;

    NEXTBACK

  • Resep SQL di MySQL (DDL)Soal: (Tuliskan dengan SQL)Nama Tabel: tbl_pegawaiMerubah Field, nip -> id_pegawai NEXTBACK

  • Resep SQL di MySQL (DDL)Menghapus Data dari Tabel

    TRUNCATE nama_tabel;

    Perintah tersebut guna menghapus baris pada tabel, alias mengosongkan tabel.

    NEXTBACK

  • Resep SQL di MySQL (DDL)Menghapus Tabel

    DROP TABLE nama_table;

    NEXTBACK

  • DML (Data Manipulation Language)SELECT nama_field FROM nama_tabelINSERT INTO nama_tabel (field1,field2,) VALUES(nilai1,nilai2,)UPDATE nama_tabel SET field1=nilai1,.DELETE FROM nama_tabel WHERE field1=nilai1

    NEXTBACK

  • SQL SELECT / FROM (DML)State. SELECT / FROM, untuk menampilkan data dari suatu field, dapat digunakan satu atau lebih tabel.

    Sintaks:

    SELECT nama_field FROM nama_tabel

    NEXTBACK

  • SQL SELECT / FROMSELECT nama_field FROM nama_tabelNama Tabel: mhs

    NEXTBACK*) Tampilkan semua data dari tabel mhs?...

  • SQL SELECT / FROMSELECT nama_field FROM nama_tabelNama Tabel: mhs

    NEXTBACK*) Tampilkan semua data dari field nim dan nama dari tabel mhs?...

  • SQL SELECT / FROM / ORDERKlausa ORDER, terdiri dari:ASC -> mengurutkan dari nilai kecil ke besarDESC -> mengurutkan dari nilai besar ke kecil

    Sintaks:SELECT nama_field FROM nama_tabel ORDER BY nama_field ASC / DESC

    NEXTBACK

  • SQL SELECT / FROM / ORDERSELECT nama_field FROM nama_tabel ORDER BY nama_field ASC / DESCNama Tabel: mhs

    *) Tampilkan data dari field nim dan nama dari tabel mhs dari nim terbesar ke terkecil?...NEXTBACK

  • SQL SELECT / FROM / WHEREKlausa WHERE digunakan untuk menampilkan record yang memenuhi kondisi tertentu.

    Sintaks:SELECT nama_field FROM nama_tabel WHERE kondisi

    NEXTBACK

  • SQL SELECT / FROM / WHEREKlausa Where menggunakan operator sbb:

    NEXTBACK

  • SQL SELECT / FROM / WHERESELECT nama_field FROM nama_tabel WHERE kondisiNama Tabel: mhs*) Tampilkan semua data yang mempunyai jenis kelamin =P dari tabel mhs?...NEXTBACK

  • Studi Kasus (SELECT)Tampilan Data yang Mempunyai NIM=04Tampilkan Data Mahasiswa yang Mempunyai nama ARITampilkan Data Mahasiswa yang Mempunyai alamat SURABAYATampilkan Data Mahasiswa yang Mempunyai NIM 02 04Tampilkan Data Mahasiswa yang Selain NIM 01Berapa Jumlah Data Mahasiswa yang prodi: SISTEM INFORMASIBerapa Jumlah Data Mahasiswa yang alamat: SURABAYA

    NEXTBACKNama Tabel: mhs

  • Resep SQL di MySQLMengambil SubstringLEFT(str,jml_str)MID(str,awal_posisi,akhir_posisi)RIGHT(str,jml_str)

    SELECT * FROM nama_tabel WHERE LEFT/RIGHT(nama_field,jml_str)=SELECT MID(nama_field,awal_posisi,akhir_posisi) as variabel FROM nama_tabelNEXTBACK

  • Resep SQL di MySQLMenggabungkan StringUntuk menggabungkan string digunakan operator || atau or. Sebagai gantinya gunakan fungsi CONCAT(str1,str2,)

    mysql> SELECT CONCAT(a,b,c); -> abc NEXTBACK

  • Resep SQL di MySQLSelect (UCase & LCase)UCase -> Mengubah semua teks menjadi huruf besarLCase -> Mengubah semua teks menjadi huruf kecil

    SELECT UCase(nama_field) as alias, LCase(nama_field) as alias from NAMA_TABLE NEXTBACK

  • Resep SQL di MySQLPembulatan:FLOOR(bil) -> pembulatan ke bawahCEIL(bil) -> pembulatan ke atasROUND(bil) -> pembulatan normalNEXTBACK

  • Resep SQL di MySQLNEXTBACKNama Table: angka

  • Resep SQL di MySQLNEXTBACKmysql> SELECT x, FLOOR(x) as f, CELL(x) as c, ROUND(x) as r FROM angka;

  • Resep SQL di MySQLMenggunakan SELECT sebagai CALCULATORmysql> SELECT 1+1;

    mysql> SELECT SIN(RADIANS(30));NEXTBACK

  • Resep SQL di MySQLFungsi Agregat:SUM() -> JumlahAVG() -> Rata - rataMAX() -> Nilai TerbesarMIN() -> Nilai TerkecilNEXTBACK

  • Resep SQL di MySQLMAX(), MIN(), COUNT(), SUM(), AVG()CREATE TABLE angka (i int);INSERT INTO angka VALUES (1);INSERT INTO angka VALUES (2);INSERT INTO angka VALUES (3);INSERT INTO angka VALUES (4);INSERT INTO angka VALUES (5);INSERT INTO angka VALUES (6);INSERT INTO angka VALUES (7);NEXTBACK

  • Resep SQL di MySQLMAX(), MIN(), COUNT(), SUM(), AVG(), SOAL?....menghitung jumlah baris di tabel angkamenghitung jumlah angka yang genapmenghitung total jumlah semua angkamenghitung total jumlah angka yang ganjilangka terkecil dan terbesarrata-rata angkarata-ratakan angka, tetapi jangan masukkan dalam perhitungan jika angka 4

    NEXTBACK

  • Resep SQL di MySQLMAX(), MIN(), COUNT(), SUM(), AVG()--menghitung jumlah baris di tabel angkamysql> SELECT COUNT(i) FROM angka;

    --menghitung jumlah angka yang genapmysql> SELECT COUNT(i) FROM angka WHERE i % 2 = 0;

    --menghitung total jumlah semua angkamysql> SELECT SUM(i) FROM angka;

    --menghitung total jumlah angka yang ganjilmysql> SELECT SUM(i) FROM angka WHERE i % 2 = 1;

    --angka terkecil dan terbesarmysql> SELECT MIN(i), MAX(i) FROM angka;

    --rata-rata angkamysql> SELECT AVG(i) FROM angka;

    --rata-ratakan angka, tetapi jangan masukkan dalam perhitungan jika angka 4mysql> SELECT AVG(i) FROM angka WHERE i 4;

    NEXTBACK

  • Resep SQL di MySQLWITH ROLLUPGROUP By di MySQL dan beberapa database lain memberi opsi WITH ROLLUP. Dengan Opsi ini, database akan menambahkan satu baris berisi total, Contoh:

    mysql> SELECT field1, COUNT(field1) FROM nama_table GROUP BY field1 WITH ROLLUP;NEXTBACK

  • Resep SQL di MySQLSoal:Mencari Nilai Kuadrat dari masing-masing id?...

    NEXTBACK

  • Resep SQL di MySQLSoal:Mencari Nilai Kuadrat dari masing-masing id yang bernilai ganjil?...

    NEXTBACK

  • Resep SQL di MySQLSoal:Mencari Nilai Kuadrat dari masing-masing id yang bernilai genap?...NEXTBACK

  • Resep SQL di MySQLSoal:Kelompokkan Data Karyawan berdasarkan jumlah karyawan yang mendapatkan nilai gaji yang sama.

    NEXTBACK

  • Resep SQL di MySQLMenggabungkan 2 Tabel

    SELECT nama_tabel1.nama_field,nama_tabel2.nama_fieldFROM nama_table WHERE kondisi relasi tabel1 dengan tabel2

    NEXTBACK

  • Resep SQL di MySQLMenggabungkan 2 TabelINNER JOIN: akan memanggil record yang matching/cocok dari kedua sisi JOIN.RIGHT JOIN: jika ingin menampilkan semua record dari field tabel kedua (kanan) meskipun tidak cocok dengan nilai pada field tabel pertama (kiri).LEFT JOIN: kebalikan dari RIGHT JOINNEXTBACK

  • Resep SQL di MySQLMenggabungkan 2 Tabel

    STUDI KASUS SINKRONISAI ACCESS 2 MySQLNEXTBACK

  • Resep SQL di MySQLINSERT INTO Perintah SQL INSERT adalah cara utama diSQL untuk menambahkan baris baru kedalam tabel.perintah:INSERT INTO nama_tabel VALUES (nilai1,nilai2,.)INSERT INTO nama_tabel (field1,field2,) VALUES (nilai1,nilai2,.)

    NEXTBACK

  • Resep SQL di MySQLINSERT IGNORE INTO Opsi IGNORE untuk INSERT diperkenalkan oleh MySQL dan tidak dikenal pada standar SQL. Opsi IGNORE akan membatalkan perintah INSERT yang bersangkutan jika ternyata penambahan baris melanggar unique atau Primary Key.NEXTBACK

  • Resep SQL di MySQLINSERT IGNORE INTO misal:INSERT INTO t1 (1,satu);akan menghasilkan pesan kesalahan karenamelanggar unique, dikarenakan sudah ada baris yg nilainya 1. Maka gunakan:INSERT IGNORE INTO t1 (1,satu);jika sebuah tabel tidak mengandung unique atau PK, maka INSERT IGNORE menjadi ekivalen dengan INSERT biasa.NEXTBACK

  • Resep SQL di MySQLREPLACE INTO REPLACE INTO nama_tabel (field1,field2,.) VALUES(nilai1,nilai2,.)REPLACE INTO pada dasarnya sama dengan INSERT,namun memiliki kelakuan jika penambahan baris barumelanggar unique atau PK, maka baris sebelumnya akan diganti dengan baris baru.NEXTBACK

  • Resep SQL di MySQLKesimpulan: REPLACE INTO sifatnya berlawanan dengan INSERT IGNORE INTO.INSERT IGNORE INTO akan membiarkan baris lamayang sudah ada, REPLACE INTO akan mengganti dengan baris baru.NEXTBACK

  • Resep SQL di MySQLContoh latihan:CREATE TABLE t2 (i INT PRIMARY KEY, s VARCHAR(32) NOT NULL);INSERT INTO t2 VALUES (1,Bandung);

    -- gagal melanggar PKINSERT INTO t2 VALUES (1,Jakarta);

    -- tidak akan melakukan apa-apa,-- tabel tetap terisi (1,Bandung)INSERT IGNORE INTO t2 VALUES (1,Jakarta);

    -- tabel kini akan berisi (1,Jakarta)REPLACE INTO t2 VALUES (1,Jakarta);

    NEXTBACK

  • Resep SQL di MySQLINSERT dengan MULTIPLE RECORD

    INSERT INTO (field1,field2,field3)SELECT field1,field2,field3 from NAMA_TABLE

    Catatan:Jumlah field Table Source dan Destination harus sama

    NEXTBACK

  • Resep SQL di MySQLMenghapus Data dari Tabel

    DELETE FROM nama_table WHERE kondisi;

    NEXTBACK

  • QUIZ IIKerjakan sesuai dengan analisis & kemampuan Anda masing-masing:A.Buatlah Database, dengan perintah SQL (20)B.Buatlah Table (beserta atribut key, minim. 3 tabel) yang berelasi, dengan perintah SQL (20)C.Dari Table tersebut isikan data minim. 10 record / baris data (10)D.Kerjakan dengan perintah SQL dari statement berikut:1. Tampilkan semua data dari tabel master (5)2. Tampilkan data pada tabel master dengan menggunakan klausa WHERE (5) 3. Tampilkan data pada tabel master dengan menggunakan klausa ORDER BY (5)4. Tampilkan data pada tabel transaksi dengan menggunakan klausa GROUP BY (5)5. Tampilkan data pada tabel master dengan menggunakan klausa WHERE & LIKE (5)6. Tampilkan jumlah baris data pada masing masing tabel (5)7. Tampilkan data dari tabel yang berelasi (5)8. Tambahkan satu record / baris data pada tabel master Anda (5)9. Ubah data tersebut (5)10. Hapus data tersebut (5)NEXTBACK

  • DAFTAR PUSTAKA1. Connoly, Thomas; Begg, Carolyn; Strachan, Anne; Database Systems : A Practical Approach to Design, Implementation and Management, Addison Wesley, 1996.2. Date, C.J.; An Introduction to Database System, Addison Wesley Publishing Company, Vol. 1 & Vol. 2, New York, 1990.3. Elmasri, Ramez; Navathe, Shamkant B.; Fundamentals of Database Systems, The Benjamin/Cummings Publishing Company, Inc., California, 1989.4. Mc Fadden, F.; Hoffer, Jeffrey A; Database Management, Benjamin/Publishing Company Inc., Third Edition, California, 1991.5. Martin, James; Principles of Database Management, Prentice Hall of India Private Limited, New Delhi, 1992.6. Fathansyah, Ir., Basis Data, Informatika, Bandung, 1999.7. Steven Hariyanto, Resep Query, Dian Rakyat, Jakarta, 2005. END