Anda di halaman 1dari 37

E-BOOK

SEMESTER 1

DI SUSUN OLEH :

Nama : Siti Safira Meidah

Kelas : XI_RPL2

Sekolah : SMKN 4 TASIKMALAYA

PEMERINTAHAN DAERAH PROVINSI JAWA BARAT

DINAS PENDIDIKAN

Jl.Depok kelurahan sukamenak kec.purbaratu (0265)312059

Website : www.smkn-4tsm.sch.id. Email : smkn4tsm@gmail.com

Kota Tasikmalaya 46196


KATA PENGANTAR

Puji syukur saya senantiasa ucapkan atas kehadirat Allah SWT karena curahan rahmat serta
karunianya lah kami akhirnya sampai pada tahap menyelesaikan E-book Rekayasa
Perangkat Lunak untuk memenuhi kebutuhan tugas pada semester ini.

Saya sekaligus pula menyampaikan rasa terimakasih yang sebanyak-banyaknya untuk Bapak
Zul Hilmi selaku guru produktif pada mata pelajaran kali ini yang telah memberi banyak
ilmu kepada kami sehingga dapat memudahkan dalam menyelesaikan buku ini.

Saya sungguh-sungguh berharap sekali buku ini bisa berguna pada tujuan untuk
meningkatkan pengetahuan sekaligus wawasan terkait di dunia IT.
Saya juga sadar bahwa pada makalah ini tetap ditemukan banyak kekurangan serta jauh
dari kesempurnaan. Dengan demikian, saya benar benar menanti adanya kritik dan saran
untuk perbaikan buku yang hendak saya tulis di masa yang selanjutnya, menyadari tidak ada
suatu hal yang sempurna tanpa disertai saran yang konstruktif.

Kami berharap buku sederhana ini bisa dimengerti oleh setiap pihak terutama untuk para
pembaca. Kami mohon maaf yang sebesar-besarnya jika ada perkataan yang tidak berkenan
di hati.

Taskmalaya, November 2017

Siti Safira Meidah


DAFTAR ISI

 BAB 1 . PENDAHULUAN
o Apa itu RPL
o Tujuan RPL
o Ruang lingkup RPL
 BAB II . PEMOGRAMAN WEB DINAMIS
o Perbedaan Web Dinamis dengan Web Statis
o Ciri ciri Web Dinamis
o Kekurangan Web Dinamis
o Kelebihan web Dinamis
o PHP
 BAB III . PEMODELAN PERANGKAT LUNAK
o Pengertian PPL
o Karakteristik PPL
o Waterfall Model
o Evolutionary Software Process Models
o Incremental Model
o Spiral Model
o Transpormasi Formal
o Prototypyng Model
o Component-based Development Model
o Ekstrem Programming(XP) Model
o ERD
o DFD
 BAB IV . BASIS DATA
o Pengertian Basis Data
o Istirah Basis Data
o Komponen Sistem Basis Data
o Tujuan basis data
o Mysql sebagai RDBMS
o Database dalam Relational Database
 DAFTAR PUSTAKA
BAB I

PENDAHULUAN

Selama 50 tahun terakhir telah terjadi kemajuan revolusioner di bidang teknologi, yang
mengarah pada perbaikan kinerja perangkat keras dan perubahan besar dalam arsitektur
komputasi. Kemajuan ini telah menyebabkan produksi sistem berbasis komputer yang
kompleks yang mampu memberikan informasi dalam berbagai format. Meningkatnya daya
komputer telah membuat aplikasi komputer yang tidak realistis menjadi proposisi yang layak,
menandai asal mula era di mana produk perangkat lunak jauh lebih kompleks dibandingkan
sebelumnya. Dengan mempelajari dan mempraktikan ilmu rekayasa perangkat lunak (software
engineering), sistem kompleks ini dapat dikembangkan secara sistematis dan efisien.

Pengetahuan mendalam tentang ilmu komputer baik teoritis maupun praktis merupakan dasar
rekayasa perangkat lunak. Pengetahuan teoritis memberikan pemahaman tentang masalah
mana yang dapat diatasi, struktur data dan algoritma apa yang sesuai, kapan dan bagaimana
penggunaannya, dan lain sebagainya. Di sisi lain, pengetahuan praktis memberikan
pemahaman tentang bagaimana fungsi perangkat keras, bagaimana memanfaatkan kekuatan
bahasa pemrogramanan dan tools terkait saat mengembangkan perangkat lunak, dan lain-lain.

Oleh karena itu pada kesempatan kali ini saya akan menjelaskan kepada kalian tentang
rekayasa perangkat lunak beserta teori teori yamg ada di dalamnya, semoga bermanfaat dan
selamat belajar
1.1 Apa itu RPL?

Rekayasa perangkat lunak (RPL, atau dalam bahasa Inggris: Software Engineering atau SE)
adalah satu bidang profesi yang mendalami cara-cara pengembangan perangkat
lunak termasuk pembuatan, pemeliharaan, manajemen organisasi pengembanganan perangkat
lunak dan manajemen kualitas.

Menurut Wikipedia : Rekayasa perangkat lunak adalah satu bidang profesi yang mendalami
cara-cara pengembangan perangkat lunak termasuk pembuatan, pemeliharaan, manajemen
organisasi pengembanganan perangkat lunak dan manajemen kualitas.

Menurut IEEE Computer Society : Rekayasa perangkat lunak sebagai penerapan suatu
pendekatan yang sistematis, disiplin dan terkuantifikasi atas pengembangan, penggunaan dan
pemeliharaan perangkat lunak, serta studi atas pendekatan-pendekatan ini, yaitu penerapan
pendekatan engineering atas perangkat lunak.

1.1.1 Perangkat Lunak

Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital,
termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan
ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah
ini menonjolkan perbedaan dengan perangkat keras komputer.

1.1 Tujuan RPL

Secara umum tujuan Rekayasa Perangkat Lunak tidak berbeda dengan bidang rekayasa yang
lain. Bidang rekayasa akan selalu berusaha menghasilkan output yang kinerjanya tinggi
waktu penyelesaian yang tepat dan Berbiaya rendah. Secara lebih khusus kita dapat
menyatakan tujuan RPL adalah sebagai berikut:


Menghasilkan perangkat lunak yang kinerjanya tinggi, andal serta tepat waktu.


Memperoleh biaya produksi perangkat lunak yang rendah.


Menghasilkan perangkat lunak yang biaya perawatan rendah.
Menghasilkan perangkat lunak yang bisa bekerja di berbagai jenis platform.

1.2 Ruang Lingkup

 Software Requirements : berhubungan dengan spesifikasi kebutuhan dan persyaratan


perangkat lunak .
 Software Design : mencakup proses penentuan arsitektur, komponen, antarmuka, dan
karakteristik lain dari perangkat lunak.
 Software Construction : berhubungan dengan detil pengembangan perangkat lunak,
termasuk algoritma, pengkodean, pengujian, dan pencarian kesalahan.
 Software Testing : meliputi pengujian pada keseluruhan perilaku perangkat lunak.
 Software Maintenance : mencakup upaya-upaya perawatan ketika perangkat lunak
telah dioperasikan.
 Software Configuration Management : berhubungan dengan usaha
perubahan konfigurasi perangkat lunak untuk memenuhi kebutuhan tertentu.
 Software Engineering Management : berkaitan dengan pengelolaan dan pengukuran
RPL, termasuk perencanaan proyek perangkat lunak.
 Software Engineering Tools and Methods : mencakup kajian teoritis tentang alat bantu
dan metode RPL.
 Software Engineering Process : berhubungan dengan definisi,
implementasi,pengukuran, pengelolaan, perubahan dan perbaikan proses RPL.
 Software Quality : menitik beratkan pada kualitas dan daur hidup perangkat lunak.
BAB II
PEMOGRAMAN WEB DINAMIS

