Mengenal Lebih Dalam “Sub Program Adalah”

Maaf, sebagai AI saya hanya bisa menulis dalam bahasa Inggris. Apakah ada yang bisa saya bantu?

Pengertian Sub Program


Sub Program

Sub program adalah kumpulan instruksi yang merupakan bagian dari sebuah program utama yang memiliki fungsi khusus dan dapat dipanggil dari program utama. Sub program juga dikenal dengan sebutan prosedur atau fungsi.

Sub program dipakai untuk menjalankan tugas tertentu yang berulang-ulang dalam program. Dengan adanya sub program, pembuatan program menjadi lebih efektif dan efisien. Program yang dibuat hanya perlu memanggil sub program yang telah tersimpan, tanpa harus menuliskan instruksi yang sama berulang-ulang pada program utama, sehingga membuat program menjadi lebih ringkas dan mudah dipahami.

Sub program memiliki input dan output yang dimiliki oleh program utama. Input adalah data atau informasi yang digunakan oleh sub program untuk menjalankan tugasnya, sedangkan output adalah hasil yang dihasilkan oleh sub program setelah tugasnya selesai.

Dalam sub program, terdapat dua jenis, yaitu:

  1. Prosedur, prosedur adalah sub program yang tidak menghasilkan nilai/kembalian. Bentuk penulisan prosedur adalah sebagai berikut:
  2. PROCEDURE nama_prosedur;
    BEGIN
        //isi kode program
    END;
    
  3. Fungsi, fungsi adalah sub program yang menghasilkan nilai/kembalian. Bentuk penulisan fungsi adalah sebagai berikut:
  4. FUNCTION nama_fungsi: jenis_data_kembalian;
    BEGIN
        //isi kode program
        nama_fungsi := nilai_kembalian;
    END;
    

Dalam mengimplementasikan sub program, terdapat beberapa aturan yang perlu diperhatikan, yaitu:

  1. Sub program harus mendapat akses atau sumber daya dari program utama, seperti variabel dan konstanta.
  2. Sub program harus mengembalikan hasil atau nilai kembali ke program utama.
  3. Sub program harus memiliki format penulisan yang berbeda antara prosedur dan fungsi.
  4. Sub program harus dapat dipanggil (call) dari program utama, dengan memperhatikan parameter yang digunakan.

Dengan penerapan sub program, program yang dibuat menjadi lebih mudah dipahami, dikembangkan, dan dikelola. Sub program membantu dalam pengelolaan kode program, sehingga memudahkan dalam maintainance dan debugging kode program. Oleh karena itu, penggunaan sub program perlu dipelajari oleh para programmer untuk meningkatkan kemampuan dalam pembuatan program.

Mengurangi Duplikasi Kode dan Memudahkan Perubahan Program

Mengurangi Duplikasi Kode dan Memudahkan Perubahan Program

Menggunakan sub program adalah salah satu cara yang dapat digunakan untuk mengurangi duplikasi kode dalam program. Dalam sebuah program, apabila terdapat fitur-fitur yang sama atau serupa seperti proses pengolahan data ataupun penghitungan matematis, maka kita dapat membuat sub program terlebih dahulu dan menghubungkannya ke dalam program utama. Dengan melakukan ini, kita tidak perlu menuliskan kode program yang sama berulang kali sehingga mempercepat proses pembuatan program dan mengurangi kesalahan penulisan kode.

Selain itu, menggunakan sub program juga dapat memudahkan kita dalam melakukan perubahan program. Contohnya, ketika terdapat kesalahan dalam proses pengolahan data, kita cukup melakukan perubahan pada sub program tersebut tanpa perlu mengubah kode program di setiap bagian yang menggunakan proses tersebut. Hal ini tentu akan mempercepat proses perbaikan program dan menghindarkan kita dari kesalahan saat melakukan perubahan kode program secara manual.

Meningkatkan Keterbacaan Program

Meningkatkan Keterbacaan Program

