sambutan

Selamat Datang Di Blog Saya

Kamis, 17 November 2011

Pendidikan

Saya Beni Waldi,adalah seorang mahasiswa di STMIK Budidarma Medan stambuk 2009.
saya mengikuti perkuliahan setiap hari,kecuali hari kamis dan minggu,mulai pukul 08.15 sampai pukul 13.00.
Tujuan saya kuliah di STMIK Budidarma yaitu untuk mendapatkan ilmu untuk bekal di masa depan saya.
sedari itu saya selalu mengikuti perkuliahan yg diberikan oleh para dosen dan berusaha untuk mengerti dan memahami nya.
^_^

Ekskull

selain mengkikuti perkuliahan,saya juga mengikuti kegiatan ekskull di kampus.
saya mengikuti organisasi BDMC(Budidarma desain grafis dan multi media club).
disini saya diangkat menjadi wakil ketua,dan saya juga ikut bantu2 mengajar,
dan berniat untuk menjadi pengajar di organisasi ini,karena saya ingin berbagi pengetahuan dengan adik2 kelas.
:)

Kegiatan dirumah

setiap hari nya saya melakukan kegiatan sehari-hari selayak nya dirumah sendiri.
mulai dari bersikan kamar,rumah,nyuci pakaian,strika dan lain2.
untuk mengisi waktu luang biasa nya saya memperdalam pengetahuan miasal nya yg palaing sering di bidang desain grafis.
saya juga sering Online untuk mendonload tutorial2 atau sekedar baca komik.
dan juga facebook'an.
hehehe

Pekerjaan

Alhamdulilah ya...
sekarang ini saya udah bekerja walaupun hanya paruh waktu.
saya bekerja di Smile's foto,tempat nya di tanjung morawa Medan.
saya bekerja dari pukul 14.30 sampai pukul 21.00.
lumayan lah untuk tambah2 pengetahuan,pengalaman dan uang jajan tentu nya.
:)

Kesehatan

ini salah satu kegiatan yg saat ini terkendala karena waktu.
saya ikut fitnes seminggu 3 kali 1 jam sampai 2 jam.tapi karena sekarang ini sudah bekerja,dalam seminggu saya hanya fitnes 2 kali dalam 1 minggu dalam waktu 30 menit sampai 1 jam.
lumayan juga untuk menjaga kesehatan dan membakar lemak dalam pinggang yang semakin banyak.
menurut saya olah raga itu adalah hal yang sangat penting untuk menjaga kesehatan.
jadi saran saya teman2 jangan lupa olahraga ya.
^_^

Kamis, 27 Oktober 2011

Membuat Sistem Login Aplikasi Multi User

Pada artikel kali ini Penulis akan mencoba memaparkan bagaimana teknik atau ide dalam membuat sistem login untuk aplikasi multi user.
Dalam suatu aplikasi bisa jadi terdapat lebih dari satu user dan dengan level yang berbeda-beda. Dengan adanya pembagian level tersebut diharapkan adanya hak akses yang berbeda. Untuk memudahkan Anda dalam membayangkan hal ini, misalkan terdapat 5 user katakanlah A, B, C, D dan E dimana user A, B dan C adalah level ‘administrator’, sedangkan D dan E user biasa. Nah… user A, B, dan C ini misalkan berhak mengakses halaman 1, 2 dan 3 dari aplikasi sedangkan D dan E hanya boleh mengakses halaman 3 saja. Dengan kata lain hak akses ke halaman-halaman tersebut ditentukan oleh level usernya.
Pemberian hak akses pada masing-masing user ini bisa dalam bentuk link menu. Ketika seorang user telah melakukan login, dan loginnya sukses maka akan muncul menu link ke halaman-halaman yang boleh diaksesnya. Sebagai gambaran misalnya pada contoh di atas, setelah user A login dan loginnya berhasil maka akan muncul menu link menuju ke halaman 1, 2 dan 3 karena si A ini levelnya Administrator. Namun untuk si D, karena levelnya user biasa, maka hanya akan muncul menu link menuju halaman 3 saja.

Ide dan teknik untuk menyelesaikan kasus di atas sebenarnya hanyalah pada penggunaan SESSION. Setelah user berhasil login, maka dibaca level usernya. Untuk memudahkan pengecekan level user ini, maka level user disimpan pada SESSION. Nah.. level user yang tersimpan dalam SESSION inilah yang nantinya akan banyak dicek untuk keperluan pembatasan hak akses user pada halaman-halaman yang sifatnya private.

Sudah paham deh idenya, tapi gini… bagaimana seandainya ada user yang nakal? misalkan user E dengan level user biasa kebetulan tahu link URL menuju ke halaman 1. Lantas si E ini mencoba mem bypass link menuju halaman 1 melalui URL langsung tanpa melewati menu link, padahal halaman 1 ini adalah restricted area bagi user biasa (dalam hal ini si E). Nah lo… gimana hayoo?? ya… seorang programmer harus pinter-pinter ngakali. Trus… Gimana ngakalinya? ya… sebelum bagian script yang menampilkan konten pada halaman 1 terlebih dahulu harus mengecek level usernya sebagai ‘administrator’ atau tidak, melalui pengecekan SESSION nya. Jika ya, maka tampilkan kontennya, dan jika tidak maka munculkan pesan ‘Anda mau mencoba masuk ya?? Kagak boleh atuh . :)

Untuk studi kasusnya, misalkan kita punya data user sebagaimana tersaji dalam tabel berikut ini
1.CREATE TABLE user (
2.username varchar(20),
3.password varchar(20),
4.level varchar(20),
5.PRIMARY KEY(username)
6.);
 
