BAB 2 LANDASAN TEORI. Menurut Connolly dan Begg (2005, p15), basis data (database) adalah

Ukuran: px
Mulai penontonan dengan halaman:

Download "BAB 2 LANDASAN TEORI. Menurut Connolly dan Begg (2005, p15), basis data (database) adalah"

Transkripsi

1 BAB 2 LANDASAN TEORI 2.1 Basis Data Menurut Connolly dan Begg (2005, p15), basis data (database) adalah kumpulan relasi logikal dari data (dan deskripsi dari data) yang digunakan secara bersama-sama dan didesain untuk memenuhi kebutuhan perusahaan akan informasi. Basis data merupakan katalog sistem (metadata) yang menyediakan deskripsi dari data sehingga memungkinkan kemandirian data-program (program data independence). Basis data juga dapat dideskripsikan sebagai relasi logikal dari data yang terdiri dari entitas-entitas, atribut-atribut, dan hubungan dari informasi organisasi atau perusahaan. Menurut Mannino (2004, p4), basis data adalah kumpulan dari data-data tetap yang saling berhubungan dan dapat digunakan bersamaan. Beberapa permodelan basis data yang pernah dikenal antara lain : Hierarchical Model : mengorganisasikan data dalam bentuk struktur pohon (tree), yang terdiri atas parent dan child. Network Model : seperti Hierarchical Model namun memungkinkan lebih dari satu parent pada setiap child (mendukung many-to-many). Relational Model : data diorganisasikan dalam bentuk tabel-tabel. Object-Relational Model : menambahkan konsep permodelan Class atau penggunaan objek-objek pada field-field di Relational Model. 6

2 7 Object-Oriented Model : merupakan penggabungan fungsi basis data ke dalam bahasa permrograman berorientasi objek. Semistructured Model : setiap baris data pada model ini memiliki struktur datanya (schema) masing-masing sehingga tidak ada batas yang jelas antara data dan strukturnya. Associative Model : setiap data terdiri dari item dan link, di mana link tersebut menjelaskan sumber, tujuan, dan hubungan di antaranya. Entity-Attribute-Value (EAV) Data Model : Setiap tabel memiliki 3 kolom yang terdiri dari entitas, atribut, dan nilai. Context Model : model ini menggabungkan semua model di atas. 2.2 Model Relasional Sejarah Model Relasional Model relasional pertama kali diajukan oleh E. F. Codd pada tahun 1970 dalam penelitiannya yang berjudul A Relational Model of Data for Shared Data Banks (Codd, 1970). Model ini lebih diterima dibandingkan model setoriented yang telah diajukan sebelumnya (Childs, 1968) dan telah menjadi dasar dari sistem basis data berbagai platform. Inti dari model relasional adalah sebagai berikut: - Memungkinkan independensi tingkat tinggi. Artinya aplikasi tool/alat bantu tidak akan mempengaruhi representasi data internal.

3 8 - Untuk menyediakan dasar substansial untuk mengatasi data semantik, konsistensi, dan redudansi, yang pada laporan penelitian E. F. Codd disebut dengan konsep relasi normalisasi yang artinya relasi tersebut tidak boleh ada suatu kelompok perulangan. - Memungkinkan ekspansi dari set-oriented DML (Data Manipulation Language). Ketertarikan vendor-vendor besar terhadap model relasional ini terlihat dari tiga proyek yang paling menonjol namun dengan perspektif yang berbeda. Proyek paling pertama dilakukan oleh IBM San Jose s Reseach Laboratory di California, dimana prototipe dari relasional DBMS System R dikembangkan pada akhir tahun 1970-an. Proyek ini bertujuan untuk membuktikan kepraktisan model relasional dengan menyediakan implementasi dari struktur data dan operasi. Tujuan lainnya adalah juga untuk membuktikan bahwa model relasional merupakan suatu implementasi dari sumber informasi yang sangat baik seperti manajemen transaksi, kontrol konkurensi, teknik recovery, optimasi query, keamanan data dan integritasnya, faktor manusia, dan antarmuka pengguna. Proyek ini mempelopori penelitian-penelitian pengembangan prototipe lainnya yang berdasarkan pada model relasional tersebut. Proyek System R memiliki dua inti pengembangan, yang pertama adalah pengembangan dari struktur bahasa query yang dinamakan sebagai SQL (Structured Query Language), yang secara resmi menjadi standar oleh ISO (International Organization for Standarization) dan secara de facto menjadi bahasa standar yang digunakan

4 9 untuk relasional DBMS (DataBase Management System). Sedangkan inti yang kedua adalah menghasilkan berbagai produk DBMS relasional yang dirilis pada akhir 1970-an dan 1980-an, sebagai contoh adalah DB2 dan SQL/DS yang diproduksi oleh IBM dan Oracle yang diproduksi oleh Oracle Corporation. Proyek yang kedua merupakan hasil pengembangan yang signifikan pada model relasional, yaitu INGRES (Interactive Graphics Retrieval System) yang dikembangkan oleh University of California di Berkeley pada waktu yang bersamaan dengan pengembangan proyek System R. Proyek INGRES terlibat pada pengembangan prototipe RDBMS yang mengfokuskan pada tujuan yang sama dengan proyek System R. Penelitian ini mengawali suatu versi akademik dari INGRES, dimana yang dikontribusikan untuk apresiasi umum dari konsep relasional dan menghasilkan produk komersial INGRES yang dikeluarkan oleh Relational Technology Inc. (sekarang INGRES 2 dari Computer Associates) dan Intelligent Database Machine dari Brittonlee Inc. Proyek yang ketiga adalah Peterlee Relational Test Vehicle di IBM UK Scientific Centre, Peterlee (Todd, 1976). Proyek ini lebih berorientasi ke arah teoritikal dibandingkan proyek System R dan INGRES. Pada prinsipnya, penelitian ini lebih ditujukan pada proses query, optimasi dan ekstensi fungsional. Sistem komersial yang didasarkan pada model relasional mulai semakin berkembang dan bermunculan pada akhir tahun 1970 dan awal tahun Terdapat ratusan macam produk RDBMS yang dapat digunakan untuk lingkungan mainframe atau PC, walaupun banyak diantaranya tidak

5 10 mengikuti definisi dari model relasional tersebut. Beberapa contoh dari RDBMS berbasis PC yaitu Access dan FoxPro yang dikeluarkan oleh Microsoft, Paradox oleh Corel Corporation, InterBase dan BDM oleh Borland, dan yang terakhir adalah R:Base oleh R:Base Technology. Gambar 2.1 menunjukkan arah perkembangan dari model relasional terhadap produkproduk RDBMS. Gambar 2.1 Sejarah Perkembangan Model Relasional Seiring dengan kepopuleran dari model relasional, banyak sistem nonrelasional yang kini dilengkapi dengan GUI (Graphical User Interface) relasional terlepas dari model yang ada. Computer Associates DBMS yang merupakan jaringan prinsip dari DBMS telah menjadi CA-IDMS SQL, yang mendukung view data relasional Pada mainframe DBMS lain, yang mendukung beberapa fitur relasional adalah Model 204 milik Computer

6 11 Corporation of America dan ADABAS milik software AG. Beberapa ekstensi dari model data relasional telah diajukan, sebagai contoh ekstensi pada: - Pengembalian arti data lebih dekat lagi (contohnya Codd, 1979) - Mendukung konsep yang berorientasi objek (contohnya Stonebraker dan Rowe, 1986) - Mendukung kemampuan deduktif (contohnya Gardarin dan Valduriez, 1989) Pengertian Model Relasional Konsep utama dari model relasional adalah semua data direpresentasikan sebagai sebuah n-relasi secara matematik, di mana n-relasi tersebut adalah subset dari produk Cartesian dari n-domain. Menurut Connolly dan Begg (2005, p45-46, p71), model relasional didasari oleh suatu konsep relasi matematika, di mana data dan relasi direpresentasikan dengan menggunakan tabel-tabel yang memiliki sejumlah kolom dengan nama-nama yang unik. Tabel 2.1 Tabel Produk KodeProduk NamaProduk Harga KodeJenisProduk P0001 Tango 3000 J001 P0002 Sprite 4000 J002 P0003 Fanta 4000 J002 P0004 Rinso 100g 5000 J003 Tabel 2.2 Tabel Jenis Produk KodeJenisProduk NamaJenisProduk J001 Makanan J002 Minuman J003 Alat pembersih

7 12 Sebagai contoh pada Tabel 2.1 diambil satu data misalnya produk Sprite dengan kode produk P0002 memiliki kode jenis produk J002, di mana pada Tabel 2.2 diketahui bahwa kode produk J002 merupakan jenis produk Minuman Struktur Data Relasional Komponen-komponen penyusun data relasional : a. Relasi Relasi merupakan sebuah tabel yang tersusun atas kolomkolom (columns) dan baris-baris (rows) (Connolly dan Begg, 2005, p72). Sebuah RDBMS berfungsi untuk membantu pengguna melihat basis data dengan tampilan dalam bentuk tabel-tabel. Namun tampilan ini hanya dapat terlihat pada struktur basis data logikal, yaitu pada tingkat eksternal dan tingkat konseptual dari arsitektur ANSI-SPARC, bukan pada stuktur basis data fisikal, di mana pada tahap ini dapat diimplementasikan dengan peyimpanan yang bervariasi. b. Atribut Atribut merupakan kolom-kolom pada suatu relasi/tabel (Connolly dan Begg, 2005, p72). Pada model relasional, relasi merupakan informasi tentang objek yang direpresentasikan ke dalam basis data. Sebuah relasi direpresentasikan sebagai tabel 2 dimensi, di mana baris dari tabel berkorespondensi pada records individual dan kolom dari tabel berkorespondensi dengan atribut.

8 13 c. Domain Domain adalah himpunan nilai dari satu atau lebih atribut (Connolly dan Begg, 2005, p72). Domain terdiri dari 2 bagian yaitu nama domain (Domain Name) dan definisi domain (Domain Definition). Nama domain memberikan keterangan/penjelasan tentang informasi apa yang ada pada atribut tersebut, contohnya atribut SN maka nama domain-nya adalah Serial Number, menjelaskan bahwa atribut SN berisi nomor seri suatu produk. Sedangkan definisi domain berisi nilai apa yang diperbolehkan untuk mengisi atribut tersebut. Contohnya atribut NoTelp dengan nama domain nomor telepon dan definisi domain adalah character, 12, yang artinya atribut NoTelp diisi nomor telepon dan hanya boleh diisi tipe data karakter paling banyak 12 karakter. d. Tuple Tuple adalah baris pada suatu relasi atau tabel (Connolly dan Begg, 2005, p73). e. Degree Degree adalah banyaknya atribut dalam suatu relasi/tabel (Connolly dan Begg, 2005, p74). Sebuah relasi yang hanya memiliki satu atribut disebut relasi unary, sedangkan relasi dengan dua atribut disebut binary, relasi yang memiliki tiga atribut disebut ternary, dan setelah itu menggunakan n-ary di mana n adalah banyaknya atribut.

9 14 f. Cardinality Cardinality merupakan banyaknya tuple/baris pada suatu tabel (Connolly dan Begg, 2005, p74). Kardinalitas berubah jika jumlah tuple berubah, misalnya ketika datanya ditambah/dihapus. g. Basis Data Relasional Basis Data relasional adalah kumpulan dari relasi yang ternormalisasi dengan nama relasi yang unik Relasi pada Matematika Agar dapat lebih memahami tentang relasi maka diperlukan pengkajian ulang dari beberapa konsep relasi pada matematika. Sebagai contoh diberikan dua buah himpunan, D1 dan D2 di mana D1= {2, 4} dan D2= {1, 3, 5}. Produk Cartesian dari kedua himpunan tersebut dapat ditulis D1 D2, di mana himpunan dari seluruh pasangan yang dihasilkan memiliki urutan elemen pertama adalah anggota dari D1 dan elemen kedua adalah anggota dari D2. Cara alternatif untuk mengkombinasikan elemen ini : D1 D2 = {(2, 1), (2, 3), (2, 5), (4, 1), (4, 3), (4, 5)} Subset dari produk Cartesian ini adalah sebuah relasi. Sebagai contoh relasi A yang merupakan subsetnya, di mana : R = {(2, 1), (4, 1)} Jika urutan pasangan yang ada di dalam suatu relasi ingin dispesifikasi maka dapat diberikan beberapa kondisi sebagai seleksi.

