Procedure dan Fungsi pada pascal


Baik kali ini kita masuk kebagian procedure dan fungsi di pascal.
tapi sebelum membahas lebih jauh kita kenali dulu kira-kira apa sih perbedaan procedure dan fungsi di pascal.
perbedaannya yaitu.
1. Prosedur diawali dengan dengan kata procedure untuk mendeklarasikannya
contoh : procedure hitung_angka;
kalau fungsi di awali dengan kata function
function hitung_bilangan: integer;
2. Procedure tidak mengembalikan nilai ke program utama, sedangkan fungsi akan mengembalikan nilai ke program utama, itu sebabnya fungsi harus ada tipe datanya (integer, char atau string).

3. Procedure outputnya diletakkan di dalam procedure, kalau fungsi outputnya di letakkan di program utama.
4. Prosedur di panggil diprogram utama dengan menuliskan nama procedure tersebut di program utama. contoh :hitung_bilangan;
Fungsi di panggil dengan memasukkan ke suatu variabel. atau bisa juga dengan langsung menuliskannya di program utama.
contoh. hasil:= hitung_bilangan(a,b);
atau write('hasilnya adalah ', hitng_bilangan(a,b));

baik langsung saja ke contoh..
program aritha_pascal;
uses wincrt;

procedure nama;
var nm: string;

begin
write('masukkan nama anda ');
readln(nm);
write('haloo ', nm);
end;

begin
writeln('-======Program Procedure Input Nama======-');
nama;
end.



Procedure dengan parameter Input dan parameter Output


kalau kita lihat contoh program sebelumnya perintah input read(nama); dan output write(nama); berada di procedure yang sama. nah bagai mana caranya apabila kita membaca input di procedure a. kemudian menampilkannya di procedure b.
untuk melakukan itu kita membutuhkan yang namanya parameter. parameter ada 2 parameter input yang berfungsi sebagai inputan untuk procedure tesebut. dan yang kedua adalah parameter output. yang berufngsi untuk memberikan output pada variabel yang di parameterkan.

program aritha_pascal;

uses wincrt;

procedure inputnama (var nm:string);
begin
write('masukkan nama anda ');
readln(nm);
end;

procedure tampilnama (nm:string);
begin
write('haloo ',nm);
end;


var nama:string;
begin
writeln('-======Program Procedure Input Nama======-');
inputnama(nama);
tampilnama(nama);

end.


pada prosedur inputnama tulisan yang berwana merah (var nm:string) adalah parameter output (parameter by reference). dimana nama yang di inputkan di dalam procedur akan menjadi output pada program utama sehingga di program utama nama yang telah di inpukan tadi bisa digunakan. ciri2 parameter output adalah dengan adanya var pada (var nm:string)

sedangkan untuk parameter input tidak menggunakan var. lihat coding di procedure tampilnama yang berwana biru (nm:string) nah in adalah contoh parameter input (parameter by value)

contoh lain
program aritha_pascal;
uses wincrt;

procedure inputan(alas: integer; tinggi:integer; var luas:real);
begin
write('masukkan nilai alas : '); readln(alas);
write('masukkan nilai tinggi : '); readln(tinggi);
luas:= alas*tinggi/2;
end;

var a,t:integer;
luas : real;
begin
writeln('-======Program Procedure Luas segitiga======-');
writeln;
inputan(a,t,luas);
write('luas segitiga adalah : ', luas:0:2);
end.


Fungsi


program aritha_pascal;
uses wincrt;

function luassegitiga(alas: integer; tinggi:integer) : real;
var luas:real;
begin
luas:= alas*tinggi/2;
luassegitiga:= luas;
end;


var a,t:integer;
luas : real;

begin
writeln('-======Program Fungsi Luas segitiga======-');
writeln;
write('masukkan nilai alas : '); readln(a);
write('masukkan nilai tinggi : '); readln(t);

write('luas segitiga adalah : ', luassegitiga(a,t):0:2);

end.


tulisan yang berwarna merah adalah pemanggilan fungsi yang memberikan nilai luas dari segitiga.

kayaknya segitu aja deh ya contoh buat fungsi dan procedure. semoga bermanfaat :)
Read more.....

Perulangan pada pascal.

Perulangan adalah sebuah perintah yang menjalankan suatu perintah tertentu berulang-ulang sampai suatu kondisi terpenuhi.. msialnya kita ingin mengulangi perintah write('aku mahaiswa'); sebanyak 5 kali. maka kita bisa menggunakan perlangan for i := 1 to 5 do write('aku mahasiswa');

Perulangan ada 3 jenis.
1. Perulangan for do
2. perulangan repeat until
3. perulangan while do


Perulangan for do


contoh perulanga menggunakan for do
program pascal_aritha;
uses wincrt;
var i : integer;

begin
writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');
for i := 1 to 5 do writeln('aku mahasiswa');
end.

Hasil :
aku mahasiswa
aku mahasiswa
aku mahasiswa
aku mahasiswa
aku mahasiswa

contoh lain
program pascal_aritha;

uses wincrt;

var i : integer;

begin

writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');

for i := 1 to 20 do
begin
if (i mod 5<>0) then {jika i mod 5 tidak sama dengan 0 do}
write(' ',i)
else
writeln(' ',i);

end;
end.

Hasil :
1 2 3 4 5
6 7 8 9 10
11 12 13 14 15
16 17 18 19 20

For bersarang
for bersarang adalah perintah for yang di dalamnya terdapat perintah for lagi.
contohnya.
program pascal_aritha;
uses wincrt;
var i,j : integer;

begin
writeln('=============Program Perulangan=============');
writeln(' ======By ArH=====');

for i := 1 to 5 do
begin
for j:= 1 to i do write (i,j,', ');
writeln;
end;
end.

Perhatikan Pada koding diatas terdapat perintah for didalam perintah for

Perulangan for downto
terkadang kita membutuhkan perulangan dimana nilainya menurun. misalnya 5,4,3,2,1 nah untuk kasus ini kita dapat menggunakan perintah for downto

contoh

for i:= 10 downto 1 do write ('no', i);

contoh program yang menghasilkan output seperti ini:


program aritha_pascal;

uses wincrt;
var
a,b,c:integer;

begin
writeln('-======Program Bintang======-');
for c := 1 to 5 do
begin
for a:= 5 downto c do write(' ');
for b:= 1 to c do write('**');
writeln;
end;
end.


Perulangan while


untuk menggunakan perulangan while pertama kita harus mendeklarasikan sebuah variabel untuk menjadi indeks perulangan pada while.
misalnya i:integer;

kemudian kita inisialisasikan nilai awal dari i tersebut. i:=1, berarti perulangan dimulai dari indeks 1

jadi secara umum while seperti ini.

while kondisi do
begin
perintah1;
perintah2;
perintah3;
dst..;
end;

