Rabu, 04 Mei 2016

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.

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.