2.1 Perbedaan Pemograman Web Dinamis atau Dengan Web Statis

Pemograman Web Statis(PWS) adalah pemograman yang bersifat tetap dan tidak dapat di
ubah kangsung dari programnya akan tetapi harus mengubah source codenya terlebih dahulu.
Sedangkan Pemograman Web Dinamis (PWD) adalah pemograman yang bersifat Fleksibel
sehingga dapat diubah langsung dari programnya tanpa harus merubah source kodenya
terlebih dahulu

 Menggunakan bahasa pemrograman web misalnya seperti PHP, HTML dan yang
2.2 Ciri ciri Web Dinamis

 Memiliki database.
lainnya.

 Konten di dalamnya bisa berasal dari pengunjung dan bisa juga dari database.
 Lebih sering di-update.
2.3 Kekurangan Web Dinamis

 Sangat kompleks, sehingga sulit dalam pencarian Search Engine.

 Konten dan layout dapat berubah-ubah atau diubah-ubah.


2.4 Kelebihan Web Dinamis

 Memakai dynamic html (DHTML).


 Memakai pemrograman server untuk mengatur perubahan data.
 Dapat menggunakan CMS untuk mengubah konten atau isi website.
 Konten web dan layout halaman dibuat secara terpisah, sehingga loading pada

 Dapat memakai database untuk menyimpan konten atau isi.


halaman lebih cepat.

 Bisa mepasilitasi komunikasi 2 arah antara admin dan juga visitor (pengunjung web).
 Konten yang terbaru selalu berada di urutan paling ataus atau pertama karena untuk
memperjelas konten yang diupdate.

2.5 PHP!
2.5.1 Pengertian PHP
PHP adalah bahasa pemrograman script server-side yang didesain untuk pengembangan
web. Selain itu, PHP juga bisa digunakan sebagai bahasa pemrograman umum. PHP di
kembangkan pada tahun 1995 oleh Rasmus Lerdorf, dan sekarang dikelola oleh The PHP
Group. Situs resmi PHP beralamat di http://www.php.net.

PHP disebut bahasa pemrograman server side karena PHP diproses pada komputer
server. Hal ini berbeda dibandingkan dengan bahasa pemrograman client-side seperti
JavaScript yang diproses pada web browser (client).

Pada awalnya PHP merupakan singkatan dari Personal Home Page. Sesuai dengan
namanya, PHP digunakan untuk membuat website pribadi. Dalam beberapa tahun
perkembangannya, PHP menjelma menjadi bahasa pemrograman web yang powerful dan
tidak hanya digunakan untuk membuat halaman web sederhana, tetapi juga website
populer yang digunakan oleh jutaan orang seperti wikipedia, wordpress, joomla, dll.

Saat ini PHP adalah singkatan dari PHP: Hypertext Preprocessor, sebuah
kepanjangan rekursif, yakni permainan kata dimana kepanjangannya terdiri dari
singkatan itu sendiri: PHP: Hypertext Preprocessor.

PHP dapat digunakan dengan gratis (free) dan bersifat Open Source. PHP dirilis dalam
lisensi PHP License, sedikit berbeda dengan lisensi GNU General Public License
(GPL) yang biasa digunakan untuk proyek Open Source.

2.5.2 Fungsi PHP

Untuk membuat halaman web, sebenarnya PHP bukanlah bahasa pemrograman yang
wajib digunakan. Kita bisa saja membuat website hanya menggunakan HTML saja. Web
yang dihasilkan dengan HTML (dan CSS) ini dikenal dengan website statis, dimana
konten dan halaman web bersifat tetap.

Sebagai perbandingan, website dinamis yang bisa dibuat menggunakan PHP adalah situs
web yang bisa menyesuaikan tampilan konten tergantung situasi. Website dinamis juga
bisa menyimpan data ke dalam database, membuat halaman yang berubah-ubah sesuai
input dari user, memproses form, dll.
Untuk pembuatan web, kode PHP biasanya di sisipkan kedalam dokumen HTML.
Karena fitur inilah PHP disebut juga sebagai Scripting Language atau bahasa
pemrograman script.
Sebagai contoh penggunaan PHP, misalkan kita ingin membuat list dari nomor 1 sampai
nomor 10. Dengan menggunakan HTML murni, kita bisa membuatnya secara manual
seperti kode berikut ini:

1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Contoh list dengan HTML</title>
5 </head>
6 <body>
7 <h2>Daftar Absensi Mahasiswa</h2>
8 <ol>
9 <li>Nama Mahasiswa ke-1</li>
10 <li>Nama Mahasiswa ke-2</li>
11 <li>Nama Mahasiswa ke-3</li>
12 <li>Nama Mahasiswa ke-4</li>
13 <li>Nama Mahasiswa ke-5</li>
14 <li>Nama Mahasiswa ke-6</li>
15 <li>Nama Mahasiswa ke-7</li>
16 <li>Nama Mahasiswa ke-8</li>
17 <li>Nama Mahasiswa ke-9</li>
18 <li>Nama Mahasiswa ke-10</li>
19 </ol>
20 </body>
21 </html>

Halaman HTML tersebut dapat dibuat dengan mudah dengan cara men-copy-
paste tag <li> sebanyak 10 kali dan mengubah sedikit angka-angka no urut di
belakangnya. Namun jika yang kita inginkan adalah menambahkan list tersebut menjadi
100 atau 1000 list, cara copy-paste tersebut menjadi tidak efektif.
Jika menggunakan PHP, kita tinggal membuat perulangan for sebanyak 1000 kali dengan
perintah yang lebih singkat seperti berikut ini:

1 <!DOCTYPE html>
2 <html>
3 <head>
4 <title>Contoh list dengan PHP</title>
5 </head>
6 <body>
7 <h2>Daftar Absensi Mahasiswa</h2>
8 <ol>
9 <?php
10 for ($i= 1; $i <= 1000; $i++)
11 {
12 echo "<li>Nama Mahasiswa ke-$i</li>";
13 }
14 ?>
15 </ol
16 </body>
17 </html>

Dengan menggunakan kode baris yang bahkan lebih sedikit, kita dapat membuat list
tersebut menjadi 1000 kali, bahkan 100.000 kali dengan hanya mengubah sebuah
variabel $i.
BAB III

PEMODELAN PERANGKAT LUNAK

3.1 Pengertian Pemodelan Perangkat Lunak

Pemodelan dalam suatu rekayasa perangkat lunak merupakan suatu hal yang dilakukan di
tahapan awal. Di dalam suatu rekayasa dalam perangkat lunak sebenarnya masih
memungkinkan tanpa melakukan suatu pemodelan. Namun hal itu tidak dapat lagi
dilakukan dalam suatu industri perangkat lunak. Pemodelan delam perangkat lunak
merupakan suatu yang harus dikerjakan di bagian awal dari rekayasa, dan pemodelan ini
akan mempengaruhi perkerjaan-pekerjaan dalam rekayasa perangkat lunak tersebut.

Di dalam suatu industri dikenal berbagai macam proses, demikian juga halnya dengan
industri perangkat lunak. Perbedaan proses yang digunakan akan menguraikan aktivitas-
aktivitas proses dalam cara-cara yang berlainan. Perusahaan yang berbeda menggunakan
proses yang berbeda untuk menghasilkan produk yang sama. Tipe produk yang berbeda
mungkin dihasilkan oleh sebuah perusahaan dengan menggunakan proses yang berbeda.
Namun beberapa proses lebih cocok dari lainnya untuk beberapa tipe aplikasi. Jika proses
yang salah digunakan akan mengurangi kualitas kegunaan produk yang dikembangkan.

Pada rekayasa perangkat lunak, banyak model yang telah dikembangkan untuk membantu
proses pengembangan perangkat lunak. Model-model ini pada umumnya mengacu pada
model proses pengembangan sistem yang disebut System Development Life Cycle
(SDLC) seperti terlihat pada gambar dibawah ini,

