Kamis, 12 April 2012

Perancangan Basis Data diagram ER & LRS

Secara singkat sistem proses perkuliahan dapat di jelaskan sbb :

Mahasiswa yang memiliki NIM, Nama, Tgl_Lahir, Alamat, Kota dan Telp berkewajiban mengambil mata kuliah yang memiliki Kd_Mtk, Nama_Mtk,SKS.

Setiap Mahasiswa dapat mengambil beberapa matakuliah, Tetapi Setiap satu Mata Kuliah hanya dapat diambil oleh beberapa mahasiswa.

Setiap mata kuliah biasanya diasuh oleh Dosen yang terdiri dari Kd_Dosen, Nm_Dosen dan alamat

Seorang dosen dapat saja mengasuh beberapa mata kuliah tetapi setiap mata kuliah hanya dapat diasuh oleh beberapa dosen.

Dari kasus ( a ) diatas, buatlah :
Diagram ER atau ERD lengkap dengan attribut dan cardinalitynya.
Gambarkan transformasinya ke Logical Record Structure ( LRS )
Buatlah LRS yang dihasilkan
Buatlah Tabel-tabel yang dihasilkan seandainya akan diimplementasikan dalam model database relasional. Tandai attribut-atribut kuncinya terutama untuk kunci Primary Key dan Foreign Key
Buatlah Rancangan Basis data untuk sample 1 atau 2 tabel
A).


B).

C).
Matakuliah
Kd. Matakuliah
Nama Matakuliah
SKS
PK (Primary Key)

FK
FK








Ambil
Nim
Kd. matakuliah
nilai
PK (Primary key)

FK
FK







Minggu, 25 Maret 2012

kelebihan dan kekurangan dari perangkat lunak yang menangani semua pengaksesan database

Beberapa software atau perangkat lunak DBMS yang sering digunakan dalam aplikasi program antara lain :
1. MySQL
MySQL merupakan sebuah perangkat lunak system manajemen basis data SQL (bahasa inggris : data management system) atau DNMS yang multithread, multi-user, dengan sekitar 6 juta instalasi di seluruh dunia. MySQL AB membuat MySQL tersedia sebagai perangkat lunak gratis di bawah lisensi GNU General Public Licenci (GPL), tetapi mereka juga menjual dibawah lisensi komersial untuk kasus-kasus dimana penggunaannya tidak cocok dengan penggunaan GPL . Tidak seperti Apache yang merupakan software yang dikembangkan oleh komunitas umum, dan cipta untuk code sumber dimiliki oleh penulisnya masing-masing, MySQL dimiliki dan disponsori oleh sebuah perusahaan komersial Swedia yaitu MySQL AB. MySQL AB memegang penuh hak cipta hampir atas semua kode sumbernya. Kedua orang Swedia dan satu orang Finlandia yang mendirikan MySQL AB adalah : david axmark, allan larsson, dan Michael “monthy widenius.
Kelebihan MySQL antara lain :
1. free (bebas didownload)
2. stabil dan tangguh
3. fleksibel dengan berbagai pemrograman
4. Security yang baik
5. dukungan dari banyak komunitas
6. kemudahan management database
7. mendukung transaksi
8. perkembangan software yang cukup cepat.

2. ORACLE
Oracle adalah relational database management system (RDBMS) untuk mengelola informasi secara terbuka, komprehensif dan terintegrasi. Oracle Server menyediakan solusi yang efisien dan efektif karena kemampuannya dalam hal sebagai berikut:



• Dapat bekerja di lingkungan client/server (pemrosesan tersebar)
  • Menangani manajemen space dan basis data yang besar
  • Mendukung akses data secara simultan
  • Performansi pemrosesan transaksi yang tinggi
  • Menjamin ketersediaan yang terkontrol
  • Lingkungan yang terreplikasi
