Pages

Rabu, 01 Februari 2012

Program komputer

Program komputer atau sering kali disingkat sebagai program adalah serangkaian instruksi yang ditulis untuk melakukan suatu fungsi spesifik pada komputer.Komputer pada dasarnya membutuhkan keberadaan program agar bisa menjalankan fungsinya sebagai komputer, biasanya hal ini dilakukan dengan cara mengeksekusi serangkaian instruksi program tersebut pada prosesor.Sebuah program biasanya memiliki suatu bentuk model pengeksekusian tertentu agar dapat secara langsung dieksekusi oleh komputer. Program yang sama dalam format kode yang dapat dibaca oleh manusia disebut sebagai kode sumber, bentuk program yang memungkinkan programmer menganalisis serta melakukan penelaahan algoritma yang digunakan pada program tersebut. Kode sumber tersebut pada akhirnya dikompilasi oleh utilitas bahasa pemrograman tertentu sehingga membentuk sebuah program. bentuk alternatif lain model pengeksekusian sebuah program adalah dengan menggunakan bantuan interpreter, kode sumber tersebut langsung dijalankan oleh utilitas interpreter suatu bahasa pemrograman yang digunakan.
Beberapa program komputer dapat dijalankan pada sebuah komputer pada saat bersamaan, kemampuan komputer untuk menjalankan beberapa program pada saat bersamaan disebut sebagai multitasking. Program komputer dapat dikategorikan menurut fungsinya; perangkat lunak sistem atau perangkat lunak aplikasi.

Pemrograman komputer

#include <stdio.h>

int main()
{
printf("Hello world!\n");
return 0;
}
Kode sumber sebuah program yang ditulis dengan bahasa pemrograman C
Pemrograman komputer merupakan suatu proses iteratif penulisan dan penyuntingan kode sumber sehingga membentuk sebuah program. Penyuntingan kode sumber meliputi proses pengetesan, analisis, pembetulan kesalan, pengoptimasian algoritma, normalisasi kode, dan kadang-kadang pengkoordinasian antara satu programmer dengan programmer lainnya jika sebuah program dikerjakan oleh beberapa orang dalam sebuah tim. Seorang praktisi yang memiliki keahlian untuk melakukan penulisan kode dalam bahasa pemrograman disebut sebagai programmer komputer atau programmer, pengembang perangkat lunak, atau koder. Istilah rekayasa perangkat lunak (bahasa Inggris: Software engineering) seringkali digunakan karena proses penulisan program tersebut dipandang sebagai suatu disiplin ilmu perekayasaan.

Paradigma

Program komputer dapat dikategorikan menurut paradigma bahasa pemrograman yang digunakannya. Dua paradigma utama yang umum digunakan adalah imperatif dan deklaratif.
Program yang ditulis dalam bahasa pemrograman imperatif biasanya memiliki algoritma yang ditulis dalam serangkaian klausal pendeklarasian, ekspresi aritmatis, dan sejumlah perintah.Pendeklarasian meliputi pendeklarasian variabel serta tipe data atas variabel tersebut, contoh: var x: integer; Penggunaan ekpresi operasi aritmatis yang menghasilkan nilai, contoh: 2 + 2 menghasilkan nilai 4. Dan perintah yang melingkupi pendelegasian nilai atas hasil dari operasi aritmatis tersebut ke dalam sebuah variabel, contoh: x := 2 + 2; if x = 4 then lakukan_sesuatu(); Salah satu bentuk kritik atas implementasi imperatif ini adalah efek samping yang timbul atas pendelegasian perintah terhadap variabel yang berada diluar cakupan dari fungsi tersebut atau lebih dikenal sebagai non-local variable.
Program yang ditulis dengan bahasa deklaratif meliputi sejumlah properti yang harus dipenuhi untuk mendapatkan suatu bentuk hasil tertentu. Properti tersebut tidak mencerminkan suatu gambaran atas proses kerja suatu program namun merupakan suatu bentuk deklarasi relasional matematis atas sejumlah objek melaui properti-propertinya. Dua bagian utama atas pemrograman deklaratif adalah bahasa pemrograman fungsional dan bahasa pemrograman logikal. Prinsip dasar dibalik bahasa pemrograman fungsional (Haskell) adalah mencegah timbulnya efek samping seperti yang terdapat pada model pemrograman imperatif sehingga membuatnya lebih mudah untuk digunakan membuat program yang melakukan sejumlah operasi matematis.Sementara itu, prinsip dari sebuah bahasa pemrograman logikal (Prolog) adalah mendefinisikan permasalahan yang hendak diselesaikan, tujuan yang hendak dicapai, dan membiarkan sistem melakukan analisis atas detail solusi terhadap permasalahan tersebut.Tujuan utama atas sebuah program didefinisikan dengan cara membuat sejumlah tujuan-tujuan yang lebih kecil, kemudian pada tiap-tiap tujuan tersebut secara lebih lanjut didefinisikan tujuan-tujuan lain yang lebih kecil lagi, dan begitu seterusnya. Jika suatu arahan tujuan yang didefinisikan gagal digunakan untuk menemukan solusi atas suatu permasalahan, maka arahan tujuan anakan yang lebih kecil akan di telusuri ulang, dan arahan lainnya akan diujicobakan.
Bentuk dari cara sebuah program dibuat bisa berupa tekstual ataupun visual. Dalam pemrograman visual, elemen-elemen program biasanya dimanipulasi secara grafis, sementara bila dibuat secara tekstual artinya sebuah program ditulis secara manual.

