7 BAB 2 LANDASAN TEORI
2.1 Pendekatan Basisdata 2.1.1
Pengertian Basisdata Menurut Connolly dan Begg ( 2005, p15 ), basisdata adalah kumpulan
bersama data yang berhubungan secara logis, serta deskripsi data tersebut, untuk memenuhi kebutuhan informasi dari sebuah organisasi atau perusahaan. Menurut Atzeni et al ( 2003, p2 ), basisdata adalah sekumpulan data yang digunakan untuk menjelaskan informasi suatu hal ke sebuah sistem informasi. Menurut Date ( 2003, p2 ), basisdata adalah tempat penyimpanan sekumpulan file – file data yang terkomputerisasi. Jadi, dapat disimpulkan bahwa basisdata merupakan sekumpulan data yang terkomputerisasi dan berhubungan secara logis, yang dapat diolah untuk mendapatkan infomasi bagi suatu organisasi atau perusahaan.
2.1.2
DBMS Menurut Connolly dan Begg ( 2005, p16 ), Database Menagement
System (DBMS) adalah sistem perangkat lunak yang memungkinkan pengguna untuk mendefenisikan, membuat, memelihara, dan menyediakan control akses ke basisdata. Fasilitas – fasilitas yang disediakan oleh DBMS adalah sebagai berikut (Connolly dan Begg, 2005, p16-p17 ) :
8 a. Memungkinkan pengguna untuk mendefenisikan database, melalui Data Definition
Language
(DDL).
DDL
memungkinkan
pengguna
untuk
menentukan struktur dan jenis data serta batasan pada data yang disimpan dalam database. b. Memungkinkan pengguna untuk melakukan manipulasi data menggunakan Data Manipulation Language (DML). DML menyediakan fasilitas pemeriksaan umum yang disebut query language. c. Menyediakan akses kendali pada database seperti : •
Sistem
keamanan,
yang
mencegah
pengguna
tak
berwewenang
mengakses database •
Sistem integritas, yang memelihara konsistensi data
•
Sistem kendali konkurensi, yang memungkinkan pembagian akses terhadap database
•
Sistem kendali recovery, yang menyimpan database kembali pada keadaan konsisten sebelumnya
•
katalog pengguna (user-accessible catalog), yang berisi data dalam database
2.1.3
Komponen Database Menurut Connolly dan Begg ( 2005, p18-p21 ), komponen database
terbagi menjadi lima komponen yaitu :
9 a. Hardware Hardware dapat berkisar dari komputer tunggal, mainframe tunggal, hingga komputer jaringan. Hardware tertentu tergantung pada kebutuhan organisasi dan DBMS yang digunakan. Sebuah DBMS memerlukan jumlah minimum memori dan harddisk untuk bekerja, tetapi konfigurasi yang minimum tidak memberikan performa yang handal. b. Software Komponen ini terdiri dari DBMS dan program aplikasi bersama sistem operasi dan software jaringan, jika DBMS digunakan melalui jaringan. Program aplikasi seperti C++, Java dan Visual Basic. c. Data Merupakan komponen yang terpenting dalam DBMS. Data berfungsi sebagai jembatan antara komponen mesin dan komponen manusia. Database berisi data operasional dan meta data. Struktur database disebut skema, skema terdiri dar banyak table, didalam table terdapat lebih dari satu atribut. d. Prosedur Mengacu pada instruksi dan aturan yang memerintahkan perancangan dan penggunaan database. Pengguna sistem dan petugas yang mengatur database memerlukan dokumentasi prosedur bagaimana untuk menggunakan dan menjalankan sistem. Intruksi tersebut seperti : •
Bagaimana cara masuk ke dalam DBMS
•
Bagaimana menggunakan fasilitas DBMS tertentu
•
Memulai dan menghentikan DBMS
10 •
Bagaimana menangani kesalahan hardware dan software tertentu
e. Manusia Komponen manusia terdiri dari : •
Pemogram Aplikasi : Yang bertanggungjawab untuk membuat aplikasi database dengan menggunakan bahasa pemograman yang ada
•
End User : siapapun yang berinteraksi dengan sistem secara online atau tidak melalui komputer atau jaringan
•
Data Administrator : seseorang yang berwewenang membuat keputusan dan kebijakan strategis mengenai data yang ada
•
Database
Administrator
:
Menyediakan
dukungan
teknis
untuk
implementasi keputusan tersebut, dan bertanggungjawab atas keseluruhan kendali sistem pada tingkat teknis. 2.1.4
Keuntungan dan kerugian DBMS Menurut Connolly dan Begg ( 2002, p25-p29 ), DBMS memiliki
keuntungan dan kerugian sebagai berikut : 2.1.4.1 a.
Keuntungan DBMS
Kontrol terhadap pengulangan data (data redundancy). Database
berusaha
untuk
menghilangkan
pengulangan
dengan
mengintegrasikan file sehingga berbagai copy dari data yang sama tidak tersimpan. Bagaimanapun juga pendekatan ini tidak menghilangkan pengulangan
secara
menyeluruh,
pengulangan dalam database.
tetapi
mengendalikan
jumlah
11 b.
Data yang konsisten Dengan menghilangkan atau mengendalikan pengulangan, kita telah mengurangi resiko ketidakkonsistenan yang terjadi. Jika item data tersimpan hanya sekali didalam database, maka berbagai update bagi nilai data tersebut harus dibuat sekali dan nilai baru tersebut harus tersedia dengan segera kepada semua pengguna. Jika item data disimpan lebih dari sekali, sistem dapat memastikan bahwa semua copy dari item tersebut tetap konsisten.
c.
Semakin banyak informasi yang didapat dari data yang sama Dengan data operasional yang terintegrasi, hal ini memungkinkan bagi organisasi untuk mendapatkan informasi tambahan dari data yang sama.
d.
Pembagian Data (sharing of data) Database termasuk bagian dari keseluruhan organisasi dan dapat dibagikan oleh semua pengguna yang berotoritas. Dalam hal ini, banyak pengguna membagikan lebih banyak data.
e.
Meningkatkan integritas data. Integritas database mengacu pada validitas dan konsistensi data yang disimpan. Integritas biasanya diekspresikan dalam istilah batasan, yang berupa aturan konsisten yang tidak boleh dilanggar oleh database. Integrasi memungkinkan BDA untuk menjelaskan, dan memungkinkan DBMS untuk membuat batasan integritas.
f.
Meningkatkan keamanan data. Keamanan database yaitu melindungi database dari pengguna yang tak beotoritas. Hal ini dapat dilakukan dengan menggunakan sistem username
12 dan password untuk mengidentifikasi orang yang berotoritas pada database. Akses pengguna yang berotoritas pada database mungkin dibatasi oleh jenis operasi seperti pengambilan, insert, update, dan delete data. g.
Penetapan standarisasi. Integrasi memungkinkan DBS untuk mendefenisikan dan membuat standart yang diperlukan. Standart ini termasuk standart departemen, organisasi, nasional, atau internasional dalam format data untuk memfasilitasi pertukaran data antara sistem, ketetapan penamaan, standart dokumenrasi, prosedur update, dan aturan akses.
h.
Pengurangan biaya. Dengan menyatukan semua data operasional organisasi ke dalam satu database dan pembuatan sekelompok aplikasi yang bekerja pada satu sumber data dapat menghasilkan pengutangan biaya. Penyatuan biaya pengembangan dan pemeliharaan sistem pada setiap departemen akan menghasilkan total biaya lebih rendah. Sehingga biaya lainnya dapat digunakan untuk membeli konfigurasi sistem yang sesuai bagi kebutuhan organisasi.
i.
Menyeimbangkan Konflik Kebutuhan. Setiap
pengguna
bertentangan
mempunyai
dengan
kebutuhan
kebutuhan
yang
pengguna
lain.
memungkinkan Sejak
database
dikendalikan oleh DBA, DBA dapat membuat keputusan berkaitan dengan perancangan dan penggunaan operasional database yang
13 menyediakan penggunaan terbaik dari sumberdaya bagi keseluruhan organisasi. j.
Meningkatkan kemampuan akses dan respon pada data. Dengan pengintegrasian data yang melintasi batasan departemen dapat secara langsung diakses pada pengguna akhir. Hal ini dapat menyediakan sebuah sistem dengan lebih banyak fungsi seperti fungsi untuk menyediakan layanan yang lebih baik pada pengguna akhir atau klien organisasi.
Banyak
DBMS
menyediakan
query
language
yang
memungkinkan pengguna untuk menanyakan pertanyaan ad hoc dan memperoleh informasi yang diperlukan dengan segera pada terminal mereka, tanpa memerlukan programmer menulis beberapa software untuk mengubah informasi ini dari database.
2.1.4.2 a.
Kerugian DBMS
Kompleksitas. Ketentuan dari fungsi yang kita harapkan dari DBMS yang baik membuat DBMS menjadi sebuah software yang sangat kompleks. Perancang dan pengembang database, DA dan DBA, serta pengguna akhir harus memahami funsi tersebut untuk mendapatkan banyak keuntungan dari DBMS ini.
b.
Ukuran Fungsi yang kompleks dan luas membuat DBMS menjadi software yang sangat besar, memerlukan banyak ruang hardisk dan jumlah memory yang besar untuk berjalan dengan efisien.
14 c.
Biaya dari suatu DBMS Biaya DBMS bervariasi, tergantung pada lingkungan dan fungsi yang disediakan. Disitu juga terdapat biaya pemeliharaan tahunan yang juga dimasukkan dalam daftar harga DBMS.
d.
Biaya penambahan perangkat keraas. Kebutuhan tempat penyimpanan bagi DBMS dan database sangat memerlukan pembeliaan tempat penyimpanan tambahan. Lebih lanjut, untuk mencapai performa yang diperlukan, mungkin diperlukan untuk membeli mesin yang lebih besar dan sebagainya. Hal ini tentu memerlukan tambahan biaya yang tidak sedikit. Tergantung pada spesifikasi perangkat keras yang diperlukan.
2.1.5
Database Languages Menurut Connolly dan Begg ( 2005, p113 ) sebuah Structure Query
Language terdiri dari dua bagian yaitu Data Defenition Language (DDL) dan Data Manipulation language (DML), DDL digunakan untuk menentukan skema database dan DML digunakan baik untuk membaca dan meng-update database. Keduanya disebut data sublanguage karena mereka tidak membangun semua kebutuhan pemograman komputer seperti pernyataan kondisi dan iterative yang digunakan oleh beberapa bahasa pemograman tingkat tinggi lainnya.
15 2.1.5.1
Data Defenition Language Menurut Connolly dan Begg ( 2005, p40 ), Data Defenition Language (DDL) adalah suatu bahasa yang memungkinkan DBA atau pengguna untuk mendeskripsikan dan memberi nama entitas, atribut, dan relationship yang diperlukan untuk aplikasi DDL berfungsi untuk mengubah suatu data menjadi data yang berguna bagi pengguna. Beberapa statement DDL menurut Connolly dan Begg ( 2002, p167) : 1. Create Table Untuk membuat table dengan mengidentifikasikan tipe data untuk tiap kolom. 2. Alter Table Untuk menambah atau membuang kolom dan konstrain. 3. Drop Table Untuk membuang atau menghapus table beserta semua data yang terkait didalamnya. 4. Create Index Untuk membuat index pada suatu table. 5. Drop Index Untuk membuang atau menghapus index atau menghapus index yang sudah dibuat sebelumnya.
16 2.1.5.2
Data Manipulation Language. Menurut Connolly dan Begg ( 2005, p40-p41 ) DML adalah suatu bahasa yang menyediakan sekumpulan operasi yang diinginkan untuk mendukung operasi manipulasi data utama pada data yang diperoleh dalam database. DML menyediakan operasi dasar manipulasi data pada data yang ada dalam database, yaitu : -
Penyisipan data baru ke dalam database (insertion)
-
Mengubah atau memodifikasi data yang tersimpan dalam database (modify).
-
Pemanggilan data yang ada dalam database (retrieve).
-
Menghapus data dari database (delete). Menurut Connolly dan Begg kita dapat membedakan DML
menjadi dua tipe yang berbeda, yaitu : a.
Prosedural DML Prosedural DML adalah suatu bahasa yang memungkinkan
pengguna (umumnya programmer) untuk member instruksi ke sistem mengenai
data
apa
yang
dibutuhkan
dan
bagaimana
cara
pemanggilannya (retrieve). Artinya pengguna harus menjelaskan operasi pengaksesan data yang akan digunakan dengan menggunakan prosedur yang ada untuk mendapatkan informasi yang dibutuhkan.
17 b.
Non prosedural DML Non prosedural adalah sutau bahasa yang memungkinkan
pengguna untuk menentukan data apa yang dibutuhkan dengan menyebutkan spesifikasinya tanpa menspesifikasikan bagaimana cara mendapatkannya.
2.1.6
Fourth Generation Language Menurut Connolly dan Begg ( 2005, p42-p43 ), dibandingkan dengan 3rd
GL yang procedural, 4th GL adalah non-prosedural yaitu pengguna lebih ditekankan pada pendefenisian apa yang akan dikerjakan, daripada bagaimana mengerjakannya. Suatu operasi yang memerlukan ratusan baris dalam third – generation language, seperti umumnya COBOL memerlukan sedikit baris dalam fourth – generation language. Fourth – generation language diharapkan sebagian besar bergantung pada tingkat komponen yang lebih tinggi, yang dikenal sebagai alat generasi keempat. Pengguna menyatakan bahwa 4GL dapat meningkatkan produktivitas pada biaya sehingga beberapa masalah dapat ditanggulangi. Fourth – generation language meliputi : a. Forms generators Merupakan fasilitas interaktif untuk membuat form input data dan tampilannya. Mendefenisikan desain tampilan, informasi apa yang akan disajikan, komponen warna pada layar dan karakteritik lainnya.
18 b. Report generators Membuat laporan yang datanya diambil dari basisdata. Memungkinkan pengguna untuk mengambil data yang diperlukan untuk laporan. Lebih menekankan kepada rancangan output, yaitu bagaimana suatu laporan akan disajikan. c. Graphics generators Digunakan untuk mengambil data dari basisdata, dan menampilkannya dalam bentuk grafik, seperti bar chart, pie chart, dll.
d. Application generators Fasilitas untuk menghasilkan program yang berhubungan dengan data, menetukan bagaimana menampilkan fungsi – fungsi.
2.1.7
Siklus Hidup Aplikasi Basisdata Menurut Connoly dan Begg ( 2005, p284 ), sebuah sistem database
merupakan komponen dasar sistem informasi organisasi yang lebih besar. Oleh karena itu siklus hidup aplikasi database berhubungan dengan siklus hidup sistem informasi. Langkah-langkah siklus hidup aplikasi adalah sebagai berikut
19 Perencanaan Basisdata
Definisi Sistem
Pengumpulan dan Analisis Kebutuhan Desain Basisdata
Penyeleksian DBMS
Perancangan Konseptual Basis Data
Desain Aplikasi Perancangan Logikal Basis Data
Perancangan Fisikal Basis Data
Prototyping
Implementasi
Konversi dan Pemasukkan Data Pengujian
Perawatan Operasional Gambar 2.1 Database Lifecycle ( Sumber : Connolly dan Begg, 2005, p287 )
20 2.1.7.1 Perencanaan Basisdata Menurut Connolly dan Begg ( 2005, p285 ), Perencanaan Basisdata merupakan metode dimana perencanaan dari tahapan database lifecycle dapat terwujud secara efektif dan efisiensi. Perencanaan basisdata harus diintegrasikan dengan keseluruhan sistem informasi dalam suatu organisasi. Ada 3 ( tiga ) persoalan pokok yang terlibat dalam perumusan suatu strategi sistem informasi, yakni : • Identifikasi rencana, sasaran ( goals ) dan tujuan perusahaan dengan penentuan kebutuhan sistem informasi. • Evaluasi sistem informasi yang sedang berjalan untuk menentukan kelebihan dan kekurangan yang ada. • Penilaian terhadap peluang IT apakah mampu menghasilkan keuntungan yang kompetitif. Tahap awal yang penting dalam perencanaan basisdata adalah menentukan dengan jelas mission statement ( pernyataan isi ) untuk proyek basisdata. Mission statement menentukan tujuan utama aplikasi basisdata. Mission statement membantu menjelaskan tujuan proyek basisdata dan menyediakan cara yang lebih jelas untuk menciptakan suatu basisdata yang efektif dan efisien. Tahap selanjutnya adalah Mission Objective. Setiap Mission Objective harus mengidentifikasi tugas – tugas tertentu yang akan didukung basisdata.
21 2.1.7.2 Definisi Sistem Pengertian sistem menurut McLeod dan Schell ( 2001, p9 ) adalah sekelompok elemen-elemen yang terintegrasi dengan maksud umum untuk mecapai suatu tujuan. Sedangkan pengertian sistem menurut Mannino ( 2001, p192 ), sistem adalah kumpulan dari komponen - komponen yang berhubungan dan bekerja bersama-sama untuk menghasilkan suatu tujuan tertentu. Tujuan tersbut dicapai dengan berinteraksi lingkungan dan fungsi tertentu. Menurut Connolly dan Begg ( 2005 , p286 ), Definisi Sistem merupakan Metode yang menentukan batas – batas dan ruang lingkup dari suatu sistem basisdata, termasuk pada tampilan, pengguna dan aplikasi yang dibutuhkan. User views menentukan apa yang dibutuhkan oleh aplikasi basisdata dari perspektif peranan pekerjaan tertentu ( seperti manager dan supervisor ) atau area aplikasi perusahaan ( seperti marketing, personal, atau stock control ).
2.1.7.3 Pengumpulan dan Analisis Kebutuhan Menurut connolly dan Begg ( 2005, p288 ), pengumpulan dan analisis kebutuhan merupakan suatu proses mengumpulkan dan menganalisis informasi bagian dari perusahaan yang akan didukung oleh aplikasi basisdata dan penggunaan
informasi
untuk
mengidentifikasi
kebutuhan
–
kebutuhan
penggunaan dari sistem yang baru. Ada beberapa teknik untuk mengumpulkan informasi yang disebut teknik penemuan fakta, yaitu ( Connolly dan Begg, 2005, p317-p320 ) : •
Mempelajari dokumentasi
22 Mempelajari dokumen agar mengetahui desain sistem sebelumnya atau hal-hal yang berkaitan dengan masalah yang dihadapi. •
Wawancara Mengumpulkan informasi dari individu-individu melalui interaksi tatap muka.
•
Observasi Ikut berpartisipasi atau menyaksikan seseorang yang sedang melakukan aktivitas untuk mempelajari sistem.
•
Penelitian Salah satu teknik yang berguna dalam meneliti masalah dan aplikasi. Jurnal pertukaran data di komputer, buku-buku referensi, dan internet adalah sumber informasi yang bagus.
•
Kuesioner Dokumen bertujuan khusus yang digunakan untuk mengumpulkan informasi dan pendapat dari sejumlah besar responden.
2.1.7.4 Desain Basisdata Menurut Connolly dan Begg ( 2005, p291 ), desain basisdata merupakan suatu proses pembuatan sebuah desain basisdata yang akan mendukung tujuan dan operasi suatu perusahaan. Tiga fase desain basisdata yaitu ( Connolly dan Begg, 2005, p293-295 ) :
23 •
Conceptual database design Suatu proses pembentukan model dari informasi yang digunakan dalam perusahaan, bebas dari keseluruhan aspek fisik. Model data dibangun dengan menggunakan informasi dalam spesifikasi kebutuhan user. Model data konseptual merupakan sumber informasi untuk fase desain logikal.
•
Logical database design Suatu proses pembentukan model dari informasi yang digunakan dalam perusahaan berdasarkan model data tertentu, tetapi bebas dari DBMS tertentu dan aspek fisik lainnya. Model data konseputal yang telah dibuat sebelumnya, diperbaiki dan dipetakan ke dalam model data logikal.
•
Physical database design Suatu proses yang menghasilkan deskripsi implementasi basisdata pada penyimpanan dan metode akses yang digunakan untuk mencapai akses yang efisien terhadap data. Dapat dikatakan juga, desain fisikal merupakan cara pembuatan menuju sistem DBMS tertentu.
2.1.7.5 Penyeleksian DBMS Menurut Connolly dan Begg ( 2005, p296 ), penyeleksian DBMS
merupakan sebuah metode yang digunakan untuk memilih DBMS yang sesuai dengan sistem basisdata. Tahap – tahap pemilihan DBMS : •
Menentukan istilah referensi studi.
•
Membuat daftar sementara 2 ( dua ) atau 3 ( tiga ) produk.
24 •
Mengevaluasi produk.
•
Merekomendasikan pemilihan dan menghasilkan laporan.
2.1.7.6 Desain Aplikasi Menurut Connolly dan Begg ( 2005, p299 ), desain aplikasi merupakan
mteode ysng digunakan untuk merancang user interface, merancang applikasi yang digunakan dan memproses sistem basisdata. Perancangan basisdata dan desain aplikasi adalah aktivitas bersamaan pada database application lifecycle. Dalam kasus sebenarnya, adalah tidak mungkin untuk menyelesaikan desain aplikasi sebelum perancangan basisdata selesai. Dalam desain aplikasi harus memastikan semua pertanyaan fungsional dari spesifikasi kebutuhan pemakai ( user requirement menyangkut perancangan aplikasi program yang
spesification ) yang
mengakses basisdata dan
merancang transaksi yaitu cara akses ke basisdata dan perubahan terhadap isi basisdata ( retrieve, update dan kegiatan keduanya ). Artinya bagaimana fungsi yang dibutuhkan bisa terpenuhi dan merancsng antarmuka pemakai ( user interface ) yang tepat. Antarmuka yang dirancang harus memberikan informasi yang dibutuhkan dengan cara untuk menciptakan “ user - friendly ”. kebanyakan antarmuka pemakai yang diabaikan akan menimbulkan masalah.
2.1.7.7 Implementasi Menurut Connolly dan Begg ( 2005, p304 ), implementasi merupakan suatu metode yang digunakan untuk mendefinisikan basisdata fisikal dan
25 menciptakan aplikasi yang dibutuhkan. Pada penyelesaian tingkat – tingkat perancangan ( dimana mungkin atau tidak melibatkan prototyping ). Implementasi basisdata dicapai dengan menggunakan Data Definition Language ( DDL ) dari DBMS yang dipilih atau Grafical User Interface ( GUI ), dimana menyediakan fungsional yang sama ketika menyembunyikan pernyataan DDL tingkat rendah. Pernyataan DDL tersebut digunakan untuk membuat struktur basisdata dan file basisdata kosong.Bagian dari program aplikasi ini adalah transaksi basisdata, dimana diimplementasikan dengan menggunakan Data Manipulation Language ( DML ) dari DBMS sasaran, yang mungkin disimpan dalam sekumpulan bahasa pemrograman.
2.1.7.8 Konversi dan Pemasukkan Data Menurut Connolly dan Begg ( 2005, p305 ), konversi dan pemasukkan data merupakan metode yang digunakan untuk memproses data dari sistem lama ke sistem yang baru dan mengubah aplikasi yang sudah ada untuk dapat dijalankan pada basisdata yang baru. Langkah ini diperlukan hanya ketika suatu sistem basisdata baru menimpa sistem yang lama.
2.1.7.9 Pengujian Menurut Connolly dan Begg ( 2005, p305 ), Pengujian merupakan metode yang digunakan untuk menguji sistem basisdata untuk mencari kemungkinan eror yang ada dan divalidasikan terhadap persyaratan yang telah ditentukan oleh pengguna. Sebelum ditunjukkan secara langsung, aplikasi basisdata yang baru dikembangkan seharusnya diuji sepenuhnya.
26 2.1.7.10 Perawatan Operasional Menurut Connolly dan Begg ( 2005, p306 ), Perawatan operasional merupakan proses memonitor dan merawat sistem setelah dilakukan instalasi. Pada langkah sebelumnya, aplikasi basisdata telah diimplementasikan dan diuji sepenuhnya. Kemudian sistem memasukin langkah perawatan, yang melibatkan aktivitas – aktivitas berikut : •
Mengawasi kinerja sistem.
•
Mempertahankan dan meng-upgrade aplikasi basisdata ( ketika dibutuhkan ).
2.1.8
Entity – Relationship Modeling Menurut Connolly dan Begg ( 2005, p342 ), salah satu aspek yang sulit
dalam perancangan basisdata adalah kenyataannya bahwa perancang, pemrogram dan pengguna terakhir cenderung melihat data dengan cara yang berbeda. Karena itu, untuk memastikan pemahaman secara ilmiah dari data dan bagaimana data digunakan oleh perusahaan membutuhkan sebuah bentuk komunikasi yang non – teknis dan bebas dari kebingungan.
2.1.8.1 Entity Types Menurut Connolly dan Begg ( 2005, p343 ), Tipe entitas ( entity type ) merupakan sebuah kumpulan dari objek dengan sifat yang sama, dimana diidentifikasikan oleh perusahaan keberadaannya tidak tergantung. Konsep dasar dari bentuk ER adalah tipe entitas, dimana yang mempresentasikan kumpulan
27 dari objek didalam kenyataannya dengan sifat yang sama. Sebuah tipe entitas memiliki keberadaan yang bebas yang bisa menjadi objek dengan keberadaan fisik atau menjadi objek dengan keberadaan konseptual. Ini berarti perancang yang berbeda memungkinkan identifikasi entitas yang berbeda. Sebuah basisdata biasanya mengandung banyak tipe entitas yang berbeda. Dalam UML, huruf pertama dari nama entitas diawalin dengan huruf kapital. Entity occurrence merupakan sebuah objek unik yang dapat identifikasi dari sebuah tipe entitas. Dalam istilah umumnya “ entity type ” dan “ entity occurrence ” digunakan istilah entitas agar artinya jelas.
Entity Name
Staff
Branch
Gambar 2.2 Contoh Tipe Entitas ( Sumber : Connolly dan Begg, 2005, p345 )
2.1.8.2 Relationship Types Relationship types merupakan sejumlah hubungan berarti antara tipe entitas. Sebuah tipe relationship merupakan sejumlah hubungan antara entitas satu dengan tipe entitas lainnya, dimana setiap tipe relationship diberi nama yang menggambarkan fungsi yang berbeda. Derajat dari relationship merupakan jumlah dari partisipasi tipe entitas dalam sebuah tipe relationship tertentu. Entitas yang berkaitan dalam sebuah
28 tipe relationship dikenal sebagai participant dalam relationship dan jumlah participant dalam relationship disebut sebagai derajat dari relationship. Oleh karena itu, derajat dari sebuah relationship menunjukan jumlah dari entitas yang terkait dalam relationship. Sebuah relationship berderajat 2 ( dua ) disebut sebagai ternary, dan relationship berderajat 4 ( empat ) disebut sebagai quertenary. Biasanya nama dari relationship menggunakan kata kerja.
Relationship Name
Staff
< Has
Branch
Gambar 2.3 Contoh B inary Relationship ( Sumber : Connolly dan Begg, 2005, p347 )
Staff
Register
Branch ‘Pegawai mendaftarkan klien
Client
pada cabang’
Gambar 2.4 Contoh Tenary Relationship (Sumber : Connolly dan Begg 2002, p348)
29 Solicitor
Financial Institution
Arranges
Buyer
‘ Seorang pencari layanan
Bid
menyusun tawaran pada kepentingan dari seorang pembeli yang didukung oleh lembaga keuangan’
Gambar 2.5 Contoh Quertenary Relationship (Sumber : Connolly dan Begg 2005, p349)
2.1.8.3 Attribute Attribute merupakan sifat dari sebuah entitas atau tipe relationship. Sifat tertentu dari entitas disebut sebagai atribut. Atribut menyimpan nilai dari setiap entitas occurrence dan mewakili bagian utama dari data yang disimpan dalam basisdata. Attribute domain ( atribut domain ) merupakan sejumlah nilai yang diperkenankan untuk satu atau lebih atribut. Setiap atribut yang dihubungkan dengan sejumlah nilai disebut domain. Domain menetapkan nilai potensial yang sebuah atribut bisa disimpan atau sama dengan konsep domain pada model relasional.
30 Simple attribute ( atribut sederhana ) merupakan sebuah susunan atribut dari komponen tunggal ( single component ) dengan keberadaan yang bebas. Atribut sederhana tidak dapat dibagi lagi kedalam komponen yang lebih kecil, misalnya, nama dan umur dari entitas calon pegawai. Composite attribute ( atribut gabungan ) merupakan sebuah susunan atribut dari banyak komponen dengan sebuah keberadaan yang bebas dari masing – masingnya. Dalam hal ini, beberapa atribut dapat dipisahkan menjadi komponen yang lebih kecil lagi dengan keberadaan yang bebas dari masing – masingnya. Contohnya atribut alamat dari entitas kantor cabang yang mengandung nilai ( jalan, kota, kode pos ) bisa dipecahkan menjadi atribut sederhana jalan, kota, kode pos. Single value attribute ( atribut nilai tunggal ) merupakan atribut yang hanya menyimpan nilai tunggal untuk suatu sifat dari entitas. Sedangkan Multi value attribute merupakan atribut yang bisa menyimpan nilai lebih dari satu untuk suatu sifat dari entitas. Contoh Multi - value attribute, atribut telepon pada entitas kantor cabang yang bisa memiliki lebih dari satu nomor telepon. Derived attribute ( atribut turunan ) merupakan atribut yang menunjukkan nilai yang diperoleh dari atribut yang berhubungan atau kumpulan atribut yang berhubungan, tidak terlalu dibutuhkan dalam tipe entitas yang sama. Atribut turunan mungkin juga menyangkut hubungan dari atribut pada tipe entitas yang berbeda.
31 2.1.8.4 Candidate Key Candidate key merupakan sejumlah atribut kecil yang secara unik mengenali setiap kejadian di dalam tipe entitas. Sebuah candidate key merupakan jumlah atribut paling sedikit yang nilainya secara unik mengidentifikasi setiap entity occurrance atau memiliki nilai yang berbeda untuk setiap entity occurrance pada tipe entitas tertentu. Ini menyatakan bahwa candidate key tidak boleh mengandung nilai – nilai. Primary key merupakan candidate key yang digunakan untuk mengenali secara umum setiap occurrance dari sebuah tipe entitas. Tipe entitas mungkin memiliki lebih dari satu candidate key untuk sebuah entitas adalah berdasarkan pada pertinbangan panjang atribut, jumlah minimal dari kebutuhan atribut, dan seterusnya keunikannya. Candidate key yang tidak dipilih menjadi primary key disebut sebagai alternate key. Foreign key merupakan atribut pada satu relasi yang cocok pada candidate key dari beberapa relasi.
32
Primary Key
Staff
Area to lot attribute (s)
Branch
Manages
StaffNo {PK} Name Position Salary / totalstaff
Has Derived attribute
BranchNo {PK} Address Street City Postcode TelpNo [1...3]
Composite attribute
Multi – Valued attribute Gambar 2.6 Contoh Representasi atribut (Sumber : Connolly dan Begg 2005, p354)
2.1.8.5 Structural Constraint Structural Constraint diperlukan untuk menggambarkan batasan dari sebuah relasi seperti yang ada di dalam ‘dunia nyata’. Multiplicity didefinisikan sebagai jumlah kemungkinan kejadian pada suatu entitas yang berelasi. Ini adalah representasi dari kebijakan atau aturan bisnis yang dikeluarkan oleh user atau perusahaan. Terdapat 3 ( tiga ) jenis tipe relasi berdasarkan structural constraint yaitu: a. One-to-One ( 1:1) Contohnya adalah hubungan yang terjadi antara entitas “Dosen” dengan “fakultas”. Seorang dosen dapat menjadi dekan di nol atau satu fakultas dan satu fakultas hanya dapat memiliki satu dekan.
33 Mengajar Dosen
Mata Kuliah 1..1
0..1
b. One-to-Many ( 1:*) Contohnya adalah hubungan yang terjadi antara entitas “Dosen” dengan “Mata Kuliah”. Seorang dosen dapat mengajar nol atau banyak mata kuliah dan mata kuliah dapat diajar oleh nol atau satu dosen. Mengajar
Dosen 0..1
Mata Kuliah 0..*
c. Many-toMany ( *:*) Contohnya adalah hubungan yang terjadi antara entitas “Mahasiswa” dengan “Mata Kuliah”. Seorang mahasiswa dapat mengambil nol atau banyak mata kuliah dan satu mata kuliah dapat diambil oleh nol atau banyak mahasiswa. Mengambil
Mahasiswa 0..*
Mata Kuliah 0..*
Multiplicity sesungguhnya mengandung dua constraint yang dipisahkan, yang dikenal sebagai cardinality dan participation. Cardinality menggambarkan jumlah maksimum kemungkinan relationship occurrance untuk sebuah participating entity dalam relationship yang diberikan. Participation digunakan untuk menetapkan semua atau beberapa occurrance yang diikutsertakan dalam sebuah tipe relationship. Sebuah participation constraint yang menunjukan semua entity occurrance terkait dalam relationship tertentu disebut sebagai
34 mandatory participation. Sedangkan yang menunjukan hanya beberapa disebut sebagai optional participation.
Setiap Member staff mengatur 1 atau 0 branch
Setiap Branch diatur satu Member sstaff
Staff
Branch
Manages
StaffNo
1..1
0..1
BranchNo
Multiplicity Gambar 2.7 Contoh Multiplicity (Sumber : Connolly dan Begg 2005, p358)
2.1.9 Metodologi Perancangan Basisdata Menurut Connolly dan Begg ( 2005, p438 ), metodologi perancangan basisdata merupakan pendekatan terstruktur yang menggunakan bantuan prosedur, teknik, tools, dan dokumentasi untuk mendukung dan memfasilitasi proses perancangan basisdata. Metodologi perancangan basisdata terbagi atas 3 tahap perancangan, yaitu perancangan konseptual, perancangan logikal, dan perancangan fisikal basisdata. Meskipun langkah-langkah dalam metodologi digambarkan secara proses yang berurutan, harus ditekankan bahwa tidak berarti metodologi tersebut
35 harus dibuat secara berurutan. Seringkali pengetahuan yang didapat pada suatu tahap mempengaruhi keputusan yang telah diambil dalam tahap sebelumnya.
2.1.9.1 Perancangan Konseptual Menurut Connolly dan Begg ( 2005, p438 ), perancangan basisdata konseptual merupakan proses yang membangun sebuah model data dari informasi yang dieperoleh dalam sebuah organisasi, tetapi bebas dari semua pertimbangan fisik. Langkah 1 Membangun Model Data Konseptual Model data konseptual ( conceptual data model ) dari organisasi merupakan sebuah sumber informasi untuk tahapan selanjutnya yang dinamakan perancangan basisdata fisikal. Tahap – tahap yang ada dalam perancangan basisdata konseptual adalah : Langkah 1.1 Mengidentifikasi tipe entitas . Langkah pertama dalm membangun suatu model data konseptual lokal adalah menjelaskan objek utama yang digunakan oleh pemakai. Objek – objek ini merupakan tipe entitas untuk sebuah model. Suatu metode dari pengidentifikasian tipe entitas adalah untuk menguji spesifikasi kebutuhan semua pengguna.
Langkah 1.2 Mengidentifikasi tipe hubungan (relationship). Suatu langkah yang digunakan untuk melihat semua entitas dalam
spesifikasi
kebutuhan
pengguna.
Langkah
ini
36 menggunakan
struktur
dari
spesifikasi
kebutuhan
untuk
mengidentifikasi relationship.
Langkah 1.3
Mengidentifikasi dan menghubungkan atribut
dengan tipe entitas atau tipe hubungan (relationship). Tahap ini digunakan untuk mengidentifikasi semua tipe nyata tentang semua entitas dan relationship yang telah dipilih untuk direpresentasikan ke dalam database.
Langkah 1.4 Menentukan atribut domain. Tujuan dari tahap ini adalah mentukan semua atribut domain dalam suatu model. Sebuah domain merupakan penampungan nilai dari satu atribut atau lebih yang bernilai sama.
Langkah 1.5
Menentukan candidate key, primary key, dan
alternate keys. Identifikasi candidate key untuk tiap-tiap entitas dan jika ada lebih dari satu candidate key, pilih satu untuk menjadi primary key. Dokumentasikan primary dan alternate key untuk entitas-entitas yang merupakan strong entities.
Langkah 1.6 Pemilihan model konsep (optional). Dalam tahap ini pilihan yang dapat digunakan untuk melanjutkan
pengembangan model ER dengan menggunakan
37 konsep pemodelan yang lebih bagus, seperti specialization / generalization, aggregation dan compsition.
Langkah 1.7 Pengecekan redundansi pada model. Dalam tahap ini, pemeriksaan model data konseptual bertujuan untuk mengidentifikasi apakah terdapat redundasi dan menghapus redundasi yang ada.
Langkah 1.8 Validasi model konsep pada tahap lokal dengan transaksi user. Tujuan yang ingin dicapai dalam tahap ini adalah memeriksa untuk memastikan bahwa model – model mendukung transaksi yang diperlukan.
Langkah 1.9 Memperlihatkan model konsep kepada pengguna. Tujuan yang ingin dicapai dalam tahap ini adalah untuk melihat
data
model
konseptual
dengan
pengguna
untuk
memastikan bahwa pertimbangan model konseptual menjadi ‘benar’ serta representasi data persyaratan yang interprise.
38 2.1.9.2 Perancangan Logikal Menurut Connolly dan Begg ( 2005, p441 ), perancangan basisdata merupakan proses membangun sebuah model dari informasi yang diperoleh pada sebuah organisasi berdasarkan model data khusus ( specific data model ), tetapi bebas dari hal yang berkaitan dengan DBMS dan pertimbangan fisik lainnya.
Langkah 2 Membangun dan validasi model data logikal Dalam tahap perancangan logikal, dilakukan pembuatan model data logikal dari model data konseptual dan validasi model data logikal untuk
memastikan
kebenaran
strukturnya
(menggunakan
teknik
normalisasi) dan untuk memastikan terpenuhinya dukungan model logikal atas transaksi-transaksi yang berhubungan ( Connolly dan Begg, 2005, p462 ). Langkah-langkah dalam membangun dan memvalidasikan model data logikal yaitu ( Connolly dan Begg, 2005, p1328-p1330 ) :
Langkah 2.1 Membuat relasi untuk model data logikal. Digunakan untuk membuat hubungan model data logikal yang mewakili entitas, hubungan dan atribut yang telah diidentifikasikan. Langkah 2.2 Memvalidasikan hubungan dengan menggunakan normalisasi. Pada tahap ini, digunakan untuk mengatur hubungan yang mempresentasikan model data konseptual yang telah dibuat pada
39 tahap pertama, kemudian mengkelompokkan atribut – atribut dari setiap
hubungan
dengan
menggunakan
aturan
–
aturan
normalisasi.
Langkah 2.3 Memvalidasikan hubungan dengan transaksi pengguna. Tujuan dari langka ini adalah memvalidasikan model data logikal untuk memastikan bahwa model yang digunakan telah mendukung transaksi yang diperlukan, sebagai perincian pada spesifikasi persyaratan pengguna.
Langkah 2.4 Pemeriksaan integrity constraints Tahap ini digunakan untuk memeriksa kendala – kendala yang dihadapi dalam suatu basisdata, seperti ketidakkomplitan, ketidakakuratan, dan ketidakkonsistenan.
Langkah 2.5 Memperlihatkan model data logikal lokal kepada pengguna. Tujuan dari tahap ini adalah mengkaji ulang suatu model data logikal, pengguna memastikan bahwa pertimbangan suatu model dapat menjadi suatu representasi yang benar sebagi persyaratan data dari sebuah perusahaan.
40 Langkah 2.6 Menggabungkan model data logikal lokal ke model global. Tahap ini digunakan untuk menggabungkan data logikal local menjadi satu model data logikal global yang mewakili pengguna dari basisdata.
Langkah 2.7 Memeriksa perkembangan di masa depan. Tahap ini digunakan untuk mentukan apakah adanya kemungkinan perubahan yang signifikan di masa yang akan datang dan dapat digunakan untuk menilai apakah model data logikal dapat mengakomodasi perubahan.
2.1.9.3 Perancangan Fisikal Menurut Connolly dan Begg ( 2005, p496 ), perancangan basisdata merupakan proses pembuatan deskripsi dari suatu impelementasi basisdata pada secondary storage ( media penyimpanan ), hal ini dideskripsikan hubungan utama ( base relation ), organisasi file, dan indeks yang digunakan untuk mencapai efesiensi akses ke dalam data dan hubungan integritas constraint ( Assiciated Integrity Constraint ) yang lainnya dan hal yang berkaitan dengan kemanan ( security measure ). Tujuan utama dari perancangan basisdata fisikal adalah untuk mendeskripsikan
bagaimana
perancangan
bermaksud
mengimplementasikan secara fisik dari perancangan basisdata logikal.
untuk
41 Langkah-langkah pada metodologi perancangan basisdata fisikal yaitu ( Connolly dan Begg, 2005, p1330-p1331 ) :
Langkah 3
Menejermahkan model data logikal untuk DBMS yang
digunakan Menghasilkan skema relasi basisdata dari model data logikal, yang dapat diimplementasikan pada DBMS yang akan digunakan.
Langkah 3.1 Merancang relasi dasar Menentukan bagaiman representasi relasi dasar yang telah diidentifikasi pada model data logikal global, agar dapat diimplementasikan
pada
DBMS
tujuan.
Informasi
yang
dibutuhkan dapat diperoleh dari kamus data dan defenisi dari relasi dideskripsikan menggunakan Database Design Language (DDL). Dokumentasikan relasi dasar.
Langkah 3.2 Merancang representasi derived data Menentukan bagaimana representasi data turunan yang ada pada model data logikal global, agar dapat diimplementasikan pada DBMS tujuan. Atribut yang mena nilainya didapatkan dari mengkaji nilai atribut lain dinamakan derived atau calculate attributes. Contohnya jumlah karyawan yang bekerja pada suatu cabang perusahaan atau total gaji semua karyawan.
42 Langkah 3.3 Merancang general constraints Merancang batasan-batasan umum untu DBMS yang akan digunakan. Dokumentasikan rancangan batasan-batasan umum tersebut.
Langkah 4 Merancang index dan organisasi file. Untuk mencapai file organisasi yang optimal untuk menyimpan hubungan dasar dan indeks yang diperlukan untuk mencapai kinerja yang dapat diterima, yaitu cara dalam hubungan dan tuples yang akan dilaksanakan dalam penyimpanan sekunder.
Langkah 4.1 Menganalisa transaksi Tujuan dari tahap ini adalah untuk dapat dimengerti fungsi dari transaksi yang akan berjalan dalam suatu basisdata dan untuk menganalisa transaksi – transaksi yang penting.
Langkah 4.2 Memilih file organizations Tujuan langkah ini adalah menentukan organisasi file yang efisien untuk tiap-tiap relasi dasar jika diperbolehkan oleh DBMS yang akan digunakan. Dalam banyak kasus, DBMS relasional memberikan sedikit atau tidak pilihan untuk memilih organisasi file.
43 Langkah 4.3 Memilih indeks Tahap ini digunakan untuk menentukan apakah penambahan indeks akan meningkatkan kinerja sistem.
Langkah 4.4 Memperkirakan kebutuhan kapasitas disk Tahap ini digunakan untuk memperkirakan jumlah ruang disk yang akan diminta oleh basisdata. Estimasi pemakaian disk tergantung pada DBMS dan perangkat keras yang digunakan untuk mendukung basisdata.
Langkah 5 Merancang tampilan pengguna Kegunaannya adalah untuk merancang tampilan pengguna yang teridentifikasikan pada koleksi persyaratan dan menganalisa langkah dari siklus hidup pembangunan sistem basisdata.
Langkah 6 Merancang mekanis kemanan Tujuan dari langkah ini adalah merancang mekanisme keamanan basisdata yang dispesifikasikan oleh pengguna selama persyaratan dan tahap pengumpalan dari siklus hidup pengembangan sistem basisdata.
44 Langkah 7 Mempertimbangkan adanya redudansi terkontrol (controlled redudancy) Tujuan dari langkah ini adalah untuk menetukan redundansi yang dikontrol berdasarkan aturan normalisasi yang akan meningkatkan kinerja dari sistem.
Langkah 8
Mengawasi dan melakukan setting terhadap sistem
operasi. Tujuan dari langkah ini adalah memantau sistem operasi dan meningkatkan kinerja dari sistem untuk memperbaiki keputusan rancangan yang tidak tepat.
2.1.10 Normalisasi Normalisasi merupakan sebuah teknik dalam perancangan logikal sebuah basis data, teknik pengelompokkan atribut dari suatu relasi sehingga membentuk struktur relasi yang baik (tanpa redundansi). Menurut Connolly dan Begg ( 2005, p388 ), pengertian normalisasi merupakan teknik untuk menghasilkan sejumlah relasi table dengan properties yang diinginkan, sesuai dengan kebutuhan data dari perusahaan. Dengan kata lain normalisasi merupakan proses mengubah suatu relasi yang memiliki masalah tertentu ke dalam dua relasi atau lebih yang tidak memiliki masalah tersebut. Masalah yang dimaksud itu sering disebut dengan istilah anomali.
45 Normalisasi
sering
dieksekusi
sebagai
langkah-langkah
yang
berangkai/berseri. Bentuk normal merupakan suatu aturan yang dikenakan pada relasi-relasi dalam basis data dan harus dipenuhi oleh relasi-relasi tersebut pada tingkatan normalisasi. Suatu relasi dikatakan berada dalam bentuk normal tertentu jika memenuhi kondisi-kondisi tertentu.
46 Sumber Data
Pengguna
Persyaratan Khusus Pengguna
Formulir / Laporan yang digunakan atau dihasilkan oleh perusahaan
Sumber yang menjelaskan perusahaan, seperti kamus data dan model data perusahaan
Memindahkan semua atribut ke dalam bentuk tabel Menghapus semua group perulangan
UNF
1NF Menghapus ketergantungan parsial 2NF Menghapus ketergantungan transitif 3NF
Gambar 2.8 Ilustrasi Diagram Dari Proses Normalisasi Sumber : Connolly dan Begg ( 2005, p402 )
47 Beberapa tingkatan yang biasa digunakan pada normalisasi adalah: 1.
UNF Sebelum membahas bentuk normal yang pertama, kita mendefiisikan normal form awal yaitu Unnormalized Form (UNF). UNF merupakan sebuah tabel yang berisi satu atau lebih kelompok data yang berulang.
2.
Bentuk normal pertama (1NF) Menurut Connoly dan Begg ( 2005, p403 ), Bentuk normal pertama (1NF) merupakan hubungan dimana persimpangan dari setiap baris dan kolom berisi satu dan hanya satu nilai. Atau dengan kata lain, pada tahap 1NF, repetisi dan data yang merupakan hasil kalkulasi dihilangkan.
3.
Bentuk normal kedua (2NF) Menurut Connoly dan Begg ( 2005, p407 ), bentuk normal kedua merupakan relasi antara bentuk normal pertama, dan setiap atribut bukan primary key adalah penuh secara fungsional bergantung pada primary key. Full Functional Dependency menandai bahwa jika A dan B adalah atribut dari sebuah relasi, B adalah penuh secara fungsional tergantung pada A jika B adalah secara fungsional tergantung pada A, tetapi tidak pada semua subset dari A. Atau dengan kata lain, pada 2NF kita menghilangkan ketergantungan partial.
48 4.
Bentuk normal ketiga (3NF) Menurut Connoly dan Begg ( 2005, p408 ), bentuk normal ketiga merupkan relasi antara bentuk dan bentuk kedua, dan dimana tidak ada atribut yang bukan primary key secara transitif bergantung pada primary key. Transitive Dependency merupakan sebuah kondisi dimana A, B, dan C adalah atribut-atribut dari relasi seperti jika A Æ B dan B Æ C, maka C secara transitif bergantung pada A melalui B. (Dengan ketentuan bahwa A tidak secara fungsional bergantung pada B atau C) Bentuk normal pertama hingga ketiga merupakan bentuk normal yang umum dipakai. Artinya, bahwa pada kebanyakan relasi bila ketiga bentuk normal tersebut telah dipenuhi maka persoalan anomali tidak akan muncul lagi. Bentuk normal keempat (4NF) dan kelima (5NF) hanya dipakai pada kasus-kasus
khusus,
yakni
pada
relasi
yang
mengandung
banyak
ketergantungan nilai.
2.2 Tools Yang Digunakan 2.2.1
Data Flow Diagram Menurut Whitten, Bentley, dan Dittman (2004, p326), Data Flow
Diagram
(DFD)
merupakan
model
proses
yang
digunakan
untuk
menggambarkan aliran data melalui sebuah sistem dan tugas atau pengolahan yang dilakukan oleh sistem. Simbol-simbol yang digunakan pada DFD, yaitu: 1. Entitas eksternal (terminal) Entitas yang memberikan data kepada sistem (source) atau yang menerima informasi dari sistem (sink), berada di luar sistem.
49 Simbol yang digunakan :
2. Data flow Menunjukkan aliran data dari satu entitas ke entitas lainnya. Panah menggambarkan aliran data yang bisa terjadi antara dua proses yang berurutan, dari data store ke proses atau sebaliknya dari proses ke sink. Simbol yang digunakan:
3. Data store Data store berfungsi sebagai tempat penyimpanan data. Suatu proses dapat mengambil data atau memberikan data ke data store. Simbol yang digunakan:
4. Proses Menggambarkan yang dilakukan oleh sistem. Proses berfungsi untuk mengubah satu atau beberapa input/ data masukan menjadi output/ data keluaran sesuai dengan yang diinginkan. Setiap proses memiliki satu atau beberapa data masukan serta menghasilkan satu atau beberapa data keluaran. Simbol yang digunakan:
50 2.2.2
Flowchart Menurut Mulyadi (2001, p60), simbol-simbol standar yang digunakan
untuk menggambarkan bagan alir dokumen suatu sistem (Flowchart). Berikut adalah simbol-simbol dengan makananya: 1. Dokumen Menggambarkan semua jenis dokumen, yang merupakan formulir yang digunakan untuk merekam data terjadinya suatu transaksi. Nama dokumen dicantumkan ditengah simbol. Contoh dokumen yang digambarkan dengan simbol ini adalah : faktur penjualan, surat order pembelian, surat permintaan dan pengeluaran barang gudang, dll. Bagan alir harus menunjukan dengan jelas dari mana suatu dokumen masuk ke dalam sistem dan kemana (sistem lain) dokumen keluar dari sistem. Simbol yang digunakan :
2. Dokumen dan tebusannya Menggambarkan dokumen asli dan tebusannya. Nomor lembar dokumen dicantumkan di sudut kanan atas. Simbol yang digunakan : Faktur
2 1
51 3. Berbagai dokumen Menggambarkan berbagai jenis dokumen yang digabungkan bersama di dalam satu paket. Nama dokumen dituliskan di dalam masing-masing simbol dan nomor lembar dokumen dicantumkan di sudut kanan atas simbol dokumen yang bersangkutan. Simbol dalam contoh tersebut menggambarkan faktur penjualan lembar ke-3 dilampiri dengan surat order penjualan lembar ke-1 dan surat muat. Simbol yang digunakan adalah : Surat muat 1 SOP
2
Faktur 1 penjualan
4. Catatan Menggambarkan catatan akutansi yang digunakan untuk mencatat data yang direkam sebelumnya di dalam dokumen atau formulir. Nama catatan akutansi dicantumkan di dalam simbol ini. Catatan akutansi yang digambarkan dengan simbol ini adalah : jurnal, buku pembantu, dan buku besar. Simbol yang digunakan adalah :
52 5. Penghubung pada halaman yang sama Menggambarkan bagan alir, arus dokumen dibuat mengalir dari atas ke bawah dan dari kiri ke kanan. Karena keterbatasan ruang halaman kertas untuk menggambar, maka diperlukan simbol penghubung untuk memungkinkan aliran dokumen berhenti disuatu lokasi pada halaman tertentu dan kembali berjalan di lokasi lain pada halaman yang sama. Dengan memperhatikan nomor yang tercantum di dalam simbol penghubung pada halaman yang sama, dapat diketahui aliran dokumen dalam sistem akutansi yang digambarkan dalam bagan alir. Simbol yang digunakan :
akhir arus dokumen dan mengarahkan pembaca ke simbol penghubung halaman yang sama yang bernomor seperti yang tercantum di dalam simbol tersebut. Simbol yang digunakan adalah :
1
53 Awal arus dokumen yang berasal dari simbol penghubung halaman yang sama, bernomor seperti yang tercantum di dalam simbol tersebut. Simbol yang digunakan adalah : 1
6.
Penghubung pada halaman yang berbeda
Menggambarkan bagan alir suatu sistem akutansi diperlukan lebih dari satu halaman, simbol ini harus digunakan untuk menunjukan kemana dan bagaimana bagan alir terkait satu dengan lainnya. Simbol yang digunakan adalah :
7.
Kegiatan manual
Menggambarkan kegiatan seperti : menerima order dari pembeli, mengisi formulir, membandingkan, memeriksa dan berbagai jenis kegiatan klerikal yang lain.
54 Simbol yang digunakan adalah :
8.
Arsip sementara
Digunakan untuk menunjukan tempat penyimpanan dokumen, seperti almari arsip dan kotak arsip. Terdapat dua tipe arsip dokumen : arsip sementara dan arsip permanen. Arsip sementara adalah tempat penyimpanan dokumen yang dokumennya akan diambil kembali dari arsip tersebut di masa yang akan datang. Simbol yang digunakan adalah :
9.
Arsip permanen
Menggambarkan arsip permanen yang merupakan tempat penyimpanan dokumen yang tidak akan diproses lagi dalam sistem akutansi yang bersangkutan. Simbol yang digunakan adalah :
10. On-line computer proses Menggambarkan pengolahan data dengan computer secara on-line. Nama program ditulis dalam simbol.
55 Simbol yang digunakan adalah :
11. Keputusan Menggambarkan keputusan yang harus dibuat dalam pengolahan data. keputusan yang dibuat ditulis di dalam simbol. Simbol yang digunakan adalah : Ya
Tidak
12. Garis alir (flowline) Menggambarkan arah proses pengolahan data. anak panah tidak digambarkan jika arus dokumen mengarah ke bawah dan ke kanan. Jika arus dokumen mengalir ke ata atau ke kiri, anak panah perlu dicantumkan. Simbol yang digunakan adalah :
13. Mulai / berakhir (terminal) Simbol ini digunakan untuk menggambarkan awal dan akhir suatu sistem akutansi.
56 Simbol yang digunakan adalah :
14. Masuk ke sistem Karena kegiatan di luar sistem tidak perlu digambarkan dalam bagan alir, maka diperlukan simbol untuk menggambarkan masuk ke sistem yang digambarkan dalam bagan alir. Simbol yang digunakan adalah : Dari pemasok
15. Keluar ke sistem lain Karena kegiatan di luar sistem tidak perlu digambarkan dalam bagan alir, maka diperlukan simbol untuk menggambarkan keluar ke sistem lain. Simbol yang digunakan adalah :
Ke sistem penjualan
57 2.3
Terminologi dalam Bidang Pembelian, Persediaan, dan Penjualan 2.3.1
Pembelian Menurut Mulyadi ( 2001, p299 ), sistem pembelian digunakan dalam perusahaan untuk pengadaan barang yang diperlukan oleh perusahaan. Transaksi dapat digolongkan menjadi dua yaitu pembelian local dan pembelian import. Pembelian local adalah pembelian dari pemasok dalam negeri. Sedangkan pembelian import adalah pembelian dari pemasok luar negeri. Menurut Widjajanto ( 1991, p109 ), sistem pembelian adalah suatu perkiraan yang digunakan untuk mencatat perolehan barang dagangan untuk dijual kembali atau bahan untuk digunakan dalam proses produksi. Menurut Assauri ( 1991, p163 ), pembelian adalah salah satu fungsi penting berhasilnya operasi perusahaan yang dibebani tanggung jawab untuk mendapatkan kuantitas dan kualitas bahan-bahan yang tersedia pada waktu dibutuhkan dengan harga yang sesuai dengan harga yang berlaku. Jadi, dapat disimpulkan bahwa pembelian adalah pengadaan barang atau jasa yang berasal dari pemasok local maupun import dengan tujuan akan digunakan sendiri, untuk proses produksi maupun untuk dijual kembali, baik dengan cara proses ataupun tanpa proses.
58 2.3.1.1 Fungsi yang terkait dalam pembelian Menurut Mulyadi ( 2001, p229-p300 ), beberapa fungsi yang terkait dalam sistem pembelian yaitu : 1. Fungsi gudang Fungsi gudang bertanggung jawab untuk mengajukan permintaan pembelian sesuai dengan jumlah persediaan yang ada di gudang dan menyimpan barang yang telah diterima oleh fungsi penerimaan.
2. Fungsi pembelian Fungsi pembelian bertanggung jawab untuk mendapatkan informasi harga barang, menentukan pemasok, dan mengeluarkan order pembelian kepada pemasok.
3. Fungsi penerimaan Fungsi
penerimaan
bertanggung
jawab
untuk
melakukan
pengecekan terhadap jenis, mutu, dan kuatitas barang yang diterima dari pemasok, juga bertanggung jawab untuk menerima barang dari pembeli yang berasal dari transaksi retur penjualan.
59 2.3.1.2 Jaringan prosedur yang membentuk sistem pembelian Menurut Mulyadi ( 2001, p301-p303 ), beberapa prosedur yang membentuk sistem pembelian yaitu : 1. Prosedur permintaan pembelian Fungsi gudang mengajukan permintaan pembelian kepada fungsi pembelian yang berupa formulir surat permintaan. 2. Prosedur permintaan penawaran harga dan pemilihan pemasok Fungsi pembelian mengirimkan surat permintaan penawaran harga kepada pemasok dan berbagai syarat pembelian yang lain. 3. Prosedur order pembelian. Fungsi pembelian mengirim surat permintaan untuk membeli kepada pemasok dan memberitahukan kepada unit organisasi mengenai permintaan pembelian. 4. Prosedur penerimaan barang Fungsi penerimaan melakukan pemeriksaan barang, kualitas, jenis, dan kuantitas yang diterima dari pemasok. 5. Prosedur pencatatan hutang Fungsi akutansi mengecek data yang berhubungan dengan pembelian dan mengarsipkan dokumen sumber sebagai catatan hutang. 6. Prosedur ditribusi pembelian Meliputi ditribusi rekening yang didebit dari transaksi pembelian untuk pembuatan laporan.
60 2.3.1.3 Dokumen pada sistem pembelian Menurut Mulyadi ( 2001, p303 ), beberapa dokumen yang digunakan dalam sistem pembelian yaitu : 1. Surat permintaan pembelian 2. Surat permintaan penawaran harga 3. Surat order pembelian 4. Laporan penerimaan barang 5. Surat perubahan order pembelian 6. Bukti kas keluar
2.3.2
Persediaan Menurut Warren ( 2002, p359 ), persediaan adalah sesuatu yang digunakan untuk mengindikasikan barang dagang yang disimpan untuk kemudian dijual dalam operasi normal perusahaan dan bahan yang terdapat dalam proses produksi atau disimpan untuk tujuan itu. Menurut Mulyadi ( 2001, p556 ), persediaan adalah bertujuan untuk mencatat mutasi tiap jenis persediaan yang disimpan di gudang. Menurut Assauri ( 1980, p176 ), persediaan adalah suatu aktiva yang meliputi barang-barang milik perusahaan dengan maksud untuk dijual dalam suatu periode usaha yang normal, atau persediaan barang-barang yang masih dalam pengerjaan/proses produksi, ataupun persediaan bahan baku yang menunggu penggunaanya dalam suatu proses produksi. Jadi, dapat disimpulkan bahwa persediaan adalah barang-barang yang dibeli untuk memenuhi kebutuhan produksi atau dijual kembali dan habis
61 dipakai oleh perusahaan. Karena pentingnya peran persediaan barang bagi perusahaan, kekayaan tersebut haruslah berada dalam pengendalian dan pengawasan ketat.
2.3.2.1 Fungsi yang terkait dalam persediaan Beberapa fungsi yang terkait dalam sistem persediaan yang menambah fleksibilitas perusahaan yaitu : 1. Untuk memberikan suatu stok barang-barang agar dapat memenuhi permintaan yang diantisipasi akan timbul dari konsumen. 2. Untuk memasangkan produksi dengan distribusi. Misalnya bila permintaan akan produk tinggi hanya pada musim panas, perusahaan dapat membentuk stok selama musim dingin. Hal ini dimaksudkan agar biaya kekurangan stok dan kehabisan stok dapat dihindari. 3. Untuk mengambil keuntungan dari potongan jumlah karena pembelian
dalam
jumlah
besar
dapat
secara
substansial
menurunkan biaya produk. 4. Untuk menghindari dari keuntungan stok yang dapat terjadi karena
cuaca,
kekurangan
pasokan,
masalah
mutu
atau
pengiriman yang tidak tepat. 5. Untuk menjaga agar operasi dapat berlangsung dengan baik dengan
menggunakan
persediaannya.
“barang
dalam
proses”
dalam
62 2.3.2.2 Jaringan prosedur yang membentuk sistem persediaan Menurut Mulyadi ( 2001, p559 ), beberapa prosedur yang berkaitan dengan sistem persediaan yaitu : 1. Prosedur pencatatan produk jadi Prosedur ini merupakan salah satu prosedur dalam sistem akutansi biaya produksi. Dalam prosedur ini, dicatat harga produk jadi yang didebitkan dalam rekening persediaan produk jadi dan dikreditkan ke dalam rekening barang dalam proses. Catatan akutansi yang digunakan dalam prosedur pencatatan prosedur pencatatan produk jadi adalah kartu gudang, kartu persediaan, dan jurnal umum. 2. Prosedur pencatatan harga produk jadi yang dijual Prosedur ini merupakan salah satu prosedur dalam sistem penjualan. Catatan akutansi yang digunakan dalam prosedur pencatatan harga produk jadi yang dijual adalah kartu gudang, kartu persediaan dan jurnal umum. 3. Prosedur pencatatan harga pokok produk jadi yang diterima kembali dari pembeli Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur penjualan. Jika produk jadi yang telah dijual dikembalikan oleh pembeli, maka transaksi retur penjualan ini akan mempengaruhi persediaan produk jadi, yaitu menambah kuantitas produk jadi dalam kartu gudang yang diselenggarakan oleh bagian gudang dan menambah kuantitas dan harga pokok
63 produk jadi yang dicatat oleh bagian kartu persediaan produk jadi. Catatan akutansi yang digunakan dalam prosedur pencatatan harga pokok produk jadi yang diterima kembali dari pembeli adalah kartu gudang, kartu persediaan, dan jurnal umum atau jurnal retur persediaan jika perusahaan menggunakan jurnal khusus. 4. Prosedur pencatatan tambahan dan penyesuaian kembali harga pokok persediaan produk dalam proses Pencatatan persediaan produk dalam proses biasanya dilakukan oleh perusahaan pada akhir periode, pada saat dibuat laporan keuangan bulanan dan laporan keuangan tahunan. 5. Prosedur pencatatan harga pokok persediaan yang dibeli Prosedur ini merupakan salah satu prosedur yang membentuk sistem pembelian. Dalam prosedur ini dicatat harga pokok persediaan yang dibeli. 6. Prosedur pencatatan harga pokok persediaan yang dikembalikan kepada pemasok Prosedur ini merupakan salah satu prosedur yang membentuk sistem retur pembelian. Jika persediaan yang telah dibeli dikembalikan kepada pemasok, maka transaksi retur pembelian ini akan mempengaruhi persediaan yang bersangkutan, yaitu mengurangi kuantitas persediaan dalam kartu gudang yang diselenggarakan oleh bagian gudang serta mengurangi kuatitas
64 dan harga pokok persediaan dalam kartu persediaan yang bersangkutan. 7. Prosedur permintaan dan pengeluaran barang gudang Prosedur ini merupakan salah satu prosedur yang membentuk sistem akutansi biaya produksi. Pada prosedur ini dicatat harga pokok persediaan bahan baku, bahan penolong, bahan habis pakai pabrik, dan suku cadang yang digunakan dalam kegiatan produksi dan kegiatan non produksi. 8. Prosedur pencatatan tambahan harga pokok persediaan karena pengembalian barang gudang Prosedur ini melakukan transaksi pengembalian barang gudang, mengurangi biaya, dan menambah persediaan barang di gudang. Jurnal yang dibuat untuk mencatat transaksi tersebut ada didalam jurnal umum. 9. Sistem perhitungan fisik persediaan Sistem perhitungan fisik persediaan umumnya digunakan oleh perusahaan untuk menghitung secara fisik persediaan yang disimpan di gudang. Hasilnya digunakan untuk meminta pertanggungjawaban bagian gudang mengenai pelaksanaan fungsi penyimpanan dan pertanggungjawaban bagian kartu persediaan mengenai keandalan catatan persediaan yang diselenggarakan, serta untuk melakukan penyesuaian terhadap catatan persediaan di bagian kartu persediaan.
65 2.3.2.3 Dokumen pada sistem persediaan Beberapa dokumen yang digunakan dalam sistem persediaan yaitu: 1. Laporan produk selesai 2. Bukti memorial 3. Surat order pengiriman 4. Faktur penjualan 5. Laporan penerimaan barang 6. Laporan pengiriman barang 7. Bukti kas keluar 8. Memo kredit 9. Memo debit 10. Bukti permintaan dan pengeluaran barang gudang 11. Bukti pengembalian barang gudang 12. Kartu perhitungan fisik 13. Daftar hasil perhitungan fisik
66 2.3.3
Penjualan Menurut Mulyadi ( 2001, p202 ), kegiatan penjualan terdiri dari transaksi penjualan barang atau jasa baik secara kredit maupun secara tunai.
Penjualan tunai dilaksanakan oleh perusahaan dengan cara mewajibkan pembeli melakukan pembayaran harga barang lebih dahulu sebelum barang diserahkan oleh perusahaan kepada pembeli.
Penjualan kredit dilaksanakan oleh perusahaan dengan cara mengirimkan barang sesuai dengan order yang diterima dari pembeli dan untuk jangka waktu tertentu perusahaan mempunyai tagihan kepada pembeli tersebut.
Menurut Widjajanto ( 1991,p122 ), penjualan adalah transfer hak atas barang untuk mendapatkan sumber daya lainnya, seperti kas atau janji untuk membayar kas (piutang). Jadi, dapat disimpulkan bahwa penjualan adalah transaksi pertukaran barang atau jasa baik secara kredit maupun tunai untuk mendapatkan uang atau pertukaran lainnya.
67 2.3.3.1 Fungsi yang terkait dalam penjualan Menurut Mulyadi ( 2001,p211 ), beberapa fungsi yang terkait dengan sistem penjualan secara kredit yaitu : 1. Fungsi gudang Fungsi gudang bertanggung jawab untuk menyimpan dan menyiapkan
barang
yang
dipesan
oleh
pelanggan
dan
mengirimkan barang tersebut ke fungsi pengiriman. 2. Fungsi penjualan Fungsi penjualan bertanggung jawab untuk menerima surat order dari pembeli, mengedit order dari pelanggan untuk menambahkan informasi yang belum ada pada surat order tersebut, meminta otorasi kredit, menentukan tanggal pengiriman dan darig udang mana barang akan dikirim, dan mengisi surat order pengiriman. 3. Fungsi pengiriman Fungsi pengiriman bertanggung jawab menyerahkan barang ke pelanggan berdasarkan surat order pengiriman yang diterima dari fungsi penjualan. 4. Fungsi penagihan Fungsi penagihan bertanggung jawab untuk membuat dan mengirimkan
faktur
penjualan
kepada
pelanggan
serta
68 menyediakan copy faktur bagi kepentingan pencatatan transaksi penjualan oleh fungsi akutansi. 5. Fungsi akutansi Fungsi akutansi bertanggung jawab untuk mencatat piutang yang timbul dari transaksi penjualan kredit dan membuat serta mengirimkan pernyataan piutang kepada debitur, serta membuat laporan penjualan. 2.3.3.2 Jaringan prosedur yang membentuk sistem penjualan Menurut Mulyadi ( 2001,p219 ), beberapa prosedur yang membentuk sistem penjualan secara kredit yaitu : 1. Prosedur order penjualan Fungsi penjualan menerima order dari pembeli dan menambahkan informasi penting pada surat order dari pembeli. Kemudian fungsi penjualan membuat surat order pengiriman dan mengirimkannya kepada bagian-bagian lain agar memungkinkan fungsi tersebut untuk memberikan kontribusi dalam melayani pesanan dari pembeli. 2. Prosedur pengiriman Fungsi pengiriman mengirimkan barang kepada pembeli sesuai dengan informasi yang tercantum dalam surat order pengiriman yang diterima dari fungsi pengiriman.
69 3. Prosedur ditribusi penjualan Mendistribusikan data penjualan menurut informasi yang diperlukan kepada pihak manajemen. 4. Prosedur penagihan Fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli. 5. Prosedur persetujuan kredit Fungsi penjualan meminta persetujuan penjualan secara kredit kepada pembeli tertentu dari fungsi kredit. 6. Prosedur pencatatan harga pokok penjualan Fungsi akutansi mencatat secara periodic total harga pokok produk yang dijual dalam periode akutansi tertentu. 7. Prosedur pencatatan piutang Fungsi penagihan membuat faktur penjualan dan mengirimkannya kepada pembeli.
70 2.3.3.3 Dokumen pada sistem penjualan Menurut Mulyadi ( 2001, p214 ), beberapa dokumen yang digunakan dalam sistem penjualan secara kredit yaitu : 1. Surat order pengiriman dan tebusannya 2. Faktur dan tebusannya 3. Rekapitulasi harga pokok penjualan 4. Bukti memorial.