10 15 Contoh bila ingin didapatkan sebuah relasi R yang berisi pasangan di mana elemen kedua adalah sama dengan 1, maka R dapat ditulis sebagai berikut : R = {(x, y) x D1, y D2, y = 1} Contoh lainnya dengan menggunakan himpunan yang sama dapat dibuat juga relasi lain yaitu S, di mana elemen pertama adalah dua kali elemen kedua. Maka S dapat ditulis : S = {(x, y) x D1, y D2, x = 2y} Notasi dari relasi tersebut dapat dikembangkan dengan menggunakan 3 buah himpunan. Misalkan terdapat 3 buah himpunan D1, D2, dan D3 maka produk Cartesian-nya dapat ditulis D1 D2 D3 dengan urutan himpunannya yaitu elemen pertama dari D1, elemen kedua dari D2, dan elemen ketiga dari D3. Contoh : D1 = {1, 3} D2 ={2, 4} D3 = {5, 6} D1 D2 D3 = {(1, 2, 5), (1, 2, 6), (1, 4, 5), (1, 4, 6), (3, 2, 5), (3, 2, 6), (3, 4, 5), (3, 4, 6)} Subset dari produk Cartesian ketiga himpunan tersebut adalah sebuah relasi. Dari ketiga himpunan tersebut, notasi dapat dikembangkan dan dapat disimpulkan untuk relasi umum dengan n- domain. Sebagai contoh terdapat n buah himpunan : D1, D2, D3,..., Dn, maka produk Cartesian-nya adalah : D1 D2 D3... Dn = {(d1, d2,..., dn) d1 D1, d2 D2,..., dn Dn}

11 16 Setiap subset dari n baris yang berasal dari produk Cartesian di atas adalah sebuah relasi dari n-himpunan Relasi Basis Data Berdasarkan konsep basis data tersebut di atas, dapat didefinisikan bahwa skema relasi adalah sebuah nama relasi yang didefinisikan oleh sebuah himpunan pasangan dari atribut dan nama domain (Connolly, 2005, p76). Misalkan A1, A2,..., An merupakan atribut dengan domain D1, D2,..., Dn. Maka set yang dihasilkan yaitu {A1 : D1, A2 : D2,..., An : Dn} adalah sebuah skema relasi. Sebuah relasi R didefinisikan oleh sebuah skema relasi S yang merupakan himpunan pemetaan dari nama atribut dengan domain yang berkorespondensi dengannya. Jadi relasi R merupakan himpunan dari n-baris :( A1: d1, A2 : d2,..., An : dn) di mana d1 D1, d2 D2,..., dn Dn. Setiap elemen pada n-baris terdiri dari sebuah atribut dan nilai dari atribut tersebut. Pada umumnya, ketika relasi ditulis ke dalam bentuk tabel, maka nama atribut akan ditulis sebagai judul kolom dan menuliskan tuple sebagai baris yang memiliki format (d1, d2,..., dn), di mana setiap nilai diambil dari domain yang cocok. Dengan demikian dapat dikatakan bahwa suatu relasi dalam model relasional adalah suatu subset dari produk Cartesian dari

12 17 domain suatu atribut. Sebuah tabel merupakan suatu representasi fisik yang sederhana dari sebuah relasi Properti dari Relasi Sebuah relasi memilik properti sebagai berikut : - Relasi memiliki nama yang berbeda dengan relasi lain pada skema relasional; - Setiap sel dari relasi mengandung tepat satu nilai tunggal (atomik); - Setiap atribut memiliki nama yang berbeda; - Nilai dari atribut adalah dari domain yang sama; - Setiap tuple berbeda-beda, tidak ada tuple yang terduplikasi; - Urutan dari atribut tidak berpengaruh; - Urutan dari tuple tidak berpengaruh secara teori. (walaupun dalam prakteknya, urutan dari tuple dapat berpengaruh pada efisiensi pengaksesan tuple.) Sebagian besar dari properti yang dispesifikasikan untuk relasi dihasilkan dari properti dari relasi matematika : - Ketika kita menderivasikan produk Cartesian dari suatu himpunan dengan sederhana, elemen nilai tunggal seperti integer, setiap elemen dari setiap baris adalah nilai tunggal. Sama halnya, setiap sel dari sebuah relasi mengandung tepat satu nilai. Bagaimanapun, sebuah

13 18 relasi matematika tidak perlu dinormalisasikan. Namun untuk menyederhanakan model data relasional grup berulang tidak diijinkan. - Di dalam sebuah relasi, nilai yang mungkin untuk posisi yang diberikan, ditentukan oleh suatu himpunan atau domain yang telah didefinisikan posisinya. Di dalam tabel, nilai di setiap kolom harus berasal dari domain atribut yang sama. - Di dalam sebuah himpunan, tidak ada elemen yang berulang. Sama halnya pada sebuah relasi, tidak ada tuple yang berulang. Walau bagaimanapun, pada relasi matematika, urutan dari elemen-elemen dalam sebuah tuple sangat penting. Sebagai contoh urutan pasangan (1, 2) berbeda dengan urutan pasangan (2, 1) Relational Keys Sebagaimana telah dijelaskan sebelumnya, tidak ada tuple berulang pada sautu relasi. Oleh karena itu, dibutuhkan sesuatu untuk dapat mengidentifikasi satu atau lebih atribut (yang disebut relationa keys) yang secara unik mengidentifikasikan setiap tuple dalam sebuah relasi.

14 19 a. Superkey Superkey adalah sebuah atribut, atau himpunan dari atribut, yang secara unik mengidentifikasi sebuah baris pada suatu relasi (Connolly dan Begg, 2005, p78). b. Candidate key Candidate key adalah sebuah superkey yang tidak layak adalah superkey pada suatu relasi (Connolly dan Begg, 2005, p78). Sebuah candidate key, K, dari sebuah relasi R memiliki dua buah properti : - uniqueness pada setiap tuple R, nilai dari K secara unik mengidentifikasi tuple tersebut. - irreducibility tidak ada subset yang tepat dari K memiliki properti uniqueness. c. Primary key Primary key adalah candidate key yang dipilih untuk mengidentifikasi tuple secara unik pada suatu relasi (Connolly dan Begg, 2005, p79). d. Foreign key Foreign key adalah sebuah atribut, atau himpunan dari atribut, di dalam suatu relasi yang cocok dengan candidate key dari beberapa relasi (Connolly dan Begg, 2005, p79).

15 Batasan Integritas Selain struktur, sebuah model data memiliki dua bagian lain, yaitu bagian manipulatif, mendefinisikan tipe-tipe dari operasi yang diperbolehkan untuk data, dan sebuah himpunan dari batasan integritas, yang menjamin keakuratan data. Sejak setiap atribut memiliki domain yang berasosiasi, ada batasan (yang disebut batasan domain) yang membentuk batasan pada himpunan nilai yang diperbolehkan untuk atribut dari relasi tersebut. Ada dua aturan integritas yang penting, yaitu integritas entitas dan dan integritas referensial. Namun agar dapat mengerti kedua aturan integritas tersebut, sebelumnya perlu dipahami terlebih dahulu konsep daripada nulls Nulls Menurut Connolly dan Begg (2005, p81), Null merepresentasikan sebuah nilai untuk sebuah aribut yang tidak diketahui atau tidak dapat diaplikasikan untuk baris tersebut. Bagaimanapun null tidak sama dengan nilai nol atau teks yang berisi spasi; nol dan spasi adalah nilai, sedangkan null merepresentasikan absennya suatu nilai. Oleh karena itu, null harus diperlakukan berbeda dari nilai lainnya Integritas Entitas (Entity Integrity) Aturan integritas pertama berlaku untuk primary key dari relasi dasar. Integritas entitas adalah tidak boleh ada atribut dari primary

16 21 key yang berisi null pada relasi dasar. Primary key adalah pengidentifikasi minimal yang digunakan untuk mengidentifikasi tuple secara unik. Ini berarti tidak ada subset dari primary key yang cukup untuk dapat mengidentifikasi tuple secara unik. Apabila diperbolehkan null untuk bagian mana saja dari primary key, maka dengan secara tidak langsung menyatakan bahwa tidak semua atribut dibutuhkan untuk membedakan baris yang satu dengan baris yang lain, di mana hal ini bertolak belakang dengan definisi dari primary key Integritas referensial (Referential Integrity) Aturan integritas yang kedua berlaku untuk foreign key. Integritas referensial adalah jika sebuah foreign key ada di dalam sebuah relasi, baik nilai foreign key harus cocok dengan nilai candidate key dari beberapa tuple yang ada di dalam relasi home atau nilai dari foreign key tersebut harus semuanya null (Connolly dan Begg, 2005, p83) Batasan Umum (General Constraint/Enterprise Constraint) Batasan umum adalah batasan tambahan yang dispesifikasikan oleh pengguna atau administrator basis data dari basis data yang mendefinisikan atau membatasi beberapa aspek dari perusahaan (enterprise) (Connolly dan Begg, 2005, p83).

17 Aljabar Relasional dan Kalkulus Relasional Aljabar relasional adalah bahasa prosedural tingkat tinggi yang dapat digunakan untuk memberi perintah kepada DBMS bagaimana membuat relasi baru dari satu atau lebih relasi pada basis data. Sedangkan kalkulus relasional adalah bahasa nonprosedural yang dapat digunakan untuk memformulasi definisi dari sebuah relasi dalam istilah dari satu atau lebih relasi basis data. Bagaimanapun, secara formal aljabar relasional dan kalkulus relasional adalah sama satu dengan yang lainnya: untuk setiap ekspresi dalam aljbar, ada kesamaan ekspresi dalam kalkulus (begitu juga sebaliknya) Aljabar Relasional Aljabar relasional adalah bahasa teoritis dengan operasi-operasi yang bekerja pada satu atau lebih relasi untuk mendefinisikan relasi lainnya dengan tanpa mengubah relasi aslinya (Connolly dan Begg, 2005, p89). Baik operand maupun hasilnya merupakan relasi, dan juga output dari satu operasi dapat menjadi input operasi yang lain. Hal ini memungkinkan ekspresi pada aljabar relasional menjadi bertingkat, sama seperti operasi aritmatik bertingkat. Ada banyak variasi dari operasi yang termasuk ke dalam aljabar relasional. Codd (1972) pada awalnya menawarkan delapan operasi, namun beberapa yang lainnya telah berkembang. Lima operasi fundamental pada aljabar relasional adalah Selection, Projection, Cartesian Product, Union, dan Set difference. Sebagai tambahan ada juga operasi Join, Intersection, dan Division.

