IMPERATIVE PROGRAMMING
Pengertian Imperative
Programming
Dalam ilmu komputer, imperative programming adalah paradigma
pemrograman yang mempunyai karakteristik berupa status dan insruksi/perintah
untuk mengubah status program. Status diwakili oleh variabel
sedangkan instruksi diwakili oleh statemen. Dalam banyak cara yang sama suasana hati yang
imperatif dalam bahasa-bahasa alamiah mengungkapkan perintah untuk mengambil tindakan, program-program
penting menentukan urutan perintah untuk komputer untuk melakukan.
Ciri-ciri pemrograman imperatif yaitu :
- Adanya instruksi/command/perintah/kalimat-kalimat
perintah contoh : GOTO 10
- Adanya status yang berubah contoh : dengan adanya perintah
GOTO 10 maka status program akan loncat mengerjakan statemen yang ada di line
number 10 Istilah ini digunakan dalam pemrograman deklaratif
bertentangan, yang mengungkapkan apa yang perlu dilakukan, tanpa resep
bagaimana melakukannya dalam hal urutan tindakan yang harus diambil. Pemrograman
fungsional dan logis adalah contoh pendekatan yang lebih deklaratif.
Sejarah Bahasa Imperative
Bahasa imperatif yang paling awal adalah bahasa mesin
komputer yang asli. Dalam bahasa ini,instruksi yang sangat sederhana, yang
membuat implementasi hardware lebih mudah, tetapi menghambat penciptaan program
kompleks. FORTRAN, yang dikembangkan oleh John Backusdi IBM dimulai pada tahun 1954, adalah bahasa
pemrograman besar pertama untuk menghilangkan hambatan-hambatan yang disajikan
oleh kode mesin dalam penciptaan program kompleks. FORTRAN adalah bahasa yang
diizinkan dikompilasi bernama variabel, ekspresi kompleks, subprogram, dan
banyak fitur lain sekarang umum dalam bahasa imperatif. Dua dekade berikutnya melihat
perkembangan sejumlah besar lainnya tinggi tingkat bahasa pemrograman imperatif. Pada
akhir tahun 1950-an dan 1960-an, ALGOL dikembangkan untuk memungkinkan
algoritma matematika menjadi lebih mudah diungkapkan, dan bahkan
menjabatsebagai sistem operasi bahasa target untuk beberapa komputer. COBOL
(1960) dan BASIC(1964) sama-sama mencoba untuk membuat sintaks pemrograman
lebih mirip bahasa Inggris. Pada 1970-an, Pascal dikembangkan
oleh Niklaus Wirth, dan C diciptakan oleh Dennis Ritchie ketika ia bekerja di
Bell Laboratories. Wirth terus desain Modula-2, dan Oberon. Untuk kebutuhan
Amerika Serikat Departemen Pertahanan, Jean Ichbiah dan sebuah tim di Honeywell mulai merancang Ada pada
tahun 1978, setelah tahun 4-proyek untuk menetapkan persyaratan untuk bahasa. Spesifikasi ini
pertama kali diterbitkan pada tahun 1983, dengan revisi pada tahun 1995 dan 2005 / 1980-an
melihat pertumbuhan yang cepat tertarik pada pemrogramanberorientasi objek.
Bahasa ini adalah suatu keharusan dalam gaya, namun menambahkan fitur untuk
mendukung objek. Dua dekade terakhir abad ke-20 melihat perkembangan sejumlah
besar seperti bahasa pemrograman. Smalltalk-80, awalnya dipahami oleh Alan Kay
pada tahun 1969,dirilis pada tahun 1980 oleh Xerox Palo Alto Research Center.
Menggambar dari konsepberorientasi obyek lain bahasa Simula (yang dianggap
pertama di dunia pemrograman berorientasi obyek-bahasa, yang
dikembangkan pada akhir 1960-an)-Bjarne Stroustrup dirancangC + +, sebuah
bahasa berorientasi objek didasarkan pada C. C + + pertama kali dilaksanakanpada
tahun 1985. Pada akhir 1980-an dan 1990-an, yang penting bahasa-bahasa
imperatif menggambar di atas konsep berorientasi obyek adalah Perl, dirilis
oleh Larry Wall pada tahun1987; Python, yang dirilis oleh Guido van Rossum pada
tahun 1990; PHP, dirilis oleh RasmusLerdorf pada tahun 1994; Jawa, pertama kali
dirilis oleh Sun Microsystems pada tahun 1994 danRuby, dirilis pada 1995 oleh
Yukihiro "matz" Matsumoto. Microsoft. NET platform (2002)adalah pada
keharusan inti sebagaimana bahasa target utamanya, VB.NET dan C #.
Variabel dan
Penugasan
Komputer dalam arti yang sederhana adalah sebuah alat
hitung yang penggunaanya berdasarkanperintah-perintah,dan pada awalnya memang
dibuat untuk membantu manusia dalam melakukankalkulasi numerik, sehingga memang
tidak mengejutkan bahwa bahasa pemrograman jugamengadopsi beberapa elemen
tertentu dari aljabar, termasuk di antaranya adalah penggunaanhuruf atau kata
sebagai pengganti angka.Berikut adalah contoh dari beberapa aljabar sederhana:A
= 8B = 5C = A + BDalam hal penggunaanya komputer sudah tersistem dengan rapi
dan dapat dioperasikan secaramudah, dan bagi kita persamaan di atas memang
merupakan persamaan yang sama sekali tidak rumit, tetapi jika kita dapat
membujuk komputer untuk menyelesaikan persamaan di atas, makakita juga dapat
membujuknya untuk menyelesaikan persamaan atau masalah lainnya yang jauhlebih
kompleks. Sebagai langkah pertama, kita akan mencoba untuk melakukan konversi
aljabar di atas ke dalam sintaksis di dalam bahasa C#, dan bentuknya kira-kira
seperti di bawah ini:A = 3;B = 5;C=A+B; Tiga baris kode di atas, tidaklah
membentuk program C# yang komplet, tapi contoh kode di atasdapat ditemukan
dalam program C#, mungkin program yang kita dapat buat sendiri. Kita
bisamenulis kode di atas dengan menggunakan beberapa editor teks(semacam
notepad atauWordPad) hingga menggunakan alat bantu khusus yang didesain untuk
menyederhanakan pemrograman dengan menggunakan bahasa C#, maupun Microsoft
Visual C#Express Edition).Setelah menuliskan kode di atas, maka langkah
selanjutnya yang harus kitalakukan adalah mengubah kode di atas ke dalam bentuk
berkas yang dapat dieksekusi (*.EXE)yang dapat kita jalankan. Perbedaan yang signifikan
antara bentuk pertama (aljabar) dan bentuk kedua (kode dalam bentuk bahasa C#)
adalah bahwa setiap baris di dalam bahasa C# selalu diakhiri dengan menggunakan karakter titik koma
Perintah Tidak
Terstruktur
Adalah awal historis paradigma pemrograman yang mampu
menciptakan Turing-lengkap algoritma. Ini telah diikuti historis oleh
prosedural pemrograman dan pemrograman berorientasi obyek , keduanya
dianggap sebagai pemrograman terstruktur .Pemrograman Tidak terstruktur telah
banyak dikritik karena menghasilkan kode tidak terbaca-("spaghetti")
dan kadang-kadang dianggap sebagai pendekatan yang buruk untuk
membuatproyek-proyek besar, tetapi telah memuji untuk kebebasan itu menawarkan
kepada programer dan telah dibandingkan dengan bagaimana Mozart menulis
musik.Ada baik tinggi dan rendah tingkat bahasa pemrograman yang menggunakan pemrograman
non-terstruktur. Ini termasuk versi awal BASIC(seperti MSX BASIC dan GW-BASIC
), JOSS , FOCAL , gondok , TELCOMP , COBOL , tingkat kode mesin , assembler
awalsistem (tanpa metaoperators prosedural), debugger assembler dan beberapa
bahasa script sepertiMS -DOS batch file bahasa.
Pemrograman
Terstruktur
Pemrograman Terstruktur merupakan suatu teknik yang
memecah masalah besar menjadi lebih kecil dan lebih mudah dipahami
sehingga masalah yang besar dapat diselesaikan denganbaik
Orang pertama
yang mencetuskan ide pemrograman terstruktur adalah
Profesor Edsger W. Dijkstra dari University of Eindhoven, Nederland. Ide
utamanya adalah bahwastatemen GOTO sebaiknya tidak digunakan di dalam
pemrograman terstruktur, sebab bisamembuat program menjadi ruwet. Ide ini ditanggapi oleh HD
Milis, yang beranggapan bahwa pemrograman terstruktur semestinya tidak hanya
dihubungkan dengan tanpa penggunaan GOTO, tetapi yang lebih utamaadalah
struktur program itulah yang menentukan apakah suatu pemrograman terstruktur atautidak.
Ide
pemrograman terstruktur muncul karena jumlah baris
program semakin lama semakinbesar, tentu saja hal ini terjadi karena diinginkan
aplikasi yang lengkap dan lebih berkualitasDengan ide pemrograman terstruktur
diharapkan dapat membantu manajemen sourcecode
(kode program) sehingga program mudah untuk dikelola
bagi kepentingan selanjutnya
Tujuan utama
pemrograman terstruktur adalah : agar program-program
besar menjadilebih mudah ditelusuri alur logikanya, mudah untuk dimodifikasi
(dikembangkan) dan mudahpula untuk ditemukan bagian yang salah ketika program
sedang diuji.
STRUKTUR
KONTROL
Struktur
kontrol / struktur kendali merupakan struktur yang mengendalikan statemen
/instruksi apa saja yang harus dikerjakanAda tiga struktur kontrol pada pemrograman
imperatif yaitu :1. Komposisi Sekuensial2. Seleksi3. Iterasi
1. Komposisi Sekuensial
Digunakan
bilamana lebih dari sebuah statemen yang harus dikerjakan secara berurutanyang
dipisahkan dengan menggunakan simbol/tanda khusus tertentu, misalnya titik koma
(;)dalam PASCAL. Contoh : Readl(N); Write(N);
2. Seleksi
Statemen penyeleksian kondisi menunjukkan bahwa suatu
statemen akan dikerjakan bilasuatu kondisi adalah bernilai benar.Contoh
statemen penyeleksian kondisi : IF ± THEN, CASE OF (Bahasa Pascal)
3. Iterasi
Statemen Iterasi (perulangan) digunakan untuk
memproses statemen-statementertentu berulang kali. Contoh statemen iterasi :
WHILE-DO, REPEAT-UNTIL, FOR-DO(Bahasa Pascal) SUBPROGRAM, PROSEDUR dan
FUNGSISubprogram merupakan blok statemen yang dapat dipanggil dari lokasi yang
berbeda di dalamprogram. Prosedur dan Fungsi adalah suatu program terpisah
dalam blok sendiri yang berfungsisebagai subprogram (program bagian).Yang
membedakan antara Fungsi dan Prosedur yaitu :- Fungsi harus dideklarasikan dengan
tipenya- Suatu Fungsi jika dijalankan/dipanggil akan mengembalikan suatu nilai
Subprogram,Prosedur dan Fungsi
Subprogram
Subprogram merupakan program bagian dengan blok
terpisah dan didalam program utama, dan akan dipanggil pada
program utama jika subprogram itu diperlukan untuk dijalankan. Pada Pascal dikenal 2
Subprogram yaitu :
1.
Procedure
2.
Function
Perbedaan Procedure digunakan untuk subprogram
yang nilai outputnya boleh ada ataupun tidak adatetapi untuk Function nilai
inputnya dan outputnya ada dan dapat dipanggil langsungseperti sebuah variable
sehingga untuk function harus langsung dideklarasikan tipedatanya.Prosedur
merupakan bagian program/sub program/modul
memiliki struktur algoritma yangsama dengan struktur
algoritma yang telah dipelajari
mempunyai ciri :
·
mengerjakan
pekerjaan yang spesifik
·
menghasilkan
suatu efek netto yang dapat dilihat dari perbedaan keadaan awal dankeadaan
akhir
·
dapat
berdiri sendiri/independent dari algoritma utama
keuntungan :
·
mempersingkat
algoritma dengan menghemat penulisan algoritma yang berulang-ulang
·
memudahkan
dalam melakukan penelusuran kesalahan
·
memudahkan
dalam reorganisasi algoritma dan pemecahan masalah
komponen :
·
header
/ bagian judul
·
nama
prosedur dapat ditambahkan komentar sedapat mungkin merupakan kata kerja
·
parameter
masukan, keluaran deklarasi untuk pendefinisian variable,semua variabelyang
didelarasikan hanya dikenali lokal pada prosedur yang bersangkutan
·
deskripsi
untuk penulisan langkah aksi
Penanganan
Eksepsi
adalah sebuah bahasa pemrograman membangun atau
perangkat keraskomputer mekanisme yang dirancang untuk menangani terjadinya
pengecualian,
kondisi khususyang mengubah aliran normal dari program
eksekusiBahasa pemrograman sangat berbeda dalam dukungan untuk penanganan
eksepsi (sebagaipembeda dari pengecekan error yang program aliran normal yang
kode untuk tanggapan terhadapkontinjensi yang merugikan seperti perubahan
keadaan tidak valid atau berakhirnya operasi tidak berhasil dipanggil.) Dalam
beberapa bahasa pemrograman ada fungsi yang tidak dapat denganaman disebut pada
data input tidak valid ... atau fungsi yang mengembalikan nilai yang tidak
dapat dibedakan dari pengecualian. Misalnya di C , yang atau ( ASCII untuk integer
konversi) fungsi dapat kembali 0 ( nol nilai) untuk setiap masukan yang
tidak dapat dipecah menjadi valid suatu. Dalam bahasa seperti
programmer baik harus melakukan pengecekan error (mungkin melalui beberapa variabel
global bantu seperti C's errno ) atau validasi input (mungkin menggunakan ekspresi reguler
).Tingkat dimana validasi eksplisit tersebut dan pengecekan error yang penting
adalah berbeda untuk mendukung exception handling yang disediakan oleh
lingkungan pemrograman yangdiberikan. Hardware exception handling agak berbeda
dengan dukungan yang diberikan olehperangkat lunak, namun konsep yang serupa
dan terminologi yang lazim. Secara umum, pengecualian
ditangani
(diselesaikan) dengan menyimpan kondisi saat eksekusi di tempat yang telah
ditetapkan dan eksekusi beralih ke spesifik subrutin dikenal sebagai
handler pengecualian.
Tergantung pada situasi, pawang kemudian dapat
melanjutkan eksekusi di lokasiasli menggunakan informasi yang disimpan.
Misalnya, kesalahan halaman biasanya akanmemungkinkan program yang akan
dilanjutkan, sementara pembagian dengan nol tidak mungkin diatasi secara transparan. Selama program berjalan,
dapat terjadi sesuatu hal yang menyebabkan error. Misalnya, array diberi nilai index yang
melebihi nilai index yang sudah dideklarasikan, atau suatu operasi aritmatika yang membagi suatu
bilangan dengan nol.
Hal ini dapat mengakibatkan program berhenti tidak
seperti yang diinginkan dan biasanya menampilkan pesan kesalahan yang
tidak jelas. Bahasa pemrograman harus menyediakan fasilitas untuk
mendefinisikan eksepsi, mengenali kemunculan eksepsi dan menentukan kode-kode
apa yang harus dieksekusi ketika eksepsi muncul. Penentuan atas kode-kode apa
yang harusdieksekusi disebut Penanganan Eksepsi (Exception Handling)
Komentar
Posting Komentar