lapres final project

30
 PROPOSAL FINAL PROJECT PRAKTIKUM BASIS DATA SEMESTER GENAP TAHUN AKADEMIK 2007 - 2008  LLC Oleh: Kelompok 25 David Agustinus ( 5106100021 ) Ibnu Febry K. ( 5106100091 ) Nurhidayat A. ( 5106100121 ) Fitra Raditya S. ( 5106100126 ) Asisten: Parata Surya Adi M. 5105100063 LABORATORIUM PEMROGRAMAN JURUSAN TEKNIK INFORMATIKA FAKULTAS TEKNOLOGI INFORMASI INSTITUT TEKNOLOGI SEPULUH NOPEMBER 2008

Upload: nurissaidah

Post on 16-Jul-2015

178 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 1/30

PROPOSAL FINAL PROJECT

PRAKTIKUM BASIS DATA

SEMESTER GENAP TAHUN AKADEMIK 2007 - 2008

 LLC 

Oleh:

Kelompok 25

David Agustinus ( 5106100021 )

Ibnu Febry K. ( 5106100091 )

Nurhidayat A. ( 5106100121 )

Fitra Raditya S. ( 5106100126 )

Asisten:

Parata Surya Adi M.

5105100063

LABORATORIUM PEMROGRAMAN

JURUSAN TEKNIK INFORMATIKA

FAKULTAS TEKNOLOGI INFORMASI

INSTITUT TEKNOLOGI SEPULUH NOPEMBER 

2008

Page 2: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 2/30

BAB IPENDAHULUAN

• Abstraksi Aplikasi Sistem informasi ini dibuat untuk memudahkan Lembaga Bimbingan

Belajar(LBB) dalam mengelola Sistem Informasi LBB-nya. Menu-menu yang

disediakan oleh aplikasi ini meliputi : registrasi siswa, pemilihan program atau paket

belajar oleh siswa, pemilihan jadwal oleh siswa, cara pembayaran biaya bimbingan

belajar. Aplikasi ini mempunyai hak akses oleh siswa, administrator, tentor, dan

petugas administrasi yang mana masing-masing memiliki layanan yang berbeda.

• Latar Belakang

Kompetisi Pendidikan yang sudah semakin tinggi dan standart kelulusan yang

semakin tinggi juga menyebabkan banyak lembaga-lembaga bimbingan belajar

bermunculan. Hal ini menginspirasi kami untuk membuat suatu aplikasi yang dapat

membantu Lembaga Bimbingan Belajar(LBB) dalam mengkoordinir Sistem Informasi

dari LBB itu sendiri, seperti proses registrasi yang lebih mudah, pemilihan jadwal

oleh siswa, pembagian jadwal tentor sehingga antar satu tentor dengan tentor yang

lainnya tidak ada yang jadwalnya bentrok, pemilihan program atau paket belajar

siswa dan masih banyak fitur-fitur yang lainnya yang dapat mempermudah LBB itu

sendiri.

Perancangan dan pembuatan "LBB LLC(Lama-Lama Cerdas)" merupakan

prasyarat dalam Final Project Praktikum Basis Data 2008, selain itu, aplikasi ini

merupakan representasi dari modul-modul Praktikum Basis Data 2008 yang telah

kami selesaikan sebelumnya, yaitu meliputi :

- Modul 1 Data Definition Language (DDL),

- Modul 2 Data Manipulation Language (DML),

- Modul 3 Query,

- Modul 4 Pembuatan Report, dan

- Modul 5 Design Database.

Sistem informasi yang digunakan adalah sistem informasi berbasis dekstop,

karena sistem informasi berbasis desktop sudah cukup mumpuni untuk digunakan

dalam pembuatan aplikasi sistem informasi, selain fitur-fitur, kestabilan, dan

kemudahan dalam mengaksesnya.

Page 3: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 3/30

• Tujuan Pembuatan Aplikasi

Tujuan pembuatan aplikasi sistem informasi ini adalah :

1. Mengimplementasikan materi yang diperoleh dari mata kuliah Basis

Data.

2. Implementasi nyata dari Modul 1 sampai Modul 5 dari Praktikum Basis

Data.

3. Mempraktekkan penggunaan database pada sebuah aplikasi.

4. Memperdalam tentang konsep dan implementasi basis data pada

mata kuliah Sistem Informasi dan mata kuliah lain yang berelasi

dengannya.

5. Dalam rangka mengembangkan pengetahuan dasar dan keahlian /

skill dalam bidang Sistem Informasi supaya menjadi lebih luas agar

mampu menggunakan aplikasinya dalam berbagai bidang dan mampu

menguasai berbagai metode dan teknik pemecahan masalah dalam

pengaplikasiannya.

• Batasan-Batasan Aplikasi

Batasan-batasan dalam pembuatan sistem informasi ini adalah :

1. Fitur Kepegawaian tidak terlalu dibahas

2. LBB tidak mempunyai cabang

3. Aplikasi berbasis desktop

Page 4: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 4/30

