Selasa, 28 Februari 2012

DDL dan Perancangan Basis Data


Perintah-perintah MySQL dari command prompt
Ada kalanya newbie di dunia komputer malah merasa risih dengan adanya phpMyAdmin yang semestinya malah mempermudah. Beda versi pada phpMyAdmin beda pula tampilan navigasinya, sehingga malah membingungkan. Jangan khawatir berikut adalah panduan dasar perintah-perintah SQL melalui command prompt.
Pertama, buka command prompt.

Start Run lalu ketikkan cmd atau command prompt, klik OK
Aktifkan mysql.exe
Apabila Anda menggunakan bundle XAMPP maka ketikkan pada console command prompt Anda sebagai berikut (sesuaikan dimana file mysql.exe berada):
C:\>”Program Files\xampp\mysql\bin\mysql.exe” –u root –p tekan enter
Selanjutnya Anda akan diminta memasukkan password.

Membuat Database
Setelah memasukkan password, Anda akan menjumpai prompt mysql>
Untuk membuat database baru, maka perintahnya adalah sebagai berikut :
mysql> create database nama_database;
contoh :
mysql> create database db_pertamaku;
Untuk mengecek apakah database yang Anda buat telah tersimpan, ketikkan perintah sebagai berikut :
mysql> show databases;
Sedangkan untuk menghapus database yang ada, perintahnya adalah :
mysql> drop database nama_database;
contoh : mysql> drop database db_pertamaku;

Membuat tabel dalam database tertentu.
Apabila Anda ingin membuat table, maka aktifkan salah satu database terlebih dahulu. Perintahnya adalah :
mysql> use nama_database;
contoh :
mysql> use db_pertamaku;
Selanjutnya misal Anda ingin membuat tabel dengan nama tabel_pertamaku didalam database tersebut dengan field sebagai berikut :
no. tipe datanya integer, panjangnya 3
nama tipe datanya varchar, panjangnya 30
alamat tipe datanya varchar, panjangnya 50
pekerjaan tipe datanya varchar, panjangnya 20
maka perintah sqlnya sebagai berikut :
mysql> create table tabel_pertamaku
-> (
-> no int(3),
-> nama varchar(30),
-> alamat varchar(50),
-> pekerjaan varchar(20)
-> );
Untuk mengecek apakah tabel sudah berhasil dibuat, perintahnya sebagai berikut :
apabila tabel berada dalam database yang aktif
mysql> show tables;
apabila tabel berada dalam database yang tidak aktif
mysql> show tables from nama_database;

Melihat struktur tabel
Perintahnya adalah sebagai berikut :
melihat struktur tabel dari tabel yang berada dalam database yang aktif
mysql> desc nama_tabel;
contoh mysql> desc tabel_pertamaku;
melihat struktur tabel dari tabel yang berada diluar database yang tidak aktif
mysql> show fields from nama_tabel from nama_database;
contoh : mysql> show fields from tabel_pertamaku from db_pertamaku;

Mengubah struktur tabel
Pengubahan struktur tabel diperlukan agar Anda dapat mengubah struktur tabel tanpa harus mengganggu record-record yang telah ada.
Misalnya pada tabel_pertamaku diatas. Anda ingin mengubah field no menjadi nomor, menjadikannya sebagai primary key, tidak boleh kosong(not null), dan auto_increment. Maka perintahnya adalah sebagai berikut :
mysql> alter table tabel_pertamaku
-> change no nomor
-> int(3)
-> primary key
-> not null
-> auto_increment;

Mengubah nama tabel
Perintahnya adalah :
mysql> alter table tabel_pertamaku
-> rename tb_pertamaku;

Mengisikan record ke dalam tabel
Perintah insert pada mysql adalah seperti berikut :
catatan : sebelumnya aktifkan database tempat tabel tersebut berada.
mysql> insert into nama_tabel values (‘field1’,’field2’,’field3’,dst);
contoh :
mysql> insert into tb_pertamaku values (‘’,’mahendra’,’joyo pranoto 4 malang’,’webmaster’);
Menampilkan record
Contoh perintahnya adalah :
mysql> select * from tb_pertamaku;
Untuk update dan delete perintahnya sama persis dengan perintah-perintah sql yang lain.

Tujuan perancangan dari basis data
1.      Memenuhi informasi yang berisikan kebutuhan-kebutuhan pengguna secara khusus dan aplikasi-aplikasinya.
2.      Memudahkan pengertian struktur informasi.
3.      Mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek penampilan (response time, processing time, dan storage space).