contoh :
i:= 1;
while i<=5 do
begin
writeln('perulangan ke ', i);
i:= i+1
pada tulisan berwarna merah adalah penambahan indeks, agar perulangan tidak diulang terus menerus. jadi pada perulangan ke 2. indeks akan menjadi i:= 1+1, indeks nya 2. pada perulangan ketiga i:= 2+1, jadi indeks nya 3. sampai indeksnya 5 (sudah mencapai batas akhir kondisi i<=5) maka ketika indeksnya 6, perintah tidak diulang lagi.

perhatikan contoh berikut yang akan membuat output seperti ini :
*
**
***
****
dengan menggunakan perulangan while.

program pascal_aritha;

uses wincrt;

var i,j : integer;

begin
i:=1;
j:=1;
while i<=5 do
begin
j:=1;
while j<=i do
begin
write('*');
j:= j+1;
end;
i:= i+1;
writeln;


end;

end.


Perulangan repeat until


hampir mirip dengan while do. dimana repeat until juga memerlukan perintah i:= i+1; atau i:=i-1; untuk menentukan indeksnya menaik atau menurun, agar perulangan tidak diulang secara terus menerus.
bentuk umum perintah repeat until adalah..

repeat
perintah1;
perintah2;
dst..
until kondisi;



berikut contoh program menggunakan repeat until yang akan menghasilkan output seperti ini..
5 10 15 20
25 30 35 40
45 50 55 60
program pascal_aritha;

uses wincrt;

var i : integer;

begin
i:=5;
repeat
write(i,' ');
if i mod 20 = 0 then writeln;
i:=i+5;
until i>=61;
end.


intinya setiap perulangan mau pakai for do, while do atau repeat until terserah anda. gunakan lah cara yang ter mudah dan tercepat menurut anda. :)

Read more.....

Ekspresi logika (if then) (case of)

Ekspresi logika adalah sebuah perintah yang akan mengeksekusi suatu perintah apabila kondisi tertentu terpenuhi..
(wwee bingung)
contoh ekspresi logika misalnya jika umur > 20 maka dewasa kalau tidak berarti masi muda

nah ekpresi tersebut dapat kita gunakan pada pascal dengan sintaks

if umur>20 then write('dewasa')
else write('muda');

if kondisi then perintah_kondisi_terpenuhi
else perintah_kalau_kondisi_tdkterpenuhi

contoh

menentukan bilangan genap atau ganjil



program pascal_aritha;
uses wincrt;

var
a : integer;

begin
writeln('=====Program genap ganjil=====');
writeln(' =====by ArH==== ');

writeln;

write('masukkan sebuah bilangan/angka ');
readln(a);

if (a mod 2 = 0) then write (a, ' merupakan bilangan genap')
else write (a, ' merupakan bilangan ganjil');
end.


contoh lain

Menentutkan bilangan positif negatif atau 0


program pascal_aritha;
uses wincrt;

var
a : integer;

begin
writeln('=====Program Positif Negatif=====');
writeln(' =====by ArH==== ');

writeln;

write('masukkan sebuah bilangan/angka ');
readln(a);

if (a › 0) then
begin
write (a);
write (' merupakan bilangan positif');
end
else if (a‹0) then
begin
write (a);
write (' merupakan bilangan negatif');
end
else
write (a, ' merupakan angka nol');

end.

ingat
apabila perintah yang ingin kita jalankan ketika kondisi terpenuhi tsb lebih dari 1.
misalnya
write(a); write('merupakan bilangan positif'); *ini 2 perintah
atau
read(a); write(a); *ini juga 2 perintah
read(a); a:=a+1; write(a); *ini ada 3 perintah

jadi setiap perintah dipisahkan dengan tanda ";"

selanjutnya koding diatas menjelaskan bahwa apabila bilangan besar 0 maka akan ditulis "bilangan ini positif" namun jika bilangan tsb tidak besar dari 0 maka dilihat kondisi selanjutnya (else if a‹0) jika a kecil dari 0 maka akan di tulis output "bilangan negatif" apabila kedua kondisi tersebut tidak terpenuhi, maka di jalankan perintah yang ada pada kondisi terakhir (else)


contoh lain

Bilangan terbesar dari 3 bilangan



program pascal_aritha;
uses wincrt;

var
a,b,c : integer;
terbesar : integer;

begin
writeln('=====Program Bilangan terbesar=====');
writeln(' =====by ArH==== ');

writeln;

writeln('masukkan 3 buah bilangan/angka ');

write('bil pertama : ');
readln(a);

write('bil kedua : ');
readln(b);

write('bil ketiga : ');
readln(c);

terbesar:=0;

if (a › b) then
terbesar:= a
else terbesar:=b;

if (terbesar › c) then
terbesar := terbesar
else
terbesar:= c;

write ('bilangan terbesar adalah ', terbesar);
end.

Pe Er buat kalian, :P
coba buat program Menentukan nilai huruf mahasiswa

jika nilai ›70 dan ‹= 100 maka nilai huruf ='A'
jika nilai ›60 dan ‹= 70 maka nilai huruf ='B'
jika nilai ›50 dan ‹= 60 maka nilai huruf ='C'
jika nilai ›40 dan ‹= 50 maka nilai huruf ='D'
jika nilai ‹= 40 maka nilai huruf ='E'

Case of


guna case hampir sama dengan if, terkadang ada suatu kasus yang lebih mudah menggunakan if then. ada juga suatu kondisi yang lebih mudah menggunakan case of.

sintaks case of apabila variabel nya integer

var
pilihan : integer;
begin

case pilihan of
1 : write('pilihan1');
2 : write('pilihan2');
3 : write('pilihan3');
end;
end.


sintaks case of apabila variabel nya char

var
pilihan : char;
begin

case pilihan of
'a' : write('pilihan1');
'b' : write('pilihan2');
'b' : write('pilihan3');
end;
end.

selain itu anda juga dapat mengunakan case dengan cara seperti ini.

case pilih of
'a'..'g' :write('anda memasukkan huruf diatara a-g');
'h'..'n' :write('anda memasukkan huruf diatara h-n');
else write('anda memasukkan huruf yang lain');
end;

contoh program

Program Menu pilihan



program pascal_aritha;
uses wincrt;

var
menu : integer;

begin
writeln('=====Program Menu Pilihan=====');
writeln(' =====by ArH==== ');

writeln;

writeln('Fakultas-Fakultas di UIN SUSKA');
writeln('1. Sains dan teknologi ');
writeln('2. Tarbiyah ');
writeln('3. Ekonomi ');
writeln;

writeln('Silah kan pilih menu (1-3) ');
read(menu);
case menu of
1: begin
writeln('jurusan pada Sains dan teknologi adalah');
writeln('1. teknik informatika');
writeln('2. teknik industri');
writeln('3. teknik elektro');
writeln('4. Matematika');
writeln('5. Sistem Informasi');
end;

2 : begin
writeln('jurusan pada Fakultas Ekonomi adalah');
writeln('1.eee');
writeln('1.ccc');
end;

end.

3 : begin
writeln('jurusan pada Tarbiyah adalah');
writeln('1.aaa');
writeln('1.bbb');
end;
else writeln('menu tidak ada');
end;
end.

Read more.....

Variabel dan konstanta pada pascal

variabel : untuk menyimpan data yang nilainya bisa diubah2.
const : konstanta yang nilainya tida bisa diubah2..