1.INSERT INTO `user` VALUES ('a', 'pass1', 'admin');
2.INSERT INTO `user` VALUES ('b', 'pass2', 'admin');
3.INSERT INTO `user` VALUES ('c', 'pass3', 'user');
4.INSERT INTO `user` VALUES ('d', 'pass4', 'user');
5.INSERT INTO `user` VALUES ('e', 'pass5', 'user');
Wah.. passwordnya kok tidak dienkripsi? he 3x… ya itu saya sengaja karena supaya Anda bisa mencoba script yang saya buat ini. Memang sebaiknya passwordnya Anda enkripsi, paling tidak menggunakan md5().
Nah.. selanjutnya kita buat form loginnya.
login.htm
01.<form method="post" action="loginsubmit.php">
02.<table border="0">
03.<tr>
04.<td>Masukkan Username </td>
05.<td><input name="username" type="text"></td>
06.</tr>
07.<tr>
08.<td>Masukkan Password </td>
09.<td><input name="pass" type="password"></td>
10.</tr>
11.<tr>
12.<td>&nbsp;</td>
13.<td><input type="submit" name="Submit" value="Submit"></td>
14.</tr>
15.</table>
16.</form>
Form login sudah dibuat, berikutnya kita buat script untuk memproses loginnya.
loginsubmit.php
01.<?php
02. 
03.// memulai session
04.session_start();
05. 
06.mysql_connect('dbhost', 'dbuser', 'dbpass');
07.mysql_select_db('dbname');
08. 
09.$username = $_POST['username'];
10.$password = $_POST['pass'];
11. 
12.// query untuk mendapatkan record dari username
13.$query = "SELECT * FROM user WHERE username = '$username'";
14.$hasil = mysql_query($query);
15.$data = mysql_fetch_array($hasil);
16. 
17.// cek kesesuaian password
18.if ($password == $data['password'])
19.{
20.echo "<h1>Login Sukses</h1>";
21. 
22.// menyimpan username dan level ke dalam session
23.$_SESSION['level'] = $data['level'];
24.$_SESSION['username'] = $data['username'];
25. 
26.// tampilkan menu
27.include "menu.php";
28. 
29.}
30.else echo "<h1>Login gagal</h1>";
31. 
32.?>
Bila Anda perhatikan pada script di atas, maka terlihat bahwa menunya membaca script menu.php. Di dalam script menu.php sendiri nantinya terdapat pengecekan level usernya yang tadi tersimpan dalam session sewaktu login sukses. Bila level usernya adalah ‘admin’ maka tampilkan menu link menuju halaman 1, 2, dan 3. Begitu pula untuk level ‘user’.
menu.php
01.<?php
02. 
03.session_start();
04. 
05.if ($_SESSION['level'] == "admin")
06.{
07.// tampilkan menu untuk admin
08.echo "<a href='hal1.php'>Halaman 1</a> ";
09.echo "<a href='hal2.php'>Halaman 2</a> ";
10.echo "<a href='hal3.php'>Halaman 3</a> ";
11.echo "<a href='logout.php'>Logout</a> ";
12.}
13.else if ($_SESSION['level'] == "user")
14.{
15.// tampilkan menu untuk user biasa
16.echo "<a href='hal3.php'>Halaman 3</a>";
17.echo "<a href='logout.php'>Logout</a> ";
18.}
19. 
20.?>
Selanjutnya, kita bisa mulai membuat konten pada halaman 1, 2 dan 3. Ingat.. sebelum menampilkan kontennya sebaiknya dicek level usernya terlebih dahulu. Bila levelnya tidak sesuai dengan hak aksesnya, maka jangan ragu untuk menolak :-) Untuk halaman 1, dari kasus yang kita ambil hanya bisa diakses oleh user berlevel ‘admin’ saja. Begitu pula untuk halaman 2. Namun untuk halaman 3, baik level ‘admin’ maupun ‘user’ biasa boleh mengaksesnya.
hal1.php
01.<?php
02. 
03.session_start();
04. 
05.// cek apakah user yang mengakses halaman ini sudah melalui login atau belum
06.// logikanya jika user telah login dan sukses, maka SESSION level dan SESSION username ini pasti sudah ada
07.// jika ada user yang mencoba akses halaman ini tanpa login, maka logikanya kedua SESSION belum ada
08. 
09.if (isset($_SESSION['level']) && isset($_SESSION['username']))
10.{
11.// tampilkan menu.
12.// menu hanya ditampilkan bila halaman ini diakses oleh user yang telah login
13. 
14.include "menu.php";
15. 
16.// cek level user apakah admin atau bukan
17. 
18.if ($_SESSION['level'] == "admin")
19.{
20.// tampilkan konten halaman 1 jika levelnya admin
21. 
22.echo "<h1>Halaman 1</h1>";
23.echo "<p>Selamat datang di halaman satu wahai user : ".$_SESSION['username']."</p>";
24.echo "<p>Ini adalah konten halaman 1</p>";
25.}
26.else
27.{
28.// jika levelnya bukan admin, tampilkan pesan
29.echo "<h1>Maaf.. Anda bukan user berlevel Administrator</h1>";
30.}
31.}
32.else
33.{
34.echo "<h1>Nah.. Anda pasti mencoba akses halaman ini tanpa login ya?</h1>";
35.}
36. 
37.?>
Untuk halaman 2, konsepnya juga sama seperti script halaman 1 di atas, hanya yang berbeda pada kontennya tentu saja :-) Sekarang untuk halaman ke-3 di mana yang bisa mengakses adalah semua level user, scriptnya adalah:
hal3.php
01.<?php
02. 
03.session_start();
04. 
05.if (isset($_SESSION['level']) && isset($_SESSION['username']))
06.{
07.include "menu.php";
08. 
09.if (($_SESSION['level'] == "admin") || ($_SESSION['level'] == "user"))
10.{
11.echo "<h1>Halaman 3</h1>";
12.echo "<p>Selamat datang di halaman tiga wahai user : ".$_SESSION['username']."</p>";
13.echo "<p>Ini adalah konten halaman 3</p>";
14.}
15.}
16.else
17.{
18.echo "<h1>Nah.. Anda pasti mencoba akses halaman ini tanpa login ya?</h1>";
19.}
20. 
21.?>
Eits… hampir lupa, yang terakhir kita buat script logoutnya. Pada prinsipnya proses logout adalah menghapus semua session yang tadi terbentuk ketika login sukses.
logout.php
1.<?php
2. 
3.session_start();
4.session_destroy();
5.echo "<h1>Anda sudah logout</h1>";
6.echo "<p><a href='formlogin.htm'>Login Kembali</a></p>";
7. 
8.?>
Finish


