Senin, 28 Februari 2011

Algoritma

 Algoritma


Algoritma merupakan langkah-langkah logis secara urut untuk menyelesaikan masalah
Algoritma digunakan untuk membantu seseorang dalam menyelesaikan suatu masalah berdasarkan pola pikir masing-masing
Ciri-ciri algoritma  :
Ada input
Ada output
Ada proses
Memiliki instruksi-instruksi yang jelas dan tidak ambigu
Harus mempunyai stopping role

Tidak menggunakan simbol atau sintaks dari suatu bahasa pemrograman
Tidak tergantung pada bahasa pemrograman
Notasi-notasinya dapat digunakan untuk seluruh bahasa manapun

1.Algoritma untuk memasak mie :
Rebus air hingga mendidih
Masukkan mie instan ke dalam rebusan air
Tunggu beberapa saat hingga mie telah matang
Angkat mienya
Tiriskan
Campurkan bumbu-bumbunya
Aduk hingga bumbu dan mie merata
2. Algoritma untuk menghitung luas persegi panjang
Masukkan panjang
Masukkan lebar
Hitung hasil perkalian panjang dengan lebar
Tampilkan luas

Pseudo-code merupakan kode atau tanda yang menyerupai (pseudo) cara menyelesaikan suatu masalah dan  umumnya digunakan untuk menuliskan algoritma. Pseudo-code hampir menyerupai dengan bahasa pemrograman. Pseudo-code biasanya menggunakan bahasa yang mudah dipahami secara universal dan lebih ringkas dibandingkan dengan algoritma.
 
Pertanyaan:
Buat Algoritma untuk 
1. Aktifitas dari anda berangkat dari rumah hingga sampai di rumah untuk kegaitan sehari-hari anda.
2.Aktiftas dari mulai kuliah hingga anda mendapatkan nilai

Selasa, 22 Februari 2011

Pendekatan Top Down

Pemrograman terstruktur mempergunakan Pendekatan Top-Down dalam perencanaan program
Merupakan pendekatan yang menggambarkan pemecahan modul kompleks/besar menjadi modul-modul yang lebih sederhana/kecil Berbentuk Struktur Hirarki

    Di dalam pemrograman terstruktur, terdapat 3 bentuk struktur perintah yang dipergunakan :
Sequence Structure
Loop Structure
Selection Structure

Struktur perintah yang instruksinya dieksekusi berdasarkan urutannya. Dimulai dari bagian atas dan diakhiri di bagian bawahnya
Digambarkan dengan bujur sangkar, sebagai simbol untuk :
Input dan Output
Operasi aritmatika
Operasi pemindahan data dalam memori komputer
Menggambarkan perulangan eksekusi dari satu atau lebih instruksi
Menggambarkan struktur yang mengeksekusi suatu instruksi hanya apabila kondisinya terpenuhi.

Algoritma merupakan sekumpulan langkah-langkah untuk menyelesaikan suatu tugas
Penamaan “Algoritma” diambil dari seorang ahli matematika bernama Al-Khwarizmi
Sebuah algoritma harus:
Jelas, tepat dan tidak membingungkan
Memberikan penyelesaian yang tepat
Mempunyai akhir


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
Pada tahap ini memerlukan pemahaman terhadap permasalahan dengan membaca berulang kali sampai dengan mengerti apa yang dibutuhkan.

Permasalahan dibagi kedalam tiga komponen: Input / Masukan
Output / Keluaran
Proses

        Setelah permasalahan didefinisikan, permasalahan dapat di bagi kedalam tugas tugas atau langkah langkah yang lebih kecil dan menghasilkan outline solusi

    Outline solusi pada langkah kedua dikembangakan menjadi algoritma yaitu sebuah set langkah yang menggambarkan tugas yang akan dikerjakan dan urutan pengerjaannya.

Tujuan utama dari melakukan test terhadap algoritma adalah adalah untuk menemukan kesalahan utama logika sejak awal, sehingga akan lebih mudah diperbaiki.
Data test diperlukan untuk melakukan test terhadap algoritma ini.

        Setelah ke-empat langkah sebelumnya dilakukan, maka pencodingan dapat dimulai dengan menggunakan bahasa pemrograman yang dipilih.