BAB IIDASAR TEORI

• DDL

Pengertian DDL

DDL adalah kependekan dari Data Definition Language merupakan bahasa

untuk membuat objek-objek dalam basis data. Objek-objek itu diantaranya :

o Table 

o View 

o Trigger 

Syn t ax DDL

o Membuat table 

CREATE TABLE Pegawai(NIP varchar(10),

NoKTP varchar(20),Nama varchar(20),Alamat varchar(30),PRIMARY KEY(NIP,NoKTP)

)

o Membuat view 

CREATE VIEW PegawaiSidoarjo ASSELECT * FROM Pegawai WHERE Alamat LIKE‘%Sidoarjo%’

• Pembuatan Aplikasi Database dengan C#

Pembuatan aplikasi database dengan c# merupakan salah satu cara untuk mempermudah dalam melakukan suatu manipulasi data pada database.Untuk membuat aplikasi database ini digunakan beberapa komponen dan filetambahan. File tambahan tersebut digunakan untuk mengkoneksikan antaradatabase dengan aplikasi C#.Komponen – koponen yang digunakan antara lain:

- Form- Datagrid atau richtextbox, sebagai tempat untuk menampilkan data.- Button- DataSet, DataReader dan DataAdapter, sebagai komponen untuk 

mengkoneksikan aplikasi dengan database.Berikut contoh pseudocode untuk mengkoneksikan aplikasi dengan Database;

using System;using System.Collections.Generic;

using System.Text;using Oracle.DataAccess.Client;

Page 5: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 5/30

using System.Data;using System.Windows.Forms;

namespace PBD{

class MyData{

private OracleConnection conn;private string OracleServer = "Data Source=(DESCRIPTION="

+ "(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.126.11.15)(PORT=1521)))"

+ "(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=ORAPBD8)));"

+ "User Id=klp38;Password=klp38;"; 

public void Open()

{ try {conn = new OracleConnection(OracleServer);conn.Open();

}catch(Exception ex){

MessageBox.Show(ex.Message);}

}public void Close(){

conn.Close();conn.Dispose();}public DataSet ExecuteDataSet(string sql){

DataSet ds = new DataSet();OracleDataAdapter da = new OracleDataAdapter(sql, conn);da.Fill(ds, "result");return ds;

}

public OracleDataReader ExecuteReader(string sql){

OracleDataReader reader;OracleCommand cmd = new OracleCommand(sql, conn);reader = cmd.ExecuteReader();return reader;

}

public int ExecuteNonQuery(string sql){

int affected;OracleTransaction mytransaction = conn.BeginTransaction();

Page 6: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 6/30

OracleCommand cmd = conn.CreateCommand();cmd.CommandText = sql;affected = cmd.ExecuteNonQuery();mytransaction.Commit();return affected;

}}

}

• Query

SQL se l e c t :

select <nama_kolom>from <nama_tabel>[ where kondisi ]

Syntax ini digunakan untuk menampilkan record dari kolom yang telah

ditentukan dan berasal dari tabel tertentu pula, kata where dapat digunakan

menyeleksi record yang akan ditampilkan.

SQL nes t ed que r y :

Nested query merupakan proses menampilkan data dengan pengisian kondisi

 juga merupakan query atau dapat disebut query di dalam query . Pengisian

kondisi dengan query dilakukan setelah keyword where disebut sub-query .

Syntax :

select <nama_kolom>from <nama_tabel>

 where kondisi (select <nama_kolom>from <nama_tabel>where kondisi)

Contoh :

select tgl_jual, jml_jual as [jumlah penjualan minimum]from penjualan

 where jml_jual = (select min(jml_jual)

from penjualan  )

a. min()

Fungsi agregasi yang memberikan keluaran berupa nilai minimum dari kolom

yang diberikan.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>,min(<nama_kolom>)from <nama_tabel>group by <nama_kolom1>,...,<nama_kolomn>

Contoh :

Page 7: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 7/30

select absen_siswa,nama_siswa,min(umur)from siswagroup by absen_siswa,nama_siswa

 b. max()

Fungsi agregasi yang memberikan keluaran berupa nilai maksimum dari

kolom yang diberikan.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>,max(<nama_kolom>)from <nama_tabel>group by <nama_kolom1>,...,<nama_kolomn>

Contoh :

select absen_siswa,nama_siswa,max(umur)from siswagroup by absen_siswa,nama_siswa

c. avg ()

Fungsi agregasi yang memberikan keluaran berupa nilai rataan dari kolom

yang diberikan.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>,avg(<nama_kolom>)from <nama_tabel>group by <nama_kolom1>,...,<nama_kolomn>

Contoh :

select absen_siswa,nama_siswa,avg(umur)from siswagroup by absen_siswa,nama_siswa

d. sum()

Fungsi agregasi yang memberikan keluaran berupa jumlah data yang

diberikan sesuai dengan parameter yang diberikan pada group by.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>,sum(<nama_kolom>)from <nama_tabel>group by <nama_kolom1>,...,<nama_kolomn>