Kelebihan Dan Kekurangan Oracle
Fleksibilitas adalah kemampuan untuk menyesuaikan diri dengan berbagai kebutuhan dan kondisi khusus yang dapat berubah-ubah. Sebagai contoh, organisasi yang besar membutuhkan server yang terdistribusi dan memiliki redundancy sehingga pelayanan bisa diberikan secara cepat dan tidak terganggu jika ada server yang mati. Organisasi tersebut juga mempunyai berbagai macam aplikasi yang dibuat dengan beragam bahasa pemrograman dan berjalan di berbagai platform yang berbeda. Oracle memiliki banyak sekali fitur yang dapat memenuhi tuntutan fleksibilitas dari organisasi besar tersebut. Berbagai fitur tersebut membuat Oracle menjadi DBMS yang rumit dan sulit untuk dipelajari, namun itu adalah harga yang harus dibayar untuk mendapatkan fleksibilitas yang dibutuhkan dalam sistem informasi di organisasi yang berukuran besar.
Skalabilitas mengacu pada kemampuan untuk terus berkembang dengan penambahan sumber daya. Organisasi yang besar harus mampu melakukan transaksi data dalam volume yang besar dan akan terus bertambah besar. Jika dijalankan hanya pada satu server saja, MySQL memang bisa berjalan lebih cepat daripada Oracle. Namun jika satu server sudah tidak bisa lagi menangani beban yang terus bertambah besar, kinerja MySQL mengalami stagnasi karena keterbatasan server tersebut. Namun Oracle mendukung fitur Grid yang dapat mendayagunakan lebih dari satu server serta data storage dengan mudah dan transparan. Hanya dengan menambahkan server atau data storage ke dalam Oracle Grid, maka kinerja dan kapasitas Oracle dapat terus berkembang untuk mengikuti beban kerja yang terus meningkat.
Demikianlah salah satu (atau dua) keunggulan dari Oracle. Tidaklah mengherankan bahwa meskipun Oracle merupakan DBMS yang paling rumit dan paling mahal di dunia, perusahaan-perusahaan besar memilih Oracle dan tidak menggunakan DBMS seperti MySQL yang gratis karena mereka membutuhkan fleksibilitas dan skalabilitas dalam sistem informasi yang mereka gunakan.

