The words you are searching are inside this book. To get more targeted content, please make full-text search by clicking here.
Discover the best professional documents and content resources in AnyFlip Document Base.
Search
Published by Fitria, 2023-02-09 01:52:14

E-Modul Sistem Basis Data 2022-2023

E-Modul Sistem Basis Data 2022-2023

MODUL AJAR SISTEM BASIS DATA Disusun Oleh : Fitria, S.S.T., S.Kom., M.Kom Muhammad Bahit, S.Kom, M.Eng JURUSAN AKUNTANSI PROGRAM STUDI D3 KOMPUTERISASI AKUNTANSI POLITEKNIK NEGERI BANJARMASIN BANJARMASIN 2023


KATA PENGANTAR Puji Syukur kepada Tuhan karena modul Sitem Basis Dataini dapat terselesaikan. Modul ini dibuat sebagai kurikulum Politeknik Negeri Banjarmasin Jurusan Akuntansi Program Studi D3 Komputerisasi Akuntansi yang mulai diberlakukan pada tahun akademik 2022-2023. Modul ini membahas tentang pembuatan dasar-dasar pembuatan sistem basis data. Materi yang dibahas meliputi pengenalan sistem basis data,perancangan basis data, normalisasi basis data, Entity Relationship Diagram (ERD), Data Definition Language (DDL), dan Data Manipulation Language (DML). Data Control Language. Tentu saja dengan segala keterbatasan yang ada, modul ini jauh dari sempurna. Untuk itu masukan dan saran untuk perkembangan modul ini sangat diharapkan. Akhirnya semoga modul ini berguna dalam membantu mahasiswa untuk mempelajari tentang sistem basis data. Banjarmasin, Januari 2023 Penulis ii


DAFTAR ISI KATA PENGANTAR .......................................................................................... ii DAFTAR ISI.........................................................................................................iii PERTEMUAN 1&2 PERANCANGAN BASIS DATA ..................................... 1 A. Tujuan...........................................................................................................1 B. Landasan Teori .............................................................................................1 C. Format Perintah ..........................................................................................13 PERTEMUAN 3. NORMALISASI DATABASE .............................................. 8 A. Tujuan...........................................................................................................8 B. Landasan Teori .............................................................................................8 C. Langkah-Langkah Praktikum .......................................................................8 PERTEMUAN 4. INSTALASI MySQL ............................................................12 A. Tujuan.........................................................................................................12 B. Landasan Teori ...........................................................................................12 C. Langkah-Langkah Praktikum .......................................................................5 PERTEMUAN 5. PERANCANGAN DATABASE DBDESIGNER ................ 8 A. Tujuan...........................................................................................................8 B. Landasan Teori .............................................................................................8 C. Langkah-Langkah Praktikum .......................................................................8 D. Tugas ..........................................................................................................11 PERTEMUAN 6. DATA DEFINITION LANGUAGE (DDL) ....................... 28 A. Tujuan........................................................................................................ 28 B. Landasan Teori .......................................................................................... 28 C. Langkah-langkah Praktikum.......................................................................28 D. Tugas ..........................................................................................................30 PERTEMUAN 7. LANJUTAN DATA DEFINITION LANGUAGE.............31


A. Tujuan.........................................................................................................31 B. Landasan Teori ...........................................................................................31 C. Langkah-langkah Praktikum.......................................................................31 D. Tugas ..........................................................................................................36 PERTEMUAN 8. UJIAN TENGAH SEMESTER...........................................37 PERTEMUAN 9. DATA MANIPULATION LANGUAGE........................... 38 A. Tujuan.........................................................................................................31 B. Landasan Teori ...........................................................................................31 C. Langkah-langkah Praktikum.......................................................................40 PERTEMUAN 10&11. QUERY STANDAR DAN VARIASINYA ................44 A. Tujuan.........................................................................................................44 B. Landasan Teori ...........................................................................................44 C. Langkah-langkah Praktikum.......................................................................50 D. Tugas ..........................................................................................................51 PERTEMUAN 12&13. AGREGASI................................................................. 52 A. Tujuan.........................................................................................................52 B. Landasan Teori ...........................................................................................52 C. Langkah-langkah Praktikum.......................................................................57 D. Tugas ..........................................................................................................58 PERTEMUAN 14. DATA CONTROL LANGGUAGE................................... 59 A. Tujuan.........................................................................................................59 B. Landasan Teori ...........................................................................................59 C. Langkah-langkah Praktikum.......................................................................62 D. Tugas ..........................................................................................................64 PERTEMUAN 15. SUB QUERY .......................................................................65 iv A. Tujuan.........................................................................................................65 B. Landasan Teori ...........................................................................................66 C. Langkah-langkah Praktikum.......................................................................70 DAFTAR PUSTAKA ...........................................................................................71


v


