You are on page 1of 18

c   

 


c      
adalah software bahasa komputer yang digunakan dengan cara
merancang atau membuat program sesuai dengan struktur dan metode yang dimiliki oleh
bahasa program itu sendiri. Komputer mengerjakan transformasi data berdasarkan kumpulan
printah program yang telah dibuat oleh program. Kumpulan perintah ini harus dimengerti oleh
komputer, berstruktur terntentu (
), dan bermakna. Bahasa pemrograman merupakan
notasi untuk memberikan secara tepat program komputer. Berbeda dengan bahasa, misalkan
Bahasa Indonesia dan Inggris yang merupakan bahasa alamiah (
  
 ), sintaksis
dan semantik bahasa pemrograman komputer ditentukan secara jelas dan terstruktur, sehingg
bahasa pemrograman juga disebut sebagai bahasa formal ( 
 ).
Menurut tingkatannya, bahasa pemrograman dibagi menjadi 3 tingkatan, yaitu:

× Bahasa pemrograman tingkat rendah (  


 ), merupakan bahasa
pemrograman generasi pertama, bahasa pemrograman jenis ini sangat sulit dimengerti
karena instruksinya menggunakan bahasa mesin. Biasanya yang mengerti hanyalah
pembuatnya saja karena isinya programnya berupa kode-kode mesin.
× Bahasa pemrograman tingkat menengah (  
 ), merupakan bahasa
pemrograman dimana pengguna instruksi sudah mendekati bahasa sehari-hari,
walaupun begitu masih sulit untuk dimengerti karena banyak menggunakan singkatan-
singkatan seperti ͞STO͟ artinya simpan (STORE) dan ͞MOV͟ artinya pindahkan (MOVE).
Yang tergolong dalam bahasa ini adalah assembler.
× Bahasa pemrograman tingkat tinggi (   
 ) merupakan bahasa yang
mempunyai ciri lebih terstruktur, mudah dimengerti karena menggunakan bahasa
sehari-hari, contoh bahasa level ini adalah: Delphi, Pascal, ORACLE, MS-SQL, Perl,
Phyton, Basic, Visual Studio (Visual Basic, Visual FoxPro), Informix, C, C++, ADA, Java,
PHP, ASP, XML, dan lain-lain. Bahasa seperti Java, PHP, ASP, XML biasanya digunakan
untuk pemrograman pada internet, dan masih banyak lagi yang terus berkembang yang
saat ini biasanya dengan ekstensi .net (baca: dot net) seperti Visual Basic.NET dan
Delphi.Net yang merupakan bahasa pemrograman yang dikembangkan pada aran
berbasis internet

Sejauh ini bahasa pemrograman dikelompokkan menjadi lima generasi. Setiap generasi bahasa
pemrograman memiliki karakteristik tersendiri. Semakin maju generasinya maka orientasi
bahasa pemrograman ini akan semakin dekat ke manusia.
Gambar di atas menunjukkan terjadinya kecenderungan pergeseran orientasi dalam bahasa-
bahasa pemrograman, dari pendekatan yang berorientasi kepada mesin menuju ke
pendekatan yang berorientasi pada manusia.

Bahasa Pemrograman Generasi I


Bahasa pemrograman generasi pertama berorientasi pada mesin. Program disusun dengan
menggunakan bahasa mesin. Tentu saja program generasi ini sangat sulit untuk dipahami oleh
orang awam dan sangat membosankan bagi pemrogram. Pemrogram harus benar-benar
menguasai operasi komputer secara teknis. Namun bahasa generasi ini memberikan eksekusi
program yang sangat cepat. Selain itu, bahasa mesin sangat bergantung pada mesin ( 



), artinya, bahasa mesin antara satu mesin dengan mesin lainnya akan berbeda.

Kode dalam Bahasa Mesin

Bahasa Pemrograman Generasi II


Bahasa pemrograman generasi kedua menggunakan bahasa rakitan (  ). Sebagai
pengganti kode-kode biner, digunakanlah kependekan dari kata-kata. Misalkan ͞MOV͟ untuk
menyatakan ͞MOVE͟ dan JNZ yang berarti ͞jump non-zero͟. Setiap instruksi dalam bahasa
rakitan sebenarnya identik dengan satu instruksi dalam bahasa mesin. Bahasa ini sedikit lebih
mudah dipahami daripada bahasa mesin. Bahasa ini sedikit lebih mudah dipahami daripada
bahasa mesin mengingat perintah dalam bentuk kata-kata yang dipendekkan lebih mudah
daripada mengingat deretan angka biner.
Berikut adalah contoh instruksi yang ditulis dalam bahasa rakitan akan menjadi seperti berikut:
Tampak bahwa penggunaan notasi seperti MOV AH, 02 jauh lebih mudah diingat atau
dipahami daripada penulisan instruksi dalam bahasa mesin: B402 atau 1011 0100 0000 0010.

Kode dalam Bahasa Rakitan

Bahasa Pemrograman Generasi III


Bahasa pemrograman generasi ketiga menggunakan pendekatan prosedural. Sebagai bahasa
prosedural, pemrogram perlu menuliskan instruksi-instruksi yang rinci agar komputer
melaksanakan tugasnya. Program ditulis dengan menggunakan kata-kata yang biasa dipakai
manusia, seperti WRITE untuk menampilkan sesuatu di layar dan READ untuk membaca data
dari keyboard.
Bahasa generasi ketiga seringkali disebut sebagai  
  disebabkan bahasa ini