Perbedaan dari macro lifecycle dan micro lifecycle
Siklus Kehidupan Sistem Informasi

        Siklus kehidupan sistem informasi sering disebut macro lifecycle, dimana siklus kehidupan basis data merupakan micro lifecycle. Proses perancangan basis data merupakan bagian dari siklus hidup sistem informasi. lalu dimana perbedaan macro lifecycle dengan micro lifecycle? perbedaannya terdapat pada tahapan tahapannya, yang dijelaskan sebagai berikut :

Siklus Kehidupan Sistem Informasi (Macro Life Cycle )
Tahapan–tahapan yang ada pada siklus kehidupan sistem informasi yaitu :
1.      Analisa Kelayakan
Tahapan ini memfokuskan pada penganalisaan  areal aplikasi yang unggul , mengidentifikasi pengumpulan informasi dan penyebarannya, mempelajari keuntungan dan kerugian , penentuan kompleksitas data dan proses, dan menentukan prioritas aplikasi yang akan digunakan.

2.      Analisa dan Pengumpulan Kebutuhan Pengguna
Kebutuhan–kebutuhan yang detail dikumpulkan dengan berinteraksi pada sekelompok pemakai atau pemakai individu. Mengidentifikasikan masalah yang ada dan kebutuhan-butuhan, ketergantungan antar aplikasi, komunikasi dan prosedur laporan.

3.       Perancangan 
Perancangan terbagi menjadi dua yaitu :  perancangan sistem database dan  sistem aplikasi.

4.       Implementasi 
Mengimplementasikan sistem informasi dengan database yang ada.

5.       Pengujian dan Validasi
Pengujian dan validasi sistem database  dengan kriteria kinerja yang diinginkan  oleh pengguna.

6.       Pengoperasian dan Perawatan
Pengoperasian sistem setelah di validasi disertai dengan pengawasan dan perawatan system.

Siklus Kehidupan Sistem Informasi (Micro Life Cycle )
Tahapan yang ada pada siklus kehidupan aplikasi database yaitu :
1.      Pendefinisian Sistem
Pendefinisian ruang lingkup dari sistem database, pengguna dan aplikasinya. 

2.       Perancangan Database
Perancangan database secara logika dan fisik pada suatu sistem database sesuai dengan sistem manajemen database yang diinginkan.

3.       Implementasi Database 
 Pendefinisian database secara konseptual, eksternal dan internal, pembuatan file–file database yang kosong  serta implementasi aplikasi software.

4.       Pengambilan dan Konversi Data
Database ditempatkan dengan baik, sehingga jika  ingin memanggil data secara langsung ataupun merubah file–file yang ada dapat di tempatkan kembali sesuai dengan format sistem databasenya. 

5.       Konversi Aplikasi
Software-software  aplikasi dari  sistem database sebelumnya di konversikan ke dalam sistem database yang baru.

6.       Pengujian dan Validasi
Sistem yang baru telah di test dan di uji kinerja nya .

7.       Pengoperasian
Pengoperasian database sistem dan aplikasinya.
8.      Pengawasan dan Pemeliharaan
Pengawasan dan pemeliharaan sistem database dan aplikasi software.
Langkah yang dilakukan pada saat pengumpulan dan analisa data
Berikut aktifitas-aktifitas yang di lakukan pada saat pengumpulan dan analisa data :

1.  Menentukan kelompok pemakai dan bidang-bidang aplikasinya

Menentukan aplikasi utama dan kelompok user yang akan menggunakan basis data. Individu utama pada tiap-tiap kelompok pemakai dan bidang aplikasi yang telah dipilih merupakan peserta utama pada langkah-langkah berikutnya dari pengumpulan dan spesifikasi data.

2.  Peninjauan dokumentasi yang ada 

Dokumen yang ada yang berhubungan dengan aplikasi-aplikasi dipelajari dan dianalisa. Dokumen-dokumen lainnya (seperti : kebijaksanaan-kebijaksanaan, form, report, dan bagan organisasi) diuji dan ditinjau kembali untuk menguji apakah dokumen-dokumen tsb berpengaruh terhadap kumpulan data dan proses spesifikasi.

3.  Analisa lingkungan operasi dan pemrosesan data

Informasi yang sekarang dan yang akan datang dipelajari. Termasuk juga analisa jenis-jenis transaksi dan frekuensi-frekuensi transaksinya dan juga arus informasi dalam sistem. Input-output data untuk transaksi-transaksi tsb diperinci.

4.  Daftar pertanyaan dan wawancara

