Selasa, 01 September 2015

Unnormalized, 1NF, 2NF, 3NF dan Boycode

Bentuk Tidak Normal Dalam Database ( Unnormalized Form )

Dalam sebuah teknik normalisasi kita mengenal beberapa bentuk form,penulis kali ini akan coba mengulas salah satu teknik normalisasi, yakni bentuk tidak normal atau Unnormalized Form dalam sebuah database. Unnormalized Form adalah suatu kondisi dimana sebuah tabel yang memiliki rangkap atau data yang terduplikasi. Dalam perancangan sebuah database yang baik, hal ini tentunya akan mengurangi efisiensi.
Bentuk Tidak normal atau Unnormalized Form ini sebenarnya adalah kumpulan data data mentah yang dimasukkan semua dalam satu tabel yang sama (tidak dipecah ke tabel lain). Data tersebut di input dengan apa adanya dan tidak dipilah sesuai dengan jenisnya.

berikut Studi Kasus Bentuk tidak normal atau Unnormalized Form :

nimnamadosensmt1smt2smt3
19761976didenAndiPBDPTIKPTIK
19771977kuswendiRianPBDLSA 

Terlihat dari tabel diatas, bahwa Nim,nama,dosen mengikuti tiga matakuliah/smt. dan terlihat ada perulangan kelas sebanyak 3 kali.



ONRMALISASI DATA 1NF, 2NF, 3NF

   Uncategorized   October 18, 2014
Normalisasi merupakan teknik analisis data yang mengorganisasikan atribut-atribut data dengan cara mengelompokkan sehingga terbentuk entitas yang non-redundant, stabil, dan fleksible.
Normalisasi dilakukan sebagai uji coba pada suatu relasi secara berkelanjutan untuk menentukan apakah relasi itu sudah baik, yaitu dapat dilakukan proses insert,update,delete, dan modifikasi pada satu atau beberapa atribut tanpa mempengaruhi integritas data dalam relasi tersebut.
A.Suatu rancangan database disebut buruk jika :
  1. Data yang sama tersimpan di beberapa tempat (file atau record)
  2. Ketidakmampuan untuk menghasilkan informasi tertentu
  3. Terjadi kehilangan informasi
  4. Terjadi adanya redudansi (pengulangan) atau duplikasi data sehingga memboroskan ruang penyimpanan dan menyulitkan saat proses updating data
  5. Timbul adanya NULL VALUE.
  6. Kehilangan informasi bisa terjadi bila pada waktu merancang database (melakukan proses dekomposisi yang keliru).
B.Tujuan normalisasi adalah menyempurnakan struktur table dengan:
  1. mengeliminasi adanya duplikasi informasi,
  2. memudahkan pengubahan struktur tabel,
  3. memperkecil pengaruh perubahan struktur database,dll.
D.Bentuk normalisasi yang sering digunakan adalah 1NF, 2NF, dan 3NF:
  1. 2NF adalah lebih baik dari 1NF; 3NF adalah lebih baik dari 2NF.
  2. Untuk kepentingan rancangan database bisnis, 3NF adalah bentuk terbaik dalam proses normalisasi (sudah mencukupi).
  3. Normalisasi dengan level paling tinggi tidak selalu diharapkan.
  4. Jadi normalisasi dilakukan, sepanjang dirasa sudah cukup normal (dengan mengikuti pra-syarat normalisasi diatas)
Normalisasi 1NF:
  1. Merubah dari bentuk tabel tidak normal (unnormalized table) menjadi bentuk normal pertama (1NF).
  2. Suatu relation R disebut 1st NF jika dan hanya jika semua attribute value-nya simple/atomic (tidak boleh ada attribute yang composit & multivalue)
Tujuan 1NF adalah:
  1. Membuang adanya pengulangan (Redudansi) data,
  2. Menghindari adanya pencatatan Null Value, dan
  3. Menjaga setiap entry data dr relasi (perpotongan bariskolom) memiliki maksimal satu nilai tunggal.
  4. Beberapa table dapat mengandung partial depedency


Contoh 1NF:

  • Suatu format tabel yang dikenal sehari-hari :
2014-10-18_2219
  • Bentuk UnNormalize : (redudancy pada alamat)
