Showing posts with label RPL. Show all posts
Showing posts with label RPL. Show all posts

Wednesday, March 3, 2010

Mitos Perangkat Lunak

Mitos perangkat lunak tidak sama dengan mitos-mitos jaman dahulu. Mitos ini merupakan sesuatu yang menjadi dasar dari pembuatan perangkat lunak, dimana masih seringkali dipercaya walaupun memiliki keraguan. Mitos perangkat lunak dapat ditinjau dari 3 sisi :
1. Mitos Manajemen
2. Mitos Customer
3. Mitos Praktisi

Mitos Manajemen

Mitos :
Setiap staf pemrogram memiliki alat pengembangan perangkat lunak terkini, karena itu diberikan fasilitas komputer terbaru bagi mereka.
Fakta :
Dalam pembuatan perangkat lunak berkualitas tinggi, dibutuhkan lebih dari sekedar mainframe model taerakhir, workstation atau PC. Computer-Aided Software Engineering (CASE) lebih penting daripada perangkat keras untuk mencapai kualitas dan produktivitas yang tinggi.

Mitos :
Kita telah memiliki buku-buku yang berisi standarisasi dan prosedur untuk pembentukan software
Fakta :
Buku standar mungkin ada, tetapi pada prakteknya apakah sudah digunakan? apakah isinya sudah lengkap? dan apakah buku-buku tersebut sudah mencerminkan perkembangan perangkat lunak modern yang ada saat ini?

Mitos :
Jika kita menaati jadwal, kita dapat menambah lebih banyak pemrogram dan mengejar ketinggalan
Fakta :
Merekrut lebih banyak orang baru pada proses pembuatan perangkat lunak akan membuat waktu penyelesaian lebih lama karena orang lama harus membimbing orang baru sehingga waktu yang digunakan dalam fase pengembangan produksi akan semakin berkurang.


Mitos Customer

Mitos :
Pernyataan tujuan umum sudah cukup untuk memulai penulisan program. Penjelasan yang lebih rinci menyusul kemudian.
Fakta :
Pada pembuatan perangkat lunak, dibutuhkan detail yang baik mengenai definisi awal, fungsi performance interface, hambatan desain, dan kriteria validasi sehingga dapat menghasilkan perangkat lunak yang berkualitas.

Mitos :
Kebutuhan proyek yang terus berubah dapat diatasi dengan mudah karena software bersifat fleksibel
Fakta :
Perubahan dapat menyebabkan pergolakan yang membutuhkan sumber daya tambahan dan modifikasi desain utama. Perubahan yang dilakukan setelah software dibuat, akan jauh lebih mahal dibanding jika perubahan dilakukan di awal pembuatan software.


Mitos Prakttisi

Mitos :
Tidak ada metode analisa desain dan testing terhadap suatu pekerjaan, cukup memulai proyek dan melakukan coding.
Fakta :
Metode untuk analisis desain dan testing diperlukan dalam pengembangan software nantinya.

Mitos :
Segera setelah software digunakan, pemeliharaan dapat diatasi dan diminimalisasikan.
Fakta :
Diperlukan biaya yang besar dalam maintenance. Pemeliharaan software harus diorganisir, direncanakan dan dikontrol seolah-olah sebagai suatu proyek besar dalam sebuah organisasi.

Proses Perangkat Lunak

Proses perangkat lunak merupakan sekumpulan aktivitas terstruktur untuk mengembangkan sistem perangkat lunak. Dalam hal ini terdapat 4 aktivitas dasar, yaitu :
1. Spesifikasi
2. Desain
3. Validasi
4. Evolusi

Model proses perangkat lunak adalah representasi abstrak dari proses serta merupakan gambaran proses dari beberapa perspektif tertentu.

Model Proses Software Generik :