18 Operasi Unary Operasi unary adalah operasi yang hanya beroperasi pada satu relasi. Operasi Selection dan Projection adalah operasi aljabar relasional yang termasuk operasi unary. Operasi Selection (atau Restriction) dinotasikan dengan σ predicate (R), bekerja pada sebuah relasi tunggal R dan mendefinisikan sebuah relasi yang mengandung hanya baris-baris (tuples) dari R yang memenuhi kondisi yang telah dispesifikasikan (predicate) (Connolly dan Begg, 2005, p90). Operasi Projection dinotasikan dengan : Π a1,...,an (R), bekerja pada sebuah relasi tunggal R dan mendefinisikan sebuah relasi yang mengandung subset vertikal dari R, mengekstrak nilai dari atribut yang telah dispesifikasikan dan mengeliminasi duplikasi (Connolly dan Begg, 2005, p91) Operasi Set Operasi Selection dan Projection mengekstrak informasi dari hanya satu relasi. Operasi Set beroperasi dari lebih dari satu relasi untuk menghasilkan relasi lain. Operasi yang termasuk Operasi Set adalah Union, Set difference, Intersection, dan Cartesian product. Operasi Union dari dua buah relasi R dan S dinotasikan dengan : R S, mendefinisikan sebuah relasi yang mengandung semua tuple dari R, atau S, atau keduanya, duplikasi tuple dihilangkan (Connolly

19 24 dan Begg, 2005, p92). R dan S harus union-compatible: memiliki jumlah atribut yang sama dengan atribut yang berkorespondensi memiliki domain yang sama. Operasi Set difference dari dua buah relasi R dan S dinotasikan dengan : R S, mendefinisikan sebuah relasi yang terdiri dari barisbaris (tuples) yang ada di dalam relasi R, tetapi tidak dalam relasi S (Connolly dan Begg, 2005, p92). R dan S harus union-compatible. Operasi Intersection dari dua buah relasi R dan S dinotasikan dengan : R S, mendefinisikan sebuah relasi yang terdiri dari himpunan seluruh tuple yang ada di dalam relasi R dan S (Connolly dan Begg, 2005, p93). R dan S harus union-compatible. Operasi Cartesian product dari dua buah relasi R dan S dinotasikan dengan : R S, mendefinisikan sebuah relasi yang merupakan hasil dari penggabungan setiap tuple dari relasi R dengan setiap tuple dari relasi S (Connolly dan Begg, 2005, p93) Operasi Join Pada umumnya, yang diperlukan hanya kombinasi dari Cartesian product yang memenuhi kondisi tertentu dan sehingga biasanya digunakan operasi join daripada operasi Cartesian product. Operasi join, yang mengkombinasikan dua relasi untuk membentuk sebuah relasi baru, adalah satu dari operasi yang penting pada aljabar relasional. Join adalah operasi turunan dari Cartesian product, sama

20 25 dengan melakukan sebuah operasi Selection, menggunakan predicate dari join sebagai rumus Selection, melalui Cartesian product dari relasi dua operand. Join adalah operasi yang paling sulit diimplementasikan pada RDBMS dan merupakan salah satu alasan sistem relasional memiliki problem masalah intrinsik. Ada beberapa bentuk dari operasi Join, masing-masing memiliki perbedaan, beberapa di antaranya lebih berguna daripada yang lainnya : Theta join (θ-join) Operasi Theta join dinotasikan dengan R F S, mendefinisikan sebuah relasi yang mengandung barisbaris (tuples) yang memenuhi predicate F dari Cartesian product dari R dan S. predicate F terbentuk dari R.a i θ S.b i mana θ dapat merupakan operator perbandingan (<,, >,, =, ) (Connolly dan Begg, 2005, p96). Theta join dapat ditulis dalam bentuk operasi Selection dasar dan Cartesian product : R F S = σ F (R S) Sama seperti Cartesian product, degree dari Theta join adalah jumlah dari degree operan relasi R dan S. Equijoin Operasi Equijoin adalah operasi Theta join di mana predicate F hanya mengandung operator sama dengan (=).

21 26 Natural join Natural join dinotasikan dengan : R S, adalah Equijoin dari dua relasi R dan S ke semua atribut umum x. Satu kejadian dari setiap atribut umum dihilangkan dari hasil (Connolly dan Begg, 2005, p96). Operasi Natural join melakukan Equijoin ke semua atribut pada kedua relasi yang memiliki nama yang sama. Degree dari Natural join adalah jumlah degree dari relasi R dan S dikurangi jumlah atribut x. Outer join Outer join dinotasikan dengan : R S, adalah join di mana baris-baris (tuples) dari R yang tidak memiliki nilai yang cocok dengan atribut umum dari S ikut dimasukkan ke dalam relasi hasil. Nilai yang hilang pada relasi kedua diisi null (Connolly dan Begg, 2005, p97). Outer join menjadi sangat luas tersedia pada sistem relasional dan merupakan operator yang telah dispesifikasikan pada standar SQL. Keuntungan dari Outer join adalah tidak ada informasi yang hilang, yaitu barisbaris yang menjadi hilang apabila menggunakan operasi join yang lain.

22 27 Semijoin Operasi Semijoin dinotasikan dengan : R F S, mendefinisikan sebuah relasi yang mengandung barisbaris dari R yang berpartisipasi dalam operasi join relasi R dengan S (Connolly dan Begg, 2005, p98). Keuntungan dari Semijoin yaitu mengurangi jumlah tuple yang perlu ditangani untuk membentuk join. Natural Semijoin Operasi Natural Semijoin dinotasikan dengan R S, merupakan operasi gabungan antara operasi Natural join dan Semijoin. Operasi ini mendefinisikan sebuah relasi yang merupakan hasil proyeksi dari semua atribut relasi R setelah melakukan operasi Natural join dari relasi R dan S: R S = Π ar1,ar2,...,arn (R S). Contoh : Tabel 2.3 Tabel Staff KdStaff Nama Umur Kota S1 Irvan 22 Jakarta S2 Nahar 25 Jakarta S3 Suwanto 23 Bandung Tabel 2.4 Tabel Kota Kota Jakarta Surabaya Tabel 2.5 Tabel Staff Kota KdStaff Nama Umur Kota S1 Irvan 22 Jakarta S2 Nahar 25 Jakarta

23 Operasi Division Operasi Division mendefinisikan sebuah relasi ke atribut C yang mengandung himpunan dari baris-baris dari R yang cocok dengan kombinasi dari setiap baris dalam S (Connolly dan Begg, 2005, p99). Operasi Division dinotasikan dengan : R S.Operasi Division juga dapat dituliskan dalam operasi dasar: T 1 Π C (R) T 2 Π C ((S T 1 ) R) T T 1 - T Operasi Aggregation dan Grouping Operasi Aggregation menerapkan daftar fungsi agregasi, AL, ke relasi R untuk mendefinisikan sebuah relasi melalui daftar agregasi. AL mengandung satu atau lebih pasangan (<fungsi agregasi>, <atribut>) (Connolly dan Begg, 2005, p100). Operasi aggregation dinotasikan dengan : I AL (R). Fungsi agregasi utama yaitu : COUNT mengembalikan banyak nilai pada atribut yang berasosiasi. SUM mengembalikan jumlah dari nilai pada atribut yang berasosiasi. AVG mengembalikan rata-rata dari nilai pada atribut yang berasosiasi.

24 29 MIN mengembalikan nilai terkecil pada atribut yang berasosiasi. MAX mengembalikan nilai terbesar pada atribut yang berasosiasi. Operasi Grouping mengelompokkan baris-baris dari relasi R dengan atribut grouping, GA, dan kemudian mengaplikasikan daftar fungsi agregasi AL untuk mendefinisikan relasi baru. AL mengandung satu atau lebih pasangan (<fungsi agregasi>, <atribut>). Relasi hasil mengandung atribut grouping, GA, sesuai dengan hasil dari setiap fungsi agregasi (Connolly dan Begg, 2005, p101). Operasi Grouping dinotasikan dengan : GAI AL (R) Rangkuman Operasi Aljabar Relasional Operasi-operasi aljabar relasional terangkum dalam Tabel 2.6 Tabel 2.6 Tabel Operasi-operasi pada Aljabar Relasional Operasi Notasi Fungsi Selection σ predicate (R) Menghasilkan sebuah relasi yang mengandung hanya baris-baris (tuples) dari R yang memenuhi kondisi yang telah dispesifikasikan (predicate). Projection Π a1,...,an (R) Menghasilkan sebuah relasi yang mengandung subset vertikal dari R, mengekstrak nilai dari atribut yang telah dispesifikasikan dan mengeliminasi duplikasi. Union R S Menghasilkan sebuah relasi yang mengandung semua tuple dari R, atau S, atau keduanya, duplikasi tuple dihilangkan. R dan S harus unioncompatible.

25 30 Set difference R - S Menghasilkan sebuah relasi yang terdiri dari baris-baris (tuples) yang ada di dalam relasi R, tetapi tidak dalam relasi S. R dan S harus unioncompatible. Intersection R S Menghasilkan sebuah relasi yang terdiri dari himpunan seluruh tuple yang ada di dalam relasi R dan S. R dan S harus union-compatible. Cartesian product R S Menghasilkan sebuah relasi yang merupakan hasil dari penggabungan setiap tuple dari relasi R dengan setiap tuple dari relasi S. Theta join σ F (R S) Menghasilkan sebuah relasi yang mengandung baris-baris (tuples) yang memenuhi predicate F dari Cartesian product dari R dan S. Equijoin σ F (R S) Menghasilkan sebuah relasi yang mengandung baris-baris (tuples) yang memenuhi predicate F (yang hanya mengandung operator perbandingan sama dengan) dari Cartesian product dari R dan S. Natural join (Left) Outer join R S R S Equijoin dari dua relasi R dan S ke semua atribut umum x. Satu kejadian dari setiap atribut umum dihilangkan dari hasil. Sebuah join di mana baris-baris (tuples) dari R yang tidak memiliki nilai yang cocok dengan atribut umum dari S ikut dimasukkan ke dalam relasi hasil. Semijoin R F S Menghasilkan sebuah relasi yang mengandung baris-baris dari R yang berpartisipasi dalam operasi Join relasi R dengan S. Natural Semijoin R S mendefinisikan sebuah relasi yang merupakan hasil proyeksi dari semua atribut relasi R setelah melakukan operasi Natural join dari relasi R dan S. Division R S Menghasilkan sebuah relasi ke atribut C yang mengandung himpunan dari baris-baris dari R yang cocok dengan kombinasi dari setiap baris dalam S.

26 31 Aggregate I AL (R) Menerapkan daftar fungsi agregasi, AL, ke relasi R untuk mendefinisikan sebuah relasi melalui daftar agregasi. AL mengandung satu atau lebih pasangan (<fungsi agregasi>, <atribut>). Grouping GAI AL (R) Mengelompokkan baris-baris dari relasi R dengan atribut grouping, GA, dan kemudian mengaplikasikan daftar fungsi agregasi AL untuk mendefinisikan relasi baru. AL mengandung satu atau lebih pasangan (<fungsi agregasi>, <atribut>). Relasi hasil mengandung atribut grouping, GA, sesuai dengan hasil dari setiap fungsi agregasi Kalkulus Relasional Kalkulus relasional adalah bahasa non-prosedural yang menggunakan predicate. Kalkulus relasional tidak ada hubungannya dengan diferensial dan kalkulus integral pada matematika, tetapi namanya diambil dari sebuah cabang dari logika simbolik yang disebut predicate calculus. Ketika diimplementasikan ke basis data, ada dua bentuk dari kalkulus relasional yaitu kalkulus relasional tuple dan kalkulus relasional domain Kalkulus Relasional Tuple Kalkulus relasional tuple bertujuan untuk menemukan baris-baris untuk yang predicate-nya bernilai benar (true). Kalkulus ini berdasarkan pada penggunaan variabel tuple. Variabel tuple adalah sebuah variabel yang meliputi suatu relasi: yaitu suatu variabel yang di mana nilai yang diijinkan adalah baris-baris dari relasi. Contoh:

