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

Postingan populer dari blog ini

MENGENAL JENIS – JENIS EFEK DI SEBUAH FILM

SISTEM IDEOLOGI MESIR

Program Segitiga Bahasa Python