Rabu, 11 Mei 2016

Macam - Macam Exception Handling

Exception adalah sebuah objek yang terjadi oleh  kondisi yang tidak biasa, terutama ketika terjadi error conditions, run-time error atau invalid processing. Exception menyediakan pemberitahuan kesalahan dan cara penanganannya. Dengan cara ini penanganan kesalahan dapat dilakukan secara tepat.

Bug : 
 kesalahan yang merupakan kelemahan dari perancangan atau implementasi 
Exception : 
 kesalahan yang dihasilkan oleh kondisi sistem /lingkungan 
 kondisi abnormal (sesuatu diluar yang biasanya) yang muncul di sekuen (urutan) kode saat jalan 
 run-time error Exception menyediakan pembangkitan kesalahan serta cara menanganinya. 

Penggunaan Extend (Inheritance) PHP


Inheritance atau lebih dikenal dengan Pewarisan adalah suatu cara untuk membuat class baru dengan mengguanakan class lain yang elah dibuat. Class yang memarisi atau diturunakan dari class lainnya disebut subclass dari class yang  yang diwarisi. Pada hubungan Inheritance, class turunan mewarisi class ayah ( parent class ). Maka semua atribut dan method class dari induk akan dibawa ( kecuali yang bersifat private ), secara intrinsik akan menjadi bagian dari class anak. Dan biasanya class anak akan membuat fungsionalitas baru yang tidak dimiliki class induk.

Keyword Super

Pengertian Keyword Super

Keyword super adalah sebuah keyword yang biasa digunakan dalam OOP (Objek Oriented Programing) terutama dalam pewarisan atau Inheritance, keyword ini berfungsi ketika di subclass, untuk memanggil kembali instan variabel di superclass apabila dalam method konstruktor, contoh :

//Konstruktor superclass
public A {
String Name; int NIM;
public A (String n, int No) {
Name = n;
NIM = No;}



Rabu, 04 Mei 2016

Bentuk Umum Konstruktor

Konstruktor: Definisi 
● Construktor adalah suatu metode yang dapat digunakan untuk memberi nilai awal pada saat objek diciptakan. Konstruktor akan dipanggil secara otomatis begitu objek diciptakan.

Modifier

Pengertian Modifier
Enkapsulasi (encapsulation) merupakan cara untuk melindungi property(atribut) / method tertentu dari sebuah kelas agar tidak sembarangan diakses dan dimodifikasi oleh suatu bagian program.
Cara untuk melindungin data yaitu dengan menggunakan access modifiers (hak akses).

Konstruktor dan $THIS

1. Pengertian Konstruktor

Konstruktor (construct) adalah sebuah method yang secara otomatis akan dijalankan ketika object dibuat (instansiasi). yaitu pada saat perintah new dijalankan.
Biasanya konstruktor digunakan untuk memberikan nilai awal pada sebuah objek. seperti pemberian nilai pada property atau pemanggilan method internal (method dalam class yang sama).

Pewarisan Interface

Pewarisan Interface adalah Sebuah kelas yang dapat mewarisi interface dengan menggunakan kata kunci implements, dimana kelas tersebut dapat mewarisi beberapa interface.

Interface bukan bagian dari hirarki class. Bagaimanapun, interface dapat mempunyai hubungan pewarisan antara mereka sendiri. Contohnya, misal kita punya dua interface StudentInterface dan PersonInterface. Jika StudentInterface meng-extend PersonInterface, maka ia akan mewariskan semua deklarasi method dalam PersonInterface.

Overloading dan Overriding

Overloading 


Overloading merupakan konsep dalam pemrograman berorientasi objek yang memungkinkan untuk membuat suatu kelas memiliki beberapa method dengan nama sama tetapi memiliki implementasi atau argumen yang berbeda. 

 Dalam bahasa pemprograman Java diperkenankan untuk mendefinisikan dua method atau lebih dengan nama yang sama di dalam satu kelas sepanjang deklarasi dan parameternya berbeda, atau disebut signature-nya berbeda.

Casting Objek

Pengertian Casting


Typecasting atau casting adalah proses konversi data dari tipe data tertentu ke tipe data yang lain.

Jenis Casting :

1. Casting data dengan Tipe Primitive.
Pengkonversian nilai dari satu tipe ke tipe yang lainnya, dapat dilakukan pada casting tipe primitif.

Package Class

Pengertian

Package adalah cara untuk mengelompokan class dan interface yang ada ke dalam kelompoknya (name space) sehingga lebih mudah diatur. Pendefinisian nama package harus terletak di bagian paling atas dari source program kita. Untuk mendefinisikan suatu package digunakan keyword package. Sintaks pendefinisian nama package adalah sebagai berikut:

Selasa, 03 Mei 2016

ABSTRAK CLASS DAN ABSTRAK METHOD

1. Pengertian Abstract Class dan Abstract Method

Abstract Class adalah sebuah class yang tidak bisa di-instansiasi (tidak bisa dibuat menjadi objek) dan berperan sebagai ‘kerangka dasar’ bagi class turunannya. Di dalam abstract class umumnya akan memiliki abstract method.
Abstract Method adalah sebuah ‘method dasar’ yang harus diimplementasikan ulang di dalam class anak (child class). Abstract method ditulis tanpa isi dari method, melainkan hanya ‘signature’-nya saja. Signature dari sebuah method adalah bagian method yang terdiri dari nama method dan parameternya (jika ada).

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.