Senin, 16 Agustus 2010

Tugas 3 - PBD


A. Perbedaan Client-Server dengan Web Based
Client Server
Diawal perkembangannya perangkat komputer adalah barang yang mahal dan mewah. Pengembangan dan pengoperasiannya rumit dan terpusat. Namun seiring dengan berjalannya waktu yang tadinya proses tersentralisasi dikembangakan menjadi proses terdistribusi sampai pada end user . Hal ini sangat dipengaruhi oleh adanya perkembangan teknologi LAN ( Local Area Network ) di pertengahan tahun 1980 an.

Dengan LAN sebuah PC dapat melakukan komunikasi satu dengan lainnya dan dapat saling berbagi resource baik perangkat keras ataupun database . LAN mampu memberikan interkonektivitas yang tidak pernah ada sebelumnya. Untuk dapat melakukan hal tersebut dibutuhkan sebuah komputer pemproses yang memfasilitasi dan melayani proses sharing semua resource yang ada. Perangkat ini disebut dengan Server .

Untuk melakukan Sharing File biasanya dibutuhkan sebuah File Server begitu juga untuk sharing Printer dibutuhkan sebuah Printer Server. Namun ternyata hal seperti ini belumlah cukup. Jumlah PC yang bertambah dengan sangat cepat seiring dengan berkembangnya sebuah organisasi. Jumlah end user dan client juga bertambah banyak. Kebutuhan akan perangkat menjadi bertambah pula, tidak hanya membutuhkan sebuah printer server, juga dibutuhkan server-server lainnya seperti server pengolahan gambar, server pengolahan suara, dan lainnya. Server-server ini dengan database dan applikasinya harus dapat diakses oleh beberapa PC, ataupun diakses oleh sebuah komputer mainframe melalui sebuah LAN. Sistem seperti ini disebut Sistem Client Server seperti digambarkan pada Gambar dibawah ini.


Komponen dan Fungsi Sistem Client Server

Gambaran umum konfigurasi Client Server diperlihatkan pada gambar 2. Dengan pendekatan Client Server setiap PC dapat melakukan secara independen sebuah pemrosesan lokal dan mensharing perangkat enterprise melalui LAN. Untuk kasus yang lebih luas kemampuan akses dapat dilakukan melalui MAN ( Metropolita Area Network ) atau WAN ( Wide Area Network ). Sebuah database dan program applikasi enterprise misalnya diletakan pada sebuah server dimana setiap end user dapat melakukan akses melalui Client Processo r, LAN dan Server.


User

User disini adalah end user yang mengakses client untuk mendapatkan sebuah layanan. End user bisa saja seorang manager perusahaan, professional, karyawan di sebuah perusahaan, atau pelanggan. Ada timbul sedikit kerancuan. Pelanggan dalam sebuah bisnis atau perdagangan disebut dengan client , tapi client ini adalah manusia, jangan dibingungkan dengan istilah client pada pemrosesan komputer. Dapat kita katakan sebuah user atau end user adalah ketika melakukan proses akhir menggunakan sistem client server.


Client

Client dapat berupa sebuah pemproses yang powerful atau dapat juga berupa terminal tua dengan kemampuan proses yang terbatas. Secara mendasar client adalah sebuah PC dengan sistem operasinya sendiri. Sebagian besar pemrosesan banyak dilakukan di sebuah server dimana bagian-bagian dalam lingkup pekerjaannya ditentukan oleh program komputer, inilah yang menyebabkan sistem client server berbeda dengan sistem transaksi tradisional. Sistem client server memungkinkan sebuah teknologi dan applikasinya digunakan bersamaan.

Applikasi disini termasuk didalamnya adalah pemroses pesan seperti e-mail, pemproses file lokal seperti DBMS untuk browsing dan penghitungan, atau sharing resource seperti sistem image processing, sistem optical character, sistem advance grafic processing, plotter warna, atau sebuah printer. Perangkat-perangkat ini bisa saja berasal dari berbagai vendor yang ada.

Untuk memfasilitasi query pemprosesan dari client, sebagian besar sistem client server menggunkaan Structured Query Language (SQL) yang merupakan struktur bahasa tingkat tinggi. SQL dengan database relationalnya adalah standar de facto untuk hampir sebagian besar sistem client server. Salah satu komponen terpenting sistem client server adalah User Interface (UI), yang digunakan user untuk berkomunikasi. Bagi user yang seorang programmer, UI tidak mesti user friendly, tapi untuk end user yang bukan programmer sangat dibutuhkan UI yang user friendly. Dibutuhkan Graphical User Interface (GUI) untuk end user karena GUI menampilkan grafis untuk melakukan akses dengan icon-icon tanpa perlu memasukan perintah pemrograman. Kedepannya GUI tidak hanya digunakan untuk menggantikan akses perintah pemprograman tapi juga digunakan untuk grafik, voice, video, animasi, untuk selanjutnya menjadi sebuah teminal multimedia.


