• Tidak ada hasil yang ditemukan

2. TINJAUAN PUSTAKA. Universitas Kristen Petra

N/A
N/A
Protected

Academic year: 2022

Membagikan "2. TINJAUAN PUSTAKA. Universitas Kristen Petra"

Copied!
14
0
0

Teks penuh

(1)

2.1. Genetic Algorithm (GA)

Genetic Algorithm merupakan suatu algoritma untuk melakukan pencarian hasil yang terbaik yang berdasarkan pada hasil perkawinan dan seleksi gen secara alami. Dalam Genetic Algorithm ini, kombinasi perkawinan dilakukan dengan proses random, dimana struktur gen hasil dari proses perkawinan ini, akan menghasilkan gen inovatif untuk diseleksi.

Pada dasarnya ada 4 kondisi yang sangat mempengaruhi proses evaluasi, yakni sebagai berikut : ( Kusumadewi, 2005)

a. Kemampuan organisme untuk melakukan reproduksi

b. Keberadaan populasi organisme yang bisa melakukan reproduksi c. Keberagaman organisme dalam suatu populasi

d. Perbedaan kemampuan untuk survive.

Individu yang lebih kuat (fit) akan memiliki tingkat survival dan tingkat reproduksi yang lebih tinggi jika dibandingkan dengan individu yang kurang fit. Pada kurun waktu tertentu (sering dikenal dengan istilah regenerasi), populasi secara keseluruhan akan lebih banyak memuat organisme yang fit.

Dalam setiap generasi, ciptaan buatan yang baru (hasil perkawinan), diperoleh dari bit-bit dan bagian-bagian gen induk yang terbaik. Diharapkan dengan mengambil dari gen induk yang terbaik ini diperoleh gen anak yang lebih hebat.

Namun tidak selalu tercipta gen anak yang lebih hebat dari induknya. Ada kemungkinan lebih baik, sama, ataupun lebih buruk.

Genetic Algorithm pertama kali dikembangkan oleh John Holland dari Universitas Michigan (1975). John Holland mengatakan bahwa setiap masalah yang berbentuk adaptasi (alami maupun buatan) dapat diformulasikan dalam terminologi genetika. Genetic Algorithm adalah simulasi dari proses evolusi Darwin dan operasi genetika atas kromosom.

Genetic Algorithm merupakan sebuah metode untuk memindahkan satu populasi kromosom ke suatu populasi yang baru dengan menggunakan seleksi alam dan operator genetik seperti crossover, mutation (mutasi), dan inversion. Crossover

(2)

dengan cara menukar sebagian kecil dari dua kromosom, mutation dengan cara mengganti secara acak nilai gen beberapa lokasi pada kromosom, dan inversion dengan membalikkan urutan beberapa gen yang berurutan dalam kromosom.

Tujuan dari Genetic Algorithm adalah menghasilkan populasi yang terbaik dari populasi awal. Sedang keuntungan dari Genetic Algorithm adalah sifat metode pencariannya yang lebih optimal, tanpa terlalu memperbesar ruang pencarian, dan tanpa kehilangan completeness.

Secara umum, proses dalam Genetic Algorithm yaitu : (Mitchell, 2005, Soenjoyo, 2006)

a. Membuat populasi awal dari n buah kromosom membentuk suatu gen b. Menghitung fitness cost dari generasi pertama.

c. Melakukan pengulangan proses regenerasi yaitu seleksi (memilih gen terbaik), crossover, mutasi, dan memasukkan gen hasil proses ke dalam generasi baru.

d. Memproses generasi baru tersebut untuk proses selanjutnya.

e. Evaluasi apakah proses akan diulang.

f. Kembali ke langkah b.

2.1.1 Membuat populasi awal

Populasi awal dalam GA ini digunakan secara random atau bisa juga dengan menggunakan metode heuristik tertentu atau input yang diberikan secara manual. Hal ini disesuaikan dengan setiap masalah yang dihadapi. Populasi-populasi yang ada dalam GA semuanya berasal dari 1 (satu) populasi yang biasa disebut dengan populasi awal. Kromosom terbaik dari populasi awal akan dipertahankan, sedangkan kromosom yang lain akan diubah menjadi variasi yang lain untuk mendapatkan kromosom lain yang lebih baik.

2.1.2 Menghitung fitness cost