Contoh :

select id_pembeli,sum(jml_pembelian)from pembeliangroup by id_pembeli

e. count ()

Fungsi agregasi untuk mencari banyaknya data.

Syntax :select <nama_kolom1>,...,<nama_kolomn>,count(<nama_kolom>)

Page 8: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 8/30

from <nama_tabel>group by <nama_kolom1>,...,<nama_kolomn>

Contoh :

select id_pembeli,count(jml_pembelian)from pembelian

group by id_pembeli

Jenis-jenis operasi pada SQL

a. TOP

SQL TOP memudahkan kita untuk menentukan berapa banyak baris yang

ditampilkan.

Syntax :

SELECT TOP <banyak_baris> *FROM <nama_tabel>;

contoh :

SELECT TOP 3 *FROM individual;

hasil :

b. DISTINCT

Fungsi yang digunakan untuk menghindari penampilan data yang terjadi

berulang-ulang, sehingga data yang ditampilkan merupakan tunggal.

Syntax :

select distinct <nama_kolom1>,...,<nama_kolomn>,

from <nama_tabel> where <kondisi>

Contoh :

Select distinct id_pembeli,count(jml_pembelian)

from pembeliangroup by id_pembeli

c. ORDER BY  

Page 9: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 9/30

Fungsi yang digunakan untuk mengurutkan hasil query  berdasarkan

kolom yang diisikan.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>,

from <nama_tabel> where <kondisi>order by <nama_kolom>

Contoh :

Select *from mahasiswaorder by nrp

d. HAVING

SQL HAVING digunakan untuk menyaring baris setelah di group by sesuai

dengan kriteria yang kita berikan.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>,<fungsi_aggregasi>from <nama_tabel>

 where <kondisi>group by <nama_kolom1>,...,<nama_kolomn>having <kondisi>

Contoh :

select idpesan,avg(hargapesanan) as hargapesanan_ratafrom pemesanan

group by idpesanhaving idpesan in (1,2)

e. IN / NOT IN

SQL IN digunakan untuk mencocokkan daftar nilai pada suatu kolom.

Syntax :

select <nama_kolom1>,...,<nama_kolomn>from <nama_tabel>

 where <nama_kolom> in (<kondisi1>,...,<kondisin>)

Contoh :

select *

from pemesanan where idpesan in (2,3,5)

f. LIKE / NOT LIKE

SQL LIKE digunakan untuk mencocokkan bentuk string yang telah

ditentukan

Syntax :

select <nama_kolom1>,...,<nama_kolomn>from <nama_tabel>

 where <kondisi> like <kondisi>

Contoh :

SELECT namakostumerFROM pemesanan

Page 10: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 10/30

 WHERE namakostumer LIKE '%n'

g. INTERSECT

SQL INTERSECT atau irisan menampilkan data yang sama dari 2 tabel.

Tabel :

Syntax :

select <nama_kolom>from <nama_tabel>[ where kondisi ]intersectselect <nama_kolom>from <nama_tabel>[ where kondisi ]

Contoh :

SELECT namahewan

FROM hewanINTERSECTSELECT namabinatangFROM binatang;

Hasil :

NAMAHEWAN----------anjing

kucing

sapi

h. UNION

SQL UNION atau gabungan digunakan untuk menampilkan semua data

yang telah deselect dari 2 tabel, nama yang sama hanya ditampilkan

sekali untuk menampilkan semua termasuk yang namanya kembar

digunakan UNION ALL

Syntax :

select <nama_kolom>from <nama_tabel>

[ where kondisi ]unionselect <nama_kolom>

Page 11: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 11/30

from <nama_tabel>[ where kondisi ]

Contoh :

SELECT namahewanFROM hewan

UNIONSELECT namabinatangFROM binatang;

i. MINUS

SQL MINUS digunakan untuk menampilkan data dari query pertama

dikurangi oleh data yang ada pada query kedua

Syntax :

select <nama_kolom>

from <nama_tabel>

[ where kondisi ]minusselect <nama_kolom>from <nama_tabel>[ where kondisi ]having <kondisi>

Contoh :

SELECT namahewanFROM hewan

 MINUSSELECT namabinatangFROM binatang;

 j. EXIST / NOT EXISTS

SQL EXIST digunakan untuk mengecek keberadaan row

SQL NOT EXIST untuk menampilkan row yang tidak disebutkan dalam

persyaratan

k. NVL

SQL NVL digunakan untuk mengubah nilai null ke nilai yang lain yangdapat ditentukan

Syntax :

select <nama_kolom1>,...,<nama_kolomn>nvl(<nama_kolom>,<nilai>)

from <nama_tabel> where <kondisi>

Contoh :

SELECT NVL(namakostumer, 'Unknown') AS NamaKostumer

FROM pemesanan;

Page 12: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 12/30

l. LPAD

Fungsi ini memberikan kebebasan dalam menampilkan data dengan

diawali karakter-karakter tertentu, bahkan string  juga memungkinkan.

Syntax :