1. Model Waterfall
Model ini mengharuskan kebutuhan yang diinginkan software harus terdefinisi dengan baik.
Adapun fase-fase dari model waterfall ini adalah :
a. Analisa dan definisi kebutuhan
b. Desain sistem dan software
c. Implementasi dan unit testing
d. Integrasi dan testing sistem
e. Operasi dan maintenance
Kekurangan dari model waterfall ini adalah kesulitan untuk mengakomodasi perubahan setelah proses berjalan.

2. Pengembangan Evolusioner

a. Pengembangan Exploratory
Sistem ini bekerja dengan konsumen dan melibatkan sistem akhir dari spesifikasi skema inisial. Dimulai dari kebutuhan yang dimengerti dengan baik.

b. Throw away prototyping
Model ini mengerti kebutuhan sistem. Dimulai dengan kebutuhan yang tidak dimengerti dengan baik.

Model ini cocok untuk sistem interaktif berukuran kecil atau medium serta untuk bagian dari sistem besar dan untuk sistem dengan daur hidup pendek.

3. Pengembangan Sistem Formal
Dalam sistem formal ini diperlukan kemampuan dan training khusus untuk mengaplikasikan teknik ini. secara formal sulit untuk menentukan beberapa aspek dari sistem seperti antarmuka user. Aplikasi ini cocok untuk sistem kritis terutama dimana keselamatan dan keamanan harus dibuat sebelum sistem beroperasi.

4. Pengembangan Re-use Oriented
Model ini berbasis re-use, dimana sistem diinterasikan dalam komponen yang sudah ada atau sistem COTS Commercial off the Self). Adapun tahapan dari proses ini adalah :
a. Analisa komponen
b. Modifikasi kebutuhan
c. Desain sistem dengan re-use
d. Pengembangan dan integrasi
Pengembangan ini menjadi lebih penting tetapi masih terbatas penggunaannya.

Friday, February 19, 2010

Perangkat Lunak Bebas

Pengertian Perangkat Lunak Bebas

Perangkat lunak bebas ialah perangkat lunak yang mengizinkan siapa pun untuk menggunakan, menyalin, dan mendistribusikan, baik dimodifikasi atau pun tidak, secara gratis atau pun dengan biaya. Perlu ditekankan, bahwa source code dari program harus tersedia. "Jika tidak ada kode program, berarti bukan perangkat lunak.'' Jika suatu program bebas, maka dapat disertakan pada sebuah sistem operasi bebas seperti GNU, atau versi bebas dari sistem GNU/Linux.

Perangkat lunak bebas menyangkut masalah kebebasan, bukan harga. Tapi beberapa perusahaan perangkat lunak berpemilik terkadang menggunakan istilah perangkat lunak bebas untuk menunjukkan harga. Terkadang maksud mereka ialah anda dapat memperoleh salinan biner tanpa biaya; terkadang maksud mereka ialah suatu salinan disertakan dalam komputer yang anda beli. Ini tidak ada hubungannya sama sekali dengan apa yang kami maksud dengan perangkat lunak bebas pada proyek GNU.

Perangkat Lunak Open Source
Istilah perangkat lunak "open source'' digunakan oleh beberapa pihak yang artinya kurang lebih sama dengan perangkat lunak bebas.

Perangkat Lunak Public domain
Perangkat lunak public domain ialah perangkat lunak yang tanpa hak cipta. Ini merupakan kasus khusus dari perangkat lunak bebas non-copylefted, yang berarti bahwa beberapa salinan atau versi yang telah dimodifikasi bisa jadi tidak bebas sama sekali.
Terkadang ada yang menggunakan istilah "public domain'' secara bebas yang berarti "cuma-cuma'' atau "tersedia gratis". Namun "public domain'' merupakan istilah hukum yang artinya "tidak memiliki hak cipta''. Untuk jelasnya, kami menganjurkan untuk menggunakan istilah "public domain'' dalam arti tersebut, serta menggunakan istilah lain untuk mengartikan pengertian yang lain.