Melakukan evaluasi fitness f(x) dari setiap kromosom x dalam populasi.

Setiap kromosom dicari nilai fitness-nya, dan dengan nilai fitness yang dimiliki tiap kromosom, populasi akan diurutkan sehingga mendapatkan kromosom yang terbaik.

Kromosom yang terbaik akan dipertahankan sementara kromosom yang lain diubah lagi untuk memperoleh kromosom yang baru.

(3)

2.1.3 Melakukan proses regenerasi

Menciptakan populasi baru dengan mengulang langkah-langkah berikut ini:

• Selection : Memilih dua parents kromosom dari populasi termasuk fitness- nya. Semakin bagus nilai fitness yang dimiliki tiap kromosom, semakin besar kemungkinan untuk dipilih.

• Crossover : Dalam proses crossover digunakan probabilitas crossover.

Probabilitas crossover ini digunakan untuk mengendalikan frekuensi operator crossover. Semakin besar nilai probabilitas crossover maka semakin cepat struktur baru terbentuk dalam populasi. Dengan sebuah probabilitas crossover, penyilangan parents dilakukan untuk membentuk keturunan yang baru. Jika tidak ada crossover yang terbentuk, keturunan (offspring) yang terbentuk adalah murni salinan dari orangtuanya (parents).

• Mutation : Mutasi digunakan untuk meningkatkan variasi populasi. Dalam proses mutasi (mutation) digunakan probabilitas mutasi. Probabilitas mutasi ini digunakan untuk menentukan tingkat mutasi yang terjadi. Probabilitas mutasi yang rendah akan menyebabkan gen-gen yang berpotensi tidak dicoba. Sebaliknya, tingkat mutasi yang tinggi akan menyebabkan keturunan yang semakin mirip dengan induknya. Dengan menggunakan probabilitas mutasi, keturunan (offspring) yang baru terbentuk, dimutasikan pada setiap locus (posisi dalam kromosom).

• Accepting : Menempatkan keturunan (offspring) yang baru pada populasi baru.

2.1.4 Memproses generasi baru

Menggunakan generasi populasi yang baru untuk replikasi algoritma yang berikutnya.

2.1.5 Evaluasi perlu tidaknya pengulangan proses

Jika kondisi akhir sudah memenuhi syarat, proses dihentikan (stop), kemudian kembali ke solusi terbaik dalam populasi tersebut.

(4)

2.2. Compact Genetic Algortihm (cGA)

Selama beberapa tahun yang lalu, Genetic Algorithm telah sukses diterapkan dalam banyak hal yang dilakukan untuk melakukan optimasi solusi pada masalah yang ada. Akan tetapi proses dalam Genetic Algorithm membutuhkan waktu yang lama. Oleh karena itu digunakan Compact Genetic Algorithm (cGA), dimana cGA mempresentasikan populasi sebagai distribusi kemungkinan terhadap suatu himpunan dari solusi, dan operasi yang dilakukan sebanding dengan sifat order-one dari Genetic Algorithm sederhana dengan menggunakan Uniform Crossover. cGA memproses setiap gen secara terpisah dan membutuhkan memory yang lebih sedikit daripada GA sederhana. Oleh sebab itu, cGA dapat digunakan untuk memberikan hasil perkiraan secara cepat terhadap masalah yang dihadapi.

Compact Genetic Algorithm (cGA) merupakan sebuah special class dari Genetic Algorithm. cGA menggambarkan populasi seperti sebuah probabilitas distribusi dari kumpulan solusi, oleh karena itu, tidak semua populasi perlu untuk disimpan. Dalam setiap generasi, cGA menghasilkan individu-individu berdasarkan pada probabilitas yang dispesifikasikan dalam probability vector. Individu-individu tersebut akan dievaluasikan dan probability vector akan berubah berdasarkan individu yang terbaik. cGA mempunyai keuntungan dalam menggunakan memori yang sedikit dan mencapai kualitas yang sebanding dan mempunyai hasil dengan jumlah yang hampir sama dengan yang dihasilkan dalam simple genetic algorithm.

(Rimcharoen, Daricha, and Prabhas)

