Senin, 25 Februari 2013

Perangkat lunak

Dari Wikipedia bahasa Indonesia, ensiklopedia bebas

OpenOffice.org Writer
Perangkat lunak adalah istilah umum untuk data yang diformat dan disimpan secara digital, termasuk program komputer, dokumentasinya, dan berbagai informasi yang bisa dibaca dan ditulis oleh komputer. Dengan kata lain, bagian sistem komputer yang tidak berwujud. Istilah ini menonjolkan perbedaan dengan perangkat keras komputer.
Di bawah ini ada beberapa contoh macam perangkat lunak, yaitu:
  • Perangkat lunak aplikasi (application software) seperti pengolah kata, lembar tabel hitung, pemutar media, dan paket aplikasi perkantoran seperti OpenOffice.org.
  • Sistem operasi (operating system) misalnya Ubuntu.
  • Perkakas pengembangan perangkat lunak (software development tool) seperti Kompilator untuk bahasa pemrograman tingkat tinggi seperti Pascal dan bahasa pemrograman tingkat rendah yaitu bahasa rakitan.
  • Pengendali perangkat keras (device driver) yaitu penghubung antara perangkat perangkat keras pembantu dan komputer adalah software yang banyak dipakai di swalayan dan juga sekolah, yaitu penggunaan barcode scanner pada aplikasi database lainnya.
  • Perangkat lunak menetap (firmware) seperti yang dipasang dalam jam tangan digital dan pengendali jarak jauh.
  • Perangkat lunak bebas (free 'libre' software) dan Perangkat lunak sumber terbuka (open source software)
  • Perangkat lunak gratis (freeware)
  • Perangkat lunak uji coba (shareware / 'trialware)
  • Perangkat lunak perusak (malware)

Sabtu, 23 Februari 2013

Kelebihan dan Kekurangan Model Proses pada Rekayasa Perangkat Lunak


1.  Model Linear Sequential/Waterfall
Model Linear Sequential/Waterfall merupakan paradigma rekayasa perangkat lunak yang paling tua dan paling banyak dipakai.
Kelebihan model Linear Sequential/Waterfall :
·    Mudah diaplikasikan
· Memberikan template tentang metode analisis, desain, pengkodean, pengujian, dan pemeliharaan
·   Cocok digunakan untuk produk software yang sudah jelas kebutuhannya di awal, sehingga minim kesalahannya
Kekurangan model Linear Sequential/Waterfall :
·  Terjadinya pembagian proyek menjadi tahap-tahap yang tidak fleksibel, karena komitmen harus dilakukan pada tahap awal proses
·       Sulit untuk mengalami perubahan kebutuhan yang diinginkan customer
·      Customer harus sabar untuk menanti produk selesai, karena dikerjakan tahap per tahap,menyelesaikan tahap awal baru bisa ke tahap selanjutnya
·      Perubahan ditengah-tengah pengerjaan produk akan membuat bingung team work yang sedang membuat produk
·    Adanya waktu menganggur bagi pengembang, karena harus menunggu anggota tim proyek lainnya menuntaskan pekerjaannya
2.  Model Prototyping
Pendekatan prototyping model digunakan jika pemakai hanya mendefinisikan objektif umum dari perangkat lunak tanpa merinci kebutuhan input, pemrosesan dan outputnya, sementara pengembang tidak begitu yakin akan efisiensi algoritma, adaptasi sistem operasi, atau bentuk interaksi manusia-mesin yang harus diambil.
Kelebihan model Prototyping :
·         Menghemat waktu pengembangan
·         Adanya komunikasi yang baik antara pengembang dan pelanggan
·    Pengembang dapat bekerja lebih baik dalam menentukan kebutuhan pelanggan
·     Penerapan menjadi lebih mudah karena pemakai mengetahui apa yang diharapkannya
·        User dapat berpartisipasi aktif dalam pengembangan sistem
Kekurangan model Prototyping :
·         Proses analisis dan perancangan terlalu singkat
·         Biasanya kurang fleksible dalam mengahadapi perubahan
·  Walaupun pemakai melihat berbagai perbaikan dari setiap versi prototype, tetapi pemakai mungkin tidak menyadari bahwa versi tersebut dibuat tanpa memperhatikan kualitas dan pemeliharaan jangka panjang
·   Pengembang kadang-kadang membuat kompromi implementasi dengan menggunakan sistem operasi yang tidak relevan dan algoritma yang tidak efisien
3.  Model RAD (Rapid Application Development)
Model RAD merupakan model proses pengembangan perangkat lunak secara linear sequential yang menekankan pada siklus pengembangan yang sangat singkat.
Kelebihan model RAD :
· Lebih efektif dari pendekatan waterfall/sequential linear dalam menghasilkan sistem yang memenuhi kebutuhan langsung dari pelanggan
·     Cocok untuk proyek yang memerlukan waktu yang singkat
Kekurangan model RAD :
·    RAD tidak cocok digunakan untuk sistem yang mempunyai resiko teknik yang tinggi
·  Membutuhkan orang yang banyak untuk menyelesaikan sebuah proyek berskala besar
· Pengembang dan customer harus punya komitmen yang kuat untuk menyelesaikan sebuah software
·     Jika sistem tidak di bangun dengan benar maka RAD akan bermasalah
·  Jika ada perubahan di tengah-tengah pengerjaan maka harus membuat kontrak baru antara pengembang dan customer
4.  Model Increment
Model Increment merupakan kombinasi linear sequential model dan filosofi pengulangan dari prototyping model.
Kelebihan model Increment :
· Cocok digunakan bila pembuat software tidak banyak/kekurangan pembuat
·    Mampu mengakomodasi perubahan kebutuhan customer
Kekurangan model Increment :
·  Hanya akan berhasil jika tidak ada staffing untuk penerapan secara menyeluruh
·  Penambahan staf dilakukan jika hasil incremental akan dikembangkan lebih lanjut
·     Hanya cocok untuk proyek dengan skala kecil
5.  Model Spiral
Model spiral merupakan model proses perangkat lunak yang memadukan wujud pengulangan dari model prototyping dengan aspek pengendalian dan sistematika dari linear sequential model.
Kelebihan model Spiral :
·  Lebih cocok untuk pengembangan sistem dan perangkat lunak skala besar
·   Pengembang dan pemakai dapat lebih mudah memahami dan bereaksi terhadap resiko setiap tingkat evolusi karena perangkat lunak terus bekerja selama proses
Kekurangan model Spiral :
· Sulit untuk meyakinkan pemakai (saat situasi kontrak) bahwa penggunaan pendekatan ini akan dapat dikendalikan
·  Memerlukan tenaga ahli untuk memperkirakan resiko, dan harus mengandalkannya supaya sukses
·    Belum terbukti apakah metode ini cukup efisien karena usianya yang relatif baru

Model Proses Perangkat Lunak

Dalam pengembangan sebuah perangkat lunak ( software ) ada banyak model yang digunakan untuk menghasilkan sebuah aplikasi yang bisa bekerja secara ideal. model – model tersebut antara lain, model sekuensial linier, model prototype, model spiral, rapid aplication development ( RAD ) model , dll. Tapi disini saya cuma ingin menjelaskan beberapa saja dari model – model yang telah di sebutkan diatas.

RAD MODEL
Rapid Aplication Development (RAD) adalah sebuah model proses perkembangan software sekuensial linier yang menekankan siklus perkembangan yang sangat pendek pendekatan RAD melingkupi fase – fase sebagai berikut :
1. Bussiness Modeling
Aliran informasi di antara fungsi – fungsi bisnis dimodelkan dengan suatucara untuk menjawab pertanyaan – pertanyaan berikut : informasi apa yang mengendalikan proses bisnis? Informasi apa yang di munculkan? Siapa yang memunculkanya? Ke mana informasi itu pergi? Siapa yang memprosesnya?
2. Data Modeling
Aliran informasi yang didefinisikan sebagai bagian dari fase business modelling disaring ke dalam serangkaian objek data yang dibutuhkan untuk menopang bisnis tersebut. Karakteristik (disebut atribut) masing – masing objek diidentifikasi dan hubungan antara objek – objek tersebut didefinisikan.
3. Process Modelling
Aliran informasi yang didefinisikan di dalam fase data modelingditransformasikan untuk mencapai aliran informasi yang perlu bagiimplementasi sebuah fungsi bisnis. Gambaran pemrosesan diciptakan untuk menambah, memodifikasi, menghapus, atau mendapatkan kembalisebuah objek data.
4. Aplication Generation
RAD mengasumsikan pemakaian teknik generasi ke empat. Selain menciptakan perangkat lunak dengan menggunakan bahasa pemrogramangenerasi ketiga yang konvensional, RAD lebih banyak memproses kerja untuk memkai lagi komponen program yang ada ( pada saat memungkinkan) atau menciptakan komponen yang bisa dipakai lagi (bila perlu). Pada semua kasus, alat – alat Bantu otomatis dipakai untuk memfasilitasi konstruksi perangkat lunak.
5. 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 di uji dan semua interface harus dilatih secara penuh.
Keunggulan :
  • Setiap fungsi mayor dapat dimodulkan dalam waktu tertentu kurang dari 3 bulan dan dapat dibicarakan oleh tim RAD yang terpisah dan kemudian diintegrasikan sehingga waktunya lebih efisien
  • RAD mengikuti tahap pengembangan sistem seperti umumnya, tetapi mempunyai kemampuan untuk menggunakan kembali komponen yang ada sehingga pengembang tidak perlu membuat dari awal lagi dan waktu yang lebih singkat
Kelemahan :
  • Model yang besar (skala proyek), membutuhkan resources yg baik dan solid
  • Membutuhkan komitmen pengembang & user yg sama agar cepat selesai sesuai dengan rencana.
SPIRAL MODEL
Model spiral (spiral model) adalah model proses software yang evolusioner yang merangkai sifat iteratif dari prototipe dengan cara kontrol dan aspek sistematis dari model sekuensial linier. Model ini berpotensi untuk pengembangan versi pertambahan software secara cepat. Model spiral dibagi menjadi sejumlah aktifitas kerangka kerja, disebut juga wilayah tugas, di antara tiga sampai enam wilayah tugas, yaitu :
1. Komunikasi Pelanggan
Tugas – tugas yang dibutuhkan untuk membangun komunikasi yang efektif di antara pengembangan dan pelanggan.
2. Perencanaan
Tugas – tugas yang dibutuhkan untuk mendefinisikan sumber – sumber daya, ketepatan waktu, dan proyek informasi lain yang berhubungan.
3. Analisis Risiko
Tugas – tugas yang dibutuhkan untuk menaksir risiko – risiko, baik manajemen maupun teknis.
4. Perekayasaan
Tugas – tugas yang dibutuhkan untuk membangun satu atau lebih representasi dari aplikasi tersebut.
5. Konstruksi dan Peluncuran
Tugas – tugas yang dibutuhkan untuk mengkonstruksi, menguji, memasang (instal) dan memberikan pelayanan kepada pemakai (contohnya pelatihan dan dokumentasi).
6. Evaluasi Pelanggan
Tugas – tugas yang dibutuhkan untuk memperoleh umpan balik dari pelnggan dengan didasarkan pada evaluasi representasi software, yang dibuat selama masa perekayasaan, dan diimplementasikan selama masa pemasangan.
Kekurangan model spiral adalah sulitnya untuk meyakinkan konsumen (khusunya dalam situasi kontrak) bahwa pendekatan evolusioner bisa dikontrol. Model spiral memerlukan keahlian penaksiran risiko yang msuk akal , dan sangat bertumpu pada keakhlian ini untuk mencapai keberhasilan. Jika resiko mayor tidak ditemukan dan diatur, pasti akan terjadi masalah. Akhirnya model itu sendiri masih baru dan belum dipergunakan secara luas seperti paradigma sekuensial dan prototipe.
kelebihan dari model ini yaitu dilakukannya proses prototyping untuk setiap tahap dari evolusi produk secara kontinu. Model ini melakukan tahap2 yang sudah sangat baik didefinisikan pada model waterfall dan ditambah dengan iterasi yang menyebabkan model ini lebih realistis untuk merefleksikan dunia nyata

Android

Sistem operasi yang berkembang pada perangkat mobile, salah satu sistem operasi yang ada adalah android. Android dapat diinstal pada sistem operasi windows. Sistem operasi android ini juga mudah untuk instalasi.
SDK atau Software Development Kit dapat bekerja jika anda seorang pengembang atau developer. SDK merupakan alat bantu untuk simulasi atau emulasi sistem operasi android pada PC(Personal Computer).
Instalasi
Instalasi android dilakukan dengan koneksi internet. Kita harus mempunyai instalasi terlebih dahulu. Untuk instalasi dapat didownload pada link ini. File tersebut untuk versi windows, bisa sampai berukuran 67 MB kurang lebih. Adapun resource yang ada dapat dilihat pada kedua website ini (belajardroid.com / developer.android.com).

Setelah melakukan download, silahkan install atau extrack pada folder mana saja. Proses instalasi juga memiliki fungsi untuk melakukan cek terhadap Java SE Development Kit pada komputer windows. Silahkan menginstall pada folder standar atau dapat memilih folder mana saja. Untuk kepentingan instalasi berikutnya, silahkan dicatat atau diingat letak folder dimana android diinstall.
Langkah selanjutnya adalah mencari dan menemukan aplikasi SDK Manager. Silahkan jalankan aplikasi tersebut untuk melanjutkan proses instalasi. Klik next pada sebelah kanan untuk melanjutkan proses instalasi.
-----KASUS UNTUK OS LAIN
Pada sistem operasi Mac dapat anda unzip dan di extract pada folder default, biasanya bernama android-sdk-mac-x86(sumber :developer.androdi.com). Untuk kemudian lakukan langkah yang sama dengan diatas, dengan melakukan klk next.
Pada sistem operasi Linux dapat dilakukan ekstraksi kedalam folder. Folder default atau standar biasanya pada android-sdk-linux-x86. Untuk selanjutnya prosesnya sama dengan melakukan klik next, pada tombol sebelah kanan.

UNIX OVERVIEW

UNIX
Sejarah

Sejarah dari sistem operasi UNIX merupakan sejarah yang sudah menjadi legenda. Pada artikel ini tidak akan dijelaskan secara detail. Oleh karena itu kita akan menjelaskan secara ringkas saja.  UNIX pertama kali dikembangkan pada suatu laboratorium namanya Bell Labs. Setelah itu pengoperasiannya pada PDP-7 tahun 1970. Banyak pihak dan ahli yang ikut serta dalam proyek tersebut. Mereka semua saling bekerjasama dengan nama proyek MAC. Proyek tersebut akan menjadi awal dari CTSS dan Multics. Oleh karena itu dapat dikatakan bahwa UNIX berasal dari Multics. Dengan kondisi tersebut pengembang UNIX sebenarnya dipengaruhi oleh CTSS berdasarkan dokumen [RITC78]. Oleh karena itu banyak sekali ide pada UNIX berasal dari Multics. Berangkat dari pekerjaan pada lab Bell tersebut lahirlah sebuah versi dari UNIX. Sistem ini berjalan pada PDP-7 sampai PDP-11. Oleh karena itu pada pertama kalinya UNIX akan menjadi sistem operasi untuk semua jenis komputer. Langkah berikutnya yang dikerjakan adalah menulis kembali sistem operasi UNIX kedalam bahasa pemrograman C. Pada saat penulisan inilah terdapat beberapa kompleksitas dalam sistem operasi tersebut. Seperti mengenai pembagian waktu ataupun event-event yang akan dijalankan harus menuntut ditulis dalam bahasa assembly. Terdapat berbagai alasan dalam penulisan tersebut adalah sebagai berikut :
  • Memory, termasuk kedua jenis memori baik primary maupun secondary baik itu ROM berukuran kecil dan mahal pada saat ini. Sehingga manajemen pemakaiannya menjadi sangat penting. Dengan adanya hal itu berkembanglah berbagai macam teknik untuk menghemat memori. Seperti halnya memori yang dicampur dengan kode, pembagian data segments dan modifikasi kode. 
  • Bahkan sebuah kompiler pun telah ada pada tahun 1950, Industri komputer secara otomatis menjadi perusahaan manipulasi kode program. Keperluan untuk menciptakan suatu program dengan memakan memori sedikit, struktur data yang baik menjadi prioritas utama. 
  • Processor dan kecepatan bus pada dasarnya kebanyakan lambat, jadi pada saat ekesekusi clock akan memakan waktu dan jeddah tertentu. 


Oleh karena itu bahasa C dipakai untuk menuliskan kode UNIX. Karena bahasa pemrograman C merupakan pemrograman modern dengan bahasa yang mudah dimengerti dan high level programming. Untuk saat ini UNIX ditulis menggunakan bahasa pemrograman C.

Struktur Sistem Operasi (Windows)




Struktur Sistem Operasi Windows 
Studi Kasus Windows 7

Pada sistem operasi windows 7 ini memiliki arsitektur yang stabil dari pada dengan sistem operasi sebelumnya. Bagaimanapun juga jika ada versi selanjutnya pasti memiliki fitur atau fasilitas unggulan tambahan. Mungkin perkembangan dan keunggulan windows tidak terlihat, tetapi pada kinerja stabilitas sistem dapat terasa. Hal ini dikarenakan terdapat penggantian pada sisi teknis dari windows. Pada perkembangan lain terdapat fitur yaitu :
  • Perkembangan Teknis : Beratus-ratus kemampuan skenario kunci, seperti halnya membuka file dari tampilan GUI, Dapat diketahui dengan baik bekerja secara terus menerus dan juga dapat diketahui cara memperbaiki masalahnya. Sistem dibangun dalam bentuk layer secara terpisah dan termodulasi secara baik sehingga mengurangi kompleksitas.
  • Perkembangan Kemampuan : Permintaan akan sejumlah memory tertentu dapat dikurangi termasuk dari kedua sisi client ataupun server.  Penggunaan memory secara efisien terjadi pada waktu running/menjalankan VMM. Seperti halnya pada saat memproses background sekaligus memproses kamera secara terus menerus.
  • Andal : Pada windows ini lebih toleran terhadap penggunaan memory ketika terjadi pemrograman dengan bahasa pemrograman seperti C/C++, Java, dan lain-lain. Pada saat melakukan pemrograman kemungkinan terjadi kesalahan pun tidak terhindarkan. Oleh karena hal itu, sistem operasi mengalokasikan memori dan mengaturnya. Pengaturan itu untuk menghindari adanya crash, atau perusakan sistem.
  • Efisiensi Pemakaian Energy : Banyak perkembangan yang dibuat pada sistem operasi ini untuk menghemat energi pemakaian. Pada sisi server dapat dikatakan terdapat proses yang mengatur adanya prosesor yang "diparkir" sehingga mengurangi pemakaian energi. Banyak sistem dalam windows terjadi penghematan ketika sistem sedang berjalan. Termasuk pada saat pembagian waktu pakai, interupsi dan aktifias pemakaian background. Sehingga prosessor dapat berhenti sejenak dalam pengerjaan suatu command tertentu. Oleh Karena itu penekanan terhadap pemakaian energi menjadi lebih baik. 
  • Keamanan: Pada windows 7 dibangun suatu sistem keamanan seperti pada windows sebelumnya(vista). Penambahan tersebut seperti pada penambahan level akses pada beberapa model keamanan. Penyediaan volume BilLocker untuk enkripsi. Dan akses terbatas pada beberapa aksi.
Terdapat pula keamanan dari serangan-serangan dana ancaman yang lain.

Struktur Sistem Operasi

Struktur Sistem Operasi

Mesin Virtual

Sebuah mesin virtual (Virtual Machine) menggunakan misalkan terdapat sistem program => control program yang mengatur pemakaian sumber daya perangkat keras. Control program = trap System call + akses ke perangkat keras. Control program memberikan fasilitas ke proses pengguna. Mendapatkan jatah CPU dan memori. Menyediakan interface "identik" dengan apa yang disediakan oleh perangkat keras => sharing devices untuk berbagai proses.
Mesin Virtual (MV) (MV) => control program yang minimal MV memberikan ilusi multitasking: seolah-olah terdapat prosesor dan memori ekslusif digunakan MV. MV memilah fungsi multitasking dan implementasi extended machine (tergantung proses pengguna) => flexible dan lebih mudah untuk pengaturan. Jika setiap pengguna diberikan satu MV => bebas untuk menjalankan OS (kernel) yang diinginkan pada MV tersebut. Potensi lebih dari satu OS dalam satu komputer. Contoh: IBM VM370: menyediakan MV untuk berbagai OS: CMS (interaktif), MVS, CICS, dll. Masalah: Sharing disk => OS mempunyai sistem berkas yang mungkin berbeda. IBM: virtual disk (minidisk) yang dialokasikan untuk pengguna melalui MV.
Konsep MV menyediakan proteksi yang lengkap untuk sumberdaya sistem, dikarenakan tiap MV terpisah dari MV yang lain. Namun, hal tersebut menyebabkan tidak adanya sharing sumberdaya secara langsung. MV merupakan alat yang tepat untuk penelitian dan pengembangan sistem operasi. Konsep MV susah untuk diimplementasi sehubungan dengan usaha yang diperlukan untuk menyediakan duplikasi dari mesin utama.

System Generation (SYSGEN)

Sistem operasi dirancang untuk dapat dijalankan di berbagai jenis mesin; sistemnya harus di konfigurasi untuk tiap komputer. Program SYSGEN mendapatkan informasi mengenai konfigurasi khusus dari sistem perangkat keras.