coretan

Upload: purnanto-hari

Post on 07-Jan-2016

11 views

Category:

Documents


0 download

DESCRIPTION

Landasan Teori

TRANSCRIPT

  • 10

    BAB 2

    LANDASAN TEORI

    2.1 Analisis dan Perancangan Sistem

    2.1.1 Pengertian Sistem

    Menurut Budi Sutedjo Dharma Oetomo (2002), Sistem

    merupakan kumpulan elemen yang saling berhubungan satu sama lain

    yang membentuk satu kesatuan dalam usaha mencapai suatu tujuan.

    Suatu sistem dapat didefinisikan sebagai suatu seri dari bagian-

    bagian pekerjaan yang saling berhubungan untuk membentuk kerjasama

    dalam usaha mencapai tujuan yang telah ditetapkan bersama.

    Dari pengertian sistem diatas dapat diambil kesimpulan bahwa

    sistem merupakan suatu jaringan pekerjaan yang berhubungan dengan

    prosedur-prosedur yang erat hubungannya satu sama lain untuk

    melaksanakan sebagian aktifitas perusahaan untuk mencapai tujuan.

    (http://elib.unikom.ac.id/files/disk1/334/jbptunikompp-gdl-ariefrahma-

    16695-3-document-2.pdf)

    2.1.2 Pengertian Informasi

    Menurut Tata Sutabri (2004), Informasi adalah data yang telah

    diklasifikasikan atau diolah untuk digunakan dalam proses pengambilan

    keputusan. Adapun definisi lain dari Informasi menurut Dr. Azhar

  • 11

    Susanto (2004), Informasi adalah hasil pengolahan data yang

    memberikan arti dan manfaat. Definisi lain dari Informasi adalah

    rangkaian data yang mempunyai sifat sementara, tergantung dengan

    waktu, mampu memberi kejutan pada penerimanya, intensitas dan

    lamanya kejutan dari informasi disebut nilai informasi.

    Manfaat Informasi adalah untuk mengurangi ketidakpastian, hal

    ini sangat berguna untuk proses pengambilan keputusan. Informasi

    bersumber pada data.

    (http://elib.unikom.ac.id/files/disk1/334/jbptunikompp-gdl-ariefrahma-

    16695-3-document-2.pdf)

    2.1.3 Pengertian Sistem Informasi

    Menurut Whitten, Bentley, Dittman (2004, p12), Sistem Informasi

    (Information System) adalah sekumpulan orang, data, proses dan

    teknologi informasi yang saling berinteraksi untuk mengumpulkan,

    memproses, menyimpan dan menyediakan informasi yang dibutuhkan

    untuk mendukung sebuah organisasi.

    2.1.4 Pengertian Analisis Sistem

    Menurut Laudon (2003, p394), Analisis Sistem adalah memeriksa

    masalah yang ada dan akan diselesaikan oleh perusahaan dengan

    menggunakan sistem informasi.

  • 12

    2.1.5 Pengertian Perancangan Sistem

    Menurut Laudon (2003, p394), Perancangan Sistem adalah cara

    bagaimana sebuah sistem dapat memenuhi kebutuhan informasi yang

    telah ditentukan oleh penganalisa sistem.

    2.2 Pendekatan Database

    Database saat ini sering digunakan dalam kehidupan sehari-hari. Menurut

    Connolly (2005, p15), database adalah kumpulan data yang berelasi yang

    dirancang untuk memenuhi kebutuhan informasi sebuah perusahaan dan menurut

    Connolly (2005, p16) Database Management System (DBMS) adalah software

    untuk mengatur dan mengontrol akses ke database.

    Menurut Connolly (2005, p17), aplikasi database adalah program yang

    berinteraksi dengan database menggunakan sebuah permintaan sederhana ke

    DBMS. Sistem basis data adalah kumpulan program aplikasi yang berinteraksi

    dengan database. Contoh aplikasi database, misalnya berbelanja di supermarket

    dengan menggunakan bar code untuk mencari harga barang yang terdapat di

    database barang.

    2.2.1 Pengertian Data

    Menurut Atzeni (2003, p2), data adalah informasi yang disimpan,

    yang memerlukan terjemahan untuk menghasilkan informasi.

    Menurut Hoffer, Prescott, dan McFadden (2005, p5), data adalah

    fakta yang telah diketahui, yang dapat dikumpulkan dan disimpan dalam

    media komputer.

  • 13

    Data terdiri dari fakta-fakta dan simbol-simbol yang secara umum

    kurang berguna dikarenakan jumlahnya yang besar dan sifatnya yang

    kasar atau belum diolah (McLeod dan Schell, 2001, p9).

    2.2.2 Pengertian Basis Data

    Pengertian Basis Data menurut Connolly (2005, p15) adalah

    kumpulan data yang saling berhubungan secara logikal, deskripsi

    mengenai data tersebut yang dibuat untuk menemukan informasi yang

    dibutuhkan oleh sebuah organisasi.

    Menurut C.J. Date (2000, p10) basis data adalah kumpulan data

    persistent yang digunakan oleh sistem aplikasi dari perusahaan tertentu.

    Persistent maksudnya adalah sekali data telah diterima oleh DBMS untuk

    dimasukkan ke dalam basis data, data tersebut hanya bisa dihapus dari

    basis data dengan menggunakan permintaan eksplisit ke DBMS.

    Menurut Post (2005, p2), basis data adalah kumpulan data yang

    disimpan dalam suatu format yang sudah terstandardisasi yang dirancang

    agar dapat digunakan oleh banyak pengguna.

    2.2.3 Pengertian Sistem Basis Data

    Menurut Connolly dan Begg (2005, p4), sistem basis data pada

    dasarnya adalah sistem penyimpanan record yang terkomputerisasi di

    mana tujuan sebenarnya adalah menyimpan informasi dan membuat

    informasi tersebut selalu tersedia pada saat dibutuhkan. Keseluruhan

  • 14

    sistem terkomputerisasi tersebut memperbolehkan pengguna menelusuri

    kembali dan mengubah informasi tersebut sesuai kebutuhan.

    2.2.4 Database Management System (DBMS)

    Menurut Post (2005, p2), Database Management System adalah

    perangkat lunak yang mendefinisikan sebuah basis data, menyimpan data,

    mendukung bahasa query, menghasilkan laporan-laporan, dan

    menciptakan layar entry-data.

    Menurut Connolly dan Begg (2005, p16), Database Management

    System (DBMS) adalah sistem perangkat lunak yang memungkinkan

    pengguna untuk mendefinisikan, membuat, memelihara, dan mengontrol

    akses menuju basis data.

    2.2.4.1 Fungsi DBMS

    Menurut Connolly (2005, p16), fungsi DBMS terdiri dari :

    1. Memungkinkan pengguna untuk mendefinisikan suatu

    basis data, biasanya dilakukan melalui Data Definition

    Language (DDL).

    2. Memungkinkan pengguna untuk melakukan insert, update,

    delete dan mendapatkan kembali data yang terdapat dalam

    basis data.

    3. Dapat mengatur akses ke dalam basis data, diantaranya adalah

    adanya sistem keamanan, sistem integritas, sistem konkurensi,

  • 15

    pemulihan sistem kembali dan katalog yang dapat diakses

    oleh pengguna.

    2.2.4.2 Komponen DBMS

    Gambar 2.1 Komponen DBMS

    Menurut Connolly (2005, pp18-21), ada lima komponen DBMS,

    yaitu:

    1. Perangkat keras (Hardware)

    Hal ini berupa komponen tunggal pribadi (PC), mainframe

    tunggal hingga jaringan komputer. Perangkat keras dapat

    tergantung pada kebutuhan perusahaan dan DBMS yang

    digunakan.

    2. Perangkat lunak (Software)

    Perangkat lunak yang terdiri dari perangkat lunak DBMS

    sendiri, program-program aplikasi, dan sistem operasi

    termasuk perangkat lunak.

  • 16

    3. Data

    Data merupakan komponen paling penting dalam lingkungan

    DBMS. Data berperan penting sebagai penghubung antara

    komponen mesin dengan komponen manusia. Basis data

    mengandung data operasional dari meta-data. Struktur basis

    data disebut skema.

    4. Prosedur

    Prosedur dalam DBMS adalah sejumlah instruksi dan

    pengaturan yang menetukan rancangan dan pengguna dari

    basis data. Pemakai sistem dan pegawai yang mengelola basis

    data membutuhkan dokumen prosedur tentang bagaimana

    menggunakan atau menjalankan sistem. Instruksi-instruksi

    tersebut dapat berupa :

    a. Masuk ke DBMS.

    b. Penggunaan sebagian fasilitas DBMS atau program

    aplikasi.

    c. Memulai dan menghentikan DBMS.

    d. Membuat backup dari basis data.

    e. Menangani kegagalan perangkat keras atau perangkat

    lunak.

    f. Mengubah struktur dari sebuah tabel, mengatur kembali

    basis data dalam multiple disk, meningkatkan performa,

    atau membuat arsip data pada penyimpanan sekunder.

  • 17

    5. Orang

    Komponen terakhir adalah orang yang terlibat dalam sistem,

    termasuk data dan database administrator, perancang basis

    data, pengembang aplikasi, dan pengguna akhir.

    2.2.4.3 Keuntungan dan Kerugian DBMS

    Menurut Connolly dan Begg (2005, p26) keuntungan DBMS

    adalah :

    1. Mengontrol duplikasi data

    Basis data dapat mengurangi data yang ada tetapi tidak semua

    duplikasi data dapat dihilangkan, melainkan hanya dapat

    dikontrol. Hal ini dikarenakan terkadang duplikasi data tetap

    dibutuhkan untuk meningkatkan kemampuan suatu DBMS.

    2. Data yang konsisten

    Dengan menghilangkan atau mengurangi duplikasi data, kita

    mampu mengurangi resiko dari inkonsistensi data.

    3. Data yang sama lebih memiliki banyak informasi

    Dengan adanya integrasi data operasional maka

    memungkinkan sebuah organisasi mendapatkan informasi

    tambahan dari data yang sama.

  • 18

    4. Penggunaan data bersama-sama

    Biasanya file dimiliki oleh seseorang atau departemen yang

    menggunakannya. Sebaliknya, suatu basis data dimiliki oleh

    organisasi secara keseluruhan dan dapat diakses kepada

    pengguna yang dimiliki hak akses.

    5. Integritas data telah dikembangkan

    Integritas data memiliki arti dari konsisten dan keabsahan dari

    data yang disimpan. Integritas biasa menegaskan arti dari kata

    constraint, yang merupakan aturan yang tidak dapat dilanggar

    oleh pemakai basis data.

    6. Keamanan telah dikembangkan

    Keamanan basis data akan melindungi dari pengguna yang

    tidak memiliki hak akses. Hal ini biasanya dilakukan dengan

    adanya nama pemakai dan password untuk mengidentifikasi

    hak yang dimiliki oleh masing-masing pengguna.

  • 19

    Menurut Connolly dan Begg (2005, p29) kerugian DBMS adalah :

    1. Kompleksitas

    Fungsionalitas yang diharapkan dari DBMS membuat DBMS

    menjadi piranti lunak yang sangat kompleks. Pengguna

    DBMS harus memahami dengan baik setiap fungsi DBMS

    untuk mendapatkan keuntungan maksimum dari DBMS

    tersebut. Ketidakpahaman atas sistem dapat menyebabkan

    pengambilan keputusan perancangan yang buruk dan akan

    mengakibatkan dampak serius bagi organisasi.

    2. Ukuran

    Kompleksitas dan fungsional yang baik membuat DBMS

    menjadi sebuah piranti lunak yang berukuran sangat besar dan

    membutuhkan disk space yang sangat besar serta jumlah

    memory yang besar agar dapat dijalankan seefisien mungkin.

    Masalah ukuran yang besar kadang memberatkan perusahaan

    untuk menggunakan DBMS.

    3. Harga DBMS

    Harga DBMS bervariasi tergantung dari lingkungan dan

    fungsi yang disediakan termasuk biaya pemeliharaan DBMS.

    4. Biaya perangkat keras tambahan

  • 20

    Kebutuhan penyimpanan untuk DBMS dan basis data

    menyebabkan kemungkinan untuk membeli penyimpanan

    tambahan. Selain itu, untuk mendapatkan kemampuan yang

    diinginkan, dibutuhkan perangkat keras yang cepat dan baik

    tetapi harganya mahal.

    5. Biaya konversi

    Dalam beberapa situasi, biaya yang dibutuhkan untuk

    mengubah aplikasi agar dapat berjalan pada DBMS yang baru

    dapat jauh lebih mahal dari biaya perangkat keras tambahan.

    Biaya tersebut juga termasuk biaya pelatihan pegawai untuk

    menggunakan sistem yang baru juga biaya pegawai spesialis

    untuk membantu konversi dan pelaksanaan sistem yang baru.

    2.2.5 Structured Query Language

    Menurut Connolly dan Begg (2005, p113), Structured Query

    Language (SQL) adalah bahasa standar untuk mengakses dan

    memanipulasi basis data. Berikut merupakan tujuan SQL :

    Membuat basis data dan struktur hubungannya. Melakukan pekerjaan dasar manajemen data, seperti memasukkan

    data, modifikasi dan penghapusan data dari relasi entitas.

    Melakukan query sederhana maupun kompleks.

  • 21

    Sebagai suatu bahasa, standar SQL dibagi menjadi dua komponen

    utama yaitu Data Definition Language (DDL) dan Data Manipulation

    Language (DML).

    2.2.5.1 Data Definition Language (DDL)

    Menurut Connolly dan Begg (2005, p168), Data

    Definition Language (DDL) suatu bahasa yang memperbolehkan

    pengguna untuk mendeskripsikan dan menamai entitas, atribut,

    dan hubungan yang dibutuhkan untuk aplikasi bersamaan dengan

    asosiasi integritas dan batasan keamanan lainnya.

    Menurut Connolly dan Begg (2005, p40), dari hasil

    kompilasi pernyataan DDL adalah sebuah tabel yang tersimpan

    dalam file khusus yang dikumpulkan dan dikenal dengan System

    Catalog.

    System Catalog mengintegrasikan meta-data dimana data

    yang mendeskripsikan objek pada basis data dan memudahkannya

    untuk mengakses dan memanipulasi objek tersebut. Meta-data

    mengandung definisi dari record data item dan objek lainnya yang

    menarik bagi pengguna dan dibutuhkan oleh DBMS.

    Data Dictionary dan Data Directory juga digunakan untuk

    mendeskripsikan System Catalog walaupun penggunaan Data

  • 22

    Dictionary biasanya mengacu pada sistem perangkat lunak secara

    umum daripada catalog untuk DBMS.

    2.2.5.2 Data Manipulation Language (DML)

    Menurut Connolly dan Begg (2005, p41), Data

    Manipulation Language (DML) suatu bahasa yang menyediakan

    kumpulan operasi untuk mendukung manipulasi dasar dari data

    yang ada di basis data. Manipulasi yang dimaksud adalah seperti

    memungkinkan pengguna untuk melakukan insert, update, delete

    dan mengambil data dari database.

    DML terbagi ke dalam 2 (dua) jenis, yaitu sebagai berikut :

    - Procedural DML

    Bahasa yang memperbolehkan pengguna untuk

    memberitahukan pengguna mengenai data apa saja yang

    dibutuhkan dan bagaimana mengambil data tersebut.

    - Non-procedural DML

    Bahasa yang memperbolehkan pengguna untuk menyatakan

    data apa yang dibutuhkan dibandingkan dengan bagaimana

    untuk mengambilnya.

  • 23

    2.2.6 Siklus Hidup Aplikasi Database

    Menurut Connolly dan Begg (2005, pp283-310) terdapat beberapa

    tahapan dalam Database System Development Lifecycle, diantaranya

    adalah :

    1. Perencanaan Database

    2. Definisi Sistem

    3. Analisis dan Pengumpulan

    4. Perancangan Database

    5. Pemilihan DBMS

    6. Perancangan Aplikasi

    7. Prototyping

    8. Implementasi

    9. Pengubahan dan Pemuatan Data

    10. Uji Coba

    11. Pemeliharaan Operasional

  • 24

    Gambar 2.2 Siklus Aplikasi Database

  • 25

    2.2.6.1 Perencanaan Database

    Aktivitas manajemen yang memungkinkan tahapan-

    tahapan dalam pengembangan sistem basis data dapat diwujudkan

    dengan seefisien dan seefektif mungkin. Perancangan basis data

    harus terintegrasi dengan semua strategi dari sistem informasi

    dalam perusahaan. Ada tiga persoalan yang terkandung dalam

    pembuatan strategi sistem informasi, diantaranya adalah :

    a. Mengidentifikasi rencana dan tujuan dari perusahaan dengan

    penentuan kebutuhan informasi yang dibutuhkan oleh sistem

    informasi.

    b. Mengevaluasi informasi dari sistem informasi yang ada untuk

    menentukan kelebihan dan kekurangan yang dimiliki.

    c. Membuat penilaian peluang dalam bidang informasi dan

    teknologi yang memungkinkan untuk menjadi keunggulan

    yang kompetitif.

    2.2.6.2 Definisi Sistem

    Membuat batasan-batasan dan cakupan dari basis data

    yang meliputi area perancangan aplikasi, kebutuhan utama

    pengguna dan pengguna itu sendiri yang dibantu oleh basis data.

    Mengidentifikasi sudut pandang pengguna membantu untuk

    memastikan tidak ada basis data yang terabaikan ketika

    mengembangkan kebutuhan-kebutuhan untuk sistem basis data

    yang baru.

  • 26

    2.2.6.3 Analisis dan Pengumpulan

    Menganalisa dan mengumpulkan kebutuhan-kebutuhan

    yang diperlukan untuk pembuatan sistem basis data yang baru.

    Informasi yang dikumpulkan dari masing-masing sudut pandang

    utama pengguna, termasuk :

    a. Deskripsi dari data yang digunakan atau yang dihasilkan.

    b. Detil bagaimana data digunakan atau dihasilkan.

    c. Kebutuhan-kebutuhan untuk sistem database yang baru.

    Ada tiga pendekatan untuk mengatur kebutuhan-

    kebutuhan dari sistem database dengan banyak pengguna,

    diantara lain :

    Pendekatan terpusat (Centralized approach). Pendekatan sudut pandang yang terintegrasi (View

    integration approach).

    Kombinasi dari keduanya.

    2.2.6.4 Perancangan Database

    Perancangan basis data diperlukan agar memiliki sistem

    basis data yang efisien dan efektif. Perancangan basis data juga

    berdampak dalam memenuhi kebutuhan-kebutuhan informasi

    yang diperlukan. Perancangan database dibagi menjadi tiga

  • 27

    tahapan, yaitu Perancangan Basis Data Konseptual, Perancangan

    Basis Data Logikal, dan Perancangan Basis Data Fisikal.

    2.2.6.4.1 Perancangan Basis Data Konseptual

    Perancangan Basis Data Konseptual (Conceptual

    Database Design) adalah proses membangun sebuah

    model dari data yang digunakan dalam perusahaan,

    terbebas dari semua pertimbangan fisikal.

    Adapun tahapannya adalah sebagai berikut :

    a. Mengidentifikasi jenis entitas

    Tahapan pertama dalam membuat model data

    konseptual adalah dengan mendefinisikan objek utama

    yang menarik dari pengguna untuk digunakan. Objek-

    objek ini akan menjadi jenis-jenis entitas dalam model

    data konseptual.

    Salah satu metode untuk mengidentifikasi entitas

    adalah dengan memeriksa spesifikasi kebutuhan dari

    pengguna. Dari spesifikasi ini, kita dapat mengidentifikasi

    kata benda yang sering disebut atau digunakan. Kita juga

    dapat melihat objek utama seperti orang, tempat atau

    konsep yang sedang menarik.

    b. Mengidentifikasi jenis relasi

  • 28

    Setelah semua entitas teridentifikasi, tahap

    selanjutnya adalah menentukan relasi yang ada diantara

    entitas-entitas tersebut. Umumnya, relasi diindikasikan

    dengan kata kerja. Di beberapa hal, sebuah relasi biasanya

    bersifat binary. Dalam kata lain, relasi ada diantara tepat

    dua entitas. Namun, kita harus berhati-hati dalam melihat

    relasi kompleks yang melibatkan lebih dari dua entitas dan

    relasi rekursif yang melibatkan hanya satu entitas.

    Kita dapat menggunakan sebuah diagram entitas dan

    relasi untuk memudahkan kita memvisualisasikan sebuah

    sistem yang kompleks daripada menguraikan deskripsi

    teks yang panjang dari sebuah spesifikasi kebutuhan

    pengguna.

    c. Mengidentifikasi dan mengasosiasikan atribut dengan

    jenis entitas atau relasi

    Tahapan selanjutnya adalah dengan

    mengidentifikasikan jenis dari fakta tentang entitas dan

    relasi yang sudah terpilih untuk direpresentasikan di dalam

    basis data. Atribut dapat ditemukan sebagai identifier atau

    karakteristik pada sebuah entitas atau pada sebuah relasi.

    Sebuah atribut dapat berupa simple atau composite atribut,

    single atau multi-valued atribut, ataupun derived atribut.

  • 29

    d. Menentukan domain atribut

    Sasaran utama dalam tahap ini adalah menentukan

    domain dari semua atribut di dalam model. Sebuah domain

    adalah kumpulan nilai-nilai dari mana satu atau lebih

    atribut mengambil nilai-nilai tersebut.

    e. Menentukan candidate, primary dan alternate key dari

    atribut

    Tahap ini adalah bagaimana mengidentifikasikan

    candidate key lalu memilih salah satunya untuk menjadi

    primary key. Sebuah candidate key adalah seperangkat

    minimal atribut dari sebuah entitas yang secara unik

    mengidentifikasi kemunculan entitas tersebut.

    Dalam hal ini, kita dapat mengidentifikasi lebih dari

    satu candidate key, maka dari itu kita harus memilih satu

    untuk menjadi primary key, candidate key yang tersisa

    akan disebut alternate key.

    f. Pertimbangan kembali apakah akan menggunakan konsep

    permodelan yang lebih rumit (opsional)

    Pada tahap ini, kita dapat memilih apakah untuk

    melanjutkan pemodelan entitas dan relasi dengan

    menggunakan konsep pemodelan yang lebih maju, dengan

  • 30

    mempertimbangkan apakah secara

    spesialisasi/generalisasi, agregasi ataupun komposisi.

    g. Pemeriksaan model dari redundansi

    Dalam tahap ini kita memeriksa model data

    konseptual dengan tujuan spesifik yaitu mengidentifikasi

    apakah terdapat redundansi di dalamnya. Tiga aktivitas

    yang dilakukan adalah :

    1. Memeriksa kembali relasi one-to-one

    Dalam mengidentifikasi entitas yang redundan, dapat

    ditemukan jika dua entitas merepresentasikan objek

    yang sama pada perusahaan. Dalam hal ini, kedua

    entitas tersebut harus digabungkan. Jika primary key-

    nya berbeda, pilih salah satu untuk menjadi primary

    key, sedangkan lainnya menjadi alternate key.

    2. Menghilangkan relasi yang redundan

    Sebuah relasi dapat dikatakan redundan apabila

    informasi yang sama dapat diperoleh dari relasi yang

    lain.

    3. Mempertimbangkan kembali dimensi waktu

    Penting untuk memeriksa apakah setiap relasi yang ada

    diantara entitas akan bersifat redundan. Jika sebuah

    sifat relasi melekat akan menjadi redundan, relasi itu

    harus dihilangkan. Pada akhir tahap ini, model data

  • 31

    konseptual telah disederhanakan dengan

    menghilangkan apapun yang bersifat dapat menjadi

    redundan.

    h. Memvalidasikan model konseptual terhadap proses

    transaksi pengguna

    Model data konseptual kini telah merepresentasikan

    data-data kebutuhan yang ada pada perusahaan. Tujuan

    tahap ini adalah memeriksa apakah model dapat

    membantu dalam transaksi yang diperlukan pada

    perusahaan. Dengan menggunakan model konseptual

    tersebut, kita dapat mencoba apakah model konseptual

    yang sudah dibuat dapat membantu transaksi yang

    diperlukan.

    Jika semua transaksi dapat berjalan sampai selesai

    dengan menggunakan model yang sudah dibuat, maka

    dapat dipastikan model tersebut dapat membantu transaksi

    yang ada pada perusahaan.

    Namun, jika terdapat transaksi yang tidak berjalan

    hingga selesai, maka harus dilakukan pengecekan kembali

    pada entitas, hubungan maupun atribut yang ada pada

    model data.

    i. Mengulas kembali model data konseptual dengan pengguna

  • 32

    Setelah dilakukan kembali, model data konseptual

    diulas kembali dengan diagram entitas dan relasi dan semua

    dokumentasi yang mendukung dalam penggambaran model

    data tersebut. Jika terdapat keganjilan yang ditemukan di

    dalam model data, perubahan harus dilakukan jika

    diperlukan, dimana tahap-tahap sebelumnya akan diulang

    kembali.

    Tahap ini akan diulang terus menerus hingga pengguna

    dapat memastikan bahwa model yang telah dibuat dapat

    merepresentasikan secara tepat bagian dari perusahaan.

    2.2.6.4.2 Perancangan Basis Data Logikal

    Perancangan Basis Data Logikal (Logical

    Database Design) adalah proses membangun sebuah

    model dari data yang digunakan dalam perusahaan

    berdasarkan pada model data yang spesifik tetapi terbebas

    dari DBMS dan dari semua pertimbangan fisikal.

    Adapun tahapannya adalah sebagai berikut :

    a. Menurunkan relasi untuk model data logikal

    Pada tahap ini, kita menurunkan relasi dari model

    data logikal untuk merepresentasikan entitas, relasi dan

    atribut. Penurunan relasi yang dilakukan mungkin juga

    terdapat pada model data konseptual, yaitu :

    1. Entitas kuat

  • 33

    Untuk setiap entitas kuat di dalam model data, buatlah

    sebuah relasi termasuk semua atribut sederhana dari

    setiap entitas.

    2. Entitas lemah

    Untuk setiap entitas lemah di dalam model data,

    buatlah sebuah relasi termasuk semua atribut

    sederhana dari setiap entitas. Primary key dari sebuah

    entitas lemah adalah sebuah bagian atau penurunan

    penuh dari setiap pemilik entitas sehingga pengenalan

    dari primary key dari entitas lemah tidak dapat

    dilakukan sampai semua relasi dari pemilik entitas

    telah dipetakan.

    3. Relasi binary one-to-many

    Untuk setiap relasi binary one-to-many, entitas yang

    bersifat one dirancang sebagai entitas parent dan

    entitas yang bersifat many dirancang sebagai entitas

    child.

    4. Relasi binary one-to-one

    Dalam membuat relasi yang merepresentasikan relasi -

    one-to-one lebih kompleks secara kardinalitas tidak

    dapat digunakan untuk mengidentifikasi entitas parent

    dan entitas child di dalam relasi tersebut.

    5. Relasi rekursif binary one-to-one

  • 34

    Sama seperti relasi binary one-to-one, setiap relasi

    rekursif one-to-one, tidak dapat digunakan untuk

    mengidentifikasi entitas parent dan entitas child di

    dalam relasi tersebut.

    6. Relasi superclass/subclass

    Untuk setiap relasi superclass/subclass di dalam model

    data konseptual, entitas superclass diidentifikasikan

    sebagai entitas parent dan entitas subclass sebagai

    entitas child.

    7. Relasi binary many-to-many

    Untuk setiap relasi binary many-to-many dibuat relasi

    yang merepresentasikan hubungan dan termasuk

    atribut mana pun yang merupakan bagian dari

    hubungan tersebut.

    Atribut-atribut yang berupa primary key dari entitas

    yang berpartisipasi dalam hubungan ke dalam relasi

    baru harus dianggap juga sebagai foreign key. Salah

    satu dari kedua foreign key ini juga akan berupa

    primary key dari relasi yang baru, dan kemungkinan

    akan bergabung dengan satu atau lebih atribut.

    8. Relasi kompleks

    Untuk setiap relasi kompleks, dibuat relasi yang

    merepresentasikan relasi dan termasuk semua atribut

    yang merupakan bagian dari hubungan tersebut.

  • 35

    Atribut-atribut yang berupa primary key dari entitas

    yang berpartisipasi dalam hubungan ke dalam relasi

    baru harus dianggap juga sebagai foreign key.

    Foreign key manapun yang merepresentasikan many

    dalam hubungan tersebut, secara umum juga akan

    berperan sebagai primary key dari relasi baru tersebut,

    dan kemungkinan akan bergabung dengan beberapa

    atribut lain.

    9. Atribut multi-valued

    Untuk setiap atribut multi-valued di dalam sebuah

    entitas, buatlah sebuah relasi baru yang

    merepresentasikan atribut multi-valued dan termasuk

    primary key-nya ke dalam relasi baru, juga harus

    dianggap sebagai foreign key.

    Terkecuali jika atribut multi-valued sendiri itulah

    alternate key dari entitas, maka primary key dari relasi

    yang baru adalah gabungan dari atribut multi-valued

    dan primary key dari entitas tersebut.

    b. Memvalidasi relasi dengan menggunakan normalisasi

    Proses dari normalisasi melibatkan relasi melalui

    beberapa langkah pemeriksaan apakah komposisi

    atributnya sesuai dengan peraturan bentuk normal. Proses

    penurunan relasi dari model data konseptual seharusnya

  • 36

    sudah memproduksi relasi yang ada pada bentuk

    normalisasi tahap ketiga. Namun, jika ternyata

    teridentifikasi adanya relasi yang tidak ditemukan di

    normalisasi tahap ketiga, dapat diindikasikan bahwa ada

    beberapa bagian dari model data logikal ataupun

    konseptual yang salah.

    Jika diperlukan, perlu dilakukan restrukturisasi ulang

    terhadap relasi yang menjadi masalah dan pada model data

    untuk menjamin representasi yang tepat terhadap

    kebutuhan data dari perusahaan.

    c. Memvalidasi relasi terhadap transaksi pengguna

    Tujuan dari tahap ini adalah memvalidasi model data

    logikal untuk menjamin bahwa model dapat membantu

    pada transaksi-transaksi yang diperlukan. Jika semua

    transaksi dapat berjalan sampai selesai dengan

    menggunakan model yang sudah dibuat, maka dapat

    dipastikan model yang sudah dibuat dapat membantu

    transaksi yang ada pada perusahaan.

    Namun, jika terdapat transaksi yang tidak berjalan

    hingga selesai, maka harus dilakukan pengecekan kembali

    pada entitas, hubungan maupun atribut yang ada pada

    model data.

  • 37

    d. Memeriksa integrity constraints

    Integrity constraints adalah constraint yang

    diharapkan dapat menentukan dan menjaga basis data

    menjadi tidak lengkap, tidak akurat dan tidak konsisten.

    Beberapa jenis integrity constraints yang dipertimbangkan

    adalah sebagai berikut :

    1. Data yang diperlukan

    2. Atribut domain constraints

    3. Multiplicity

    4. Entity integrity

    5. Referential integrity

    6. General constraints

    e. Meninjau kembali model data logikal dengan pengguna

    Model data logikal sudah lengkap dan

    didokumentasikan. Namun pengguna diminta untuk

    meninjau kembali model data logikal untuk menjamin

    bahwa model data logikal sudah sesuai dengan

    representasi yang diinginkan oleh perusahaan. Jika

    pengguna tidak puas dengan model yang diberikan, maka

    tahap-tahap sebelumnya mungkin perlu diulang kembali.

    Namun jika pengguna puas dengan model yang

    diberikan, maka tahap selanjutnya adalah tergantung

  • 38

    berapa jumlah pengguna yang akan berasosiasi dengan

    basis data, dan bagaimana basis data tersebut akan diatur.

    f. Mengubah model data logikal ke dalam model global

    (opsional)

    Tahap ini diperlukan untuk perancangan basis data

    dengan multiple user views yang diatur dengan pendekatan

    view integration. Sebuah model data logikal lokal

    merepresentasikan satu atau lebih view dari basis data,

    namun tidak semua view, sedangkan model data logikal

    global merepresentasikan semua user view dari basis data.

    Sehingga dalam tahap ini, bisa dilakukan

    penggabungan dua atau lebih model data logikal lokal

    menjadi sebuah model data logikal global.

    g. Memeriksa untuk pertumbuhan di masa depan

    Perancangan basis data logikal diakhiri dengan

    apakah model data logikal mampu diperluas untuk

    membantu adanya perkembangan di masa depan. Jika

    model hanya dapat menopang kebutuhan saat ini, maka

    hidup dari model tersebut relatif pendek dan pengerjaan

    kembali dari model kemungkinan diperlukan untuk

    menampung kebutuhan baru.

  • 39

    Penting untuk mengembangkan model yang dapat

    diperluas dan mempunyai kemampuan untuk berevolusi

    agar dapat menyangga kebutuhan-kebutuhan baru dengan

    efek samping minimal dengan pengguna saat ini. Akan

    tetapi, perlu atau tidaknya sebuah model diperiksa atau

    diubah untuk dapat dipakai masa depan juga tidak lepas

    dari permintaan pengguna.

    2.2.6.4.3 Perancangan Basis Data Fisikal

    Perancangan Basis Data Fisikal (Physical

    Database Design) adalah proses menghasilkan deskripsi

    dari implementasi basis data pada penyimpanan sekunder.

    Perancangan ini menjelaskan hubungan dasar, organisasi

    file, dan beberapa indeks yang digunakan untuk mencapai

    pengaksesan data yang efisien dan batasan-batasan

    integrasi serta mekanisme keamanan.

    Adapun tahapannya adalah sebagai berikut :

    a. Menterjemahkan model data logikal untuk DBMS yang

    digunakan

    Aktivitas pertama dalam perancangan basis data

    fisikal adalah melibatkan penerjemahan relasi dalam

    model data logikal ke dalam bentuk yang dapat

  • 40

    diimplementasikan ke target DMBS. Tahapannya meliputi

    :

    1. Perancangan relasi dasar

    Untuk memulai proses perancangan fisikal, yang

    utama dilakukan adalah menyatukan dan memahami

    informasi mengenai relasi yang dihasilkan dari

    perancangan logikal basis data. Informasi yang

    diperlukan dapat didapat dari kamus data dan definisi

    masing-masing relasi yang dideskripsikan dengan

    menggunakan Database Design Language (DBDL).

    Untuk merepresentasikan rancangan dari relasi dasar,

    dapat digunakan DBDL untuk mendefinisikan domain,

    nilai default dan indikator null.

    2. Perancangan representasi dari derived data

    Atribut yang nilainya dapat ditemukan dengan menguji

    nilai dari atribut lain dinamakan derived attribute atau

    calculated. Tujuan dari tahap ini adalah agar dapat

    menentukan bagaimana sebuah derived data dapat

    direpresentasikan yang ada di model data di dalam

    target DBMS.

    3. Perancangan general constraints

    Update terhadap relasi bisa dianggap dibatasi oleh

    integrity constraints, yang memimpin dunia nyata

    transaksi yang direpresentasikan oleh update. Integrity

  • 41

    constraints terdiri dari data yang diperlukan, domain

    constraints dan entitas dan referential integrity. Tujuan

    dari tahap ini adalah merancang constraints umum

    untuk target DBMS.

    b. Perancangan indeks dan organisasi file

    Tujuannya adalah untuk menentukan organisasi file

    yang optimal untuk menyimpan relasi dasar dan indeks-

    indeks yang diperlukan agar mencapai performa yang

    dapat diterima, yang dimana, cara relasi dan tuples akan

    disimpan di penyimpanan sekunder. Aktivitas pada tahap

    ini dibagi menjadi beberapa, yaitu :

    1. Menganalisis transaksi

    Agar perancangan basis data fisikal berjalan efektif,

    diperlukan pengetahuan mengenai transaksi atau query

    yang akan dijalankan di dalam basis data. Hal ini

    mencakup baik informasi kualitatif maupun informasi

    kuantitatif. Kriteria performa transaksi yang dianalisis

    adalah seperti berikut ini :

    Transaksi yang sering berjalan dan akan memiliki pengaruh yang signifikan terhadap performa.

    Transaksi yang kritikal terhadap operasi bisnis.

  • 42

    Waktu-waktu tertentu, baik tiap hari maupun tiap minggu, dimana akan ada permintaan yang tinggi

    yang dihadapi oleh basis data.

    2. Memilih organisasi file

    Salah satu tujuan utama dalam perancangan basis data

    fisikal adalah untuk menyimpan dan mengakses data

    dengan cara yang efisien. Pemilihan organisasi file

    dapat dikategorikan ke dalam tipe-tipe file :

    Heap Hash Indexed Sequential Access Method (ISAM) B*-tree Clusters

    Jika target DMBS tidak memperbolehkan adanya

    pemilihan organisasi file, maka tahap ini dapat

    dihilangkan.

    3. Memilih indeks

    Salah satu pendekatan dalam memilih organisasi file

    yang tepat untuk sebuah relasi adalah menjaga

    unordered tuples dan membuat sebanyak mungkin

    indeks sekunder jika diperlukan. Pendekatan lainnya

    adalah dengan menentukan sebuah indeks primary

    atau clustering.

  • 43

    4. Mengestimasi kebutuhan disk space

    Ada saat dimana konfigurasi hardware menjadi syarat

    dalam pengimplementasian basis data fisikal.

    Walaupun itu bukan masalah utama, perancang tetap

    harus memperkirakan jumlah disk space yang akan

    dipakai untuk menyimpan basis data, jika terdapat

    hardware baru.

    c. Perancangan tampilan untuk pengguna

    Tahap pertama dari metode perancangan basis data

    melibatkan hasil produksi dari model data konseptual baik

    untuk single-user view maupun beberapa gabungan user

    view yang diidentifikasikan selama pengumpulan

    kebutuhan dan tahap analisis. Tujuan utama dari tahap ini

    adalah untuk merancang user view yang diidentifikasikan

    di tahap perancangan sebelumnya.

    d. Perancangan mekanisme keamanan

    Sebuah basis data merupakan sumber daya penting

    bagi perusahaan sehingga keamanan sangatlah penting.

    Tujuan utama dari tahap ini adalah untuk merancang

    mekanisme keamanan untuk basis data sebagaimana telah

    ditetapkan oleh pengguna selama tahap pengumpulan

    kebutuhan dari siklus hidup sistem basis data. DBMS

  • 44

    menyediakan dua jenis keamanan basis data yaitu

    keamanan sistem dan keamanan data.

    Keamanan sistem melindungi akses dan penggunaan

    basis data pada tingkat sistem, seperti username dan

    password. Keamanan data melindungi akses dan

    penggunaan objek basis data, seperti relasi dan views, dan

    aksi yang dapat dilakukan pengguna terhadap objek-objek

    tersebut. Perancangan hak akses pun tergantung dari target

    DBMS, beberapa sistem menyediakan fasilitas lebih dari

    yang lain untuk merancang hak akses.

    e. Pertimbangan kembali dengan redundansi yang sudah

    terkontrol

    Normalisasi adalah sebuah teknik untuk menentukan

    atribut mana yang sesuai dengan relasinya. Perancangan

    basis data logikal adalah hasil dari normalisasi yang sudah

    terstruktur secara konsisten dan mempunyai redundansi

    yang minimal.

    Namun, terkadang menormalisasikan basis data tidak

    menyediakan pemrosesan yang efisien dan maksimum.

    Secara formal, denormalisasi berhubungan dengan

    perbaikan skema relasi. Dalam beberapa hal,

    denormalisasi dipakai secara spesifik untuk meningkatkan

  • 45

    kecepatan proses atau transaksi yang kritikal, yaitu dengan

    cara :

    1. Menggabungkan relasi one-to-one.

    2. Menduplikasikan atribut non-key di dalam relasi one-

    to-many untuk mengurangi joins.

    3. Menduplikasikan atribut foreign key di dalam relasi

    one-to-many untuk mengurangi joins.

    4. Menduplikasikan atribut di dalam relasi many-to-many

    untuk mengurangi joins.

    5. Memperkenalkan repeating groups.

    6. Membuat extract table.

    7. Mempartisi relasi.

    f. Memantau dan menyesuaikan sistem operasional

    Tujuan utama dari tahap ini adalah untuk memantau

    sistem yang beroperasional dan meningkatkan performa

    dari sistem untuk memperbaiki rancangan yang tidak tepat

    terhadap keputusan ataupun perubahan kebutuhan. Ada

    beberapa faktor yang digunakan untuk mengukur efisiensi

    :

    1. Transaction Throughput.

    2. Response Time.

    3. Disk Storage.

  • 46

    Untuk meningkatkan efisiensi basis data, beberapa

    DBMS menyediakan fasilitas bagi Database

    Administrator (DBA) untuk melakukan tuning, berikut

    beberapa keuntungan dari tuning :

    1. Tuning dapat menghindari penambahan hardware.

    2. Dapat menurunkan konfigurasi hardware, sehingga

    lebih murah dan menghindari maintenance pada

    hardware.

    3. Sebuah sistem yang sering di-tuning menghasilkan

    response time lebih cepat dan throughput lebih baik,

    yang membuat pengguna lebih produktif.

    4. Meningkatkan response times membuat moral

    karyawan juga tinggi.

    2.2.6.5 Pemilihan DBMS

    Memilih DBMS yang sesuai untuk sistem basis data yang

    akan dibuat. Terdapat beberapa tahapan dalam memilih DBMS,

    yaitu :

    Mendefinisikan waktu pembelajaran. Menuliskan dua atau tiga produk. Mengevaluasi produk. Merekomendasikan hasil dan pemilihan laporan.

  • 47

    2.2.6.6 Perancangan Aplikasi

    Merancang tampilan layar pada aplikasi dan antar muka

    pengguna yang akan digunakan untuk memproses basis data.

    Dalam perancangan aplikasi yang perlu diperhatikan adalah

    rancangan antarmuka untuk pengguna dan rancangan transaksi.

    Rancangan transaksi adalah sekumpulan tindakan yang

    dibawa oleh pengguna tunggal atau program aplikasi yang

    mengakses kandungan dari basis data. Tujuan dari rancangan

    transaksi adalah mendefinisikan dan mendokumentasikan

    karakteristik tingkat tinggi transaksi yang diperlukan oleh basis

    data, meliputi :

    Data yang akan digunakan pada transaksi. Karakteristik fungsional dari transaksi. Keluaran dari transaksi. Kepentingan pengguna. Dasar pemakaian yang diharapkan.

    Sebelum mengimplementasikan laporan atau faktur,

    sebaiknya merancang dahulu tampilan antarmuka untuk

    pengguna. Berikut ini adalah pedoman untuk merancang laporan

    atau faktur :

    Judul relevan. Instruksi yang mudah untuk dipahami.

  • 48

    Pengelompokan logikal dan bidang secara berurutan. Gambaran laporan atau faktur. Label bidang yang mudah dikenali. Penggunaan singkatan dan istilah konsisten. Penggunaan warna yang konsisten. Adanya jarak dan batas-batas untuk bidang pengisian data. Pergerakan kursor yang nyaman. Koreksi kesalahan untuk satu karakter dan seluruh bidang. Pesan kesalahan untuk nilai-nilai yang tidak dapat

    diterima.

    Pilihan bidang ditandai dengan jelas. Pesan penjelasan yang jelas untuk bidang-bidang. Adanya penanda penyelesaian.

    2.2.6.7 Prototyping

    Membangun model kerja dari sistem basis data yang dapat

    memungkinkan pengguna untuk menggambarkan dan

    mengevaluasi bagaimana sistem akhir dapat berfungsi. Ada dua

    pemodelan strategis yang biasa digunakan, yaitu requirements

    prototyping dan evolutionary prototyping.

  • 49

    2.2.6.8 Implementasi

    Membuat definisi basis data fisikal dan program aplikasi.

    Implementasi database menggunakan Data Definition Language

    (DDL) dari DBMS atau Graphical User Interface (GUI) yang

    dapat menyembunyikan DDL tingkat rendah secara fungsional.

    2.2.6.9 Pengubahan dan Pemuatan Data

    Memuat data dari sistem lama ke sistem yang baru dan

    mengkonversi aplikasi yang ada serta menjalankannya pada

    sistem basis data yang baru. Proses ini harus direncanakan secara

    matang untuk memastikan perpindahan yang lancar.

    2.2.6.10 Uji Coba

    Sistem basis data diuji untuk mengetahui kesalahan-

    kesalahan yang ada dan menyempurnakan sesuai dengan

    kebutuhan pengguna. Contoh kriteria yang dapat digunakan untuk

    mengevaluasi, diantaranya:

    Learnability Seberapa lama pengguna baru menjadi produktif dengan sistem?

    Performance Bagaimana sistem menanggapi pekerjaan pengguna secara tepat?

    Robustness Bagaimana toleransi sistem terhadap kesalahan pengguna?

  • 50

    Recoverability Seberapa baik sistem melakukan recovery terhadap kesalahan-kesalahan pengguna?

    Adaptability Bagaimana sistem mengikat menjadi satu model kerja?

    2.2.6.11 Pemeliharaan Operasional

    Sistem basis data telah diimplementasikan secara penuh.

    Sistem diawasi dan dipelihara secara berkala. Ketika diperlukan,

    kebutuhan baru yang diinginkan akan disatukan kedalam sistem

    basis data melalui proses awal dari Database System Development

    Lifecycle telah diimplementasikan secara penuh dan telah diuji.

    Sistem akan dipelihara mengikuti aturan-aturan berikut :

    Mengawasi kinerja sistem. Jika sistem turun drastis dibawah tingkatan yang bisa diterima, maka organisasi database

    dibutuhkan.

    Memelihara dan menaikkan tingkatan sistem database ketika dibutuhkan. Kebutuhan baru disatukan kedalam sistem

    database melalui tingkatan sebelumnya dari siklus.

    2.2.7 Pemodelan Entitas dan Relasi

    Pengidentifikasian entitas direpresentasikan beserta nama entitas,

    deskripsi entitas dan kejadian yang terjadi pada entitas tersebut.

  • 51

    Pengidentifikasian relasi direpresentasikan beserta nama entitas,

    multiplicity dan hubungannya.

    2.2.7.1 Entitas

    Menurut Connolly (2005, p343), entitas adalah

    sekumpulan objek yang diidentifikasi oleh sebuah perusahaan

    atau perorangan yang mempunyai sifat-sifat yang sama dan

    mempunyai keberadaan yang independen. Sebuah entitas

    memiliki keberadaannya yang bebas dan bisa menjadi objek

    dengan fisik atau menjadi objek dengan keberadaan konseptual.

    Artinya perancang yang berbeda mungkin mengidentifikasikan

    entitas yang berbeda pula. Sebuah basis data biasanya berisi

    banyak tipe entitas yang berbeda pula. Dalam Unified Modelling

    Language (UML), huruf pertama dari entitas diawali dengan

    huruf kapital.

    Sedangkan menurut Connolly (2005, p345), entity

    occurrence adalah sebuah objek unik yang dapat diidentifikasikan

    dari sebuah tipe entitas. Berikut adalah contoh entitas : karyawan,

    perusahaan, pemilik.

  • 52

    Gambar 2.3 Nama Entitas

    2.2.7.2 Relasi

    Menurut Connolly dan Begg (2005, p346), relasi

    (relationship) adalah sekumpulan hubungan yang berarti antara

    satu atau lebih entitas, dimana setiap tipe relationship diberi nama

    yang menggambarkan fungsinya.

    Sedangkan relationship occurrence adalah hubungan yang

    dapat diidentifikasi secara unik, yang termasuk satu kejadian dari

    setiap entitas yang berpartisipasi.

    Mempunyai

    Perusahaan mempunyai karyawan

    Gambar 2.4 Relasi antar Entitas

    NamaHubungan

    Karyawan Perusahaan

    Nama Entitas

    Karyawan Perusahaan

  • 53

    2.2.7.3 Derajat Relasi

    Menurut Connolly dan Begg (2005, pp347-349), derajat

    relasi adalah banyaknya tipe entitas yang terlibat dalam suatu

    hubungan. Hubungan derajat dua disebut binary. Hubungan

    binary adalah hubungan antara dua entitas. Contoh dari hubungan

    binary :

    Pemilik memiliki

    Gambar 2.5 Hubungan Derajat Dua

    Gambar diatas menjelaskan hubungan antara dua entitas

    yaitu PemilikPribadi dan PropertiYangDisewakan yang

    menjelaskan bahwa PemilikPribadi memiliki

    PropertiYangDisewakan.

    Hubungan derajat tiga disebut ternary. Ternary

    menghubungkan relasi antar tiga entitas. Berikut adalah contoh

    dari ternary :

    PemilikPribadi PropertiYangDisewakan

  • 54

    Gambar 2.6 Hubungan Derajat Tiga

    Pada gambar tersebut dijelaskan bahwa ada tiga entitas

    yang saling berhubungan yaitu Pegawai, Cabang dan Pelanggan.

    Ketiga entitas tersebut berhubungan karena mempunyai satu

    kegiatan yaitu Mendaftar. Hubungan yang kompleks digunakan

    untuk menjelaskan derajat yang lebih besar dari binary.

    Suatu tipe hubungan dimana entitas yang sama ambil

    bagian lebih dari sekali dalam aturan yang berbeda disebut

    hubungan rekursif. Sebagai contoh adalah Supervisor yang

    merupakan bagian dari Pegawai mengawasi Pegawai. Diperlukan

    adanya aturan untuk menandakan tujuan dari masing-masing

    entitas. Berikut adalah contoh gambar hubungan rekursif :

    Pegawai Cabang

    Pelanggan

    Mendaftar

  • 55

    Mengawasi

    Supervisor

    Pegawai

    Gambar 2.7 Hubungan Rekursif

    2.2.7.4 Atribut

    Menurut Connolly dan Begg (2005, p350), atribut adalah

    sebuah properti atau sifat dari entitas atau tipe hubungan. Sebagai

    contoh, entitas karyawan mungkin dapat menjelaskan atribut

    sebagai berikut : noKaryawan, nama, posisi dan gaji. Setiap

    atribut menyimpan nilai yang menjelaskan setiap entity

    occurrence dan menggambarkan bagian utama dari data yang

    disimpan didalam basis data.

    Sedangkan domain attribute adalah sekelompok nilai yang

    diperbolehkan bagi satu atau lebih atribut. Domain

    mendefinisikan nilai potensi yang atribut miliki.

    2.2.7.5 Keys

    Menurut Connolly dan Begg (2005, p352), kumpulan

    atribut minimal yang unik yang menggambarkan masing-masing

    Pegawai

    Aturan

    Aturan

  • 56

    kejadian dari sebuah tipe entitas dinamakan candidate key.

    Sedangkan primary key adalah candidate key yang dipilih untuk

    menggambarkan secara unik masing-masing kejadian dari suatu

    tipe entitas. Tipe entitas memungkinkan untuk memiliki lebih dari

    satu candidate key.

    Composite key adalah candidate key yang terdiri dari

    atribut dua atau lebih. Suatu entitas biasanya memiiliki composite

    key dalam menjelaskan atribut-atribut yang dimilikinya. Pada

    kondisi tertentu, key dari suatu tipe entitas tersusun dari beberapa

    atribut yang mempunyai nilai bersama yang unik tetapi tidak

    secara terpisah.

    Untuk beberapa sistem basis data sederhana,

    memungkinkan untuk menampilkan semua atribut yang dimiliki

    dari masing-masing entitas di dalam diagram Entity Relationship

    (ER). Sedangkan pada sistem basis data yang kompleks, hanya

    menampilkan atribut atau beberapa atribut.

  • 57

    Mengelola

    Memiliki

    Gambar 2.8 Keys

    2.2.7.6 Entitas Kuat dan Lemah

    Menurut Connolly (2005, p354), entitas kuat adalah entitas

    yang keberadaannya tidak bergantung pada beberapa entitas yang

    lainnya. Karakter dari entitas ini adalah bahwa setiap kejadian

    entitas teridentifikasi secara unik dengan menggunakan atribut

    primary key. Sebagai contoh, kita dapat mengidentifikasi secara

    unik setiap anggota karyawan dengan menggunakan atribut

    noKaryawan.

    Sedangkan entitas lemah adalah entitas yang

    keberadaannya bergantung pada beberapa entitas yang lain.

    Karyawan

    noKaryawan{PK}

    nama

    jabatan

    gaji

    Cabang

    noCabang{PK}

    alamat

    jalan

    kota

    kodepos

    PrimaryKey

    CompositeAttribute

  • 58

    Karateristik dari entitas ini bahwa setiap kejadian entitas tidak

    dapat teridentifikasi secara unik hanya dengan menggunakan

    atribut entitas tersebut. Kita hanya dapat mengidentifikasi secara

    unik entitas melalui hubungan yang dimiliki entitas dengan entitas

    klien yang secara unik teridentifikasi menggunakan primary key.

    Berikut adalah contoh gambar untuk menjelaskan entitas

    kuat dan lemah :

    Menyatakan

    Gambar 2.9 Entitas Kuat dan Lemah

    PelanggannoPelanggan(PK)nama namaDepan namaLengkapnoTelepon

    Pilihan

    TipePilihan

    MaxSewa

    Entitaskuat Entitaslemah

  • 59

    2.2.7.7 Structural Constraints

    Structural Constraints berisikan pembatasan (restriction)

    dari relasi entitas di dunia nyata. Tipe utama dari constraint di

    dalam relationship disebut multiplicity.

    Menurut Connolly (2005, p356), multiplicity adalah

    jumlah (jangkauan dari kemungkinan kehadiran tunggal dari suatu

    entity yang berasosiasi melalui relationship tertentu. Multiplicity

    menentukan cara dimana entity dihubungkan yang merupakan

    representasi dari aturan bisnis yang diterapkan oleh user di dalam

    perusahaan.

    2.2.8 Normalisasi

    2.2.8.1 Pengertian Normalisasi

    Normalisasi adalah teknik untuk menganalisis hubungan

    berdasarkan primary key (atau candidate key) dan fungsi yang

    berketergantungan. Teknik ini melibatkan serangkaian aturan

    yang dapat digunakan untuk menguji hubungan individu sehingga

    database dapat dinormalisasi untuk derajat apapun. Bila

    persyaratan tidak terpenuhi, hubungan yang melanggar

    persyaratan tersebut harus didekomposisi ke dalam hubungan

    yang secara individual agar memenuhi persyaratan normalisasi.

    Diusulkan tiga bentuk normal yang disebut First Normal Form

    (1NF), Second Normal Form (2NF), dan Third Normal Form

    (3NF). Normalisasi sering dieksekusi dalam serangkaian langkah.

  • 60

    Setiap langkah sesuai dengan bentuk normal tertentu yang telah

    dikenal karakteristiknya masing-masing. Dengan semakin

    lanjutnya normalisasi, hubungan menjadi lebih terbatas (lebih

    kuat) dalam bentuk dan juga lebih kurang rentan untuk diperbaiki

    jika terdapat penyimpangan atau kelainan.

    .

    2.2.8.2 Redundansi Data

    Tujuan utama dari database relasional adalah untuk

    mengelompokkan atribut ke dalam hubungan untuk

    meminimalkan redundansi data. Jika tujuan ini tercapai, manfaat

    potensial untuk database yang diimplementasikan meliputi :

    1. Pembaruan data yang disimpan dalam database dapat

    dicapai dengan jumlah minimal operasi sehingga

    mengurangi kesempatan untuk data yang inkonsisten

    terjadi di dalam database

    2. Pengurangan ruang dalam penyimpanan file yang

    dibutuhkan oleh relasi dasar sehingga meminimalkan

    biaya.

  • 61

    2.2.8.3 Proses Normalisasi

    Gambar 2.10 Proses Normalisasi

    Menurut Connolly dan Begg (2005, pp401-402), dalam

    normalisasi ada tiga bentuk normal yang dianjurkan yaitu First

    Normal Form (1NF), Second Normal Form (2NF), dan Third

    Normal Form (3NF). Seiring dengan berjalannya normalisasi,

    hubungan menjadi lebih kuat pada bentuk dan juga kurang rentan

    tehadap keanehan dalam update. Untuk hubungan model data,

    penting untuk diketahui bahwa hanya 1NF yang menjadi elemen

    penting dalam membuat sebuah relasi. Untuk mengatasi keanehan

    update, umumnya dianjurkan untuk memproses sampai ke dalam

    bentuk 3NF.

    Kumpulan dari fungsi-fungsi yang bebas diberikan pada

    masing-masing relasi dan masing-masing relasi mempunyai

    primary key yang telah ada. Penting untuk diperhatikan bahwa arti

  • 62

    dari atribut-atribut dan relasinya harus dapat dimengerti terlebih

    dahulu sebelum memulai proses normalisasi.

    2.2.8.4 Relasi Antar Normal Form

    2.2.8.4.1 Unnormalized Form (UNF)

    Sebuah tabel yang mengandung kelompok

    perulangan satu atau lebih. Sedangkan pengertian

    kelompok perulangan adalah suatu atribut atau kumpulan

    atribut di dalam tabel yang terdapat beberapa nilai pada

    satu kejadian yang ditunjuk oleh atribut key dari suatu

    tabel.

    2.2.8.4.2 First Normal Form (1NF)

    Suatu relasi di mana pada tiap persimpangan setiap

    baris dan kolom berisi satu dan hanya satu nilai. Ada dua

    pendekatan umum untuk menghilangkan kelompok

    berulang dari tabel yang belum dinormalisasi :

    1. Dengan memasukkan data yang sesuai dalam kolom

    kosong yang berisi baris data yang berulang.

    2. Dengan menempatkan data berulang, bersama dengan

    salinan dari satu atau banyak original key ke dalam

    relasi yang terpisah.

  • 63

    2.2.8.4.3 Second Normal Form (2NF)

    Suatu relasi yang ada di dalam First Normal Form

    dan setiap atribut non-primary-key, kemampuan

    sepenuhnya tergantung pada primary key. Proses

    normalisasi hubungan-hubungan di 1NF ke 2NF

    melibatkan penghapusan ketergantungan parsial. Jika

    ketergantungan parsial ada, kita menghapus atribut yang

    berketergantungan secara parsial dari hubungan dengan

    menempatkan mereka dalam hubungan baru bersama

    dengan salinan dari determinan mereka.

    2.2.8.4.4 Third Normal Form (3NF)

    Berupa relasi yang terdapat pada First Normal

    Form dan Second Normal Form, di mana tidak ada atribut

    non-primary key yang bergantung transitif pada primary

    key. Proses normalisasi hubungan-hubungan di 2NF ke

    3NF melibatkan penghapusan ketergantungan transitif.

    Jika ketergantungan transitif ada, kita menghapus atribut

    yang berketergantungan secara transitif dari hubungan

    dengan menempatkan atribut dalam hubungan baru

    bersama dengan salinan determinannya.

  • 64

    2.3 Tools yang Digunakan

    2.3.1 Analisis dan Perancangan

    2.3.1.1 Flowchart

    Flowchart merupakan penggambaran secara grafik dari

    langkah-langkah dan urutan prosedur suatu program. Biasanya

    mempermudah penyelesaian masalah, khususnya yang perlu

    dipelajari dan dievaluasi lebih lanjut. Flowchart menggunakan

    serangkaian simbol standar untuk mendeskripsikan melalui

    gambar prosedur pemrosesan transaksi yang digunakan

    perusahaan, dan arus data yang melalui sistem. Setiap simbol

    dalam flowchart menggambarkan input, output, pemrosesan, serta

    media penyimpanan yang dipergunakan.

    Flowchart terbagi atas lima jenis, yaitu :

    Flowchart Sistem (System Flowchart). Flowchart Paperwork/Flowchart Dokumen (Document

    Flowchart).

    Flowchart Skematik (Schematic Flowchart). Flowchart Program (Program Flowchart). Flowchart Proses (Process Flowchart).

    Berikut adalah simbol-simbol yang digunakan dalam pembuatan

    flowchart :

  • 65

    Gambar 2.11 Simbol-Simbol pada Flowchart

    Simbol Keterangan

    Merupakan awal atau akhir bagian dari

    proses

    Proses komputerisasi

    Keputusan atau pilihan

    Proses manual

    Dokumen atau laporan

    Alur data

    Penyimpanan data

    Konektor antara dua halaman

    Konektor antara poin yang berbeda

    Dokumen dan file utama

  • 66

    2.3.1.2 Data Flow Diagram (DFD)

    Data Flow Diagram (DFD) adalah sebuah alat yang

    menggambarkan aliran data sampai sebuat sistem selesai, dan

    kerja atau proses dilakukan dalam sistem tersebut. Istilah Data

    Flow Diagram dalam bahasa Indonesia biasa disebut diagram

    aliran data. Dalam DFD terdapat empat komponen utama, yaitu :

    1. External Agents

    Agen eksternal mendefinisikan orang atau sebuah unit

    organisasi, sistem lain, atau organisasi yang berada di luar

    sistem proyek tapi dapat mempengaruhi kerja sistem.

    2. Proses

    Proses adalah penyelenggaraan kerja atau jawaban, datangnya

    aliran data atau kondisinya.

    3. Data Stores

    Data Stores adalah tempat penyimpanan data.

    4. Data Flow

    Data Flow merepresentasikan sebuah input data ke dalam

    sebuah proses atau output dari data (atau informasi) pada

    sebuah proses.

    Jenis-jenis DFD adalah sebagai berikut :

    1. Level 0 (Diagram Konteks)

  • 67

    Level ini merupakan sebuah proses yang berada di posisi

    pusat.

    2. Level 1 (Diagram Nol)

    Level ini merupakan sebuah proses yang terdapat di level 0

    yang dipecahkan menjadi beberapa proses lainnya. Sebaiknya

    maksimum tujuh proses untuk sebuah diagram konteks.

    3. Level 2 (Diagram Rinci)

    Pada level ini merupakan diagram yang merincikan diagram

    level satu. Terdapat tanda * yang digunakan jika proses

    tersebut tidak dapat dirincikan lagi. 2.0* artinya proses level

    rendah yang tidak dapat dirincikan lagi. Penomoran yang

    dilakukan adalah berdasarkan urutan proses.

    Simbol-simbol yang digunakan pada DFD

    DeMarco and Yourdan Symbols

    Keterangan Gane and Sarson Symbols

    Source

    (Kesatuan Luar)

    Proses

    Data Flow

    (Arus Data)

  • 68

    Data Store

    (Penyimpanan Data)

    Gambar 2.12 Simbol-Simbol pada DFD

    2.3.1.3 State Transition Diagram (STD)

    State Transition Diagram (STD) adalah suatu kondisi

    yang menunjukkan keadaan tertentu, dimana suatu sistem dapat

    dinyatakan dengan transisi yang menghasilkan keadaan tertentu

    yang baru. Biasanya digunakan dalam sistem yang real time.

    Simbol yang terdapat dalam STD antara lain :

    System State Setiap empat persegi panjang menggambarkan satu

    keadaan sistem dari sistem secara keseluruhan.

    Changes of State Merupakan perpindahan proses dari alur kejadian yang

    perindahan kejadian digambarkan dengan anak panah.

  • 69

    Gambar 2.13 Changes of State

    Conditions dan Actions Conditions dan Actions gambaran jika terdapat suatu

    kejadian yang merupakan hubungan sebab dan akibat

    dari suatu proses.

    Kejadian1

    Kejadian2

    Kejadian3

  • 70

    Gambar 2.14 Conditions dan Actions

    2.3.2 Programming Tools

    2.3.2.1 Microsoft SQL Server

    Microsoft SQL Server merupakan produk RDBMS

    (Relational Database Management System) yang dibuat oleh

    Microsoft. Orang sering menyebutnya dengan SQL Server saja.

    Microsoft SQL Server juga mendukung SQL sebagai bahasa

    untuk memproses query ke dalam database. Mirosoft SQL Server

    banyak digunakan pada dunia bisnis, pendidikan atau juga

    pemerintahan sebagai solusi database atau penyimpanan data.

    2.3.2.2 Visual Basic.NET

    Visual Basic.NET adalah bahasa pemrograman yang

    dikembangkan oleh Microsoft. Visual Basic.NET merupakan

    Condition

    Action

    Kejadian1

    Kejadian2

  • 71

    pengembangan dari versi sebelumnya, yaitu Visual Basic 6.0,

    yang memiliki karakteristik mudah untuk dipahami., namun

    handal dalam mengikuti tren perangkat lunak. Perbedaan

    mendasar antara Visual Basic.NET dengan versi-versi

    sebelumnya adalah kemampuan Object Oriented Programming

    (OOP). Saat ini Visual Basic.NET telah dikolaborasikan dengan

    beberapa jenis aplikasi seperti aplikasi desktop.

    Visual Basic.NET berorientasi objek artinya program

    antarmuka terdiri dari objek-objek. Keunggulannya adalah

    pengelompokan objek yang dibagi menjadi beberapa modul

    sehingga pengaturan pemrograman difokuskan pada tiap-tiap

    modulnya.

    Struktur yang ada dalam Visual Basic.NET terdiri dari :

    a. Form

    Form adalah windows atau jendela kerja (worksheet) yang

    digunakan untuk membuat tampilan yang diinginkan.

    b. Kontrol

    Kontrol merupakan tampilan grafis yang dibuat pada form

    untuk interaksi dengan pemakai.

    c. Properties

    Properties adalah nilai atau karakteristik yang dimiliki oleh

    Visual Basic.NET.

    d. Metode

  • 72

    Metode adalah serangkaian perintah yang sudah tersedia pada

    suatu objek yang dapat diminta untuk mengerjakan tugas

    khusus.

    e. Prosedur Kejadian

    Prosedur kejadian adalah kode yang berhubungan dengan

    suatu objek.

    f. Prosedur Umum

    Prosedur umum adalah merupakan kode yang tak

    berhubungan dengan suatu objek.

    g. Modul

    Modul adalah sekumpulan dari prosedur umum dan definisi

    konstanta yang digunakan oleh aplikasi.

    2.4 Pemahaman Objek Studi

    2.4.1 Pengertian Persediaan

    Menurut Agus Ristono (2009), persediaan dapat diartikan sebagai

    barang-barang yang disimpan untuk digunakan atau dijual pada masa atau

    periode yang akan datang. Persediaan terdiri dari persediaan bahan baku,

    persediaan barang setengah jadi, dan persediaan barang jadi.

    Persediaan barang mempunyai fungsi yang sangat penting bagi

    perusahaan. Dari berbagai macam persediaan barang yang ada, seperti

    bahan baku, barang dalam proses, dan barang jadi, perusahaan melakukan

    penyimpanan atas persediaan barang karena berbagai fungsi, yaitu fungsi

  • 73

    yang memungkinkan perusahaan dapat memenuhi permintaan pelanggan,

    fungsi untuk mempertimbangkan penghematan-penghematan, dan fungsi

    untuk mengurangi adanya resiko ketidakpastian.

    (http://elib.unikom.ac.id/download.php?id=91101)

    2.4.1.1 Tujuan Persediaan

    Pengendalian persediaan yang dijalankan adalah untuk

    menjaga tingkat persediaan pada tingkat yang optimal sehingga

    diperoleh penghematan-penghematan untuk persediaan tersebut.

    Beberapa hal yang menyangkut suatu perusahaan harus

    menyelenggarakan persediaan menurut Ahyari (2003) adalah :

    1. Bahan yang akan digunakan untuk pelaksanaan proses

    produksi perusahaan tersebut tidak dapat dibeli atau

    didatangkan secara satu persatu dalam jumlah unit yang

    diperlukan perusahaa serta pada saat barang tersebut akan

    dipergunakan untuk proses produksi perusahaan tersebut.

    Bahan baku tersebut pada umumnya akan dibeli dalam jumlah

    tertentu, dimana jumlah tertentu ini akan dipergunakan untuk

    menunjang pelaksanaan proses produksi perusahaan yang

    bersangkutan dalam beberapa waktu tertentu pula. Dengan

    keadaan semacam ini maka bahan baku yang sudah dibeli oleh

    perusahaan namun belum dipergunakan untuk proses produksi

    akan masuk sebagai persediaan bahan baku dalam perusahaan

    tersebut.

  • 74

    2. Apabila perusahaan tidak mempunyai persediaan bahan baku,

    sedangkan bahan baku yang dipesan belum datang maka

    pelaksanaan proses produksi dalam perusahaan tersebut akan

    terganggu. Ketiadaan bahan baku tersebut akan

    mengakibatkan terhentinya pelaksanaan proses produksi

    pengadaan bahan baku dengan cara tersebut akan membawa

    konsekuensi bertambah tingginya harga beli bahan baku yang

    dipergunakan oleh perusahaan. Keadaan tersebut tentunya

    akan membawa kerugian bagi perusahaan.

    3. Untuk menghindari kekurangan bahan baku tersebut, maka

    suatu perusahaan dapat menyediakan bahan baku dalam

    jumlah yang banyak. Tetapi persediaan bahan baku dalam

    jumlah besar tersebut akan mengakibatkan terjadinya biaya

    persediaan bahan yang semakin besar pula. Besarnya biaya

    yang semakin besar ini berarti akan mengurangi keuntungan

    perusahaan. Di samping itu, resiko kerusakan bahan juga akan

    bertambah besar apabila persediaan bahan bakunya besar.

    (http://elib.unikom.ac.id/files/disk1/453/jbptunikompp-gdl-

    sukamabins-22618-4-unikom_s-i.pdf)

    2.4.1.2 Penggunaan Persediaan

    Persediaan barang mempunyai fungsi yang sangat penting

    bagi perusahaan. Dari berbagai macam persediaan yang ada,

  • 75

    seperti bahan baku, barang dalam proses, dan barang jadi.

    Menurut T. Hani Handoko (2000, pp335-336), perusahaan

    melakukan penyimpanan atas persediaan atas barang karena

    berbagai fungsi, yaitu:

    1. Fungsi Decoupling

    Fungsi penting persediaan adalah memungkinkan operasi-operasi

    perusahaan internal dan eksternal mempunyai kebebasan

    (independensi).

    Persediaan decouples ini memnungkinkan perusahaan dapat

    memenuhi permintaan langganan tanpa terganggu pemasok.

    2. Fungsi Economic Lot Sizing

    Melalui penyimpanan persediaan, perusahaan dapat memproduksi

    dan membeli sumber-sumber daya dalam kuantitas yang dapat

    mengurangi biaya-biaya per unit. Dengan persediaan lot size ini

    akan mempertimbangkan penghematan-penghematan.

    3. Fungsi Antisipasi

    Sering perusahaan menghadapi fluktuasi permintaan yang dapat

    diperkirakan dan diramalkan berdasar pengalaman atau data masa

    lalu. Disamping itu, perusahaan juga sering dihadapkan pada

    ketidakpastian jangka waktu pengiriman barang kembali sehingga

    harus dilakukan antisipasi untuk cara menanggulanginya.

    (http://elib.unikom.ac.id/download.php?id=91101)

  • 76

    2.4.1.3 Prosedur Persediaan

    Menurut Mulyadi (2001, p569), deskripsi prosedur ini

    merupakan salah satu prosedur yang membentuk sistem

    pembelian. Dalam prosedur ini dicatat harga pokok persediaan

    yang dibeli.

    2.4.1.4 Dokumen Persediaan

    Menurut Mulyadi (2001, p569), dokumen sumber yang

    digunakan dalam prosedur pencatatan hara pokok persediaan yang

    dibeli adalah : laporan penerimaan barang dan bukti kas keluar.

    Laporan penerimaan barang digunakan oleh bagian Gudang

    sebagai dasar pencatatan tambahan kuantitas barang dari

    pembelian ke dalam kartu gudang. Bukti kas keluar yang

    dilampiri dengan laporan penerimaan barang, surat order

    pembelian dan faktur dari pemasok dipakai sebagai dokumen

    sumber dalam pencatatan harga pokok persediaan yang dibeli

    dalam register bukti kas keluar. Bukti kas keluar juga dipakai

    sebagai dasar pencatatan tambahan kuantitas dan harga pokok

    persediaan ke dalam kartu persediaan.

    2.4.2 Pengertian Pembelian

    Istilah pembelian (purchasing) menurut Saefudin Azwar (1993),

    pembelian dapat didefinisikan sebagai Proses terjadinya pengadaan

    barang yang tergolong kurang memenuhi kebutuhan yang diperlukan.

  • 77

    Pada intinya pembelian merupakan kegiatan yang menyeluruh dan

    terfokus pada pengadaan material dan jasa yang dibutuhkan untuk

    mencapai tujuan organisasi. Bagian pembelian berfungsi dalam

    menentukan kebutuhan memilih pemasok, penerimaan material sesuai

    waktu, harga, bentuk dan kondisi yang layak, menerbitkan kontrak atau

    order dan memastikan pengiriman.

    (http://elib.unikom.ac.id/files/disk1/36/jbptunikompp-gdl-s1-2005-

    mamansurah-1794-1-jurnal.pdf)

    2.4.2.1 Tujuan Pembelian

    Menurut Render (2001, p414), tujuan dari kegiatan

    pembelian adalah :

    a. Membantu identifikasi produk dan jasa yang dapat

    diperoleh secara eksternal.

    b. Mengembangkan, mengevaluasi dan menentukan

    pemasok, harga dari pengiriman terbaik bagi barang

    dan jasa tersebut.

    Jenis transaksi dalam pembelian dibedakan menjadi dua,

    yaitu :

    a. Pembelian tunai adalah proses pembayaran yang

    dilakukan secara langsung pada saat barang diterima.

    b. Pembelian non-tunai adalah proses pembayaran yang

    tidak dilakukan langsung pada saat barang diterima,

  • 78

    tetapi pembayaran dilakukan selang beberapa waktu

    setelah barang diterima sesuai dengan perjanjian kedua

    belah pihak.

    Hal-hal yang harus diperhatikan dalam proses pembelian

    adalah :

    a. Kualitas.

    b. Harga.

    c. Waktu Proses.

    2.4.2.2 Penggunaan Pembelian

    Pengawasan perlu dilakukan terhadap pelaksanaan proses

    pembelian, karena pembelian menyangkut investasi dana dalam

    persediaan dan kelancaran arus barang ke dalam perusahaan.

    Menurut Mulyadi (2001, p299) fungsi yang terkait dalam sistem

    pembelian adalah sebagai berikut :

    a. Fungsi Gudang

    Bertanggung jawab untuk memperoleh informasi

    mengenai harga barang, menentukan pemasok yang

    dipilih dalam pengadaan barang dan mengeluarkan

    order pembelian kepada pemasok yang dipilih.

    b. Fungsi Pembelian

    Bertanggung jawab untuk memperoleh informasi

    mengenai harga barang, menentukan pemasok yang

  • 79

    dipilih dalam pengadaan barang, dan mengeluarkan

    order pembelian kepada pemasok yang dipilih.

    c. Fungsi Penerimaan

    Bertanggung jawab untuk melakukan pemeriksaan

    terhadap jenis, mutu dan kualitas bahan yang diterima

    dari pemasok guna menentukan dapat atau tidaknya

    barang tersebut diterima oleh perusahaan.

    d. Fungsi Akuntansi

    Bertanggung jawab dalam pencatatan transaksi

    pembelian yang menjadi hutang sebagai dokumen

    bukti kas keluar.

    2.4.2.3 Prosedur Pembelian

    Menurut Mulyadi (2001, pp301-307), terdapat beberapa

    tahapan prosedur dalam pembelian, yaitu :

    1. Prosedur Permintaan Pembelian

    Pada prosedur permintaan pembelian, fungsi gudang

    mengajukan permintaan pembelian dalam formulir surat

    permintaan pembelian kepada fungsi pembelian. Jika barang

    tidak disimpan di gudang, misalnya untuk barang-barang yang

    langsung pakai, fungsi yang memakai barang mengajukan

    permintaan pembelian langsung ke fungsi pembelian dengan

    menggunakan surat permintaan pembelian.

  • 80

    2. Prosedur Permintaan Penawaran Harga dan Pemilihan

    Pemasok

    Fungsi pembelian mengirimkan surat permintaan

    penawaran harga kepada pemasok untuk memperoleh

    informasi mengenai harga barang dan berbagai syarat

    pembelian yang lain untuk memungkinkan pemilihan

    pemasok yang akan ditunjuk sebagai pemasok barang yang

    diperlukan oleh perusahaan.

    3. Prosedur Order Pembelian

    Dalam prosedur ini fungsi pembelian mengirim surat

    order pembelian kepada pemasok yang dipilih dan

    memberitahukan kepada unit-unit organisasi lain dalam

    perusahaan (misalnya fungsi penerimaan, fungsi yang

    menerima barang dan fungsi pencatat utang) mengenai order

    pembelian yang sudah dikeluarkan oleh perusahaan.

    4. Prosedur Penerimaan Barang

    Dalam prosedur ini fungsi penerimaan melakukan

    pemeriksaan mengenai jenis, kuantitas dan mutu barang yang

    diterima dari pemasok serta kemudian membuat laporan

    penerimaan barang untuk menyatakan penerimaan barang dari

    pemasok tersebut.

  • 81

    5. Prosedur Pencatatan Hutang

    Dalam prosedur ini akuntansi memeriksa dokumen-

    dokumen yang berhubungan dengan pembelian (surat order

    pembelian, laporan penerimaan barang, faktur dari pemasok)

    dan menyelenggarakan pencatatan hutang atau pengarsipan

    dokumen sumber sebagai catatan hutang.

    6. Prosedur Distribusi Pembelian

    Prosedur ini meliputi distribusi rekening yang didebet

    dari transaksi pembelian untuk kepentingan pembuatan

    laporan manajemen.

    2.4.2.4 Dokumen Pembelian

    Menurut Mulyadi (2001, pp301-307), pembagian dokumen pada

    pembelian diantaranya:

    1. Surat Permintaan Pembelian

    Dokumen ini merupakan formulir yang diisi oleh fungsi

    gudang atau fungsi pemakai barang untuk meminta fungsi

    pembelian melakukan pembelian barang dengan jenis, jumlah

    dan mutu seperti yang tersebut dalam surat tersebut. Surat

    permintaan pembelian ini biasanya dibuat dua lembar untuk

    setiap permintaan, satu lembar untuk fungsi pembelian dan

    tembusannya untuk arsip fungsi yang meminta barang.

  • 82

    2. Laporan Penerimaan Barang

    Dokumen penerimaan barang dibuat oleh fungsi

    penerimaan untuk menunjukkan bahwa barang yang diterima

    dari pemasok telah memenuhi jenis, spesifikasi, mutu dan

    kuantitas seperti yang tercantum dalam surat order pembelian.

    3. Surat Order Pembelian

    Dokumen ini digunakan untuk memesan barang kepada

    pemasok yang telah dipilih. Surat order pembelian merupakan

    dokumen yang dikirim sebagai order resmi yang dikeluarkan

    oleh perusahaan.

    2.4.2.5 Retur Pembelian

    Mengacu Mulyadi (2001), transaksi retur pembelian terjadi

    jika perusahaan menerima pengembalian barang dari pemasok.

    Dua dokumen penting yang digunakan dalam transaksi retur

    pembelian adalah :

    1. Memo Kredit

    Dalam pencatatan transaksi retur pembelian, memo

    kredit merupakan dokumen sumber (source document)

    sebagai dasar pencatatan transaksi tersebut dalam kartu

    piutang dan jurnal umum atau jurnal retur pembelian.

    Dokumen ini dikeluarkan oleh fungsi pembelian yang

  • 83

    memberi perintah kepada fungsi penerimaan untuk menerima

    barang yang dikembalikan oleh pemasok.

    2. Laporan Penerimaan Barang

    Dalam transaksi retur pembelian, laporan penerimaan

    barang merupakan dokumen pendukung yang melampiri

    memo kredit. Dokumen ini dikeluarkan oleh fungsi

    penerimaan sebagai laporan telah diterima dan diperiksanya

    barang yang diterima dari pemasok.