a.n. MENTERI HUKUM DAN HAK ASASI MANUSIA DIREKTUR JENDERAL KEKAYAAN INTELEKTUAL
Dr. Freddy Harris, S.H., LL.M., ACCS. NIP. 196611181994031001 REPUBLIK INDONESIA
KEMENTERIAN HUKUM DAN HAK ASASI MANUSIA
SURAT PENCATATAN
CIPTAAN
Dalam rangka pelindungan ciptaan di bidang ilmu pengetahuan, seni dan sastra berdasarkan Undang-Undang Nomor 28 Tahun 2014 tentang Hak Cipta, dengan ini menerangkan:
Nomor dan tanggal permohonan : EC00202004125, 30 Januari 2020 Pencipta
Nama : Ricki Sastra,Rachmat Suryadithia dkk
Alamat : Jl.Kalibata Timur 1 No.44.Pancoran Jakarta Selatan , Jakarta Selatan, Dki Jakarta, 12740
Kewarganegaraan : Indonesia
Pemegang Hak Cipta
Nama : Ricki Sastra,Rachmat Suryadithia dkk
Alamat : JL.Kalibata Timur 1 No.44 Pancoran Jakarta Selatan, Jakarta Selatan, Dki Jakarta, 12740
Kewarganegaraan : Indonesia
Jenis Ciptaan : Program Komputer
Judul Ciptaan : Aplikasi Administrator Sistem Perpustakaan ( ADSPER) Tanggal dan tempat diumumkan untuk pertama kali di
wilayah Indonesia atau di luar wilayah Indonesia : 29 Januari 2020, di DKI JAKARTA
Jangka waktu pelindungan : Berlaku selama 50 (lima puluh) tahun sejak Ciptaan tersebut pertama kali dilakukan Pengumuman.
Nomor pencatatan : 000177520
adalah benar berdasarkan keterangan yang diberikan oleh Pemohon.
LAMPIRAN PENCIPTA
No Nama Alamat
1 Ricki Sastra Jl.Kalibata Timur 1 No.44.Pancoran Jakarta Selatan
2 Rachmat Suryadithia Komplek Mabad No.30 ,Rt/Rw 002/006 Kel.Sukabumi Utara Kec. Kebon Jeruk, JakartaBarat 3 Suryanto JL. Damai V Rt.03 Rw.02 No. 37 Kel.Kampung Tengah Kramat Jati
4 Amin Nur Rais Jl. Taman Pendidikan RT.02/ RW.01 Ds.Lebeteng Kec.Tarub, Kab. Tegal
5 Yumi Novita Dewi Asrama TNI, Bataliyon Arhanud VI. Jln Lagoa Kanal Rt/Rw 006/015 Kebon Bawang Tj.Priok 6 Muhammad Faisal Kp.Sumur No.144 RT15/17
7 Muhammad Darussalam Kp.Tegal Rotan, Rt/Rw 004/008 ,Sawah Baru, Ciputat 8 Instianti Elyana Jl.Mawar No.9 Tanjung Barat Jagakarsa Jakarta Selatan LAMPIRAN PEMEGANG
No Nama Alamat
1 Ricki Sastra JL.Kalibata Timur 1 No.44 Pancoran Jakarta Selatan
2 Rachmat Suryadithia Komplek Mabad No.30 ,Rt/Rw 002/006 Kel.Sukabumi Utara Kec. Kebon Jeruk, JakartaBarat 3 Suryanto JL. Damai V Rt.03 Rw.02 No. 37 Kel.Kampung Tengah Kramat Jati
4 Amin Nur Rais Jl. Taman Pendidikan RT.02/ RW.01 Ds.Lebeteng Kec.Tarub, Kab. Tegal
5 Yumi Novita Dewi Asrama TNI, Bataliyon Arhanud VI. Jln Lagoa Kanal Rt/Rw 006/015 Kebon Bawang Tj.Priok 6 Muhammad Faisal Kp.Sumur No.144 RT15/17
7 Muhammad Darussalam Kp.Tegal Rotan, Rt/Rw 004/008 ,Sawah Baru, Ciputat
8 Instianti Elyana Jl.Mawar No. 9 RT03/RW04 Tanjung Barat Jagakarsa Jakarta Selatan
1
JAKARTA
2020
2
Daftar Isi
Halaman Sampul……….1
Daftar Isi
………..2
1.Pro
sedur Penggunaan Aplikasi ……….3
2.Melakukan Login Pada Form Login
……….4
3.Tampilan Menu Utama
………...……… 5
4.Menu Registrasi
………..……… 6
5.Menu Peminjaman………..………..7
6.Menu Pengembalian
………..8
7.Menu Database Viewer….………...9
3
Prosedur Penggunaan Aplikasi Administrator Sistem Perpustakaan
Aplikasi Adminstrator Sistem Perpustakaan (ADSPER) merupakan aplikasi yang
diciptakan untuk memberikan kemudahan pihak Perpustakaan dalam mengelola sistem
perpustakaan dari proses kelola data anggota dan proses peminjaman pengembalian buku.
Proses Penggunakan Aplikasi diatur oleh administrator Aplikasi . User Admin dapat
masuk kedalam aplikasi dengan langkah berikut ini;
1.User login Pada form login dengan user dan password.
2.Menu Utama Aplikasi akan ditampilkan ketika user dan password Valid.
3.User dapat menggunakan menu yang ada di Aplikasi
4. User dapat input data baru atau Registrasi
5. User dapat input data peminjaman dan pengembalian serta melihat semua data
6. Tombol Exit digunakan user untuk keluar dari Aplikasi .
Adapun cara penggunaan Aplikasi Administrator Sistem Perpustakaan ( Adsper ) dijelaskan
pada langkah-langkah berikut ini;
4
Halaman Login User
1.Halaman Ini adalah halaman login Aplikasi ,untuk dapat masuk ke menu utama Aplikasi user
harus Login dengan kode user dan password yang valid . Setelah itu tekan tombol Login. Jika
sudah benar atau Valid maka user akan masuk kehalaman Menu Utama Aplikasi.
5
Menu Utama Aplikasi
2.Halaman Menu Utama Aplikasi ini akan ditampilkan jika user berhasil Login. Ada beberapa
Menu Yang bisa diakses Registrasi ,Peminjaman ,Pengembalian , Data View, dan Exit .
6
Menu Registrasi
3. Menu Registrasi digunakan sebagai Formulir pendaftaran. User atau petugas dapat input data
berdasarkan tanda pengenal calon anggota perpustakaan. Data yang diinput yaitu Jenis Identitas,No
Identitas, Nama Lengkap,Tanggal Lahir ,Jenis Kelamin, No.Tlp dan Alamat Email. Terdapat 3 tombol yang
digunakan untuk cek apakah data sudah ada lalu tombol simpan dan tombol kembali ke menu utama .
7
Menu Peminjaman
4.Menu Peminjaman Buku digunakan untuk input data peminjaman dimana peminjam sudah menjadi
anggota . user petugas akan cek data member dan pilih buku yang dipinjam. Terdapat dua Tombol yaitu
save untuk menyimpan data dan batal untuk membatalkan proses peminjaman.
8
Menu Pengembalian
5.Menu Pengembalian Buku digunakan untuk input data pengembalian buku user Petugas dapat cek
data berdasarkan nomor peminjaman dan pemilihan waktu pengambalian. Terdapat dua Tombol yaitu
simpan untuk menyimpan data dan kembali untuk menuju menu utama kembali.
9
Menu Database Viewer
6. Menu Database Viewer digunakan mengecek data admin atau user ,cek data penguji dan terdapat
tombol keluar dari data yang ditampilkan serta tombol kembali digunakan untuk menuju ke menu
utama kembali.
10
Source Code
“ Aplikasi Administrator Sistem Perpustakaan (Asper)”
1.Source Code Form Login
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace database {
public partial class Login : Form {
public static string LabelTOText;
private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams {
get {
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } } public Login() { InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; }
11
private void userBox_TextChanged(object sender, EventArgs e) {
this.AcceptButton = LoginBtn; }
private void passBox_TextChanged(object sender, EventArgs e) {
this.AcceptButton = LoginBtn; }
private void LoginBtn_Click(object sender, EventArgs e) {
SqlConnection connection = new SqlConnection (@"Data Source = (LocalDB)\MSSQLLocalDB;
AttachDbFilename = |DataDirectory|\Database.mdf; Integrated Security = True");
connection.Open();
string strQuery = ("SELECT Username, Password FROM [Login] WHERE (Username=@username) AND (Password=@password)");
SqlCommand command = new SqlCommand(strQuery, connection); SqlDataReader reader;
command.Parameters.AddWithValue("@username", userBox.Text); command.Parameters.AddWithValue("@password", passBox.Text); reader = command.ExecuteReader();
if (reader.HasRows == true) {
MessageBox.Show("Logged In Sebagai : " + userBox.Text, "Login Success .", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
LabelTOText = userBox.Text; MainMenu menu = new MainMenu(); menu.Show();
this.Hide(); }
else {
MessageBox.Show("Username atau Password Yang Anda Masukkan Salah", "Login Gagal", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
connection.Close(); }
private void ExitBtn_Click(object sender, EventArgs e) {
DialogResult result = MessageBox.Show("Keluar Dari Program ?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
12
{ Application.Exit(); } } } }2.source code Form Menu Utama
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace database {
public partial class MainMenu : Form {
private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams {
get {
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } } public MainMenu() { InitializeComponent();
userLabel.Text = Login.LabelTOText;
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; }
private void registerBtn_Click(object sender, EventArgs e) {
this.Hide();
Registrasi regist = new Registrasi(); regist.Show();
}
private void pinjamBtn_Click(object sender, EventArgs e) {
13
this.Hide();
Peminjaman pinjam = new Peminjaman(); pinjam.Show();
}
private void kembaliBtn_Click(object sender, EventArgs e) {
this.Hide();
Pengembalian kembali = new Pengembalian(); kembali.Show();
}
private void historyBtn_Click(object sender, EventArgs e) {
this.Hide();
ViewData history = new ViewData(); history.Show();
}
private void exitBtn_Click(object sender, EventArgs e) {
DialogResult result = MessageBox.Show("Keluar Dari Program ?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes) { Application.Exit(); } } } }
3.Source Code Form Registrasi
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; using System.Text.RegularExpressions; namespace database {
public partial class Registrasi : Form {
private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams
14
{ get {
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } } public Registrasi() { InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; userLabel.Text = Login.LabelTOText;
}
private void saveBtn_Click(object sender, EventArgs e) {
string Id = @"^[\d]{1,16}$";
string Nama = @"^[A-Za-z ]{1,25}$"; string No1 = @"^[\d]{3,4}$";
string No2 = @"^[\d]{7,11}$";
string Email = @"^[\w_.]+@[a-zA-Z_.]+?\.[a-zA-Z]{2,3}"; bool ValidId = Regex.IsMatch(idBox.Text, Id);
bool ValidNama = Regex.IsMatch(namaBox.Text, Nama); bool ValidNo1 = Regex.IsMatch(noBox1.Text, No1); bool ValidNo2 = Regex.IsMatch(noBox2.Text, No2); bool ValidEmail = Regex.IsMatch(emailBox.Text, Email); if (!ValidId)
{
MessageBox.Show("Harap Masukkan ID Yang Benar (Hanya Angka)", "Registrasi - ID", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
if (!ValidNama) {
MessageBox.Show("Harap Masukkan Nama Yang Benar (Alphabetical)", "Registrasi - Nama", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
if (!ValidNo1) {
MessageBox.Show("Harap Masukkan Kode Telp Yang Benar (Contoh. 021 / 0811)", "Registrasi - Kode Telp.", MessageBoxButtons.OK, MessageBoxIcon.Asterisk); }
if (!ValidNo2) {
MessageBox.Show("Harap Masukkan Nomor Telp Yang Benar (Tanpa Kode Telp)", "Registrasi - No. Telp", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
15
if (!ValidEmail) {
MessageBox.Show("Harap Masukkan Email Yang Benar", "Registrasi - Email", MessageBoxButtons.OK, MessageBoxIcon.Asterisk);
}
if ((ValidId) && (ValidNama) && (ValidNo1) && (ValidNo2) && (ValidEmail)) {
string StrQuery = "INSERT INTO Daftar (JenisID, NoId, Nama, DOB, Gender, Handphone, Email, RegistBy) " +
"VALUES (@jenis_id, @no_id, @nama_lengkap, @tanggal_lahir, @jenis_kelamin, @no_handphone, @alamat_email, @registrasi_by)";
using (SqlConnection connection = new SqlConnection (@"Data Source = (LocalDB)\MSSQLLocalDB;
AttachDbFilename = |DataDirectory|\Database.mdf; Integrated Security = True"))
{
connection.Open();
using (SqlCommand cmd = new SqlCommand(StrQuery, connection)) {
cmd.Parameters.AddWithValue("@jenis_id", idComBox.SelectedItem); cmd.Parameters.AddWithValue("@no_id", idBox.Text);
cmd.Parameters.AddWithValue("@nama_lengkap", namaBox.Text); cmd.Parameters.AddWithValue("@tanggal_lahir",
dateTimePicker.Value.ToString("dd/MM/yyyy"));
cmd.Parameters.AddWithValue("@jenis_kelamin", jenisBox.SelectedItem);
cmd.Parameters.AddWithValue("@no_handphone", noBox1.Text + " - " + noBox2.Text);
cmd.Parameters.AddWithValue("@alamat_email", emailBox.Text); cmd.Parameters.AddWithValue("@registrasi_by", userLabel.Text); int i = cmd.ExecuteNonQuery();
if (i != 0) {
MessageBox.Show("Data Telah Tersimpan", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);
} else {
MessageBox.Show("Data Gagal Tersimpan", "Error", MessageBoxButtons.OK, MessageBoxIcon.Warning);
}
connection.Close(); }
}
idComBox.SelectedIndex = 0; idBox.Text = string.Empty;
16
namaBox.Text = string.Empty;
dateTimePicker.Value = DateTime.Now; jenisBox.SelectedIndex = 0;
noBox1.Text = string.Empty; noBox2.Text = string.Empty; emailBox.Text = string.Empty; }
}
private void exitBtn_Click(object sender, EventArgs e) {
DialogResult result = MessageBox.Show("Kembali Ke Menu Utama", "Exit Registrasi", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes) {
this.Hide();
MainMenu menu = new MainMenu(); menu.Show();
} }
private void chkBtn_Click(object sender, EventArgs e) {
SqlConnection connection = new SqlConnection (@"Data Source = (LocalDB)\MSSQLLocalDB;
AttachDbFilename = |DataDirectory|\Database.mdf; Integrated Security = True");
SqlDataReader reader; connection.Open();
SqlCommand command = new SqlCommand("SELECT * FROM [Daftar] WHERE ([JenisID] = @jenis_id) OR ([NoID] = @noid)", connection);
command.Parameters.AddWithValue("@jenis_id", jenisBox.Text); command.Parameters.AddWithValue("@noid", idBox.Text);
reader = command.ExecuteReader(); if (reader.HasRows == true) {
MessageBox.Show("Duplicate ID Data", "Registrasi", MessageBoxButtons.OK, MessageBoxIcon.Warning);
} else {
MessageBox.Show("ID Dapat Diinput", "Registrasi", MessageBoxButtons.OK, MessageBoxIcon.Information);
}
connection.Close(); }
17
} }
4.Source Code Form Peminjaman
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace database {
public partial class Peminjaman : Form {
private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams {
get {
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } } public Peminjaman() { InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; }
private void button2_Click(object sender, EventArgs e) {
DialogResult result = MessageBox.Show("Kembali Ke Menu Utama", "Exit Peminjaman", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes) {
this.Hide();
MainMenu menu = new MainMenu(); menu.Show();
} } } }
18
5.Source Code Form Pengembalian
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace database {
public partial class Pengembalian : Form {
private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams {
get {
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } } public Pengembalian() { InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; }
private void backBox_Click(object sender, EventArgs e) {
DialogResult result = MessageBox.Show("Kembali Ke Menu Utama", "Exit Pengembalian", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes) {
this.Hide();
MainMenu menu = new MainMenu(); menu.Show();
} }
} }
19
6.Source Code Form Database Viewer
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.Data.SqlClient; namespace database {
public partial class ViewData : Form {
private const int CP_NOCLOSE_BUTTON = 0x200; protected override CreateParams CreateParams {
get {
CreateParams myCp = base.CreateParams;
myCp.ClassStyle = myCp.ClassStyle | CP_NOCLOSE_BUTTON; return myCp; } } public ViewData() { InitializeComponent();
this.FormBorderStyle = System.Windows.Forms.FormBorderStyle.FixedSingle; }
private void loadAdmBtn_Click(object sender, EventArgs e) {
SqlConnection connection = new SqlConnection (@"Data Source = (LocalDB)\MSSQLLocalDB;
AttachDbFilename = |DataDirectory|\Database.mdf; Integrated Security = True");
SqlCommand command = new SqlCommand("SELECT * FROM [Login] WHERE (usename=@username)", connection);
DataSet data = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(command); sda.Fill(data);
dataRegGridView.DataSource = data;
dataRegGridView.DataMember = data.Tables[0].ToString(); dataRegGridView.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
dataRegGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; }
20
private void loadRegBtn_Click(object sender, EventArgs e) {
SqlConnection connection = new SqlConnection (@"Data Source = (LocalDB)\MSSQLLocalDB;
AttachDbFilename = |DataDirectory|\Database.mdf; Integrated Security = True");
SqlCommand command = new SqlCommand("SELECT * FROM [Daftar]", connection); DataSet data = new DataSet();
SqlDataAdapter sda = new SqlDataAdapter(command); sda.Fill(data);
dataRegGridView.DataSource = data;
dataRegGridView.DataMember = data.Tables[0].ToString(); dataRegGridView.AutoSizeColumnsMode =
DataGridViewAutoSizeColumnsMode.AllCells;
dataRegGridView.AutoSizeRowsMode = DataGridViewAutoSizeRowsMode.AllCells; }
private void clrBtn_Click(object sender, EventArgs e) {
dataRegGridView.DataSource = null; }
private void backBox_Click(object sender, EventArgs e) {
DialogResult result = MessageBox.Show("Kembali Ke Menu Utama", "Keluar Menu History", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
if (result == DialogResult.Yes) {
this.Hide();
MainMenu menu = new MainMenu(); menu.Show();
} }
private void ViewData_Load(object sender, EventArgs e) {
} } }