Network dan Transmisi

Server dan client dapat terkoneksi dengan sebuah media transmisi. Media transmisi ini dapat berupa kabel, wireless, atau fiber. Dengan media ini memungkinkan sebuah perusahaan untuk melakukan enterprice network lebih besar dalam sebuah workgroup atau departemen. Untuk itu dibutuhkan interoperability sebagai contoh operasi dan pertukaran informasi yang heterogen melalui berbagai perangkat software dalam jaringan. Esensinya adalah keterbukaan dalam melakukan pertukaran baik komponen dan software yang berasal dari vendor yang berbeda-beda. Dengan interoperability baik vendor dan customer akan mendapatkan keuntungan.

Interoperability memberikan dampak pada arsitektur jaringan. Awal sebuah arsitektur jaringan adalah SNA namun arsitektur ini bersifar proprietary dan tidak terbuka dengan vendor lainnya. Kemudian sebagian besar orang beralih ke OSI yang di standarkan oleh ISO ( International Standards Organization ). OSI banyak di gunakan di Eropa namun kurang berkembang di Amerika Serikat. Di Amerika Serikat muncul TCP/IP yang kemudian di dukung oleh Unix User Group.


Servers

Konektivitas adalah hal yang terpenting namun bukan satu-satunya faktor untuk mendapatkan efisiensi dan efektivitas sharing resource yang dimiliki. Dibutuhkan sebuah perangkat yang memiliki kemampuan mengontrol software, menjalankan program applikasi, dan mengakses database dengan mudah dan cepat. Untuk itulah diperlukan sebuah Server. Sebuah Server harus mendukung spesifikasi yang mendukung resource sharing seperti Network Server Operating System, Multiple User Interface, GUI ( Graphic User Interface ), dialog oriented cleint – server languange seperti SQL dan database arsitektur. Saat ini resuorce bisa tersebar secara spasial tidak hanya berada dalam batasan sebuah negara namun sudah antar negara yang membutuhkan interkoneksi yang tinggi.

Beberapa software dapat diperoleh dari vendor atau software house. Software tersebut bisa bersifat mainframe centric (sentral) atau PC server centric. Namun selain semua hal yang tersedia pada paket software tersebut tetap dibutuhkan in house sofware development. Juga perlu untuk mengintegrasikan sistem client server dengan sistem informasi yang telah ada dan menggunakan sistem tersebut tidak hanya sebagai end user tapi juga bekerja diantara group end user.

Server melakukan pemprosesan mirip dengan pemrosesan yang ada disisi client. Namun ada sedikit perbedaan, biasanya sebuah server tidak mempunyai User Interface karena didesain untuk networking, memproses database dan memproses applikasi. Pembeda antara pemrosesan client dan server ada pada tanggungjawab dan fungsi dari pemrosesan yang dilakukan. Sebagai contoh sebuah server dapat bertindak sebagai repository dan penyimpanan informasi dalam kasus pada file server. Tipe dari Server tergantung pada kebutuhan dan tujuan sistem. Dalam beberapa kasus sebuah server harus mampu melakukan multitaskting (membentuk multi fungsi secara simultan), menggunakan multiple operating system, lebih portable, memiliki skalabilitas, dan memiliki waktu respon yang cepat untuk melakukan teleprosesing . Dengan kapabilitas seperti itu menjadikan server memiliki harga yang relatif mahal. Penyebab mahalnya harga server adalah :

  1. Network Management
  2. Gateway function termasuk akses keluar dan e-mail publik
  3. Penyimpanan
  4. File Sharing
  5. Batch processing
  6. Bulletin Board access
  7. Facsimile transmission

Pemrosesan Database

Beberapa prinsip pemrosesan data pada server termasuk didalamnya adalah integritas, sekuriti, dan recovery data. Enterprise data yang dibutuhkan oleh sebuah perusahaan membutuhkan sebuah integrasi, pengaksesan data yang di kendalikan dan kelola dengan securiti yang baik, dan recovery data dapat dilakukan jika terjadi kegagalan sistem.