2014-10-18_2220
  • Bentuk Normal 1NF & 2NF :
2014-10-18_2223
Normalisasi 2NF:
Pada tahap ini dilakukan penghilangan beberapa group elemen yang berulang agar menjadi satu harga tunggal yang berinteraksi di antara setiap baris pada suatu tabel, dan setiap atribut harus mempunyai nilai data yang atomic (bersifat atomic value).
Normal Form (2NF):
  • Sudah dalam bentuk / lolos 1NF.
  • Dibuat berdasarkan FULL FUNCTIONAL DEPENDENCY (ketergantungan fungsional penuh)
  • Normalisasi 2NF: jika tabel berada dalam bentuk normal pertama (1NF) dan setiap atribut bukan kunci (bukan PK) bergantung penuh (FULL DEPENDENT) pada kunci primer (PK). Sehingga tidak ada atribut bukan kunci yang bergantung pada sebagian (parsial) kunci primer.
Contoh 2NF:
  • Suatu format tabel Normal I (1NF) : (menghilangkan redudansi)
2014-10-18_2224
  • Bentuk Normal II (2NF) : (decompose)
2014-10-18_2226
Contoh 2NF: (Penjelasan)
  • Suatu format tabel Normal I (1NF) : (menghilangkan redudansi)
2014-10-18_2228

Normalisasi 3NF
Walaupun relasi 2-NF memiliki redudansi yang lebih sedikit dari pada relasi 1-NF, namun relasi tersebut masih mungkin mengalami kendala bila terjadi anomaly peremajaan (update) terhadap relasi tersebut. Jika kita hanya mengupdate satu baris saja, sementara baris yang lainnya tidak, maka data didalam database tersebut akan inkonsisten / tidak teratur. Anomaly update ini disebabkan oleh suatu ketergantungan transitif (transitive dependency). Kita harus menghilangkan ketergantungan tersebut dengan melakukan normalisasi ketiga (3-NF).
Normal Form (3NF):
  • Suatu relasi R disebut normal ke tiga (3rd NF) jika sudah memenuhi dalam bentuk normal ke dua (2nd NF) dan tidak dijumpai adanya ketergantungan TRANSITIF (Transitive Dependency).
  • Kebergantungan transitif (transitive dependency) adalah ketergantungan fungsional antara 2 (atau lebih) atribut bukan key (kunci/PK).
  • Syarat 3NF:
Harus berada dalam bentuk normal ke dua (2NF).
Ketergantungan field-field yang bukan PK adalah harus secara mutlak (full-dependent). Artinya harus tidak ada transitive dependency  (ketergantungan secara transitif).


Contoh 3NF:

  • Bentuk Normal ke Dua (2NF) :
Tabel di samping sudah masuk dalam bentuk Normal 2. Akan tetapi kita lihat bahwa field. Nama dan Nilai adalah fulldependent terhadap NRP yang bertindak sebagai PK. Berbeda dengan field. Keterangan di atas yang dependent kepada NRP akan tetapi tidak mutlak. Ia
lebih dekat ketergantungannya dengan field Nilai. Karena field Nilai dependent kepada NRP dan field Keterangan dependent kepada Nilai, maka field Keterangan juga dependant kepada NRP. Ketergantungan yang demikian ini yang dinamakan transitive-dependent (dependent secara transitif atau samar/tidak langsung). Untuk itu dilakukan normalisasi 3 (3NF).
2014-10-18_2233
  • Bentuk Normal ke Tiga (3NF) :
2014-10-18_2235
Contoh Lain 3NF:
  • Tabel Bentuk Normal ke dua (2NF) , dengan ketergantungan fungsional pada tanda panah:
2014-10-18_2236
Pada tabel diatas, kita lihat terdapat ketergantungan transitif, yaitu wilayah yang secara fungsional bergantung pada Nama_Sales, sedang Nama_Sales bergantung pada No_Pelanggan. Sehingga terdapat beberapa anomali pembaharuan pada relasi Penjualan diatas:
– Anomali Penyisipan (Insert): Pada saat memasukkan data nama sales baru, maka data No_Pelanggan dan data lain juga harus dimasukkan.
– Anomali Penghapusan (Delete): Pada saat dilakukan penghapusan No_Pelanggan = 2522, maka informasi tentang nama sales juga akan ikut terhapus.
– Anomali Modifikasi (Update): Pada saat dilakukan update data nama sales, maka harus dilakukan peng-update-an pada semua baris (row) pada tabel, hal ini sangat tidak efisien.

