Modul Basis Data.pdf

download Modul Basis Data.pdf

of 24

Transcript of Modul Basis Data.pdf

  • 8/20/2019 Modul Basis Data.pdf

    1/74

    1

    MODUL PRAKTIK

    BASIS DATA I 

    PROGRAM D-3 REKAM MEDIS SEKOLAH VOKASIUNIVERSITAS GADJAH MADA

     YOGYAKARTA

  • 8/20/2019 Modul Basis Data.pdf

    2/74

    2

    IDENTITAS MAHASISWA 

    N a m a : .................................................. ................Laki-laki/Perempuan*)

    N I M : .........................................................................

    Tempat/Tgl. Lahir : .........................................................................

     A l a m a t : ........................................................................................................ 

    ...................................... ........................Telpon..............................

    Semester/TA : ......................................................................... 

    Kelas : …………………………………………………. 

    Tanda Tangan 

    ......................................

    *) coret yang tidak perlu

    Pasfoto

  • 8/20/2019 Modul Basis Data.pdf

    3/74

    3

    PRAKATA

    Dengan mengucapkan puji syukur ke hadirat Tuhan Yang Maha Esa, danoleh karena bimbingan dan penyertaan-Nya maka kami dapat menyelesaikanpenyusunan Modul Praktek Basis Data I. Dengan terselesainya penyusunanModul Praktek Basis Data I ini maka kami berharap kegiatan praktek yangmerupakan pelaksanaan dari teori yang sudah di dapat di bangku kuliah dapatmelengkapi ketrampilan mahasiswa dalam pelaksanaan tugas ketika bekerja diunit rekam medis.

    Tidak lupa pada kesempatan ini, kami juga mengucapkan banyak terimakasih kepada semua pihak yang telah mendorong/menyemangati untuk segeraterselesainya modul ini. Tentu kami juga mengucapkan terima kasih KetuaProgram Studi Rekam Medis Sekolah Vokasi UGM yang sudah memberi

    kesempatan kepada kami untuk menyusun Modul Praktek Basis Data I. Akhir kata, tentunya kami menyadari masih ada kekurangan dalam penyusunanModul Praktek Basis Data I ini, untuk itu saran dan masukan yang sifatnyamembangun untuk lebih baiknya Modul ini sangat kami harapkan.

    Yogyakarta, Februari 2016

    Tim penyusun

  • 8/20/2019 Modul Basis Data.pdf

    4/74

    4

    TATA TERTIB PRAKTIK

    Mahasiwa yang sedang melaksanakan praktik harus memnuhi ketentuan sebagaiberikut:1. Mahasiswa masuk sesuai jadwal yang telah ditentukan, sesuai dengan

    pembagian kelas serta mengisi daftar hadir.2. Mahasiswa yang tidak mengikuti praktik lebih dari 25% dari total pertemuan

    tanpa keterangan resmi, tidak berhak mengikuti responsi. 3. Program Studi tidak mengadakan ujian susulan responsi. 4. Mahasiswa tidak diberikan toleransi, jika nilai dari Akademik Diploma

    Rekam Medis UGM tidak keluar dikarenakan kesalahan mahasiswasendiri (tidak mengecek kesesuaian kartu ujian dengan KRS). 

    5. Mahasiswa memakai pakaian rapi dan sopan:Pria :

    -  Kemeja lengan panjang/pendek dan celana panjang rapi,-  Bersepatu,-  Tidak memakai T-shirt tanpa krah atau tanpa lengan.Wanita :-  Kemeja lengan panjang/pendek (tidak ketat atau transparan),-  Rok atau celana panjang (tidak ketat atau transparan),

    -  Bersepatu,-  Tidak memakai T-shirt tanpa krah atau tanpa lengan.

    6. Mahasiswa tidak diperbolehkan merokok, makan dan minum pada saatpraktik berlangsung.

    7. Barang berharga milik peserta praktik menjadi tanggung jawab sendiri. 8. Dering HP harus dimatikan (silent ) pada saat praktik.

    9. Mahasiswa diwajibkan menjaga kebersihan dan ketertiban serta ketenanganbelajar.

    10. Mahasiswa dilarang membuang sampah dalam bentuk apa pun di dalamruang praktik.

    11. Instruktur/pengajar praktik berhak mencatat, memberikan sanksi ataumelakukan tindakan seperlunya terhadap mahasiswa yang melanggar tatatertib.

  • 8/20/2019 Modul Basis Data.pdf

    5/74

    5

    PERENCANAAN PEMBELAJARAN

    1. Nama matakuliah : Praktek Basis Data 12. Kode/SKS : VMU1253/ 1 SKS3. Semester : Genap4. Deskripsi Mata Ajaran :

    Mata kuliah ini untuk memberikan bekal pemahaman ketrampilan dalamkegiatan tentang perancangan Basis Data yang efektif dan efisien sertaimplementasinya dalam Aplikasi Database Manajemen Sistem (DBMS).Perangkat yang dapat digunakan misalnya MySQL, Ms.Access, Dbase, FoxPro, SQL Server, PostgreSQL atau sejenisnya.

    5. Tujuan PengajaranSetelah mengikuti mata ajaran ini, mahasiswa diharapkan dapat:

    a. Menjelaskan model-model basis data

    b. Merancang basis data yang efektif dan efisienc. Implementasi basis data dengan perangkat lunak DBMS

    d.  Memahami perkembangan basis data konvensial ke modern 6. Garis Besar Mata Ajaran

    a. Pengenalan Basis Datab. Perancangan Basis Data Menggunakan Entity Relationship Diagram

    (ERD)c. Pengenalan MySQLd. Data Definition Language (DDL)e. Data Manipulation Language (DML)f. Penggunaan JOIN dalam query databaseg. Penggunaan FUNCTION dalam Dasis Data

    h. Penggunaan Nested Queryi. Pembuatan VIEW dalam basis data

  • 8/20/2019 Modul Basis Data.pdf

    6/74

    6

    MATERI 1

    PENGENALAN BASISDATA

    Kompetensi:Mahasiswa mampu membuat konsep basis data dan kapan memanfaatkanbasisdata serta mampu merancang basis data yang baik.

    Maksud dan tujuan:a. Mahasiswa mengerti dan memahami kapan memanfaatkan basis datab. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang

    baik. 

    Landasan teori:

    Pengertian Basis Data Basis data terdiri dari dua kata, yaitu basis dan data. Basis dapat

    diartikan sebagai markas / gudang, tempat berkumpul. Sedangkan data adalahsekumpulan fakta yang tidak dapat digunakan karena belum diolah yang terdapatpada media penyimpanan dan diproses menjadi informasi yang dapat dimengertioleh manusia.

    secara konsep, database atau basis data adalah kumpulan dari data-datayang membentuk suatu berkas (file) yang saling berhubungan (relation) dengantatacara yang tertentu untuk membentuk data baru atau infromasi. Basis data(database) juga dapat diartikan kumpulandari data yang saling berhubungan(relation) antara satu dengan yang lainnya yang diorganisasikan berdasarkanskema atau struktur tertentu.

    Pada komputer, basis data disimpan dalam perangkat hardware penyimpanan,dan dengan software tertentu dimanipulasi untuk kepentingan atau kegunaantertentu. Hubungan atau relasi data biasanya ditunjukkan dengan kunci (key) daritiap file yang ada.

    Tujuan penggunaan basis data1. Kecepatan dan Kemudahan (Speed )Dengan basis data pengguna dapat menyimpan data, melakukanperubahan/manipulasi terhadap data, menampilkan kembali data denganlebih cepat dan mudah dibandingkan dengan cara biasa (baik manualataupun elektronis).

    2 Efisiensi Ruang Penyimpanan (Space)

    Dengan basis data kita mampu melakukan penekanan jumlah redundansi(pengulangan) data, baik dengan menerapkan sejumlah pengkodean ataudengan membuat relasi-relasi (dalam bentuk file) antara kelompok data yangsaling berhubungan.

    3 Keakuratan ( Accuracy ) Agar data sesuai dengan aturan dan batasan tertentu dengan caramemanfaatkan pengkodean atau pembentukan relasi antar data bersamadengan penerapan aturan/batasan (constraint ) tipe data, domain data,keunikan data dsb.

  • 8/20/2019 Modul Basis Data.pdf

    7/74

    7

    4 Ketersediaan ( Availability )

    Data yang sudah tidak dipakai/kadaluwarsa dipisahkan dari sistem database

    yang sedang aktif baik dengan cara penghapusan atau memindahkannya kemedia backup untuk menghemat ruang penyimpanan. Di sisi lain, jugadilakukan pemanfaatan teknologi jaringan komputer agar data yang beradadi suatu lokasi/cabang daat juga diakses oleh lokasi/cabang lainnya.

    5 Kelengkapan (Completeness)

     Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhanpemakai maupun terhadap waktu. Untuk itu tidak hanya dengan melakukanpenambahan record-record data, tapi juga melakukan perubahan strukturpada basis data (jika perlu) baik menambah field pada tabel ataupun bahkanmenambah tabel baru.

    6 Keamanan (Security )Walaupun tidak semua sistem basis data menerapkannya, keamanan dalampenggunaan basis data diperlakukan pada sistem yang besar dan serius.Dengan penerapan ini, setiap pengguna dibedakan hak aksesnya; yakniditentukan obyek-obyek mana saja yang bisa diakses dan proses apa sajayang bisa dia dilakukan.

    7 Kebersamaan (Sharability )

     Agar data yang dikelola oleh sistem mendukung lingkungan multiuser(banyak pemakai) dengan menjaga / menghindari munculnya problem baruseperti inkonsistensi data(karena terjadi perubahan data yang dilakukan olehbeberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena

    ada banyak pemakai yang saling menunggu untuk menggunakan data).

    Operasi dasar pembuatan Basis data :1) Pembuatan Basis Data (Create Database)Identik dengan pembuatan lemari arsip yang baru.2) Penghapusan Basis Data (Drop Database)

    Identik dengan perusakan lemari arsip (sekaligus beserta isinya, jika ada)3) Pembuatan File/Table baru ke suatu basis data (Create Table)Identik dengan penambahan map arsip baru ke sebuah lemari arsip yangtelah ada.4) Penghapusan File/Table dari suatu basis data (Drop Table)

    Identik dengan perusakan map arsip lama yang ada di sebuah lemari arsip.5) Penambahan data baru ke suatu file/table di sebuah basis data ( insert )

    Identik dengan penambahan lembaran arsip baru kesebuah map arsip.6) Pengambilan data dari sebuah file/table (Retrieve/Search)Identik dengan pencarian lembaran arsip dari sebuah map arsip.7) Pengubahan data dari sebuah file/table (Update)Identik dengan perbaikan isi lembaran arsip yang ada di sebuah map arsip.8) Penghapusan data dari sebuah file/table (Delete)Identik dengan penghapusan sebuah lembaran arsip yang ada di sebuahmap arsip.

  • 8/20/2019 Modul Basis Data.pdf

    8/74

    8

    Hirarki Data

    Berdasarkan tingkat kompleksitas nilai data, tingkatan data dapat disusun

    kedalam sebuah hirarki, mulai dari yang paling sederhana hingga yang palingkomplek.a) basis data, merupakan sekumpulan dari bermacam-macam tipe recordyang memiliki hubungan antar record.b) berkas/file, merupakan sekumpulan rekaman data yang berkaitandenngan suatu objek.c) record , merupakan sekumpulan field/atribut/data item yang salingberhubungan terhadap obyek tertentu

      fixed length record , semua field dalam record memiliki ukuran yangtetap.

      Variabel length record , field-field dalam record dapat memiliki ukuranberbeda (metode penandaan yang digunakan adalah : end of record

    marker , indikator panjang, dan tabel posisi record)d) field/atribut/data item, merupakan unit terkecil yang disebut data yangtidak dapat dipecah lagi menjadi unit lain yang bermakna.

      fixed length field, memiliki ukuran yang tetap.

      variabel length field, field-field dalam record dapat memiliki ukuranberbeda.

    e) byte, adalah bagian terkecil yang dialamatkan dalam memori. bytemrupakan sekumpulan bit yang secara konvensional terdiri atas kombinasidelapan bit yang menyatakan sebuah karakter dalam memori (I byte= Ikarakter)f) bit, adalah sistem binner yang terdiri atas dua macam nilai, yaitu 0 dan 1.sistem binner merupakan dasar yang dapat digunakan untuk komunikasiantara manusia dan mesin, yang merupakan serangkaian komponenelektronik dan hanya dapat membedakan 2 macam keadaan, yaitu adategangan dan tidak ada tegangan yang masuk ke rangkaian tersebut.

    Pemanfaaatan Ilmu Basis DataBidang Fungsional :

      Kepegawaian

      Pergudangan

      Akuntansi

      Reservasi

      Layanan pelanggan

    Bentuk Perusahan :

      Perbankan

      Rumah sakit

      Produsen barang

      Sekolah

      Telekomunikasi

    Perancangan Basis DataUntuk merancang basis data kita perlu mengetahui terlebih dahulu komponen-komponen basis data tersebut. Komponen yang paling penting adalah entitas

    dan atribut.

  • 8/20/2019 Modul Basis Data.pdf

    9/74

    9

    1. EntitasEntitas digunakan untuk menerapkan integritas pada tingakt entity (tabel),

    agar setiap instance (record/baris) pada sustu entity bersifat unique yangdisebut sebagai primary key sehingga dapat dibedakan antara yang satudengan yang lainnya.Contohnya :

    a. Semua pelanggan atau pelanggan saja dengan entitas Ani, Budi, Amin dan seterusnya

    b. Semua mobil atau mobil apa saja dengan entitas mobil kijang, starlet danlain-lain

    c. Semua mahasiswa atau mahasiswa saja dengan entitas Eti, Ahmad dll

    2. AtributSetiap entitas pasti memiliki atribut yang mendeskripsikan karakteristik

    dari entitas tersebut. Penentuan/pemilihan atribut-atribut yang relevanbagi sebuah entitas merupakan hal penting lainnya dalampembentukan model data. Penetapan atribut bagi sebuah entitasumumnya memang didasarkan pada fakta yang ada. Tetapi tidak selalusepeti itu. Istilah atribut sebenarnya identik dengan pemakaian kolom data.Macam-macam atribut :a. Atribut deskriptif

     Adalah atribut-atribut yang tidak menjadi atau merupakan anggotadari primary key. Contoh : atribut-atribut nama_mhs, alamat_mhs dantanggal_lahir

    b. Atribut sederhana dan atribut komposit Atribut sederhana adalah atribut atomic yang tidak dapat diuraikanlagi. Sedangkan atribut komposit adalah atribut yang masih dapatdiuraikan lagi menjadi sub-sub atribut yang masing-masing memilikimakna.Contoh atribut sederhana: atribut nama_mhs

    Contoh atribut komposit: atribut alamat_mhs dimana alamat masihdapat diuraikan lagi menjadi alamat, nama kota, kode pos yangmasing-masing memiliki makna

    c. Atribut bernilai tunggal dan atribut bernilai banyak Atribut yang bernilai tunggal ditujukan pada atribut-atribut yangmemiliki paling banyak satu nilai untuk setiap basis data.Contoh atribut bernilai tunggal : nim, nama_mhs, alamat_mhs dan

    tgl_lahir karena atribut-atribut tersebut hanya dapat bernilai satu nilai.Contoh atribut bernilai banyak : atribut hobi karena bisa diisi denganbanyak nilai. Seseorang bisa memiliki hobi lebih dari satu.

    d. Atribut harus bernilai Ada sejumlah atribut pada sebuah tabel yang kita tetapkan harusberisi data. Jadi nilainya tidak boleh kosong (mandatory atribut).Contoh : nim, nama_mhs karena setiap mahasiswa yang ingindatanya disimpan di tabel tersebut paling tidak harus diketahui namadan nimnya.

    e. Atribut turunan Atribut turunan adalah atribut yang nilai-nilainya diperoleh daripengolahan atau dapat diturunkan dari atribut atau tabel lain yang

    berhubungan. Contoh penambahan atribut angkatan dan ip.

  • 8/20/2019 Modul Basis Data.pdf

    10/74

    10

    f. NormalisasiDalam perancangan basis data perlu dilakukan secara cermat agar

    dihasilkan basis data yang kompak dan efisien dalam penggunaanruang penyimpanan, cepat dalam pengaksesan dan mudah dalammanipulasi data. Salah satu cara yang dapat dilakukan dalammerancang basis data adalah dengan melakukan normalisasi.

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi SekolahVokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi

  • 8/20/2019 Modul Basis Data.pdf

    11/74

    11

    LATIHAN/KASUSMEMAHAMI BASIS DATA

    Alat dan bahan praktikum:a. Modul praktikumb. Kertas HVSc. ATKd. Internet

    Kegiatan praktikum:a. Masing-masing mahasiwa membentuk kelompok paling banyak 4 orang per

    kelompok dan menunjuk salah satunya sebagai ketua kelompok.b. Setiap kelompok membuat pembahasan dan mencari contoh-contoh

    penggunaan database di lingkungan rekam medis.

    c. Setiap kelompok membuat pembahasan tentang pentingnya database dalampengelolaan berkas.

    d. Masing-masing kelompok memaparkan hasil diskusi yang telah dilakukankepada kelompok lain dan saling memberikan penjelasan, argumentasi, kritik,dan saran.

    Penilaian:a. Penilaian didasarkan pada proses diskusi, cara pengambilan keputusan, dan

    detail sebuah perencanaan.b. Nilai kelompok menjadi nilai individu.

    Kasus:Jelaskan pengertian, tujuan penggunaan, serta operasi dasar pembuatan basisdata!

  • 8/20/2019 Modul Basis Data.pdf

    12/74

    12

    MATERI 2 ERD

    Kompetensi:Mahasiswa mampu merancang suatu basis data yang baik.

    Maksud dan tujuan:a. Mahasiswa mengerti dan memahami simbol-simbol dalam perancangan

    basis datab. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang

    baik. 

    Landasan teori:Entity Relationship Diagram (ERD) merupakan salah satu bentuk pemodelan

    basis data yang sering digunakan dalam pengembangan sistem informasi. Dalamrekayasa perangkat lunak, sebuah Entity Relationsip Model (ERM) merupakanabstrak dan konseptual representasi data. Entity Relationship adalah salah satumetode pemodelan basis data yang digunakan untuk menghasilkan skemakonseptual untuk jenis/model data semantic system. Dimana system seringkalimemiliki basis data relasional, dan ketentuannya bersifat top-down. Diagramuntuk menggambarkan model Entity Relationship ini disebut Entity RelationshipDiagram , ER diagram, atau ERD.

    ERD menyediakan notasi-notasi grafis untuk merepresentasikan model-modeldata dalam bentuk Entity Relationship Diagram. Model-model data tersebut biasadigunakan pada desain sistem informasi tingkat pertama, contohnya untukmendeskripsikan kebutuhan informasi dan tipe informasi yang ingin disimpan

    pada basis data selama analisa.Dalam pembentukan ERD terdapat 3 komponen yang akan dibentuk yaitu :

    a. EntitasPengertian entity (entitas) yaitu suatu obyek yang dapat dibedakan darilainnya yang dapat diwujudkan dalam basis data. Pengertian lainnyamenurut Brady dan Loonam (2010), entitas adalah objek yang menarik dibidang organisasi yang dimodelkan. Sekelompok entitas yang sejenis danberada dalam lingkup yang sama akan membetuk sebuah HimpunanEntitas. Tetapi dalam penyebutannya, himpunan entitas ini tidak praktissehingga sering disebut entitas saja. Contoh : Mahasiswa, Kartu AnggotaPerpustakaan (KAP), dan Buku.Varian Entitas:1. Himpunan Entits Kuat (Strong Entity Sets)

    Himpunan entitas ini tidak memiliki ketergantungan dengan enntitaslainnya. Himpunan entitas inilah yang biasanya dipakai dalam ERD.

    2. Himpunan Entitas Lemah (Weak Entity Sets)Himpunan entitas ini berisi entitas-entitas yang kemunculannyatergantung pada eksistensinya dalam sebuah relasi terhadap entitaslain. Biasanya entitas ini tidak memiliki atribut key.

    3. Sub-Entitas (Subtype Entity)Himpunan entitas ini beranggotakan entitas-enttas yang merupakanbagian dari himpunan entitas yang lebih superior/utama. Entitas inimerupakan hasil dekomposisi (spesialisasi) himpunan entitas

    berdasarkan pengelompokkan tertentu.

  • 8/20/2019 Modul Basis Data.pdf

    13/74

    13

    b. Hubungan (relasi/relationship)Suatu hubungan (relasi) adalah hubungan antara dua jenis entitas dan

    direpresentasikan sebagai garis lurus yang menghubungkan dua entitas.Sekelompok relasi yang sejenis dan berada dalam lingkup yang samaakan membetuk sebuah Himpunan Relasi. Tetapi dalam penyebutannya,himpunan entitas ini tidak praktis sehingga sering disebut relasi saja.Contoh : Mahasiswa mendaftar sebagai anggota perpustakaan (KAP),relasinya adalah mendaftar.

    c. Atribut Atribut memberikan informasi lebih rinci (karakteristik) tentang jenisentitas. Penentuan atribut-atribut yang relevan bagi sebuah entitasmerupakan hal yang penting dalam pembentukan model data. Penetapanini biasanya memang didasarkan pada fakta yang ada. Tetapi karenaproses normalisasi atau pertimbangan-pertimbangan tertentu, ada

    sejumlah atribut yang tidak berdasar fakta tetapi perlu ditambahkan. Atribut memiliki struktur internal berupa tipe data. Jenis-jenis atribut :

    a. Atribut Key Atribut Key adalah satu atau gabungan dari beberapa atribut yangdapat membedakan semua baris data ( Row/Record ) dalam tabelsecara unik. Dikatakan unik jika pada atribut yang dijadikan keytidak boleh ada baris data dengan nilai yang sama Contoh : Nomorpokok mahasiswa (NPM), NIM dan nomor pokok lainnya

    b. Atribut simple Atribut yang bernilai atomic, tidak dapat dipecah/ dipilah lagi.Contoh : Alamat, penerbit, tahun terbit, judul buku.

    c. Atribut Multivalue

    Nilai dari suatu atribut yang mempunyai lebih dari satu (multivalue)nilai dari atribut yang bersangkutan Contoh : dari sebuah buku,yaitu terdapat beberapa pengarang.

    d. Atribut Composite Atribut composite adalah suatu atribut yang terdiri dari beberapaatribut yang lebih kecil yang mempunyai arti tertentu yang masihbisah dipecah lagi atau mempunyai sub attribute. Contoh : darientitas nama yaitu nama depan, nama tengah, dan nama belakang

    e. Atribut Derivatif Atribut yang tidak harus disimpan dalam database Ex. Total. atauatribut yang dihasilkan dari atribut lain atau dari suatu relationship. Atribut ini dilambangkan dengan bentuk oval yang bergaris putus-putusNotasi-notasi dasar pada Entity Relationship Diagram (ERD) :

  • 8/20/2019 Modul Basis Data.pdf

    14/74

    14

    RelationalRelational adalah hubungan antara entity. Semisal pada contoh di atas entity

    manusia mempunyai hubungan dengan entity alamat yaitu ”tinggal di”. Di dalammerancang database hendaknya seluruh entity yang ada mempunyai hubungandengan entity yang lain, minimal satu. Jika ada entity dalam database yangtidak mempunyai hubungan dengan satupun entity yang lain, maka akan timbulkesalahan dalam desain. Biasanya entity yang tidak berhubungan akandihilangkan.

    Macam relasi ada 4, antara lain :1. One to one : Sebuah entitas A yang berpasangan dengan tepat satu

    entitas B. Demikian pula entitas B juga berpasangan tepat satu denganentitas A. Contoh entitas mahasiswa yang berelasi dengan entitas skripsi

    secara one to one.2. One to many : Sebuah entitas A yang berpasangan secara banyak (nol

    atau lebih) dengan entitas di dalam B. Sedangkan entitas B hanyaberpasangan dengan tepat satu entitas di dalam A. Contoh : entitasmahasiswa yang berelasi dengan entitas dosen dalam hubungan dosenpembimbing. Relasi yang terjadi secara one to many. Karena seorangmahasiswa hanya memiliki 1 dosen pembimbing. Sedangkan seorangdosen bisa jadi memiliki mahasiswa bimbingan lebih dari satu.

    3. Many to one : Sebuah entitas A yang berpasangan dengan tepat satuentitas di dalam B. Sedangkan entitas B dapat berpasangan secarabanyak (nol atau lebih) dengan entitas di dalam A. (sama seperti one tomany hanya dibalik pengertiannya)

  • 8/20/2019 Modul Basis Data.pdf

    15/74

    15

    4. Many to many : Sebuah entitas A yang berpasangan secara banyak (nolatau lebih) dengan entitas di dalam B. Dan entitas B juga dapat

    berpasangan secara banyak (nol atau lebih) dengan entitas di dalam A.Contoh : entitas mahasiswa yang berelasi dengan entitas matakuliahdalam hubungan KRS. Relasi tersebut adalah many to many. Karenaseorang mahasiswa dapat mengambil banyak matakuliah. Sedangkansatu mata kuliah bisa jadi diambil oleh beberapa mahasiswa.

    Primary KeyEntity adalah suatu objek yang berbeda dengan objek yang lainnya.

    Maka tiap entity harus mempunyai atribut yang dapat membedakan antaraobjek satu dengan yang lainnya.  Misalnya entitas manusia, entitas ini tidakmempunyai atribut yang dapat membedakan antara objek manusia1 denganobjek manusia2. Namun apabila manusia tersebut menjadi pegawai (muncul

    entitas pegawai) maka objek manusia1 dan manusia2 sebagai anggota darientitas pegawai akan mempunyai atribut yang membedakan, yaitu NIP. Atributinilah yang disebut dengan key. Manusia1 dan manusia2 tidak mungkin memilikiNIP yang sama.

    Key dapat terdiri dari beberapa atribut, yang biasa disebut dengancandidate key. Namun dalam prakteknya key sebisa mungkin hanya terdiri darisatu atribut. Hal ini untuk memudahkan dalam pengolahan data. Nah, untukmendapatkan key dari candidate key (gabungan beberapa atribut), pilih atributentitas yang paling unik (value dalam atribut tidak ada yang sama) dan bisamembedakan entitas tersebut dengan entitas yang lain. Jika sudahmendapatkannya, key itulah yang disebut sebagai primary key. Semisal ada candidate key berupa nama, NIP, dan tanggal lahir. Maka perlu

    disortir, atribut mana yang paling unik dari ketiga atribut tersebut. Atribut namatidak unik, karena ada kemungkinan dua entitas pekerja mempunyai nama yangidentik. Demikian pula dengan atribut tanggal lahir, sangat bisa jadi dua entitaspekerja mempunyai tanggal lahir yang sama. Hanya atribut NIP saja yang pastiberbeda dari tiap-tiap entitas pekerja.

  • 8/20/2019 Modul Basis Data.pdf

    16/74

    16

    LATIHAN/KASUSERD

    Alat dan bahan praktikum:a. Modul praktikumb. Kertas HVSc. ATKd. Komputer yang sudah terinstal software visio

    Kegiatan praktikum:Kegiatan 1: Membuat ERD Pada kegiatan ini, digunakan contoh kasus sebagai berikut:Sebuah perusahaan mempunyai beberapa bagian. Masing-masing bagianmempunyai pengawas dan setidaknya satu pegawai. Pegawai ditugaskan

    disatu bagian (dapat pula dibeberapa bagian). Satu pegawai mendapattugas disuatu proyek. Tetapi seorang pegawai dapat libur dan tidak dapattugas diproyek.

    Step 1 : Menentukan entitas.Menentukan peran, kejadan lokasi, hal nyata dan konsep dimanapenggunaan untuk menyimpan data. Dalam kasus ini maka entitasnya:pengawas, bagian, pegawai, proyek.

    Step 2 : Menentukan relasi.Menentukan hubungan antar pasangan entitas menggunakan matriksrelasi.

    Bagian Pegawai Pengawas ProyekBagian Ditugaskan

    keDijalankanoleh

    Pegawai milik Bekerjapada

    Pengawas menjalankanProyek Melibatkan

    Step 3 : Gambar ERD sementara.

    Entitas digambarkan dengan kotak dan relasi digambarkan dengan garis.

    Step 4 : Mengisi KardinalitasDari gambaran permasalahan dapat diketahui bahwa:  Masing-masing bagian hanya punya satu pengawas  Seorang pengawas bertugas disatu bagian  Masing-masing bagian ada minimal satu pegawai  Masing-masing pegawai bekerja paling tidak disatu bagian  Masing-masing proyek dikerjakan paling tidak oleh satu

    pegawai

    Step 5 : Menentukan Primary KeyKarena tidak disebutkan dalam contoh kasus, maka kita anggap sebagaiberikut:

  • 8/20/2019 Modul Basis Data.pdf

    17/74

    17

      Entitas Pengawas mempunyai attribut IDPengawas, nama, alamat.Maka primary key-nya IDPengawas.

      Entitas bagian mempunyai attribut namaBagian. Maka primary key-nya namaBagian.

      Entitas Pegawai mempunyai attribut IDPegawai, nama, alamat.Maka primary key-nya IDPegawai.

      Entitas Proyek mempunyai attribut NoProyek, Nama, waktu. Makaprimary key-nya NoProyek. 

    Step 6 : Menggambar ERD Berdasarkan Kunci dan KardinalitasStep 7 : Menggambar ERD Berdasarkan Relasi, Kunci dan kardinalitas.. Ada dua relasi many to many pada ERD sementara, yaitu antara bagiandengan pegawai, pegawai dengan proyek, oleh sebab itu kita perlumemperhatikan kemungkinan attribute yang muncul dari relasi ini. Misal

    dari relasi antara pegawai dan proyek, mungkin saja terdapat relasi jabatan (Dalam suatu proyek, seorang pegawai akan memiliki jabatantertentu, seperti coordinator, anggota ataupun yang lain).

    Penilaian:Penilaian didasarkan hasil analisis dan ERD yang dibuat.

    Kasus:Buatlah sebuah model database untuk sistem informasi puskesmas atau klinik.Tentukan entitas-entitas apa saja yang ada di dalamnya. Atribut-atribut penyusunentitas juga dideskripsikan. Tentukan primary key entitas yang kuat. Serta relasiantar entitas. Setelah itu coba gambarkan model tersebut dengan ERD!

  • 8/20/2019 Modul Basis Data.pdf

    18/74

    18

  • 8/20/2019 Modul Basis Data.pdf

    19/74

    19

    MATERI 3MySQL

    Kompetensi:Mahasiswa mampu merancang suatu basis data yang baik.

    Maksud dan tujuan:a. Mahasiswa mengerti dan memahami simbol-simbol dalam perancangan basis

    datab. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang

    baik. 

    Landasan teori:MySQL merupakan software sistem manajemen database (Database

    Management System, DBMS) yang sangat popular. MySQL bersifat opensource. Website MySQL www.mysql.com menyediakan informasi terkinitentang MySQL.

    Pengelolaan database dapat dilakukan dengan menggunakan perintah-perintah SQL (Structure Query Language), bahasa yang khusus digunakanuntuk melakukan akses database relasional.Perintah SQL dikelompokkan menjadi :

    1. DDL (Data Definition Language)DDL merupakan perintah yang digunakan untuk membuat danmendefinisikan database dan struktur datanya.

    2. DML (Data Manipulation Language)DML adalah perintah yang digunakan untuk melakukan manipulasi ataupengelolaan data yang ada dalam database.

    3. DCL (Data Control Language)

    Membuat DatabaseDalam membuat database, yang sangat penting untuk diperhatikan adalahpenulisan nama database tidak boleh menggunakan spasi dan karakternon standar. Bentuk penulisan untuk membuat database adalah :

    Catatan :  Dalam penulisan nama database tidak diperbolehkan

    menggunakan spasi atau karakter khusus lainnya.  Nama sebuah database tidak boleh diawali dengan angka

    1. Melihat databaseUntuk melihat database yang baru saja dibuat atau database lain yangada dalam server, dapat menggunakan perintah SHOW. Bentukpenulisan untuk melihat database yang ada di server adalah sebagaiberikut :

    SHOW DATABASES;

    CREATE DATABASE nama_database;

    http://www.mysql.com/http://www.mysql.com/

  • 8/20/2019 Modul Basis Data.pdf

    20/74

    20

    2. Mengaktifkan database

    Setelah database dibuat, untuk dapat menggunakannya diperlukan

    perintah USE. Perintah ini selalu digunakan setiap user/pengguna akanmengakses table-table yang ada di dalamnya. Struktur penulisannyaadalah sebagai berikut:

    3. Menghapus databaseUntuk menghapus database yang tidak dipakai atau database yangrusak, pengguna dapat mengunakan perintah DROP. Struktur penulisanuntuk menghapus database adalah sebagai berikut :

    Tabel

    Membuat tabel

    Struktur penulisan untuk menghapus database adalah sebagai berikut :

    Perlu diperhatikan dalam pembuatan tabel, apakah database sudahdiaktifkan sebelumnya. Jika belum, aktifkan database tersebut atau buatdatabase baru jika belum tersedia. Hal ini dilakukan agar tabel yangakan dibuat mempunyai tempat dalam database. Tabel sebagaitempat penampungan data mempunyai dua bagian utama yaitu namadan tipe data. Tipe data yang bisa digunakan dalam MySQL dapatdilihat dibawah ini. 

    Tipe data untuk bilangan

    Tipe Data  Keterangan 

    TINYINT

    Ukuran 1 byte. Bilangan bulat terkecil, dengan jangkauanuntuk bilangan bertanda: -128 sampai dengan 127 danuntuk yang tidak bertanda : 0 sampai dengan 255. Bilangantak bertanda ditandai dengan tanda UNSIGNED

    SMALLINTUkuran 2 byte. Bilangan bulat dengan jangkauanuntuk bilangan bertanda : -32768 sampai dengan 32767dan yang tidak bertanda : 0 sampai dengan 65535.

    MEDIUMINTUkuran 3 byte. Bilangan bulat dengan jangkauan untukbilangan bertanda : -8388608 sampai dengan 8388607dan untuk bertanda : 0 sampai dengan 16777215

    INT

    Ukuran 4 byte. Bilangan bulat dengan jangkauan untukbilangan bertanda : -2147483648 sampai dengan2147483647 dan untuk yang tidak bertanda : 0 sampaidengan 4294967295

    INTEGER Ukuran 4 byte. Sinonim dari INT

    CREATE TABLE

    DROP DATABASE nama_database;

    USE nama_database;

  • 8/20/2019 Modul Basis Data.pdf

    21/74

    21

    BIGINT

    Ukuran 8 byte. Bilangan bulat terbsar dengan jangkauanuntuk bilangan bertanda : -9223372036854775808 sampai

    dengan 9223372036854775807 dan untuk yang tidakbertanda: 0 sampai dengan 18446744073709551615

    FLOAT Ukuran 4 byte. Bilangan pecahan

    DOUBLE Ukuran 8 byte. Bilangan pecahan

    DOUBLEPRECISION

    Ukuran 8 byte. Bilangan pecahan berpresisi ganda

    REAL Ukuran 8 byte. Sinonim dari DOUBLE

    DECIMAL(M,D)Ukuran M byte. Bilangan pecahan. Misalnya DECIMAL(5,2)dapat digunakan untuk menyimpan bilangan -99,99sampai dengan 99,99

    NUMERICAL(M,D)Ukuran M byte. Sinonim dari DECIMAL. MisalnyaNUMERICAL(5,2) dapat digunakan untuk menyimpanbilangan -99,99 sampai dengan 99,99

    Tipe data untuk tanggal dan jam

    Tipe Data  Keterangan 

    DATETIMEUkuran 8 byte. Kombinasi tanggal dan jam, dengan jangkauan dari „100-01-01 00:00:00‟ sampai dengan„9999-12-31 23:59:59‟ 

    DATEUkuran 3 byte. Tanggal dengan jangkauan dari „100-01-01‟ sampai dengan „9999-12-31‟ 

    TIMESTAMPUkuran 4 byte. Kombinasi tanggal dan jam dengan jangkauan „1970-01-01 00:00:00‟ sampai dengan tahun 2037

    TIMEUkuran 3 byte. Waktu dengan jangkauan dari „-838:59:59‟ sampai dengan „838:59:59‟ 

    YEAR Ukuran 1 byte. Data tahun antara 1901 sampai dengan 2155

  • 8/20/2019 Modul Basis Data.pdf

    22/74

    22

    Tipe data untuk karakter dan lain-lain

    Tipe Data  Keterangan 

    CHAR(M)Ukuran M byte,1 M 255 . Data string denganpanjang yang tetap. CHAR(1) cukup ditulis dengan CHAR.

    VARCHAR(M)Ukuran L=1 byte dengan L M dan 1 M 255 .Data string dengan panjang bervariasi, tergantung datanya

    TINYBLOB,TINYTEXT

    L+1 byte, dengan L 28

    . Tipe TEXT atau BLOBdengan panjang maksimum 255 karakter

    BLOB,TEXT L+2 byte, dengan L 216

    . Tipe TEXT atau BLOBdengan panjang maksimum 65535 karakter

    MEDIUMBLOB,MEDIUMTEXT

    L+3 byte, dengan L 224

    . Tipe TEXT atau BLOBdengan panjang maksimum 16777215 karakter

    LONGBLOB,LONGTEXT

    L+4 byte, dengan L 232

    . Tipe TEXT atau BLOBdengan panjang maksimum 4294967295 karakter

    ENUM(„nilai1‟, ‟nilai2‟,…) 

    Ukuran 1 atau 2 byte tergantung jumlahenumerasinya (maksimum 65535 nilai)

    SET(„nilai1‟, „nilai2‟, …) 

    1, 2, 3, 4 atau 8 byte, tergantung jumlah anggota himpunan(maksimum 64 anggota)

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi SekolahVokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi

  • 8/20/2019 Modul Basis Data.pdf

    23/74

    23

    LATIHAN/KASUSMySQL

    Alat dan bahan praktikum:a. Modul praktikumb. Alat Tulisc. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:

    1. mengarahkan alamat directory Windows Command Processor pada folder binyang ada di dalam folder utama MySQL Server. Apabila instalasi dilakukandengan benar, perintah untuk server MySQL seperti mysql, mysqld,mysqladmin, dan sejenisnya dapat dijalankan ketika alamat Command

    Processor berada pada directory bin tersebut. Contoh alamat bin padaMySQL:

    C:\Program Files\MySQL\MySQL Server 5.6\bin>2. masuk sebagai sebagai user MySQL

    mysql –u root3. Buat Database Puskesmas4. Buat Tabel Pasien (noRM, nama, alamat, tanggalLahir), Dokter(noDokter,

    nama, spesialisasi)

    Penilaian:a. Keaktifan mahasiswa dalam praktikumb. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

    Kasus:Buatlah tabel salary dengan deskripsi tabel sebagai berikut: Atribut Tipe NULLemp_nosalaryfrom_dateto_date

    int(11)int(11)datedate

    NoNoNoNo

  • 8/20/2019 Modul Basis Data.pdf

    24/74

    24

    LEMBAR KERJA

  • 8/20/2019 Modul Basis Data.pdf

    25/74

    25

    MATERI 4

    DDL

    Kompetensi:Mahasiswa mampu merancang suatu basis data yang baik.

    Maksud dan tujuan:a. Mahasiswa mengerti dan memahami simbol-simbol dalam perancangan

    basis datab. Mahasiswa mengerti dan memahami bagaimana merancang basisdata yang

    baik. 

    Landasan teori:

    1. Memb uat tabelStruktur penulisan untuk menghapus database adalah sebagai berikut :

    2. Melihat struk tur tabel  Perintah

    digunakan untuk melihat struktur tabel yang telah dibuat. Namunsebelumnya pastikan sudah berada pada database yang mempunyai tabeltersebut.

    3. Mengubah struktu r tabel  Jika struktur tabel yang telah dibuat terdapat kesalahan ataumenginginkan penggantian, dapat menggunakan perintah alter untukmengubahnya. Ada empat macam perubahan dalam struktur tabel, yaitu :D perubahan nama field/kolom perubahan yang terjadi hanya sebataspada nama field/kolom saja. Nama field/kolom yang lama diganti dengannama filed/kolom yang baruStruktur penulisan:

    4. Perubahan tipe data Perubahan yang terjadi hanya terbatas pada tipe data yang digunakan olehfield/kolom tertentu. Tipe data yang baru langsung disebutkan dibelakangnama field/kolom, tanpa harus menyebutkan tipe data yang lama.

    Struktur penulisan:ALTER TABLE namatabel MODIFY nama_field tipe_data_baru;

    ALTER TABLE nama_tabel CHANGE nama_field_lama

      nama_filed_baru tipe_data;

    DESCRIBE nama_tabel;

    CREATE [TEMPORARY] TABLE [IF NOT EXISTS] tbl_name

    (create_definition,...)

    [table_option ...]

    [partition options] 

  • 8/20/2019 Modul Basis Data.pdf

    26/74

    26

    5. Penambahan fieldStruktur tabel akan tambah dengan bertambahnya field/kolom baru

    didalamnya. Struktur penulisan :

    6. Penghapusan field

    Struktur tabel mengalamai perubahan akibat berkurangnya field/kolomtertentu. Struktur penulisan :

    7. Mengganti nama tabel  Seringkali, penggantian tabel juga meliputi nama tabel itu sendiri. Strukturpenulisan:

    8. Menghapus tabel  Tabel dapat saja dihapus karena sudah tidak dibutuhkan lagi atau terjadikesalahan. Perintah untuk menghapus tabel adalah drop table. Strukturpenulisan :

    PRIMARY KEY Dari contoh pembuatan tabel dept_emp terdapat pendefinisian key berupaPRIMARY KEY, KEY, dan FOREIGN KEY. Untuk mendefinisikan PRIMARY KEYpada CREATE TABLE perintah umumnya adalah sebagai berikut:

    PRIMARY KEY (nama_kolom);

     Apabila yang akan menjadi PRIMARY KEY lebih dari satu kolom maka kolom-kolom yang disebutkan didalam tanda kurung dipisahkan dengan tanda koma (,).Walaupun dimungkinkan untuk menggunakan lebih dari satu kolom sebagaiPRIMARY KEY, sebisa mungkin gunakan satu kolom saja yang bersifat unik.Kalau tidak ada satu kolom unik yang dapat menjadi PRIMARY KEY, pilihan lainselain menggunakan lebih dari satu kolom adalam menambahkan attribut/kolompembantu (ID) sebagai PRIMARY KEY.FOREIGN KEY Pendefinisian FOREIGN KEY agak lebih rumit dari PRIMARY KEY. Karenadalam satu tabel dimungkinkan terdapat lebih dari satu FOREIGN KEY, makaFOREIGN KEY harus ada namanya. Hal ini untuk mempermudah identifikasiFOREIGN KEY terutama apabila akan ada penghapusan FOREIGN KEY.

    Perintah umum pendefinisian FOREIGN KEY pada CREATE TABLE adalah:[CONSTRAINT [symbol]] FOREIGN KEY[index_name] (index_col_name, ...)REFERENCES tbl_name (index_col_name,...)[ON DELETE reference_option][ON UPDATE reference_option]

    Pilihan untuk reference_option adalah:RESTRICT | CASCADE | SET NULL | NO ACTION

    Keterangan:

      CASCADE: apabila dilakukan DELETE atau UPDATE pada tabel induk,maka kolom pada tabel yang mengacunya juga akan dikenakan operasiyang sama.

    DROP TABLE nama_tabel;

    ALTER TABLE nama_tabel_lama RENAME nama_tabel_baru;

    ALTER TABLE nama_tabel DROP COLUMN namafield;

    ALTER TABLE nama_tabel ADD nama_field tipe_data_baru;

  • 8/20/2019 Modul Basis Data.pdf

    27/74

    27

      SET NULL: apabila dilakukan DELETE atau UPDATE pada tabel induk,maka kolom pada tabel anak (tabel yang mengacunya akan) diset

    nilainya menjadi NULL.  RESTRICT: operasi DELETE dan UPDATE tidak boleh dilakukan pada

    tabel induk apabila nilai kolom tabel induk masih diacu oleh kolom tabelanak yang mengacunya.

      No ACTION: sama dengan RESTRICT.Perlu diperhatikan:

    -  Fitur FOREIGN KEY hanya dapat diterapkan apabila tabel induk dantabel anak menggunakan storage engine yang sama (contoh: InnoDB).

    -  Kolom yang dapat diacu sebagai FOREIGN KEY (kolom pada tabelinduk) harus terdapat dalam sebuah index.

    -  FOREIGN KEY tidak dapat diterapkan pada tabel sementara (temporarytable).

    -  Tipe data kolom tabel induk yang diacu dan tipe data kolom tabel anakyang mengacu harus mirip (atau sama) dan sesuai; dapat menampungsemua kemungkinan nilai data.

    Keterangan lebih lanjut tentang FOREIGN KEY dapat dilihat pada MySQLReference Manual pada bagian Using FOREIGN KEY Constraints.

    Daftar pustaka: 

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi SekolahVokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi

  • 8/20/2019 Modul Basis Data.pdf

    28/74

    28

    LATIHAN/KASUS

    MySQL

    Alat dan bahan praktikum:

    a. Modul praktikum

    b. Alat Tulis

    c. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:

    Kegiatan 1

    1. Berikut ini merupakan aturan umum penulisan yang digunakan pada

    create database.

    Create database nama_basis_d ata;

    Contoh penerapan :

    Create database rumah_sakit; 

    2. Lalu kita buat contoh tabel pasien :

    Create table pasien(

    Kode_psn char(5) primary key,

    Nm_psn varchar(30) not null,

     Almt_psn varchar(50) null,

    Umur integer null

     )

    3. Setelah membuat tabel selanjutnya membuat contoh alter tabel

    Contoh penerapan dan penjelasan

    a. Perintah SQL untuk menambahkan field status dan field pekerjaan

    pada tabel pasien yaitu :

    Alter tab le pasien add status c har(7), pekerjaan ch ar(15)

    b. Perintah SQL untuk menghapus field pekerjaan pada tabel pasien yaitu

    Alter table pasien dro p pekerjaan

  • 8/20/2019 Modul Basis Data.pdf

    29/74

    29

    c. Perintah SQL untuk menghapus primary key pada tabel pasien yaitu :

    Alter table pasien drop constraint pk_kod psn

    4. Terakhir ketika akan menghapus tabel yaitu dengan cara drop

    contohnya hapus tabel pasien :

    Drop table pasien;

    Kegiatan 2

    1. Buatlah tabel pasien dengan kolom berupa nama pasien, nomor rekammedis, alamat dan jenis kelamin !

    2. Mengubah field id_periksa menjadi id_berobat !

    3. Menambahkan kolom biaya pada tabel periksa !

    4. Menghapus kolom biaya dari tabel periksa !

    5. Merelasikan field no_rm pada tabel periksa dengan field no_rm pada tabelpasien!

    6. Mengubah nama tabel pasien menjadi tabel pengunjung !

    Penilaian:

    a. Keaktifan mahasiswa dalam praktikum

    b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

    Kasus:

    1. Buatlah tabel salary dengan deskripsi tabel sebagai berikut: Atribut Tipe NULLemp_nosalary

    from_dateto_date

    int(11)int(11)

    datedate

    NoNo

    NoNo

    2. Set emp_no dan from_date sebagai PRIMARY KEY!3. Set emp_no sebagai FOREIGN KEY yang mengacu pada kolom emp_no

    di tabel employees dengan aksi ON DELETE CASCADE!4. Lihat deskripsi tabel salary dan lihat perintah pembuatan tabel (CREATE

    TABLE) salary yang telah dibuat!

  • 8/20/2019 Modul Basis Data.pdf

    30/74

    30

    LEMBAR KERJA

  • 8/20/2019 Modul Basis Data.pdf

    31/74

    31

    MATERI 5DML 

    Kompetensi:Mahasiswa mampu menggunakan sintak-sintak di MySql untukmemanipulasi data.

    Maksud dan tujuan:a. Mahasiswa mengerti dan memahami sintak-sintak dalam basis datab. Mahasiswa mengerti dan memahami bagaimana melakukan

    pengisian, perbaikan, penghapusan, pengambilan dan pencariankembali data

    Landasan teori:1. INSERT 

    Perintah :

    Nama_tabel adalah tabel yang akan diisi data. Field1, field2, field3,… adalah field-field (kolom) dari tabel yang akan diisi. Nilai1, nilai2, nilai3, … adalah data yang akan dimasukkan ke dalam tiap kolom yang disebutkanpada bagian field.

    Penulisan nilai1, nilai2, nilai3 disesuaikan dengan tipe datanya jikatipe data merupakan kelompok tipe data karakter maka data harus diapitdengan menggunakan tanda petik (apostrophe).

    Perintah insert dapat juga dituliskan langsung sebagai berikut :

    Penulisan tanpa menyebutkan nama field dapat diberikan apabila akanmengisi ke seluruh field yang ada dalam tabel, urutan data dalam bagianvalues menunjukkan urutan field yang akan diisi. Jadi harus hati-hatimenggunakan perintah insert apabila tidak menyatakan nama field karenabisa tertukar.Contoh :

    mysql> INSERT INTO pribadi-> VALUES (12341, 'Hamdan Arif', 'Jl. Krapyak 2', 'Bantul', 'P',-> '1964/05/12');Query OK, 1 row affected (0.06 sec)

    Kelebihan dengan menyebutkan nama field adalah kita tidak harusberurutan menyebutkan nama field dan datanya pada saat mengisikan,yang penting adalah urutan pasangan yang benar agar tidak tertukar.

    INSERT INTO nama_tabel VALUES(nilai1 [,nilai2 [,..]]);

    INSRT INTO nama_tabel (field1 [,field2 [field3 [,…]]]) 

    VALUES (nilai1 [,nilai2 [,nilai3 [,..]]]);

  • 8/20/2019 Modul Basis Data.pdf

    32/74

    32

    2. UPDATE Perintah :

    Nama_tabel adalah nama dari tabel yang akan diperbaiki datanya.Field1 adalah nama field dalam tabel yang akan diubah. Nilai1 adalah datayang akan dimasukkan ke dalam field1. field2 dan nilai2 adalah nama fielddan datanya, dan seterusnya. Kondisi adalah criteria data dalam tabel yangakan diperbaiki.Contoh :

    mysql> UPDATE pribadi SET kota='Yogyakarta' WHERE kota='Yogya'; Query OK, 1 row affected (0.15 sec)Rows matched: 1 Changed: 1 Warnings: 0

    Perintah update digunakan untuk memperbaiki data dalam satu record(baris) dalam satu tabel. Perbaikan dapat dilakukan untuk satu record,beberapa atau seluruh record.

    Hati-hati saat memberikan perintah update ini, jangan sampai lupamenuliskan kondisi data dalam tabel yang akan diperbaiki datanya. Jikakondisi tidak dituliskan maka bisa menyebabkan seluruh record dalamtabel akan diubah sesuai dengan field yang akan diperbaiki datanya.

    3. DELETEPerintah:

     Nama_tabel adalah nama tabel yang akan dihapus datanya.  Kondisi adalah criteria data dalam tabel yang akan dihapus.Perintah delete digunakan untuk melakukan penghapusan record dari suatutable yang memilik kondisi yang dinyatakan dalam pernyataan kondisi.Hati-hati dalam memberikan perintah delete ini karena jika terlupamemberikan pernyataan kondisi, perintah ini akan menyebabklanterhapusnya seluruh isi tabel.

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem InformasiSekolah Vokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL.Yogyakarta. Andi

    DELETE FROM nama_tabel [WHERE kondisi];

    UPDATE nama_tabel SET field1=nilai1 [,field2=nilai2 [,…]] [WHERE kondisi];

  • 8/20/2019 Modul Basis Data.pdf

    33/74

    33

    LATIHAN/KASUSMySQL

    Alat dan bahan praktikum:

    a. Modul praktikum

    b. Alat Tulis

    c. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:

    Kegiatan 1

    1. Berikut ini merupakan pembuatan database terlebih dahulu. 

    Create database nama_basis_d ata;

    Contoh :

    Create database swalayan; 

    Lalu kita buat contoh tabel pribadi :

    Create table pribadi

    (

    nip char(10) primary key,

    nama varchar(30) not null,

    alamat varchar(50) null,

    kota varchar(20) not null,

    kelamin varchar(10) not null,

    tgl_lahir date not null,

     )

  • 8/20/2019 Modul Basis Data.pdf

    34/74

    34

    2. Setelah membuat tabel maka memasukan data ke dalam tabel pribadi,

    berikut merupakan aturan umum penulisan yang digunakan pada

    INSERT database.

    INSERT INTO nama_tabel;

    Contoh penerapan :

    INSERT INTO pribadi(nip,nama,alamat,kota,kelamin,tgl_lahir); 

    3. Setelah mengisi data dalam tabel selanjutnya membuat contoh update 

    upd ate nama_tabel s et f ield1=ni lai1 where[kondisi ] ;

    Contoh penerapan dan penjelasan

    UPDATE pribadi set nip= 127 where no=1;

    4. Selanjutnya akan menghapus data dalam tabel yaitu dengan cara

    delete contohnya hapus tabel pasien :

    Delete from nama_tabel [where kondisi ] ; ; 

    Kegiatan 2

    1. Buatlah tabel pembeli dengan kolom berupa nid, nama_pembeli dan alamat!

    2. Buatlah tabel transaksi dengan kolom no_transaksi, tgl_transaksi,nama_barang, dan harga!

    3. Gantilah alamat Agus menjadi bali !

    4. Hapus data ani!

    Penilaian:

    a. Keaktifan mahasiswa dalam praktikum

    b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

  • 8/20/2019 Modul Basis Data.pdf

    35/74

    35

    Kasus:

    1. Buatlah tabel PEMBELI DAN TRANSAKSI dengan deskripsi tabel

    sebagai berikut:

    Tabel pembeli

    +------+--------------+---------+

    | nid | nama_pembeli | alamat |

    +------+--------------+---------+

    | 123 | ani | jogja |

    | 345 | budi | jakarta |

    | 234 | agus | bandung |

    +------+--------------+---------+

    Tabel transaksi

    +------+--------------+---------------+-------------+--------+

    | nid | no_transaksi | tgl_transaksi | nama_barang | harga |

    +------+--------------+---------------+-------------+--------+

    | 123 | D002 | 2014-05-12 | tas | 100000 |

    | 234 | D000 | 2014-05-27 | sepatu | 126000 |

    | 123 | D010 | 2014-06-06 | buku | 50000 |

    | 345 | D015 | 2014-06-09 | baju | 90000 |

    +------+--------------+---------------+-------------+--------+

  • 8/20/2019 Modul Basis Data.pdf

    36/74

    36

    MATERI 6

    DML (2)

    Kompetensi:

    Mahasiswa mampu menggunakan sintak-sintak di MySql untuk memanfaatkan

    dan memanipulasi data..

    Maksud dan tujuan:

    a. Mahasiswa mengerti dan memahami menggunakan sintak-sintak di MySql

    untuk memanipulasi data.

    b. Mahasiswa mengerti dan memahami bagaimana melakukan pengisian,

    perbaikan, penghapusan, pengambilan dan pencarian kembali data

    Landasan teori:

    Perintah yang digunakan untuk menampilkan data adalah SELECT. Perintah ini

    akan menampilkan baris data yang ada pada basis data dalam bentuk tabel.

    Perintah SELECT tidak akan merubah data maupun struktur tabel yang

    disimpan. Untuk menampilkan data secara lengkap dari sebuah tabel digunakanperintah:

    SELECT * FROM nama_tabel;

    Tanda * mengisyaratkan bahwa semua kolom akan ditampilkan tanpa terkecuali,

    sedangkan nama_tabel diganti dengan nama tabel yang datanya ingin

    ditampilkan. Berikut adalah contoh untuk menampilkan semua data pada tabel

    employees:

    SELECT * FROM employees;

     Apa bila ingin menampilkan kolom-kolom tertentu saja, maka simbol * dapat

    diganti dengan nama kolom yang ingin ditampilkan. Berikut adalah contoh

    perintah untuk menampilkan data yang ada pada kolom first_name dan

    last_name pada tabel employees:

    SELECT first_name, last_name FROM employees;

    Penggunaan perintah SELECT dapat dilengkapi dengan klausa WHERE sebagai

    syarat spesifikasi data yang ingin ditampilkan. Contohnya adalah ketika ingin

  • 8/20/2019 Modul Basis Data.pdf

    37/74

    37

    ditampilkan data nama pegawai yang nama belakangnya Maximoff, maka

    perintahnya:

    SELECT first_name, last_name FROM employees

    WHERE last_name=’Maximoff’; 

    Klausa WHERE dapat berisi lebih dari satu persyaratan. Persyaratan satu

    dengan lainnya dapat disambung dengan menggunakan AND atau OR sesuai

    dengan kebutuhan. Persyaratan data yang digunakan dapat berupa sepesifikasi

    nilai kolom, jangkauan nilai kolom (untuk data numerik), kemiripan nilai kolom,

    dan lain sebagainya sesuai kebutuhan.

    Berikut adalah contoh perintah untuk menampilkan data dari dua kolom dengan

    dua syarat, yaitu data yang ditampilkan harus mempunyai nomer pegawai

    (emp_no) 10005 atau setelahnya dan mempunyai nama belakang Wayne:

    SELECT first_name, last_name FROM employees

    WHERE emp_no>=10005 AND last_name='Wayne';

    Perintah SQL yang berikutnya akan menampilkan nama depan dan nama

    belakang pegawai yang nomer pegawainya diantara 10005 dan 10010:

    SELECT first_name, last_name FROM employees

    WHERE emp_no BETWEEN 10005 and 10010;

    Between dapat juga digunakan untuk tipe data yang berkaitan dengan tanggal

    dan waktu. Contoh perintah berikut ini menggunakan variabel tahun sebagai

    parameter persyaratan BETWEEN untuk menampilkan data pegawai yang lahir

    tahun 1990 hingga 2000:

    SELECT emp_no,first_name,last_name FROM employees

    WHERE YEAR(birth_date) BETWEEN '1990'AND'2000';

    Keterangan nilai NULL dan NOT NULL juga dapat digunakan untuk memilih data

    melalui klausa WHERE. Penggunaannya tidak dengan tanda sama dengan (=)

    namun dengan IS:

    SELECT * FROM employees

    WHERE first_name IS NULL;

  • 8/20/2019 Modul Basis Data.pdf

    38/74

    38

    Kata kunci IN dapat digunakan apabila persyaratan nilai kolom yang diinginkan

    lebih dari satu. Kata kunci IN juga dapat digunakan untuk membuat subquery  

    yang akan dibahas pada sub-bab nested query . Berikut adalah contoh

    penggunaan kata kunci IN untuk menampilkan data pegawai  yang mempunyai

    nomer pegawai 10001, 10005, atau 10010:

    SELECT * FROM employees

    WHERE emp_no IN (10001,10005,10010);

    LIKE merupakan kata kunci dalam SQL yang digunakan untuk

    mendefinisikan suatu criteria yang lebih luwes (fleksibel). Kondisi yang

    dinyatakan dengan menggunakan LIKE dapat memfilter data sehingga kita dapat

    menampilkan suatu kriteria seolah dengan menggunakan bahasa inggris.

    Kriteria yang dibentuk juga dapat digunakan untuk melakukan pemfilteran

    data secara mudah dengan menggunakan tanda %, yang memerintahkan agar

    database mencari semua data yang memiliki karakter apa saja, karena %

    mewakili karakater apa saja.

    Perintah dengan kondisi LIKE

    Perintah ini akan menampilkan seluruh record dalam tabel yang memiliki

    data dalam nama field yang disebutkan sama dengan „data_yang_dicari‟. 

    Perintah ini sama seperti menggunakan perintah select yang menggunakan

    tanda sama dengan pada bagian kondisi.

    Perintah ini akan menampilkan seluruh record dalam tabel yang memiliki

    data dalam nama_field yang disebutkan diawali dengan „data_yang_dicari‟. 

    Perintah ini akan menampilkan seluruh record dalam tabel yang memiliki

    data dalam nama_field yang disebutkan pada bagian akhirnya ada

    „data_yang_dicari‟. 

    SELECT * FROM nama_tabel WHERE nama_field LIKE ‘%data_yang_dicari’; 

    SELECT * FROM nama_tabel WHERE nama_field LIKE ‘data_yang_dicari%’; 

    SELECT * FROM nama_tabel WHERE nama_field LIKE ‘data_yang_dicari’; 

  • 8/20/2019 Modul Basis Data.pdf

    39/74

    39

    Perintah ini akan menampilkan seluruh record dalam tabel yang data

    dalam nama_field yang disebutkan mengandung „data_yang_dicari‟.  %

    di awal dan % di akhir menunjukkan agar database mencarikan semua

    record yang di awal atau di akhir data pada nama field yang

    disebutkan terdiri atas karakter apa saja asalkan ada „data_yang_dicari‟

    dalam field tersebut.

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi Sekolah

    Vokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi 

    SELECT * FROM nama_tabel WHERE nama_field LIKE ‘%data_yang_dicari%’; 

  • 8/20/2019 Modul Basis Data.pdf

    40/74

    40

    LATIHAN/KASUS

    MySQL

    Alat dan bahan praktikum:a. Modul praktikumb. Alat Tulisc. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:

    Kegiatan 1

    1. Menggunakan database swalayan yang sudah pernah dibuat. 

    Selanjutnya menyeleksi atau melihat data yang ada di dalam tabel,

    berikut  merupakan aturan umum penulisan yang digunakan pada

     select nama_field from nama_tabel;

    2.  Menampilkan seluruh record dalam tabel yang memiliki data dalam

    nama field yang disebutkan sama dengan „data_ yang_dicari’  

    SELECT * FROM nama_tabel WHERE nama_field LIKE

    ‘data_yang_dicari’;  

    3.  Menampilkan data dengan seluruh record dalam tabel yang memiliki

    data dalam nama_field yang disebutkan diawali dengan

    „data_yang_dicari‟ 

    SELECT * FROM nama_tabel WHERE nama_field LIKE

    ‘data_yang_dicari%’; 

    4.  Selanjutnya menampilkan seluruh record dalam tabel yang memiliki

    data dalam nama_field yang disebutkan pada bagian akhirnya ada

    „data_yang_dicari‟. :

    SELECT * FROM nama_tabel WHERE nama_field LIKE‘%data_yang_dicari’; 

    5. Terakhir menampilkan seluruh record dalam tabel yang data dalam

    nama_field yang disebutkan mengandung „data_yang_dicari‟.  % di

    awal dan % di akhir menunjukkan agar database mencarikan semua

    record yang di awal atau di akhir data pada nama field yang

  • 8/20/2019 Modul Basis Data.pdf

    41/74

    41

    disebutkan terdiri atas karakter apa saja asalkan ada

    „data_yang_dicari‟ dalam f ield tersebut. 

    SELECT * FROM nama_tabel WHERE nama_field LIKE

    ‘%data_yang_dicari%’; 

    Penilaian:

    a. Keaktifan mahasiswa dalam praktikum

    b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

    Kasus:

    Buatlah tabel Mahasiswa, MataKuliah dan KRS dengan deskripsi tabel

    sebagai berikut:

    Tabel Mahasiswa

     NIU Nama Prodi

    00114 Alfi Rekmed

    01052 Wahyu Rekmed

    01104 Syifa Pend. Dokter

    00888 Anik Gizi

    00993 Agnes Ilkom

    00066 Derti Kimia

    00287 Syifa Matematika

    01040 Dahlia Statistika

    Tabel Kelas MK

    Kode Nama

    A Agama

    B Basdat

    C KKPMT

    Tabel KRS NIU Kode Nilai

    00114 A A

    01052 A B

    01104 A A

    01052 B B

    01104 B A

    00993 B B

    00066 C A

    00287 C C

    01040 C A

  • 8/20/2019 Modul Basis Data.pdf

    42/74

    42

    1 Tampilkan semua data di KRS

    Tampilkan semua data di mahasiswa

    Ubah NIM mahasiswa dengan nim '01104'menjadi '01105'.

    Tampilkan semua data di KRS

    Tampilkan semua data di mahasiswa

    2. Tampilkan semua data di KRS

    Tampilkan semua data di matkul

    Ubah kode matkul dengan kode 'B' menjadi 'M'.

    Tampilkan semua data di KRS

    Tampilkan semua data di MatkulUbah kode matkul dengan kode 'M' menjadi'B'.

    3. Tampilkan nim mahasiswa yang mendapat nilai A untuk Matakuliah dengan

    kode B

  • 8/20/2019 Modul Basis Data.pdf

    43/74

    43

    MATERI 7JOIN

    Kompetensi:Mahasiswa mampu menampilkan data dari 2 atau lebih tabel.

    Maksud dan tujuan:c. Mahasiswa mengerti dan memahami join basis datad. Mahasiswa mengerti dan memahami bagaimana menampilkan data dari 2

    atau lebih tabel.. 

    Landasan teori:

    JOIN

    Table references atau disebut juga JOIN pada MySQL adalah sebuah cara untukmenggabungkan dua buah tabel atau lebih dengan persyaratan tertentu yangtelah definisikan pada perintah SQL.

    INNER JOIN

    INNER JOIN, CROSS JOIN, dan JOIN pada MySQL mempunyai peranan yangsama dan dapat menggantikan satu sama lain. Tipe JOIN ini adalah yang palingsederhana dan relatif paling mudah dipahami. INNER JOIN menampilkan seluruhdata pada tabel pertama (tabel kiri) yang mempunyai kecocokan dengan tabelkedua (tabel kanan). Representasi visual dari tipe JOIN ini adalah sebagaiberikut:

    INNER JOIN

    Secara umum perintah INNER JOIN adalah sebagai berikut:

    SELECT

    FROM Table_A as A

    INNER JOIN Table_B as B

    ON A.Key = B.Key;

  • 8/20/2019 Modul Basis Data.pdf

    44/74

    44

    Sebagai contoh perintah INNER JOIN untuk tabel A dan B dengan perintah:

    SELECT *FROM A INNER JOIN B

    ON A.Nomer = B.Nomer;

    Left JOIN

    Left JOIN akan menampilkan seluruh data pada tabel pertama (tabel kiri) baikdata yang mempunyai pasangan dengan data di tabel kedua (tabel kanan)maupun tidak, dan juga menampilkan data pada tabel kanan yang mempunyai

    pasangan dengan data di tabel kiri. Representasi visual dari tipe JOIN ini adalahsebagai berikut:

    Secara umum perintah Left JOIN adalah:

    SELECT

    FROM Table_A as A

    LEFT JOIN Table_B as B

    ON A.Key = B.Key;

    Sebagai contoh perintah Left JOIN untuk tabel A dan B dengan perintah:

    SELECT *

    FROM A LEFT JOIN B

    ON A.Nomer = B.Nomer;

  • 8/20/2019 Modul Basis Data.pdf

    45/74

    45

    Right JOIN

    Right JOIN adalah kebalikan dari Left JOIN. Right JOIN akan menampilkanseluruh data pada tabel kedua (tabel kanan) baik data yang mempunyaipasangan dengan data di tabel kedua (tabel kanan) maupun tidak, dan jugamenampilkan data pada tabel kiri yang mempunyai pasangan dengan data ditabel kanan. Representasi visual dari tipe JOIN ini adalah sebagai berikut:

    Secara umum perintah Right JOIN adalah:

    SELECT

    FROM Table_A as A

    RIGHT JOIN Table_B as B

    ON A.Key = B.Key;

    Sebagai contoh perintah Right JOIN untuk tabel A dan B dengan perintah:

    SELECT *

    FROM A RIGHT JOIN B

    ON A.Nomer = B.Nomer;

    Left Excluding JOIN

    Left Excluding JOIN akan menampilkan data pada tabel pertama (tabel kiri) yangtidak mempunyai pasangan yang cocok dengan tabel kedua (tabel kanan).Bentuk JOIN ini mirip dengan Left JOIN namun tidak mengikut sertakan data

    pada tabel kiri yang mempunyai pasangan dengan data tabel kanan.Representasi visual dari tipe JOIN ini adalah sebagai berikut:

    Left Excluding JOIN

  • 8/20/2019 Modul Basis Data.pdf

    46/74

    46

    Secara umum perintah untuk menghasilkan Left Excluding JOIN adalah:

    SELECT FROM Table_A as A

    LEFT JOIN Table_B as B

    ON A.Key = B.Key

     WHERE B.Key IS NULL;

    Sebagai contoh perintah Left Excluding JOIN untuk tabel A dan B dengan

    perintah:

    SELECT *

    FROM A LEFT JOIN B

    ON A.Nomer = B.Nomer

    WHERE B.Nomer IS NULL;

    Right Excluding JOIN

    Right Excluding JOIN akan menampilkan data pada tabel kedua (tabel kanan)yang tidak mempunyai pasangan yang cocok dengan tabel pertama (tabel kiri).Bentuk JOIN ini mirip dengan Right JOIN namun tidak mengikutsertakan datapada tabel kanan yang mempunyai pasangan dengan data tabel kiri. Padadasarnya Right Excluding JOIN adalah kebalikan dari Left Excluding JOIN.Representasi visual dari tipe JOIN ini adalah sebagai berikut:

    Right Excluding JOIN

    Secara umum perintah untuk menghasilkan Right Excluding JOIN adalah:

    SELECT

    FROM Table_A as A

    RIGHT JOIN Table_B as B

    ON A.Key = B.Key

     WHERE A.Key IS NULL;

  • 8/20/2019 Modul Basis Data.pdf

    47/74

    47

    Sebagai contoh perintah Right Excluding JOIN untuk tabel A dan B dengan

    perintah:

    SELECT *

    FROM A RIGHT JOIN B

    ON A.Nomer = B.Nomer

    WHERE A.Nomer IS NULL;

    Full Outer JOIN

    Full Outer JOIN atau disebut juga Outer JOIN/Full JOIN adalah tipe JOIN yangakan menampilkan seluruh data dari tabel pertama (tabel kiri) dan tabel kedua(tabel kanan) dengan mencocokkan elemen kolom yang sesuai danmengosongkan dengan memberikan nilai NULL jika tidak mempunyai datapasangan di tabel lainnya. Representasi visual dari tipe JOIN ini adalah sebagaiberikut:

    Full Outer JOIN

    Pada MySQL tidak didukung kata kunci yang langsung dapat digunakan untukmelakukan Full Outer JOIN. Untuk mendapatkan data seperti pada Outer JOINdigunakan UNION dengan perintah sebagai berikut:

    SELECT

    FROM Table_A as A

    LEFT JOIN Table_B as B

    ON A.Key = B.Key

    UNION

    SELECT

    FROM Table_A as A

    RIGHT JOIN Table_B as B

    ON A.Key = B.Key;

  • 8/20/2019 Modul Basis Data.pdf

    48/74

    48

    Sebagai contoh untuk mendapatkan Full Outer JOIN dari tabel contoh A dan Bdigunakan perintah sebagai berikut:

    SELECT *

    FROM A LEFT JOIN B

    ON A.Nomer = B.Nomer

    UNION

    SELECT *

    FROM A RIGHT JOIN B

    ON A.Nomer = B.Nomer;

    Outer Excluding JOIN

    Full Outer Excluding JOIN atau disebut juga Outer Excluding JOIN/Full ExcludingJOIN adalah tipe JOIN yang akan menampilkan seluruh data dari tabel pertama(tabel kiri) yang tidak mempunyai kecocokan/pasangan dengan tabel kedua(tabel kanan) dan seluruh data pada tabel kedua (tabel kanan) yang tidakmempunyai kecocokan dengan tabel pertama (tabel kiri). Representasi visualdari tipe JOIN ini adalah sebagai berikut:

    Full Outer Excluding JOIN

    Pada MySQL juga tidak didukung kata kunci yang langsung dapat digunakanuntuk melakukan Full Outer Excluding JOIN. Untuk mendapatkan data seperti

    pada Full Outer Excluding JOIN digunakan UNION dengan perintah sebagaiberikut:

    SELECT

    FROM Table_A as A

    LEFT JOIN Table_B as B

    ON A.Key = B.Key

     WHERE B.Key IS NULL

    UNION

    SELECT

  • 8/20/2019 Modul Basis Data.pdf

    49/74

    49

    FROM Table_A as A

    RIGHT JOIN Table_B as B

    ON A.Key = B.Key

     WHERE A.Key IS NULL;

    Sebagai contoh untuk mendapatkan Full Outer Excluding JOIN dari tabel contoh A dan B digunakan perintah sebagai berikut:

    SELECT *

    FROM A LEFT JOIN B

    ON A.Nomer = B.Nomer

    WHERE B.Nomer IS NULLUNION

    SELECT *

    FROM A RIGHT JOIN B

    ON A.Nomer = B.Nomer

    WHERE A.Nomer IS NULL;

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi SekolahVokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi

  • 8/20/2019 Modul Basis Data.pdf

    50/74

    50

    LATIHAN/KASUS

    MySQL

    Alat dan bahan praktikum:

    a. Modul praktikumb. Alat Tulisc. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:

    Kegiatan 1

    1.  Buatlah tabelemployees dengan attribut emp_no, name

     

    2.  Buatlah tabel salary dengan deskripsi tabel sebagai berikut:

    Atribut Tipe NULL

    emp_nosalaryfrom_date

    to_date

    int(11)int(11)date

    date

     No No

     No No

    3.  Set emp_no dan from_date sebagai PRIMARY KEY!

    4.  Set emp_no sebagai FOREIGN KEY yang mengacu pada kolom emp_no

    di tabel employees dengan aksi ON DELETE CASCADE!

    5.  Lihat deskripsi tabel salary dan lihat perintah pembuatan tabel (CREATETABLE) salary yang telah dibuat!

    Penilaian:

    a. Keaktifan mahasiswa dalam praktikum

    b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

  • 8/20/2019 Modul Basis Data.pdf

    51/74

    51

    Kasus:

    Buatlah database rental dengan tabel-tabel sebagai berikut:

    Pemilik  Mobil 

    noKTPMilik  Nama  Alamat  noTelp  noPlat  Merk  HargaSewa  noKTPMilik  warna 

    112  adi   jogja  123 

    AD 3456

    BB  CRZ  500000  112  merah 

    113  agung   jogja  123 

    AB 1719

    QE  Xenia  250000  114  silver 

    114  budi   jogja  123  AB 1234 FC  Inova  300000  113  hitam 116  lusi   jogja  123  B 6756 TOP  Inova  300000  114  hitam 

    penyewa  sewa 

    noKTPSewa  Nama  Alamat  noTelp  noKTPSewa  noPlat  tglSewa  tglKembali 

    232  badu  bantul  123  234 

    AD 3456

    BB 

    1 Maret

    2014 

    2 Maret

    2014 

    234  bidu  bantul  123  234 

    AB 1719

    QE 

    2 Maret

    2014 

    3 Maret

    2014 

    235  bude  sleman  123  235 

    B 6756

    TOP 

    4 Maret

    2014 

    5 Maret

    2014 

    265  oma   jogja  123 

  • 8/20/2019 Modul Basis Data.pdf

    52/74

    52

    Tampilkan daftar noPlat mobil yang pernah disewa oleh bidu 

    select sewa.noPlat from sewa, penyewa where sewa.noKtp = penyewa.noKTP and penyewa.nama='bidu'; 

    Kapan saja bidu menyewa mobil 

    select tglSewa from penyewa, sewa where penyewa.noKTP=sewa.noKTP and penyewa.nama='bidu'; 

    Tampilkan noKTP dan nama peminjam/penyewa yang pernah meminjam mobil dengan nomor plat B 6756 TOP 

    select penyewa.noKTP, penyewa.nama from penyewa, sewa where penyewa.noKTP=sewa.noKTP and sewa.noPlat='B 6756 TOP'; 

    Tampilkan noKTP,nama pemilik dan merk mobilnya 

    select pemilik.noKtp, pemilik.nama, mobil.merk from mobil, pemilik where pemilik.noKtp = mobil.noKtpmilik; 

    Tampilkan noKTP, nama dan alamat peminjam/penyewa yang meminjam mobil setelah tanggal 2 Maret 2014  ……………………… 

  • 8/20/2019 Modul Basis Data.pdf

    53/74

    53

    MATERI 8FUNGSI

    Kompetensi:Mahasiswa mampu memahami dan membuat fungsi di MySQL.

    Maksud dan tujuan:Mahasiswa mengerti dan memahami serta dapat menggunakan fungsi yangsudah disediakan MySQL

    Landasan teori:Fungsi (function) merupakan fasilitas yang disediakan oleh database

    secara umum untuk memanipulasi data yang kompleks, seperti mencari jumlah data, mencari rata-rata nilai yang ada dalam suatu tabel dan lain-

    lain, bukan hanya sekedar membaca data dari tabel saja. Fungsi adalahsuatau rutin khusus yang disediakan oleh MySQL untuk melakukanmanipulasi suatu data.

    Fungsi digunakan (disertakan) sebagai bagian dari suatu perintahquery SQL (select). Secara umum fungsi dinyatakan dalam SQL selectadalah sebagai berikut :

    FROM namatabel tidak harus diberikan dalam MySQL. Fungsi dalam MySQLseperti halnya perintah SQL dapat dituliskan dalam huruf besar ataupunhuruf kecil.

    Fungsi dalam MySQL dibedakan menjadi :

    1. Fungsi sistem2. Fungsi agregat3. Fungsi aritmatika4. Fungsi string5. Fungsi tanggal6. Fungsi logika

    1. Fungsi Sistem Kelompok fungsi sistem adalah kelompok yang memberikaninformasi tentang pemakaian server database oleh pemakai. Kelompok initerdiri atas :a. DATABASE() 

    Fungsi ini digunakan untuk memberikan informasi database apa yangsedang digunakan oleh pemakai.

    b. LAST_INSSERT_ID() Digunakan untuk menampilkan informasi data yang telah dihasilkan(digenerate) oleh MySQL pada kolom yang menggunakan tipe data AUTOINCREMENT.

    c. SESSION_USER() Fungsi yang digunakan untuk menampilkan informasi pemakai yangsedang melakukan akses ke dalam server MySQL saat ini.

    d. SYSTEM_USER() Fungsi ini sama dengan fungsi SESSION_USER()

    SELECT fungsi (ekspresi) [FROM namatabel];

  • 8/20/2019 Modul Basis Data.pdf

    54/74

    54

    e. USER() Fungsi ini sama dengan fungsi SESSION_USER() dan

    SYSTEM_SESSION().f. VERSION() Fungsi ini digunakan untuk mengetahui versi server MySQL yang sedangdigunakan saat ini.

    g. BENCHMARK(x,ekspresi) Mengerjakan perintah pada ekspresi sejumlah count kali. Nilai yangdihasilkan selalu 0. Hal penting dari fungsi ini adalah nilai waktu yangdigunakan (elapsed time) yang diberikan pada bagian akhir,memungkinkan kita menilai berapa cepat server mengevaluasi query.

    h. LOAD_FILE(nama_file) Digunakan untuk membuka file dan memberikan isinya sebagai string.File harus ada dalam server dan pemakai untuk menggunakan fungsi ini

    memiliki privelege File.

    2. Fungsi Agregat Fungsi agregat adalah fungsi standar di dalam SQL, suatu fungsi yangdigunakan untuk melakukan summary, merupakan fungsi stastistik standaryang dikenakan pada suatu tabel atau query.1. AVG(ekspresi) 

    Fungsi ini digunakan untuk mencari rata-rata nilai dalam suatu kolom darisatu tabel atau ekspresi. Ekspresi dalam fungsi AVG umumnya adalahnama kolom. Kolom yang dicari nilai rata-ratanya adalah kolom dengantipe data numerik.Nilai rata-rata yang dihasilkan oleh fungsi ini tidak melibatkan dalam

    perhitungannya baris yang memiliki nilai pada kolom yang dicari rata-ratanya bernilai NULL.

    2. COUNT(x) Fungsi ini digunakan untuk menghitung jumlah record (baris) dari suatukolom atau suatu tabel. X adalah nama kolom dari tabel yang diinginkandicari jumlah record (baris)nya.

    3. MAX(ekspresi) Fungsi ini digunakan untuk mencari nilai terbesar dari suatu kolom darisuatu tabel atau ekspresi. Kolom yang dicari nilai terbesarnya memiliki tipedata numerik.Fungsi MAX() tidak melibatkan dalam perhitungannya, data yang bernilaiNULL dari suatu baris yang kolomnya memiliki nilai NULL.

    4. MIN(ekspresi) Fungsi MIN() merupakan lawan dari fungsi MAX(). Fungsi ini mencari nilaiterkecil dari suatu kolom dalam suatu tabel atau ekspresi.

    5. STD(ekspresi) dan STDDEV(ekspresi)Fungsi ini digunakan untuk mendapatkan standar deviasi dari datasuatu kolom dalam tabel. Ekspresi umumnya menyatakan kolom suatutabel dengan tipe datanya numerik.

    6. SUM(ekspresi) Fungsi ini digunakan untuk mendapatkan nilai total dari suatu kolomsuatu tabel atau ekspresi.

  • 8/20/2019 Modul Basis Data.pdf

    55/74

    55

    3. Fungsi Aritmetika 

    MySQL memiliki fasilitas dasar untuk melakukan manipulasi data numerik,

    seperti penjumlahan, pengurangan, perkalian dan pembagian yangdisertakan dalam suatu perintah select. Fasilitas tersebut dikenal denganoperator aritmatika.1. Penjumlahan(+)

    Digunakan untuk menjumlahkan dua buah data numerik, hasil dari operasiini adalah data numerik juga.

    2. Pengurangan(-)Digunakan untuk melakukan operasi pengurangan dua buah datanumerik, bilangan yang disebelah kiri dikurangi dengan bilangan yangdisebelah kanan. Hasil dari operasi ini adalah data numerik.

    3. Perkalian(*)Digunakan untuk melakukan operasi perkalian dua data numerik. Hasil

    dari operasi ini adalah data numerik juga.4. Pembagian(/)

    Digunakan untuk melakukan operasi pembagian dua data numerik.Bilangan di sebelah kiri dibagi dengan bilangan yang ada disebelahkanan operator, hasil dari operasi ini adalah data numerik.

    5. Pembagian sisa(%)Digunakan untuk mendapatkan sisa pembagian dari suatu operasipembagian, bilangan di sebelah kiri dibagi dengan bilangan disebelahkanan, sisa dari hasil pembagian ini yang menjadi hasil dari operasi ini.Operasi pembagian sisa biasa disebut modulus.

    4. Fungsi Tanggal 

    Tanggal dalam MySQL menggunakan tanggal dari sistem Unix, tidak adamasalah sampai dengan 2069. Semua tahun yang dinyatakan dengan duadigit diasumsikan tahun tersebut pada range tanggal antara tahun 1970sampai dengan 2069. Jika dimasukkan tahun 01 maka akan dianggap tahun2001.Format tanggal dan jam dalam MySQL adalah dengan menggunakan formattahun, bulan, tangal, jam, menit dan detikyyyy-mm-dd HH:ii:ss  yyyy adalah tahun dalam format angka  mm adalah nomor bulan dalam format 2 angka  dd adalah tanggal dalam bulan dengan format 2 angka  HH adalah jam dalam format jam 00-23  ii adalah menit dalam format 00-59  ss adalah detik dalam format 00-59

    Berikut ini fungsi built-in untuk data tanggal dalam MySQL :1. ADDDATE(date, INTERVAL ekspresi_interval)2. CURDATE() dan CURRENT_DATE()3. CURTIME() dan CURRENT_TIME()4. CURRENT_TIMESTAMP() 5. DATE_ADD(date, INTERVAL ekspresi_interval)6. DATE_FORMAT(date, simbolformat)7. DATE_SUB(date, INTERVAL ekspresi_interval)

    8. DAYNAME(date) 

  • 8/20/2019 Modul Basis Data.pdf

    56/74

    56

    9. DAYOFMONTH(date) 10. DAYOFWEEK(date) 

    11. DAYOFYEAR(date) 12. EXTRACT(value FROM date)13. FROM_DAYS(days) 14. FROM_UNIXTIME(unixtime[,simbolformat]) 15. HOUR(time) 16. MINUTE(time) 17. MONTH(date) 18. MONTHNAME(date) 19. NOW() 20. PERIOD_ADD(x,y) 21. PERIOD_DIFF(x,y) 22. QUARTER(date) 

    23. SECOND(time) 24. SEC_TO_TIME(second) 25. SUBDATE() 26. SYSDATE() 27. TIME_FORMAT(time,simbolformat) 28. TIME_TO_SEC(time) 29. TO_DAYS(date) 30. UNIX_TIMESTAMP([date]) 31. WEEK(date[,start]) 32. WEEKDAY(date) 33. YEAR(date)

    5. Fungsi StringFungsi string digunakan untuk manipulasi teks (string). MySQLmenyediakan banyak fungsi built-in untuk melakukan manipulasi teks ini.Berikut ini adalah daftar fungsi string yang telah disediakan :1. ASCII(x)2. CHAR(x,y,z,…) 3. CHARACTER_LENGTH, CHAR_LENGTH4. COALES(ekspresi1, ekspresi2, …) 5. CONCAT(x,y,z,…) 6. DECODE(string_biner,string_enkripsi)7. ELT(x,a,b,c,…) 8. ENCODE(owrd,string_enkripsi)9. ENCRYPT(word[,seed])10.FIELD(x,y,z,…) 11. FIND_IN_SET(x,stringlist)12. INSERT(x,y,z,j)13. INSTR(x,y)14. LCASE(x)15. LEFT(x,y)16. LENGTH(x)17. LOAD_FILE(namafile)18. LOCATE(x,y,z)19. LOWER(x)

    20. LPAD(x,y,z)

  • 8/20/2019 Modul Basis Data.pdf

    57/74

    57

    21. LTRIM(x)22. MID(x,y,z)

    23. OCTET_LENGTH()24. PASSWORD(password)25. POSITION(x,y)26. REPEAT(x,y)27. REPLACE(x,y)28. REVERSE(x)29. RIGHT(string,length)30. RPAD(x,y,z)31. RTRIM(x)32. SOUNDEX(x)33. SPACE(x)34. STRCMP(string1,string2)

    35. SUBSTRING_INDEX(x,y,z)36. TRIM([[BOTH OR LEADING or TRAILING][x] FROM] y)37. UCASE(x)38. UPPER(x)

    6. Fungsi Logika Fungsi logika merupakan fungsi yang disediakan oleh MySQL untukmelakukan evaluasi suatu ekspresi. Berdasarkan nilai ekspresi ini akandihasilkan suatu nilai yang akan ditampilkan pada hasil query.Berikut adalah fungsi built-in yang disediakan untuk melakukan evaluasiekspresi :

    1. IF(ekspresi1, ekspresi2, ekspresi3)Fungsi if() mengevaluasi ekspresi1, jika ekspresi1 bernilai benar(true)maka ekspresi2 akana menjadi hasil, jika ekspresi1 bernilai salah (false)maka ekspresi3 akan menjadi hasilnya.

    2. IFNULL(ekspresi1, ekspresi2)Fungsi ini akan mengevaluasi ekspresi1, jika ekspresi1 berisi NULL,maka ekspresi2 menjadi hasilnya, sedangkan jika ekspresi1 bukan NULLmaka ekspresi1 itu sendiri yang menjadi hasilnya

    3. ISNULL(ekspresi) Menghasilkan nilai 1 jika ekspresi bernilai NULL.

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi SekolahVokasi UGM.

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi

  • 8/20/2019 Modul Basis Data.pdf

    58/74

    58

    LATIHAN/KASUS

    MySQL

    Alat dan bahan praktikum:

    a. Modul praktikum

    b. Alat Tulis

    c. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:Kegiatan 1

    Buatlah tabel Mahasiswa, MataKuliah dan KRS dengan deskripsi tabel sebagai

     berikut:

    Tabel Mahasiswa

     NIU Nama Prodi

    00114 Alfi Rekmed

    01052 Wahyu Rekmed

    01104 Syifa Pend. Dokter

    00888 Anik Gizi

    00993 Agnes Ilkom

    00066 Derti Kimia

    00287 Syifa Matematika

    01040 Dahlia Statistika

    Tabel Kelas MK

    Kode Nama

    A Agama

    B Basdat

    C KKPMT

  • 8/20/2019 Modul Basis Data.pdf

    59/74

    59

    Tabel KRS

     NIU Kode Nilai

    00114 A 90

    01052 A 70

    01104 A 67

    01052 B 88

    01104 B 99

    00993 B 87

    00066 C 67

    00287 C 78

    01040 C 89

    1. Tampilkan Nilai tertinggi

    2. Tampilkan Daftar NIM dan Nilai tertinggi yang didapat setiap Mhs

    3. Tampilkan rata-rata nilai

    4. Tampilkan rata-rata nilai matakuliah 'B'

    5. Tampilkan Daftar NIM dan Rata-rata yang didapat setiap Mhs6. Tampilkan Nilai terendah

    7. Tampilkan selisih nilai tertinggi dengan nilai terendah

    Penilaian:

    a. Keaktifan mahasiswa dalam praktikum

    b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur

  • 8/20/2019 Modul Basis Data.pdf

    60/74

    60

    Kasus: 

    Buatlah Database rental dengan tabel-tabel berikut:

    Pemilik Mobil

    noKTPMilik Nama Alamat noTelp noPlat Merk HargaSewa noKTPMilik warna

    112 adi jogja 123 AD 3456 BB CRZ 500000 112 merah

    113 agung jogja 123 AB 1719 QE Xenia 250000 114 silver

    114 budi jogja 123 AB 1234 FC Inova 300000 113 hitam

    116 lusi jogja 123 B 6756 TOP Inova 300000 114 hitam

    penyewa sewa

    noKTPSewa Nama Alamat noTelp noKTPSewa noPlat tglSewa tglKembali

    232 badu bantul 123 234

     AD3456BB

    1 Maret2014

    2 Maret2014

    234 bidu bantul 123 234

     AB1719QE

    2 Maret2014

    3 Maret2014

    235 bude sleman 123 235

    B6756TOP

    4 Maret2014

    5 Maret2014

    265 oma jogja 123

    1. Berapa banyak mobil yang dipinjam pada tanggal 1 Maret 2014;2. Berapa kali mobilnya LUSI dipinjam;

  • 8/20/2019 Modul Basis Data.pdf

    61/74

    61

    MATERI 9 

    NESTED QUERY

    Kompetensi:Mahasiswa mampu.

    Maksud dan tujuan:

    a. Mahasiswa mengerti dan memahami serta memanfaatkan select untukmenampilkan data pada database MySql

    b. Mahasiswa mengerti dan memahami bagaimana logika menampilkan data

    Landasan teori:Nested query   disebut juga dengan query   bersarang. Seperti namanya, nested

    query   adalah perintah SQL berupa gabungan dua atau lebihquery /statement /perintah SQL yang bertingkat. Query   yang terluar disebutdengan outer query  sedangkan perintah di dalamnya disebut subquery .

    Keuntungan dengan diterapkannya subquery  diantaranya:

      Perintah SQL menjadi lebih terstruktur, dimungkinkan untuk memisahkantiap-tiap bagian statement -nya.

      Sebagai alternatif cara untuk melakukan operasi tanpa JOIN dan UNION,dalam beberapa kasus dapat dimanfaatkan untuk membuat perintah SQLyang lebih optimal.

      Subquery   dipandang lebih sederhana dan lebih mudah dibaca jika

    dibandingkan JOIN atau UNION.

    Contoh nested  query  sederhana:

    SELECT * FROM employees WHERE emp_no IN(SELECT emp_no FROM dept_emp);

    Sebuah subquery  dapat memberikan nilai hasil berupa nilai tunggal, satubaris data, satu kolom data, atau satu tabel (satu atau lebih baris dari satu ataulebih kolom data). Query  yang menggunakan nilai yang dihasilkan oleh subquery  

    harus menangkap nilai tersebut dengan benar, sebagai contohnya adalah untuknilai tunggal dapat digunakan sama dengan (=) sedangkan untuk data lebih darisatu digunakan IN, NOT IN, atau sejenisnya.

    Sebuah subquery  dapat mengandung kata kunci atau klausa layaknya perintahSELECT biasa, yaitu diantaranya: DISTINCT, GROUP BY, ORDER BY, LIMIT,JOIN, UNION, dan lain sebagainya. Sedangkan yang dapat menjadi outerstatement adalah perintah SELECT, INSERT, UPDATE, DELETE, SET, atau DO.

    Perbandingan Dengan Subquery  

    Perbandingan berparameterkan hasil dari subquery  menggunakan operator = > <

    >=

  • 8/20/2019 Modul Basis Data.pdf

    62/74

    62

    Operator perbandingan digunakan untuk menyaring data berdasarkan suatu nilaitunggal agar data yang dipilih sesuai dengan yang dikehendaki. Penggunaanya

    memang mirip dengan penggunaan pada klausa WHERE perintah SQLsederhana, hanya saja nilai skalar sebagai parameter didapatkan dari subquery .Contoh perintahnya:

    SELECT * FROM employees WHEREemp_no = (SELECT emp_no FROM dept_emp WHEREdept_no = (SELECT dept_no FROM departments WHEREdept_name = "Internal Affairs"));

    Pastikan bahwa subquery   memberikan hasil satu baris sebagai parameterperbandingan, karena apabila hasil subquery   lebih dari satu baris data makaakan terjadi error .

    Subquery  Dengan IN, ANY, SOME

    Kata kunci IN, ANY, dan SOME dapat digunakan untuk penyaringan data denganpersyaratan nilai jamak hasil dari subquery . Jika perintah SQL yang bukansubquery   memberikan sebuah variabel/field   yang berkedudukan sebagaioperand (objek yang akan dikenakan operasi) dan operasi = > < >= 8000000);

    Perintah di atas akan menampilkan data pegawai dengan gaji lebih dari delapan juta. Subquery   akan memberikan nomer pegawai yang memiliki gaji lebih daridelapan juta, sedangkan query   induk akan memilih data dari tabel employeesyang nomer pegawainya ada pada hasil yang diberikan oleh subquery .

    Ketika digunakan pada nested query  (perintah SQL dengan subquery ) maka katakunci IN dapat digantikan dengan = ANY. Dengan demikian perintah SQL berikutmemberikan hasil yang sama dengan contoh perintah SQL dengan kata kunci IN:

    SELECT * FROM employeesWHERE emp_no = ANY(SELECT emp_no FROM salaries

    WHERE salary>8000000);

    Kata kunci ANY (digunakan setelah operator perbandingan) akan menampilkanhasil data apabila ada paling tidak satu data pada subquery  yang bernilai benar(TRUE) apabila dioperasikan dengan operator perbandingan dengan data padaouter query -nya. Contoh:

  • 8/20/2019 Modul Basis Data.pdf

    63/74

    63

    SELECT a FROM b WHERE a < ANY (SELECT a FROM c);

    Perintah di atas akan menampilkan data kolom a dari tabel b yang memenuhi

    persyaratan perbandingan, yaitu apabila ada satu saja data pada kolom a tabel cyang lebih besar dari data kolom a tabel b tersebut. Perbandingan dilakukanuntuk setiap data pada tabel b dengan setiap data pada tabel c.

    Kata kunci SOME adalah alias dari ANY namun relatif lebih jarang digunakan.Dengan demikian untuk semua perintah SQL dengan kata kunci ANY akan tetapmemberikan hasil yang sama ketika kata kunci ANY diganti dengan SOME.

    Subquery  Dengan ALL

    Operand operator_perbandingan ALL (subquery )

    Kata kunci ALL setelah operator perbandingan = > < >= ALL(select salary from salaries where emp_no=10009);

    Perintah di atas adalah untuk menampilkan data gaji pegawai yang lebih besardari gaji yang pernah diterima pegawai dengan nomor pegawai 10009, baik gajisaat ini maupun gaji yang dulu.

    NOT IN dapat digunakan sebagai alternatif lain kata kunci < > ALL,dengan

    demikian dua statement SQL di bawah ini bernilai sama:SELECT s1 FROM t1 WHERE s1 ALL (SELECT s1 FROM t2);

    SELECT s1 FROM t1 WHERE s1 NOT IN (SELECT s1 FROM t2);

    Daftar pustaka:

    Buku Modul Praktikum Basis Data Komputer dan Sistem Informasi SekolahVokasi UGM

    Nugroho, Bunafit. 2005. Database Relasional dengan MySQL. Yogyakarta. Andi

  • 8/20/2019 Modul Basis Data.pdf

    64/74

    64

    LATIHAN/KASUSMySQL

    Alat dan bahan praktikum:a. Modul praktikumb. Alat Tulisc. Komputer yang sudah terinstal MySql

    Kegiatan praktikum:Kegiatan 1Buatlah tabel Mahasiswa, MataKuliah dan KRS dengan deskripsi tabel sebagaiberikut:

    TabelMahasiswa

    NIU Nama Prodi

    00114 Alfi Rekmed

    01052 Wahyu Rekmed

    01104 Syifa Pend. Dokter

    00888 Anik Gizi

    00993 Agnes Ilkom

    00066 Derti Kimia

    00287 Syifa Matematika

    01040 Dahlia Statistika

    Tabel Kelas MK

    Kode Nama

     A Agama

    B Basdat

    C KKPMT

  • 8/20/2019 Modul Basis Data.pdf

    65/74

    65

    Tabel KRS

    NIU Kode Nilai

    00114 A 90

    01052 A 70

    01104 A 67

    01052 B 88

    01104 B 99

    00993 B 87

    00066 C 67

    00287 C 78

    01040 C 89

    1. Tampilkan Nilai tertinggi

    2. Tampilkan Daftar NIM dan Rata-rata yang didapat setiap Mhs

    3. Tampilkan NIM dan Nilai mahasiswa yang mendapat nilai tertinggi

    4. Tampilkan NIM dan Nilai mahasiswa yang mendapat nilai 'A' tertinggi

    5. Tampilkan NIM dan Nilai mahasiswa yang mendapat nilai 'Basdat' tertinggi

    6. Tampilkan kode Matkul dimana 'Anik' mendapat nilai tertinggi.

    7. Tampilkan NIM dan nilai rata-rata untuk mahasiswa yang nilai rata-ratanya

    tertinggi

    Penilaian:

    a. Keaktifan mahasiswa dalam praktikum

    b. Kemampuan dalam menangkap dan menjalankan perintah Instruktur  

  • 8/20/2019 Modul Basis Data.pdf

    66/74

    66

    Kasus:

    1. Masukkan data berikut ke dalam tabel salaries!

    emp_no Salary from_date to_date

    10001

    10002

    10003

    10004

    10005

    10006

    10007

    10008

    10008

    10009

    10009

    10010

    10011

    8005000

    3505000

    3905000

    4005000

    13505000

    2505000

    8505000

    8005000

    5005000

    8005000

    9005000

    10005000

    3005000

    2011-01-01

    2013-05-01

    2012-05-06

    2012-05-06

    2010-05-06

    2011-11-11

    2011-10-12

    2005-01-12

    2010-01-12

    2008-10-10

    2013-10-10

    2012-01-01

    2011-01-11

    2016-01-01

    2018-05-01

    2017-05-06

    2017-05-06

    2015-05-06

    2016-11-11

    2016-10-12

    2010-01-11

    2015-01-12

    2013-10-09

    2018-10-10

    2017-01-01

    2016-01-11

    2. Tambahkan 100000 pada data gaji pegawai dengan nomor pegawai

    (emp_no) 10003!

    3. Buatlah tiga buah contoh perintah SQL yang terdapat kata kunci IN, ANY,

    dan SOME di dalamnya!

    4. Dapatkah melakukan penghapusan data pada lebih dari satu tabel

    dengan hanya menggunakan satu perintah SQL?

  • 8/20/2019 Modul Basis Data.pdf

    67/74

    67

    LEMBAR KERJA

  • 8/20/2019 Modul Basis Data.pdf

    68/74

    68