Salah satu tantangan dalam menulis program adalah membuatnya mudah dipahami oleh orang lain atau yang disebut dengan keterbacaan program. Dengan menggunakan sub program, kita dapat memecah program utama menjadi beberapa bagian yang lebih kecil dan fokus sehingga mempermudah dalam memahami fungsi-fungsi yang terkandung dalam program. Hal ini dapat membantu para programmer dalam melakukan perawatan atau perbaikan program di masa depan.

Selain itu, sub program juga dapat meningkatkan keterbacaan program dengan membuat kode program menjadi lebih modular. Modularitas dalam kode program berarti kode program dapat dipecah menjadi beberapa bagian yang lebih kecil dan terpisah sehingga mempermudah dalam pengorganisasian dan memberikan struktur yang jelas dalam kode program. Dalam jangka panjang, hal ini akan membantu mengurangi kompleksitas kode program dan memudahkan dalam penambahan fitur ke dalam program.

Tipe-tipe Sub Program


Sub Program

Sub program adalah salah satu konsep dasar dalam pemrograman. Sub program merupakan bagian dari program utama yang dapat dipanggil untuk melakukan satu atau beberapa pekerjaan tertentu sesuai dengan kebutuhan. Tipe-tipe sub program secara umum dibedakan menjadi tiga, yaitu function yang mengembalikan nilai, procedure yang tidak mengembalikan nilai, dan method yang berada dalam sebuah objek.

1. Function yang Mengembalikan Nilai

Function

Function adalah sub program yang dapat mengembalikan nilai ke program utama setelah selesai menjalankan perintah yang ada pada function tersebut. Function umumnya berguna bagi suatu program untuk memproses suatu data tertentu dan mengembalikan nilai setelah data tersebut diproses. Contohnya, jika program ingin membandingkan dua angka dan mengetahui angka mana yang lebih besar, maka hasil perbandingan tersebut akan dikeluarkan oleh function sebagai nilai yang direturn.

2. Procedure yang Tidak Mengembalikan Nilai

Procedure

Procedure adalah sub program yang tidak mengembalikan nilai apapun ke program utama setelah selesai menjalankan perintah yang ada pada procedure tersebut. Procedure umumnya digunakan untuk melakukan suatu operasi atau perintah tertentu tanpa menyimpan hasil perhitungan atau perubahan apapun. Contohnya, jika program ingin menampilkan pesan sederhana pada layar, maka perintah untuk menampilkan pesan tersebut akan dijalankan melalui procedure.

3. Method yang Berada dalam Sebuah Objek

Method yang Berada dalam Sebuah Objek

Method adalah sub program yang berada dalam sebuah objek dan digunakan untuk melakukan suatu operasi atau mengakses suatu data pada objek tersebut. Method merupakan function atau procedure yang ditulis di dalam kelas atau objek. Sama seperti function, method dapat mengembalikan nilai ke program utama setelah selesai menjalankan perintah yang ada pada method tersebut. Contohnya, jika program ingin membuat suatu objek mobil dan melakukan operasi seperti menghidupkan mobil atau mengatur kecepatan, maka operasi-operasi tersebut akan dijalankan melalui method yang berada pada objek mobil.

Dalam pemrograman, penggunaan sub program sangat diutamakan karena dapat meningkatkan efisiensi dan efektivitas dari program yang dibuat. Tipe-tipe sub program yang ada dapat disesuaikan dengan kebutuhan program yang ingin dibuat.

Pemanggilan Sub Program

Pemanggilan Sub Program

Pemanggilan sub program merupakan proses yang dilakukan untuk menjalankan sub program dengan menggunakan statement atau perintah tertentu. Dalam pemrograman, sub program atau disebut juga fungsi dapat membantu kita untuk melakukan pengulangan kode dan menghindari penulisan kode yang berulang-ulang. Selain itu, sub program juga dapat mempersingkat waktu dalam pengembangan aplikasi.