3. FIREBIRH
Firebird adalah salah satu aplikasi RDBMS (Relational Database Management System) yang bersifat open source. Awalnya adalah perusahaan Borland yang sekitar tahun 2000 mengeluarkan versi beta dari aplikasi database-nya InterBase 6.0 dengan sifat open source. Namun entah kenapa tiba-tiba Borland tidak lagi mengeluarkan versi InterBase secara open source, justru kembali ke pola komersial software. Tapi pada saat yang bersamaan programmer-progammer yang tertarik dengan source code InterBase 6.0 tersebut lalu membuat suatu team untuk mengembangkan source code database ini dan kemudian akhirnya diberinama Firebird.
Pengembangan codebase Firebird 2 dimulai pada awal pengembangan Firebird 1, dengan memporting kode Firebird 1 berbasis C ke dalam bahasa C++ dan merupakan pembersihan kode secara besar-besaran. Firebird 1.5 merupakan rilis pertama dari codebase Firebird 2. Pengembangan ini merupakan satu kemajuan signifikan bagi para developer dan seluruh tim dalam project Firebird, namun tentu ini bukan akhir dari tujuan. Dengan dirilisnya Firebird 1.5, pengembangan lebih lanjut difokuskan pada Firebird versi 2.
Pada bulan April 2003, Yayasan Mozilla memutuskan mengganti nama web browser mereka dari ”Phoenix” menjadi ”Firebird”. Keputusan ini ditanggapi dengan serius oleh proyek Firebird Database dengan asumsi bahwa hal tersebut bisa membingungkan user karena dua produk berbeda menggunakan nama yang identik. Protes atas hal ini berlanjut hingga para pengembang Mozilla membuat satu pernyataan yang jelas bahwa nama Firebird dalam kenyataannya adalah ”Mozilla Firebird”. Pernyataan ini juga membuat memperjelas bahwa nama Mozilla Firebird merupakan sebuah ”codename” atas proyek web browser yang tengah dikerjakan oleh Mozilla. Pada tanggal 9 Februari 2004, Mozilla akhirnya mengganti kembali nama browser mereka sebagai Mozilla Firefox, Dengan demikian hal tersebut secara otomatis menghilangkan kebingungan para pengguna.
Firebird dan Interbase. Firebird (juga disebut FirebirdSQL) adalah sistem manajemen basisdata relasional yang menawarkan fitur-fitur yang terdapat dalam standar ANSI SQL-99 dan SQL-2003. RDBMS ini berjalan baik di Linux, Windows, maupun pada sejumlah platform Unix. Firebird ini diarahkan dan di-maintain oleh FirebirdSQL Foundation. Ia merupakan turunan dari Interbase versi open source milik Borland. Karena itulah Interbase dan Firebird sebenarnya mempunyai CORE yang sama karena awalnya sama” dikembangkan oleh Borland.
Namun dalam perkembangannya, Interbase yang komersial di-bundle oleh Borland menjadi Phoenix, sedangkan Firebird adalah interbase yang dikembangkan oleh komunitas Open Source, sehingga menjadikannya sebagai produk Database Server
yang FREE. Kalau dikaitkan dengan support, tentunya jelas beda karena produk komersial dan free. Dalam konsep teknik programmingnya, ada banyak yang sama, namun pengayaan Firebird lebih banyak dan menjadikannya lebih luwes, terutama dalam koneksi client-server (port) dan integritasnya. Modul-modul kode baru ditambahkan pada Firebird dan berlisensi di bawah Initial Developer’s Public License (IDPL), sementara modul-modul aslinya dirilis oleh Inprise berlisensi di bawah InterBase Public License 1.0. Kedua lisensi tersebut merupakan versi modifikasi dari Mozilla Public License 1.1.
Pengguna Firebird
Open source DBMS ini dimotori oleh para developer Interbase 6.x open-source. Jika pernah menggunakan produk-produk RDBMS, seperti Ms-SQL Server, Oracle, DB2, Informix, dan lain-lain, kita tidak akan kesulitan dalam mengenal Firebird. Mengapa Firebird? banyak orang menggunakan produk RDBMS yang sudah populer, dan harganya pun sangat mahal, sehingga banyak yang ingin belajar harus mencari versi ‘bajakan’ dari produk tersebut untuk bisa belajar. Alasannya sederhana, ingin belajar RDBMS berkelas enterprise tetapi tidak usah membayar.
Kalangan-kalangan seperti inilah yang seringkali memanfaatkan Firebird. Produk ini gratis dan berkelas enterprise. Selain itu Firebird juga digunakan para pelaku bisnis, mereka ingin solusi sistem informasi berskala besar (enterprise), namun mereka juga ingin menghindari harga yang sangat mahal dan biaya maintenance yang juga sangat mahal. Produk ini mampu bersaing dengan produk-produk berkelas seperti Ms-SQL Server atau Oracle sekalipun, dalam segala hal fitur, kecepatan, performa, apapun anda menamakannya, Firebird benar-benar bisa dibandingkan,dan yang lebih penting Firebird is totally Free.
Kalau memang Firebird Hebat, berkelas, dan gratis, mengapa Firebird kurang populer saat ini? jawabannya sederhana, Firebird mempunyai developer yang tangguh, support yang tangguh, tetapi Firebird tidak mempunyai marketing yang tangguh.
Kemampuan dan Kelebihan Firebird
Firebird memiliki rata-rata fasilitas yang dimiliki oleh sebuah komersial database misalnya seperti stored procedure, trigger, sistem backup, replikasi dan tools sql yang lengkap. Firebird juga support dengan ANSI SQL yang berarti akan semakin memudahkan Anda dalam proses migrasi antar database platform.
Beberapa kemampuan dari open source DBMS ini antara lain: (1) Firebird support dengan transaksi layaknya pada database komersial lainnya. Sebuah transaksi bisa di-commit atau di-rollback dengan mudah. Bahkan Firebird support dengan savepoint pada suatu transaksi dan kita bisa melakukan rollback kembali ke savepoint yang kita tentukan tadi (ini mirip seperti fasilitas pada Oracle).(2) Firebird menggunakan sintaks standard untuk menciptakan suatu foreign key.(3) Firebird support row level locks, secara default Firebird menggunakan apa yang disebut dengan multi-version
concurrency system. Ini artinya bahwa semua session pada database akan melihat data yang lama sampai data yang baru sudah di-commit ke dalam database. Sebagai alternative untuk locking juga bisa digunakan perintah select… for update with lock.(4) Firebird support stored procedure dan triggers dengan bahasa yang standard sehingga tidak akan membingungkan bagi Anda yang ingin belajar. Triggers pada Firebird mirip seperti yang dijumpai dalam Oracle yaitu menggunakan before atau after insert, update atau delete. Ini berbeda dengan sistem trigger pada Sybase atau MS SQL Server yang menggunakan tabel virtual inserted dan deleted.(5) Firebird bisa melakukan replikasi, solusi untuk replikasi kebanyakan dibuat oleh pihak ketiga, tetapi sebenarnya teknik replikasi ini seperti konsep trigger yang selalu memonitor adanya operasi insert, update atau delete ke dalam database. (6) Firebird support dengan multiple data file, ya, Firebird bisa menggunakan lebih dari satu file sebagai single logic database. Ini sangat berguna bagi para DBA (Database Administrator) untuk mengadministrasi database. (7) Software untuk mengadministrasi mudah didapat karena banyak sekali software untuk mengadministrasi database Firebird, misalnya saja EMS IB Manager, IBConsole, isql, FBManager, Marathon dan banyak lagi yang lainnya. Aplikasi tersebut ada yang komersial atau bahkan ada yang open source. (8) Library connection untuk Firebird yang sudah tersedia ada banyak, ada driver untuk ODBC, JDBC bahkan .NET database provider. Bahkan dari PHP juga sudah disediakan library untuk koneksi ke database Firebird ini. (9) Banyaknya fasilitas support dan maintenance karena banyaknya komunitas Firebird. Di Indonesia sendiri komunitas yang sering menggunakan Firebird biasanya adalah programmer Delphi. Kalau di luar negeri sudah sangat banyak sekali komunitasnya, mulai dari komunitas developer, Firebird architect, Firebird test dan lain sebagainya.

 4. Microsoft SQL server 2000
