tugas 1

8
Bagaimana Anda menulis sebuah program komputer? Bagian I menjawab pertanyaan ini, tetapi mengambil semua dari Bagian Ito menjawabnya sepenuhnya. Belajar sintaks Pascal, meskipun penting, bukan Tujuan utama dari kursus pertama dalam pemrograman. Sebuah bahasa komputer dapat dengan mudah belajar, serta laporan dan aturan Turbo Pascal secara menyeluruh dijelaskan dalam Bagian H. Apa siswa pemrograman awal harus menekankan adalah cukup sederhana how dari pemrograman: bagaimana mengembangkan solusi tersebut ke masalah yang diberikan, bagaimana mengatur sebuah program, dan bagaimana untuk membuat penggunaan efektif dari teknik-teknik standar yang mewakili "trik" of perdagangan. SEJARAH DAN DASAR PEMIKIRAN Sebuah program komputer hanyalah sebuah set instruksi yang mengarahkan komputer di perusahaan perhitungan dan pergerakan data. Selama tahun 1950 dan 1960-an, bagaimanapun, sedikit orang benar-benar berpikir tentang pertanyaan mengembangkan metode umum untuk mengorganisir Program. Sebaliknya, program ditulis banyak seperti Anda mungkin, dari atas Anda kepala, memberikan instruksi seseorang tentang cara mengganti ban atau, lebih buruk, membangun rumah. Ketika sebuah program tidak bekerja, itu hanya "ditambal" (tetap), kesalahan dengan kesalahan, sampai programmer merasa bahwa ia telah menemukan mereka semua. Biasanya, bagaimanapun, kesalahan terus muncul bahkan setelah program ini dirilis untuk digunakan. Seperti pendekatan untuk pemrograman ditoleransi pada generasi pertama dan kedua komputer (sampai sekitar 1964). Namun, dengan munculnya generasi ketiga selama tahun 1960 tengah dan akhir, perangkat keras menjadi lebih kuat daripada perangkat lunak yang berlari itu. "Hit-and-miss" pendekatan untuk pemrograman tidak bisa mengimbangi. Untuk mendapatkan manfaat penuh dari seperti komputer generasi ketiga sebagai IBM System/360, sistem operasi dan, untuk beberapa aplikasi, bahkan program individu harus berisi ribuan instruksi, sering ditulis oleh banyak orang yang berbeda. Tidak ada pendekatan sistematis untuk organisasi program yang telah dikembangkan untuk menangani tugas-tugas sebesar itu. Hasilnya disebut "krisis perangkat lunak" dalam konferensi NATO bersidang untuk mengatasi masalah ini. 'Dua "cerita horor" menggambarkan hal ini. Salah satu contohnya adalah sistem operasi yang dikembangkan IBM untuk System/360. Disebut OS/360, biaya ratusan juta dolar untuk mengembangkan, adalah lebih dari satu tahun terlambat, dan berisi ribuan kesalahan. Setelah banyak rilis, ratusan kesalahan mungkin masih

Upload: av-ri

Post on 21-May-2015

74 views

Category:

Documents


4 download

DESCRIPTION

tugas pemrograman terstruktur semester 2

TRANSCRIPT

Page 1: Tugas 1

Bagaimana Anda menulis sebuah program komputer? Bagian I menjawab pertanyaan ini, tetapi mengambil semua dari Bagian Ito menjawabnya sepenuhnya. Belajar sintaks Pascal, meskipun penting, bukan Tujuan utama dari kursus pertama dalam pemrograman. Sebuah bahasa komputer dapat dengan mudah belajar, serta laporan dan aturan Turbo Pascal secara menyeluruh dijelaskan dalam Bagian H. Apa siswa pemrograman awal harus menekankan adalah cukup sederhana how dari pemrograman: bagaimana mengembangkan solusi tersebut ke masalah yang diberikan, bagaimana mengatur sebuah program, dan bagaimana untuk membuat penggunaan efektif dari teknik-teknik standar yang mewakili "trik" of perdagangan.

SEJARAH DAN DASAR PEMIKIRANSebuah program komputer hanyalah sebuah set instruksi yang mengarahkan

