Rabu, 27 November 2013

tugas COCOMO aku

1
COCOMO
PENGGUNAAN SISTEM SIDIK JARI PADA ABSENSI MAHASISWA
Nama Kelompok :
1. Tommy Noor Chandra 201251063
2. Marlita Edhar Sari 201251091
3. Vahrul Meilani 201251115
PROGDI TEKNIK INFORMATIKA
FAKULTAS TEKNIK
UNIVERSITAS MURIA KUDUS
2013/2014
2
Daftar Isi
A. Introduction ........................................................................................... 2
a. Cocomo „81 ....................................................................................... 2
b. Cocomo II .......................................................................................... 5
B. Model Definition...................................................................................... 5
C. Perhitungan .......................................................................................... 6
1. Effort Estimation Equation ............................................................... 6
2. Schedule Estimation Equation .......................................................... 6
3. Scale Factors ..................................................................................... 6
4. Sizing Methods ................................................................................ 6
5. Counting with Unadjusted Function Point ...................................... 7
6. Adaptation Adjustment Factors ....................................................... 7
7. Effort Multipliers ............................................................................. 7
D. Contoh estimasi model COCOMO II ................................................ 9
E. Daftar Pustaka ..................................................................................... 13
3
A. Introduction
Cocomo „81
 Barry Boehm memperkenalkan hirarki model estimasi PL dengan nama COCOMO (COnstructive COst MOdel = Model Biaya Konstruktif) yang berbentuk sbb :
1. Model COCOMO Dasar
Menghitung usaha pengembangan PL (dan biaya) sbg fungsi dari ukuran program yang diekspresikan dalam baris kode yang diestimasi (LOC).
2. Model COCOMO Intermediate
Menghitung usaha pengembangan PL sbg fungsi ukuran program dan serangkaian 'pengendali biaya' yang menyangkut penilaian yang subyektif thd produk, perangkat keras, personil dan atribut proyek.
3. Model COCOMO Advance
Menghubungkan semua karakteristik versi intermediate dg penilaian thd pengaruh pengendali biaya pd setiap langkah (analis, perancangan, dll) dari proses rekayasa PL.
 Model COCOMO mendefinisikan 3 kelas proyek PL yaitu :
