Manajemen Proyek Perangkat Lunak merupakan bagian yang penting dalam pembangunan perangkat lunak.
Sekalipun tidak bersifat teknis seperti pengkodean, hal-hal dalam manajemen proyek perangkat lunak ini mampu menentukan apakah proyek akan berjalan dengan baik sehingga menghasilkan produk yang baik.
Hal-hal yang berkaitan dengan manajemen adalah pengelolaan personel dan koordinasi tim, proses, pengukuran proyek-termasuk menentukan harga dari  perangkat lunak, penjadwalan dan sebagainya.

Manajemen proyek perangkat lunak mengatur 4 hal penting yaitu :

1. Personel
2. Produk
3. Proses
4. Proyek


1. Personel
Proses pembangunan perangkat lunak melibatkan banyak personel. Personel-personel ini digambarkan seperti pemain, dan dikatagorikan dalam 5 katagori pemain:

a. Manajer senior : yang menentukan usaha yang dikerjakan, dan pemegang keputusan dalam proyek.
b. Manajer proyek (teknis)– pemimpin tim:  yang membuat rencana, memotivasi, mengatur dan mengendalikan praktisi yang mengerjakan perangkat lunak.
c. Praktisi : yang mengerjakan perangkat lunak
d. Klien : yang menentukan kebutuhan perangkat lunak dan pihak lain yang berkaitan dengan hasil produk
e. Pengguna Perangkat Lunak : yang berinteraksi langsung dengan perangkat lunak yang dibangun.


2. Pemimpin Tim/ Manajer Proyek
Kemampuan yang dibutuhkan dalam kepemimpinan seperti:
a. Mampu memotivasi
b. Mampu berorganisasi : mengatur proses yang ada atau membuat yang baru dalam rangka mewujudkan ide/konsep menjadi produk
c. Mampu mendorong keluarnya ide-ide baru: memberi dorongan, menciptakan situasi yang kondusif untuk lahirnya ide baru
d. Mencari penyelesaian masalah (problem solving): mampu menganalisa masalah-masalah teknis ataupun manajemen/organisasi kemudian mendapatkan jalan keluar atau memotivasi anggota untuk mampu menyelesaikan masalah. Akomodatif terhadap perubahan yang mungkin terjadi.

3. Tim Perangkat Lunak (Software Team)
Berikut beberapa pilihan pembagian  tugas/penugasan yang bisa diterapkan untuk tim perangkat lunak yang terdiri dari n personel yang bekerja selama k tahun:
a. Personel ditugaskan untuk sejumlah m tugas yang berbeda dengan sedikit tugas gabungan ? koordinasi adalah tugas dari manajer yang mungkin saja punya 6 proyek lainnya.
b. n personel di tugaskan untuk sejumlah m tugas yang berbeda dengan m < n sehingga terbentuk tim informal. Pemimpin tim khusus perlu ada ? koordinasi antar tim adalah tanggung jawab manajer
c. n personel dibagi menjadi sejumlah t tim. Tiap tim ditugaskan mengerjakan satu atau lebih tugas. Tiap tugas mempunyai struktur yang ditentukan sebelumnya bagi semua tim ? koordinasi dikendalikan oleh tim dan manager.
Sekalipun masing-masing pilihan punya argumentasi sendiri-sendiri, namun dari pengamatan yang dilakukan, pilihan no 3 dianggap lebih produktif.


1. Contoh Struktur Organisasi Tim
a. Democratic Decentralized (DD) : 
Tidak ada pemimpin yang permanen, koordinator ditunjuk untuk jangka waktu yang pendek, keputusan diambil berdasarkan konsensus bersama, komunikasi horizontal antar anggota tim (posisi sejajar semua).
Cocok untuk masalah yang sulit/rumit, cocok untuk proyek besar, tim cenderung awet dan bertahan lama, pekerjaan memuaskan, cocok untuk masalah yang modularitasnya rendah, perlu banyak waktu untuk menyelesaikan proyek.

b. Controlled decentralized (CD) :
Pemimpin tim ditentukan, ada wakil pemimpin dan mereka berbagi tugas, penyelesaian masalah adalah tugas tim dan implementasinya dibagi di antara beberapa sub-tim oleh pemimpin, komunikasi horisontal di antara sub-tim dan di antara personel, komunikasi vertikal berdasarkan struktur hirarki ? sentralisasi untuk penyelesaian masalah.
Cocok untuk masalah yang sederhana, cukup cocok untuk proyek besar, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan.

c. Controlled Centralized (CC):
Penyelesaian masalah dikerjakan oleh pemimpin, pemimpin melakukan koordinasi internal tim, komunikasi lebih banyak vertikal antara pemimpin dan anggota tim.
Cocok untuk masalah yang sederhana, melakukan penyelesaian, masalah lebih cepat, masalah dengan modularitas tinggi, menghasilkan sedikit kesalahan.


2. Pengukuran Berdasarkan Ukuran
Pengukuran berdasarkan perangkat lunak - perangkat lunak yang sudah diproduksi/dibuat sebelumnya, lengkap dengan karakteristik lain seperti line of code (LOC), harga, waktu yang diperlukan pada tiap fungsi atau proyek yang dibangun, kesalahan (error) yang ditemukan. Dari total LOC, harga dan lama waktu dapat diperoleh misalnya :
a. harga per KLOC (seribu baris kode)
b. kesalahan per KLOC
Cara ini kurang diterima secara universal karena pengunaan LOC untuk kunci ukuran bergantung pada bahasa pemrograman yang digunakan.

3. Pengukuran Berdasarkan Fungsi (Function Point – FP)
Function point ditentukan berdasarkan bagian-bagian software yang bisa  dihitung seperti :
a. jumlah input dari pengguna
b. jumlah output untuk pengguna
c. jumlah user inquiry: inquiry didefinisikan sebagai online input yang menghasilkan respon langsung dari software dalam bentuk online  output
d. jumlah file: baik file yang terpisah dari database, atau bagian dari file
e. jumlah external interface: misalnya data file pada storage media yang digunakan untuk mengirimkan informasi ke sistem lain.

Ukuran untuk organisasi kecil bisa menggunakan ukuran seperti :
a. waktu (hari atau jam) mulai dari permintaan/request samai evaluasi lengkap 
b. usaha (personel-waktu) untuk melakukan evaluasi.
c. waktu (jam atau hari) dari selesainya evaluasi sampai penugasan lain ke personel.
d. usaha (personel – jam) yang dibutuhkan untuk membuat perubahan 
e. waktu (jam atau hari ) untuk melakukan perubahan, 
f. kesalahan yang terjadi selama pengerjaan untuk melakukan perubahan. 
g. cacat yang terjadi setelah perubahan diserahkan ke klien.

SDLC (Systems Development Life Cycle, Siklus Hidup Pengembangan Sistem) atau Systems Life Cycle (Siklus Hidup Sistem), dalam rekayasa sistem dan rekayasa perangkat lunak, adalah proses pembuatan dan pengubahan sistem serta model dan metodologi yang digunakan untuk mengembangkan sistem - sistem tersebut. Konsep ini umumnya merujuk pada sistem komputer atau informasi. SDLC juga merupakan pola yang diambil untuk mengembangkan sistem perangkat lunak, yang terdiri dari tahap - tahap: rencana(planning), analisis (analysis), desain (design), implementasi (implementation), uji coba (testing) dan pengelolaan (maintenance).
Seperti halnya dengan manusia, suatu sistem juga memiliki siklus atau daur hidup. Siklus Hidup Produk (Product Life Cycle) ini yaitu suatu grafik yang menggambarkan riwayat sistem sejak diperkenalkan ke pasar sampai dengan ditarik dari pasar . Siklus Hidup sistem (Product Life Cycle) ini merupakan konsep yang penting dalam pemasaran karena memberikan pemahaman yang mendalam mengenai dinamika bersaing suatu sistem. Konsep ini dipopulerkan oleh levitt (1978) yang kemudian penggunaannya dikembangkan dan diperluas oleh para ahli lainnya. Pada prinsipnya, Hampir setiap sistem di dunia ini mengalami Siklus Hidup Sistem. Namun jangka waktu siklus hidup sistem pada setiap sistem tersebut berbeda - beda, ada yang cepat hilang, ada juga yang dapat bertahan dalam jangka waktu yang relatif lama. Apalagi pada sistem - sistem yang berorientasi pada Teknologi seperti pada sistem - sistem Elektronika (Ponsel, Komputer, Televisi).

Tahapan SDLC
SDLC terdiri dari beberapa tahapan - tahapan berdasarkan analisa kebutuhan yang ada . Dimulai dari analisa kebutuhan perangkat lunak akan dibuat terlebih dahulu desain dari kebutuhan tersebut untuk mempermudah dalam pengerjaannya. Kemudian segala kebutuhan tersebut di implementasikan dengan dua tahap yaitu tahap analisa dan tahap evaluasi (User Acceptance Test). Setelah melakukan implementasi, maka proses tersebut akan dikembalikan kembali ke dalam tahap desain untuk pengembangan kembali perangkat lunak ke versi yang terbaru.
Tahap – tahap SDLC dalam pembangunan sistem informasi Web :

1) Plaining
Plaining (perencanaan) adalah feasibility dan wawancara , observasi, Quesener. Jika pada tahap Feasibility hasilnya baik maka langsung ketahap investigasi dan diberi form kepada client untuk mencatat kebutuhan client. Dalam sistem investigasi, dapat berupa wawancara, kuosiener atau observation. Dalam tahap ini hal yang pertama dilakukan adalah memberikan form ke user yang digunakan untuk mengetahui permintaan user.

2) Analisa
a. Analisa TeknologiMemerlukan data penyimpanan secara informasi produk, Informasi Berita digunakan database seeprti Mysql, MSAccess.. Menganalisis teknologi apa yang digunakan pemilik desain Web seperti menggunakan desain grafis maka memerlukan teknologi seperti Adobe Photoshop, Macromedia Flash, Dreamweaver.
b. Analisa informasi. Mengenai informasi data yang akan menjadi data tetap dan data dinamis, kategori informasi data tetap adalah : profile perusahaan, visi dan misi, sejarah perusahaan, latar belakang perusahaan. Informasi dinamis adalah informasi yang selalu berubah dalam setiap periodik dapat setiap hari atau setiap jam. Informasi dinamis dalam sistem ini adalah :
1) Informasi persediaan ( stock ) produk.
2) Informasi Harga Produk dan diskon.
3) Informasi Artikel, tips dan trik.
4) Informasi dari masing keunggulan Produk atau produk yang sedang trend.

3) Desain.
Desain Informasi dalam tahap ini dimodelkan informasi link dari setiap halaman, jika dalam sistem tersebut terdapat database maka digunakan tahap development dan database disain.
a. Desain Grafis. Dalam tahap ini disesuaikan dari warna, layout, gambar dan graphic.
b. Database Application
c. Model Development Database Design PHP Library Development. Tahap untuk memodelkan seluruh peruses yang ada,seperti peruses penyimpanan data,update artikel, dan menampilkan data dari database.

4) Implementasi
a. Penulisan Program dan Instalasi. Merupakan tahap penulisan program yang telah dianalisis dan diesain semua maka perogeram yang digunakan adalah PHP dan database yang digunakan MySql
b. Desain Review. Dalam tahap ini tidak hanya menguji desain yang digunakan namun menguji semua sistem yang telah diterapkan seperti tidak ada lokasi lingk, image yang salah, pengujian sistem seperti penyimpanan data, update artikel dan lain-lain.
c. Pemilihan Sumber daya Hardware dan Software. Dalam tahap ini software dan hardware digunakan untuk Web server.
d. Pengujian Web dan Dokumen Web. Menguji Web dengan berbagai teknologi browser yang ada, serta pemeriksaan dokumen Web. Siklus hidup pengembangan sistem mempunyai beberapa tahapan, yaitu : 
1) Analisis sistem, merupakan tahap awal dari SDLC, merupakan orang yang dididik khusus untuk mengembangkan sistem secara profesional.
2) Perancangan sistem memiliki dua tujuan utama, yaitu memberikan perancangan sistem logika atau perancangan sistem secara umum (general system design), dan memberikan perancangan sistem secara terinci (detail system design).
3) Implimentasi system, proses mengganti atau meninggalkan sistem yang lama dengan sistem baru.
4) Operasi dan perawatan beberapa kelebihan dan kekurangan. Kelebihannya yaitu menyediakan tahapan yang dapat digunakan sebagai pedoman mengembangkan sistem, dan akan memberikan hasil sistem yang lebih baik. Kemudian kekurangnnya, yaitu hanya menyediakan tahapan-tahapan saja, hasil dari metode ini sangat tergantung ari hasil di tahap, analisis, membuthkan waktu yang lama, membutuhkan biaya yang relatif lebih besar, dan hasilnya tidak luwes untuk dimodifikasi.

Supaya pengembangan sistem dapat bekerja dengan efisien dan efektif, maka metodologi pengembangaan sistem perlu diketahui. Metodologi pengembangan sistem yang populer dan banyak digunakan adalah metodologi pengembangan sistem terstruktur, yang memberikan cara top down dan cara dekomposisi dan beberapa abit pengembangan sistem. Model SDLC atau Sekuensial Linier sering disebut juga Model Air Terjun. Model ini mengusulkan sebuah pendekatan perkembangan perangkat lunak yang sistematik dan sekunsial yang dimulai pada tingkat dan kemajuan sistem pada seluruh analisis, desain, kode, pengujian, dan pemeliharaan. Model ini disusun bertingkat, setiap tahap dalam model ini dilakukan berurutan, satu sebelum yang lainnya. Model ini biasanya digunakan untuk membuat sebuah software dalam skala besar dan yang akan dipakai dalam waktu yang lama. Sangat cocok untuk pengembangan sistem yang besar.
1. Kelebihan
Mudah diaplikasikan.
Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan.
2. Kekurangan
Jarang sekali proyek riil mengikuti aliran sekuensial yang dianjurkan model karena model ini bisa melakukan itersi tidak langsung.
Pelanggan sulit untuk menyatakan kebutuhan secara eksplisit sehingga sulit untuk megakomodasi ketidakpastian pada saat awal proyek.
Pelanggan harus bersikap sabar karena harus menunggu sampai akhir proyrk dilalui. Sebuah kesalahan jika tidak diketahui dari awal akan menjadi masalah besar karenaharus mengulang dari awal.
Pengembang sering malakukan penundaan yang tidak perlu karena anggota tim proyek harus menunggu tim lain untuk melengkapi tugas karena memiliki ketergantungan hal ini menyebabkan penggunaan waktu tidak efesien.


CASE TOOL

CASE adalah perangkat komputer yang berbasis sistem yang bertujuan untuk mendukung satu atau lebih kegiatan rekayasa perangkat lunak dalam proses pengembangan software. Penulis lainnya telah berusaha untuk membuat finer-grained distinctions berbeda antara ent kelas CASE alat bersama sejumlah dimensi. Distinctions yang paling umum adalah:
1. Antara orang dan alat yang bersifat interaktif (seperti desain mendukung metode alat) dan orang-orang yang tidak (seperti kompilator). Mantan kelas kadang-kadang disebut CASE tool, sedangkan yang kedua kelas yang disebut alat-alat pembangunan.
2. Antara orang dan alat yang mendukung kegiatan di awal siklus hidup dari software proyek (seperti persyaratan desain dan dukungan alat - alat) dan orang - orang yang digunakan nanti dalam siklus hidup (seperti kompiler dan alat uji dukungan). Mantan kelas kadang - kadang disebut front-end CASE tool, dan yang kedua adalah kembali disebut akhir CASE tools.
3. Antara orang dan alat yang khusus untuk tertentu siklus hidup langkah atau domain (seperti persyaratan perangkat atau alat coding) dan orang - orang yang umum di sejumlah langkah siklus hidup atau domain (seperti dokumentasi atau alat konfigurasi manajemen alat). Mantan kelas kadang-kadang disebut vertikal CASE tool, sedangkan yang kedua kelas dipanggil horisontal CASE tools.
Secara umum seorang software engineer maupun engineer dari disiplin ilmu yang lain dalam membangun/mengembangkan suatu sistem, memiliki karakteristik sebagai berikut:
1. Mengetahui manfaat tools yang dapat membantu dalam membangun/mengembangkan suatu sistem.
2. Mampu mengorganisasikan tools yang memungkinkan untuk bekerja cepat dan efisien.
3. Memiliki pengetahuan teknik membangun/mengembangkan produk serta handal dalam menggunakan tools untuk membantu pekerjaannya.
Dalam software engineering telah dikenal banyak tools (computer-base system) yang dikenal dengan Computer-Aided Software Engineering (CASE). CASE merupakan suatu teknik yang digunakan untuk membantu satu atau beberapa fase dalam life-cycle software, termasuk fase analisis, desain, implementasi dan maintenance dari software tersebut. Manfaat CASE tools untuk software engineer dijabarkan sebagai berikut:
1. CASE tools memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software.
2. CASE tools sangat membantu dalam meningkatkan kualitas design model suatu software sebelum software itu dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment.

CASE tools diklasifikasikan sebagai berikut:
1. Upper CASE. CASE tools yang didesain untuk mendukung perencanaan, identifikasi, dan seleksi proyek (permulaan dari perencanaan proyek), tepatnya pada fase analisis dan desain dari suatu system Tools yang termasuk kelas ini adalah jenis Diagramming tools, Form and report generators, dan Analysis tools. Contoh CASE tools: Cradle, PRO-IV Workbench, ProKit*WORKBENCH.
2. Lower CASE. CASE tools yang didesain untuk mendukung tahap implementasi dan maintenance dari SDLC. Tools yang termasuk kelas ini adalah jenis Code generators.
Contoh CASE tools: Level/l-User Sensitive CASE, PRO-IV application Development.
3. Cross life-cycle CASE/Integrated CASE (I-CASE). CASE tools yang dirancang untuk mendukung aktifikas-aktifitas yang terjadi pada beberapa fase dari SDLC. Mengkombinasikan Upper dan Lower CASE menjadi satu. Tools yang termasuk kelas ini adalah jenis Project management tools. Contoh CASE tools: Rational Rose, Poseidon, ArgoUML, Catalyze, in-Step, Juggler, PRINCE.

Fase Pengembangan dan Fase Pemeliharaan
Kedua fase ini tidak berada dalam satu fase, karena kedua fase ini memiliki fase/tahapan-tahapan masing-masing. Namun fase pemeliharaan didalam pengembangan secara cyclic ini, berada didalam fase pengembangan atau menjadi salah satu kegiatan fase pengembangan perangkat lunak. Namun walaupun begitu fase pemeliharaan memiliki fase kegiatan tersendiri setelah system diinstall dan dipakai. Pemeliharaan mencakup koreksi dan perbaikan berabagai error yang ada.
Pengembangan perangkat lunak yang bersifat cyclic meliputi kegiatan-kegiatan antara lain :
1. Studi dan Analisa
2. Desain global
3. Desain detail
4. Implementasi
5. Operasi dan Pemeliharaan
Jadi kedua fase ini tidak berada dalam satu fase tertentu, namun secara syclyc fase pemeliharaan menjadi bagian dari kegiatan fase pengembangan perangkat lunak.

Aneka Software Case Tool
Case merupakan suatu teknik yang digunakan untuk membantu satu atau beberapa fase dalam life-cycle software, termasuk fase analisis, desain, implementasi dan maintenance dari software.
Manfaat case tools untuk software engineer adalah :
1.  Memperbesar kemungkinan otomatisasi pada setiap fase life-cycle software.
2. Membatu dalam meningkatkan kualitas design model suatu software sebelum software itu dibangun/dikembangkan, baik itu untuk software yang dibangun dalam simple maupun complex environment.

Contoh Software Upper Case :
1. Photoshop : perangkat lunak editor citra buatan adobe system yang dikhususkan untuk pengeditan foto/gambar dan pembuatan efek.
2. Ken Rename : software dengan utilitas untuk mengubah nama tambahan jumlah file dan memiliki pohon direktori untuk memilih file.Ken rename memiliki banyak kebiasaan pintas keyboard untuk membantu pengguna memastikan aliran cepat dan mudah dari aplikasi.
3. Adobe Premier : perangkat lunak editor yang dikhususkan untuk pengeditan video/film dengan berbagai efek.
4. Batch File Rename : Aplikasi yang mempu mengkonversi file ke dalam share point kompatibel serta format yang kompatibel internet dan menyediakan fitur yang berbeda untuk nomor renumbering urutan dan mengubah nama file musik Mp3 dengan bantuan tag seperti album, judul.
5. Software Password Generator : program yang dirancang untuk menghasilkan crack, pasword dengan mudah dan cepat, kita dapat mengubah password yang sangat kuat hingga 128 panjang karakter untuk semua acount. sementara untuk membuat sandi, kita dapat menggunakan huruf, angka, simbol dan juga sebagai kombinasi.
6. ACSESE
7. VISIO
8. NAFICAT
Contoh Software Lower Case :
1. Java : bahasa pemograman yang dapat dijalankan di berbagai komputer termasuk telepon dan dapat dikembangkan ke dalam berbagai aplikasi.
2. Netbeans : Software untuk pengembangan aplikasi desktop java, dan sebuah Integrated Development Environment (IDE) yang dibangun menggunakan platform NetBeans. Platform NetBeans memungkinkan aplikasi dibangun dari sekumpulan komponen perangkat lunak moduler (arsip java yang memuat kelas - kelas java untuk berinteraksi dengan NetBeans Open API dan file manifestasi yang mengidentifikasinya sebagai modul.
3. BPM ( bussiness process management ) tool : perangkat lunak yang disediakan untuk membantu organisasi dalam mengelola proses bisnis yang dimilikinya mulai dari tahap perancangan, lalu otomasi (komputerisasi), kemudian eksekusi, hingga tahap monitoring.
4. Visual Basic : Pemograman yang mudah digunakan untuk pengembangan aplikasi, baik itu aplikasi kecil maupun aplikasi besar.
5. Desk Tool : alat yang dapat digunakan untuk meminimalkan aplikasi apapun, juga dapat membuat aplikasi transparan. Desk Tool merupakan paket dengan banyak tools canggih lainnya seperti CritHide (menyembunyikan semua aplikasi yang berisi kata kunci particular).
6. MS SQL
7. FOXPRO
8. ORACLE
9. INNOSET UP
10. VB DEPLOYMENT

Model Proses Perangkat Lunak

Model proses untuk rekayasa perangkat lunak dipilih berdasarkan sifat aplikasi dan proyeknya, metode dan alat - alat bantu yang akan dipakai, dan kontrol serta penyampaian yang dibutuhkan. Perkembangan perangkat lunak bisa dianggap sebagai lingkaran pemecahan masalah di mana terdapat empat keadaan berbeda, yaitu status quo, definisi masalah, perkembangan teknis memecahkan masalah, dan integrasi dari seluruh pemecahan masalah. Adapun beberapa model pengembangan perangkat lunak yang biasa digunakan adalah sebagai berikut:
1. Model Sekuensial Linear (Waterfall)
Nama model ini sebenarnya adalah “Linear Sequential Model”. Model ini sering disebut dengan “classic life cycle” atau model waterfall. Model ini adalah model yang muncul pertama kali yaitu sekitar tahun 1970 sehingga sering dianggap kuno, tetapi merupakan model yang paling banyak dipakai didalam Software Engineering (SE). Model ini melakukan pendekatan secara sistematis dan urut mulai dari level kebutuhan sistem lalu menuju ke tahap analisis, desain, coding, testing/verification, dan maintenance. Disebut dengan waterfall karena tahap demi tahap yang dilalui harus menunggu selesainya tahap sebelumnya dan berjalan berurutan. Sebagai contoh tahap desain harus menunggu selesainya tahap sebelumnya yaitu tahap requirement. Secara umum tahapan pada model waterfall dapat dilihat pada gambar berikut :
Image result for model waterfall  
Gambar di atas adalah tahapan umum dari model proses ini.Akan tetapi Roger S. Pressman memecah model ini menjadi 6 tahapan meskipun secara garis besar sama dengan tahapan - tahapan model waterfall pada umumnya. Berikut adalah penjelasan dari tahap - tahap yang dilakukan di dalam model ini menurut Pressman: 
System / Information Engineering and Modeling. Permodelan ini diawali dengan mencari kebutuhan dari keseluruhan sistem yang akan diaplikasikan ke dalam bentuk software. Hal ini sangat penting, mengingat software harus dapat berinteraksi dengan elemen - elemen yang lain seperti hardware, database, dsb. Tahap ini sering disebut dengan Project Definition.
Software Requirements Analysis. Proses pencarian kebutuhan diintensifkan dan difokuskan pada software. Untuk mengetahui sifat dari program yang akan dibuat, maka para software engineer harus mengerti tentang domain informasi dari software, misalnya fungsi yang dibutuhkan, user interface, dsb. Dari 2 aktivitas tersebut (pencarian kebutuhan sistem dan software) harus didokumentasikan dan ditunjukkan kepada pelanggan.
Design. Proses ini digunakan untuk mengubah kebutuhan - kebutuhan diatas menjadi representasi ke dalam bentuk “blueprint” software sebelum coding dimulai. Desain harus dapat mengimplementasikan kebutuhan yang telah disebutkan pada tahap sebelumnya. Seperti 2 aktivitas sebelumnya, maka proses ini juga harus didokumentasikan sebagai konfigurasi dari software.
Coding. Untuk dapat dimengerti oleh mesin, dalam hal ini adalah komputer, maka desain tadi harus diubah bentuknya menjadi bentuk yang dapat dimengerti oleh mesin, yaitu ke dalam bahasa pemrograman melalui proses coding. Tahap ini merupakan implementasi dari tahap design yang secara teknis nantinya dikerjakan oleh programmer.
Testing / Verification. Sesuatu yang dibuat haruslah diujicobakan. Demikian juga dengan software. Semua fungsi-fungsi software harus diujicobakan, agar software bebas dari error, dan hasilnya harus benar-benar sesuai dengan kebutuhan yang sudah didefinisikan sebelumnya.
Maintenance. Pemeliharaan suatu software diperlukan, termasuk di dalamnya adalah pengembangan, karena software yang dibuat tidak selamanya hanya seperti itu. Ketika dijalankan mungkin saja masih ada errors kecil yang tidak ditemukan sebelumnya, atau ada penambahan fitur - fitur yang belum ada pada software tersebut. Pengembangan diperlukan ketika adanya perubahan dari eksternal perusahaan seperti ketika ada pergantian sistem operasi, atau perangkat lainnya.

2. Model Spiral
Proses model yang lain, yang cukup populer adalah Spiral Model. Model ini juga cukup baru ditemukan, yaitu pada sekitar tahun 1988 oleh Barry Boehm pada artikel A Spiral Model of Software Development and Enhancement. Spiral model adalah salah satu bentuk evolusi yang menggunakan metode iterasi natural yang dimiliki oleh model prototyping dan digabungkan dengan aspek sistimatis yang dikembangkan dengan model waterfall. Tahap desain umumnya digunakan pada model Waterfall, sedangkan tahap prototyping adalah suatu model dimana software dibuat prototype (incomplete model), “blue-print”-nya, atau contohnya dan ditunjukkan ke user/customer untuk mendapatkan feedback-nya. Jika prototype-nya sudah sesuai dengan keinginan user/customer, maka proses SE dilanjutkan dengan membuat produk sesungguhnya dengan menambah dan memperbaiki kekurangan dari prototype tadi.
Model ini juga mengkombinasikan top-down design dengan bottom-up design, dimana top-down design menetapkan sistem global terlebih dahulu, baru diteruskan dengan detail sistemnya, sedangkan bottom-up design berlaku sebaliknya. Top-down design biasanya diaplikasikan pada model waterfall dengan sequential-nya, sedangkan bottom-up design biasanya diaplikasikan pada model prototyping dengan feedback yang diperoleh. Dari 2 kombinasi tersebut, yaitu kombinasi antara desain dan prototyping, serta top-down dan bottom-up, yang juga diaplikasikan pada model waterfall dan prototype, maka spiral model ini dapat dikatakan sebagai model proses hasil kombinasi dari kedua model tersebut. Oleh karena itu, model ini biasanya dipakai untuk pembuatan software dengan skala besar dan kompleks.
Spiral model dibagi menjadi beberapa framework aktivitas, yang disebut dengan task regions. Kebanyakan aktivitas2 tersebut dibagi antara 3 sampai 6 aktivitas. Berikut adalah aktivitas - aktivitas yang dilakukan dalam spiral model:
Customer communication. Aktivitas yang dibutuhkan untuk membangun komunikasi yang efektif antara developer dengan user/customer terutama mengenai kebutuhan dari customer.
Planning. Aktivitas perencanaan ini dibutuhkan untuk menentukan sumberdaya, perkiraan waktu pengerjaan, dan informasi lainnya yang dibutuhkan untuk pengembangan software.
Analysis risk. Aktivitas analisis resiko ini dijalankan untuk menganalisis baik resiko secara teknikal maupun secara manajerial. Tahap inilah yang mungkin tidak ada pada model proses yang juga menggunakan metode iterasi, tetapi hanya dilakukan pada spiral model.
Engineering. Aktivitas yang dibutuhkan untuk membangun 1 atau lebih representasi dari aplikasi secara teknikal.
Construction & Release. Aktivitas yang dibutuhkan untuk develop software, testing, instalasi dan penyediaan user / costumer support seperti training penggunaan software serta dokumentasi seperti buku manual penggunaan software.
Customer evaluation. Aktivitas yang dibutuhkan untuk mendapatkan feedback dari user / customer berdasarkan evaluasi mereka selama representasi software pada tahap engineering maupun pada implementasi selama instalasi software pada tahap construction and release.

3. Model Prototipe
Model ini diawali dengan penentuan kebutuhan oleh user. Pengembang akan mengumpulkan informasi - informasi mengenai kebutuhan user tersebut dan kemudian membuat sebuah prototype dari perangkat lunak yang akan dikembangkan. Model ini sangat cocok bagi user awam, sehingga dengan adanya prototype pemahaman mereka akan terbantu dan mereka mempunyai landasan dan acuan dalam tahapan selanjutnya, misalnya pada tahapan pengujian perangkat lunak.
McLeod dan Schell (2007) mendifiniskan 2 (dua) tipe dari prototype yaitu:
1. Evolutionary Prototype
2. Requirements Prototype
Evolutionary prototype yaitu, prototype yang secara terus menerus dikembangkan hingga prototype tersebut memenuhi fungsi dan prosedur yang dibutuhkan oleh sistem. Berikut gambar dari tahapan evolutionary prototype:
Image result for Gambar: Evolutionary Prototyping Model 
Gambar: Evolutionary Prototyping Model.
a. Analisis kebutuhan user, pengembang dan pengguna atau pemilik sistem melakukan diskusi dimana pengguna atau pemilik sistem menjelaskan kepada pengembang tentang kebutuhan sistem yang mereka inginkan.
b. Membuat prototype, pengembang membuat prototype dari sistem yang telah dijelaskan oleh pengguna atau pemilik sistem.
c. Menyesuaikan prototype dengan keinginan user, pengembang menanyakan kepada pengguna atau pemilik sistem tentang prototype yang sudah dibuat, apakah sesuai atau tidak dengan kebutuhan sistem.
d. Menggunakan prototype, sistem mulai dikembangkan dengan prototype yang sudah dibuat.
Requirement prototype merupakan prototype yang dibuat oleh pengembang dengan mendifiniskan fungsi dan prosedur sistem dimana pengguna atau pemilik sistem tidak bisa mendefinisikan sistem tersebut. Berikut ini langkah-langkah dari requirement prototype :

Gambar: Requirement Prototype Model
1. Analisis kebutuhan user, pengembang dan pengguna atau pemilik sistem melakukan diskusi dimana pengguna atau pemilik sistem menjelaskan kepada pengembang tentang kebutuhan sistem yang mereka inginkan.
2. Membuat prototype, pengembang membuat prototype dari sistem yang telah dijelaskan oleh pengguna atau pemilik sistem.
3. Menyesuaikan prototype dengan keinginan user, pengembang menanyakan kepada pengguna atau pemilik sistem tentang prototype yang sudah dibuat, apakah sesuai atau tidak dengan kebutuhan sistem.
4. Membuat sistem baru, pengembang menggunakan prototype yang sudah dibuat untuk membuat sistem baru.
5. Melakukan testing sistem, pengguna atau pemilik sistem melakukan uji coba terhadap sistem yang dikembangkan.
6. Menyesuaikan dengan keinginan user, sistem disesuaikan dengan keinginan user dan kebutuhan sistem, jika sudah sesuai sistem siap digunakan.
7. Menggunakan sistem.
Kelebihan dari teknik pengembangan prototyping yaitu :
1. Menghemat waktu pengembangan.
2. Menghemat biaya pengembangan.
3. Pengguna atau pemilik sistem ikut terlibat dalam pengembangan, sehingga kemungkinan-kemungkinan  terjadinya kesalahpahaman dalam sistem bisa diminimalisir.
4. Implementasi akan menjadi mudah, karena pengguna atau pemilik sistem sudah mempunyai gambaran tentang sistem.
5. Kualitas sistem yang dihasilkan baik.
6. Memungkinan  tim pengembang sistem  memprediksi dan memperkirakan  pengembangan-pengembangan sistem selanjutnya.
Sedangkan kelemahannya adalah :
Pengguna atau pemilik sistem bisa terus menerus menambah kompleksitas sitem hingga sistem menjadi sangat kompleks, hal ini bisa menyebabkan pengembang meninggalkan pekerjaanya sehingga sistem yang dikerjaan tidak akan pernah terselesaikan.

4. Model Rapid Application Development (RAD) 
Rapid Aplication Model (RAD) adalah sebuah proses perkembangan perangkat lunak sekuensial linier yang menekankan siklus perkembangan yang sangat pendek. Model RAD ini merupakan sebuah adaptasi “kecepatan tinggi” dari model sekuensial linier dimana perkembangan cepat dicapai dengan menggunakan pendekatan konstruksi berbasis komponen. Jika kebutuhan dipahami dengan baik, proses RAD memungkinkan tim pengembangan menciptakan “sistem fungsional yang utuh” dalam periode waktu yang sangat pendek (kira-kira 60 sampai 90 hari).
Fase-fase RAD 
Karena dipakai terutama pada aplikasi sistem konstruksi, pendekatan RAD melingkupi fase-fase sebagai berikut :
Bussiness Modeling
    Aliran informasi di antara fungsi-fungsi bisnis dimodelkan dengan suatu cara untuk menjawab pertanyaan-pertanyaan berikut : Informasi apa yang mengendalikan proses bisnis? Informasi apa yang dimunculkan? Siap yang memunculkannya? Ke mana informasi itu pergi? Siapa yang memprosesnya?
Data Modeling
   Aliran informasi yang didefinisikan sebagai bagian dari fase bussiness  modeling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik masing-masing objek didefinisikan dan hubungan antara objek-objek tersebut didefinisikan.
Prosess Modeling
   Objek data yang telah didefinisikan di dalam fase data modeling ditransformasikan untuk mencapai aliran informasi yang perlu bagi implementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus atau mendapatkan kembali sebuah objek data.
Aplication Generation
     RAD mengasumsikan pemakaian teknik generasi keempat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrograman general yang konvensional, RAD lebih banyak memproses kerja untuk mamakai lagi komponen program yang ada atau menciptakan komponoen yang bisa dipakai lagi. Pada semua kasus, alat-alat bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.
Testing and Turnover
     Karena proses RAD menekankan pada pemakaian kembali , banyak komponen program telah diuji. Hal ini mengurangi keseluruhan waktu pengujian. Tetapi komponen baru harus diuji dan semua interface harus dilatih secara penuh.
Secara jelas batasan waktu yang dibebankan pada sebuah proyek RAD memerlukan “ruang lingkup yang bisa diskala”. Jika sebuah aplikasi bisnis dapat dimodulkan dengan cara tertentu sehingga memungkinkan setiap fungsi mayor untuk dilengkapi dalam waktu kurang dari 3 bulan (dengan menggunakan pendekatan yang digambarkan di atas), maka aplikasi itu merupakan kandidat bagi RAD. Masing - masing fungsi mayor bisa dibicarakan oleh suatu tim RAD yang terpisah dan kemudian diintegraikan untuk membentuk suatu kesatuan. 


Bila anda seorang pemilik ataupun pengguna laptop dan komputer, pasti pernah mengalami hal ini. Hampir setiap pengguna laptop dan komputer yang menggunakan system Windows pasti pernah mengalami laptop atau komputer yang tiba-tiba “hang” atau not responding, pasti kesalkan.. dan hal ini tentunya akan mengganggu dan menghambat pekerjaan, Oleh karena itu kali ini saya akan menjelaskan kenapa itu bisa terjadi dan bagaimana cara mengatasinya.

Terjadinya program yang Not Responding itu sebenarnya ada beberapa sebeb. Pertama, karena terlalu lambatnya komputer untuk meload. Contohnya saat komputer sedang membuka program Adobe Photoshop CS4, namun terlalu lambat untuk membuka program tersebut. Yang kedua, saat program yang sedang di jalankan tiba-tiba berhenti dan tidak merespon sama sekali, mouse macet dan keyboard tidak berfungsi, dll. Dan yang ketiga, pengunaan software atau program yang di batas kewajaran spek laptop atau komputer, artinya program windows yang berat membuat laptop atau komputer lambat dan menjadi Not Responding, namun anda tetap memaksakan menginstall program tersebut pada laptop dan komputer anda.



Masih banyak penyebab laptop dan komputer Not Responding di Windows, namun anda tidak perlu meresahkan hal tersebut. Jika anda mengalami hal ini, tentunya anda ingin menutup program yang Not Responding tersebut karena berdampak pada kinerja laptop atau komputer anda.
Ada beberapa cara yang mudah untuk menangani program Not Responding pada windows di laptop atau komputer kesayangan anda :

1.   Bukalah Task Manager anda dengan cara takan tombol Alt, Ctrl, Del secara bersamaan pada keyboard laptop atau komputer anda.
2.   Setelah layar Task Manager terbuka pilih Applications yang ada di atas layar.
3.   Setelah itu akan tampil beberapa program yang sedang berjalan, pilih program yang Not Responding tersebut.
4.   Pilih program yang mengalami Not Responding.
5.   Lalu pilih End Task yang terletak di bawah layar.
6.   Jika anda sudah melakukan End Task dan program belum tertutup maka biasanya akan tampil pesan bahwa program tidak merespon, maka klik saja End Now.
7.   Jika belum teratasi juga maka cara terakhir ialah restart laptop atau komputer anda.


Demikain pengetahuan saya tentang apa panyebab dan bagaimana cara pemecahan atau penanganan program yang Not Responding, semoga dapat membantu anda dalam mengatasi masalah Not Responding di laptop maupun di komputer yang anda miliki.
MOUSE
              Pada saat kita akan membeli komputer rakitan di sebuah pertokoan, yang tertera sebagai spesifikasi umumnya adalah jenis dan kecepatan processor, RAM, harddisk, serta VGA. Untuk alat input seperti keyboard atau mouse tidak pernah ada keterangan detail kecuali hanya jenisnya saja. Khusus untuk mouse, keterangan yang tersedia terbatas hanya kata-kata “optical”, “wireless”, “wireless optical”, ataupun hanya dituliskan “mouse” saja. Sehingga banyak sekali pembeli yang cenderung tidak terlalu ambil pusing mengenai perangkat yang satu ini. Beberapa yang memiliki kebutuhan tinggi terhadap perangkat pointer ini akan memilih yang paling nyaman digunakan. Misalnya membeli yang wireless atau optical.
         Orang-orang ini biasanya adalah mereka yang berkecimpung di bidang desain, seperti desainer grafis, arsitek, dan hampir semua yang mengunakan perangkat lunak image processor. Namun, belakangan mouse juga telah menjadi kebutuhan yang sangat diperhitungkan oleh para gamer. Karena saat ini permainan-permainan dalam komputer semakin membutuhkan kecepatan dan ketepatan yang tinggi.
       Saat ini pilihan yang diberikan pedagang di Indonesia umumnya memang hanya ada empat macam saja, yaitu mouse biasa (menggunakan bola yang biasa disebut trackball), mouse optical, mouse biasa wireless (tanpa kabel), dan yang terakhir adalah mouse optical wireless.
       Dari ke empat jenis yang dikatakan tadi yang kini paling banyak diminati adalah mouse optical dan mouse wireless optical. Kedua mouse ini banyak dipilih karena para pengguna mengira tidak akan lagi membutuhkan mouse pada sebagai landasan mouse yang biasa dipakai oleh mouse biasa.
Jarang ada pembeli yang menanyakan tentang kecepatan dan nilai ketepatan (presisi) sebuah mouse. Mereka cenderung tidak menyadari bahwa dua parameter ini akan menjadi hal yang sangat penting pada pemanfaatan mouse itu sendri. Khususnya untuk kebutuhan-kebutuhan tertentu. Kedua hal ini jugalah yang kadang menjadi penentu harga jual, selain sistem yang digunakannya.
        Selain keempat mouse yang disebutkan tadi, masih ada beberapa mouse dengan sistem yang berbeda maupun cara menggunaan yang berbeda seperti laser mouse, trackball, tablet, dan sebagainya. Pointer-pointer ini memang bukan pointer yang lazim digunakan oleh mayoritas pengguna computer di Indonesia. Oleh sebab itu, untuk membeli pointer atau mouse-mouse jenis ini Anda harus langsung bertanya pada si penjual. Karena jarang juga penjual yang memilikinya.


SEJARAH MOUSE
          Mouse adalah alat yang digunakan untuk memasukkan data ke dalam komputer selain Keyboard. Mouse memperoleh nama demikian karena kabel yang menjulur berbentuk seperti ekor tikus. Mouse pertama kali dibuat pada tahun 1963 oleh Douglas Engelbart berbahan kayu dengan satu tombol. Model kedua sudah dilengkapi dengan 3 tombol. Pada tahun 1970, Douglas Engelbart memperkenalkan Mouse yang dapat mengetahui posisi X-Y pada layar komputer, Mouse ini dikenal dengan nama X-Y Position Indicator (indikator posisi X-Y). Bentuk Mouse yang paling umum mempunyai dua tombol, masing-masing di sebelah kiri atas dan kanan atas yang dapat ditekan. Walaupun demikian, komputer-komputer berbasis Macintosh biasanya menggunakan Mouse satu tombol.



Dr. Douglas C. Engelbart
(Sang Penemu Mouse dan Mouse yang diciptakannya dengan berbahan Kayu)

       Dr. Douglas C. Engelbart lahir di Portland, Oregon, 30 Januari 1925 umur 87 tahun adalah seorang pionir di bidang interaksi antarmuka komputer yang mengembangkan konsep hiperteks serta menemukan Mouse komputer. Engelbart menyelesaikan studi S1 di bidang teknik elektro di Oregon State University pada tahun 1948, program master dari UC Berkeley pada tahun 1953, dan Ph.D. dari UC Berkeleypadatahun1955.
 
           Mouse bekerja dengan menangkap gerakan menggunakan bola yang menyentuh permukaan keras dan rata. Mouse yang lebih modern sudah tidak menggunakan bola lagi, tetapi menggunakan sinar optis untuk mendeteksi gerakan. Selain itu, ada pula yang sudah menggunakan teknologi nirkabel, baik yang berbasis radio, sinar inframerah, maupun bluetooth. Saat ini, teknologi terbaru sudah memungkinkan Mouse memakai sistem laser sehingga resolusinya dapat mencapai 2.000 titik per inci , bahkan ada yang bisa mencapai 4.800 titik per inci. Biasanya Mouse model ini diperuntukkan bagi penggemar permainan video.


Dilihat dari Jenis-jenis port mouse, ada 4 macam mouse:
   1. Mouse Serial
   
 
        Mouse yang sudah jarang dipakai oleh masyarakat umum. Biasanya mouse ini digunakan pada komputer Pentium 1 dan Pentium 2.
   
   2. Mouse PS/2
     
        Mouse yang digunakan pada komputer Pentium 3 dan Pentium 4.
   
   3. Mouse USB
Mouse yang sudah umum digunakan oleh masyarakat luas. Digunakan pada komputer Pentium 3 dan Pantium 4.
   
   4. Mouse Wirelless   
                
        Mouse terbaru tanpa kabel. Kini Mouse Wireless sudah meluas dikalangan masyarakat.
   
  

    Dilihat dari sensornya, ada 3 macam mouse :
1. Mouse Mekanik
           
         Yaitu mouse dengan sensor mekanik berupa bola karet/logam di sisi bawah mouse yang dapat berputar kesemua arah. Sensor mekanik tersebut mendeteksi arah putar bola dan menggerakkan pointer/kursor pada layar sesuai arah tersebut.
          Perkembangan selanjutnya dilakukan oleh Bill English di Xerox PARC pada awal tahun 1970. Ia menggunakan bola yang dapat berputar kesegala arah, kemudian putaran bola tersebut dideteksi oleh roda-roda sensor didalam mouse tersebut. Pengembangan tipe ini kemudian melahirkan mouse tipe Trackball, yaitu jenis mouse terbalik dimana pengguna menggerakkan bola dengan jari, yang popular antara tahun 1980 sampai 1990. Xerox PARC juga mempopulerkan penggunaan keyboard QWERTY dengan dua tangan dan menggunakan mouse pada saat dibutuhkans aja.

     
   2.   Mouse Optik
            
             
        Mouse yang menggunakan sensor cahaya serta lampu LED (Light Emitting Diode) merah di bawahnya sebagai pendeteksi gerak dan pencahaya.
       Mouse ini dinyatakan memiliki nilai presisi yang lebih baik ketimbang mouse yang menggunakan mekanik. Pernyataan ini tidak sepenuhnya benar. Untuk kelas yang sama, mouse optical tidaklah lebih presisi. Yang memang memiliki nilai presisi yang tinggi harganya saat ini masih terbilang mahal. Sedangkan, mouse optical yang umum dijual tidak memiliki kecepatan dan nilai presisi yang lebih baik ketimbang mouse biasa. Dan keterangan ini sering diabaikan oleh si produsen. Coba saja Anda perhatikan boks mouse yang Anda beli, pernahkah ada keterangan kecepatan dan tingkat sensitivitas mouse? Hanya sedikit sekali yang meletakkan keterangan-keterangan itu. Dan umumnya yang meletakkan keterangan-keterangan tersebut adalah mouse-mouse produksi perusahaan-perusahaan besar.
       Berbeda dengan mouse trackball yang sulit jalan ditempat yang terlalu licin. Oleh sebab itu, mouse ini membutuhkan sebuah landasannya sendiri yang dinamakan mouse pad. Berbeda dengan mouse optical yang cenderung lebih baik bekerja dipermukaan yang mulus dan dengan warna yang cenderung gelap. Mouse optical sulit dijalankan pada permukaan yang putih polos.
Berbeda dengan mouse mekanik yang sulit jalan di tempat yang terlalu licin, mouse optical dapat digunakan hampir pada seluruh jenis permukaan. Asalkan permukaan tersebut tidak transparan atau terlalu glossy.

       Mouse optic juga membutuhkan arus yang lebih besar ketimbang mouse bola atau mekanis biasa. Lima kali lebih besar arus yang dibutuhkan untuk menggerakan mouse ini (25 mA). Ini artinya bila Anda menggunakan mouse wireless optical Anda akan lima kali lebih sering mengganti baterai ketimbang menggunakan mouse mekanik yang menggunakan bola.
     Cara kerja mouse optical adalah sebagai berikut: lampu LED menembarkan cahayanya pada permukaan lalu, sensor cahaya yang ada pada bagian bawah mouse akan menangkap pergeseran yang terjadi pada cahaya tersebut. Atau dapat juga dikatakan sebagai berikut. Bila mouse mekanik komputer mencatat pergeseran yang dilakukan oleh mouse, sebaliknya dengan mouse optical, komputer mencatat pergeseran yang terjadi pada landasan mouse.
      Untuk lebih jelasnya perhatikan pada gambar. Bagaimana sebuah sensor mampu menangkap setiap kali adanya perubahan gambar atau pola. Berkaitan dengan pola, hal inilah yang menyebabkan kenapa mouse optical sulit mendeteksi permukaan yang transparan dan glossy seperti kaca atau papan whiteboard.

     
   3.   Mouse Laser
           
           Menggunakan sinar laser atau sinar LED (Light Emitting Diode) untuk mendeteksi pergerakan mouse.
      Perkembangan mouse optical kini sudah jauh lebih murah ketimbang waktukali pertama diperkenalkannya. Perlahan-lahan kehadiran mouse optical sudah dinilai sangat umum. Kini ada satu mouse lagi yang mulai diperkenalkan kepada masyarakat. Kerjanya hampir sama dengan mouse optical hanya saja bila pada mouse optical biasa menggunakan ampu LED, maka pada mouse laser, bukan lagi sinar LED yang digunakan, melainkan sinar laser. Hal ini membuat ketajaman gambar yang ditangkap oleh sensor menjadi lebih baik. Jika pada permukaan glossy seperti papan whiteboard mouse optical dengan lampu LED-nya sulit membedakan setiap tampilan permukaan, sebaliknya dengan laser, permukaan tidak lagi menjadi sama, melainkan berstruktur atau berpola.
       Mouse ini kali pertama diperkenalkan tahun 2004 oleh Logitech yang bekerja sama dengan Agilent Technologies dalam pengembangannya. Teknologi baru ini diklaim mampu memiliki ketepatan 20x kali lebih baik dari mouse optical. Hanya saja harga laser mouse sampai saat ini masih tergolong sangat mahal. Kini, selain Logitech, Microsoft juga ikut meluncurkan mouse berbasiskan teknologi laser ini.


Pilihan Lain 
           Sebenarnya komputer Anda tidak selalu harus menggunakan mouse. Masih banyak perangkat lain yang dapat beralih fungsi menjadi mouse atau dapat dimanfaatkan sebagai mouse selain fungsi yang lain.

      Contoh saja keypad. Dengan bantuan keypad Anda tetap dapat membaca isi sebuah web dengan baik. Dan bila ada isian yang harus dilakukan, Anda dapat mengganti tombol kiri mouse dengan tombol Tab.
        Jika ingin lebih mudah lagi, Anda dapat menginstal sebuah program khusus yang dapat menggantikan mouse Anda. Program ini memungkinkan Anda memanfaatkan keyboard Anda tidak hanya untuk mengetik saja, tetapi juga sebagai mouse komputer. Dengan menggunakan keypad-keypad tertentu yang sudah diatur terlebih dahulu. Atau satu lagi alternatif yang dapat digunakan pengguna PC, yaitu Tablet. Sebuah tablet memiliki fungsi seperti mouse lengkap dengan mouse pad khusus, sebuah tablet selalu menggunakan mouse atau stylus wireless.
      Tablet banyak juga digunakan oleh para desainer. Dan umumnya mereka menggambar menggunakan pensil stylus yang menghadap kepada mousepad itu sendiri. Bentuk stylus pada tablet memang menye rupai stylus pada PDA, hanya saja ada stylus pada tablet umumya memiliki beberapa tombol. Desainer senang menggunakan tablet karena nilai presisi dan kecepatannya yang umumnya lebih baik dari mouse biasa. Oleh karena itu, harga sebuah tablet tidaklah murah seperti halnya mouse biasa.
        Sedangkan bagi yang menggunakan notebook atau laptop, Anda akan memiliki pilihan yang lebih luas. Karena umumnya sebuah laptop atau notebook sudah dilengkapi dengan alat penunjuk pengganti mouse yang disebut touchpad atau disebut juga pointer stick. Jika touchpad bentuknya seperti mousepad kecil dan letaknya di bawah keyboard, pointer stick bentuknya seperti tombol bulat kecil, letaknya di tengah-tengah keyboard.
         Pointer stick sangat umum terdapat pada laptop-laptop produksi IBM. Namun, bukan berarti kehadiran mouse akan percuma untuk notebook. Mouse atau tablet terkadang masih dibutuhkan pada laptop atau notebook karena kebutuhaannya. Sebab jika terlalu lama menggunakan pointer stick atau touchpad dapat membuat tangan Anda lebih cepat pegal dibandingkan dengan menggunakan mouse biasa.
     Meskipun hal ini bukan berarti menggunakan mouse tidak akan berdampak apa-apa bagi kesehatan. Penggunaan mouse yang tidak nyaman dapat membuat pergelangan tangan mengalami penderitaan yang cukup lama. Apalagi bila ukuran mouse memang tidak sesuai dengan kenyamanan tangan Anda. Misalnya saja anak-anak yang menggunakan mouse besar.
Tempat sandaran tangan juga dapat ikut dipertimbangkan. Sekarang ini sudah banyak toko komputer yang menjual sandaran tangan untuk mouse. Bahkan ada juga mouse pad yang memang sudah dilengkapi dengan bantalan khusus. Bantalan ini umumnya terbuat dari bahan silicon gel atau neoprene. Dan bentuknya sangat bervariasi ada yang menyerupai bantalan biasa, namun ada juga yang berbentuk binatang. Harganya pun bervariasi mulai dari Rp10.000 sampai Rp50.000.
Jenis yang mana pilihan Anda? Terserah saja, mana yang Anda rasakan lebih nyaman. Meskipun mouse yang Anda gunakan memiliki hanya satu tombol, tetapi bila Anda merasa nyaman menggunakannya, maka mouse itulah yang harus dibeli.

Mengatur Atribut Pointer
        Anda dapat mengganti tampilan dari pointer yang ada dalam komputer. Mulai dari memberikan bentuk yang berbeda pada masing-masing aktivitas mouse sampai dengan mengatur kecepatan dan buntut yang ada pada pointer Anda.

1. Bukalah Control Panel, lalu klik ganda pada icon Mouse. Setelah itu Mouse Properties akan terbuka.

2. Kemudian bukalah halaman pertama (Buttons). Halaman ini mengatur atribut yang berkaitan dengan tombol pada mouse. Dari penentuan fungsi tombol kanan dan kiri, penentuan kecepatan klik ganda sampai penentuan clickLock.

3. Halaman kedua digunakan untuk mengatur gambar pointer. Bentuk pointer atau icon apa yang ingin Anda gunakan, silakan pilih dari table Customize yang ada di bawah. Jika akan memilih gambar tertentu tekan tombol Browse.

4. Halaman ketiga atau Pointer Option berguna untuk mengatur kecepatan dan buntut yang ingin ditampilkan pada pointer, serta berbagai atribut lainnya.

5. Halaman keempat digunakan untuk mengatur gerakan scroll wheel atau scroll button. Roda kecil yang biasanya ada di bagian atas mouse.

6. Dan halaman yang teakhir atau halaman hardware digunakan untuk menentukan mouse yang digunakan.

Berikut ini adalah beberapa fungsi mouse: 

1. Memasukkan perintah kepada komputer dimana cara kerja dari mouse ini adalah dengan cara menggeser - geser mouse di permukaan papan yang datar.

2. Penggerak pointer untuk menunjukkan lokasi tertentu di layar monitor.

3. Digunakan untuk melakukan kegiatan yang disebut dengan: klik (memilih item), double klik (membuka file), klik tahan dan geser / drag drop (memindahkan item) dan klik kanan (menampilkan pilihan menu perintah).

4. Berfungsi untuk menggulung (scrolling) layar dengan menggunakan roda scroll.

5. Mendeteksi gerakan 2 dimensi secara relatif terhadap posisinya sekarang.

6. Membuat pekerjaan menjadi lebih mudah dan cepat. Terlebih bagi kita yang sering melakukan aktivitas mengedit foto atau membuat desain.

7. Memperbesar atau juga memperkecil tampilan worksheet.

8. Mengaktifkan command button dan juga melakukan suatu aksi tertentu pada aplikasi.

9. Untuk perintah yang tidak menyediakan menu shortcut, tombol kanan pada mouse berfungsi sebagai tombol enter.

10. Mouse juga bisa berfungsi sebagai pengontrol perbesaran tampilan objek.

11. Mouse juga mampu berfungsi melakukan konversi dan isntruksi ke dalam bentuk sinyal elektronik yang dapat dimengerti oleh komputer.