Microsoft SQL Server 2000 adalah perangkat lunak relational database management system (RDBMS) yang didesain untuk melakukan proses manipulasi database berukuran besar dengan berbagai fasilitas. Microsoft SQL Server 2000 merupakan produk andalan Microsoft untuk database server. Kemampuannya dalam manajemen data dan kemudahan dalam pengoperasiannya membuat RDBMS ini menjadi pilihan para database administrator.
DBMS merupakan suatu system perangkat lunak untuk memungkinkan user (pengguna) untuk membuat, memelihara, mengontrol, dan mengakses database secara praktis dan efisien. Dengan DBMS, user akan lebih mudah mengontrol dan mamanipulasi data yang ada. Sedangkan RDBMS atau Relationship Database Management System merupakan salah satu jenis DBMS yang mendukung adanya relationship atau hubungan antar table. RDBMS (Relational Database Management System) adalah perangkat lunak untuk membuat dan mengelola database, sering juga disebut sebagai database engine. Istilah RDBMS, database server-software, dan database engine mengacu ke hal yang sama; sedangkan RDBMS bukanlah database. Beberapa contoh dari RDBMS diantaranya Oracle, Ms SQL Server, MySQL, DB2, Ms Access.

5.    Visual Foxpro 6.0
Pada tahun 1984, Fox Software memperkenalkan FoxBase untuk menyaingi dBase II Ashton-Tate. Pada saat itu FoxBase hanyalah perangkat lunak kecil yang berisi bahasa pemrograman dan mesin pengolah data. FoxPro memperkenalkan GUI (Graphical Unit  Interface) pada tahun  1989.  FoxPro  berkembang menjadi Visul FoxPro pada tahun 1995. kemampuan pemrogrman prosural tetap dipertahankan dan dilengkapi dengan pemrograman berorietasi objek. Visual FoxPro  6.0 dilengkapi dengan kemampuan untuk berinteraksi dengan  produk desktop dan client/server lain dan juga dapat membangun aplikasi yang berbasis Web. Dengan adanya Visual Studio,  FoxPro  menjadi  anggotanya.  Sasaran  utama  Visual  Studio  adalah menyediakan alat bantu pemrogrman dan database untuk mengembangka perangkat lunak yang memenuhi tuntutan zaman.
Model data yang digunakan Visual FoxPro yaitu model relasional. Model Relasional merupakan model yang paling sederhana sehingga mudah di pahami oleh pengguna,  serta  merupakan  paling  popular  saat  ini.  Model  ini  menggunakan sekumpulan table berdimensi dua (yang disebut relasi atau table), dengan masing-masing relasi tersusun atas tupel atau   baris dan atribut. Relasi dirancang sedemikian rupa sehingga dapat menghilangkan kemubajiran data dan mengunakan kunci tamu untuk berhubungan dengan relasi lain.