komputer di perusahaan perhitungan dan pergerakan data. Selama tahun 1950 dan 1960-an, bagaimanapun, sedikit orang benar-benar berpikir tentang pertanyaan mengembangkan metode umum untuk mengorganisir Program. Sebaliknya, program ditulis banyak seperti Anda mungkin, dari atas Anda kepala, memberikan instruksi seseorang tentang cara mengganti ban atau, lebih buruk, membangun rumah. Ketika sebuah program tidak bekerja, itu hanya "ditambal" (tetap), kesalahan dengan kesalahan, sampai programmer merasa bahwa ia telah menemukan mereka semua. Biasanya, bagaimanapun, kesalahan terus muncul bahkan setelah program ini dirilis untuk digunakan.

Seperti pendekatan untuk pemrograman ditoleransi pada generasi pertama dan kedua komputer (sampai sekitar 1964). Namun, dengan munculnya generasi ketiga selama tahun 1960 tengah dan akhir, perangkat keras menjadi lebih kuat daripada perangkat lunak yang berlari itu. "Hit-and-miss" pendekatan untuk pemrograman tidak bisa mengimbangi. Untuk mendapatkan manfaat penuh dari seperti komputer generasi ketiga sebagai IBM System/360, sistem operasi dan, untuk beberapa aplikasi, bahkan program individu harus berisi ribuan instruksi, sering ditulis oleh banyak orang yang berbeda. Tidak ada pendekatan sistematis untuk organisasi program yang telah dikembangkan untuk menangani tugas-tugas sebesar itu. Hasilnya disebut "krisis perangkat lunak" dalam konferensi NATO bersidang untuk mengatasi masalah ini. 'Dua "cerita horor" menggambarkan hal ini.

Salah satu contohnya adalah sistem operasi yang dikembangkan IBM untuk System/360. Disebut OS/360, biaya ratusan juta dolar untuk mengembangkan, adalah lebih dari satu tahun terlambat, dan berisi ribuan kesalahan. Setelah banyak rilis, ratusan kesalahan mungkin masih tetap ketika System/370 diperkenalkan.

Dalam seluruh sistem, hanya 21 kesalahan yang ditemukan selama lima minggu pengujian penerimaan, dan hanya 25 kesalahan tambahan ditemukan selama tahun pertama operasi sistem. Selain itu, disampaikan di bawah anggaran dan lebih cepat dari jadwal. " Kontras statistik ini dengan yang disebutkan sebelumnya untuk pengembangan sistem operasi IBM OS/360 dan output rata-rata keseluruhan per programmer per hari.

Hasil ini mengejutkan komunitas pemrograman. Pengembang perangkat lunak mulai memperhatikan apa yang dikatakan Dijkstra dan menulis. Pada pertengahan sampai akhir-1970, pemrograman terstruktur telah digunakan untuk segala sesuatu dari komputer rumah untuk proyek pertahanan jutaan dolar. IBM tentu menjadi percaya. Mills, IBM Kepala programmer pada proyek New York Times, mengatakan, "Saya terkejut diriku seberapa besar dampak proyek dibuat. Itu seolah-olah dunia sedang menunggu sesuatu seperti itu terjadi. Kami [sekarang] menggunakannya [pemrograman terstruktur] di IBM di seluruh perusahaan. Hampir tidak ada yang dapat bertahan hidup tanpa itu. "' Memang, pemrograman terstruktur telah disebut "revolusi dalam programmingi ' dan "salah satu kemajuan yang paling penting dalam perangkat lunak komputer dari dua terakhir Desember-ades. "'Ini bukan untuk mengatakan, bagaimanapun, bahwa kebiasaan lama dengan mudah. Banyak yang belajar Program sebelum bekerja Dijkstra sepakan konsep bahkan hari ini. Jim Horning, computer ilmuwan di Xerox Palo Alto Research Center menjelaskan, "Ada beberapa orang

Page 2: Tugas 1

di laboratorium ini yang membaca segala sesuatu yang dia [Dijkstra] menulis dan sangat berterima kasih untuk itu, dan ada orang lain yang tidak akan bersedia untuk memiliki dia datang mengunjungi kami. Dia cenderung polarisasi people.s10 Namun demikian, kedua akademisi dan industri yang beralih lebih dan lebih ke philosophy dan teknik pemrograman terstruktur. "Hari ini adalah aman untuk mengatakan bahwa virtually semua praktisi [dari seni pemrograman] setidaknya mengakui manfaat disiplin [pemrograman terstruktur], dan sebagian besar prakteknya secara eksklusif. ""Siswa menggunakan buku ini akan baik-disarankan untuk berkomitmen untuk pendekatan ini, belajar dengan baik, dan menerapkannya secara konsisten dalam setiap program yang mereka tulis.