menggunakan kata-kata yang biasa digunakan manusia. Beberapa contoh bahasa
pemrograman yang masuk dalam kategori generasi ketiga yaitu ADA, ALGOL, C, BASIC, COBOL,
FORTRAN, dan PASCAL.

Bahasa Pemrograman Generasi IV


Bahasa pemrograman generasi keempat dirancang untuk mengurangi waktu pemrograman
dalam membuat program sehingga diharapkan produktifitas pemrogram jadi meningkat dan
program dapat dibuat dalam waktu yang lebih singkat. Alhasil, bahasa pemrograman generasi
keempat yang dikenal dengan sebutan 4GL dapat dipakai oleh pemakai yang kurang
mengetahui hal-hal teknis tentang pemrograman tanpa bantuan pemrogram profesional.
Sebagai contoh pemrogram dapat membuat program dengan Microsoft Access di lingkungan
PC dengan mudah.
Bahasa pemrograman generasi keempat biasa disebut sebagai  
 atau bahasa
berorientasi pada masalah (

 ) karena memungkinkan pemakai
menyelesaikan masalah dengan sedikit penulisan kode dibandingkan pada bahasa prosedural.
Bahasa pemrograman generasi keempat menggunakan pendekatan non-prosedural. Untuk
mendapatkan suatu hasil, seorang pemakai tidak perlu memberitahukan secara detail tentang
bagaimana mendapatkannya. Gambar di bawah ini memberikan contoh yang menunjukkan
perbedaan bahasa prosedural dan non-prosedural dalam memperoleh data tentang seorang
mahasiswa.

Bahasa Prosedural dan Non Prosedural

Bahasa Pemrograman Generasi V


Bahasa pemrograman generasi kelima merupakan kelompok bahasa-bahasa pemrograman
yang ditujukan untuk menangani kecerdasan buatan (   
 
). Kecerdasan buatan
adalah disiplin dalam ilmu komputer yang mempelajari cara komputer meniru kecerdasan
manusia. Berbagai aplikasi kecerdasan manusia adalah sebagai berikut:

× Pemrosesan bahasa alami (


 
 
), yakni mengatur komputer
agar bisa berkomunikasi dengan manusia melalui bahasa manusia (Indonesia, Inggris,
Spanyol, Prancis, dan sebagainya).
× Pengedalian robotika dan sensor mata.
× Aplikasi sistem pakar (    ) yang meniru seorang pakar di bidang tertentu
sehingga bisa menghasilkan nasehat atau pemikiran yang setara dengan seorang pakar.
Dengan menggunakan bahasa generasi kelima dimungkinkan untuk melakukan perintah
dengan cara percakapan seperti berikut:
͞Tampilkan semua nama mahasiswa yang IPK-nya di atas 3,0 dan urutkan berdasarkan IP
secara descending͟
PROLOG dan LISP merupakan dua contoh bahasa pemrograman yang ditujukan untuk
menangani kecerdasan buatan

  

    adalah proses menulis, menguji dan memperbaiki ( ), dan memelihara
kode yang membangun sebuah programkomputer. Kode ini ditulis dalam berbagai bahasa
pemrograman. Tujuan dari pemrograman adalah untuk memuat suatu program yang dapat
melakukan suatu perhitungan atau 'pekerjaan' sesuai dengan keinginan si pemrogram. Untuk
dapat melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa
pemrograman, dan di banyak kasus, pengetahuan-pengetahuan lain seperti matematika.

Pemrograman adalah sebuah seni dalam menggunakan satu atau lebih algoritma yang saling
berhubungan dengan menggunakan sebuahbahasa pemrograman tertentu sehingga menjadi
sebuah program komputer. Bahasa pemrograman yang berbeda mendukung gaya
pemrograman yang berbeda pula. Gaya pemrograman ini biasa disebut paradigma
pemrograman.

Apakah memprogram perangkat lunak lebih merupakan seni, ilmu, atau teknik telah lama
diperdebatkan. Pemrogram yang baik biasanya mengkombinasikan tiga hal tersebut, agar
dapat menciptakan program yang efisien, baik dari sisi waktu berjalan (


 ), atau
memori.

Dalam rekayasa perangkat lunak, pemrograman (pelaksanaan) dianggap sebagai salah satu
tahap dalam proses pengembangan perangkat lunak.

Ada sebuah perdebatan yang sedang berlangsung pada sejauh mana program penulisan
adalah seni, kerajinan atau disiplin teknik. [1] Secara umum, baik programming adalah
dianggap sebagai aplikasi diukur dari ketiga, dengan tujuan menghasilkan efisien dan solusi
perangkat lunak evolvable (kriteria untuk "efisien" dan "evolvable" sangat bervariasi). Disiplin
yang berbeda dari berbagai profesi teknis dalam programer, pada umumnya, tidak perlu izin
atau lulus standar (atau governmentally diatur) tes sertifikasi untuk menyebut diri mereka
"programer" atau bahkan "insinyur perangkat lunak." Namun, mewakili diri sendiri sebagai
seorang "Professional Software Engineer" tanpa lisensi dari lembaga yang terakreditasi ilegal di
banyak bagian dunia. [Rujukan?]

Lain sedang berlangsung perdebatan adalah sejauh mana bahasa pemrograman yang
digunakan dalam menulis program komputer yang memengaruhi bentuk program akhir
diperlukan. Perdebatan ini analog dengan mengelilingi hipotesis Sapir-Whorf [2] dalam
linguistik, yang mendalilkan bahwa suatu bahasa tertentu sifat memengaruhi pikiran kebiasaan
dari speaker. Pola bahasa yang berbeda menghasilkan pola pikir yang berbeda. Ide ini
menantang kemungkinan mewakili dunia secara sempurna dengan bahasa, karena mengakui
bahwa mekanisme bahasa apapun kondisi pikiran pembicara dari masyarakat.

