Minggu, 30 Agustus 2009

OBJECT OEIENTED PROGRAMMING

STRUKTUR PROGRAM JAVA

Program JAVA dirancang sebagai suatu pemrograman berorientasi objek (OOP=Object Orientation Programming) secara penuh. Dalam pemrograman PASCAL yang untuk TURBO PASCAL versi 5 ke atas telah mendukung OOP atau C++ yang telah penuh mendukung OOP namun dalam kedua bahasa yang terakhir tersebut masih dimungkinkan untuk membuat program dengan pendekatan program terstruktur, yang dalam lingkup pemrograman JAVA hal ini tidak dapat lagi dilakukan.
Struktur program JAVA dibuat dengan mendefinisikan suatu class dengan syntax :
[public] class
{ // definisi atribut dari kelas tersebut
// definisi method yang memanipulasi atribut
}
Keterangan :
[public] = menunjukkan bahwa class tersebut dapat diases oleh class yang lain. Apabila kata public tidak dicantumkan menunjukkan bahwa class tersebut hanya dapat diases oleh class tertentu.
NamaKelas = adalah nama dari programer sesuai dengan persoalan.
Selanjutnya didalam suatu class dapat didefinisikan atribut-atribut class tersebut dan juga method-method yang memanipulasi atribut class tersebut.
Suatu class dapat dieksekusi apabila didalam class tersebut didefinisikan suatu method yang disebut main(), yaitu :

public static void main(String[] args)

2.1. Mengedit Source code program JAVA :
Suatu kode program dalam JAVA yang berupa definisi suatu class dapat diketik dan diedit menggunakan editor teks, baik yang berbasis DOS ataupun WINDOWS. Sebagai contoh pada gambar 1.1. ditunjukkan mengedit code dengan NOTEPAD dari WINDOWS untuk suatu kode program JAVA yaitu class FirstSample yang hanya mengandung satu method dan sama sekali tidak mendefinisikan atribut sebagai berikut :

public class FirstSample
{ public static void main(String[] args)
{System.out.println(“Hello INFORMATIKA !!!”);
}
}


Gambar 1.1. Mengetik code JAVA dengan NOTEPAD

Keterbatasan pengetikan dengan NOTEPAD adalah hanya dapat diketikan satu dokumen dalam suatu waktu. Untuk pengetikan beberapa kode sekaligus dapat dipilih editor teks seperti MS-WORD atau editor teks berbasis DOS yaitu program EDIT. Gambar 1.2 berikut menunjukkan proses pengeditan dengan program EDIT dari DOS. Salah satu kelebihan program EDIT dapat dibuka beberapa file sekaligus.


Gambar 1.2. Mengedit code dengan program EDIT dari DOS

2.2. Meng-compile dan mengeksekusi program JAVA :
Setelah suatu code program diketikkan, maka kode program tersebut disimpan dengan nama file HARUS SAMA DENGAN NAMA class utama dengan ekstension .java . Untuk nama class FirstSample maka nama filenya adalah FirstSample.java.
Untuk meng-compile code tersebut digunakan compiler JAVA yang tersimpan dalam JDK (Java Development Kit) dalam subdirectory bin. Compiler tersebut merupakan file berukuran cukup kecil 4.608 byte yaitu javac.exe. Untuk isi subdirectory bin dapat dilihat dalam Gambar 1.3.


Gambar 1.3. Isi directory bin

Meng-compile code program JAVA adalah meng-compile class yang telah disimpan dalam Namafile.java. Contoh untuk class FirstSample.java dicompile dengan baris perintah :

>javac FirstSample.java
Hasil compilasi ini adalah file:
FirstSample.class
Perlu diingat bahwa JAVA adalah suatu progam yang termasuk CASE SENSITIF seperti C++ sehingga apabila dalam meng-compile diketik :

>javac firstSample.java
atau
>javac Firstsample.java

maka akan terjadi error dalam nama file, karena yang benar adalah file dengan F besar dan sample dengan S besar. Hati-hati dalam meng-compile!