select <nama_kolom1>,...,<nama_kolomn-1>,LPAD(<nama_kolomn>,<nilai>,<karakter_atau_string>)from <nama_tabel>[where <kondisi>]

Contoh :

select LPAD(idpesan,8,’-’)from pemesanan

m. VIEW

Fungsi ini digunakan untuk membuat ’tabel bayangan’ dari query yang

telah kita buat sebelumnya.

Syntax :

Create view <nama_view> asselect <nama_kolom1>,...,<nama_kolomn>from <nama_tabel>[where <kondisi>]

Contoh :

Create view view1 asselect *from pemesanan

n. ||

Menambahkan string tambahan pada tiap baris data yang ditampilkan,

namun tidak mempengaruh data yang bersangkutan

Syntax :

select <nama_kolom1>,...,<nama_kolomn> || <nilai>from <nama_tabel>

Contoh :

select “nomer pesan” || idpesan as id_pemesananfrom pemesanan

• Pembuatan Report

Pengertian Report

Report adalah merupakan suatu laporan dari suatu transaksi atau kegiatan

yang dilakukan. Report yang baik memiliki informasi yang jelas dan singkat,

tidak bertele – tele tetapi juga tidak terlalu singkat. Contohnya jika di dalam

suatu transaksi ada ID pegawai maka yang ditampilkan dalam report jangan

Page 13: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 13/30

IDnya saja, tetapi boleh nama pegawai dan ID pegawai atau hanya nama

pegawainya saja

Report yang baik memliliki kriterisa sebagai berikut :

Mudah dibaca dan jelas

Informatif 

Data akurat dan terpercaya

Pembuatan Report di C#

Untuk membuat suatu report, bisa menggunakan Microsoft Visual Studio

sebagai software pendukung dlama pembuatan report tersebut. Pembuatan

report di C# dapat dilakukan dengan dua cara yaitu, Manual Report dan

Crystal Report.

Untuk pembuatan Manual Report, hanya menggunakan sedikit component

namun bisa memakai banyak source code dalam pembuatannya. Komponen

 – komponen yang digunakan dalam pembuatan Report antara lain:

Form

Query

Komponen form untuk menampung hasil query (datagrid, listview,

textbox, rich textbox, panel, dll)

PrintDocument, PrintDialog, PageSetupDialog, PrintPreviewDialog

Keuntungan dalam pembuatan manual report bila dibandingkan dengan

Crystal Report antara lain :

- Mudah dalam memodifikasi querynya (hasil report)

- Sedikit menggunakan component

Kelemahan manual report bila dibandingkan dengan Crystal Report antara

lain:

- Banyak menggunakan code (lebih banyak berpikirnya)

- Tampilan kurang begitu bagus daripada Crystal Report

Selain menggunakan Manual Report, pembuatan report di c# juga bisa

dilakukan dengan metode Crystal Report. Dalam pembuatan Crystal Report,

komponen yang digunakan relatif banyak daripada manual report namun

memiliki tampilan yang bagus daripada manual report. Komponen –

komponen yang digunakan dalam pembuatan crystal report antara lain:

Form

Page 14: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 14/30

Query

Crystal Report Viewer

Template report (Crystal Report)

Table LogOn info

Keuntungan crystal report bila dibandingkan dengan manual report antara

lain:

- Tampilan lebih bagus

- Code yang digunkan relatif sedikit.

Kelemahan crystal report dibandingkan dengan manual report antara lain:

- Banyak menggunakan komponen

Langkah – langkah dalam pembuatannya relatif rumit

• Desain Database / ERD (CDM/PDM)

Poin ini sesuai dengan modul 5. Dalam poin ini, digunakan konsep-

konsep pembuatan desain database dengan menggunakan PowerDesigner

untuk pembuatan CDM, serta Visio untuk pembuatan ERD. Pada pembuatan

desain database , pembuatan ERD didahulukan kemudian CDM dan PDM.

ERD melukiskan atribut-atribut dari sebuah tabel, serta relasi antar

tabel. Sedangkan CDM dapat lebih detail daripada ERD karena tipe data dari

field atau atribut sudah ditentukan, serta kardinalitas dari relasi lebih jelas

daripada ERD.

Page 15: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 15/30

BAB IIIDESAIN APLIKASI

• Asumsi Sistem Informasi

• Mengenai program

o Tabel program berisi macam2 program yang ditawarkan, contoh :

intensif unas SMP 2007 dibuat 1 id

intensif spmb 2007 dibuat 1 id

o Mata pelajaran yang diujikan didaftarkan, satu program dapat

memiliki banyak mata pelajaran yang diajarkan.

• Mengenai hari belajar

o Jadwal mengajar tentor ada 2 macam, jadwal tahunan dan jadwal

harian.

o Jadwal tahunan merupakan jadwal hari pasti tentor mengajar

untuk 1 program dalam 1 tahun ajaran.

o Jadwal tahunan memiliki id yang merupakan kombinasi antaraid_registrasi, id_pegawai, dan id_program.