Kata lain, pemrograman adalah kerajinan persyaratan mengubah menjadi sesuatu yang dapat
mengeksekusi sebuah komputer. [sunting] Sejarah pemrograman Lihat juga: Sejarah bahasa
pemrograman Wired plug board untuk IBM 402 Accounting Machine.

Konsep perangkat yang beroperasi setelah telah ditetapkan, set instruksi ditelusuri ke Mitologi
Yunani, terutama Hephaestus dan pelayan mekanis [3]. Para mekanisme Antikythera
kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan
operasi. Dikenal paling awal dapat diprogram mesin (mesin yang perilakunya dapat
dikendalikan dan diprediksi dengan satu set instruksi) adalah Al-Jazari's programmable
Automata pada 1206. [4] Salah seorang Al-Jazari's robot ini awalnya sebuah perahu otomatis
dengan empat musisi yang mengambang di danau untuk menghibur para tamu di pesta minum
kerajaan. Pemrograman perilaku mekanisme ini berarti menempatkan pasak dan Cams ke
drum kayu di lokasi tertentu. Ini kemudian akan bertabrakan dengan pengungkit kecil yang
beroperasi alat musik perkusi. Keluaran dari perangkat ini adalah drumer kecil bermain
berbagai ritme dan pola drum. [5] [6] canggih lainnya mesin diprogram oleh Al-Jazari adalah
benteng jam, terkenal karena konsep variabel, yang operator bisa memanipulasi yang
diperlukan ( yaitu, panjang siang dan malam). The Jacquard Loom, Joseph Marie Jacquard yang
dikembangkan pada tahun 1801, menggunakan serangkaian kartu karton dengan menekan
lubang di dalamnya. Pola lubang pola yang mewakili alat tenun harus mengikuti menenun kain.
Alat tenun bisa menghasilkan tenun yang sama sekali berbeda dengan menggunakan
kumpulan kartu yang berbeda. Charles Babbage mengadopsi penggunaan kartu menekan
sekitar tahun 1830 untuk mengendalikan Analytical Engine. Sintesis perhitungan numerik,
operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan masukan
petunjuk dalam cara yang relatif mudah bagi manusia untuk hamil dan menghasilkan,
menyebabkan perkembangan modern pemrograman komputer. Pengembangan
pemrograman komputer dipercepat melalui Revolusi Industri.
Pada akhir 1880-an, Herman Hollerith menciptakan rekaman data pada media yang kemudian
dapat dibaca oleh mesin. Sebelum menggunakan mesin yang dapat dibaca dari media, di atas,
telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia
menetap di kartu menekan ..."[ 7] Untuk memproses kartu menekan ini, pertama dikenal
sebagai" kartu Hollerith "dia menciptakan mesin tabulasi, dan kunci mesin punch. Ketiga
penemuannya dasar dari industri pengolahan informasi modern. Pada tahun 1896 ia
mendirikan Tabulating Machine Company (yang kemudian menjadi inti dari IBM). Penambahan
panel kontrol ke Tipe I Tabulator 1906 memungkinkannya untuk melakukan pekerjaan yang
berbeda tanpa harus secara fisik dibangun kembali. Pada akhir 1940-an, ada berbagai plug-
board programmable mesin, yang disebut catatan unit peralatan, untuk melakukan tugas-
tugas pengolahan data (kartu membaca). Pemrogram komputer awal plug-papan yang
digunakan untuk berbagai perhitungan kompleks diminta dari mesin yang baru diciptakan.
Data dan instruksi dapat disimpan pada kartu punch eksternal, yang disimpan dalam rangka
program dan disusun dalam deck.

Penemuan arsitektur Von Neumann memungkinkan program komputer untuk disimpan dalam
memori komputer. Program awal harus susah payah dibuat dengan menggunakan instruksi
mesin tertentu, sering kali dalam notasi biner. Setiap model komputer mungkin akan
memerlukan berbagai instruksi untuk melakukan tugas yang sama. Bahasa assembly kemudian
dikembangkan yang memungkinkan programmer menentukan setiap instruksi dalam format
teks, singkatan memasukkan kode untuk setiap operasi, bukan menetapkan sebuah nomor dan
alamat dalam bentuk simbolik (misalnya, ADD X, TOTAL). Pada tahun 1954 ditemukan Fortran,
menjadi yang pertama bahasa pemrograman tingkat tinggi yang memiliki implementasi
fungsional. [8] [9] Hal diperbolehkan pemrogram untuk menentukan perhitungan dengan
memasukkan formula secara langsung (misalnya Y = X * 2 + 5 * X + 9) . Program teks, atau
sumber, diubah menjadi instruksi mesin menggunakan program khusus yang disebut
kompilator. Banyak bahasa lainnya dikembangkan, termasuk beberapa program untuk
komersial, seperti COBOL. Program itu sebagian besar masih masuk menggunakan kartu atau
kertas punch tape. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an,
perangkat penyimpanan data dan terminal komputer menjadi cukup murah sehingga program
dapat dibuat dengan mengetikkan langsung ke dalam komputer. Editor teks dikembangkan
yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah
dibandingkan dengan punch card.

Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang
pengolahan kekuasaan. Ini telah membawa bahasa pemrograman baru yang lebih disarikan
dari hardware yang mendasarinya. Walaupun bahasa tingkat tinggi biasanya dikenakan biaya
overhead yang lebih besar, peningkatan kecepatan komputer modern telah membuat
penggunaan bahasa-bahasa ini jauh lebih praktis daripada di masa lalu. Ini semakin disarikan
bahasa biasanya lebih mudah untuk belajar dan memungkinkan para programmer untuk
mengembangkan aplikasi jauh lebih efisien dan dengan lebih sedikit kode. Namun, bahasa
tingkat tinggi masih praktis untuk beberapa program, seperti yang di mana tingkat rendah
diperlukan pengendalian perangkat keras atau di mana kecepatan pemrosesan berada pada
premi.

Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang menarik di
sebagian besar negara-negara maju. Beberapa bentuk pemrograman telah lepas pantai
semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari negara-negara lain,
biasanya pada upah yang lebih rendah), membuat keputusan karier pemrograman di negara
maju lebih rumit, sementara meningkatkan peluang ekonomi di daerah-daerah kurang
berkembang. Tidak jelas sejauh mana tren ini akan berlanjut dan seberapa dalam dampak akan
programmer upah dan kesempatan. [sunting] Modern pemrograman [sunting] Kualitas
persyaratan

Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus


memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:

ƒ Efisiensi / kinerja: jumlah sumber daya sistem program yang mengkonsumsi (prosesor
waktu, ruang memori, perangkat lambat seperti disk, bandwidth jaringan dan bahkan
sampai batas tertentu interaksi dari pemakai): semakin sedikit, semakin baik. Ini juga
termasuk pembuangan benar beberapa sumber, seperti membersihkan file-file sementara
dan tidak adanya kebocoran memori.
ƒ Reliabilitas: seberapa sering hasil dari sebuah program sudah benar. Hal ini tergantung
pada kebenaran konseptual algoritma, dan pemrograman minimisasi kesalahan, seperti
kesalahan dalam manajemen sumber daya (misalnya, buffer overflows dan ras kondisi) dan
kesalahan logika (seperti pembagian dengan nol).
ƒ Kekokohan: seberapa baik program masalah mengantisipasi bukan karena kesalahan
programmer. Ini termasuk situasi seperti salah, tidak pantas atau merusak data, tidak
tersedianya sumber daya yang dibutuhkan seperti memori, sistem operasi layanan dan
koneksi jaringan, dan kesalahan pengguna.
ƒ Kegunaan: yang ergonomi sebuah program: kemudahan dengan mana seseorang dapat
menggunakan program untuk tujuan, atau dalam beberapa kasus bahkan tujuan tak
terduga. Isu-isu tersebut dapat membuat atau menghancurkan kesuksesan bahkan tanpa
masalah lain. Hal ini melibatkan berbagai tekstual, grafis dan kadang-kadang elemen-
elemen perangkat keras yang meningkatkan kejelasan, intuitif, kekompakan dan
kelengkapan program antarmuka pengguna.
ƒ Portabilitas: kisaran perangkat keras komputer dan platform sistem operasi yang kode
sumber dari program dapat dikompilasi / ditafsirkan dan lari. Hal ini tergantung pada
perbedaan-perbedaan dalam fasilitas pemrograman yang disediakan oleh platform yang
berbeda, termasuk hardware dan sistem operasi sumber daya, perilaku yang diharapkan
dari hardware dan sistem operasi, dan ketersediaan platform compiler tertentu (dan
kadang-kadang perpustakaan) untuk bahasa dari source code.
ƒ Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi oleh
pengembang sekarang atau di masa mendatang dalam rangka untuk membuat perbaikan
atau penyesuaian, memperbaiki bug dan lubang keamanan, atau disesuaikan dengan
lingkungan baru. Praktek yang baik selama pengembangan awal membuat perbedaan
dalam hal ini. Kualitas ini mungkin tidak secara langsung jelas bagi pengguna akhir tetapi
dapat secara signifikan memengaruhi nasib sebuah program jangka panjang.
[sunting] algorithmic kompleksitas

Bidang akademik dan praktek teknik pemrograman komputer yang baik terutama berkaitan
dengan menemukan dan menerapkan algoritma yang paling efisien untuk suatu masalah kelas.
Untuk tujuan ini, algoritma diklasifikasikan menjadi perintah dengan menggunakan apa yang
disebut notasi Big O, O (n), yang mengungkapkan penggunaan sumber daya, seperti waktu
eksekusi atau pemakaian memori, dalam hal ukuran sebuah input. Ahli programmer yang
akrab dengan berbagai mapan algoritma dan kompleksitas masing-masing dan menggunakan
pengetahuan ini untuk memilih algoritma yang paling cocok dengan keadaan. [sunting]
Metodologi

Langkah pertama dalam sebagian besar proyek-proyek pengembangan perangkat lunak formal
adalah analisis persyaratan, diikuti dengan pengujian untuk menentukan model nilai,
pelaksanaan, dan kegagalan penghapusan (debug). Terdapat banyak pendekatan yang berbeda
untuk masing-masing tugas. Salah satu pendekatan yang populer untuk analisis kebutuhan
adalah Kasus Gunakan analisis.

Teknik model populer meliputi Object-Oriented Analysis and Design (OOAD) dan Model-Driven
Architecture (MDA). The Unified Modeling Language (UML) adalah sebuah notasi yang
digunakan untuk kedua OOAD dan MDA.