cGA memiliki parameter berupa ukuran dari populasi (n) dan panjangnya chromosome length (ℓ) yang berdasarkan input yang diberikan oleh user. Populasi berupa ℓ - dimensi probabilitas vector (p). p[i] adalah populasi dimana ith mewakili posisi tiap bit pada tiap individu.

Proses dalam cGA dapat dijelaskan sebagai berikut:

• Pada saat pertama kali dilakukan inisialisasi p dengan nilai 0.5. Untuk pemberian nilai ini dapat diubah sesuai keinginan dari user dengan memberikan nilai tengah dari suatu probabilitas, contoh user ingin memakai nilai dari 0 sampai 10 maka nilai untuk inisialisasi adalah 5.

• Setelah itu individu a dan b dihasilkan menurut p.

• Kemudian tiap individu diberi fitness value, fa dan fb.

(5)

• Fitness value yang telah ditentukan digunakan untuk memperbaiki probabilitas dari populasi. Jika fa >= fb maka probability vector akan di-update menurut nilai dari individu, jika a[i] = 1 dan b[i] = 0 maka probability vector p[i] akan ditambah sebesar 1 / n, jika a[i] = 0 dan b[i] = 1 maka probability vector p[i]

akan dikurangi sebesar 1 / n, dan jika a[i] = b[i] maka probability vector p[i]

tidak dilakukan update. Demikian juga sebaliknya jika fa <= fb. Proses ini diulang sepanjang ℓ atau sampai panjang chromosome habis.

• Algoritma ini berakhir jika nilai setiap probability vector p[i] terdiri dari 0 atau 1 saja. Dan probability vector p menjadi solusi terakhir.

Berikut adalah pseudocode dari Compact Genetic Algorithm (cGA): (Harik, Lobo and Goldberg, 1997)

1. Inisialisasi semua kemungkinan dari vector ( ℓ adalah panjang kromosom ) for i := 1 to ℓ do p[i] := 0.5;

2. Generate dua individu dari vector a := generate(p);

b := generate(p);

3. Lakukan seleksi fa := fitness(a);

fb := fitness(b);

4. Lakukan update terhadap vector untuk yang pemenang (n adalah jumlah populasi)

for i := 1 to ℓ do if fa >= fb then

if a[i] = 1 and b[i] = 0 then p[i] := p[i] + 1/n;

else if a[i] = 0 and b[i] = 1 then p[i] := p[i] – 1/n;

else

if b[i] = 1 and a[i] = 0 then p[i] := p[i] + 1/n;

else if b[i] = 0 and a[i] = 1 then p[i] := p[i] – 1/n;

5. Cek apakah suatu vector valid for i := 1 to ℓ do

if p[i] > 0 and p[i] < 1 then return to step 2;

(6)

6. p adalah solusi terakhir

fa = nilai fitness untuk individu a fb = nilai fitness untuk individu b p = array penampung nilai probability n = ukuran dari populasi

ℓ = panjang chromosome

2.3. MySQL 5.0

2.3.1. SQL

SQL singkatan dari Structured Query Languange. SQL yang sering dibaca sebagai “Sequel” adalah bahasa terstruktur yang digunakan untuk query, melakukan proses update dan memanipulasi database. Bahasa ini dapat digunakan untuk memuat, mengurutkan, dan menyaring suatu data, sehingga dapat menghasilkan data yang spesifik dari sebuah database. (Alam, 2005)

SQL sebetulnya sudah menjadi bahasa standar dalam pengelolaan database server. Banyak perusahaan yang menawarkan bahasa SQL dengan berbagai nama dan sedikit variasi yang berbeda. Pada SQL Server, bahasa SQL sering disebut sebagai Transact-SQL (T-SQL), dalam Oracle digunakan nama SQL *Plus dan beberapa perusahaan menggunakan nama SQL saja, termasuk MySQL. Perlu diperhatikan secara garis besar, bahasa SQL yang dikeluarkan oleh beberapa perusahaan adalah sama, tetapi masing-masing perusahaan biasanya menambahkan beberapa tambahan perintah atau pilihan dalam perintah yang hanya dapat dimengerti oleh program yang bersangkutan.

2.3.2. SQL dalam MySQL

SQL dalam MySQL bisa dikelompokkan menjadi beberapa kelompok perintah, meskipun sebetulnya pengelompokkan ini hanyalah untuk membedakan fungsi-fungsi utamanya saja. Kelompok SQL tersebut adalah seperti berikut ini:

(Alam, 2005)

(7)

a. Data Definition Statements

Adalah kelompok SQL untuk melakukan perintah dalam tingkat definisi database, tabel, dan index. Terdiri dari perintah-perintah ALTER DATABASE, ALTER TABLE, CREATE DATABASE, CREATE INDEX, CREATE TABLE, DROP DATABASE, DROP INDEX, DROP TABLE, dan RENAME TABLE.

b. Data Manipulation Statements

Adalah kelompok SQL untuk melakukan perintah manipulasi data. Terdiri dari perintah-perintah DELETE, DO, HANDLER, INSERT, LOAD DATA INFILE, REPLACE, SELECT, SUB QUERY, TRUCATE, dan UPDATE.

c. MySQL Utility Satements

Adalah kelompok SQL bagian utility. Terdiri dari perintah-perintah DESCRIBE, dan USE.

d. MySQL Transactional dan Locking Statements

Adalah kelompok SQL untuk melakukan perintah transaksi dan locking (penguncian). Terdiri dari perintah-perintah START TRANSACTION, COMMIT, ROLLBACK, SAVEPOINT, ROLLBACK TO SAVEPOINT, LOCK TABLES, UNLOCK TABLES, dan SET TRANSACTION.

2.3.3. Database

2.3.3.1. Membuat dan Menghapus Database

Syntax atau penulisan perintah SQL untuk membuat database secara sederhana adalah seperti berikut ini:

CREATE DATABASE [IF NOT EXISTS] db_name;

Dalam syntax SQL, penulisan huruf besar dan kecil tidak berpengaruh tetapi hanya untuk memudahkan pembacaan perintah saja. Teks yang diapit dalam kurung

“[]” menunjukkan pilihan, artinya bisa digunakan bisa pula tidak. Untuk menghindari kesalahan membuat database yang sudah ada, dapat digunakan pilihan IF NOT EXISTS, sehingga perintah diatas bisa juga ditulis dalam bentuk berikut ini :

Create Database db_name;

Database yang tidak diperlukan dapat juga dihapus dengan menggunakan perintah berikut ini:

(8)

DROP DATABASE [IF EXISTS] db_name;

2.3.3.2. Memilih Database untuk Diolah

Jika database sudah ada, kemudian database tersebut akan diolah ataupun melakukan suatu proses tertentu terhadap database, maka digunakan perintah berikut ini:

USE db_name;

2.3.4. Tabel

Tabel adalah suatu struktur dalam database yang dipakai untuk menyimpan data. Tabel terdiri dari satu kolom atau lebih. Masing-masing kolom dapat diisi bagian data dengan tipe data yang sesuai. Satu baris data (record) adalah satu set informasi yang bagian-bagiannya tersimpan dalam kolom-kolom. (Alam, 2005)

2.3.4.1. Menambahkan Tabel ke Database

Setelah membuat database, dapat ditambahkan beberapa tabel ke dalam database tersebut. Sebelum menambahkan tabel, database yang akan digunakan harus dipilih dengan menggunakan perintah USE.

Penulisan perintah SQL untuk menambahkan tabel ke dalam database secara lengkap sangat panjang, tetapi secara sederhana seperti berikut:

CREATE TABLE [IF NOT EXISTS] tbl_name (<struktur_tabel>);

2.3.4.2. Struktur Tabel

Struktur tabel merupakan bagian yang harus ditentukan pada waktu membuat tabel. Struktur tabel berisi kolom-kolom, yang masing-masing kolomnya mempunyai ciri-ciri tersendiri. Setiap kolom mempunyai nama kolom, tipe data yang dapat ditampung, dan lebar kolom.

Tipe data yang disediakan MySQL sangatlah banyak dan lengkap. User dapat memilih tipe data suatu kolom sesuai dengan data yang akan disimpan. Pemilihan tipe data sangat penting. Hal yang mutlak dilaksanakan adalah tipe data yang dipilih

(9)

harus sesuai dengan data yang ditampung atau diolah. Jika tipe data tidak sesuai, akan timbul kesalahan dan proses akan berhenti.

Secara sederhana, tipe data MySQL dapat dikelompokkan menurut beberapa tipe data berikut ini:

a. Integer