Beberapa data management dilakukan secara otomatis. Biasanya dilakukan oleh DBMS yang berada di Server yang mengontrol akses diantara pemprosesan multiple sistem dan mengintegrasikan akses data melalui network management.


Pemrosesan Applikasi

Data digunakan oleh program applikasi yang mana sebagian besarnya berada di server. Ada beberapa applikasi client server yang disediakan oleh vendor. Tools applikasi ini menjadikan pengembangan sistem client-server menjadi lebih kompetitif. Pengembangan applikasi client-server dapat dilakukan dengan beberapa cara yakni :
  • Fungsi pemprosesan didistribusikan diantara client dan server. Porsi dari client dijalankan oleh end user dengan menggunakan bahasa pemrograman database seperti SQL yang memberikan semacam request data dan kemudian mengekstrak data tersebut dari lokasinya dimana semua proses tersebut dikontrol oleh sistem operasi.

  • UI dan GUI menjadi lebih sering digunakan karena tingkat kemudahan penggunaan menjadi lebih penting.

  • Digunakannya Advance networking seperti LAN

  • Code generator juga digunakan, Metodelogi Objeck Oriented akan menambah tingkat penggunan.

  • Tools pengembangan seperti SQL Server, FLOWMARK, Progress, ObjectView, Oracle menjadi sangat diperlukan

Ketika sebuah applikasi diproses dan permintaan akan data dilakukan oleh client, maka hasilnya dikirimkan melalui LAN. Hasil dari applikasi tersebut dapat saja dilakukan perubahan bentuk untuk mendapatkan tampilan yang lebih baik. Semuanya ini dilakukan di sisi client oleh end user melalui UI (User Interface)

Web Based
Web based jika diartikan ke bahasa Indonesia, "berbasis-web", atau "berbasis internet". Dapat diartikan sebagai segala sesuatu yang dapat diakses lewat web. Seperti layanan mail yahoo, wikimu juga dikatakan sebagai "sesuatu" (read:forum) yang berbasis web, yang dapat diakses lewat internet



B. Teknik pengukuran kualitas software

Deras masuknya produk perangkat lunak dari luar negeri di satu sisi menguntungkan pengguna karena banyaknya pilihan produk dan harga. Namun di sisi lain cukup mengkhawatirkan karena di Indonesia tidak ada institusi yang secara aktif bertugas membuat standard dalam pengukuran kualitas perangkat lunak yang masuk ke Indonesia. Demikian juga dengan produk-produk perangkat lunak lokal, tentu akan semakin meningkat daya saing internasionalnya apabila pengembang dan software house di Indonesia mulai memperhatikan masalah kualitas perangkat lunak ini.

Kualitas perangkat lunak (software quality) adalah tema kajian dan penelitian turun temurun dalam sejarah ilmu rekayasa perangkat lunak (software engineering). Kajian dimulai dari apa yang akan diukur (apakah proses atau produk), apakah memang perangkat lunak bisa diukur, sudut pandang pengukur dan bagaimana menentukan parameter pengukuran kualitas perangkat lunak.

Bagaimanapun juga mengukur kualitas perangkat lunak memang bukan pekerjaan mudah. Ketika seseorang memberi nilai sangat baik terhadap sebuah perangkat lunak, orang lain belum tentu mengatakan hal yang sama. Sudut pandang seseorang tersebut mungkin berorientasi ke satu sisi masalah (misalnya tentang reliabilitas dan efisiensi perangkat lunak), sedangkan orang lain yang menyatakan bahwa perangkat lunak itu buruk menggunakan sudut pandang yang lain lagi (usabilitas dan aspek desain).

APA YANG DIUKUR?
Pertanyaan pertama yang muncul ketika membahas pengukuran kualitas perangkat lunak, adalah apa yang sebenarnya mau kita ukur. Kualitas perangkat lunak dapat dilihat dari sudut pandang proses pengembangan perangkat lunak (process) dan hasil produk yang dihasilkan (product). Dan penilaian ini tentu berorientasi akhir ke bagaimana suatu perangkat lunak dapat dikembangkan sesuai dengan yang diharapkan oleh pengguna. Hal ini berangkat dari pengertian kualitas (quality) menurut IEEE Standard Glossary of Software Engineering Technology [3] yang dikatakan sebagai:
The degree to which a system, component, or process meets customer or user needs or expectation.