Perangkat Lunak Copylefted
Perangkat lunak copylefted merupakan perangkat lunak bebas yang ketentuan pendistribusinya tidak memperbolehkan untuk menambah batasan-batasan tambahan--jika mendistribusikan atau memodifikasi perangkat lunak tersebut. Artinya, setiap salinan dari perangkat lunak, walaupun telah dimodifikasi, haruslah merupakan perangkat lunak bebas.

Perangkat Lunak Bebas Non-copylefted
Perangkat lunak bebas non-copylefted dibuat oleh pembuatnya yang mengizinkan kita untuk mendistribusikan dan memodifikasi, dan untuk menambahkan batasan-batasan tambahan dalamnya.
Jika suatu program bebas tapi tidak copylefted, maka beberapa salinan atau versi yang dimodifikasi bisa jadi tidak bebas sama sekali. Perusahaan perangkat lunak dapat mengkompilasi programnya, dengan atau tanpa modifikasi, dan mendistribusikan file tereksekusi sebagai produk perangkat lunak yang berpemilik.

Perangkat Lunak GPL-covered
GNU GPL (General Public License) merupakan sebuah kumpulan ketentuan pendistribusian tertentu untuk meng-copyleft-kan sebuah program. Proyek GNU menggunakannya sebagai perjanjian distribusi untuk sebagian besar perangkat lunak GNU.

Sistem GNU
Sistem GNU merupakan sistem serupa Unix yang seutuhnya bebas.
Sistem operasi serupa Unix terdiri dari berbagai program. Sistem GNU mencakup seluruh perangkat lunak GNU, dan juga paket program lain, seperti sistem X Windows dam TeX yang bukan perangkat lunak GNU.

Perangkat Lunak GNU
Perangkat lunak GNU merupakan perangkat lunak yang dikeluarkan oleh proyek GNU. Sebagian besar perangkat lunak GNU merupakan copylefted, tapi tidak semuanya; namun, semua perangkat lunak GNU harus merupakan perangkat lunak bebas. Jika suatu program adalah perangkat lunak GNU, kita juga menyebutnya sebagai program GNU.
Beberapa perangkat lunak GNU ditulis oleh staf dari Free Software Foundation (FSF, Yayasan Perangkat Lunak Bebas), namun sebagian besar perangkat lunak GNU merupakan kontribusi dari para sukarelawan. Beberapa perangkat lunak yang dikontribusikan merupakan hak cipta dari Free Software Foundation; beberapa merupakan hak cipta dari kontributor yang menulisnya.

Perangkat Lunak Semi-Bebas
Perangkat lunak semi-bebas adalah perangkat lunak yang tidak bebas, tapi mengizinkan setiap orang untuk menggunakan, menyalin, mendistribusikan, dan memodifikasinya (termasuk distribusi dari versi yang telah dimodifikasi) untuk tujuan non-laba. PGP adalah salah satu contoh dari program semi-bebas.
Perangkat lunak semi-bebas jauh lebih baik dari perangkat lunak berpemilik, namun masih ada masalah, dan kita tidak dapat menggunakannya pada sistem operasi yang bebas.
Pembatasan dari copyleft dirancang untuk melindungi kebebasan bagi semua pengguna. Bagi kami, satu-satunya alasan untuk membatasi substantif dalam menggunakan program--ialah melarang orang lain untuk menambahkan batasan lain. Program semi-bebas memiliki batasan-batasan tambahan, yang dimotivasi oleh tujuan pribadi semata.

Perangkat Lunak Berpemilik
Perangkat lunak berpemilik ialah perangkat lunak yang tidak bebas ataupun semi-bebas. Kita dapat dilarang, atau harus meminta izin, atau akan dikenakan pembatasan lainnya sehingga menyulitkan--jika menggunakan, mengedarkan, atau memodifikasinya.
Free Software Foundation mengikuti aturan bahwa kita tidak dapat memasang program-program berpemilik di komputer kita kecuali untuk sementara waktu dengan maksud menulis pengganti bebas untuk program tersebut. Disamping itu, kami merasa tidak; ada alasan untuk memasang sebuah program berpemilik.
Sebagai contoh, kami merasa sah dalam memasang Unix di komputer kami pada tahun 1980-an, sebab kami menggunakannya untuk menulis pengganti bebas untuk Unix. Sekarang, karena sistem operasi bebas telah tersedia, alasan ini tidak lagi dapat diterima; kami harus menghapus semua sistem operasi tidak bebas kami, dan setiap komputer yang kami pasang harus berjalan pada sistem operasi yang benar-benar bebas.

