BAB 2 LANDASAN TEORI
2.1 Pendekatan Basis Data 2.1.1 Pengertian Basis Data Basis data atau database adalah sekumpulan relasi data logika, dan deskripsi dari data yang dirancang untuk memenuhi kebutuhan informasi organisasi. Database memungkinkan tempat penyimpanan data yang besar dan dapat digunakan secara bersamaan oleh banyak departemen dan pengguna. Database mewakili entitas, atribut, dan hubungan logis antara entitas. (Connolly dan Begg, 2005, p15). Menurut Fathansyah (2004, p7), basis data terdiri dari kumpulan data yang terorganisir, relasi antar data, dan objektifnya. Objektif utama adalah kecepatan dan kemudahan berinteraksi dengan data yang dikelola atau diolah. Selain itu terdapat pengertian bahwa basis data adalah sekumpulan data persisten yang digunakan oleh aplikasi sistem dari perusahaan (Date, 2000, p5). Jadi, dapat disimpulkan bahwa basis data adalah kumpulan data yang mewakili berbagai macam entitas dan hubungannya yang dapat digunakan secara bersamaan oleh banyak pengguna dan dirancang untuk memenuhi kebutuhan informasi organisasi.
9
10 2.1.2 Sistem Manajemen Basis Data Database Management System (DBMS) adalah suatu sistem perangkat lunak yang memungkinkan pengguna untuk mendefinisikan, membuat, memelihara, dan menyediakan akses kontrol terhadap basis data (Connolly dan Begg, 2005, p16). Menurut Atzeni (2003, p3) DBMS sebagai sistem perangkat lunak yang mampu mengelola kumpulan data yang besar, untuk menjamin kehandalan dan data yang bersifat pribadi. Seperti produk perangkat lunak, DBMS harus efisien dan efektif. DBMS adalah perangkat lunak yang menangani semua akses ke basis data. (Date, 2000, p43). Selain itu menurut Ramakrishnan (2003, p3) DBMS adalah perangkat lunak yang dirancang untuk membantu pemeliharaan dan penggunaan sekumpulan besar dari data yang diperlukan oleh sistem yang seiring dengan penggunaannya berkembang dengan pesat. DBMS menyediakan beberapa fasilitas, yaitu : 1. Data Definition Language (DDL) memungkinkan pengguna untuk menspesifikasikan tipe data dan struktur, dan pembatas antara data yang disimpan di dalam basis data. 2. Data Manipulation Language (DML) memungkinkan pengguna untuk menambahkan, memperbaharui, menghapus, dan memperoleh kembali data. 3. Query Language, memberikan fasilitas kepada pengguna untuk mengakses data. Structured Query Language (SQL) adalah bahasa yang paling diakui dan merupakan standar bagi DBMS.
11 4. Menyediakan fasilitas untuk mengontrol akses ke basis data, seperti : a. Sistem keamanan, mencegah pengguna yang tidak memiliki hak akses untuk memasuki basis data. b. Integritas basis data, yang menjaga konsistensi data yang tersimpan. c. Sistem kontrol
konkurensi,
yang
memungkinkan
akses
secara
bersamaan dari basis data. d. Sistem kontrol pemulihan, yang mengembalikan database ke keadaan yang konsisten sebelum kegagalan perangkat keras atau perangkat lunak. e. Katalog yang dapat diakses pengguna, yang berisi deskripsi dari data dalam database.
2.1.2.1 Komponen DBMS Menurut
Connolly
dan
Begg
(2005,
p18-21),
DBMS
mempunyai lima komponen penting yaitu : a. Perangkat Keras Dalam menjalankan aplikasi dan DBMS diperlukan perangkat keras. Perangkat keras dapat berupa sebuah komputer pribadi, sebuah mainframe, dan jaringan komputer. Perangkat keras merupakan suatu unsur fisik dari komputer yang dapat di lihat dan di sentuh oleh manusia secara langsung untuk mendukung proses komputerisasi. Untuk menjalankan DBMS memerlukan kecepatan memory dan kapasitas hard disk tertentu.
12 b. Perangkat lunak Komponen perangkat lunak meliputi perangkat lunak DBMS dan program aplikasi beserta sistem operasi, termasuk perangkat lunak tentang jaringan apabila DBMS digunakan dalam jaringan. Menurut Fathansyah (2004, p4) ada tiga jenis perangkat lunak yang terlibat dalam pengelolaan dan pengolahan basis data, yaitu: a) Sistem Operasi Merupakan pengendali semua operasi di dalam sebuah komputer atau jaringan, Sistem Operasi juga menyediakan layanan low level (berbahasa mesin) bagi perangkat lunak. Contoh- contoh Sistem Operasi yang biasa digunakan saat ini seperti MSWindows, Unix, Linux, dan sebagainya. b) Sistem Pengelola Basis Data (DBMS) DBMS juga merupakan perangkat lunak yang menentukan bagaimana basis data dikelola dan diorganisasi secara fisik dalam media penyimpan perangkat komputer. c) Aplikasi Pengguna Basis Data Merupakan kelompok perangkat lunak yang bersentuhan langsung dengan pemakai basis data (end-user). c. Data Data merupakan komponen terpenting dari DBMS, khususnya dari sudut pandang end user sebagai jembatan penghubung komponen mesin dengan komponen manusia. Struktur dari basis data disebut dengan skema. Menurut Potter (2003, p352), data adalah fakta
13 fakta mentah, yang tidak terorganisir untuk menyampaikan arti yang spesifik. Sedangan menurut Hoffer (2002, p4), data adalah kumpulan fakta, hasil-hasil pengujian, grafik, gambar, dan video yang mempunyai arti dalam lingkungan pengguna. d. Prosedur Instruksi dan aturan yang mengatur desain dan pengguna dari basis data. Pengguna dari sistem dan staff yang mengatur basis data memerlukan prosedur dokumen tentang bagaimana menggunakan atau menjalankan sistem. Prosedur ini terdiri dari beberapa instruksi tentang bagaimana untuk : a) Masuk ke dalam DBMS b) Menggunakan fasilitas DBMS tertentu atau program aplikasi c) Memulai dan mengakhiri DBMS d) Membuat backup database e) Menangani kerusakan perangkat lunak atau perangkat keras f) Mengubah struktur dari table, mengatur basis data di beberapa tempat penyimpanan, meningkatkan performa, atau menyimpan data di secondary storage seperti hard disk drive.
e. Manusia (Pengguna) Komponen terakhir yaitu manusia yang terlibat dalam sistem tersebut. Komponen pengguna (Connolly dan Begg, 2005, p22-24) terdiri dari : a) Data Administrator (DA)
14 Data Administrator bertanggung jawab atas manajemen sumber daya data termasuk perencanaan basis data, pengembangan dan standar
pemeliharaannya,
peraturan
dan
prosedur,
dan
perancangan basis data secara konseptual/logis. b) Database Administrator (DBA) DBA bertanggung jawab atas realisasi fisik dari basis data termasuk perancangan basis data fisik dan implementasi, keamanan dan kontrol yang terintegrasi, perawatan sistem operasional, dan meyakinkan kinerja aplikasi yang memuaskan pengguna. c) Application Developer Application Developer bertanggung jawab atas basis data setelah diimplementasikan, fungsionalitas
program
yang
aplikasi
diperlukan
untuk
yang
menyediakan
end-users
harus
diimplementasikan. d) End-Users End-Users adalah client basis data yang telah dirancang dan diimplementasikan, serta dipelihara agar dapat menyediakan kebutuhan-kebutuhan informasi mereka. End–Users dapat diklasifikasikan berdasarkan cara mereka menggunakan sistem, yaitu : 1. Naïve Users Merupakan pengguna yang tidak mengetahui sama sekali mengenai DBMS.
15 2. Sophisticated Users Merupakan pengguna yang sudah mengenal struktur DBMS dengan
baik
dan
mengetahui
fasilitas-fasilitas
yang
ditawarkan oleh DBMS.
2.1.2.2 Keuntungan dan Kerugian DBMS Menurut Connolly dan Begg (2005, p26-30), keuntungan DBMS adalah sebagai berikut : a. Adanya kontrol terhadap redundansi data b. Mendapatkan konsistensi data c. Mendapatkan informasi lebih banyak dari sejumlah data yang sama d. Dapat berbagi data (sharing of data) e. Meningkatkan integritas data f. Meningkatkan keamanan g. Meningkatkan standar h. Skala ekonomi i. Menyeimbangkan kebutuhan-kebutuhan yang saling bertabrakan j. Meningkatkan pengaksesan dan respon data k. Meningkatkan produktivitas l. Meningkatkan pemeliharaan melalui data yang berdiri sendiri m. Meningkatkan ketepatan n. Meningkatkan layanan backup dan recovery Sedangkan, kerugian dari DBMS adalah sebagai berikut: a. Kompleksitas
16 b. Membutuhkan memori yang lebih besar untuk menjalankan DBMS. c. Memerlukan biaya untuk perangkat keras tambahan d. Biaya dari penggunaan DBMS yang tinggi e. Kinerja beberapa aplikasi menurun f. Dampak yang tinggi dari kegagalan
2.1.3 Structure Query Language SQL bukan hanya bahasa query, SQL berisi fitur dari Data Definition Language dan Data Manipulation Language (Atzeni, 2003, p85). Bahasa yang digunakan dalam basis data sebaiknya harus mengijinkan pengguna untuk membuat basis data dan struktur relasi. Serta dapat menampilkan tugas manajemen basis data (memasukan, memperbaharui, penghapusan data), menyediakan pengubahan data, penghapusan data dan menyediakan query yang sederhana maupun kompleks. SQL adalah salah satu contoh dari bahasa yang dirancang untuk menggunakan relasi dalam mengubah input menjadi output yang diinginkan. 2.1.3.1 Data Definition Language Menurut Connolly dan Begg (2005, p40), data definition language (DDL) adalah sebuah bahasa yang mengijinkan DBA atau user untuk mendeskripsikan dan memberi nama entitas, atribut, dan hubungan yang diperlukan aplikasi beserta integrity yang berhubungan dan batasan keamanan.
17 Perintah-perintah data definition language (DDL) yang digunakan diantaranya : a. .................................................................................................... C reate
Table,
digunakan
untuk
membuat
tabel
dengan
mengidentifikasikan tipe data untuk setiap kolom. b. .................................................................................................... A lter Table, digunakan untuk menambah atau membuang kolom dari konstrain. c. .................................................................................................... D rop Table, digunakan untuk membuang atau menghapus table berserta semua data yang terkait didalamnya. d. .................................................................................................... C reate Index, digunakan untuk membuat indeks pada suatu tabel. e. .................................................................................................... D rop Index, digunakan untuk membuang atau menghapus indeks yang telah dibuat sebelumnya 2.1.3.2 Data Manipulation Language Menurut Connolly dan Begg (2005, p40), data manipulation language (DML) adalah sebuah bahasa
yang menyediakan
sekumpulan operasi yang mendukung suatu operasi manipulasi data yang berada dalam basis data. Pengoperasian data yang akan dimanipulasi pada umumnya meliputi :
18 a. Penambahan data baru ke dalam basis data. b. Modifikasi data yang disimpan dalam basis data. c. Pengembalian data yang terdapat dalam basis data. d. Penghapusan data dari basis data. Perintah-perintah yang ada pada data manipulation language (DML) diantaranya : a. .................................................................................................... S elect, digunakan untuk menampilkan sebagian atau seluruh isi dari suatu tabel dan menampilkan kombinasi isi dari beberapa tabel. b. .................................................................................................... U pdate, digunakan untuk mengubah isi satu atau beberapa atribut dari suatu tabel. c. .................................................................................................... I nsert, digunakan untuk menambah satu atau beberapa baris nilai baru ke dalam suatu tabel. d. .................................................................................................... D elete, digunakan untuk menghapus sebagian atau seluruh isi dari suatu tabel. DML dikategorikan menjadi dua , yaitu : 1. .................................................................................................... P rocedural DML
19 Sebuah
bahasa
yang
memungkinkan
pengguna
untuk
memberitahukan sistem data apa yang dibutuhkan dan bagaimana untuk mengambil data. 2. ..................................................................................................... N on-Procedural DML Sebuah bahasa yang memungkinkan pengguna untuk menyatakan data apa yang diperlukan daripada bagaimana harus diambil.
2.1.4 Siklus Hidup Aplikasi Basis Data Menurut Connolly dan Begg (2005, p284), siklus hidup aplikasi basis data adalah sebagai berikut: 1. Perencanaan Basis Data (Database Planning) 2. Definisi Sistem (System Definition) 3. Pengumpulan dan Analisis Kebutuhan (Requirement Collection and Analysis) 4. Perancangan Basis Data (Database Design) 5. Pemilihan DBMS (DBMS Selection) 6. Perancangan Aplikasi (Application Design) 7. Prototyping
20 8. Implementasi (Implementation) 9. Data Conversion and Loading 10. Pengujian (Testing) 11. Operational Maintenance
Gambar 2.1 Tahapan Siklus Hidup Aplikasi Basis Data
21
2.1.4.1 Perencanaan Basis Data (Database Planning) Menurut Connolly dan Begg (2005, p286), database planning merupakan tahapan untuk merencanakan bagaimana langkah-langkah dalam siklus hidup basis data agar dapat direalisasikan seefisien dan seefektif mungkin. Perencanaan basis data harus dapat diintegrasikan dengan keseluruhan strategi sistem informasi suatu organisasi. Terdapat tiga isu utama dalam merumuskan strategi sistem informasi, diantaranya: 1. Identifikasi
dari
rencana
dan
tujuan
perusahaan
dengan
menentukan kebutuhan sistem informasi yang diperlukan. 2. Mengevaluasi sistem informasi yang ada sekarang ini untuk menentukan kekuatan-kekuatan dan kelemahan-kelemahan yang ada. 3. Penilaian terhadap peluang teknologi informasi yang dapat menghasilkan keuntungan yang kompetitif. Langkah pertama yang paling penting dalam perencanaan basis data adalah menggambarkan dengan jelas mission statement dari proyek basis data, kemudian menentukan mission objectives di mana tiap-tiap mission objectives dapat mengidentifikasi tugas-tugas tertentu yang didukung oleh basis data.
2.1.4.2 Definisi Sistem (System Definition)
22 Menurut Connolly dan Begg (2005, p286), definisi sistem (system definition) adalah mendeskripsikan jangkauan dan batasan dari aplikasi basis data dan pandangan-pandangan utama para pengguna. Sebelum mendesain suatu aplikasi basis data, terlebih dahulu mengindentifikasikan batasan-batasan dari sistem yang sedang diteliti dan bagaimana kaitannya dengan bagian lain dari sistem informasi
perusahaan. Hal tersebut dilakukan untuk
memastikan bahwa tidak ada pengguna utama basis data yang terlupakan ketika dilakukan pengembangan aplikasi.
2.1.4.3 Pengumpulan dan Analisis Kebutuhan (Requirement Collection and Analysis) Menurut Connolly dan Begg (2005, p288), Analisis dan pengumpulan kebutuhan (requirement collection and analysis) merupakan proses pengumpulan dan analisis informasi tentang bagian perusahaan yang akan didukung oleh aplikasi basis data, dan menggunakan informasi ini untuk mengindentifikasikan kebutuhan pengguna aplikasi terhadap sistem baru. Informasi yang dikumpulkan diantaranya : 1. Penjabaran dari data yang digunakan. 2. Detail mengenai bagaimana data digunakan. 3. Kebutuhan tambahan apapun untuk aplikasi basis data yang baru. Informasi ini kemudian dianalisis untuk mengindentifikasikan kebutuhan yang dimasukkan untuk aplikasi basis data yang baru. Ada
23 tiga macam pendekatan untuk mengatur kebutuhan dari sebuah aplikasi basis data dengan berbagai pandangan pengguna, yaitu : 1. Pendekatan Centralized Kebutuhan untuk tiap pandangan pengguna disatukan menjadi satu set kebutuhan untuk aplikasi basis data. Umumnya pendekatan ini dipakai jika basis datanya tidak terlalu kompleks. 2. Pendekatan View Integration Kebutuhan untuk tiap pandangan pengguna digunakan untuk membangun sebuah model data terpisah yang merepresentasikan tiap pandangan. Hasil dari data-data model tersebut kemudian disatukan di bagian desain basis data. 3. Kombinasi keduanya.
2.1.4.4 Perancangan Basis Data (Database Design) Menurut Connolly dan Begg (2005, p291), perancangan basis data (database design) merupakan proses pembuatan suatu desain untuk sebuah basis data yang akan mendukung operasional dan tujuan suatu perusahaan. Ada dua pendekatan untuk mendesain sebuah basis data, yaitu : 1. Pendekatan bottom-up, dimulai pada tingkat awal dari atribut (properti dari entitas dan relationship), melalui analisis dari asosiasi antar atribut, dikelompokkan menjadi hubungan yang merepresentasikan jenis-jenis entitas dan hubungan antar entitas.
24 Pendekatan ini cocok untuk mendesain basis data yang sederhana dengan jumlah atribut yang tidak banyak. 2. Pendekatan top-down, digunakan pada basis data yang lebih kompleks. Dimulai dengan pengembangan dari model data yang mengandung beberapa entitas dan hubungan tingkat tinggi, kemudian menggunakan perbaikan top-down berturut-turut untuk mengindentifikasikan entitas, hubungan dan atribut berkaitan tingkat rendah. Pendekatan ini biasanya digambarkan melalui ER (Entity Relationship).
Menurut Connolly dan Begg (2005, p293), perancangan basis data (database design) dibagi dalam tiga tahapan, yaitu : 1. Perancangan Konseptual (Conceptual Database Design) Proses membangun suatu model berdasarkan informasi yang digunakan oleh perusahaan, tanpa pertimbangan perencanaan fisik. Model data dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan pengguna. Model data konseptual merupakan sumber informasi untuk tahap desain logikal. 2. Perancangan Logikal (Logical Database Design) Proses pembuatan suatu model informasi yang digunakan perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan pertimbangan fisik yang lain. Model data
25 konseptual yang telah dibuat sebelumnya, diperbaiki dan dipetakan ke dalam model data logikal. 3. Perancangan Fisikal (Physical database design) Proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file, dan indeks yang digunakan untuk efisiensi data dan
menghubungkan
beberapa
integrity
constraints
dan
pengukuran keamanan.
2.1.4.5 Pemilihan DBMS (DBMS Selection) Menurut Connolly dan Begg (2005, p295), pemilihan DBMS yang sesuai untuk mendukung aplikasi basis data mencakup : 1. Mendefinisikan syarat-syarat referensi studi. Menentukan tujuan, batasan masalah dan tugas yang harus dilakukan. 2. Mendaftar dua atau tiga jenis produk. Membuat daftar barang-barang, misalnya darimana barang didapat,
berapa
biayanya,
serta
bagaimana
bila
ingin
mendapatkannya. 3.
Mengevaluasikan produk. Barang-barang yang ada dalam barang diteliti lebih lanjut untuk mengetahui kelebihan dan kekurangan barang tersebut.
4.
Merekomendasikan pilihan dan membuat laporan.
26 Langkah terakhir dari DBMS, yaitu mendokumentasikan proses dan untuk menyediakan pernyataan mengenai kesimpulan dan rekomendasi terhadap salah satu produk DBMS.
2.1.4.6 Perancangan Aplikasi (Application Design) Menurut Connolly dan Begg (2005, p298-300), perancangan aplikasi (application design) adalah merancang antarmuka pengguna (user interface) dan program aplikasi, yang akan menggunakan dan memproses
basis
data.
Dalam
perancangan
aplikasi
harus
memastikan semua kebutuhan-kebutuhan dari spesifikasi kebutuhan pengguna (user requirement specification) yang menyangkut perancangan aplikasi program yang mengakses basis data dan merancang transaksi yaitu cara akses ke basis data dan perubahan terhadap isi basis data (retrieve, update dan kegiatan keduanya). Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan, sehingga pengguna aplikasi mudah mempelajari dan mudah menggunakannya.
2.1.4.7 Prototyping Menurut Connolly dan Begg (2005, p303-304), prototyping merupakan pembuatan model kerja dari aplikasi basis data, yang
27 membolehkan perancang atau user untuk mengevaluasi hasil akhir sistem, baik dari segi tampilan maupun fungsi yang dimiliki sistem (Connolly dan Begg, 2005, p291-292). Tujuan utama dari prototyping yaitu : 1. Menuntun user menggunakan prototype untuk mengidentifikasikan fitur-fitur agar sistem berjalan dengan baik. 2. Sebagai saran pengembangan atau mungkin menambah fitur baru pada aplikasi basis data. Ada 2 strategi prototyping yang umum digunakan sekarang yaitu : 1. Requirement prototyping, menggunakan prototype untuk menetapkan kebutuhan dari tujuan aplikasi basis data. Ketika kebutuhan sudah terpenuhi, prototype tidak digunakan lagi atau dibuang (discard). 2. Evolutionary prototype, menggunakan prototype untuk menetapkan kebutuhan yang selanjutnya dikembangkan menjadi aplikasi basis data yang bekerja.
2.1.4.8 Implementasi (Implementation) Menurut Connolly dan Begg (2005, p304), implementasi merupakan realisasi fisik dari basis data dan desain aplikasi. Dalam tahap penyelesaian desain, kita dapat menerapkan basis data dan program aplikasi yang telah kita buat. Implementasi basis data menggunakan DDL yang kita pilih dalam melakukan pemilihan DBMS atau dengan menggunakan graphical user interface (GUI), yang menyediakan fungsional yang sama dengan pernyataan DDL yang low level. Pandangan
28 pengguna lainnya juga diimplementasikan. Data Manipulation Language (DML) digunakan untuk mengimplementasikan transaksi basis data di dalam bagian aplikasi program dari tujuan DBMS.
2.1.4.9 Data Conversion and Loading Data Conversion and Loading mencakup pengambilan data dari sistem yang lama untuk dipindahkan ke dalam sistem yang baru (Connolly dan Begg, 2005, p305). Langkah ini hanya dibutuhkan ketika suatu sistem basis data baru sedang menggantikan sistem yang lama. Saat ini, hal yang umum untuk DBMS untuk memiliki sebuah kegunaan yang dapat mengisi file yang ada ke dalam basis data yang baru. Tahapan ini memungkinkan pengembang (developer) untuk mengkonversi dan menggunakan program aplikasi dari sistem yang lama untuk digunakan pada sistem baru. Ketika conversion and loading dibutuhkan, prosesnya harus direncanakan untuk memastikan kelancaran transaksi untuk keseluruhan operasi.
2.1.4.10 Pengujian (Testing) Menurut Connolly dan Begg (2005, p305), testing adalah proses menjalankan sistem basis data untuk menemukan kesalahan-kesalahan. Sebelum digunakan, sistem basis data yang baru dikembangkan harus diuji secara menyeluruh. Hal ini dicapai dengan menggunakan strategi uji
29 yang sudah direncanakan dan data yang realistis sehingga keseluruhan proses pengujian sesuai dengan metode dan dilaksanakan dengan aturan yang ada.
2.1.4.11 Operational Maintenance Operational
maintenance
adalah
proses
memantau
dan
memelihara sistem setelah di install (Connolly dan Begg, 2005, p306). Pada tahap ini sistem beralih ke tahapan pemeliharaan. Yang termasuk aktivitas dari tahapan pemeliharaan diantaranya : 1. Memantau kinerja dari sistem. Jika kinerjanya menurun di bawah level yang dapat diterima, mungkin diperlukan untuk mengorganisasi kembali basis data yang ada. 2. Pemeliharaan dan pembaharuan sistem basis datanya (jika diperlukan). Ketika basis data sepenuhnya bekerja, pemantauan harus memastikan kinerjanya dapat berada dalam tingkat yang dapat diterima. Sebuah DBMS biasanya menyediakan berbagai kegunaan (utilities) untuk membantu administrasi basis data termasuk kegunaan (utilities) untuk mengisi data ke dalam basis data dan untuk memantau sistem. Kegunaan ini memperbolehkan sistem pemantauan untuk memberikan informasi seperti tentang penggunaan basis data dan strategi eksekusi query. Database administrator dapat menggunakan informasi ini untuk memperbaiki sistem agar dapat memberikan kinerja yang lebih baik.
30
2.1.5 Entity-Relationship Modeling Menurut Connolly dan Begg (2005, p342), Entity-Relationship Modeling merupakan pendekatan top-down untuk desain basis data yang dimulai dengan mengindentifikasi data penting yang disebut entitas dan relasi antara data yang harus direpresentasikan dalam model. Kemudian menambahkan data yang lebih rinci seperti informasi yang ingin digunakan mengenai entitas, relasi, dan atribut.
31
Gambar 2.2 Simbol-Simbol ER-Modelling 2.1.5.1 Entity types Menurut Connolly dan Begg (2005, p343), entitas adalah sekumpulan objek dengan properti (sifat) yang sama, yang diidentifikasikan
oleh
organisasi
yang
keberadaannya
bebas
(independent existence) dan keberadaannya dapat berupa fisik
32 maupun abstrak. Sedangkan enity occurrence adalah sebuah objek dari satu tipe entitas yang dapat diidentifikasi secara unik (Connolly dan Begg, 2005, p343) Menurut Atzeni (2003, p165), entitas mewakili kelas dari objek seperti fakta, hal, dan orang. Dalam skema, setiap entitas memiliki nama yang unik dan dilambangkan dengan gambar persegi panjang yang berisi nama entitas.
Gambar 2.3 Representasi Diagram dari Tipe Entitas Pegawai dan Cabang Menurut Connolly dan Begg (2005, p354-355), tipe entitas dapat diklasifikasikan menjadi : 1) .................................................................................................. T ipe entitas kuat, yaitu tipe entitas yang keberadaannya tidak bergantung pada tipe entitas lain. 2) .................................................................................................. T ipe entitas lemah, yaitu tipe entitas yang keberadaannya bergantung pada tipe entitas lain.
33
Gambar 2.4 Representasi Diagram dari Tipe Entitas Kuat dan Tipe Entitas Lemah 2.1.5.2 Relationship types Menurut Connolly dan Begg (2005, p346), Relationship Type adalah sekumpulan entitas yang berhubungan dan mempunyai arti (meaningful associations) antara tipe entitas yang ada. Relationship occurrence merupakan sebuah keterhubungan yang diidentifikasikan secara unik yang meliputi suatu kejadian dari setiap tipe entitas yang ada.
Gambar 2.5 Relationship Types
34 Degree of relationship yaitu jumlah tipe entitas yang ada dalam suatu relasi. Degree of relationship terdiri dari : 1. ................................................................................................. B inary Relationship Keterhubungan antara dua entitas.
Gambar 2.6 Binary Relationship 2. ................................................................................................. T ernary Relationship Keterhubungan antara tiga tipe entitas.
Gambar 2.7 Ternary Relationship 3. ................................................................................................. Q uarternary Relationship Keterhubungan antara empat tipe entitas.
35
Gambar 2.8 Quarternary Relationship Recursive Relationship adalah keterhubungan antara satu tipe entitas, dimana tipe entitas yang sama ikut serta lebih dari satu kali dengan peran yang berbeda.
Gambar 2.9 Recursive Relationship 2.1.5.3 Attibutes Menurut Connolly dan Begg (2005, p350), atribut adalah sebuah sifat dari entitas atau relasi.
36
Gambar 2.10 Entitas dengan Atribut Atribut domain adalah himpunan nilai yang diperbolehkan untuk satu atau lebih atribut. Atribut dapat diklasifikasikan menjadi lima jenis, yaitu : 1. .................................................................................................. S imple attributes adalah sebuah atribut yang terdiri dari komponen tunggal yang mempunyai keberadaan bebas dan tidak dapat dibagi menjadi bagian yang lebih kecil lagi. Dikenal juga dengan nama atomic attributes. 2. .................................................................................................. C omposite attributes adalah sebuah atribut yang terdiri dari beberapa
komponen,
dimana
masing-masing
komponen
mempunyai keberadaan yang bebas. 3. .................................................................................................. S ingle-valued attributes adalah atribut yang memiliki nilai tunggal untuk setiap kejadian dari tipe entitas.
37 4. .................................................................................................. M ulti-Valued Attributes adalah atribut yang memiliki beberapa nilai untuk setiap kejadian dari tiap tipe entitas. 5. .................................................................................................. D erived Attributes Atribut yang memiliki nilai yang dihasilkan dari satu atau sekelompok atribut yang berhubungan dan tidak harus berasal dari satu entitas.
Gambar 2.11 Diagram Entitas dengan Atribut serta Primary Key 2.1.5.4 Keys Menurut Connolly dan Begg (2005, p352), key adalah sebuah field yang digunakan untuk mengidentifikasi satu atribut atau lebih yang secara unik mengidentifikasi setiap record. Candidate key adalah kunci yang secara unik mengenali setiap kejadian didalam tipe entitas. Sebuah candidate key tidak
38 boleh null. Sebuah entitas boleh memiliki lebih dari satu candidate key. Composite key adalah sebuah candidate key yang memiliki dua atau lebih atribut. Primary key adalah candidate key yang terpilih untuk mengidentifikasikan secara unik sebuah kejadian dari setiap entitas. Biasanya terdapat lebih dari satu candidate key yang harus dipilih untuk menjadi primary key. Pemilihan primary key didasarkan pada panjang atribut, jumlah minimal atribut yang dibutuhkan, dan memenuhi syarat yang unik. Alternate key adalah candidate key yang tidak dipilih sebagai primary key. Composite key yaitu candidate key yang terdiri dari dua atau lebih atribut. Pada kondisi tertentu, suatu atribut tidak dapat digunakan
untuk
mengidentifikasi
baris
secara
unik
dan
membutuhkan kolom lain untuk digunakan sebagai primary key. Foreign key adalah sebuah primary key pada sebuah entitas yang digunakan pada entitas lain untuk mengidentifikasi sebuah relationship.
2.1.5.5 Structural Constraint
39 Menurut Connolly dan Begg (2005, p356), batasan-batasan yang menggambarkan pembatasan pada relationship seperti yang ada pada dunia nyata harus diterapkan pada tipe entitas yang ikut serta dalam sebuah relationship. Tipe utama dari batasan hubungan didalam suatu relationship disebut multiplicity. Multiplicity adalah jumlah kejadian yang mungkin terjadi pada entitas yang terhubung ke satu kejadian dari entitas lain dari suatu relationship. Derajat yang biasa digunakan dalam suatu relationship adalah binary relationship yang terdiri atas : 1. Hubungan one to one (1 : 1) Setiap relationship menggambarkan hubungan antara sebuah entity occurence pada entitas yang satu dengan entity occurence pada entitas lainnya yang ikut serta dalam relationship tersebut.
Gambar 2.12 One to One Relationship Hubungan one to one (1 : 1) dapat terjadi bila setiap entitas pada himpunan entitas Pegawai berhubungan paling banyak satu entitas
40 dengan satu entitas pada himpunan entitas Barang, dan sebaliknya setiap entitas pada himpunan entitas Barang behubungan paling banyak satu entitas dengan satu entitas pada himpunan entitas Pegawai.
2. Hubungan one to many (1 : *) Setiap relationship menggambarkan hubungan antara sebuah entity occurence pada entitas yang satu dengan satu atau lebih entity occurence pada entitas lainnya yang ikut serta dalam relationship tersebut.
Gambar 2.13 One to Many Relationship Berarti setiap entitas pada himpunan entitas Pegawai dapat behubungan dengan banyak entitas pada himpunan entitas Barang. Namun, setiap entitas pada himpunan entitas Barang hanya dapat berhubungan dengan paling banyak satu entitas pada himpunan entitas Pegawai. 3. Hubungan many to many (* : *)
41 Setiap relationship menggambarkan hubungan antara satu atau lebih entity occurence pada entitas yang satu dengan satu atau lebih entitas lainnya yang ikut serta dalam relationship tersebut.
Gambar 2.14 Many to Many Relationship Berarti setiap entitas pada himpunan entitas Newspaper dapat berhubungan dengan banyak entitas pada himpunan entitas PropertyForRent. Dan sebaliknya, setiap entitas pada himpunan entitas PropertyForRent hanya dapat berhubungan dengan banyak entitas pada himpunan entitas Newspaper.
2.1.6 Metodologi Perancangan Basisdata Metodologi perancangan adalah suatu pendekatan terstruktur yang menggunakan bantuan prosedur-prosedur, teknik-teknik, alat-alat dan dokumentasi untuk mendukung dan memfasilitasi proses perancangan. Metodologi perancangan basis data terdiri dari fase-fase yang masing-masing terdiri dari sejumlah langkah-langkah, yang memandu perancang ke dalam teknik-teknik yang tepat pada setiap tingkatan proyek. Metodologi perancangan juga membantu perancang untuk merencana, mengatur,
42 mengontrol, dan mengevaluasi proyek perkembangan basis data (Connolly dan Begg, 2005, p438).
2.1.6.1 Perancangan Konseptual Menurut Connolly dan Begg (2005, p439), perancangan konseptual basis data (Conceptual Database Design) adalah suatu proses membangun suatu model berdasarkan informasi yang digunakan oleh perusahaan, tanpa pertimbangan perencanaan fisik. Langkah 1 Membangun model data konseptual Tahap ini memiliki langkah-langkah sebagai berikut : 1.1 Identifikasi tipe entitas Mengidentifikasi
entitas
dengan
memeriksa
spesifikasi
dari
kebutuhan-kebutuhan pengguna. 1.2 Identifikasi tipe relasi Mengidentifikasi hubungan-hubungan yang ada antara entitas yang telah diidentifikasikan. Dalam mengidentifikasi tipe relasi yang ada dengan menggunakan Entity Relationship Diagram (ERD), mencari batasan dari tipe relasi, memeriksa fan and chasm traps, dan mendokumentasikan tipe relasi. 1.3 Identifikasi dan hubungkan atribut dengan entitas atau tipe relasi Menghubungkan atribut-atribut yang berkaitan dengan entitas atau tipe relasi yang sesuai. 1.4 Menentukan domain atribut
43 Menentukan domain untuk tiap tiap atribut dalam model data konseptual lokal dan mendokumentasikan setiap detail dari domain. Domain adalah suatu kelompok nilai dimana satu atau lebih atribut mengambil nilainya. 1.5 Menentukan atribut-atribut candidate key, primary key, dan alternate keys. Mengidentifikasi candidate key untuk setiap tipe entitas dan jika ada lebih dari satu candidate key, pilihlah satu untuk dijadikan primary key, dan sisanya menjadi alternate key. 1.6 Mempertimbangan penggunaan konsep Enchanced Modeling (bersifat opsional) Mempertimbangkan penggunaan konsep enchanced modeling seperti spesialisasi, generalisasi, agregasi, dan komposisi. 1.7 Memeriksa redundansi pada model Pada langkah ini dilakukan pemeriksaan model data konseptual lokal dengan sasaran spesifik untuk mengidentifikasi apakah ada terjadi redundansi dan menghapus jika terjadi redudansi. 1.8 Validasikan model data konseptual terhadap transaksi pengguna Langkah ini untuk meyakinkan bahwa model konseptual lokal mendukung transaksi yang dibutuhkan. Ada dua pendekatan untuk memastikan model data konseptual lokal untuk mendukung transaksi yang dibutuhkan : a. Mendeskripsikan transaksi-transaksi
44 Memeriksa seluruh informasi (entitas, relasi, dan atribut) yang dibutuhkan oleh setiap transaksi yang telah disediakan model, dengan mendokumentasikan setiap kebutuhan transaksi. b. Menggunakan jalur transaksi (Transaction Pathway). Untuk validasi model data terhadap transaksi yang dibutuhkan termasuk representasi diagaram jalur yang digunakan oleh setiap transaksi langsung pada ER diagram. 1.9 Melakukan review model data konseptual lokal dengan pengguna. Untuk mengevaluasi model data konseptual lokal dengan pengguna dan memastikan bahwa model data tersebut adalah representasi yang nyata dari data yang dibutuhkan perusahaan. Model data konseptual ini meliputi ER diagram dan dokumentasi pendukung yang menggambarkan model data. Bila ada kejanggalan (anomaly) dalam model data, maka harus dibuat perubahan yang sesuai, yang mungkin membutuhkan pengulangan langkah-langkah sebelumnya.
2.1.6.2 Perancangan Logikal Menurut Connolly dan Begg (2005, p439), perancangan logikal adalah proses pembuatan suatu model informasi yang digunakan perusahaan berdasarkan pada model data yang spesifik, tetapi tidak tergantung dari Database Management System (DBMS) yang khusus dan pertimbangan fisik yang lain. Pada tahap ini, tujuan utamanya adalah menerjemahkan model data konseptual yang telah
45 dibuat sebelumnya menjadi sebuah model data logikal dari kebutuhan data pada perusahaan. Langkah 2 Membangun dan memvalidasi model data logikal Langkah-langkah ini dapat digambarkan sebagai berikut : 2.1 Memperoleh relasi-relasi untuk model data logikal Tujuan dari langkah ini adalah membuat relasi untuk model data logikal untuk menggambarkan entitas, relasi, dan atribut yang telah diidentifikasi. 2.2 Validasi relasi dengan normalisasi Tujuan dari langkah ini adalah untuk memvalidasi relasi-relasi yang ada dalam model data logikal. Jika relasi-relasi yang dihasilkan belum ternormalisasi, maka akan dilakukan normalisasi. Langkahlangkahnya antara lain First Normal Form (1NF), Second Normal Form (2NF), dan Third Normal Form (3NF). 2.3 Validasi relasi terhadap transaksi pengguna Tujuan dalam langkah ini adalah untuk memastikan bahwa model data logikal mendukung transaksi yang dibutuhkan, dengan detail pada spesifikasi kebutuhan pengguna. 2.4 Memeriksa integrity constraints Tujuan dari langkah ini adalah untuk memeriksa integrity constraints (batasan integritas) yang digambarkan model data logikal. Integrity constraints adalah batasan yang ditentukan dengan tujuan untuk melindungi basis data menjadi tidak lengkap, tidak akurat, atau tidak konsisten. Batasan-batasan tersebut meliputi required data, attribute
46 domain constraints, multiplicity, entity integrity, referential integrity, serta general constraints. 2.5 Meninjau kembali model data logikal dengan pengguna Tujuan dari langkah ini adalah untuk meninjau kembali model data logikal dengan pengguna untuk memastikan bahwa model data tersebut adalah representasi yang nyata dari data yang dibutuhkan perusahaan. 2.6 Menggabungkan model data logikal ke dalam model global Tujuan dari langkah ini adalah untuk menggabungkan model data logikal lokal ke dalam sebuah model data logikal global yang mewakili semua pandangan pengguna dari sebuah basis data. 2.7 Memeriksa pertumbuhan masa depan Tujuan dari langkah ini adalah untuk menentukan apakah ada perubahan-perubahan signifikan dalam perkiraan masa depan dan menilai apakah model data logikal dapat mengakomodasi perubahanperubahan ini.
2.1.6.3 Perancangan Fisikal Menurut Connolly dan Begg (2005, p439), perancangan fisikal (Physical database design) adalah proses untuk menghasilkan gambaran dari implementasi basis data pada tempat penyimpanan, menjelaskan dasar dari relasi, organisasi file, dan indeks yang digunakan untuk efisiensi data dan menghubungkan beberapa integrity constraints dan pengukuran keamanan.
47 Metode perancangan fisikal basis data memiliki langkah-langkah sebagai berikut : Langkah 3 Menerjemahkan model data logikal
untuk target
DBMS Secara umum, langkah ini menghasilkan sebuah sistem basis data relational dari model data logikal yang dapat diimplementasikan dalam target DBMS. 3.1 Merancang relasi-relasi dasar Tujuan dari langkah ini adalah untuk menentukan bagaimana menggambarkan relasi dasar yang telah diidentifikasikan pada model data logikal dalam target DBMS. 3.2 Merancang representasi dari derived data Tujuan dari langkah ini adalah untuk menentukan bagaimana menggambarkan derived data yang diperoleh pada model data logikal dalam target DBMS. Derived data adalah data atau atribut yang mempunyai nilai yang dihasilkan dari satu atau beberapa atribut lainnya, dan tidak harus berasal dari satu entitas. 3.3 Merancang batasan-batasan umum Tujuan dari langkah ini adalah untuk merancang batasan-batasan umum untuk target DBMS. Dalam langkah ini, dirancang sejumlah batasan umum seperti data yang dibutuhkan, batasan domain, entitas, dan integritas referensial. Langkah 4 Merancang organisasi file dan indeks
48 Menentukan organisasi file yang optimal untuk menyimpan relasirelasi dasar dan indeks-indeks yang diperlukan untuk mencapai performance yang diinginkan, untuk itu akan ditentukan relasi dan tuple mana yang ada pada secondary storage. 4.1 Menganalisis transaksi Memahami fungsionalitas transaksi yang akan dijalankan pada basis data
dan
menganalisis
transaksi-transaksi
penting.
Untuk
menjalankan perancangan fisikal database dengan efektif, dibutuhkan pengetahuan transaksi yang dijalankan dalam database tersebut, termasuk informasi kualitatif maupun kuantitatif. 4.2 Memilih organisasi file Menentukan pengelompokkan file yang efisien untuk setiap relasi yang terbentuk. Salah satu dari tujuan utama dalam merancang fisikal database adalah untuk menyimpan dan mengakses data dengan cara yang efisien. Dengan kata lain, kita dapat menggunakan struktur penyimpanan yang efisien untuk mendirikan database untuk digunakan secara operasional. 4.3 Memilih indeks-indeks Menentukan
jika
penambahan
indeks
akan
meningkatkan
performance sistem. Membuat pengelompokan keputusan untuk menyempurnakan konsep dan skema untuk memenuhi tujuan kinerja. Hal ini dapat dilakukan dengan menjawab pertanyaan yaitu apa saja relasi yang harus memiliki indeks, perlukah kita membuat beberapa
49 indeks, dan untuk masing-masing indeks, bentuk indeks seperti apa yang diperlukan (kelompok, pohon, statis, dinamis, dsb). 4.4 Memperkirakan kebutuhan disk space Memperkirakan jumlah disk space yang akan dibutuhkan oleh basis data. Secara umum, disk space yang dibutuhkan diperkirakan berdasarkan ukuran dari masing-masing tuple dan banyaknya tuple dalam sebuah relasi. Perkiraan disk space dengan penghitungan yang matang penting dalam perancangan fisikal basis data terlebih apabila harus mengganti perangkat keras yang digunakan. Langkah 5 Merancang user view Merancang
user
view
yang
telah
diidentifikasikan
selama
pengumpulan kebutuhan-kebutuhan dan tahapan analisis dari siklus hidup aplikasi basis data. Fase awal dalam metodologi perancangan basis data melibatkan produksi dari konseptual data model baik untuk satu pengguna maupun beberapa pengguna. Dalam fase berikutnya, konseptual data model dipetakan ke dalam logikal data model berdasarkan model relasi. Langkah 6 Merancang mekanisme keamanan Merancang mekanisme keamanan untuk basis data seperti yang ditentukan
oleh
pengguna
selama
pengumpulan
kebutuhan-
kebutuhan dan tahapan analisis dari siklus hidup aplikasi basis data. Relational DBMS secara umum menyediakan dua tipe keamanan basis data yaitu :
50 a. Keamanan sistem : mencakup akses dan penggunaan basis data pada level sistem, seperti username dan password. b. Keamanan data : mencakup akses dan penggunaan objek basis data (seperti relasi dan view) dan aksi yang dapat dilakukan user terhadap objek. Langkah 7 Mempertimbangkan adanya pengontrolan redundansi Bertujuan untuk menentukan apakah redundansi dalam batasan yang terkendali
dengan
menggunakan
teknik
normalisasi
akan
meningkatkan performance dari sistem. Langkah 8 Memonitor dan menyesuaikan sistem operasi Bertujuan untuk mengawasi sistem operasional dan meningkatkan performance dari sistem untuk memperbaiki kebutuhan perancangan yang
tidak
sesuai
atau
merefleksikan
perubahan-perubahan
kebutuhan.
2.1.7
Normalisasi Menurut Connolly dan Begg (2005, p388), normalisasi adalah suatu teknik untuk menghasilkan satu set relasi dengan properties yang diinginkan dan memberikan kebutuhan data organisasi. Tujuan dilakukan normalisasi adalah sebagai berikut : 1. Membuat seminimal mungkin terjadinya rangkap.
51 2. Menghindarkan adanya data yang tidak konsisten terutama bila terjadi penambahan, penghapusan data sebagai akibat adanya data rangkap. 3. Menjamin bahwa identitas tabel secara tunggal sebagai determinasi semua atribut. Beberapa bentuk proses normalisasi menurut Connolly dan Begg (2005, p401-412) dapat dijelaskan sebagai berikut : 1. Unnormalized Form (UNF) Pada bentuk tidak normal ini, tabel masih mengandung satu atau lebih kelompok pengulangan (repeating group). Tabel UNF ini dibuat dengan mentransformasi data dari sumber informasi ke dalam tabel berbentuk baris dan kolom. 2. First Normal Form (1NF) Pada bentuk normal pertama ini, suatu relasi dimana pada setiap sel (perpotongan baris dan kolom) hanya mengandung satu nilai, setiap sel mengandung nilai atomic (single value) 3. Second Normal Form (2NF) Pada bentuk normal kedua, suatu relasi telah melalui bentuk normal pertama, dan akan dilakukan dekomposisi atau pemisahan sesuai dengan sifat ketergantungan fungsional. Setiap atribut non-primary key secara fungsional bergantung penuh pada primary key nya. 4. Third Normal Form (3NF)
52 Pada bentuk normal ketiga, suatu relasi telah melaluli bentuk normal pertama dan kedua, dan atribut yang bukan non-primary key tergantung secara transitif pada primary key.
2.1.8
Tools yang Digunakan
2.1.8.1 Diagraming Tools 1. DFD (Data Flow Diagram) a. Pengertian DFD Menurut Whitten et all (2004, p344) Data Flow Diagram (DFD) adalah sebuah alat pemodelan yang digunakan untuk menggambarkan aliran data pada suatu sistem dan pekerjaan atau proses yang dilakukan oleh sistem. DFD ini sering disebut juga dengan nama bubble chart, bubble diagram, model proses, diagram alur kerja, atau model fungsi. Sedangkan menurut Marakas (2006, p117) DFD adalah perangkat grafis yang menggambarkan urutan dari proses beserta fungsi-fungsi yang ada di dalamnya ke dalam suatu spesifikasi batasan sistem dan aliran data melalui sistem tersebut. 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
53 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. b. Komponen DFD Menurut Yourdan dan De Marco
Terminator
Proses
Data Store
Alur Data
Menurut Gene dan Serson
Terminator
Proses
Data Store
Alur Data
Gambar 2.15 Komponen Data Flow Diagram
•
Komponen Terminator
54 Terminator mewakili entitas eksternal yang berkomunikasi dengan sistem yang sedang dikembangkan. Terdapat dua jenis terminator : 1. Terminator Sumber (source) : merupakan terminator yang menjadi sumber. 2. Terminator Tujuan (sink) : merupakan terminator yang menjadi tujuan data/informasi sistem. Terminator dapat berupa orang, sekelompok orang, organisasi, departemen di dalam organisasi, atau perusahaan.
•
Komponen Proses Komponen proses menggambarkan bagian dari sistem yang mentransformasikan input menjadi output. Proses diberi nama untuk menjelaskan proses/kegiatan apa yang sedang/akan dilaksanakan. Pemberian nama proses dilakukan dengan menggunakan
kata
kerja
transitif
(kata
kerja
yang
membutuhkan obyek).
•
Komponen Data Store Komponen ini digunakan untuk membuat model sekumpulan paket data dan diberi nama dengan kata benda jamak. Data store
ini
biasanya
berkaitan
dengan
penyimpanan-
penyimpanan, seperti file atau database yang berkaitan dengan
55 penyimpanan secara komputerisasi, misalnya file disket, file harddisk, file pita magnetik.
•
Komponen Alur Data Suatu data flow/alur data digambarkan dengan anak panah, yang menunjukkan arah menuju ke dalam dan keluar dari suatu proses.
Alur
data
ini
digunakan
untuk
menerangkan
perpindahan data atau paket data/informasi dari satu bagian sistem ke bagian lainnya.
2. Flowchart a. Pengertian Flowchart Menurut Oetomo (2007, p126) flowchart merupakan metode untuk menggambarkan tahap-tahap pemecahan masalah dengan merepresentasikan simbol-simbol tertentu yang mudah di mengerti, mudah digunakan dan standar. Flowchart biasanya mempermudah penyelesaian suatu masalah khususnya masalah yang perlu dipelajari dan dievaluasi lebih lanjut.
b. Simbol-simbol Flowchart Simbol–simbol flowchart yang biasanya dipakai adalah simbol–simbol flowchart standar yang dikeluarkan oleh ANSI dan ISO.
56
Tabel 2.1 Simbol–simbol pada Flowchart input / output data yang diproses atau informasi
mempresentasikan operasi
keluar ke/masuk dari bagian lain pada halaman yang sama
mempresentasikan alur kerja
digunakan untuk komentar tambahan
keputusan dalam program
rincian operasi berada di tempat lain
pemberian harga awal awal/akhir flowchart input/output yang menggunakan kartu berlubang
input/output dalam format yang dicetak
input/output yang menggunakan pita magnetik
57
input/output yang menggunakan disk magnetik
input/output yang menggunakan drum magnetik
input/output yang menggunakan penyimpanan akses langsung
input/output yang menggunakan pita kertas berlubang
input yang secara manual dimasukkan dari keyboard
output yang ditampilkan pada terminal
operasi manual transmisi data melalui channel komunikasi, seperti telepon
penyimpanan yang tidak bisa diakses langsung oleh komputer
2.1.8.2 Software Tools 1. PHP (Personal Home Page) PHP merupakan gabungan dari beberapa fitur-fitur terbaik dari bahasa pemrograman yang modern untuk membuat sesuatu yang unik dan pendekatan untuk membuat web aplikasi yang baru.
58 PHP adalah singkatan dari PHP Hypertext Preprocessor, merupakan bahasa berbentuk skrip yang ditempatkan dalam server dan diproses di server dan kemudian hasilnya dikirim ke klien, tempat pemakai browser. PHP dirancang untuk membentuk web dinamis, artinya dapat membentuk suatu tampilan berdasarkan permintaan terkini. (Kadir, 2002, p1) Keunggulan dari PHP: •
Bahasa pemrograman PHP adalah sebuah script yang tidak melakukan sebuah kompilasi dalam penggunaannya.
•
Web Server yang mendukung PHP dapat ditemukan dimana – mana dari mulai apache, IIS, lightpd, hingga Xitami dengan konfigurasi yang relatif mudah.
•
Dalam sisi pengembangan lebih mudah karena banyaknya milismilis dan developer yang siap membantu dalam pengembangan.
•
PHP adalah bahasa open source yang dapat digunakan di berbagai mesin (Linux, Unix, Macintosh, Windows) dan dapat dijalankan secara runtime melalui console serta juga dapat menjalankan perintah - perintah sistem.
2. DBMS (Database Management System) Tools •
MySQL
59 Menurut Maslakowski (2000, p10), MySQL merupakan sebuah relasi manajemen basis data yang open source, enterpriselevel, dan multithread. MySQL adalah sebuah implementasi dari sistem manajemen basis data relasional (RDBMS) yang didistribusikan secara gratis dibawah lisensi GPL (General Public License). Setiap pengguna dapat secara bebas menggunakan MySQL, namun dengan batasan perangkat lunak tersebut tidak boleh dijadikan produk turunan yang bersifat komersial. MySQL sebenarnya merupakan turunan salah satu konsep utama dalam basis data yang telah ada sebelumnya; SQL (Structured Query Language). SQL adalah sebuah konsep pengoperasian basis data, terutama untuk pemilihan atau seleksi dan pemasukan data, yang memungkinkan pengoperasian data dikerjakan dengan mudah secara otomatis. Kehandalan suatu sistem basis data (DBMS) dapat diketahui dari cara kerja pengoptimasi-nya dalam melakukan proses perintah-perintah SQL yang dibuat oleh pengguna maupun program-program aplikasi yang memanfaatkannya. Sebagai alat bantu basis data, MySQL mendukung operasi basis data transaksional maupun operasi basis data non-transaksional. Pada modus operasi non-transaksional, MySQL dapat dikatakan unggul dalam hal kinerja dibandingkan perangkat lunak basis data kompetitor
lainnya.
Namun
demikian
pada
modus
non-
60 transaksional tidak ada jaminan atas reliabilitas terhadap data yang tersimpan, karenanya modus non-transaksional hanya cocok untuk jenis aplikasi yang tidak membutuhkan reliabilitas data seperti aplikasi blogging berbasis web (wordpress), CMS, dan sejenisnya. Untuk kebutuhan sistem yang ditujukan untuk bisnis sangat disarankan untuk menggunakan modus basis data transaksional, hanya saja sebagai konsekuensinya kinerja MySQL pada modus transaksional tidak secepat kinerja pada modus non-transaksional.
2.2 Pendekatan Sistem Berbasis Web 2.2.1 Internet Internet adalah jaringan yang menghubungkan secara bersama-sama jaringan komputer yang berada di seluruh dunia (Eaglestone dan Ridley, 2001, p20) Internet
berasal
dari
kata
Interconnection
Networking
yang
mempunyai arti hubungan komputer dengan berbagai tipe yang membentuk sistem jaringan yang mencakup seluruh dunia (jaringan komputer global) dengan melalui jalur telekomunikasi seperti telepon, radio link, satelit dan lainnya.
61 Dalam mengatur integrasi dan komunikasi jaringan ini digunakan protokol yaitu TCP/IP. TCP (Transmission Control Protocol) bertugas memastikan bahwa semua hubungan bekerja dengan benar, sedangkan IP (Internet Protocol) yang mentransmisikan data dari satu komputer ke komputer lain. TCP/IP secara umum berfungsi memilih rute terbaik transmisi data, memilih rute alternatif jika suatu rute tidak dapat digunakan, mengatur dan mengirimkan paket-paket pengiriman data. Dengan memanfaatkan internet, pemakaian komputer di seluruh dunia dimungkinkan untuk saling berkomunikasi dan pemakaian bersama informasi dengan cara saling kirim e-mail, menghubungkan ke komputer lain, mengirim dan menerima file, membahas topik tertentu pada newsgroup dan lain-lain.
2.2.2 Web World Wide Web (“WWW”, atau singkatnya “Web”) adalah sistem berbasis hypermedia
yang menyediakan layanan browsing informasi di
internet dengan menggunakan hyperlink yang tidak berurutan. (Conolly dan Begg, 2005, p998) Web adalah aplikasi internet yang memampukan sejumlah besar informasi dan jasa disimpan dan diakses melalui internet (Eaglestone dan Ridley, 2001, p20) Hypertext dilihat dengan sebuah program bernama penjelajah web yang mengambil informasi (disebut “dokumen” atau “halaman web”) dari
62 server web dan menampilkannya, biasanya di sebuah tampilan komputer. Halaman web biasanya diatur dalam koleksi material yang berkaitan yang disebut situs web.
2.2.3 Intranet Intranet adalah sebuah jaringan privat (private network) yang menggunakan protokol-protokol internet (TCP/IP), untuk membagi informasi rahasia perusahaan atau operasi dalam perusahaan tersebut kepada karyawannya. Terkadang istilah intranet hanya merujuk kepada layanan yang terlihat, yakni situs web internal perusahaan. Untuk membangun sebuah intranet, maka sebuah jaringan haruslah memiliki beberapa komponen yang membangun internet, yakni protokol internet (Protokol TCP/IP, alamat IP, dan protokol lainnya), klien dan juga server. Protokol HTTP dan beberapa protokol internet lainnya (FTP, POP3, atau SMTP) umumnya merupakan komponen protokol yang sering digunakan. Intranet sebagai pendatang baru mengandalkan biaya yang murah, fleksibilitas, open standard, dan banyaknya vendor yang bergabung dalam meningkatkan kemampuan intranet serta jaminan perkembangan teknologi yang makin meningkat kemampuannya. Intranet digunakan untuk membantu alat dan aplikasi, misalnya kolaborasi dalam kerja sama (untuk memfasilitasi bekerja dalam kelompok dan telekonferensi) atau direktori perusahaan yang sudah canggih, penjualan dan alat manajemen hubungan dengan pelanggan, manajemen proyek dan sebagainya, untuk memajukan produktivitas.
63 Intranet juga digunakan sebagai budaya perusahaan perubahan platform. Sebagai contoh, sejumlah besar karyawan membahas isu-isu penting dalam aplikasi forum intranet dapat menyebabkan ide-ide baru dalam manajemen, produktivitas, kualitas, dan isu-isu perusahaan lainnya. Dalam intranet yang besar, lalu lintas situs web seringkali sama dengan lalu lintas situs web publik dan dapat dipahami dengan lebih baik dengan menggunakan software web metrik untuk melacak aktivitas secara keseluruhan. Survei pengguna juga meningkatkan efektivitas situs intranet. Bisnis yang lebih besar memungkinkan pengguna dalam intranet mereka untuk mengakses internet publik melalui server firewall. Mereka memiliki kemampuan menangani pesan yang datang dan pergi serta menjaga keamanan yang utuh.
2.3 Pemahaman Objek Studi 2.3.1 Kepegawaian Sistem kepegawaian adalah suatu sistem atau cara pengelolaan dalam bidang kepegawaian menyangkut semua aspek yang ada dalam sistem kepegawaian mulai dari cara penerimaan, pengangkatan, kenaikan golongan, penggajian pegawai dan sebagainya. (Wursanto, 1987, p34)
2.3.2 Pegawai Pegawai adalah tenaga kerja manusia jasmaniah maupun rohanian (mental dan pikiran) yang senantiasa dibutuhkan sebagai modal pokok dalam
64 suatu organisasi dalam usaha kerja sama untuk mencapai tujuan tertentu (organisasi). (Widjaja, 1995, p113)
2.3.3 Klasifikasi Jabatan Klasifikasi jabatan adalah suatu kegiatan penggolongan jabatan-jabatan berdasarkan macam tugas yang dilakukan berikut cara-cara yang diperlukan untuk memangku jabatan tersebut atau suatu kegiatan penyusunan secara teratur dari jabatan-jabatan dalam beberapa golongan atau tingkatan untuk dapat diketahui derajat tiap-tiap jabatan.
2.3.4 Jabatan Fungsional Jabatan fungsional adalah kedudukan yang menunjukkan tugas, tanggung jawab, wewenang dan hak seorang Pegawai Negeri Sipil dalam suatu satuan organisasi yang dalam pelaksanaan tugasnya didasarkan pada keahlian dan atau keterampilan tertentu serta bersifat mandiri. Dalam rangka mencapai tujuan nasional, dibutuhkan adanya Pegawai Negeri Sipil dengan mutu profesionalisme yang memadai, berdaya guna dan berhasil guna didalam melaksanakan tugas umum pemerintahan dan pembangunan. Pegawai Negeri Sipil perlu dibina dengan sebaik-baiknya atas dasar sistem karier dan sistem prestasi kerja. Jabatan fungsional pada hakekatnya adalah jabatan teknis yang tidak tercantum dalam struktur organisasi, namun sangat diperlukan dalam tugastugas pokok dalam organisasi Pemerintah. Jabatan fungsional Pegawai Negeri
65 Sipil terdiri atas jabatan fungsional keahlian dan jabatan fungsional keterampilan. Jabatan fungsional keahlian adalah kedudukan yang menunjukkan tugas yang dilandasi oleh pengetahuan, metodologi dan teknis analisis yang didasarkan atas disiplin ilmu yang bersangkutan dan/atau berdasarkan sertifikasi yang setara dengan keahlian dan ditetapkan berdasarkan akreditasi tertentu. Sedangkan jabatan fungsional keterampilan adalah kedudukan yang mengunjukkan tugas yang mempergunakan prosedur dan teknik kerja tertentu serta dilandasi kewenangan penanganan berdasarkan sertifikasi yang ditentukan.
2.3.5 Jabatan Fungsional Pranata Komputer Pranata Komputer adalah Pegawai negeri sipil yang diberi tugas, wewenang, tanggung jawab dan hak secara penuh oleh pejabat yang berwenang untuk melakukan kegiatan sistem informasi berbasis komputer. 2.3.6 Angka Kredit Angka Kredit adalah suatu angka yang diberikan berdasarkan penilaian atas prestasi yang telah dicapai oleh seorang pejabat fungsional dalam mengerjakan butir rincian kegiatan yang digunakan sebagai salah satu syarat untuk pengangkatan dan kenaikan jabatan/ pangkat dalam jabatan fungsional.
2.3.7 Kenaikan Pangkat
66 Kenaikan pangkat Pegawai Negeri Sipil yang menduduki jabatan fungsional tertentu dapat dinaikkan pangkatnya setiap kali setingkat lebih tinggi apabila: 1) Sekurang-kurangnya telah 2 tahun dalam pangkat terakhir; 2) Telah memenuhi angka kredit yang ditentukan; 3) Setiap unsur penilaian prestasi kerja/DP-3 sekurang-kurangnya bernilai baik dalam 2 tahun terakhir. Pejabat harus mengumpulkan berkas-berkas untuk memenuhi angka kredit tertentu yang telah ditetapkan, yang kemudian akan dinilai oleh tim penilai, sehingga bisa ditentukan bisa atau tidaknya seorang pejabat tersebut naik pangkat.
2.3.8 Tim Penilai Angka Kredit Tim Penilai angka kredit adalah Tim Penilai yang dibentuk dan ditetapkan oleh pejabat yang berwenang untuk membantu dalam penetapan angka kredit Pranata Komputer.