Kompilasi atau interpretasi

Program komputer dalam bentuk yang dapat dibaca oleh manusia biasanya disebuat sebagai kode sumber. Kode sumber dapat dikonversikan menjadi bentuk berkas yang dapat dieksekusi secara langsung oleh komputer. Proses pengkonversian ini disebut sebagai proses kompilasi dan biasanya dilakukan sebuah program utilitas dari bahasa pemrograman yang digunakan yang disebut sebagai kompiler. Pada beberapa bahasa pemrograman tertentu, kode sumber dapat langsung dieksekusi sebagai sebuah program dengan menggunakan bantuan utilitas yang disebut sebagai interpreter.
Baik melalui proses kompilasi ataupun interpretatif, eksekusi program dapat dilakukan dalam sebuah proses batch tanpa membutuhkan interaksi dengan manusia, namun program interpretatif memungkinkan pengguna untuk menulis perintah dalam suatu sesi interaktif. Pada kasus ini sebuah program dieksekusi sebagai sebuah perintah, yang kemudian dieksekusi baik secara serial ataupun paralel. Bahasa pemrograman yang menyediakan fitur interaktif seperti ini dinamakan sebagai bahasa skrip.
Kompiler digunakan untuk menerjemahkan kode sumber dari suatu bahasa pemrograman menjadi kode objek ataupun kode mesin. Kode objek biasanya membutuhkan proses lebih lanjut sehingga dapat menjadi kode mesin, dan kode mesin merupakan instruksi-instruksi yang dikenali dan dapat secara langsung dieksekusi oleh prosesor. Program komputer yang telah terkompilasi biasanya disebut sebagai berkas eksekutabel, ataupun berkas biner; yang merujuk pada bentuk sistem biner yang digunakan untuk menyimpan kode mesin tersebut.
Program komputer yang diinterpretasikan -baik secara batch ataupun dalam modus interaktif- biasanya akan diterjemahkan terlebih dulu ke dalam sejumlah token baru kemudian dieksekusi, atau bisa juga token-token tersebut dioptimasi lebih lanjut sehingga menjadi sejumlah instruksi yang memiliki tingkat efisiensi yang lebih baik dan disimpan sebagai berkas P-Code terpisah untuk dieksekusi kemudian oleh interpreter. BASIC, Perl, dan Python merupakan beberapa contoh dari bahasa pemrograman yang menyediakan fasilitas penerjemahaan langsung. Alternatif lainnya, program komputer yang ditulis dalam bahasa pemrograman Java merupakan hasil kompilasi kode sumber ke dalam bytcode yang kemudian dieksekusi oleh interpreter yang disebut sebagai mesin virtual java.
Kerugian utama pemanfaatan interpreter adalah unjuk kerja program biasanya lebih lambat dibandingkan dengan program yang dikompilasi terlebih dulu. Namun keuntungannya proses pengembangan perangkat lunak biasanya bisa dilakukan lebih cepat karena proses pengetesan atas berjalannya program dapat dilakukan dalam waktu yang relatif singkat. Tanpa memerlukan tahapan-tahapan kompilasi sebelumnya. Kerugian lainnya adalah, untuk dapat menjalankan program tersebut, utilitas interpreter harus disertakan dalam setiap pendistribusian, berbeda halnya dengan program terkompilasi yang dapat didistribusikan tanpa menyertakan kompiler bahasa yang digunakan karena sifatnya yang sudah dalam bentuk kode mesin.
Umumnya saat ini bahasa-bahasa pemrograman interpretatif telah dilengkapi pula dengan kompiler JIT (Just in Time) yang akan menganalisis serta menerjemahkan instruksi-instruksi yang paling sering digunakan ke dalam bahasa mesin pada saat program dijalankan sehingga tingkat unjuk kerjanya dapat ditingkatkan mengimbangi unjuk kerja program yang terkompilasi.

