lapres final project
TRANSCRIPT
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
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.
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
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;
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();
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 :
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>)
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
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
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>
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;
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
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
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.
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.
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.
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>
5/13/2018 Lapres Final Project - slidepdf.com
http://slidepdf.com/reader/full/lapres-final-project 18/30
• Desain PDM
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>
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
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.
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
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
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
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
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
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
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
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
5/13/2018 Lapres Final Project - slidepdf.com
http://slidepdf.com/reader/full/lapres-final-project 30/30