Senin, 09 November 2015

perbedaan prosedur dengan fungsi pada algoritma

PROSEDUR
Prosedur adalah suatu program terpisah dalam blok sendiri yang berfungsi sebagai subprogram (program bagian). Diawali dengan kata cadangan “Procedure” didalam bagian deklarasi prosedur. Procedure biasanya bersifat suatu aktifitas seperti menghitung luas, meghitung faktorial, mencari nilai maksimum/minimum,dsb.  Prosedur banyak digunakan pada program yang terstruktur karena :
  1. Merupakan penerapan konsep program modular, yaitu memecah-mecah program yang rumit menjadi program-program bagian yang lebih sederhana dalam bentuk prosedur-prosedur.
  2. Untuk hal-hal yang sering dilakukan berulang-ulang, cukup dituliskan sekali saja dalam prosedur dan dapat dipanggil atau dipergunakan sewaktu-waktu bila diperlukan.
  3. Membuat kode program lebih mudah dibaca.
  4. Dapat digunakan untuk menyembunyikan detil program
Notasi Algoritmik
program tukar
kamus : A,R : integer {}
procedure tukar (in/out : A,R : integer)
algoritma : input (A,R)
Tukar (A,R)
Output (A,R)
procedure tukar2(in/out : A,R : integer)
kamus lokal : B : integer
algoritma : B ← A
A ← R
R ← A
Pada flowchart, untuk menuliskan prosedur digunakan notasi Predefined Process. Secara skematis, penggunaan prosedur dapat dilihat pada gambar 6.6.
blog1
Gambar 6.6. menunjukkan ada proses utama yang terjadi, dan ada prosedur yang sebenarnya merupakan bagian dari proses utama ini. Ketika proses utama membutuhkan suatu tugas tertentu, maka proses utama akan memanggil prosedur tertentu menyelesaikan tugas tersebut. Perhatikan contoh berikut:
Contoh 6.3. Prosedur
Buatlah algoritma menghitung luas segitiga, segiempat, dan lingkaran.
Penyelesaian:
Untuk membuat algoritma ini kita dapat memandang proses perhitungan luas segitiga, luas segiempat, dan luas lingkaran sebagai bagian program yang berdiri sendiri. Kita dapat membuat prosedur untuk masing-masing proses. Dan kita akan memanggil prosedur tersebut dari proses utama (gambar 6.7).
blog2
Urutan proses pada gambar 6.7 adalah sebagai berikut.
  • Pembacaan data
  • Pada proses utama akan terjadi pengecekan pada data yang dibaca,
  • Apabila data yang dibaca adalah untuk segitiga, maka proses utama akan memanggil prosedur hitung luas segitiga dengan membawa nilai variable yang diperlukan oleh prosedur luas hitung segitga.
  • Proses perhitungan luas segitiga hanya dilakukan pada prosedur tersebut.
  • Setelah proses perhitungan, maka hasil perhitungan akan dibawa kembali ke proses utama untuk dicetak hasilnya.
Urutan proses yang sama juga terjadi jika data yang dibaca adalah untuk segi-empat atau lingkaran.
Prosedur yang baik memiliki ciri-ciri sebagai berikut:
  • Hanya memiliki satu fungsi tujuan (logical inherent).
    Sebuah prosedur sebaiknya hanya memiliki satu fungsi tujuan dan tidak bercampur dengan tujuan-tujuan lain. Hal ini untuk membuat prosedur lebih focus, sehingga tujuan akan dapat tercapai dengan baik.
  • Tidak tergantung pada prosedur lain (independent).
    Sebuah prosedur harusnya bersifat mandiri, artinya prosedur ini dapat berjalan dan diuji tanpa menunggu bagian lainnya selesai. Selain itu variable-variabel yang digunakan dalam prosedur tersebut tidak mempengaruhi variable-variabel yang digunakan pada bagian lain di keseluruhan program.
  • Berukuran kecil (small size).
    Yang dimaksud ukuran disini adalah panjang algoritma atau panjang kode program pada suatu prosedur. Ukuran kecil akan mudah dibaca dan diperbaiki. Apabila sebuah modul sudah terlalu besar maka sebaiknya dipertimbangkan untuk dipecah-pecah menjadi beberapa modul yang lebih kecil.
FUNGSI 
Fungsi sama seperti halnya dengan prosedur, namun tetap ada perbedaannya yaitu fungsi mempunyai output dengan tipe variabel yang kita tentukan. Dan cara pemanggilan variabel ada 2 macam dalam pascal. Yaitu :
  •  Mengoutputkan nilai dari fungsi tersebut Contoh : Writln (namafungsi(parameter));
  •  Dengan assignment Variabel1 := namafungsi(parameter);
Berbeda dengan procedure yang bisa tidak menggunakan parameter, fungsi harus menggunakan parameter dalam penggunaannya.
algoritmik
program faktorial
kamus : a : integer
function faktor (a : integer) → integer
algoritma
input (a)
output (faktor(a))
function faktor (a:integer) →integer
kamus :
i, hasil : integer
algoritma :
hasil ← 1
i traversal [a..1]
hasil ← hasil * i
faktor ← hasil
FUNCTION identifier (daftar parameter) : type ;
Blok fungsi juga diawali dengan kata cadangan Begin dan di akhiri dengan kata cadangan End dan titik koma.
Perbedaan fungsi dengan prosedur adalah :
  1. Pada fungsi, nilai yang dikirimkan balik terdapat pada nama fungsinya ( kalau pada prosedur pada parameter yang dikirimkan secara acuan).
  2. Karena nilai balik berada di nama fungsi tersebut, maka fungsi tersebut dapat langsung digunakan untuk dicetak hasilnya. Atau nilai fungsi tersebut dapat juga langsung dipindahkan ke pengenal variable yang lainnya.
  3. Pada prosedur, nama prosedur tidak dapat digunakan lagsung, yang dapat langsung digunakan adalah parameternya yang mengandung nilai balik.
sumber:https://smurfirza.wordpress.com/2014/09/27/perbedaan-prosedur-dan-fungsi-pada-algoritma-dan-pemrograman/

Minggu, 20 September 2015

tugas alpro

Diawali dengan bangun tidur rutin saya sekitar jam 06.30 pagi, biasanya saya langsung membereskan temat tibur dan membeli sarapan pagi. setelah saya selesai sarapan pagi, saya menunggu mobil air galon lewat didepan kost saya karna sekarang musim kemarau jadi air susah dikostan saya, setelah air galon datang saya langsung mandi jika saya masuk pagi, tetepi jika saya masuk siang sekitar jam 11.00 saya biasanya menonton televisi hingga jam 09.30 lalu saya mandi dan siap-siap untuk berangkat ke kampus. setelah selasai saya langsung berjalan kesimang komplek untuk mencari angkot dan berangkat ke kampus. begitulah cerita saya dari bangun tidur hingga berangkat kekampus. Terima kasih