Kamis, 31 Mei 2012

PEMROGRAMAN

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun sebuah program komputer. 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 (programmer). 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 sebuah bahasa 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 (run time), atau memori.

Pemrograman Kompetitif

Pemrograman adalah bahan yang banyak digunakan di berbagai kompetisi komputer di Indonesia maupun dunia. Di tingkat SMA, contohnya, pemrograman dipertandingkan dalam Olimpiade Sains Nasional setiap tahunnya. Ketigapuluh peraih medali di Olimpiade Sains Nasional ini kemudian menjadi Tim Olimpiade Komputer Indonesia, dan menempuh Pelatihan Nasional yang menyeleksi empat orang wakil untuk mengikuti Olimpiade Sains Internasional bidang Informasi (International Olympiad in Informatics) yang diadakan setiap tahunnya.

Sejarah pemrograman

Mekanisme Antikythera dari Yunani kuno adalah kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan operasi, [3] yang dilacak siklus Metonik masih digunakan di bulan-ke-surya kalender, dan yang konsisten untuk menghitung tanggal olimpiade [4]. Al-Jazari dibangun Automata diprogram pada tahun 1206. Salah satu sistem yang digunakan dalam perangkat ini adalah penggunaan pasak dan Cams ditempatkan ke drum kayu di lokasi tertentu, yang secara berurutan akan memicu tuas yang pada gilirannya dioperasikan instrumen perkusi. Output dari perangkat ini adalah drumer kecil bermain berbagai ritme dan pola drum. [5] [6] The Jacquard Loom, Joseph Marie Jacquard yang dikembangkan pada tahun 1801, menggunakan serangkaian karton kartu 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. Program komputer pertama ditulis untuk Analytical Engine oleh matematikawan Ada Lovelace untuk menghitung urutan Bilangan Bernoulli. [7] Sintesis perhitungan numerik, operasi dan output telah ditentukan, bersama dengan cara untuk mengatur dan masukan instruksi dengan 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 menemukan rekaman data pada media yang kemudian dapat dibaca oleh mesin. Sebelum menggunakan mesin dibaca dari media, di atas, telah untuk kontrol, bukan data. "Setelah beberapa percobaan awal dengan kertas pita, ia menetap di kartu menekan ..." [8] Untuk memproses kartu menekan ini, pertama kali dikenal sebagai "kartu Hollerith" dia menciptakan tabulator, dan mesin keypunch. 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 (plugboard) ke 1906 Tipe I Tabulator memungkinkannya untuk melakukan pekerjaan yang berbeda tanpa harus secara fisik dibangun kembali. Pada akhir 1940-an, ada berbagai mesin panel kontrol diprogram, disebut catatan unit peralatan, untuk melakukan pengolahan data tugas.
Data dan instruksi dapat disimpan pada kartu punched eksternal, yang disimpan dalam rangka 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 (operasi dasar) dari mesin tertentu, sering kali dalam notasi biner. Setiap model komputer mungkin akan menggunakan instruksi yang berbeda (bahasa mesin) untuk melakukan tugas yang sama. Kemudian, perakitan bahasa tersebut 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, JUMLAH). Memasuki sebuah program dalam bahasa assembly biasanya lebih nyaman, lebih cepat, dan kurang rentan terhadap kesalahan manusia daripada menggunakan bahasa mesin, tetapi karena bahasa assembly adalah sedikit lebih dari satu notasi yang berbeda untuk bahasa mesin, setiap dua mesin dengan instruksi yang berbeda set juga memiliki perakitan yang berbeda bahasa. Pada tahun 1954, FORTRAN diciptakan, melainkan tingkat pertama bahasa pemrograman tinggi untuk memiliki implementasi fungsional, dibandingkan dengan hanya desain di atas kertas [9] [10] (Sebuah bahasa tingkat tinggi adalah, dalam istilah yang sangat umum,. bahasa pemrograman yang memungkinkan programmer untuk menulis program dalam istilah yang lebih abstrak dari instruksi bahasa assembly, yaitu pada tingkat abstraksi "lebih tinggi" daripada bahasa assembly.) Ini memungkinkan programmer 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, yang diterjemahkan program FORTRAN ke dalam bahasa mesin. Bahkan, nama FORTRAN adalah singkatan dari "Formula Translation". Banyak bahasa lainnya dikembangkan, termasuk beberapa program untuk komersial, seperti COBOL. Program itu sebagian besar masih masuk menggunakan kartu punched atau pita kertas. (Lihat pemrograman komputer di era kartu punch). Pada akhir 1960-an, perangkat penyimpanan data dan terminal komputer menjadi cukup murah bahwa program dapat dibuat dengan mengetikkan langsung ke dalam komputer. Teks editor tersebut dikembangkan yang memungkinkan perubahan dan perbaikan harus dilakukan jauh lebih mudah dibandingkan dengan kartu berlubang. (Biasanya, kesalahan dalam meninju kartu berarti bahwa kartu harus dibuang dan yang baru menekan untuk menggantikannya.) Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang kekuatan prosesor. Ini telah membawa bahasa pemrograman baru yang lebih disarikan dari hardware. Meskipun bahasa tingkat tinggi biasanya dikenakan biaya overhead yang lebih besar, peningkatan kecepatan komputer modern telah membuat penggunaan bahasa ini jauh lebih praktis daripada di masa lalu. Bahasa ini semakin disarikan biasanya lebih mudah untuk belajar dan memungkinkan programmer untuk mengembangkan aplikasi jauh lebih efisien dan dengan kode sumber kurang. Namun, bahasa tingkat tinggi masih praktis untuk beberapa program, seperti yang di mana tingkat rendah kontrol perangkat keras diperlukan atau di mana kecepatan pemrosesan maksimum adalah penting.
Sepanjang paruh kedua abad kedua puluh, pemrograman adalah karier yang menarik di sebagian besar negara maju. Beberapa bentuk pemrograman telah lepas pantai semakin tunduk pada outsourcing (impor perangkat lunak dan jasa dari negara lain, biasanya dengan upah rendah), membuat keputusan karir pemrograman di negara maju lebih rumit, sementara meningkatkan peluang ekonomi di daerah kurang berkembang. Tidak jelas seberapa jauh kecenderungan ini akan berlanjut dan seberapa dalam dampak akan programmer upah dan kesempatan.

