Catbs4e. - BAMBANG WAHYUDI, SKom., MMSI

advertisement
Catatan Manajemen Basis Data (Bag. 1)
Kelas 4EA01 dan 4EA06 Fakultas Ekonomi Universitas Gunadarma
Dosen : Bambang Wahyudi, SKom., MMSI.
PENGANTAR
Sering kali kita mengucapkan kata “data,” namun amat jarang yang memahami apa
itu data, dan apa bedanya data yang kita dapatkan dalam kehidupan sehari-hari
dengan data yang ada di komputer.
Komputer adalah benda yang diciptakan dari hasil olah nalar manusia, karenanya,
kemampuan berlogika amat penting jika berprofesi di bidang komputer, baik sebagai
seorang analis sistem, pemrogram komputer, administrator basis data, perancang
perangkat keras, dan sebagainya.
Kata “data” diambil dari bahasa Inggris yang berasal dari bahasa Yunani “datum”
yang berarti fakta. Makna kata “data” bagi manusia adalah segala sesuatu yang dapat
diterima oleh indera manusia dari rangsangan-rangsangan yang ada di sekitarnya, baik
secara tersurat maupun yang tersirat. Sedang makna kata “data” di komputer adalah
segala sesuatu yang bisa dikodekan atau disimbolkan atau dilambangkan dengan
kode-kode, simbol-simbol, atau lambang-lambang yang telah disediakan di setiap
komputer.
Kata “data” itu sendiri sudah bermakna majemuk (karena tidak ada kata “datas” di
kamus bahasa Inggris), jadi tidak perlu mengulangnya, seperti “data-data,” “kumpulan
data,” atau “banyak data.” Di komputer, data memiliki satuan ukuran yang istilahnya
bisa bermacam-macam, dari yang terkecil hingga terbesar. Misalkan, sering kita dengar
kalimat “disket saya sudah berisi 25 file,” “hard disk di komputer saya besarnya 40
gigabyte,” “prosesor komputer saya memiliki kecepatan 3,1 GHz.,” “saya selalu
menuliskan nama file tidak pernah lebih dari 8 characters,” “file biodata saya terdiri
dari 5 field, tapi baru berisi 100 record,” dan sebagainya. Ada pula istilah-istilah
lainnya seperti “word”, “table”, “entity”, “database”, dan sebagainya.
Di berbagai teori, untuk istilah “file” saja, sering digunakan istilah yang berbedabeda, seperti berkas, arsip, table, entity set, data store, object, dan sebagainya.
DATA DI KOMPUTER
Kata “data,” kita adopsi dari bahasa Inggris dan berasal dari kata Yunani “datum”
yang berarti “fakta.” Jika manusia bisa menerima data dari alat-alat inderanya, maka
komputer juga dapat menerima data dari alat-alat inputnya (input device). Bedanya,
manusia bisa menerima data yang tersirat (yang hanya dapat “dibaca” melalui
perasaan atau naluri), sedangkan komputer hanya bisa menerima data yang tersurat
(yang dapat dilambangkan atau dikodekan dengan lambang-lambang atau kode-kode
yang telah dikenalnya).
Data di komputer memiliki ukuran dalam penyebutannya. Data terkecil di
komputer disebut dengan bit, yaitu sinyal elektronik yang melewati suatu rangkaian
digital (prosesor) komputer. Bit-bit tersebut selanjutnya dirangkai, dan rangkaian
tersebut diberi kode lagi yang disebut dengan character. Mulailah muncul berbagai
macam kode yang ada di pasaran, seperti ASCII, EBCDIC, BCD, dan sebagainya.
1
ASCII (American Standard Code for Information Interchange) merangkai tujuh bit
untuk menghasilkan sebuah character, sebagai contoh, karakter “A” oleh ASCII
dilambangkan dengan rangkaian bit : 1000001, di mana bit bernilai 1 adalah
rangkaian digital yang ada arus listriknya, dan 0 adalah rangkaian digital yang tidak
dialiri listrik.
1
0
0
0
0
0
1
Gambar 1 Penggambaran Bit-bit yang Membentuk Karakter
Selanjutnya, kumpulan dari character disebut dengan field. Ada dua istilah lain
dari kumpulan karakter ini yang sering digunakan, seperti word (kata), dan attribute
(atribut). Kumpulan field akan membentuk sebuah record, ada pula yang
menyebutnya dengan sentence (kalimat). Kumpulan record akan menjadi sebuah file,
dalam hal ini (yang sedang kita pelajari) file tersebut akan berisi nilai data, sehingga
disebut dengan file data.
Istilah lain yang sering digunakan untuk meyebut file (berkas) adalah table (tabel),
entity set (set entitas), object (objek), dan data store (penyimpan data). Kumpulan file
dalam sebuah enterprise (unit usaha) disebut dengan data base. Dan kumpulan dari
data base disebut dengan data bank.
Itu semua merupakan ukuran-ukuran data yang ada di komputer. Jadi, jika kita
menyebut kata “data” di komputer, sepatutnya menggunakan ukurannya, karena kata
“data” masih atau sudah berarti majemuk. Karenanya, jangan menulis atau
mengucapkan kata “data-data,” atau “kumpulan data”, karena, dengan kata “data” saja
sudah cukup (sudah majemuk).
Dari uraian itu, kita telah mendapat satu definisi mengenai database, yaitu
“kumpulan file.” … (definisi 1). Tapi, pertanyaan berikutnya adalah, apakah dengan
hanya mengumpulkan file yang banyak, sudah dapat disebut data base ?. Tentu saja
belum, karena banyak syarat lagi yang harus diuji pada kumpulan file tersebut.
Apa saja syaratnya ?, setidaknya yang bisa menanggulangi kelemahan sistem file
tradisional yang sudah kita bahas di atas, seperti “saling berelasi/ berintegrasi/
berhubungan/ berkoneksi.”… (definisi 2). Kita ambil satu kata saja, yaitu “berelasi.”
2
Gambar 2 Elemen-elemen dari Sebuah Data File
Alat pemroses di komputer terdiri atas rangkaian-rangkaian elektronik yang jika
rangkaian tersebut dialiri listrik, maka “dia” akan bekerja. Adanya arus listrik
dilambangkan dengan angka 1, dan tidak adanya arus listrik dilambangkan dengan
angka 0. Rangkaian-rangkaian elektronik tersebut disebut dengan rangkaian digital.
Di dunia yang bersifat analog ini, kini sedang dilanda era digital. Digital secara
ekstrem bisa dikatakan sebagai perbedaan nyata antara “hitam-putih,” artinya, kalau
tidak “hitam” pasti “putih,” padahal di antara hitam dan putih dalam kehidupan nyata
ada warna-warna lain yang tidak terhitung jumlahnya yang mendekati keduanya.
Mengapa komputer analog tidak berkembang sehebat komputer digital ?, itu karena
sulitnya menciptakan alat ukur dan alat proses yang dapat membedakan tipisnya dua
perbedaan yang mengakibatkan banyaknya noise (kebiasan) yang berakibat tidak
validnya data.
Misalkan, data di komputer digital akan dilambangkan dengan “1” bila ada arus
listrik sebesar 5 volt yang melewati rangkaiannya, dan akan dilambangkan dengan “0”
bila tidak ada arus (0 volt). Padahal, di antara angka 0 dan 5 masih terdapat angka
yang tidak terhingga banyaknya.
Kecepatan aliran arus listrik, selain menambah kehebatan komputer, juga sebagai
“daya tarik pasar” komputer, karena, semakin cepat arus listrik mengalir, maka
dikatakan prosesor komputer akan bekerja lebih cepat. Sebagai perbandingan, arus
listrik yang mengalir di bohlam di rumah kita sekirar 100 Hz (hertz)., atau dengan kata
lain, dalam satu detiknya, bohlam tersebut hidup dan mati sebanyak 100 kali (disebut
pula dengan istilah putaran atau cycle). Komputer yang ada saat ini bisa memiliki
kecepatan hingga 3,2 GHz. (gigahertz), bayangkan berapa kali lebih cepat dari bohlam.
Secara gampangnya dikatakan bahwa 1 KHz. (kilohertz)= 1000 Hz, dan 1 MHz = 1000
KHz, dan 1 GHz = 1000 MHz. Jadi, 1 GHz = 1 triliun Hz.
3
Karena data di komputer hanyalah kombinasi ada atau tidak adanya arus listrik
yang melewati rangkaiannya (dilambangkan dengan 1 dan 0), maka komputer
menggunakan sistem bilangan berbasis dua (binary digit/ binar atau biner). Pada
sejarah asalnya, komputer diciptakan untuk menghitung. Lalu, bagaimana menghitung
bilangan berbasis sepuluh atau disebut dengan desimal (seperti yang biasa kita
gunakan sehari-hari) ?.
Contoh bilangan desimal (berbasis 10) untuk angka 967 :
967
= 9 X 102 + 6 X 101 + 7 X 100
= 9 X 100+ 6 X 10 +
=
900 +
60
+
7X1
7
Karena berbasis sepuluh, maka pernyebutannya berturut-turut dari kanan adalah :
satuan (100), puluhan (101), ratusan (102), ribuan (103), dan seterusnya.
Contoh konvesi bilangan binar (berbasis 2) untuk angka 1001 ke bilangan desimal :
1 0 0 12 = 1 X 23 + 0 X 22 + 0 X 21 + 1 X 20
=
8
+
0
+
0
+
1
= 910 (sembilan dalam basis sepuluh)
Karena berbasis dua, maka penyebutannya berturut-turut dari kanan adalah :
satuan (20), duaan (21), empatan (22), delapanan (23), enambelasan (24), dan seterusnya.
Contoh perhitungan :
5 610

0 1 1 1 0 0 02
3 410

0 1 0 0 0 1 02
------- +
9 010
----------------- +

1 0 1 1 0 1 02
Komputer hanya dapat melakukan proses penjumlahan saja, jadi kalau ada 8 X 7,
maka yang dilakukan adalah menambahkan angka 8 dengan dirinya sebanyak 7 kali.
Bagaimana komputer bisa melakukan pembagian, perpangkatan, dan operasi
matematis lainnya ?. Itulah mengapa basis computer science adalah matematika.
Diperlukan algoritma yang sangat rumit untuk menjadikan komputer bisa melakukan
tugas-tugasnya.
4
Setelah algoritma dibuat, selanjutnya dibuat suatu rangkaian listrik yang dapat
berfungsi untuk melakukan perhitungan-perhitungan yang kita butuhkan. Rangakaian
listrik tersebut dimasukkan ke dalam arsitektur sebuah ALU (Arithmatic Logical Unit
atau Unit Logika Aritmatika) yang terdapat di dalam CPU (Central Processing Unit atau
Unit Pemroses Pusat).
Binary digit (bit) itulah yang merupakan satuan data terkecil di komputer.
Jika satu angka desimal saja, misalkan angka 9 ditulis dengan 1001 dalam binar,
berapa banyak angka yang kita butuhkan untuk menuliskan angka 1 juta dalam
desimal ke dalam bilangan binar ?. Untuk meringkasnya, maka digunakanlah bilangan
oktal (basis delapan).
Sistem bilangan oktal adalah sistem bilangan yang memiliki angka 0, 1, 2, 3, 4, 5,
6, dan 7 saja. Untuk mengkonversi bilangan binar ke dalam bilangan oktal dilakukan
dengan menyatukan tiap tiga angka dari kanan bilangan binar. misalkan angka
111000110102, maka bilangan oktalnya menjadi : 31328.
Ternyata masih panjang juga, karenanya, kini sistem bilangan yang sering
digunakan dalam ilmu komputer adalah sistem bilangan heksadesimal (berbasis 16).
Heksadesimal memiliki “angka” yaitu : 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F. Untuk
melakukan konversi dari bilangan berbasis dua ke basis enambelas dilakukan dengan
cara menyatukan tiap empat bit dari kanan bilangan binar, misalkan angka
111000110102 tadi, bilangan heksadesimalnya adalah : 71A 16.
Penjelasan mengenai konversi sistem bilangan binar, oktal, dan heksadesimal lebih
lanjut ada di lampiran
Fungsi komputer akhirnya dikembangkan, bukan hanya sekadar alat hitung, tetapi
juga dapat dijadikan alat pengolah kata, pengolah gambar, dan sebagainya. Semuanya
itu dilakukan dengan mengolah pulsa-pulsa listrik yang masuk ke dalam
rangkaiannya, maka muncullah istilah “dunia digital,” dan dengan munculnya
teknologi jaringan komputer dunia atau internet, maka dikenal pula istilah “dunia
maya.”
Agar semua komputer bisa saling “berkomunikasi”, maka bit-bit tersebut harus
dikodekan menjadi karakter (bisa huruf, angka, atau tanda baca lainnya). Maka, ketika
itu berkumpullah perancang komputer untuk membuat standar kode.
Tetapi, mungkin karena alasan bisnis atau alasan lain, tidak semua perancang
komputer sepakat menggunakan kode yang sama, ada kelompok yang menggunakan
kode ASCII (American Standard Code for Information Interchange), ada kelompok yang
menggunakan EBCDIC (Extended Binary Coded Decimal Interchange Codes), BCD
(Binary Coded Decimal), Baudot Codes, dan sebagainya.
Contoh perbedaan, ASCII melambangkan sebuah karekter dengan 7 bit, EBCDIC
dengan 8 bit, belum lagi kombinasi posisi 1 dan 0-nya. Komputer yang penulis
gunakan menggunakan kode ASCII, dan kode ASCII untuk huruf “A” memiliki nilai
5
desimal 65 (binar = 1000001), sehingga, kalau tombol “A” rusak, maka saya digunakan
tombol “Alt” dan angka 65.
Tabel kode ASCII ada di lampiran
Namun, kini sudah diciptakan sistem operasi yang ‘menjembatani’ perbedaan
penggunaan kode itu sehingga semua komputer bisa saling berinteraksi satu dengan
lainnya, terutama setelah era internet sekarang ini.
INFORMASI
Berbicara mengenai data di komputer, tidak akan terlepas dengan
istilah
“informasi.” Bagi komputer sendiri (yang bukan benda hidup), tidak ada bedanya
antara data dan informasi, keduanya dianggap sama saja.
Bagi manusia, ada perbedaan dari kedua istilah tersebut. Informasi dapat
dikatakan adalah suatu fakta yang memiliki nilai atau arti bagi seseorang. Mungkin
saja bagi orang lain fakta itu tidak memiliki arti, maka baginya itu barulah data.
Contoh, jika saya tuliskan angka 42. Apakah anda tahu apa arti angka tersebut ?.
Bagi saya, itu sudah merupakan informasi, karena angka tersebut saya dapatkan
ketika saya tanyakan umur seseorang. Tapi, jika saya ingin tahu tahun berapa dia
lahir dan saya meghitungnya sendiri, maka angka tadi baru merupakan data bagi saya.
Jadi, jika suatu fakta yang saya peroleh harus saya proses lebih lanjut, maka
disebut dengan data. Hasil proses yang saya hasilkan untuk mengetahui sesuatu, itu
adalah informasi. Suatu perbedaan yang sangat tipis dan bersifat subjektif.
INPUT
PROSES
OUTPUT
Gambar 3 Hirarki Komputer
Komputer memiliki hirarki : Input-Proses-Output (IPO). Input adalah data bagi
pengguna (user), komputer memprosesnya untuk menghasilkan informasi bagi
pengguna atau pihak lain yang membutuihkannya. Ketiganya harus bersesuaian (atau
logis), artinya jika kita ingin mengetahui usia seseorang (output), maka komputer akan
butuh data tahun kelahiran dan tahun sekarang (input). Prosesnya juga harus kita beri
tahu juga bahwa usia seseorang adalah hasil pengurangan tahun sekarang dengan
tahun kelahirannya.
6
DATABASE
Wajarlah, bila kita ingin tahu, apa sih itu database ?, untuk apa sih ?, bagaimana
sih ?, seperti apa sih, dan berbagai pertanyaan lain. Justru sebagai pembelajar,
pertanyaan-pertanyaan semacam itu perlu dimiliki ketika kita akan mengikuti satu
mata kuliah yang baru. Dengan memiliki pertanyaan-pertanyaan seperti itu,
setidaknya kita sudah memiliki satu sudut pandang yang terfokus untuk menjawab
segala rasa keingintahuan kita selama mengikuti mata kuliah itu.
Banyak buku yang beredar yang mendefinisikan arti dari database yang di dalam
bahasa Indonesia diterjemahkan dengan basis data atau landas data. Di sini, saya
tidak akan langsung mendefinisikan arti dari database, tetapi saya mengajak anda
sekalian untuk “turut membantu” mendefinisikannya setelah beberapa uraian yang
akan saya gambarkan berikut ini.
PERKEMBANGAN SISTEM PENCATATAN
Sebelum ada uang, dulu orang melakukan perniagaan hanya dengan melakukan
proses barter (pertukaran barang dengan barang atau jasa), tidak ada pencatatan yang
perlu dilakukan. Jaman terus berubah, dan dengan adanya uang, orang bisa
melakukan perniagaan melalui perantara uang sebagai alat pembayaran yang sah.
Kemudian muncul utang-piutang, pemberlakuan kurs valuta asing, dan berbagai jenis
bentuk perdagangan dan pasar.
Pencatatan yang dilakukan tidak lagi hanya sekadar catatan dagang seperti neraca
laba-rugi, tetapi juga sudah mencatat mengenai kepegawaian, persediaan barang,
distributor, prosedur pemesanan barang, dan sebagainya. Catatan-catatan itu lebih
dikenal dengan istilah administrasi.
SISTEM BERKAS PRIMITIF
Kedengarannya seperti “kejam,” tetapi memang begitulah istilah yang banyak
dikemukakan di berbagai buku referensi untuk menggambarkan suatu proses pencatatan
(administrasi) yang masih menggunakan berkas-berkas manual, seperti kertas, mesin
ketik manual, kalkulator, map-map, lemari penyimpan berkas itu, dan sejenisnya.
Di negara kita, masih banyak perusahaan yang melakukan hal demikian dalam proses
keadministrasiannya, lalu, apakah bangsa kita masih dapat dikatakan bangsa primitif ?.
Kita tidak akan membahasnya.
SISTEM BERKAS TRADISIONAL
Istilah “tradisional” di sini, adalah tradisional bagi era komputerisasi. Jadi,
perusahaan yang masuk dalam jenis ini adalah perusahaan yang sudah menggunakan
komputer sebagai alat bantu keadministrasiannya, tetapi setiap komputer yang ada
diperlakukan sebagai stand alone (berdiri sendiri-sendiri). Andaikan sudah menggunakan
komputer mini atau mainframe sekalipun, teknik penyimpanan datanya masih terkesan
7
“terkotak-kotak,” atau setiap user memiliki “jatah” sendiri-sendiri dalam penggunaan
media penyimpanan datanya (storage device).
Misalnya, di perusahaan ini ada empat bagian utama, yaitu (1) Bagian Personalia, (2)
Bagian Produksi, (3) Bagian Keuangan, dan (4) Bagian Pemasaran. Maka, komputer
yang ada di setiap bagian hanya digunakan untuk mengolah data yang ada di bagiannya
saja, tidak peduli bagian lain mau berbuat apa dengan komputernya masing-masing.
Personalia
Produksi
Keuangan
Pemasaran
Gambar 4 Sistem Berkas Tradisional
Mari kita “masuki” perusahaan itu, dan mencari tahu apa yang terjadi di dalamnya.
PROGRAMMING ORIENTED
Ternyata, dari keempat user (pemanfaat) komputer di perusahaan itu, mereka
menggunakan software (termasuk bahasa pemrograman) yang berbeda-beda dan tidak
dapat saling dikoneksikan. Si Ali yang bertugas di komputer di bagian Personalia lebih
memilih menggunakan COBOL sebagai bahasa pemrogramannya, sedangkan si Badu
yang bertugas di bagian Produksi menggunakan RPG, si Coki yang di bagian Keuangan
menggunakan EXCEL, dan si Danu yang di bagian Pemasaran menggunakan dBase.
Data dari masing-masing pemanfaat tidak dapat saling dikoneksikan secara
langsung, data COBOL hanya dapat diakses secara langsung oleh bahasa
pemrograman COBOL saja, data RPG begitu juga, hanya dapat diakses secara langsung
oleh program RPG, dan begitu juga dengan yang lainnya. Data yang hanya dapat
dibaca oleh bahasa pemrograman yang membentuknya seperti itu disebut dengan
programming oriented.
DATA REDUNDANCY
Karena pegawai di perusahaan itu sering dimutasi (dipindah-pindah) dari satu
bagian ke bagian lain, maka di keempat komputer itu berisi pula data pegawai yang
bekerja di perusahaan itu (bukan hanya per bagian saja).
Jika diamati, maka terjadi pemborosan penggunaan memory space komputer di
perusahaan itu karena data pegawai yang sama disimpan di empat komputer yang
berbeda (di masing-masing bagian).
8
Istilah, dan yang menjadi kata kunci dari database adalah redundancy atau
kerangkapan data. Salah satu prosedur dalam perancangan, pembentukan, atau
pembuatan database akan mencegah terjadinya kerangkapan data (non redundancy).
Dengan penghilangan kerangkapan data, maka penggunaan memori akan lebih efisien.
DATA INCONCISTENCY
Di sana, saya berkenalan dengan seorang gadis, pegawai di perusahaan itu yang
namanya “Neneng Erika Fachliza.” Diam-diam saya ingin mengetahui biodata
lengkapnya, tetapi saya kesulitan mendapatkan biodatanya di setiap komputer, karena
saya tidak menanyakan Nomor Pegawai kepadanya yang mencadi atribut kunci (key
field) dari record seseorang.
Karena saya ingin sekali mendapatkan biodata lengkapnya, maka saya minta kepada
petugas operasi komputer di bagian-bagian yang ada di perusahaan itu satu per satu untuk
mencari berdasarkan namanya.
Di bagian Personalia, petugas itu sempat mencari biodatanya sampai empat kali,
tetapi tidak ketemu juga. Pertama, saya beri nama lengkap, “Neneng Erika Fachliza,”
kedua saya beri nama depannya saja “Neneng,” ketiga saya beri nama belakangnya
saja “Fachliza,” dan yang keempat saya beri nama tengahnya saya “Erika.”
Pindah ke bagian lain, hasilnya sama juga, tidak ketemu biodatanya. Karena
penasaran, saya pergi menemui gadis itu dan menanyakan Nomor Pegawainya. Dengan
bekal itu, saya langsung bisa mendapatkan biodatanya.
Ternyata, nama gadis itu di empat komputer yang ada ditulis berbeda-beda, di
bagian Personalia, namanya ditulis dengan “N.E. FACHLIZA”, di bagian Produksi ditulis
dengan “NENENG ERIKA F,” di bagian Pemasaran ditulis dengan “N. ERIKA F,” dan di
bagian Keuangan ditulis dengan “N. ERIKA FACHLIZA.” Jelas saja saya sulit
mendapatkan biodatanya, karena data yang tadi saya masukkan tidak menggunakan
huruf besar semua.
Dari sana kita bisa menarik kesimpulan, terdapat ketidakkonsistenan dalam
menuliskan sebuah elemen data, selain cara menulisnya, juga penentuan panjang
atribut (misalkan, berapa karakter yang disediakan untuk menuliskan nama
seseorang) bisa saja saling berbeda.
NON VALIDITY DATA
Suatu ketika, gadis itu pindah alamat karena rumah kontrakan yang ditempatinya
selama ini akan dipakai sendiri oleh pemilik rumahnya. Karena ia tidak memberi tahu
saya, maka saya kembali ke perusahaan itu untuk mendapatkan alamat barunya.
Dari empat komputer yang ada di keempat bagian itu, hanya ada satu yang
alamatnya berbeda, yang ketiganya sama. Jika diambil suara terbanyak untuk
menyatakan data di bagian mana yang valid, maka yang tiga bagian itu akan menang.
Tapi, justru saya lebih mempercayai yang satu itu ketimbang yang tiga lainnya
karena saya tahu yang tiga lainnya itu adalah alamat lamanya. Jadi, saya bisa
9
memperkirakan bahwa gadis itu baru melapor ke satu bagian saja ketika ia pindah
alamat. Jadi, ia harus melaporkan kepindahannya ke setiap bagian yang ada.
NON INTEGRITY DATA/ NON SHARING DATA
Ketika akan diadakan rapat untuk membahas kemajuan perusahaan, Pimpinan
perusahaan meminta laporan dari keempat bagian yang ada. Sang Sekretaris dan
Notulis sibuk menyiapkan bahan-bahan rapat. Mereka mencoba menyusun laporanlaporan agar mudah dimengerti dan mudah dibawakan pada rapat nanti oleh Pimpinan
perusahaan.
Bagian Keuangan melaporkan bahwa terdapat kerugian perusahaan pada bulan ini
karena hasil penjualan menurun. Sekretaris melihat laporan dari bagian Penjualan,
ternyata tidak ada barang yang tersisa, Sekretaris mengecek laporan dari bagian
Produksi, ternyata memang ada penurunan produksi. Tetapi kenapa produksi
menurun, sang Sekretaris tidak mendapatkan jawabannya karena bagian Personalia
hanya melaporkan jumlah pegawainya saja, tidak lengkap dengan absensi
kehadirannya.
Dari hasil rapat diketahui bahwa penurunan produksi disebabkan oleh banyaknya
pegawai di bagian Produksi yang sering membolos kerja, dan mereka membolos karena
alasan gaji yang diterima sudah tidak layak lagi.
Bagi seorang Pimpinan perusahaan, untuk mengambil suatu kebijakan atau
keputusan perlu-tidaknya ia menaikkan gaji karyawan harus dilandasi dengan data
yang akurat dari berbagai sumber. Bila data dapat diterima secara lengkap dan saling
berhubungan (integrity) antara data di satu bagian dengan bagian lain, maka Pimpinan
perusahaan bisa dengan tepat mengambil keputusan, “tambah saja pegawainya,”
misalkan.
Itulah, sedikit “cerita” mengenai ketidakandalan komputer dalam membantu proses
administrasi di suatu perusahaan, karena komputer itu masih digunakan dalam suatu
bentuk organisasi komputer yang disebut dengan Sistem Berkas Tradisional.
Kelemahan-kelemahan di atas akan diatasi dengan suatu sistem baru yang disebut
dengan Sistem Database. Pembahasan sistem database akan dimulai dari Bab 2 dan
seterusnya, kini kita lanjutkan kembali pembahasan untuk “mencari” definisi dan
pengertian mengenai database itu sendiri dari sisi lain.
KONSEP PEMECAHAN MASALAH DI SISTEM FILE TRADISIONAL
Sebetulnya, jika diamati atau dianalisis, pemecahan atas masalah-masalah yang
terjadi di sistem file tradisional secara konsep amat mudah, yaitu dengan “menyatukan
seluruh data mereka ke satu media penyimpanan …(definisi 3), dengan membuang
nilai data yang berulang atau terduplikasi, dan dibuat jaringan agar semua user
mengakses data yang sesuai dengan kebutuhannya dari tempat penyimpanan yang
sama.”
Jika data Pegawai hanya ada di satu tempat (di server), dan siapapun yang memiliki
kebutuhan dengan data itu harus mengambil di sana, maka tidak ada lagi penulisan
10
nama yang berbeda-beda, atau perubahan data yang harus dilakukan berulang-ulang
seperti yang harus dilakukan di sistem file tradisional.
Dari ketiga definisi parsial tentang database di atas, kita bisa menarik satu
kesimpulan bahwa database adalah “sekumpulan file yang saling berelasi yang
disimpan di satu media penyimpanan elektronik, dan dapat digunakan bersama-sama
dalam suatu enterprise.”
Personalia
Produksi
server
Keuangan
Pemasaran
Gambar 5. Konsep Pemecahan Masalah di Sistem File Tradisional
Tentu saja, definisi itu tidak merupakan harga mati, bisa saja di definisi itu
dimasukkan pula unsur-unsur penunjang lainnya seperti : “sekumpulan file non
redundancy yang saling berelasi yang disimpan di satu media penyimpanan elektronik,
dan dapat digunakan bersama-sama untuk memberi manfaat bagi perusahaan.”
Dan sebagainya.
Lalu, jika semua file sudah dikumpulkan sesuai definisi database di atas, apakah
masih ada batasan-batasan (kendala-kendala) lainnya ?. Tentu saja, seperti (1) apakah
semua user bisa membuka semua data, termasuk yang bukan wewenangnya ?, (2)
bagaimana cara merelasikan setiap file yang ada di dalam data base ?, (3) siapa yang
“mengatur lalu lintas” data ?, (4) bagaimana caranya meniadakan data yang rangkap ? (5)
apakah harus menggunakan bahasa pemrograman yang sama ?, dan banyak lagi
pertanyaan lainnya.
KEUNTUNGAN NYATA DARI PENGGUNAAN DATA BASE
Dari cerita di atas, kiranya anda sudah dapat “menerka,” apa sebetulnya keuntungan
dipergunakannya sistem database di suatu unit usaha. Dulu mungkin tidak terbayangkan,
menabung uang di bank di kota A bisa mengambilnya di kota B dalam waktu yang sangat
11
singkat (hampir bersamaan). Dulu mungkin juga tak terbayangkan penggunaan kartu
kredit yang amat canggih, bisa digunakan di berbagai negara.
Contoh-contoh itu hanya sebagian keuntungan nyata dari penggunaan database.
Tunggu bahasan mendatang…………….
Lampiran
1. Basis Bilangan
Sistem bilangan binar (binary) memiliki basis dua, karenanya ia hanya memiliki
angka 0 dan 1 saja. Sistem bilangan oktal (octal) memiliki basis delapan, karenanya ia
hanya memiliki angka 0, 1, 2, 3, 4, 5, 6, dan 7 saja . Sistem bilangan desimal (decimal)
memiliki basis sepuluh, seperti yang biasa kita gunakan sehari-hari, memiliki angka 0,
1, 2, 3, 4, 5, 6, 7, 8, dan 9. Sedangkan sistem bilangan heksadesimal (hexadecimal)
memiliki basis enambelas, angka-angkanya adalah 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D,
E, dan F.
Berikut nilai desimal per digit berdasarkan basisnya :
Cara perhitungan nilai basis dua
Nilai desimalnya
…
…
Cara perhitungan nilai basis delapan
Nilai desimalnya
…
…
Cara perhitungan nilai basis enambelas
Nilai desimalnya
…
…
24
16
84
4096
164
65536
23
8
22
4
21
2
20
1
83
512
82
64
81
8
80
1
163
4096
162
256
161
16
160
1
2. Konversi Bilangan dari Binar
2.1. Konversi Bilangan Binar ke Oktal
Konversi ini dilakukan dengan menggabung-gabung setiap tiga digit dari kanan dan
secara rekursif dilakukan perhitungan nilainya (dengan menjumlahkan nilai
desimalnya yang berada di bawah angka 1 yang dimilikinya). Setiap gabungan akan
menjadi satu digit nilai dalam oktal.
Contoh : 100011110001102 = …….
Binar
Nilai desimalnya
Oktal
Gab. 5
1
0
2
1
2
Jadi, 100011110001102 = 217068
12
8
?
Gab. 4
0 0 1
4 2 1
1
Gab. 3
1 1 1
4 2 1
7
Gab. 2
0 0 0
4 2 1
0
Gab. 1
1 1 0
4 2 1
6
2.2. Konversi Bilangan Binar ke Desimal
Konversi ini dilakukan dengan menjumlahkan seluruh nilai desimalnya yang
berada di bawah angka 1 yang dimilikinya.
Contoh : 10001102 = …….
10?
Binar
Nilai desimalnya
Desimal
1
64
0
0
0 1 1
32 16 8 4 2
16 + 4 + 2 = 70
0
1
Jadi, 10001102 = 7010
2.3. Konversi Bilangan Binar ke Heksadesimal
Konversi ini dilakukan dengan menggabung-gabung setiap empat digit dari kanan
dan secara rekursif dilakukan perhitungan nilainya (dengan menjumlahkan nilai
desimalnya yang berada di bawah angka 1 yang dimilikinya). Setiap gabungan akan
menjadi satu digit nilai dalam heksadesimal.
Contoh : 100011110001102 = …….
Binar
Nilai desimalnya
Heksadesimal
Gab. 4
1
0
2
1
2
16
?
Gab. 3
0 1
4 2
3
0
8
1
1
1
8
Gab. 2
1 0
4 2
C
0
1
Gab. 1
1 1
4 2
6
0
8
0
1
Jadi, 100011110001102 = 23C616
3. Konversi Bilangan dari Oktal
3.1. Konversi Bilangan Oktal ke Binar
Konversi bilangan oktal ke binar dilakukan dengan menjabarkan setiap digit
bilangan oktal menjadi tiga digit bilangan binar.
Contoh : 17058 = …….
2
?
Oktal
Nilai desimalnya
Binar
4
0
1
2
0
1
1
4
1
7
2
1
1
1
4
0
0
2
0
1
0
4
1
5
2
0
1
1
Jadi, 17058 = 0011110001012 atau 11110001012
3.2. Konversi Bilangan Oktal ke Desimal
Konversi bilangan oktal ke binar dilakukan dengan menjumlahkan hasil
perkalian setiap nilai oktal dengan nilai desimalnya.
Contoh : 17058 = …….
10
?
13
Oktal
Nilai desimalnya
Desimal
1
7
0
5
512
64
8
1
(1 X 512) + (7 X 64) + (0 X 8) + (5 X 1)
Jadi, 17058 = 96510
3.3. Konversi Bilangan Oktal ke Heksadesimal
Ada beberapa cara yang dapat dilakukan. Di sini menggunakan cara
mengalihkan oktal ke binar terlebih dulu, dan dari binar dilanjutkan ke
heksadesimal.
Contoh : 17058 = …….
?
16
Oktal
Nilai
binarnya
(pemekaran menjadi tiga
digit binar)
Nilai
desimal
rekursif
untuk
setiap
penggabungan empat digit binar
Heksadesimal
0
1
0
1
1
7
1
1
0
0
0
0
1
5
0
1
8
4
2
1
8
4
2
1
8
4
2
1
3
C
5
Jadi, 17058 = 3C516
4. Konversi Bilangan dari Desimal
4.1. Konversi Bilangan Desimal ke Binar
Di sini, digunakan dua cara untuk mengkonversi bilangan desimal ke binar, yaitu
melalui penjabaran ke samping (seperti yang dilakukan di contoh-contoh sebelumnya),
dan menggunakan sisa hasil bagi.
Cara pertama dilakukan dengan memberi nilai 1 pada binarnya yang hasil
jumlahnya sama dengan bilangan desimalnya.
Contoh : 17510 = …….
2
?
Desimal
Perhitungan nilai desimal per digit binar
Binar
128
1
64
0
32
1
175
16
0
8
1
4
1
2
1
1
1
Jadi, 17510= 101011112
Cara kedua dilakukan dengan menuliskan dari bawah, sisa hasil bagi dari
proses pembagian ke bawah berikut ini.
14
Pembagi
2
2
2
2
2
2
2
2
Bilangan Sisa hasil bagi
175
-------------87
-------------43
-------------21
-------------10
-------------5
-------------2
-------------1
-------------0
1
175 dibagi 2 = 87, sisa = 1}
1
{87 dibagi 2 = 43, sisa = 1}
1
{43 dibagi 2 = 21, sisa = 1}
1
{21 dibagi 2 = 10, sisa = 1}
0
{10 dibagi 2 = 5, sisa = 0}
1
{5 dibagi 2 = 2, sisa = 1}
0
{2 dibagi 2 = 1, sisa = 0}
1
{1 dibagi 2 = 0, sisa = 1}
Sisa hasil bagi yang ditulis dari bawah ke atas adalah : 10101111
Jadi, 17510 = 101011112
4.2. Konversi Bilangan Desimal ke Oktal
Caranya sama dengan konversi bilangan desimal ke binar di 3.1.
Contoh : 67510 = …….
8
?
Desimal
Perhitungan nilai desimal per digit oktal
Oktal
512
1
675
64
8
2
4
1
3
Jadi, 17510 = 12438
Cara kedua dilakukan dengan menuliskan dari bawah, sisa hasil bagi dari
proses pembagian ke bawah berikut ini.
Pembagi
8
8
8
8
Bilangan Sisa hasil bagi
675
-------------84
-------------10
-------------1
-------------0
3
{675 dibagi 8 = 84, sisa = 3}
4
{84 dibagi 8 = 10, sisa = 4}
2
{10 dibagi 8 = 1, sisa = 2}
1
{1 dibagi 8 = 0, sisa = 1}
15
Sisa hasil bagi yang ditulis dari bawah ke atas adalah : 1243
Jadi, 17510= 12438
4.3. Konversi Bilangan Desimal ke Heksadesimal
Caranya sama dengan konversi bilangan desimal ke binar di 3.1.
Contoh : 684710 = …….
16
?
Desimal
Perhitungan nilai desimal per digit heksadesimal
Heksadesimal
6847
256 16
A
B
4096
1
1
F
Jadi, 684710 = 1ABF16
Cara kedua dilakukan dengan menuliskan dari bawah, sisa hasil bagi dari
proses pembagian ke bawah berikut ini.
Pembagi
16
16
16
16
Bilangan Sisa hasil bagi
6847
-------------427
-------------26
-------------1
-------------0
15 = F
{6847 dibagi 16 = 427, sisa = 15 (F)}
11 = B
{427 dibagi 16 = 26, sisa = 11 (B)}
10 = A
{26 dibagi 16 = 1, sisa = 10 (A)}
1
{1 dibagi 16 = 0, sisa = 1}
Sisa hasil bagi yang ditulis dari bawah ke atas adalah : 1ABF
Jadi, 684710= 1ABF16
5. Konversi Bilangan dari Heksadesimal
5.1. Konversi Bilangan Heksadesimal ke Binar
Caranya, tinggal menjabarkan setiap satu digit bilangan heksadesimal menjadi empat digit bilangan binar.
Contoh : ACE16 = …….
2
Heksadesimal
Nilai desimal setiap empat digit binar
Binar
Jadi, ACE16 = 1010110011102
16
A
8
1
4
0
C
2
1
1
0
8
1
4
1
E
2
0
1
0
8
1
4
1
2
1
1
0
5.2. Konversi Bilangan Heksadesimal ke Oktal
Melalui ‘jembatan’ binar, menurut saya akan lebih mudah. Dari setiap penjabaran satu digit heksadesimal ke empat digit binar,
dijadikan penggabungan tiga digit binar menjadi oktal.
Contoh : 8AB16 = ……. 8 ?
Heksadesimal
Binar
Oktal
8
1
0
4
A
0
0
1
2
0
B
1
0
5
1
1
0
5
1
Jadi, 8AB16 = 42558 ?
5.3. Konversi Bilangan Heksadesimal ke Desimal
Caranya, tinggal menjumlahkan hasil kali setiap digit bilangan heksadesimal dengan nilai desimalnya.
Contoh : FAB16 = …….
Heksadesimal
Nilai desimal setiap digit
Desimal
10
F
256
A
B
16
1
(15 X 256) + (10 X 16) + (11 X 1)
Jadi, ACE16 = 401110
Lampiran 2 : Pembuatan Bilangan Negatif (Negasi Bilangan) Binar.
Komputer hanya melakukan proses matematis penjumlahan. Bagaimana dengan
operasi pengurangan ?. Contoh : 10 – 7. Oleh komputer, hal itu akan diubah menjadi
10 + (-7).
Lalu, bagaimana membuat angka –7 tersebut ?. Ada tiga cara yang dilakukan, yaitu
dengan cara One’s complement, Two’s compelement, dan Sign and Magnitude.
1. One’s Complement
Pertama, kita tentukan dulu, berapa bit untuk mempresentasikan sebuah angka.
Misalkan kita ambil 4 bit. Nilai maksimal desimal dari 4 bit binar adalah 2(N-1)-1 yaitu
7, dan minimalnya adalah -2(N-1)-1, yaitu –7. Satu bit terkiri digunakan sebagai sign
yaitu tanda positif atau negatif. Bit terkiri diberi nilai 1, bila bilangan tersebut adalah
negatif, dan diberi nilai 0 bila bilangan tersebut adalah positif.
Complement dapat diibaratkan sebuah timbangan yang menjadikan bobot kiri dan
kanan seimbang, lihat tabel berikut ini :
Nilai Positif
+7
Binar Positif
0 111
17
Nilai Negatif
-7
Binar Negatif
1 000
+6
+5
+4
+3
+2
+1
0
-6
-5
-4
-3
-2
-1
-0 ?
0 110
0 101
0 100
0 011
0 010
0 001
0 000
1
1
1
1
1
1
1
001
010
011
100
101
110
111
Membuat negasi dari bilangan positif pada one’s complement adalah dengan
mengganti semua bit bernilai 1 menjadi 0, dan sebaliknya. Kecuali pada sign-nya, nilai
–5 akan memiliki bentuk yang sama dengan 7 – ABS(-5) = 7 – 5 = 2.
Contoh perhitungan dalam desimal : 4 – 2 = 2, atau 4 + (-2) = 2
410 = 0 1 0 02
-210 = 1 1 0 12
-------------------- +
= 1 0 0 0 12
Bisa kita lihat, bahwa hasil operasi membutuhkan bit tambahan (melewati 4 bit
yang disediakan). Kelebihan bit paling kiri disebut dengan carry.
Pada one’s
complement, carry tersebut ditambahkan kembali.
210
0 0 0 12
12
------------- +
= 0 0 1 02
Contoh lain dalam desimal = (-7) - 4 = -11 atau –7 + (-4) = -11 :
-710 = 1 0 0 02
-410 = 1 0 1 12
----------------- +
= 1 0 0 1 12
Carry kita jumlahkan :
0 0 1 12
12
----------- +
0 1 0 02
Hasilnya adalah +4 ?.
Karena batasan nilai untuk 4 bit adalah –7 hingga 7, maka hasil operasi di luar
batasan itu tidak akan valid (terjadi overflow).
Contoh lain dalam desimal = 3 - 5 = -2 atau 3 + (-5) = -2
310 = 0 0 1 12
18
-510 = 1 0 1 02
----------------- +
-210 = 1 1 0 12
(lihat di tabel).
Bit terkiri (sign) = 1, berarti bilangan negatif. Sedangkan 101 2
menjadi 0102 = 210, dengan demikian, hasilnya adalah -210.
jika dipostifkan
2. Two’s Complement
Kita misalkan juga jumlah bit yang digunakan adalah 4. Menjadikan nilai
negatif berdasarkan two’s complement dilakukan dengan cara mengubah semua
angka 0 menjadi 1 dan sebaliknya, dan tambahkan dengan 1. Berikut tabelnya :
Nilai Positif
+7
+6
+5
+4
+3
+2
+1
0
Binar Positif
0 111
0 110
0 101
0 100
0 011
0 010
0 001
0 000
Nilai Negatif
-7
-6
-5
-4
-3
-2
-1
-0 ?
Binar Negatif
1 001
1 010
1 011
1 100
1 101
1 110
1 111
1 000
Pembuatan negasinya dapat dilakukan dengan cara 8 – ABS(negatif yang akan
dicari), kecuali untuk sign-nya yang sudah pasti, 0 untuk positif, dan 1 untuk negatif..
Misalkan menuliskan –5 adalah dengan cara 8 – 5 = 3. Bilangan positif 3 adalah 011 2,
maka –5 = 10112.
Cara lainnya adalah dengan mengganti semua bit 0 menjadi 1 kecuali bit 1 terakhir
(paling kanan) dan 0 berikutnya (di kanan bit 1 terakhir). Misal, +3 = 0011 2, maka –3
adalah 11012.
Contoh perhitungan dalam desimal : 6 – 4 = 2, atau 6 + (-4) = 2
610 = 0 1 1 02
-410 = 1 1 0 02
------------------- +
=1 0 0 1 0 2
 hasil
Angka 1 di sebelah kiri hasil disebut dengan carry (karena melebihi bit yang
ditentukan). Carry untuk two’s complement selanjutnya dibuang saja. Jadi hasilnya =
00102 , bit terkiri yang 0 menandakan bilangan tersebut adalah bilangan +, sehingga
hasilnya adalah +210 (lihat tabel).
Contoh lain dalam desimal = (-3) - 4 = -7 atau –3 + (-4) = -7
-310 = 1 1 0 12
19
-410 = 1 1 0 02
---------------- +
=1 1 0 0 12
 hasil
Hasil tanpa carry adalah 10012 , bit 1 terkiri menandakan bilangan -, dan angka
001 dalam bilangan negatif adalah –7 (lihat tabel).
Contoh lain dalam desimal = (-6) - 4 = -10 atau –6 + (-4) = -10
-610 = 1 0 1 02
-410 = 1 1 0 02
---------------- +
=1 0 1 1 02
 hasil
Hasil tanpa carry adalah 01102 = +610 ???. Memang, jika melebihi batasan nilai
yang ditetapkan, akan terjadi overflow.
Lampiran 3 :Tabel Kode ASCII
ASCII TABLES AND DESCRIPTION
Dec
0
1
Hx
0
1
Oct
000
001
Char
NUL
SOH
Dec
26
27
Hx
1A
1B
Oct
032
033
Char
SUB
XSC
2
2
002
STX
(null)
(start of
heading)
(start of text)
28
1C
034
FS
3
3
003
ETX
(end of text)
29
1D
035
GS
4
4
004
XOT
(end of
transmission)
(enquiry)
30
1E
036
RS
5
5
005
XEQ
31
1F
037
US
6
7
8
9
6
7
8
9
006
007
010
011
ACK
BEL
BS
TAB
Dec
Hx
Oct
Html
32
20
040
 
Space
10
A
012
LF
33
21
041
!
!
11
12
B
C
013
014
VT
FF
34
35
22
23
042
043
"
#
“
#
13
D
015
CR
36
24
044
$
$
14
15
16
E
F
10
016
017
020
SO
SI
DLE
37
38
39
25
26
27
045
046
047
%
&
'
%
&
‘
17
11
021
DC1
40
28
050
(
(
(acknowledge)
(bell)
(backspace)
(horizontal
tab)
(NL line feed,
new line)
(vertical tab)
(NP form feed,
new page)
(carriage
return)
(shift out)
(shift in)
(data link
escape)
(device control
1)
20
(substitute)
(escape)
(file
separator)
(group
separator)
(record
separator)
(unit
separator)
18
12
022
DC2
19
13
023
DC3
20
14
024
DC4
21
15
025
NAK
22
16
026
SYN
23
17
027
ETB
24
25
18
19
030
031
CAN
EM
(device control
2)
(device control
3)
(device control
4)
(negative
acknowledge)
(syncronus
idle)
(end of trans,
block)
(cancel)
(end of
medium)
21
41
29
051
)
)
42
2A
052
*
*
43
2B
053
+
+
44
2C
054
,
,
45
2D
055
-
-
46
2E
056
.
.
47
48
2F
30
057
060
/
0
/
0
ASCII TABLES AND DESCRIPTION
Dec
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
Html
Hx
31
32
33
34
35
36
37
38
39
3A
3B
3C
3D
3E
3F
40
41
42
43
44
45
46
47
48
49
4A
4B
4C
4D
4E
Oct
061
062
063
064
065
066
067
070
071
072
073
074
075
076
077
100
101
102
103
104
105
106
107
110
111
112
113
114
115
116
1
2
3
4
5
6
7
8
9
:
&#59;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
Dec
1
2
3
4
5
6
7
8
9
:
;
<
=
>
?
@
A
B
C
D
E
F
G
H
I
J
K
L
M
N
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
Html
Hx
4F
50
51
52
53
54
55
56
57
58
59
5A
5B
5C
5D
5E
5F
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
Oct
117
120
121
122
123
124
125
126
127
130
131
132
133
134
135
136
137
140
141
142
143
144
145
146
147
150
151
152
153
154
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
Dec
O
P
Q
R
S
T
U
V
W
X
Y
Z
[
\
]
^
_
`
a
b
c
d
e
f
g
h
i
j
k
l
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
Html
Hx
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F
Oct
155
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
176
177
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~

m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL
Untuk 7 digit binar, maksimal
= 127 desimal = 177 oktal = 7F
heksadesimal
Berikut pengembangan kode
ASCII
Sumber : www.asciitable.com
22
Download