Teknik yang sama digunakan untuk desain database adalah Entity-Relationship Modeling (ER
Modeling).
Pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural), fungsional
bahasa, dan logika bahasa. [sunting] Mengukur pemakaian bahasa

Sangat sulit untuk menentukan apa yang paling populer bahasa pemrograman modern.
Beberapa bahasa yang sangat populer untuk jenis aplikasi tertentu (misalnya, COBOL masih
kuat di pusat data perusahaan, sering pada mainframe besar, FORTRAN dalam aplikasi teknik,
bahasa scripting dalam pengembangan web, dan C dalam aplikasi embedded), sementara
beberapa bahasa teratur digunakan untuk menulis berbagai macam aplikasi.

Metode untuk mengukur popularitas bahasa pemrograman meliputi: menghitung jumlah iklan
lowongan pekerjaan yang menyebutkan bahasa [10], jumlah buku-buku pengajaran bahasa
yang dijual (overestimates ini pentingnya bahasa baru), dan perkiraan jumlah baris yang ada
kode yang ditulis dalam bahasa (meremehkan ini jumlah pengguna bahasa bisnis seperti
COBOL). [sunting] Debugging Sebuah bug, yang debugged pada tahun 1947.

Debugging adalah tugas yang sangat penting dalam proses pengembangan perangkat lunak,
karena program yang salah dapat memiliki konsekuensi yang signifikan bagi penggunanya.
Beberapa bahasa yang lebih rentan terhadap beberapa jenis kesalahan karena mereka tidak
memerlukan spesifikasi kompiler untuk melakukan pengecekan sebanyak bahasa lainnya.
Penggunaan alat analisis statis dapat membantu mendeteksi beberapa kemungkinan masalah.

Debug sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan Eclipse. Standalone
debugger seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan visual,
biasanya menggunakan baris perintah. [sunting] Bahasa pemrograman Artikel utama: bahasa
pemrograman dan bahasa pemrograman Daftar

Bahasa pemrograman yang berbeda mendukung gaya pemrograman yang berbeda (disebut
paradigma pemrograman). Pilihan bahasa yang digunakan adalah tunduk pada banyak
pertimbangan, seperti kebijakan perusahaan, kesesuaian untuk tugas, ketersediaan pihak
ketiga paket, atau keinginan individunya. Idealnya, bahasa pemrograman yang paling cocok
untuk tugas yang dihadapi akan dipilih. Trade-off dari ideal ini melibatkan cukup menemukan
programmer yang tahu bahasa untuk membangun sebuah tim, ketersediaan compiler untuk
bahasa, dan efisiensi dengan program-program yang ditulis dalam bahasa tertentu
mengeksekusi.

Allen Downey, dalam bukunya How To Think Like A Computer Scientist, menulis:

Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di
hampir setiap bahasa:
* Input: Get data dari keyboard, file, atau beberapa perangkat lain.
* Output: Display data pada layar atau mengirim data ke file atau perangkat lain.
* Berhitung: Lakukan operasi aritmatika dasar seperti penjumlahan dan perkalian.
* Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.
* Pengulangan: Lakukan beberapa tindakan berulang-ulang, biasanya dengan beberapa
variasi.

Banyak bahasa komputer menyediakan mekanisme untuk memanggil fungsi yang disediakan
oleh perpustakaan. Menyediakan fungsi-fungsi di perpustakaan mengikuti konvensi runtime
yang sesuai (misalnya, metode lewat argumen), maka fungsi-fungsi ini dapat ditulis dalam
bahasa lainnya. [sunting] Pemrogram Artikel utama: Programmer Lihat juga: Software
pengembang dan Software engineer

Pemrogram komputer adalah orang-orang yang menulis perangkat lunak komputer. Pekerjaan
mereka biasanya meliputi:

* Coding
* Kompilasi
* Dokumentasi
* Integrasi
* Pemeliharaan
* Persyaratan analisis
* Software arsitektur
* Software pengujian
* Spesifikasi
* Debugging

     
Diagram Alur sering digunakan untuk menggambarkan sebuah algoritma.

Dalam matematika dan komputasi, algoritma merupakan kumpulan perintah untuk


menyelesaikan suatu masalah. Perintah-perintah ini dapat diterjemahkan secara bertahap dari
awal hingga akhir. Masalah tersebut dapat berupa apa saja, dengan catatan untuk setiap
masalah, ada kriteria kondisi awal yang harus dipenuhi sebelum menjalankan algoritma.
Algoritma akan dapat selalu berakhir untuk semua kondisi awal yang memenuhi kriteria, dalam
hal ini berbeda dengan heuristik. Algoritma sering mempunyai langkah pengulangan (iterasi)
atau memerlukan keputusan (logika Boolean dan perbandingan) sampai tugasnya selesai.
Desain dan analisis algoritma adalah suatu cabang khusus dalam ilmu komputer yang
mempelajari karakteristik dan performa dari suatu algoritma dalam menyelesaikan masalah,
terlepas dari implementasi algoritma tersebut. Dalam cabang disiplin ini algoritma dipelajari
secara abstrak, terlepas dari sistem komputer atau bahasa pemrograman yang digunakan.
Algoritma yang berbeda dapat diterapkan pada suatu masalah dengan kriteria yang sama.

Kompleksitas dari suatu algoritma merupakan ukuran seberapa banyak komputasi yang
dibutuhkan algoritma tersebut untuk menyelesaikan masalah. Secara informal, algoritma yang
dapat menyelesaikan suatu permasalahan dalam waktu yang singkat memiliki kompleksitas
yang rendah, sementara algoritma yang membutuhkan waktu lama untuk menyelesaikan
masalahnya mempunyai kompleksitas yang tinggi.

