Subrutin
APA ITU SUBRUTIN ?? Subrutin salah satu teknik pemrograman untuk meningkatkan modularitas program yang akan dibuat. Sub rutin dibagi menjadi dua macam, yaitu sub rutin yang mengembalikan nilai dan sub rutin yang tidak mengembalikan nilai. Dalam C++, kedua sub rutin tersebut dijadikan satu tetapi dapat diatur untuk dapat mengembalikan nilai maupun tidak mengembalikan nilai.
Fungsi adalah suatu jenis pembagian program kedalam bagian-bagian yang lebih kecil yang dinamakan subrutin ataupun subprogram. Yang mana pada Fungsi memiliki nilai balik ketika subrutin tersebut dipanggil. Prosedur merupakan jenis pembagian yang sama dengan Fungsi, hanya saja pada prosedur tidak menghasilkan nilai balik ketika subrutin dipanggil. Oleh karena itu prosedur sering juga disebut sebagai Fungsi tanpa nilai balik.
CONTOH FUNGSI #include <iostream.h> double hitung_keliling_kotak(double panjang, double lebar) { double keliling; keliling = 2*(panjang+lebar); return keliling; } int main () double keliling, panjang, lebar; panjang = 20; lebar = 2; keliling = hitung_keliling_kotak(panjang, lebar); cout << ”keliling =” << keliling , “\n”; return 0; } CONTOH FUNGSI
CONTOH PROSEDUR #include<iostream.h> void infoPTIKA () { cout << “SUBRUTIN Dasar Pemrograman”; } int main () infoPTIKA (); return 0;
Subrutin itu BERMANFAAT ? Manfaat Subrutin Mempermudah pengelolaan atau pengembangan program mengingat setiap subrutin memiliki kode yang relatif sedikit jika dibandingkan dengan kode program secara keseluruhan yang disusun tanpa melibatkan subrutin. Dapat digunakan untuk mengurangi jumlah kode akibat sejumlah kode yang sama digunakan beberapa kali dalam program. Menjadikan program lebih bersifat modular sehingga akan mudah dipahami dan dapat digunakan kembali, baik untuk program itu sendiri maupun untuk program lain yang memiliki proses yang sama. Subrutin itu BERMANFAAT ?
Cara Menulis Subrutin tipe_data nama_fungsi(nilai_parameter1, nilai_parameter2, …); { statemen_yang_akan_dilakukan; … … return nilai_yang_akan_dikembalikan; }
CONTOH
Contoh 1 : Subrutin untuk menentukan suatu bilangan terkecil dalam suatu larik. Argument dalam subrutin berupa larik dan jumlah datanya.
#include <iostream.h> double terkecil(double x[], int jum) { int i; double min; min = x[0]; for (i=0; i<jum; i++) if (x[i]<min) min = x[i]; return min; } int main() double y; double data[] = (578, 67.8, 2.3, 24, 123.5); y = terkecil(data, 5); cout << “Terkecil =” << y << “\n”; return 0;
Contoh 2: subrutin bernama kanan yang memiliki dua buah argument berupa string std an bilangan n. subrutin ini memberikan nilai balik berupa string yang terdiri dari n buah karakter yang terletak dibagian kanan string st. subrutin ini juga bisa menangani keadaan jika argument n ternyata melebihi jumlah karakter dalam string st, sehingga nilai baliknya berupa string st itu sendiri.
#include <iostream.h> #include <string.h> char *kanan(char st[], int n) { int indeks, i, panjang; static char strTemp[80]; panjang = strlen(st); if (n>panjang) n = panjang; i=0; for (indeks = panjang – n; indeks < panjang; indeks++ strTemp[i] = st[indeks]; i++; } strTemp[i+1] = 0; return (char *)strTemp; int main() cout << kanan(“SUBRUTIN”, 2) << “\n”; cout << kanan(“SUBRUTIN”, 5) << “\n”; cout << kanan(“SUBRUTIN”, 10) << “\n”; return 0;
SOAL NOMOR 3 Buatlah subrutin bernama ip yang digunakan untuk menghitung indeks prestasi. Dalam hal ini subrutin mengandung tiga buah argument berupa Nilai (suatu larik yang berisi sejumlah nilai matakuliah), SKS (suatu larik yang menyatakan jumlah satuan kredit semester untuk masing-masing matakuliah), dan n menyatakan jumlah data dalam larik Nilai dan SKS. Contoh : Nilai [‘A’, ‘A’, ‘B’, ‘C’] SKS [3, 2, 3, 3] Menyatakan bahwa nilai A pertama ber-SKS 3, nilai A kedua ber-SKS 2, nilai B ber-SKS 3, dan nilai C ber-SKS 3. Indeks prestasi dihitung melalui rumus : Angka_nilaii dapat diperoleh dengan ketentuan seperti berikut : ‘A’ 4 ‘B’ 3 ‘C’ 2 ‘D’ 1 ‘E’ 0 NUMBER 1
SOAL NOMOR 4 Implemantasikan subrutin yang Anda buat pada soal nomor 1 ke dalam program C++ ! NUMBER 2
SOAL NOMOR 5 Implementasikan sebuah subrutin dengan argument berupa suatu string dan subrutin tersebut akan membalik pada argument. Misalnya argument berupa string “Yogya”, setelah pemanggilan subrutin berubah menjadi “aygoY”. Tuangkan pula dalam bentuk program ! NUMBER 3
Terima kasih