contoh penggunaan const adalah ketika menghitung luas lingkaran. dimana nilai phi = 3.14 tidak bisa dirubah2.. maka dari itu lebih baik kita menggunakan konstanta.

program pascal_aritha;
uses wincrt;

const phi = 3.14;

var
r : integer;
luas : real;

begin
write ('==============Program Luas Lingkaran===============');
writeln;


write('masukkan jari-jari ');
readln(r);

writeln;

luas:= phi*r*r;
writeln('luas =', luas:0:2);
end.


untuk mendeklarasikan sebuah konstanta dan nilainya. menggunakan perintah const nama_konst = nilainya;
fungsi dari luas:0:2 adalah untuk menampilkan 2 angka ibelakang koma.

kemudian pada variabel luas type datanya tida integer lagi. tapi real. kenapa? karena integer adalah type data untuk bilangan bulat. karena luas merupakan bilangan berkoma (karena mengalikan nya dengan 3.14) maka kita menggunakan type data real untuk bilangan berkoma.

tipe data


integer : bilangan bulat
real : bilangan berkoma
boolean : variabel boolean yang bernilai true atau false
char : kareakter yang berisi 1 karakter misalnya a, b atau z
string : untuk menyimpan kata atau kalimat

kita juga bisa membuat type data yang baru. misalnya kita ingin membuat type data yang bisa menampung nilai bilangan bulat.

type
bulat =integer;

jadi di bagian var nya kita bisa menggunakan tipe data tersebut

bulat p;
seperti itu..

lanjut.

program menghitung rata2 tiga bilangan


program pascal_aritha;
uses wincrt;

const x= 3;

var
a,b,c : integer;
rata : real;

begin
write ('==============Program Rata Rata===============');
writeln;


write('masukkan nilai pertama ');
readln(a);

write('masukkan nilai kedua ');
readln(b);

write('masukkan nilai ketiga ');
readln(c);


rata:= (a+b+c)/x;
writeln('rata-ratanya adalah =', rata:0:2);
end.


Read more.....

Pascal pendahuluan


Pascal merupakan bahasa pemrograman prosedural yang cocok di pelajari untuk pemula yang ingin belajar pemrograman. Mengapa demikian? karena pascal sitaks (aturan penulisan) nya mirip dengan algoritma. sehingga kita bisa dengan mudah mengimplementasikan algoritma kedalam bahasa pascal.

baiklah langsung saja kita mulai mengenal bagaimana menggunakan bahasa pemrograman pascal.
pertama yang kita perlukan adalah software compiler yang bisa menterjemahkan bahasa pascal kedalam perintah2 yang dimengerti oleh komputer. anda dapat mengunakan aplikasi kompiler pascal seperti turbo pascal. anda dapat mendownloadnya disini..

memberi output pada program


untuk menampilkan tulisan "hello world" pada pascal anda dapat menggunakan sintaks berikut.

program pascal_pertamaku;
uses wincrt;
begin
write('hello world');

end.


Penjelasan : pada baris pertama program pascal_pertamaku;
merupakan pemberian nama program yang kita buat. aturan2 dalam memberi nama adalah
1. tidak boleh menggunakan spasi " "
2. kalau mau meisahkan kata pakai udedscore "_"
3. ga boleh menggunakan nama yang merupakan sintaks pada pascal. misalnya write, read, for atau while
4. di akhirnya hari di beri tanda titik koma ";"