1. Model Organik
Ukuran proyek relatif kecil, PL yang dibuat atau dikembangkan lebih simpel dengan aplikasi kerja yang baik. Misal program analisis termal yang dikembangkan untuk kelompok transfer panas.
2. Model Semi Detached
Ukuran proyek dan kekompleksan perangkat cukup besar dengan pengalaman kerja campuran (ada yang telah berpengalaman dan ada yang belum berpengalaman). Misal sistem pemrosesan transaksi dengan syarat tertentu untuk perangkat keras terminal dan perangkat lunak database.
3. Model Embedded
Ukuran proyek dan kekompleksan PL yang dikembangkan atau dikerjakan besar. Misal perangkat lunak kontrol penerbangan untuk pesawat udara.
Pesamaan COCOMO Dasar
bb
E = ab (KLOC)
db
D = cb E
Dimana :
E = Effort (usaha yang diaplikasikan - pm)
D = waktu pengembangan (m)
KLOC = jumlah perkiraan baris kode (dalam ribuan)
ab, bb, cb, db = koefisien (lihat tabel)
4
Model dasar ini dapat diperluas dengan mempertimbangkan kumpulan 'atribut pengendali biaya' yang dikelompokkan dalam 4 kategori utama :
1. Atribut produk
- ukuran keandalan proyek
- ukuran dari aplikasi database
- kekompleksan produk
2. Atribut perangkat keras
- kendala performansi run-time
- kendala memori
- lingkungan dari violability dari virtual memori
- waktu perputaran yang diperlukan
3. Atribut personil
- kemampuan sistem analis
- kemampuan software engineering
- pengalaman aplikasi
- pengalaman virtual mesin
- pengalaman bahasa pemrograman
4. Atribut proyek
- pemakaian alat bantu PL
- metode aplikasi software engineering
- jadwal pengembangan
Masing-masing dari 15 atribut di atas dirata-rata dalam sebuah skala 6 titik dg rentang dari
'sangat rendah' ke 'sangat tinggi' (dalam kepentingan atau harga).
Persamaan COCOMO Intermediate
bi
E = ai (KLOC) * EAF
dimana :
EAF = Effort Adjusment Factor (faktor penyesuaian usaha) yang mempunyai range
antara 0.9 sampai 1.4
ai, bi = koefisien (lihat tabel)
Cocomo II
Teknologi terus berkembang, begitu juga dengan proses pembuatan perangkat lunak.
Cocomo 81 sudah kurang sesuai dengan zaman sekarang. Oleh sebab itu dibuatlah versi Cocomo
yang baru, yaitu Cocomo II.
Berikut ini adalah poin-poin yang perlu ditambahkan dari Cocomo 81:
• Proses perangkat lunak yang baru;
• Fenomena baru : ukuran dan penggunaan kembali;
• Dibutuhkannya pembuat keputusan berdasarkan informasi yang kurang lengkap.
5
B. Model Definition
Dalam Cocomo II terdapat tiga tahap model untuk estimasi proyek perangkat lunak.
1. The Application Composition Model
Untuk pembangunan proyek dengan tools GUI-builder modern. Dihitung berdasar object points (tampilan, laporan, serta bahasa generasi ketiga).
2. The Early Design Model
Untuk mendapatkan estimasi kasar biaya dan durasi proyek sebelum menentukan arsitektur keseluruhan proyek. Berdasar pada unadjusted function points atau KSLOC.
Atribut-atributk yang mempengaruhi early design model:
a. Product reliability and compexity (RCPX)
b. Required reusability (RUSE)
c. Platform difficulty (PDIF)
d. Personnel capability (PERS)
e. Personnel experience (PREX)
f. Facilities available (FCIL)
g. Schedule pressure (SCED)
3. The Post-Architecture
Model penghitungan paling detil yang digunakan setelah membentuk arsitektur proyek secara menyeluruh. Cost drivernya:
1. Product attributes
a. Required Software Reliability
b. Database Size
c. Product Complexity
d. Developed for Reusability
e. Documentation Match to Lifecycle Needs
2. Personnel attributes
a. Analyst Capability
b. Programmer Capability
c. Personnel Continuity
d. Application Experience
e. Platform Experience
f. Language and Toolset Experience
3. Platform attributes
a. Time Constraint
b. Storage Constraint
c. Platform Volatility
4. Project attributes
a. Use of Software Tools
b. Multisite Development
c. Required Development Schedule
6
C. Perhitungan
1. Effort Estimation Equation
2. Schedule Estimation Equation
Menentukan waktu untuk mengembangkan (time to develop / TDEV)
dengan estimated effort, PM, tidak termasuk efek dari SCED effort
multiplier.
3. Scale Factors
Pada persamaan 1-2 terdapat eksponen B. Berikut ini adalah cara menentukan
eksponen B:
Misalnya, jika scale faktor untuk rating Extra High diberi bobot nikai 0, makan
proyek rating Extra
High dengan 100 KSLOC akan memiliki SFj = 0, B = 1.01, dan relative effort
E = 1001.01 = 105 PM.
4. Sizing Methods
Pada Cocomo II,logical source statement ditetapkan sebagai baris standar dari
kode.
7
Mendefinisikan baris menjadi sulit karena perbedaan konseptual yang terlibat untuk laporan dieksekusi dan dideklarasi dalam bahasa yang berbeda. Satu SLOC (source line of code) berarti satu logical statement dalam kode, bukan berarti satu baris kode. Beberapa perubahan untuk menentukan definisi line-of code yang berbeda dengan definisi awal. Perubahan ini mengeliminasi kategori perangkat lunak. Penghitungan line-of-code Cocomo II dapat dihitung dengan berbagai. Salah satu caranya adalah menggunakan program.
5. Counting with Unadjusted Function Point
Estimasi biaya function point berdasarkan jumlah fungsionalitas proyek perangkat lunak.Function points menjadi estimator yang berguna karena didasari pada informasim yang tersedia pada awal siklus hidup poyek perangkat lunak.
6. Adaptation Adjustment Factors
Cocomo II tidak hanya dapat digunakan menghitung biaya oleh proyek yang dibuat
dari awal (from “scratch”), namun juga dapat digunakan oleh proyek yang menggunakan
kode yang sudah ada. Berikut ini adalah nilai-nilai yang diperlukan :
• Adapted Source Lines of Code (ASLOC)
• Percent of Design Modification (DM).
• Percent of Code Modification (CM).
• Percent of Integration Required for Modified Software (IM).
• Percentage of reuse effort due to Software Understanding (SU).
• Percentage of reuse effort due to Assessment and Assimilation (AA).
• Programmer Unfamiliarity with Software (UNFM)
7. Effort Multipliers
Berikut ini adalah beberapa faktor yang berpengaruh pada proyek.
Product Attributes
• Required software reliability (RELY)
• Database size (DATA)
• Documentation match to life-cycle needs (DOCU)
• Product complexity (CPLX)
• Required Reusability (RUSE)
8. Platform Attributes
• Execution time constraint (TIME)
• Main storage constraint (STOR)
• Platform volatility (PVOL)
9. Personel Attributes
• Analyst capabilities (ACAP)
• Applications experience (APEX)
• Programmer capabilities (PCAP)
• Platform experience (PLEX)
• Programming language experience (LTEX)
• Personnel Continuity (PCON)
8
10. Project Atrributes
• Use of software tools (TOOL)
• Multisite Development (SITE)
9
D. Contoh estimasi model COCOMO II
Contoh yang dihitung pada bagian ini adalah proyek system Absensi mahasiswa menggunakan sidik jari. Proyek ini digunakan untuk membantu pencatatan absensi mahasiswa tanpa ada kecurangan dari mahasiswa yang terkait.
Informasi Nilai Domain Informasi Nilai Domain Simple Average Complex Input pemakai Input sidik jari dari mahasiswa 3 0 0 3 Input file pilihan fakultas/jurusan 3 0 0 3 Input NIM & Nama Mahasiswa 3 0 0 3 Input Mata Kuliah 3 0 0 3 Input Data 3 0 0 3 Jumlah output Menampilkan hasil Sidik Jari Mahasiswa 0 7 0 7 Menampilkan semua fakultas/jurusan 3 0 0 3 Menampilkan NIM & Nama Mahasiswa 3 0 0 3 Menampilkan semua Mata Kuliah 2 0 0 2 Menampilkan Semua Data Yang diinputkan 4 0 0 4 Jumlah inquiry Pencarian Fakultas/jurusan 0 7 0 7 Form Absensi 3 0 0 3 Mata kuliah, Nama Dosen yang di pilih 3 0 0 3 Pengisian Data 4 0 0 4 Review Data 3 0 0 3 Jumlah file 8 tabel 9 0 0 9 7 class 0 8 0 8 Jumlah interface external 0 0 0 0 Jumlah 71 Total Nilai domain
10
Tahap 2 Menghitung Cost Driver
No. Faktor Bobot kepentingan 1. Backup dan recovery 5 2. Komunikasi Data 0 3. Proses terdistribusi 4 4. Kepentingan peforma 5 5. Keberadaan lingkungan operasi 0 6. Online data entry 3 7. Input melalui beberapa tampilan/operasi 0 8. Peng-update-an file master secara online 2 9. Kompleksitas nilai ‘domain’ (tahap.1) 3 10. Kompleksitas proses internal aplikasi 3 11. Perulangan (reuse) penggunaan kode 3 12. Ketersediaan rancangan 3 13. Rancangan untuk pengulangan instalasidi lingkungan yg berbeda 3 14. Fleksibilitas bagi pemakai 1 Total kompleksitas 31 Estimasi FP : : Jumlah total domain * (0,65 + (0,01*total kompleksitas) Estimasi FP : : 71 * (0,65 + ( 0,01*31) : 68,2
11
Tahap 3 Menghitung Size
Tahap 4 Menghitung Effort
a. EffortEffort EffortEffort
= Ca * Size^Ma= Ca * Size^Ma= Ca * Size^Ma= Ca * Size^Ma = Ca * Size^Ma= Ca * Size^Ma = Ca * Size^Ma= Ca * Size^Ma = Ca * Size^Ma= Ca * Size^Ma
= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12 = 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12= 3 * 2.2464 ^ 1.12
= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904= 7.547904 ManMonth ManMonth ManMonthManMonth
b. Hitung Duration Hitung Duration Hitung Duration Hitung Duration Hitung Duration Hitung Duration Hitung Duration Hitung Duration Hitung Duration
= Cb*E^Mb= Cb*E^Mb= Cb*E^Mb= Cb*E^Mb= Cb*E^Mb = Cb*E^Mb= Cb*E^Mb
= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35 = 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35= 2.5 * 6.7392 ^ 0.35
= 5.8968= 5.8968= 5.8968= 5.8968= 5.8968= 5.8968= 5.8968= 5.8968= 5.8968 Month MonthMonth
c. Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity Hitung Productivity
= Size= Size= Size= Size= Size / E
= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904= 2.2464/7.547904
= 0.297619= 0.297619= 0.297619= 0.297619= 0.297619= 0.297619= 0.297619= 0.297619= 0.297619= 0.297619 KLOC/MonthKLOC/MonthKLOC/Month KLOC/Month KLOC/MonthKLOC/Month
d. d. d. Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff Hitung AVG Staff
= E/D= E/D= E/D= E/D= E/D
= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/7= 7.547904/71 Man Man
= 2 Man= 2 Man= 2 Man= 2 Man= 2 Man = 2 Man
12
Tahap 5 Estimasi Biaya Proyek
Gaji karyawan = Rp 1.500.000 / orang / bulan
Biaya FP = Gaji karyawan/LOC
Biaya FP = Rp. 667,74 ,-
Estimasi biaya proyek = Biaya FP * Estimasi FP
Estimasi biaya proyek = Rp 9,79 ,-
Usaha terestimasi = total biaya/gaji pegawai
Usaha terestimasi = 9,79 orang/bulan
Pembulatan = 10 orang/bulan
13
Daftar Pustaka
Bastian, Aulia Reza, Teknologi Informasi Pendidikan, Kedaulatan Rakyat, 3/3/05
Hoffer, Jeffrey dan Joey F George. (1998). Modern System Analysis and Design, Addison Wesley, Massachusetts.
Kendall. (2002). System Analysis and Design, Pearson Education, New Jersey.
[Louis J. Galbiati, Jr. (1990). Machine Vision and Digital Image Processing Fundamentals, Englewood Cliffs,
Prentice-Hall, New Jersey.
Wardiana, Wawan. (2002). Perkembangan Teknologi Informasi, www.Informatika.lipi.go.id/jornal/Perkembangan-
Teknologi-Informasi-di-Indonesia, tanggal akses 12 Desember 2005.
www.sidik-jari.com, diakses pada tanggal 21 Juli 2011.

Minggu, 19 Mei 2013

Pemrograman Bahasa Rakitan



bahasa rakitan Ini adalah salah satu tugas kuliah ku di kampus waktu semester 2,,,,yang di suruh untuk membuat makalah tentang Bahasa Pemprograman............
Pemrograman Bahasa rakitan atau Assembly ini adalah salah satu bahasa pemrograman tingkat rendah yang lebih dekat dengan hardware sehingga tak heran jika bahasa rakitan sulit dipelajari.

Dikutip dari Wikipedia Bahasa Rakitan adalah bahasa pemrograman tingkat rendah yang digunakan dalam pemrograman komputer, mikroprosesor, pengendali mikro, dan perangkat lainnya.

Dari kutipan di atas jelas bahwa tujutan dan pengertian bahasa rakitan lebih mencangkup pada luasnya perangkat yang bisa di gunakan (hardware) sehingga bahasa pemrograman yang satu ini wajib dikuasai para programmer.

Apakah bahasa rakitan atau assembly adalah bahasa mesin ?

Secara sifat bahasa rakitan memang memiliki kedekatan dengan mesin atau hardware tapi sebetulnya secara umum bahasa rakitan ini adalah bahasa mesin yang di ubah menjadi bahasa yang lebih mudah di pahami oleh programmer, dimana pada bahasa rakitan untuk membagi blok program lebih mudah yaitu dengan pelabelan di bandingkan dengan bahasa mesin yang menggunakan alamat memori atau simbol mnemonic.

Apakah bahasa rakitan atau assembly adalah bahasa tingkat tinggi ?

Di lihat dari syntax Bahasa Rakitan memang sudah mendekati pemaham pengguna pemrograman tapi secara cara kerja bahasa rakitan berbeda dengan bahasa tingkat tinggi pada umumnya dimana bahasa rakitan mengubah intruksi program kedalam intruksi mesin yang langsung dijalankan oleh hardware sedangkan pada bahasa pemrograman tingkat tinggi kode program dibuat kedalam sejumlah kode mesin yang masih ketergantungan dalam jenis hardware.

Bahasa rakitan atau assembly ini tidak memiliki keterbatan fungsi dibanding dengan bahasa tingkat tinggi, karena itulah Bahasa rakitan lebih pas disebut bahasa tingkat rendah dibandingkan bahasa tingkat tinggi.

Karena bahasa rakitan termasuk bahasa tingkat rendah tak heran bahwa program yang dibuat dalam bahasa rakitan atau assembly ini lebih cepat di eksekusi dibanding bahasa pemrograman lain, dalam bahasa rakitan format file yang di gunakan .asm kemudian file .asm tadi diubah kedalam objek file oleh assembler seperti Turbo Assembler milik Borland, yang nantinya diubah ke mode .com agar bisa di jalankan langsung pada OS komputer.

Biasanya pada deklarasi bahasa rakitan terdapat deklarasi yang paling umum yaitu :

model small
Pada bagian ini menjelaskan pada program tentang jenis memori yang di gunakan pada program

.code
Bagian ini digunakan untuk memberitahukan kepada komputer bahwa kita akan meletakan kode segmen yang berisi program

org 100h

Pemberitahuan agar program saat dijalankan ke dalam memory ditaruh mulai offset ke 100h (256) byte

Banyak sekali pembahasan lain yang harus di bahas dalam bahasa rakitan ini, bagi anda yang ingin cara mudah belajar bahasa rakitan adalah dengan mencoba dan mencari pembahasan yang ada di internet.

Jumat, 10 Mei 2013

Bahasa Pemrograman Android

 

Tutorial kali ini saya akan posting tentang Jenis -jenis Bahasa Pemrograman Untuk Android...
Sebelum saya menjelaskan jenis- jenis bahasa bahasa perograman Untuk android, kita harus tau apa itu android ?


Android adalah Sistem Operasi untuk mobile device,  yang awalnya dikembangkan oleh Aondroid inc,..
Perusahaan ini dibeli oleh google pada tahun 2005. Android dibuat berdasarkan kernel Linux  yang dimodifikasi...
Nah.. Sebelum saya jelaskan, mungkin anda juga sudah mengerti apa itu android,.. Langsung aja y tanpa basa basi..

Sesuai Dengan judul diatas Jenis -Jenis bahasa pemrograman untuk Android 
1. JDK versi 5 atau 6
2. Eclipse versi 3.4 atau 3.5 Versi dirkomendasikan  adalah “Eclipse for Java Developers” atau “Eclipse 
    for RCP Developers” Ingat..! Eclipse 3.6 Helios karena ada sedikit masalah dengan ADT plugin. 
    Gunakan Eclipse 3.4 Ganymede atau 3.5 Galileo dan Pastikan juga Eclipse memiliki Java 
    Development Tools (JDT), biasanya JDT sudah terdapat pada kebanyakan paket Eclipse
3. JDK bersifat wajib. JRE saja tidak mencukupi 
4. Android SDK starter package
5. ADT

Cara Menginstall ADT untuk Eclipse 
1. Buka Eclipse, klik Help > Install New Software.
2. Pada dialog Available Software yang terbuka klik Add...
3. Pada dialog Add Site yang muncul, masukan nama remote site (contoh: Android Plugin) 
    pada Name field. Pada Location field, masukkan URL berikut: 
    https://dlssl.google.com/android/eclipse/. Klik OK dan tunggu sampai “pending” selesai.
4. Kembali ke Available Software view, seharusnya kita bisa melihat “Developer Tools”
    tertambah pada daftar. Centang checkbox pada Developer Tools yang secara otomatis 
    mencentang pula Android DDMS dan Android Development Tools. Klik Next
    dan tunggu sebentar.
5. Pada dialog Install Detail yang muncul, Android DDMS and Android Development Tools
    features seharusnya terdaftar. Klik I accept ... untuk menyetujui perjanjian lisensi
    kemudian klik Finish. Tunggu sampai proses fetching selesai.
6. Mulai ulang (restart) Eclipse.

Selasa, 02 Oktober 2012

MACAM-MACAM SISTEM OPERASI


MACAM-MACAM SISTEM OPERASI

1.      LINUX
Secara teknis dan singkat dapat dikatakan, Linux adalah suatu sistem operasi yang bersifat multi user dan multitasking, yang dapat berjalan di berbagai platform, termasuk prosesor INTEL 386 dan yang lebih tinggi. Sistem operasi ini mengimplementasikan standard POSIX. Linux dapat berinteroperasi secara baik dengan sistem operasi yang lain, termasuk Apple, Microsoft dan Novell.
Nama Linux sendiri diturunkan dari pencipta awalnya, LINUS TORVALDS, di Universitas Helsinki, Finlandia yang sebetulnya mengacu pada kernel dari suatu sistem operasi, suatu penamaan yang biasa digunakan untuk mengacu ke pada suatu kumpulan lengkap software, yang bersama-sama dengan kernel menyusun suatu sistem operasi yang lengkap.Linux dulunya adalah proyek hobi yang dikerjakan oleh Linus Torvalds yang memperoleh inspirasi dari Minix. Minix adalah sistem UNIX kecil yang dikembangkan oleh Andy Tanenbaum. Linux versi 0.01 dikerjakan sekitar bulan Agustus 1991.
Kemudian pada bulan Oktober 1991 tanggal 5, Linus mengumumkan versi resmi Linux, yaitu 0.02 yang hanya dapat menjalanka n bash (GNU Bourne Again Shell) dan gcc (GNU C Compiler). Sekarang Linux adalah sistem UNIX yang lengkap, bisa digunakan untuk jaringan (networking), pengembangan software, dan bahkan untuk sehari-hari. Linux sekarang merupakan alternatif OS yang jauh lebih murah jika dibandingkan dengan OS komersial, dengan kemampuan Linux yang setara bahkan lebih.
Satu hal yang membedakan Linux terhadap sistem operasi lainnya adalah, harga. Linux ini GRATIS. Berarti dapat diperbanyak, dan didistribusikan kembali tanpa harus membayar fee atau royalti kepada seseorang.
Kelebihan Linux
Sistem operasi ini adalah sistem operasi yang tahan virus. Virus-virus yang menyerang Windows tidak akan berkutik apabila terdampar di sistem Linux. Linux juga stabil, sehingga menjadi platform mayoritas bagi server internet, hingga industri perfilman Hollywood. Beberapa film seperti The Lord Of The Ring, hingga Harry Potter menggunakan bantuan Linux dalam proses produksinya. Linux juga
dikembangkan bagi platform yang tidak wajar, seperti pada PlayStation 2, X-Box, iPod, dan Nintendo
DS.
Linux juga multipengguna (multiuser) dan multitugas (multitasking). Anda dapat memasuki sistem dengan banyak user sekaligus dan menjalankan banyak tugas sekaligus. Linux adalah sistem operasi yang sejak lahir murni multiuser dan multitasking.
.

Kekurangan Linux
Beberapa kekurangan Linux yang paling dirasa adalah masih belum banyaknya game-game besar yang bersedia dijalankan pada platform Linux.
Orang-orang sepertinya juga alergi terhadap sistem operasi ini karena masih berpikir Linux adalah sistem operasi yang sulit, tidak mempunyai tampilan grafis, dan tidak gaul. Belum lagi, beberapa hardware yang sepertinya sulit untuk menyediakan driver untuk Linux. Tentunya, ini menjadi tugas berat bagi para pengembang kernel Linux, agar sistem operasi ini dapat berjalan dengan fleksibel
(seperti yang telah terjadi sekarang ini).
2.      Windows
Microsoft Windows adalah sistem operasi komputer berbasiskan GUI (Graphic User Interface) yang paling banyak digunakan dalam komputer pribadi di seluruh dunia. Sukses ini menjadikan pemiliknya, Bill Gates, menjadi orang terkaya di seluruh dunia mengalahkan kekayaan Sultan Brunei. Namun hanya sedikit orang yang mengetahui sejarah perkembangan Microsoft Windows itu sendiri, dan sedikit juga orang yang mengetahui sistem operasi komputer berbasiskan GUI selain merk Microsoft Windows.
Keungulan Windows
Seperti yang telah disebutkan, Windows adalah sistem operasi yang user-friendly.
Tampilannya begitu bersahabat bagi para pengguna. Selain itu, dukungan hardware yang
lengkap, banyaknya aplikasi yang diperuntukkan bagi platform Windows semakin melengkapi nilai tambahnya.
Kekurangan Windows
Windows juga memiliki sisi kurang yang cukup mencolok. Sistem operasi
ini adalah sistem operasi yang rentan akan penyakit. Windows mudah
sekali tertular virus. Namun, masalah ini dapat diatasi dengan adanya
vendor-vendor software
yang merilis antivirus bagi Windows. Sebut saja Norton dan AVG. Meski
demikian, perkembangan virus komputer terus berlanjut layaknya
virus-virus di dunia nyata. Mereka semakin banyak dan ganas. Siap kapan
saja menginfeksi komputer Windows.
Terlepas dari sisi teknis, harga lisensi Windows juga terbilang sulit
dijangkau oleh masyarakat Indonesia kebanyakan. Versi bajakan memang
murah, tetapi itu bukanlah pilihan bijak. Dengan membeli versi bajakan,
sama saja kita telah mendanai para kriminal tersebut mengembangkan
usaha mereka. Dan kita telah menjadi sponsor setia dalam melanggengkan
tindak tanduk mereka.
Windows telah ada semenjak 80-an. Ketika itu, OS ini berpenampilan
minimalis dan berkesan kartunis. Tidak ada efek tiga dimensi dan
resolusi gambar yang terlalu rendah. Namun, sebagai sistem operasi yang
user-friendly,
membawanya sebagai sistem operasi yang banyak diminati oleh orang.
Jenis-jenis Windows sendiri antara lain Windows 95, Windows 98, Windows
2000, Windows Me, Windows NT, Windows XP, dan Windows Vista.
Windows mendukung sistem berkas partisi dengan format FAT, FAT16,
FAT32, NTFS, juga iso9660.



3.      Mac OS

Mac OS, yang bererti Macintosh Operating System, atau Sistem Pengoperasi Macintosh, adalah sistem pengoprasian komputer Apple untuk komputer Apple Macintosh. Mac OS merupakan sistem pengoperasian pertama yang menggunakan antarmuka pengguna grafis(GUI). Pasukan Macintosh termasuk Bill Atkinson, Jef Raskin dan Andy Hertzfeld.
Bahasa Pemrograman
1.      Bahasa tingkat rendah, adalah bahasa yang hanya dimengerti oleh mesin. Bahasa ini berubah bilangan biner yang terdiri dari angka 0 dan 1.
2.      Bahasa tingkat menengah, adalah bahasa yang sudah bisa dimengerti oleh manusia. Namun karena kosakata yang dipakai adalah kosakata hasil singkatan, masih cukup sulit untuk dipakai oleh pengguna awam. Contoh peranti bahasa pemrograman tingkat menengah ini adalah bahasa Assembler
dan bahasa FORTRAN.
3.      Bahasa tingkat tinggi, adalah bahasa pemrograman yang lebih mudah dari bahasa pemrograman tingkat menengah, karena kosakata yang dipakai bukan kosakata hasil penyingkatan atau pemotongan, seperti BASIC,COBOL, dan Pascal.
Bahasa pemrograman memuat berbagai kosakata sesuai aturan yang sebelumnya telah ditetapkan. Berbeda bahasa pemrograman, maka berbeda pula aturan yang dimiliki. Namun intinya, bahasa pemrograman ini berguna dalam menerjemahkan perintah-perintah atau instruksi ke dalam
bahasa yang dimengerti oleh mesin. Bahasa pemrograman terbagi dalam tiga tingkat kesukaran.
Di zona keamanan berinternet, ternyata windows XP dan Vista menjadi sasaran utama serangan para hacker dunia, namun walaupun demikian XP dan Vista ternyata mampu membendung serangan tersebut dengan baik lewat firewall yang otomatis berjalan ketika mulai dijalankan. Namun ternyata para hacker tidak kalah ide, mereka menyerang lewat celah Internet Explorer 7 yang memang telah terbukti memiliki banyak kelemahan, walaupun Windows senantiasa menutupi celah-celah keamanan tersebut lewat update yang tiap 18 hari namun keadaan ini cukup membahayakan. Untuk mengatasinya, warga dunia disarankan untuk senantiasa mengupdate internet explorer atau memakai browser yang terbukti lebih aman yakni: Safari dan Firefox. Akibat serangan ini, di zona keamanan berinternet, windows XP harus merelakan 2 istana yang dijaganya terebut oleh para hacker, sedangkan windows Vista dengan penjagaan pintu gerbang yang ketat hanya kehilangan 1 istana di zona ini. Linux dan MacOS di zona ini boleh agak berlega hati karena tidak begitu dilirik untuk diserang oleh para hacker sehingga kelima istana yang mereka jaga tetap aman. Di zona ini Linux dan MacOS unggul.
Peperangan di zona keamanan PC, mengungkap banyak fakta akan kelemahan beberapa pasukan Sistem Operasi. Pasukan Windows XP, Vista dan Linux Ubuntu ternyata lemah terhadap penjagaan pintu login berpassword. Hanya dengan sebuah CD darurat, password pintu login WIndows XP, Vista dan Linux dapat dibobol. Begitu juga pasukan MacOS ternyata lemah pada masalah ini, hanya cukup dengan menekan kombinasi tombol [Apple] + [S] pada saat boot , data pada PC dapat diakses oleh setiap orang. Hal ini menyebabkan masing-masing pasukan kehilangan 1 istana. Istana yang lain, di wilayah enkripsi data keempat pasukan Sistem Operasi ternyata memiliki sistem enkripsi folder yang mudah dioperasikan. MacOS menggunakan FileVault, Linux dengan TrusCrypt dan Windows XP/Vista dengan sistem Encrypted File System (EFS). Namun dari semua itu ternyata Windows Vista lebih unggul karena dapat melindungi lebih baik, dimana seluruh harddisk dapat dienkripsi hanya dengan beberapa kali klik. Vista berhasil mempertahankan istananya sedangkan yang lain harus kehilangan istana setelah pertempuran yang sangat hebat dalam waktu yang lama. Selanjutnya, di istana terjadinya backup data pertempuran juga tidak kalah sengit. MacOS unggul dalam wilayah ini dengan sistem Time Machine nya. Windows XP melakukan backup dengan 2 tahap lewat System Restore, namun Windows Vista yang juga memiliki system restore dengan tambahan Salinan Data Bayangan seharusnya mampu lebih baik namun karena salah satu anggota pasukannya yakni Windows Vista versi Home tidak dilengkapi dengan layanan ini, mengakibatkan windows Vista harus rela kehilangan istana backup. Pasukan Linux justru lebih parah lagi, dengan sistem backup gratisan yang terlalu banyak dan tidak jelas mengakibatkan Pasukan ini lemah dan juga harus kehilangan istananya. Di zona keamanan PC ini MacOS dan XP unggul.
Di Zona Pengoperasian, terdapat 3 istana yang harus dijaga yakni Pencarian File, Instalasi Software dan File-Manager. Pada pencarian File, windows XP ternyata tidak tampil mengesankan. MacOS dengan sistem pencarian Spotlight terbukti mampu melakukan pencarian file secara kilat yang juga ditiru oleh Linux dan Windows Vista. Sedangkan untuk kemampuan seperti itu, windows XP harus memiliki tools tambahan. Dalam instalasi software, kecanggihan windows xp dan vista dalam menginstal sebuah software yang didownload ataupun dibeli serta murahnya biaya yang dikeluarkan untuk menginstal program gratis lewat Packet Manager yang dimiliki Linux, ternyata tak mampu menandingi kehebatan instalasi tradisional di MacOS. Lho kok instalasi tradisional lebih hebat dari yang canggih? Yup.. instalasi tradisional MacOS dimana kita harus mengekstrak paket-paket software dana bentuk Zip lalu meletakkannya di dalam menu ternyata memiliki kelebihan pada saat kita membuang software. Di MacOS, kita tidak memerlukan uninstaller dan jika kita membuang program hanya cukup dengan menghapus foldernya saja tanpa kuatir akan ada sisa pada sistem registry. Di istana pengelolaan File Manager, windows XP tampil buruk karena tidak mampu menampilkan preview isi file seperti halnya yang terdapat pada Windows Vista, Linux dan MacOs. Di zona pengoperasian ini windows XP harus menjadi pecundang.
Di zona terakhir yakni Zona Driver (bukan sopir lho.. melainkan software pengenal hardware), pasukan dari kubu windows menunjukkan kemampuannya dalam membaca lebih hardware. Windows XP mampu membaca 10.000 hardware sedangkan windows Vista dua kali lebih banyak. Walaupun Linux dikembangkan oleh banyak orang, namun ternyata lemah dalam masalah Driver ini karena driver yang tersedia tidak menyeluruh. Sedangkan MacOS justru memiliki sedikit driver karena lebih menyerahkan masalah driver ini kepada pengembang komersil dengan filosofi bahwa Is Okay mengeluarkan uang lebih banyak asalkan dapat berfungsi tanpa masalah.
Dari Penjelasan diatas maka menurut saya urutan sistem operasi dari yang terbagus adalah sebagai berikut :
Bahwa MacOS merupakan pasukan terbaik pertama dengan desain yang elegan dan sistem yang aman namun memiliki kelemahan pada pilihan hardware dan softwarenya. Di tempat kedua diduduki oleh Windows Vista dengan keamanan yang lebih baik walaupun kita harus membeli ulang banyak software jika ingin optimal. Linux menduduki posisi ketiga karena tingkat keamanannya yang tinggi namun berhubung banyaknya pengembang sistem operasi ini mengakibatkan penggunaannya masih terlalu rumit. Windows XP harus rela menduduki posisi terakhir, karena walaupun dengan service pack 2, windows XP masih belum sepenuhnya aman.