o Jadwal harian mencatat pertemuan dari tiap pertemuan kelas

(melihat jadwal tahunan), terdiri dari hari dan jam pertemuan.

o Paket belajar siswa tidak ditampilkan secara implisit, namun dapat

dilihat dari tabel penjadwalan.

• Mengenai siswa, registrasi & program

o Satu siswa dapat mempunyai banyak id registrasi.

o Satu registrasi dibuat pada saat pengambilan program untuk satu

tahun ajaran tertentu.

• Mengenai biaya bimbingan

o Tipe pembayaran dari registrasi dapat berupa tunai maupun

cicilan.

o Banyaknya cicilan dapat dilihat pada tabel pembayaran_les.

Page 16: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 16/30

o Tidak ada sistem bunga.

• Mengenai tentor, dan pegawai

o Seorang pegawai dapat berupa TU, tentor, maupun pegawai

lainnya.o Kepegawaian hanya sebatas membedakan jabatan.

o Satu tentor dapat mengajar lebih dari satu mata pelajaran.

• Mengenai kelas, ruang kelas & jadwal belajar

o Dapat dilihat pada tabel kelas.

o Tabel kelas terhubung dengan tabe penjadwalan, sehingga dapat

mencatat sesi pertemuan dari suatu program.

• Mengenai presensi

o Kehadiran siswa dicatat pada tabel presensi_siswa.

o Kehadiran pegawai dicatat pada tabel presensi_pegawai.

• Mengenai alumni

o Kelulusan siswa dapat dilihat pada tabel lulus.o Kelulusan dapat berisi pada pilihan ke berapakah dia diterima di

sekolah tujuan.

Page 17: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 17/30

• Desain CDM

menjabat

dilayani

dibayar_dengan

masukles

detil_try_out

membayar 

nilai_peserta

bertempat

hadir 

nilai_pelajaran

siswanya

tentornya

diajar 

keahliannya

lulusan

detil_mp_program

nilai_try_out

dimiliki

pendaftar 

pilih_program

untuk

mencatat

pegawai

peg_id

peg_nama

peg_jenis_kelamin

peg_alamat

peg_telp

peg_email

peg_tgl_mulai_bekerja

peg_password

< p i > A8

VA50

 A1

VA100

VA15

VA25

D

VA25

<M>

peg_id <pi>

siswa

siswa_id

siswa_nama

siswa_jeis_kelamin

siswa_alamat

siswa_telp

siswa_email

siswa_tgl_mulai_masuk

siswa_password

< p i > A8

VA50

 A1

VA100

VA15

VA25

D

VA25

<M>

siswa_id <pi>kategori_pegawai

kp_id

kp_nama

kp_gaji

< p i > A3

VA25

N8,2

<M>

kp_id <pi>

registrasi

reg_id

reg_tgl

reg_thn_ajaran

reg_sekolah_asal

<pi> A10

D

VA10

VA20

<M>

reg_id <pi>

program

prog_id

prog_nama

prog_biaya

prog_lama_bulan

< p i > A3

VA25

N8,2

I

<M>

prog_id <pi>

penjadwalan

 jdw_id

 jdw_tgl

 jdw_jam_mulai

 jdw_jam_selesai

< p i > A2 0

D

I

I

<M>

  jdw_id <pi>

kelas

kelas_id

kelas_ruang

kelas_kapasitas_max

<pi>

<pi>

 A5

 A5

I

<M>

<M>

kelas_id <pi>

pembayaran_les

bayar_nama

bayar_jumlah

<pi> VA10

I

<M>

bayar_nama <pi>

mata_pelajaran

mp_id

mp_nama

< p i > A3

VA25

<M>

m p _ i d < p i >

presensi_siswa

pre_keterangan VA10

try_out

id_try_out

tgl_try_out

biaya_try_out

pendapatan_try_out

tempat_keg_try_out

<pi> A20

D

N8,2

N8,2

VA20

<M>

id_keg <pi>

detail_pembayaran

pembayaran_ke

tgl_pembayaran

besar_pembayaran

I

D

N8,2

Identifier_1 <ai1>

nilai_siswa

n i l a i I

history

id_history

 jurusan

universitas

<pi> A20

VA30

VA40

<M>

id_history <pi>

tentor_mp

i d _ tm p < p i> A2 0 < M >

id_tmp <pi>

Page 18: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 18/30

• Desain PDM

Page 19: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 19/30

FK_PEGAWAI_MENJABAT_KATEGORI

FK_REGISTRA_DILAYANI_PEGAWAI

FK_REGISTRA_DIBAYAR_D_PEMBAYAR

FK_PRESENSI_MASUKLES_REGISTRA

FK_DETIL_TR_DETIL_TRY_TRY_OUT

FK_DETIL_TR_DETIL_TRY_PEGAWAI

FK_DETAIL_P_MEMBAYAR_REGISTRA

FK_NILAI_ SI_NILAI_PES_REGISTRA

FK_PENJADWA_BERTEMPAT_KELAS

FK_PRESENSI_HADIR_PENJADWA