3.2 Karakteristik PPL

Kebutuhan terhadap definisi masalah yang jelas. Input utama dari setiap model
pengembangan perangkat lunak adalah pendefinisian masalah yang jelas. Semakin
jelas akan semakin baik karena akan memudahkan dalam penyelesaian masalah. Oleh
karena itu pemahaman masalah merupakan bagian penting dari model pengembangan
perangkat lunak.
Tahapan-tahapan pengembangan yang teratur. Meskipun model-model
pengembangan perangkat lunak memiliki pola yang berbeda-beda, biasanya model-
model tersebut mengikuti pola umum analysis – design – coding – testing –
maintenance.
Stakeholder berperan sangat penting dalam keseluruhan tahapan pengembangan.
Stakeholder dalam rekayasa perangkat lunak dapat berupa pengguna, pemilik,
pengembang, pemrogram dan orang-orang yang terlibat dalam rekayasa perangkat
lunak tersebut.
Dokumentasi merupakan bagian penting dari pengembangan perangkat lunak.
Masing-masing tahapan dalam model biasanya menghasilkan sejumlah tulisan,
diagram, gambar atau bentuk-bentuk lain yang harus didokumentasi dan merupakan
bagian tak terpisahkan dari perangkat lunak yang dihasilkan.
Keluaran dari proses pengembangan perangkat lunak harus bernilai ekonomis. Nilai
dari sebuah perangkat lunak sebenarnya agak susah dirupiah- kan. Namun efek dari
penggunaan perangkat lunak yang telah dikembangkan haruslah memberi nilai
tambah bagi organisasi. Hal ini dapat Setiap model yang dikembangkan mempunyai
karakteristik sendiri-sendiri.

3.3 Waterfall Model

Sebuah pendekatan pengembangan perangkat lunak sistematik dan sekuensial. Disebut


juga “Classic Life Cycle”. Disebut waterfall (berarti air terjun) karena memang diagram
tahapan prosesnya mirip dengan air terjun yang bertingkat, berikut diagram tahapannya :

3.3.1 Aktivitas Waterfall Model

 Requirements analysis and definition : mengumpulkan kebutuhan secara lengkap


kemudian dianalisis dan didefinisikan kebutuhan yang hasrus dipenuhi oleh program
yang akan dibangun.
 System and software design : desain dikerjakan setelah kebutuhan selesai dikumpulkan
secara lengkap.
 Implementation and unit testing : desain program diterjemahkan ke dalam kode-kode
dengan menggunakan bahasa pemrograman yang sudah ditentukan. Program yang
dibangun langsung diuji.
 Integration and system testing : penyatuan unit-unit program kemudian diuji secara
keseluruhan (system testing)
 Operation and maintenance : mengoperasikan program dilingkungannya dan melakukan
pemeliharaan, seperti penyesuaian atau perubahan karena adaptasi dengan situasi
sebenarnya.

3.3.2 Keunggulan dari waterfall:

1. Software yang dikembangkan dengan metode ini biasanya menghasilkan kualitas yang
baik.
2. Dokumen pengembangan sistem sangat terorganisir, karena setiap fase harus
terselesaikan dengan lengkap sebelum melangkah ke fase berikutnya.

3.3.3 Kekurangan dari waterfall:


1. Perubahan sulit dilakukan karena sifatnya yang kaku.
2. Karena sifat kakunya, model ini cocok ketika kebutuhan dikumpulkan secara lengkap
sehingga perubahan bisa ditekan sekecil mungkin. Tapi pada kenyataannya jarang sekali
konsumen/pengguna yang bisa memberikan kebutuhan secara lengkap, perubahan
kebutuhan adalah sesuatu yang wajar terjadi.
3. Waterfall pada umumnya digunakan untuk rekayasa sistem yang besar dimana proyek
dikerjakan di beberapa tempat berbeda, dan dibagi menjadi beberapa bagian sub-proyek.

3.4 Evolutionary Software Process Models


Bersifat iteratif/ mengandung perulangan. Hasil proses berupa produk yang makin lama
makin lengkap sampai versi terlengkap dihasilkan sebagai produk akhir dari proses. Dua
model dalam evolutionary software process model adalah:

3.5 Incremental Model


Incremental Model merupakan gabungan antara model linear sekuensial dan prototyping.
Setiap linear sekuen menghasilkan produk yang deliveriables. Increment pertama merupakan
produk inti yang mengandung persyaratan/kebutuhan dasar. Penambahan dilakukan pada
increment-incremet berikutnya.

Keterangan:

1. Kombinasikan elemet-element dari waterfall dengan sifat iterasi/perulangan.


2. Element-element dalam waterfall dikerjakan dengan hasil berupa produk dengan
spesifikasi tertentu, kemudian proses dimulai dari fase pertama hingga akhir dan
menghasilkan produk dengan spesifikasi yang lebih lengkap dari yang sebelumnya.
Demikian seterusnya hingga semua spesifikasi memenuhi kebutuhan yang ditetapkan
oleh pengguna.
3. Produk hasil increment pertama biasanya produk inti (core product), yaitu produk yang
memenuhi kebutuhan dasar. Produk tersebut digunakan oleh pengguna atau menjalani
review/pengecekan detil. Hasil review tersebut menjadi bekal untuk pembangunan pada
increment berikutnya. Hal ini terus dikerjakan sampai produk yang komplit dihasilkan.
4. Model ini cocok jika jumlah anggota tim pengembang/pembangun PL tidak cukup.
5. Mampu mengakomodasi perubahan secara fleksibel.
6. Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang
sudah bisa berfungsi dengan spesifikasi dasar.

3.5.1 Keunggulan dari Incremental Model :

1. Personil bekerja optimal


2. Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai
dibangun. Contohnya pemasukan data karyawan
3. Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan
menggunakan produknya bagian per bagian
4. Memaksimalkan pengembalian modal investasi konsumen

3.5.2 Kekurangan dari Incremental Model :

1. Cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding)
2. Mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana
spesifikasi masing-masing hasil increment
3. Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat
perubahan selama proses rekayasa berlangsung.

3.6 Spiral Model


Proses digambarkan sebagai spiral. Setiap loop mewakili satu fase dari software process.
Loop paling dalam berfokus pada kelayakan dari sistem, loop selanjutnya tentang definisi
dari kebutuhan, loop berikutnya berkaitan dengan desain sistem dan seterusnya. Setiap Loop
dibagi menjadi beberapa sektor :

1. Objective settings (menentukan tujuan): menentukan tujuan dari fase yang ditentukan.
Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan.
Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan
resiko-resiko yang diketahui, dan sudah direncanakan.
2. Risk assessment and reduction (Penanganan dan pengurangan resiko): setiap resiko
dianalisis secara detil pada sektor ini. Langkahlangkah penanganan dilakukan, misalnya
membuat prototype untuk mengetahui ketidakcocokan kebutuhan.
3. Development and Validation (Pembangunan dan pengujian): Setelah evaluasi resiko,
maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan,
maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka
menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah
integrasi sistem model waterfall lebih cocok.
4. Planning: Proyek dievaluasi atau ditinjau-ulang dan diputuskan untuk terus ke fase loop
selanjutnya atau tidak. Jika melanjutkan ke fase berikutnya rencana untuk loop
selanjutnya.

Pembagian sektor tidak bisa saja dikembangkan seperti pada pembagian sektor berikut pada
model variasi spiral di bawah ini:

 Customer communication: membangun komunikasi yang baik dengan


pengguna/customer.
 Planning: mendefinisikan sesumber, batas waktu, informasi-informasi lain seputar proyek
 Risk analysis: identifikasi resiko managemen dan teknis
 Engineering: pembangunan contoh-contoh aplikasi, misalnya prototype
 Construction and release : pembangunan, test, install dan support.
 Customer evaluation: mendapatkan feedback dari pengguna berdasarkan evaluasi PL

