Analisis dan Perancangan Sistem

BADAN ARSIP DAN PERPUSTAKAAN PROVINSI JAWA TENGAH

A . LATAR BELAKANG.

Ilmu pengetahuan dan teknologi mengalami perkembangan secara dinamis salah satu hasil perkembangan teknologi adalah komputer sebagai alat bantu manusia yang memiliki kelebihan diantaranya kecepatan, keakuratan serta efisiensi pengolahan data dibandingkan dengan sistem manual.

Sistem informasi sirkulasi perpustakaan merupakan sistem yang sangat vital, karena digunakan untuk pemecahan masalah, penyediaan informasi, pelayanan informasi, serta pemantauan terhadap arus pustaka yang masuk maupun keluar sehingga sirkulasi pustaka yang ada dapat berjalan dengan lancar dan terkontrol. Sistem informasi sirkulasi perpustakaan diartikan sebagai sistem pengolahan data yang meliputi pengumpulan data, manipulasi data dan persiapan dokumen untuk pengambilan keputusan.

B . RUMUSAN MASALAH.

Pada sistem informasi perpustakaan daerah semarang telah menggunakan sistem komputerisasi.sehingga dengan adanya sistem sirkulasi yang terkomputerisasi dapat mengontrol arus sirkulasi pustaka akan lebih efektif dan efisien. Disamping itu juga mampu menunjang evaluasi analisis untuk proses pengambilan keputusan serta agar dihasilkan informasi yang tepat, akurat, jelas lengkap, dan relevan.

C . BATASAN MASALAH.

Mengingat banyaknya permasalahan yang timbul pada sistem informasi sirkulasi perpustakaan, maka dibatasi pada pokok permasalahan yang ada yaitu meliputi laporan anggota, buku, peminjaman dan pengembalian. Dengan permasalahan yang ada maka diharapkan dapat dibuat suatu sistem yang sesuai dengan batasan pengolahan data perpustakaan.

D . NARASI / URAIAN.

1 . Prosedur Perpustakan daerah semarang.

· Menjadi anggota.

Calon anggota datang ke perpustakaan, bertemu dengan pustakawan. Calon anggota disuruh mengisi formulir pendaftaran dan melakukan pembayaran pendaftaran. Formulir dari calon anggota diolah oleh pustakawan sehingga menghasilkan kartu angggota.

· Peminjaman dan Pengembalian buku.

Dalam perpustakaan proses peminjaman dan pengembalian buku telah ditentukan oleh peraturan yang ada. Dimana yang berhak meminjam dan mengembalikan buku adalah anggota atau peminjam itu sendiri dengan menunjukkan kartu anggota.

Proses peminjaman : tercatat sebagai anggota perpustakaan,saat peminjaman anggota menunjukan buku dan kartu anggota kepetugas untuk di catat sebagai peminjam buku.kemudian petugas mencatat sebagai laporan peminjaman buku untuk diolah menjadi nota peminjaman yang kemudian diberikan kepada peminjam, sehingga peminjam mengetahui tanggal pengembalian buku.

Proses pengembalian : Banyak masalah yang di hadapi dalam pengembalian buku yaitu buku terlambat dikembalikan,buku rusak saat di kembalikan,dan buku hilang.Dalam proses ini telah di tentukan /di berlakukan sanksi bagi peminjam itu sendiri.

2 . Masalah yang ada di perpustakaan.

Masalah yang sering dihadapi di perpustakaan, diantaranya:

Ø Peminjam terlambat mengembalikan buku.

Ø Peminjam menghilangkan buku.

Ø Peminjam pindah tempat dan datanya tidak dapat diketahui.

3 . Solusi / penyelesaian masalah.

Ø Peminjam terlambat mengembalikan buku.

Keterlambatan dalam pengembalian buku akan diberi denda, biasanyan denda dihitung perhari dan perbuku dengan jumlah sesuai dengan ketentuan.

Ø Peminjam menghilangkan buku.

Anggota yang telah menghilangkan buku harus mengganti dengan buku yang sama atau dengan buku lain.

Ø Peminjam pindah tempat dan datanya tidak dapat diketahui.

Anggota yang melakukan peminjaman buku,tetapi telah berpindah tempat tinggal.Petugas akan mengirim surat teguran kepada peminjam ke alamat yang sesuai dengan data. Apabila tidak ada tanggapan, maka petugas akan mendatanginya.

4 . PENUTUP.

Interface

Mendeklarasikan sebuah interface pada dasarnya mendeklarasikan sebuah class tetapi sebagai penggantinya menggunakan kata kunci class, kata kunci interface digunakan. Berikut syntaxnya.

::=

interface {

*

[ (*);]*

}

Anggotanya adalah public ketika interface dideklarasikan public.

Class mengimplementasikan sebuah interface yang telah ada dengan menggunakan kata kunci implements. Class ini dibuat untuk mengimplementasikan semua method interface. Sebuah class boleh mengimplementasikan lebih dari satu interface.


Contoh berikut menunjukkan bagaimana mendeklarasikan dan menggunakan sebuah interface.

interface MyInterface {

void iMethod();

}