untuk menjalankan program heloword diatas, tekan tombol ctrl f9 pada keyboard (jika menggunakan TPW.
maka hasilnya akan seperti ini,


lanjuut..
ada perbedaan antara sintaks write ('haloo'); dan writeln('haloo');

perbedaannya adalah kalo kita menggunakan write saja. maka tulisan dibuat pada baris tsb. tapi kalo writeln setelah tulisan akan dibuat baris baru.
nih contohnya..
program pascal_pertamaku;
uses wincrt;

begin
write ('hello, ');


writeln('setelah tulisan ini baris baru loh');
writeln('haai');
write('dorr');
end.


input dari user


untuk meminta input dari user kita bisa menggunakan perintah read(nama_variabel); atau readln(nama_variabel);

lihat contoh berikut (*upps jangan cuma dilihat.. di cobain doong hehe)

program pascal_pertamaku;
uses wincrt;

var
nama: string;

begin
write ('hello, ');


writeln('siapa namamu?');
readln(nama);

writeln('nama kamu ', nama);
end.


Penjelasan : pada bagian atas ada penambahan sintaks
var
nama : string;

nah ini gunanya adalah untuk menampung nama yang yang dimasukkan user. kemudian menampilkannya pada output dengan menggunakan printah writeln('nama kamu', nama);
anda juga bisa menampilkan nama dengan menggunakan perintah write(nama);
seperti itu. ingat. untuk menampilkan nilai dari suatu variabel. jangan menggunakan tanda petik (') pada write nya..mudah mudahan ga bingung ya

okee.. lanjut lagi.. :)
nih yang terakhir. membuat program menghitung luas persegi panjang. yang meminta user untuk menginputkan panjang dan lebar. lalu program menghasilkan output berupa luas (panjang x lebar)

nih contohnya.
program pascal_pertamaku;
uses wincrt;

var
p : integer;
l : integer;
luas : integer;

begin
write ('==============Program Luas Persegi Panjang===============');
writeln;


writeln('masukkan panjang ');
readln(p);


writeln('masukkan lebar ');
readln(l);
writeln;

luas:= p*l;
writeln('luas =', luas);
end.


untuk memberi nilai pada suatu variabel mengunakan sintaks :=
misalnya luas := p * l;
berarti nilai luas tersebut adalah p dikali l
Read more.....

RPL Layer Technologi & Framework Action (tahap Requirment)

apa itu Layer technologi? apa pula tuh Framework Action?. bingung?
hehe santai sob... mari kita bahas pelan pelan.. tarik napas dalam dalam en letss go.. :P
tapi tapi.. sebelum membahas Layer technologi kita mengetahui dulu apa itu sebenarnya Software. karena lucu aja gangerti apa itu software tapi paham tentang layer technologi (yang secara garis besar sebenernya adalah hal yang perlu di perhatikan dalam membuat software). software bukan sekedar perangkat lunak. jadi apa itu software?

Software merupakan perangkat lunak yang mana dalam pengembangannya ada terdapat programing, procedure, data/database, dan yang paling penting adalah dokumentasi. dokumentasi sangat bermanfaat untuk kedepannya apabila terjadi kerusakan pada sistem, dengan adanya dokumentasi software akan mudah untuk memperbaikinya.

software sering gagal (tidak dipakai) karena tidak adanya maintenance dan dokumentasi.

nah dalam pengembangan software, ada Layer Technology, tahapan hal hal yang harus diperhatikan dalam pengembangan software. apa saja kah itu?

(gambar)

pada lapisan paing bawah adalah Quality Focus. yang dimaksud dengan quality focus adalah memenuhi kebutuhan user, dan efektif serta efisien (kinerjanya) baik dari segi waktu maupun biaya.
efisien menghemat/mengurangi kebutuhan baik dari segi waktu maupun biaya.
efektif tepat dan sesuai dengan kebutuhan.

yang harus di perhatikan setelah itu adalah layer/lapisan selanjutnya, yaitu Process Model. pemilihan process model dalam pengembangan software juga harus diperhatikan. dengan memperhatikan biaya yang kita punya, terus lama waktu pembuatan software dll kita harus memilih process model yang tepat. model proses yang bisa kita gunakan bisa berupa waterfall, RAD, prototype dll yang bisa anda lihat lebih lengkap disini.

selanjutnya layer methode dan tools (nah yang ini belum dibahas di kampus :P )

Untuk memenuhi syarat layer yang paling bawah (Quality Focus) dibutuhkan Framework action.
Framework action adalah urutan/tahapan2 yang harus di lalui/dikerjakan agar software yang dibuat berkualitas dan sesuai dengan yang di butuhkan user.

(nah sudah tau sekarang apa itu Framework action kan ^^)
mari kita bahas apa saja tahapan2 tersebut.

Framework Action


secara garis besar, berkut adalah tahapan-tahapan dalam framework action

1. COMUNICATION : pengembang software bertemu dengan user untuk membicarakan keinginan user, fitur-fitur apa saja yang dinginkan user, dll.

2. PLANING : pada tahap ini, kita menentukan berapa jumlah tenaga kerja yang dibutuhkan, biaya, teknologi apa saja yang dibutuhkan, tools apa saja. dll. pada tahap ini kita membuat Road Map, yang bertujuan untuk menentukan list pekerjaan pada tiap tiap bulannya. misalnya waktu pengerjaan software 3 bulan, pada roadmap ditentukan pada bulan pertama minggu pertama apa saja yang dikerjakan, minggu kedua apa yang dikerjakan, minggu ketiga dst.

3. MODELLING : pada tahap ini dibagi menjadi 2 bagian,
a. Analysis requirment (menganalisa fungsi (DFD), dan Data (DFD))
b. Design, menentukan struktur menu, database dan interface.
4. CONSTRUCTION : membuat software berdasarkan design yang sudah dibuat.

untuk artikel kali ini akan membahas tahap pertama comunication/requirment terdapat bagian bagian nya lagi. jadi kita ga sembarangan aja mencari informasi kebutuhan user tadi. agar software yang kita buat pun sesuai dengan kebutuhan user.

Requirment


tahapan requirment dibagi menjadi : Inception (permulaan), Elicitation (perolehan), Negosiation, Validasi

1. Inception
pada tahap ini kita mengetahui basic problem (permasalahan dasar) dari si user. apa masalah mereka selama ini, dan kemudian mengetahui siapa yang menginginkan/membutuhkan solusi.
mengetahui solusi yang di inginkan.
pada tahap ini juga diharuskan sudah membangun sebuah komunikasi awal yang efektif antar software enginer dan user.

2. Elicitation
tahap inilah tahap yang paling lama dalam tahapan Requirment. dimana tahapan ini bertujuan untuk mengumpulkan semua data dari stake holder (yang berkepentigan dengan software yang dibuat)
misalnya : software akademik kampus, yang berkepentingan adalah mahaiswa, dosen, karyawan, dekan, masyarakat, bank (untuk pembayaran spp)
pada tahap ini juga mengetahui stak holder apa saja yang bisa menggunakan sistem (misalnya mahaiswa bisa menggunakan sistem pengisian KRS, pemilihan dosen, tapi tidak bisa menggunakan sistem pengisian nilai) *gawat juga kalau mahaiswa bisa mengisi nilai sendiri :P

kegiatan pada tahapan Elicitation yaitu
- set meeting/pertemuan antara Software enginering dengan client/user
- buat aturan dan sanksi untuk mempersiapakn meeting bagi pihak (baik S.E maupun user) yang tidak mengikuti meeting, yang sering terlambat menghadiri meeting dll.
- mempersiapkan agenda meeting
- ada fasilitator yang memoderatori meeting agar meeting benar-benar berkualitas
- ada peralatan meeting. seperti laptop, infokus, spidol, flipchart dll.

tujuan pada bagian elicitation adalah mempertemukan stake holder, mencarikan solusi, baik berupa technical (software/hardware) maupun solusi proses, mengetahui semua kebutuhan software.
apabila dari masing2 kebutuhan stake holder ada yang bertentangan masuk ke tahap selanjutnya, yaitu negosiation.

Negosiation
mencari win win solution antar stake holder untuk mencapai kesepakatan yang sama-sama menguntungkan (atau setidaknya tidak merugikan pihak manapun). setelah mencapai kesepakatan maka kita membuat laporan yang berbentuk proposal yang akan di proses pada tahap selanjutnya, tahap validasi.

Validasi
ini merupakan tahap terakhir. dimana laporan/proposal yang sudah jadi di cek dan ditanyakan kembali pada stake holder.
pada tahap validasi S.E (software engginer) melakukan review pada semua proses yang sudah dilakukan, mengetahui error yang ada, menemukan informasi yang ilang/tertinggal, mengetahui kalau ada yang tidak konsisten, mengetahui kalo ada yang tidak realistis.

jika sudah disepakati, proposal inilah panduan/pegangan si software enginering dalam membuat software, jika ada permintaan baru oleh user, maka bisa jadi biayanya pun akan bertambah lagi.

jika proposal sudah di validasi langkah selanjutnya
membuat Use Case diagram

dengan menentukan aktor dan usecase nya
aktor orang,bagian/sistem lain yang bisa berinteraksi dengan sistem
usecase aksi yang bisa dilakukan aktor dalam sistem
usecase diagram diagram yang menggambarkan aktor dan hubungan dengan usecase yang bisa dilakukan.
misalnya
aktor mahasiswa, usecasenya mengisi krs, melihat nilai, melihat jadwal dll.
aktor dosen, usecasenya melihat jadwal, mengisi nilai, melihat nilai dll.

usecase spesification penjelasan lebih rinci tetang suatu usecase.
misalnya usecase mengisi KRS
aktor : mahasiswa
kondisi awal : sudah autodebet
main scenario : 1. mahsiswa membuka tampilan login.
2. mahasiswa memasukkan username dan password
3. mahasiswa mebuka tampilan isi KRS
4. mahasiswa mengisi KRS
5. mahasiswa menyimpan KRS dst..


selesai.. :) untuk tahap selanjutnya insyaAllah di lanjutkan dah ntar.
Read more.....

RPL (SOFTWARE PROCESS MODELS)



dalam membuat software ternyata ada beberapa model yang dapat digunakan agar software yang dibuat bisa sesuai dengan apa yang di inginkan klien.
pada artikel kali ini saya akan membahas satu persatu model-model pembuatan software

A. WATERFALL MODEL



waterfall model/linier sequential, Pengembangan software pada model ini menggunakan beberapa tahapan yang akan lumayan menyita waktu. Dimana jika suatu tahapan belum diselesaikan, maka tahapan yang lain belum bisa dikerjakan.