Pada model spiral, resiko sangat dipertimbangkan. Resiko adalah sesuatu yang mungkin
mengakibatkan kesalahan. Model spiral merupakan pendekatan yang realistik untuk PL
berskala besar. Pengguna dan pembangun bisa memahami dengan baik software yang
dibangun karena setiap kemajuan yang dicapai selama proses dapat diamati dengan baik.
Namun demikian, waktu yang cukup panjang mungkin bukan pilihan bagi pengguna, karena
waktu yang lama sama dengan biaya yang lebih besar.
3.7 Transformasi Formal

Metode ini berbasiskan pada transformasi spesifikasi secara matematik melalui representasi
yang berbeda untuk suatu program yang dapat dieksekusi. Trasformasi menyatakan
spesifikasi program Menggunakan pendekatan ‘Cleanroom’ untuk pengembangan PL.

Metode ini mempunyai keterbatasan dalam pemakaiannya. Keunggulannya adalah


mengurangi jumlah kesalahan pada sistem sehingga penggunaan utamanya adalah pada
sistem yang kritis. Hal ini menjadi efektif dari segi biaya.

Pemakaian model pengembangan formal memerlukan tingkat kerahasian sebelum digunakan.


Permasalahan dalam model pengembangan metode formal:

۞ Memerlukan keahlian khusus dan pelatihan untuk mengaplikasikannya


۞ Sulit menentukan beberapa aspek dari suatu sistem seperti user interface

3.7 Model Rapid Aplication Development (RAD)


Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan software
sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD
ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier di mana
perkembangan cepat dicapai dengan menggunakan pendekatan kontruksi berbasis komponen.
Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan
menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-
kira 60 sampai 90 hari). Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan
RAD melingkupi fase – fase sebagai berikut :

3.7.1 Bussiness modeling


Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatu cara untuk
menjawab pertanyaan – pertanyaan berikut : informasi apa yang mengendalikan proses
bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana informasi
itu pergi? Siapa yang memprosesnya?

3.7.2. Data modeling

Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness modelling disaring ke
dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik
(disebut atribut) masing–masing objek diidentifikasi dan hubungan antara objek – objek
tersebut didefinisikan.

3.7.3. Prosess modeling

Aliran informasi yang didefinisikan di dalam fase data modeling ditransformasikan untuk
mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran
pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan
kembali sebuah objek data.
3.7.4. Aplication generation

RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat


lunak dengan menggunakan bahasa pemrograman generasi ketiga yang konvensional, RAD
lebih banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat
memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua
kasus, alat – alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.

3.7.5. Testing and turnover

Karena proses RAD menekankan pada pemakaian kembali, banyak komponen program telah
diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus di uji
dan semua interface harus dilatih secara penuh.

Keunggulan model RAD adalah :

1. Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan
dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga
waktunya lebih efisien
2. RAD mengikuti tahap pengembangan sistem seperti umumnya, tetapi mempunyai
kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang
tidak perlu membuat dari awal lagi dan waktu yang lebih singkat
Kekurangan model RAD adalah :

1. Bagi proyek yang besar tetapi berskala, RAD memerlukan sumber daya manusia yang
memadai untuk menciptakan jumlah tim RAD yang baik.
2. RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas
rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu
yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.

3.8 Prototyping Model

Kadang-kadang klien hanya memberikan beberapa kebutuhan umum software tanpa detil
input, proses atau detil output. Di lain waktu mungkin dimana tim pembangun (developer)
tidak yakin terhadap efisiensi dari algoritma yang digunakan, tingkat adaptasi terhadap sistem
operasi atau rancangan form user interface. Ketika situasi seperti ini terjadi model
prototyping sangat membantu proses pembangunan software.

Proses pada model prototyping yang digambarkan pada gambar model prototyping, bisa
dijelaskan sebagai berikut:

 Pengumpulan kebutuhan: developer dan klien bertemu dan menentukan tujuan umum,
kebutuhan yang diketahui dan gambaran bagian-bagian yang akan dibutuhkan berikutnya.
Detil kebutuhan mungkin tidak dibicarakan disini, pada awal pengumpulan kebutuhan.
 Perancangan : perancangan dilakukan cepat dan rancangan mewakili semua aspek
software yang diketahui, dan rancangan ini menjadi dasar pembuatan prototype.
 Evaluasi prototype: klien mengevaluasi prototype yang dibuat dan digunakan untuk
memperjelas kebutuhan software.

Perulangan ketiga proses ini terus berlangsung hingga semua kebutuhan terpenuhi. Prototype-
prototype dibuat untuk memuaskan kebutuhan klien dan untuk memahami kebutuhan klien
lebih baik. Prototype yang dibuat dapat dimanfaatkan kembali untuk membangun software
lebih cepat, namun tidak semua prototype bisa dimanfaatkan. Sekalipun prototype
memudahkan komunikasi antar developer dan klien, membuat klien mendapat gambaran
awal dari prototype , membantu mendapatkan kebutuhan detil lebih baik namun demikian
prototype juga menimbulkan masalah:
 Dalam membuat prototype banyak hal yang diabaikan seperti efisiensi, kualitas,
kemudahan dipelihara/dikembangkan, dan kecocokan dengan lingkungan yang
sebenarnya. Jika klien merasa cocok dengan prototype yang disajikan dan berkeras
terhadap produk tersebut, maka developer harus kerja keras untuk mewujudkan produk
tersebut menjadi lebih baik, sesuai kualitas yang seharusnya.
 Developer biasanya melakukan kompromi dalam beberapa hal karena harus membuat
prototype dalam waktu singkat. Mungkin sistem operasi yang tidak sesuai, bahasa
pemrograman yang berbeda, atau algoritma yang lebih sederhana. Agar model ini bisa
berjalan dengan baik, perlu disepakati bersama oleh klien dan developer bahwa prototype
yang dibangun merupakan alat untuk mendefinisikan kebutuhan software.

3.9 Component-based Development Model

Component-based development sangat berkaitan dengan teknologi berorientasi objek. Pada


pemrograman berorientasi objek, banyak class yang dibangun dan menjadi komponen dalam
suatu software. Class-class tersebut bersifat reusable artinya bisa digunakan kembali. Model
ini bersifat iteratif atau berulang-ulang prosesnya.

Secara umum proses yang terjadi dalam model ini adalah:

1. Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut
dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru
2. Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa
langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru,
maka class baru dibuat dengan metode berorientasi objek.
3. Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat,
integrasikan.

Penggunaan kembali komponen software yang sudah ada menguntungkan dari segi:
►Siklus waktu pengembangan software, karena mampu mengurangi waktu 70%
►Biaya produksi berkurang sampai 84% arena pembangunan komponen berkurang

Pembangunan software dengan menggunakan komponen yang sudah tersedia dapat


menggunakan komponen COTS (Commercial off-the-shelf) – yang bisa didapatkan dengan
membeli atau komponen yang sudah dibangun sebelumnya secara internal. Component-
Based Software Engineering (CBSE) adalah proses yang menekankan perancangan dan
pembangunan software dengan menggunakan komponen software yang sudah ada. CBSE
terdiri dari dua bagian yang terjadi secara paralel yaitu software engineering (component-
based development) dan domain engineering seperti yang digambarkan pada gambar dibawah
ini,
1. Domain engineering menciptakan model domain bagi aplikasi yang akan digunakan
untuk menganalisis kebutuhan pengguna. Identifikasi, pembangunan, pengelompokan
dan pengalokasikan komponen-komponen software supaya bisa digunakan pada sistem
yang ada dan yang akan datang.
2. Software engineering (component-based development) melakukan analisis terhadap
domain model yang sudah ditetapkan kemudian menentukan spesifikasi dan merancang
berdasarkan model struktur dan spesifikasi sistem, kemudian melakukan pembangunan
software dengan menggunakan komponen-komponen yang sudah ditetapkan berdasarkan
analisis dan rancangan yang dihasilkan sebelumnya hingga akhirnya menghasilkan
software.