PERTEMUAN 1 & 2 PERANCANGAN BASIS DATA A. Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Mahasiswa memahami makna entitas, atribut, dan relasi. 2. Mahasiswa memahami tahap-tahap normalisasi. 3. Mahasiswa mampu merancang basis data melalui tahap-tahap perancangannya. B. Landasan Teori 1. Konsep Dasar Basis Data Basis Data (Database) dapat dibayangkan sebagai sebuah lemari arsip. Jika kita memiliki sebuah lemari arsip dan berwenang untuk mengelolanya. Atau kumpulan informasi yang terorganisasi dan disajikan untuk tujuan khusus. Prinsip utama basis data adalah pengaturan data atau arsip. Sedangkan tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan data atau arsip. Sedangkan sistem basis data merupakan perpaduan antara basis data dan sistem manajemen basis data (DBMS). DBMS (Database Management System) adalah software yang menangani semua akses ke basis data. Contoh dari DBMS yaitu Microsoft Access, MySQL, Oracle, Server 2000, Interbase, Paradox, dan Lain-Lain. Komponen-komponen basis data antara lain : 1. Entitas Entity adalah suatu obyek yang dapat dikenali dari obyek yang lain. Contoh : seseorangyang khusus, perusahaan, peristiwa, tanaman dan lainlain. Entity mempunyai atribut, contoh : seseorang mempunyai nama dan alamat. Kumpulan entity adalah suatu kumpulan entity dengan tipe yang sama yang berbagi properti yang sama pula. Contoh : kumpulan orang, perusahaan, tanaman, tempat liburan dan lain-lain. 2. Atribut Entity ditampilkan oleh sekumpulanattribute, yang mana properti deskriptifnya dikuasaioleh seluruh anggota dalam kumpulan entity. 1


2 Tipe attribute : 1. Simple (sederhana) dan composite (gabungan) attributes. 2. Single-valued (satu-fungsi ) dan multi-valued (multi-fungsi ) attributes. Contoh : atribut multi-fungsi : nomor telepon 3. Derived (turunan)attributes : dapat diperhitungkan dari atribut lain Contoh : umur,tanggal kelahiran. 3. Relasi Relationship adalah kesesuaian antar beberapa entity. Relationship set adalah hubunganmatematika antara entity n>2, tiap bagiannya diambil dari satuan entity {(e1, e2, … en) | e1Î E1, e2Î E2, …, en Î En} dimana (e1, e2, …, en) adalah relationship. Attribute dapat merupakan properti dari relationship set. Sebagai contoh: depositor merupakan relationship set antara entity sets customer dan account mungkin beratribut access-date. Mengacu pada jumlah entity sets yang terlibatdalam relationship set. Relationship sets yang melibatkan dua entity sets adalah binary(atau tingkat dua). Umumnya, hampir semua relationship sets dalam sistem database adalah binary. Relationship sets mungkin melibatkan lebih dari dua entity sets. Contoh : misal seorang pegawai bank bekerja (bertanggung jawab) dalam beberapa cabang, dengan tugas yang berlainan dalam setiap cabang yang berlainan pula. Maka disini terdapat relationship set ternary antara entity sets pegawai (employee), tugas (job) dan cabang(branch). Relationships antara lebih dari dua entity sets sangat jarang. 4. Mapping Cardinalities Mengungkap jumlah entitas ke entitas yang lain bisa dihubungkan melalui relationship set. Cardinalitas pemetaan paling banyak digunakan dalam menggambarkan relationship sets biner. Untuk relationship set biner cardinalitas pemetaan harus merupakan salah satu dari tipe berikut: 1. One to one (satu ke satu) 2. One to many (satu ke banyak) 3. Many to one (banyak ke satu) 4. Many to many (banyak ke banyak)


3 Gambar 1. (a) One To One, (b) One To Many Gambar 2. (a) Many To One, (b) Many To Many 5. Entity Relationship Diagram Mencerminkan model database: hubungan antara entities (tabel-tabel) dan relationships (hubungan-hubungan) di antara entities tersebut. Gambar 3. Contoh ERD · Rectangles melambangkan set-set entitas .


4 · Diamonds melambangkan set-set hubungan (relationship) . · Lines menghubungkan atribut dengan set-set entitas serta set-set entitas dengan set-set hubungan (relationship). · Ellipses mewakiliattributes - Double ellipses mewakili atributmultivalued. - Dashed ellipses menunjukkan sifat yang didapat.. - Underline menunjukkan sifat kunci pokok (Primary key) 6. Aturan untuk Rancangan Database 1. Tiap baris harus berdiri sendiri (independent): tidak tergantung baris-baris yang lain, dan urutan baris tidak mempengaruhi model database. 2. Tiap baris harus unik: tidak boleh ada 2 atau lebih baris yang sama persis. 3. Kolom harus berdiri sendiri (independent): tidak tergantung kolom-kolom yang lain, dan urutan kolom tidak mempengaruhi model database. 4. Nilai tiap kolom harus berupa satu kesatuan: tidak berupa sebuah daftar. 7. Tahap Pembuatan Database a. Tahap 1 : Tentukan Entitas Tentukan entities (object-object dasar) yang perlu ada di database. Sifat-sifat entity: · Signifikan: memang perlu disimpan di database · Umum: tidak menunjuk pada sesuatu yang khusus · Fundamental: dapat berdiri sendiri sebagai entity yang dasar dan independent · Unitary: merupakan satu kesatuan yang tidak dapat dipecah lagi b. Tahap 2 : Tentukan Atribut Tentukan attributes (sifat-sifat) masing-masing entity sesuai kebutuhan database • Tentukan sifat-sifat (fields atau kolom) yang dimiliki tiap entity, serta tipe datanya. • Attribute yang sesuai harus: 1. Signifikan: memang penting dan perlu dicatat di dalam database 2. Bersifat langsung (direct), bukan derived. Contoh attribute direct: tanggal_lahir. Contoh attribute derived: umur


