Tuesday, 19 February 2019

PSEUDOCODE


Pengertian Pseudocode :

Pseudocode Adalah notasi yang menyerupai notasi bahasa pemograman tingkat tinggi, Khususnya Pascal dan C. Bahasa pemograman umumnya mempunyai notasi yang hampir mirip untuk beberapa intruksi seperti notasi if-then-else, while-do, repeat-until,read, write dan sebagainya.
Namun tidak seperti bahasa pemograman yang di repotkan dengan tanda koma, indeks, format keluaran, kata - kata khusus, dan sebagainya. sembarang versi Pseudo code dapat di terima asalkan perintahnya tidak membingungkan pembaca. Keuntungan menggunakan notasi Pseudo code Adalah mentranslasi ke notasi bahasa pemograman, karena terdapat korespondensi antara setiap Pseudo code dengan notasi bahasa pemograman.

Pseudo code menggunakan beberapa istilah seperti :

Untuk mendapatkan data masukan : input,read,get,key-in.
Untuk menyatakan proses pemilihan : if...then...;if...then...else...end if.
Untuk menyatakan proses pengulangan : repeat... until...;.while....do...;.for.... do.... end for; do...while....;
Untuk menyatakan hasil keluaran: print, write, display.

Contoh : 
Buatlah algortima untuk mencari luas sebuah lingkaran, berdasarkan permasalahan tersebut, kita ketahui untuk mencari luas lingkaran dapat di hitung  dengan menggunakan rumus matematis : Luas lingkaran = ᧕.R²
Penulisan dalam bentuk Pseudo code dapat di tuliskan sebagai berikut :

1. read R
2. Pi = 3.14
3. luas = Pi * R * R
4. print luas

Contoh Algoritma dalam 3 bentuk :

Notasi 1 : Menyatakan langkah - langkah algoritma dengan untaian kalimat deskriptif.




Notasi 2 : Menyatakan langkah - langkah algoritma dengan Flowchart



Notasi 3 : Menyatakan langkah - langkah Intruksi Pseudo-code






Sekian semoga bermanfaat.....


KONTRUKSI DASAR ALGORITMA

Algoritma Merupakan urutan intruksi - intruksi dalam menyelesaikan sebuah masalah.


Urutan intruksi - intruksi ini dapat berupa sebuah runtunan aksi, pemilihan aksi atau pengulangan aksi, Sehingga sebuah algoritma dapat di bangun dari Runtunan ( sequence ), Pemilihan ( selection ) dan pengulangan ( looping ), dapat di lihat pada gambar.


Gambar 1.5 Kontruksi Dasar Algortima

1. Runtunan ( Secuence ) 

Sebuah Runtunan terdiri dari satu atau lebih pernyataan/intruksi yang di kerjakan secara berurutan, Intruksi dilaksanakan setelah intruksi berikutnya. Jika urutan di rubah, maka hasil bisa berubah.

Contoh :
Pada masalah 1.1 Urutan algoritma nya adalah dengan runtunan intruksi 1,2,3,4 di eksekusi secara berurutan 

Jika Runtunan nya kita ganti menjadi 1,2,3, maka hasil dari masalah ini tidak tercapai karena kita tidak menukar isi kedua Gelas A dan B, Tetapi mencampurkan isi kedua Gelas tersebut.

2. Pemilihan ( Selection )

Dalam Pemilihan sebuah Intruksi/Kumpulan di kerjakan jika kondisi tertentu di penuhi. Biasanya di nyatakan dengan intruksi IF - THEN ( Jika - Maka ).

Contoh : Kendaraan di traffic light



3. Pengulangan ( Looping )
  
Dalam pengulangan, maka sebuah intruksi akan di eksekusi secara berulang, dalam hitungan yang berbatas ( finiti ) Kelebihan komputer adalah mampu melakukan pekerjaan yang sama berulang kali tanpa lelah.

Contoh : Menulis perjanjian 100 kali "Saya berjanji tidak akan malas lagi" 

bentuk algoritmanya sebagai berikut :
 

Sekian semoga bermanfaat,

Monday, 18 February 2019

DASAR PEMOGRAMAN

Algoritma dan Pemograman

Definisi

Pemograman merupakan suatu kegiatan merancang atau menlis sebuah program.
Program Adalah suatu kumpulan intruksi - intruksi.
Bahasa komputer yang digunakan untuk menulis program di sebut bahasa pemograman.
Algoritma merupakan alur pikiran atau urutan langkah - langkah dalam menyelesaikan sebuah    masalah.
Masalah atau persoalan merupakan suatu yang bisa berupa pertanyaan atau tugas yang di cari jawabannya.

  
 Gambar 1.2. Tahapan Pelaksanaan Program

KETERANGAN :

Tahap 1.

Sebuah Program berisi urutan langkah - langkah dalam menyelesaikan sebuah masalah atau disebut tugas sebagai sebuah algoritma. Dimana algoritma ini nantinya di sajikan dalam berbagai bentuk atau di sebut sebagai notasi algoritmik,  antara lain adalah sebagai berikut :

Kalimat Deskriptif
     Notasi ini menyatakan langkah - langkah algoritma deskriptif. Pada contoh masalah dapat kita  selesaikan dengan urutan algoritma sebagai berikut :

 Flowchart
       Merupakan sebuah bagan Alir, Menggambarkan aliran intruksi dari sebuah algoritma dalam bentuk geomteri.


Flowchart Cocok di gunakan untuk menggambarkan algoritma pada masalah kecil, Sedangkan untuk masalah besar, kurang cocok, Alasan nya karena memerlukan berlembar - lembar kertas untuk menyajikan seluruh algoritma nya
.

       

Gambar 1.3. Notasi Flow chart



Gambar 1.4 Flow chart contoh masalah 1.1


Pseudo
    Pseudo Artinya Adalah pura- pura menyerupai, sehingga pseudo code Adalah sebuah kode/ceritera yang menyerupai penjelasan cara untuk menyelesaikan masalah, di tulis dengan bahasa yang mendekati bahasa pemograman,

Pseudo code dari contoh masalah 1.1 adalah sebagai berikut :

 

Tahap 2

Setelah Algoritma di tulis, maka tahapan berikutnya adalah programer akan menterjemahkan algoritma tadi, kedalam sebuah Bahasa Pemograman Tinggi.


Jenisa Bahasa Pemograman sangat banyak dan beragam, berdasarkan tingkat bahasa nya, bahasa pemgraman dapat di bagi menjadi :

Bahasa tingkat Rendah 
     Bahasa ini dirancang agar setiap intruksinya langsung di kerjakan oleh komputer, tanpa harus melalui translator
Contoh : Bahasa mesin
Bahasa mesin merupakan sekumpulan kode biner (o dan 1).


Bahasa tingat tinggi
      Bahasa tingkat tinggi, membuat sebuah program menjadi lebih mudah, karena bahasa nya mendekati bahasa manusia (Bahasa Inggris), sehingga lebih di pahami, tetapi program yang di tulis dengan bahasa tingkat tinggi, tidak dapat langsung dilaksaksanakan oleh komputer. harus di terjemahkan terlebih dahulu oleh sebuah translator bahasa pemograman yang di sebut compiler, kedalam bahasa mesin 
Contoh : Pascal, Java, C, C++, Visual Basic, dll.


 Tahap 3

Setelah program di buat, program tersebut akandi kompilasi pada tahapan ini setiap intruksi yang di tuliskan di cek struktur penulisannya, apakah sudah sesuai dengan aturan dari bahasa pemograman yang di gunakan atau tidak. jika sudah benar, maka intruksi dalam bahasa tingkat tinggi, akan di terjemahkan dalam bahasa mesin.

 


Tahap 4

Setelah program menjadi bahasa mesin, maka intruksi dapat di pahami oleh CPU, dan di eksekusi, sehingga nantinya dapat menjadi operasi bahasa baca, tulis, hitung perbandinga, dll.



Sekian, semoga bermanfaat





 

Tuesday, 6 December 2016

SOAL KISI KISI PEMOGRAMAN TENTANG ARRAY





CONTOH SOAL PEMOGRAMAN TENTANG ARRAY :

1.  # include <iostream.h>
     void main () {
                     int     i =80;
                     cout << "A";
     } else   if  (i > 69) {
     } else   cout  << "B";
     } else   if  (i > 49) {
     } else   cout << "C";
     } else   if  (i > 39) {
     } else   cout  <<"D";
     } else   {
         cout << "B";

JAWABAN :

B


2.  # include <iostream.h>
    void main () {
     long int     a=0,   b=0,    c=0;
     for (int     i=10,  ;  i < 15 ;  i++)
                       a +  = i ;
                       b +  = a + i ;
                       c +  = a + b + i ;
      }
      cout << a << endl ;
      cout << b << endl;
      cout << c << endl;

JAWABAN :

cara menghitungnya :

i      a      b      c 
       0      0      0

10     10      20     40
11     21    52       124
12     33    97       266
13     46    156     481
14     60    230     789    ==>  jawab : 60,230, 789


3.  # include <iostream.h>
     int hitung (int i) ;
     return       i*i ;
    }
    void main () {
    int     a=0  ;
    for     (int    i = 3 ; i < 8 ; i++)   {
    a+  = hitung  (i)  ;
    }
     cout  <<a ;

JAWABAN :

cara menghitung nya :

    a = a + hitung (i)

    i                            hitung (i)                          a=a+ hitung (i)
    3                               9                                           9
    4                              16                                         25
    5                              25                                         50
    6                              36                                         86
    7                              49                                         135


jawab :   135


4.  #include <iostream.h>
     int hitung (int  i)  {
     return (i * 2)  +1 ;
     void main ()  {
              int  b = 0 ;
              int  c = 0 ;
              for  (int    i=0 ; i < 5 ;  i++)
              b = c + hitung   (b) ;
              c +  = b ;
              }
              cout   << c ;

JAWABAN :

         i                    a (i)                     b + a (i)                        hitung (b + a)(i)
         0                      1                           1                                       1
         1                      4                           5                                       3
         2                     14                         19                                      9
         3                     48                         67                                     29 
         4                    164                       231                                    97

jawab :  231



5.   # include <iostream.h>
      int hitung (int    i)  {
      return    (i * 2) + 1 ;
      }
      void main () {
       int a [3] = {23,45,67}
       int b = 0
       for   (int  i = 0 ;  i < 3 ; i++) {
                b + hitung (b + a [i])

JAWABAN :

diket :

       a[0]  = 23               a[1] = 45              a [2] = 67

jadi :

        i                         b                   a (i)                 b + a (i)                          hitung (b + a )  (i)
        0                       47                   23                      23                                         47                  
        1                      232                  45                      92                                        185
        2                      831                  67                     299                                       599

jawab :  831, 23










sekian   semoga membantu.
     
        


 
 
        













Monday, 5 December 2016

MATERI KULIAH, BASIS DATA


PERANCANGAN BASIS DATA,

Definisi Basisdata,
Beberapa definisi basisdata (database) adalah sbb
-  Sekumpulan data store(bisa dalam jumlah besar) yang tersimpan dalam magnetic disk, optical    disk, dan media penyimpan sekunder lainnya. 
-  Sekumpulan program-program aplikasi umum yang mengeksekusi dan memproses data secara umum (hapus,cari,update,dll)
Basisdata terdiri dari data yang di-share bagi banyak user dan memungkinkan penggunaan data yang sama pada waktu bersamaan oleh banyak user.
Koleksi terpadu dari data-data yang saling berkaitan dari suatu enterprise.Mis. Basisdata RS akan terdiri dari data-data seperti pasien, karyawan, dokter, perawat, dll.

Definisi Perancangan Basisdata
Perancangan Database adalah proses untuk menentukan isi dan pengaturan
data yang dibutuhkan untuk mendukung berbagai rancangan sistem.
Tujuan Perancangan Database :
         •  untuk memenuhi informasi yang berisikan kebutuhan-kebutuhan user 

    secara khusus dan aplikasi-aplikasinya.
         •  memudahkan pengertian struktur informasi.
           mendukung kebutuhan-kebutuhan pemrosesan dan beberapa obyek

  penampilan (response 
            time, processing time, dan storage space).

 Proses Perancangan Database,
 6 Fase proses perancangan database :
           1. Pengumpulan data dan analisis
           2. Perancangan database secara konseptual
           3. Pemilihan DBMS
           4. Perancangan database secara logika (data model   mapping)
           5. Perancangan database secara fisik
           6. Implementasi Sistem database.

6 fase di atas tidak harus diproses berurutan. Pada beberapa hal,
Rancangan tsb dapat dimodifikasi dari yang pertama dan
sementara itu mengerjakan fase yang terakhir (feedback loop
antara fase) dan feedback loop dalam fase sering terjadi selama
proses perancangan.

Fase 1 : 

Pengumpulan data dan analisa
Proses identifikasi dan analisa kebutuhan-kebutuhan data
disebut pengumpulan data dan analisa. Untuk menentukan
kebutuhan-kebutuhan suatu sistem database,pertama-tama
harus mengenal bagian-bagian lain dari sistem informasi
yang akan berinteraksi dengan sistem database, termasuk
para pemakai yang ada dan para pemakai yang baru serta
aplikasi-aplikasinya. Kebutuhan-kebutuhan dari para
pemakai dan aplikasi-aplikasi inilah yang kemudian
dikumpulkan dan dianalisa.

 Aktifitas-aktifitas pengumpulan data dan analisa :
 
                   1.   Menentukan kelompok pemakai dan bidang-bidang aplikasinya.
                   2.  Peninjauan dokumentasi yang ada.
                   3.  Analisa lingkungan operasi dan pemrosesan data.
                   4.   Daftar pertanyaan dan wawancara.

 Fase 2 : 

Perancangan database konseptual
Tujuan dari fase ini adalah menghasilkan conceptual
schema untuk database yang tergantung pada
sebuah DBMS yang spesifik. Sering menggunakan
sebuah high-level data model seperti ER/EER model
selama fase ini. Dalam conceptual schema, kita
harus merinci aplikasi-aplikasi database yang
diketahui dan transaksi-transaksi yang mungkin.

 Aktifitas paralel perancangan database secara
  konseptual :

1.  Perancangan skema konseptual :

    Menguji kebutuhan-kebutuhan data dari suatu database yang 

 merupakan hasil dari   
    fase 1, dan menghasilkan sebuah conceptual database schema pada DBMS
    independent 
    model data tingkat tinggi seperti EER (enhanced entity relationship) model.

2.  Perancangan transaksi :

    Menguji aplikasi-aplikasi database dimana kebutuhan-kebutuhannya

  telah dianalisa
    pada
    fase 1, dan menghasilkan perincian transaksi-transaksi ini

Fase 3 : 

Pemilihan DBMS
Pemilihan database ditentukan oleh beberapa faktor, diantaranya:

1. Struktur data

    Jika data yang disimpan dalam database mengikuti struktur

    hirarki, maka suatu jenis hirarki dari DBMS harus dipikirkan.

2. Personal yang telah terbiasa dengan suatu sistem

    Jika staf programmer dalam suatu organisasi sudah terbiasa

    dengan suatu DBMS, maka hal ini dapat mengurangi biaya

    latihan dan waktu belajar.

3. Tersedianya layanan penjual

    Keberadaan fasilitas pelayanan penjual sangat dibutuhkan

    untuk membantu memecahkan beberapa masalah sistem.

4. Teknik

    Keberadaan DBMS dalam menjalankan tugasnya seperti jenis

    -jenis DBMS (relational, network, hierarchical, dll), struktur

    penyimpanan, dan jalur akses yang mendukung DBMS,

    pemakai, dll.
 Fase 4 : 

Perancangan database secara logika 
(pemetaan model data)

         Fase selanjutnya dari perancangan database adalah :
         Membuat sebuah skema konseptual dan skema eksternal 
pada model data dari DBMS yang terpilih. Fase ini

dilakukan oleh pemetaan skema konseptual dan skema

eksternal yang dihasilkan pada fase 2. Pada fase ini,

skema konseptual ditransformasikan dari model data

tingkat tinggi yang digunakan pada fase 2 ke dalam

model data dari DBMS yang dipilih pada fase 3.
Pemetaan diproses dalam 2 tingkat :
         1. Pemetaan system-independent :
          Pemetaan ke dalam model data DBMS dengan tidak
          mempertimbangkan karakteristik atau hal-hal yang khusus yang berlaku pada
          implementasi DBMS dari model data tsb. 
2 . Penyesuaian skema ke DBMS yang spesifik :
          mengatur skema yang dihasilkan pada langkah 1 untuk disesuaikan pada
          implementasi yang khusus di masa yang akan datang dari suatu model data yang
          digunakan pada DBMS yang dipilih.
 Fase 5 : 

Perancangan database fisik

 
Perancangan database secara fisik merupakan proses

pemilihan struktur-struktur penyimpanan dan jalur-jalur

akses pada file-file database untuk mencapai penampilan

yang terbaik pada bermacam-macam aplikasi.

Selama fase ini, dirancang spesifikasi-spesifikasi untuk

database yang disimpan yang berhubungan dengan

struktur-struktur penyimpanan fisik, penempatan record

dan jalur akses


 Petunjuk pemilihan perancangan 
 database secara fisik :
  1. Response time

Waktu yang telah berlalu dari suatu transaksi database yang
diajukan
Untuk menjalankan suatu tanggapan. Pengaruh utama pada response

time adalah di bawah pengawasan DBMS yaitu : waktu akses 
database

untuk data item yang ditunjuk oleh suatu transaksi.

Response time juga dipengaruhi oleh beberapa faktor yang tidak

berada di bawah pengawasan DBMS, seperti penjadwalan sistem

operasi atau penundaan komunikasi.

  2. Space Utility

Jumlah ruang penyimpanan yang digunakan oleh file-file database dan

struktur-Struktur jalur akses.

 3. Transaction throughput :

          Rata-rata jumlah transaksi yang dapat diproses per menit oleh sistem database, 
          dan merupakan parameter kritis dari sistem transaksi (misal, digunakan pada
          pemesanan tempat di pesawat, bank, dll). Hasil dari fase ini adalah penentual awal
          dari struktur penyimpanan dan jalur akses untuk file-file database.

Fase 6 :

Implementasi sistem database
       Setelah perancangan secara logika dan secara fisik lengkap,

kita dapat melaksanakan sistem database. Perintah-perintah

dalam DDL dan SDL(storage definition language) dari DBMS

yang dipilih, dihimpun dan digunakan untuk membuat skema

database dan file-file database (yang kosong) kemudian

database tsb dimuat (disatukan) dengan datanya.

Jika data harus dirubah dari sistem komputer sebelumnya,

perubahan-perubahan yang rutin mungkin diperlukan untuk

format ulang datanya yang kemudian dimasukkan ke

database yang baru. Transaksi-transaksi database sekarang

harus dilaksanakan oleh para programmmer aplikasi.




ALASAN PERANCANGAN 

BASIS DATA,



o    Sistem basis data telah menjadi bagian dalam sistem informasi suatu organisasi.
o    Kebutuhan menyimpan data dl jumlah besar semakin mendesak.
o    Fungsi-fungsi dalam organisasi semakin dikomputerisasikan.
o    Semakin kompleks data & aplikasi yg digunakan, maka relationship antar data harus
      dimodelisasikan.

o    Dibutuhkannya kemandirian data.
 
KONVERSI & LOADING DATA 



oTahap ini dilakukan apabila sistem basis data yg ada digantikan sistem basis data baru

oSemua data yg ada ditransfer ke basis data baru & konversi aplikasi yg ada utk basis data 

   baru.




PENGOPERASIAN & PERAWATAN 


o   Pengoperasian basis data setelah divalidasi

o   Memonitor kinerja sistem, jika tidak sesuai perlu reorganisasi basis data

o   Perawatan & upgrade sistem aplikasi basis data jika diperlukan.

 


Model Konseptual Basis Data,


     Model konseptual merupakan kombinasi beberapa cara untuk

memproses data untuk beberapa aplikasi. Pada perancangan model

konseptual basis data ini penekanan dilakukan pada struktur data dan

relasi antara field.

     Pada perancangan model konseptual ini dapat dilakukan dengan

menggunakan model data relasional.


Teknik Normalisasi


      Proses normalisasi adalah proses pengelompokan data elemen menjadi

tabel-tabel yang menunjukkan entity dan relasinya. Pada proses normalisasi

dilakukan pengujian pada beberapa kondisi apakah ada kesulitan pada saat

menambah/menyisipkan, menghapus, mengubah dan mengakses pada suatu

Basis data.

Bila terdapat kesulitan pada pengujian tersebut maka perlu dipecahkan relasi

pada beberapa tabel lagi atau dengan kata lain perancangan basis data belum

optimal.


Contoh:

- Tabel usermanager yang dapat dinormalisasi ke beberapa aplikasi.




Entity


Entity atau entitas, dalam basis data entity

sama halnya dengan sebuah tabel.

 Atribut
Atribut, dalam basis data sama halnya

dengan field.

Jenis Atribut
o   Atribut Sederhana

o   Atribut Komposit

o  Atribut Bernilai Tunggal

Atribut Bernilai Jamak

o  Atribut Harus Bernilai

Atribut Bernilai Null

Atribut Turunan
 

 Atribut Sederhana
Atribut Sederhana : atribut sederhana merupakan atribut atomik

yang tidak dapat lagi dipecah menjadi atribut lain.


Contoh:

Entitas mahasiswa mempunyai atribut sederhana berupa NIM, Nama

Mahasiswa .

 


Atribut Komposit


Atribut Komposit : atribut komposit merupakan atribut yang masih

dapat dipecah menjadi sub-sub atribut yang masing-masing memiliki arti

tesendiri.


Contoh:

Entitas mahasiswa mempunyai atribut alamat. Maka alamat disini dapat

dipecah menjadi sub atribut seperti kota, kab, kode_pos.

Entitas dosen mempunyai atribut nama_dosen. Maka nama disini dapat

dipecah menjadi sub atribut lain seperti glr_dpn, nama, glr_blk.




Atribut Bernilai Tunggal




Atribut Bernilai Tunggal : atribut yang hanya memiliki satu nilai untuk

setiap barisnya.


Contoh:

entitas mahasiswa mempunyai atribut NIM, nama, alamat isi data

dari atribut ini hanya boleh diisi dengan 1 data.

Setiap mahasiswa hanya memiliki 1 NIM, 1 Nama, 1 Alamat.



Atribut Bernilai Jamak




Atribut Bernilai Jamak : yaitu atribut yang boleh memiliki lebih dari

satu nilai untuk setiap barisnya.


Contoh:

entitas mahasiswa mempunyai atribut Hobby isi data dari atribut ini

boleh lebih dari 1 data. Mahasiswa Roshita memiliki NIM 04102002

beralamat di Jalan Garuda 32 Yogyakarta memiliki Hobby (Olah Raga,

Nyanyi, Masak dan Nonton TV)



Atribut Harus Bernilai (not null)




Atribut Harus Bernilai : yaitu atribut yang harus memiliki nilai data

untuk setiap barisnya. Biasanya atribut seperti ini sudah ditetapkan

dalam perancangan tabelnya sehingga jika dalam pengisian di kosongi

akan terjadi kesalahan.


Contoh:

entitas mahasiswa mempunyai atribut NIM dan nama_mahasiswa yang 
  
harus diisi
 

datanya, sebab jika tidak diisi akan terjadi kesalahan (error) dalam basis

data


Atribut Bernilai Null (is null)


Atribut Bernilai Null : yaitu atribut yang boleh tidak memiliki nilai data

untuk setiap barisnya.


Contoh:

entitas mahasiswa mempunyai atribut hobby, nama_pacar yang boleh

tidak terisi.





Atribut Turunan

 
Atribut Turunan : yaitu atribut yang nilai-nilainya diperoleh dari

pengolahan atau dapat diturunkan dari atribut lain yang berkaitan.


Contoh:

entitas mahasiswa mempunyai atribut IPK yang diperoleh dari

pengolahan atribut Nilai pada tabel (entitas Nilai) dengan kode NIM

mahasiswa yang sama dan diproses sehingga menghasilkan IPK untuk

mahasiswa yang bersangkutan.

Field (Atribut) Kunci
  
setiap field selalu terdapat kunci berupa field atau satu set field

yang dapat mewakili record.

Misalnya Nomor Induk Mahasiswa (NIM) merupakan

kunci dari tabel mahasiswa suatu Perguruan Tinggi, setiap pencarian

cukup dengan menyebut NIM mahasiswa tersebut maka dapat diketahui

identitas mahasiswa lainnya seperti nama, alamat dan atribut lainnya.


Contoh lain:

Nomor Pegawai (NIDN) bagi data dosen, NIK untuk data karyawan,

Kode_Kuliah untuk data Mata kuliah, dan lain sebagainya.

Kunci Kandidat (Candidate Key)

Kunci kandidat adalah satu atribut atau satu set atribut yang

mengidentifikasikan secara unik suatu kejadian spesifik dari entity.

Satu set atribut menyatakan secara tidak langsung dimana anda tidak

dapat membuang beberapa atribut dalam set tanpa merusak

kepemilikan yang unik.



Kunci Kandidat (Candidate Key) 

Contoh:                                                          
Kunci kandidat dalam tabel pegawai di disamping

dapat dipilih sbb :

o nik

o no_ktp

o nama_pegawai (tidak dapat dipakai karena sering seseorang punya nama yang

  sama dengan orang lain)

o tmp + tgl Lahir (mungkin bisa dipakai sebagai kunci karena kemungkinan orang dengan nama yang sama dan tanggal lahir yang

  sama cukup kecil)

o nama + tmp + tgl_lahir (dapat dipakai sebagai kunci)

o alamat dan kota (bukan kunci)

Tabel pegawai berisi field:

o nik

o no_ktp

o nama_pegawai

o tmp_lahir

o tgl_lahir

o alamat

o kota


 




 Kunci Kandidat (Candidate Key)

Contoh Kasus:

Tentukan Kunci Kandidat dari tabel tersebut

Tabel mt_kuliah berisi field:

o id_matkul

o kode_matkul

o nama_matkul

o kurikulum

o semester

o sks

o nilai_minimum


Kunci kandidat dalam tabel mt_kuliah di disamping

dapat dipilih sbb :

o id_matkul

o kode_matkul

o nama_matkul (mungkin bisa dipakai sebagai kunci karena kemungkinan nama matkul dengan yang lain ada perbedaan)

o kurikulum + semester + sks + nilai_minimum (tidak dapat dipakai karena sering matkul punya data yang
  sama dengan matkul lain)