Sejarah istilah "algoritma"Kata algoritma berasal dari latinisasi nama seorang ahli matematika
dari Uzbekistan Al Khawārizmi (hidup sekitar abad ke-9), sebagaimana tercantum pada
terjemahan karyanya dalam bahasa latin dari abad ke-12 "Algorithmi de numero Indorum".
Pada awalnya kata algorisma adalah istilah yang merujuk kepada aturan-aturan aritmetis
untuk menyelesaikan persoalan dengan menggunakan bilangan numerik arab (sebenarnya dari
India, seperti tertulis pada judul di atas). Pada abad ke-18, istilah ini berkembang menjadi
algoritma, yang mencakup semua prosedur atau urutan langkah yang jelas dan diperlukan
untuk menyelesaikan suatu permasalahan.

Jenis-jenis Algoritma

Terdapat beragam klasifikasi algoritma dan setiap klasifikasi mempunyai alasan tersendiri.
Salah satu cara untuk melakukan klasifikasi jenis-jenis algoritma adalah dengan
memperhatikan paradigma dan metode yang digunakan untuk mendesain algoritma tersebut.
Beberapa paradigma yang digunakan dalam menyusun suatu algoritma akan dipaparkan
dibagian ini. Masing-masing paradigma dapat digunakan dalam banyak algoritma yang
berbeda.

  , paradigma untuk membagi suatu permasalahan besar menjadi


permasalahan-permasalahan yang lebih kecil. Pembagian masalah ini dilakukan terus menerus
sampai ditemukan bagian masalah kecil yang mudah untuk dipecahkan. Singkatnya
menyelesaikan keseluruhan masalah dengan membagi masalah besar dan kemudian
memecahkan permasalahan-permasalahan kecil yang terbentuk.
    , paradigma pemrograman dinamik akan sesuai jika digunakan pada