File hasil compilasi berupa file berekstension *.class yang biasa dikenal sebagai JAVA BYTE CODE, yang merupakan suatu kode byte yang bebas platform. Perlu diingat bahwa apabila dalam file *.java ada beberapa definisi class maka hasil compilasi akan menghasilkan beberapa file yang berekstensi *.class pula.

Selanjutnya untuk eksekusi kode byte ini digunakan suatu interpereter yang tergantung pada paltform tertentu. Untuk sistem yang digunakan dalam pembahsan ini (SO WINDOWS) interpreter adalah file :java.exe. Untuk menjalankan java byte code digunakan baris perintah :

>java FirstSample
hasil adalah :
Hello INFORMATIKA !!!

Untuk urutan compilasi dan eksekusi program dari jendela MS-DOS prompt dapat dilihat pada Gambar 1.4.


Gambar 1.4. Compilasi dan eksekusi code JAVA

2.3. Tipe Data dan Operator dalam JAVA
JAVA mengenal tipe data yang mirip dengan C++. Untuk data numerik dimiliki beberapa tipe, yaitu :

Integer :
int 4 byte kisaran nilai :-2.147.486.648 s/d 2.147.486.647
short 2 byte kisaran nilai :-32.768 s/d 32.767
long 8 byte kisaran nilai :-9.223.372.036.854.775.808L s/d
9.223.372.036.854.775.807L
byte 1 byte kisaran nilai :-128 s/d 127

Floating point
float 4 byte kisaran nilai :+3.40282347E+38F (7 digit ignifikan)
double 8 byte kisaran nilai :+1.79769313486231570E+308 (15
digit signifikan)

Karakter dan string
char 1 byte 1 karakter
String sebuah objek string dan manipulasinya

Satu hal yang berbeda dengan C++ adalah untuk String dalam JAVA adalah sebuah objek, yang mengandung beberapa method untuk manipulasi objek tersebut. Meskipun demikian suatu objek String dapat diisi suatu nilai string sebagaimana layaknya variabel biasa.
Contoh :
String Nama=”JON SHOLEH”;
atau :
String Nama;
Nama = “JON SHOLEH”;

Beberapa method dari objek string Nama antara lain :
Nama.length() akan menghasilkan : 10
Nama.substring(0,3) akan menghasilkan : “JON”

Contoh program yang melibatkan data adalah sebagai berikut :

class OperasiDATA
{ public static void main(String args[])
{
int a;
float b;
double c;
String d;

a=(int)1/3;
b=(float)1/3 ;
c=(double)1/3 ;
d="JON SHOLEH";

System.out.println("a = " +a);
System.out.println("b = " +b);
System.out.println("c = " +c);
System.out.println("d = " +d);
System.out.println("d.length() = " +d.length());
System.out.println("d.substring(0,3) = " +d.substring(0,3));
}
}

Output dari program tersebut adalah :
a = 0
b = 0.333333
c = 0.333333
d = JON SHOLEH
d.length() = 10
d.substring(0,3) =JON

JAVA mengenal operator sama dengan C++ antara lain :
Operator aritmatik :
+, - , * dan / untuk : penambahan, pengurangan, perkalian dan pembagian
+= , yakni : x+=4 ekivalen dengan operasi : x=x+4
-= ; *= dan /= memiliki ekivalensi yang sama dengan -=
++ yaitu : n++ ekivalen dengan n=n+1 (increment by one)
-- yaitu : n-- ekivalen dengan n=n-1 (decrement by one)
% untuk MODULO, yaitu : 5 % 3 sama dengan 2

Operator relational dan logika
< , > , <= dan >= adalah : lebih kecil, lebih besar, lebih kecil atau sama dan lebih besa atau sama
== untuk SAMA DENGAN
!= untuk TIDAK SAMA DENGAN
&& untuk operator AND
|| untuk operator OR