Sumber : http://blog.rosihanari.net

Jumat, 21 Oktober 2011

Langkah-langkah Perancangan Database

Pendahuluan perancangan Database :
Ø Tantangan dalam merancang database adalah bagaimana merancang sehingga database dapat memenuhi keperluan saat ini dan masa mendatang
Ø Perancangan Model Konseptual perlu dilakukan disamping perancangan model fisik
Proses perancangan basis data , dibagi menjadi 3 tahapan yaitu :
Ø Perancangan basis data secara konseptual, tahapan ini merupakan upaya untuk membuat model yang masih bersifat konsep..
Ø Perancangan basis data secara logis, merupakan tahapan untuk memetakan model konseptual kemodel basis data yang akan dipakai (modal relasional, hirarkis, atau jaringan). Perancangan ini tidak bergantung pada DBMS yang akan dipakai, itulah sebabnya perancangan basis data secara logis terkadang disebut pemetaan model data.
Ø Perancangan basis data secara fisis, merupakan tahapan untuk menuangkan perancangan basis data yang bersifat logis menjadi basis data fisis yang tersimpan pada media penyimpanan eksternal (yang spesifik terhadap DBMS yang dipakai ).
Pengembangan Sistem
Pengembangan system terdiri atas sederetan kegiatan yang dapat dikelompokan menjadi beberapa tahapan. Ada berbagai pembagian tahapan dalam pengembangan system yaitu :
Ø Metodologi yang disebut Waterfall atau air terjun yang membagi daur pengembangan system menjadi 6 tahapan : konsepsi, pendahuluan, analisis, perancangan, implementasi dan pengujian.
Ø McLeod mengemukakan 4 tahapan : perencanaan, analisis, perancangan dan implementasi.
Ø Fabbri dan Schwab membaginya menjadi 5 tahapan : studi kelayakan, rencana pendahuluan, analisis system, perancamgan system danimplementasi system.
Tahapan studi kelayakan
Tahapan ini merupakan identifikasi terhadap kebutuhan system baru, identifikasi tidak hanya didasarkan oleh kebutuhan-kebutuhan baru tetapi harus memperhatikan kebutuhan pada system yang sudah ada. Hasil tahapan ini berupa daftar kebutuhan, perkiraan biaya untuk membuat system baru dan juga solusi yang dikehendaki.
Tahapan rencana pendahuluan
Tahapan ini menentukan lingkup proyek atau system yang akan ditangani, hal ini digunakan untuk menentukan jadwal proyek. Biasanya dijabarkan dalam diagram aliran data (DAD). DAD menunjukan fungsi-fungsi dalam system, cara menggunakan informasi yang tersimpan dan pemindahan informasi antar fungsi didalam system.
Tahapan analisis system
Analis system sering berdialog dengan pengguna untuk memperoleh informasi detil kebutuhan pengguna. Kemudian hasil yang didapat dipakai sebagai bahan untuk menyusun DAD system baru. Untuk memperinci DAD, item-item yang terdapat pada aliran data dan juga yang terdapat pada penyimpanan data dijabarkan dalam bentuk kamus data. Kamus data adalah deskripsi formal mengenai seluruh elemen yang tercakup dalam DAD.
Tahapan perancangan system
Tahapan perancangan system dibagi menjadi 2 bagian :
  1. Perancangan basis data, merupakan langkah untuk menentukan basis data yang diharapkan dapat mewakili seluruh kebutuhan pengguna berdasarkan kamus aliran data yang telah dibuat. Proses perancangan basis data diantaranya adalah perancangan basis data konseptual yang terdiri atas 3 langkah yaitu :
Ø Penentuan entitas pada basis data
Ø Pendefinisian hubungan antarentitas
Ø Penerjemahan hubungan kedalam entitas
Entitas/tipe entitas/kelas entitas menyatakan objek atau kejadian.
Atribut/properti adalah item data yang menjadi bagian dari suatu entitas.
Hubungan adalah asosiasi atau kaitan antara dua entitas.
Kekangan digunakan untuk melindungi integritas data.
Domain adalah himpunan nilai yang berlaku bagi suatu atribut .
Integritas referensial adalah aturan-aturan yang mengatur hubungan antara kunci primer dengan kunci tamu milik tabel-tabel yang berada dalam suatu basis data relasional untuk menjaga kekonsistensian data.tujuan integritas referensial adalah untuk menjamin agar elemen dalam suatu tabel yang menunjuk kesuatu pengenal unik pada suatu baris pada tabel lain benar-benar menunjuk kesuatu nilai yang benar-benar ada. Macamnya ada 3 yaitu :
1. penambahan
2. penghapusan
3. peremajaan (update)
  1. Perancangan proses