Setelah pengcodingan, 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

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)

Pertanyaan :

1. Jelaskan perbedaan antara pendekatan modular dengan pendekatan Top Down ?
2.Berikan contoh masalah yang berhubungan dengan input, proses dan output?

Jumat, 11 Februari 2011

Materi kuliah perdana

PENGANTAR PEMROGRAMAN TERSTRUKTUR
Pendahuluan
Pada era tahun 1950 –1960, kecepatan komputer sangat rendah dan disertai juga dengan
keterbatasan dari media penyimpan, sehingga tentunya berakibat juga dengan keterbatasan dalam
penulisan program-program komputer. Namun di era saat ini, dengan kecepatan komputer yang
cukup handal demikian juga ketersediaan dari media penyimpan yang cukup handal dan besar,
serta didukung juga dengan perkembangan bahasa pemrograman yang ada sehingga kita dapat
dengan mudah membuat suatu program. Permasalahan yang timbul dalam pembuatan program
tersebut adalah bagaimana kita dapat memahaminya, sehingga apabila terdapat perubahan yang
akan dilakukan kita dapat memperbaikinya secara mudah. Hal ini tentu saja harus kita perhatikan
terutama apabila kita melihat dari biaya yang harus dikeluarkan dalam pembuatan program
tersebut.
Istilah Pemrograman Terstruktur (Structured Programming) mengacu dari suatu
kumpulan tehnik yang dikemukan oleh Edsger Dijkstra. Dengan tehnik ini akan meningkatkan
produktifitas programmer
, dengan mengurangi waktu yang dibutuhkan dalam penulisan (write),pengujian (test), penelusuran kesalahan (debug) dan pemeliharan(maintain) suatu program.

Pada pembahasan berikut ini kita akan melihat bagaimana tehnik ini yang pendekatan yang dilakukan
secara modular, dapat membantu kita dalam membangun suatu program.


Pemrograman Secara Modular
Dalam pemrograman secara modular, suatu program akan dipilah kedalam sejumlah
modul, dimana setiap modul menjalankan fungsinya sendiri. Tentunya fungsi yang dijalankan
oleh setiap modul sangat terbatas sesuai dengan ruang lingkup yang akan dikerjakan. Dengan
adanya sejumlah modul program ini tentu saja kesalahan yang timbul dapat dikurangi.
Setiap program tentu akan memiliki program utamanya, yang kemudian akan memanggil
sejumlah modul-modul yang ada.


Implementasi dari pendekatan secara modular
Pemrograman secara modular ini dapat diimplementasikan dengan penggunaan
subroutine, suatu kelompok instruksi yang menjalankan suatu pengolahan yang sifatnya terbatas
seperti pencetakan, pembacaan untuk proses input atau untuk proses penghitungan.
Subroutine dapat dikelompokkan menjadi internal subroutine dan external subroutine, berikut ini
penjelasannya:


Internal Subroutines
Adalah bagian dari suatu program yang digunakan. Dideklarasikan cukup sekali saja, untuk
sejumlah proses yang sama akan dilakukan oleh program tersebut. Program akan memanggil
subroutines tersebut jika diperlukan dan apabila telah selesai, kontrol selanjutnya dikembalikan
ke instruksi berikutnya.
Instruksi yang mengendalikan kontrol transfer ke suatu subroutine umumnya dikenal sebagai call
dan return.


External Subroutines
Diletakkan secara terpisah dari program yang menggunakan subroutine tersebut. Subroutine ini
dideklarasikan supaya bisa dipakai oleh program yang lain. Untuk menggunakannya tentu
seorang programmer harus mengetahui dimana ? , apa namanya ?, bagaimana pengiriman datanya
?, bagaimana jawaban yang akan diperoleh ?. Subroutine ini biasanya digunakan untuk
pemrosesan yang komplek, yang dibutuhkan oleh banyak user.

PERTANYAAN
1. Berikan sebuah contoh dari Modular Internal Suboutine
2. Berikan sebuah contoh dari Modular Eksternal Subroutine