KEUNTUNGAN TERSTRUKTUR PEMROGRAMANSecara umum, alamat pemrograman terstruktur dan untuk sebagian besar

memecahkan masalah kompleksitas dalam pemrograman komputer. Namun, dalam pandangan sebelumnya, bukan diskusi panjang tentang beberapa masalah spesifik yang telah terjadi di masa lalu, menguntungkan pada saat ini untuk daftar ringkasan yang lebih rinci dari keuntungan yang didapat oleh teknik pemrograman terstruktur. Mereka semua merupakan akibat langsung dari konsep keseluruhan subdivisi atau modularitas baik dalam analisis masalah dan struktur program.

1. Program lebih mudah dan lebih cepat ditulis. Tugas pemrograman besar tidaktetap tugas pemrograman besar. Mereka dipecah cukup jauh bahwa setiap subtask mudah untuk program sebagai unit terpisah.2. Program memiliki keandalan yang lebih besar. Kesalahan jauh lebih sedikit organisasi dan logis terjadi pada tahap awal pengembangan program dan menulis.3. Program membutuhkan sedikit waktu untuk debug dan menguji. Hal ini benar, pertama, karena kesalahan sedikit dibuat dalam menulis program. Namun, modularitas juga membuat lebih cepat untuk melokalisasi dan memperbaiki kesalahan-kesalahan yang memang terjadi. Sulitnya debugging program meningkat jauh lebih cepat daripada ukurannya. Artinya, jika salah satu Program ini dua kali ukuran yang lain, maka akan cenderung tidak mengambil dua kali lebih lama untuk debug, tapi mungkin empat kali lebih lama. Banyak program yang sangat besar (seperti sistem operasi) yang mulai digunakan masih mengandung bug yang programer telah putus asa untuk menemukan. be- menyebabkan kesulitan tampak tidak dapat teratasi. Kadang-kadang proyek-proyek yang telah dikonsumsi tahun usaha harus dibuang karena tidak mungkin untuk menemukan mengapa mereka tidak akan bekerja. Prinsip-prinsip pemrograman terstruktur menghilangkan banyak kesulitan dalam program debugging, sehingga menghindari bencana tersebut.4. Program lebih mudah untuk mempertahankan. Sebagai program dan sistem yang digunakan, sering perlu muncul untuk mengubah mereka, baik dengan membuat perubahan atau penambahan fitur baru. Informal survei menunjukkan bahwa menulis, debugging, dan pengujian program mengkonsumsi kurang darisetengah dari upaya pemrograman keseluruhan diinvestasikan dalam proyek tersebut. Lebih dari setengah dari ini upaya menyeluruh masuk ke dalam program maintenance. Dengan program terstruktur, tugas ini menjadi lebih mudah, terutama untuk orang lain selain programmer aslinya. Ada beberapa alasan untuk ini: Pertama, program ini lebih mudah dibaca, yaitu, logika terorganisir dengan baik, program modular jauh lebih mudah untuk mengikuti. Oleh karena itu, salah satu lebih cepat dapat menemukan bagaimana dan di mana untuk membuat perubahan yang dibutuhkan. Sejak mod- ules terpisah, unit-unit independen, modul lama hanya diganti dengan yang baru modul. Tidak ada lagi satu perubahan memerlukan banyak perubahan lain melalui-keluar seluruh program. Kedua, menambahkan fitur baru atau kemampuan untuk program menjadi semudah menambahkan modul baru ke suprastruktur sudah tersedia.Hasil kumulatif dari semua keuntungan ini lebih besar secara keseluruhan programmer pro-produktivitas. Pada hari-hari awal pemrograman komputer, itu perlu untuk menggunakan banyak trik pintar mungkin untuk meminimalkan penggunaan memori dan mengoptimalkan waktu CPU. Demikian coding umumnya jelas dan sekarang disebut kode pintar. Namun, program efisiensi-

Page 3: Tugas 1

efisiensi biasanya berbanding terbalik dengan pembacaan Program. Untuk mendapatkan program yang digunakan "kode pintar" untuk bekerja tepat di tempat pertama adalah cukup sulit dan waktu-consum-ing, untuk membaca atau memodifikasi program orang lain hampir mustahil. Tapi dalam hari-hari awal, waktu programmer lebih murah daripada waktu CPU. Namun, dengan hardwarekemajuan, ruang memori tidak lagi masalah, dan waktu telah menjadi programmer jauh lebih mahal daripada waktu CPU. Penekanan hari ini, oleh karena itu, harus di-max.