Boyce-Codde Method 
merupakan bentuk normal yang digunakan dalam normalisasi database. Ini adalah versi yang sedikit lebih kuat dari bentuk normal ketiga (3NF). Suatu relasi yang memenuhi BCNF selalu memenuhi 3 NF, tetapi tidak untuk sebaliknya. Suatu relasi yang memenuhi 3 NF belum tentu memenuhi BCNF. Karena bentuk 3 NF masih memungkinkan terjadi anomali.

Macam - Macam Atribut Key di Dalam Basis Data

Atribut Kunci

Atribut Kunci adalah satu atau gabungan dari beberapa atribut yang dapat membedakan semua baris data dalam tabel secara unik. Dikatakan unik jika pada atribut yang dijadikan kunci tidak boleh ada baris data dengan nilai yang sama.
Ada beberapa macam key dalam basis data, diantaranya :
 1.  Superkey
Gugus atribut entitas yang dapat digunakan untuk mengindentifikasikan entitas/obyek secara unik.
2.    
      2Primary
Yang dipilih untuk digunakan sebagai kunci identitas tabel secara unik(kunci indeks tabel) dan tidak boleh bernilai NULL. 

3. Foreign Key adalah satu atau lebih atribut dalam satu tabel   yang merupakan   primary key tabel lain (kunci penghubung).

4. Candidate Key adalah satu atau beberapa atribut pada sebuah yang memiliki nilai unik yang salah satunya nanti dapat dipilih menjadi primary key dari tabel tersebut. 

5. Alternate Key adalah candidate key yang tidak terpilih atau tidak digunakan menjadi primary key. Key ini sebenarnya memiliki fungsi yang sama dengan primary key yaitu berjenis unique key. Mungkin saja primary key yang kita buat pada suatu tabel merupakan autonumber (angka yang bertambah terus-menerus ketika proses insert data, sehingga tidak dimungkinkan terdapat nilai yang sama), dikarenakan tidak diperbolehkan ada dua primary key maka dapat dibantu oleh alternate key ini sebagai penanda unique-nya antara sebuah record dengan record lain.

Contoh Kasus sebagai berikut:


Tentukan foreign key, super key, candidate key, dan primary key pada tabel di atas.

Penyelesaian










Maka dapat diperoleh:
a) Tabel Konsumen
    Primary key: No_fak
    Foreign key: -
b) Tabel Pesan
    Primary key: No_pesan
    Foreign key: Kode_brg, No_fak
c) Tabel Barang
    Primary key: Kode_brg
    Foreign key: -

Setelah itu kita menentukan Super Key dan Candidate Key pada tabel di atas:
  • No_fak, superkey ; No_fak menentukan Barang.
  • (No_fak, Almt_kons), superkey ; No_fak, Almt_kons menentukan Barang.
  • (No_fak, Nm_kons, Almt_kons), superkey ;  No_fak, Nm_kons, Almt_kons menentukan Barang.
  • (No_fak, Nm_kons, Almt_kons, Kota_kons), superkey ; No_fak, Almt_kons, Nm_kons, Kota_kons menentukan Barang.
  • Kode_brg, superkey ; Kode_brg menentuka Barang.
  • (No_fak, Kode_brg, Nm_kons, Almt_kons, Kota_kons), superkey ; No_fak, Kode_brg, Nm_kons, Almt_kons, Kota_kons menentukan Barang.
Maka (No_fak, Kode_brg, Nm_kons, Almt_kons, Kota_kons) termasuk Super Key.
Sebagai Candidate Keynya adalah No_fak dan Kode_barang.

Rabu, 05 Agustus 2015

Macam – Macam Life Cycle Selain Waterfall Beserta Kekurangan dan Kelebihannya.