3.11 Extreme Programming (XP) Model


Model proses ini diciptakan dan dikembangkan oleh Kent Beck. Model ini adalah model
proses yang terbaru dalam dunia rekayasa perangkat lunak dan mencoba menjawab kesulitan
dalam pengembangan software yang rumit dan sulit dalam implementasi. Menurut Kent Beck
XP adalah : “A lightweight, efficient, low-risk, flexible,predictable, scientific and fun way to
develop software”. Suatu model yang menekankan pada:

► keterlibatan user secara langsung

► pengujian

► pay-as-you-go design

Sebagai contoh :
Adapun empat nilai penting dari XP :

1. Communication/Komunikasi : komunikasi antara developer dan klien sering menjadi


masalah. Karena itu komunikasi dalam XP dibangun dengan melakukan pemrograman
berpasangan (pair programming). Developer didampingi oleh pihak klien dalam
melakukan coding dan unit testing sehingga klien bisa terlibat langsung dalam
pemrograman sambil berkomunikasi dengan developer. Selain itu perkiraan beban tugas
jugadiperhitungkan.
2. Simplicity/ sederhana: Menekankan pada kesederhanaan dalam pengkodean: “What is the
simplest thing that could possibly work?” Lebih baik melakukan hal yang sederhana dan
mengembangkannya besok jika diperlukan. Komunikasi yang lebih banyak
mempermudah, dan rancangan yang sederhana mengurangi penjelasan.
3. Feedback / Masukan/Tanggapan: Setiap feedback ditanggapi dengan melakukan tes, unit
test atau system integration dan jangan menunda karena biaya akan membengkak (uang,
tenaga, waktu).
4. Courage / Berani: Banyak ide baru dan berani mencobanya, berani mengerjakan kembali
dan setiap kali kesalahan ditemukan, langsung diperbaiki.

3.12 Pengertian ERD (Entity Relationship Diagram)

ERD merupakan suatu model untuk menjelaskan hubungan antar data dalam basis data
berdasarkan objek-objek dasar data yang mempunyai hubungan antar relasi. ERD untuk
memodelkan struktur data dan hubungan antar data, untuk menggambarkannya digunakan
beberapa notasi dan simbol.
Menurut salah satu para ahli, Brady dan Loonam (2010), Entity Relationship diagram
(ERD) merupakan teknik yang digunakan untuk memodelkan kebutuhan data dari suatu
organisasi, biasanya oleh System Analys dalam tahap analisis persyaratan proyek
pengembangan system. Sementara seolah-olah teknik diagram atau alat peraga memberikan
dasar untuk desain database relasional yang mendasari sistem informasi yang dikembangkan.
ERD bersama-sama dengan detail pendukung merupakan model data yang pada gilirannya
digunakan sebagai spesifikasi untuk database.

3.12.1 Komponen penyusun ERD adalah sebagai berikut :

Entitas adalah objek dalam dunia nyata yang dapat dibedakan dengan objek lain, sebagai
contoh mahasiswa,dosen,departemen. Entitias terdiri atas beberapa atribut sebagai contoh
atribut dari entitas mahasiswa adalah nim,nama,alamat,email, dll. Atribut nim merupakan unik
untuk mengidentifikasikan / membedakan mahasiswa yg satu dengan yg lainnya. Pada setiap
entitas harus memiliki 1 atribut unik atau yang disebut dengan primary key.

Atribut adalah Setiap entitas pasti mempunyai elemen yang disebut atribut yang berfungsi
untuk mendeskripsikan karakteristik dari entitas tersebut. Isi dari atribut mempunyai sesuatu
yang dapat mengidentifikasikan isi elemen satu dengan yang lain. Gambar atribut diwakili oleh
simbol elips.

Ada dua jenis Atribut :

1) Identifier (key) digunakan untuk menentukan suatuentity secara unik (primary key).

2) Descriptor (nonkey attribute) digunakan untuk menspesifikasikan karakteristik dari


suatu entity yang tidak unik.

Relasi adalah hubungan antara beberapa entitas. sebagai contoh relasi antar mahaiswa
dengan mata kuliah dimana setiap mahasiswa bisa mengambil beberapa mata kuliah dan setiap
mata kuliah bisa diambil oleh lebih dari 1 mahasiswa. relasi tersebut memiliki hubungan
banyak ke banyak. Berikut adalah contoh ERD.

Kardinalitas menyatakan jumlah himpunan relasi antar entitias. pemetaan kardiniliat terdiri
dari :
· one-to-one :sebuah entitas pada A berhubungan dengan entitas B paling banyak 1contoh
diatas relasi pegawai dan departemen dimana setiap pegawai hanya bekerja pada 1 departemen
· one-to-many : sebuah entitas pada A berhubungan dengan entitas B lebih dari satu contoh
diatas adalah 1 depertemen memiliki banyak pegawai

· many-to-many : sebuah entitas pada A berhubungan dengan entitas B lebih dari satu dan
B berhubungan dengan A lebih dari satu jugan contoh diatas adalah relasi mahasiswa dengan
mata kuliah.
Berikut adalah metode/tahap untuk membuat ERD :

 · Menentukan Entitas
 · Menentukan Relasi
 · Menggambar ERD sementara
 · Mengisi Kardinalitas
 · Menentukan Kunci Utama
 · Menggambar ERD berdasar Key
 · Menentukan Atribut
 · Memetakan Atribut
 · Menggambar ERD dengan Atrib

Entity Relational Diagram atau biasa disingkat dengan ERD, ini sangat terkenal bagi mereka
(mahasiswa/mahasiswi) tingkat akhir yang sedang membuat tugas akhir, paper, skripsi, dll

Pengertian Entity Relational Diagram (ERD) adalah proses hubungan antar file yang
direlasikan dengan relation key yang merupakan primary key dari masing-masing file.
3.12.2 Simbol-simbol dalam ERD:
1. Entitas (Entity)

Entitas ialah suatu objek yang dapat dibedakan dengan objek


lainnya. Entitas berfungsi untuk memberikan identitas pada entitas yang memiliki
label dan nama. Entitas memiliki bentuk persegi panjang.
2. Relasi/Hubungan Antar Entitas (relationship)

Relasi ialah hubungan yang terjadi antara 1 entitas atau lebih yang
tidak mempunyai fisik tetapi hanya sebagai konseptual. Dan berfungsi untuk
mengetahui jenis hubungan yang ada antara 2 file. Relisi memiliki bentuk belah
ketupat.
3. Atribut

Atribut ialah karakteristik dari entitas atau relasi yang


menyediakan penjelasan detil tentang entitas atau relasi tersebut. Dan berfungsi untuk
memperjelas atribut yang dimiliki oleh sebuah entitas. Atribut memiliki bentuk
lingkarang lebih tepatnya elips.
4. Alur

Alur memiliki fungsi untuk menghubungkan atribut dengan


entitas dan entitas dengan relasi. Dan berbentuk garis.

3.13 PENGERTIAN DFD DAN SIMBOL SIMBOL

Data Flow Diagram (DFD) merupakan suatu cara atau metode untuk membuat rancangan
sebuah sistem yang mana berorientasi pada alur data yang bergerak pada sebuah sistem
nantinya. Dalam pembuatan Sistem Informasi, DFD sering digunakan. DFD dibuat oleh para
analis untuk membuat sebuah sistem yang baik. Dimana DFD ini nantinya diberikan kepada
para programmer untuk melakukan proses coding. Dimana para programmer melakukan
sebuah coding sesuai dengan DFD yang dibuat oleh para analis sebelumnya. Tools yang
digunakan pada pembuatan DFD (Data Flow Diagram) yaitu EasyCase, Power Designer 6.
Salah satu cara lain untuk mendesain sistem yaitu menggunakan UML(Unified Manual
Language).
3.14.1 Komponen DFD (Data Flow Diagram)

1. User / Terminator: Kesatuan diluar sistem (external entity) yang memberikan input ke
sistem atau menerima output dari sistem berupa orang, organisasi, atau sistem lain.
2. Process: Aktivitas yang mengolah input menjadi output.
3. Data Flow: Aliran data pada sistem (antar proses, antara terminator & proses, serta
antara proses & data store).
4. Data Store: Penyimpanan data pada database, biasanya berupa tabel.
Didalam DFD terdapat 3 level, yaitu :

1. Diagram Konteks : menggambarkan satu lingkaran besar yang dapat mewakili seluruh
proses yang terdapat di dalam suatu sistem. Merupakan tingkatan tertinggi dalam DFD dan
biasanya diberi nomor 0 (nol). Semua entitas eksternal yang ditunjukkan pada diagram
konteks berikut aliran-aliran data utama menuju dan dari sistem. Diagram ini sama sekali
tidak memuat penyimpanan data dan tampak sederhana untuk diciptakan.
2. Diagram Nol (diagram level-1) : merupakan satu lingkaran besar yang mewakili
lingkaran-lingkaran kecil yang ada di dalamnya. Merupakan pemecahan dari diagram
Konteks ke diagram Nol. di dalam diagram ini memuat penyimpanan data.
3. Diagram Rinci : merupakan diagram yang menguraikan proses apa yang ada dalam
diagram Nol.
3.14.2 Fungsi DFD
Fungsi dari Data Flow Diagram adalah :

 Data Flow Diagram (DFD) adalah alat pembuatan model yang memungkinkan
profesional sistem untuk menggambarkan sistem sebagai suatu jaringan proses
fungsional yang dihubungkan satu sama lain dengan alur data, baik secara manual
maupun komputerisasi.
 DFD ini adalah salah satu alat pembuatan model yang sering digunakan, khususnya bila
fungsi-fungsi sistem merupakan bagian yang lebih penting dan kompleks dari pada data
yang dimanipulasi oleh sistem. Dengan kata lain, DFD adalah alat pembuatan model
yang memberikan penekanan hanya pada fungsi sistem.
 DFD ini merupakan alat perancangan sistem yang berorientasi pada alur data dengan
konsep dekomposisi dapat digunakan untuk penggambaran analisa maupun rancangan
sistem yang mudah dikomunikasikan oleh profesional sistem kepada pemakai maupun
pembuat program.

Contoh DFD:
BAB IV

BASIS DATA

4.1 Pengertian Sistem Basis Data


Basis data adalah kumpulan file-file yang mempunyai kaitan antara satu file dengan file lain
sehingga membentuk suatu bangunan data untuk menginformasikan suatu perusahaan atau
instansi dalam batasan tertentu.
4.2 Istilah-istilah Dalam Sistem Basis Data

4.2.1. Entititas

Entititas adalah orang, tempat, kejadian atau konsep yang informasinya direkam.Pada bidang
kesehatan Entity adalah Pasien, Dokter, Kamar.

4.2.2. Field
Setiap entity mempunyai atribut atau sebutan untuk mewakili suatu entity. Seorang siswa
dapat dilihat dari atributnya misalnya, NIM, Nama_siswa, Alamat.

4.2.3. Record
Record adalah kumpulan isi elemen data (atribut) yang saling berhubungan
menginformasikan tentang suatu entity secara lengkap.

Contoh Kumpulan atribut NIP, Nama, dan alamat berisikan “01001245566”, Sanusi,
Jl. Hati suci No 2 Kupang.
4.2.4. Data Value
Merupakan data aktual atau infomasi yang disimpan ditiap data elemen. Isi atribut disebut
nilai data.
Kunci Elemen Data ( Key Data Element )Tanda pengenal yang secara unik
mengidentifikasikan entitas dari suatu kumpulan
entitas.
Contoh Entitas Mahasiswa yang mempunyai atribut-atribut npm, nama, alamat,
tanggal lahir menggunakan Kunci Elemen Data npm.Komponen-komponen Sistem Basis
Data ( Database )

Basis data merupakan sistem yang terdiri atas kumpulan file atau tabel yang saling
berhubungan dan Database Management System ( DBMS ) yang memungkinkan beberapa
pemakai untuk mengakses dan manipulasi file-file tersebut (Fathansyah,1999 ).

4.3 Komponen Sistem Basis Data


Dalam Sistem Basis data memiliki beberapa komponen yaitu:

4.3.1 Perangkat Keras ( Hardware )


Perangkat keras yang biasanya terdapat dalam sistem basis data adalah memori
sekunder hardisk.

4.3.2 Sistem Operasi ( Operating System )


Sistem Operasi (Operating System) merupakan program yang mengaktifkan atau
mengfungsikan sistem komputer, mengendalikan seluruh sumber daya (resource) dan
melakukan operasi-operasi dalam komputer. Sistem Operasi yang banyak digunakan
seperti: MS-DOS, MS-Windows 95 MS Windows NT, dan Unix.

4.3.3 Basis data ( Database )


Sebuah basis data ( Database ) dapat memiliki beberapa basis data. Setiap basis data
dapat berisi atau memiliki sejumlah objek basis data seperi file atau tabel.Database.

4.3.4 Management System ( DBMS )


Pengolahan basis data secara fisik tidak dilakukan oleh pemakai secara langsung,
tetapi ditangani oleh sebuah perangkat lunak yang disebut DBMS yang menentukan
bagaimana data disimpan, diubah dan diambil kembali.

4.3.5 Pemakai ( User )


Bagi pemakai dapat berinteraksi dengan basis data dan memanipulasi data dalam
program yang ditulis dalam bahasa pemograman.
4.4 Tujuan dan Manfaat Basis Data
Tujuan utama dalam pengolahan data dalam sebuah basis data adalah agar kita dapat
memperoleh data yang kita cari dengan mudah dan cepat (Fathansyah,1999).

Pemanfaatan basis data dilakukan dengan tujuan yaitu:

1. Kecepatan dan kemudahan ( Speed )


Pemanfaatan Database memungkinkan kita untuk dapat menyimpan data atau
melakukan perubahan ( manipulasi ) dan menampilkan kembali data tersebut dengan
cepat dan mudah, dari pada kita menyimpan data secara manual.

2. Efisien ruang penyimpanan (Space)


Dengan Database penggunaan ruang penyimpanan data dapat dilakukan karena kita
dapat melakukan penekanan jumlah pengulangan data dengan menerapkan sejumlah
pengkodean.
3. Keakuratan (Acuracy)
Pemanfatan pengkodean atau pembentukan relasi antar data dengan penerapan aturan
atau batasan tipe data dapat diterapkan dalam Database yang berguna untuk
menentukan ketidakakuratan pemasukan atau penyimpanan.

4. Keamanan (Security)
Dalam sejumlah sistem ( apilkasi ) pengelolah database tidak menerapkan aspek
keamanan dalam penggunaan database. Tetapi untuk sistem yang besar dan serius,
aspek keamanan juga dapat diterapkan. Dengan begitu kita dapat menentukan siapa
yang boleh menggunakan database dan menentukan jenis operasi-operasi apa saja
yang boleh dilakukan.

5. Terpeliharanya keselarasan data (Consitant)


Apabila ada perubahan data pada aplikasi yang berbeda maka secara otomatis
perubahan itu berlaku untuk keseluruhan.

6. Data dapat dipakai secara bersama (shared)


Data dapat dipakai secara bersama-sama oleh beberapa program aplikasi
(secara batch maupun on-line) pada saat bersamaan.

7. Dapat diterapkan standarisasi (standardization)


