BAB II LANDASAN TEORI
2.1 Konsep Dasar Aplikasi Aplikasi menurut istilah adalah penerapan, lamaran atau penggunaan, sedangkan menurut kamus informatika Program aplikasi adalah program siap pakai. Program yang direka untuk melaksanakan suatu fungsi bagi pengguna atau aplikasi yang lain. Contohcontoh aplikasi ialah program pemproses kata. Aplikasi akan menggunakan sistem operasi (OS) komputer dan aplikasi yang lainnya yang mendukung. Istilah ini mulai perlahan masuk ke dalam istilah Teknologi Informasi semenjak tahun 1993, yang biasanya juga disingkat dengan app. Secara historis, aplikasi adalah software yang dikembangkan oleh sebuah perusahaan. App adalah software yang dibeli perusahaan dari tempat pembuatnya. Industri PC tampaknya menciptakan istilah ini untuk merefleksikan medan pertempuran persaingan yang baru, yang paralel dengan yang terjadi antar sistem operasi yang dimunculkan. 2.1.1 Pengertian Software Software Disebut juga dengan perangkat lunak, merupakan kumpulan beberapa perintah yang dieksekusi oleh mesin komputer dalam menjalankan pekerjaannya. Perangkat lunak ini merupakan catatan bagi mesin komputer untuk menyimpan perintah, maupun dokumen serta arsip lainnya. Merupakan data elektronik yang disimpan sedemikian rupa oleh komputer itu sendiri, data yang disimpan ini dapat berupa program atau instruksi yang akan dijalankan
1
oleh perintah, maupun catatan-catatan yang diperlukan oleh komputer untuk menjalankan perintah yang dijalankannya. Untuk mencapai keinginannya tersebut dirancanglah suatu susunan logika, logika yang disusun ini diolah melalui perangkat lunak, yang disebut juga dengan program beserta data-data yang diolahnya. Pengelolaan pada software ini melibatkan beberapa hal, diantaranya adalah sistem operasi, program, dan data. Software ini mengatur sedemikian rupa sehingga logika yang ada dapat dimengerti oleh mesin komputer. 2.1.2 Konsep Dasar Perangkat Lunak. Perangkat Lunak
adalah seluruh perintah yang digunakan untuk memproses
informasi. Perangkat Lunak dapat berupa program
atau procedure. Program adalah
kumpulan perintah yang dimengerti oleh komputer, sedangkan prosedure adalah perintah yang dibutuhkan oleh pengguna dalam memproses informasi (O’Brien, 1999). Dalam buku rekayasa perangkat lunak yang dikarang oleh Roger R Pressman dijelaskan tentang pengertian perangkat lunak adalah sebagai berikut: “Perangkat lunak adalah perintah atau program komputer yang bila dieksekusi memberikan fungsi dan unjuk kerja seperti yang diinginkan.struktur data yang memungkinkan program manipulasi informasi secara proporsial dan dokumen yang menggambarkan operasi dan kegunaan program” Teknologi informasi merupakan gabungan antara teknologi komputer dan teknologi komunikasi data. Teknologi komputer secara umum terdiri dari perangkat keras(hardware) dan perangkat lunak (software). Perangkat keras ini terdiri dari: 1. Peralatan pemasukan data (input) antara lain: keyboard dan barcode scanner. 2. Peralatan pengolahan data (processor) contohnya:CPU(central processing unit) 3. Peralatan penampilan keluaran data (output) contohnya: Monitor dan Printer 4. Alat penyimpanan data (storage) contohnya: hard disk, disket, cd dan plashdisk
2
Untuk mengendalikan perangkat keras diperlukan perangkat lunak. Secara umum, Perangkat lunak dapat dibedakan menjadi dua kelompok yaitu aplikasi umum dan aplikasi khusus. Aplikasi umum digunakan oleh semua kegiatan, antara lain meliputi: 1. Perangkat lunak pengolahan kata (word processor): untuk menyusun dokumen tertulis atau naratif 2. Perangkat lunak pengolahan kata (spread sheet) : untuk melakukan perhitungan dan membuat grafik dari hitungan. 3. Perangkat lunak pengolahan data (database) untuk melakukan pemasukan, pengolahan, pengorganisasian, penyimpanan dan pengambilan kembali data, secara cepat dan akurat. 4. Perangkat lunak pengolah gambar :untuk membuat gambar dan mengolah foto menjadi gambar elektronik yang mudah diubah-ubah. 5. Perangkat lunak persentasi multimedia 6. Perangkat lunak merupakan suatu program aplikasi yang berguna untuk mengolah atau memanipulasi data yang tersimpan pada perangkat keras komputer, tanpa adanya perangkat lunak komputer hanya merupakan perangkat elektonik biasa. 2.1.3 Aplikasi Perangkat Lunak Perangkat lunak bisa diaplikasikan ke berbagai situasi dimana serangkaian langkah procedural(seperti algoritma) telah didefinisikan. Memang sulit dalam menentukan kategori umum untuk aplikasi perangkat lunak. Ketika kompleksitas perangkat lunak mulai muncul, maka penggolongan yang rapih menjadi hilang. Area perangkat berikut menunjukan luasnya aplikasi potensial : 1. Perangkat Lunak Sistem
3
Merupakan sekumpulan program yang ditulis untuk melayani program-program yang lainnya, misalnya: kompiler, editor, dan utilitas pengatur file.
2. Perangkat Lunak Real Time Merupakan sekumpulan program-program yang memonitor, menganalisis dan mengontrol kejadian dunia nyata pada saat terjadi. 3. Perangkat Lunak Bisnis Merupakan area aplikasi perangkat lunak yang paling luas. Sistem diskrit (contohnya payroll, account recievable payable, inventory dan lain-lain) telah mengembangkan
perangkat
lunak
sistem
menejemen
informasi(MIS)
yang
mengakses satu atau lebih database besar yang berisi informasi bisnis. 4. Perangkat Lunak Teknik Dan Ilmu Pengetahuan Yang memiliki jangkauan aplikasi mulai dari astronomi sampai vulkanologi, dari analisis automotif sampai dinamika orbit pesawat ruang angkasa dan biologi molekuler sampai pabrik yang sudah diotomatisasi. 5. Embedded Software Yang digunakan untuk mengontrol hasil serta sistem untuk keperluan konsumen pasar dan pasar industri. Embedded software dapat melakukan fungsi yang terbatas serta fungsi esotorik(misal keypad control untuk microwave) atau memberikan kemampuan kontrol dan fungsi yang penting(contohnya fungsi digital dalam sebuah automobiel seperti kontrol bahan bakar, penampilan, dash-board, sistem rem dan lain-lain). 6. Perangkat Lunak Komputer Personal
4
Digunakan untuk pengolah kata, spreadsheet, grafik komputer, multimedia hiburan, menejemen database, aplikasi keuangan bisnis, dan personal, jaringan eksternal atau akses database hanya merupakan beberapa saja dari ratusan aplikasi yang ada.
7. Perangkat Lunak Kecerdasan Buatan Merupakan algoritma non-numeris untuk memecahkan masalah kompleks yang tidak sesuai untuk perhitungan atau analisis langsung. Area kecerdasan buatan yang aktif adalah sistem pakar atau disebut juga sistem berbasis ilmu pengetahuan. 2.2 Analisis Sistem Analisis Sistem adalah penguraian dari suatu sistem informasi yang utuh ke dalam bagian–bagian komponennya dengan maksud untuk mengidentifikasi dan mengevaluasi permasalahan–permasalahan, kesemptan–kesempatan, hambatan–hambatan yang terjadi dan kebutuhan–kebutuhan yang diharapkan sehingga dapat diusulkan perbaikanperbaikannya. [Jogiyanto, 2001]. Alasan yang melatarbelakangi dilakukannya analisis sistem : 1. Dikarenakan sistem yang lama sudah tidak bisa memenuhi kebutuhan, sehingga diperlukan pengembangan sistem yang baru. Hal ini memerlukan analisis sistem agar sistem yang baru dapat berfungsi sesuai dengan kebutuhan. 2. Adanya kebutuhan baru dalam lingkungan atau organisasi di tempat sistem berjalan yang memerlukan modifikasi untuk mendukung organisasi. 3. Meningkatkan kemampuan atau performansi sistem. Adapun kegiatan–kegiatan yang dilakukan dalam analisis sistem adalah sebagai berikut :
5
1. Manganalisis klasifikasi data, proses dan fungsi kebutuhan informasi seluruh bagian organisasi yang merupakan kebutuhan informasi untuk masa yang akan datang. 2. Menganalisis
dokumen–dokumen
yang bisa
dijadikan
pedoman
bagi
tahap
pengembangan berikutnya. 3. melakukan evaluasi terhadap sistem yang sedang berjalan. Didalam tahap analisis sistem terdapat langkah-langkah dasar yang harus dilakukan oleh analis sistem sebagai berikut : 1. Identyfy, yaitu mengidetifikasikan masalah. 2. Understand, yaitu memahami kerja dan sistem yang ada. 3. Analyze, yaitu menganalisa sistem. 4. Report, yaitu laporan hasil kerja. Untuk masing-masing langkah ini, beberapa tugas perlu dilakukan oleh analis sistem. Supaya lebih mudah untuk melakukan koordinasi dan pengawasan, koordinator, team analis dapat membuat satu kertas kerja yang memuat tugas-tugas yang harus dikerjakan untuk masing-masing analis. 2.3 Pengembangan Sistem Pengembangan sistem (system development) dapat berarti menyusun suatu sistem yang baru untuk mengganti sistem yang lama secara keseluruhan atau memperbaiki sistem yang sudah ada. Tujuan dilakukannya pengembangan sistem antara lain: 1. Mempertinggi kinerja sistem 2. Mendapatkan informasi yang mempunyai kualitas yang lebih baik (tepat, akurat, dan relevan) 3. Ekonomis yaitu menggunakan sumber daya sedikit mungkin.
6
4. Efisien yaitu mengoptimalkan sumber daya supaya menghasilkan lebih banyak 5. Mempertinggi kontrol terhadap sistem diantaranya dapat mencegah kesalahankesalahan yang ada dan mendeteksi jika sudah terjadi kesalahan.
2.4 Desain Sistem 2.4.1 Definisi Desain Sistem Desain Sistem memiliki beberapa definisi, diantaranya : Menurut Robert J. Verjello / John Reuter III desain sistem yaitu : “Tahap setelah analisis dari siklus pengembangan sistem : pendefinisian dari kebutuhan–kebutuhan fungsional dan persiapan untuk rancang bangun implementasi ; menggambarkan bagaimana suatu sistem dibentuk” [Jogiyanto, 2001]. Menurut John Burch & GrundGrundnitski yaitu desain sistem : “Desain sistem dapat didefinisikan sebagai penggambaran, perencanaan dan pembuatan sketsa atau pengaturan dari beberapa elemen yang terpisah ke dalam suatu kesatuan yang utuh dan berfungsi” [Jogiyanto, 2001]. Menurut M. Scott desain system adalah : “Desain sistem menentukan bagaimana suatu sistem akan menyelesaikan apa yang mesti diselesaikan; tahap ini menyangkut konfigurasi dari komponen–komponen perangkat lunak dan perangkat keras dari suatu sistem sehingga setelah instalasi dari sistem akan benar – benar memuaskan rancang bangun yang telah ditetapkan pada akhir tahap analisis sistem” [Jogiyanto, 2001]. 2.4.2 Tujuan Desain Sistem Desain Sistem memiliki dua maksud dan tujuan utama, yaitu : 1. Untuk memenuhi kebutuhan kepada pemakai sistem
7
2. Untuk memberikan gambaran yang jelas dan rancangan yang lengkap kepada pemrogram komputer dan ahli–ahli teknik lainnya yang terlibat. Agar tujuan tersebut dapat dicapai, maka seorang analis sistem harus mencapai sasaran–sasaran sebagai berikut :
1. Desain sistem harus berguna, mudah dipahami dan nantinya mudah digunakan. 2. Desain sistem harus dapat mendukung tujuan utama perusahaan sesuai dengan yang telah didefinisikan pada tahap perencanaan sistem yang dilanjutkan pada tahap analisis sistem. 3. Desain sistem harus efisien dan efektif untuk dapat mendukung pengolahan transaksi. 4. Desain sistem harus dapat mempersiapkan rancang bangun yang terinci untuk masing – msing komponen dari sistem informasi. 2.4.3 Desain Input Input memulai arus data melalui sebuah sistem, seperti komponen perancangan sistem lainnya, rancangan input harus direncanakan dan dilaksanakan dengan hati–hati untuk mengkonversikan data mentah (input) ke dalam informasi yang dapat digunakan (output). Kegiatan yang dilakukan pada desain input : a. Menentukan kebutuhan–kebutuhan input dari sistem informasi, menentukan media pemasukan dan pengaturan format data ketika dimasukan dalam media tersebut b. Mendefinisikan data yang akan dicatat, atau direkam. c. Merancang antar muka dalam proses pemasukan data. 2.4.4 Desain Output
8
Tujuan dari desain output adalah untuk mengubah tumpukan data menjadi informasi yang berkualitas dan dapat dipergunakan. Sasaran sesungguhnya bukan untuk menghasilkan data, bahkan juga bukan informasi. Sasaran akhirnya adalah pengambilan keputusan yang tepat.
Kegiatan dari desain output : a. Menentukan kebutuhan output dari sistem informasi. b. Menentukan parameter dari output, yang meliputi : 1) Bentuk output 2) Format output 3) Media yang digunakan 2.5 Definisi Data Flow Diagram DFD dapat digunakan untuk menyajikan sebuah sistem atau perangkat lunak pada setiap tingkat abstraksi. 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. 2.6 Levelisasi DFD
9
Model ini menggambarkan sistem sebagai jaringan kerja antar fungsi yang berhubungan satu dengan yang lain dengan aliran dan penyimpanan data. Dalam levelisasi DFD ini akan terjadi penurunan level dimana dalam penurunan level yang lebih rendah harus mampu mempresentasikan proses tersebut ke dalam spesifikasi proses yang lebih jelas. Dalam penurunan level, tidak semua bagian dari sistem harus diturunkan dengan jumlah level yang sama. Aliran data yang masuk dan keluar dari suatu proses di level X harus berhubungan dengan aliran data yang masuk dan keluar dari level X+1 yang mendefinisikan proses pada level X tersebut. Tingkatan–tingkatan yang ada pada DFD, yaitu : 1. Diagram Konteks Diagram konteks adalah sebuah diagram sederhana yang menggambarkan hubungan antara entity luar, masukan dan keluaran dari sistem.Diagram konteks dipresentasikan dengan lingkaran tunggal yang mewakili keseluruhan sistem. Diagram konteks merupakan level tertinggi dari DFD. 2. Diagram Zero/ Diagram Level 0 Tingkat yang lebih bawah dari diagram konteks adalah diagram zero atau DFD level 0. diagram zero menggambarkan proses–proses utama dari sistem. 3. Diagram Level n Diagram level n adalah hasil dekomposisi dari diagram zero. Diagram level n menjelaskan proses secara lebih terperinci. Diagram level 1 merupakan turunan langsung dari diagram zero, artinya diagram level 1 berada satu tingkat lebih rendah dari diagram zero. Apabila diagram level 1 ini diuraikan lagi, maka akan terbentuk diagram level 2, dan seterusnya. 2.7 Simbol-simbol DFD
10
Yang mempelopori pengembangan diagram arus data adalah Tom De Marco, Edward Yourdon, Chris Gane, dan Trish Sarson. Namun demikian, symbol symbol DFD yang mereka kemukakan berbeda, dan perbedaannya terletak pada [Jogianto. HM 1999] a. Sumber (Source dan Sink) Persegi panjang [ Yourdon dan DeMarco] dan Bujur sangkar [Gane dan Sarson] menunjukan atau menggambarkan masukan bersih ( net input ) ke system dan keluaran bersih ( net input ) dari system.
Yourdan & DeMarco
Gane & Sarson
Gambar 2.1 Simbol Sumber (Source dan Sink) b. Proses ( Proccess ) Proses digambarkan dengan lingkaran ( Yourdon dan DeMarco ), yang juga disebut gelembung atau transform, dan digambarkan dengan persegi panjang yang mempunyai pojok yang bulat ( Gane dan Sarson ).
Yourdan & DeMarco
Gane & Sarson
Gambar 2.2 Simbol Proses ( Proccess ) c. Penyimpanan Data ( Data Storage ) Digambarkan dengan dua garis paralel ( Yourdan dan DeMarco ) ataupun dengan persegi panjang terbuka ( Gane dan Sarson ).
Yourdan & DeMarco
Gane & Sarson
Gambar 2.3 Simbol Penyimpanan Data ( Data Storage )
11
d. Arus Data ( Data Flow ) Ditampilkan dengan garis dan tanda panah yang menggambarkan transfer data antara penyimpanan data, source atau sink dan proses. Untuk lebih jelas dapat dilihat pada lampiran gambar.
Gambar 2.4 Simbol Arus Data 2.8 Sekilas Tentang VB Visual Basic merupakan cara termudah dan tercepat untuk membuat aplikasi yang dijalankan di sistem operasi Microsoft Windows®. Apakah Anda seorang profesional atau pemula sekalipun di bidang pemrograman Windows, Visual Basic menyediakan kepada Anda sekumpulan perangkat untuk mempermudah dan menyederhanakan pengembangan aplikasi yang tangguh. Lalu apa sebenarnya definisi dari Visual Basic itu sendiri? Kata “Visual”merujuk kepada metode yang digunakan untuk membuat antar muka yang bersifat grafis Graphical User Interface (GUI). Daripada menulis berbaris-baris kode untuk menjelaskan pemunculan dan lokasi dari suatu elemen di dalam antar muka, Anda dengan mudah dapat menambahkan object yang sebelumnya sudah dibangun ke dalam tempat dan posisi yang Anda inginkan di layar Anda. Jika Anda pernah menggunakan program untuk menggambar seperti Paint, maka Anda sebenarnya sudah memiliki keahlian uuntuk membuat sebuah antar muka pengguna secara efektif. Kata “Basic” merujuk kepada bahasa BASIC (Beginners All-Purpose Symbolic Instruction Code), sebuah bahasa yang digunakan oleh banyak programmer dibandingkan dengan bahasa lainnya dalam sejarah komputer. Visual Basic telah berubah dari bahasa asli
12
BASIC dan sekarang memiliki ratusan pernyataan (statements), fungsi (functions), dan kata kunci (keywords), dan kebanyakan di antaranya terkait dengan antar muka grafis di Windows. Pengguna tingkat pemula sekalipun dapat membuat aplikasi dengan mempelajari hanya beberapa kata kunci, sementara kekuatan dari bahasanya membolehkan para pengguna tingkat professional mencapai apapun yang dapat dihasilkan dengan menggunakan bahasa pemrograman Windows lainnya. Bahasa pemrograman Visual Basic tidaklah hanya identik dengan Visual Basic saja. Sistem Pemrograman Visual Basic dalam bentuk Edisi Aplikasi, telah dimasukkan ke dalam Microsoft Excel, Microsoft Access, dan banyak aplikasi Windows lainnya juga menggunakan bahasa yang sama. Visual Basic Scripting Edition (VBScript) adalah sebuah bahasa skrip yang digunakan secara lebih umum dan merupakan bagian dari bahasa Visual Basic. Dengan mempelajari Visual Basic, maka Anda akan dibawa ke area-area yang telah disebutkan tadi. Apakah tujuan Anda untuk membuat sebuah utility sederhana untuk diri Anda sendiri atau untuk kelompok kerja Anda, sebuah sistem berskala perusahaan, atau bahkan aplikasi yang terdistribusi melalui Internet, Visual Basic memilik perangkat yang Anda butuhkan. Fitur Data Access membolehkan Anda untuk membuat database, aplikasifront-end, dan komponen di sisi server (scalable server-side components) untuk hampir semua format database yang terkenal, termasuk Microsoft SQL Server dan database level perusahaan lainnya. Teknologi ActiveX™ membolehkan Anda untuk menggunakan fungsionalitas yang disediakan oleh aplikasi-aplikasi lainnya, seperti pengolah kata Microsoft Word, Microsoft Excel spreadsheet, dan aplikasi Windows lainnya. Anda bahkan dapat mengotomatisasikan
13
aplikasi-aplikasi dan objek-objek yang dibuat dengan menggunakan edisi Professional atau Enterprise Visual Basic. Kemampuan Internet membuatnya mudah menyediakan pengaksesan ke dokumendokumen atau file-file dan aplikasi-aplikasi melalui Internet atau intranet dari dalam aplikasi Anda, atau untuk membuat aplikasi Internet server. Aplikasi akhir Anda nantinya akan berbentuk sebuah file .exe yang menggunakan Visual Basic Virtual Machine dan dapat Anda distribusikan secara bebas. 2.8.1 Toolbox Adalah sebuah kotak piranti yang mendukung semua objek atau kontrol yang dibutuhkan untuk membentuk suatu program aplikasi. Kontrol adalah suatu objek yang akan menjadi interface(penghubung) antara program aplikasi dan usernya, dan kesemuanya diletakan didalam jendela form atas.
Gambar 2.5 Tampilan Toolbox MS-Visual Basic 6.0 2.8.2 Project Explore Jendela project explore adalah jendela yang mendukung semua file didalam aplikasi Visual Basic. Setiap aplikasi didalam sebuah Visual Basic disebut dengan project(projek), dan setiap projek bisa mengandung lebih dari satu file. Pada project
14
explore ditampilkan semua file yang terdapat pada aplikasi (projek) anda, misalnya form, module, class, dan sebagainya.
Gambar 2.6 Tampilan Project Explorer MS-Visual Basic 6.0 2.8.3 Jendela properties Jendela properties adalah jendela yang mengandung semua informasi mengenai objek yang terdapat pada aplikasi Visual Basic. Properties adalah sifat dari sebuah objek, misalnya seperti namanya, warna, ukuran, posisi dan sebagainya.
Gambar 2.7 Tampilan Jendela Properties MS-Visual Basic 6.0 2.9 Basis Data Basis data (database) dapat didefinisikan dalam sejumlah sudut pandang, yaitu [Fatansyah 99] 1.
Himpunan kelompok data (arsip) yang saling berhubungan yang di organisasi sedemikian rupa agar kelak dapat dimanfaatkan dengan mudah, efektif dan efisien.
15
2.
Kumpulan data yang saling berhubungan yang di organisasi sedemikian rupa untuk memenuhi kebutuhan [ Fath ’99 ].
3.
Kumpulan file atau table atau arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis [ Fath ’99 ].
2.10
Perancangan Sistem Basis Data Tujuan perancangan adalah untuk mendefinisikan informasi apa yang di butuhkan
oleh system yang akan dibangun [Fatansyah 99]. 2.11
Perancangan Model Data Model data bisa berbasis objek, record atau lainnya. Perancangan model data ini
terisi oleh paket-paket program yang ada dalam Data Base Management Sistem (DBMS). Support yang diberikan adalah Data Definition Language (DDL) untuk mendefinisikan struktur data, dan Data Manipulation Language (DML) untuk pengelolaan data (operator). Entitas adalah objek yang nyata atau tidak nyata yang dapat dibedakan antara satu dengan yang lainnya dengan sifat-sifatnya. Set entity adalah kumpulan entitas yang mempunyai sifat atau karakteristik yang sama. Relationalship adalah asosiasi atau keterhubungan yang muncul diantara anggota set entity lainnya. 2.12
Pemetaan dari satu Set Entity ke Entity lain Pemetaan yang dimaksud disini yaitu relasi antara beberapa entitas melalui kunci
primer (Primary Key) dan kunci tamu (Foregin Key) yang mempunyai sifat-sifat : 1. Relasi satu menuju satu (One to one) Setiap anggota entitas pertama hanya bisa dipetakan kesatu elemen dari entitas kedua dan sebaliknya. 2. Relasi satu menuju banyak (One to many)
16
Setiap anggota entitas pertama boleh dipetakan pada beberapa elemen dari entitas kedua. 3. Relasi banyak menuju satu (Many to one) Beberapa entitas pertama boleh dipetakan ke satu elemen yang sama dari entitas kedua. 4. Relasi banyak menuju banyak (Many to many) Beberapa anggota entitas pertama boleh dipetakan lebih dari satu pada elemen entitas kedua dan sebaliknya. 2.13
Model Relasi Model relasi diperlukan untuk menghindari pemborosan memori karena
menyimpan data yang berjumlah besar dan banyak serta untuk menjaga konsistensi data. Istilah-istilah digunakan dalam model relasi adalah : 1. Tuple: Kumpulan elemen-elemen dalam table yang saling berkaitan yang menginformasikan tentang suatu entity secara lengkap, dalam bahasa yang lebih umum disebut record. 2. Cardinalitas: Banyaknya tuple dalam satu relasi. 3. Aritas: Banyaknya atribut dalam satu relasi. 4. Skema relasi : Kumpulan nama-nama atribut dari suatu relasi yang didefinisikan dalam sebuah skema. 2.14
Normalisasi
17
Adalah pemecahan skema basis data menjadi beberapa skema relasi untuk menghindari anomaly-anomali yang ada dalam sistem data. Sehingga terbentuk basis data yang benar-benar memenuhi kriteria dan tidak menyalahi aturan-aturan basis data. Beberapa anomali yang dikandung oleh system basis data adalah: a. Kerangkapan data (Redudancy data) b. Peremajaan data (Updating data) c. Penyisipan data (insert data) d. Penghapusan data (deleting data) Istilah normalisasi berasal dari E. F. Codd, salah seorang perintis teknologi basis data. Selain dipakai sebagai metodologi tersendiri untuk menciptakan struktur tabel ( relasi ) dalam basis data ( dengan tujuan mengurangi redudansi/ kemubaziran data ), normalisasi terkadang hanya dipakai sebagai perangkat verifikasi terhadap tabel-tabel yang dihasilkan oleh metodologi lain. Normalisasi memberikan panduan yang sangat membantu bagi pengembang untuk mencegah penciptaan struktur tabel yang kurang fleksibel atau mengurangi ketidakefisienan. Menurut David Kroenke 2002 didefinisikan sebagai proses untuk mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua buah relasi atau lebih yang tak memiliki masalah tersebut. Masalah yang dimaksud oleh David Kroenke ini sering disebut dengan istilah anomali. Aturan-aturan normalisasi dinyatakan dalam istilah bentuk normal. Bentuk normal adalah suatu aturan yang dikenakan pada tabel dalam basis data dan harus dipenuhi oleh tabel tersebut pada level-level normalisasi. Selanjutnya menurut sebuah tabel dapat dikategorikan baik, efisien atau normal, jika telah memenuhi 3 (tiga) kriteria berikut : 1.
Jika ada penguraian (dekomposisi) tabel, maka dekomposisinya harus dijamin aman.
18
2.
Terpelihanya ketergantungan fungsional pada saat perubahan data.
3.
Tidak melanggar Boyce–Code Normal Form (BCNF). Normalisasi berkaitan dengan satu proses, sedangkan normal form berkaitan
dengan output proses. Beberapa bentuk normal pada normalisasi adalah sebagai berikut : 1.
Bentuk Tidak Normal (Unnormalized Form). Bentuk ini merupakan kumpulan data yang akan direkam, tidak ada keharusan
mengikuti suatu format tertentu, dapat saja data tidak lengkap atau terduplikasi. Data dikumpulkan apa adanya sesuai dengan kedatangannya. 2.
Bentuk Normal Kesatu (1NF / First Normal Form). Bentuk normal kesatu mempunyai ciri yaitu setiap data dibentuk dalam flat file (file
datar / rata), data dibentuk dalam satu record demi satu record dan nilai dari field-field berupa atomic value. Tidak ada sel atribut yang berulang-ulang atau atribut bernilai ganda. Tiap field hanya ada satu pengertian, bukan merupakan kumpulan kata yang mempunyai arti mendua, hanya satu arti saja dan juga bukanlah pecahan kata-kata sehingga artinya lain. 3.
Bentuk Normal Kedua (2NF / Second Normal Form). Bentuk normal kedua mempunyai syarat yaitu bentuk data telah memenuhi kriteria
bentuk normal kesatu. Atribut bukan kunci haruslah bergantung secara fungsi pada kunci utama/primary key. Sehingga untuk membentuk normal kedua haruslah sudah ditentukan kunci-kunci field. Kunci field haruslah unik dan dapat mewakili atribut lain yang menjadi anggotanya. 4.
Bentuk Normal Ketiga (3NF / Third Normal Form) Untuk menjadi bentuk normal ketiga maka relasi haruslah dalam bentuk normal
kedua dan semua atribut bukan primer tidak punya hubungan yang transitif. Dengan kata
19
lain, setiap atribut bukan kunci haruslah bergantung hanya pada primary key dan pada primary key secara menyeluruh. Contoh pada bentuk normal kedua diatas termasuk juga bentuk normal ketiga karena seluruh atribut yang ada disitu bergantung penuh pada kunci primernya.
5.
Boyce-Codd Normal Form (BCNF) Boyce-Codd Normal Form mempunyai paksaan yang lebih kuat dari bentuk normal
ketiga. Untuk menjadi BCNF, relasi harus dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribut superkey. 2.15
Simbol-simbol ERD
Simbol-simbol yang digunakan untuk mengembangkan Entity Relationship Diagram adalah [jogianto. HM 1999]: a. Entitas ( entity ) Digambarkan dengan segi empat adalah sekumpulan orang, atau benda yang semuanya mempunyai nama yang sama, dan seperangkat sifat atau atribut yang sama.
Gambar2.8 Simbol Entitas b. Relasi ( relationship ) Digambarkan dengan belah ketupat adalah menunjukan bagaimana entitas berinteraksi dan bekerja sama.
Gambar2.8 Simbol Relasi c. Atribut
20
Digambarkan dengan elips adalah menunjukan penjelasan detail mengenai entitas atau relationship tertentu.
Gambar2.9. Simbol Atribut
2.16 1.
Langkah Dalam Desain Database Mendefinisikan kebutuhan (Requirements definition) Tujuan: untuk mengidentifikasi dan mendeskripsikan data yang dibutuhkan oleh user dalam sebuah organisasi.
2.
Rancangan Konseptual (Conceptual design) Tujuan: untuk membuat sebuah model data konseptual (atau arsitektur informasi) yang akan mendukung perbedaan kebutuhan informasi dari beberapa user dalam sebuah organisasi.
3.
Rancangan Implementasi (Implementation design) Tujuan: untuk memetakan model data logis (logical data model) ke dalam sebuah skema yang dapat diproses oleh DBMS tertentu
4.
Rancangan Fisik (Physical design) Pada tahap terakhir ini, logical database structured (normalized relation, trees, network dll) dipetakan menjadi physical storage structure seperti file dan tabel. Langkah Perbaikan (Stepwise refinement) Keseluruhan proses perancangan pada
perancangan database harus dipandang sebagai satu langkah perbaikan, dimana perancangan pada setiap tahapan diperbaiki secara progresif melalui
21
perulangan
(iteration). Langkah perbaikan harus dilakukan pada bagian akhir setiap tahapan sebelum melangkah ke tahapan berikutnya.
Gambar 2.10 Langkah Dalam Disain Database 2.17
Sekilas Tentang MYSQL MySQL adalah sebuah server database SQL multiuser dan multi-threaded. SQL
sendiri adalah salah satu bahasa database yang paling populer didunia. Implementasi program server database ini adalah program daemon 'mysql' dan beberapa program lain serta beberapa pustaka. MySQL adalah suatu perangkat lunak database relasi (Relational Database Management System atau RDBMS), seperti halnya ORACLE, Postgresql, MS SQL, dan sebagainya. MySQL AB menyebut produknya sebagai database open source terpopuler di dunia. Berdasarkan riset dinyatakan bahwa bahwa di platform Web, dan baik untuk kategori open source maupun umum, MySQL adalah database yang paling banyak dipakai. Menurut perusahaan pengembangnya, MySQL telah terpasang di sekitar 3 juta komputer. Puluhan hingga ratusan ribu situs mengandalkan MySQL bekerja siang malam memompa data bagi para pengunjungnya. MySQL dibuat oleh TcX dan telah dipercaya mengelola sistem dengan 40 buah database berisi 10,000 tabel dan 500 di antaranya memiliki 7 juta baris (kira-kira 100 gigabyte data). Database ini dibuat untuk keperluan sistem database yang cepat, handal dan mudah digunakan. Walaupun memiliki kemampuan yang cukup baik, MySQL untuk
22
sistem operasi Unix bersifat freeware, dan terdapat versi shareware untuk sistem operasi windows. Menurut pembuatnya, MySQL disebut seperti "my-ess-que-ell" dan bukan mysequel. Sebagaimana database sistem yang lain, dalam SQL juga dikenal hierarki server dengan database-database. Tiap-tiap database memiliki tabel-tabel. Tiap-tiap tabel memiliki field-field. Umumnya informasi tersimpan dalam tabel – tabel yang secara logik merupakan struktur 2 dimensi terdiri atas baris dan kolom. Field-field tersebut dapat berupa data seperti int, realm char, date, time dan lainnya. Dalam training ini kita menggunakan MySQL sebgai SQL server karena berbagai kelebihannya. Antara lain; 1. Source MySQL dapat diperoleh dengan mudah dan gratis 2. Sintaksnya lebih mudah dipahami dan tidak rumit 3. Pengaksesan database dapat dilakukan dengan mudah
23