27 32 - Menspesifikasikan variabel tuple S sebagai relasi Staff: Staff(S) - Menemukan himpunan dari seluruh tuple S sehingga F(S) adalah benar: {S F(S)} - Menemukan detil dari seluruh staff yang mempunyai pendapatan lebih dari 10000: {S Staff(S) S.Salary > 10000} - Menemukan atribut tertentu, seperti pendapatan: {S.Salary Staff(S) S.Salary > 10000} Ada 2 quantifier yang dapat digunakan untuk mengetahui berapa banyak instance yang diterapkan predicate : o Extensial quantifier ( ada ) o Universal quantifier ( untuk semua ) Kalkulus Relasional Domain Pada kalkulus relasional domain, juga digunakan variabel seperti halnya pada kalkulus relasional tuple, namun pada kalkulus relasional domain menggunakann domain, bukan tuple. Ekspresi dalam kalkulus relasional domain memiliki bentuk umum : {d 1, d 2,..., d n F(d 1, d 2,..., d m )} m n

28 Structured Query Language (SQL) Menurut Richards (1996), SQL adalah suatu bahasa non prosedural yang dirancang secara spesifik untuk operasi pengaksesan data pada struktur basis data relasional yang sudah dinormalisasi. Dengan menggunakan SQL dapat dibuat stuktur-struktur basis data dan relasi antara tabel-tabelnya. Operasi pengaksesan data meliputi penyisipan data (insert), pengubahan data (update), pemilihan data (select), dan penghapusan data (delete). Menurut James & Paul (1999, p4), SQL adalah sebuah alat (tool) yang digunakan untuk mengorganisasikan, mengatur, dan mengambil data yang disimpan pada sebuah basis data di dalam komputer atau dengan kata lain adalah sebuah bahasa komputer yang digunakan untuk berinteraksi dengan basis data Sejarah SQL Sejarah dari bahasa SQL dimulai dengan paper pertama dari Dr. Ted Codd pada tahun 1970 tentang model relasional dan dasar-dasar secara matematikanya. Hasil pekerjaan Dr. Codd tersebut memicu IBM sebagai yang pertama untuk melakukan penelitian tentang pengembangan dari sistem basis data relasional yang pertama, yang disebut System R, dan aplikasi pemograman antar mukanya, yang disebut sebagai SEQUEL (Structured English Query Language). SEQUEL pada awalnya dikembangkan dan diimplementasikan pada tahun dan direvisi pada tahun Menyadari akan signifikansi dari pengembangan ini, sebuah proyek basis data dari pemerintah Amerika Serikat mulai dikembangkan pada tahun Akronim SEQUEL kemudian pada akhirnya diganti menjadi SQL karena SEQUEL

29 34 merupakan sebuah merek dagang dari perusahaan penyedia pesawat terbang Hawker Siddeley yang berdomisili di Inggris. Pada tahun 1978, ANSI (American National Standards Institute) mengesahkan proyek bahasa basis data SQL, yang dimana hal ini kemudian memicu penetapan standar awal bagi bahasa SQL. Berdasarkan dari hasil pengembangan awal oleh ANSI dan IBM untuk SQL, ISO (International Standardization Organization) kemudian bekerja sama dengan ANSI untuk memulai proses standarisasi dari basis data tersebut pada tahun Pada tahun , pengembangan ini dilanjutkan dengan sebuah keputusan untuk memecah standarisasi ini menjadi dua bagian yaitu NDL dan SQL. Pengembangan akan standarisasi ini dilanjutkan hingga pada tahun 1986, ANSI merilis standar bagi bahasa NDL dan juga standar bagi SQL. Lalu pada tahun berikutnya oleh ISO dengan standar bagi SQL. Berkaitan dengan pengembangan dari standar SQL tersebut, juga dimulai pengembangan untuk dilakukan pengujian untuk menguji hasil dari penggunaan SQL agar dapat beroperasi sesuai dengan standar. Hasil pengembangan ini adalah berupa pemuliaan dan pembersihan dari bahasa SQL. Standar SQL-89 kemudian akhirnya dirilis dan bersamaan dengan dirilisnya spesifikasi FIPS (Federal Information Processing Standard) yaitu FIPS NIST (National Institute of Standards and Technology) mengembangkan paket pengujian untuk menguji validitas dari SQL-89 tersebut sehingga akhirnya mengawali evolusi dari SQL-89 menjadi standar SQL-92. Seiring dengan perubahan terhadap bahasa awalnya, SQL

30 35 Committee, di bawah bimbingan ANSI dan ISO, kemudian melakukan perombakan besar-besaran terhadap bahasa SQL pada tahun Revisi tersebut, yang disebut SQL-3, kemudian dijadikan sebagai rancangan standar bagi SQL-99. Pengembangan selanjutnya lalu pada tahun 2003, dengan mendukung penggunaan XML (extensible Markup Language) sebagai fitur utamanya, kemudian standar SQL-2003 dirilis. ISO kemudian menetapkan penggunaan data-data SQL dalam bentuk XML hingga memungkinkan aplikasi untuk diintegrasikan ke dalam kode SQL, yaitu dengan menggunakan XQuery sebagai bahasa kuery XML yang dipublikasikan oleh W3C (World Wide Web Consortium). Fitur ini kemudian menjadi fitur utama pada standar SQL Standar selanjutnya yaitu SQL-2008 merupakan sebuah revisi kecil dengan menambahkan beberapa fungsi tambahan, seperti penggunaan trigger INSTEAD OF dan statement TRUNCATE Elemen-elemen SQL Statements Bagian utama dari bahasa SQL terdiri atas sekitar 40 statement yang ditampilkan secara ringkas pada Tabel 2.7. Setiap statement tersebut akan meminta aksi-aksi atau respon-respon yang spesifik dari DBMS, misalnya seperti membuat sebuah tabel baru, mengambil data, atau menambahkan data baru ke dalam basis data. Setiap statement SQL memiliki bentuk umum yang sama, seperti diilustrasikan pada Gambar 2.2.

31 36 Setiap statement SQL dimulai dengan sebuah kata kerja, sebuah kata kunci yang menjabarkan apa yang dilakukan oleh statement tersebut. CREATE, INSERT, DELETE, dan COMMIT adalah kata kerja yang umum. Statement dilanjutkan dengan satu atau lebih clause (klausa). Sebuah klausa dapat menjelaskan tentang data yang mana yang dikenakan pekerjaan oleh statement atau menjelaskan lebih detil tentang apa yang statement tersebut lakukan. Setiap klausa juga dimulai dengan sebuah kata kunci, misalnya WHERE, FROM, INTO, dan HAVING. Beberapa klausa sifatnya tambahan atau opsional, namun beberapa ada yang diharuskan. Struktur spesifik dan isi dari klausa tersebut akan bervariasi dari satu klausa dengan klausa lainnya. Banyak klausa yang mengandung nama kolom ataupun nama tabel, beberapa bahkan dapat mengandung tambahan kata kunci, konstan, maupun expressions. Kata Kerja Nama Tabel Klausa DELETE FROM SALESREPS WHERE SALES < Kata Kunci Nama Kolom Konstan Gambar 2.2 Struktur dari Statement SQL

32 37 Tabel 2.7 Tabel Statement SQL yang Umum Statement Deskripsi Manipulasi Data SELECT INSERT DELETE UPDATE Menarik/mengambil data dari basis data Menambahkan baris data baru ke basis data Menghapus baris data dari basis data Merubah data yang ada pada basis data Definisi Data CREATE TABLE DROP TABLE ALTER TABLE CREATE VIEW DROP VIEW CREATE INDEX DROP INDEX CREATE SCHEMA DROP SCHEMA CREATE DOMAIN ALTER DOMAIN DROP DOMAIN Menambah tabel baru ke basis data Menghapus tabel dari basis data Merubah struktur tabel yang ada Menambah view baru ke basis data Menghapus view dari basis data Membuat indeks untuk sebuah kolom Menghapus indeks dari kolom Menambahkan skema baru ke basis data Menghapus skema dari basis data Menambahkan domain data baru Merubah definisi domain Menghapus domain dari basis data Kontrol Akses GRANT REVOKE Kontrol Transaksi COMMIT ROLLBACK SET TRANSACTION Memberi hak akses ke pengguna Membuang hak akses dari pengguna Mengakhiri transaksi berjalan Membatalkan transaksi berjalan Mendefinisikan karakteristik akses data dari transaksi berjalan Programmatic SQL

33 38 DECLARE EXPLAIN OPEN FETCH CLOSE PREPARE EXECUTE DESCRIBE Mendefinisikan sebuah kursor untuk query Mendiskripsikan rencana akses data untuk query Membuka kursor untuk mengambil hasil query Mengambil satu baris dari hasil query Menutup kursor Menyiapkan sebuah statement SQL untuk eksekusi yang dinamis Mengeksekusi sebuah statement SQL secara dinamis Mendeskripsikan sebuah prepared query Names Setiap objek pada sebuah basis data berbasiskan SQL diidentifikasikan dengan cara memberikan nama-nama yang unik. Namanama tersebut yang akan digunakan pada statement SQL untuk mengidentifikasikan objek basis data yang mana yang harus dikenakan pekerjaan oleh statement. Nama-nama objek yang paling fundamental pada sebuah basis data relasional adalah nama tabel (yang mengidentifikasikan tabel), nama kolom (yang mengidentifikasikan kolom), dan nama pengguna / user names (yang mengidentifikasikan pengguna dari basis data). Standar ANSI/ISO yang pertama menspesifikasikan bahwa namanama pada SQL harus terdiri atas 1 hingga 18 karakter, harus dimulai dengan huruf, dan tidak boleh mengandung spasi ataupun karakterkarakter khusus. Lalu pada standar SQL-2 maksimum karakter meningkat hingga 128 karakter. Dalam prakteknya, nama-nama yang didukung oleh

34 39 produk-produk DBMS berbasiskan SQL sangat bervariasi. Misalnya DB2 yang membatasi nama pengguna hanya hingga 8 karakter namun memperbolehkan penggunaan nama kolom dan nama tabel yang lebih panjang Tipe Data Standar ANSI/ISO bagi SQL menspesifikasikan berbagai macam tipe data yang dapat disimpan pada basis data yang berbasiskan SQL dan dimanipulasikan oleh bahasa SQL. Beberapa tipe data tersebut di antara lain : Integer (bilangan bulat) Decimal Numbers (bilangan pecahan) Floating Point Numbers (bilangan pecahan dengan presisi lebih baik) Fixed-length Character Strings (kalimat dengan panjang tetap) Variable-length character strings (kalimat dengan panjang dinamis) Money amounts (seperti floating point namun lebih dikhusukan untuk menyimpan data-data nilai uang) Dates and times (tanggal dan waktu) Boolean data (nilai logikal, TRUE atau FALSE) Long text (kalimat yang panjang, hingga sampai karakter)

35 40 Unstructured byte streams (untuk penyimpanan data-data file, misalnya seperti file gambar dan video) Asian characters (untuk penggunaan karakter-karakter khusus, misalnya seperti Kanji, mendukung fixed-length maupun variablelength strings) Constants Dalam beberapa statement SQL sebuah nilai data numerik, karakter ataupun tanggal harus dapat diekspresikan dalam bentuk teks. Contoh seperti dalam statement INSERT berikut : INSERT INTO SALESREPS ( EMPL_NUM, NAME, QUOTA, HIRE_DATE, SALES) VAL, Dennis Irving, , 21-JUN-90, 0.00) Gambar 2.3 Contoh Query Pengunaan Constants Standar ANSI/ISO bagi SQL menspesifikasikan format bagi nilainilai konstan bagi berbagai jenis tipe data sebagai berikut : Numeric Constants Ditulis seperti angka desimal biasa, dengan tambahan tanda plus atau minus yang sifatnya opsional. Contoh : 21, -375, , String Constants Ditulis dengan diapit oleh karakter kutip satu (... ). Contoh : Jones, John J., New York, Western