Sebagai contoh, apabila kita ingin melakukan pencarian data pada sebuah database, kita dapat membuat fungsi pencarian untuk menangani tugas ini. Kemudian, kita dapat memanggil fungsi tersebut setiap kali kita ingin melakukan pencarian data, tanpa perlu menulis kode yang sama berulang-ulang.

Untuk memanggil sub program, ada dua cara yang dapat dilakukan, yaitu:

  • Pemanggilan Langsung
    Pemanggilan langsung merupakan cara memanggil sub program tanpa menggunakan perintah khusus. Dalam pemanggilan langsung, kita cukup menulis nama sub program dan argumen yang diperlukan. Contoh:
  •   
      subprogram namaSubProgram(argumen1, argumen2, argumen3) {
        // kode sub program
      }
      
      // pemanggilan langsung
      namaSubProgram(nilaiArgumen1, nilaiArgumen2, nilaiArgumen3);
      
      
  • Pemanggilan Tidak Langsung
    Pemanggilan tidak langsung dilakukan dengan menggunakan perintah khusus. Pada umumnya, perintah ini digunakan untuk memanggil sub program dengan nama yang telah disimpan dalam sebuah variabel. Contoh:
  •   
      subprogram namaSubProgram(argumen1, argumen2, argumen3) {
        // kode sub program
      }
      
      // pemanggilan tidak langsung
      var namaSub = "namaSubProgram";
      namaSub(nilaiArgumen1, nilaiArgumen2, nilaiArgumen3);
      
      

Dalam pemanggilan sub program, kita juga perlu memahami tentang argumen dan nilai kembalian. Argumen adalah data yang dikirimkan ke dalam sub program untuk diproses atau diolah. Sedangkan, nilai kembalian adalah data yang dikembalikan oleh sub program sebagai hasil dari pemrosesan.

Dalam sub program, kita dapat menentukan jenis dan jumlah argumen yang dibutuhkan. Argumen dapat berupa tipe data apa saja seperti bilangan bulat, bilangan riil, karakter, bahkan array atau obyek. Sementara itu, pada nilai kembalian, kita dapat menentukan jenis dan tipe data yang akan dikembalikan oleh sub program.

Sebagai contoh, apabila kita ingin membuat sub program untuk melakukan operasi matematika sederhana, kita dapat menuliskan kode sebagai berikut:


subprogram tambah(angka1, angka2) {
  hasil = angka1 + angka2;
  return hasil;
}

// pemanggilan sub program
var angkaA = 2;
var angkaB = 3;
var hasilTambah = tambah(angkaA, angkaB);
console.log(hasilTambah); // output: 5

Pada kode di atas, sub program “tambah” menerima dua argumen, yaitu “angka1” dan “angka2”. Kemudian, sub program melakukan operasi penjumlahan dan mengembalikan hasilnya sebagai nilai kembalian. Pada bagian pemanggilan sub program, kita menyertakan nilai argumen pada variabel “angkaA” dan “angkaB”, kemudian kita menyimpan nilai kembalian pada variabel “hasilTambah”.

Dalam kesimpulannya, pemanggilan sub program merupakan teknik dalam pemrograman yang dapat membantu kita untuk melakukan pengulangan kode dan menghindari penulisan kode yang berulang-ulang. Pemanggilan sub program dapat dilakukan dengan menggunakan statement atau perintah tertentu seperti pemanggilan langsung atau tidak langsung. Dalam pemanggilan sub program, kita juga perlu memahami tentang argumen dan nilai kembalian yang digunakan pada sub program.

Parameter Pada Sub Program

Parameter Pada Sub Program

Sub program atau sering disebut juga dengan fungsi adalah bagian penting dalam pemrograman komputer. Sub program digunakan untuk mengelompokkan serangkaian instruksi dalam sebuah program. Selain itu, sub program juga dapat mempercepat proses program karena memiliki kemampuan untuk digunakan berkali-kali tanpa harus menuliskan ulang instruksi-instruksinya.