2.5. Masukan program dari Keyboard
Untuk aplikasi berbasis DOS dengan command line interaktif, salah satu yang selalu menarik untuk dibahas dalam kebanyakan pemrograman adalah masukan dari Keyboard. Untuk masukan berbagai tipe data dari keyboard JAVA tidak menyediakan satu kelas khusus. Tetapi dari package java.io telah didefinisikan suatu class abstract InputStream yang menyediakan beberapa method untuk membaca aliran byte data antara lain method read() untuk membaca sejumlah byte dari keyboard. Arthur van Hoff (1995) mendefinisikan suatu class final yang dinamakan class System yang didalamnya didefinisikan beberapa objek, yaitu :in untuk standard masukan keyboard dan out untuk output ke layar. Untuk selanjutnya method yang diturunkan beberapa method untuk input beberapa type data dari keyboard adalah dari :

System.io.read()

Sedangkan untuk output ke layar digunakan :

System.io.println(String s)

Cay Horstmann (1996) mendefinisikan suatu package corejava yang antara lain mendefinisikan class Console yang didalamnya terdifinisi beberapa method untuk masukan keyboard yang memanfaatkan method System.in.read(), antara lain :

Console.readString(string prompt) : untuk masukan string dari keyboard
Console.readInt(string prompt ) : untuk masukan integer dari keyboard
Console.readDouble(string prompt) : untuk masukan double dari keyboard

Untuk menggunakan class Console perlu dilakukan import package corejava.* Apabila tidak didahului dengan import maka penggunaan method-method diatas akan memunculkan message berikut :
Error : undefined variabel Console !

Selain dengan class Console dari Cay Horstmann, Julio Sanchez dan Maria Canton (2002) mendefinisikan klass Keyin yang memanfaatkan method dari kelas InputSream, yaitu antara lain method :

Keyin.inChar(String prompt) : untuk input karakter
Keyin.inString(String prompt) : untuk input string
Keyin.inInt(String prompt) : untuk input integer
Keyin.inDouble(String prompt) : untuk input double

Dengan demikian untuk membaca beberapa jenis data dari keyboard kita tinggal memilih akan menggunakan method dari class Consoel atau method dari class Keyin, hasilnya sama.

Program berikut ini memperagakan masukan nama, umur dan gaji yang masing-masing mewakili tipe :string, integer dan float

import corejava.*;
public class CobaBaca
{ public static void main(String[] args)
{ int u;
String Nm;
float Gj;

Nm=Console.readString("Siapa namamu ?");
u =Console.readInt("Berapa umurmu ?");
Gj=(float)Console.readDouble("Sekarang Gajimu berapa Rp ?");

System.out.println("Hallo "+ Nm);
System.out.println("Kau lahir tahun "+(2002-u));
System.out.println("Sekarang kau kaya ya!!! Gajimu :"+Gj);
}
}

Pernyataan import corejava.* dapat tidak disertakan dengan catatan kita memiliki definisi class Console (file Console.java) dalam diretori program yang dikompile. Atau membaca dengan Keyin.IntString dengan menyiapkan dulu definisi class Keyin dalam directori program kita.

Output dari program tersebut adalah :
Siapa namamu ? JON SALEH
Berapa umurmu ? 25
Sekarang Gajimu berapa Rp ? 100000
Hallo JON SALEH
Kau lahir tahun 1977
Sekarang kau kaya ya!!! Gajimu : 100000

2.6. Statemen Kondisional
Statemen kondisional dalam JAVA memiliki 4 macam syntax :

If (kondisi) statemen ;
atau
If (kondisi) {blok statemen} ;
atau
If (kondisi) statemen1 else statemen2;
atau
If (kondisi) {blok statemen -1} else {blok statemen-2} ;

Contoh program :

// --------------------------------------------
// Membaca dari keyboard :string dan double
// menggunakan method inString() dan inDouble()
// dari klass Keyin
// sehingga tidak diperlukan import :corejava.*
// ---------------------------------------------

