Rabu, 14 Juli 2010
Tugas 7 (Pengujian Perangkat Lunak)
Pengujian perangkat lunak (Software Testing) adalah elemen kritis dari jaminan kualitas perangkat lunak dan merepresentasikan kajian pokok dari spesifikasi, desain, dan pengkodean.
Pentingnya pengujian perangkat lunak dan implikasinya yang mengacu pada kualitas perangkat lunak tidak dapat terlalu ditekan karena melibatkan sederetan aktivitas produksi di mana peluang terjadinya kesalahan manusia sangat besar dan arena ketidakmampuan manusia untuk melakukan dan berkomunikasi dengan sempurna maka pengembangan perangkat lunak diiringi dengan aktivitas jaminan kualitas.
Meningkatnya visibilitas (kemampuan) perangkat lunak sebagai suatu elemen sistem dan “biaya” yang muncul akibat kegagalan perangkat lunak, memotivasi dilakukannya perencanaan yang baik melalui pengujian yang teliti. Pada dasarnya, pengujian merupakan satu langkah dalam proses rekayasa perangkat lunak yang dapat dianggap sebagai hal yang merusak daripada membangun.
Sejumlah aturan yang berfungsi sebagai sasaran pengujian pada perangkat lunak adalah:
- Pengujian adalah proses eksekusi suatu program dengan maksud menemukan kesalahan.
- Test case yang baik adalah test case yang memiliki probabilitas tinggi untuk menemukan kesalahan yang belum pernah ditemukan sebelumnya.
- Pengujian yang sukses adalah pengujian yang mengungkap semua kesalahan yang belum pernah ditemukan sebelumnya.
Sasaran itu berlawanan dengan pandangan yang biasanya dipegang yang menyatakan bahwa pengujian yang berhasil adalah pengujian yang tidak ada kesalahan yang ditemukan. Data yang dikumpulkan pada saat pengujian dilakukan memberikan indikasi yang baik mengenai reliabilitas perangkat lunak dan beberapa menunjukkan kualitas perangkat lunak secara keseluruhan, tetapi ada satu hal yang tidak dapat dilakukan oleh pengujian, yaitu pengujian tidak dapat memperlihatkan tidak adanya cacat, pengujian hanya dapat memperlihatkan bahwa ada kesalahan perangkat lunak.
Sebelum mengaplikasikan metode untuk mendesain test case yang efektif, perekayasa perangkat lunak harus memahami prinsip dasar yang menuntun pengujian perangkat lunak, yaitu:
Ø semua pengujian harus dapat ditelusuri sampai ke persyaratan pelanggan, maksudnya mengungkap kesalahan dari cacat yang menyebabkan program gagal.
Ø Pengujian harus direncanakan lama sebelum pengujian itu mulai, maksudnya semua pengujian dapat direncanakan dan dirancang sebelum semua kode dijalankan.
Ø Prinsip Pareto berlaku untuk pengujian perangkat lunak, maksudnya dari 80% kesalahan yang ditemukan selama pengujian dapat ditelusuri sampai 20% dari semua modul program.
Ø Pengujian harus mulai “dari yang kecil” dan berkembang ke pengujian “yang besar”, Selagi pengujian berlangsung maju, pengujian mengubah focus dalam usaha menemukan kesalahan pada cluster modul yang terintegrasi dan akhirnya pada sistem.
Ø Pengujian yang mendalam tidak mungkin karena tidak mungkin mengeksekusi setiap kombinasi jalur skema pengujian dikarenakan jumlah jalur permutasi untuk program menengah pun sangat besar.
Ø Untuk menjadi paling efektif, pengujian harus dilakukan oleh pihak ketiga yang independent.
Dalam lingkungan yang ideal, perekayasa perangkat lunak mendesain suatu program computer, sebuah sistem atau produk dengan testabilitas dalam pikirannya. Hal ini memungkinkan individu yang berurusan dengan pengujian mendesain test case yang efektif secara lebih mudah. Testabilitas adalah seberapa mudah sebuah program computer dapat diuji. Karena sangat sulit, perlu diketahui apa yang dapat dilakukan untuk membuatnya menjadi lebih mudah. Procedural dan menggunakannya sebagai pedoman untuk menetapkan basis set dari jalur eksekusi.
Sasaran utama desain test case adalah untuk mendapatkan serangkaian pengujian yang memiliki kemungkinan tertinggi di dalam pengungkapan kesalahan pada perangkat lunak. Untuk mencapai sasaran tersebut, digunakan 4 kategori yang berbeda dari tehnik desain test case: Pengujian White-Box, Pengujian Black-Box, Integrasi Bottom-Up dan Integrasi Top-Down.
Pengujian White-Box berfokus pada struktur control program. Test case dilakukan untuk memastikan bahwa semua statemen pada program telah dieksekusi paling tidak satu kali selama pengujian dan bahwa semua kondisi logis telah diuji. Pengujian basic path, tehnik pengujian white-box, menggunakan grafik (matriks grafiks) untuk melakukan serangkaian pengujian yang independent secara linear yang akan memastikan cakupan.
Pengujian aliran data dan kondisi lebih lanjut menggunakan logika program dan pengujian loop menyempurnakan tehnik white-box yang lain dengan memberikan sebuah prosedur untuk menguji loop dari tingkat kompleksitas yang bervariasi. Pengujian black-box didesain untuk mengungkap kesalahan pada persyaratan fungsional tanpa mengabaikan kerja internal dari suatu program.
Pengujian Black-Box berfokus pada domain informasi dari perangkat lunak, dengan melakukan test case dengan menpartisi domain input dari suatu program dengan cara yang memberikan cakupan pengujian yang mendalam.
Metode pengujian graph-based mengeksplorasi hubungan antara dan tingkah laku objek-objek program. Partisi ekivalensi membagi domain input ke dalam kelas data yang mungkin untuk melakukan fungsi perangkat lunak tertentu. Analisis nilai batas memeriksaa kemampuan program untuk menangani data pada batas yang dapat diterima.
Metode pengujian yang terspesialisasi meliputi sejumlah luas kemampuan perangkat lunak dan area aplikasi. GUI, arsitektur client/ server, dokumentasi dan fasilitas help dan sistem real time masing-masing membutuhkan pedoman dan tehnik khusus untuk pengujian perangkat lunak.
Integrasi Top-Down adalah pendekatan incremental dengan menggerakkan ke bawah melalui hirarki control, dimulai dengan control utama. Strategi intergrasi top-down memeriksa control mayor atau keputusan pada saat awal di dalam proses pengujian. Pada struktur program yang difaktorkan dengan baik, penarikan keputusan terjadi pada tingkat hirarki yang lebih tinggi sehingga terjadi lebih dulu.
Strategi top-down kelihatannya tidak sangat rumit, tetapi di dalam praktenya banyak menimbulkan masalah logistic. Biasanya masalah ini terjadi jika dibutuhkan pemrosesan di dalam hirarki pada tingkat rendah untuk menguji secara memadai tingkat yang lebih tinggi.
Integrasi Bottom-Up memulai konstruksi dan pengujian dengan modul atomic (modul pada tingkat paling rendah pada struktur program). Karena modul diintegrasikan dari bawah ke atas, maka pemrosesan yang diperlukan untuk modul subordinate ke suatu tuingkat yang diberikan akan selalu tersedia dan kebutuhan akan stub dapat dieliminasi. Strategi integrasi bottom-up dapat diimplementasi dengan langkah-langkah:
- modul tingkat rendah digabung ke dalam cluster (build) yang melakukan subfungsi perangkat lunak spesifik.
- Driver (program control untuk pengujian) ditulis untuk mengkoordinasi input dan output test case
- cluster diuji
driver diganti dan cluster digabungkan dengan menggerakkannya ke atas di dalam struktur program.
Selain 4 kategori pengujian diatas, masih ada jenis pengujian lain yang bisa digunakan, yaitu : Pengujian Graph Metrik, Pengujian Loop, Structural Testing, Path testing, Pengujian Integrasi, Pengujian Interface, Pengujian Validasi dan Pengujian Stress.
Pengujian Graph Metrik merupakan perangkat lunak bantu yang dikembangkan untuk membantu uji coba basis path atau struktur data. Graph metrik adalah matrik empat persegi yang mempunyai ukuran (sejumlah baris dan kolom) yang sama dengan jumlah mode pada flowgraph. Masing-masing baris dan kolom mempunyai hubungan dengan node yang telah ditentukan dan pemasukan data matrik berhubungan dengan hubungan (edge) antar mode.
Pengujian Loop merupakan kendala yang sering timbul untuk menerapkan algoritma dengan cepat. Uji coba loop merupakan tehnik uji coba white box yang fokusnya pada validitas dari loop.
Ada empat kelas dari loop antara lain :
1. Simple Loop, Uji coba dapat dilakukan dengan mudah, dimana n jumlah maksimum yang diperbolehkan untuk dilewati loop. Aturan uji coba sebagai berikut :
Lewati loop secara keseluruhan.
Hanya satu yang dapat melalui loop.
M dapat melalui loop dimana m < n.
2. Nested loop, Pada uji coba nested loop dapat digunakan pendekatan simple loop. Adapun petunjuk uji coba pada nested loop sebagai berikut :
Mulailah dari loop yang paling dalam, set seluruh loop yang lain dengan nilai yang terkecil.
Kerjakan dengan prinsip simple loop untuk loop yang paling dalam sementara tahan loop yang diluar pada parameter yang terkecil atau nilai counter yang terkecil.
Kemudian lanjutkan untuk loop yang diatasnya.
Teruskan sampai semua loop selesai diujikan.
3. Connected Loop, Pada uji coba connected loop dapat digunakan pendekatan simple loop.
4. Unstructured Loop, Jika memungkinkan untuk loop ini dirancang kembali dengan menggunakan struktur program.
Pengujian Struktural (Structural Testing), merupakan pendekatan terhadap pengujian yang diturunkan dari pengetahuan struktur dan implementasi perangkat lunak. Pendekatan ini kadang-kadang disebut pengujian “Kotak Putih” (“White Box” Testing), Pengujian “Kotak Kaca”, atau “Pengujian Kotak Jernih” untuk membedakannya dari Pengujian Kotak Hitam.
Pengujian struktural biasanya diterapkan untuk unit program yang relatif kecil seperti subroutine atau operasi yang terkait dengan suatu objek. Sebagaimana ditunjukkan oleh namanya, penguji dapat menganalisa kode dan menggunakan pengetahuan mengenai struktur komponen untuk menurunkan data uji. Analisa kode dapat digunakan untuk menemukan berapa kasus uji yang dibutuhkan untuk menjamin bahwa semua statement pada program atau komponen dieksekusi paling tidak satu kali pada proses pengujian.
Pengujian Jalur (Path Testing) adalah strategi pengujian struktural yang bertujuan untuk melatih setiap jalur eksekusi independen melalui komponen atau program. Jika setiap jalur independen dieksekusi, maka semua statement pada komponen harus dieksekusi paling tidak satu kali. Lebih jauh lagi, semua statement kondisional diuji untuk kasus true dan false.
Teknik pengujian jalur dengan demikian paling banyak dipakai pada tahap pengujian unit dan pengujian modul pada proses pengujian jalur tertentu mungkin masih ada bahkan ketika semua statement program dieksekusi paling tidak satu kali.
Titik awal pengujian jalur merupakan grafik alir (flow graph) program, ini merupakan model rangka semua jalur melalui program. Grafik alir terdiri dari node mewakili keputusan dan edge yang menunjukkan aliran kontrol.
Kesulitan utama yang muncul pada Pengujian Integrasi adalah lokalisasi error yang ditemukan pada saat proses tersebut. Terdapat interaksi yang rumit antara komponen sistim dan ketika ditemukan output yang menyimpang, mungkin sulit untuk menemukan sumber error tersebut. Untuk memudahkan lokalisasi error, anda harus selalu menggunakan pendekatan inkremental terhadap integrasi dan pengujian sistim. Pada awalnya, anda harus mengintegrasi konfigurasi sistim minimal dan menguji sistim ini, kemudian menambahkan komponen pada konfigurasi minimal ini serta mengujinya setelah setiap inkremen ditambahkan.
Tujuan Pengujian Interface adalah mendeteksi kesalahan yang telah masuk kedalam sistim yang disebabkan oleh error interface atau asumsi invalid mengenai inteface. Berbagai jenis eror interface yang dapat terjadi diantaranya adalah :
1. Interface Parameter, merupakan interface tempat data atau kadang-kadang referensi fungsi dikirim dari satu komponen ke komponen yang lainnya.
2. Interface Memori Bagi Pakai, merupakan interface dengan satu blok memori dipakai bersama antar subsistim. Dimana data ditempatkan pada memori oleh satu subsistim dan diambil dari memori tersebut oleh subsistim lain.
3. Interface Prosedural, merupakan interface dengan satu subsistim yang mengkapsulasi satu set prosedur yang dapat dipanggil oleh subsistim lain.
4. Interface Message Passing, merupakan interface tempat satu subsistim meminta layanan dari subsistim lainnya dengan mengirimkan message kepadanya. Beberapa bentuk sistim berorientasi objek memiliki bentuk inteface ini sebagaimana sistim client server.
Adapun penggolongan error-error interface ini digolongkan kedalam tiga kategori antara lain :
1. Penyalahgunaan Interface, jenis error ini terutama umum dengan interface parameter dengan parameter yang mungkin berjenis salah, mungkin diberikan dengan urutan yang salah atau jumlah pengiriman yang salah.
2. Kesalahpahaman Interface, komponen pemanggil salah memahami spesifikasi interface komponen yang dipanggil dan membuat asumsi mengenai perilaku komponen yang dipanggil, sedangkan komponen yang dipanggil tidak berperilaku sebagaimana yang diharapkan akibatnya perilaku yang tidak diharapkan pada komponen pemanggil. Sebagai contoh routine search biner mungkin dipanggil dengan array yang tidak urut yang akan disearch, akibatnya search akan gagal.
3. Error Timing, terjadi pada saat waktu nyata yang menggunakan memori bagi pakai atau interface pengirim message.
Setelah integration testing dilakukan serta kesalahan-kesalahan yang diketemukan sudah diperbaiki, langkah berikutnya adalah Validasi Testing (Pengujian Validasi). Uji coba validasi dapat dikatakan berhasil apabila fungsi-fungsi yang ada pada perangkat lunak sesuai dengan yang diharapkan oleh pemakai. Validasi perangkat lunak merupakan kumpulan seri uji coba black box yang memperlihatkan atau menunjukkan sesuai dengan yang diperlukan. Garis besar rencana uji coba dikerjakan dan prosedur uji coba didefinisikan dengan test case yang spesifik dimana akan digunakan untuk menunjukkannya sesuai dengan yang diperlukan. Rencana dan prosedur dirancang untuk menjamin seluruh keperluan fungsional telah terpenuhi, seluruh perfomansi dapat dicapai, dokumentasi dilakukan dengan benar.
Setelah uji coba dikerjakan ada satu kemungkinan dari dua kondisi yang ada yaitu:
1. Karakteristik perfomansi fungsi sesuai dengan spesifikasi dan dapat diterima.
2. Penyimpangan dari spesifikasi ditemukan dan daftar penyimpangan dibuat.
Pengujian Stress melanjutkan uji-uji ini melewati beban rancangan maksimum sistim sampai sistim gagal. Jenis pengujian ini memiliki dua fungsi antara lain :
1. Pengujian stress menguji perilaku kegagalan sistim. Mungkin timbul suatu keadaan melalui kombinasi event yang tidak diharapkan ketika beban yang ada pada sistim melebihi beban maksimum yang diantisipasi. Pada keadaan penting bahwa kegagalan sistim tidak menyebabkan kerusakan data atau kerugian yang tidak diharapkan dari layanan user. Pengujian stress memeriksa apakah memberi beban yang lebih kepada sistim menyebabkannya “kegagalan lunak” dan bukan runtuh dengan bebannya.
2. Pengujian stress memberi tekanan pada sistim dan dapat menyebabkan munculnya cacat yang biasanya tidak mewujudkan diri mereka. Walaupun dapat diperdebatkan bahwa cacat ini tidak mungkin mengakibatkan kegagalan sistim dalam pemakaian normal, mungkin ada kombinasi yang tidak biasa dari keadaan normal yang direplikasi oleh pengujian stress.
CONTOH
Contoh untuk salah satu pengujian perangkat lunak, yaitu yang terlihat pada pembuatan Perangkat Lunak Sistem e-commerce.
Ada 2 uji coba perangkat lunak yang dipakai, yaitu Uji Coba White Box dan Uji coba Black Box.
1. Uji coba white box merupakan metode perancangan procedural guna memperoleh test case. Tes ini dipergunakan untuk meramal cara kerja perangkat lunak secara rinci. Perangkat lunak akan dites dengan menyediakan tes case yanag akan mengerjakan kumpulan kondisi dan pengulangan secara spesifik.
Pada blog ini terdapat program yang dapat diuji coba dengan menggunakan white box, yaitu pada saat user melakukan registrasi yang kemudian akan menginputkan data ke tabel user ,tabel ini berfungsi untuk penyimpan data user yang telah melakukan proses registrasi. Program ini berfungsi untuk memeriksa apakah username dan email sudah digunakan sebelumnya sehingga tidak ada data yang sama dengan sebelumnya.
Script untuk mengecek user sudah terdaftar atau belom.
$perintah=mysql_query("select * from user where username='$username' ") or
die(mysql_error()."perintah select username");
$perintah=mysql_query("select * from user where email='$email' ") or
die(mysql_error()."perintah select email");
Setelah user dinyatakan belum terdaftar maka proses berlanjut yaitu proses insert ke data user.
$perintah=mysql_query("insert into user(username,password,nama,alamat,email,no_telp,no_hp)
values('$username','$password','$nama','$alamat','$email','$no_telp','$no_hp') ") or
die(mysql_error()."perintah insert user");
2. Uji coba black box dilakukan pada tampilan interface perangkat lunak, yang bertujuan untuk menunjukkan fungsi perangkat lunak mengenai cara pengoperasiannya, apakah input dan output data telah berjalan sebagaimana yang diharapkan.
Salah satu contoh uji coba black box yaitu uji coba validasi. Uji coba ini dapat dikatakan berhasil jika fungsi – fungsi yang ada pada perangkat lunak sesuai dengan harapan pemakai. Contohnya pada saat memasukkan data login sebagai user, seorang member diwajibkan untuk memasukkan username dan password. Jika salah satu dari form tersebut tidak diisi, maka akan muncul pesan kesalahan, yang menyatakan salah satu diantara form tidak diisi, contoh pesan kesalahan tersebut adalah berikut :
if(isset($_POST['login'])){
$username = mysql_escape_string(strip_tags($_POST['username']));
$password = md5($_POST['password']);
$sql = mysql_query("SELECT * FROM user WHERE username='$username' && password='$password'");
$num = mysql_num_rows($sql);
if($num==1) {
while ($hasil=mysql_fetch_array($sql))
{
$_SESSION['Id_user']=$hasil['Id_user'];
$_SESSION['nama']=$hasil['nama'];
header("Location:index.php");
}
} else {
// jika login salah //
header("Location:index.php?error=1");
}
Senin, 12 Juli 2010
Tugas 6 (Contoh Dasar Bahasa Pemograman dan Pengkodean)
Bahasa Pascal
Struktur Bahasa Pemograman Pascal
1. {Blok komentar / comment}
Blok ini bersifat tidak wajib, tidak di eksekusi oleh program, hanya diabaikan saja Cuma sebagai identitas program contohnya :
(*komentar 1*)è(*perhitungan aritmatika*)
(*komentar 2*)è{dibuat oleh Mr. MTQ}
2. {Blok judul / title)
Kaidah – kaidah penulisan blok judul adalah :
- Harus diawali dengan huruf alpabet
- Panjang maksimal judul program 255 karakter / huruf
- Dalam judul program tidak boleh ada spasi kosong
- Diberi karakter garis kebawah
Program judul_program;
Contohnya = program latihan_pertama;
3. {Blok Pengenalan / decralation}
- Blok ini berfungsi untuk mengenali item-item yang ada dalam program
- Bentuk-bentuk blok pengenalan :
a. Uses
Uses berfungsi untuk mengenalkan piranti kepada komputer/pascal yang dipakai dibelakangnya.]
Piranti adalah perangkat keras, tapi tidak harus perangkat keras, sistempun juga merupakan piranti yang bersifat global bisa diraba dan tidak bisa diraba.
Uses ènama_piranti 1, nama_piranti 2,…,(;) wajib di buat.
Contoh-contoh Uses yaitu :
o Dos (disk operating system) merupakan sistem operasi yang berfungsi untuk mengenali perintah-perintah dos.
o Graph biasanya mempunyai sebuah bidang grapik yang berfungsi agar pascal bisa menggunakan fungsi-fungsi grafik.
o Printer merupakan piranti output yang berfungsi untuk mencetak.
o Sistem berbentuk seperti RAM dan ROM yang berfungsi untuk pengaturan tanggal /jam dan sebagainya. Salah satu komponen sistem yaitu CMOS.
Cmos merupakan extensi dalam CPU yang berfungsi untuk menyimpan bios.
o Exsistensi adalah sebuah identitas file yang letaknya dibelakang titik yang terdiri dari tiga huruf. Contohnya : DOS, XCL, PAS.
b. Label
Label berbentuk sebagai identitas atau alamat garis perintah program biasanya sering digunakan go to. Label tidak disarankan dipakai karena sering lompat-lompat sehingga tidak terstruktur.
Bentuk label :
Nama_label 1,
Nama_label 2,…;
Contohnya : label awal, akhir;
c.
Bentuk
nama_const 1 = nilai ;
nama_const 2 = nilai ;
Contohnya : const A = 100 ;
B = ‘Mr. MTQ’;
d. Type
Type berfungsi untuk membuat informasi data baru yang type data identitasnya dikonstantakan.
e. Var
Var mendecrelasikan identitas dengan nilainya sama dengan konstanta bedanya var (variable) sifatnya berubah-ubah sedangkan konstanta tetap.
Penulisan declarasi sama dengan kaidah penulisan program.
Bentuk variable :
Nama_var 1,nama_var2 : type_data 1;
Nama_var3 : type_data 2;
Contoh var yaitu :
1. var kata, kalimat : String;
2. var angka, nilai : integer;
f. Procedure
Bentuk procedure yaitu :
àNama_prosedur (parameter : type_data);
Tipe Data / Jenis Data
v Macam-macam tipe data yaitu :
- Data huruf dan kata/kalimat
- Data huruf dalam pascal dideclerasikan dengan char (caracter) yang meliputi huruf alpabet (A sampai Z). Tipe data ini merupakan string. Contohnya : B:= ‘4’;
- Tipe data kalimat/kata dalam pascal dideclerasikan dengan : string;
Contohnya A:= ‘231’;
B:= ‘STiMIK’;
C:= ‘A+B’;
Perbedaan char dan string adalah tipe data char dapat disebut string karena string kumpulan char sedangkan char tidak dapat disebut string karena string berbentuk kata / kalimat.
- Tipe Data bilangan (numeric)
Tipe data ini dibagi menjadi dua yaitu tipe data bilangan cacah/bilangan bulat (integer)dan tipe bilangan decimal/bilangan pecahan/bilangan pakai koma (real).
{ Program : Input dari keyboard dan Menghitung operasi matematika }
uses Crt;
var
x,y,z : longint;
lagi : char;
namak : string[20];
begin
lagi := 'y';
while (lagi = 'y') or (lagi = 'Y') do
begin
clrscr;
write('Siapa Nama Anda..?'); ReadLn(namak);
writeLn;
write('Hallo ',namak,', Coba kamu');
WriteLn(' masukan nilai x,y dan z ');
writeLn('pada operasi matematika ini.');
writeLn;
writeLn('Operasi matematika X^2 + y^2 + z =..... ');
write('masukan nilai x..= '); ReadLn(x);
write('masukan nilai y..= '); ReadLn(y);
write('masukan nilai z..= '); ReadLn(z);
writeLn;
writeLn('nilai operasi x^2 + y^2 + z adalah : ',x*x+y*y+z);
writeLn;
write('Mau hitung lagi apa tidak (y/t), ',namak,' ? ');
readLn(lagi);
end;
end.
Selasa, 29 Juni 2010
Tugas 4 (Desain Perangkat Lunak)
2. Desain Basis Data
Dari beberapa permodelan di atas, dapat dikumpulkan beberapa macam field data. Field-field tersebut dirangkum dalam Kamus Data sebagai berikut :
Struktur File Tabel “tSupplier. mdf”
Struktur File Tabel “tBarang. mdf”
Struktur File Tabel “tBeli. mdf”
Struktur File Tabel “tDetilBeli.mdf”
Struktur File Tabel “tJual. mdf”
Struktur File Tabel “tDetilJual.mdf”
3. Normalisasi Data
Transaksi Pembelian
UNF = {NoBeli + {KdBrg + NamaBrg + StokBrg + HargaBeli + HargaJual} + SubTotBeli + JumlahBeli} + TglBeli + NoBuktiBeli + TotalBeli + {KdSupp + NamaSupp + AlmtSupp + TelpSupp}
1NF = NoBeli + KdBrg + NamaBrg + StokBrg + HargaBeli + HargaJual + SubTotBeli + JumlahBeli + TglBeli + NoBuktiBeli + TotalBeli + KdSupp + NamaSupp + AlmtSupp + TelpSupp
Beli = NoBeli* + TglBeli + NoBuktiBeli + TotalBeli + KdSupp* + KdBrg* + HargaBeli + JumlahBeli + SubTotBeli
DetilBeli = KdBrg* + HargaBeli + JumlahBeli + SubTotBeli
3NF :
Beli = NoBeli* + TglBeli + NoBuktiBeli + TotalBeli + KdSupp*
DetilBeli = JumlahBeli + SubTotBeli + KdBrg* + NoBeli*
Barang = KdBrg* + NamaBrg + StokBrg + HargaBeli + HargaJual
Supplier = KdSupp* + NamaSupp + AlmtSupp + TelpSupp
Transaksi Penjualan
UNF = {NoJual + {KdBrg + NamaBrg + StokBrg + HargaBeli + HargaJual} + SubTotJual + JumlahJual} + TglJual + TotalJual + {KdCust + NamaCust + AlmtCust + TelpCust}
2NF :
Jual = NoJual* + TglJual + TotalJual + KdCust* + KdBrg* + HargaJual + JumlahJual + SubTotJual
DetilJual = KdBrg* + HargaJual + JumlahJual + SubTotJual
3NF :
Jual = NoJual* + TglJual + TotalJual + KdCust*
DetilJual = JumlahJual + SubTotJual + KdBrg* + NoJual*
Barang = KdBrg* + NamaBrg + StokBrg + HargaBeli + HargaJual
Customer = KdCust* + NamaCust + AlmtCust + TelpCust
Tugas 3 (Analisa Perangkat Lunak)
Penganalisaan perangkat lunak (sistem) bertujuan untuk mengetahui bagaimana perangkat lunak (sistem) tersebut berjalan.
Sebagai contoh yang terjadi pada sistem yang sangat sederhana, yaitu perangkat lunak Aplikasi Jual Beli.
Andaikan sebuah perangkat lunak yang harus dikembangkan untuk mengendalikan sebuah usaha dagang jual beli, adalah Aplikasi Jual Beli.
Aplikasi Jual Beli menjalankan Sistem Pendataan Barang, Sistem Pendataan Supplier dan Sistem Pendataan Customer, yang ketiga-tiganya akan dimasukkan ke dalam database master. Kemudian melakukan Sistem Transaksi Pembelian dan Sistem Transaksi Penjualan, yang kedua-duanya dimasukkan ke dalam database transaksi. Dan yang terakhir yaitu Sistem Penyusunan Laporan, yang terdiri dari Lap. Barang, Lap. Supplier, Lap. Customer, Lap. Pembelian dan Lap. Penjualan, yang kelima-limanya kan dimasukkan ke dalam database laporan. Dan pada Sistem transaksi, dilakukan perekapitulasian hasil transaksi, yang terdiri dari Rekapitulasi Pembelian dan Rekapitulasi Penjualan.
Uraian pertama yaitu pada database master. Disini dilakukan sistem pendataan barang yang nantinya akan masuk kedalam database Tabel Barang, dengan cara menginput Kode Barang, Nama Barang, Jumlah Stok, Harga Beli, dan Harga Jual pada Form Barang yang ada pada aplikasi ini. Dan terdapat 5 tombol akses, yakni Save (untuk menyimpan hasil penginputan/pendataan, Update (untuk mengubah isi data pada Tabel Barang jika suatu saat ingin diubah), Delete (untuk menghapus isi data pada Tabel Barang jika suatu saat ingin dihapus), Clear (untuk membersihkan semua isi inputan pada point-point tabel (sebelum disave)), Close (untuk menutup Form Tabel Barang). Dan juga tersedia 1 buah Grid (berupa tabel) yang akan menunjukkan isi-isi tiap data/record yang diinput. Begitu juga halnya yang terjadi pada sistem pendataan Supplier dan Customer yang nantinya masing-masing akan masuk kedalam database Tabel Supplier dan Tabel Customer.
Uraian Kedua yaitu pada database transaksi. Disini dilakukan sistem transaksi pembelian yang nantinya akan masuk kedalam database Tabel Beli dan Tabel Detil Beli. Pada Form Tabel Beli, ada bagian yang perlu diinput, yaitu bagian data beli dan bagian data detil beli. Pada bagian data beli, yang diinputkan yaitu No. Beli dan No. Bukti Beli. Dan juga terdapat sebuah item label Supplier, dan label ini tidak untuk diinput, tetapi sebagai pemberi data Supplier yang melakukan pembelian. Sedangkan pada bagian data detil beli, tidak ada data yang perlu diinputkan. Disini hanya terdapat sebuah item label barang yang sama fungsinya dengan label Supplier tadi, yang digunakan sebagai pembrowse data barang yang akan dibeli. Dan setelah label barang terisi oleh barang yang dipilih tadi, maka secara otomatis pada label harga akan tertera harga dari barang yang dipilih. Dan kemudian menyeting jumlah barang yang dibeli. Dan secara otomatis juga, pada label subtotal akan tertera total dari pembelian. Pada data detil beli ini, data yang dimasukkan boleh lebih dari 1, dengan menekan tombol add. Dan jika ingin menghapus data detil beli yang tidak jadi dibeli, gunakan tombol erase. Dan juga tersedia 1 buah Grid (berupa tabel) yang akan menunjukkan isi-isi tiap data/record yang diinput. Jika data detil beli yang dimasukkan sekiranya sudah cukup, maka langkah selanjutnya yaitu menekan tombol Save All untuk menyimpan semua data beli yang diinput dan disetting masuk kedalam database tabel beli dan database tabel detil beli. Maka secara otomatis, pada label Total Beli akan tertera semua total/jumlah pembelian yang merupakan penjumlahan dari semua subtotal yang ada di data detil beli tadi. Setelah selesai, berarti pendataan transaksi pembelian sudah selesai. Hal-hal diatas tadi terjadi juga pada sistem transaksi penjualan yang nantinya akan masuk kedalam database Tabel Jual.
Uraian ketiga yaitu pada sistem penyusunan laporan. Pertama yaitu Lap. Barang. Pada form lap. barang, data yang ditampilkan yaitu Kode Barang, Nama Barang, Stok Barang, Harga Beli dan Harga Jual. Data yang tampil yaitu semua data barang yang ada di tabel barang. Dan pada form lap. barang ini, terdapat 3 buah tombol akses, yaitu Preview (untuk melihat hasil tampilan laporan secara penuh sebelum dicetak) , Print (untuk mencetak laporan menjadi sebuah output), dan Close. Hal-hal diatas begitu juga pada Lap. Supplier dan Lap. Customer.
Dan untuk Lap. Pembelian, tampilan form berbeda dengan Lap. Barang, Lap. Supplier, dan Lap. Customer. Pada Lap. Pembelian ini terdapat ’label perbulan’ dan label ’tahun’. Di label-label tersebut, pilih pada bulan apa dan tahun berapa data yang akan ditampilkan selama pembelian berlangsung. Jika sudah disetting, maka tekan tombol Filter agar data tampil. Maka data akan secara otomatis tampil dalam bentuk tabel yang terdiri dari Tanggal, Nama Barang, Jumlah, Harga dan Subtotal. Dan terdapat 1 buah label Total Beli yang memberikan data semua jumlah dari subtotal tadi. Dan untuk tombol akses, sama seperti pada form laporan sebelumnya, yait terdapat 3 buah tombol akses, yaitu Preview, Print, dan Close. Hal diatas sama juga halnya yang terjadi pada Lap. Penjualan.
Dan untuk Rekapitulasi, baik Pembelian maupun Penjualan, data yang akan ditampilkan yaitu semua data yang pernah terjadi transaksi pembelian maupun penjualan (Tanggal, Nama Barang, Jumlah, Harga dan Subtotal) dan tidak berdasarkan pada bulan atau tahun tertentu, tetapi semuanya....
Minggu, 16 Mei 2010
Anggota Kelompok
Semester / Kelas : VI (enam) / A (pagi)
Anggota Kelompok :
1. Ahmad Rudini (0857201000224)
2. Ayu Wulandari (0857201000230)
3. Normalisa (0857201000244)
Selasa, 04 Mei 2010
Tugas 2 (Kategori Ukuran Proyek)
Proyek merupakan suatu tugas yang perlu dirumuskan untuk mencapai sasaran yang dinyatakan secara kongkrit serta harus diselesaikan dalam suatu periode tertentu dengan menggunakan tenaga manusia dan alat-alat yang terbatas dan begitu kompleks sehingga dibutuhkan pengelolaan dan kerja sama yang berbeda dari yang biasanya digunakan.
Ukuran proyek menentukan bentuk team, teknik dan tools yang diperlukan.
Ada 6 kategori ukuran proyek, yaitu :
1. Trivial Proyek (Proyek Sederhana)
Proyek ini umumnya dikerjakan oleh satu programmer (pembuat program) dan pengerjaannya biasanya dalam beberapa hari atau beberapa minggu. Program yang dihasilkan pun kurang dari 500 baris yang mungkin disusun antara 10 – 20 subrutin (modul). Pada kategori ini, memerlukan sedikit analisis formal, dokumentasi perancangan yang tidak terlampau rumit, tidak terlampau luas perencanaan uji coba program.
Contohnya : Keperluan pribadi seorang programmer.
2. Small Proyek (Proyek Kecil)
Proyek ini biasanya dikerjakan oleh 1 – 4 programmer dan waktu pengerjaannya umumnya antara 1 - 6 bulan. Program yang dihasilkan terdiri dari 1000 – 2500 baris yang disusun dalam 25 – 50 subrutin (modul). Pada kategori ini, umumnya memerlukan sedikit interaksi antara programmer dengan pemakai (user) / pelanggan (customer) . Small Proyek memerlukan teknik dan notasi yang sudah standar, dokumentasi yang standar tetapi tingkatannya tidak terlalu formal, juga dibandingkan dengan Large Proyek.
Contohnya : Penyelesaian numerik masalah sains.
3. Medium Proyek (Proyek Sedang)
Proyek ini biasanya dikerjakan oleh 2 – 5 programmer dan lama pengerjaan 1 – 2 tahun. Program yang dihasilkan pun berjumlah baris 5K-50K.
Contohnya : Compiler berukuran tidak terlalu besar.
4. Large Proyek (Proyek Besar)
Proyek ini biasanya memerlukan 5 – 10 orang programmer dengan waktu 2 – 3 tahun dan program yang dihasilkan terdiri dari 50.000 – 100.000 baris perintah, disusun dalam beberapa sub sistem. Komunikasi yang terjadi antara programmer, manager dan pelanggan atau pemakai umumnya terjadi dalam team.
Contohnya : Paket data base.
5. Very Large Proyek (Proyek Sangat Besar)
Proyek ini biasanya dikerjakan oleh 100 – 1K dengan lama pengerjaan 4 – 5 tahun, dan program yang dihasilkan berjumlah baris 1M.
Contohnya : Sistem operasi besar.
6. Extremely Large Proyek
Proyek ini biasaya dikerjakan oleh 2K – 5K dengan lama pengerjaan 5 – 10 tahun, dan program yang dihasilkan berjumlah baris 1M – 10M.
Contohnya : Sistem pertahanan balistik.
Menurut J.A. Bent, kriteria penyusunan proyek adalah :
Kecil Sedang Besar
Insinyur (jam-orang) 100.000 600.000 > 1.500.000
orang 100 200 > 400
Konstruksi (jam-orang) 500.000 4.000.000 > 8.000.000
orang 400 1.500 > 3.000
Tenaga Staf 50 150 > 500
Jadwal Pelaksanaan (bulan) 25 30 > 30
Jadi, ukuran proyek/besar kecilnya suatu proyek ditentukan oleh :
1. Jumlah Tenaga Kerja yang digunakan untuk menyelesaikan proyek.
2. Jumlah Waktu yang dibutuhkan untuk menyelesaikan proyek.
3. Jumlah Biaya yang harus dikeluarkan untuk menyelesaikan suatu proyek.
Tugas 1 (Perkembangan Perangkat Lunak)
Software / Perangkat Lunak adalah suatu perangkat yang tidak dapat dilihat secara langsung, tetapi sangat diperlukan oleh sistem komputer untuk mengatur dirinya dan untuk berhubungan dengan user.
Dengan semakin berkembangnya perangkat komputer maka dengan sendirinya membuat orang membutuhkan berbagai macam perangkat lunak, sehingga perkembangannya menjadi sangat pesat.
Beberapa contoh perangkat lunak dan perkembangannya, yaitu :
Microsoft Windows
Microsoft Windows merupakan deretan nama sistem operasi untuk personal computer (PC) dan server yang dikembangkan oleh Microsoft. Windows pertama kali diperkenalkan oleh Microsoft pada tahun 1985 untuk menyaingi sistem Apple, yaitu Apple Macintosh yang telah menggunakan teknologi GUI (Graphical Unit Interface). Saat ini keluarga Microsoft Windows telah menguasai pasar sistem operasi untuk komputer pribadi (PC), dimana bagian pasar untuk Windwos menguasai sekitar 95% untuk komputer pribadi.
Perkembangan sistem operasi windows yang pernah diluncurkan oleh Microsoft tersebut adalah :
o Windows 1.0, merupakan versi pertama windows untuk komputer PC yang dirilis pada tanggal 20 November 1985. Windows 1.0 telah mengimplementasikan sistem multitasking dan GUI.
o Windows 2.0, merupakan versi windows yang dirilis tahun 1987. Model GUI dari Windows 2.0 mirip dengan model Mac OS. Model maximize dan minimize windows baru diimplementasikan pada versi ini.
o Windows 3.x, terdiri dari versi Windows 3.0 dan Windows 3.1. Windows 3.0 dirilis tanggal 22 Mei 1990 melakukan perbaikan pada manajemen memori pada prosesor Intel 80286 dan 80386. Windows 3.1 dirilis tanggal 18 Maret 1992 telah melakukan perbaikan pada teknologi font menggunakan True Type Font serta juga mengikutkan game Minesweeper dan Reversi.
o Windows 95, merupakan versi windows hybrid 16 bit / 32 bit yang dirilis tangga 24 Agustus 1995. Windows 95 menerapkan model GUI yang baru yaitu dengan model desktop dan start menu, serta mendukung nama file yang panjang yaitu 256 karakter.
o Windows 98, sama seperti windows 95 merupakan versi windows hybrid 16 bit / 32 bit. Windows 98 dirilis tanggal 25 Juni 1998 telah mendukung driver AGP lebih baik, antarmuka USB, dan multi monitor. Versi perbaikan dari windows 98 adalah Windows 98 Second Edition (Windows 98 SE) yang dirilis tanggal 10 Juni 1999.
o Windows Me (Millenium Edition), merupakan versi windows GUI 32 bit yang dirilis tanggal 14 September 2000. Sebagai kelanjutan versi windows 95 dan windows 98, windows Me menambahkan aplikasi multimedia pada paketnya seperti Windows Media Player 7 dan Windows Movie Maker.
o Windows NT, sejak dikembangkan mulai tahun 1988, windows NT (New Technology) dikenal dengan nama OS/2 3.0, yaitu sistem operasi ketiga yang dikembangkan secara bersama-sama antara Microsoft dan IBM. Windows NT merupakan sistem operasi yang bekerja pada jaringan komputer berbeda dengan versi windows untuk komputer pribade yang stand alone. Versi-versi windows NT yang telah dirilis adalah:
Windows NT 3.1, dirilis Juli 1993.
Windows NT 3.5, dirilis September 1994.
Windows NT 3.51, dirilis Mei 1995.
Windows NT 4.0, dirilis Juli 1996.
o Windows 2000, mempunyai nama lain Win2K dan Windows NT 5.0 dirilis tanggal 17 Februari 2000. Sebagai jalur kelanjutan dari sistem operasi windows NT, windows 2000 menawarkan beberapa versi untuk komputer server, yaitu:
Windows 2000 Professional.
Windows 2000 Server.
Windows 2000 Advance Server.
Windows 2000 Data Center.
Windows 2000 sepenuhnya mendukung NT File System (NTFS) untuk semua versinya. Karena windows 2000 bersifat user restricted, maka arsitektur sistem operasi punya dua model yaitu user mode dan kernel mode.
o Windows XP, merupakan versi client dari sistem operasi windows dirilis tanggal 25 Oktober 2001. XP merupakan singkatan dari “experience”. Beberapa versi yang telah dirilis dari windows XP adalah:
Windows XP Home Edition, ditujukan untuk pengguna pribadi atau rumah.
Windows XP Profesional Edition, ditujukan untuk pengguna bisnis dan power user.
Windows XP Media Center Edition, merupakan versi tambahan dari ver Profesional Edition dengan tambahan aplikasi multimedia, seperti koneksi TV, streaming, dll.
o Windows Server 2003, mempunyai nama lain Windows NT 5.2 dirilis tanggal 24 April 2003. Windows 2003 Server merupakan kelanjutan dari Windows 2000 Server yang memiliki fitur dan kompatibilitas seperti Windows XP. Beberapa versi dari Windows 2003 Server adalah:
Windows Small Business Server 2003.
Windows Server 2003 Web Edition.
Windows Server 2003 Standard Edition.
Windows Server 2003 Enterprise Edition.
Windows Server 2003 Datacenter Edition.
Windows Server 2003 Compute Cluster Edition.
Windows Storage Server 2003.
o Windows CE, biasanya disebut juga dengan nama WinCE. Windows CE adalah jenis sistem operasi Microsoft Windows untuk komputer yang kecil atau embedded system seperti smartphone, PDA, Pocket PC, dan Handled PC. Nama CE sendiri merupakan singkatan dari “Compact Edition”, yang berarti sistem operasi Windows untuk sistem yang minimalis. Sistem operasi ini mendukung prosesor jenis Intel x86, MIPS, ARM Family, dan Hitachi SuperH.
o Windows 7 (sebelumnya berkodekan Blackcomb atau Vienna) merupakan versi terbaru microsoft windows yang akan menggantikan Windows Vista. Windows ini memiliki kernel NT 6.1. Microsoft mengumumkan bahwa pengembangan Windows 7 akan berjalan dalam tiga tahun. Versi klien dari Windows 7 akan dirilis dalam versi walaupun versi servernya (yang akan menggantikankan Windows Server 2008) akan dirilis hanya dalam versi 64-bit, yang akan dinamakan Windows Server R2 2008. Komputer akan memberitahu jika terjadi perubahan pada komputer tersebut. Windows 7 diluncurkan pada tanggal 22 Oktober 2009. Setiap pengguna akan mendapat perlindungan 3 lapis jika ada permintaan mengunduh file dari yang tak dikenal. Windows 7 didesain dengan fitur baru dan peningkatan performa dari Windows Vista.
Kunci kesuksesan Windows 7 adalah lebih menarik banyak pembeli selama masa diskonnya. Terhitung sejak bulan Juni 2009 lalu, Windows 7 Home Premium telah tersedia dengan harga yang sangat terjangkau yaitu sekitar 49 USD atau sekitar 500 ribu rupiah saja, ini tentu lebih hemat 70 USD atau sekitar 700 ribu rupiah dibandingkan harga penjualan aslinya sebesar 119 USD atau sekitar 1,2 juta rupiah. Sedangkan untuk Windows 7 Professional dijual dengan harga 99 USD saja atau sekitar 1 juta rupiah, ini merupakan setengah harga dari harga aslinya. Kini program tersebut telah berlalu. Namun sampai detik ini pihak Amazon masih menawarkan Windows 7 dengan harga yang lebih murah dari harga asli peluncurannya nanti.
Sekilas Perkembangan MS Office
Sejarah panjang perjalanan Microsoft Office hingga saat ini, banyak perubahan dan penambahan fasilitas sejak pertama kali diluncurkan tanggal 30 Agustus 1992. Waktu itu aplikasi perkantoran ini diberi nama Microsoft Office versi 3.0. Pada versi tersebut Microsoft Office menyertakan Microsoft Word sebagai pengolah kata, Microsoft Excel sebagai pengolah angka, Microsoft PowerPoint digunakan sebagai aplikasi presentasi yang handal dan Microsoft Mail digunakan untuk menerima dan mengirim email.
Setelah populer dengan Microsoft Office 3.0, pada tahun 1995-an Microsoft kembali meluncurkan Microsoft Office 95 bersamaan waktu itu Microsoft meluncurkan sistem operasi Microsoft Windows 95. Pada sistem operasi ini Microsoft merombak total Windows versi 3.1 dan Windows 3.11 for Workgroup, perubahan yang cukup signifikan dalam sejarah sistem operais PC saat itu. Sejalan dengan pekembangan sistem operasi Microsoft Windows, Microsoft Office sendiri terus berkembang dan semakin mapan dan terus digandrungi serta digunakan oleh sebagian besar masyarakat komputer di dunia, termasuk di Indonesia.
Pada kenyataannya sampai saat ini masih banyak kemampuan Microsoft Office 2003 masih belum tersentuh oleh pemakainya. Namun sejalan dengan perkembangan teknologi dan sistem operasi yang juga terus berkembang, maka diluar dugaan Microsoft kembali akan meluncurkan Microsoft Office 2007 bersamaan dengan Windows Vista yang sebentar lagi akan hadir di tengah-tengah masyarakat komputer dunia.
Microsoft Office, sesuai dengan namanya, software ini diproduksi oleh perusahaan raksasa bernama Microsoft. Microsoft office pertama kali .di Appearkkeanha plkaadna psaadaat ittauh MunS 1O9f8fi9c.e W. Pada kesempatan kali ini kami hanya akan menuliskan perkembangan Office di Sistem Operasi Windows.
Perkembangan Microsoft Office :
1. Microsoft Office 3.0. Ternyata yang pertama dirilis adalah versi 3.0. Pada versi ini hanya tersedia untuk OS Windows.
2. Microsoft Office 4.0. Dirilis pada tahun 1994. Berisi Word 6.0, Excel 5.0, PowerPoint 4.0, Mail and Access.
3. Microsoft Office 4.3. Seri ini merupakan seri dengan 16-bit yang terakhir dan juga versi terakhir yang mendukung Windows 3.x, Windows NT 3.1 dan Windows NT 3.5
4. Microsoft Office 95.Atau juga dikenal dengan versi 7.0. Versi ini menggunakan 32-bit agar cocok dengan Windows 95. Office 95 tersedia dalam dua versi, Office 95 Standard dan Office 95 Professional. Yang versi standar terdiri dari Word 7.0, Excel 7.0, PowerPoint 7.0 dan Schedule+7.0. Versi professional terdiri dari semua yang ada di standar ditambah dengan Access 7.0.
5. Microsoft Office 97. (Office 8.0), Versi ini dirilis dengan banyak fitur dan pengembangan dibandingkan versi sebelumnya. Pengen alan terhadap command bar, sesuatu hal yang baru dimana menu dan toolbar dibuat lebih mirip dengan visual design-nya. Office 97 juga memiliki fitur Natural Language System dan Sophisticated Grammar Checking. Ini versi yang pertama kalinya menggunakan Office Assistant.
6. Microsoft Office 2000. (Office 9.0) Pada versi ini bayak opsi – opsi disembunyikan. Tentunya opsi tersebut juga penting, tetapi kecil penggunaannya oleh orang awam. Jika ingin digunakan opsi ini dapat dimunculkan. Salah satunya adalah Macro. Mengapa disembunyikan? Karena bisa menyebarkan virus macro. Office 2000 adalah versi terakhir yang bisa dijalankan di Windows 95. Pada versi ini juga tidak ada Product Activation. Enak kan? Product activation mulai ada di versi selanjutnya.
7. Microsoft Office XP. Bisa disebut sebagai versi 10.0 atau office 2002, merupakan upgrade besar - besaran dengan banyak perkembangan dan perubahan. Office XP mengenalkan fitur Safe Mode. Memungkinkan aplikasi contohnya Outlook untuk bisa booting ketika terjadi kesalahan. Safe mode memungkinkan Office untuk mendeteksi, membetulkan atau mem-bypass sumber dari permasalahan system, seperti registry yang corrupt. Lalu adanya fitur Smart Tag yang memungkinkan mengingatkan user bila ada pengetikan yang salah ejaan. Tetapi pada Office ini Smart Tag hanya bisa dijalankan di Word dan Excel. Office XP juga terintegrasi dengan perintah suara dan pendiktean kata, sebaik mungkin seperti penulisan tangan. Di versi ini ada product activation. Office XP mendukung Windows 98, ME, NT 4.0. Office XP juga dikenal sebagai yang pertama untuk versi Office yang bisa berjalan baik di OS Vista.
8. Microsoft Office 2003. (Office 11.0). Sesuai namanya, versi ini dirilis pada tahun 2003. Dengan fitur logo baru. Dua aplikasi baru juga ada yaitu, Microsoft InfoPath dan OneNote. Ini versi yang pertama kalinya menggunakan gaya Windows XP beserta Icon-nya. Outlook 2003 memberikan fungsi yang telah berkembang seperti Kerberos authentication, RPC over HTTP, dan Cached Exchange Mode. Pada versi ini juga ada penyaring junk mail yang telah dikembangkan. Office 2003 merupakan versi terakhir yang mendukung Windows 2000. Versi ini juga merupakan versi yang paling banyak dipakai di Indonesia terutama untuk Rental dan Warnet dalam kurun waktu terakhir 2009.
9. Microsoft Office 2007. (Office 12.0). Versi ini dirilis tahun 2007. Memiliki fitur baru. Juga adanya Groove, sebuah aplikasi kolaborasi. Office 2007 memiliki design tampilan baru yang bernama Fluen User Interface. Lalu adanya Ribbon UI sebagai pengganti menu dan toolbar. Untuk penginstallannya membutuhkan minimal Windows XP SP 2. Pada tahun 2009 Office ini sudah banyak dipakai sekarang dan mulai menggeser kedudukan Office 2003. Indonesia memang agak lambat untuk menyesuaikan diri dengan adanya peningkatan teknologi.
10. Microsoft Office 2010. (Office 14.0). Untuk sekarang sedang dalam perkembangan. Kemungkinan dirilis adalah pada tahun 2010. Versi 13.0 dilewati karena adanya takhayul terhadap nomor 13! Berdasarkan Peneliti Forrester, sampai bulan Juni 2009, beberapa versi dari MS office digunakan di 80% dari jumlah perusahaan yang ada.