5 • Tentukan attribute yang menjadi Primary Key untuk entity yang bersangkutan. • Jika satu attribute tidak cukup, gabungan beberapa attribute bisa menjadiComposite Primary Key. • Jika Composite Primary Key banyak (lebih dari 3 attribute), sebaiknya menambahkan attribute buatan yang menjadi Primary Key yang tunggal. c. Tahap 3 : Tentukan Relasi Tentukan relationships (hubungan-hubungan) di antara entities tersebut : • Tentukan jenis hubungan di antara entity yang satu dengan entities yang lain. • Macam hubungan ada 3: 1. One-to-one (1:1) 2. One-to-many (1:n) 3. Many-to-many (m:n) • Dalam membentuk hubungan di antara 2 entities, tentukan attribute mana yang digunakan untuk menghubungkan kedua entities tersebut. • Tentukan entity mana yang menjadi tabel utama, dan entity mana yang menjadi tabel kedua. • Attribute (dari tabel utama) yang menghubungkannya dengan tabel keduamenjadi Foreign Key di tabel kedua. d. Tahap 4 : Pembuatan ERD • Buat Entity Relationship Diagram (ERD) berdasarkan hasil dari Tahap1- 3. • Ada berbagai macam notasi untuk pembuatan ERD. • Anda bisa menggunakan software khusus untuk menggambar ERD. d. Tahap 5 : Normalisasi Basis Data e. Tahap 6 : Implementasi Basis Data A. Langkah-Langkah Praktikum Rancanglah basis data untuk menyelesaikan permasalahan berikut ini. Suatu perusahaan software diminta membuatkan basis data yang akan


6 menangani data-data perbankan. Data-data yang akan ditanganinya adalah: data pribadi mengenai nasabah, data account deposit yang dimiliki oleh nasabah, cabang bank di mana nasabah membuka depositnya, dan data transaksi yang dilakukan nasabah. Nasabah boleh mempunyai lebih dari satu account deposit, dan satu account deposit boleh dimiliki oleh lebih dari satu nasabah sekaligus (joint account). Langkah-langkah perancangan database perbankan : 1. Menentukan entities (object-object dasar) yang perlu ada di database. nasabah: menyimpan semua data pribadi semua nasabah rekening: menyimpan informasi semua rekening yang telah dibuka cabang_bank: menyimpan informasi tentang semua cabang bank transaksi: menyimpan informasi tentang semua transaksi yang telah terjadi 2. Menentukan attributes (sifat-sifat) masing-masing entity sesuai kebutuhan database nasabah: rekening: 1. id_nasabah: nomor id untuk nasabah (integer) PK 2. nama_nasabah: nama lengkap nasabah (varchar(45)) 3. alamat_nasabah: alamat lengkap nasabah (varchar(255)) 1. no_rekening: nomor rekening (integer) PK 2. pin : personal identification number (varchar(10)) 3. saldo: jumlah saldo rekening dalam Rp (integer) cabang_bank: 1. kode_cabang: kode untuk cabang bank (varchar(10)) PK 2. nama_cabang: nama lengkap cabang bank (varchar(20)) 3. alamat_cabang: alamat lengkap cabang bank (varchar(255)) transaksi: 1. no_transaksi: nomor transaksi (integer) PK 2. jenis_transaksi: kredit atau debit (varchar(10)) 3. tanggal: tanggal terjadinya transaksi (date) 4. jumlah: besarnya transaksi dalam Rp (integer)


7 3. Menggambar ERD Diagram Gambar 4. Contoh ERD B. Tugas 1. Buatlah rancangan sebuah database untuk menangani data-data kuliah. Data-data yang akan ditanganinya adalah: data pribadi mengenai mahasiswa, data pribadi mengenai dosen, data mata kuliah dan data ruang kelas. Mahasiswa boleh mengambil lebih dari satu mata kuliah, dan satu mata kuliah boleh diambil oleh lebih dari satu mahasiswa sekaligus (joint account). Buatlah ER Diagram manual untuk kasus tersebut dari tahap 1 sampai tahap 3! 2. Ambil contoh sembarang database (harus berbeda untuk setiap mahasiswa). Buatlah rancangan ER Diagram manual database tersebut dari tahap 1 sampai tahap 3, dengan ketentuan database minimal mengandung 4 buah entitas.


8 PERTEMUAN 3 NORMALISASI DATABASE A. Tujuan 1. Menguasai konsep normalisasi dan tujuan dilakukan normalisasi 2. Mampu mengidentifikasi kemungkinan adanya insert, update dan delete anomaly darisuatu tabel tertentu 3. Menguasai konsep bentuk normal 1st NF, 2nd NF, 3rd NF dan BCNF 4. Mampu melakukan normalisasi bentuk normal 1st NF, 2nd NF, 3rd NF dan BCNFdengan benar dari suatu tabel tertentu. B. Landasan Teori Normalisasi adalah proses pengelompokan atribut data yang membentuk entitassederhana, non-redundan, fleksibel, dan mudah beradaptasi. Sehingga dapat dipastikan bahwadatabase yang dibuat berkualitas baik. Tujuan Normalisasi Database adalah untuk menghilangkan dan mengurangi redudansi datadan memastikan dependensi data (Data berada pada tabel yang tepat).Jika data dalam database tersebut belum di normalisasi maka akan terjadi 3 kemungkinan yangakan merugikan sistem secara keseluruhan. Anomali merupakan penyimpanganpenyimpangan atau error atau inkonsistensi data yang terjadi pada saat dilakukan proses delete,insert ataupun modify dalam suatu basis data. C. Langkah-Langkah Praktikum 1. Tahapan Normalisasi Database: a) Unnormalized Form (UNF) / Bentuk Tidak Normal Merupakan bentuk tidak normal berdarsarkan data yang diperoleh dan mengandungkerangkapan data. Kumpulan data yang akan direkam, tidak ada keharusan mengikuktiformat tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apaadanya.


