Sunday, December 2, 2012

Tentang Pemrograman


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.
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.


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.
       * 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.

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