FK_NILAI_SI_NILAI_PEL_MATA_PEL

FK_SISWANYA_SISWANYA_PENJADWA

FK_SISWANYA_SISWANYA2_REGISTRA

FK_TENTOR_M_TENTORNYA_PEGAWAI

FK_PENJADWA_DIAJAR_TENTOR_M

FK_TENTOR_M_KEAHLIANN_MATA_PEL

FK_HISTORY_LULUSAN_REGISTRA

FK_DETIL_MP_DETIL_MP__PROGRAM

FK_DETIL_MP_DETIL_MP__MATA_PEL

FK_NILAI_SI_NILAI_TRY_TRY_OUT

FK_TRY_OUT_DIMILIKI_PROGRAM

FK_REGISTRA_PENDAFTAR_SISWA

FK_REGISTRA_PILIH _PRO_PROGRAM

FK_PENJADWA_UNTUK_PROGRAM

FK_DETAIL_P_MENCATAT_PEGAWAI

pegawai

peg_id

kp_id

peg_nama

peg_jenis_kelamin

peg_alamat

peg_telp

peg_email

peg_tgl_mulai_bekerja

peg_password

char(8)

char(3)

varchar(50)

char(1)

varchar(100)

varchar(15)

varchar(25)

date

varchar(25)

<pk>

<fk>

siswa

siswa_id

siswa_nama

siswa_jeis_kelamin

siswa_alamat

siswa_telp

siswa_email

siswa_tgl_mulai_masuk

siswa_password

char(8)

varchar(50)

char(1)

varchar(100)

varchar(15)

varchar(25)

date

varchar(25)

<pk>

kategori_pegawai

kp_id

kp_nama

kp_gaji

char(3)

varchar(25)

numeric(8,2)

<pk>

registrasi

reg_id

peg_id

siswa_id

bayar_nama

prog_id

reg_tgl

reg_thn_ajaran

reg_sekolah_asal

char(10)

char(8)

char(8)

varchar(10)

char(3)

date

varchar(10)

varchar(20)

<pk>

<fk1>

<fk3>

<fk2>

<fk4>

program

prog_id

prog_nama

prog_biaya

prog_lama_bulan

char(3)

varchar(25)

numeric(8,2)

integer 

<pk>

penjadwalan

 jdw_id

kelas_id

kelas_ruang

prog_id

id_tmp

 jdw_tgl

 jdw_jam_mulai

 jdw_jam_selesai

char(20)

char(5)

char(5)

char(3)

char(20)

date

integer 

integer 

<pk>

<fk1>

<fk1>

<fk3>

<fk2>

kelas

kelas_id

kelas_ruang

kelas_kapasitas_max

char(5)

char(5)

integer 

<pk>

<pk>

pembayaran_les

bayar_nama

bayar_jumlah

varchar(10)

integer 

<pk>

mata_pelajaran

mp_id

mp_nama

char(3)

varchar(25)

<pk>

presensi_siswa

reg_id

 jdw_id

pre_keterangan

char(10)

char(20)

varchar(10)

<pk,fk1>

<pk,fk2>

try_out

id_try_outprog_id

tgl_try_out

biaya_try_out

pendapatan_try_out

tempat_keg_try_out

char(20)char(3)

date

numeric(8,2)

numeric(8,2)

varchar(20)

<pk><fk>

detail_pembayaran

reg_id

peg_id

pembayaran_ke

tgl_pembayaran

besar_pembayaran

char(10)

char(8)

integer 

date

numeric(8,2)

<fk1>

<fk2>

nilai_siswa

reg_id

mp_id

id_try_out

nilai

char(10)

char(3)

char(20)

integer 

<pk,fk1>

<pk,fk2>

<pk,fk3>

history

id_history

reg_id

 jurusan

universitas

char(20)

char(10)

varchar(30)

varchar(40)

<pk>

<fk>

tentor_mp

id_tmp

mp_id

peg_id

char(20)

char(3)

char(8)

<pk>

<fk2>

<fk1>

detil_try_out

id_try_out

peg_id

char(20)

char(8)

<pk,fk1>

<pk,fk2>

siswanya

 jdw_id

reg_id

char(20)

char(10)

<pk,fk1>

<pk,fk2>

detil_mp_program

prog_id

mp_id

char(3)

char(3)

<pk,fk1>

<pk,fk2>

Page 20: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 20/30

• Penjelasan Objek ( tabel )

• pembayaran_les

untuk jenis pembayaran les yang tersedia, bisa tunai atau cicilan yang

 jumlahnya ditentukan oleh LBB.• detail_pembayaran

mencatat detail pembayaran untuk jenis pembayaran yang cicilan.

• pegawai

mencatat detail pegawai yang bekerja di LBB.

• kategori_pegawai

menyimpan kategori pegawai yang tersedia di LBB.

• presensi_pegawai

mencatat presensi pegawai.

• kelas

menyimpan daftar kelas yang digunakan untuk les.

• lulusan