36 41 Date and Time Constants Ditulis seperti String Constants, namun dengan format yang bervariasi dari satu DBMS ke DBMS lainnya. Contoh pada SQL Server : March 15, 1990, Mar , 3/15/1990, Symbolic Constants Konstan khusus yang mengembalikan nilai-nilai yang diatur oleh DBMS secara bervariasi. Contoh : CURRENT_DATE, GETDATE() Expressions Expresssions digunakan pada bahasa SQL untuk menghitung nilainilai yang didapatkan dari basis data dan untuk menghitung nilai-nilai yang digunakan pada pencarian di basis data. SELECT CITY, TARGET, SALES, (SALES/TARGET) * 100 FROM OFFICES Gambar 2.4 Contoh Query Penggunaan Expressions Standar ANSI/ISO untuk SQL menspesifikasikan 4 jenis operasi aritmatik yang dapat digunakan pada expression : Penambahan (A + B) Pengurangan (A - B) Perkalian (A * B) Pembagian (A / B)

37 Fungsi Built-in Merupakan fungsi-fungsi khusus yang sudah disediakan oleh DBMS dan bervariasi antar satu DBMS dengan DBMS lainnya. Misalnya salah satu fungsi built-in pada DB2 yaitu MONTH() dan YEAR() yang membutuhkan tipe data DATE sebagai input dan mengembalikan nilai integer yaitu bulan dan tahun dari nilai tersebut. Contoh : SELECT NAME, MONTH(HIRE_DATE) FROM SALESREPS Gambar 2.5 Contoh Fungsi Built-in NULL Values Sebuah basis data merupakan sebuah permodelan dari situasi dunian nyata, sehingga sebagian data dapat ditemukan hilang, tidak dikenal, ataupun tidak cocok. SQL mendukung mekanisme data yang hilang ataupun tidak dikenal tersebut secara eksplisit melalui konsep nilai null. Sebuah nilai null adalah sebuah indikator yang memberitahu SQL (dan penggunanya) bahwa data tersebut hilang dan tak cocok. Tetapi nilai NULL tersebut bukanlah nilai data yang sebenarnya seperti 0, , Sam Clark. Melainkan hanya sebuah sinyal dan pertanda bahwa nilai data tersebut hilang dan tidak dikenal.

38 Statement SELECT Statement SELECT atau perintah SELECT digunakan untuk menarik/mengambil data dari basis data dan mengembalikannya dalam bentuk hasil query. Record atau baris data yang diambil didapatkan dari satu buah tabel atau lebih dan di tampilkan dalam bentuk result set. Contoh query dan hasilnya : Tampilkan data kantor penjualan dengan target dan nilai penjualannya SELECT CITY, TARGET, SALES FROM OFFICES CITY TARGET SALES Denver 300, , New York 575, , Chicago 800, , Gambar 2.6 Contoh Query SELECT dan Tampilan Hasilnya Untuk query-query yang simpel, statement SELECT SQL yang digunakan masih cenderung sama. Namun ketika kebutuhan menjadi semakin kompleks, maka semakin banyak fitur-fitur dari statement SELECT yang harus digunakan untuk menjawab query secara akurat. Gambar 2.3 menampilkan bentuk penuh dari statement SELECT yang terdiri atas 6 klausa. Klausa SELECT dan FROM diharuskan ada, sedangkan untuk 4 klausa lainnya sifatnya opsional.

39 44 SELECT ALL DISTINCT select-item FROM table-specification WHERE search-condition GROUP BY grouping-column HAVING search-condition ORDER sort-specification Gambar 2.7 Diagram Sintaksis Statement SELECT Klausa SELECT Klausa SELECT adalah klausa yang mengawali statement SELECT. Klausa SELECT melampirkan dengan menspesifikasikan keseluruhan data item yang ingin ditampilkan oleh statement SELECT. Item yang dimaksud dapat berupa kolom-kolom dari tabel pada basis data atau merupakan kolomkolom hasil perhitungan yang dilakukan oleh query yang ditulis dengan dipisahkan oleh tanda koma.

40 45 Setiap item yang ditampilkan akan menghasilkan satu kolom secara satuan (single) pada hasil query (query results) dengan berurutan dari kiri ke kanan. SELECT item dapat berupa : Nama kolom Mengidentifikasikan sebuah kolom dari table yang dispesifikasikan pada klausa FROM. Ketika sebuah nama kolom ada pada SELECT item, maka SQL akan mengambil nilai pada kolom tersebut dan menempatkannya pada baris yang bersangkutan pada query results. Konstan Menspesifikasikan bahwa nilai konstan yang sama akan ditampilkan pada semua baris pada query results. SQL Expression Mengindikasikan bahwa SQL harus mengkalkulasikan terlebih dahulu untuk nilai-nilai yang akan ditempatkan pada query results, dengan format yang sudah dispesifikasikan oleh expression Klausa FROM Klausa FROM terdiri atas kata kunci FROM diikuti dengan urutan dari tabel yang dispesifikasikan dan dipisahkan oleh tanda koma. Setiap spesifikasi tabel akan dikenal sebagai tabel yang mengandung data yang akan diambil oleh query.

41 46 Tabel-tabel tersebut disebut sebagai sumber tabel (source tables) dari query (dan juga dari statement SELECT-nya) karena semua merupakan sumber dari semua data yang ada pada query results Klausa WHERE Klausa WHERE merupakan tanda bagi SQL untuk menyertakan hanya sebagian baris data dari keseluruhan data pada query results. Sebuah kondisi pencarian (search condition) digunakan untuk menspesifikasikan baris-baris yang diinginkan Klausa GROUP BY Klausa GROUP BY menspesifikasikan sebuah summary dari query. Selain menghasilkan satu baris data pada query results untuk setiap baris data pada database, sebuah summary query akan mengelompokan menjadi satu bagi baris-baris data yang memiliki kesamaan dan kemudian menghasilkan sebuah baris summary ke query results untuk setiap grup Klausa HAVING Klausa HAVING memberitahu SQL untuk mengikutsertakan hanya beberapa grup yang dihasilkan oleh klausa GROUP BY dalam query results. Seperti klausa WHERE, klausa HAVING diguakan untuk sebuah kondisi pencarian untuk menspesifikasikan grup-grup tertentu yang ingin ditampilkan.

42 Klausa ORDER BY Klausa ORDER BY mengurutkan query results berdasarkan satu atau lebih kolom yang ada pada data. Jika klausa ORDER BY tidak digunakan pada statement SELECT, maka query results-nya tidak akan diurutkan. 2.6 Kompleksitas Algoritma Seorang programmer atau system analyst paling tidak harus memiliki dasar untuk menganalisis algoritma. Analisis algoritma sangat membantu di dalam meningkatkan efisiensi program. Kecanggihan suatu program bukan dilihat dari tampilan program, tetapi berdasarkan efisiensi algoritma yang terdapat didalam program tersebut. Pembuatan program komputer tidak terlepas dari algoritma, apalagi jika program yang dibuat sangat kompleks. Program dapat dibuat dengan mengabaikan algoritma, namun tidak heran bila seandainya ada pengembang lain yang dapat membuat program seperti program tersebut namun memiliki akses yang lebih cepat dan memakai resource memori yang sangat sedikit. Analisis algoritma adalah bahasan utama dalam ilmu komputer. Dalam menguji suatu algoritma, dibutuhkan beberapa kriteria untuk mengukur efisiensi algoritma. Notasi O (Big O) Misalkan 4 program yang mengurutkan n bilangan dengan fungsi yang menyatakan sejumlah langkah yang dijumlahkan masing-masing program untuk sorting n bilangan : f1(n) = n, f2(n) = n2, f3 (n) = 2n, f4(n) = n!

43 48 Bila n = 4 maka f1 (n) = 4, f2 (n) = f3 (n) = 16 dan f4 (n) = 24 sedangkan untuk n = 100, program ketiga akan memerlukan langkah. Dalam analisis sebuah algoritma biasanya yang dijadikan ukuran adalah operasi aljabar seperti penjumlahan, pengurangan, perkalian dan pembagian, proses pengulangan (looping / iterasi), proses pengurutan (sorting) dan proses pencarian (searching). 2.7 Teknik Kompilasi Kompilator (compiler) adalah sebuah program yang membaca suatu program yang ditulis dalam suatu bahasa sumber (source language) dan menterjemahkannya ke dalam suatu bahasa sasaran (target language). Proses kompilasi dapat digambarkan melalui sebuah kotak hitam (black box) berikut : program sumber kompilator bahasa sasaran pesan-pesan kesalahan (error messages) Gambar 2.8 Proses Kompilasi Proses kompilasi dikelompokkan ke dalam dua kelompok besar : 1. Analisa : program sumber dipecah-pecah dan dibentuk menjadi bentuk antara (intermediaterepresentation) 2. Sintesa : membangun program sasaran yang diinginkan dari bentuk antara

44 49 Fase-fase proses sebuah kompilasi adalah sebagai berikut : Gambar 2.9 Fase-Fase Proses Kompilasi Program sumber merupakan rangkaian karakter. Berikut ini hal-hal yang dilakukan oleh setiap fase pada proses kompilasi terhadap program sumber tersebut : 1. Penganalisa leksikal : membaca program sumber, karakter demi karakter. Sederetan (satu atau lebih) karakter dikelompokkan menjadi satu kesatuan mengacu kepada pola kesatuan kelompok karakter (token) yang ditentukan dalam bahasa sumber. Kelompok karakter yang membentuk sebuah token dinamakan lexeme untuk token tersebut. Setiap token yang dihasilkan disimpan di dalam tabel simbol. Sederetan karakter yang tidak mengikuti pola token akan dilaporkan sebagai token tak dikenal (unidentified token).

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data

Pengertian Query. Query adalah perintah-perintah untuk mengakses data pada sistem basis data Kompetensi Dasar Setelah mengikuti kegiatan proses belajar mengenai Pengenalan SQL, mahasiswa dapat mendefinisikan dan memanipulasi sistem basis data menggunakan bahasa SQL dengan tepat Tujuan Pembelajaran

Lebih terperinci

SISTEM BASIS DATA II S A N T I W I D I A N T I

SISTEM BASIS DATA II S A N T I W I D I A N T I SISTEM BASIS DATA II S A N T I W I D I A N T I SISTEM Definisi sebuah tatanan yang terdiri atas sejumlah komponen fungsional (dengan tugas/fungsi khusus) yang saling berhubungan dan secara bersama-sama

Lebih terperinci

Database Systems: Ch. 3: The Relational Model. History of The Relational Model. Learning Objectives

Database Systems: Ch. 3: The Relational Model. History of The Relational Model. Learning Objectives 1 Database Systems: Thomas Connolly, Carolyn Begg, Database System, A Practical Approach to Design Implementation and Management, 4 th Edition, Addison Wesley History of The Relational Model Terminology

Lebih terperinci

LATAR BELAKANG IBM San Jose Research Laboratory.

LATAR BELAKANG IBM San Jose Research Laboratory. SQL LATAR BELAKANG SQL merupakan bahasa basis data relasional standard. Terdapat macam-macam versi SQL. Versi aslinya pertama kali dikembangkan oleh IBM San Jose Research Laboratory. 2 LATAR BELAKANG Bahasa

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 1 (MI) KODE / SKS KK / 2 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA 1 (MI) KODE / SKS KK / 2 SKS Minggu Pokok Bahasan ke dan TIU 1. 1. PENGENALAN BASIS DATA Basis Data Sub Pokok Bahasan dan Sasaran Belajar 1.1 Perbedaan sistem file tradisional dengan sistem file basis data dan keterbatasannya 1.2

Lebih terperinci

Model Relasional. Basis Data. Pengertian

Model Relasional. Basis Data. Pengertian Model Relasional Basis Data Materi Yang Akan Disampaikan Pengertian 3 MODEL DATABASE Istilah dalam Basis Data Relasional Relational Key Di Model Relational Bahasa pada Model Data Relasional Bahasa Query

Lebih terperinci

Praktikum Basis Data 2. BAB 1 : Pendahuluan

Praktikum Basis Data 2. BAB 1 : Pendahuluan BAB 1 : Pendahuluan 1.1. Sasaran Memahami fitur-fitur Oracle9i Dapat menjelaskan aspek teori maupun fisik dari database relasional Menggambarkan Implementasi Oracle pada RDBMS dan ORDBMS 1.2. Oracle9i

Lebih terperinci

Model dan Aljabar Relasional. Rima Dias Ramadhani, S.Kom., M.Kom Wa:

Model dan Aljabar Relasional. Rima Dias Ramadhani, S.Kom., M.Kom   Wa: Model dan Aljabar Relasional Rima Dias Ramadhani, S.Kom., M.Kom Email: rima@ittelkom-pwt@ac.id Wa: 087731680017 RECORD BASED DATA MODEL Model Hierarkikal Model Jaringan Model Relasional Struktur Hirarki

Lebih terperinci

Perangkat Lunak Pengembangan Web

Perangkat Lunak Pengembangan Web Perangkat Lunak Pengembangan Web Pertemuan 5 Database I Program Diploma IPB - Aditya Wicaksono, SKomp 1 Apa itu SQL? Structured Query Language SQL adalah bahasa standar untuk mengakses database SQL memungkinkan

Lebih terperinci

STRUCTURE QUERY LANGUAGE (SQL)

STRUCTURE QUERY LANGUAGE (SQL) STRUCTURE QUERY LANGUAGE (SQL) Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. SQL mempunyai kemampuan sebagai berikut : a. Query (memperoleh

Lebih terperinci

SISTEM BASIS DATA By Novareza Klifartha

SISTEM BASIS DATA By Novareza Klifartha SISTEM BASIS DATA By Novareza Klifartha Konsep Sistem Basis Data SISTEM sebuah keterpaduan yang terdiri atas sejumlah komponen fungsional dengan satuan fungsi / tugas tertentu, yang saling berhubungan

Lebih terperinci

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub

Sistem Basis Data; Tutorial Konseptual Oleh : Yakub Sistem Basis Data; Tutorial Konseptual Oleh : Yakub Edisi Pertama Cetakan Pertama, 2008 Hak Cipta 2008 pada penulis, Hak Cipta dilindungi undang-undang. Dilarang memperbanyak atau memindahkan sebagian

Lebih terperinci

LINGKUNGAN BASIS DATA

LINGKUNGAN BASIS DATA LINGKUNGAN BASIS DATA TUJUAN PEMBELAJARAN Menjelaskan tingkat arsitektur basis data Menjelaskan komponen DBMS, fungsi DBMS serta bahasa yang digunakan dalam DBMS Menjelaskan perbedaan model data berbasis

Lebih terperinci

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom

SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom SQL (Structure Query Language) Gentisya Tri Mardiani, S.Kom SQL Structure Query Language (SQL) adalah bahasa query standar yang digunakan untuk mengakses basis data relasional. Kemampuan SQL: Query (memperoleh

Lebih terperinci

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG

SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG M O D U L S Q L SISTEM BASIS DATA 2 Disusun oleh : Siti Yuliyanti, ST SEKOLAH TINGGI TEKNOLOGI INDONESIA TANJUNG PINANG Jl. Brigjen Katamso No.92 Km 2.5 Tanjungpinang Kepulauan Riau November 24, 2010 SQL

Lebih terperinci

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL

Apakah SQL? Membuat basis data dan struktur tabel Input, update, dan delete data dari tabel Membuat query sederhana dan kompleks SQL SQL Basis Data 1 Apakah SQL? SQl singkatan dari Structured Query Language yang merupakan bahasa komputer standar ANSI (American National Standards Institute). Dengan SQL kita dapat Membuat basis data dan

Lebih terperinci

MODUL 7 STRUCTURED QUERY LANGUAGE

MODUL 7 STRUCTURED QUERY LANGUAGE MODUL 7 STRUCTURED QUERY LANGUAGE BAHASA QUERY KOMERSIAL Berdasarkan acuan model relasional, ada 2 bahasa query komersial yang tersedia : 1. SQL (Structured Query Language) 2. QBE (Query By Example ).

Lebih terperinci

P7 Perancangan Database

P7 Perancangan Database P7 Perancangan Database SQ http://sidiq.mercubuana-yogya.ac.id Program Studi Teknik Informatika Fakultas Teknologi Informasi Universitas Mercu Buana Yogyakarta Tujuan Mahasiswa mengetahui & memahami konsep

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA KOMPUTER JAKARTA S SATUAN ACARA PERKULIAHAN Mata : Sistem Basis Data Kode Mata : MI - 16303 Jurusan / Jenjang : S1 SISTEM INFORMASI Tujuan Instruksional Umum : Mahasiswa

Lebih terperinci

Riyanto

Riyanto SQL (Structured Query Language) Riyanto mohriyan@gmail.com http://www.masto.co.cc Lisensi Dokumen: Seluruh dokumen di IlmuKomputer.Com dapat digunakan, dimodifikasi dan disebarkan secara bebas untuk tujuan

Lebih terperinci

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL

Pertemuan 3 dan 4 : MODEL DATA RELASIONAL Pertemuan 3 dan 4 : MODEL DATA RELASIONAL Tujuan Instruksional Khusus : Mahasiswa dapat menjelaskan pengertian model data relasional, istilah-istilah dalam model data relasional, jenis-jenis kunci relasional,

Lebih terperinci

Konsep Sistem Informasi B. BAB 2 - SQL Overview

Konsep Sistem Informasi B. BAB 2 - SQL Overview Konsep Sistem Informasi B BAB 2 - SQL Overview Summary Definisi SQL Komponen-Komponen SQL Latihan What is? Introduction SQL Structured Query Language adalah sebuah bahasa yang digunakan untuk mengakses

Lebih terperinci

STRUCTURE QUERY LANGUAGE DDL & DML

STRUCTURE QUERY LANGUAGE DDL & DML STRUCTURE QUERY LANGUAGE DDL & DML OUTLINE Data Definiton Language (DDL) Data Manipulation Language (DML) Data Control Language (DCL) Proses Pembangunan Database Perintah SQL DATA DEFINITION LANGUAGE (DDL)

Lebih terperinci

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI.

SISTEM BASIS DATA 1. WAHYU PRATAMA, S.Kom., MMSI. SISTEM BASIS DATA 1 WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 4 SBD 1 Model Data Relasional (Bagian 2) Relasional Keys. Relasional Integrity Rules. Bahasa pada Model Relasional. Relasional Keys Super Key

Lebih terperinci

BASIS DATA MODEL BASIS DATA

BASIS DATA MODEL BASIS DATA BASIS DATA MODEL BASIS DATA APA ITU MODEL BASIS DATA? Model database menunjukkan struktur logis dari suatu basis data, termasuk hubungan dan batasan yang menentukan bagaimana data dapat disimpan dan diakses.

Lebih terperinci

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly)

PERTEMUAN 10. SQL : Data Manipulation (Chap. 6 Conoly) PERTEMUAN 10 SQL : Data Manipulation (Chap. 6 Conoly) TUJUAN DAN PENTINGNYA SQL SQL adalah sebuah bahasa yang dipergunakan untuk mengakses data dalam basis data relasional. SQL adalah sebuah bahasa permintaan

Lebih terperinci

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language)

S Q L. Sejarah SQL. Penulisan Perintah SQL. SQL (Structure Query Language) SQL (Structure Query Language) S Q L SQL merupakan transform-oriented language dengan 2 komponen utama: DDL & DML Mendefinisikan bahasa yang disebut Structured English Query Language (SEQUEL) Standar ISO

Lebih terperinci

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng

Sistem Basis Data Danny Kriestanto, S.Kom., M.Eng Sistem Basis Danny Kriestanto, S.Kom., M.Eng SQL Introduction Setelah Membuat ERD dan Model Relasional, what s next? Bagaimana cara membangun entitas dan relationship tersebut agar dapat digunakan? Bagaimana

Lebih terperinci

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus :

Pertemuan 2 dan 3 : Tujuan Instruksional Khusus : 1 Pertemuan 2 dan 3 : MODEL DATA RELASIONAL Tujuan Instruksional Khusus : 1. Mahasiswa dapat menjelaskan pengertian model data relasional, istilah-istilah dalam model data relasional, jenis- jenis kunci

Lebih terperinci

RENCANA PEMBELAJARAN

RENCANA PEMBELAJARAN ISO 91 : 28 Written by Checked by Approved by valid date Megawaty. M.Kom A. Haidar Mirza, S.T., M.Kom M. Izman Herdiansyah, S.T., M.M., Ph.D. Subject : Basis Data Semester : 3 Code : Credit : 2 credit

Lebih terperinci

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1

BASIS DATA I/2011-GANJIL MODEL RELASIONAL. Oleh Team Teaching Database. 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1 BASIS DATA I/2011-GANJIL MODEL RELASIONAL Oleh Team Teaching Database 12 Oktober 2011 BASIS DATA I/2011-GANJIL 1 Konsep-Konsep Model Relasional Model relasional berdasarkan pada konsep relasi dalam matematika

Lebih terperinci

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono

INTEGRITAS BASIS DATA. OLEH : Slamet Sn Wibowo Wicaksono INTEGRITAS BASIS DATA OLEH : Slamet Sn Wibowo Wicaksono Integrity Constraint (Batasan Integritas) Constraint (batasan) merupakan aturan yang diberikan pada suatu tabel agar data yang dimasukkan terjamin

Lebih terperinci

DASAR-DASAR SQL SERVER 2005

DASAR-DASAR SQL SERVER 2005 DASAR-DASAR SQL SERVER 2005 SQL SQL (Structured Query Language) adalah salah satu bahasa generasi level ke-4 yang awalnya dikembangkan oleh IBM di San Jose Research Laboratory. Berbeda dengan bahasa pemrograman

Lebih terperinci

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9)

Agenda SQL. Pemakai SQL. Kemampuan SQL 02/12/2010 STRUCTURED QUERY LANGUAGE (SQL) Structured Query Language (SQL) (Pert. 9) Agenda Structured Query Language (SQL) (Pert. 9) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah Pengantar SQL DDL 1 2 SQL Singkatan dari Structured Query Language, dalam

Lebih terperinci

Basis Data Relational

Basis Data Relational Basis Data Relational Kebanyakan model yang digunakan adalah Model basis data relasional dengan menggunakan Relational Database Management System (RDBMS). RDBMS menyediakan layanan pengorganisasian data

Lebih terperinci

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom

PEMROSESAN QUERY. Gentisya Tri Mardiani, S.Kom PEMROSESAN QUERY Gentisya Tri Mardiani, S.Kom Pendahuluan Pemrosesan terhadap query di dalam suatu basis data dilakukan dengan menggunakan bahasa query (query language) Bahasa query formal basis data relasional

Lebih terperinci

BAB 3 BAHASA BASIS DATA (DATABASE LANGUAGE)

BAB 3 BAHASA BASIS DATA (DATABASE LANGUAGE) 1 BAB 3 BAHASA BASIS DATA (DATABASE LANGUAGE) DBMS merupakan perantara bagi pemakai dengan basis data dalam Disk. Cara berkomunkasi / berinteraksi antara pemakai dengan basis data diatur dalam suatu bahasa

Lebih terperinci

BASISDATA. Basis Data Secara Umum

BASISDATA. Basis Data Secara Umum BASISDATA Basis Data Secara Umum Basis data merupakan kumpulan file/tabel/arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis. Definisi ini merujuk pada perkembangan dunia hardware

Lebih terperinci

System Technology Database 1. 2 Model Relational. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

System Technology Database 1. 2 Model Relational. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress. System Technology Database 1 2 Model Relational Dahlia Widhyaestoeti, S.Kom dahlia.widhyaestoeti@gmail.com dahlia74march.wordpress.com Model Relasional Setelah mengikuti pemelajaran pada topik ini, Anda

Lebih terperinci

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN

SEKOLAH TINGGI MANAJEMEN INFORMATIKA & KOMPUTER JAKARTA STI&K SATUAN ACARA PERKULIAHAN SEKOLAH TINGGI MANAJEMEN INFORMAA KOMPUTER JAKARTA S SATUAN ACARA PERKULIAHAN Mata : SISTEM BASIS DATA 1 Kode Mata : MI - 15204 Jurusan / Jenjang : D3 MANAJEMEN INFORMAA Tujuan Instruksional Umum : Mahasiswa

Lebih terperinci

Basis Data. Bagian IV SQL (1) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan

Basis Data. Bagian IV SQL (1) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Basis Data Bagian IV SQL (1) Fak. Teknik Jurusan Teknik Informatika Universitas Pasundan Sejarah SQL IBM mengembangkan versi asli SQL di San Jose Research Laboratory (sekarang Almaden Research Center)

Lebih terperinci

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL

Sejarah(1) Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Definisi SQL Sejarah(2) STRUCTURE QUERY LANGUANGE (1) Tahun 1987, American National Standards Institute (ANSI) dan International Standards Organization (ISO) membuat standar untuk SQL Tahun 1992, dibentuk versi baru

Lebih terperinci

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA KODE : TI11. C228 / 4 SKS

SATUAN ACARA PERKULIAHAN MATA KULIAH SISTEM BASIS DATA KODE : TI11. C228 / 4 SKS Pertemuan ke Pokok Bahasan dan TIU 1. 1. PENGANTAR BASIS DATA konsep yang terdapat di dalam basis data Sub Pokok Bahasan dan TIK 1.1. Ruang lingkup mengenai mata kuliah yang diajarkan 1.2. Perbedaan sistem

Lebih terperinci

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan

Pertemuan Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan Pertemuan 2 1. Sistem Informasi SI adalah suatu suatu sistem dalam suatu organisasi yang merupakan kombinasi dari orang-orang, fasilitas, teknologi, media, prosedur dan pengendalian untuk mendapatkan jalur

Lebih terperinci

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai

Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai Basis Data Pemrosesan data sebelum adanya basis data Perancangan sistemnya masih didasarkan pada kebutuhan individu pemakai, bukan kebutuhan sejumlah pemakai Duplikasi data Data yg sama terletak pada

Lebih terperinci

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang

BAB II LANDASAN TEORI. Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang 9 BAB II LANDASAN TEORI 2.1.1 Pengertian Data Pengertian data adalah : Data adalah deskripsi tentang benda, kejadian, aktifitas, dan transaksi, yang tidak mempunyai makna atau tidak berpengaruh langsung

Lebih terperinci

BAB I PENDAHULUAN. C. Tujuan Penulisan Tujuan penulisan makalah ini adalah:

BAB I PENDAHULUAN. C. Tujuan Penulisan Tujuan penulisan makalah ini adalah: BAB I PENDAHULUAN A. Latar Belakang Di matematika dikenal istilah aljabar kalkulus, kalkulus integral, serta kalkulus differensial. Banyak buku dalam membahas model relasional membedakan aljabar relasional

Lebih terperinci

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL)

STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) STRUCTURED QUERY LANGUAGE (SQL) (Implementasi menggunakan MySQL) A. Pengenalan SQL SQL pertama kali diterapkan pada sistem R (sebuah proyek riset pada laboratorium riset San Jose, IBM). Kini SQL juga dijumpai

Lebih terperinci

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA

MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA MODUL PEMPROGRAMAN SQL TINGKAT DASAR 1 STANDAR KOMPETENSI: MENERAPKAN BAHASA PEMPROGRAMAN SQL TINGKAT DASAR SMK NEGERI 1 MAJALENGKA PENGANTAR SQL TINGKAT DASAR Basisdata atau database adalah kumpulan dari

Lebih terperinci

System Technology Database 1. Struktur Dasar SQL. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress.

System Technology Database 1. Struktur Dasar SQL. Dahlia Widhyaestoeti, S.Kom dahlia74march.wordpress. System Technology Database 1 6 Dahlia Widhyaestoeti, S.Kom dahlia.widhyaestoeti@gmail.com dahlia74march.wordpress.com Orang yang gagal selalu mencari jalan untuk menghindari kesulitan, sementara orang

Lebih terperinci

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA

SATUAN ACARA PERKULIAHAN UNIVERSITAS GUNADARMA Mata Kuliah Kode / SKS Program Studi Fakultas : Sistem Basis Data : IT012248 / 2 SKS : Sistem Komputer : Ilmu Komputer & Teknologi Informasi 1. Pengantar Basis Data Mahasiswa dapat me-ngerti dan memahami

Lebih terperinci

INTERNET PROGRAMMING DATABASE

INTERNET PROGRAMMING DATABASE INTERNET PROGRAMMING DATABASE Muhmmad Zen Samsono Hadi, ST. MSc. zenhadi@eepis-its.edu POLITEKNIK ELEKTRONIKA NEGERI SURABAYA Bahasan Sistem Database ER Diagram Database MySQL Internet Application Pendahuluan

Lebih terperinci

Pemrograman Basis Data dan SQL

Pemrograman Basis Data dan SQL Pemrograman Basis Data dan SQL Genap 2015-2016 Alen Boby Hartanto, S alen.boby@mercubua INTRO omata Kuliah : Pemrograman Sistem Basis Data dan SQL osks : 3 ojenis : Mata Kuliah Wajib opertemuan : 14 Pertemuan

Lebih terperinci

Arsitektur Basis Data Oracle

Arsitektur Basis Data Oracle Arsitektur Basis Data Oracle Oracle pertama kali dicetuskan oleh Larry Elisson beserta dua temannya pada tahun 1977. Nama Oracle diambil dari proyek milik CIA di mana dia sebelumnya bekerja. (Wikipedia)

Lebih terperinci

KETERAMPILAN KOMPUTER 2B** (IT :S1-SA) Pertemuan 7. Database Dbase IV AHMAD HIDAYAT

KETERAMPILAN KOMPUTER 2B** (IT :S1-SA) Pertemuan 7. Database Dbase IV AHMAD HIDAYAT KETERAMPILAN KOMPUTER 2B** (IT-061208:S1-SA) Pertemuan 7 Database Dbase IV AHMAD HIDAYAT Pengenalan Database Data, dapat didefinisikan sebagai fakta yang direkam atau dicatat. Sebagai contoh adalah nama,

Lebih terperinci

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa

SISTEM BASIS DATA. Oleh : Devie Rosa Anamisa SISTEM BASIS DATA Oleh : Devie Rosa Anamisa Pengertian Sistem Basis Data Sistem Keterpaduan yang terdiri atas sejumlah komponen fungsional yang saling berhubungan dan secara bersama-sama bertujuan untuk

Lebih terperinci

DESAIN DATABASE. Pertemuan 06 3 SKS

DESAIN DATABASE. Pertemuan 06 3 SKS Materi 1. Era Informasi 2. Strategi dan Peluang Yang Kompetitif 3. Database dan Database Warehouse 4. Desain Database 5. Sistem Pendukung Keputusan dan Sistem Cerdas 6. E-Commerce DESAIN DATABASE Pertemuan

Lebih terperinci

MODEL DATA RELASIONAL

MODEL DATA RELASIONAL MODEL DATA RELASIONAL PENGERTIAN BASIS DATA RELASIONAL Pada model relasional, basis data akan "disebar" atau dipilah-pilah ke dalam berbagai tabel dua dimensi. Setiap tabel selalu terdiri atas lajur mendatar

Lebih terperinci

BAB 4 ALJABAR RELASIONAL

BAB 4 ALJABAR RELASIONAL BAB 4 ALJABAR RELASIONAL Bahasa Query Relasional (Relational Query Language) Bahasa Query : memungkinkan manipulasi dan pemanggilan data dari suatu basis data. Model Relasional mendukung kesederhanaan,

Lebih terperinci

Pendahuluan. Tujuan MODUL

Pendahuluan. Tujuan MODUL DATABASE Satrio Agung W, Ari Kusyanti dan Mahendra Data Teknik Informatika, Fakultas Teknik, Universitas Brawijaya, Email : informatika@ub.ac.id Pendahuluan Model relasional berdasar pada konsep relasi

Lebih terperinci

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System)

BAB 2 LANDASAN TEORI Pengertian DBMS (Database Management System) 21 BAB 2 LANDASAN TEORI 2.1. Pengertian DBMS (Database Management System) Database Management System atau DBMS adalah perangkat lunak yang didesain untuk membantu dalam memelihara dan menggunakan koleksi

Lebih terperinci

BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL

BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL 1 BAB 5 ANOMALI DAN INTEGRITAS DATA PADA MODEL RELASIONAL 5.1. Anomali Anomali adalah proses pada basisdata yang memberikan efek samping yang tidak diharapkan (misal menyebabkan ketidakkonsistenan data

Lebih terperinci

Teknik Informatika, Fakultas Teknik, Universitas Brawijaya,

Teknik Informatika, Fakultas Teknik, Universitas Brawijaya, BASIS DATA Aljabar Relasional Teknik Informatika, Fakultas Teknik, Universitas Brawijaya, Email : dl@ub.ac.id Pendahuluan Pemrosesan terhadap query di dalam suatu system basis data dilakukan dengan menggunakan

Lebih terperinci

STRUCTURE QUERY LANGUAGE

STRUCTURE QUERY LANGUAGE STRUCTURE QUERY LANGUAGE Structure Query Language (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented

Lebih terperinci

MODEL RELASIONAL. Alif Finandhita, S.Kom

MODEL RELASIONAL. Alif Finandhita, S.Kom MODEL RELASIONAL Alif Finandhita, S.Kom E. F. Codd A Relational Model of Data for large shared data bank 1970 Model relasional merupakan teori formal yang mendasari sistem relasional, adalah suatu cara

Lebih terperinci

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs.

Praktikum Basis Data. By. Rita Wiryasaputra, ST., M. Cs. Praktikum Basis Data By. Rita Wiryasaputra, ST., M. Cs. SQL: DDL (Data Definition Language) Create Database Create Table Create View Create Index Alter Database Alter Table Alter View Drop Database Drop

Lebih terperinci

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI.

SISTEM BASIS DATA 2. WAHYU PRATAMA, S.Kom., MMSI. SISTEM BASIS DATA 2 WAHYU PRATAMA, S.Kom., MMSI. PERTEMUAN 1 - SBD 2 Pendahuluan Pengenalan Secara Umum Materi Sistem Basis Data 2 (SAP). Review Pengantar Model Data Relasional (MDR). Keuntungan Penggunaan

Lebih terperinci

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL

BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL BAB III MODEL DATA RELASIONAL DAN ALJABAR RELASIONAL Model data relasional diperkenankan oleh Codd pada tahun 1970. Didasarkan pada suatu struktur data yang sederhana dan seragam (uniform), yaitu : Relasi

Lebih terperinci

BAB 3 MODEL RELASIONAL

BAB 3 MODEL RELASIONAL BAB 3 MODEL RELASIONAL Mengapa perlu mempelajari Model Relasional? Model basis data yang paling banyak digunakan o Vendors : IBM, Informix, Microsoft, Oracle, Sybase, dll. o Yang menjadi saingan berat

Lebih terperinci

Pertemuan 9 Struktur Query Language(SQL)

Pertemuan 9 Struktur Query Language(SQL) Pertemuan 9 Struktur Query Language(SQL) INDIKATOR 1. Membuat table dan memodifikasi tabel dengan perintah SQL 2. Memahami integrity Constraint - Primary key - Foreign key Pendahuluan SQL ( Structured

Lebih terperinci

RENCANA PEMBELAJARAN

RENCANA PEMBELAJARAN Disusun Oleh Diperiksa Oleh Disetujui Oleh Tanggal Berlaku Megawaty, M.Kom A. Haidar Mirza, S.T., M.Kom M. Izman Herdiansyah, S.T., M.M., Ph.D. Mata Kuliah : Praktikkum Basis Data Semester : 3 Kode : Sks

Lebih terperinci

Modul 4 Microsoft Access 2007

Modul 4 Microsoft Access 2007 Tugas Pendahulan Modul 4 Microsoft Access 2007 Mata kuliah : CF 1310 Pengantar Teknologi Informasi Disusun oleh : Nama Route Gemilang 5208 100 073 Semester Ganjil 2008/2009 Jurusan Sistem Informasi Fakultas

Lebih terperinci

MAKALAH PERANCANGAN BASIS DATA MODEL DATA. Disusun oleh: Ainun Aisyiyah Iman Safuad Ismi Fadhilah

MAKALAH PERANCANGAN BASIS DATA MODEL DATA. Disusun oleh: Ainun Aisyiyah Iman Safuad Ismi Fadhilah MAKALAH PERANCANGAN BASIS DATA MODEL DATA Disusun oleh: Ainun Aisyiyah 2014001690 Iman Safuad 2014001726 Ismi Fadhilah 2014001729 AMIK Harapan Bangsa Surakarta 2015 MODEL DATA A. Pengertian Model Data

Lebih terperinci

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE

S Q L STRUCTURED QUERY LANGUAGE DEFINITION MANIPULATION C O N T R O L D M L SELECT INSERT UPDATE DELETE STRUCTURED QUERY LANGUAGE (SQL) merupakan komponen bahasa relational database system. SQL merupakan bahasa baku (ANSI/SQL), non procedural, dan berorientasi himpunan (set-oriented language). SQL dapat

Lebih terperinci

BAB II LANDASAN TEORI. berkelanjutan tentang kegiatan/program sehingga dapat dilakukan tindakan

BAB II LANDASAN TEORI. berkelanjutan tentang kegiatan/program sehingga dapat dilakukan tindakan BAB II LANDASAN TEORI 2.1 Monitoring Menurut Dr. Harry Hikmat (2010), monitoring adalah proses pengumpulan dan analisis informasi berdasarkan indikator yang ditetapkan secara sistematis dan berkelanjutan

Lebih terperinci

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan)

PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers. (Chap. 5 Ramakrishnan) PERTEMUAN 11 SQL(lanjutan): Queries, Constraints & Triggers (Chap. 5 Ramakrishnan) Overview Structure Query Language (SQL) adalah bahasa database relasional komersial yang paling banyak digunakan. SQL

Lebih terperinci

Database dan DBMS DBMS adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan mengakses basis data dengan

Database dan DBMS DBMS adalah perangkat lunak sistem yang memungkinkan para pemakai membuat, memelihara, mengontrol, dan mengakses basis data dengan Database dan DBMS Database adalah : suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktifitas untuk memperoleh informasi. semua data yang disimpan pada sumberdaya berbasis

Lebih terperinci

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2

PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PENGANTAR TEKNOLOGI SISTEM INFORMASI MANAGEMENT 2 PERTEMUAN 5 & 6 STRUCTURE QUERY LANGUAGE STRUCTURE QUERY LANGUAGE SQL adalah bahasa query baku untuk DBMS. SQL diambil sebagai bakuan sejak tahun 1992.

Lebih terperinci

PEMROSESAN QUERY. Alif Finandhita, S.Kom, M.T

PEMROSESAN QUERY. Alif Finandhita, S.Kom, M.T PEMROSESAN QUERY Alif Finandhita, S.Kom, M.T Pemrosesan terhadap query di dalam suatu sistem basis data dilakukan dengan menggunakan bahasa query (query language). Bahasa query formal basis data relasional

Lebih terperinci

Model Relasional Basis Data

Model Relasional Basis Data Modul ke: 03 Sabar Fakultas ILMU KOMPUTER Model Relasional Basis Data Mata Kuliah: Basis Data Rudiarto, S.Kom., M.Kom. Program Studi Teknik Informatika Materi Yang Akan Disampaikan Pengertian Keuntungan

Lebih terperinci

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya.

BAB 2 LANDASAN TEORI. pengolahan data, pengolahan gambar, pengolahan angka, dan lainnya. BAB 2 LANDASAN TEORI 2.1 Pengertian Aplikasi Aplikasi merupakan komponen atau perangkat lunak pendukung sistem operasi yang bisa digunakan untuk keperluan membantu kerja manusia sehari-hari seperti pengolahan

Lebih terperinci

STRUCTURED QUERY LANGUAGE (SQL)

STRUCTURED QUERY LANGUAGE (SQL) BAB V STRUCTURED QUERY LANGUAGE (SQL) Sistem basis data komersial menghendaki adanya sebuah bahasa query yang lebih user-friendly. Oleh karena itu dikenal SQL sebagai bahasa query yang marketable. SQL

Lebih terperinci

LAPORAN TUGAS BASIS DATA I

LAPORAN TUGAS BASIS DATA I LAPORAN TUGAS BASIS DATA I Disusun untuk Memenuhi Tugas Matakuliah Basis Data I yang dibimbing oleh Bapak Muhammad Zainal Arifin Oleh : KATYA LINDI CHANDRIKA 140535605307 UNIVERSITAS NEGERI MALANG FAKULTAS

Lebih terperinci

SQL (Structured Query Language)

SQL (Structured Query Language) DIK-034 Database Berbasis Web SQL (Structured Query Language) Dr. Taufik Fuadi Abidin, M.Tech www.informatika.unsyiah.ac.id/tfa Universitas Syiah Kuala Intro: SQL SQL = "Structured Query Language Memiliki

Lebih terperinci

BAB 2 LANDASAN TEORI

BAB 2 LANDASAN TEORI BAB LANDASAN TEORI.1 Defenisi Pangkalan Data Pangkalan data atau Database merupakan kumpulan dari item data yang saling berhubungan satu dengan yang lainnya yang diorganisasikan berdasarkan sebuah skema

Lebih terperinci

Modul Praktikum Basis Data 4 Relasi Table

Modul Praktikum Basis Data 4 Relasi Table Modul Praktikum Basis Data 4 Relasi Table Pokok Bahasan Membuat hubungan beberapa table. Edit Relational Menghapus relational Melakukan pengolahan data dari table yang terintegrasi dalam ERD. Studi Kasus

Lebih terperinci

MINGGU XI : SQL SERVER

MINGGU XI : SQL SERVER MINGGU XI : SQL SERVER Kompetensi Khusus - Setelah mengikuti perkuliahan ini mampu mengelola data dalam SQL Server melalui C# Persyaratan Khusus - Telah mengambil mata kuliah Sistem Basis Data atau Perancangan

Lebih terperinci

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek.

Perkenalan SQL. Ada empat macam tipe database yaitu hirarki, jaringan, relasional, dan objek. Perkenalan SQL Sebuah database adalah sekumpulan informasi yang disusun dengan baik. Untuk mengatur sebuah database, dibutuhkan sebuah Database Management System (DBMS). DBMS merupakan program untuk menyimpan,

Lebih terperinci

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle.

Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 1 2 3 Eksekusi file setup.exe yang ada dalam CD atau folder instalasi oracle. 4 Isilah konfigurasi instalasi yang akan dibuat. Oracle Home Location : biasanya terisi otomatis dgn drive yang paling banyak

Lebih terperinci

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017

Konsep Dasar Basis Data. Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017 Konsep Dasar Basis Data Oleh: Harnan Malik Abdullah, ST., MSc. Program Pendidikan Vokasi Universitas Brawijaya 2017 Pengertian Basis Data Data fakta mengenai objek, orang, dan lain-lain Basis Data sebuah

Lebih terperinci

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database

Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Data Manipulation Language (DML) & Data Control Language (DCL) pada Database Karunia Suci Lestari k.sucilestari97@gmail.com :: http://ksucilestari97.wordpress.com Abstrak Setelah artikel sebelumnya membahas

Lebih terperinci

SQL Data Definition Language (DDL)

SQL Data Definition Language (DDL) Structured Query Language - DML (Pert. 12) Oleh : Umi Laili Yuhana, S.Kom, M.Sc. Sarwosri, S.Kom, M.T. Dr. Ir. Siti Rochimah 1 SQL Data Definition Language (DDL) Perintah DDL dalam SQL meliputi : CREATE

Lebih terperinci

Structured Query Language

Structured Query Language Structured Query Language DML (Data Manipulation Language) 31 Mei 2006 2006, M. Ramadhan 1 Pendahuluan Yang akan dibahas: Data Manipulation Language (DML) Pernyataan SQL untuk: Menemukan kembali data dalam

Lebih terperinci

PRAKTIKUM SISTEM INFORMASI MANAJEMEN

PRAKTIKUM SISTEM INFORMASI MANAJEMEN MODUL 2 DATABASE Tujuan Praktikum Adapun tujuan dari praktikum modul 2 ini adalah sebagai berikut: a. Mahasiswa diharapkan memahami tentang MySQL b. Mahasiswa dapat membuat database menggunakan MySQL c.

Lebih terperinci

TEKNIK INFORMATIKA UNIVERSITAS JENDERAL SOEDIRMAN. Bab II: Mengenal DBMS

TEKNIK INFORMATIKA UNIVERSITAS JENDERAL SOEDIRMAN. Bab II: Mengenal DBMS TEKNIK INFORMATIKA UNIVERSITAS JENDERAL SOEDIRMAN Bab II: Mengenal DBMS II.1. DBMS dan Keuntungannya DBMS: suatu program komputer yang digunakan untuk memasukkan, mengubah, menghapus, memanipulasi dan

Lebih terperinci

Abstraksi Data (Arsitektur DBMS)

Abstraksi Data (Arsitektur DBMS) Abstraksi Data (Arsitektur DBMS) Abstraksi data merupakan tingkatan / level bagaimana melihat data dalam sebuah sistem basis data. Basis data merepresentasikan pandangan yang berbeda kepada: pengguna (user),

Lebih terperinci

BAB III ANALISIS PERMASALAHAN

BAB III ANALISIS PERMASALAHAN BAB III ANALISIS PERMASALAHAN Hal-hal yang dianalisis pada bab ini meliputi: 1. Aspek waktu yang akan digunakan. 2. Fungsi agregasi pada relasi bitemporal. 3. Jenis query retrieval yang mengandung fungsi

Lebih terperinci

PEMROSESAN QUERY. Alif Finandhita, S.Kom

PEMROSESAN QUERY. Alif Finandhita, S.Kom PEMROSESAN QUERY Pemrosesan terhadap query di dalam suatu sistem basis data dilakukan dengan menggunakan bahasa query (query language). Bahasa query formal basis data relasional adalah bahasa untuk meminta

Lebih terperinci

M0564-Pengantar Sistem Basisdata 12/ 1

M0564-Pengantar Sistem Basisdata 12/ 1 M0564-Pengantar Sistem Basisdata 12/ 1 SQL : DML (Continue) Query Multi-Table Dapat menggunakan subqueri asalkan kolom yang dihasilkan berasal dari tabel yang sama. Jika kolom yang dihasilkan berasal dari

Lebih terperinci

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi

BAB 3 ANALISIS DAN PERANCANGAN. menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi menjadi BAB 3 ANALISIS DAN PERANCANGAN 3. Analisis Kebutuhan Sistem Hal pertama yang perlu dilakukan dalam analisis kebutuhan sistem adalah menentukan dan mengungkapkan kebutuhan sistem. Kebutuhan sistem terbagi

Lebih terperinci