Pemrograman Berbasis blok

PEMROGRAMAN BERBASIS BLOCK.

SEJARAH, Ide struktur blok dikembangkan pada tahun 1950 selama pengembangan pertama autocodes , dan diformalkan dalam Algol 58 dan Algol 60 laporan. Algol 58 memperkenalkan konsep dari "pernyataan majemuk", yang terkait semata-mata untuk mengontrol aliran . [1] Revisi Laporan berikutnya yang menggambarkan sintaks dan semantik dari Algol 60 memperkenalkan konsep blok dan blok lingkup , dengan blok yang terdiri dari "A urutan deklarasi diikuti dengan urutan laporan dan tertutup antara mulai dan akhir .. . "di mana" [e] sangat deklarasi muncul di blok dengan cara ini dan hanya berlaku untuk blok itu. " 

Dalam pemrograman komputer , blok atau blok kode adalah bagian dari kode yang dikelompokkan bersama-sama. Blok terdiri dari satu atau lebih deklarasi dan pernyataan . Sebuah bahasa pemrograman yang memungkinkan penciptaan blok, termasuk blok bersarang di dalam blok lainnya, disebut bahasa pemrograman blok-terstruktur. Blok fundamental untuk pemrograman terstruktur , di mana struktur kontrol terbentuk dari blok.

Fungsi dari blok dalam pemrograman adalah untuk memungkinkan kelompok laporan untuk diperlakukan seolah-olah mereka satu pernyataan, dan untuk mempersempitruang lingkup leksikal variabel, prosedur dan fungsi dideklarasikan di blok sehingga mereka tidak bertentangan dengan variabel yang memiliki nama yang sama digunakan di tempat lain dalam program untuk tujuan yang berbeda. Dalam bahasa pemrograman blok-terstruktur, nama-nama variabel dan benda-benda lain seperti prosedur yang dideklarasikan dalam blok luar yang terlihat dalam blok batin lainnya, kecuali mereka dibayangi oleh sebuah objek dengan nama yang sama.

Pemrograman adalah proses menulis, menguji dan memperbaiki (debug), dan memelihara kode yang membangun suatu 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 melakukan pemrograman, diperlukan keterampilan dalam algoritma, logika, bahasa pemrograman, dan pada banyak kasus, pengetahuan-pengetahuan lain seperti matematika.
Pemrograman adalah suatu seni dalam menggunakan satu atau lebih algoritma 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 mengkombinasikan ketiga hal tersebut, agar dapat menciptakan program yang efisien, baik dari sisi saat dijalankan (run time) atau memori yang digunakan.



Pemrograman berorientasi objek (Inggris: object-oriented programming disingkat OOP) merupakan paradigma pemrograman yang berorientasikan kepada objek. Semua data dan fungsi di dalam paradigma ini dibungkus dalam kelas-kelas atau objek-objek. Bandingkan dengan logika pemrograman terstruktur. Setiap objek dapat menerima pesan, memproses data, dan mengirim pesan ke objek lainnya,
Model data berorientasi objek dikatakan dapat memberi fleksibilitas yang lebih, kemudahan mengubah program, dan digunakan luas dalam teknik peranti lunak skala besar. Lebih jauh lagi, pendukung OOP mengklaim bahwa OOP lebih mudah dipelajari bagi pemula dibanding dengan pendekatan sebelumnya, dan pendekatan OOP lebih mudah dikembangkan dan dirawat.

SINTAKS
 Blok menggunakan sintaks yang berbeda dalam bahasa yang berbeda. Dua keluarga luas adalah:
·         yang ALGOL keluarga di mana blok yang dipisahkan oleh kata kunci " begin " dan " end "
·         yang C keluarga di mana blok yang dipisahkan oleh kurung kurawal - " { " dan " } "
Beberapa teknik lain yang digunakan adalah sebagai berikut:
·         kurung - " ( " dan " ) ", seperti dalam bahasa bets dan ALGOL 68 .
·         lekukan , seperti di Python
·         s-ekspresi dengan kata kunci sintaksis seperti lambda atau let (seperti dalam Lisp keluarga)
·         Pada tahun 1968 (dengan ALGOL 68 ), kemudian di Edsger W. Dijkstra 's 1974 Dijaga Command Bahasa blok kode kondisional dan berulang yang alternatif diakhiri dengan kata blok milik terbalik: misalnya if ~ then ~ elif ~ else ~ fi , case ~ in ~ out ~ esac dan for ~ while ~ do ~ od

SEMANTIC DASAR
 Makna semantik dari blok ada dua. Pertama, ia menyediakan programmer dengan cara untuk menciptakan struktur sewenang-wenang besar dan kompleks yang dapat diperlakukan sebagai unit. Kedua, memungkinkan programmer untuk membatasi ruang lingkup variabel dan terkadang benda-benda lain yang telah dinyatakan.
