Metode Perancangan Program Maria Irmina P
Rule Keterlambatan > 15 menit, absen Suasana kelas 2 kali peringatan, peringatan ke 3 materi dianggap selesai. Handphone silent Penilaian aktifitas di kelas Pengumpulan Tugas tepat waktu Quiz sewaktu-waktu Problem Perkuliahan konfirmasikan dgn dosen Email: maria@unimedia.ac.id
Daftar Pustaka Robertson, Lesley Anne (2003), Simple Program Design: a Step by Step Approach, Edisi ke-4, Course Technology Inc. Satzinger, John W. dan Tore U. Orvik (2000), Object-Oriented Approach: Concepts, Systems Development, and Modeling with UML, Edisi ke-2, Course Technology Inc. Simon Bennett, Steve McRobb and Ray Farmer (2006), “Object oriented System Analysis and Design using UML” third edition, McGraw Hill.
Lihat Kontrak Perkuliahan Komposisi Nilai UTS : 30% UAS : 40% Tugas,dll: 30% Lihat Kontrak Perkuliahan
Materi Pertemuan 1: Perancangan Program Pseudocode Pengantar Algoritma
Perancangan Program Tujuh langkah dasar dalam pengembangan program : Definisi Masalah Outline Solusi Pengembangan outline ke dalam algoritma Melakukan test terhadap algoritma Memindahkan algoritma ke dalam bahasa pemrograman Menjalankan program pada komputer Dokumentasi dan pemeliharaan program
1. Definisi Masalah Pada tahap ini memerlukan pemahaman terhadap permasalah dengan membaca berulang kali sampai dengan mengerti apa yang dibutuhkan. Permasalahan dibagi kedalam tiga komponen: Input / Masukan Output / Keluaran Proses
2. Outline Solusi Setelah permasalahan didefinisikan, permasalahan dapat dibagi kedalam tugas tugas atau langkah langkah yang lebih kecil dan menghasilkan outline solusi Outline solusi awal dapat terdiri dari: Proses utama Subtask utama Struktur Kontrol Variabel dan struktur record Logic utama (mainline)
3. Pengembangan outline ke dalam algoritma Outline solusi pada langkah kedua dikembangkan menjadi algoritma yaitu sebuah set langkah yang menggambarkan tugas yang akan dikerjakan dan urutan pengerjaannya.
4. Melakukan test terhadap algoritma Tujuan utama dari melakukan test terhadap algoritma adalah untuk menemukan kesalahan utama logik sejak awal, sehingga akan lebih mudah diperbaiki. Data test diperlukan untuk melakukan test terhadap algoritma ini.
5. Memindahkan algoritma ke dalam bahasa pemrograman Setelah ke-empat langkah sebelumnya dilakukan, maka pencodingan dapat dimulai dengan menggunakan bahasa pemrograman yang dipilih.
6. Menjalankan program pada komputer Setelah peng-codingan, maka program dapat dijalankan pada komputer. Jika Program sudah didesain dengan baik, maka akan mengurangi tingkat kesalahan dalam melakukan testing program. Langkah ini perlu dilakukan beberapa kali, sehingga program yang dijalankan dapat berfungsi dengan benar
7. Dokumentasi dan pemeliharaan program Dokumentasi melibatkan eksternal dokumentasi (hierarchy chart, algoritma solusi, dan hasil data test) dan internal dokumentasi (coding program) Pemeliharaan program meliputi perubahan yang dialami oleh program (perbaikan ataupun penambahan modul, dll)
Pemrograman Terstruktur (Prosedural) Pengembangan Top Down: Pemrograman akan memulai dari awal permasalahan dan bekerja secara sistematik sampai dengan akhir program. Desain Modular: mengkelompokkan beberapa tugas karena kesamaan fungsinya. Teorema Struktur: memungkinkan menulis program dengan menggunakan tiga struktur dasar yaitu sequence, selection dan repetition
Algoritma ? Algoritma di ambil dari nama seorang ahli matematikan bernama Al-Khwarizmi Algoritma: berisi langkah-langkah yang dibutuhkan untuk menyelesaikan sebuah tugas. Sebuah algoritma harus: Jelas, tepat dan tidak membingungkan Memberikan penyelesaian yang tepat Mempunyai akhir
Pseudocode ? Pseudocode merupakan salah satu cara untuk menuliskan algoritma Karakteristik Pseudocode: Statement / Perintah di tulis dalam bahasa Inggris / Indonesia sederhana Setiap perintah di tulis dalam baris terpisah Keyword digunakan untuk menjelaskan control structure tertentu Setiap set/bagian instruksi memiliki awal dan akhir Pengelompokkan statement bisa membentuk satu modul yang mempunyai nama
Menulis Pseudocode Enam operasi komputer dasar Menerima informasi Menampilkan Informasi Melakukan perhitungan aritmetik Memberikan nilai ke data Membandingkan dan memilih Melakukan pengulangan
1. Menerima Input Sewaktu komputer menerima informasi atau input, maka statement yang biasa digunakan adalah Read, Get, atau Baca Contoh: Read Bilangan Get kode_pajak Baca nama_mahasiswa
2. Menampilkan Informasi Sewaktu komputer menampilkan informasi ataupun output, maka yang biasa digunakan adalah Print, Write, Put, Output, Display atupun Cetak Contoh: Print “Universitas Mutimedia Nusantara” Cetak “Metode Perancangan Program” Output Total
3. Melakukan perhitungan Aritmetika Untuk melakukan operasi aritmetika digunakan pseudocode berikut: + untuk penjumlahan (add) - Untuk pengurangan (subtract) * Untuk perkalian (multiply) / untuk pembagian (divide) () untuk kurung Kata kata Compute, Calculate ataupun hitung juga dapat digunakan Contoh: Add number to total Total = Total + number
4. Memberikan nilai ke data Ada tiga cara untuk memberikan nilai ke dalam data : Memberikan nilai awal, kata Initialise atau set digunakan Memberikan nilai sebagai hasil suatu proses, maka tanda ‘=‘ digunakan Untuk menyimpan suatu nilai maka kata Save, dan store digunakan Contoh: Set Counter to 0 Total = Harga * Jumlah
5. Membandingkan dan memilih Salah satu operasi terpenting yang dapat dilakukan komputer adalah membandingkan dan memilih salah satu alternatif solusi. Keyword yang digunakan : IF, THEN. Dan ELSE Contoh IF Pilih=‘1’ THEN Discount = 0.1 * harga ELSE Discount = 0.2 * harga ENDIF
6. Melakukan pengulangan Jika ada beberapa perintah yang harus diulang, maka dapat digunakan keyword DOWHILE dan ENDDO. Contoh DOWHILE bil < 10 cetak bil bil = bil +1 ENDDO
Teorema Terstruktur Teorema terstruktur memungkinkan untuk menulis program hanya dengan menggunakan tiga struktur kontrol yaitu sequence, selection dan repetition
Sequence Sequence merupakan urutan pengerjaan dari perintah / statement 1 sampai dengan perintah / statement terakhir Sequence dapat digunakan untuk menampilkan empat operasi dasar komputer yang telah dibahas sebelumnya yaitu: menerima informasi, menampilkan informasi, melakukan perhitungan aritmetika dan memberikan nilai
Sequence Contoh: Cetak “Jumlah Mahasiswa” Set Jumlah to 30 Cetak “Tambahan mahasiswa baru” Baca mhs_baru Jumlah = Jumlah + mhs_baru Cetak jumlah
Selection Struktur Kontrol Selection adalah penggambaran sebuah kondisi dan pilihan diantara dua aksi. Statement Pertama akan dikerjakan jika kondisi bernilai benar, jika tidak maka akan mengerjakan perintah setelah else (jika ada)
Selection Contoh : IF JK=1 THEN Cetak “Perempuan” ELSE Cetak “Laki-laki”
Repetition Beberapa statement/perintah dapat diulang dengan menggunakan struktur kontrol repetition. Statement / perintah akan tetap diulang selama kondisi memenuhi (jika menggunakan DOWHILE – ENDDO)
Repetition Contoh: Bintang = 0 DOWHILE bintang < 5 Cetak bintang bintang = bintang + 1 ENDDO
Membuat algoritma Definisi Masalah Untuk melakukan definisi masalah, maka membaca berulang kali permasalahan diperlukan. Pembacaan ini dilakukan sampai dengan mengerti secara penuh apa yang dibutuhkan.
Definisi Masalah Untuk melakukan analisis awal, maka masalah perlu dibagi kedalam tiga komponen yaitu : Input : daftar data yang disediakan untuk menyelesaikan masalah Output : daftar keluaran yang diperlukan Process : daftar aksi yang diperlukan untuk menghasilkan output
Merancang algoritma solusi Setelah melakukan definisi masalah, maka langkah selanjutnya adalah bagaimana merancang algoritma solusi. Untuk merancang algoritma solusi digunakan pseudocode. Dari proses yang ada, maka akan diubah kedalam solusi algoritma, dengan menggunakan pseudocode
Contoh Sebuah program dibutuhkan untuk membaca dua bilangan, menghitung jumlahnya, selisih, hasil kali dan hasil bagi. Hasil perhitungan akan ditampilkan ke layar.
Contoh Definisi masalah Input Proses Output Bil_1 Bil_2 baca bil_1,bil_2 Hitung jumlah Hitung selisih Hitung kali Hitung bagi Cetak jumlah Cetak selisih Cetak kali Cetak bagi Jumlah Selisih Kali Bagi
Contoh Algoritma solusi: program_kalkulator baca bil_1, bil_2 jumlah = bil_1 + bil_2 selisih = bil_1 – bil_2 kali = bil_1 * bil_2 bagi = bil_1 / bil_2 cetak jumlah, selisih, kali, bagi END
Cek Algoritma solusi Setelah algoritma solusi dibuat, maka algoritma tersebut harus di cek untuk mengetahui apakah algoritma solusi yang dirancang sudah benar atau belum. Pengecekan ini biasanya disebut dengan desk checking
Cek algoritma solusi (Desk Checking) Ada 6 langkah mudah untuk melakukan cek terhadap algoritma: Pilih data sederhana yang valid. Dua atau tiga data biasanya sudah mencukupi. Tentukan hasil output yang diharapkan untuk setiap set data. Buatlah tabel dengan nama variabel yang ada pada algoritma di sebuah kertas Jalankan test satu persatu mengikuti algoritma yang ada, mulai dari perintah / statement pertama sampai dengan selesai Ulangi langkah tersebut menggunakan set data yang lain. Cek apakah hasil dari langkah 5, sesuai dengan hasil yang diharapkan di langkah kedua
Contoh Desk Checking: Data input: Data 1 Data 2 Bil_1 10 20 Bil_2 5
Contoh Desk Checking Hasil yang diharapkan: Data 1 Data 2 Jumlah 15 30 Selisih 5 10 Kali 50 200 Bagi 2
Contoh Tabel desk checking
Latihan Lakukan desk checking untuk algoritma berikut: Calculate_mowing_time Prompt operator for block_length, block_width Get block_length,block_width block_area = block_length * block_width Prompt operator for house_length, house_width Get house_length, house_width house_area = house_length * house_width mowing_area = block_area – house_area mowing_time = mowing_area/2 Output mowing_time to screen END
Latihan 2. Calculate_mowing_time Prompt operator for block_length, block_width Get block_length,block_width block_area = block_length * block_width Prompt operator for house_length, house_width Get house_length, house_width house_area = block_length * block_width mowing_area = block_area – house_area mowing_time = mowing_area/2 Output mowing_time to screen END
Masing-masing mempunyai input sbb: First data set Second data set block_length 30 40 block_width 20 house_length house_width 10
Sumber: Robertson, Lesley Anne (2003), Simple Program Design: a Step by Step Approach, Edisi ke-4, Course Technology Inc.