Dari sudut pandang produk, pengukuran kualitas perangkat lunak dapat menggunakan standard dari ISO 9126 atau best practice yang dikembangkan para praktisi dan pengembang perangkat lunak. Taksonomi McCall adalah best practice yang cukup terkenal dan diterima banyak pihak, ditulis oleh J.A. McCall dalam technical report yang dipublikasikan tahun 1977.



mengukur kualitas perangkat lunak. Dan diskusi tentang ini berkembang dengan munculnya tema kajian tentang CMM (The Capability Maturity Model) yang dikembangkan di Software Engineering Institute, Carnegie Mellon University serta beberapa kajian lain seperti SPICE (Software Process Improvement and Capability dEtermination) dan BOOTSTRAP. CMM, SPICE dan BOOTSTRAP mengukur kualitas perangkat lunak dari seberapa matang proses pengembangannya.

Tulisan ini akan mencoba fokus ke bagaimana mengukur perangkat lunak dilihat dari sudut pandang produk. Untuk pengukuran proses pengembangan perangkat lunak akan dibahas pada tulisan lain.

PARAMETER DAN METODE PENGUKURAN

When you can measure what you are speaking about, and express it in numbers, you know something about it. But when you can not measure it, when you can not express it in numbers, your knowledge is of a meagre and unsatisfactory kind.
(Lord Kelvin)

Pendekatan engineering menginginkan bahwa kualitas perangkat lunak ini dapat diukur secara kuantitatif, dalam bentuk angka-angka yang mudah dipahami oleh manusia. Untuk itu perlu ditentukan parameter atau atribut pengukuran. Menurut taksonomi McCall [1], atribut tersusun secara hirarkis, dimana level atas (high-level attribute) disebut faktor (factor), dan level bawah (low-level attribute) disebut dengan kriteria (criteria). Faktor menunjukkan atribut kualitas produk dilihat dari sudut pandang pengguna. Sedangkan kriteria adalah parameter kualitas produk dilihat dari sudut pandang perangkat lunaknya sendiri. Faktor dan kriteria ini memiliki hubungan sebab akibat (cause-effect) [4][5]. Tabel 1 menunjukkan daftar lengkap faktor dan kriteria dalam kualitas perangkat lunak menurut McCall.


Tabel 1: Faktor dan Kriteria dalam Kualitas Perangkat Lunak


Kualitas software diukur dengan metode penjumlahan dari keseluruhan kriteria dalam suatu faktor sesuai dengan bobot (weight) yang telah ditetapkan [2]. Rumus pengukuran yang digunakan adalah:
Fa = w1c1 + w2c2 + … + wncn

Dimana:
Fa adalah nilai total dari faktor a
wi adalah bobot untuk kriteria i
ci adalah nilai untuk kriteria i

Kemudian tahapan yang harus kita tempuh dalam pengukuran adalah sebagai berikut:
Tahap 1: Tentukan kriteria yang digunakan untuk mengukur suatu faktor
Tahap 2: Tentukan bobot (w) dari setiap kriteria (biasanya 0 <= w <= 1) Tahap 3: Tentukan skala dari nilai kriteria (misalnya, 0 <= nilai kriteria <= 10) Tahap 4: Berikan nilai pada tiap kriteria Tahap 5: Hitung nilai total dengan rumus Fa = w1c1 + w2c2 + … + wncn CONTOH PENGUKURAN PERANGKAT LUNAK Untuk mempermudah pemahaman, akan diberikan sebuah contoh pengukuran kualitas perangkat lunak dari faktor usabilitas (usability). Yang akan diukur adalah dua buah perangkat lunak yang memiliki fungsi untuk mengkontrol peralatan elektronik (electronic device). Perangkat lunak yang pertama bernama TukangKontrol, sedangkan kedua bernama Caktrol. Contoh dan hasil pengukuran dapat dilihat pada Table 2 dan 3.

Tabel 2: Contoh Pengukuran Usabilitas Dua Perangkat Lunak 

Tabel 3: Hasil Pengukuran Usabilitas Dua Perangkat Lunak

Dari penghitungan yang ada di Tabel 3, dapat kita simpulkan bahwa dari faktor usabilitas, kualitas dari perangkat lunak bernama TukangKontrol lebih baik daripada Caktrol. Nilai total TukangKontrol untuk faktor usabilitas adalah 16.8, sedangkan Caktrol adalah 10.2 (dari maksimum total nilai 20).




C. Teknik Pengukuran Performance Basis Data