STRUKTUR KONTROL tidak berulangSetiap struktur kontrol yang tersedia dalam Pascal sekarang dijelaskan secara

rinci. Flowchart dan contoh Pascal disertakan. Namun, karena loop agak rumit, mereka diperlakukan secara terpisah di bagian berikutnya. Tiga item yang termasuk dalam presentasi dari setiap struktur pengendalian: flowchart umum atau generik, suatu diagram alir untuk contoh aktual, dan kode Pascal misalnya bahwa. Ingat bahwa bab ini terutama berkaitan dengan sifat umum dari struktur kontrol, tidak dengan sintaks Pascal. Baca pasal 18 di Bagian II bersamaan dengan bab ini. Ini berisi diskusi penuh sintaks dari pernyataan kontrol terstruktur yang digunakan untuk menerapkan struktur kontrol dalam kode Pascal.

The URUTAN Struktur KontrolStruktur pengendalian URUTAN adalah yang paling mudah untuk memahami.

Ini merupakan eksekusi sekuensial dan diimplementasikan dalam Pascal melalui pernyataan majemuk. Eksekusi jalur dijelaskan oleh struktur pengendalian ini adalah garis lurus. Flowchart umum diberikan pada contoh khusus, yang dikodekan dalam Pascal sebagai berikut:

PROGRAM EXAMPLE_SEQUENCE (INPUT, OUTPUT);VAR A, B, C, D: REAL;BEGINReadln (A, B, C);D - A + (B + C);Writeln (D)END.

KARAKTERISTIK KONTROL STRUKTURSebelum membahas setiap struktur pengendalian secara rinci, dua karakteristik

yang sangat penting dari semua struktur kontrol harus diamati. Masing-masing sifat ini memainkan peran penting dalam.

PENGENDALIAN NAMA STRUKTUR Tujuan dari bagian ini adalah untuk nama berbagai struktur kontrol yang tersedia

dalam Pascal dan laporan kontrol terstruktur dengan yang mereka diimplementasikan. Setelah bagian ini, sisa bab ini menggambarkan setiap struktur kontrol dalam detail.

Seperti yang Anda pelajari pada bagian sebelumnya, struktur kontrol bahasa-tergantung. Dengan demikian, setiap struktur pengendalian memiliki nama generik yang, secara umum, juga bahasa independen. Oleh karena itu, jika struktur pengendalian tertentu diimplementasikan dalam mengingat bahasa, nama pernyataan dalam bahasa yang mungkin tidak sama dengan ge-Nama neric. Ini tidak ada masalah, meskipun, karena mereka biasanya cukup dekat, dan kadang-kadang bahkan sama. Sebagai contoh, FOR-DO struktur pengendalian adalah negara-DOpemerintah dalam FORTRAN dan FOR pernyataan dalam BASIC dan Pascal. Juga, DO-WHILE struktur pengendalian diimplementasikan dalam Pascal melalui

Page 4: Tugas 1

pernyataan WHILE.Sekarang, lalu, apa berbagai struktur kontrol? Nama generik untuk struktur

pengendalian belum sepenuhnya standar, tetapi enam struktur yang telah dilaksanakan di Pascal biasanya bernama, sebagai berikut: (1) URUTAN, (2) SELEKSI (juga disebut IF-THEN-ELSE, IF-THEN Struktur adalah kasus khusus dari struktur pengendalian SELECTION), (3) DO-WHILE, (4) DO-UNTIL (juga disebut PERFORM-UNTIL atau REPEAT-UNTIL), (5) FOR-DO (juga disebut ITERATIF-DO) , dan (6) SELECT-CASE (juga disebut ON-A-PERFORM). Struktur lain ada, tetapi mereka tidak secara langsung dilaksanakan oleh pernyataan Pascal '.

Jika enam struktur kontrol diimplementasikan dalam Pascal, mengapa Pascal memiliki tujuh pernyataan kontrol terstruktur? Jawabannya adalah bahwa DENGAN pernyataan adalah sedikit dari sebuah anomali. Ini adalah pernyataan kontrol terstruktur, tetapi seperti lebih mudah pernyataan majemuk, Ini juga merupakan struktur pengendalian URUTAN. Satu-satunya perbedaan antara dua pernyataan adalah bahwa pernyataan DENGAN memungkinkan komponen-nya laporan menetap untuk menjatuhkan nama variabel rekaman ketika mengakses bidang dalam yangrecord. Ini secara efektif bentuk khusus dari pernyataan majemuk dan dibahas lebih lanjut dalam.

Nama-nama Pernyataan Pascal untuk struktur kontrol sebelumnya adalah sebagai berikut:Generik Nama Pascal PernyataanPernyataan Senyawa URUTANSELEKSI JIKA pernyataanFOR-DO UNTUK pernyataanDO-WHILE WHILE pernyataanDO-UNTIL Pernyataan REPEATPernyataan KASUS SELECT-CASEMenurut definisi, masing-masing struktur kontrol merupakan salah satutiga jenis dasar eksekusi. Oleh karena itu, mereka dapat dikelompokkan sebagai berikut:Arus Sequential Bersyarat Arus berulang ArusURUTAN SELEKSI-DOSELECT-CASE-DO WHILEDO-UNTILSemakin banyak struktur kontrol yang tersedia dalam bahasa pemrograman tertentu, semakinkuat bahwa bahasa adalah untuk menulis program. Pascal adalah salah satu lebih kuat bahasa dalam hal ini.

Sifat Laporan TerstrukturMenurut definisi yang diberikan di awal bab ini, pernyataan terstruktur adalah con-structed dengan menggunakan pernyataan lain sebagai kulit hitam bangunan. Selain itu, terstruktur negara-pemerintah menentukan cara di mana laporan komponen dijalankan.A Pernyataan terstruktur, oleh karena itu, mengatur dua hal. Pertama, mengatur laporanyang itu terdiri. Ini jelas: karena setiap pernyataan terstruktur terdiri daripernyataan lain, itu merupakan cara tertentu untuk menempatkan laporankeuangan tersebut bersama-sama. Sec-ond, karena menentukan cara di mana mereka dieksekusi (berurutan, kondisi-tionally, atau berulang-ulang), pernyataan terstruktur juga mengatur aliran kontrol dalam program.Dua kesimpulan sekarang dapat ditarik sehubungan dengan laporan terstruktur:1. Sebuah pernyataan terstruktur juga harus menjadi pernyataan kontrol, tidak ada hal seperti itu sebagai pernyataan non-kontrol terstruktur.Alasannya cukup sederhana. Karena pernyataan terstruktur menentukan cara di mana laporan komponen dijalankan, itu tentu mempengaruhi aliran kontrol melalui laporan keuangan tersebut dan karena itu adalah pernyataan kontrol.2. Sebuah pernyataan terstruktur adalah cara untuk menerapkan struktur pengendalian di tingkat tinggi bahasa.

Page 5: Tugas 1

bagan loop harus diterjemahkan ideomatik daripada harfiah. Dengan kata lain, lakukan tidak membangun loop dengan pernyataan IF dan GOTO pernyataan-pernyataan yang menggunakan telah dirancang untuk kontrol loop otomatis dan dengan pemrograman terstruktur dalam pikiran.

Sekarang perhatikan pseudocode. Menerjemahkan pseudocode ke Pascal tidak menimbulkan masalah apa pun. Pseudocode dirancang dengan pernyataan kontrol terstruktur dalam pikiran. Program sebelumnya akan ditulis dalam pseudocode sebagai berikut:

BEGIN bagian kontrol utamaSetK = 1DOWHILE K s 5Baca ACetak (A * A)SetK = K +1 EndDoEND bagian kontrol utamaMeskipun masalah menerjemahkan diagram alur ke dalam kode Pascal, mereka

memberikan demonstrasi sangat grafis dari struktur kontrol dipelajari dalam bab ini. Oleh karena itu, dalam penjelasan struktur kontrol pada umumnya dan statments kontrol terstruktur Pascal pada khususnya, diagram alur secara rutin digunakan.

DEFINISI DARI STRUKTUR PENGENDALIANKita telah melihat bahwa blok bangunan dari sebuah modul dan, karena itu,

sebuah program adalahpernyataan individu tersedia dalam bahasa tingkat tinggi yang digunakan. Apacara yang berbeda blok bangunan ini dapat disatukan untuk membentuk modul?

Ada beberapa aspek untuk pertanyaan ini, dan yang terbaik adalah memperlakukan mereka secara terpisah.