9 Gambar 5. Contoh Faktur Pembelian Tabel 1. Pelanggan Biaya Tidak Normal No Pelanggan Nama Nomor Property Alamat Property Tgl Pinjam Tgl Selesai Biaya Nomor Pemilik Nama Pemilik CR76 John Key PG4 Jl. Aai / 07, Jakarta 1/7/1993 31/8/1995 350 CO04 Ewin PG16 Jl. Huzai / 12,Jakarta 1/9/1995 1/9/1996 450 CO93 Durki b) First Normal Form (1NF) Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agarmenjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dansetiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value). Atomadalah zat terkecil yang masih memiliki sifat induknya, bila terpecah lagi maka ia tidakmemiliki sifat induknya.Syarat: • Tidak ada kolom multivalue • Tidak ada kolom dengan domain yang sama Langkah pertama yang dilakukan pada Tabel Pelanggan Biaya (pada gambar1tersebut adalah menghilangkan elemen data yang berulang dengan data-data Pelangganyang sesuai pada setiap baris.Hasil dari tabel yang telah memenuhi bentuk normal pertamadapat dilihat pada gambar 2.


10 Tabel 2.Pelanggan_Biaya(1NF) No Pelanggan Nama Nomor Property Alamat Property Tgl Pinjam Tgl Selesai Biaya Nomor Pemilik Nama Pemilik CR76 John Key PG4 Jl. Aai / 07, Jakarta 1/7/1993 31/8/1995 350 CO04 Ewin CR76 John Key PG16 Jl. Huzai / 12,Jakarta 1/9/1995 1/9/1996 450 CO93 Durki c) Second Normal Form (2NF) Entitas yang atribut non-primary key-nya hanya tergantung pada full primary key.Bentuk normal kedua didasari atas konsep full functional dependency (ketergantunganfungsional sepenuhnya). Tabel 3. Pelanggan No_Pelanggan Nama CR76 John Key CR76 John Key Tabel 4. Property Nomor_Property Alamat_Property Biaya PG4 Jl. Aai / 07, Jakarta 350 PG16 Jl. Huzai / 12, Jakarta 450 Tabel 5. Pemilik Nomor_Pemilik Nama_Pemilik CO04 Ewin CO93 Durki d) Third Normal Form (3NF) Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF,namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomalyperemajaan (update) terhadap relasi tersebut. Jika kita hanya mengupdate satu baris saja,sementara baris yang lainnya tidak, maka data di dalam database tersebut akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungantransitif (transitive dependency). Kita harus


11 menghilangkan ketergantungan tersebutdengan melakukannormalisasi ketiga (3-NF).Syarat: • Bentuk data telah memenuhi kriteria bentuk normal kedua. • Atribute bukan kunci (non-key) harus tidak memiliki ketergantungan transitif,dengan kata lain suatu atribut bukan kunci (non_key) tidak boleh memilikiketergantungan fungsional (functional dependency) terhadap atribut bukan kuncilainnya, seluruh atribut bukan kunci pada suatu relasi hanya memilikiketergantungan fungsional terhadap priamry key di relasi itu saja. Tabel 6. Tabel Normalisasi No_Pelanggan Nomor_Property Nomor_Pemilik Alamat_Property Tgl_Pinjam Tgl_Selesai Biaya CR76 PG4 CO04 Jl. Aai / 07, Jakarta 1/7/1993 31/8/1994 350 CR76 PG16 CO93 Jl. Huzai / 12, Jakarta 1/9/1995 1/8/1996 450 D. Tugas 1. Lakukan proses normalisasi dari mulai 1 NF sampaidengan 3NF pada faktur berikut : 2. Ambil contoh sembarang faktur (harus berbeda untuk setiap mahasiswa). Lakukan proses normalisasi dari mulai 1 NF sampaidengan 3NF pada faktur tersebut.


PERTEMUAN 4 INSTALASI MySQL A. Tujuan 1. Mengenali lingkungan kerja MySQL 2. Mengenal format Perintah di MySQL 3. Mengenal Perintah-Perintah Sederhana di MySQL 4. Mahasiswa memahami cara instalasi MySQL. 5. Mahasiswa memahami cara konfigurasi MySQL B. Landasan Teori 1. MySQL MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL atau DBMS yang multi-thread, multi-user, dengan sekitar 6 juta instalasi seluruh dunia.MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public License (GPL), tetapi mereka juga menjual di bawah lisensi komersial untuk kasus-kasus di mana penggunaannya tidak cocok dengan penggunaan GPL. MySQL adalah sebuah implementasi dari sistem manajemen basis data relational (RDBMS) yang didistribusikan secara gratis.Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan bahwa perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial.MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumnya.SQL (Structured Query Language) merupakan sebuah konsep pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. 12


13 C. Format Perintah Berikut adalah ketentuan-ketentuan memberi perintah pada MySQL: Ø Setiap perintah harus diakhiri dengan tanda titik koma, kecuali untuk perintahtertentu, misalnya : quit. Ø Setiap perintah akan disimpan dalam buffer (memori sementara) untuk menyimpanhistori perintah-perintah yang pernah diberikan. Ø Perintah dapat berupa perintah SQL atau perintah khusus MySQL. Ø Perintah-perintah dalam lingkungan MySQL tidak menerapkan aturan case sensitive, Ø tetapicase insensitive yaitu perintah bisa dituliskan dalam huruf besar atau pun hurufkecil. Ø Aturan case sensitive diterapkan pada penamaan objek-objek dalam database sepertinama database atau nama table, namun aturan ini hanya ada dalam lingkungan Unixdan Linux. Ada beberapa tanda yang sering muncul di prompt : Gambar 6. Perintah Command Prompt Berikut cara memulai MySQL dengan menggunakan bantuan XAMPP. Aktifkan XamppControl Panel Application, klik start apache dan mysql.