Eksekusi dan penyimpanan

Sebuah program komputer biasanya akan disimpan terlebih dahulu dalam memori utama (RAM) komputer sebelum dijalankan yang biasanya dilakukan oleh sistem operasi. Prosesor kemudian akan mengeksekusi program tersebut, instruksi demi instruksi sampai program tersebut diterminasi. Sebuah program yang tengah dieksekusi oleh prosesor dinamakan sebagai proses.Terminasi ataupun penghentian eksekusi sebuah program biasanya terjadi baik karena permintaan dari pengguna, interupsi pengguna, kesalahan atas program itu sendiri, ataupun kesalahan atas perangkat keras yang digunakan.

Program terpancang


microcontroller di sebelah kanan dari USB flash drive di atas dikontrol melalui sebuah program terpancang.
Beberapa program komputer tertentu dipancangkan langsung pada perangkat kerasnya sebagai program yang dipanggil untuk kebutuhan identifikasi serta inisialisasi atas berbagai aspek untuk memastikan perangkat keras tersebut berfungsi. Saat proses inisialisasi tersebut, program terpancang tersebut akan dipanggil oleh sistem operasi, program terpancang tersebut kemudian akan menjembatani penggunaan perangkat keras tersebut sehingga sistem operasi dapat menggunakannya dengan baik.

Pemrograman manual


pengalih untuk input manual pada sebuah komputer Data General Nova 3
Program komputer awalnya diinput secara manual ke prosesor utama dengan memanfaatkan sejumlah pengalih sebagai representasi atas instruksi yang atas status konfigurasi on/off. Setelah menetapkan konfigurasi tersebut, tombol eksekusi akan ditekan. Proses ini kemudian dilakukan secara iteratif. Program komputer dalam sejarahnya pernah juga ditulis melalui paper tape' atau punched cards. Setelah dimasukkan dan alamat awal eksekusi telah dimasukkan, tombol eksekusi akan ditekan.

Pembuatan program otomatis

Pemrograman generatif merupakan sebuah tipikial dari pemrograman komputer yang akan membuat kode sumber melalui kelas-kelas generik, prototipe, aspek, templat, dan pembuat kode (code generator) untuk meningkatkan produktifitas programmer. Kode sumber yang dibuat oleh utilitas pemrograman tersebut misalnya pemroses templat pada sebuah IDE. Bentuk yang paling sederhana adalah pemroses makro yang terdapat pada bahasa pemrograman C.

Eksekusi simultan

Umumnya sistem operasi yang ada saat ini sudah mendukung pemanfaatan multitasking yang memungkinkan beberapa program komputer dijalankan pada saat yang bersamaan di sebuah komputer. Untuk dapat menjalankan beberapa program tersebut pada saat yang bersamaan, sistem operasi memanfaatkan mekanisme penjadualan proses yang merupakan suatu mekanisme yang akan mengatur pengalihan prosesor dalam melakukan pemrosesan sehingga beberapa program komputer tersebut dapat berinteraksi dengan pengguna saat dijalankan. Di sisi perangkat keras yang digunakan, prosesor modern saat ini umumnya telah mendukung beberapa core prosesor yang dipancangkan sebagai sebuah prosesor yang memungkinkannya menjalankan beberapa program sekaligus.
Sebuah program komputer dapat melakukan kalkulasi secara simultan pada beberapa jenis operasi di saat yang bersamaan dengan memanfaatkan thread atau sebagai proses terpisah. Umumnya prosesor yang ada saat ini sudah mendukung arsitektur multithreading yang teroptimasi untuk menjalankan beberapa thread secara efisien.
adalah sebuah jenis perangkat lunak yang digunakan untuk mengamankan, mendeteksi, dan menghapus virus komputer dari sistem komputer. Antivirus disebut juga Virus Protection Software. Aplikasi ini dapat menentukan apakah sebuah sistem komputer telah terinfeksi dengan sebuah virus atau tidak. Umumnya, perangkat lunak ini berjalan di latar belakang (background) dan melakukan pemindaian terhadap semua berkas yang diakses (dibuka, dimodifikasi, atau ketika disimpan).
Antivirus - antivirus terbaru sekarang tidak hanya mendeteksi virus. Program antivirus sekarang juga telah dilengkapi dengan kemampuan untuk mendeteksi spyware, rootkits, dan malware - malware lainnya. Tidak hanya itu, antivirus sekarang dilengkapi firewall untuk melindungi komputer dari serangan hacker dan anti spam untuk mencegah masuknya email sampah dan/atau virus ke inbox pengguna.