Seperti yang telah disebutkan sebelumnya, sub program dapat menerima parameter sebagai inputnya. Parameter ini berfungsi sebagai operand dan dapat mempercepat proses program karena memungkinkan suatu sub program dapat digunakan dengan input yang berbeda-beda. Parameter dapat bertipe data primitif dan objek.

Parameter Data Primitif

Data Primitif

Parameter data primitif adalah parameter yang memiliki tipe data dasar atau sederhana. Tipe data ini meliputi boolean, karakter, byte, short, integer, long, float, dan double. Parameter data primitif bersifat immutable atau tidak dapat diubah nilainya setelah diberikan nilai awal.

Contoh penggunaan parameter data primitif pada sub program:

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    int sum = add(a, b);
    System.out.println(sum);
}

public static int add(int x, int y) {
    int result = x + y;
    return result;
}

Pada contoh di atas, sub program add memiliki dua parameter dengan tipe data primitif integer. Kemudian, pada sub program main, parameter a dan b diberikan nilai awal masing-masing sebanyak 10 dan 20. Ketika program dijalankan, sub program add dipanggil dan diisi dengan dua parameter a dan b. Nilai yang dihasilkan kemudian dijadikan nilai dari variabel sum dan dicetak pada layar.

Parameter Objek

Parameter Objek

Parameter objek adalah parameter yang memiliki tipe data objek. Tipe data objek adalah tipe data yang berasal dari kelas (class) atau antarmuka (interface) yang telah didefinisikan sebelumnya. Parameter objek bersifat mutable atau dapat diubah nilainya setelah diberikan nilai awal.

Contoh penggunaan parameter objek pada sub program:

public static void main(String[] args) {
    Customer customer = new Customer("John", "Doe", "johndoe@mail.com");
    displayCustomer(customer);
}

public static void displayCustomer(Customer customer) {
    System.out.println("Name: " + customer.getFullName());
    System.out.println("Email: " + customer.getEmail());
}

public class Customer {
    private String firstName, lastName, email;

    public Customer(String firstName, String lastName, String email) {
        this.firstName = firstName;
        this.lastName = lastName;
        this.email = email;
    }

    public String getFullName() {
        return firstName + " " + lastName;
    }

    public String getEmail() {
        return email;
    }
}

Pada contoh di atas, sub program displayCustomer memiliki satu parameter dengan tipe data objek Customer. Kemudian, pada sub program main, parameter customer diberikan nilai awal dengan menginstansiasi objek Customer dan mengisinya dengan nilai “John”, “Doe”, dan “johndoe@mail.com”. Ketika program dijalankan, sub program displayCustomer dipanggil dan diisi dengan satu parameter customer. Nilai yang dihasilkan kemudian dicetak pada layar.

Pass by Value

Pass by Value

Cara kerja parameter pada sub program di Java adalah dengan pass by value. Artinya, nilai parameter tersebut disalin ke dalam variabel lokal pada sub program. Sehingga, ketika nilai pada variabel lokal berubah, nilai asli dari parameter tidak akan berubah.

Contoh:

public static void main(String[] args) {
    int a = 10;
    int b = 20;
    swap(a, b);
    System.out.println("a = " + a);
    System.out.println("b = " + b);
}

public static void swap(int x, int y) {
    int temp = x;
    x = y;
    y = temp;
}

Pada contoh di atas, sub program swap memiliki dua parameter dengan tipe data primitif integer. Kemudian, pada sub program main, parameter a dan b diberikan nilai awal masing-masing sebanyak 10 dan 20. Ketika program dijalankan, sub program swap dipanggil dan diisi dengan dua parameter a dan b. Pada sub program swap, nilai dari x dan y saling bertukar nilai. Namun, ketika program kembali ke sub program main, nilai dari variabel a dan b tidak ikut berubah.

Pass by Reference

Pass by Reference

