Anda di halaman 1dari 17

MODUL PENGAYAAN

REKAYASA PERANGKAT LUNAK

1
Pemrograman Komputer

Dalam kehidupan sehari-hari, untuk berkomunikasi dengan orang lain, kita harus
menggunakan bahasa yang sama dengan orang tersebut. Apabila kita menggunakan Bahasa
Indonesia, lawan bicara kita juga harus mengerti Bahasa Indonesia. Kalau lawan bicara kita
tidak mengerti Bahasa Indonesia, kita masih bisa berkomunikasi dengannya melalui seorang
penerjemah.
Dalam pemrograman komputer, berlaku juga hal seperti di atas. Kita harus menggunakan
bahasa yang dimengerti oleh komputer untuk memberikan suatu instruksi.
Pada dasarnya, komputer adalah mesin digital, artinya komputer hanya mengenal kondisi ada
arus listrik (biasanya dilambangkan dengan 1) dan tidak ada arus listrik (biasanya dilambangkan
dengan 0). Dengan kata lain, kita harus menggunakan sandi 0 dan 1 untuk melakukan
pemrograman komputer. Bahasa pemrograman yang menggunakan sandi 0 dan 1 ini disebut
bahasa mesin. Mungkin Anda sudah bisa membayangkan bagaimana sulitnya memprogram
dengan bahasa mesin. Namun Anda tidak perlu kuatir karena dewasa ini jarang sekali orang yang
memprogram dengan bahasa mesin.
Karena bahasa mesin sangat susah, maka muncul ide untuk melambangkan untaian sandi 0
dan 1 dengan singkatan kata yang lebih mudah dipahami manusia. Singkatan kata ini kemudian
sering disebut mnemonic code. Bahasa pemrograman yang menggunakan singkatan kata ini
disebut bahasa assembly.
Sebagai contoh, dalam prosesor Intel, terdapat perintah 0011 1010 0000 1011. Perintah
dalam bahasa mesin ini sama artinya dengan perintah assembly CMP AL, OD, yang artinya
bandingkan nilai register AL dengan 0D. CMP di sini sebenarnya adalah singkatan dari
CoMPare. DapatAnda lihat di sini bahwa perintah CMP AL, 0D jauh lebih mudah dipahami
daripada 0011 1010 0000 1011. Tentu saja ini jika dilihat dari sudut pandang manusia, bagi
komputer, kombinasi 0 dan 1 tentu lebih mudah dipahami. Perangkat lunak yang
mengkonversikan perintah-perintah assembly ke dalam bahasa mesin sering disebut juga
assembler.
Pemrograman dengan bahasa assembly dirasakan banyak orang masih terlalu sulit,
termasuk saya sendiri. Sesusai dengan sifat manusia yang tidak pernah puas, akhirnya
dikembangkan suatu bahasa pemrograman yang lebih mudah digunakan. Bahasa pemrograman
ini menggunakan kata-kata yang mudah dikenali oleh manusia. Bahasa pemrograman seperti ini

2
disebut bahasa generasi ketiga atau disingkat 3GL (thirdgeneration language). Beberapa
orang menyebut bahasa ini dengan bahasa tingkat tinggi atau disingkat HLL (high-level
language). Ada banyak contoh bahasa generasi ketiga, antara lain: Basic, Pascal, C, C++, CO-
BOL, dsb.
Bahasa generasi ketiga biasanya menggunakan kata-kata dalam bahasa Inggris karena
memang bahasa tersebut adalah bahasa internasional. Sebagai contoh, Anda dapat menuliskan
perintah berikut dalam bahasa Pascal:
writeln (‘Algoritma’);
atau perintah berikut dalam bahasa C:
printf (“Algoritma\n\r”);
atau perintah berikut dalam bahasa C++:
cout « “Algoritma” « endl;
Ketiga pernyataan di atas bertujuan sama, yaitu menuliskan teks 'Algoritma' ke keluaran standar
(standard output), biasanya ke layar komputer.
Ketiga perintah sederhana di atas sebenarnya terdiri dari puluhan atau mungkin bahkan ratusan
pernyataan assembly. Perangkat lunak yang menerjemah kan program dalam bahasa manusiawi
ke dalam bahasa assembly atau mesin ada dua macam, yaitu interpreter dan kompiler.
Interpreter menerjemahkan program baris per baris, artinya jika suatu baris akan dieksekusi,
maka baris tersebut diterjemahkan terlebih dulu ke bahasa mesin. Apabila baris berikutnya akan
dieksekusi, maka baris tersebut baru diterjemahkan ke dalam bahasa mesin. Contoh bahasa
pemrograman yang menggunakan interpreter adalah Basic.
Kompiler menerjemahkan semua perintah ke dalam bahasa mesin kemudian menjalankan hasil
penerjemahan. Hasil penerjemahan ini bisa disimpan dalam file atau memori. Contoh bahasa
pemrograman yang menggunakan kompiler adalah Pascal, C, dan C++. Khusus untuk Pascal,
ada beberapa kompiler tetapi memang jumlahnya tidak banyak, misalnya Turbo Pascal
(http://www.innrise.com), GNU Pascal (http://didaktik.physik.uni-essen.de/-gnu-pascal/
home.html), Free Pascal (http://www.freepascal.sk), dsb. Meskipun demikian, kompiler
Pascal yang paling banyak digunakan adalah Turbo Pascal. Jadi buku ini juga
menggunakan Turbo Pascal sebagai acuannya.
Perkembangan bahasa pemrograman tidak sampai pada bahasa generasi ketiga saja. Ada
generasi lanjutan bahasa pemrograman, yaitu bahasa generasi keempat atau disingkat

3
4GL (fourth-generation language). Bahasa ini banyak digunakan untuk mengembangkan
aplikasi basis data (database). Salah satu contohnya adalah SQL (Structured Query
Language). Pada bahasa ini, perintah-perintah yang digunakan lebih manusiawi, misalnya
"SELECT Nama, Alamat FROM Karyawan", untuk mengambil data Nama dan Alamat
dari basis data Karyawan.
Dari penjelasan singkat ini, saya berharap Anda dapat memahami di manakah
sebenamya posisi bahasa Pascal ditinjau dalam pemrograman komputer. Pada subbab
berikutnya, saya akan membahas di manakah posisi algoritma dalam pemrograman
komputer.

Langkah-langkah dalam Pemrograman Komputer


Dalam melakukan suatu kegiatan, tentu saja kita memerlukan langkah -langkah yang
harus dilalui. Orang tidur saja, menurut para dokter, melewati beberapa tahapan atau fase.
Dalam pemrograman komputer, kita juga memerlukan beberapa langkah.
Urutan langkah-langkah yang saya sajikan dalam buku ini tidak bersifat mutlak, artinya
Anda tidak harus melakukannya dari langkah pertama, kedua, ketiga, dst. Ada beberapa
langkah yang harus atau mungkin diulang sampai berkali-kali. Lebih jauh lagi, buku lain
mungkin menyajikan langkah-langkah yang kelihatannya berbeda tetapi pada intinya
sama. Berikut ini adalah beberapa langkah yang harus dilakukan dalam pemrograman
komputer:
1. Mendefinisikan masalah. Langkah pertama ini sering dilupakan oleh banyak pemrogram.
Begitu mereka mendapat perintah untuk membuat suatu program, mereka langsung
menulis programnya tanpa mendefinisikan masalahnya terlebih dulu. Saya mengutip kata-
kata dari Henry Ledgard dalam salah satu bukunya tentang Hukum Murphy untuk
pemrograman:
Semakin cepat Anda menulis program akan semakin lama Anda menyelesaikannya.
Memang tidak ada bukti ilmiah tentang kata-kata ini, tetapi dari pengalaman pribadi saya
ketika menjadi asisten riset di Universitas Gadjah Mada tahun 1995 dan 1996, kata-kata ini
ternyata banyak benarnya.

4
Sebelum menginjak pada langkah kedua, saya ingatkan sekali lagi bahwa langkah pertama,
mendefinisikan masalah, sangat vital tetapi sering dilupakan. Tentukan masalahnya seperti
apa, kemudian apa saja yang harus dipecahkan dengan komputer, yang terakhir adalah apa
masukannya dan bagaimana keluarannya.
2. Menentukan solusi. Setelah masalah didefinisikan dengan jelas, masukan apa yang
diberikan sudah jelas, keluaran apa yang diinginkan sudah jelas, langkah selanjutnya
adalah mencari jalan bagaimana masalah tersebut diselesaikan. Apabila permasalahan
terlalu kompleks, biasanya kita harus membaginya ke dalam beberapa modul kecil agar
lebih mudah diselesaikan.
Sebagai contoh, program untuk menghitung invers matriks, dapat dibagi menjadi beberapa
modul kecil. Modul pertama adalah meminta masukan dari pengguna berupa matriks bujur
sangkar. Modul kedua adalah mencari invers matriks yang dimasukkan pengguna. Modul
terakhir adalah menampilkan hasilnya kepada pengguna. Anda akan belajar membagi
permasalahan ke dalam beberapa modul kecil pada Bab 5, Subrutin.
3. Memilih algoritma. Langkah ini merupakan salah satu langkah penting dalam
pemrograman komputer. Mengapa? Karena pemilihan algoritma yang salah akan
menyebabkan program memiliki unjuk kerja yang kurang baik. Algoritma inilah yang
akan saya bahas sepanjang buku ini, jadi saya tidak akan membahasnya panjang lebar di
sini.
4. Menulis program. Pada langkah ini, Anda mulai menuliskan program komputer untuk
memecahkan masalah yang diberikan. Sebagaimana saya jelaskan di awal bab ini, untuk
menulis program Anda dapat menggunakan salah satu bahasa generasi ketiga. Saya tidak
merekomendasikan bahasa mesin atau assembly karena terlalu sulit dan memboroskan
waktu. Ingat ada pepatah lama mengatakan waktu adalah uang. Memang banyak orang
yang senang menggunakan assembly dengan alasan kecepatan yang tinggi, tetapi waktu
yang diperlukan untuk menulis programnya juga sangat lama. Dengan kata lain, harga yang
dibayar untuk kecepatan yang tinggi tersebut cukup mahal. Saya juga tidak
merekomendasikan bahasa generasi keempat karena penggunaannya lebih banyak dalam
dunia basis data.

5
Ada beberapa hal yang harus dipertimbangkan saat memilih bahasa pemrograman, antara
lain masalah yang dihadapi, bahasa pemrograman yang Anda kuasai, dsb. Dalam buku ini,
Anda khusus akan menulis program menggunakan bahasa Pascal.

5. Menguji program. Setelah program selesai ditulis, Anda harus mengujinya. Pengujian
pertama adalah: apakah program berhasil dikompilasi dengan baik? Pengujian berikutnya:
apakah program dapat menampilkan keluaran yang diinginkan?

Lebih jauh lagi, Anda juga harus menguji program dengan banyak kasus lain. Sering terjadi,
suatu program berjalan baik untuk kasus A, B, C; tetapi menghasilkan sesuatu yang tidak
diinginkan untuk kasus X, Y, dan Z.

Langkah keempat dan kelima ini bisa dilakukan berulang-ulang sampai program diyakini
benar-benar berjalan sesuai yang diharapkan.

6. Menulis dokumentasi. Hal ini biasanya dilakukan bersamaan dengan menulis


program, artinya pada setiap baris program atau setiap beberapa baris program, Anda
menambahkan komentar yang menjelaskan kegunaan dari suatu pernyataan.

Dokumentasi ini kelihatannya sepele dan banyak dilupakan orang, p adahal fungsinya
penting sekali. Di masa mendatang, apabila Anda perlu melaku kan perubahan atau
perbaikan terhadap suatu program, Anda akan merasakan pentingnya dokumentasi yang
baik. Meskipun demikian, sebagian besar contoh program di buku ini tidak me nyertakan
dokumentasi. Hal ini karena dokumentasi dari program tersebut tidak lain adalah buku ini
sendiri.
Dokumentasi yang dijadikan satu dalam program, berupa komentar-komentar pendek,
biasanya sudah cukup. Namun akan lebih baik jika Anda juga menulis kannya dalam
dokumen tersendiri kemudian mencetaknya di atas kertas jika perlu. Saya memang tidak
begitu menyarankan dokumentasi di atas kertas, tetapi hal yang terpenting adalah
menambahkan komentar-komentar singkat di dalam program Anda. Mungkin sekarang

6
Anda berpikir tidak ada gunanya, tetapi percayalah nantinya Anda akan merasakan
pentingnya hal ini.

7. Merawat program. Langkah ini dilakukan setelah program selesai dibuat dan
sudah digunakan oleh pengguna Anda. Hal yang paling sering terjadi d i sini adalah
munculnya bug yang sebelumnva tidak terdeteksi. Atau mungkin juga pengguna
ingin tambahan suatu fasilitas baru. Apabila hal-hal seperti ini terjadi, Anda harus
melakukan revisi terhadap program Anda.

Apa Itu Algoritma?

Dari materi subbab sebelumnya, Anda sudah mengetahui di manakah posisi algoritma
dalam dunia pemrograman komputer atau lebih umumnya lagi dalam dunia komputer.
Sekarang saya akan membahas algoritma itu sendiri. Ada beberapa definisi algoritma, tetapi di
sini saya menggunakan acuan Microsoft Bookshelf:
Algoritma adalah urutan langkah berhingga untuk memecahkan masalah
logika atau matematika.'

Dalam kehidupan sehari-hari, sebenarnya Anda juga menggunakan algoritma untuk


melakukan sesuatu. Sebagai contoh, Anda ingin menulis surat, maka Anda perlu melakukan
beberapa langkah berikut:
1. Mempersiapkan kertas dan amplop.
2. Mempersiapkan alat tulis, seperti pena atau pensil.
3. Mulai menulis.
4. Memasukkan kertas ke dalam amplop.
5. Pergi ke kantor pos untuk mengeposkan surat tersebut.

Langkah-langkah dari nomor 1 sampai dengan nomor 5 di atas itulah yang disebut
dengan algoritma. Jadi sebenamya Anda sendiri juga sudah menggunakan algoritma baik sadar
maupun tidak sadar.

7
Dalam banyak kasus, algoritma yang Anda lakukan tidak selalu berurutan seperti di atas.
Kadang-kadang Anda harus memilih dua atau beberapa pilihan. Sebagai contoh, jika Anda
ingin makan, Anda harus menentukan akan makan di rumah makan atau memasak sendiri. Jika
Anda memilih untuk makan di rumah makan, Anda akan menjalankan algoritma yang berbeda
dengan jika Anda memilih memasak sendiri. Dalam dunia algoritma, hal semacam ini sering
disebut percabangan.
Dalam kasus lain lagi, Anda mungkin harus melakukan langkah-langkah tertentu
beberapa kali. Sebagai contoh, saat Anda menulis surat, sebelum me masukkan kertas ke dalam
amplop, mungkin Anda harus mengecek apakah surat tersebut sudah benar atau belum. Jika
belum benar, berarti Anda harus mempersiapkan kertas baru dan menulis lagi. Demikian
seterusnya sampai surat Anda sesuai dengan yang diharapkan. Dalam dunia pemrograman, hal
semacam ini sering disebut pengulangan.
Contoh Algoritma

Berikut ini adalah contoh algoritma untuk memecahkan masalah matematika. Misalkan
Anda ingin menghitung luas lingkaran dari masukan berupa jari-jari lingkaran. Rumus luas
lingkaran adalah:
L = π.R2
Berikut ini adalah contoh algoritma untuk menghitung luas lingkaran:

1. Masukkan R.
2. Pi ← 3,14.
3. L← Pi*R*R.
4. Tulis L

Perhatikan terdapat tanda ← pada baris kedua dan ketiga. Tanda i t u berarti nilai di
sebelah kanan diberikan pada operan di sebelah kiri. Sebagai contoh, untuk baris kedua, nilai
3.14 diberikan pada variabel Pi. Berikutnya, nilai Pi * R * R diberikan pada variabel L.
Baris pertama dari algoritma di atas meminta masukkan dari pengguna berupa jari-jari
lingkaran yang disimpan pada variabel R. Pada baris kedua nilai π disimpan pada variabel
dengan nama Pi. Baris ketiga menghitung luas lingkaran dengan rumus π R 2 atau yang

8
dituliskan Pi * R * R. Luas lingkaran ini disimpan pada variabel L. Baris terakhir menuliskan
luas lingkaran tersebut.

Program dan Pemrograman

Program adalah kata, ekspresi, pernyataan atau kombinasi yang disusun dan dirangkai menjadi
satu kesatuan prosedur yang berupa urutan langkah untuk menyelesaikan masalah dan
diimplementasikan dengan menggunakan bahasa pemrograman sehingga dapat dieksekusi oleh
komputer.

Pemrograman yaitu rangkaian instruksi – instruksi dalam bahasa komputer yang disusun secara
logis dan sistematis. Proses pemrograman komputer bertujuan untuk memecahkan suatu masalah
dan membuat mudah pekerjaan dari user(pengguna komputer).

2.2. Pengertian Website

Website dapat diartikan sebagai kumpulan halaman-halaman yang digunakan untuk


mempublikasikan informasi berupa teks, gambar dan program multimedia lainnya berupa
animasi (gambar gerak, tulisan gerak), suara, dan atau gabungan dari semuanya itu baik yang
bersifat statis maupun dinamis yang membentuk satu rangkaian bangunan yang saling terkait
antara satu page dengan page yang lain yang sering disebut sebagai hyperlink.

2.2.1. Perkembangan Websit

Perkembangan teknologi informasi yang kian pesat memacu munculnya situs baru yang dapat
diakses melalui jaringan internet. Data dari survey yang dilakkukan oleh Netcraft
(http://news.netcraft.com/archives/web_server_survey.html) menunjukkan bahwa sampai pada
bulan Maret 2008 ini jumlah website telah mencapai angka 162.662.052 situs dengan 4,5 juta
situs baru pada bulan ini. Hal ini memungkinkan jumlah situs baru pada tahun 2008 ini mencapai
60 juta situs atau meningkat 20% dari perkembangan tahun 2007 yang mencapai 50 juta situs
baru. Perkembangan jumlah situs ini tidaklah mengherankan karena semakin banyaknya orang
yang melakukan blogging baik melalui Google, blogspot.com, ataupun MySpace.Namun
demikian, situs yang benarbenar aktif pada bulan Maret 2008 hanyalah 65,6 juta atau 40,33%
dari jumlah total situs. Dengan perkembangan jumlah situs yang luar biasa besar ini menuntut
para pemrogram web (web programmer) untuk selalu berkreasi menciptakan ideide baru baik
dalam desain layout, penggunaan aplikasi server web, maupunoperating system yang dipakai,
agar situs yang dibangunnya tidak kandas dalam persaingan. Perkembangan ini juga membuka

9
peluang kerja yang sangat signifikan dalam bidang web programming tidak hanya bagi lulusan
IT namun juga bagi mereka yang mau bekerja keras untuk selalu ‘mengoprek’.

2.2.2. Kriteria Web dan Aspek Keamanan Web

Website yang baik harus memenuhi kriteria dalam aspek fungsionalitas, desain, konten,
orisinalitas, profesionalisme dan keefektivan. Sesuai dengan kriteria dalam penghargaan website
terbaik tingkat dunia (World Best Website Awards), aspek fungsionalitas yang dinilai meliputi:
keteraksesan, kecepatan dan bandwidth, kualitas HTML, navigasi dan link, dan legalitas.
Sedangkan dalam aspek desain, sub aspek yang dinilai adalah desain grafis,
user friendliness,beauty, layout, dan integritas. Dari segi konten, termasuk aspek yang dinilai
adalah tujuan, interaktivitas manusia, proses informasi, ekspresi verbal, ketersediaan konten
secara detail. Dalam aspek orisinalitas, sub aspek yang dinilai adalah inovasi, kreativitas,
teknologi, dan visi. Untuk aspek profesionalisme dan keefektivan meliputi customer service dan
respon client, nilai, focus, komponen tambahan, dan keefektifan situs secara keseluruhan.
Kriteriakriteria tersebut dinilai untuk penilaian level 1. Untuk penilaian level berikutnya asek
yang paling penting adalah sekuritas server dan rangking search engine. Dengan demikian
aspek-aspek tersebut di atas dapat dijadikan acuan dalam pembangunan sebuah website yang
baik, sehingga peran programer web dalam hal ini sangat penting.

2.2.3. Cara Kerja Website

Pada saat kita mengetikkan sesuatu alamat pada browser maka data akan dilewatkan oleh suatu
protokol HTTP melewati port 80 pada server. Alamat ini adalah URL dari suatu situs yang
mempunyai alamat yang unik di internet. Web Browser akan mengirimkan suatu aturan yang
telah disepakati sebelumnya, aturan ini biasa disebut protokol, standar protokol menggunkan
TCP / IP, proses ini dimulai dengan melakukan 3 way handshake antara sumber dan tujuan.

Web browser, suatu aplikasi client yang akan menampilkan halaman web sites dari internet. Web
browser di install disisi user ( OS ) menampilkan informasi ke komputer dengan interpreting
bahasa pengkodean HTML, dimana homepage berisi gambar, suara, multimedia, dan resources
lainnya yang dapat diakses. File coding pada HTML memberikan datanya ke browser apa yang
akan ditampilkan ke sisi client. Isi HTML yang akan ditampilkan bukan dari browsernya tetapi
dari web servernya dan browser akan menginterpret tag HTML untuk link ke halaman
berikutnya.

2.3. HTML

10
HTML (Hyper Text Markup Language) adalah suatu bahasa yang digunakan untuk menulis
halaman web. HTML dirancang untuk digunakan tanpa tergantung pada suatu Platform tertentu
(Platform independent). Dokumn HTML adalah suatu teks biasa, dan disebut sebagai Markup
Language karena mengandung tanda-tanda (tag) tertentu yang digunakan untuk menentukan
tampilan suatu teks dan tingkat kepentingan dari teks tersebut dalam suatu dokumen. Pada
dokumen HTML yang termasuk system hypertext, kita tidak harus membaca dokumen tersebut
secara urut dari atas kebawah atau sebaliknya, tetapi kita dapat menuju pada topic tertentu secara
langsung dengan menggunakan teks penghubung yang akan membawa anda kesuatu topik atau
dokumen lain secara langsung.

HTML (Hyper Text Markup Language) adalah bahasa yang digunakan untuk menulis halaman
web, ciri utama dokumen HTML adalah adanya tag dan elemen, Elemen dalam dokumen HTML
dikatagorikan menjadi dua yaitu elemen yang berfungsi memberikan informasi tentang dokumen
tersebut dan elemen yang menentukan bagaimana isi suatu dokumen ditampilkan di dalam
browser. Sedangkan tag dinyatakan dengan tanda lebih kecil ”<” (tag awal) dan lebih besar ”>”
(tag akhir). Dalam penggunaannya sebagian kode HTML tersebut harus terletak diantara tag
kontainer, yaitu diawali dengan dan diakhiri dengan (tersapat tanda ”/”). Untuk membuat
dokumen diperlukan program penyutingan teks (Noteped, Eordpad, Ms Word,dll), dan suatu
program browser (Notscape, Internet Explorer).

Dokumen HTML terbagi 3 tag utama yang membentuk struktur dokumen HTML, HEAD dan
BODY. HTML berfungsi untuk menyatakan suatu dokumen HTML, tag HEAD berfungsi untuk
memberikan informasi tentang dokumen HTML dan tag BODY berfungsi untuk menyimpan
informasi data yang akan ditampilakan dalam dokumen HTML.

2.3.1. Struktur HTML

sebagai tanda awal dokumen HTML


****** Bagian HEAD ******,
Sebagai informasi page header untuk tag informasi: title, base, isindex, link, script, style & meta.
************************
****** Bagian Body ******
Berisi page atribut seperti backgroun, warna teks, warna link, warna visited link, warna active
link dan lain-lain.

Stucture Querry Languge ( SQL )

11
SQL adalah bahasa standard untuk melakukan berbagai operasi data pada database, diantaranya
mendefinisikan tabel, menampilkan data dengan kriteria tertentu, menambahkan data hingga
menghapus data tertentu. Penggunaan SQL pada beberapa bahasa pemrograman secara umum
relatif sama.
Bagi seorang programmer, menguasai SQL adalah sebuah kewajiban, karena program jaman
sekarang pasti menggunakan database untuk menyimpan datanya. Bagi saya sendiri yang bisa
menggunakan program PHP, biasa menggunakan database mysql dan oracle.
Jadi untuk membuat sebuah aplikasi saya menggunakan program PHP dan database. SQL
(kependekan dari: Structured Query Language) adalah bahasa standar yang digunakan untuk
mengakses sebuah basis data relasional, termasuk Oracle. SQL menyediakan sekumpulan
statemen untuk melakukan proses penyimpanan, modifikasi, dan pengambilan dat di dalam
database. Sedangkan PL/SQL (kependekan dari: Procedural Language extensions to SQL)
merupakan teknologi ambahan yang hanya terdapat di dalam Oracle dan digunakan untuk
meningkatkan kapabilitas SQL agar dapat diperlakukan sebagaimana layaknya bahasa
prosedural. Dengan PL/SQL, kita diizinkan untuk membuat prosedur, fungsi, trigger, dan
konstruksi standar prosedural lainnya sehingga pengolahan data dapat dilakukan secara dinamis.

Sejarah SQL

Sejarah SQL dimulai dari artikel seorang peneliti dari IBM bernama EF Codd yang membahas
tentang ide pembuatan basis data relasional pada bulan Juni 1970. Artikel ini juga membahas
kemungkinan pembuatan bahasa standar untuk mengakses data dalam basis data tersebut. Bahasa
tersebut kemudian diberi nama SEQUEL (Structured English Query Language). Setelah
terbitnya artikel tersebut, IBM mengadakan proyek pembuatan basis data relasional berbasis
bahasa SEQUEL. Akan tetapi, karena permasalahan hukum mengenai penamaan SEQUEL, IBM
pun mengubahnya menjadi SQL. Implementasi basis data relasional dikenal dengan System/R.
Di akhir tahun 1970-an, muncul perusahaan bernama Oracle yang membuat server basis data
populer yang bernama sama dengan nama perusahaannya. Dengan naiknya kepopuleran Oracle,
maka SQL juga ikut populer sehingga saat ini menjadi standar de facto bahasa dalammanajemen
basis data.

Standarisasi

Standarisasi SQL dimulai pada tahun 1986, ditandai dengan dikeluarkannya standar SQL oleh
ANSI. Standar ini sering disebut dengan SQL86.Standar tersebut kemudian diperbaiki pada
tahun 1989 kemudian diperbaiki lagi pada tahun 1992. Versi terakhir dikenal dengan SQL92.
Pada tahun 1999 dikeluarkan standar baru yaitu SQL99 atau disebut juga SQL99, akan tetapi
kebanyakan implementasi mereferensi pada SQL92. Saat ini sebenarnya tidak ada server basis
data yang 100% mendukung SQL92. Hal ini disebabkan masing-masing server memiliki dialek

12
masing-masing.

Pemakaian Dasar

Secara umum, SQL terdiri dari dua bahasa, yaitu Data Definition Language (DDL) dan Data
Manipulation Language (DML). Implementasi DDL dan DML berbeda untuk tiap system
manajemen basis data (SMBD)[1], namun secara umum implementasi tiap bahasa ini memiliki
bentuk standar yang ditetapkan ANSI. Artikel ini akan menggunakan bentuk paling umum yang
dapat digunakan pada kebanyakan SMBD.

Data Definition Language (DDL)

DDL digunakan untuk mendefinisikan, mengubah, serta menghapus basis data dan objekobjek
yang diperlukan dalam basis data, misalnya tabel, view, user, dan sebagainya. Secara umum,
DDL yang digunakan adalah CREATE untuk membuat objek baru, USE untuk menggunakan
objek, ALTER untuk mengubah objek yang sudah ada, dan DROP untuk menghapus objek. DDL
biasanya digunakan oleh administrator basis data dalam pembuatan sebuah aplikasi basis data.

CREATE

CREATE digunakan untuk membuat basis data maupun objek-objek basis data. SQL yang
umum digunakan adalah:

CREATE DATABASE nama_basis_data


CREATE DATABASE membuat sebuah basis data baru.
CREATE TABLE nama_tabel
CREATE TABLE membuat tabel baru pada basis data yang sedang aktif. Secara umum, perintah
ini memiliki bentuk

CREATE TABLE [nama_tabel]


(
nama_field1 tipe_data [constraints][,
nama_field2 tipe_data,
...]
)
atau
CREATE TABLE [nama_tabel]
(
nama_field1 tipe_data [,
nama_field2 tipe_data,

13
...]
[CONSTRAINT nama_field constraints]
)
dengan:
nama_field adalah nama kolom (field) yang akan dibuat. Beberapa sistem manajemen basis data
mengizinkan penggunaan spasi dan karakter nonhuruf pada nama kolom. tipe_data tergantung
implementasi sistem manajemen basis data. Misalnya, pada MySQL, tipe data dapat berupa
VARCHAR, TEXT, BLOB, ENUM, dan sebagainya.
Constraints

Constarints adalah batasan-batasan yang diberikan untuk tiap kolom. Ini juga tergantung
implementasi sistem manajemen basis data, misalnya NOT NULL, UNIQUE, dan sebagainya.
Ini dapat digunakan untuk mendefinisikan kunci primer (primary key) dan kunci asing (foreign
key). Satu tabel boleh tidak memiliki kunci primer sama sekali, namun sangat disarankan
mendefinisikan paling tidak satu kolom sebagai kunci primer.
Contoh:

CREATE TABLE user


(
username VARCHAR(30) CONSTRAINT PRIMARY KEY,
passwd VARCHAR(20) NOT NULL,
tanggal_lahir DATETIME
);
akan membuat tabel user seperti berikut:
username Passwd tanggal_lahir

Data Manipulation Language

DML digunakan untuk memanipulasi data yang ada dalam suatu tabel. Perintah yang umum
dilakukan adalah:
• SELECT untuk menampilkan data
• INSERT untuk menambahkan data baru
• UPDATE untuk mengubah data yang sudah ada
• DELETE untuk menghapus data

SELECT

SELECT adalah perintah yang paling sering digunakan pada SQL, sehingga kadang-kadang
istilah query dirujukkan pada perintah SELECT. SELECT digunakan untuk menampilkan data
dari satu atau lebih tabel, biasanya dalam sebuah basis data yang sama. Secara umum, perintah

14
SELECTmemiliki bentuk lengkap: ( QUERY BUDIN ) Cilegon.

SELECT [nama_tabel|alias.]nama_field1 [AS alias1] [, nama_field2, ...]


FROM nama_tabel1 [AS alias1] [INNER|LEFT|RIGHT JOIN tabel2 ON
kondisi_penghubung]
[, nama_tabel3 [AS alias3], ...]
[WHERE kondisi]
[ORDER BY nama_field1 [ASC|DESC][, nama_field2 [ASC|DESC], ...]]
[GROUP BY nama_field1[, nama_field2, ...]]
[HAVING kondisi_aggregat]

dengan:
• kondisi adalah syarat yang harus dipenuhi suatu data agar ditampilkan.
• kondisi_aggregat adalah syarat khusus untuk fungsi aggregat.
Kondisi dapat dihubungkan dengan operator logika, misalnya AND, OR, dan sebagainya.
Contoh:
Diasumsikan terdapat tabel user yang berisi data sebagai berikut. username password
tanggal_lahir jml_transaksi total_transaksi

Aris 6487AD5EF 09-09-1987 6 10.000


Budi 97AD4erD 01-01-1994 0 0
Charlie 548794654 06-12-1965 24 312.150
Daniel FLKH947HF 24-04-1980 3 0
Erik 94RER54 17-08-1945 34 50.000

Contoh 1: Tampilkan seluruh data.

SELECT *
FROM user

Contoh 2: Tampilkan pengguna yang tidak pernah bertransaksi.


SELECT *
FROM user
WHERE total_transaksi = 0

Contoh 3: Tampilkan username pengguna yang bertransaksi kurang dari 10 dan nilainya lebih
dari 1.000.

SELECT username
FROM user

15
WHERE jml_transakai < 10 AND total_transaksi > 1000

Contoh 4: Tampilkan total nominal transaksi yang sudah terjadi.


SELECT SUM(total_transaksi) AS total_nominal_transaksi
FROM user
Contoh 5: Tampilkan seluruh data diurutkan berdasarkan jumlah transaksi terbesar ke terkecil.
SELECT *
FROM user
ORDER BY jml_transaksi DESC

Fungsi aggregate

Beberapa SMBD memiliki fungsi aggregat, yaitu fungsi-fungsi khusus yang melibatkan
sekelompok data (aggregat). Secara umum fungsi aggregat adalah:
• SUM untuk menghitung total nominal data
• COUNT untuk menghitung jumlah kemunculan data
• AVG untuk menghitung rata-rata sekelompok data
• MAX dan MIN untuk mendapatkan nilai maksimum/minimum dari sekelompok data.
Fungsi aggregat digunakan pada bagian SELECT. Syarat untuk fungsi aggregat diletakkan pada
bagian HAVING, bukan WHERE. Subquery Ada kalanya query dapat menjadi kompleks,
terutama jika melibatkan lebih dari satu tabel dan/atau fungsi aggregat. Beberapa SMBD
mengizinkan penggunaan subquery. Contoh: Tampilkan username pengguna yang memiliki
jumlah transaksi terbesar.

SELECT username
FROM user
WHERE jml_transaksi =
(
SELECT MAX(jml_transaksi)
FROM user
)

INSERT
Untuk menyimpan data dalam tabel dipergunakan sintaks:

INSERT INTO [NAMA_TABLE] ([DAFTAR_FIELD]) VALUES ([DAFTAR_NILAI])


Contoh:

INSERT INTO TEST (NAMA, ALAMAT, PASSWORD) VALUES ('test', 'alamat', 'pass');

16
UPDATE
Untuk mengubah data menggunakan sintaks:

UPDATE [NAMA_TABLE] SET [NAMA_KOLOM]=[NILAI] WHERE [KONDISI]


Contoh:
UPDATE Msuser set password="123456" where username="abc"

DELETE
Untuk menghapus data dipergunakan sintaks:
DELETE FROM [NAMA_TABLE] [KONDISI]

17

Anda mungkin juga menyukai