Cara kerja

Pada umumnya, cara kerja antivirus adalah:
  • Pendeteksian dengan menggunakan basis data virus signature (virus signature database): Cara kerja antivirus ini merupakan pendekatan yang banyak digunakan oleh antivirus tradisional, yang mencari tanda-tanda dari keberadaan dari virus dengan menggunakan sebagian kecil dari kode virus yang telah dianalisis oleh vendor antivirus, dan telah dikatalogisasi sesuai dengan jenisnya, ukurannya, daya hancurnya dan beberapa kategori lainnya. Cara ini terbilang cepat dan dapat diandalkan untuk mendeteksi virus-virus yang telah dianalisis oleh vendor antivirus, tapi tidak dapat mendeteksi virus yang baru hingga basis data virus signature yang baru diinstalasikan ke dalam sistem. Basis data virus signature ini dapat diperoleh dari vendor antivirus dan umumnya dapat diperoleh secara gratis melalui download atau melalui berlangganan (subscription), dan/atau
  • Pendeteksian dengan melihat cara bagaimana virus bekerja: Cara kerja antivirus seperti ini merupakan pendekatan yang baru yang dipinjam dari teknologi yang diterapkan dalam Intrusion Detection System (IDS). Cara ini sering disebut juga sebagai Behavior-blocking detection. Cara ini menggunakan policy (kebijakan) yang harus diterapkan untuk mendeteksi keberadaan sebuah virus. Jika ada kelakuan perangkat lunak yang "tidak wajar" menurut policy yang diterapkan, seperti halnya perangkat lunak yang mencoba untuk mengakses address book untuk mengirimkan e-mail secara massal terhadap daftar e-mail yang berada di dalam address book tersebut (cara ini sering digunakan oleh virus untuk menularkan virus melalui e-mail), maka antivirus akan menghentikan proses yang dilakukan oleh perangkat lunak tersebut. Antivirus juga dapat mengisolasi kode-kode yang dicurigai sebagai virus hingga administrator menentukan apa yang akan dilakukan selanjutnya. Keuntungan dari cara ini adalah antivirus dapat mendeteksi adanya virus-virus baru yang belum dikenali oleh basis data virus signature. Kekurangannya, jelas karena antivirus memantau cara kerja perangkat lunak secara keseluruhan (bukan memantau berkas), maka seringnya antivirus membuat alarm palsu atau "False Alarm" (jika konfigurasi antivirus terlalu "keras"), atau bahkan mengizinkan virus untuk berkembangbiak di dalam sistem (jika konfigurasi antivirus terlalu "lunak"), terjadi false positive. Beberapa produsen menyebut teknik ini sebagai heuristic scanning. Teknologi Heuristic Scanning ini telah berkembang begitu jauh hingga sekarang. Beberapa antivirus mengecek sebuah file dengan definisi biasa. Jika lolos dari deteksi biasa, maka file tersebut dijalankan di sebuah lingkungan virtual. Semua perubahan yang dilakukan file bersifat seperti virus, maka pengguna akan diperingatkan.

Jenis antivirus berdasarkan pengguna

Antivirus berdasarkan penggunanya dibagi menjadi 2, yaitu Home User dan Network /Corporate User. Untuk home user, antivirus berjalan seperti biasa. Untuk versi jaringan (network), antivirus dapat melakukan scan di komputer - komputer client dan network drive. Selain itu, proses update komputer client dalam jaringan tidak harus langsung dari Internet. Komputer client dapat melakukan upate langsung dari server jaringan.
Antivirus berdasarkan cara memperolehnya 1. Free antivirus  : anti virus yang diperoleh secara gratis 2. Trial antivirus  : Anti virus yang diperoleh secara gratis namun diberi batasan waktu 3. Donation antivirus : Anti virus yang diperoleh dengan harus mendonasi 4. Paid antivirus : antivirus yang diperoleh dengan cara membeli

Produsen antivirus