Freeware
Istilah "freeware'' tidak terdefinisi dengan jelas, tapi biasanya digunakan untuk paket-paket yang mengizinkan redistribusi tetapi bukan pemodifikasian (dan kode programnya tidak tersedia). Paket-paket ini bukan perangkat lunak bebas, jadi jangan menggunakan istilah "freeware'' untuk merujuk ke perangkat lunak bebas.

Shareware
Shareware ialah perangkat lunak yang mengijinkan orang-orang untuk meredistribusikan salinannya, tetapi mereka yang terus menggunakannya diminta untuk membayar biaya lisensi.
Shareware bukan perangkat lunak bebas ataupun semi-bebas. Ada dua alasan untuk hal ini, yakni: Sebagian besar shareware, kode programnya tidak tersedia; jadi anda tidak dapat memodifikasi program tersebut sama sekali.
Shareware tidak mengizinkan kita untuk membuat salinan dan memasangnya tanpa membayar biaya lisensi, tidak juga untuk orang-orang yang terlibat dalam kegiatan nirlaba (Dalam prakteknya, orang-orang sering tidak mempedulikan perjanjian distribusi dan tetap melakukan hal tersebut, tapi sebenarnya perjanjian tidak mengizinkannya).

Perangkat Lunak Komersial
Perangkat lunak komersial adalah perangkat lunak yang dikembangkan oleh kalangan bisnis untuk memperoleh keuntungan dari penggunaannya. "Komersial'' dan "kepemilikan'' adalah dua hal yang berbeda! Kebanyakan perangkat lunak komersial adalah berpemilik, tapi ada perangkat lunak bebas komersial, dan ada perangkat lunak tidak bebas dan tidak komersial.
Sebagai contoh, GNU Ada selalu didistribusikan di bawah perjanjian GNU GPL, dan setiap salinannya adalah perangkat lunak bebas; tapi para pengembangnya menjual kontrak penunjang. Ketika penjualnya bicara kepada calon pembeli, terkadang pembeli tersebut mengatakan, "Kami merasa lebih aman dengan kompilator komersial.'' Si penjual menjawab, "GNU Ada ialah kompilator komersial; hanya saja ia merupakan perangkat lunak bebas.''
Bagi proyek GNU, penekanannya ada pada hal yang sebaliknya: hal terpenting ialah GNU Ada merupakan perangkat lunak bebas; terlepas komersial atau bukan, itu bukan hal yang penting. Namun perkembangan tambahan GNU Ada yang dihasilkan dari komersialismenya adalah menguntungkan.


Pustaka:
http://www.gnu.org/philosophy/categories.id.html
http://id.wikipedia.org/wiki/Perangkat_lunak

Klasifikasi Perangkat Lunak

Perangkat lunak secara umum dapat di bagi 2 yaitu perangkat lunak sistem dan perangkat lunak aplikasi. Perangkat lunak sistem dapat di bagi lagi menjadi 3 macam yaitu :

Bahasa pemrograman : merupakan perangkat lunak yang bertugas mengkonversikan arsitektur dan algoritma yang di rancang manusia ke dalam format yang dapat di jalankan komputer, contoh bahasa pemrograman di antaranya : BASIC, COBOL, Pascal, C++, FORTRAN

Sistem Operasi : saat komputer pertama kali di hidupkan, sistem operasilah yang pertama kali di jalankan, sistem operasi yang mengatur seluruh proses, menterjemahkan masukan, mengatur proses internal, memanejemen penggunaan memori dan memberikan keluaran ke peralatan yang bersesuaian, contoh sistem operasi : DOS,