1. Konfigurasi Database Server
Secara default,umumnya setiap DBMS telah memiliki konfigurasi awal.Jika akan melakukan tuning dengan mengubah konfigurasi,hasilnya tidak selalu tampak sesaat setelan kamu menerapkan konfigurasi baru. Adakalanya kamu perlu membiarkan server berjalan selama beberapa jam dan mengukur sejauh mana konfigurasi kamu berpengaruh terhadap kinerjanya.

2. Optimasi Pemanggilan Query
Bagaimana aplikasi melakukan manipulasi data?Beberapa pilihannya adalah dengan menggunakan method ADO,dynamic SQL (ad hoc query),ataupun stored procedure.

Menggunakan method ADO adalah menggunakan berbagai metode seperti rs.AddNew,rs.Update,atau rs.Delete.Cara ini relatif mudah untuk di pelajari dan di implementasikan,tetapi terkadang menghasilkan traffic yang besar pada jaringan,terutama jika aplikasi kamu mengolah data yang besar.

Cara lain adalah dengan menggunakan dynamic SQL,di mana kamu mengirimkan perintah Transact-SQL dalam bentuk string dari aplikasi agar di jalankan oleh database server.Umumnya menggunakan dynamic SQL akan lebih cepat di bandingkan dengan method ADO.

Tetapi karena database server menerimanya dari aplikasi kamu,maka harus di lakukan kompilasi kode Transact-SQL tersebut,menciptakan query plan dapat digunakan lagi kemudian sehingga mempercepat proses berikutnya.

Untuk kinerja yang optimal,kamu dapat mempertimbangkan stored procedure.Stored procedure memiliki kinerja yang lebih baik dan mengurangi traffic dan latency jaringan.


3. Gunakan JOIN dengan Tepat

Menggunakan perintah JOIN tampaknya sudah menjadi keharusan saat kamu bekerja dengan banyak tabel.Penggunaan join yang tidak tepat dapat mengakibatkan permasalahan dalam kinerja database kamu.

Jika kamu memiliki dua atau lebih tabel yang sering melakukan join,sebaiknya kolom yang di gunakan untuk join memiliki unique index,atau memiliki surrogate key agar mengurangi pembacaan I/O selama proses join.Tentunya hal ini akan lebih mengoptimalkan kinerja secara keseluruhan. Kolom yang di gunakan untuk join sebaiknya memiliki tipe data yang sama,dan jika di mungkinkan memiliki tipe data numeric daripada karakter.

Jika proses join sampai melibatkan empat atau lebih tabel untuk mendapatkan record yang kamu inginkan,pertimbangkan untuk melakukan denormalisasi agar jumlah tabel yang di join dapat berkurang. Terkadang hal ini di perlukan dengan pertimbangan kinerja database akan jadi lebih baik,jika kita menambahkan satu atau dua kolom tambahan agar dapat mengurangi jumlah tabel join yang terlampau banyak.


DAFTAR PUSTAKA

http://putroweb.blogspot.com/2009/03/pengertian-client-server.html

http://romisatriawahono.net/2006/06/05/teknik-pengukuran-kualitas-perangkat-lunak/

http://caturdwiprihasmoro.blogspot.com/2010/08/tugas-pemograman-basis-data.html





Sabtu, 07 Agustus 2010

Kajian Basis Data - Tugas Pengganti Ujian Tengah Semester

Manajemen Sistem Basis Data (Database Management System – DBMS) adalah perangkat lunak yang didesain untuk membantu dalam hal pemeliharaan dan utilitas kumpulan data dalam jumlah besar. DBMS dapat menjadi alternatif penggunaan secara khusus untuk aplikasi, semisal penyimpanan data dalam file dan menulis kode aplikasi yang spesifik untuk pengaturannya. Tujuan dari pengajaran mata kuliah basis data adalah untuk memberikan suatu pendahuluan mengenai sistem manajemen basis data, dengan penekanan pada baagimana cara mengorganisasi suatu informasi dalam DBMS, untuk memelihara informasi tersebut dan melakukan pengambilan informasi secara efektif, dan bagaimana cara mendesain suatu basis data dan menggunakan suatu DBMS secara efektif pula. Penggunaan DBMS untuk suatu aplikasi tergantung pada kemampuan dan dukungan DBMS yang beroperasi secara efisien. Sehingga agar bisa menggunakan DBMS dengan baik, perlu diketahui cara kerja dari DBMS tersebut. Pendekatan yang dilakukan untuk menggunakan DMBS secara baik, meliputi implementasi DBMS dan arsitektur secara mendetail untuk dapat memahami desain dari suatu basis data.