mencatat daftar siswa lulus ke sekolah mana, dan di pilihan ke

berapa.

• mata_pelajaran

menyimpan nama mata pelajaran yang diajarkan di LBB.

• siswa

mencatat nama siswa yang terdaftar di LBB.

• presensi_siswa

mencatat presensi siswa.

• nilai_siswa

menyimpan nilai siswa tiap try out.

•pembagian_jadwal

menyimpan jadwal les yang tersedia untuk satu tahun ajaran.

• penjadwalan

untuk jadwal les harian.

• program

menyimpan program les yang tersedia di LBB.

• registrasi

mencatat pendaftaran siswa.

• sekolah

Page 21: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 21/30

menyimpan daftar nama sekolah.

• try_out

mencatat pelaksanaan try out

• Report dan Query

Report yang dapat dibuat dari Sistem Informasi ini :

1. Report nilai try out dari program pada tahun ajaran tertentu.

Penjelasan singkat query :

o Meng-query siswa-siswa yang mengambil program tertentu.

o Berdasarkan program tertentu, didapatkan registrasi id yang

kemudian ditampilkan nama tryout tersebut.

o Ditampilkan pula grafik perkembangan nilai try out.

2. Report jumlah siswa per program

Penjelasan singkat query :

o Meng-query siswa-siswa yang mengambil program tertentu.

o Berdasarkan registrasi tersebut, ditampilkan presensi dengan

menghubungkan tabel jadwal dan penjadwalan.

3. Report tingkat kelulusan siswa ke sekolah-sekolah favorit.

Penjelasan singkat query :

o Meng-query siswa-siswa yang mengambil program tertentu.

o Berdasarkan registrasi id tersebut ditampilkan nama-nama siswa

yang diterima di sekolah favorit yang ditentukan oleh pegawai.

o Ditampilkan grafis tingkat kelulusan per program per periode, serta

ditampilkan 5 sekolah / universitas favorit yang paling banyak.

4. Report siswa yang belum melunasi biaya program.

Penjelasan singkat query :

o Meng-query siswa-siswa yang mengambil program tertentu.

oBerdasarkan registrasi id tersebut dicocokkan jumlah angsuran yang

telah dibayar dengan banyaknya pembayaran.

o Ditampilkan grafis tingkat kelulusan per program per periode, serta

ditampilkan 5 sekolah / universitas favorit yang paling banyak.

Page 22: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 22/30

• Skenario Aplikasi

login

not login- Lihat profil LLC

- Lihat alumni- Lihat jadwal per program

Pegawai

Siswa

- Layani pembayaran- Urusi registrasi

- Lihat data-data siswa- Update data alumni

- Entri nilai try out

- Lihat jadwal- Sisa pembayaran

- Edit profil- Lihat nilai try out

- Lihat alumni

• Keunggulan Aplikasi

- Tampilan menarik (skin bisa diganti)

- Enkripsi password

- Foto per siswa

Page 23: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 23/30

BAB IV

DOKUMENTASI

• Screenshot form awal aplikasi LLC

Merupakan form awal dari aplikasi. Di sini terdapat dapat melihat jadwal program,

serta login untuk ke panel user .

Login : untuk masuk bisa sebagai pegawai atau admin dan siswa

Lihat Report : untuk melihat report-report yang ada

Filter : digunakan untuk memunculkan pencarian pada menu lulusan, penjadwalan,

dan hasil try out

Lulusan : menampilkan history siswa

Penjadwalan : menampilkan jadwal

Hasil Try Out : menmapilkan nilai try out siswa

Page 24: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 24/30

o Melakukan login, kemudian gagal

methodnyaprivate bool cekLogin(string id, string pass)

{  koneksi conn = new koneksi();  bool hasil = false;  if (conn.Open())

{  string sql = "";  if (rbPegawai.Checked) sql = "select peg_id,

peg_password from pegawai";  else sql = "select r.reg_id, s.siswa_password fromregistrasi r, siswa s where s.siswa_id = r.siswa_id";  OracleDataReader dataReader =conn.ExecuteReader(sql);  while (dataReader.Read())

{  if (dataReader[0].ToString().Equals(id) &&dataReader[1].ToString().Equals(ngisi.enkripPassword(pass)))

{hasil = true;

  break;

}

}dataReader.Close();conn.Close();

}  return hasil;

}

o Melakukan login, lalu berhasil

Page 25: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 25/30

• Screenshot form pegawai administrasi LLC

Di sini dapat melakukan pencarian, penambahan, serta pengubahan data-data

 pegawai, dan siswa LLC.

Tambah Pegawai : digunakan untuk menambah pegawai(admin,tentor dll)

Edit Profil : digunakan untuk mengubah profil

Ganti Foto : digunakan untuk mengubah foto

Data Siswa terdiri dari data pembayaran dan data try out

Data LLC : untuk mengubah atau menambahkan data pada tabel Program, Mata

Pelajaran dll

Page 26: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 26/30

Tutup : untuk keluar 

Cari : untuk mencari user dengan tipe pencarian id pegawai, kategori pegawai, nama