class MyClass1 implements MyInterface {

public void iMethod() {

System.out.println("Interface method.");

}

void myMethod() {

System.out.println("Another method.");

}

}

class MyClass2 implements MyInterface {

public void iMethod() {

System.out.println("Another implementation.");

}

}

class InterfaceDemo {

public static void main(String args[]) {

MyClass1 mc1 = new MyClass1();

MyClass2 mc2 = new MyClass2();

mc1.iMethod();

mc1.myMethod();

mc2.iMethod();

}

}



Information Hiding dan Encapsulation

Information Hiding adalah menyembunyikan attribute suatu objek dari objek lain. Encapsulation adalah menyembunyikan method suatu objek dari objek lain. Attribute maupun method disembunyikan dengan cara memberikan modifier private.
Method dalam kelas yang sama, yang memberikan nilai pada attribute private disebut method setter, sedangkan method masih dalam kelas yang sama, yang mengambil nilai dari attribute private disebut getter.

// Contoh program Information Hiding dan Encapsulation
public class PersegiPanjang{
private double panjang; // attribute yg di hide
private double lebar; // attribute yg di hide
private double tinggi; // attribute yg di hide
public PersegiPanjang() {
panjang = 0;
lebar = 0;
}
private double luas(double p, double l) { // di encap
return p*l;
}
public void setPanjang(double panjang) {
this.panjang = panjang;
}
public void setLebar(double lebar) {
this.lebar = lebar;
}
public double getPanjang() {
return panjang;
}
public double getLebar() {
return lebar;
}
public double getLuas() {
return luas(panjang, lebar);
}
}
public class MainPersegiPanjang {
public static void main(String[] srgs) {
PersegiPanjang pp = new PersegiPanjang();
pp.setPanjang(10);
pp.setLebar(20);
System.out.println(”Panjang : ”+ pp.getPanjang());
System.out.println(”Lebar : ”+ pp.getLebar());
System.out.println(”Luas : ”+ pp.getLuas());
}
}

Constructor

Pada prinsipnya constructor adalah method yang tidak memiliki return value (secara implisit adalah instant dari kelasnya), hanya saja namanya sama dengan nama kelas, dan dapat diberi modifier akses (public, protected, default, private).
Bentuk umum pendefinisian constructor :
[modifier] namaConstructor(tipe namaparameter) {
constructorBody;
}

Tujuan constructor dibuat adalah untuk melakukan inisialisasi yang diperlukan objek baru.

Contoh constructor dan overloadingnya :

class PersonToy {
String name;
String addressLine1;
String addressLine2;
String city;
int age;
public PersonToy() {
name = ” ”;
addressLine1 = ” ”;
addressLine2 = ” ”;
city = ” ”;
age = 0;
}
public PersonToy(String newName,
String newAddress1,
String newAddress2;
String newCity;
int newAge) {
name = newName;
addressLine1 = newAddressLine1;
addressLine2 = newAddressLine2;
city = newCity;
age = newAge;
}
}

Polimorfisme

Kata polimorfisme yang berarti satu objek dengan banyak bentuk yang berbeda, adalah konsep sederhana dalam bahasa pemrograman berorientasi objek yang berarti kemampuan dari suatu variabel referensi objek untuk memiliki aksi berbeda bila method yang sama dipanggil, dimana aksi method tergantung dari tipe objeknya. Kondisi yang harus dipenuhi supaya polimorfisme dapat diimplementasikan adalah :

  • Method yang dipanggil harus melalui variabel dari basis class atau superclass.
  • Method yang dipanggil harus juga menjadi method dari basis class.
  • Signature method harus sama baik pada superclass maupun subclass.
  • Method access attribute pada subclass tidak boleh lebih terbatas dari basis class.
Contoh Polimorfisme.java
abstract class Bentuk {
protected int panjang;
protected int lebar;
public String getBentuk() {
return "Bentuk Dasar";
}
public abstract int hitungLuas();
}
class BujurSangkar extends Bentuk {
public BujurSangkar(int panjang1, int lebar1) {
this.panjang = panjang1;
this.lebar = lebar1;
}
public String getBentuk() {
return "Bentuk Bujur Sangkar";
}
public int hitungLuas() {
return panjang*lebar;
}
}
class SegiTiga extends Bentuk {
public SegiTiga(int panjang2, int lebar2) {
this.panjang = panjang2;
this.lebar = lebar2;
}
//public String getBentuk() {
//return "Bentuk Segi Tiga";
//return "";
//}
public int hitungLuas() {
return this.panjang*this.lebar/2;
}
}
class Polimorfisme {
public static void cetakLuasBentuk(Bentuk btk) {
System.out.println(btk.getBentuk() + " dengan luas " +
btk.hitungLuas());
}
public static void main(String[] args) {
BujurSangkar bs = new BujurSangkar(10,20);
BujurSangkar bs1 = new BujurSangkar(10,20);
SegiTiga st = new SegiTiga(5,10);
SegiTiga st1 = new SegiTiga(50,100);
cetakLuasBentuk(bs);
cetakLuasBentuk(bs1);
cetakLuasBentuk(st);
cetakLuasBentuk(st1);
}
}