Tahap yang pertama communication/requirement dimana si pengembang software akan bertemu dengan klien lalu menanyakan apa saja yang diinginkan si klien pada software yang akan dibuat. Apa saja kendala yang dihadapi selama ini sehingga software yang dibuat akan menjadi solusi yang tepat yang bisa mempermudahkan pekerjaan. Kalau semua informasi sudah didapat dan kebutuhan klien sudah diketahui, maka lanjut ketahap berikutnya.

Tahap selanjutnya Desain, yaitu membuat blue print atau bentuk rancangan software yang akan dibuat. Pada tahap ini si pembuat software akan sering kembali ke klien untuk menanyakan (konfirmasi) apa bener software yang ingin dibuat adalah seperti ini (kembali ke tahap communication). Kemudian jika ada perubahan maka software tersebut di desain lagi sampai desain tersebut memang benar-benar sudah sesuai dengan apa yang dibutuhkan oleh klien.

Tahap berikutnya jika desain sudah selesai adalah tahap Implementation. Pada tahap ini software sudah mulai dibuat berdasarkan desain (blueprint) yang telah di buat. Fitur-fitur yang diinginkan si klien sudah mulai di implementasikan dalam bentuk baris-baris koding. Nah pada tahap ini terkadang si pembuat software masih sering kembali ke klien untuk mendiskusikan hal-hal mengenai software tersebut misalnya seperti basis datanya, template/tampilan software, warna dll. Sehingga software yang dibuat bisa nyaman digunakan klien. Setelah semua desain di implementasikan dalam baris-baris koding dan membetuk sebuah software.

Setelah software sudah jadi maka tahap selanjutnya adalah verification. Jangan senang dulu kalau software sudah selesai, karena masih ada tahap verifikasi dimana user diminta untuk menguji software yang kita buat. Apakah sudah bekerja dengan baik ataukah masih ada error dan bug. Jika masih ada error maka terpaksa si pembuat software harus kebali lagi ketahap implementasi dan memperbaiki error tersebut. Ketika software sudah di uji dan tidak ada error maka software diberikan kepada klien sepenuhnya dan pembuat software pun mendapatkan bayarannya.

Walau kita telah mendapat bayaran bukan berarti kita sudah lepas pekerjaannya. Ternyata masih ada langkah selanjutnya. Yaitu Maintenance. Software yang telah dibuat tadi telah digunakan dan tidak ada error. Tetapi beberapa tahun kemudian bisa jadi adanya kebutuhan baru yang membutuhkan perombakan pada software. Misalnya penggantian basis datanya, atau penambahan fitur agar bisa di akses secara online dll. Pada initinya tahapan maintenance kita merombak software sesuai dengan keubutuhan klien, tapi bukan membuat kembali dari awal software tersebut, hanya sekedah menambah fitur-fitur, menambah panjang data pada basis datanya dll.

Kelebihan waterfall
• Dituntut bekerja secara disiplin
• Kelengkapan dokumen
• Maintnance mudah karena dokumen lengkap

Kekurangan waterafall
• Jika komunikasi tidak lancer maka konsumen susah menjelaskan apa saja yang diinginkan pada software yang ingin dibuat
• Proses lambat karena alur linier (searah)
• Konsumen tidak dapat melihat hasilnya hingga akhir tahapan
• Personil tidak bekerja optimal, karena ada waktu tunggu tahapan selesai.

B. INCREMENTAL MODEL



Proses kerjanya adalah satu set pekerjaan dikerjakan dahulu (communication – deployment) baru diberi penambahan lagi. Produk pertamanya adalah core product. Setelah itu, increment dengan menambah fitur-fitur lainnya sehingga lama-lama program menjadi bagus. Jadi prinsipnya bisa digambarkan seperti pengulangan waterfall model.

Kelebihan Incremental Model
• Personil bekerja optimal
• Cocok jika jumlah anggota tim pengembang/pembangun tidak cukup
• Pihak konsumen dapat langsung menggunakan dahulu bagian-bagian yang telah selesai dibangun. Contohnya pemasukan data karyawan
• Mampu mengakomodasi perubahan secara fleksibel
• Mengurangi trauma karena perubahan sistem. Klien dibiasakan perlahan-lahan menggunakan produknya bagian per bagian
• Memaksimalkan pengembalian modal investasi konsumen
• Produk yang dihasilkan pada increment pertama bukanlah prototype, tapi produk yang sudah bisa berfungsi dengan spesifikasi dasar

