Mekanisme Dan Fungsi Merupakan Sub Aktivitas Yang Sangat Bermanfaat Dalam Pemrograman
Konten [Tampil]
PROSEDUR dan FUNGSI REKURSIF
Prosedur dan fungsi merupakan sub aktivitas yang sangat bermanfaat dalam pemrograman, terutama untuk aktivitas atau proyek yang besar. Manfaat penggunaan sub aktivitas antara lain yakni :
Prosedur dan fungsi merupakan sub aktivitas yang sangat bermanfaat dalam pemrograman, terutama untuk aktivitas atau proyek yang besar. Manfaat penggunaan sub aktivitas antara lain yakni :- meningkatkan readibility, yaitu mempermudah pembacaan program
- meningkatkan modularity, yaitu memecah sesuatu yang besar menjadi modul-modul atau bagian-bagian yang lebih kecil sesuai dengan fungsinya, sehingga mempermudah pengecekan, testing dan lokalisasi kesalahan.
- meningkatkan reusability, yaitu suatu sub aktivitas sanggup digunakan berulang kali dengan hanya memanggil sub aktivitas tersebut tanpa menuliskan perintah-perintah yang semestinya diulang-ulang.
- kondisi yang menjadikan pemanggilan dirinya berhenti (disebut kondisi khusus atau special condition)
- pemanggilan diri sub aktivitas (yaitu jikalau kondisi khusus tidak dipenuhi)
Secara umum bentuk dari sub aktivitas rekursif mempunyai statemen kondisional :
if kondisi khusus tak dipenuhi
then panggil diri-sendiri dengan parameter yang sesuai
else lakukan kode yang akan dihukum jikalau kondisi khusus dipenuhi
Sub aktivitas rekursif umumnya digunakan untuk permasalahan yang mempunyai langkah penyelesaian yang bersiklus atau langkah-langkah yang teratur. Bila kita mempunyai suatu permasalahan dan kita mengetahui algoritma penyelesaiannya, kadang kala sub aktivitas rekursif menjadi pilihan kita jikalau memang memungkinkan untuk dipergunakan. Secara algoritmis (dari segi algoritma, yaitu jikalau kita mempertimbangkan penggunaan memori, waktu sanksi sub program) sub aktivitas rekursif sering bersifat tidak efisien .
Dengan demikian sub aktivitas rekursif umumnya mempunyai efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang).
Dengan demikian sub aktivitas rekursif umumnya mempunyai efisiensi dalam penulisan perintah, tetapi kadang tidak efisien secara algoritmis. Meskipun demikian banyak pula permasalahan-permasalahan yang lebih sesuai diselesaikan dengan cara rekursif (misalnya dalam pencarian / searching, yang akan dibahas pada pertemuan-pertemuan yang akan datang).
Contoh sub aktivitas rekursif dalam bahasa Pascal.
PROCEDURE TULIS_1(banyak : integer;kata : string);
begin
if banyak > 1 then TULIS_1(banyak-1,kata);
writeln(kata, banyak:5);
end;
OUTPUT (misal dipanggil dengan TULIS_1(5,"Cetakan ke "))
Cetakan ke 1
Cetakan ke 2
Cetakan ke 3
Cetakan ke 4
Cetakan ke 5
begin
if banyak > 1 then TULIS_1(banyak-1,kata);
writeln(kata, banyak:5);
end;
OUTPUT (misal dipanggil dengan TULIS_1(5,"Cetakan ke "))
Cetakan ke 1
Cetakan ke 2
Cetakan ke 3
Cetakan ke 4
Cetakan ke 5
Bandingkan mekanisme dan outputnya di atas dengan mekanisme di bawah ini!
PROCEDURE TULIS_2(banyak : integer;kata : string);
begin
writeln(kata, banyak:5);
if banyak > 1 then TULIS_1(banyak-1,kata);
end;
PROCEDURE TULIS_2(banyak : integer;kata : string);
begin
writeln(kata, banyak:5);
if banyak > 1 then TULIS_1(banyak-1,kata);
end;
OUTPUT (misal dipanggil dengan TULIS_2(5,"Cetakan ke "))
Cetakan ke 5
Cetakan ke 4
Cetakan ke 3
Cetakan ke 2
Cetakan ke 1
Cetakan ke 5
Cetakan ke 4
Cetakan ke 3
Cetakan ke 2
Cetakan ke 1