Kelebihan dari DBMS antara lain adalah :

  • Kepraktisan. DBMS menyediakan media penyimpan permanen yang berukuran kecil namun banyak menyimpan data jika dibandingkan dengan menggunakan kertas.
  • Kecepatan. Komputer dapat mencari dan menampilkan informasi yang dibutuhkan dengan cepat.
  • Mengurangi kejemuan. Pekerjaan yang berulang-ulang dapat menimbulkan kebosanan bagi manusia, sedangkan mesin tidak merasakannya.
  • Update to date. Informasi yang tersedia selalu berubah dan akurat setiap.

Kelemahan-kelemahan DBMS antara lain :

  • Kebutuhan untuk medapatkan perangkat lunak dan perangkat keras yang tepat cukup mahal, termasuk biaya pemeliharaan dan sumber daya manusia yang mengelola basis data tersebut.
  • Sangat kompleks. Sistem basis data lebih kompleks dibandingkan dengan proses berkas, sehingga dapat mudah terjadinya kesalahan dan semakin sulit dalam pemeliharaan data.
  • Resiko data yang terpusat. Data yang terpusat dalam satu lokasi dapat beresiko kehilangan data selama proses aplikasi.


Arsitektur Database Management System (DBMS)

Arsitektur ini dikenal dengan nama arsitektur tiga skema (three-schema architecture) dimana fungsi ini untuk memisahkan antara basis data fisik dengan program aplikasi user. Skema-skema tersebut adalah sebagai berikut:

  • Level internal merupakan skema internal yang memuat deskripsi struktur penyimpanan basis data dan menggunakan model data fisikal serta mendefinisikan secara detail penyimpanan data dalam basis data, serta jalur pengaksesan data.
  • Level konsepsual adalah skema yang memuat deskripsi struktur basis data secara keseluruhan untuk semua pemakai. Skema ini hanya memuat deskripsi tentang entitas, atribut, hubungan dan batasan, tanpa memuat deskripsi data secara detail.
  • Level eksternal merupakan skema eksternal (user view) yang mendefinisikan pandangan data terhadap sekelompok user (local view) dengan menyembunyikan data lain yang tidak diperlukan oleh kelompok user tersebut.

Keuntungan dari arsitektur ini antara lain:

  • Perubahan skema konsepsual, yaitu adanya perubahan dalam skema konsepsual contohnya penambahan suatu item data tidak akan berpengaruh pada program aplikasi. Tetapi jika skema eksternal tidak sesuai lagi dengan skema konsepsual yang baru maka program aplikasi harus disesuaikan juga.
  • Perubahan skema internal. Pemisahan antara skema eksternal dan skema internal berfungsi untuk menjaga bila terjadi perubahan skema internal, misalnya ada penambahan “pointer” pada rekaman tidak memerlukan perubahan pada aplikasi.
  • Perubahan skema eksternal. Adanya penambahan skema eksternal atau pembuatan skema eksternal baru tidak akan berpengaruh pada aplikasi yang ada selama aplikasi tersebut tidak mengakses data berdasarkan skema yang baru.

Komponen DBMS

Komponen-komponen DBMS (Howe,1991) terdiri dari:

  • Interface, yang didalamnya terdapat bahasa manipulasi data (data manipulation language)
  • Bahasa definisi data (data definition language) untuk skema eksternal, skema konsepsual dan skema internal.
  • Sistem kontrol basis data (Database Control System) yang mengakses basis data karena adanya perintah dari bahasa manipulasi data.


Model Data

Model data dapat dikelompokkan berdasarkan konsep pembuatan deskripsi struktur basis data, yaitu:

Ø Model data konsepsual (high level) menyajikan konsep tentang bagaiman user memandang atau memperlakukan data. Dalam model ini dikenalkan tiga konsep penyajian data yaitu:

o Entity (entitas) merupakan penyajian obyek, kejadian atau konsep dunia nyata yang keberadaannya secara eksplisit didefinisikan dan disimpan dalam basis data, contohnya Mahasiswa, Matakuliah, Dosen, Nilai dan lain sebagainya.

o Atribute (atribut) adalah keterangan-keterangan yang menjelaskan karakteristik dari suatu entitas seperti NIM, Nama, Fakultas, Jurusan untuk entitas Mahasiswa.

o Relationship (hubungan) merupakan hubungan atau interaksi antara satu entitas dengan yang lainnya, misalnya entitas pelanggan berhubungan dengan entitas barang yang dibelinya.