Kekurangan Incremental Model
• kemungkinan tiap bagian tidak dapat diintegrasikan
• hanya cocok untuk proyek berukuran kecil (tidak lebih dari 200.000 baris coding
• Dapat menjadi build and Fix Model, karena kemampuannya untuk selalu mendapat perubahan selama proses rekayasa berlangsung
• mungkin terjadi kesulitan untuk memetakan kebutuhan pengguna ke dalam rencana spesifikasi masing-masing hasil increment

C. THE RAD MODEL



Rapid Aplication Development (RAD) adalah sebuah metode untuk mengembangkan software yang diciptakan untuk mengurangi waktu yang dibutuhkan untuk mendesain serta mengimplementasikan sistem, sehingga dihasilkan siklus pengembangan yang sangat pendek.
Model RAD ini merupakan adaptasi dari model sekuensial linier. RAD dapat mengurangi waktu pembuatan software dengan cara mengerjakan pembuatan software dengan membagi pekerjaan berdasarkan komponen-komponen tertentu. pendekatan RAD meliputi fase – fase berikut

1. Bussiness modeling
menjawab pertanyaan-pertanyaan: informasi apa yang mengendalikan proses bisnis? Informasi apa yang dihasilkan? Siapa yang menghasilkan informasi? Kemana informasi itu diberikan? Siapa yang mengolah informasi? (kebutuhan dari system)

2. Data modeling
aliran informasi yang sudah didefinisikan, disusun menjadi sekumpulan objek data. Ditentukan karakteristik/atribut dan hubungan antar objek-objek tersebut (analisis kebutuhan dan data)

3. Prosess modelling
objek data yang sudah didefinisikan diubah menjadi aliran informasi yang diperlukan untukmenjalankan fungsi-fungsi bisnis.

4. Aplication generation
RAD menggunakan component program yang sudah ada atau membuat component yang bisa digunakan lagi, selama diperlukan.

5. Testing and turnover
Karena menggunakan component yang sudah ada, maka kebanyakan component sudah melalui uji atau testing. Namun component baru dan interface harus tetap diuji.

Keunggulan:
1. Waktu pengembangan yang lebih singkat dan
2. Biaya yang relatif lebih murah

Kelemahan:

1. Tidak cocok untuk proyek skala besar karena RAD memerlukan sumber daya manusia yang memadai untuk menciptakan jumlah tim RAD yang baik
2. Proyek bisa gagal karena waktu yang disepakati tidak dipenuhi
3. Sistem yang tidak bisa dimodularisasi tidak cocok untuk model
4. Resiko teknis yang tinggi juga kurang cocok untuk model ini.
5. RAD menuntut pengembangan dan pelanggan memiliki komitmen di dalam aktivitas rapid-fire yang diperlukan untuk melengkapi sebuah sistem, di dalam kerangka waktu yang sangat diperpendek. Jika komitmen tersebut tidak ada, proyek RAD akan gagal.

D. PROTOTYPING MODEL



Model prototype memiliki 3 tahapan yang pertama adalah listen to customer. Pada tahap ini hapir sama dengan tahap communication pada model waterfall. Hanya saja pada model prototype tidak menanyakan dengan detail apa saja yang diinginkan klien. Namun hanya obrolan ringan saja membahas tentang keingin klian pada software yang akan dibuat, kebutuhan umum dll.
Langkah selanjutnya adalah build, software yang berbentuk prototype di buat, yang mana nantinya akan di berikan ke klien lalu klien akan mengomentari apa saja yang ingin di tambahkan/dikurangi.

Langkah selanjutnya adalah customer test dimana klien dapat menyoba software yang telah di buat. Namun yang di test disini bukanlah software yang sebenarnya, hanyalah berupa prototype. Apabila ada keinginan customer untuk menambah fitur-fitur nya maka proses kembali ketahap listen to customer kemudian software tersebut di build dan dibuat prototypenya sampai software sudah benar-benar sesuai dengan yang diharapkan klien.

Kelebihan Prototype
• Umpan balik balik terhadap hasil dapat diperoleh lebih cepat.
• Mengurangi biaya pengembangan dan pemeliharaan
• Dapat bereksperimen dengan perancangan alternatif
• Dapat memperbaiki masalah penggunaan sebelum dibuat programnya
• Perancangan dapat tetap berpusat pada pengguna
• Penentuan kebutuhan lebih mudah diwujudkan
• Adanya komunikasi yang baik antara pengembang dan pelanggan
• Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
• Pelanggan berperan aktif dalam pengembangan sistem
• Lebih menghemat waktu dalam pengembangan sistem
• Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya.

Kekurangan
• Informasi tentang keinginan klien tidak terlalu detil sehingga terkadang prototype yang dibuat tidak sesuai dengan keinginan klien sehingga diharuskan merombak ulang
• Terkadang konsumen tidak menyadari bahwa prototype yang diberi pengembang adalah contoh (bukan software yang sebenarnya) sehingga menyebabkan klien kecewa.
• Proses analisis dan perancangan terlalu singkat
• Mengesampingkan alternatif pemecahan masalah
• Bisanya kurang fleksible dalam mengahadapi perubahan
• Prototype yang dihasilkan tidak selamanya mudah dirubah
• Prototype terlalu cepat selesai

E. SPIRAL MODEL



Boehm (1988) mengusulkan sebuah model yang secara explisit menjelaskan bahwa resiko yang disadari mungkin membentuk dasar model proses umum.

Model yang diusulkan Boehm berbentuk spiral dan merupakan kombinasi dari Prototyping Model dengan Waterfall Model. Setiap tahapan model ini selalu dilakukan Risk Analisys dan verifikasi atau testing.

Pada model ini secara garis besar dibagi menjadi 4 proses pada tiap iterasinya.
1) Determine objectives (menetukan tujuan)
menentukan tujuan dari fase yang ditentukan. Batasan-batasan pada proses dan produk sudah diketahui. Perencanaan sudah disiapkan. Resiko dari proyek sudah diketahui. Alternatif strategi sudah disiapkan berdasarkan resiko-resiko yang diketahui, dan sudah direncanakan.

2) Risk Analysis and reduction (menganalisa dan mengurangi resiko)
setiap resiko dianalisis secara detil pada sektor ini. Langkah langkah penanganan dilakukan, misalnya membuat prototype untuk mengetahui ketidak cocokan kebutuhan. dll
Risk Analysis yang dilakukan adalah :
• Project risk, mempengaruhi rencana proyek, contoh kekurangan sumber daya
• Technical risk, mempengaruhi tahap aktual, contoh : personil tidak terlatih di tahap tersebut
• Bussines risk, mempengaruhi keinginan perusahaan untuk membuat software, contoh : software tidak diperlukan

3) Engineering/Development and Validation (pembangunan dan pengujian)
Setelah melakukan evaluasi resiko, maka model pengembangan sistem dipilih. Misalnya jika resiko user interface dominan, maka membuat prototype User Interface. Jika bagian keamanan yang bermasalah, maka . menggunakan model formal dengan perhitungan matematis, dan jika masalahnya adalah integrasi sistem model waterfall lebih cocok.

4) Plan next phase
Penentuan rencana-rencana untuk tahap selanjutnya. Jika diputuskan untuk melanjutkan pada loop spiral berikutnya maka proyek dibicaraka kembali dan rencana dibuat untuk tahap selanjutnya
Pada setiap iterasi spiral tidak mesti menggunakan model yang sama disetiap iterasinya. Bisa saja terjadi perubahan pada iterasi ke2 misalnya menggunakan model prototype sedangkan pada tahap1 (iterasi pertama) menggunakan waterfall.
Kelebihan nya.
• Merupakan kombinasi antara model prototype dan waterfall.
• Memiliki risk analysis yang berguna untuk mengetahui apa saja resiko yang bisa terjadi sehingga kita dapat memikirkan solusi untuk resiko tersebut.
• Adanya prototype memudahkan komunikasi dengan konsumen

Kekurangan Spiral Model
• Biasanya pihak pengembang dan perusahaan berada pada satu pihak yang sama
• Tahapan analisa resiko sewaktu-waktu dapat membatalkan proses rekayasa, jika pihak pengembang adalah pihak di luar perusahaan, maka timbulah masalah hukum

F. COMPONENT BASED DEVELOPMENT MODEL


Component based development model sangat mirip dengan konsep pemrograman berorienatasi objek (PBO). Dimana pada pemrograman berorientasi objek, kita ketahui ada banyak class yang dibangun dan menjadi komponen dalam suatu software. Class-class tersebut bersifat reusable, artinya bisa digunakan kembali.
Model ini bersifat iteratif atau berulang-ulang prosesnya.
Secara umum proses yang terjadi dalam model ini adalah:
1. Identifikasi class-class yang akan digunakan kembali dengan menguji class tersebut dengan data yang akan dimanipulasi dengan aplikasi/software dan algoritma yang baru

2. Class yang dibuat pada proyek sebelumnya disimpan dalam class library, sehingga bisa langsung diambil dari library yang sudah ada. Jika ternyata ada kebutuhan class baru, maka class baru dibuat dengan metode berorientasi objek.

3. Bangun software dengan class-class yang sudah ditentukan atau class baru yang dibuat, integrasikan.

Kelebihan model component based developed model
• Mampu mengurangi siklus waktu pengembangan software, 70%
• biaya produksi berkurang sampai 84% karena pembangunan komponen berkurang..
• Pembangunan software dengan menggunakan komponen yang sudah tersedia dapat menggunakan komponen COTS (Commercial off-the-shelf) – yang bisa didapatkan dengan membeli atau komponen yang sudah dibangun sebelumnya secara internal
• Menggunakan model reuse, pada komponen yang sudah mewakili kebutuhan umum
Kekurangan
• Model ini bersifat iteratif atau berulang-ulang prosesnya.
• Sistem yang tidak bisa dimodularisasi tidak cocok untuk model ini.

G. THE FORMAL METHOD MODEL


Model ini jarang sekali digunakan, sedangkan sederetan aktifitas dinyatakan dalam bentuk matematik.
Kelebihan format methods model
• Cocok untuk membuat software yang mementingkan keselamatan, software yang dihasilkan biasanya bersifat defect-free.
Kelemahan formatmethods model
• Memerlukan waktu dan biaya yang banyak
• Software developer yang memiliki latar belakang ilmu pengetahuan yang dibutuhkan model ini sedikit
• Sulit digunakan bila costumer tidak mengerti secara teknis penerapan model ini

H. UNIFIED PROCESS MODEL


Unified Process (UP) atau kadang disebut sebagai Unified Software Development Process (USDP) adalah kerangka proses pengembangan yang bersifat use-case-driven, berpusat pada arsitektur perangkat lunak, interatif dan tumbuh-kembang (Alhir, 2005). Kerangka pengembangan ini termasuk baru dalam metodologi pengembangan perangkat lunak. UP dapat diaplikasikan pada berbagai skala proyek, mulai dari skala kecil sampai dengan skala besar. Daur hidup UP secara umum akan tampak seperti pada bagan di Gambar dibawah. Bagan ini biasa disebut sebagai “hump chart”. Pada bagan ini terlihat ada empat tahap pengembangan yaitu inception, elaboration, construction dan transition. Selain itu tampak pula sejumlah aktivitas (disciplines) yang harus dilakukan sepanjang pengembangan perangkat lunak, yaitu, business modeling, requirements, analysis and design, implementation, test. Tahap dan aktivitas tersebut akan dilakukan secara iteratif (Ambler, 2005).

Penjelasan singkat untuk empat tahapan dalam UP adalah sebagai berikut
• Inception. Tahapan ini merupakan tahapan paling awal dimana aktivitas penilaian terhadap sebuah proyek perangkat lunak dilakukan. Tujuannya adalah untuk mendapatkan kesepakatan dari stakeholder sehubungan dengan tujuan dan dana proyek.
• Elaboration. Tujuan dari tahap ini adalah untuk mendapatkan gambaran umum kebutuhan, persyaratan dan fungsi-fungsi utama perangkat lunak. Hal ini penting untuk mengetahui secara lebih baik resiko-resiko proyek, baik meliputi resiko arsitektur perangkat lunak, perencanaan, maupun implementasi. Pada tahap ini telah dimulai rancang bangun perangkat lunak secara iterative melalui aktivitas-aktivitas seperti business modeling, requirements, analysis dan design meskipun baru pada tahap awal.
• Construction. Tujuan dari tahapan ini adalah membangun perangkat lunak sampai dengan saat perangkat lunak tersebut siap digunakan. Titik berat tahapan ini adalah pada penentuan tingkat prioritas kebutuhan / persyaratan, melengkapi spesifikasinya, analisis lebih dalam, disain solusi yang memenuhi kebutuhan dan persyaratan, pengkodean dan pengujian perangkat lunak. Jika dimungkinkan versi awal dari perangkat lunak diuji cobakan untuk mendapatkan masukan dari pengguna.
• Transition. Tahap ini difokuskan pada bagaimana menyampaikan perangkat lunak yang sudah jadi pada pengguna. Perangkat lunak akan secara resmi diuji oleh baik oleh penguji (tester) yang kompeten maupun oleh pengguna. Beberapa aktivitas seperti pemindahan pusat data dan pelatihan pengguna dan staf pendukung harus dilakukan pada tahap ini.

Fase RUP
• Inception/insepsi
• Elaboration/elaborasi
• Construction/konstruksi
• Transition/transisi

• Inception
– Menentukan Ruang lingkup proyek
– Membuat ‘Business Case’
– Menjawab pertanyaan “apakah yang dikerjakan dapat menciptakan ‘good business sense’ sehingga proyek dapat dilanjutkan

• Elaboration
– Menganalisa berbagai persyaratan dan resiko
– Menetapkan ‘base line’
– Merencanakan fase berikutnya yaitu construction

• Construction
– Melakukan sederetan iterasi
– Pada setiap iterasi akan melibatkan proses berikut: analisa desain, implementasi dan testing

• Transistion
– Membuat apa yang sudah dimodelkan menjadi suatu produk jadi
– Dalam fase ini dilakukan:
• Beta dan performance testing
• Membuat dokumentasi tambahan seperti; training, user guides dan sales kit
• Membuat rencana peluncuran produk ke komunitas pengguna


Kelebihan
• Dapat memanfaatkan kembali komponen-komponen yang telah tersedia/dibuat sehingga dapat meningkatkan produktifitas
• biaya pemeliharaan dapat dioptimalkan atau lebih rendah dengan pengembangan informasi tanpa standard yang jelas.
• memiliki kemampuan yang mengembangkan komponen-komponen yang dapat digunakan kembali untuk pengembangan aplikasi yang lainnya
• mudah untuk mengatur dan memonitor semua proses dari semua tahapan yang ada sehingga suatu pengembangan sistem informasi yang amat kompleks dapat dilakukan dengan aman dan sesuai dengan harapan semua manajer proyek IT/IS


Read more.....

Basis Data

Basis data.. apa itu basis data, apa kegunaannya dan bagaimana menggunakannya? mari kita bahas basis data yuuk :)

Basis : markas / tempat berkumpul / tempat bersarang / gudang
Data : Adalah fakta mengenai objek, Data dinyatakan dengan nilai (angka, deretan karakter, atau simbol).
Informasi : Adalah hasil analisis terhadap data.
Informasi dapat dikatakan sebagai data yang telah diorganisasikan ke dalam bentuk yang sesuai dengan kebutuhan seseorang, baik itu manajer, staff, ataupun orang lain di dalam suatu organisasi atau perusahaan
Basis Data : Kumpulan dari data yang saling berhubungan satu dengan lainnya yang diorganisasikan berdasar sebuah skema atau struktur tertentu, tersimpan di hardware komputer dan dengan software digunakan untuk melakukan manipulasi data untuk tujuan tertentu.

Basis Data = Database
DBMS (Database Management Sistem) ???

Database Management System (DBMS)
Adalah paket software yang di buat untuk menyimpan dan mengatur database.

Basis Data dan Lemari Arsip


- Basis data bisa dibayangkan sebagai lemari arsip dengan berbagai cara pengaturannya
- Basis data dan lemari arsip memiliki prinsip kerja dan tujuan yang sama; prinsipnya yakni pengaturan data/arsip. Tujuan utamanya adalah kemudahan dan kecepatan dalam pengambilan kembali data/arsip.

Contoh Basis Data
Buku alamat
Buku telepon
Katalog perpustakaan
Peta jalan

Setiap data elektronis = Basis Data ?


Studi Kasus

Badan Administrasi Kepegawaian di PT XYZ selalu menggunakan komputer -yaitu aplikasi MS Word dan MS Excel- untuk mencatat data-data kepegawaian, organisasi dan penggajian.
Bisakah dikatakan PT XYZ telah menerapkan basis data ?

Jawaban:
Belum tentu, karena di dalam pengelolaannya belum tentu terdapat pemilahan dan pengelompokan data sesuai jenis / fungsi data.
Contoh Pemilahan:

Sistem Akademik : Data Mahasiswa,Data Dosen,Data Mata Kuliah,Data Perkuliahan

Tujuan Pemanfaatan Basis Data


1. Kecepatan dan Kemudahan (Speed)
Yakni agar pengguna basis data bisa:
- menyimpan data
- melakukan perubahan/manipulasi terhadap data
- menampilkan kembali data
dengan lebih cepat dan mudah dibandingkan dengan cara biasa (baik manual ataupun elektronis).

2. Efisiensi Ruang Penyimpanan (Space)
Dengan basis data kita mampu melakukan penekanan jumlah redundansi (pengulangan) data, baik dengan menerapkan sejumlah pengkodean atau dengan membuat relasi-relasi antara kelompok data yang saling berhubungan.

3. Keakuratan (Accuracy)
Agar data sesuai dengan aturan dan batasan tertentu dengan cara memanfaatkan pengkodean atau pembentukan relasi antar data bersama dengan penerapan aturan/batasan (constraint) tipe data, domain data, keunikan data dsb.

4. Ketersediaan (Availability)
Agar data bisa diakses oleh setiap pengguna yang membutuhkan, dengan penerapan teknologi jaringan serta melakukan pemindahan/penghapusan data yang sudah tidak digunakan / kadaluwarsa untuk menghemat ruang penyimpanan.

5. Kelengkapan (Completeness)
Agar data yang dikelola senantiasa lengkap baik relatif terhadap kebutuhan pemakai maupun terhadap waktu, dengan melakukan penambahan baris-baris data ataupun melakukan perubahan struktur pada basis data; yakni dengan menambahkan field pada tabel atau menambah tabel baru.

6. Keamanan (Security)
Agar data yang bersifat rahasia atau proses yang vital tidak jatuh ke orang / pengguna yang tidak berhak, yakni dengan penggunaan account (username dan password) serta menerapkan pembedaan hak akses setiap pengguna terhadap data yang bisa dibaca atau proses yang bisa dilakukan.

6. Kebersamaan (Sharability)
Agar data yang dikelola oleh sistem mendukung lingkungan multiuser (banyak pemakai), dengan menjaga / menghindari munculnya problem baru seperti inkonsistensi data (karena terjadi perubahan data yang dilakukan oleh beberapa user dalam waktu yang bersamaan) atau kondisi deadlock (karena ada banyak pemakai yang saling menunggu untuk menggunakan data).


cara ingat : S.S.A.A.C.S.S :P

KOMPONEN BASIS DATA


• data, data tersimpan secara terintegrasi dan dipakai secara bersama-sama
• hardware, perangkat keras yang digunakan dalam mengelola sistem database
• software, perangkat lunak perantara antara pemakai dengan data fisik. perangkat lunak dapat berupa data base management system dan berbagai program aplikasi
user, sebagai pemakai sistem

DATA
Ciri-ciri data didalam database :
1. Data disimpan secara terintegrasi (integrated)
Database merupakan kumpulan dari berbagai macam file dari aplikasi-aplikasi yang berbeda, yang disusun dengan cara menghilangkan bagian-bagian yang rangkap (redundant)
2. Data dapat dipakai secara bersama-sama (shared)
Masing-masing bagian dari database dapat diakses oleh pemakai dalam waktu yang bersamaan, untuk aplikasi yang berbeda

Gambar Urutan Data

Karakter
Merupakan bagian data yang terkecil, dapat berupa karakter numerik, huruf ataupun karakter-karakter khusus yang membentuk suatu item data.

Record
Kumpulan dari field yang membentuk suatu record. Record menggambarkan suatu unit data individu tertentu. (record merupaka baris/row pada table)

Field
mereprepentasikan suatu atribut dari object yang menunjukkan suatu item data, misalnya nama, alamat, dsb.
- field name
- field representation : tipe field, lebar field
- field value
(field merupakan kolom pada tabel)

File
File terdiri dari record-record yang menggambarkan satu kesatuan data yang sejenis. Misalnya file mata kuliah berisi data tentang semua mata kuliah yang ada.

Database
Kumpulan dari file / tabel membentuk suatu database



HARDWARE
Terdiri dari semua peralatan perangkat keras komputer yang digunakan untuk pengelolaan sistem database berupa:
- Peralatan untuk penyimpanan database, yaitu secondary storage (harddisk, disket, flash disk, CD)
- Peralatan input (keyboard, scanner, kamera digital) dan output (printer, layar monitor)
- Peralatan komunikasi data (ethernet card, modem)

SOFTWARE
Berfungsi sebagai perantara (interface) antara pemakai dengan data physik pada database.
Software pada database dapat berupa:
- Database Management System (DBMS), yang menangani akses terhadap database, sehingga pemakai tidak perlu memikirkan proses penyimpanan dan pengelolaan data secara detail
- Program-program aplikasi dan prosedur-prosedur

Contoh kelas sederhana : dBase, Foxbase, Rbase, MS. Access, MS. Foxpro, Borland Paradox.
Contoh kelas kompleks : Borland-Interbase, MS. SQL Server, Oracle, Informix, Sybase.

Pemakai basis data langsung (Actor on The Scene)


1.Database Administrator (DBA)
Mendesain dan memelihara database. DBA bertanggungjawab untuk banyak tugas kritis :
- Desain skema Konseptual dan skema fisik
- Keamanan dan Otorisasi
- Ketersediaan data dan Recovery dari kegagalan
- Database Tuning

2.Software Engineer(Programmer aplikasi Database)
Mengembangkan paket yang memfasilitasi akses data untuk end-user(pengguna akhir) dengan menggunakan host language atau data language dan alat perangkat lunak yang disediakan oleh vendor

3.End User
Menyimpan dan menggunakan data dalam DBMS

Pemakai basis data tidak langsung (workers Behind The Scene)
DMBS System designer dan implementer
Yang membuat perangkat lunak basis data. (implementor database bekerja untuk vendor seperti IBM,Oracle,dll

Tool developer
Yang membuat perangkat lunak yang membantu penggunaan basis data.

Operator dan maintenance Personnel


Sistem File Versus DBMS



Keuntungan menggunakan DBMS
1.Kemandirian Data
2.Akses Data Efisien
3.Integritas dan Keamanan Data
4Administrasi Data
5.Akses Konkuren dan Crash Recovery
6.Waktu pengembangan Aplikasi Terkurangi.
ingat : K.A.I.A.A.W :P

Kerugian DBMS
1.Harga perangkat lunak DBMS yang mahal
2.Kebutuhan perangkat keras yang bagus
3.Membutuhkan staff khusus DBMS ( Database Administrator / DBA )

Read more.....
Related Posts Plugin for WordPress, Blogger...