Pemrograman: Perbedaan antara revisi

Konten dihapus Konten ditambahkan
MastiBot (bicara | kontrib)
Yusufmm (bicara | kontrib)
Tidak ada ringkasan suntingan
Tag: mengosongkan halaman [ * ]
Baris 1:
'''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]].
{{rapikan}}
 
'''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. 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 (''runningrun time''), atau memori.
 
 
== Bahasa Pemrograman ==
Perbedaan bahasa pemrograman dapat menjadi penyebab perbedaan [[paradigma pemrograman]]. Pilihan bahasa pemrograman dipengaruhi banyak alasan, seperti kecocokan dengan kriteria program dan jenis aplikasi yang akan dibuat.
 
Beberapa bahasa pemrograman adalah:
 
* [[Pascal]]
* [[Basic]]
* [[C]] atau [[C++]]
* [[Cobol]]
* [[Java]]
* [[Fortran]]
* [[Ada]]
* [[Clipper]]
 
== 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==
 
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 ..." 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.
* [[Perangkat lunak bebas]]
 
{{software-stub}}
* 1 Overview
* 2 Sejarah pemrograman
* 3 Modern pemrograman
o 3,1 persyaratan Kualitas
o kompleksitas algoritmik 3,2
3,3 o Metodologi
3,4 o Mengukur pemakaian bahasa
3,5 o Debugging
* 4 Bahasa pemrograman
* 5 Programmers
* 6 Lihat juga
* 7 Referensi
* 8 Bacaan lebih lanjut
* 9 Pranala luar
 
[sunting] Sekilas
Cari Wikiversity Wikiversity memiliki bahan belajar tentang pemrograman
 
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.
 
Baris 67 ⟶ 15:
 
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.
===Kata lain===
[sunting] Modern pemrograman
Pemrograman adalah mengubah suatu masalah yang dapat dimengerti oleh komputer dan dapat dipecahkan oleh komputer.
[sunting] Kualitas persyaratan
==Persyaratan kualitas==
 
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 mengonsumsimengkonsumsi (prosesorwaktu waktuproses, ruang memori, perangkat lambat sepertibawahseperti 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|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.
Baris 79 ⟶ 28:
* Kemampu-rawatan: kemudahan dengan sebuah program yang dapat dimodifikasi oleh pengembang sekarang atau pada 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.
 
==Kompleksitas algoritma== [sunting]
[sunting] algorithmic kompleksitas
 
Bidang akademik dan praktik 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.
Baris 91 ⟶ 40:
 
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.
 
Beberapa bahasa pemrograman adalah:
 
* [[Assembly]]
* [[Pascal]]
* [[Basic]]
* [[C]] atau [[C++]]
* [[Cobol]]
* [[Java]]
* [[Fortran]]
* [[Ada]]
* [[Clipper]]
 
Allen Downey, dalam bukunya How To Think Like A Computer Scientist, menulis:
Baris 118 ⟶ 75:
 
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 / Programmer==
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
Baris 135 ⟶ 92:
* Debugging
 
[sunting] ==Lihat pula==
Wikipedia Buku Wikipedia: Buku memiliki buku pada: Pemrograman
Cari Wikiquote Wikiquote memiliki koleksi kutipan yang berkaitan dengan: Pemrograman
Baris 159 ⟶ 116:
6. ^ Fowler, Charles B. (Oktober 1967), "Museum of Music: A History of Mechanical Instrumen", Musik Pendidik Journal 54 (2): 45-49, DOI: 10.2307/3391092
7. ^ Columbia University Computing Sejarah - Herman Hollerith
8. ^ Survei iklan Ayub menyebutkan bahasa tertentu>
8. ^ [1]
9. ^ [2]
10. ^ Survei iklan Ayub menyebutkan bahasa tertentu>
{{software-stub}}
 
[[Kategori:Pemrograman komputer| ]]
[[Kategori:Pengembangan perangkat lunak]]
 
[[af:Rekenaarprogrammering]]
[[an:Programación]]
[[ar:برمجة]]
[[arz:برمجه]]
[[ast:Programación]]
[[be-x-old:Кампутарнае праграмаваньне]]
[[bg:Програмиране]]
[[bn:কম্পিউটার প্রোগ্রামিং]]
[[bs:Programiranje]]
[[bug:ᨅᨔ ᨄᨛᨑᨚᨁᨛᨑᨆᨗ]]
[[ca:Programació d'ordinadors]]
[[cs:Programování]]
[[da:Programmering]]
[[de:Programmierung]]
[[el:Προγραμματισμός]]
[[en:Computer programming]]
[[es:Programación]]
[[et:Programmeerimine]]
[[eu:Programazio]]
[[fa:برنامه‌نویسی]]
[[fi:Ohjelmointi]]
[[fr:Programmation informatique]]
[[gl:Programación]]
[[he:תכנות מחשבים]]
[[hi:प्रोग्रामिंग]]
[[hr:Računalno programiranje]]
[[hu:Számítógép-programozás]]
[[it:Programmazione (informatica)]]
[[ja:プログラミング (コンピュータ)]]
[[jbo:sampla]]
[[kk:Программалау]]
[[km:កុំព្យូទ័រផ្រូក្រាមមីង(Computer programming)]]
[[ko:컴퓨터 프로그래밍]]
[[lt:Programavimas]]
[[lv:Programmēšana]]
[[mhr:Программлымаш]]
[[ml:കമ്പ്യൂട്ടർ പ്രോഗ്രാമിങ്ങ്]]
[[mn:Програмчлал]]
[[ms:Pengaturcaraan]]
[[nl:Programmeren (computer)]]
[[nn:Programmering]]
[[no:Programmering]]
[[pl:Programowanie]]
[[pt:Programação de computadores]]
[[ro:Programare]]
[[ru:Программирование]]
[[sh:Programiranje]]
[[simple:Computer programming]]
[[sk:Programovanie]]
[[sl:Računalniško programiranje]]
[[sq:Programimi kompjuterik]]
[[sr:Програмирање]]
[[sv:Programmering]]
[[ta:கணினி நிரலாக்கம்]]
[[th:การเขียนโปรแกรมคอมพิวเตอร์]]
[[tk:Programmirleme]]
[[tr:Programlama]]
[[uk:Програмування]]
[[ur:شمارندی برمجہ]]
[[vi:Lập trình máy tính]]
[[yi:קאמפיוטער פראגראמירן]]
[[zh:程序设计]]