• Screenshot form Try out

Jadwal Try out : digunakan untuk menambah jadwal try out

 Nilai Try out : digunakan untuk mengisi atau mengupdate nilai try out

• Screenshot laporan kelulusan siswa

Untuk menampilkan history siswa.

Menampilkan tingkat kelulusan ke universitas favorit

Page 27: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 27/30

Query untuk menampilkan report :

select s.siswa_id,p.prog_nama,s.siswa_nama, h.universitas,r.reg_thn_ajaran, x.jml

from (select t.universitas as univ, t.jml

from (select universitas, count(*) jml

from history

group by universitas

order by count(*) desc) t

where rownum < 6) x, registrasi r, history h, siswa s,program p

where h.universitas = x.univ and r.reg_id = h.reg_id and r.siswa_id = s.siswa_id and

r.prog_id = p.prog_id

• Screenshot laporan jumlah peserta program

Untuk menampilkan jumlah peserta per program

Query :

select r.prog_id,p.prog_nama,r.reg_thn_ajaran,count(r.prog_id)

from registrasi r,program p

where p.prog_id = r.prog_id

group by r.prog_id,p.prog_nama,r.reg_thn_ajaran

Page 28: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 28/30

• Screenshot laporan try out per program

Untuk menampilkan nilai siswa tiap program dan tiap tahun ajaran

Chart digunakan untuk melihat perkembangan rata-rata nilai tiap tahun ajaran

Query :

SELECT DISTINCT R.REG_THN_AJARAN,NS.ID_TRY_OUT,S.SISWA_ID, NS.REG_ID,S.SISWA_NAMA NAMA

,N1.NILAI AS "bahasa inggris" ,N2.NILAI AS "bahasa indonesia" ,N3.NILAI AS "biologi" ,N4.NILAI AS "fisika"

,N5.NILAI AS "kimia" ,N6.NILAI AS "matematika" FROM NILAI_SISWA NS, REGISTRASI R, SISWA S ,(SELECT *

FROM NILAI_SISWA WHERE MP_ID='BIG') N1 ,(SELECT * FROM NILAI_SISWA WHERE MP_ID='BIN') N2 ,

(SELECT * FROM NILAI_SISWA WHERE MP_ID='BIO') N3 ,(SELECT * FROM NILAI_SISWA WHERE MP_ID='FIS')

 N4 ,(SELECT * FROM NILAI_SISWA WHERE MP_ID='KIM') N5 ,(SELECT * FROM NILAI_SISWA WHERE

MP_ID='MAT') N6 WHERE NS.REG_ID=R.REG_ID AND S.SISWA_ID=R.SISWA_ID AND NS.REG_ID=N1.REG_ID

AND NS.REG_ID=N2.REG_ID AND NS.REG_ID=N3.REG_ID AND NS.REG_ID=N4.REG_ID AND

 NS.REG_ID=N5.REG_ID AND NS.REG_ID=N6.REG_ID AND N1.ID_TRY_OUT=NS.ID_TRY_OUT AND

 N2.ID_TRY_OUT=NS.ID_TRY_OUT AND N3.ID_TRY_OUT=NS.ID_TRY_OUT AND

 N4.ID_TRY_OUT=NS.ID_TRY_OUT AND N5.ID_TRY_OUT=NS.ID_TRY_OUT AND

 N6.ID_TRY_OUT=NS.ID_TRY_OUT AND R.PROG_ID='IA1' ORDER BY S.SISWA_ID

Page 29: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 29/30

BAB V JADWAL PENGERJAANDAN PEMBAGIAN TUGAS

A. Jadwal pengerjaan aplikasi

B. Pembagian Tugas

Pembagian tugas coding dan pembuatan report :

David Agustinus Wijaya :

Membuat Menu Tentor (manambahkan data tentor, edit data tentor, delete

data tentor), membuat report(melihat data tentor).

Nurhidayat A :

Membuat Menu try out(menentukan jadwal try out, mengisikan nilai try out,

menentukan mata pelajaran yang di try out kan) membuat report (melihat

nilai try out dari siswa).

Ibnu Febry K.:

Membuat Menu Registrasi (menambahkan data siswa, memilih prorgram,

memilih jadwal siswa, menentukan biaya program) membuat report(melihat

data registrasi siswa)

Fitra Raditya S. :

Membuat Menu Jadwal (menentukan jadwal kursus dari tiap program, )

membuat report(report angsuran dari siswa).

JADWAL22 s/d

25 Mei

26 s/d

31 Mei

1 s/d 8

Juni

9 s/d 14

Juni

16 s/d 21

Juni22 s/d 24 Juni

Mengerjakan Proposal

Mengentrikan data, buat prototype form, buat beberapa

report untuk demo progress keasisten

Membuat aplikasi(system dandesign)

Testing, dokumentasi danfinishing

Page 30: Lapres Final Project

5/13/2018 Lapres Final Project - slidepdf.com

http://slidepdf.com/reader/full/lapres-final-project 30/30