Jumat, 16 Maret 2012

Bubble sort algoritma

Metoda yang digunakan dalam algoritma pengurutan adalah bubble sort...Apa itu Bubble Sort...Jelaskan pula langkah-langkahnya....
bubble sort:metode pengurutan dgan cara melakukan penukaran data dengan tepat di sebelahnya secara terus menerus sampai bisa dipastikan dalam satu iterasi tertentu tidak ada lagi perubahan.jika tidak ada perubahan berarti data sudah terurut.disebut pengurutan gelembung ini karena masing-masing kunci akan dengan lambat menggelembung keposisi yang tepat.
pengertian Metode bubble sort merupakan metode pengurutan yang mengambil proses
dengan menggunakan bubble atau exchange. Perbandingan data dilakukan dari posisi
pertama atau posisi terakhir bergeser satu persatu sampai semua data dibandingkan.
Jika terdapat N data dan data terkoleksi dari urutan 0 sampai dengan N-1 maka
algoritma pengurutan dengan metode bubble sort adalah sebagai berikut:
1. Bandingkan posisi data i = 0 dan j = 1.
2. Jika data diposisi i lebih besar daripada data diposisi j, maka data diposisi i ditukar
dengan data diposisi j (swap). Jika tidak penukaran posisi tidak dilakukan.
3. Kemudian, lakukan perbandingan data diposisi i = 1 dan data diposisi j = 2.
Lakukan langkah 2, begitu juga untuk data berikutnya hingga i = N-2 dan j = N-1.
4. Ulangi langkah 1, 2 dan 3 untuk data diposisi 0 sampai dengan data diposisi N-2,
karena data di posisi N-1 adalah data dengan nilai terbesar. Untuk tahap
selanjutnya data yang dibandingkan akan semakin berkurang sebab data dengan
nilai yang lebih besar akan terposisi dibagian sebelah kanan data.
Tabel berikut menjelaskan langkah per langkah bagaimana metode bubble sort ini
bekerja. 
Tabel 1. Langkah demi langkah pengurutan dengan metode bubble sort. 
 44 55 12 42 94 18 06 67 Data Awal
44 12 42 55 18 06 67 94 Bandingkan data ke 1 dengan data ke 2, bila data
ke 1 lebih besar tukar, seterusnya sampai data
yang terbesar terletak di data ke 8
12 42 44 18 06 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 7
12 42 18 06 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 6
12 18 06 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data
ke 1 lebih besar tukar, seterusnya sampai data
yang terbesar terletak di data ke 5
12 06 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 4
06 12 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 3
06 12 18 42 44 55 67 94 Bandingkan data ke 1 dengan data ke 2, bila data ke 1
lebih besar tukar, seterusnya sampai data yang terbesar
terletak di data ke 2
06 12 18 42 44 55 67 94 Data setelah terurut
Berikut implementasi dari metode bubble sort dengan menggunakan bahasa C:
void bubblesort(int arr[]) {
int i,j;
for (i = N; --i>=0;) {
for (j = 0; j<i; j++) {
if (arr[j] > arr[j+1]) {
int temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}

sorting algoritma

Jelaskan apa yang saudara ketahui tentang Sorting ( Pengurutan ) dalam algoritma...
sorting merupakan Proses pengurutan data banyak ditemukan dalam komputer. Hal ini karena data yang sudah di susun atau di urut lebih mudah di cari dengan cepat. Untuk membentuk data yg tidak terurut menjadi data yang urut, terdapat berbagai algoritma yang bisa di gunakan.
Ascending : Pengurutan dengan dasar dari nilai yang kecil menuju ke nilai yang besar (urutan naik)
Descending : Pengurutan data yang disusun atas dasar nilai besar ke kecil (urut turun)