14 Gambar 7.XamppControl Panel Aktifkan command prompt, lalu ketik seperti gambar berikut: Gambar 8.Aktifasi MySQL di Command Prompt Sedangkan untuk stop atau keluar dari MySQL dapat menggunakan perintah :\q, exit dan quit.


15 Gambar 9. keluar dari MySQL 2. Instalasi MySQL pada XAMPP Saat ini versi open source MySQL yang dapat didownload dan digunakan secara gratis adalah MySQL Community Server 5.529.Versi ini merupakan versi MySQL yang sering digunakan dalam pengembangan website.Biasanya dalam paket apache server XAMPP di Windows terdapat MySQL. Pada XAMPP, MySQL dikendalikan secara administratif menggunakan Bahasa PHP yang kemudian user interface nya dalam bentuk phpMyAdmin. Gambar 10. Tampilan Antarmuka phpMyAdmin


16 Ikuti langkah-langkah berikut ini untuk melakukan instalasi XAMPP.Untuk mendapatkan installer XAMPP anda dapat mengakses ke halaman https://www.apachefriends.org/download.html. Langkah 1. Non-aktifkan anti-virus karena dapat menyebabkan beberapa komponen XAMPP yang tidak bias di install dengan lancer. Langkah 2. Untuk pengguna Windows 7 atau Windows 8 anda akan melihat jendela pop up, peringatan tentang User Account Control (UAC) yang aktif pada sistem. Klik “OK” untuk melanjutkan installasi. Gambar 11. User Account Control Warning Langkah 3. Mulai proses instalasi dengan klik dua kali pada installer XAMPP. Klik “Next” setelah splash screen.


17 Gambar 12. Splash Screen XAMPP Langkah 4. Di sini, kita dapat memilih komponen apa saja yang ingin kita install. Pilih pilihan default dan pilih “Next”. Gambar 13. Pilihan Komponen yang Akan diinstall Langkah 5.


18 Pilih folder sebagai tempat XAMPP akan diinstal, di folder ini kita akan menyimpan semua file aplikasi web kita, jadi pastikan untuk memilih drive yang masih memiliki banyak ruang (space). Gambar 14. Pemilihan Folder Instalasi Langkah 6. Layar berikutnya adalah promo untuk Bitnami, sebuah took aplikasi untuk server perangkat lunak. Hapus centang pada kotak “Learn mo re about Bitnami for XAMPP”. Gambar 15. Promo Bitnami


19 Langkah 7. Sekarang Setup sudah siap untuk menginstall XAMPP.Klik Next dan tunggu instaler untuk membongkar paket-nya dan memasang komponen yang dipilih.Mungkin memakan waktu beberapa menit. Nanti mungkin kita akan diminta untuk menyetujui akses Firewall untuk komponen tertentu (seperti Apache) selama proses instalasi. Langkah 8. Proses Install sudah selesai! Pilih Kotak centang ‘Do you want to start the Control Panel now?’ untuk membuka panel kontrol XAMPP. Gambar 16. Finish Installation C. Langkah-Langkah Praktikum 1. Mengakses PhpMyAdmin Langkah 1. Buka XAMPP Control Panel.


20 Gambar 17. XAMPP Control Panel Langkah 2. Jalankan Apache Server dan MySQL Server dengan menekan tombol “Start”. Tunggu hingga muncul warna hijau pada nama Module. Gambar 18.Service telah berjalan Langkah 3. Buka web browser anda dan ketikan http://localhost/phpmyadmin/.


21 Gambar 19.Tampilan Halaman Depan phpMyAdmin Langkah 4. Pada halaman PhpMyAdmin ini kita dapat melakukan pembangunan basis data dan juga melakukan manipulasi isi basis data dengan MySQL.PhpMyAdmin merupakan halaman GUI administratif MySQL server yang saat ini paling banyak dipakai dalam pengembangan aplikasi berbasis web. 2. Mengakses MySQL lewat command prompt Langkah 1. Pastikan bahwa server MySQL telah berjalan. Gambar 20.Service yang sedang berjalan


22 Langkah 2. Buka command prompt dan ketik ‘cd\’ dan tekan “Ente r”. Sehingga anda akan berada di direktori (C:\). Gambar 21.Tampilan Window Command Prompt Langkah 3. setelah itu arahkan ke folder C:\xampp\mysql\bin, caranya ketik ‘cd C:\xampp\mysql\bin’ (tanpa ‘ ‘) kemudian tekan tomb ol Enter. Gambar 22.Arahkan ke directory C:\xampp\mysql\bin


23 Langkah 4. setelah berada di dalam folder C:\xampp\mysql\bin, baru anda dapat mengakses mysql. ketik : ‘mysql -u root -p’ (tanpa ‘ ‘) kemud ian tekan tombol Enter. Masukkan password (jika ada) kemudian klik tombol Enter lagi (seara default tidak ada password untuk root). Gambar 23.Login ke MySQL Langkah 5. Setelah tampilan seperti di Gambar 1.15 berarti anda telah berhasil masuk ke MySQL sebagai root user. Untuk melihat database yang ada pada server anda dapat mengetikan ‘show databases;’. Jangan lupa unt uk selalu mengakhiri command dengan ‘;’.


24 Gambar 24.Menampilkan Database yang ada di Server