Dalam bahasa primitif seperti awal Fortran dan BASIC , ada beberapa built-in jenis pernyataan, dan sedikit atau tidak ada sarana untuk memperluas mereka dengan cara yang terstruktur. Misalnya, sampai tahun 1978 Fortran standar tidak memiliki "block jika" pernyataan, sehingga untuk menulis kode standar-sesuai untuk melaksanakan keputusan sederhana programmer harus resor untuk gotos :
 C BAHASA: ANSI STANDARD FORTRAN 66
 C menginisialisasi NILAI UNTUK DIHITUNG
       PAYSTX =.  SALAH.
       PAYSST =.  SALAH.
       PAJAK = 0,0
       SUPTAX = 0,0
 C SKIP pemotongan pajak JIKA KARYAWAN mendapatkan KURANG DARI THRESHOLD PAJAK
       IF (UPAH. LE. TAXTHR) GOTO 100
       PAYSTX =.  BENAR.
       PAJAK = (UPAH - TAXTHR) * BASCRT
 Pengurangan C SKIP supertax JIKA KARYAWAN mendapatkan KURANG DARI THRESHOLD supertax
       IF (UPAH. LE. SUPTHR) GOTO 100
       PAYSST =.  BENAR.
       SUPTAX = (UPAH - SUPTHR) * Suprat
   100 dikenakan pajak = UPAH - PAJAK - SUPTAX
Bahkan dalam fragmen Fortran sangat singkat ini, ditulis dengan Fortran 66 standar, tidak mudah untuk melihat struktur program, karena struktur yang tidak tercermin dalam bahasa. Tanpa penelitian yang cermat tidak mudah untuk melihat keadaan di mana pernyataan yang diberikan dijalankan.
Blok memungkinkan programmer untuk memperlakukan sekelompok pernyataan sebagai satu unit, dan nilai-nilai default yang harus muncul dalam inisialisasi dalam gaya ini pemrograman dapat, dengan struktur blok, ditempatkan lebih dekat dengan keputusan:
     {Bahasa: Jensen dan Wirth Pascal}
     jika upah> tax_threshold kemudian
         mulai
         paystax: = true;
         Pajak: = (upah - tax_threshold) * TAX_RATE
         {Struktur blok membuat lebih mudah untuk melihat bagaimana kode bisa
 refactored untuk kejelasan, dan juga membuat lebih mudah untuk dilakukan,
 karena struktur kondisional batin dapat dengan mudah dipindahkan
 keluar dari bersyarat luar sama sekali dan efek melakukan
 sehingga mudah diprediksi.  }
         jika upah> supertax_threshold kemudian
             mulai
             pays_supertax: = true;
             supertax: = (upah - supertax_threshold) * supertax_rate
             akhir
         lain mulai
             pays_supertax: = false;
             supertax: = 0
             akhir
         akhir
     lain mulai
         paystax: = false;  pays_supertax: = false;
         Pajak: = 0;  supertax: = 0
         berakhir;
     pajak: = upah - pajak - supertax;
Penggunaan blok di fragmen di atas Pascal memungkinkan programmer untuk lebih jelas tentang apa yang dia bermaksud, dan untuk menggabungkan blok yang dihasilkan dalam hirarki bersarang pernyataan bersyarat. Struktur kode mencerminkan pemikiran programmer lebih dekat, sehingga lebih mudah untuk memahami dan memodifikasi.
Dari melihat kode di atas programmer dapat dengan mudah melihat bahwa dia bisa membuat kode sumber bahkan lebih jelas dengan mengambil bagian dalam jika pernyataan dari satu luar sama sekali, menempatkan dua blok satu demi satu akan dieksekusi secara berurutan. Semantik ada sedikit perbedaan dalam hal ini, dan penggunaan struktur blok, didukung oleh indentasi untuk dibaca, membuatnya mudah bagi programmer untuk refactor kode.
Dalam bahasa primitif, variabel memiliki ruang lingkup yang luas. Sebagai contoh, sebuah variabel integer disebut IEMPNO mungkin digunakan dalam salah satu bagian dari subroutine Fortran untuk menunjukkan jumlah karyawan jaminan sosial (SSN), tapi selama pekerjaan pemeliharaan pada subroutine yang sama, seorang programmer mungkin sengaja menggunakan variabel yang sama, IEMPNO, untuk tujuan yang berbeda, dan ini bisa mengakibatkan bug yang sulit untuk melacak. Blok struktur memudahkan programmer untuk mengontrol ruang lingkup ke tingkat menit.
 ;;  Bahasa: R5RS Standard Skema
 (Biarkan ((empno (SSN-karyawan-nama)))
   (Sementara (adalah manajer empno)
     (Biarkan ((karyawan (length (bawahan-of empno))))
       (Printf "~ memiliki ~ a karyawan yang bekerja di bawah dia: ~%" karyawan-nama karyawan)
       (Untuk-masing
         (Lambda (empno)
           ;;  Dalam ekspresi lambda ini variabel empno mengacu ssn yang
           ;;  dari bawahan.  Variabel empno dalam ekspresi luar,
           ;;  mengacu ssn manajer, dibayangi.
           (Printf "Nama: ~ a, peran: ~ a ~%"
                   (Nama-of empno)
                   (Peran-of empno)))
         (Bawahan-of empno)))))
Dalam contoh di atas Skema fragmen, empno digunakan untuk mengidentifikasi kedua manajer dan bawahan nya masing-masing sebesar ssn masing-masing, tetapi karena ssn bawahan dinyatakan dalam blok batin itu tidak berinteraksi dengan variabel dengan nama yang sama yang berisi manajer ssn. Dalam prakteknya, pertimbangan kejelasan mungkin akan menyebabkan programmer untuk memilih nama variabel yang berbeda, tetapi dia memiliki pilihan dan lebih sulit untuk memperkenalkan bug secara tidak sengaja.



Sumber :
https://en.wikipedia.org/wiki/Block_(programming)

https://id.wikipedia.org/wiki/Pemrograman_berorientasi_objek

Komentar

Postingan populer dari blog ini

AQIDAH, SYARIAH, AKHLAK

Soal Tentang PHP