Bagaimana komputer bekerja

Saat teknologi yang dipakai pada komputer digital sudah berganti secara dramatis sejak komputer pertama pada tahun 1940-an (lihat Sejarah perangkat keras menghitung untuk lebih banyak detail), komputer kebanyakan masih menggunakan arsitektur Von Neumann, yang diusulkan pada awal 1940-an oleh John von Neumann.
Arsitektur Von Neumann menggambarkan komputer dengan empat bagian utama: Unit Aritmatika dan Logis (ALU), unit kontrol, memori, dan alat masukan dan hasil (secara kolektif dinamakan I/O). Bagian ini dihubungkan oleh berkas kawat, "bus"

Memori

modul memori RAM
Di sistem ini, memori adalah urutan byte yang dinomori (seperti "sel" atau "lubang burung dara"), masing-masing berisi sepotong kecil informasi. Informasi ini mungkin menjadi perintah untuk mengatakan pada komputer apa yang harus dilakukan. Sel mungkin berisi data yang diperlukan komputer untuk melakukan suatu perintah. Setiap slot mungkin berisi salah satu, dan apa yang sekarang menjadi data mungkin saja kemudian menjadi perintah.
Memori menyimpan berbagai bentuk informasi sebagai angka biner. Informasi yang belum berbentuk biner akan dipecahkan (encoded) dengan sejumlah instruksi yang mengubahnya menjadi sebuah angka atau urutan angka-angka. Sebagai contoh: Huruf F disimpan sebagai angka desimal 70 (atau angka biner) menggunakan salah satu metode pemecahan. Instruksi yang lebih kompleks bisa digunakan untuk menyimpan gambar, suara, video, dan berbagai macam informasi. Informasi yang bisa disimpan dalam satu sell dinamakan sebuah byte.
Secara umum, memori bisa ditulis kembali lebih jutaan kali - memori dapat diumpamakan sebagai papan tulis dan kapur yang dapat ditulis dan dihapus kembali, daripada buku tulis dengan pena yang tidak dapat dihapus.
Ukuran masing-masing sel, dan jumlah sel, berubah secara hebat dari komputer ke komputer, dan teknologi dalam pembuatan memori sudah berubah secara hebat - dari relay elektromekanik, ke tabung yang diisi dengan air raksa (dan kemudian pegas) di mana pulsa akustik terbentuk, sampai matriks magnet permanen, ke setiap transistor, ke sirkuit terpadu dengan jutaan transistor di atas satu chip silikon.

Pemrosesan

Unit Pengolah Pusat atau CPU (Central processing Unit) berperan untuk memproses perintah yang diberikan oleh pengguna komputer, mengelolanya bersama data-data yang ada di komputer. Unit atau peranti pemprosesan juga akan berkomunikasi dengan peranti input , output dan storage untuk melaksanakan instruksi yang saling terkait.
Berkas:CPU with pins.jpg
Contoh sebuah CPU dalam kemasan Ball Grid Array (BGA) ditampilkan terbalik dengan menunjukkan kaki-kakinya.
Dalam arsitektur von Neumann yang asli, ia menjelaskan sebuah Unit Aritmatika dan Logika, dan sebuah Unit Kontrol. Dalam komputer-komputer modern, kedua unit ini terletak dalam satu sirkuit terpadu (IC - Integrated Circuit), yang biasanya disebut CPU (Central Processing Unit).
Unit Aritmatika dan Logika, atau Arithmetic Logic Unit (ALU), adalah alat yang melakukan pelaksanaan dasar seperti pelaksanaan aritmatika (tambahan, pengurangan, dan semacamnya), pelaksanaan logis (AND, OR, NOT), dan pelaksanaan perbandingan (misalnya, membandingkan isi sebanyak dua slot untuk kesetaraan). Pada unit inilah dilakukan "kerja" yang sebenarnya.
Unit kontrol menyimpan perintah saat ini yang dilakukan oleh komputer, memerintahkan ALU untuk melaksanaan dan mendapatkan kembali informasi (dari memori) yang diperlukan untuk melaksanakan perintah itu, dan memindahkan kembali hasil ke lokasi memori yang sesuai. Unit ini berfungsi mengontrol pembacaan instruksi program komputer.




                                                                                                                                                                                                             

Tidak ada komentar:

Posting Komentar