Dalam Coding, Apa Perbedaan Antara Metode dan Fungsi?
Diterbitkan: 2018-09-21Terminologi dalam coding
Dalam pemrograman, ada banyak istilah berbeda yang digunakan untuk menggambarkan hal yang sama persis dan ada juga beberapa istilah yang tampaknya merujuk pada hal yang sama tetapi sebenarnya tidak. Untuk membuatnya semakin membingungkan. Beberapa istilah digunakan secara berbeda tergantung pada jenis bahasa yang Anda bicarakan atau bahkan ketika berpindah dari satu bahasa ke bahasa lain yang sejenis. Jadi, beberapa istilah seperti, "metode", "fungsi", "antarmuka", atau "kelas abstrak" bisa sangat membingungkan bagi sebagian orang Karena mereka dapat berarti satu hal dalam satu konteks tetapi hal yang sama sekali berbeda dalam konteks lain.
Ikhtisar metode OOP
Metode pada dasarnya adalah prosedur langkah demi langkah yang diberlakukan pada objek yang ditunjuk. Metode hanya digunakan dalam bahasa pemrograman berorientasi objek seperti C++. Pada dasarnya, suatu metode dapat mengubah karakteristik objek yang dilewati metode, atau metode dapat melakukan prosedur tertentu berdasarkan karakteristik objek yang dilewatinya sebelumnya. Kadang-kadang, suatu metode bahkan dapat dijalankan melalui kode yang tidak mempengaruhi objek yang melewatinya atau diubah oleh karakteristik objek yang sudah ada. Tapi ini jauh lebih jarang dan bukan cara yang dipromosikan metode penanganan.
Baca – Kerangka JavaScript Mana Yang Harus Dipilih
Fungsi dalam pengkodean prosedural
Fungsi, di sisi lain, adalah istilah yang jauh lebih umum yang mengacu pada prosedur yang menerima sejumlah input dan mengembalikan sejumlah nilai. Yang membingungkan, suatu fungsi dan metode terdengar seperti mereka akan melakukan hal yang sama atau merujuk pada jenis prosedur yang sama saat memprogram, tetapi sebenarnya tidak. Fungsi tidak terkait dengan objek dan pada dasarnya digunakan di setiap bahasa tingkat tinggi yang tidak berorientasi objek. Metode di sisi lain hanya terkait dengan objek dan istilah ini hanya digunakan ketika berhadapan dengan objek atau ketika prosedur berada di dalam kelas. Jadi, fungsi mengembalikan nilai berdasarkan input yang diberikan, sedangkan metode mengubah karakteristik objek atau mengembalikan nilai berdasarkan karakteristik objek yang sudah ada sebelumnya.
Antarmuka pengkodean dan kelas abstrak
Mirip dengan kebingungan antara fungsi dan metode. Ada banyak kebingungan antara antarmuka dan kelas abstrak. Namun, tidak seperti fungsi dan metode, antarmuka dan kelas abstrak memiliki banyak kesamaan dan karakteristiknya mudah bercampur. Cara termudah untuk membedakan keduanya adalah dengan memahami bahwa antarmuka hanya ada dalam bahasa pemrograman berorientasi objek. Sedangkan kelas abstrak hadir di hampir semua bahasa tingkat tinggi.
Antarmuka secara mendalam
Antarmuka pada dasarnya adalah basis yang Anda buat yang menjelaskan semua kesamaan antar kelas. Jadi, katakanlah Anda ingin membuat objek yang berbeda tetapi semuanya adalah binatang. Jadi, manusia, kera, dan simpanse. Jelas, ketiga hewan ini memiliki banyak kesamaan, dan akan sangat cerdas untuk mendefinisikan semua kesamaan ini, sehingga Anda dapat memastikan bahwa semuanya diterapkan di setiap kelas. Misalnya, masing-masing memiliki kepala, empat anggota badan, mulut, hidung, lidah, dll.
Jadi, di antarmuka, Anda mendefinisikan karakteristik ini dan karena Anda mendefinisikannya di antarmuka. Ketika setiap kelas mengimplementasikan antarmuka, mereka harus mendefinisikan dan menginisialisasi karakteristik ini melalui metode yang ditentukan dalam antarmuka. Jika tidak, kode tidak akan berjalan. Alasan utama mengapa Anda menggunakan antarmuka alih-alih kelas abstrak adalah jika setiap hewan memiliki karakteristik yang sama. Tetapi setiap hewan menerapkannya secara berbeda. Misalnya, semua simpanse. Manusia, dan kera memiliki hidung, tetapi lebar, panjang, dan penggunaannya mungkin sedikit berbeda. Oleh karena itu, perbedaan ini didefinisikan dalam kelas individu. Tetapi fakta bahwa mereka memiliki hidung didefinisikan dalam antarmuka.
Baca – Alasan Mengapa Laravel Menjadi Framework PHP Terbaik Tahun 2018
Cara menggunakan kelas abstrak
Kelas abstrak persis seperti antarmuka. Namun, tidak seperti antarmuka, metode dan fungsi sebenarnya dapat didefinisikan dan diinisialisasi, tetapi tidak harus demikian. Selain itu, alih-alih kelas yang mengimplementasikan kelas abstrak, mereka menjadikan kelas abstrak sebagai superclass. Ini sebenarnya adalah kelemahan utama untuk kelas abstrak jika dibandingkan dengan antarmuka, karena kelas dapat mengimplementasikan antarmuka sebanyak yang mereka inginkan, tetapi mereka hanya dapat memiliki satu superkelas, artinya kelas hanya dapat menggunakan satu kelas abstrak tetapi beberapa antarmuka.
Kelas abstrak sangat bagus. Namun jika ada beberapa karakteristik identik yang memiliki cara implementasi yang identik. Tetapi jika ada juga beberapa yang memiliki implementasi berbeda di seluruh objek. Misalnya, jika Anda memiliki dua kelas, pria dan wanita, dan ingin menentukan kesamaan di antara keduanya, mungkin lebih baik menggunakan kelas abstrak. Mengapa? Karena karakteristik tertentu antara jenis kelamin identik dan diimplementasikan dengan cara yang sama persis. Misalnya, mulutnya memiliki ukuran yang hampir sama dan memiliki tujuan yang sama; mata memiliki ukuran dan fungsi yang sama antara jenis kelamin, dll.
Jadi, untuk karakteristik ini, fungsi atau metode yang mendefinisikannya dapat diinisialisasi di kelas abstrak. Namun, karakteristik tertentu, seperti pinggul atau alis hadir pada kedua jenis kelamin. Tetapi karakteristik ini jauh berbeda di antara keduanya. Oleh karena itu, kelas abstrak tidak akan menginisialisasi metode atau fungsi yang mendefinisikan karakteristik ini. Dan akan menyerahkan itu ke subclass.
Ringkasan
Semoga penjelasan ini tidak terlalu membingungkan atau bertele-tele. Jika Anda baru mengenal pemrograman, jangan khawatir jika Anda masih bingung. Ada banyak sumber daya yang dapat diakses yang dapat Anda gunakan untuk memahami dasar-dasar pemrograman dan perbedaan halus antara beberapa istilah.
Sangat penting disebutkan bahwa jika Anda ingin menjadi programmer profesional. Bersandar pada konsep prosedural dan Pemrograman Berorientasi Objek (OOP) adalah suatu keharusan. Memang. Banyak insinyur perangkat lunak menggunakan Bahasa Model Terpadu untuk memetakan persyaratan proyek atau aplikasi ke objek dan diagram sebelum mereka melakukan pengkodean OOP. Ada banyak sumber online untuk mempelajari rekayasa perangkat lunak. Untuk remaja dan siswa sekolah menengah, Layanan Teknologi Sekolah Menengah menawarkan berbagai pelatihan langsung. Untuk orang dewasa dan profesional, institut Coding Bootcamps menawarkan banyak kelas pemrograman dasar hingga lanjutan dengan fokus pada pengkodean prosedural dan OOP.
Tentang Penulis
Matt Zand adalah seorang programmer, pengusaha, Konsultan IT, dan penulis. Dia adalah pendiri dan pemilik WEG2G Group. Dia juga pendiri DC Web Makers. Hobinya adalah hiking, bersepeda, kegiatan di luar ruangan, bepergian dan mendaki gunung.