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:
Beberapa teknik lain yang digunakan adalah sebagai
berikut:
·
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
Posting Komentar