Ø Model data fiskal (low level) merupakan konsep bagaimana deskripsi detail data disimpan kedalam komputer dengan menyajikan informasi tentang format rekaman, urutan rekaman, dan jalur pengaksesan data yang dapat membuat pemcarian rekaman data lebih efisien.

Ø Model data implementasi (representational) merupakan konsep deskripsi data disimpan dalam komputer dengan menyembunyikan sebagian detail deskripsi data sehingga para user mendapat gambaran global bagaimana data disimpan dalam komputer. Model ini merupakan konsep model data yang digunakan oleh model hirarki, jaringan dan relasional.


SQL (Structured Query Langguage)

Structured Query Language (SQL) adalah bahasa database relasional yang dibuat berdasarkan suatu standart. Bentuk dasar dari SQL adalah sebagai berikut :

SELECT [DISTINCT] select-list

FROM from-list

WHERE qualification

Setiap query dalam SQL harus memiliki klausa SELECT, yang menentukan kolom yang akan ditampilkan pada hasil, dan klausa FROM yang menentukan cross product table.

Klausa optional WHERE menentukan syarat-syarat seleksi pada table yang ditunjukkan oleh FROM. Berikut ini akan dibahas sintaksis query SQL dasar dengan lebih mendetail :

Ø from list pada klausa FROM adalah daftar nama table. Nama tabel dapat diikuti oleh nama alias; nama alias berguna ketika nama tabel yang sama muncul lebih dari sekali pada from list

Ø select-list adalah daftar nama kolom (termasuk ekspresinya) dari tabel-tabel yang tercantum pada form list. Nama kolom dapat diawali dengan nama alias dari tabel.

Ø Kualifikasi pada klausa WHERE merupakan kombinasi boolean atau pernyataan kata sambung logika dari kondisi yang menggunakan eksepresi yang melibatkan operator pembanding. Sedangkan ekspresi itu sendiri dapat berupa nama kolom, konstanta atau aritmatika dan string.

Ø Kata kunci distinct bersifat pilihan yang menghapus duplikat dari hasil query.

SQL menyediakan tiga konstruksi set-manipulation yang memperluas query dasar, yaitu UNION, INTERSECT dan EXCEPT. Juga operasi set yang lain seperti : IN (untuk memeriksa apakah elemen telah berada pada set yang ditentukan), ANY dan ALL (untuk membandingkan suatu nilaid engan elemen pada set tertentu), EXISTS (untuk memeriksa apakah suatu set kosong atau isi). Operator IN dan EXISTS dapat diawali dengan NOT. Fitur SQL yang lain yaitu NESTED QUERY, artinya query yang memiliki query lain di dalamnya, yang disebut dengan subquery. Nested query digunakan jika terdapat suatu nilai yang tidak diketahui (unknown values).

SQL mendukung lima operasi aggregat yang diterapkan pada sembarang kolom yaitu :

Ø COUNT : untuk menghitung cacah

Ø SUM : menghitung jumlah seluruh nilai

Ø AVG : menghitung rata-rata nilai

Ø MAX : mencari nilai paling besar

Ø MIN : mencari nilai paling kecil.

Kadangkala operasi aggregat diperlukan pada sekeompok grup dari baris pada relasi. Untuk menulis query semacam itu, dibutuhkan klausa GROUP BY. Dan penambahan klausa HAVING jika kita ingin menerapkan suatu kondisi terhadap data yang sudah dikelompokkan dengan GROUP BY.



STUDI KASUS :

Komputerisasi Sistem Pengolahan Persediaan Barang Dagang.

Data Flow Diagram













DFD Level 0




































DESAIN DATABASE


Tabel Bahan Baku

Field

Coloumn Name

Type

Length

Keterangan

1.

2.

3.

4.

Kode_BrgBaku*

Nama_BrgBaku

Satuan

Stok

nvarchar

nvarchar

nvarchar

int

5

20

10

4

Kode Barang Baku

Nama Barang Baku

Satuan Barang Baku

Stok Barang Baku

Tabel Barang Jadi

Field

Coloumn Name

Type

Length

Keterangan

1.

2.

3.

4.

Kode_BrgJadi*

Nama_BrgJadi

Satuan

Stok

nvarchar

nvarchar

nvarchar

int

5

20

10

4

Kode Barang Jadi

Nama Barang Jadi

Satuan Barang Jadi

Stok Barang Jadi

Tabel Suplier

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