1. RAD Model (Rapid Application Development)
¨ Merupakan model proses pengembangan perangkat lunak yang bersifat inkremental terutama untuk waktu pengerjaan yang pendek.
¨ Merupakan adaptasi dari model waterfall  versi kecepatan tinggi
¨ Model RAD membagi team  menjadi beberapa team untuk mengerjakan beberapa tahapan secara paralel
¨ Kelebihan :
¤ Sangat berguna dilakukan pada kondisi user tidak memahami kebutuhankebutuhan apa saja yang digunakan pada proses pengembangan perangkat lunak. 
¤ RAD mengikuti tahapan pengembangan sistem sepeti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada (reusable object) sehingga pengembang tidak perlu membuat dari awal lagi dan waktu lebih singkat berkisar antara 60 hari-90 hari. 
¤ Karena mempunyai kemampuan untuk menggunakan komponen yang sudah ada dan waktu yang lebih singkat maka membuat biaya menjadi lebih rendah dalam menggunakan RAD.
¨ Kelemahan:
¤ Untuk sistem skala besar, model RAD memerlukan SDM yang cukup besar
¤ Jika tidak ada kemampuan untuk mengembangkan perangkat lunak secara cepat, maka model ini akan membingungkan.
¤ Tidak cocok digunakan  untuk sistem perangkat lunak yang memiliki resiko teknis yang sangat tinggi, misalnya menggunakan teknologi baru

2. Prototyping model
¨ Prototyping adalah salah satu pendekatan dalam rekayasa perangkat lunak yang secara langsung mendemonstrasikan bagaimana sebuah perangkat lunak atau komponen perangkat lunak akan bekerja dalam lingkungannya sebelum tahapan konstruksi aktual dilakukan
¨ Dapat dilakukan untuk menyambung ketidakpahaman pelanggan dan memperjelas spec kebutuhan
¨ Prototipe akan dievaluasi bersama oleh team pengembang dan user/pelanggan
¨ Prototipe / mock-up harus mampu mendemonstrasikan sebagian besar fungsi sistem sebenarnya serta memungkinkan pengujian desain sistem.
Model ini cocok digunakan untuk menggali spesifikasi kebutuhan pelanggan secara detail, namun beresiko terhadap biaya dan waktu

¨ Keuntungannya :
¤ Dikembangkan oleh analis sistem dan dioperasikan oleh para pemakai sistem.
¤ Bersifat berkelanjutan, yang artinya dibangun dan dicoba untuk ditingkatkan terus-menerus sampai memperoleh hasil memuaskan.
¤ Jadwal pemakaian yang tidak terlalu lama
¤ Dapat dibuat untuk berbagai kepentingan bisnis.
¨ Beberapa kelemahan :
¤ Pelanggan dapat sering mengubah-ubah atau menambah spesifikasi, hal ini dapat memperlambat proses pengembangan
¤ Pengembang lebih sering kompromi untuk mendapatkan prototipe dengan waktu yang cepat sehingga kualitas kurang baik, bahkan bisar menyebabkan iteratif tanpa akhir.
3.  V – Model
¨  Dalam V-Model , alokasi tugas ( kegiatan ) kepada orang-orang yang terorganisir melalui peran. Dalam kaitan ini, peran menggambarkan dibutuhkan pengetahuan dan kemampuan seseorang harus memiliki dalam rangka untuk memenuhi tugas-tugas yang dialokasikan kepadanya. Dengan demikian, berkaitan dengan organisasi, V-Model tidak memihak. Berkenaan dengan proyek penanganan ini berarti bahwa peranan dari model V- harus dialokasikan untuk perorangan pada saat proyek (kegiatan PM1 - Inisialisasi Proyek ) diinisialisasi. Di pihak berwenang dan perusahaan, orang-orang selalu unit organisasi terkecil.
¨  The V-Model mengasumsikan bahwa pengembangan sistem atau sistem pemeliharaan dan modifikasi adalah fokus komisi. Biasanya, pelanggan merupakan unit organisasi yang komisi pengembangan sistem lain unit organisasi baik di luar atau di dalam perusahaan otoritas /. Ketika mempertimbangkan pelanggan dan kontraktor, ini tidak berarti bahwa peran dalam Model V- akan digandakan (peran pelanggan dan ontractor rolesc).

¨ Keuntungan V – Model :
¤  Bahasa yang digunakan untuk merepresentasikan konsep V model menggunakan bahasa formal. Contoh : dengan menggunakan objek model ataupun frame-frame • Meminimalisasikan kesalahan pada hasil akhir karena ada test pada setiap prosesnya.
¤   Penyesuaian yang cepat pada projek yang baru.
¤  Memudahkan dalam pembuatan dokumen projek.
¨ Kelemahan V – Model :
¤  Aktifitas V-Model hanya difokuskan pada projectnya saja, bukan pada keseluruhan organisasi. V-Model adalah proses model yang hanya dikerjakan sekali selama project saja, bukan keseluruhan organisasi.
¤  Prosesnya hanya secara sementara. Ketika project selesai, jalannya proses model dihentikan. Tidak berlangsung untuk keseluruhan organisasi.

¤  Metode yang ditawarkan terbatas. Sehingga kita tidak memiliki cara pandang dari metode yang lain. Kita tidak memiliki kesempatan untuk mempertimbangkan jika ada tools lain yang lebih baik.

Penjelasan dan contoh aplikasi perangkat lunak untuk jenis PL.



1. Perangkat lunak Sistem

Perangkat lunak yang kegunaannya lebih banyak ditujukan untuk operasional komputer:
·   Sistem operasi (Windows, linux, MacOS,dll) 
·   Penerjemah bahasa pemrograman (compiler/interpreter). (C, Java, C++, C# compiler dll)

2. Perangkat Lunak Waktu Nyata (Real Time Software)

Suatu perangkat lunak yang berfungsi mengendalikan, memonitor atau menganalisis kejadian (event) yang terjadi pada keadaan nyata (seketika).

3. Embedded Perangkat lunak(Embedded Software)

Perangkat lunak ini terintegrasi dengan perangkat keras dan berfungsi mengatur kinerja dari perangkat keras tersebut.
contoh : microwave oven, telpon genggam, pengaturan avionik pesawat udara, dan lain-lain.

4. Perangkat Lunak Komputer Pribadi (Personal Computer)
Banyak digunakan pada aplikasi yang bersifat perorangan
contoh : pengolah kata, spreadsheet, game, DBMS dan lain-lain.

5. Perangkat Lunak Intelegensia Buatan (Artificial Intelligent Software)
Dibuat dengan menggunakan teknik algoritma non-numerik untuk memecahkan masalah yang kompleks, digunakan dalam bidang aplikasi kecerdasan buatan
contoh : game, expert sistem, neural network, dan lain-lain.

Pengertian Ubiquitous Computing, Opensource, Komputasi Awan, Dropbox, google engine, google drive.

1. Ubiquitous Computing  

dapat didefinisikan sebagai penggunaan komputer yang tersebar di mana user berada. Sejumlah komputer disatukan dalam suatu lingkungan dan tersedia bagi setiap orang yang berada di lokasi tersebut. Setiap komputer dapat melakukan pekerjaan yang dipersiapkan untuk tidak banyak melibatkan intervensi manusia atau bahkan tanpa harus mendeteksi di mana pemakai berada.  Ide ubiquitous computing pertama kali disampaikan oleh Mark Weiser (1998) di Laboratorium Komputer Xerox PARC, yang membayangkan komputer dipasangkan di dinding, di permukaan meja, di setiap benda sehingga seseorang dapat berkomunikasi dengan ratusan komputer pada saat yang sama. Setiap komputer secara tersembunyi diletakkan di lingkungan dan dihubungkan secara nirkabel.

 

2. Open Source 
adalah sebuah software yang dapat di miliki dengan cara mengambil / mendownload secara gratis dari internet , yang kode softwarenya di publikasikan ke publik atau pengguna internet . Umumnya orang akan memperbaiki kelemahan – kelemahan dari software tersebut dan memodifikasi tampilan atau bahasanya . Lalu menguploadnya kembali / mempublikasikan kembali software yang sudah di perbaiki tersebut ke internet . dan pada saat yang sama orang lain juga akan mendownload aplikasi software open sorce ini dan memperbaiki kelemahan –kelemahan yang lain.


3. Komputasi Awan  
adalah gabungan pemanfaatan teknologi computer (komputasi) dan pengembangan berbasis Internet (awan). Awan (cloud) adalah metafora dari internet, sebagaimana awan yang sering digambarkan di diagram jaringan komputer. Sebagaimana awan dalam diagram jaringan komputer tersebut, awan (cloud)dalam Cloud Computing juga merupakan abstraksi dari infrastruktur kompleks yang disembunyikannya. Ia adalah suatu metoda komputasi di mana kapabilitas terkait teknologi informasi disajikan sebagai suatu layanan,sehingga pengguna dapat mengaksesnya lewat Internet (di dalam awan) tanpa mengetahui apa yang ada didalamnya, ahli dengannya, atau memiliki kendali terhadap infrastruktur teknologi yang membantunya Menurut sebuah makalah tahun 2008 yang dipublikasi IEEE Internet Computing "Cloud Computing adalah suatu paradigma di mana informasi secara permanen tersimpan di server di internet dan tersimpan secara sementara di komputer pengguna (client) termasuk di dalamnya adalah desktop, komputer tablet, notebook, komputer tembok, handheld, sensor-sensor, monitor dan lain-lain
Komputasi awan adalah suatu konsep umum yang mencakup SaaS, Web 2.0, dan tren teknologi terbaru lain yang dikenal luas, dengan tema umum berupa ketergantungan terhadap Internet untuk memberikan kebutuhan komputasi pengguna. Sebagai contoh, Google apps menyediakan aplikasi bisnis umum secara daring yang diakses melalui suatu penjelajah web dengan perangkat lunak dan data yang tersimpan di server. Komputasi awan saat ini merupakan trend teknologi terbaru, dan contoh bentuk pengembangan dari teknologi Cloud Computing ini adalah iCloud.

4. Dropbox 
adalah layanan penyedia data berbasis web yang dioperasikan oleh Dropbox, Inc. Dropbox menggunakan sistem penyimpanan berjaringan yang memungkinkan pengguna untuk menyimpan dan berbagi data serta berkas dengan pengguna lain di internet menggunakan sinkronisasi data. Dropbox didirikan pada tahun 2007 oleh lulusan Massachusetts Institute of Technology (MIT) Drew Houston dan Arash Ferdowsi dengan modal awal yang didapat dari Y Combinator.  Bila dibandingkan dengan layanan serupa lainnya, Dropbox menawarkan jumlah pengguna yang relatif besar, dengan penggunaan sistem operasi yang bervariasi, baik untuk perangkat mobile ataupun desktop. Dropbox menyediakan layanan baik gratis ataupun berbayar, masing-masing dengan keuntungan yang bervariasi. Pada tahun 2011 Dropbox juga meluncurkan"Dropbox for Teams", sebuah layanan dari Dropbox yang dikhususkan untuk kelompok bisnis atau kelompok lainnya yang membutuhkan layanan untuk mengendalikan administrasi, tagihan yang terpusat, dan lain sebagainya. "Dropbox for Teams" tetap tersedia di situs web, namun harga yang ditawarkan berbeda dengan layanan Dropbox lainnya.



5. Google Engine
arti Google itu sendiri adalah sebuah tren yang sering digunakan dalam pencarian melalui internet. Tren ini seringkali muncul sebagai sebuah kata kerja.

Sederhananya, arti Google secara harfiah adalah MENCARI. Namun karena Google sudah menjadi sebuah tren dalam dunia pencarian dunia maya, maka istilah Google telah berubah menjadi situs pencarian paling terkenal yang ada di internet, yaitu google.com

Namun menurut Larry dan Sergey (Pendiri Perusahaan Google), Google bukanlah suku kata yang mengandung arti tertentu melainkan sebuah plesetan dari kata ‘googol’   sebuah istilah matematika untuk bilangan yang direpresentasikan dengan angka 1 yang diikuti 100 nol. Penggunaan istilah itu mencerminkan misi mereka untuk mengatur jumlah informasi di web yang terasa tidak terbatas.





6. Google drive 
adalah media penyimpanan gratis yang diberikan oleh google sebesar 5GB dapat ditambahkan dengan pembayaran tertentu.