Lanjutan – Membangun Aplikasi Web sederhana – MYSQL Database

Sebelum sampai pada coding aplikasi web yang sebenarnya, kita perlu mempelajari dasar-dasar, desain halaman, syntax HTML, CSS, PHP dan MySQL untuk database. Dalam pemrograman web dikenal istilah CRUD yang berarti Create, Read, Update dan Delete. Keempat istilah ini merupakan operasi dasar yang digunakan pada hampir semua aplikasi web yang mungkin pernah anda temui, contohnya seperti aplikasi absensi, penjualan hingga aplikasi pendaftaran. Semuanya menggunakan CRUD sebagai operasi interaksi aplikasi dan database dan Database yang sering digunakan adalah MySQL.

Sekilas MySQL.

MySQL adalah sebuah perangkat lunak sistem manajemen basis data SQL (bahasa Inggris: database management system) atau DBMS yang multithread, dan multi-user. Dibuat oleh perusahaan MySQL AB dibawah lisensi GNU General Public License (GPL).

10 alasan untuk menggunakan MySQL

Berikut ini beberapa alasan mengapa menggunakan MySQL.

1. MySQl ada dimana-mana.

Maksudnya adalah ketika anda ingin membuat website dan memilih hosting, baik itu hosting yang menggunakan Sistem operasi Linux maupun Windows, anda akan menemukan MySQL sebagai teknologi database disana. Memang ada juga yang menggunakan teknologi database lainnya seperti PostGreSQL, akan tetapi pilihan yang sangat umum untuk digunakan adalah MySQL.

2. Mudah mendapatkan Help

Jika dalam pengembangan, anda menemukan kesulitan anda dapat bertanya pada komunitas-komunitas MySQL yang notebene sangat banyak bertebaran di internet. Lagi pula, MySQL cukup mudah untuk digunakan sehingga banyak sekali developer yang bukan spesialis MySQL pun dapat membantu anda.

3. Mudah dipelajari

MySQL cukup mudah untuk dipelajari sehingga pada prakteknya, MySQL umum digunakan dikalangan akademisi untuk tujuan pembelajaran, bahkan untuk pengembangan.

4. MySQL dianggap terbukti

Meski tidak sempurna, teknologi ini terbukti di industri database. Cukup banyak aplikasi dan software yang kompatibel dengan MySQL sehingga banyak digunakan secara umum dan menghasilkan keluaran yang cukup bagus.

5. Less Feature but less maintenace.
Maksudnya adalah memang MySQL kekurangan banyak fitur, akan tetapi dengan kekurangan tersebut, perawatan yang dilakukan terhadapnya lebih sedikit. Anda tidak perlu menyewa programmer bersertifikat DBA untuk mengelola database anda. Anda dapat mempelajarinya sendiri untuk mengelola database tersebut. Dan dengan fitur yang “seperlunya”, anda dapat mempelajarinya dalam waktu yang lebih singkat dibanding mempelajari DB Engine lainnya dengan fitur yang lebih banyak.

6. Total Biaya Kepemilikan (TCO)

MySQL memungkinkan perusahaan anda untuk menabung lebih banyak dengan menekan biaya teknisi database dan biaya lisensi. Anda hanya perlu mengeluarkan sedikit biaya saja jika anda ingin menambah beberapa fitur tambahan untuk database anda.

7. MySQL dapat ditingkatkan

Contohnya jika anda baru memulai perusahaan startup dan memutuskan untuk menggunakan MySQL, kemudian suatu ketika perusahaan anda menjadi cukup besar dan membutuhkan database yang lebih besar, maka anda dapat meningkatkan database anda hingga ukuran Terabyte. Biaya yang mungkin anda keluarkan hanyalah untuk infrastruktur yang dapat menangani database dengan ukuran terabyte tersebut, sedangkan untuk MySQL sendiri anda tidak perlu khawatir.

8. Native support

Maksudnya adalah MySQL didukung oleh banyak bahasa pemrograman seperti Ruby, Python bahkan PHP.

9. Transaksional

Transaksional dan terintegrasi, cocok untuk digunakan pada aplikasi web, pergudangan maupun aplikasi lainnya yang membutuhkan dukungan fitur ACID (Atomic, Consistency, Isolated and Durable), transaksi terdistribusi dan pemeriksaan integritas referensial server yang dipegang pada transaksi.

10. Dukungan RDBMS

Dengan adanya RDBMS, MySQL menyediakan fungsionalitas pelaporan dana analisis yang cukup memadai, sehingga untuk perusahaan kecil dan menengah, dapat menghemat biaya-biaya untuk analisa kompleks dan pelaporan database.

Secara umum ada beberapa syntax dasar MySQL yang digunakan, diantaranya;

  • CREATE
  • UPDATE
  • DELETE

Saya hanya akan membahas 3 Syntax diatas dulu, karena syntax dasar diatas akan anda temui pada hampir semua operasi MySQL. Perlu dicatat juga bahwa untuk setiap baris syntax MySQL perlu ditambahkan semicolon/tanda titik koma (;) yang menandakan akhir dari baris syntax tersebut, jika tidak ada tanda semicolon, itu berarti syntax tersebut masih berlanjut hingga baris berikutnya.

CREATE
CREATE DATABASE pegawai;
CREATE TABLE nama_pegawai (nama VARCHAR(20), nip VARCHAR(20),
jabatan VARCHAR(20), golongan CHAR(1), tanggal_lahir DATE, tanggal_terdaftar DATE);

Create digunakan untuk membuat, entah itu database baru maupun tabel baru, tergantung dari kata kunci yang mengikutinya.