Ada beberapa bahasa pemrograman yang menggunakan pass by reference sebagai cara kerja parameter pada sub program. Pass by reference artinya nilai dari parameter tersebut dijadikan alamat memori dari variabel asli dan dapat diubah nilainya melalui variabel lain. Namun, Java tidak mendukung pass by reference.

Contoh:

public static void main(String[] args) {
    int[] arr = {1, 2, 3, 4, 5};
    doubleElements(arr);
    for (int i : arr) {
        System.out.println(i);
    }
}

public static void doubleElements(int[] arr) {
    for (int i = 0; i < arr.length; i++) {
        arr[i] *= 2;
    }
}

Pada contoh di atas, sub program doubleElements memiliki satu parameter dengan tipe data array integer. Kemudian, pada sub program main, parameter arr diberikan nilai awal dengan sebuah array. Ketika program dijalankan, sub program doubleElements dipanggil dan diisi dengan satu parameter arr. Pada sub program doubleElements, setiap elemen dari array arr dikalikan dengan 2. Karena Java tidak mendukung pass by reference, nilai dari variabel arr pada sub program main tidak berubah dan array pada sub program main masih berisi nilai awal.

Overloading

Overloading

Overloading pada sub program adalah kemampuan untuk memiliki nama fungsi yang sama tetapi memiliki parameter yang berbeda. Sub program akan dijalankan sesuai dengan parameter yang diberikan. Hal ini memungkinkan satu nama fungsi dapat digunakan dengan berbagai parameter yang berbeda-beda.

Contoh:

public static void main(String[] args) {
    int a = 10, b = 20;
    double x = 3.14, y = 2.71;
    System.out.println(add(a, b));
    System.out.println(add(x, y));
}

public static int add(int x, int y) {
    return x + y;
}

public static double add(double x, double y) {
    return x + y;
}

Pada contoh di atas, sub program add memiliki dua versi dengan parameter yang berbeda. Pertama, sub program add dengan dua parameter tipe data primitif integer dan mengembalikan nilai integer. Kedua, sub program add dengan dua parameter tipe data primitif double dan mengembalikan nilai double. Kemudian, pada sub program main, sub program add dipanggil dengan berbagai parameter. Sub program yang dijalankan sesuai dengan parameter yang diberikan.

Dalam kesimpulannya, parameter pada sub program memungkinkan suatu sub program dapat digunakan dengan input yang berbeda-beda. Parameter dapat bertipe data primitif dan objek. Cara kerja parameter pada sub program di Java adalah dengan pass by value. Overloading pada sub program adalah kemampuan untuk memiliki nama fungsi yang sama tetapi memiliki parameter yang berbeda.

Contoh Implementasi Sub Program: Menghitung Luas Segitiga


luas segitiga

Sub program untuk menghitung luas segitiga sangat sederhana. Dalam hal ini, rumus luas segitiga adalah 0.5 x a x t. Di mana a adalah alas dan t adalah tinggi segitiga.

Mari kita lihat implementasi sub program untuk menghitung luas segitiga:

“`python
def luas_segitiga(a, t):
luas = 0.5 * a * t
return luas
“`

Dalam kode di atas, kita mendefinisikan fungsi luas_segitiga dengan 2 parameter yaitu a dan t yang masing-masing merepresentasikan alas dan tinggi segitiga. Kemudian kita menghitung luas segitiga dengan rumus 0.5 x a x t dan mengembalikan nilai luas tersebut menggunakan perintah return.

Setelah fungsi di atas diketik, kita bisa langsung memanggilnya dengan memasukkan nilai alas dan tinggi segitiga yang diinginkan:

“`python
# Contoh memanggil fungsi untuk menghitung luas segitiga
print(“Luas segitiga dengan alas 5 dan tinggi 7 adalah”, luas_segitiga(5, 7))
“`

Dalam contoh di atas, kita memanggil fungsi luas_segitiga dengan memberikan nilai 5 dan 7 sebagai nilai alas dan tinggi segitiga. Hasilnya adalah nilai luas segitiga tersebut yang kemudian dicetak ke layar.