Tuliskan tanggapan-tanggapan dari pertanyaan-pertanyaan  yang telah dikumpulkan dari para pemakai basis data yang berpotensi. Ketua kelompok (individu utama) dapat diwawancarai sehingga input yang banyak dapat diterima dari mereka dengan memperhatikan informasi yang berharga dan mengadakan prioritas.





Transaction Troughput
Transaction Troughput merupakan salah satu petunjuk dalam pemilihan perancangan basis data secara fisik. lalu definisi dari Transaction Troughput ialah rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem basis data dan merupakan parameter kritis dari sistem transaksi (misalnya : digunakan pada pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal dari struktur penyimpanan dan jalur akses untuk file-file basis data.

Minggu, 12 Februari 2012

DATA BASE


Pengertian Basis Data
 
Basis data / Database adalah kumpulan data yang saling berhubungan dan disimpan secara bersama tanpa adanya pengulangan data(redudansi data). Sebuah basis data dapat dibuat secara manual atau terkomputerisasi, buku telepon dan agenda/diary merupakan basisdata manual. Basis data yang terkomputerisasi dapat dibuat, diatur dan dilakukan maintenance menggunakan suatu aplikasi perangkat lunak untuk manajemen basis data yang disebut DBMS (Database Management System). Dalam lingkungan sistem basis data, selain terdapat basis data juga terdapat DBMS dan program aplikasi untuk melakukan query terhadap DBMS yang sudah dipilih. Jadi, Database bias diandaikan sebuah mobil, sedangkan DBMS-nya adalah supir yang bertugas untuk mengontrol  pergerakan dari mobil (dalam hal ini database).
 
Basis data atau database berpengaruh besar terhadap perkembangan Teknologi Informasi dan Komputer (TIK), khususnya dibidang Sistem Informasi (SI).  Contoh aplikasi SI menggunakan basis data ialah reservasi hotel, tiket pesawat dan katalog buku di perpustakan yang terkomputerisasi. Contoh tersebut adalah contoh informasi yang disimpan dan diakses secara teks atau numeric. Contoh aplikasi basisdata yang bersifat multimedia ialah teknologi untuk penyimpanan gambar, video, suara dan SIG (Sistem Informasi Geografis). 


Lingkungan Sistem Basis Data

 
Berikut adalah beberapa pengertian mengenai DBMS:

      Merupakan kumpulan perintah/ program untuk membuat dan melakukan manajemen sebuah basisdata oleh pengguna (user). DBMS merupakan perangkat lunak yang bersifat general-purpose yang memiliki fasilitas proses define, construct dan manipulate basisdata  untuk aplikasi yang bervariasi.
      Fungsi Define ialah fungsi untuk melakukan spesifikasi tipe data, struktur dan constraint data yang akan disimpan dalam basis data.
      Fungsi Construct ialah fungsi untuk melakukan proses penyimpanan data ke dalam beberapa media penyimpanan yang dikontrol DBMS.
      Fungsi Manipulate ialah fungsi untuk melakukan query atau memanggil data, update data dan menghasilkan laporan yang berasal dari basis data.

 Perkembangan Basis Data
Sebagaimana perkembangan teknologi informasi pada umumnya perkembanganteknologi basis data juga berjalan dengan pesat. Perkembangan basisdata banyak dijumpai pada perkembangan fitur-fitur (features) perangkat lunak manajemen basis data. Namun demikian apabila ditinjau dari sudut perancangan basisdatamaka perkembangan yang terjadi tidak terlalu signifikan. Tatacara merancang basis data tidak banyak berubah dari dulu hingga sekarang, terkecuali pada teknik visualisasi antarmuka (user interface) dan perancangan berbasis objek.
Perangkat lunak DMBS yang cukup luas digunakan pada tahun 1980-an hingga tahun 1990-an khusus-nya pada komputer mikro adalah dBASE III+ dan FoxBase, dimana model data yang digunakan adalah model relasional. Sedang untuk komputer mini dan juga mainframe, pada umumnya digunakan bahasa pemrograman tingkat tinggi seperti COBOL, FORTRAN, dan PL/I untuk melakukan akses ke basisdata (embedded database access) yang difasilitasi dengan DBMS seperti IMS (model hirarki), IDS (model jaringan), dan DB2 (model relasional). Ketika teknologi jaringan lokal (LAN) digunakan, mula-mula diperkenalkan oleh Novell, maka dBASE III+ semakin luas digunakan, beberapa perusahaan perangkat lunak menciptakan software pembangunan sistem database (database system development tools) seperti Clipper dan FoxPro.Pada komputer besar DBMS juga turut berkembang dengan munculnya perangkat lunak seperti SDK Ingres dan Oracle.
Menjelang tahun 2000 aplikasi berbasis objek mulai berkembang sehingga turut mempengaruhi perangkat lunak DBMS, dimulai dengan munculnya Visual dBASE, kemudian Visual FoxPro, lalu Delphi. Pencipta Delphi malah menyediakan fasilitas akses keberbagai format file basisdata sehingga dapat digunakan untuk menciptakan software aplikasi yang melakukan pengolahan data dari file-file database.
Sekarang  peranan basis data sangatlah menonjol. Pemrosesan basis data menjadi perangkat andalan yang kehadirannya sangat diperlukan oleh berbagai institusi dan perusahaan. Basis data tidak hanya  mempercepat perolehan informasi, tetapi juga dapat meningkatkan pelayanan kepada pelanggan. Hal ini pulalah yang mendorong banyak perusahaan yang menggunakan pemrosesan manual mulai beralih memanfaatkan basis data.
Basis data dapat dibayangkan sebagai sebuah lemari arsip. Jika kita memiliki sebuah lemari arsip dan berwenang untuk mengelolanya, maka kemungkinan kita akan melakukan hal-hal seperti: memberi sampul/map pada kumpulan arsip yang akan disimpan, menentukan jenis arsip, melakukan penomoran dengan pola unik pada setiap map, lalu menempatkan arsip-arsip tersebut dengan cara tertentu didalam lemari.
Pembicaraan basis data tidak dapat dipisahkan dengan teknologi komputer, karena teknologi basis data dan komputer berkembang beriringan. Perkembangan teknologi pengelolaan basis data mempunyai pengaruh  besar terhadap perkembangan penggunaan komputer.  Sebagai contoh, pemakaian teknologi basis data dalam pengelolaan data yang berjumlah besar untuk keperluan bisnis, keteknikan, pendidikan, kesehatan, hukum, perpustakaan dan sebagainya akan sangat efisien apabila menggunakan komputer.
Sebelum istilah basis data dibahas lebih lanjut, lebih baik jika istilah data dan informasi dibahas terlebih dahulu. Data merupakan fakta yang mewakili suatu obyek seperti manusia, hewan, peristiwa, konsep, keadaan dan sebagainya, yang dapat dicatat dan menpunyai arti yang implisit. Data dicatat atau direkam dalam bentuk angka, huruf, simbol, gambar, bunyi, atau kombinasinya. Sebagai contoh, terdapat daftar nama, nomor telepon, dan alamat orang–orang yang menjadi anggota suatu organisasi.
Sejumlah penulis menggunakan data untuk menyatakan nilai-nilai yang secara aktual terkandung dalam basis data sedangkan informasi digunakan untuk menyatakan makna nilai ketika dipahami oleh pengguna. Informasi adalah hasil analisis dan sintesis terhadap data. Dengan kata lain, informasi dapat dikatakan sebagai data yang telah diorganisasikan kedalam bentuk yang sesuai dengan kebutuhan seseorang dalam suatu organisasi atau perusahaan.
Menurut Encyclopedia of Computer Science and Engineering, banyak ilmuwan di bidang informasi menerima definisi standar : “ Informasi adalah data yang digunakan dalam pengambilan keputusan”. Alasannya adalah informasi bersifat relatif; relatif terhadap situasi, relatif terhadap waktu saat keputusan diambil , juga relatif terhadap pembuat keputusan, dan bahkan juga terhadap latar belakang pengambil keputusan.

Keuntungan Penggunaan Basis Data

1. Controlling redundancy
Redundansi terjadi jika banyak data disimpan dua kali dalam tabel untuk setiap kelompok pengguna. Beberapa masalah yang timbul yaitu kebutuhan untuk update data secara logika menjadi berulang2 dan ruang penyimpanan yang besar ketika data yang sama disimpan berulang2. Tabel yang berisi data yang sama, menjadi tidak konsisten.

2. Restricting unauthorized access
Ketika banyak pengguna berbagi basis data, ada beberapa pengguna yang tidak diberi hak /otorisasi untuk mengakses semua informasi dari basis data. Beberapa pengguna mungkin diijinkan untuk pengambilan / retrieve data, meskipun yang lainnya diijinkan untuk pengambilan dan perubahan data (retrieve dan update). DBMS menyediakan fungsi keamanan dan subsistem otorisasi dan digunakan oleh DBA (Database Administrator) untuk membuat account dengan batasan2nya.

3. Providing persistent storage for program object and data structures
Ini yang mengawali sistem basis data berorientasi objek. Misal tipe record dalam pascal atau definisi kelas di C++. Nilai dari variable program dihilangkan setiap program selesai, kecuali pemrogram menyimpannya secara permanen dalam file, yang biasanya dikonversi ke format yang sesuai. Untuk membacanya, pemrogram harus mengkonversi dari format file ke struktur variabel program. Objek ini disebut persistence.

4. Permitting inferencing and actions using rules
Sistem basis data deduktif memiliki kemampuan mendefinisikan rule deduksi untuk mendapatkan informasi baru.

5. Providing multiple user interfaces
Karena banyak tipe pengguna dengan level pengetahuan teknik yang bermacam2 dalam menggunakan basis data, DBMS perlu menyediakan antarmuka pengguna yang bermacam2 pula, yaitu bahasa query bagi casual user; bahasa pemrograman interface untuk programmer; form dan kode perintah bagi parametric user; menu-driven interface dan natural-language interface (atau yang dikenal GUI) bagi stand-alone user.
 

6. Representing complex relationships among data
Basis data terdiri dari bermacam2 data yang saling berhubungan. DBMS memiliki kemampuan untuk mewakili bermacam2 hubungan yang kompleks diantara data
secara mudah dan efisien.


7. Enforcing integrity constraints
DBMS memiliki kemampuan untuk membuat suatu integrity constraint. Tipe yang paling sederhana dari integrity contraint adalah menspesifikasikan tipe data untuk setiap item data. Misal item data untuk program studi yang boleh disimpan adalah character 1 hingga 5, nilai ‘nama’ harus char dan tidak lebih dari 30 karakter.

8. Providing backup and recovery
Backup dan recovery merupakan fasilitas yang harus disediakan DBMS. Misal jika sistem komputer gagal saat sedang mengupdate program, sub sistem recovery bertanggungjawab untuk memperbaiki atau memastikan basis data direstore ke keadaan sebelum program dieksekusi kembali. Atau sub sistem recovery memastikan bahwa program diresume dari keadaan dimana diinterupsi sehingga basis data dapat menyimpannya.

Pelaku yang Terlibat dalam Penggunaan Basis Data

1. Database Administrator (DBA)
Dalam lingkungan basis data, sumber utama adalah basis data itu sendiri dan sumber kedua adalah DBMS. Pengaturan sumber ini dilakukan oleh seorang DBA.  DBA bertanggungjawab atas otorisasi akses ke basis data, mnegkoordinir dan memonitor penggunaannya dan mendapatkan sumber perangkat keras dan perangkat lunak yang dibutuhkannya. DBA bertanggungjawab atas masalah2 seperti pelanggaran keamanan atau waktu respon sistem yang buruk.

2. Database Designer
Database Designer bertanggungjawab atas identifikasi data yang disimpan dalam basis data dan pemilihan struktur yang sesuai untuk mewakili dan menyimpan data ini. Selain itu juga bertanggungjawab untuk mengkomunikasikan semua user basis data untuk memahami kebutuhannya, dan mencapai desain yang sesuai dengan kebutuhan user.

3. System analyst and Programmers (software engineers)
System analyst menentukan spesifikasi dan jalannya aplikasi perangkat lunak yang dipahami oleh semua kelompok user. Programmers mengimplementasikan spesifikasi ini dalam bentuk aplikasi perangkat lunak yang kemudian diuji dan didokumentasikan. Programmers perlu berkomunikasi dengan desainer basisdata.

4. Operators and maintenance personnel
Pelaku ini bertanggungjawab atas pemenuhan kebutuhan perangkat keras dan lunak dari sistem basis data yang dijalankan.

5. End-user
Adalah  pelaku yang membutuhkan akses ke basis data untuk query, update dan generate laporan yang terbagi dalam beberapa kategori yakni :
a. Casual end user
Ialah pengguna yang mengakses basis data, tetapi mereka membutuhkan informasi yang berbeda setiap saat. Mereka menggunakan bahasa query basis data yang canggih untuk menspesifikasikan permintaan dan mereka adalah manajer tingkat tinggi atau menengah.

b. Naïve/ parametric end user
Ialah pengguna dengan fungsi pekerjaaan utama mereka adalah berkisar pada query dan update basis data yang disebut canned transaction.

c. Sophisticated end users
Merupakan kelompok pengguna mencakup ahli teknik, ilmuwan, analis bisnis, dan lainnya yang terbiasa dengan fasilitas dari DBMS untuk mengimplementasikan aplikasi sesuai kebutuhannya.

d. Stand-alone end users
Adalah pengguna yang melakukan manajemen basis data personal dengan menggunakan paket program yang sudah jadi yang menyediakan menu yang easy user dan interface tab berbasis grafik.