Yaitu data numerik yang tidak mempunyai nilai pecahan desimal. Tipe data integer terbagi lagi menjadi beberapa tipe data yang rentang jangkauan data dan alokasi memori yang dipakai berbeda-beda. Tipe data tersebut antara lain bigint (8 byte), int atau integer (4 byte), mediumint (3 byte), smallint (2 byte), tinyint (1 byte);

b. Decimal dan Numeric

Yaitu data numerik yang mempunyai angka pasti dan desimal. Tipe decimal dan numeric boleh dikatakan merupakan data yang sejenis dan sama.

Penulisannya seperti berikut:

decimal(<panjangdigit> [, <panjang decimal>]) numeric(<panjangdigit> [, <panjang decimal>]) Dengan <panjang digit>, merupakan pilihan (boleh dipakai boleh tidak) dan maksimum berisi 64, sedangkan <panjangdesimal> maksimumnya 30 dengan nilai default 10.

c. Float dan Double

Yaitu data numerik yang mewakili data numeric floating point. Data tipe ini bersifat approximate, yang berarti tidak semua data dalam rentang data dapat diwakili dengan persis. Cocok untuk perhitungan matematika yang melibatkan angka besar.

Penulisan untuk tipe float adalah float[<n>] dengan <n> berkisar dari 0 sampai 24 untuk single-precission (4 byte) dan 25 sampai 53 untuk double- precission (8 byte).

Penulisan tipe data double sama dengan tipe data float double-precission, tapi penulisannya cukup double saja.

d. DateTime, Date, dan Time

Yaitu data yang mewakili data tanggal dan waktu. Format tampilan datetime default-nya adalah “yyyy-mm-dd hh:m:ss”.

(10)

e. Char, Varchar

Dipakai untuk mewakili rangkaian karakter non-unicode. Char dipakai untuk mewakili rangkaian karakter dengan lebar yang tetap, yaitu antara 0 sampai dengan 255 karakter, sedangkan varchar untuk rangkaian karakter yang lebarnya berubah, tergantung isinya. Lebar datanya berkisar antara 1 sampai 65535 karakter.

2.3.4.3. Menghapus Tabel

Perintah untuk menghapus tabel dengan sangat sederhana, yaitu cukup dengan menggunakan perintah berikut ini:

DROP TABLE [IF EXISTS] table_name;

2.3.4.4. Mengganti Nama Tabel

Perintah untuk mengganti nama tabel juga sangat sederhana, yaitu cukup dengan memberikan perintah berikut ini:

RENAME TABLE tbl_name TO new_tbl_name [, tbl_name2 TO new_tbl_name2] …;

Tbl_name adalah nama tabel lama dan new_tbl_name adalah nama tabel baru.

Untuk mengganti nama tabel bisa juga digunakan perintah ALTER TABLE dengan penulisan seperti berikut ini:

ALTER TABLE tbl_name RENAME new_tbl_name;

2.3.4.5. Mengubah Struktur Tabel

Perintah untuk mengedit struktur tabel cukup bervariasi, tergantung perubahan yang dilakukan, diantaranya sebagai berikut:

a. Mengubah nama dan tipe kolom

Penulisan perintah untuk mengubah nama dan tipe kolom adalah:

ALTER TABLE tbl_name

CHANGE old_col_name column_definition;

Old_col_name adalah nama kolom lama dan column_definition adalah definisi kolom baru, termasuk di dalamnya adalah nama tipe data serta lebar kolomnya.

(11)

b. Menghapus kolom

Untuk menghapus kolom, bentuk perintah SQL-nya adalah:

ALTER TABLE tbl_name DROP COLUMN col_name;

c. Menambah kolom

Untuk menambah kolom, bentuk perintah SQL-nya adalah ALTER TABLE tbl_name

ADD column_definition [FIRST|AFTER col_name];

Column_definiton adalah nama kolom, tipe dan lebar kolom. Pilihan FIRST dipakai jika kolom diletakkan diawal kolom, sedangkan pilihan AFTER diikuti nama kolom untuk meletakkan kolom yang baru sesudah posisi suatu kolom. Jika pilihan FIRST atau AFTER tidak dipakai, kolom diletakkan pada posisi paling akhir.

2.3.4.6. Primary Key

Primary key adalah suatu indeks pengurutan data yang secara fisik bergabung dengan tabel. Dalam satu tabel hanya bisa ada satu primary key, tetapi kunci pengurutan primary key bisa terdiri dari beberapa kolom.

Primary key diperlukan MySQL untuk menjaga suatu tabel agar mengikuti aturan tertentu. Jika suatu primary key ditentukan, MySQL akan mengecek semua perubahan yang diminta untuk:

• Tidak mengisi kolom primary key dengan NULL.

• Tidak boleh ada data kembar pada kolom primary key.

Penulisan pembuatan primary key secara sederhana adalah:

ALTER TABLE tbl_name

ADD PRIMARY KEY (index_col_name,…);

Index_col_name adalah nama kolom yang dipakai sebagai kunci index, Jika lebih dari dua kolom yang dipakai sebagai kunci index, maka pemisahnya adalah tanda koma.

2.3.5. Data Manipulation Statements

Data Manipulation Statements adalah suatu kategori perintah untuk melakukan manipulasi dan mengolah data. Data dalam MySQL dapat diolah lewat

(12)

program aplikasi (misalnya Delphi). Perintah SQL yang termasuk dalam kategori mengolah data ini antara lain adalah Insert, Delete, Update, Select, dan beberapa perintah lain. (Alam, 2005)

2.3.5.1. Menambahkan Record

Perintah SQL atau pernyataan query untuk menambah record (baris) pada tabel database, secara ringkas adalah

Insert [Into] <namaTabel> Values (<isi1baris>);

<isi1baris> merupakan ekspresi yang mewakili data yang akan disimpan sebagai 1 baris (record) dalam tabel. Seluruh field (kolom) harus terwakili dalam <isi1baris>, dengan pemisah antar kolom adalah tanda koma. Urutan <isi1baris> harus sesuai dengan urutan kolom dalam tabel.

2.3.5.2. Menimpa dan Menambahkan Record

Perintah yang mirip dengan perintah INSERT adalah perintah REPLACE.

Perintah ini juga akan menambahkan record ke dalam tabel seperti halnya perintah INSERT, tetapi jika record yang ditambahkan sudah terdapat pada tabel dan berada pada konstrain unik (termasuk primary key), tidak akan menimbulkan kesalahan, melainkan akan menimpa nilai kolom-kolom yang lama dengan isi yang baru. Jika tidak ada nilai yang sama atau tidak terdapat konstrain unik pada tabel, perintah REPLACE akan sama persis dengan perintah INSERT. Bentuk penulisan perintah REPLACE adalah:

Replace [Into] <namaTabel> Values (<isi1baris>);

2.3.5.3. Menghapus Record

Record atau sekelompok record yang sudah tidak diperlukan bisa dihapus dari dalam tabel, sehingga tabel hanya berisi data yang diperlukan. Dengan demikian kecepatan akses dan keakuratan data tetap terjaga. Perintah untuk menghapus isi tabel dapat bervariasi tergantung record-record yang akan dihapus. Bentuk penulisan untuk menghapus record adalah:

DELETE [LOW_PRIORITY] [IGNORE] FROM tbl_name

[WHERE where_definition]

(13)

[ORDER BY …]

[LIMIT row_count];

Pilihan low_priority akan menyebabkan proses penghapusan dilaksanakan hanya jika sudah tidak ada pemakai yang menggunakan atau membaca tabel yang isinya akan dihapus.

Pilihan IGNORE untuk mengabaikan kesalahan selama proses penghapusan berlangsung.

Where_definition adalah ekspresi yang melibatkan kolom-kolom tabel dan hasilnya harus berupa data logika benar (true) atau data logika salah (false). Jika suatu record menghasilkan ekspresi benar, record tersebut akan dihapus, sedangkan jika hasilnya salah, record tidak dihapus.

Pilihan ORDER BY dipakai untuk mengurutkan data berdasarkan ekspresi kolom tertentu sebelum proses penghapusan dilaksanakan.

Pilihan LIMIT dipakai untuk membatasi perintah penghapusan.

2.3.5.4. Mengubah Record

Perintah mengubah record dapat bervariasi, tergantung apa dan bagaimana updating akan dilakukan. Berikut ini perintah untuk melakukan update record:

UPDATE [LOW_PRIORITY] [IGNORE] tbl_name

SET col_name1=expr1 [, col_name2=expr2 …]

[WHERE where_definition]

[ORDER BY …]

[LIMIT row_count];

Perintah SET col_name=expr1 [, col_name=expr2 …] menunjukkan bahwa pada satu perintah update bisa dilakukan pengaturan atau pengubahan beberapa kolom sekaligus.

Cara kerja pilihan low_priority, IGNORE, WHERE, ORDER BY, dan LIMIT adalah sama dengan pilihan yang sama seperti pada perintah menghapus (delete).

2.3.5.5. Seleksi Data dengan SELECT

Seleksi data berguna untuk banyak keperluan. Dari sejumlah data yang dimiliki oleh tabel-tabel dalam database, user bisa memilih data tertentu saja yang

(14)

diambil. Data yang ditentukan tersebut meliputi pemilihan kolom dan record tertentu saja. Selanjutnya data yang dipilih dapat diproses lebih lanjut secara langsung atau diinteraksikan dengan data lainnya dalam proses tertentu. Berikut ini adalah perintah untuk menyeleksi data:

SELECT ekspresi_kolom FROM table_name

[WHERE where_definition]

[GROUP BY ekspresi_kolom [ASC|DSC]]

[HAVING where_definition]

[ORDER BY ekspresi_kolom [ASC|DSC]]

[LIMIT [byk_brs|brs_dilompat,jml_brs_dipilih]];

Ekspresi_kolom adalah ekspresi yang melibatkan kolom dan akan ditampilkan sebagai kolom-kolom data. Pilihan from table_name untuk menentukan tabel yang datanya diambil untuk mengisi ekspresi_kolom. Ekspresi_kolom dapat diisi “*”

untuk menyatakan seluruh kolom tabel, atau dapat pula diisi ekspresi apa saja yang sah dan dapat dikenali MySQL.

Pilihan WHERE digunakan untuk menyaring baris tertentu yang diikutkan dalam seleksi. Where_definition dapat diisi ekspresi apa saja, asalkan ekspresi tersebut sah dan dikenal oleh MySQL.

Pilihan GROUP BY akan otomatis mengurut data berdasarkan kunci kelompok (group). Pilihan ASC untuk memilih pengurutan dari rendah ke tinggi, sedangkan pilihan DESC untuk urutan dari tinggi ke rendah. Jika tidak disebutkan pilihan ASC atau DESC, dianggap ASC.

Pilihan HAVING where_definition dapat dipakai untuk menyeleksi tiap-tiap record dalam tiap group untuk mengetahui apakah record dapat dimasukkan ke dalam nilai group (kelompok) data. Jadi fungsi HAVING sama denganWHERE, tetapi bekerja dalam lingkungan group dan ekspresi syarat harus melibatkan kolom yang dipilih.

Referensi

Dokumen terkait

Pengaruh negatif dari nilai tukar rupiah atas US Dollar terhadap impor Indonesia perlu diantisipasi dengan cara meningkatkan ketersediaan berbagai produk di dalam negeri

Pengemasan menggunakan kaleng kedap udara dapat direkomendasi sebagai bahan pengemas benih padi, hal ini disebabkan karena setelah penyimpanan selama tujuh bulan

sebagaimana dimaksud pada ayat (1) tersebut di atas, masing-masing dipimpin oleh seorang Kepala Badan, Inspektur dan Kepala Kantor serta Direktur yang berada dibawah dan

Maka dapat ditarik kesimpulan bahwa sistem informasi akuntansi adalah sekumpulan dari komponen yang saling berkaitan satu sama lain yang bertindak untuk

Hasil korelasi tersebut menunjukkan tidak terdapat hubungan yang bermakna antara skor SOFA dengan lama rawat pasien sepsis di ICU.. Hasil penelitian ini sejalan dengan

5) Hasil karya perencanaan yang dihasilkan harus telah memenuhi peraturan, standar dan pedoman teknis bangunan gedung yang berlaku pada umumnya, sehingga kelak

Suamiku tercinta yang telah shabar mendampingi, membantu, memberikan dukungan baik moral dan materiil kepada penulis sehingga dapat menyelesaikan studi di

ersyaratan yang perlu diketahui jika bekerja dengan 0at radioakti atau sumber radiasi lainnya adalah kecepatan dosis ' besarnya dosis per satuan Haktu, meskipun eek biologi