Ada 3 hal yang perlu diperhatikan tentang entitas :
Ø Sebuah atribut bisa jadi merupakan suatu pengulangan(berisi sejumlah nilai, bukan hanya satu nilai)
Ø Sebuah atribut muncul pada beberapa entitas.
Ø Sebuah atribut barangkali sebuah karakteristik dari entitas atau atribut lain.
Selain diagram E-R, diagram lain yang sering dipakai adalah diagram struktur data yang menyerupai E-R. cirinya dengan adanya 2 panah identik. Setelah hubungan antar entitas diketahui maka akan diterjemahkan kedalam table, melalui 3 langkah :
1.. Penentuan kunci untuk entitas
2. Penerjemahan hubungan kedalam kunci tamu
3. Penormalisasian basis data
Penentuan kunci tidak sekedar metode untuk mengakses suatu baris tertentu tapi harus menjadi pengenal yang unik. Kunci terdiri dari beberapa macam, yaitu sebagai berikut :
Candidate Key
Ø Satu atribut atau satu set minimal atribut yang mengidentifikasikan secara unik dari sebuah entitas.
Ø Misalnya: File Karyawan (No Induk, Nama, Tempat Lahir, Tanggal Lahir, Alamat, Kota )
Ø Kunci Kandidat:
o No Induk, pasti unik
o Nama, sering dipakai sbg kunci pencarian tetapi tidak cocok utk key karena bisa ada nama yg sama
o Nama+Tanggal Lahir
o Nama+Tanggal Lahir+Tempat Lahir
o Alamat, Kota , tidak cocok untuk kunci
Primary Key
Ø Satu atribut atau satu set minimal atribut yg dapat mengidentifikasikan secara unik suatu kejadian spesifik dan dapat mewakili entitas
Ø Dipilih dari Candidate Key yang paling mewakili sebuah entitas secara unik
Ø Contoh: No Induk, karena unik tidak mungkin ada satu No Induk untuk lebih dari satu pegawai
Alternate Key (Kunci Alternatif)
Adalah kunci kandidat yang tidak dipakai sebagai primary key
Foreign Key (Kunci Tamu)
Ø Adalah satu (atau satu set) atribut yang melengkapi satu relationship yang menunjukkan ke induknya.
Ø Misalnya: File Transaksi Gaji (No Induk, Nomor Bukti, Tanggal, Gaji Kotor, Potongan, Gaji Bersih, Pajak)
o Foreign Key: No Induk
o Primary Key: Nomor Bukti
o Alternate Key: No Induk + Nomor Bukti
Teknik Normalisasi
Ø Proses normalisasi merupakan proses pengelompokkan data elemen menjadi tabel-tabel yang menunjukkan entity dan relasinya sehingga membentuk struktur relasi yang baik (tanpa redudansi).
Ø Pada proses normalisasi selalu diuji pada bbrp kondisi, apakah ada kesulitan dalam:
· Add/insert data; delete data; update data; dan retrieve data;
· Jika ada problem maka relasi perlu dipisahkan
Bentuk Normalisasi
Ø Unnormalized Form
Ø 1st Normal Form (1 NF)
Ø 2nd Normal Form (2 NF)
Ø 3rd Normal Form (3 NF)
Ø Boyce-Codd Normal Form (BCNF)
BENTUK-BENTUK NORMALISASI
Bentuk Tidak Normal (Unnormalized Form):
Ø merupakan kumpulan data yang akan direkam,
Ø tanpa format tertentu,
Ø bisa saja data tidak lengkap atau ada duplikasi
Ø Dikumpulkan apa adanya
Normal Pertama (1st Normal Form)
Aturan :
Ø Mendefinisikan atribut kunci
Ø Tidak adanya group berulang
Ø Semua atribut bukan kunci tergantung pada atribut kunci
Normalisasi Kedua (2nd Normal Form)
Aturan :
Ø Sudah memenuhi dalam bentuk normal kesatu
Ø Sudah tidak ada ketergantungan parsial, dimana seluruh field hanya tergantung pada sebagian field kunci.
Normalisasi Ketiga (3rd Normal Form)
Aturan :
Ø Sudah berada dalam bentuk normal kedua
Ø Tidak ada ketergantungan transitif (dimana field bukan kunci tergantung pada field bukan kunci lainnya).
Normalisasi Keempat
Ø Dikenal dengan nama: Boyce-Codd Normal Form (BCNF)
Ø Relasi harus dalam bentuk normal kesatu dan setiap atribut harus bergantung fungsi pada atribut superkey
Ø Relatif jarang digunakan
Tahapan implementasi system
Tahapan implementasi system mencakup pengkodean program, pengujian program, pemasangan program dan pelatihan pada pengguna. Setelah tahap ini berakhir maka akan sampai pada tahapan penggunaan aplikasi oleh pengguna.
Intisari
Sistem Informasi Manajemen Aset (SIMA) adalah sistem informasi berbasis intranet yang bertujuan menatausahakan barang inventaris milik/kekayaan negara di lingkungan Lembaga Ilmu Pengetahuan Indonesia (LIPI). Dengan sistem informasi ini lebih memudahkan LIPI dalam mencapai tujuan dan fungsi dari penatausahaan barang. Sistem berbasis intranet memungkinkan pengecekan dan pengawasan secara langsung melalui jaringan komputer dari organisasi penatausahaan paling atas ke yang paling bawah. Pembuatan sistem informasi ini berpedoman pada buku dari BAKUN (Badan Akuntansi Negara). SIMA menyediakan bermacam-macam fasilitas untuk proses penatausahaan barang, meliputi pengkodean barang inventaris, pembuatan buku inventaris, pencarian data barang, mutasi dan pemutihan barang, opname fisik dan pembuatan laporan. SIMA dibangun dengan perangkat lunak open source yang menggunakan bahasa pemograman PHP dan manajemen basis data dengan PostgreSQL, serta menggunakan komputer server berbasis LINUX
Kata kunci
Sistem informasi, aset, intranet, PHP, PostgreSQL.
1. Pendahuluan
Teknologi komputasi client-server khususnya yang menggunakan teknologi internet/intranet dan teknologi basis data semakin berkembang pesat, sejalan dengan itu kebutuhan akan aplikasi sistem informasi yang tidak dibatasi ruang dan waktu juga semakin meningkat.
Fasilitas internet dengan perangkat teknologi penunjangnya memungkinkan dikembangkannya sistem informasi manajemen aset yang memiliki beberapa kelebihan, diantaranya kemudahan dalam mendistribusikan program aplikasi, mudah dan praktis karena dapat diakses dari manapun dan kapanpun, memiliki akses informasi yang lebih cepat, murah dan lebih baik serta mampu menurunkan biaya atas kebutuhan penyampaian dan penyebaran informasi.
Manajemen aset adalah bagian atau komponen dari Lembaga/Departemen yang memberdayakan aset-aset tetap yang dimiliki sesuai dengan fungsi dan kegunaannya (LIPI, 2001). Sistem Informasi Manajemen Aset (SIMA) adalah sebuah sistem informasi berbasis web/intranet untuk mengelola data-data seluruh aset tetap yang dimiliki oleh setiap puslit di lingkungan LIPI. Dari sistem ini diharapkan pemeliharaan terhadap aset-aset penting yang diperlukan untuk menunjang kegiatan penelitian menjadi lebih terkontrol, dan semua potensi yang dimiliki puslit khususnya aset tetap dapat dikelola dan dimanfaatkan secara optimal untuk menunjang kegiatan penelitian