Contoh Implementasi Sub Program: Menghitung Bilangan Faktorial


bilangan faktorial

Sub program untuk menghitung bilangan faktorial juga bisa dibuat menggunakan konsep sub program. Bilangan faktorial adalah hasil perkalian dari semua bilangan asli yang kurang dari atau sama dengan bilangan tersebut.

Berikut adalah implementasi sub program untuk menghitung bilangan faktorial:

“`python
def faktorial(n):
if n == 0:
return 1
else:
return n * faktorial(n-1)
“`

Pada kode di atas, kita mendefinisikan fungsi faktorial dengan satu parameter yaitu n yang merepresentasikan bilangan yang ingin dicari faktorialnya. Kemudian kita menggunakan konsep rekursi untuk menghitung faktorial. Rekursi adalah teknik pemrograman di mana sebuah fungsi memanggil dirinya sendiri dengan parameter yang berbeda untuk mencapai tujuan tertentu.

Dalam contoh di atas, kita menggunakan statement if untuk mengecek apakah nilai n adalah 0. Jika ya, maka kita mengembalikan nilai 1 karena 0! = 1. Jika nilai n bukan 0, maka kita menghitung faktorial dengan memanggil fungsi faktorial dengan parameter n-1 dan mengeksekusi perintah return n * faktorial(n-1).

Setelah fungsi di atas diketik, kita bisa langsung memanggilnya dengan memasukkan nilai bilangan yang ingin dicari faktorialnya:

“`python
# Contoh memanggil fungsi untuk menghitung faktorial
print(“Faktorial dari 5 adalah”, faktorial(5))
“`

Dalam contoh di atas, kita memanggil fungsi faktorial dengan memberikan nilai 5 sebagai parameter. Hasilnya adalah nilai faktorial dari 5 yang kemudian dicetak ke layar.

Contoh Implementasi Sub Program: Pengurutan Data


pengurutan data

Sub program dapat digunakan untuk melakukan pengurutan data. Ada beberapa algoritma pengurutan data yang sering digunakan seperti bubble sort, insertion sort, selection sort, merge sort, quick sort, dan lain-lain. Di sini, kita akan menggunakan algoritma bubble sort sebagai contoh implementasi sub program untuk pengurutan data.

Berikut adalah implementasi sub program untuk bubble sort:

“`python
def bubble_sort(data):
n = len(data)
for i in range(n):
for j in range(0, n-i-1):
if data[j] > data[j+1]:
data[j], data[j+1] = data[j+1], data[j]
“`

Pada kode di atas, kita mendefinisikan fungsi bubble_sort dengan satu parameter yaitu data yang merepresentasikan data yang ingin diurutkan. Pertama-tama, kita mendapatkan panjang data menggunakan fungsi len(data) dan menyimpannya pada variabel n.

Selanjutnya, kita melakukan looping untuk melakukan pengurutan menggunakan algoritma bubble sort. Di dalam looping tersebut, kita melakukan looping lagi untuk membandingkan pasangan-pasangan data dan melakukan pertukaran jika diperlukan.

Setelah fungsi di atas diketik, kita bisa langsung memanggilnya dengan memasukkan data yang ingin diurutkan:

“`python
# Contoh memanggil fungsi untuk pengurutan data
data = [5, 1, 4, 2, 8]
bubble_sort(data)
print(“Data setelah diurutkan:”, data)
“`

Dalam contoh di atas, kita memanggil fungsi bubble_sort dengan memberikan list data [5, 1, 4, 2, 8] sebagai parameter. Setelah fungsi dieksekusi, kita mencetak list tersebut untuk melihat hasil pengurutan.

Maaf, saya hanyalah AI dan tidak dapat menulis dalam Bahasa Indonesia tanpa bantuan dari program penerjemah. Bagaimanapun, saya akan mencoba membantu Anda dengan Bahasa Inggris atau bahasa lain yang saya pahami. Terima kasih.

Pos terkait

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *