Assalamualaikum Wr.Wb
WORKSHOP PHP INDONESIA
Saya dan teman-teman ada workshop di tempat rakerin selama 2 hari. Ini adalah postingan untuk hari pertama, materi yang di bahas untuk hari pertama adalah HTML, PHP, DATABASE, MySQl, dan SQL.
1.Basis Data/ Database.
Basis data atau database adalah himpunan kelompok (data) yang saling berhubungan yang diorganisasikan sedemikian rupa agar kelak dapat dimanfaatkan kembali.
*DBMS (Database Management System) DBMS merupakan perantara bagi pemakai dengan basis data. Untuk
merinteraksi dengan DBMS (basis data) menggunakan bahasa basis data yang
telah ditentukan oleh perusahaan DBMS. Bahasa basis data biasanya
terdiri atas perintah-perintah yang di formulasikan sehingga perintah
tersebut akan diproses olah DBMS. Perintah-perintah biasanya ditentukan
oleh user. Ada 2 bahasa basis data:
- Data Definition Language (DDL)
DDL digunakan untuk menggambarkan desain basis data secara
keseluruhan. DDL digunakan untuk membuat tabel baru, menuat indeks,
ataupun mengubah tabel. Hasil kompilasi DDL disimpan di kamus data.
- Data Manipulation Language (DML)
DML digunakan untuk melakukan menipulasi dan pengambilan data pada
suatu basis data seperti penambahan data baru ke dalam basis data,
menghapus data dari suatu basis data dan pengubahan data di suatu basis
data.
Dalam pembuatan DBMS diperlukan beberapa komponen fungsional penyusunnya sebagai berikut:
1. DML Precompiler : mengkonversi pernyataan-pernyataan
DML yang dimasukkan di dalam program aplikasi ke dalam pemanggilan
prosedur normal di dalam bahasa induknya. Procompiler harus berinteraksi
dengan query processor untuk membuat kode-kode yang diperlukan.
2. Query Processor : menterjemahkan
pernyataan-pernyataan bahasa query ke dalam instruksi-instruksi
low-level yang dimengerti oleh database manager.
3. DDL Compiler : mengkonversi pernyataan DDL ke
dalam sekumpulan table yang mengandung metadata atau “data mengenai
data”
4. Database Manager : menyediakan interface antara data
low-level yang disimpan didalam basisdata dengan program-program
aplikasi dan queries yang dikirimkan ke system.
Salah satu tujuan dari DBMS adalah memberikan tampilan kepada
pengguna dalam hal menyampaikan data. Untuk itu dalam DBMS terdapat
Level Abstraksi Data. Level ini berguna untuk menyembunyikan detail atau
kompleksitasnya basis data seperti bagaimana data disempan dan diolah.
Sehingga pengguna hanya melihat tampilan yag dibutuhkan oleh pengguna.
- Level fisik
Level fisik merupakan level yang paling bawah. Pada level ini memperlihatkan bagaimana sesungguhnya data disimpan.
2. Level Konseptual
Level ini menggambarkan bagaimana sebenarnya basis dta disimpan dan berhubungan dengan data lainnya
3. Level View
Level abstaraksi ini hanya menunjukkan sebagian dari basis data.
Pada umumnya pengguna tidak melibatkan secara langsung sehingga pengguna
hanya melihat data sesuai dengan yang dibutuhkan
Macam-macam basis data/ Database:
- Ms. Access
- MySQL
- Postgre
- Orecle
- SQL Server
*MySQL : mengola basis data dengan mysql dengan cara mengetik baris-baris perintah yang sesuai (command line) untuk setiap maksud tertentu.
Kelebihan Dan kekurangan MySQL dibanding RDBMS Lain
Hal paling mendasar yang menjadikan MySQL pilihan utama sebagai
database yang digunakan adalah karena MySQL menggunakan Lisensi GPL dan
multiplatform, sehingga lebih disukai para mahasiswa karena tidak
membutuhkan biaya besar dalam membuat aplikasi serta tidak harus
tergantung pada OS Windows ataupun Linux karena dapat dijalankan pada
kedua OS tersebut dan beberapa OS lainnya. Tapi alasan tersebut tidaklah
cukup untuk menjadikan MySQL sebagai RDBMS yang akan digunakan. Berikut
keunggulan yang
Kelebihan
- Berlisensi GPL dan Multi Platform.
- Dapat diintegrasikan dengan beberapa bahasa Pemrograman seperti
.Net, Java, Python, Perl yang merupakan bahasa pemrograman yang paling
dominan di kalangan programmer.
- Mendukung ODBC untuk sistem operasi Windows sehingga bisa digunakan aplikasi yang berjalan diwindows.
- Bisa dijalankan pada spesifikasi hardware yang rendah karena lebih
hemat resource memory (dibandingkan database lain) sehingga mudah
digunakan untuk bahan pembelajaran.
- MySQL dapat mendeteksi pesan kesalahan pada klien dengan menggunakan
lebih dari 20 bahasa meskipun bahasa indonesia belum termasuk
didalamnya.
Kekurangan
- Banyak mengklaim kurang support terhadap pemrograman Visual/Desktop, sehingga sedikit yang menggunakan untuk aplikasi visual.
- Karena berlisensi GPL sehingga sulit mendapatkan update untuk problem yang urgent, sehingga perusahaan skala menengah keatas lebih memilih RDBMS berlisensi dan disupport seperti Oracle dan MS SQL Server
- Sangat diragukan dalam menangani data skala besar, karena ada
beberapa opini yang pro dan kontra terhadap kemampuan MySQL terhadap
pengolahan data yang besar.
Kemampuan MySQL
Berikut Kemampuan MySQL yang tidak kalah dengan RDBMS lain seperti Oracle dan SQL Server
- Memiliki kecepatan yang menakjubkan dalam menangani query
sederhana,dengan kata lain dapat memproses lebih banyak SQL per satuan
waktu.
- Memiliki lebih banyak type data seperti : signed/unsigned
integer yang memiliki panjang data sebesar 1,2,3,4 dan 8 byte, FLOAT,
DOUBLE, CHAR, VARCHAR, TEXT, BLOB, DATE, TIME, DATETIME, TIMESTAMP,
YEAR, SET dan tipe ENUM.
- Mendukung field yang dijadikan Index, dengan maksimal 32 index dalam satu tabel. *
- MYSQL memiliki beberapa lapisan keamanan, seperti subnetmask, nama host, dan izin akses user dengan system perijinan yang mendetail serta sandi/password terenkripsi.
- Konektivitas , MySQL dapat melakukan koneksi dengan klien menggunakan protokol TCP/IP ,Unix soket (UNIX),atau Named Pipes(NT).
- Multi-user. MySQL dapat digunakan oleh beberapa pengguna dalam waktu yang bersamaan tanpa mengalami masalah atau konflik
- Command and function, MySQL memiliki fungsi dan operator secara penuh yang mendukung perintah select dan where dalam query.
- Structure Table, MySQL memiliki struktur tabel yang lebih fleksibel dalam menangani ALTER TABLE dibandingkan DBMS lainnya.
- Mendukung penuh terhadap kalimat SQL GROUP BY dan ORDER BY.
Mendukung terhadap fungsi penuh ( COUNT(),COUNT(), DISTINCT() AVG(),
STD(), SUM(), MAX() dan MIN() )
*Record : data yang ada dalam satu database (bsis data) .
Record (basis data) merupakan kumpulan dari elemen-elemen data
yang terkait dalam sebuah basis data. Secara ringkas, database dapat
dikatakan sebagai sebuah tabe yang memiliki baris alias record dan kolom
atau field. Setiap baris menyatakan elemen-elemen data yang saling
berkaitan. Sebagai contoh dalam suatu tabel memiliki kolom nama, alamat,
tanggal lahir, pekerjaan. Maka satu record adalah data sau orang yang
terdiri atas nama, alamat, tanggal lahir dan pekerjaan.
*SQL (Structur Query Language) :
Pengertian SQL
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.