UPDATE
UPDATE table_name SET column1=value, column2=value2,... WHERE some_column=some_value

Update digunakan jika anda ingin mengubah data record suatu tabel didalam database anda.

INSERT
INSERT INTO table_name (column1, column2, column3,...)
VALUES (value1, value2, value3,...)
SELECT
SELECT column_name(s) FROM table_name
DELETE
DELETE FROM table_name
WHERE some_column = some_value

Masih ada beberapa lagi syntax yang digunakan didalam MySQL, jika anda ingin tahu lebih banyak, bisa langsung mengunjungi situs w3schools.com

Tipe data

Secara garis besar, database MySQL mempunyai 3 macam tipe data, yaitu:

  • Tipe Data Numeric
  • Tipe Data Date & Time
  • dan Tipe Data String
Tipe Data Numeric

Tipe Data Numeric pada database MySQL terbagi atas beberapa macam tipe data, yaitu:

    • INT
      Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -2.147.483.648 s/d 2.147.483.647. Tipe data ini mempunyai ukuruan 4 byte (32 bit).Contoh : jumlah_pegawai int;
    • TINYINT
      Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -128 s/d 127. Tipe data ini mempunyai ukuran 1 byte (8 bit)
    • SMALLINT
      Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -32.768 s/d 32.767. Tipe data ini mempunyai ukuran 2 byte (16 bit)
    • MEDIUMINT
      Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini mempunyai ukuran 3 byte (24 bit)
    • BIGINT
      Digunakan untuk menyimpan data yang berupa bilangan bulat positif dan negatif dengan jangkauan antara -8.388.608 s/d 8.388.607. Tipe data ini mempunyai ukuran 8 byte (64 bit)
    • FLOAT
      Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif presisi tunggal. Tipe data ini mempunyai ukuran 4 byte (32 bit).
    • DOUBLE
      Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif presisi ganda. Tipe data ini mempunyai ukuran 8 byte (64 bit).
    • DECIMAL
      Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif presisi ganda. Tipe data ini mempunyai ukuran 8 byte (64 bit).
    • REAL
      Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif. Tipe data ini mempunyai ukuran 8 byte (64 bit).
    • NUMERIC
      Digunakan untuk menyimpan data yang berupa bilangan pecahan positif dan negatif. Tipe data ini mempunyai ukuran 8 byte (64 bit).
Tipe Data Date & Time

Tipe Data Date & Time pada database MySQL terbagi atas beberapa macam tipe data, yaitu:

    • DATE
      Digunakan untuk meyimpan data tanggal dalam format YY:MM:DD
    • DATETIME
      Digunakan untuk menyimpan data tanggal dan waktu dalam format YY:MM:DD HH:MM:SS
    • TIME
      Digunakan untuk menyimpan data waktu dalam format HH:MM:SS
    • YEAR
      Digunakan untuk menyimpan data tahun.
Tipe Data String

Tipe Data String pada database MySQL terbagi atas beberapa macam tipe data, yaitu:

    • CHAR
      Digunakan untuk menyimpan data karakter/string dengan ukuran tetap. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 255 karakter.
    • VARCHAR
      Digunakan untuk menyimpan data karakter/string dengan ukuran dinamis. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 255 untuk MySQL versi 4.1. Dan mempunyai jangkauan antara 0 s/d 65.535 untuk MySQL versi 5.0.3
    • BLOB
      BLOB (Binary Large Object) adalah tipe data yang digunakan untuk menyimpan data biner seperti files, images, suara, dll. Tipe data ini mempunyai jangkauan 216-1 byte.
    • TINYBLOB
      Digunakan untuk menyimpan data biner seperti file, image, dan suara. Tipe data ini mempunyai jangkauan 255 byte.
    • MEDIUMBLOB
      Digunakan untuk menyimpan data biner seperti file, image, dan suara. Tipe data ini mempunyai jangkauan 244-1 byte.
    • LONGBLOB
      Digunakan untuk menyimpan data biner seperti file, image, dan suara. Tipe data ini mempunyai jangkauan 232-1 byte
    • TEXT
      Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 65.535 (216-1) karakter.
    • TINYTEXT
      Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 s/d 255 untuk MySQL versi 4.0, dan mempunyai jangkauan antara 0 s/d 65.535 untuk MySQL versi 5.0.3
    • MEDIUMTEXT
      Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 224-1 karakter
    • LONGTEXT
      Digunakan untuk meyimpan data text. Tipe data ini mempunyai jangkauan antara 0 sampai dengan 232-1 karakter
    • ENUM
      Digunakan untuk menyimpan data enumerasi (kumpulan data).
    • SET
      Digunakan untuk menyimpan data himpunan data.

Untuk setiap penggunaan tipe data perlu memperhatikan fungsi dan penggunaanya, contohnya anda perlu menggunakan tipe data TEXT jika anda berencana untuk mengisi data berupa tulisan yang cukup panjang, sedangkan tulisan yang pendek hanya beberapa karakter maka anda dapat menggunakan tipe data VARCHAR, alasannya, dengan begitu anda dapat menghemat ukuran database serta tidak membingungkan jika nanti ada pengembangan lanjutan.

Jika anda sudah mempelajari syntax dasar MySQL maka anda dapat melanjutkan mempelajari CRUD menggunakan MySQL dan PHP.

Sekian dulu artikel kali ini, jika ada pertanyaan silahkan tinggalkan pesan dibagian komentar.

Salam, JJ

r4ndiel

Leave a Reply

Your email address will not be published. Required fields are marked *