Algoritma
Diagram Alur sering digunakan untuk menggambarkan sebuah
algoritma.
Dalam matematika dan komputasi, algoritma atau algoritme [1]
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.
Diagram
Alur sering digunakan untuk menggambarkan sebuah algoritma.
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.
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.
Kata lain
Pemrograman
adalah mengubah suatu masalah yang dapat dimengerti oleh komputer dan dapat
dipecahkan oleh komputer.
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 mengkonsumsi waktu proses,
ruang memori, perangkat bawahseperti 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 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==
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.
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.
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).
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.
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.
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
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
Ada
Basic
C atau C++
C#
Cobol
Java
Fortran
Clipper
Pascal
Visual
Basic
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.
*
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.
Pemrogram / Programmer
Artikel utama: Programmer Lihat juga: Software
pengembang dan Software engineer
Pemrogram komputer adalah orang-orang yang menulis
perangkat lunak komputer. Pekerjaan mereka meliputi:
* Coding
* Kompilasi
* Dokumentasi
* Integrasi
* Pemeliharaan
* Persyaratan
analisis
* Software
arsitektur
* Software
pengujian
* Spesifikasi
* Debugging
Lihat pula
Wikipedia Buku Wikipedia: Buku memiliki buku pada:
Pemrograman Cari Wikiquote Wikiquote memiliki koleksi kutipan yang berkaitan
dengan: Pemrograman Artikel utama: Daftar topik dasar pemrograman komputer
* Accu
(organisasi)
* Association
for Computing Machinery
* Computer
pemrograman di era kartu pons
* Hello world
program
* Daftar
topik dasar pemrograman komputer
* Daftar
topik pemrograman komputer
* Pemrograman
paradigma
* Software
engineering
* The Art of
Computer Programming
Pascal
Pascal
adalah sebuah keharusan berpengaruh dan bahasa pemrograman prosedural, dirancang
pada 1968-1969 dan diterbitkan pada 1970 oleh Niklaus Wirth sebagai bahasa
kecil dan efisien dimaksudkan untuk mendorong praktek pemrograman yang baik
dengan menggunakan pemrograman terstruktur dan penataan data.
Sebuah
turunan yang dikenal sebagai Object Pascal dirancang untuk pemrograman
berorientasi obyek dikembangkan pada tahun 1985.
Sejarah
Pascal,
dinamai untuk menghormati matematikawan dan filsuf Perancis Blaise Pascal,
dikembangkan oleh Niklaus Wirth.
Sebelum
karyanya pada Pascal, Wirth telah mengembangkan Euler dan ALGOL W dan kemudian
melanjutkan untuk mengembangkan Pascal-seperti bahasa Modula-2 dan Oberon.
Awalnya,
Pascal sebagian besar, tapi tidak eksklusif, dimaksudkan untuk mengajarkan
siswa pemrograman terstruktur. [4] Sebuah generasi siswa menggunakan Pascal sebagai
bahasa pengantar dalam kursus sarjana. Varian Pascal juga sering digunakan
untuk segala sesuatu dari proyek-proyek penelitian untuk PC game dan embedded
system. Baru Pascal compiler ada yang banyak digunakan. [5]
Pascal
adalah bahasa tingkat tinggi utama yang digunakan untuk pembangunan di Apple
Lisa, dan pada tahun-tahun awal Macintosh. Bagian dari sistem operasi Macintosh
asli tangan-diterjemahkan ke dalam bahasa assembly Motorola 68000 dari sumber
Pascal [6]. The typesetting TeX populer sistem oleh Donald E. Knuth ditulis di
WEB, sistem pemrograman yang asli melek, berdasarkan Desember PDP- 10 Pascal,
sedangkan aplikasi seperti Total Commander, Skype dan Macromedia Captivate yang
ditulis dalam Delphi (Object Pascal).
Object
Pascal masih digunakan untuk mengembangkan aplikasi Windows. Sebuah versi
cross-platform yang disebut Free Pascal, dengan IDE Lazarus, yang populer
dengan pengguna Linux karena menjanjikan tulis sekali, mengkompilasi mana saja,
pengembangan.
Deskripsi singkat
Wirth niat
adalah untuk menciptakan bahasa yang efisien (baik mengenai kecepatan kompilasi
dan kode yang dihasilkan) berdasarkan pada apa yang disebut pemrograman
terstruktur, suatu konsep yang baru-baru ini menjadi populer. Pascal memiliki
akarnya dalam bahasa 60 ALGOL, tetapi juga memperkenalkan konsep dan mekanisme
yang (di atas skalar ALGOL dan array) memungkinkan programmer untuk
mendefinisikan kompleks mereka sendiri (terstruktur) datatypes, dan juga
membuat lebih mudah untuk membangun dinamis dan rekursif struktur data seperti
daftar, pohon dan grafik. Fitur penting termasuk untuk ini adalah catatan,
enumerations, subranges, variabel yang dialokasikan secara dinamis dengan
pointer terkait, dan set. Untuk membuat ini mungkin dan bermakna, Pascal memiliki
mengetik yang kuat pada semua benda, yang berarti bahwa satu jenis data tidak
dapat dikonversi atau ditafsirkan sebagai lain tanpa konversi eksplisit.
Mekanisme serupa adalah standar dalam banyak bahasa pemrograman saat ini.
Bahasa lainnya bahwa pembangunan dipengaruhi Pascal adalah COBOL, Simula 67,
dan memiliki Wirth ini ALGOL W.
Pascal,
seperti banyak bahasa pemrograman saat ini (tapi tidak seperti kebanyakan
bahasa dalam keluarga C), memungkinkan definisi prosedur bersarang untuk setiap
tingkat kedalaman, dan juga memungkinkan sebagian besar jenis definisi dan
deklarasi di dalam prosedur dan fungsi. Hal ini memungkinkan sintaks yang
sangat sederhana dan koheren di mana sebuah program lengkap sintaksis hampir
identik dengan prosedur tunggal atau fungsi (kecuali untuk kata kunci itu
sendiri, tentu saja.)
implementasi
Pascal
compiler pertama dirancang di Zürich untuk keluarga seri 6000 CDC mainframe
komputer. Niklaus Wirth melaporkan bahwa usaha pertama untuk menerapkannya
dalam Fortran pada tahun 1969 tidak berhasil karena ketidakmampuan Fortran
untuk mengungkapkan struktur data yang kompleks. Usaha yang kedua dirumuskan
dalam bahasa Pascal itu sendiri dan operasional pada pertengahan-1970. Banyak
Pascal kompiler karena telah sama hosting pribadi, yaitu, compiler itu sendiri
ditulis dalam Pascal, dan kompilator biasanya mampu mengkompilasi ulang sendiri
ketika fitur baru ditambahkan ke bahasa, atau ketika kompilator harus porting
ke lingkungan baru. GNU Pascal compiler adalah satu pengecualian, yang ditulis
dalam C.
Pelabuhan
yang berhasil pertama dari CDC Pascal compiler untuk mainframe lain
diselesaikan oleh Welsh dan Quinn di Universitas Queen di Belfast (QUB) pada
tahun 1972. Targetnya adalah Komputer International Limited 1.900 seri. Ini
compiler pada gilirannya adalah orangtua dari kompiler Pascal untuk komputer
mini Multum ICS. Port Multum dikembangkan - dengan maksud untuk menggunakan
Pascal sebagai bahasa pemrograman sistem - oleh Findlay, Cupples, Cavouras dan
Davis, bekerja di Departemen Ilmu Komputasi di Universitas Glasgow.
Diperkirakan bahwa Multum Pascal, yang diselesaikan pada musim panas 1973,
mungkin implementasi 16-bit pertama.
Sebuah
compiler yang sama sekali baru diselesaikan oleh Welsh et al. QUB di tahun
1977. Ini menawarkan fitur-sumber bahasa diagnostik (menggabungkan profil,
menelusuri dan tipe-sadar pembuangan postmortem diformat) yang dilaksanakan
oleh Findlay dan Watt di Universitas Glasgow. Implementasi ini adalah porting
pada tahun 1980 ke 2900 series ICL oleh tim berbasis di Southampton University
dan Universitas Glasgow. Penerapan Model Standar Pascal juga didasarkan pada
kompiler ini, yang telah disesuaikan, oleh Welsh dan Hay di Manchester University
pada tahun 1984, untuk memeriksa ketat untuk kesesuaian dengan BSI 6192/ISO
7185 Standar dan untuk menghasilkan kode untuk mesin abstrak portabel.
Compiler
Pascal pertama kali ditulis di Amerika Utara dibangun di University of Illinois
di bawah Donald B. Gillies untuk PDP-11 dan menghasilkan kode mesin asli.
Untuk
menyebarkan bahasa dengan cepat, compiler "port kit" diciptakan di
Zurich yang mencakup kompilator yang menghasilkan kode untuk mesin
"virtual" tumpukan, yaitu, kode yang cocok untuk interpretasi cukup
efisien), bersama dengan seorang juru bahasa untuk kode yang - sistem Pascal-P.
P-sistem yang disebut kompiler Pascal-P1, P2-Pascal, Pascal-P3, dan Pascal-P4.
Pascal-P1 adalah versi pertama, dan Pascal-P4 adalah orang terakhir yang datang
dari Zurich.
Pascal-P4
compiler / interpreter masih dapat dijalankan dan dikompilasi pada sistem
kompatibel dengan Pascal aslinya. Namun, hanya menerima subset dari bahasa
Pascal.
Pascal-P5,
dibuat di luar kelompok Zurich, menerima bahasa Pascal lengkap dan mencakup ISO
7185 kompatibilitas.
UCSD Pascal
bercabang Pascal-P2, di mana Kenneth Bowles dimanfaatkan untuk menciptakan UCSD
p-System interpretif.
Sebuah
kompiler didasarkan pada Pascal-P4 compiler, yang menciptakan binari pribumi,
dirilis untuk komputer mainframe IBM System/370 oleh Komisi Energi Atom
Australia, melainkan disebut "AAEC Kompiler Pascal" setelah singkatan
dari nama Komisi .
Pada awal
1980-an, Watcom Pascal dikembangkan, juga untuk IBM System 370.
Pascal IP
adalah sebuah implementasi dari bahasa pemrograman Pascal menggunakan
Micropolis DOS, tapi bergerak cepat ke CP / M berjalan di Z80. Itu dipindahkan
ke 80386 jenis mesin pada tahun 1994, dan ada saat ini sebagai implementasi
Windows / XP dan Linux. Pada tahun 2008, sistem tersebut dibawa sampai ke
tingkat yang baru dan bahasa yang dihasilkan disebut "Pascaline"
(setelah kalkulator Pascal). Ini mencakup objek, kontrol namespace, array
dinamis, bersama dengan ekstensi lainnya, dan umumnya fitur fungsi yang sama
dan perlindungan jenis sebagai C #. Ini adalah implementasi hanya seperti yang
juga kompatibel dengan implementasi Pascal yang asli, yang merupakan standar
ISO 7185.
Pada awal
1980-an, UCSD Pascal adalah porting ke Apple II dan Apple III komputer untuk
memberikan alternatif terstruktur untuk penafsir BASIC yang datang dengan
mesin.
Apple
Computer menciptakan sendiri Lisa Pascal untuk Lokakarya Lisa pada tahun 1982
dan porting kompiler ini ke Macintosh Apple dan PU pada tahun 1985. Pada tahun
1985 Larry Tesler, dalam konsultasi dengan Niklaus Wirth, didefinisikan Object
Pascal dan perluasan ini digabungkan baik dalam Pascal Lisa dan Mac Pascal
compiler.
Pada
1980-an Anders Hejlsberg menulis Label Pascal compiler Blue untuk Nascom-2.
Sebuah implementasi ulang ini kompiler untuk PC IBM dipasarkan di bawah nama
Compas Pascal dan PolyPascal sebelum diakuisisi oleh Borland. Berganti nama
Turbo Pascal, menjadi sangat populer, sebagian berkat strategi penetapan harga
yang agresif dan sebagian untuk memiliki salah satu layar penuh pembangunan lingkungan
pertama Terpadu, dan cepat perputaran waktu (hanya detik untuk mengkompilasi,
link, dan lari.) Selain itu, itu ditulis dan sangat dioptimalkan sepenuhnya
dalam bahasa assembly, sehingga lebih kecil dan lebih cepat daripada banyak
kompetisi. Pada tahun 1986 Anders porting Turbo Pascal ke Macintosh dan
dimasukkan Apple Object Pascal ekstensi ke Turbo Pascal. Ekstensi ini kemudian
ditambahkan kembali ke versi PC dari Turbo Pascal untuk versi 5.5. Pada saat
yang sama Microsoft juga menerapkan Object Pascal compiler. [7] [8] Turbo
Pascal 5.5 memiliki pengaruh besar pada masyarakat Pascal, yang mulai
berkonsentrasi terutama pada PC IBM pada akhir 1980-an. Penggemar PC banyak di
cari pengganti terstruktur untuk DASAR menggunakan produk ini. Hal ini juga mulai
diadopsi oleh pengembang profesional. Sekitar waktu yang sama sejumlah konsep
yang diimpor dari C untuk membiarkan Pascal programmer menggunakan C-API
berbasis Microsoft Windows secara langsung. Ekstensi ini termasuk null-string
diakhiri, aritmatika pointer, pointer fungsi, operator alamat-of typecasts dan
tidak aman.
Namun,
Borland kemudian memutuskan ingin lebih rumit fitur berorientasi objek, dan
mulai lebih dalam Delphi menggunakan Object Pascal standar rancangan yang
diusulkan oleh Apple sebagai dasar. (Rancangan Apple masih belum standar
resmi.) Versi pertama dari bahasa Delphi yang sesuai bernama Object Pascal.
Penambahan utama dibandingkan dengan ekstensi OOP yang lebih tua adalah model
referensi obyek berbasis, konstruktor virtual dan destructors, dan properti.
Compiler lain juga menerapkan dialek ini.
Turbo
Pascal, dan turunan lainnya dengan unit atau konsep modul adalah bahasa
modular. Namun, tidak memberikan konsep modul bersarang atau impor berkualitas
dan ekspor simbol tertentu.
Super
Pascal adalah sebuah varian yang ditambahkan non-numerik label, pernyataan
kembali dan ekspresi sebagai nama jenis.
Universitas
Zurich, Karlsruhe dan Wuppertal telah mengembangkan ekstensi untuk Scientific
Computing (Pascal-XSC), yang menyediakan solusi gratis untuk pemrograman
perhitungan numerik dengan presisi dikendalikan.
Bahasa konstruksi
Pascal,
dalam bentuk aslinya, adalah bahasa murni prosedural dan termasuk array
tradisional ALGOL-seperti struktur kontrol dengan kata-kata reserved seperti
jika, kemudian, yang lain, sementara, untuk, dan sebagainya. Namun, Pascal juga
memiliki banyak data penataan sarana dan abstraksi lain yang tidak termasuk
dalam ALGOL, aslinya 60 seperti jenis definisi, catatan, pointer, mantri, dan
set. Konstruksi seperti itu di bagian warisan atau terinspirasi dari Simula 67,
ALGOL 68, sendiri Niklaus Wirth ini ALGOL W dan saran oleh CAR Hoare.
Hello dunia
Program
Pascal mulai dengan kata kunci program dengan daftar deskriptor file eksternal
sebagai parameter [9] (tidak diperlukan dalam Turbo Pascal dll), kemudian
mengikuti blok utama tanda kurung oleh memulai dan mengakhiri kata kunci. Titik
koma pernyataan terpisah, dan berhenti penuh (yaitu, periode) berakhir seluruh
program (atau unit). Kasus Surat diabaikan dalam sumber Pascal.
Berikut
adalah contoh kode sumber yang digunakan untuk program yang sangat sederhana
"Halo dunia":
program HelloWorld(output);
begin
WriteLn('Hello world!')
{no ";" is required after the
last statement of a block -
adding one adds a "null statement"
to the program}
end.
No comments:
Post a Comment