2. Teknologi Pengembangan Web

Teknologi yang digunakan dalam pemrograman web dibagi menjadi dua yaitu server side dan client side. Pada server side, perintah-perintah program dijalankan di server dan dikirimkan ke browser sudah dalam bentuk HTML. Sedangkan client side, proses akan dilakukan di web browser. Biasanya client side digunakan untuk hal-hal yang membutuhkan interaksi user tetapi data yang ditampilkan tetap dan seragam.
Aplikasi web berjalan pada protokol HTTP, dan semua protokol di internet selalu melibatkan antara server dan client. Ketika seseorang mengetikkan suatu alamat di browser, maka browser akan mengirimkan perintah tersebut ke web server. Jika yang diminta oleh client adalah file yang mengandung perintah server side maka server web akan menjalankan dahulu program tersebut lalu mengirimkannya kembali ke browser dalam bentuk HTML sehingga dapat diterjemahkan oleh browser. Sedangkan jika yang diminta oleh client adalah file yang mengandung file client side maka oleh server file tersebut akan langsung dikirimkan ke browser.
2.1. PHP
PHP merupakan salah satu jenis scripting language yang dieksekusi pada sisi server, atau biasa disebut server-side scripting merupakan salah satu bahasa pemrograman yang paling populer yang dapat dijumpai di Internet.
Fasilitas PHP yang paling kuat dan pasti adalah integrasinya dengan mesin database yang membuat halaman dengan dukungan database dengan mudah.
PHP termasuk dalam HTML-embedded , artinya code php dapat kita sisipkan pada sebuah halaman HTML. Untuk mengetahui bahwa baris – baris HTML merupakan suatu script php maka digunakan pasangan tag. Tag yang dapat digunakan untuk menyatakan script php adalah
 < ? … ?>
 < % … %>
 < ?php … ?>
Diantara ketiga ini tag ketiga merupakan tag yang paling aman karena memberikan tanda yang lebih jelas dan pada umumnya dimengerti oleh web server (Yudhi Purwanto, 2000).
Beberapa hal yang terkait dengan penulisan file PHP yaitu
a. File PHP merupakan file teks biasa sehingga dapat dituliskan dengan editor teks biasa seperti Notepad, namun akan lebih baik jika anda menggunakan editor PHP khusus seperti PHPEd atau PHP Coder
b. Seluruh blok skrip PHP harus berada di antara tag pengapit < ?php … ?> atau tag < ? … ?>. Tag ini dapat juga diganti dengan tag < ’script’>, ditambah dengan atribut language yang diberi value PHP. Serta dapat dituliskan pula dengan tag pengapit (delimiter) ASP < %… %>.
c. Setiap statement harus dipisahkan dengan tanda titik koma ( ; )
d. Semua file yang mengandung skrip PHP harus disimpan dalam format PHP File (*.php, *.phtml atau *.php3)
3. Arsitektur SIMA
SIMA menerapkan arsitektur client-server three-tiers, dimana Application web Server akan bertindak sebagai middle-tier yang menyediakan seluruh aplikasi yang diperlukan client sebagai front-end untuk berinteraksi dengan database server sebagai back-end.
SIMA dibangun dengan menggunakan perangkat lunak yang bersifat open source. Pada sisi application server akan menggunakan PHP dan Apache. Sedangkan sisi database server menggunakan Database PosgreSql yang berjalan dibawah sistem operasi Linux.

4.Diagram Alur Data (Model Fungsional)