public class Sales
{ public static void main(String[] args)
{
String NAMA,PESAN;
double JUAL,BONUS;

NAMA=Keyin.inString("Nama Sales :");
JUAL=Keyin.inDouble("Hasil Penjualan :");
if (JUAL>100000)
{BONUS=0.1*JUAL; PESAN="SELAMAT !!";}
else
{BONUS=0; PESAN="ANDA HARUS LEBIH GIAT LAGI";};

System.out.println("Saudara "+NAMA );
System.out.println("Bonus Anda sebesar : "+BONUS );
System.out.println(PESAN);
}
}


Output program :

Nama Sales : BAMBANG
Hasil Penjualan : 99000
Saudara BAMBANG
Bonus Anda sebesar : 0
ANDA HARUS LEBIH GIAT LAGI

Jumat, 10 Juli 2009

PENGELOLAAN SISTEM INFORMASI MANAJEMEN MBS



Pendahuluan
Konsep MBS
MBS berupa desentralisasi manajemen sumber-sumber daya ke tingkat sekolah:
1. Pengetahuan,
2. Teknologi,
3. Kewenangan (Power),
4. Bahan,
5. Orang,
6. Waktu,
7. Dan Keuangan.
Desentralisasi ini bersifat administratif: keputusan yang dibuat di tingkat sekolah harus dalam kerangka kebijakan nasional. Dengan demikian, sekolah masih harus akuntabel kepada Pemerintah atau pemerintah daerah, tidak hanya kepada masyarakat dan pememangku kepentingan lainnya dalam pendidikan.

Sistem Manusia - Mesin yang terpadu, untuk menghasilkan informasi untuk mendukung fungsi – fungsi operasi, manajemen dan pengambilan keputusan dalam suatu organisasi. Sistem ini menggunakan :
1. Perangkat Keras
2. Perangkat Lunak
3. Prosedur
4. Model – model analisa, perencanaan, pengendalian (pengawasan) dan pengambilan keputusan.
5. Basis Data

SIM BERBASIS SEKOLAH
Sistem Manusia - Mesin yang terpadu, untuk menghasilkan informasi & untuk mendukung fungsi2x operasi, manajemen dan pengambilan keputusan dalam pengelolaan sekolah serta dalam rangka desentralisasi pendidikan, yg ditandai oleh adanya kewenangan pengambilan keputusan yang lebih luas di tingkat sekolah, partisipasi masyarakat yg relatif tinggi, dalam kerangka kebijakan pendidikan nasional.

Peran & Tanggung Jawab Tim SI MBS
1. Memelihara dan memutakhirkan data sekolah dasar penyelenggara rintisan Program MBS, baik yang dikelola oleh UNICEF-UNESCO maupun oleh lembaga donor lainnya.
2. Memelihara dan memutakhirkan data para pelatih dalam program MBS;
3. Membentuk sistem informasi manajemen Sekretariat MBS;
4. Memelihara dan memutakhirkan isi website Sekretaiat MBS;
5. Melaporkan hasil pelaksanaan kegiatan / program Sekretaiat MBS terkait dengan masalah data dan SIM MBS kepada Koordinator Program MBS.

Tujuan SIM MBS
Sistem Informasi Manajemen Sekolah ini akan dirancang sebagai alat pemrosesan data sekolah berupa perangkat lunak berbasiskan Intranet dan web untuk menunjang seluruh kegiatan sekolah yang mempunyai tujuan-tujuan sebagai berikut :
1. Tersedianya Informasi utk mendukung perencanaan dan pengambilan keputusan bagi kepentingan sekolah ke depan
2. Tersedianya layanan informasi bagi komunitas sekolah seperti guru, siswa, staf, pimpinan, orang tua, alumni dan masyarakat pada umumnya
3. Memberikan nilai tambah bagi profil sekolah sehingga bisa meningkatkan daya saing yang lebih baik