Produsen Produk Situs Web
Aladdin Knowledge Systems eSafe http://www.aks.com
Alwil Software Avast! http://www.avast.com
Anyware Software Anyware AntiVirus http://www.helpvirus.com
Ansav Ansav http://www.ansav.com/
ARTAV Team ARTAV Antivirus http://www.artav-antivirus.com
CaSoft Validav Malware Cleaned http://www.validav.com
AVI Anti Virus InfoKomputer http://www.infokomputer.com/avi
Grisoft AVG Anti-Virus http://www.avg.com
Avira AntiVir http://www.avira.com
Cat Computer Services Quick Heal http://www.quickheal.com
Central Command Software Vexira Antivirus http://www.centralcommand.com
Authentium Command AntiVirus http://www.authentium.com/command/index.html
Computer Associates eTrust http://www.ca.com/virusinfo/
Cybersoft waVe Antivirus http://www.cyber.com
DialogueScience SpIDer Guard http://www.dials.ru
Eset Software NOD32 http://www.nod32.com
Fajr-Sigma Antivirus Unlab Fajr Antivirus http://www.Sigma-Antivirus.Webs.com
Frisk Software F-Prot Antivirus http://www.f-prot.com
F-Secure F-Secure Anti-virus http://www.fsecure.com
GeCAD RAV AntiVirus http://www.rav.ro
H+BEDV Datentechnik AntiVir dan AntiVir Personal Edition http://www.antivir.de
HAURI ViRobot, DataMedic, Live-Call http://www.hauri.co.kr
Hiwire Computer and Security WinProof dan ExcelProof http://www.hiwire.com.sg
Ikarus Die Klinik http://www.ikarus-software.at
Kaspersky Labs Kaspersky Anti-Virus (AVP) http://www.kaspersky.com
Leprechaun Software VirusBUSTER II http://www.leprechaun.com.au
Messagelabs email scanning services http://www.messagelabs.com/viruseye/
MicroWorld Software eScan http://www.microworldtechnologies.com
MKS MKS Vir http://www.mks.com.pl
Network Associates McAfee Anti-Virus dan McAfee Virus Scan http://www.mcafee.com atau http://www.nai.com
NetZ Computing InVircible AV http://www.invircible.com
Norman Data Defense Systems Norman Virus Control dan Norman Security Suite http://www.norman.no & Vaksin.com Indonesia
Panda Software Panda AntiVirus dan NanoScan http://www.pandasoftware.com
Per Systems Per AntiVirus http://www.persystems.com/antivir.htm
Proland Software Protector Plus http://www.pspl.com
Safetynet VirusNet PC and VirusNet LAN http://www.safe.net
Smadav SMADAV http://www.smadav.net
Softwin BitDefender http://www.bitdefender.com
Sophos Sophos Anti-Virus http://www.sophos.com
S.R. Labs Sven7 Antivirus http://www.sven7.co.nr
Sybari Software Antigen for Microsoft Exchange http://www.sybari.com
Symantec Norton Antivirus dan Symantec Antivirus Corporate Edition http://www.symantec.com
TREND Micro Trend Virus Control System dan PC-Cilin http://www.trendmicro.com
VirusBuster Ltd. VirusBuster http://www.vbuster.hu
Clam ClamAV http://www.clamav.net
PC Tools (company) PC Tools antivirus http://pctools.com/
PCMedia / PCMAV PCMedia AntiVirus http://www.pcmedia.co.id
http://www.virusindonesia.com
Microsoft Corporation Microsoft Security Essentials http://www.microsoft.com/security_essentials
Zonelabs ZoneAlarm AntiVirus http://www.zonealarm.com/
BullGuard BullGuard Antivirus http://www.bullguard.com/

Pembaruan

Anda dapat memperoleh pembaruan anti virus secara manual di:
Nama Anti Virus Alamat Website
Avast! http://www.avast.com/download-update
AVG Anti-Virus http://www.avg.com/download-update
PC Media Anti Virus http://www.pcmav.biz/, http://www.virusindonesia.com/
ANSAV http://www.ansav.com/
AVI http://www.infokomputer.com/avi/download-avi/halaman-unduhan-update-avi
McAfee VirusScan http://www.mcafee.com/apps/downloads/security_updates/dat.asp?region=us&segment=enterprise
Symantec Norton AntiVirus http://www.symantec.com/business/security_response/definitions.jsp
Kaspersky Antivirus http://www.kaspersky.com/avupdates
TrendMicro http://www.trendmicro.com/download/apac/pattern.asp?WT.mc_id=2008HPAPAC_TRC_PatternFile
ThreatFire http://www.threatfire.com/download/
BitDefender http://www.bitdefender.com/site/view/Desktop-Products-Updates.html

1 komentar:

  1. Wow great post by yourself. This http://myavastt.com is the great antivirus that you can use for several kind of

    task resolution regarding virus issue.

    BalasHapus