Dengan adanya pengontrolan yang terpusat maka DBA dapat menerapkan standarisasi
data yang disimpan sehingga memudahkan pemakaian, pengiriman maupun
pertukaran data.
4.5 Kelemahan Sistem Basis Data
1. Memerlukan tenaga spesialis
2. Kompleks
3. Memerlukan tempat yang besar
4. Mahal

4.6 mysql sebagai RDBMS

MySQL adalah salah satu aplikasi RDBMS (Relational Database Management System).
Pengertian sederhana RDBMS adalah: aplikasi database yang menggunakan
prinsip relasional. MySQL juga bukan satu-satunya RDBMS. MySQL
bersifat gratis dan open source. Artinya setiap orang boleh menggunakan dan
mengembangkan aplikasi ini. Namun walaupun gratis, MySQL di support oleh ribuan
programmer dari seluruh dunia, dan merupakan sebuah aplikasi RDBMS yang lengkap,
cepat, dan reliabel.
Berikut beberapa keunggulan MySQL dibandingkan dengan RDBMS lainnya:

 Speed

Sebuah studi dari eWeek di February 2002 yang membandingkan performa kecepatan
MySQL dengan RDBMS lainnya, seperti Microsoft SQL Server 2000, IBM DB2, Oracle 9i
dan Sybase :

“MySQL has the best overall performance and that MySQL scalability matches Oracle …
MySQL had the highest throughput, even exceeding the numbers generated by Oracle.”
Yang terjemahan bebasnya, MySQL memiliki kecepatan yang lebih dibandingkan pesaing
yang berbayar. Bagi anda ingin membaca paper tersebut, tersedia di situs MySQL

 Reliability

Biasanya sesuatu yang gratis susah diandalkan, bahkan banyak bug dan sering hang. Tidak
demikian dengan MySQL, karena sifatnya yang open source, setiap orang dapat berkontribusi
memeriksa bug dan melakukan test case untuk berbagai skenario yang memerlukan sistem 24
jam online, multi-user dan data ratusan GB. Hasilnya, MySQL merupakan RDBMS yang
reliabel namun memiliki performa diatas rata-rata.

 Skalability

MySQL dapat memproses data yang sangat besar dan kompleks, tanpa ada penurunan
performa yang berarti, juga mendukung sistem multi-prosesor. MySQL juga dipakai oleh
perusahaan-perusahaan besar di dunia, seperti Epson, New York Times, Wikipedia, Google,
Facebook, bahkan NASA.

 User Friendly

Instalasi dan mempelajari MySQL cukup mudah dan tidak dipusingkan dengan banyak
settingan. Cukup download aplikasi MySQL dan install, kita dapat menggunakan MySQL
dalam waktu kurang dari 5 menit (dengan asumsi tidak mati lampu).

 Portability and Standard Compliance

Database MySQL dapat dengan mudah berpindah dari satu sistem ke sistem lainnya.
Misalkan dari sistem Windows ke Linux. Aplikasi MySQL juga dapat berjalan di sistem
Linux (RedHat, SuSE, Mandrake, Debian), Embedded Linux (MontaVista, LynuxWorks
BlueCat),Unix (Solaris, HP-UX, AIX), BSD (Mac OS X, FreeBSD), Windows (Windows
2000, Windows NT) dan RTOS (QNX).

 Multiuser Support

Dengan menerapkan arsitektur client-server. Ribuan pengguna dapat mengakses database


MySQL dalam waktu yang bersamaan.

 Internationalization

Atau dalam bahasa sederhananya, mendukung beragam bahasa. Dengan dukungan penuh
terhadap unicode, maka aksara non-latin seperti jepang, cina, dan korea bisa digunakan di
dalam MySQL.

 Wide Application Support

Biasanya database RDBMS tidak digunakan sendirian, namun ditemani dengan aplikasi atau
bahasa pemograman lainnya untuk menyediakan interface, seperti C, C++, C#, Java, Delphi,
Visual Basic, Perl Python dan PHP. Kesemua itu di dukung oleh API (Application
Programming Interface) oleh MySQL.

 Open Source Code

Kitapun bisa (jika mampu dan mengerti), mengembangkan MySQL dengan mempelajari
kode programmnya. MySQL di kembangkan dengan bahasa C and C++. Bahkan sudah
terdapat berbagai variasi rasa RDBMS baru yang dikembangkan dari code MySQL,
diantaranya: Drizzle, MariaDB, Percona Server dan OurDelta.

4.6 Database dalam Relational Databasess


Dalam relational database model, sebuah database adalah kumpulan relasi yang saling
terhubung satu sama lainnya. Relasi adalah istilah dalam relational database, tapi kita lebih
familiar jika menyebutnya sebagai tabel. Selayaknya tabel yang memiliki kolom dan baris,
dalam relational database, kolom (column) disebut attribute, sedangkan baris (row)
disebut tuple. Hal ini hanya sekedar penamaan, dan agar lebih gampang, kita hanya akan
menggunakan istilah tabel, kolom dan baris dalam tutorial ini, namun jika anda menemui
istilah relation, attribut dan tuple, itu hanya penamaan lain dari tabel, kolom, dan baris.
Candidate Key (Kunci Kandidat)
Database dalam relational database dapat diserhanakan sebagai sekumpulan tabel yang saling
terhubung. Setiap baris dari dalam tabel setidaknya harus memiliki sebuah kolom yang unik.
Unik disini maksudnya tidak boleh sama. Contohnya, dalam tabel 4.1 : tabel data_mahasiswa,
kolom NIM (Nomor Induk Mahasiswa) akan menjadi kandidat yang bagus, karena tidak
mungkin ada 2 mahasiswa yang memiliki NIM yang sama. NIM disini disebut juga
dengan Candidate Key (Kunci Kandidat). Candidate Key adalah satu atau beberapa kolom
dalam tabel yang bisa mengidentifikasi tiap baris dari tabel tersebut.
NIM Nama Tanggal Lahir No KTP Tempat LahirKode Jurusan

101401030 Alex 29 Juni 1992 1373022906870002 Padang Ilmu Komputer


Ferdinand

120502045 Joko 4 Maret 1994 3173020403940004 Jakarta Manajemen


Suprianto

110901033 Susi Sulastri 17 September 1273024709930001 Medan Kedokteran


1993

100301021 Suparman 23 Februari 3173022302920006 Jakarta Teknik


1992 Elektro

121401074 Tania Mutia 5 Oktober 1373024510930006 Padang Ilmu


1993 Komputer

110501023 Aprilia 7 Oktober 1693024710930002 Pekanbaru Manajemen


Susanti 1993

Tabel 4.1 : Tabel data_mahasiswa

Nomor KTP juga merupakan candidate key yang bagus, setidaknya setiap orang akan
memiliki Nomor KTP yang berbeda-beda. Namun dalam beberapa kasus, nomor KTP tidak
selalu ada, karena bisa saja seseorang belum memiliki KTP karena sesuatu dan lain hal.
Beberapa karakteristik Candidate key : unik (tidak boleh berulang), tidak boleh memiliki nilai
null (kosong), nilai dari candidate key akan sangat jarang berubah.

Primary Key (Kunci Utama)


Dalam sebuah tabel, akan terdapat beberapa candidate key, namun hanya ada 1 Primary key
(kunci utama). Primary key adalah salah satu candidate key yang kita nobatkan sebagai
kolom unik untuk identifikasi baris dalam tabel. Kolom ini tidak boleh berulang, dan tidak
boleh kosong (null). Dari tabel data_mahasiswa, NIM dapat kita tetapkan sebagai primary
key.
Foreign Key (Kunci Tamu)
Dalam sebuah database, biasanya akan terdapat beberapa tabel. Tabel-tabel ini dapat
dihubungkan satu dengan yang lainnya dengan kolom yang merupakan bagian dari tabel
lain. Foreign Key (Kunci Tamu) adalah Primary key dari tabel lainnya yang terdapat di
tabel saat ini. Di dalam contoh tabel 4.2 : Tabel data_mahasiswa dapat terlihat bahwa NIM
adalah primary key dari tabel data_mahasiswa, dan kode_jurusan adalah primary key pada
tabel_jurusan. Kedua tabel tersebut dihubungkan oleh kolom kode jurusan.
Kode
NIM Nama Tanggal Lahir No KTP Tempat Lahir
Jurusan

101401030 Alex 29 Juni 1992 1373022906870002 Padang 14


Ferdinand

120502045 Joko Suprianto 4 Maret 1994 3173020403940004 Jakarta 05

110901033 Susi Sulastri 17 September 1273024709930001 Medan 09


1993

100301021 Suparman 23 Februari 1992 3173022302920006 Jakarta 03

121401074 Tania Mutia 5 Oktober 1993 1373024510930006 Padang 14

110501023 Aprilia Susanti 7 Oktober 1993 1693024710930002 Pekanbaru 05

Tabel 4.2 : Tabel data_mahasiswa

Kode Jurusan Jurusan Alamat

01 Teknik Mesin Jl. Teknik No.01

02 Teknik Arsitektur Jl. Teknik No.02

03 Teknik Elektro Jl. Teknik No.03

04 Akuntansi Jl. Ekonomi No. 01

05 Manajemen Jl. Ekonomi No. 02


Kode Jurusan Jurusan Alamat

06 Ekonomi Pembangunan Jl. Ekonomi No. 03

07 Kesehatan Masyarakat Jl. Kesehatan No.01

08 Psikologi Jl. Kesehatan No.02

09 Kedokteran Jl. Kesehatan No.03

10 Matematika Jl. MIPA No. 01

11 Kimia Jl. MIPA No. 02

12 Fisika Jl. MIPA No. 03

13 Farmasi Jl. MIPA No. 04

14 Ilmu Komputer Jl. MIPA No. 05

Tabel 4.3 : Tabel kode_jurusan

Dalam tabel_mahasiswa, kolom NIM adalah primary key, dan kolom kode jurusan
adalah foreign key. Kenapa tabel tersebut harus dipisah? Jawabanya adalah agar tidak ada
data yang redundan (ganda). Redundansi data adalah salah satu kelemahan dari desain
database yang kita buat. Seandainya dari contoh tabel, nama Jurusan Ilmu Komputer berubah
menjadi Teknik Informatika, kita hanya tinggal merubah tabel_jurusan.

Referential Integrity
Referential Integrity berkaitan erat dengan foreign key. Pada dasarnya Referential
Integrity adalah penerapan aturan bahwa untuk setiap foreign key yang terdapat pada suatu
tabel, harus ada nilainya di tabel asal kolom tersebut. Dalam contoh kita, pada tabel 4.2 dan
4.3 setiap kode_jurusan dalam tabel data_mahasiswa harus ada nilainya dalam tabel
kode_jurusan. Di dalam tabel data_mahasiswa kita tidak bisa memasukkan nilai 20, karena di
tabel kode_jurusan, kode jurusan 20 belum diinput. Dan jika kita ingin menghapus suatu
jurusan dari tabel_jurusan, semua mahasiswa harus terlebih dahulu sudah tidak ada yang
memiliki kode jurusan tersebut.
Index
Index dalam database adalah sebuah struktur data yang diimplementasikan oleh RDBMS
untuk mempercepat proses pembacaan data. Index lebih kepada penerapan algoritma dari
masing-masing aplikasi database, dan diterapkan ke dalam kolom dari tabel yang kita
inginkan. Mirip Index yang ada di belakang buku, index seolah-olah daftar cepat untuk
mencari sesuatu oleh RDBMS. Kita dapat mendeklarikan kolom mana saja yang akan
diindex.
Untuk MySQL, kolom yang ditetapkan sebagai primary key akan otomatis di-index. Tetapi
dalam satu tabel, bisa saja terdapat beberapa kolom yang di index. Pertanyaanya, jika index
digunakan untuk mempercepat proses pembacaan, kenapa tidak semua kolom saja kita index?
Jawabannya, karena index sendiri juga memiliki kelemahan.
Ketika data baru ditambahkan atau terdapat data yang akan dirubah, index yang tersimpan
untuk tabel tersebut harus dibuat ulang, sehingga memperlama proses penambahan data.
Namun untuk tabel yang jarang bertambah, index menawarkan perfoma yang cepat untuk
pembacaan data.

Normalisasi Database
Normalisasi database (Database normalization) adalah proses penyusunan kolom dan tabel
untuk meminimalkan redudansi data (data yang berulang). Normalisasi biasanya akan
membagi tabel besar menjadi beberapa tabel kecil yang saling terhubung. Hal ini dilakukan
agar mudah dalam mengatur, dan mengorganisasi data yang ada.
Contohnya, untuk tabel data_mahasiswa, jika terjadi perubahan nama jurusan, misalnya dari
Ilmu Komputer menjadi Teknik Informatika, maka kita harus merubah satu-satu tiap
mahasiswa. Namun jika di bagi menjadi 2 tabel, kita hanya tinggal merubah baris no urut 14
dari tabel kode_jurusan menjadi Teknik Informatika. Dan otomatis setiap mahasiswa yang
memiliki kode_jurusan 14, adalah mahasiswa Teknik Informatika.

Normalisasi database memiliki beberapa tahapan. Dari wikipedia, normalisasi database


setidaknya memiliki 9 tahapan. Pada setiap tahapan, ada syarat yang harus dipenuhi, sampai
sebuah tabel tidak lagi memiliki kolom yang redundant. Kita tidak harus mengikuti semua
tahap, biasanya hanya dibutuhkan 3 tahapan normalisasi untuk membuat sebuah desain
database sederhana. Proses normalisasi database tidak akan kita bahas disini, namun
setidaknya kita mengetahui bahwa normalisasi database adalah proses untuk mendesain
database agar terorganisir.

Entity Relationship Diagram (ERD)


Entity Relationship Diagram adalah diagram untuk menggambarkan desain database yang
akan dibuat. Didalam ERD akan terlihat semua tabel yang akan dirancang, primary key
masing-masing tabel, serta foreign key, dan kolom-kolom apa saja yang nantinya tersedia.
ERD memiliki berbagai versi, baik yang berbentuk balon, maupun tabel. ERD inilah sebagai
blueprint dari database yang akan dirancang.
Itulah beberapa istilah yang sering di temui untuk pembahasan mengenai relational database,
yang dapat digunakan sebagai dasar untuk mempelajari MySQL dan memaksimalkan
penggunaanya. Selanjutnya kita akan membahas tentang SQL (Structured Query Language),
bahasa wajib yang diketahui untuk mempelajari MySQL.
DAFTAR PUSTAKA

Sumber materi:

Materi yang telah di berikan oleh guru

https://hidupsimpel.com/contoh-kata-pengantar/

http://www.contohsurat.co.id/2017/01/sistem-basis-data.html

https://baguszanuar.wordpress.com/apa-itu-rpl/

http://www.pengertianku.net/2015/02/pengertian-web-dinamis-dilengkapi-contohnya.html

http://www.duniailkom.com/pengertian-dan-fungsi-php-dalam-pemograman-web/

http://wwwhttp://adakodokhijau.blogspot.co.id/2017/08/pengertian-mysql-sebagai-
rdbms.html.programming.smktarunabhakti.net/blog/2016/06/23/pemodelan-perangkat-lunak/

sumber gambar:

http://rpl.st3telkom.ac.id/apa-itu-rekayasa-perangkat-lunak/

https://rplhlw117a02.files.wordpress.com/2015/09/rpl.jpg

https://cdnwp.crypteron.com/wp-content/uploads/21364831.png

Anda mungkin juga menyukai