Kode_Suplier * Nama_Suplier Alamat

Telp

nvarchar nvarchar nvarchar nvarchar

5

20

30

12

Kode Suplier

Nama Suplier

Alamat Suplier

No. Telephon Suplier

Tabel Pelanggan

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

Kode_Pelanggan * Nama_ Pelanggan Alamat

Telp

nvarchar nvarchar nvarchar nvarchar

5

20

30

12

Kode Pelanggan Nama Pelanggan Alamat Pelanggan No Telephon

Tabel Pembelian

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

6.

7.

8.

9.

No_Fak_Beli *

Tanggal

Kode_BrgBaku ** Kode_Suplier **

Jumlah_Beli

Harga_ Satuan

Total_Beli

Diskon

Total_Harga

nvarchar

datetime

nvarchar nvarchar

int

money

money

int

Money

5

8

5

5

4

8

8

4

8

Nomor Faktur Pembelian

Tanggal Pembelian Barang

Kode Barang Baku

Kode Suplier

Banyaknya Pembelian

Harga Satuan Barang

Total Pembelian

Diskon Pembelian

Total Harga Pembelian

Tabel Penjualan

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

6.

7.

8.

9.

No_Fak_Jual *

Tanggal

Kode_BrgJadi ** Kode_Pelanggan **

Jumlah_Jual

Harga_ Satuan

Total_Jual

Diskon

Total_Harga

Numeric

datetime

nvarchar nvarchar

int

money

money

int

Money

9

8

5

5

4

8

8

4

8

Nomor Faktur Penjualan

Tanggal Penjualan

Kode Barang Jadi

Kode Pelanggan

Jumlah Penjualan Barang

Harga Satuan Barang

Total Harga

Diskon

Total Harga Penjualan

Tabel Hutang

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

6.

7.

Tanggal_Hutang

Kode_Suplier **

No_Faktur

Kode_BrgBaku **

Total_Beli

Bayar

Hutang

Datetime

nvarchar

nvarchar

nvarchar

money

money

Money

8

5

5

5

8

8

8

Tanggal Hutang

Kode Suplier

Nomor Faktur Pembelian

Kode Barang Baku

Total biaya pembelian

Besar Pembayaran Hutang Dagang

Tabel Piutang

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

6.

7.

Tanggal_Piutang

Kode_Pelanggan **

No_Faktur

Kode_BrgJadi **

Total_Jual

Bayar

Piutang

datetime

nvarchar

nvarchar

nvarchar

money

money

money

8

5

5

5

8

8

8

Tanggal Piutang

Kode Pelanggan

No Faktur Jual

Kode Barang Jadi

Total Penjualan

Besar Pembayaran Piutang

Tabel Retur_Suplier

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

6.

Tanggal_Retur *

No_Fak_Beli

Tanggal

Kode_BrgBaku ** Kode_Suplier **

Jumlah

Datetime

nvarchar

datetime

nvarchar nvarchar

Int

8

5

8

5

5

4

Tanggal Retur

No Faktur Pembelian

Tanggal Pembelian

Kode Barang Baku

Kode Suplier

Jumlah Retur

Tabel Retur_Pelanggan

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

6.

Tanggal_Retur *

No_Fak_Jual

Tanggal

Kode_BrgJadi ** Kode_Pelanggan **

Jumlah

Datetime

nvarchar

datetime

nvarchar nvarchar

int

8

5

8

5

5

4

Tanggal Retur

No Faktur Penjualan

Tanggal Penjualan

Kode Barang Jadi

Kode Suplier

Jumlah Retur

Tabel Kembali_ReturPlg

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

Tanggal_kembali

Tanggal_Retur

Kode_BrgJadi **

Nama_BrgJadi

Jumlah

Datetime

Datetime

nvarchar

nvarchar

int

8

8

5

10

4

Tanggal Kembali Retur

Tanggal Retur

Kode Barang Jadi

Nama Barang Jadi

Jumlah Retur Kembali

Tabel Kembali_ReturSupl

Field

Coloumn Name

Data Type

Length

Keterangan

1.

2.

3.

4.

5.

Tanggal_kembali

Tanggal_Retur

Kode_BrgBaku**

Nama_BrgBaku

Jumlah

Datetime

Datetime

nvarchar

nvarchar

int

8

8

5

10

4

Tanggal Kembali Retur

Tanggal Retur

Kode Barang Jadi

Nama Barang Jadi

Jumlah Retur Kembali



RELASI TABEL