Diagram alur data merupakan model fungsional SIMA. Diagram ini menggambarkan Sistem Informasi Manajamen Aset yang artinya hanya menggambarkan proses-proses yang berlangsung di perangkat lunak SIMA untuk lingkungan unit pengurus barang (UPB).
Secara keseluruhan diagram terdiri dari 3 proses sebagai berikut :
1. Opname Fisik Barang Inventaris, petugas inventaris melakukan opname fisik barang inventaris ke setiap ruangan. Hasil dari operasi fisik ini berupa data-data barang inventaris (alat dan bahan) mengenai keberadaan barang, kondisi barang, dan perubahan data barang, data buku perpustakaan.
2. Pencatatan Data Barang, berdasarkan hasil dari opname fisik barang inventaris, perubahan-perubahan yang terjadi (barang masuk/keluar, atau perubahan data barang) akan dicatat ke buku inventaris peralatan dan bahan, daftar inventaris lain (DIL) , daftar Inventaris Ruangan (DIR) dan kartu inventaris barang (KIB – Tanah, Gedung dan Alat Kendaraan Bermotor. Jika terjadi mutasi barang dari hasil opname fisik maka akan dicatat ke buku mutasi barang
3. Pembuatan Laporan-laporan, berdasarkan data buku inventaris yang telah diupdate dari hasil opname pisik, akan dihasilkan laporan hasil opname fisik barang inventaris (LOFBI), laporan Buku Inventaris, Laporan Posisi Awal (LPA) dan Laporan tahunan inventaris (LTI). Dari buku mutasi dan buku inventaris juga akan dihasilkan laporan mutasi barang triwulan (LMBT I – IV).
5. Diagram Entity-Relationship (Model Objek)
Database disimpan pada server “Gryfindor�? dengan nama database “sima�?, terdiri dari 23 tabel yang disusun secara relasional dengan proses normalisasi.
Diagram Entity-Relationship (D-ER) merupakan model objek/statis yang menggambarkan struktur hubungan antar tabel untuk memudahkan menganalisa relasionalitas tabel-tabel tersebut. Detail entity (tabel) dengan atribut (field) dari SIMA.
6. Modul-modul dan Kelompok Pengguna SIMA (model keamanan)
SIMA terdiri dari tiga modul utama, yaitu referensi, inventarisasi barang dan pelaporan. Masing-masing modul memiliki sub-sub modul seperti yang diperlihatkan pada gambar 3.
SIMA memiliki 5 kelompok pengguna yang disusun berdasarkan tingkatan akses terhadap tabel-tabel database, yaitu :
• admin – administrator sistem
memiliki otoritas penuh (tambah, edit dan hapus) pada tabel-tabel kelompok referensi
• operator – petugas inventaris
memiliki otoritas penuh (tambah, edit dan hapus) untuk tabel-tabel kelompok inventarisasi barang.
• eselon – Kapus, Kabag dan Kabid
memiliki hak akses untuk melihat data referensi dan data inventarisasi barang, serta melihat dan mencetak laporan-laporan
• ppbi – ppbi wilayah dimana upb berada
memiliki hak akses untuk melihat beberapa data referensi serta melihat dan mencetak data inventaris yang perlu dilaporkan oleh UPB (Unit Pengurus Barang) ke PPBI (Pembantu penguasa Barang Inventaris).
• guest – pengguna biasa
memiliki hak akses untuk melihat beberapa data referensi dan beberapa data inventaris barang.
7. Implementasi Program Aplikasi
Aplikasi SIMA diawali dengan login ke sistem untuk menjamin keamanan data serta pengaturan akses database sesuai dengan kelompok pengguna.
Pada bagian atas terdapat menu-menu utama. Pada bagian kanan atas terdiri dari tombol petunjuk yang digunakan untuk mendapatkan informasi mengoperasikan SIMA, kontak administrator lewat e-mail, serta link ke situs LIPI. Di kanan bawah terdapat tombol untuk logout dari SIMA. Pada tengah halaman merupakan halaman display untuk menampilkan form-form yang diperlukan.
7.1 Struktur Menu
Operasional SIMA melalui menu-menu utama yang masing-masing memiliki sub-sub menu pilihan. Menu-menu utama ini dibuat dengan model menu bar yang berbentuk tombol-tombol, sedangkan sub-sub menu dibuat dengan model link. Menu utama SIMA terdiri dari 6 menu untuk operasional sistem dan 1 menu petunjuk/manual. Setiap kelompok pengguna memiliki sub-sub menu yang tidak sama tergantung dari hak akses mereka terhadap tabel-tabel dalam database.
7.1.1. Menu Lihat Data
Menu lihat data digunakan untuk melihat data secara langsung tanpa perlu terjadi seleksi atau filter data.
7.1.2. Seleksi Data
Menu Seleksi data digunakan untuk melihat data dengan harus melakukan seleksi atau filter data. Diagram berikut adalah sub-sub menu yang terdapat pada menu Seleksi Data
7.1.3. Cari Data
Menu Cari data digunakan untuk melakukan pencarian.
7.1.4. Tambah Data
Menu Tambah data digunakan untuk mengisi dan menambah data.
7.1.5. Laporan
Menu Laporan digunakan untuk melihat dan mencetak laporan-laporan. Diagram 5 menunjukkan sub-sub menu laporan yang dapat dilihat dan dicetak dalam format Adobe Acrobat.

7.1.6. Administrasi User

Menu Administrsi User digunakan untuk mengatur pengguna SIMA. Tipe admin memiliki otoritas tertinggi dalam mengatur pengguna sistem, antara lain dapat melakukan penambahan dan penghapusan data pengguna, mengganti tipe kelompok serta mengganti password pengguna. Sedangkan bagi pengguna hanya memiliki otoritas untuk mengganti passwordnya saja.

7.1.7. Petunjuk

Menu petunjuk berfungsi sebagai user manual yang berjalan dalam format Adobe Acrobat. Tujuan dibuat menu ini adalah untuk memberi kemudahan bagi pengguna berupa informasi-informasi dalam mengoperasikan SIMA.
Penutup
Dengan dibangunnya suatu Sistem Informasi Manajemen Aset secara online di intranet, maka beberapa proses dalam kegiatan penatausahaan dan inventarisasi dapat diintegerasikan menjadi suatu sistem yang terkomputerisasi, dengan bentuk tampilan yang mudah digunakan oleh beberapa tipe pengguna. Bagi pengguna yang bertindak sebagai operator (tim inventaris ), sistem memberikan kemudahan dalam beberapa hal seperti : pencatatan data, pendataulangan (sebagai hasil dari kegiatan opname fisik, mutasi,pemutihan), penghitungan jumlah dan nilai barang untuk keperluan manajemen aset LIPI selanjutnya secara keseluruhan serta pembuatan laporan. Untuk pengguna pada level guest (tamu), sistem memberi kemudahan dalam akses pencarian barang, dengan memberikan beberapa model kriteria pencarian. Sementara untuk tipe pengguna eselon, sistem memberi kemudahan dalam akses pencarian barang dan akses untuk melihat laporan.
Kemudahan yang diberikan oleh sistem ini, diharapkan sedikit demi sedikit dapat menghilangkan kekurangan yang didapat saat kegiatan penatausahaan dan inventarisasi dilakukan secara manual sebelum ini, meski tidak dapat dipungkiri bahwa masih ada beberapa proses manual yag harus tetap diberlakukan.
Penggunaan perangkat lunak berbasis open sources ( php, postgreSQL dan linux server ) dalam pembangunan Sistem Informasi Manajemen Aset ini, memungkinkan untuk meminimasikan biaya pembangunan sistem, meski dari sisi lain perlu ada peningkatan sumber daya manusia baik bagi pengguna operator maupun pengguna yang bertanggung jawab dalam pemeliharaan sistem secara keseluruhan (administrator).
Nara Sumber : http://xfxs.multiply.com/journal/item/14

Struktur Data dan Basis Data (Database)

Telah diketahui bahwa secara fisik data dalam bentuk kumpulan bit dan direkam dengan basis track didalam media penyimpan eksternal. Dalam prakteknya, untuk kemudahan dalam mengakses data, data disusun dalam suatu struktur logis yang menjelaskan bahwa:
  • 1. Kumpulan tabel menyusun basis data,
  • 2. Tabel tersusun atas sejumlah record,
  • 3. Sebuah record mengandung sejumlah field, dan
  • 4. Sebuah field disimpan dalam bentuk kumpulan bit.
Pengertian masing-masing istilah diatas adalah seperti berikut:
a. Field (medan) menyatakan data terkecil yang memiliki makna. Istilah lain untuk field yaitu elemen data, kolom item, dan atribut. Contoh field yaitu nama seseorang, jumlah barang yang dibeli, dan tanggal lahir seseorang.
b. Record (rekaman) menyatakan kumpulan dari sejumlah elemen data yang saling terkait. Sebagai contoh, nama, alamat, tanggal lahir, dan jenis kelamin dari seseorang menyusun sebuah record. Istilah lain yang juga menyatakan record yaitu tupel dan baris.
c. Tabel menghimpun sejumlah record. Sebagai contoh, data pribadi dari semua pegawai disimpan dalam sebuah tabel.
d. Basis data (database) adalah suatu pengorganisasian sekumpulan data yang saling terkait sehingga memudahkan aktivitas untuk memperoleh informasi. Sebagai contoh, basis data akademis mengandung tabel-tabel yang berhubungan dengan data mahasiswa, data jurusan, data mata kuliah, data pengambilan mata kuliah pada suatu semester, dan nilai yang diperoleh mahasiswa.

Jenis Basis Data

Menurut pengaksesannya, basis data dibedakan menjadi empat jenis, yaitu :1. Basis data individual
Basis data individual adalah basis data yang digunakan oleh perseorangan. Biasanya basis data seperti ini banyak dijumpai dilingkungan PC. Visual dBASE, Corel Paradox, dan Filemaker Pro merupakan contoh perangkat lunak yang biasa digunakan untuk mengelola basis data untuk kepentingan pribadi.
2. Basis data perusahaan
Basis data perusahaan adalah basis data yang dimaksudkan untuk diakses oleh sejumlah pegawai dalam sebuah perusahaan dalam sebuah lokasi. Basis data seperti ini disimpan dalam sebuah server dan para pemakai dapat mengakses dari masing-masing komputer yang berkedudukan sebagai client.
3. Basis data terdistribusi
Basis data terdistribusi adalah basis data yang disimpan pada sejumlah komputer yang terletak pada beberapa lokasi. Model seperti ini banyak digunakan bank yang memiliki sejumlah cabang di pelbagai kota dan melayani transaksi perbankan yang bersifat online.
4. Basis data publik
Basis data publik adalah basis data yang dapat diakses oleh siapa saja (publik). Sebagai contoh, banyak situs web (misalnya yahoo dan about.com) yang menyediakan data yang bersifat publik dan dapat diambil siapa saja secara gratis. Namun adakalanya seseorang harus menjadi anggota dan membayar iuran untuk memperoleh data publik.

Perancangan Basis Data

Database (Basis Data) adalah kumpulan data (elementer) yang secara logik berkaitan dalam mempresentasikan fenomena / fakta secara terstruktur dalam domain tertentu untuk mendukung aplikasi pada sistem tertentu. Basis data adalah kumpulan data yang saling berhubungan, memberikan refleksi fakta-fakta yang terdapat di organisasi. Basis data mendeskripsikan state organisasi/perusahaan/sistem. Saat satu kejadian muncul di dunia nyata mengubah state organisasi/perusahaan/sistem, maka satu perubahan pun harus dilakukan terhadap data yang disimpan di basis data. Basis data merupakan komponen utama sistem informasi karena semua informasi untuk pengambilan keputusan berasal dari data di basis data. Pengelolaan basis data yang buruk dapat mengakibatkan ketidaktersediaan data penting yang digunakan untuk menghasilkan informasi yang diperlukan dalam pengambilan keputusan.
Metodologi Perancangan Basis Data
Metodologi perancangan basis data adalah kumpulan teknik terorganisasi untuk pembuatan rancangan basis data. Teknik terorganisasi ini merupakan kumpulan tahap-tahapan yang memiliki aturan-aturan terurut. Teknik yang digunakan pada perancangan basis data dibagi menjadi dua, yaitu:
a. Perancangan basis data tingkat logik.
b. Perancangan basis data tingkat fisik.
Perancangan basis data secara logik dimulai dengan penciptaan model konseptual dari organisasi dan seluruhnya tak bergantung rincian implementasi seperti perangkat lunak DBMS, program aplikasi, bahasa pemrograman, platform perangkat keras, dan pertimbangan fisik lainnya. Model konsep ini kemudian dipetakan menjadi model data secara logik yang telah dipengaruhi model data target basis data seperti model relasional.
Dalam perancangan basis data secara logik, kita dapat melakukannya dengan cara :
a. Menerapkan Normalisasi terhadap struktur tabel yang telah diketahui.
b. Langsung membuat model Entity-Relationship (ER).
Model data secara logik merupakan sumber informasi perancangan fisik. Model ini menyediakan perancang suatu kendaraan untuk pertimbangan dalam merancang basis data yang efisien.
Perancangan basis data secara fisik adalah proses memproduksi deskripsi implementasi basis data pada penyimpanan sekunder, mendeskripsikan struktur-struktur penyimpanan dan metode-metode pengaksesan dalam meningkatkan efektifitas pengaksesan. Pada tahap ini, perancangan fisik telah ditujukan untuk system DBMS tertentu. Perancangan basis data tingkat fisik sudah dikaitkan dengan platform dan perangkat lunak system manajemen basis data dimana basis data diimplementasikan.
Langkah-langkah Metodologi Perancangan Basis Data
Berikut adalah perancangan basis data relasional :
- Dimulai dari perancangan basis data logik untuk basis data relasional pada tahap 1 sampai dengan tahap 3.
- Perancangan dan implementasi basis data fisik untuk basis data relasional pada tahap 4 sampai dengan tahap 7.
a. Tahap 1
Membangun rancangan data konseptual lokal berdasarkan pandangan pemakai. Yaitu mengidentifikasikan himpunan entitas – himpunan entitas. Mengidentifikasikan keterhubungan-keterhubungan (relationship), mengidentifikasikan dan asosiasikan atribut-atribut pada entitas atau keterhubungan, menentukan domain atribut, menentukan atribut-atribut candidate key dan primary key, melakukan spesialisasi/generalisasi, menggambarkan diagram ER, melakukan review model data konsep dengan pemakai.
b. Tahap 2
Membangun dan validasi model data logik lokal. Yaitu memetakan model data konsep ke model data logik, melakukan turunan relasi-relasi dari model data logik, validasi model menggunakan normalisasi, validasi model berdasarkan transaksi – transaksi pemakai, menggambarkan ER nya, mendefinisikan kontsrain-konstrain (batasan-batasan) integritas, melakukan review model data logik dengan pemakai.
c. Tahap 3
Membangun dan validasi model data logik global. Yaitu menggabungkan model data logik lokal menjadi model global, validasi model data logik global, periksa untuk pertumbuhan masa datang, menggambarkan diagram ER akhir, melakukan review model logik global dengan pemakai.
d. Tahap 4
Menerjemahkan model data logik global untuk DBMS target. Yaitu merancang relasi-relasi basis untuk DBMS target, merancang aturan-aturan integritas untuk DBMS target.
e. Tahap 5
Merancang dan implementasi representasi fisik. Yaitu menganalisa transaksi-transaksi, memilih organisasi file, memilih indeks-indeks sekunder, mempertimbangkan penambahan redudansi yang terkendali, estimasikan ruang disk yang diperlukan.
f. Tahap 6
Merancang dan mengimplementasikan mekanisme pengamanan. Yaitu merancang view-view pemakai, merancang aturan-aturan pengaksesan.
g. Tahap 7
Memonitor dan menyesuaikan system yang sedang operasi.

Pengertian Basis Data dan Perangkat lunak basis data

Pangkalan data[1] atau basis data (bahasa Inggris: database), atau sering pula dieja basisdata, adalah kumpulan informasi yang disimpan di dalam komputer secara sistematik sehingga dapat diperiksa menggunakan suatu program komputer untuk memperoleh informasi dari basis data tersebut. Perangkat lunak yang digunakan untuk mengelola dan memanggil kueri (query) basis data disebut sistem manajemen basis data (database management system, DBMS). Sistem basis data dipelajari dalam ilmu informasi.
Istilah "basis data" berawal dari ilmu komputer. Meskipun kemudian artinya semakin luas, memasukkan hal-hal di luar bidang elektronika, artikel ini mengenai basis data komputer. Catatan yang mirip dengan basis data sebenarnya sudah ada sebelum revolusi industri yaitu dalam bentuk buku besar, kuitansi dan kumpulan data yang berhubungan dengan bisnis.
Konsep dasar dari basis data adalah kumpulan dari catatan-catatan, atau potongan dari pengetahuan. Sebuah basis data memiliki penjelasan terstruktur dari jenis fakta yang tersimpan di dalamnya: penjelasan ini disebut skema. Skema menggambarkan obyek yang diwakili suatu basis data, dan hubungan di antara obyek tersebut. Ada banyak cara untuk mengorganisasi skema, atau memodelkan struktur basis data: ini dikenal sebagai model basis data atau model data. Model yang umum digunakan sekarang adalah model relasional, yang menurut istilah layman mewakili semua informasi dalam bentuk tabel-tabel yang saling berhubungan dimana setiap tabel terdiri dari baris dan kolom (definisi yang sebenarnya menggunakan terminologi matematika). Dalam model ini, hubungan antar tabel diwakili denga menggunakan nilai yang sama antar tabel. Model yang lain seperti model hierarkis dan model jaringan menggunakan cara yang lebih eksplisit untuk mewakili hubungan antar tabel.
Istilah basis data mengacu pada koleksi dari data-data yang saling berhubungan, dan perangkat lunaknya seharusnya mengacu sebagai sistem manajemen basis data (database management system/DBMS). Jika konteksnya sudah jelas, banyak administrator dan programer menggunakan istilah basis data untuk kedua arti tersebut.

Perangkat lunak basis data

Perangkat lunak basis data yang banyak digunakan dalam pemrograman dan merupakan perangkat basis data aras tinggi (high level):
Selain perangkat lunak di atas, terdapat juga perangkat lunak pemrograman basis data aras rendah (low level), diantaranya: