Selasa, 07 Oktober 2014

Laapooraan 3


assalamualaikum



BAB 1
LANDASAN TEORI


  1. My SQL

Sistem adalah sebuah tatanan (keterpaduan) yang terdiri atas sejumlah komponen fungsional (dengan tugas khusus) yang saling berhubungan dan secara bersama-sama bertujuan untuk memenuhi suatu proses/pekerjaan tertentu.


Untuk mengelola basis data dibutuhkan gabungan antara basis data dan pengelolanya (program/aplikasi software) yang menghasilkan sebuah sistem yaitu sistem basis data. Dalam sebuah sistem basis data akan terdapat komponen-komponen utama seperti perangkat keras, sistem operasi, basis data, Database Management System (DBMS), pemakai (user), aplikasi (perangkat lunak) lain.

Pada tulisan ini akan dibahas mengenai salah satu komponen dari sistem basis data yaitu Database Management System (DBMS). Dalam pengelolaannya basis data ditangani oleh sebuah Perangkat Lunak (Sistem) yang khusus/spesifik, perangkat lunak ini disebut DBMS, yang akan menentukan bagaimanan data diorganisasi, di simpan, dan diambil kembali. Selain itu DBMS juga menerapkan mekanisme pengamanan data, pemakaian data secara bersama, menjaga keakuratan data/konsistensi data, dan sebagainya.

PERANGKAT LUNAK YANG TERMASUK DBMS
Berikut di bawah ini adalah beberapa perangkat lunak yang termasuk DBMS:
  • Untuk kelas sederhana
dBase IV, FoxBase, Rbase, MS-Access, dan Borland Paradox,
  • Untuk kelas berat/kompleks
Borland-Interbase, MS-SQL Server, CA-Open Ingres, Oracle, Informix, MySQL , dan Sybase.

MySQL
MySQL adalah sebuah database relasional gratis dan open source (GPL) yang mula-mula tersedia di Unix/Linux namun kini tersedia juga di sistem operasi Windows. MySQL mulai popular sejak pertengahan 1990-an saat Web dan aplikasi web mulai popular. Kala itu, selain mySQL, tidak ada alternatif database lain yang cepat, stabil, dan memiliki fitur-fitur yang cukup untuk bisa dijadikan database pendukung aplikasiweb. Hingga kini MySQL terus bertahan sebagai database open source yang paling popular mengalahkan PostgreSQL, Interbase/Firebird, dan lain sebagainya. MySQL mudah diinstal, mudah dipakai dan dapat dikonek dari berbagai bahasa pemrograman. Singkat kata, amat aksesibel bagi rata-rata penggunadatabase.

Kekuatan utama MySQL adalah pada kecepatannya, terutama untuk kecepatan koneksi (overhead koneksi yang rendah) dan kecepatannya untuk query-query yang sederhana dan juga cukup mudah untuk digunakan. Hal ini membuatnya cocok dipakai sebagai backend untuk aplikasi web termasuk berbasis CGI.

FITUR UTAMA MySQL
Berikut di bawah adalah daftar yang menjelaskan karakteristik yang menarik dari MySQL Database Software.

Internals and Portability
  • Ditulis dalam bahasa C dan C++.
  • Telah diuji dengan suatu jangkauan luas dari  compiler yang berbeda.
  • Bekerja pada banyak platform berbeda.
  • Penggunaan GNU Automake, Autoconf, dan Libtool untuk portabilitas.
  • Tersedianya APIs untuk C, C++, Eiffel, Java, Perl, PHP, Python, Ruby, dan Tcl.
  • Multi-threaded secara penuh menggunakan kernel threads. Sehingga dapat dengan mudah menggunakan multiple CPUs jika mereka ada tersedia.
  • Menyediakan transactional and non-transactional dalam penyimpanan.
  • Menggunakan B-Tree Tabel Disk yang sangat cepat ( MyISAM) dengan index compression.
  • Relatif mudah untuk menambahkan tempat penyimpanan yang lain. Ini sangat bermanfaat jika ingin menambahkan suatu SQL yang terhubung ke suatu database in-house.
  • Sistem alokasi memori thread-based yang sangat cepat.
  • Penggabungan yang sangat cepat dengan menggunakan optimized one-sweep multi-join.
  • In-memory hash tables, yang digunakan sebagai tabel temporer.
  • Fungsi-fungsi SQL diimplementasikan dengan perpustakaan kelas yang sangat optimal. Pada umumnya tidak ada alokasi memori sama sekali setelah query initialisasi.
  • MySQL Kode diuji dengan Purify (suatu pendeteksi kebocoran memori) seperti halnya dengan Valgrind, suatu GPL alat ( http://developer.kde.org/~sewardj/).
  • Server tersedia sebagai program terpisah untuk digunakan di lingkungan jaringan client/server.
  • Tersedia juga sebagai library yang dapat di-embedded yang dihubungkan ke dalam aplikasistandalone. Seperti aplikasi dapat digunakan di dalam lingkungan di mana jaringan tidak tersedia.

Tipe Data (Data Types)
  • Banyak jenis data: signed/unsigned integers 1, 2, 3, 4, dan 8 bytes long, FLOAT, DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP, YEAR, SET, ENUM, dan OpenGISspatial types.
  • Fixed-length and variable-length records.

Statemen dan fungsi
  • Mendukung penuh operator dan fungsi dalam SELECT dan WHERE klausa dalam query.
  • Mendukung penuh untuk GROUP BY dan ORDER BY klausa. Mendukung untuk group functions(COUNT(), COUNT(DISTINCT …), AVG(), STD(), SUM(), MAX(), MIN(), danGROUP_CONCAT()).
  • Mendukung untuk LEFT OUTER JOIN dan RIGHT OUTER JOIN dengan standar SQL dan sintaksis ODBC.
  • Mendukung untuk alias pada tabel dan kolom ketika diperlukan oleh SQL standar.
  • DELETE, INSERT, REPLACE, dan UPDATE mengembalikan banyaknya baris yang telah diubah ( yang terpengaruh). Dapat  mengembalikan banyaknya baris yang sama selain dengan pengaturan suatu bendera ketika dihubungkan kepada server.
  • Statemen MySQL-specific SHOW dapat digunakan untuk mendapat kembali informasi tentangdatabase, storeage engines, tabel, dan index.
  • SHOW statemen dapat digunakan untuk menentukan bagaimana optimizer memecahkan suatuquery.
  • Dapat menggabungkan tabel dari database yang berbeda di dalam query yang sama ( mulai dari MySQL 3.22).

Keamanan (Security)
  • Perlakuan khusus (privilege) dan sistem password yang fleksibel dan aman, dan memperbolehkan verifikasi host-based. Password aman sebab semua password traffic dalam keadaaan terenkripsi ketika dihubungkan ke suatu server.

Skalabilitas dan Batas (Scalability and Limits)
  • Dapat menangani database yang besar.
  • Jumlah index diatas 64 per tabel diperbolehkan ( 32 sebelum MySQL 4.1.2).  Masing-Masing i boleh terdiri dari 1 sampai 16 kolom atau bagian-bagian dari kolom. Lebar Index maksimumnya adalah 1000 bytes (767 untuk InnoDB); [sebelum MySQL 4.1.2, batasnya adalah 500 bytes. Suatuindex boleh menggunakan suatu awalan suatu kolom untuk CHAR, VARCHAR, BLOB, atau jenis kolom TEXT.

Konektivitas (Connectivity)
  • Klien dapat menghubungkan pada MySQL server menggunakan TCP/IP socket pada platformmanapun. Pada sistem Windoes pada NT family (NT, 2000, XP, 2003, or Vista), klien dapat menghubungkan penggunaan pipes. Pada Sistem Unix, klien dapat menghubungkan menggunakan file-file Unix domain socket.
  • Pada Mysql 4.1 dan atau versi lebih tinggi, server Windows juga mendukung koneksi shared-memory jika dimulai dengan pilihan –shared-memory . Klien dapat terhubung melalui pembagian memori dengan menggunakan pilihan –protocol=memory.
  • Connector/ODBC ( MyODBC) menyediakan interface MySQL untuk mendukung program klien yang menggunakan  koneksi ODBC (Open Database Connectivity). Sebagai contoh, dapat digunakan MS Access untuk terhubung ke MySQL Server Anda. Klien dapat dijalankan di Windows atau Unix.
  • Connector/J Alat menyediakan interface Mysql untuk mendukung program klien program Java yang menggunakan koneksi JDBC. Klien dapat dijalankan di Windows atau Unix.
  • MySQL Connector/NET memungkinkan pengembang untuk dengan mudah menciptakan aplikasi .NET yang memerlukan keamanan, performa tinggi dalam konektivitas data dengan MySQL.

STABILITAS MySQL
Kode yang asli  pada awal 1980-an. Menyediakan code base yang stabil, dan format tabel ISAM yang digunakan oleh storage engine yang asli tetap backward-compatible. Pada TcX, pendahulu MySQL AB, kode MySQL telah bekerja dalam proyek sejak pertengahan 1996, tanpa suatu masalah. Ketika MySQL databaseyang pada awalnya telah dilepaskan untuk umum, para pemakai baru yang dengan cepat mendapat beberapa potongan yang dari kode yang belum diuji. Masing-masing release baru sejak mempunyai lebih sedikit permasalahan portabilitas, meskipun masing-masing release-an baru juga telah mempunyai banyak memiliki fitur yang baru.

Dalam setiap release Mysql Server telah dapat dipakai. Permasalahan terjadi hanya ketika para pemakai mencoba kode dari “gray zone”. Yang secara alami, para pemakai baru tidak mengetahui apa itu “gray zone”.

MySQL Server design adalah multi-layered dengan modul mandiri. Sebagian dari modul yang lebih baru didaftarkan di sini dengan suatu indikasi seberapa baik pengujian yang dilakukan:
  • Replikasi (Stabil)
Kelompok besar penggunaan server yang menggunakan replikasi dalam penggunaan produksi, dengan hasil baik. Bekerja pada peningkatan fitur replikasi terus berlannjut.
  • InnoDB tables (Stabil)
Transaksi storeage engine Innodb telah stabil sejak versi 3.23.49. Innodb digunakan besar, sistem produksi muatan berat.
  • Full-text searches (Stabil)
Full-text searching secara luas digunakan. Peningkatan fitur penting telah ditambahkan pada Mysql 4.0 dan 4.1.

  • MyODBC 3.51 (Stabil)
Myodbc 3.51 menggunakan ODBC SDK 3.51 dan dalam penggunaan produksi yang lebar/luas. Beberapa isu nampak terlihat seperti terkait dengan aplikasi dan tidak terikat pada ODBC pengarah atau mendasari server database.

SEBERAPA BESAR TABEL PADA MySQL
MySQL 3.22 mempunyai batas banyaknya tabel sampai 4GB ( 4 gigabyte). Dengan MyISAM storage enginedi MySQL 3.23, batas ukuran tabel maksimum telah ditingkatkan sampai 65536 terabytes ( 2567-1 bytes). Banyaknya tabel efektif yang maksimum untuk MySQL database pada umumnya ditentukan oleh batasan sistem operasi pada besarnya file, bukan oleh batas pada MySQL.


DBMS (Database Management System) merupakan suatu perangkat lunak atau software yang bertugas sebagai perantara antara user dan database dan sebagai sistem pengelola (me-manajemen) data di dalam database.
SQL merupakan singkatan dari Structured Query Language. SQL atau juga sering disebut sebagai query merupakan suatu bahasa (language) yang digunakan untuk mengakses database. SQL dikenalkan pertama kali dalam IBM pada tahun 1970 dan sebuah standar ISO dan ANSII ditetapkan untuk SQL. Standar ini tidak tergantung pada mesin yang digunakan (IBM, Microsoft atau Oracle). Hampir semua software database mengenal atau mengerti SQL. Jadi, perintah SQL pada semua software database hampir sama.
Terdapat 3 (dua) jenis perintah SQL, yaitu DDL, DML dan DCL.
1. DDL atau Data Definition Language
DDL merupakan perintah SQL yang berhubungan dengan pendefinisian suatu struktur database, dalam hal inidatabase dan table. Beberapa perintah dasar yang termasuk DDL ini antara lain :
§  CREATE
§  ALTER
§  RENAME
§  DROP
2. DML atau Data Manipulation Language
DML merupakan perintah SQL yang berhubungan dengan manipulasi atau pengolahan data atau record dalam table. Perintah SQL yang termasuk dalam DML antara lain :
§  SELECT
§  INSERT
§  UPDATE
§  DELETE
3. DCL atau Data Control Language
DCL (bukan BCL) merupakan perintah SQL yang berhubungan dengan pengaturan hak akses user MySQL, baik terhadap server, database, tabel maupun field. Perintah SQL yang termasuk dalam DCL antara lain :
§  GRANT
§  REVOKE

beberapa hal yang perlu diperhatikan :
§  CREATE TABLE merupakan perintah dasar dari pembuatan table.
§  mhs merupakan nama tabel yang akan dibuat.
§  Nim, nama, tgllahir dan alamat merupakan nama field
§  Varchar, date dan text merupakan tipe data dari field
§  NOT NULL merupakan option untuk menyatakan bahwa suatu field tidak boleh kosong.
§  PRIMARY KEY merupakan perintah untuk menentukan field mana yang akan dijadikan primary key pada tabel.
§  10 dan 30 di belakang tipe data merupakan panjang maksimal dari suatu field
§  Untuk tipe data date dan text (dan beberapa tipe data lainnya) panjang karakter maksimalnya tidak perlu ditentukan.
§  Jangan lupa akhiri perintah dengan titik-koma (;)

      2. PostgreSQL

      Postgresql atau sering disebut 'postgres' termasuk dalam kategori object-Relational database management system (ordbms). Ordbms adalah dbms yang selain menggunakan prinsip-prinsip basis data relational, juga menggunakan pendekatan berorientasi obyek dalam model basis datanya. 


      Postgres dikembangkan sebagai freesoftware, dan bersifat terbuka (open-source), sehingga tidak dikendalikan oleh satu atau dua perusahaan.

Kelebihan Postgres dibandingkan dbms lainnya adalah: sifatnya yang free dan open-source, dukungan dokumentasinya yang luar biasa, fleksibilitasnya dan fitur-fiturnya yang tidak kalah dengan dbms komersial. Selain mendukung model data object-relational, postgres juga mendukung penggunaan basis data spasial (biasanya untuk penggunaan Sistem informasi geografis). Postgres, juga mendukung operasi multi-user dan multi-threaded, bahkan mungkin lebih bagus dari mysql dari sisi keamanan. 


Seperti halnya mysql dan microsoft sql server, kita dapat berinteraksi dengan basis data pada postgres menggunakan perintah-perintah disisi klien dengan tool yang disebut psql. Antar muka yang bersifat gui juga telah banyak dikembangkan, diantaranya phppgadmin, pgadmin, dan lain-lain. 

Perintah Dasar PostgreSQL dalam Query
Hubungan Antar Tabel (References)
          Tabel-Tabel dalam database bisa dihubungkan dengan menggunakan REFERENCES. Untuk melakukannya maka diperlukan beberapa syarat, antara lain :
1.      Tabel yang dihubungkan harus memiliki sebuah field dengan tipe data yang sama.
2.      Harus dibentuk Primary Key dan Foreign Key pada kedua field bertipe data sama tersebut.
            Contoh Hubungan Antar Tabel (References) :
Misal kita membuat 2 buah tabel, yaitu tabel barang dana macam barang.
Jika kita ingin menghubungkannya maka querynya adalah:
            CREATE TABLE macam_barang (mac_id integer not_null, mac_nama varchar(15), mac_guna varchar(40), primary key (mac_id));
            CREATE TABLE barang (mac_id integer not null, bar_nama varchar(15), mac_id integer not null references macam_barang, primary key (bar_id, mac_id));
Bila kita lupa memberikan references namun tabel sudah dibuat. Maka kita bisa menggunakan perintah alter untuk menambahkan references.

            ALTER TABLE barang ADD CONSTRAINT relasi_barang foreign key (mac_id) references macam_barang (mac_id) ON UPDATE NO ACTION ON DELETE NO ACTION.

Memasukkan Data Ke Dalam Tabel.
                Sebuah data dapat dimasukkan ke dalam tabel menggunakan perintah INSERT. Yang perlu diperhatikan dalam menginputkan data adalah struktur tabel yang akan digunakan untuk memasukkan data. Sebagai contoh query untuk memasukkan data ke dalam tabel.
            INSERT INTO [Nama Tabel] values (1,’wahyu’,’1992-02-17’,false,’PROGRAMMER’);
Penjelasan :                
Kolom Pertama berisikan (1), tidak menggunakan petik karena tipe datanya adalah integer.
Kolom Kedua dan Kelima (wahyu dan programmer), karena tipe datanya varchar maka tanda petik diperlukan.
Kolom Ketiga (1992-02-17), tipe data date dianggap sebagai string, jadi menggunakan petik
Kolom Keempat (FALSE), tipe data kolom Boolean, hanya berisi True / False.

Menampilkan Data
          Sebuah data di dalam tabel dapat ditampilkan dengan menggunakan perintah SELECT. Ada beberapa cara penampilan data dalam tabel. Struktur Query untuk menampilkan data adalah :
            SELECT [Nama Kolom] FROM [Nama Tabel];
            Jika ingin menampilkan semua kolom dalam tabel, maka ganti [Nama Kolom] dengan symbol *. Untuk menampilkan baris, gunakan perintah WHERE yang diletakkan dibelakang nama tabel dan isikan nama kolom beserta kata kunci sebagai dasar dari pencarian baris. Untuk lebih jelasnya berikut perintah struktur querynya.
            SELECT [Nama Kolom] FROM [Nama Tabel] WHERE [Nama Kolom] = [Kata Kunci];
            Jika ingin menampilkan data dari lebih dari satu tabel, maka perintah struktur querynya adalah :
            SELECT [Nama Tabel.Nama Kolom] FROM [Nama Tabel1, Nama Tabel2, ….]

Menghapus Data
          Pada database PostgreSQL, untuk menghapus data dalam tabel maka menggunakan perintah DELETE, perintah struktur querynya adalah :
            DELETE FROM [Nama Tabel];
            Jika menggunakan perintah tersebut maka seluruh data pada tabel tersebut akan terhapus. Namun bisa juga menghapus pada spesifikasi baris tertentu, perintah struktur querynya adalah:
            DELETE FROM [Nama Tabel] WHERE [Nama Kolom] = [Kata Kunci];

Modifikasi Data
          Untuk memodifikasi data dalam tabel gunakan perintah UPDATE. Perintah struktur querynya adalah:
            UPDATE [Nama Tabel] set [Nama Kolom] = [Isi Data] WHERE [Nama Kolom] = [Kata Kunci];

Pengurutan Data
          Untuk mengurutkan data dalam tabel gunakan perintah ORDER BY.  Jika data sebuah tabel diurutkan dengan perintah tersebut, maka data tadi akan diurutkan dari atas ke bawah berdasarkan abjad. Perintah Struktur Querynya adalah:
            SELECT * FROM [Nama Tabel] Order By [Nama Kolom];



BAB II
HASIL PRAKTIKUM




 gambar disamping adalah soal praktikum yang harus dibuat tabelnya. dan, hasilnya adalah sebagai berikut.
ada 5 kemudahan yang harus dilakukan untuk membuat tabel yaitu







langkah pertama yang harus dilakukan adalah :
1. membuat tabel fakultas dengan id_key sebagai primary key-nya. 
create table fakultas (id_fak int not null, nama_fak varchar(25), primary key (id_fak));
the query
setelah berhasil dibuat, akan muncul tampilan seperti ini.
sukses
hasil
2. membuat tabel mahasiswa dengan primary key-nya itu id_key dan nim_mah. id_key diusahakan nyambung dengan tabel fakultas yang tadi.
create table mahasiswa (nim_mah int not null, nama_mah varchar(25),alamat_mah varchar(30),id_fak integer not null references fakultas, primary key (nim_mah,id_fak));
the query
sukses

hasil
3.  untuk memasukkan no.telp nanti, maka harus ditambahkan kolom no.telp terlebih dahulu.

query
tanda suksesnya

hasil
 4. lalu, memasukkan id fakultas ke dalam tabel fakultas. karena yang diperlukan hanya fakultas SAINTEK dan PSIKOLOGI, maka saya hanya memasukkan kedua fakultas tersebut.
hasil diamsukkannya fakultas SAINTEK

bukti suksesnya perintah memasukkan id fakultas SAINTEK

query of id SAINTEK

query of PSIKOLOGI

bukti sukses perintah id PSIKOLOGI
5. lalu selanjutnya barulah memasukkan data mahasiswa yang sudah tertera di gambar berikut
caranya adalah..
ini adalah hasil dari memasukkan data yang pertama

ini query atau perintah untuk memasukkan data yang pertama

ini bukti berhasilnya perintah untuk memasukkan data pertama

hasil data kedua

querynya yang kedua

bukti berhasil

query data3

hasilnya

bukti suksesnya perintah
untuk mengerjakan soal nomor2 yang untuk menampilkan data mahasiswa berupa nim dan nama, hasilnya adalah;
dan nomor 3 yang disuruh menampilkan data mahasiswa berdasar nim salah satu mahasiswa ada di berikut ini..

untuk nomor 4, tampilkan data mahasiswa dan fakultas. ambil berdasar nim, nama mahasiswa, nama fakulta
nomor 5, menghapus data mahasiswa yang memiliki nim 13
ketika ingin dihapus, akan muncul tanda seperti ini
hasilnya
 nomor 6,mengubah data berupa alamat dan no.telp yang memiliki nim 12
nomor 7, menampilkan data mahasiswa dan mengurutkannya dari besar ke kecil, berdasra nim mahasiswa. lalu menampilkan data fakultas yang diurutkan secara asscending berdasar kolom ke 2
yang ini adalah data mahasiswa yang telah diurutkan
sedangkan yang ini, data FAKULTAS yang diurutkan secara ascending berdasar kolom ke 2
nomor ke 8,menampilkan seluruh data mahasiswa beserta seluruh data fakultasnya.

yang ke 9 adalah, menampilkan seluruh mahasiswa yang berada di fakultas SAINTEK
nomor ke 10, kebalikan nomor 9, yaitu menampilkan mahasiswa yang TIDAK berada di fakultas SAINTEK
yang terakhir yaitu nomor 11 perintahnya adalah, menghapus data fakultas SAINTEK
jika ingin menghapus sesuatu, seperti biasa akan muncul seperti ini
dan ini dia hasilnya..

BAB III
PENUTUP


Kesimpulan
            Dalam membuat tabel perlu memerhatikan entitas entitas di dalamnya, dan juga perlu memperhatikan hubungannya dengan entitas entitas pada table lain. References digunakan sebagai penghubung dari setiap entitas entitas tersebut.
            Untuk memasukkan data ke dalam Tabel gunakan command INSERT. Untuk Tipe data varchar dan date input harus menggunakan tanda ('), karena tipe data tersebut bernilai string. Perhatikan juga strukturnya ketika ingin menginputkan data
            Untuk menampilkan data dalam tabel gunakan command SELECT. Jika ingin menampilkan keseluruhan isi tabel maka gunakan tanda (*) sebagai pengganti nama kolom. Dan Juga Gunakan command WHERE untuk menampilkan baris baris tertentu dengan memberika spesifikasi tertentu.
            Untuk menghapus data dalam tabel gunakan command DELETE. Jika hanya ingin menghapus data pada baris baris tertentu saja maka tambahkan command WHERE untuk memberikan spesifikasi baris tertentu.
            Untuk modifikasi data dalam tabel gunakan command UPDATE. UPDATE bisa digunakan untuk memodifikasi data pada kolom kolom tertentu berdasarkan baris tertentu.
            Untuk mengurutkan data dalam tabel gunakan command ORDER BY. Command tersebut digunakan setelah command SELECT layaknya command WHERE.

Saran
Jangan risau, jangan galau, apalagi gundah gulana. kini saya hadir untuk membantu temen2 membuat SQL yang sederhana ini.. semangat ya.. kita bisa kalo nyoba.. jangan lupa cari referensi sebanyak mungkin buat dukungan yang telah kita lakukan.

Manfaatnya
buat temen2 semuanya, tadi sekedar contoh dari banyaknya query tentang SQL. semoga bermanfaat bagi kita semua, dan semoga kita lancar dalam memahaminya..

terimakasih...



itu lah ucapan yang termampu aku lafazkan.... atas rezeki Allah SWT ...







Tidak ada komentar:

Posting Komentar