• Tidak ada hasil yang ditemukan

BAB 3 ANALISIS DAN PERANCANGAN

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB 3 ANALISIS DAN PERANCANGAN"

Copied!
140
0
0

Teks penuh

(1)

BAB 3

ANALIS IS DAN PERANCANGAN

3.1. Sejarah Perusahaan

PT. Surya Toto Indonesia berawal dari CV Surya yang bergerak dibidang perdagangan dan bahan bangunan. Sejak tahun 1968 menjadi agen TOTO, penghasil barang-barang sanitary terkemuka di Jepang. Kenaikan-kenaikan tarif bea masuk yang mengakibatkan harga barang impor melonjak tinggi menimbulkan gagasan untuk mencoba memproduksi barang-barang sanitary TOTO di dalam negeri. M aka CV Surya bersama-sama TOTO Limited dan Kashima Trading Company mendirikan perusahaan patungan dengan nama PT. Surya Toto Indonesia pada tanggal 11 Juli 1977.

PT. Surya Toto Indonesia didirikan dalam kerangka Undang-Undang Penanaman M odal Asing dengan 65% sahamnya dimiliki oleh PT. Bumi Indonesia Djaya dan CB Surya sebagai perusahaan swasta nasional sedangkan 35% sahamnya dimiliki oleh TOTO Ltd. Jepang dan Kashima Trading Company Ltd. sebagai perusahaan dari Jepang. Kepemilikan saham untuk perusahaan swasta nasional telah diubah, yaitu PT Surya Paramita Pribadi, PT M ulti Fortuna Asinda dan PT Intimitra Sejahtera.

PT. Surya Toto Indonesia, Tbk mulai beroperasi dengan satu pabrik sanitary seluas 6,2 hektar di Serpong, tepatnya di desa Pakulonan, kecamatan Serpong kabupaten Tangerang dengan dukungan 65 karyawan. Daerah tersebut dipilih dengan pertimbangan bahwa tata ruang Kabupaten Tangerang dimasa

(2)

dikarenakan adanya jalan tol, hal ini yang dijadikan pertimbangan adalah pada daerah tersebut kemudahan untuk mendapatkan tenaga kerja maupun sumber air (sungai Cisadane). PT. Surya Toto Indonesia, Tbk terus mengalami pertumbuhan sampai saat ini sehingga mendapat sertifikat dan Singapore Institute of Standard Industrial Research dan berhasil melakukan ekspor pertamanya pada tahun 1980 dan terus meningkat hingga saat ini.

Adapun visi PT. Surya Toto Indonesia adalah menjadikan perusahaan terkemuka yang dapat memberikan kontribusi bagi perkembangan masyarakat. Dan beberapa misi dari PT. Surya Toto Indonesia adalah sebagai berikut :

• M empersembahkan produk yang bermanfaat dan berkualitas tinggi • M emberikan pelayanan prima untuk memenuhi kepuasan pelanggan • M encintai pekerjaan dengan sepenuh hati

• M enghargai individu dan membina kerjasama

• M elindungi lingkungan dunia dengan penghematan sumber daya alam dan energi.

3.2. S truktur Organisasi

Untuk memperlancar kegiatan-kegiatan operasional dibutuhkan divisi-divisi yang bertugas untuk melakukan bagian fungsional masing-masing. Adapun struktur organisasi yang dimiliki oleh PT. Surya Toto Indonesia, Tbk. pada saat ini.

(3)

Gambar 3.1 S truktur Organisasi

(4)

 

3.3. Tugas dan Wewenang

President Director :

1. Bertanggung jawab atas kemajuan dan kelancaran perusahaan yang dipimpinnya.

2. M empimpin rapat yang diadakan oleh perusahaan dan memberikan pengesahan terhadap hasil rapat yang berguna untuk kemajuan perusahaan. 3. M enerima pertanggungjawaban setiap manager dalam melaksanakan

tugasnya masing-masing

4. M enetapkan keputusan dan sasaran perusahaan.

Direktur :

1. M emimpin perusahaan dengan menerbitkan kebijakan-kebijakan perusahaan 2. M emilih, menetapkan, mengawasi tugas dari karyawan dan kepala bagian

(manajer)

3. M enyetujui anggaran tahunan perusahaan

4. M enyampaikan laporan kepada pemegang saham atas kinerja perusahaan.

Teknikal Advisor :

1. M elakukan analisa awal terhadap setiap kasus teknik

2. M emberikan informasi problem baru yang terkait dengan keselamatan dan kuantitas

(5)

Manajemen Representatif dan Quality Control :

1. M emastikan bahwa proses-proses yang diperlukan untuk sistem manajemen mutu ditetapkan diimplementasikan dan dipelihara

2. M elapor kepada manajemen puncak mengenai kinerja sistem manajemen mutu dan setiap kebutuhan perbaikan

3. M enjamin promosi kesadaran peryaratan pelanggan pelanggan di seluruh organisasi.

Manajer akunting :

1. M embuat laporan pajak

2. M enghitung dan membuat laporan laba rugi 3. M embuat laporan pendapatan perusahaan

4. M enghitung persediaan produk di counter dan di gudang berdasarkan harga cost.

Manajer Purchasing :

1. M enetapkan dan memelihara prosedur pembelian untuk mengendalikan pembelian di PT. Surya Toto Indonesia

2. M engesahkan dokumen pembelian sebelum dokumen dikirim ke pemasok 3. M emilih dan mengevaluasi pemasok yang memenuhi persyaratan yang

ditetapkan.

Manajer HRD :

(6)

2. M engatur dan menyimpan data-data mengenai karyawan

3. M enerima dan mengecek permohonan cuti dan absensi karyawan

4. M enyiapkan dan mengatur jadwal interview dan testing calon karyawan baru

5. M enyiapkan dan mengatur jadwal training karyawan

Manajer Produksi :

1. M erencanakan kegiatan produksi dan setiap bagian pendukungnya 2. M engontrol kegiatan produksi dan setiap bagian pendukungnya

3. M elakukan koordinasi dengan departemen penjualan terkait dengan order yang akan dikerjakan dan jadwal pengiriman

4. M engontrol kualitas produksi baik proses maupun mutu.

Manajer PPIC :

1. M enginput data hasil produksi dari semua seksi 2. M embuat rencana produksi semua seksi

3. M emantau stok barang yang ada

4. M embuat rencana pengiriman barang ke pelanggan

5. M emantau stok dan membuat pemesan matrial untuk produksi

3.4. Proses sistem yang sedang berjalan

Hasil interview kami pada bagian HRD PT Surya Toto Indonesia Tbk. Divisi Cikupa menghasilkan proses sistem yang sedang berjalan yang dideskripsikan dengan menggunakan flow chart

(7)
(8)
(9)
(10)

Proses ini dimulai dari menganalisa laporan evaluasi tahunan berdasarkan QCDM S(Quality, Cost, Delivery, Morale, Safety). Proses ini semuanya adalah hak mutlak dari HRD yang memutuskan berdasarkan kebutuhan mayoritas pegawai dilihat dari planning tahunan yang di evaluasi berdasarkan QCDM S.Setelah menganalisa laporan QCDM S, maka HRD akanmembuat kuisioner training tahunan. Kuisioner tersebut kemudian diberikan kepada supervisor, supervisor mengisi kuisioner berdasarkan kebutuhan training yang dirasa masih kurang, supervisor juga dapat memberikan usulan tema. Setelah mengisi, supervisor akan membuat rekap dan kemudian dikembalikan kepada HRD.Setelah kuisioner dan rekap dikembalikan kepada HRD,maka HRD akan mengolah dan menganalisa materi yang mana merupakan skill-up dan manajemen, jumlah pegawai dalam 1 tahun yang akan mengikuti training, budget 1 tahun dari seluruh kuisioner yang diisi oleh tiap-tiap supervisor. HRD kemudian akan membuat laporan tema tahunan yang didapat dari analisa kuisioner dari tiap supervisordan berdasarkan laporan QCDM S.Laporan tema tahunan yang telah dibuat oleh HRD, HRD memberikan laporan tersebut kepada QA dan Direktur untuk ditandatangani dan disetujui.

(11)
(12)

   

(13)

Setelah mendapat laporan tema tahunan yang disetujui, maka HRD akan membuat jadwal laporan tema 1 tahun ke dalam training bulanan. HRD akan membagi jumlah pegawai dalam 1 tahun yang mengikuti training dengan 12 bulan. Jika kapasitas 1 bulan melebihi kapasitas, maka training akan dilakukan lebih dari 1kali pada bulan yang sama.HRD akan menentukan tanggal training tiap bulan, tanggal training yang diadakan rata-rata dilakukan dalam pertengahan bulan, karena awal dan akhir bulan biasanya pegawai banyak pekerjaan.HRD juga akan menentukan budget perbulan, HRD akan membuat jadwal laporan tema 1 tahun berdasarkan hal-hal diatas. Setelah HRD membuat jadwal laporan tema 1 tahun, laporan tersebut akan diberikan kepada Supervisor, M R/IQC, Direktur untuk disetujui dan ditandatangani.

3.4.3. Proses penjadwalan tutor intern

(14)
(15)

Setelah HRD mendapat persetujuan jadwal tema 1 tahun, HRD akan menentukan tutor untuk tiap tema yang terkait dalam 1 bulan.HRD akan memberikan jadwal training kepada tutor untuk dikonfirmasi.Tutor akan memberikan konfirmasi, jika pada saat tanggal tersebut tutor tidak bisa / berhalangan, maka tutor akan memberikan tanggal pengganti dalam kurun < 1bulan.Setelah konfirmasi telah berhasil, HRD akan memberikan materi terupdate kepada tutor.

(16)
(17)

Jika materi, tutor, tanggal telah dipastikan maka HRD akan membuat undangan training yang ditujukan kepada pegawai(peserta) berdasarkan nama dan NIP pegawai, tema training, tutor, tanggal training, waktu, tempat. HRD dapat mengirim undangan training dengan via-email kepada supervisor dan pegawai yang terkait, supervisor akan mencetak undangan (hardcopy) dan diserahkan ke pegawai yang bersangkutan. Pegawai menerima undangan training dan dipastikan hadir, karena undangan training tersebut merupakan surat tugas.

(18)

Tabel 3.5 Proses Pengolahan Daftar Pegawai dan Materi (Ekstern)

(19)

Supervisor menganalisa kebutuhan training bawahannya yang dirasa masih kurang dan materi tersebut tidak ada didalam training intern.Supervisor membuat laporan analisa materi yang dibutuhkan dan daftar pegawai yang akan mengikuti training.HRD menerima laporan tersebut dan menganalisa materi yang dibutuhkan dan menandatangani. Laporan tersebut kemudian diberikan kepada Direktur untuk disetujui.

(20)

  Tabel 3.6 Proses Penjadwalan Training Ekstern

(21)

HRD menerima laporan daftar pegawai dan materi yang dibutuhkan. HRDakan mencari materi yang tidak ada didalam training intern kepada konsultan dengan mengecek jadwal tahunan konsultan dan menghubungi konsultan yang terkait.Konsultan akan mencarikan materi yang sesuai dengan kebutuhan HRD. Didalam training extern, ada konsultan public dan konsultan in-house. Dimana public berarti pegawai yang akan mengikuti training extern akan dikirimkan kepada konsultan yang terkait, jika in-house berarti konsultan yang datang keperusahaan.Konsultan akan memberikan negosiasi yang berbeda untuk public dan in-house. Jika public, negosiasi yang dilakukan adalah harga keseluruhan. Jika in-house, negosiasi yang dilakukan adalah negosiasi materi.Jika negosiasi gagal, maka training dibatalkan. jika berhasil, HRD akan menentukan tanggal,tempat, waktu.

(22)

  Tabel 3.7 Absensi Intern – Ekstern (In House)

(23)

HRD membuat daftar absensi training yang kemudian diberikan kepada pegawai selama training berlangsung untuk ditandatangani sebagai bukti kehadiran serta HRD mengawasi selama training berlangsung. Pegawai melakukan absensi dengan tanda tangan pada daftar absen, jika ada pegawai yang tidak melakukan absensi, manager yang terkait akan mencatat nama,nippegawai. M anager juga membuat rekap absensi yang kemudian akan diberikan kepada HRD. HRD akan menggabungkan hasil absensi, dan kemudian dimasukkan ke dalam database kemudian HRD membuat sertifikat.

3.5Masalah yang Dihadapi

Setiap perusahaan pasti akan mengalami masalah-masalah yang terjadi baik dari dalam maupun dari luar perusahaan. Adapun masalah-masalah yang dihadapi oleh PT. Surya Toto Indonesia antara lain adalah :

1. M asalah pendataan training pegawai

Perusahaan mengalami kesulitan untuk mendata pegawai-pegawai yang telah atau belum mengikuti training. Di mana training ini berguna untuk salah satu pendukung keputusan kompetensi. PT. Surya Toto Indonesia itu sendiri mengadakan paling sedikitnya dua kali dalam seminggu untuk mengadakan training bagi pegawainya. Dan bagi tiap pegawai yang akan mengikuti kompetensi wajib mengikuti training tersebut. Namun PT. Surya Toto Indonesia khususnya bagian HRD masih kesulitan dalam mencari data-data pegawai yang sudah atau

(24)

digunakan adalah menggunakan Microsoft Access. Hal ini mengakibatkan kurang efektifnya pencarian data.

2. M asalah pengadaan laporan training

Laporan training biasanya dikeluarkan ketika ada uji kompetensi maupun kenaikan jabatan atau kenaikan gaji pegawai. Biasanya dikeluarkan setiap satu bulan sekali, sesuai dengan kebutuhan perusahaan. Staff yang memerlukan laporan ini biasanya staff eksekutif perusahaan, baik manajer maupun HRD. Kendala perusahaan adalah membuat laporan tersebut harus manual sehingga akan dirasakan kurang efektif.

3. Kebutuhan Informasi

Perusahaan juga mengalami kesulitan dalam pengadaan kebutuhan informasi.Di mana informasi ini penting karena merupakan kebutuhan dari aktifitas training itu sendiri. Namun permasalahan yang dihadapi perusahaan adalah informasi yang masih manual dan sulit untuk dicari karena masih menggunakan data manual dan database M icrosoft Acces, sehingga ketika ingin mencari informasi untuk kebutuhan selanjutnya akan mengalami kesulitan dan membutuhkan waktu lama untuk mencarinya.

3.6 Usulan Pemecahan Masalah

Dari hasil survey diatas penulis mengusulkan untuk merancang basis data training pegawai yang dibutuhkan perusahaan ini.Dengan sistem yang diusulkan ini dapat mempermudah perusahaan mengolah data.

(25)

a. M emiliki sistem basis data yang bisa menampung semua data pegawai dan data materitraining

b. M empunyai catatan laporan pegawai yang sudah menjalani training, maupun yang belum melakukan training, laporan absensi training dan laporan historytraining pegawai.

c. M engetahui data pegawai yang belum menjalani training maupun yang sudah melakukan training yang ditetapkan.

d. M empermudah dalam membantu membuat keputusan mengenai mutasi maupun rotasi pegawai yang membutuhkan data historytraining pegawai. e. M empermudah untuk melakukan perubahan pada data materi yang ada atau

menambah data materi baru.

f. M empermudah dalam menginput, mencari dan menampilkan data training pegawai.

(26)

3.7. Tahapan Perancangan Database

Perancangan database dilakukan sesuai dengan kebutuhan informasi yang telah diidentifikasi pada PT. SURYA TOTO INDONESIA Tbk. Perancangan database tersebut dibagi menjadi tiga langkah, yaitu : perancangan database konseptual, perancangan database logikal, dan percancangan database fisikal.

3.7.1. Perancangan Database Konseptual

Berikut ini adalah tahap – tahap perancangan database konseptual yaitu:

3.7.1.1. Pengidentifikasian Entitas

No Nama Entitas Deskripsi Alias Kejadian

1. Karyawan M erupakan entitas yang memberikan

informasi mengenai karyawan

Pekerja Karyawan mengikuti training perusahaan

2. Divisi M erupakan entitas yang memberikan informasi

mengenai lokasi perusahaan.

Cabang PT. Surya Toto memiliki 3 divisi. Divisi Cikupa, Pasar Kemis, dan Serpong

3. Bagian M erupakan entitas yang memberikan informasi

mengenai bagian pegawai dalam perusahaan.

Setiap bagian memiliki banyak karyawan, dan dapat terdiri dari beberapa posisi.

4. Posisi M erupakan entitas yang memberikan informasi

mengenai posisi karyawan dalam perusahaan.

Jabatan Setiap posisi dapat terdiri dari beberapa bagian dan banyak karyawan.

(27)

5. Training M erupakan entitas yang memberikan Informasi mengenai training yang dilakukan pada pihak karyawan

latihan Setiap training memiliki beberapa jenis training yang dapat diikuti oleh karyawan

6. Tutor M erupakan entitas yang menjelaskan isi materi training

Pengajar Pengajar menjelaskan isi materi kepada

karyawan pada saat training berlangsung

7. Jadwal M erupakan entitas yang memberikan informasi mengenaitanggal dan tempat diadakannya training Jadwal untuk menentukan berjalannya training

8. Jenis Training M erupakan entitas yang memberikan informasi tentang jenis training yang ada.

Jenis training berfungsi untuk menentukan training yang akan dilakukan.

9. Jenis M ateri M erupakan entitas yang berfungsi untuk

memberikan informasi tentang jenis materi training.

Jenis materi merupakan bahan materi yang akan digunakan untuk training yang diadakan.

10. Pendidikan M erupakan entitas yang berfungsi untuk memberikan informasi tentang pendidikan karyawan Pendidikan berfungsi untuk memberikan informasi pendidikan yang dicapai oleh karyawan

(28)

Tabel 3.8 Tabel identifikasi entitas

3.7.1.2. Pengidentifikasian Relationship

a. Model Model Konseptual ERD Tanpa primary Key

Gambar 3.2 ERD Konseptual Tanpa Primary Key 11. Akses M erupakan entitas yang

berfungsi untuk

memberikan hak akses menjalankan program

Akses berfungsi sebagai hak akses untuk menggunakan program

(29)

b. Mengidentifikasi Relationship

Nama Entitas Multi- Relationship Nama Entitas

Multi-Training 1.. * M engakibatkan 1.. * M empunyai 1.. * M empunyai 1.. * M empunyai Jadwal JenisM ateri JenisTraining Karyawan 1.. * 1.. 1 1.. 1 1.. * Tutor 1.. 1 M enerima 1.. 1 Bagian Jadwal Karyawan 1.. * 1.. 1 Karyawan 1.. * M enempati 1.. * M enerima 1.. * M empunyai 1.. 1 M enempati 1.. * M enempati Posisi Jadwal Pendidikan Divisi Bagian 1.. 1 1.. * 1.. 1 1.. 1 1.. 1

Tabel 3.9 Tabel Identifikasi Relationship

3.7.1.3. Pengidentifikasian dan Penghubung Atribut dengan Entitas

atau Relationship

1. entitasKaryawan

Attribute Deskripsi Panjang dan

tipe data

null

Multi-valued

Kode_karyawan Kode karyawan Char(10) No No

Nama_karyawan Nama karyawan Varchar(30) No No

(30)

Telp_karyawan Telp karyawan Varchar(20) No No

Alamat_karyawan Alamat karyawan Varchar(100) No No

Tgl_lahir Tanggal lahir karyawan Date No No

Tgl_masuk Tanggal masuk karyawan Date No No

Kode_divisi Kode Divisi Char(1) No No

Kode_posisi Kode posisi Varchar(10) No No

Kode_bagian Kode bagian Varchar(10) No No

Kode_pendidikan Kode pendidikan Char(1) No No

Jumlah_masuk Jumlah masuk Int Yes No

Jumlah_absen Jumlah absen Int Yes No

Status_training Status training Varchar(20) Yes No

Tabel 3.10 Tabel Atribut entitas Karyawan

2. EntitasTraining

Attribute Deskripsi Panjang dan tipe

data

null

Multi-valued

Kode_training Kode training Char(5) No No

Nama_training Nama training Varchar(30) No No

Kode_jenis_training Kode kategori training Char(5) No No Kode_jenis_materi Kode jenis materi Char(5) No No

(31)

3. entitas JenisMateri

Attribute Deskripsi Panjang dan tipe

data

null

Multi-valued

Kode_Jenis_M ateri Kode Jenis materi Char(5) No No Nama_Jenis_M ateri Nama Jenis materi Varchar(30) No No

Tabel 3.12 Tabel Atribut entitas JenisMateri

4. entitasTutor

Attribute Deskripsi Panjang dan tipe

data

null

Multi-valued

Kode_karyawan Kode karyawan Char(10) No No

Kode_tutor Kode tutor Char(5) No No

Tabel 3.13 Tabel Atribut entitas Tutor

5. entitas JenisTraining

Attribute Deskripsi Panjang dan tipe

data

null

Multi-valued

Kode_Jenis_Training Kode jenis training Char (5) No No Nama_Jenis_Training Nama materi Varchar(30) No No

(32)

6. entitas Jadwal

Attribute Deskripsi Panjang dan tipe

data

null

Multi-valued

Kode_jadwal Kode jadwal Char (5) No No

Kode_training Kode training Char(5) No No

Kode_karyawan Kode karyawan Char(10) No No

Nama_jadwal Nama jadwal Varchar(30) No No

Tgl_mulai_training Jadwal tanggal mulai Date No No Tgl_selesai_training Jadwal tanggal selesai Date time No No

Jadwal_tempat Jadwal tempat Varchar (30) No No

Jadwal_jam Jadwal jam training Time(7) No No

Periode Periode Varchar(4) No No

Tabel 3.15 Tabel Atribut entitas Jadwal

7. entitas Posisi

Attribute Deskripsi Panjang dan tipe null Multi

valued

Kode_posisi Kode Posisi karyawan Char(10) No No

Nama_posisi Nama Posisi karyawan Varchar(30) No No

Inisial_posisi Singkatan nama posisi Char (5) No No

(33)

8. entitas Bagian

Attribute Deskripsi Panjang dan tipe null Multi

valued

Kode_bagian Kode bagian karyawan Char(10) No No

Nama_bagian Nama bagian karyawan Varchar(30) No No

Tabel 3.17 Tabel Atribut entitas Bagian

9. entitas Divisi

Attribute Deskripsi Panjang dan tipe null Multi

valued

Kode_divisi Kode divisi perusahaan Char(1) No No

Nama_divisi Nama divisi perusahaan Varchar(30) No No

Tabel 3.18 Tabel Atribut entitas Divisi

10.entitas Pendidikan

Attribute Deskripsi Panjang dan tipe null Multi

valued

Kode_Pendidikan Kode Pendidikan karyawan Char(1) No No

Nama_Pendidikan Nama Pendidikan karyawan Varchar(30) No No

(34)

11.Tabel Akses

Attribute Deskripsi Panjang dan tipe null Multi

valued

Username Nama untuk mengakses Char(20) No No

Password Password untuk mengakses Varchar(20) No No

Tabel 3.20 Tabel Atribut entitas Akses

3.7.1.4. Penentuan Domain Atribut

Berikut ini adalah tabel domain atribut untuk setiap entitas pada model konseptual :

1. Karyawan

Atribut Domain value

Kode_karyawan Range value 0-9

Nama_karyawan Range value A – Z, a-z

Tgl_lahir Range value 0-9, ‘-‘,’/’

Tgl_masuk Range value 0-9, ‘-‘,’/’

Email_karyawan Range value A – Z, a-z, 0-9 , ‘@’, ‘/’ , ‘.’

Telp_karyawan Range Value0-9, ‘-‘

Alamat_karyawan Range value A – Z, a-z, 0-9, ‘.’, ‘/’

Kode_divisi Range value A-Z, a-z

Kode_posisi Range value 0-9

(35)

Kode_pendidikan Range value 0-9

Jumlah_masuk Range value 0-9

Jumlah_absen Range value 0-9

Status_training Range value A-Z,a-z

Tabel 3.21 Tabel Domain entitas Karyawan

2. Training

Atribut Domain value

Kode_training Range value TR[0-9][0-9][0-9]

Nama_training Range value A – Z, a-z, 0-9

Kode_Jenis_training Range Value JT[0-9][0-9][0-9] Kode_jenis_materi Range value JM [0-9][0-9][0-9]

Tabel 3.22 Tabel Domain entitas Training

3. JenisMateri

Atribut Domain value

Kode_jenis_materi Range value JM [0-9][0-9][0-9] Nama_jenis_materi Range ValueA-Z,a-z,0-9

(36)

4. Tutor

Atribut Domain value

Kode_karyawan Range value 0-9

Kode_tutor Range value TU[0-9][0-9][0-9]

Tabel 3.24 Tabel Domain entitas Tutor

5. JenisTraining

Atribut Domain value

Kode_jenis_training Range value JT[0-9][0-9][0-9] Nama_jenis_training Range ValueA-Z,a-z,0-9

Tabel 3.25 Tabel Domain entitas JenisTraining

6. Jadwal

Atribut Domain value

Kode_jadwal Range value SC[0-9][0-9][0-9]

Nama_jadwal Range value A-Z,a-z

Tgl_mulai_training Range Value0-9,’/’,’-‘ Tgl_selesai_training Range Value0-9,’/’,’-‘

Jadwal_jam Range value 0-9, ‘.’

Jadwal_tempat Range Value A-Z, a-z

(37)

Kode_training Range value TR[0-9][0-9][0-9]

Kode_karyawan Range value 0-9

Tabel 3.26 Tabel Domain entitas Jadwal

7. Posisi

Atribut Domain value

Kode_posisi Range value 0-9

Nama_posisi Range value A-Z, a-z

Tabel 3.27 Tabel Domain entitas Posisi

8. Bagian 

Atribut Domain value

Kode_bagian Range value 0-9, A-Z, a-z

Nama_bagian Range value A-Z, 0-9

Tabel 3.28 Tabel Domain entitas Bagian

9. Divisi 

Atribut Domain value

Kode_divisi Range value A-Z

Nama_divisi Range value A-Z, a-z

(38)

10.Pendidikan

Atribut Domain value

Kode_pendidikan Range value 0-9

Nama_pendidikan Range value A-Z, a-z

Tabel 3.30 Tabel Domain entitas Pendidikan

11.Akses

Atribut Domain value

Username Range value A-Z, a-z, 0-9

Password Range value A-Z, a-z, 0-9

Tabel 3.31 Tabel Domain entitas Akses

3.7.1.5. Penentuan Atribut Primary Key dan Candidate Key

a. Tabel Primary Key dan Candidate Key

No Entitas Candidate Key Primary Key

1. Karyawan Kode_karyawan Email_karyawan Telp_karyawan

Kode_karyawan

2. Training Kode_training Kode_training

3. JenisM ateri Kode_jenis_materi Kode_jenis_materi

4. Tutor Kode_tutor Kode_tutor

(39)

6. JenisTraining Kode_jenis_training Kode_jenis_training 7. Posisi Kode_poisisi

Inisial posisi

Kode_posisi

8. Bagian Kode_Bagian Kode_Bagian

9. Divisi Kode_Divisi Kode_Divisi

10. Pendidikan Kode_pendidikan Kode_pendidikan

11. Akses Username Username

Tabel 3.32 Tabel Atribut Primary Key dan Candidate Key

3.7.1.6. Mempertimbangkan untuk Penggunaan Konsep Pemodelan

Enhanced

Dari model konseptual yang telah dibuat dilakukan spesialisasi subclass pada entitas Karyawan, yaitu entitasTutor. Relasi antara superclass Posisi dan subclass HRD adalah Mandatory

3.7.1.7. Mengecek Redundansi pada Model

Dari model konseptual yang telah dibuat tidak ditemukannya dua entitas yang merepresentasikan obyek yang sama pada PT. SURYA TOTO INDONESIA Tbk. dan tidak ditemukannya redundansi pada setiap relationship yang ada.

3.7.1.8. Memvalidasi Model Konseptual Lokal dengan Transaksi

(40)

Dari model konseptual yang ada, kita lakukan validasi terhadap transaksi yang terjadi pada PT. SURYA TOTO INDONESIA Tbk. Hal ini dapat dilihat pada gambar bawah ini:

Gambar 3.3 Validasi ERD dengan pathway transaksi PT. S URYA TOTO

INDONES IA Tbk.

(g,h,i,k) 

(d,e,f) 

(41)

Keterangan :

(a) Penginputan data karyawan (b) Pengubahan data karyawan (c) Penghapusan data karyawan (d) Penginputan training

(e) Pengubahan training (f) Penghapusan training (g) Penginputan jadwal (h) Pengubahan jadwal (i) Penghapusan jadwal

(j) Penginputan jadwal karyawan yang didaftarkan (k) Penginputan jadwal tutor yang didaftarkan

3.7.1.9. Meninjau Model Konseptual Lokal dengan Pengguna

Dari model konseptual lokal yang telah dirancang maka dihasilkan diagram relasi entitas sebagai berikut:

(42)
(43)

3.7.2. Pemilihan DBMS

Pemilihan DBM S dipengaruhi oleh beberapa faktor sebagai berikut:

1. Kemudahan dalam penggunaan : DBM S sebaiknya mudah dipergunakan oleh penggunanya.

2. Kemudahan dalam administrasi : DBM S sebaiknya mudah diadministrasikan.

3. Kehandalan : DBM S sebaiknya mampu mengamankan data apabila terjadi kegagalan piranti lunak atau keras.

4. Biaya : biaya dari DBM S sebaiknya tidak melebihi anggaran yang diperkirakan oleh perusahaan.

5. Keamanan : DBM S sebaiknya dapat membedakan dan memilih di antara berbagai tingkat pengguna dari yang tidak memiliki hak akses hingga hak administrasi penuh.

6. Kesesuaian : DBM S sebaiknya dapat bekerja dengan komponen piranti keras dan lunak lainnya dengan baik di dalam sistem manajemen informasi.

7. Persyaratan minimum : DBM S sebaiknya mampu bekerja pada platform computer yang digunakan untuk menjalankan sistem manajemen informasi.

8. Kedekatan dengan basis data : Jika struktur dan operasi dari DBM S sudah diketahui, maka waktu yang seharusnya dihabiskan untuk mempelajari DBM S dapat difokuskan pada perancangan.

(44)

9. Scalability : M empertimbangkan faktor besar dan kecilnya suatu perusahaan, dan seberapa banyaknya data yang ditampung pada DBM S tersebut.

SQL Server 2008 Oracle 9i MySQL

Platform

Windows-based

Platform

Windows-based, AIX based, Compaq Tru64 Unix, HP 9000 series HPUX

system, Linux Intel, Sun-Solaris Platform Windows-based, Linuxbased, Sun-Solaris Hardware -Processor Pentium 1.0GHz atau lebih -M emory M inimal: 512M B Disarankan: 2048GB Hardware -Processor Windows : Pentium 166 MHz atau lebih

AIX : IBM RISC/6000 atau

Server Series

HP-UX: HP 9000 seri 700

atau 800

Linux : Intel 32-bit, Intel

64-bit, S/390 generasi 9672

atau lebih, M ultiprise 3000, eServer z-series. Hardware -Processor Windows : 166 M hz atau lebih

Linux : Intel 32-bit, Intel 64-bit, S/390 9672 generation atau lebih, M ultiprise3000, eServer z-Series. Solaris : Solaris UltraSPARC-based computer -M emory 128 M B RAM

(45)

atau lebih

-Hard disk space 270 M B (Full Installation), 250 M B (Typical), 95 M B (minimal), Desktop Engine: 44 M B, Analysis services: minimum 50 M B dan 130 M B typical -M emory 128 M B RAM (diutamakan 256 M B) Virtual M emory : Initial size 200 M B, maximum size 400 M B -Hard disk space 140 M B pada Drive System

+4.5 GB untuk Oracle Home Drive (FAT) atau 2.8 GB untuk Oracle Home Drive (NTFS) Typical Installation: M inimal 450 s/d 550 M B Compact Installation: M inimal 350 s/d 400 M B Custom Installation: M inimal 350 s/d 700 M B

-Hard disk space 140 M B pada Drive System

(diutamakan 256M B) Virtual M emory : Initial size 50M B, maximum size 400 M B

-Hard disk space 100 M B (diutamakan)

-Hard disk space 100 M B (diutamakan)

(46)

English Query: 80 M B +4.5 GB untuk Oracle Home Drive (FAT) atau 2.8 GB untuk Oracle Home Drive (NTFS) Typical Installation: M inimal 450 s/d 550 M B Compact Installation: M inimal 350 s/d 400 M B Custom Installation: M inimal 350 s/d 700 M B Bahasa SQL -Feature Tables Relational tables, temporary tables -Feature Triggers AFTER triggers, INSTEAD OF triggers -Feature Procedures T-SQL statement -Feature ARRAYS Not Supported -Feature Back up dan Security Supported Bahasa SQL -Feature Tables Relational tables, object tables, temporary tables -Feature Triggers BEFORE triggers, AFTER triggers, INSTEAD OF triggers -Feature Procedures PL/SQL statement, java methods, third-generation Bahasa SQL -Feature Tables Relational tables -Feature Triggers Not Supported -Feature Procedures MySQL functions -Feature ARRAYS Not Supported -Feature Back up dan Security

(47)

language (3GL) routines

-Feature ARRAYS Supported

-Feature Back up dan Security

Supported

Tabel 3.33 Tabel perbandingan DBMS

Dari tabel perbandingan DBM S dan beberapa faktor yang dipertimbangkan untuk memilih DBM S, penulis menyarankan M icrosoft SQL Server 2000 sebagai DBM S yang dipergunakan untuk mengimplementasikan rancangan basis data. Keputusan ini diambil atas pertimbangan beberapa faktor berikut ini:

1. M icrosoft SQL Server 2000 memiliki kemudahan pengguna yang lebih baik dari Oracle 9i maupun MySQL. Hal ini terlihat dari data diatas yang menyebutkan M icrosoft SQL Server 2000 memiliki dokumentasi yang cukup mudah dimengerti dah mendapat bantuan teknis bila terjadi masalah. MySQL secara dokumentasi sudah cukup baik namun tidak mendapat bantuan teknis bila terjadi masalah. Sedangkan dokumentasi Oracle 9i sulit dipahami sehingga menyulitkan user.

2. Dalam hal kemudahannya dalam administrasi Oracle 9i paling sulit. M icrosoft SQL Server 2000 dan MySQL hampir sama, namun M icrosoft SQL Server 2000 lebih baik sedikit dari M ySQL karena

(48)

3. Dalam segi kehandalan Oracle 9i paling baik, kedua terbaik adalah M icrosoft SQL Server 2000 kemudian baru MySQL yang Cuma punya kehandalan karena gratis.

4. Dari segi biaya MySQL paling baik karena tidak memerlukan biaya, dan untuk lisensi komersialnya $395. Oracle 9i memiliki biaya paling tinggi diantara ketiganya, lagipula lisensinya berdasarkan per individu bukan medianya. Sedangkan M icrosoft SQL Server 2000 berada di tengah-tengah dalam hal biaya.

5. Oracle 9i mempunyai keamanan paling baik. Kedua, M icrosoft SQL Server 2000, kemudian MySQL yang sistem keamanannya masih belum jelas.

6. Dalam hal kompabilitasnya Oracle 9i mendukung standar paling lengkap dan bisa berjalan di semua sistem operasi. MySQL dalam hal standar kalah dengan M icrosoft SQL Server 2000 namun hanya dapat berjalan di sistem operasi berbasis UNIX. M icrosoft SQL Server 2000 juga hanya dapat berjalan pada sistem operasi buatan M icrosoft. 7. Untuk persyaratan minimum MySQL paling baik. Urutan kedua

adalah M icrosoft SQL Server 2000, kemudian Oracle 9i.

8. Dari segi familiaritasnya M icrosoft SQL Server 2000 adalah yang terbaik karena sudah sangat banyak yang bisa mengoperasikannya. Sedangkan Oracle 9i paling jarang dipakai.Dilihat dari faktor skalabilitasnya, M icrosoft SQL Server 2000 atau MySQL cocok untuk diimplementasikan pada perusahan-perusahanan kalangan

(49)

menengah. Boleh saja menggunakan Oracle 9i, tetapi hal ini dirasa terlalu berlebihan.

Berikut adalah tabel analisa fitur-fitur DBM S:

Features Rating Weighting S core

Kemudahan pengorganisasian 5 0.25 1.25

Ketersediaan struktur file 8 0.15 1.2

Perawatan struktur file 6 0.2 1.2

Pengindeksan 6 0.15 0.9

Panjang variabel field/record 4 0.15 0.6

Kompresi data 6 0.05 0.3

Rutinitas enkripsi 4 0.05 0.2

Kebutuhan memory 0 0.00 0

Kebutuhan penyimpanan 0 0.00 0

Total 39 1.0 5.65

Tabel 3.34 Tabel analisa fitur-fitur DBMS

3.7.3. Perancangan Basis Data Logikal

M embuat sebuah model data logikal lokal dari sebuah model data konseptual lokal yang menggambarkan fakta-fakta perusahaan dan memvalidasikan untuk meyakinkan struktur yang telah dirancang itu benar dan mendukung permintaan transaksi.

Berikut ini adalah tahapan – tahapan perancangan database logikal, yaitu :

(50)

3.7.3.1. Menghilangkan Fitur yang tidak Kompatibel dengan Model

Relasional

Berikutini adalah tahap-tahapdalammenghilan gkanfitur-fituryangtidaksesuaidenganmodelrelas ional.

3.7.3.1.1. Mengh ilangkanMany-ToMany(*:*)BinaryRelatio nsh ip

a. Relasi many-to-many (*:*)pada entitas Karyawan, Training dan jadwal akan menghasilkan sebuah entitas baru yaitu,

DetailJadwalTrainingKaryawan

(51)

3.7.3.1.2. Menghilangkan Tipe Relasi Rekursif one-to-many (1:*)

Tidak memiliki relasi rekursif

3.7.3.1.3. Menghilangkan atribut multi-value

Tidak memiliki atribut multi-value  

3.7.3.2. MemperolehRela siBagiModel DataLogikalLoka l

Berikut adalah tahap-tahap memperoleh relasi bagi model data logical, yaitu :

3.7.3.2.1. Identifikasi Strong Entity

Strong entity merupakan entitas yang tidak bergantung pada entitas lainnya, dapat juga dibilang Strong Entity adalan entitas yang dapat berdiri sendiri. Berikut adlah entias-entitas yang tergolong dalam strong entity :

Karyawan ( Kode_karyawan, Nama_karyawan,Kode_Divisi,

Kode_Posisi,Kode_Bagian,Kode_pendidikan,Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir, Tgl_masuk , Jumlah_masuk, Jumlah_absen, Status_training)

Primary key: Kode_karyawan

Foreign key : Kode_Divisi reference Divisi Foreign key : Kode_Posisi reference Posisi Foreign key : Kode_Bagian reference Bagian

(52)

Training (Kode_training, Nama_training, Kode_Jenis_training, Kode_jenis_materi)

Primary key : Kode_training

Foreign key : Kode_ jenis_ training reference JenisTraining Foreign key :Kode_jenis_materi reference JenisMateri

Tutor (Kode_karyawan,Kode_tutor)

Primary key : Kode_karyawan

Foreign key :Kode_karyawan reference karyawan

Jadwal ( Kode_jadwal, Nama_jadwal, Tgl_mulai_training, Tgl_selesai_training,

Jadwal_jam, Jadwal_tempat, Kode_training, Kode_karyawan, Periode)

Primary key : Kode_jadwal

Foreign key :Kode_karyawan reference Karyawan Foreign key :Kode_training reference Training

Jenis Training ( Kode_jenis_training, Nama_jenis_training)

Primary key : Kode_jenis_training

Posisi(Kode_Posisi, Nama_Posisi, Inisial_Posisi)

Primary key :Kode_Posisi

Jenis Materi ( Kode_jenis_materi, Nama_jenis_materi )

(53)

Divisi (Kode_Divisi, Nama_Divisi)

Primary key :Kode_Divisi

Bagian (Kode_Bagian, Nama Bagian)

Primary_Key : Kode_Bagian

Pendidikan (Kode_pendidikan, Nama_pendidikan)

Primary_key : Kode_pendidikan Akses (Username, Password)

Primary_key : Username

3.7.3.2.2. Identifikasi Weak Entity

Weak entity merupakan entitas yangbergantung pada entitas lainnya, dapat juga dibilang Weak entity adalah entitas yang tidak dapat berdiri sendiri. Berikut ini adalah entitas-entitas yang tergolong dalam weak entity :

DetailJadwalTrainingKaryawan( Kode_training, Kode_jadwal, Kode_karyawan,

Jumlah_masuk, Jumlah_absen,status_training)

Primary_key : Kode_training, Kode_Jadwal, Kode_Karyawan Foreign_key : Kode_training reference Training

Foreign_key : Kode_jadwal reference Jadwal Foreign_key : Kode_karyawan reference Karyawan

(54)

3.7.3.2.3. Tipe Relasi Biner one-to-many (1:*)

Hubungan antara entitas Karyawan dengan entitas Divisi

Hubungan antara entitas Karyawan dengan entitas Posisi M enempatkan Kode_divisi ke dalam entitas

Karyawan untuk model 1:* relationship menjadi

Karyawan ( Kode_karyawan,

Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir,Tgl_masuk,Kode_divisi)

Primary key Kode_karyawan

Foreign key Kode_divisi references

Divisi

Divisi ( Kode_divisi, Nama_divisi)

Primary key Kode_divisi

M enempatkan Kode_posisi ke dalam entitas Karyawan untuk model 1:* relationship menjadi

Karyawan ( Kode_karyawan,

Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir,Tgl_masuk,Kode_divisi, Kode_Posisi)

Primary key Kode_karyawan

Foreign key Kode_divisi references

Divisi

Foreign key Kode_posisi references

Posisi

Posisi ( Kode_posisi, Nama_posisi,

Inisial_posisi)

(55)

Hubungan antara entitas Karyawan dengan entitas Bagian M enempatkan Kode_bagian ke dalam entitas

Karyawan untuk model 1:* relationship menjadi

Karyawan ( Kode_karyawan,

Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir,Tgl_masuk, Kode_divisi, Kode_Posisi, Kode_bagian)

Primary key Kode_karyawan

Foreign key Kode_divisi references

Divisi

Foreign key Kode_posisi references

Posisi

Foreign key Kode_bagian references

Bagian

Bagian ( Kode_bagian,

Nama_bagian)

(56)

Hubungan antara entitas Karyawan dengan entitas Pendidikan M enempatkan Kode_pendidikan ke dalam entitas

Karyawan untuk model 1:* relationship menjadi

Karyawan ( Kode_karyawan, Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir,Tgl_masuk, Kode_divisi, Kode_Posisi, Kode_bagian, Kode_pendidikan)

Primary key Kode_karyawan

Foreign key Kode_divisi references

Divisi

Foreign key Kode_posisi references

Posisi

Foreign key Kode_bagian references

Bagian

Foreign key Kode_pendidikan

references Pendidikan

Pendidikan ( Kode_pendidikan,

Nama_pendidikan)

(57)

Hubungan antara entitas JenisM ateri dengan entitas Training

Hubungan antara entitas JenisTraining dengan entitas Training M enempatkan Kode_jenis_materi ke dalam entitas

Training untuk model 1:* relationship menjadi

Training ( Kode_training,

Nama_training, Kode_jenis_materi )

Primary key Kode_training

Foreign key Kode_jenis_materi

references JenisM ateri

JenisMateri ( Kode_jenis_materi,

Nama_jenis_materi)

Primary key Kode_jenis_materi

M enempatkan Kode_jenis_training ke dalam entitas Training untuk model 1:* relationship menjadi

Training ( Kode_training,

Nama_training, Kode_jenis_materi, Kode_jenis_training)

Primary key Kode_training

Foreign key Kode_jenis_training

references JenisTraining

Foreign key Kode_jenis_materi

references JenisM ateri

JenisTraining ( Kode_jenis_training,

Nama_jenis_training)

(58)

Hubungan antara entitas Jadwal dengan entitas Tutor

3.7.3.2.4. Tipe Relasi biner one-to-one (1:1)

Mandatory participation on one side pada entitas Karyawan dari relasi biner 1:1 antara entitas Karyawan dan Tutor

M enempatkan Kode_jadwal ke dalam entitas Tutor untuk model 1:* relationship menjadi

Jadwal ( Kode_jadwal, Nama_jadwal,

Tgl_training_mulai,

Tgl_training_selesai, Jadwal_jam, Jadwal_tempat, Periode,

Kode_karyawan, Kode_training, kode_tutor)

Primary key Kode_jadwal

Foreign key Kode_training references

Training

Foreign key Kode_karyawan

references Tutor

Foreign key Kode_Tutor reference

Tutor

Tutor ( Kode_tutor, Kode_karyawan)

Foreign key Kode_karyawan reference

(59)

3.7.3.2.5. Tipe Relasi Superclass dan Subclass

Hubungan superclass dan subclass antara entitas Karyawan dan entitas Tutor dengan Mandatory participation. Karena tidak ada disjoint constraint, maka relasi ini direpresentasikan sebagai berikut:

Tutor (Kode_karyawan, Kode_tutor)

Primary key Kode_karyawan

Foreign key Kode_karyawan references Karyawan

M enempatkan Kode_karyawan ke dalam Tutor Untuk model 1:1 relationship memiliki

dengan mandatory participation pada Tutor

Karyawan ( Kode_karyawan, Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir,Tgl_masuk, ,Kode_divisi, Kode_Posisi, Kode_bagian, kode_pendidikan)

Primary key Kode_karyawan

Foreign key Kode_divisi references

Divisi

Foreign key Kode_posisi references

Posisi

Foreign key Kode_bagian references

Bagian

Foreign key Kode_Pendidikan

reference pendidikan

Tutor (Kode_karyawan, Kode_tutor)

Primary key Kode_karyawan

Foreign key Kode_karyawan references

(60)

3.7.3.2.6. Tipe Relasi Biner many-to-many (*:*)

Hubungan antara entitas Karyawan, entitas training dan entitas Jadwal membentuk entitas DetailJadwal

Jadwal ( Kode_jadwal, Nama_jadwal,

Tgl_training_mulai,

Tgl_training_selesai, Jadwal_jam, Jadwal_tempat, Periode,

Kode_training,kode_karyawan)

Primary key Kode_jadwal

Foreign key Kode_training references

Training

Foreign key Kode_Karyawan

reference Karyawan Karyawan ( Kode_karyawan, Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir,Tgl_masuk, Kode_divisi, Kode_Posisi, Kode_bagian, Kode_pendidikan)

Primary key Kode_karyawan

Foreign key Kode_divisi references

Divisi

Foreign key Kode_posisi references

Posisi

Foreign key Kode_bagian references

Bagian

Foreign key Kode_pendidikan

(61)

3.7.3.2.7. Atribut Multivalue

Tidak memiliki atribut multivalue.

Training ( Kode_training, Nama_training,

Kode_jenis_materi, Kode_jenis_training)

Primary key Kode_training

Foreign key Kode_jenis_training references

JenisTraining

Foreign key Kode_jenis_materi references

JenisM ateri

DetailJadwalTrainingKaryawan (Kode_training,

Kode_jadwal, Kode_karyawan, Jumlah_masuk, Jumlah_absen,status_training)

Primary key Kode_training,Kode_jadwal,

Kode_karyawan

Foreign key Kode_training references Training

Foreign key Kode_jadwal references Jadwal

(62)

3.7.4. Memvalidasi Relasi Menggunakan Normalisasi

Database sudah dalam bentuk normalisasi pertama dan normalisasi ke dua, karena database sudah ditentukan primary key –nya pada perancangan konseptual, juga telah dihilangkan antara tabel header dan detail transaksi serta telah dihilangkan atribut multi-value pada tahap menghapus fitur yang tidak kompatibel di dalam tahap perancangan logikal. M aka pada tahap selanjutnya adalah menghilangkan ketergantungan transitif (Transitive Depedency) sehingga memenuhi aturan 3NF.

Tabel Karyawan

Karyawan

(Kode_karyawan, Nama_karyawan, Email_karyawan, Telp_karyawan, Alamat_karyawan, Tgl_lahir fd 1

(Primary key)

Tgl_masuk,Kode_divisi, Kode_posisi, Kode_bagian, Kode_pendidikan)

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

(63)

Tabel Training

Training (Kode_training, Nama_training, Kode_jenis_materi, Kode_jenis_training) fd 1

(Primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF:Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel Tutor

Tutor (Kode_karyawan, Kode_tutor)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF:Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

(64)

Tabel Jadwal

Jadwal(Kode_jadwal, Nama_jadwal, T gl_training_mulai, T gl_training_selesai, Jadwal_tempat fd 1

(primary key)

Jadwal_jam kode_training ,kode_karyawan)

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel JenisTraining

JenisTraining (Kode_jenis_training, Nama_jenis_training)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

(65)

Tabel JenisMateri

JenisMateri (Kode_jenis_materi, Nama_jenis_materi)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel Bagian

Bagian (Kode_bagian, Nama_bagian)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel Pendidikan

Pendidikan (Kode_pedidikan, Nama_pendidikan)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

(66)

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel Posisi

Posisi (Kode_posisi, Nama_posisi, Inisial_posisi)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel Divisi

Divisi (Kode_divisi, Nama_divisi)

fd 1

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

(67)

Tabel Akses

Akses (Username, Password)

fd

(primary key)

Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

Tabel DetailJadwalTrainingKaryawan

DetailJadwalTrainingKaryawan (Kode_training, Kode_jadwal, Kode_karyawan

fd 1

(primary key) Jumlah_masuk, Jumlah_absen, status_training)

(primary key) Validasi 1NF: Sudah memenuhi bentuk normal 1NF karena tidak memiliki atribut yang berulang

Validasi 2NF: Sudah memenuhi bentuk normal 2NF karena tidak memiliki partial dependency

Validasi 3NF: Sudah memenuhi bentuk normal 3NF karena tidak memiliki transitive dependency

3.7.4.1. Validasi Relasi Melalui Transaksi Pengguna

Berikut adalah validasi model data logikal yang telah dinormalisasi terhadap transaksi pengguna:

(68)

Gambar 3.6Validasi ERD transaksi PT. S URYA TOTO INDONES IA Tbk.

Keterangan :

(a) Penginputan data karyawan (b) Pengubahan data karyawan (c) Penghapusan data karyawan (d) Penginputan training (j,k,r,s,v,w)  (g,h,i,l,p,u)  (d,e,f,q,t)  (m,n,o)  (a,b,c)  (a,b,c)  (a,b,c)  (a,b,c)  (d,e,f)  (d,e,f)  (a,b,c) 

(69)

(e) Pengubahan training (f) Penghapusan training (g) Penginputan jadwal (h) Pengubahan jadwal (i) Penghapusan jadwal (j) Penginputan peserta (k) Penghapusan peserta (l) Penginputan Absen (m)Penginputan Akses (n) Pengubahan Akses (o) Penghapusan Akses (p)Lihat laporan jadwal (q) Lihat laporan training (r) Lihat laporan daftar peserta (s) Lihat laporan absensi (t) Cetak laporan training

(u) Cetak laporan Jadwal training (v) Cetak laporan daftar peserta (w)Cetak laporan absensi

(70)

3.7.4.2. Definisi Integrity Constraint

3.7.4.2.1. Referential Integrity

Karyawan (Kode_karyawan, Nama_karyawan, Email_karyawan, Telp_karyawan,

Alamat_karyawan, Tgl_lahir, Tgl_masuk, Kode_divisi, Kode_posisi, Kode_bagian, Kode_pendidikan)

Primary key (Kode_karyawan)

Foreign key (Kode_divisi) referencesDivisi ON UPDATE CASCADE ON DELETE

CASCADE

Foreign key (Kode_posisi) referencesPosisi ON UPDATE CASCADE ON DELETE

CASCADE

Foreign key (Kode_bagian) referencesBagian ON UPDATE CASCADE ON DELETE

CASCADE

Foreign key (Kode_pendidikan) references Pendidikan ON UPDATE CASCADE ON

DELETE CASCADE

Training (Kode_training, Nama_training, Kode_jenis_materi, Kode_jenis_training)

Primary key (Kode_training)

Foreign key (Kode_jenis_materi) referencesM ateri ON UPDATE CASCADE ON

DELETE CASCADE

Foreign key (Kode_jenis_training) referencesJenisTraining ON UPDATE CASCADE

ON DELETE CASCADE

Tutor (Kode_karyawan, Kode_tutor)

(71)

Foreign key (Kode_karyawan) referencesKaryawan (ON UPDATE CASCADE ON DELETE CASCADE

Jadwal (Kode_jadwal, Nama_jadwal, T gl_training_mulai, Tgl_training_selesai

,Jadwal_jam, Jadwal_tempat, Kode_training, Kode_karyawan, Periode)

Primary key (Kode_Jadwal)

Foreign key (Kode_karyawan) references Karyawan (ON UPDATE CASCADE ON

DELETE CASCADE

Foreign key (Kode_training) references Training (ON UPDATE CASCADE ON

DELETE CASCADE

JenisTraining (Kode_jenis_training, Nama_jenis_training)

Primary key (Kode_jenis_training)

JenisMateri (Kode_jenis_materi, Nama_jenis_materi)

Primary key (Kode_jenis_materi)

Bagian (Kode_bagian, Nama_bagian)

Primary key (Kode_bagian)

Pendidikan (Kode_pedidikan, Nama_pendidikan)

Primary key (Kode_pendidikan)

Posisi (Kode_posisi, Nama_posisi, Inisial_posisi)

Primary key ( Kode_posisi)

Divisi (Kode_divisi, Nama_divisi)

(72)

Akses (Username, Password)

Primary key (Username)

DetailJadwalTrainingKaryawan(Kode_training, Kode_jadwal, Kode_karyawan,

Jumlah_masuk, Jumlah_absen, Status_training)

Primary key (Kode_training, Kode_jadwal, Kode_karyawan)

Foreign key (Kode_training) references Training (ON UPDATE CASCADE ON

DELETE CASCADE

Foreign key (Kode_jadwal) references Jadwal (ON UPDATE CASCADE ON

DELETE CASCADE

Foreign key (Kode_karyawan) references Karyawan (ON UPDATE CASCADE ON

DELETE CASCADE

(73)

Gambar 3.7 ERD Normal

3.7.4.4. Menyatukan logical data model menjadi model global

Dikarenakan PT. SURYA TOTO INDONESIA TBK hanya memiliki satu view, maka model data logikal global yang dirancang sama dengan model data logikal lokal itu sendiri.

(74)

3.7.5. Perancangan Basis Data Fisikal

3.7.5.1. Penerjemahan Model Data Logikal Global untuk DBMS

Target

3.7.5.1.1. Perancangan Relasi Dasar

Karyawan

Domain Kode_Karyawan variable length char string, length 10 Domain Nama_Karyawan variable length varchar string, length 30 Domain Email_Karyawan variable length varchar string, length 50 Domain Telp_Karyawan variable length varchar string, length 20 Domain Alamat_Karyawan variable length varchar string, length 100 Domain Tgl_lahir variable date

Domain Tgl_masuk variable date

Domain Kode_Divisi variable length char string, length 1 Domain Kode_Posisi variable length char string, length 10 Domain Kode_Bagian variable length char string, length 10 Domain Kode_Pendidikan variable length char string, length 1 Karyawan (

Kode_karyawan NOT NULL, Nama_Karyawan NOT NULL, Email_Karyawan NOT NULL, Telp_Karyawan NOT NULL, Alamat_Karyawan NOT NULL, Tgl_lahir NOT NULL,

(75)

Kode_Divisi NOT NULL, Kode_Posisi NOT NULL, Kode_Bagian NOT NULL, Kode_Pendidikan NOT NULL, PRIM ARY KEY (Kode_Karyawan),

FOREIGN KEY Kode_Divisi REFERENCES Divisi ONUPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_Posisi REFERENCES Posisi ONUPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_Bagian REFERENCES Bagian ONUPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_Pendidikan REFERENCES Pendidikan ONUPDATE CASCADE ON DELETE CASCADE

)

Training

Domain Kode_Training variable length char string, length 5 Domain Nama_Training variable length varchar string, length 30 Domain Kode_Jenis_Training variable length char string, length 5 Domain Kode_Jenis_materi variable length char string, length 5 Training (

Kode_training NOT NULL, Nama_training NOT NULL,

(76)

Kode_jenis_materi NOT NULL, PRIM ARY KEY (Kode_Training),

FOREIGN KEY Kode_Jenis_Training REFERENCES JenisTraining ONUPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_jenis_materi REFERENCESJenisM ateri ONUPDATE CASCADE ON DELETE CASCADE

)

Tutor

Domain Kode_karyawan variable length char string, length 10 Domain Kode_Tutor variable length char string, length 5 Tutor (

Kode_karyawn NOT NULL, Nama_TutorNOT NULL,

PRIM ARY KEY (Kode_karyawan),

FOREIGN KEY Kode_karyawan REFERENCES Karyawan ON UPDATE CASCADE ON DELETE CASCADE

)

Jadwal

Domain Kode_Jadwal variable length char string, length 5 Domain Kode_Training variable length char string, length 5 Domain Kode_Karyawan variable length char string, length 10 Domain Nama_Jadwal variable length varchar string, length 50

(77)

Domain Jadwal_Jam variable time Domain Tgl_training_mulai date Domain Tgl_training_selesai date

Domain Jadwal_Tempat variable length varchar string, length 50 Domain Periode variable length varchar 4

Jadwal (

Kode_Jadwal NOT NULL, Kode_Training NOT NULL, Kode_Karyawan NOT NULL, Nama_Jadwal NOT NULL, Jadwal_Jam NOT NULL,

Tgl_training_mulai NOT NULL, Tgl_training_selesai NOT NULL, Jadwal_Tempat NOT NULL, Periode NOT NULL,

PRIM ARY KEY (Kode_Jadwal)

FOREIGN KEY Kode_karyawan REFERENCES Karyawan ON UPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_training REFERENCES Training ON UPDATE CASCADE ON DELETE CASCADE

(78)

JenisTraining

Domain Kode_Jenis_Training variable length char string, length 5 Domain Nama_Jenis_Training variable length varchar string, length 30 JenisTraining (

Kode_Jenis_Training NOT NULL, Nama_Jenis_Training NOT NULL, PRIM ARY KEY (Kode_Jenis_Training), )

JenisMateri

Domain Kode_Jenis_M ateri variable length char string, length 5 Domain Nama_Jenis_M ateri variable length varchar string, length 30 JenisM ateri (

Kode_Jenis_M ateri NOT NULL, Nama_Jenis_M ateri NOT NULL, PRIM ARY KEY (Kode_Jenis_M ateri), )

Bagian

Domain Kode_Bagian variable length char string, length 10 Domain Nama_Bagian variable length varchar string, length 30 Bagian (

Kode_Bagian NOT NULL, Nama_Bagian NOT NULL,

(79)

PRIM ARY KEY (Kode_Bagian) )

Pendidikan

Domain Kode_Pendidikan length char string, length 1

Domain Nama_Pendidikan variable length varchar string, length 30 Pendidikan (

Kode_Pendidikan NOT NULL, Nama_Pendidikan NOT NULL, PRIM ARY KEY (Kode_Pendidikan) )

Posisi

Domain Kode_Posisi length char string, length 10

Domain Nama_Posisi variable length varchar string, length 30 Domain Inisial_Posisi variable length char, length 5

Posisi (

Kode_Posisi NOT NULL, Nama_Posisi NOT NULL, Inisial_Posisi NOT NULL, PRIM ARY KEY (Kode_Posisi), )

(80)

Divisi

Domain Kode_Divisi length char string, length 1

Domain Nama_Divisi variable length varchar string, length 50 Divisi (

Kode_Divisi NOT NULL, Nama_Divisi NOT NULL, Inisial_Posisi NOT NULL, PRIM ARY KEY (Kode_Divisi) )

Akses

Domain Username length char string, length 20

Domain Password variable length varchar string, length 20 Akses (

UsernameNOT NULL, PasswordNOT NULL,

PRIM ARY KEY (Username) )

DetailJadwalTrainingKaryawan

Domain Kode_Jadwal variable length char string, length 5 Domain Kode_Training variable length char string, length 5 Domain Kode_Karyawan variable length char string, length 10 Domain Jumlah_masuk variable int

(81)

Domain Jumlah_absen variable int

Domain Status_Training variable length varchar string, length 10 DetailJadwalTrainingKaryawan (

Kode_Jadwal NOT NULL, Kode_Training NOT NULL, Kode_Karyawan NOT NULL, Jumlah_masuk NOT NULL, Jumlah_absen NOT NULL, Status_Training NOT NULL,

PRIM ARY KEY (Kode_Jadwal, Kode_Training, Kode_karyawan)

FOREIGN KEY Kode_Training REFERENCES Training ON UPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_Jadwal REFERENCES Jadwal ON UPDATE CASCADE ON DELETE CASCADE

FOREIGN KEY Kode_Karyawan REFERENCES Karyawan ON UPDATE CASCADE ON DELETE CASCADE

(82)

3.7.5.2. Perancangan Representasi Fisikal

3.7.5.2.1. Analisa Transaksi

Berikut adalah analisa transaksi terhadap PT. SURYA TOTO INDONESIA Tbk :

A B C D I R U D I R U D I R U D I R U D 1. Karyawan O O O O O O 2. Divisi O O O 3. Posisi O O O 4. Bagian O O O 5. Pendidikan O O O 6. Tutor O 7. Training O O 8. JenisTraining O 9. JenisM ateri O 10. Jadwal 11.DetailJadwalTrainingKaryawan 12. Akses

Tabel 3.35 Tabel analisa transaksi 1

Keterangan :

A. Penginputan data karyawan B. Pengubahan data karyawan C. Penghapusan data karyawan D. Penginputan Training

(83)

E F G H I R U D I R U D I R U D I R U D 1. Karyawan 2. Divisi 3. Posisi 4. Bagian 5. Pendidikan 6. Tutor O O 7. Training O O O O 8. JenisTraining O O 9. JenisM ateri O O 10. Jadwal O O O O 11DetailJadwalTrainingKaryawan 12. Akses

Tabel 3.36 Tabel analisa transaksi 2

Keterangan : E. Pengubahan Training F. Penghapusan Training G. Penginputan Jadwal H. Pengubahan Jadwal I J K I R U D I R U D I R U D 1. Karyawan O O 2. Divisi 3. Posisi 4. Bagian 5. Pendidikan 6. Tutor O 7. Training 8. JenisTraining 9. JenisM ateri 10.DetailJadwalTrainingKaryawan O O O O 11. Jadwal O O 12. Akses

(84)

Keterangan : I. Penghapusan Jadwal J.Penginputan peserta K.Penghapusan peserta L M N O I R U D I R U D I R U D I R U D 1. Karyawan 2. Divisi 3. Posisi 4. Bagian 5. Pendidikan 6. Tutor 7. Training 8. JenisTraining 9. JenisM ateri 10.DetailJadwalTrainingKaryawan O 11. Jadwal 12. Akses O O O

Tabel 3.38 Tabel analisa transaksi 4

Keterangan :

L. Penginputan Absen M . Penginputan Akses N. Pengubahan Akses O. Penghapusan Akses

(85)

P Q R S I R U D I R U D I R U D I R U D 1. Karyawan O O 2. Divisi 3. Posisi 4. Bagian 5. Pendidikan 6. Tutor 7. Training O O O O 8. JenisTraining 9. JenisM ateri 10.DetailJadwalTrainingKaryawan O O 11. Jadwal O O O 12. Akses

Tabel 3.39 Tabel analisa transaksi 5

Keterangan :

P. Lihat laporan jadwal Q. Lihat laporan training R. Lihat laporan daftar peserta S. Lihat laporan absensi

T U V W I R U D I R U D I R U D I R U D 1. Karyawan O O 2. Divisi 3. Posisi 4. Bagian 5. Pendidikan 6. Tutor 7. Training O O O O 8. JenisTraining 9. JenisM ateri 10.DetailJadwalTrainingKaryawan O O 11. Jadwal O O O 12. Akses

(86)

Keterangan :

T. Cetak laporan training

U. Cetak laporan Jadwal training V. Cetak laporan daftar peserta W. Cetak laporan absensi

3.7.5.2.2. Pemilihan Organisasi File

Tujuan dari langkah ini adalah untuk menentukan sebuah organisasi file yang efisien untuk setiap base relasi. Dengan menggunakan SQL Server 2008 yang mempunyai dua bentuk organisasi file indexes, yakni clustered dan non-clustered.

• clustered : indeks clustered mengorganisir baris – baris pada tabel ke dalam urutan tertentu.

• non clustered : indeks non-clustered memiliki struktur yang terpisah dari tabel. Urutan fisik dari baris tabel tidak mengikuri urutan dari file indeks.

3.7.5.2.3. Memilih Index

Karyawan

CREATE CLUSTERED INDEX id_Kode_karyawan ON Karyawan (Kode_karyawan) CREATE NON_CLUSTERED INDEX id_Nama_karyawan ON Karyawan (Nama_karyawan)

CREATE NON_CLUSTERED INDEX id_Email_karyawan ON Karyawan (Email_karyawan)

CREATE NON_CLUSTERED INDEX id_Telp_karyawan ON Karyawan (Telp_karyawan)

(87)

CREATE NON_CLUSTERED INDEX id_Alamat_karyawan ON Karyawan (Alamat_karyawan)

CREATE NON_CLUSTERED INDEX id_Tgl_lahir ON Karyawan(Tgl_lahir) CREATE NON_CLUSTERED INDEX id_Tgl_masuk ON Karyawan (Tgl_masuk) CREATE CLUSTERED INDEX id_Kode_divisi ON Divisi (Kode_divisi)

CREATE CLUSTERED INDEX id_Kode_posisi ON Posisi (Kode_posisi) CREATE CLUSTERED INDEX id_Kode_bagian ON Bagian (Kode_bagian)

CREATE CLUSTERED INDEX id_Kode_pendidikan ON Pendidikan (Kode_pendidikan)

Training

CREATE CLUSTERED INDEX id_Kode_training ON Training (Kode_training)

CREATE NON_CLUSTERED INDEXid_Nama_training ON Training (Nama_ training)

CREATE NON_CLUSTERED INDEX id_Kode_jenis_training ON JenisTraining (Kode_jenis_training)

CREATE NON_CLUSTERED INDEX id_Kode_jenis_materi ON JenisM ateri (Kode_jenis_materi)

JenisMateri

CREATE NON_CLUSTERED INDEX id_Kode_jenis_materi ON JenisM ateri (Kode_jenis_materi)

CREATE NON_CLUSTERED INDEX id_Nama_jenis_materi ON JenisM ateri (Nama_jenis_materi)

Gambar

Tabel 3.4 Tabel Proses Pembuatan dan Pengiriman Undangan
Gambar 3.2  ERD Konseptual Tanpa Primary Key 11. Akses M erupakan entitas yang
Tabel 3.12 Tabel Atribut entitas JenisMateri
Tabel 3.17 Tabel Atribut entitas Bagian
+7

Referensi

Dokumen terkait

untuk menentukan dasar sub-sub tema dari bidang studi lain yang terkait (Fogarty,. 1991 :

Guru bidang kurikulum mendata kelas dan siswa/i yang akan diajarkan dan menambah draft jadwal yang berisi mata pelajaran yang akan diajarkan dikelas masing masing

Perencanaan jadwal dalam pembuatan aplikasi Media Pembelajaran Laboratorium dibuat untuk menjadi dasar target yang akan dikerjakan. Rencana jadwal ditunjukan pada

a) Proses manajemen SDM yaitu proses kualifikasi pegawai yang memenuhi persyaratan untuk dapat dipromosikan jabatannya. Pertama HRD akan memasukan data kualifikasi

Dengan program aplikasi yang dirancang ini, diharapkan dapat membantu penderita diabetes untuk menentukan menu makanan harian mereka yang terbagi dalam lima kali makan di mana

Setelah didapatkan nilai training yang telah disimpan dalam file xml, selanjutnya data akan dibandingkan dengan gambar yang didapat dari kamera untuk

1) Setiap bulan, agen kapal dan pengelola pelabuhan harus melaksanakan rapat koordinasi yang dilaksanakan di PT Artha Daya Coalindo, untuk menentukan rencana kedatangan kapal

Selain itu, RS Persahabatan juga mempunyai website untuk memberikan informasi seputar rumah sakit, seperti fasilitas yang disediakan, jadwal dokter , konsultasi kesehatan dan