Pemrograman: Perbedaan antara revisi
Konten dihapus Konten ditambahkan
Tidak ada ringkasan suntingan Tag: Suntingan perangkat seluler Suntingan peramban seluler |
k Mengembalikan suntingan oleh 182.1.167.68 (bicara) ke revisi terakhir oleh Hysocc Tag: Pengembalian Suntingan perangkat seluler Suntingan peramban seluler Suntingan seluler lanjutan |
||
(28 revisi perantara oleh 16 pengguna tidak ditampilkan) | |||
Baris 1:
{{periksaterjemahan|date=2012}}
'''Pemrograman''' atau '''penataolahan'''<ref>{{Cite web|title=Hasil Pencarian - KBBI Daring|url=https://kbbi.kemdikbud.go.id/entri/Tata%20olah|website=kbbi.kemdikbud.go.id|access-date=07-12-2022}}</ref> adalah proses menulis, menguji dan memperbaiki (''debug''), dan memelihara kode yang membangun suatu program [[komputer]].<ref>[http://www.artikata.com/arti-374430-pemrograman.php]</ref> 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 melakukan pemrograman, diperlukan keterampilan dalam [[algoritme]], [[logika]], [[bahasa pemrograman]], dan pada banyak kasus, pengetahuan-pengetahuan lain seperti [[matematika]].
Pemrograman adalah suatu seni dalam menggunakan satu atau lebih [[algoritme]] yang saling berhubungan dengan menggunakan suatu [[bahasa pemrograman]] tertentu sehingga menjadi suatu 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
== Pemrograman
Pemrograman adalah bahan yang digunakan di berbagai kompetisi komputer di Indonesia maupun dunia. Di tingkat [[SMA]], contohnya, pemrograman dipertandingkan dalam [[Olimpiade Sains Nasional]] setiap tahun. 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 Informatika (''International Olympiad in Informatics'') yang diadakan setiap tahun.
== Sejarah pemrograman ==
Mekanisme Antikythera dari Yunani kuno adalah kalkulator menggunakan persneling dari berbagai ukuran dan konfigurasi untuk menentukan operasi,
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
Data dan instruksi dapat disimpan pada ''external punched card'', 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
Pada tahun 1954, FORTRAN diciptakan, melainkan tingkat pertama bahasa pemrograman tinggi untuk memiliki implementasi fungsional, dibandingkan dengan hanya
▲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.
Ketika waktu telah berkembang, komputer telah membuat lompatan raksasa di bidang kekuatan prosesor. Ini telah membawa bahasa pemrograman baru yang lebih disarikan dari
▲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 pada 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 pada 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
▲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 karier 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.
== Persyaratan kualitas ==
Apapun pendekatan pengembangan perangkat lunak mungkin, program akhir harus memenuhi beberapa sifat mendasar. Properti berikut adalah di antara yang paling relevan:
* Efisiensi /
*
* Kekokohan:
* 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:
* Kemampu-rawatan:
== Kompleksitas algoritme ==
Bidang akademik dan praktik teknik pemrograman komputer yang baik terutama berkaitan dengan menemukan dan menerapkan algoritme yang paling efisien untuk suatu masalah kelas. Untuk tujuan ini, algoritme 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
== 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 37 ⟶ 38:
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
Pelaksanaan teknik termasuk bahasa imperatif (object-oriented atau prosedural), fungsional bahasa, dan logika bahasa.
== 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
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).
== Debugging ==▼
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.▼
▲== ''Debugging'' ==
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.▼
▲''Debugging'' (pengawakutuan) 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
▲''Debug'' (awakutu) sering dilakukan dengan IDE seperti Visual Studio, NetBeans, dan Eclipse. ''Standalone debugger'' seperti gdb juga digunakan, dan ini kurang sering menyediakan lingkungan
== Bahasa pemrograman ==
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'' atau untung rugi dari ideal ini melibatkan cukup menemukan
Beberapa bahasa pemrograman adalah:
Baris 71 ⟶ 76:
Rincian terlihat berbeda dalam berbagai bahasa, tetapi beberapa petunjuk dasar muncul di hampir setiap bahasa:
*
*
* Berhitung: Lakukan operasi aritmetika dasar seperti penjumlahan dan perkalian.
* Bersyarat eksekusi: Periksa kondisi tertentu dan melaksanakan urutan sesuai pernyataan.
Baris 79 ⟶ 84:
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.
== Pemrogram
{{Main|Pemrogram}}
Lihat juga: [[Pengembang perangkat lunak]] dan [[Rekayasa perangkat lunak|Perekayasa perangkat lunak]]
Pemrogram komputer atau penata olah adalah orang-orang yang menulis perangkat lunak komputer. Pekerjaan mereka meliputi:
* Pengodean (''Coding'')
* Kompilasi (''Compilation'')
* Dokumentasi (''Documentation'')
* Integrasi (''Integration'')
* Pemeliharaan (''Maintenance'')
* Analisis persyaratan (''Requirements analysis'')
* Arsitektur perangkat lunak (''Software
* Pengujian perangkat lunak (''Software
* Spesifikasi (''Specification'')
* Pengawakutuan (''Debugging'')
* Pemurwarupaan (''Prototyping'')
== Lihat pula ==
|