Keunggulan yang diharapkan
1. Berbahasa Indonesia, hal ini untuk memudahkan pengguna dalam mengoperasionalkan SIM Sekolah ini
2. Jumlah pengguna tidak dibatasi, karena sistemnya menggunakan basis web sehingga siapa saja yang terhubung ke jaringan server SIM Sekolah bisa mengakses melalui browser
3. Memiliki fitur backup database secara manual dan otomatis, sehingga keamanan data bisa lebih terjamin
4. Pengaturan Menu yang user-friendly sesuai dengan hak akses masing-masing pengguna sehingga memberikan kemudahan dalam menggunakannya
5. Menghasilkan laporan-laporan yang berguna bagi pengambilan keputusan dan perencanaan, baik laporan bersifat khusus maupun umum

Tahap Pengembangan SIM MBS (Konsep)
1. Tahap Perencanaan: (1) dokumen perencanaan berupa proposal pengembangan atau Grand Design Pengembangan Sistem, (2) feasibility study
2. Tahap Analisis Sistem: (1) Dokumen user requirement, (2) dokumen product requirement
3. Tahap Perancangan Sistem: (1) Dokumen perancangan sistem; flowchart, data flow diagram
4. Tahap Implementasi: (1) Dokumen user acceptance test (bandingkan dengan user req)
5. Tahap Penggunaan: (1) Dokumen user manual

Sub Sistem (Komponen) dalam dalam MBS
1. Sistem Informasi Profil (Portal Sekolah) : yang nantinya akan berisi Profil Sekolah, Visi, Misi, Fasilitas, program-program, Berita/Artikel, kegiatan/agenda, informasi kesiswaan, forum, galeri foto, dan buku tamu.
2. Sistem Informasi Personalia : yang berisi Data Guru dan Staf untuk mengelola informasi penting tentang tenaga pengajar maupun staf yang terdaftar di sekolah, seperti biodata, pangkat, jabatan, alamat, status bekerja, jam kerja, riwayat pendidikan, riwayat karir, riwayat pelatihan, tingkat kehadiran, info gaji dan lain-lain
3. Sistem Informasi Sarana dan Prasarana : berisi mengenai Manajemen Aset sekolah mulai dari penomoran aset, lokasi aset, penggunaan aset dan jumlah aset
4. Sistem Informasi Keuangan : akan berisi data pembayaran biaya pendidikan siswa, seperti SPP, uang pembangunan, dan biaya-biaya lain. Data pembayaran tersebut akan ditampilkan dalam format laporan yang akan memudahkan pihak sekolah dalam melakukan pemeriksaan dan evaluasi, seperti :
a. Laporan siswa yang belum melakukan pembayaran
b. Laporan siswa yang sudah melakukan pembayaran
c. Laporan-laporan yang berkenaan dengan honor guru/karyawan
5. Sistem Informasi Siswa : akan berisi data Penerimaan Siswa Baru, Biodata siswa, Pengelolaan Kenaikan Kelas Siswa (manual maupun otomatis), Pengelolaan Kelulusan/Alumni, Pencetakan Kartu Siswa, dan Pengelolaan Kedisiplinan Siswa
6. Sistem Informasi Akademik : berisi Pengelolaan Kurikulum, Penjadwalan Satuan Pengajaran, Pengelolaan Nilai Akademik Siswa dan Laporan Hasil Studi Siswa, dan Presensi Siswa dalam kegiatan PBM
7. Sistem Informasi Perpustakaan : berisi Pengelolaan buku, Pengelolaan anggota, Transaksi peminjaman dan pengembalian buku, dan Manajemen Arsip Digital
8. Sistem E-Learning : berisi Proses pendidikan menggunakan sistem online maupun intranet bagi siswa dan guru berupa modul sekolah, tanya-jawab, kuis online, maupun tugas-tugas.

Tahap Pengembangan SIM MBS (Infrastruktur)
 Software
 OS (Win NT Server-XP-Vista-Linux, etc)
 CAD (Programming Software)
 Database Software
 Package Software (Internet & Intranet)
 Hardware à