Utility : sistem operasi merupakan perangkat lunak sistem dengan fungsi tertentu, misalnya pemeriksaan perangkat keras (hardware troubleshooting), memeriksa disket yang rusak (bukan rusak fisik), mengatur ulang isi harddisk (partisi, defrag), contoh Utilty adalah Norton Utility. Perangkat lunak aplikasi merupakan bagian perangkat lunak yang sangat banyak di jumpai dan terus berkembang. Sebelum tahun 1990-an aplikasi yang di kenal yaitu pemroses kata (Word Star, Chi Write), pemroses tabel (Lotus 123, Quatro Pro), database (DBASE), dan hiburan (game). Pada perkembangan pemroses kata, tabel dan database saat ini telah di bundel menjadi aplikasi office dengan tambahan aplikasi untuk pembuatan presentasi yang nanti akan di berikan pada pelatihan ini.

Contoh aplikasi office adalah Microsoft Office yang terdiri dari Word(pemroses kata), Excel (pemroses tabel), Access (database), dan PowerPoint (presentasi). Yang berkembang sangat banyak saat ini adalah aplikasi multimedia dan internet.

Contoh aplikasi multimedia adalah Winamp untuk memutar musik berformat MP3 atau CD Audio, kemudian RealPlayer yang dapat digunakan untuk menonton film atau VCD.
Aplikasi internet yang umum di gunakan adalah untuk browsing, e-mail, chatting dan messenger.

Aplikasi yang bersifat khusus di antaranya untuk membantu pekerjaan Engineer seperti AutoCAD (gambar struktur), Protel (gambar rangkaian elektronik), dan Matlab (pemroses dan visualisasi persamaan matematis).

Perkembangan dan Evolusi Komputer

Perkembangan Komputer

Dari perkembangan perangkat lunak, kita bisa membayangkan bagaimana perkembangan interaksi manusia dengan perangkat lunak. Bentuk paling primitif dari perangkat lunak, menggunakan aljabar Boolean, yang di representasikan sebagai binary digit (bit), yaitu 1 (benar / on) atau 0 (salah / off), cari ini sudah pasti sangat menyulitkan, sehingga orang mulai mengelompokkan bit tersebut menjadi nible (4 bit), byte (8 bit), word (2 byte), double word (32 bit).
Kelompok-kelompok bit ini di susun ke dalam struktur instruksi seperti penyimpanan, transfer, operasi aritmatika, operasi logika, dan bentuk bit ini di ubah menjadi kode-kode yang di kenal sebagai assembler. Kode-kode mesin sendiri masih cukup menyulitkan karena tuntutan untuk dapat menghapal kode tersebut dan format (aturan) penulisannya yang cukup membingungkan, dari masalah ini kemudian lahir bahasa pemrograman tingkat tinggi yang seperti bahasa manusia (bahasa Inggris). Saat ini pembuatan perangkat lunak sudah menjadi suatu proses produksi yang sangat kompleks, dengan urutan proses yang panjang dengan melibatkan puluhan bahkan ratusan orang dalam pembuatannya.



Evolusi Perangkat Lunak

Era Pioner
Bentuk perangkat lunak pada awalnya adalah sambungan-sambungan kabel ke antar bagian dalam komputer, gambar berikut memperlihatkan orang yang sedang menggunakan komputer. Cara lain dalam mengakses komputer adalah menggunakan punched card yaitu kartu yang di lubangi. Penggunaan komputer saat itu masih dilakukan secara langsung, sebuah program untuk sebuah mesin untuk tujuan tertentu. Pada era ini, perangkat lunak merupakan satu kesatuan dengan perangkat kerasnya. Penggunaan komputer dilakukan secara langsung dan hasil yang selesai di kerjakan komputer berupa print out. Proses yang di lakukan di dalam komputer berupa baris instruksi yang secara berurutan di proses

Era Stabil
Pada era stabil penggunaan komputer sudah banyak di gunakan, tidak hanya oleh kalangan peneliti dan akademi saja, tetapi juga oleh kalangan industri / perusahaan. Perusahaan perangkat lunak bermunculan, dan sebuah perangkat lunak dapat menjalankan beberapa fungsi, dari ini perangkat lunak mulai bergeser menjadi sebuah produk. Baris-baris perintah perangkat lunak yang di jalankan oleh komputer bukan lagi satu-satu, tapi sudah seperti banyak proses yang di lakukan secara serempak (multi tasking). Sebuah perangkat lunak mampu menyelesaikan banyak pengguna (multi user) secara cepat/langsung (real time). Pada era ini mulai di kenal sistem basis data, yang memisahkan antara program (pemroses) dengan data (yang di proses).

Era Mikro
Sejalan dengan semakin luasnya PC dan jaringan komputer di era ini, perangkat lunak juga berkembang untuk memenuhi kebutuhan perorangan. Perangkat lunak dapat di bedakan menjadi perangkat lunak sistem yang bertugas menangani internal dan perangkat lunak aplikasi yang di gunakan secara langsung oleh penggunannya untuk keperluan tertentu. Automatisasi yang ada di dalam perangkat lunak mengarah ke suatu jenis kecerdasan buatan.

Era Modern
Saat ini perangkat lunak sudah terdapat di mana-mana, tidak hanya pada sebuah superkomputer dengan 25 prosesornya, sebuah komputer genggampun telah di lengkapi dengan perangkat lunak yang dapat di sinkronkan dengan PC. Tidak hanya komputer, bahkan peralatan seperti telepon, TV, hingga ke mesin cuci, AC dan microwave, telah di tanamkan perangkat lunak untuk mengatur operasi peralatan itu. Dan yang hebatnya lagi adalah setiap peralatan itu akan mengarah pada suatu saat kelak akan dapat saling terhubung. Pembuatan sebuah perangkat lunak bukan lagi pekerjaan segelentir orang, tetapi telah menjadi pekerjaan banyak orang, dengan beberapa tahapan proses yang melibatkan berbagai disiplin ilmu dalam perancangannya. Tingkat kecerdasan yang di tunjukkan oleh perangkat lunak pun semakin meningkat, selain permasalahan teknis, perangkat lunak sekarang mulai bisa mengenal suara dan gambar.

Pengertian Perangkat Lunak

Komputer merupakan mesin yang memproses fakta atau data menjadi informasi. Komputer di gunakan orang untuk meningkatkan hasil kerja dan memecahkan berbagai masalah. Yang menjadi pemroses data atau pemecah masalah itu adalah perangkat lunak. Bentuk terkecil dari perangkat lunak adalah operasi aritmatik (+, -, :, x) dan logika (AND, OR, >, <, =). Dari operasi dasar ini di susun program / perangkat lunak.

Perangkat Lunak(wikipedia), adalah program komputer yang berfungsi sebagai sarana interaksi antara pengguna dan perangkat keras. Perangkat lunak dapat juga dikatakan sebagai 'penterjemah' perintah-perintah yang dijalankan pengguna computer untuk diteruskan ke atau diproses oleh perangkat keras. Perangkat lunak ini dibagi menjadi 3 tingkatan: tingkatan program aplikasi (application program misalnya OpenOffice.org), tingkatan system operasi (operating system misalnya Ubuntu), dan tingkatan bahasa pemrograman(yang dibagi lagi atas bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan).



Perangkat lunak adalah program komputer yang isi instruksinya dapat diubah dengan mudah. Perangkat lunak umumnya digunakan untuk mengontrol perangkat keras (yang sering disebut sebagai device driver), melakukan proses perhitungan, berinteraksi dengan perangkat lunak yang lebih mendasar lainnya (seperti system operasi, dan bahasa pemrograman), dan lain-lain.