suatu masalah yang mengandung sub-struktur yang optimal (, dan mengandung beberapa
bagian permasalahan yang tumpang tindih . Paradigma ini sekilas terlihat mirip dengan
paradigma Divide and Conquer, sama-sama mencoba untuk membagi permasalahan menjadi
sub permasalahan yang lebih kecil, tapi secara intrinsik ada perbedaan dari karakter
permasalahan yang dihadapi.

   !". Sebuah algoritma serakah mirip dengan sebuah Pemrograman dinamik,
bedanya jawaban dari submasalah tidak perlu diketahui dalam setiap tahap;

dan menggunakan pilihan "serakah" apa yang dilihat terbaik pada saat itu.

3  3  
    


1. Sejarah

Bahasa C merupakan perkembangan dari bahasa BCPL yang dikembangkan oleh Martin
Richards pada tahun 1967. Selanjutnya bahasa ini memberikan ide kepada Ken Thompson
yang kemudian mengembangkan bahasa yang disebut bahasa B pada tahun 1970.
Perkembangan selanjutnya dari bahasa B adalah bahasa C yang diciptakan oleh Dennis
Ricthie & W. Kerninghan tahun 1972 di Bell Telephone Laboratories Inc. (Sekarang adalah
AT & T Bell Laboratories).

2. Aplikasi bahasa C

* Bahasa C pertama kali digunakan di Computer Digital Equipment Corporation PDP-11


yang menggunakan system operasi UNIX.
* Bahasa C juga digunakan untuk menyusun operasi Linux.
* Banyak bahasa pemrogaman popular seperti PHP dan Java menggunakan sintaks dasar
mirip bahasa C.

3. Kelebihan dan Kekurangan Bahasa C

Kelebihan Bahasa C :

* Bahasa C tersedia hampir di semua jenis computer


* Kode bahasa C sifatnya adalah portable dan fleksible untuk semua jenis computer.
* Bahasa C hanya menyediakan sedikit kata-kata kunci, hanya terdapat 32 kata kunci.
* Proses executable program bahasa C lebih cepat.
* Dukungan pustaka yang banyak.
* C adalah bahasa yang terstruktur.
* Bahasa C termasuk bahasa tingkat menengah.

Kekurangan Bahasa C :

* Banyaknya operator serta fleksibilitas penulisan program kadang-kadang


membingungkan pemakai.
* Bagi pemula pada umumnya akan kesulitan menggunakan pointer.



1. Sejarah

Java mulai dirilis pada tahun 1990 sebagai bahasa program yang disebut Oak, kemudian
Sun MycroSystem mendirikan kelompok kerja yang terdiri atas para programmer handal
untuk membuat produk dan memperluas pasar Sun. Oak didesain pertama kali untuk
personal digital assistance yang disebut *7 yang akan dipasarkan Sun dengan fasilitas
Graphical User Interface.

Ternyata *7 tidak pernah dipasarkan dan secara kebetulan Sun membentuk suatu
perusahaan yang disebut Firstperson untuk mengembangkan *7 dalam bentuk TV set-top
boxes untuk televisi interaktif. Karena persaingan begitu ketat akhirnya prospek TV
interaktif menurun dan akhirnya Oak tidak laku di pasaran. Akan tetapi FirstPerson dan
Oak mengalami kegagalan. bermunculan para perintis internet khususnya World Wide Web
seperti Netscape membuat software yang memungkinkan terjadinya koneksi antara
internet dengan www. Sun akhirnya menyadari bahwa Oak memiliki kemungkinan besar
untuk membuat jalur akses ke dunia web. Tidak lamam kemudian Oak diluncurkan di
Internet dengan nama baru yaitu, Java.

Sekarang, java masih dalam taraf pengembangan dan sudah mempengaruhi arah
pemrogaman computer dan internet. Bahasa pemrogaman Java dirilis secara gratis di
Internet dan Sun memberikan lisensi penuh terhadap implementasi Java dan segala
komponennya untuk digunakan di berbagai vendor software Internet dengan harapan
supaya dapat menciptakan standard pemrogaman web.

2. Aplikasi Bahasa Java

* Pemrograman jaringan
* Pembuatan aplikasi berbasis windows
* Program untuk membuat web
3. Kelebihan dan Kekurangan

Kelebihan Bahasa Java :

* Sederhana dan ampuh, java menyediakan sarana untuk membuat program (applet) yang
berjalan pada web browser. Programmer dapat menggunakan applet kecil yang aman,
dinamik, lintas platform, aktif dan siap dijalankan di jaringan.
* Aman, java dirancang dengan konsep keamanan internet.
* Berorientasi objek, java tidak diturunkan bahasa pemrogaman manapun. Java memiliki
keseimbangan yang menyediakan mekanisme peng-class-an sederhana dengan model
antarmuka dinamik yang intuitif hanya jika diperlukan.
* Kokoh, java membatasi programmer dengan memberi kunci supaya progamer dapat
menemukan kesalahan lebih cepat saat mengembangkan program.
* Interaktif, java dirancang untuk menciptakan program jaringan yang interaktif.
* Netral terhadap berbagai arsitektur, java mampu berjalan dalam platform apapun seperti
PC, UNIX, Macintosh, dll.
* Terinterpretasi dan berkinerja tinggi, java melengkapi keajaiban lintas platform yang luar
biasa dengan kompilasi ke dalam representasi langsung yang disebut java code byte yang
dapat diterjemahkan oleh system apapun yang memiliki java interpreter dan java virtual
machine.
* Mudah dipelajari karena bersifat sederhana.
* Mendukung koneksi ke database.

Kekurangan bahasa Java :

* Java memiliki kecepatan yang kurang dari bahasa C ++.


* Implementasi J2ME tidak global. Misalnya, J2ME untuk Motorola dengan J2ME untuk Sony
Ericson tidak sama. Berbeda lagi J2ME untuk Nokia. Setiap produk selalu mempunyai
modul tersendiri yang dinilai aneh penerapannya dan harus di-compile dengan modul yang
berbeda-beda.
* Java memakan banyak memori computer.
* Java merupakan bahasa yang kompleks dan susah dipelajari.
* Program yang dibuat oleh bahasa ini lebih lambat disbanding program yang dibuat
dengan bahasa lain seperti C atau C++.



1. Sejarah

Pascal dibuat pertama kali oleh Prof. Niklaus Wirth, seorang anggota International
Federation of Information Processing (IFIP) pada tahun 1971. pascal berasal dari nama
matematikawan yaitu Blaise Pascal. Pascal digunakan untuk mengenalkan pemrograman
terstruktur.
2. Aplikasi Bahasa Pascal

* Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Delphi (berbasis
windows).
* Pascal dipakai sebagai landasan pembuatan kode perangkat lunak Kylix (berbasis Linux).

3. Kelebihan dan kekurangan

Kelebihan bahasa Pascal :

* Tipe data standar, tipe-tipe data standar yang telah tersedia bahasa pemrogaman. Pascal
memiliki tipe data standar Boolean, integer, char, real, string.
* User defined data types, programmer dapat membuat tipe data lain yang diturunkan dari
tipe data standar.
* Strongly-typed, programmer harus menentukan tipe data dari suatu variable dan
variable tersebut tidak dapat dipergunakan untuk menyimpan tipe data selain format yang
ditentukan.
* Terstruktur, memiliki sintaks yang memungkinkan penulisan program dipecah menjadi
fungsi-fungsi kecil (procedur dan function) yang dapat dipergunakan berulang-ulang.
* Sederhana dan ekspresif, memiliki struktur yang sederhana dan sangat mendekati
bahasa manusia (bahasa inggris) sehingga mudah dipelajari dan dipahami.

Kekurangan bahasa Pascal :

* Versi awal Pascal kurang cocok untuk aplikasi bisnis karena dukungan basisdata yang
terbatas.
* Sintaks Pascal terlalu bertele-tele.
* Tidak mendukung pemrograman berorientasi objek.
* Pascal tidak fleksibel dan banyak kekurangan yang dibutuhkan untuk membuat aplikasi
yang besar.



1. Sejarah

PHP adalah bahasa pemrogaman web atau scripting language yang didesain untuk web.
PHP dibuat pertama kali oleh Rasmus Lerdford untuk menghitung jumlah pengunjung pada
homepagenya pada akhir tahun 1994. PHP terus berkembang dari PHP 1 yang ditulis ulang
Rasmus dalam bahasa C pada tahun 1995 sampai PHP 4 yang diluncurkan tanggal 22 Mei
2000.

2. Aplikasi Bahasa PHP


* PHP digunakan sebagai landasan operasi pada pemrogaman jaringan berbasis web.
* PHP digunakan juga untuk pemrogaman database.
* PHP digunakan untuk membuat aplikasi web.

3. Kelebihan dan Kekurangan

Kelebihan :

* PHP menjadi popular karena kesederhanaannya dan kemampuannya dalam


menghasilkan berbagai aplikasi web seperti counter, system artikel/ CMS, e-commerce,
bulletin board, dll.
* PHP adalah salah satu bahasa server-side yang didesain khusus untuk aplikasi web.
* PHP termasuk dalam Open Source Product dan telah mencapai versi 4.
* Aplikasi PHP cukup cepat dibandingkan dengan aplikasi CGI dengan Perl atau Phyton
bahkan lebih cepat disbanding dengan ASP maupun Java dalam berbagai aplikasi web.
* Tersedia baik di Windows maupun Linux, walau saat ini paling efektif di web server
Apache dan OS Linux.
* Sintaks mirip C dan mudah dipelajari.
* Komunitas yang ramai dan saling membantu, seperti di diskusiweb.com, phpbuilder.com,
phpindo.com, dll.
* Berbagai script atau aplikasi yang gratis telah tersedia.

Kekurangan :

* Tidak detail untuk pengembangan skala besar.


* Tidak memiliki system pemrogaman berorientasi objek yang sesungguhnya.
* Tidak bisa memisahkan antara tampilan dengan logic dengan baik.
* PHP memiliki kelemahan security tertentu apabila programmer tidak jeli dalam
melakukan pemrogaman dan kurang memperhatikan isu konfigurasi PHP.
* Kode PHP dapat dibaca semua orang, dan kompilasi hanya dapat dilakukan dengan tool
yang mahal dari Zend.



#$

 %  Komputer berasal dari bahasa latin computare yang mengandung arti
menghitung. Karena luasnya bidang garapan ilmu komputer, para pakar dan peneliti sedikit
berbeda dalam mendefinisikan termininologi komputer.
1. Menurut Hamacher [1], komputer adalah mesin penghitung elektronik yang cepat dan
dapat menerima informasi input digital, kemudian memprosesnya sesuai dengan
program yang tersimpan di memorinya, dan menghasilkan output berupa informasi.
2. Menurut Blissmer [2], komputer adalah suatu alat elektonik yang mampu melakukan
beberapa tugas sebagai berikut:
1. menerima input
2. memproses input tadi sesuai dengan programnya
3. menyimpan perintah-perintah dan hasil dari pengolahan
4. menyediakan output dalam bentuk informasi
3. Sedangan Fuori [3] berpendapat bahwa komputer adalah suatu pemroses data yang
dapat melakukan perhitungan besar secara cepat, termasuk perhitungan aritmetika dan
operasi logika, tanpa campur tangan dari manusia.

Untuk mewujudkan konsepsi komputer sebagai pengolah data untuk menghasilkan suatu
informasi, maka diperlukan sistem komputer (computer system) yang elemennya terdiri dari
hardware, software dan brainware. Ketiga elemen sistem komputer tersebut harus saling
berhubungan dan membentuk kesatuan. Hardware tidak akan berfungsi apabila tanpa software,
demikian juga sebaliknya. Dan keduanya tiada bermanfaat apabila tidak ada manusia
(brainware) yang mengoperasikan dan mengendalikannya.

1. Hardware atau Perangkat Keras: peralatan yang secara fisik terlihat dan bisa di jamah.
2. Software atau Perangkat Lunak: program yang berisi instruksi/perintah untuk melakukan
pengolahan data.
3. Brainware: manusia yang mengoperasikan dan mengendalikan sistem komputer.

 &#  Literatur terbaru tentang komputer melakukan penggolongan


komputer berdasarkan tigal hal: data yang diolah, penggunaan, kapasitas/ukurannya, dan
generasinya. c   !'&"

1. Komputer Analog
2. Komputer Digital
3. Komputer Hybrid

c   ! 

1. Komputer Untuk Tujuan Khusus (Special Purpose Computer)


2. Komputer Untuk Tujuan Umum (General Purpose Computer)

c   !#  $! 

1. Komputer Mikro (Micro Computer)


2. Komputer Mini (Mini Computer)
3. Komputer Kecil (Small Computer)
4. Komputer Menengah (Medium Computer)
5. Komputer Besar (Large Computer)
6. Komputer Super (Super Computer)

c   !   

1. Komputer Generasi Pertama (1946-1959)


2. Komputer Generasi Kedua (1959-1964)
3. Komputer Generasi Ketiga (1964-1970)
4. Komputer Generasi Keempat (1979-sekarang)
5. Komputer Generasi Kelima

Ê 

Ê  berasal dari bahasa Latin (a a) dan bahasa Yunani (aa) adalah suatu kesatuan yang
terdiri komponen atau elemen yang dihubungkan bersama untuk memudahkan
aliran informasi, materi atau energi. Istilah ini sering dipergunakan untuk menggambarkan suatu set entitas
yang berinteraksi, di mana suatu model matematika seringkali bisa dibuat.

Sistem juga merupakan kesatuan bagian-bagian yang saling berhubungan yang berada dalam suatu wilayah
serta memiliki item-item penggerak, contoh umum misalnya seperti negara. Negara merupakan suatu
kumpulan dari beberapa elemen kesatuan lain seperti provinsi yang saling berhubungan sehingga
membentuk suatu negara dimana yang berperan sebagai penggeraknya yaitu rakyat yang berada dinegara
tersebut.

Kata "sistem" banyak sekali digunakan dalam percakapan sehari-hari, dalam forum diskusi maupun dokumen
ilmiah. Kata ini digunakan untuk banyak hal, dan pada banyak bidang pula, sehingga maknanya menjadi
beragam. Dalam pengertian yang paling umum, sebuah sistem adalah sekumpulan benda yang memiliki
hubungan di antara mereka.

You might also like