PERTEMUAN 5 PERANCANGAN DATABASE DENGAN DBDESIGNER A. Tujuan 1. Mahasiswa mampu merancang basis data melalui tahap-tahap perancangannya. 2. Mahasiswa mampu mewujudkan hasil perancangan basis data ke dalam diagram E-R menggunakan DBDesigner. B. Landasan Teori Landasan teori pada modul Bab 1 dan 3. C. Langkah-langkah Praktikum 1. Menggambar ER Diagram dengan menggunakan DB Designer : a. Jalankan program aplikasi DB Designer b. Klik button new table kemudian klik pada area kerja sehingga akan menghasilkan tabel baru. c. Double klik pada tabel baru untuk membuka tabel editor, ganti nama pada table name dengan nama nasabah, kemudian isikan atribut tabel dengan data sperti pada langkah nomor 2 yaitu sebagai berikut : Tabel 7.Nasabah Coloumn Name Data Type id_nasabah Integer nama_nasabah Varchar(45) alamat_nasabah Varchar(255) d. Klik pada coloumn name id_nasabah untuk mengeset id_nasabah menjadi primary key sehingga berubah menjadi . e. Klik untuk menutup table editor sehingga tabel nasabah menjadi : 25


26 Gambar 2. Tabel Pelanggan f. Lakukan langkah b sampai e untuk membuat tabel rekening, cabang_bank dan transaksi. g. Setelah semua tabel dibuat, hubungkan setiap tabel dengan tabel lain dengan button sebagai berikut : Tabel 8. Relasi Button Fungsi Relationship 1:n (one to many) 1:1 (one to one) n:m (many to many) h. Ubah nama relationship dengan membuka relationship editor, sehingga setelah selesai hasil akhir manjadi seperti berikut : Gambar 1.ERD dengan menggunakan DB Designer


27 A. Tugas Dari tugas pada modul 1&2 soal nomor 1 dan 2, buatlah rancangan basis data dari tahap 1 sampai tahap 4. Gunakan program DB Designer untuk membuat ER Diagram.


PERTEMUAN 6 DATA DEFINITION LANGUAGE (DDL) A. Tujuan 1. Mahasiswa mampu membuat struktur tabel-tabel basis data berdasarkan perancangan di modul 4 dan mengimplementasikan tabel-tabel tersebut di basis data. B. Landasan Teori Basis data dapat diimplementasikan berdasarkan E-R diagram yang telah dibuat. Implementasi database bisa: 1. Secara manual (dengan perintah SQL ‘CREATE TABLE’) 2. Secara semi-manual dengan bantuan client berbasis GUI (MySQL Front, PgAccess, phpPgAdmin, dst.) 3. Secara otomatis dengan CASE Tools (DBDesigner) C. Langkah-langkah Praktikum 1. Jalankan XAMPP Control Panel. 2. Jalankan server Apache dan MySQL. 3. Buka Command Prompt dan login sebagai root ke MySQL seperti di langkah pada Modul 1. 4. Buat database baru dengan perintah berikut ini. create database perbankan; Gambar 2. Membuat Database Perbankan 28


29 CREATE TABLE nasabah ( id_nasabah INTEGER PRIMARY KEY, nama_nasabah VARCHAR(45) NOT NULL, alamat_nasabah VARCHAR(255) NOT NULL ); CREATE TABLE cabang_bank ( kode_cabang VARCHAR(20) PRIMARY KEY, nama_cabang VARCHAR(45) UNIQUE NOT NULL, alamat_cabang VARCHAR(255) NOT NULL ); CREATE TABLE rekening ( no_rekening INTEGER PRIMARY KEY, kode_cabangFK VARCHAR(20) REFERENCES cabang_bank(kode_cabang) ON DELETE CASCADE ON UPDATE CASCADE, pin VARCHAR(20) DEFAULT '1234' NOT NULL, saldo INTEGER DEFAULT 0 NOT NULL ); CREATE TABLE transaksi ( no_transaksi SERIAL PRIMARY KEY, id_nasabahFK INTEGER REFERENCES nasabah(id_nasabah) ON DELETE SET NULL ON UPDATE CASCADE, no_rekeningFK INTEGER REFERENCES rekening(no_rekening) ON DELETE SET NULL ON UPDATE CASCADE, jenis_transaksi VARCHAR(20) DEFAULT 'debit' NOT NULL, tanggal DATETIME NOT NULL DEFAULT CURRENT_TIMESTAMP, jumlah INTEGER NOT NULL CHECK (jumlah>=20000)); 5. Hubungkan ke dalam database yang telah dibuat dengan perintah berikut. Sehingga akan muncul pemberitahuan “database changed”. use perbankan; Gambar 3.Database Changed 6. Membuat tabel nasabah dengan script berikut. 7. Membuat tabel cabang_bank dengan script berikut. 8. Membuat tabel rekening dengan script berikut. 9. Membuat tabel transaksi dengan script berikut ini.


30 10. Membuat tabel nasabah_has_rekening dengan script berikut ini. 11. Untuk mengecek hasil pembuatan database gunakan perintah show tables; Gambar 4.Show Tables 12. Kemudian untuk melihat struktur tiap tabel dapat dilakukan dengan perintah describe. Misalkan untuk meihat struktur tabel nasabah dapat dilakukan dengan perintah describe nasabah; Gambar 5.Describe Nasabah A. Tugas Implementasikan hasil rancangan database yang menangani pada tugas modul pertemuan 3 ke dalam program mysql.Screenshoot setiap langkah yang kalian kerjakan dan masukkan hasil screenshoot ke dalam Microsoft Word.


PERTEMUAN 7 LANJUTAN DATA DEFINITION LANGUAGE (DDL) A. Tujuan 1. Mahasiswa mampu membuat struktur tabel-tabel basis data berdasarkan perancangan di modul 4 dan mengimplementasikan tabel-tabel tersebut di http://localhost/phpmyadmin. B. Landasan Teori Basis data dapat diimplementasikan berdasarkan E-R diagram yang telah dibuat. Implementasi database bisa: 1. Secara manual (dengan perintah SQL ‘CREATE TABLE’) 2. Secara semi-manual dengan bantuan client berbasis GUI (MySQL Front, PgAccess, phpPgAdmin, dst.) 3. Secara otomatis dengan http://localhost/phpmyadmin. C. Langkah-langkah Praktikum 1. Jalankan XAMPP Control Panel. 2. Jalankan server Apache dan MySQL. 3. Buka browser, kemudian tuliskan http://localhost/phpmyadmin di browser. 31


32 Gambar 6.Tampilan Halaman Depan phpMyAdmin 4. Membuat database baru dengan mengklik ‘Databases’. 5. Buat nama database ‘Perbankan2’ pada ‘Create Database’ kemudian klik tombol ‘Create’. Gambar 7.Create Database 6. Buat tabel nasabah dengan jumlah field 3, kemudian kli ‘Go’.


33 Gambar 8.Create Table 7. Isi nama field da nisi komponen field sebagai berikut : Gambar 9.Create Field 8. Hasil dari pembuatan field pada tabel nasabah sebagai berikut :


34 Gambar 10.Field Tabel Nasabah 9. Membuat tabel cabang_bank dengan hasil berikut. Gambar 11.Tabel Cabang_Bank 10. Membuat tabel rekening dengan hasil berikut.


35 Gambar 12.Tabel Rekening 11. Membuat tabel transaksi dengan hasil berikut. Gambar 13.Tabel Transaksi 12. Membuat tabel nasabah_has_rekening dengan hasil berikut.


36 Gambar 14.Tabel Nasabah_Has_Rekening 13. Tabel-tabel yang telah dibuat pada database perbankan2. Gambar 15. Tabel-Tabel Perbankan2 D. Tugas Implementasikan hasil rancangan database yang menangani pada tugas modul pertemuan 4 ke dalam http://localhost/phpmyadmin. Screenshoot setiap langkah yang kalian kerjakan dan masukkan hasil screenshoot ke dalam Microsoft Word


PERTEMUAN 8 UJIAN TENGAH SEMESTER (UTS) 37


38 PERTEMUAN 9 DATA MANIPULATION LANGUANGE A. Tujuan Setelah menyelesaikan modul ini, anda diharapkan dapat : 1. Menge Mahasiswa mampu memahami dan mengisi tabel dalam database. 2. Mahasiswa mampu memahami dan memanipulasi data dalam database. B. Landasan Teori Data Manipulation Language (DML) adalah suatu statement yang dijalankan pada saat kita memerlukan : • penambahan baris baru pada table. • memodifikasi baris yang ada pada table. • menghapus baris yang ada pada table. DML Statement identik dengan operasi INSERT, MODIFY dan DELETE. Istilah Transaksi mengandung pengertian kumpulan Statement DML yang membentuk suatu fungsi tertentu. 1. Menambahkan Baris Baru Ke Dalam Tabel (INSERT) Menambahkan baris baru ke dalam table menggunakan perintah INSERT. INSERT INTO table [(column [, column …] ) ] VALUES (value [, value…] ); Contoh : 2. Perubahan Data Dalam Tabel (UPDATE). Untuk memodifikasi baris data yang ada pada table digunakan perintah UPDATE. Sintak dari perintah UPDATE :


39 3. Menghapus Data Dalam Tabel (DELETE). Baris data yang ada pada table dapat dihapus dengan menggunakan perintah DELETE. DELETE FROM table [WHERE condition] 4. Transaksi Dalam Database Jika DML berkaitan dengan manipulasi data pada table, maka DDL (Data Definition Language) berkaitan dengan pendefinisian table, sedangkan DCL (Data Control Language) berkaitan kontrol transaksi. DDL dan DCL secara otomatis akan di-commit (dilakukan perubahan secara permanen) pada akhir dari transaksi. Ada 2 statement DCL yang penting yaitu COMMIT dan ROLLBACK, selain dari itu ada SAVEPOINT.Perintah COMMIT menandai perubahan secara permanen.pada data. Sedangkan ROLLBACK mengembalikan keadaan sesuai dengan titik (keadaan) yang ditandai dengan SAVEPOINT, atau jika ROLLBACK tidak diberi parameter maka keadaan akan dikembalikan pada titik perubahan yang terakhir. Transaksi akan diproses secara implicit atau dilakukan operasi COMMIT secara otomatis, untuk keadaan berikut : • Setelah Statement DDL diberikan. • Setelah Statement DCL diberikan. • Proses exit secara normal dari SQL*PLUS. Sedangkan perintah ROLLBACK secara otomatis akan dijalankan jika terjadi kondisi yang abnormal atau terjadi system failure. UPDATE table SET column = value [, column = value, …] [WHERE condition];


40 C. Langkah-langkah praktikum 1. Jalankan XAMPP Control Panel. 2. Jalankan server Apache dan MySQL. 3. Buka Command Prompt dan login sebagai root ke MySQL seperti di langkah pada Modul 1. 4. Pilih database perbankan dengan perintah “use perbankan”. Sehingga akan muncul pemberitahuan “database changed” 5. Kemudian masukan data-data berikut ini ke dalam database perbankan. Tabel : nasabah id_nasabah nama_nasabah alamat_nasabah 1 Sutopo Jl. Jendral Sudirman 12 2 Maryati Jl. MT. Haryono 31 3 Suparman Jl. Hasanudin 81 4 Kartika Padmasari Jl. Manggis 15 5 Budi Eko Prayogo Jl. Kantil 30 6 Satria Eka Jaya Jl. Slamet Riyadi 45 7 Indri Hapsari Jl. Sutoyo 5 8 Sari Murti Jl. Pangandaran 11 9 Canka Lokananta Jl. Tidar 86 10 Budi Murtono Jl. Merak 22 Tabel : cabang_bank kode_cabang nama_cabang alamat_cabang BRUS Bank Rut Unit Surakarta Jl. Slamet Riyadi 18 BRUM Bank Rut Unit Magelang Jl. P. Tendean 63 BRUB Bank Rut Unit Boyolali Jl. Ahmad Yani 45 BRUK Bank Rut Unit Klaten Jl. Suparman 23 BRUY Bank Rut Unit Yogyakarta Jl. Anggrek 21 BRUW Bank Rut Unit Wonogiri Jl. Untung Suropati 12


41 Tabel : rekening no_rekening kode_cabang pin saldo 101 BRUS 1111 500000 102 BRUS 2222 350000 103 BRUS 3333 750000 104 BRUM 4444 900000 105 BRUM 5555 2000000 106 BRUS 6666 3000000 107 BRUS 7777 1000000 108 BRUB 0000 5000000 109 BRUB 9999 0 110 BRUY 1234 550000 111 BRUK 4321 150000 112 BRUK 0123 300000 113 BRUY 8888 255000 Tabel : nasabah_has_rekening id_nasabah no_rekening 1 104 2 103 3 105 3 106 4 101 4 107 5 102 5 107 6 109 7 109 8 111


42 9 110 10 113 8 112 10 108 Tabel : transaksi no_trans Aksi no_reke ning id_nasaba h jenis_trans aksi tanggal jumlah 1 105 3 debit 2009-11-10 50000 2 103 2 debit 2009-11-10 40000 3 101 4 kredit 2009-11-12 20000 4 106 3 debit 2009-11-13 50000 5 107 5 kredit 2009-11-13 30000 6 104 1 kredit 2009-11-15 200000 7 110 9 kredit 2009-11-15 150000 8 102 5 debit 2009-11-16 20000 9 105 3 kredit 2009-11-18 50000 10 107 4 debit 2009-11-19 100000 11 103 2 debit 2009-11-19 100000 12 104 1 debit 2009-11-19 50000 13 107 4 kredit 2009-11-20 200000 14 105 3 debit 2009-11-21 40000 15 104 1 kredit 2009-11-22 100000 16 101 4 kredit 2009-11-22 20000 17 103 2 debit 2009-11-22 50000 18 102 5 debit 2009-11-25 50000 19 108 10 debit 2009-11-26 100000 20 106 3 kredit 2009-11-27 50000 21 103 2 kredit 2009-11-28 200000 22 105 3 kredit 2009-11-28 100000


43 23 102 5 debit 2009-11-30 20000 24 104 1 debit 2009-12-1 50000 25 103 2 debit 2009-12-2 40000 26 101 4 debit 2009-12-4 50000 27 103 2 kredit 2009-12-5 100000 28 102 5 kredit 2009-12-5 200000 29 109 7 debit 2009-12-5 100000 30 110 9 debit 2009-12-6 200000 6. Lakukan update untuk kasus-kasus berikut ini. a. Nasabah dengan nama “Indri Hapsari” pindah alamat k e “Jalan Slamet Riyadi No.34”. b. Cabang dengan kode “BRUW” pindah ke alamat “Jalan A . Yani No.23”. 7. Lakukan penghapusan untuk kasus-kasus berikut. a. Nasabah dengan id “7” menutup rekeningnya. b. Cabang dengan nama_cabang “Bank Rut Unit Magelang” menutup kantornya.


44 PERTEMUAN 10 &11 Query Standar dan Variasinya A. Tujuan 1. Mahasiswa mampu menggunakan intruksi seleksi standard an beberapa variasi dasarnya. B. Landasan Teori SELECT STATEMENTS digunakan untuk menentukan atau memilih data yang akan ditampilkanketika melakukan query terhadap basis data. Struktur select statements di postgreSQL adalah sebagai berikut: SELECT [ ALL | DISTINCT [ ON ( expression [, ...] ) ] ] * | expression [ AS output_name ] [, ...] [ FROM from_item [, ...] ] [ WHERE condition ] [ GROUP BY expression [, ...] ] [ HAVING condition [, ...] ] [ { UNION | INTERSECT | EXCEPT } [ ALL ] select ] [ ORDER BY expression [ ASC | DESC | USING operator ] [, ...] ] [ FOR UPDATE [ OF tablename [, ...] ] ] [ LIMIT { count | ALL } ] [ OFFSET start ] 1. Contoh SELECT : • Untuk melihat semua kolom dari suatu tabel: SELECT * FROM nasabah; • Untuk melihat kolom(-kolom) tertentu: SELECT nama_nasabah FROM nasabah; SELECT id_nasabah, nama_nasabah FROM nasabah; • Secara umum: SELECT <nama kolom, ...> FROM <nama tabel>; 2. Columns Alias (AS) AS digunakan untuk mengganti nama kolom pada tampilan SELECT. Contoh:


Click to View FlipBook Version