Pada bahasa pemrograman C++ tipe
return default dari main adalah
void, dimana main() tidak akan mengembalikan nilai tipe apapun dari fungsi. Tetapi, pada bahasa C tipe
return default-nya adalah int, dimana main() akan mengembalikan nilai dengan tipe data
integer atau tipe data bilangan bulat secara otomatis.
Seperti yang sudah dinyatakan sebelumnya, void main() pada C++ tidak digunakan untuk mengentukan tipe return. Sedangkan main() pada C++ atau int main() adalah digunakan untuk menentukan tipe return pada C++.
Namun, penggunaan tipe return ini hanya dapat berguna jika digunakan pada bahasa C, sedangkan untuk beberapa jenis penggunaan lain, penggunaannya adalah untuk menjalankan beberapa tipe input atau output. Nilai return juga dapat menyebabkan terjadinya penghentian yang tidak biasa pada program yang dibuat. Contoh, ketika program pengembalikan nilai 0, yang mengindikasikan bahwa program telah berhasil dijalankan dan tidak ada hal aneh yang terjadi, namun jika tipe return tersebut mengembalikan 1, maka hal tersebut menandakan terjadi sesuatu yang tidak beres selama proses eksekusi program.
Nilai return ini pada C++ dapat digunakan sebagai kode untuk menandakan nilai kesalahan tertentu selama proses eksekusi program. Katakanlah program yang sudah dibuat merupakan program tentang pembagian dua angka dan ketika program tersebut digunakan untuk membagi angka o, maka program akan berhenti beroperasi dan akan mengembalikan nilai 1. Jadi, jika program lain memanggil program ini untuk melakukan proses pembagian dua angka, dan ketika menerima nilai return 1, maka program tersebut dapat segera mengetahui bahwa pada program tersebut terjadi sesuatu yang salah dan program tidak berjalan sebagaimana mestinya.
Namun demikian, ada juga yang berpendapat lain yang menyatakan bahwa penulisan program main(){...} adalah bentuk penulisan program yang kurang tepat pada C++, dimana ketika seorang programmer sedang membuat sebuah program, kemudian dilakukan kompilasi dan program selanjutnya dijalankan, maka program tersebut menjadi sebuah proses. Proses-proses tersebut memiliki nilai untuk dikembalikan atau return tipe. Contoh: jika terjadi kesalahan pada program, maka program akan mengembalikan nilai -1.
Jadi int main() menyatakan bahwa nilai kembaliannya akan menjadi bilangan bulat, dan ketika program lain dipanggil program yang telah dibuat sebelumnya, maka program tersebut memiliki beberapa jenis informasi tentang apa yang sedang terjadi pada program yang sedang dibuat.
Namun, untuk bentuk penulisan void main() pada C++, ini bukanlah merupakan bentuk contoh yang benar, karena hal ini sama saja menyatakan bahwa program tersebut tidak mengembalikan nilai apapun dari proses. Hanya saja, kondisi tetap bisa diterima prosesnya pada sistem yang sifatnya berdiri sendiri.
Meskipun bentuk penulisan main(){...} mungkin bukan ide pembuatan kode program yang baik, namun penggunaan void atau int sebenarnya bergantung pada siapa atau apa yang mengeksekusi kode program tersebut, dalam hal ini adalah C++. Seperti yang telah disebutkan sebelumnya, sebagian besar pemanggil OS akan selalu mengharapkan bilangan bulat kembali ketika eskekusi program selesai dijalankan. Namun, kode program apda sistem pengontrol mikro sederhana kemungkinan besar telah dirancang untuk menjadi hal pertama yang dijalankan oleh prosesor dan kemungkinan besar tidak akan pernah mengembalikan nilai return kemanapun. Dalam hal ini int(){return 0;} mungkin hanya membuang-buang waktu yang berharga untuk digunakan.
Catatan: Kompilator yang cerdas adalah kompilator yang hanya akan menghilangkan kode program yang tidak berguna tersebut.
Tidak hanya itu kode program main() akan selalu mengembalikan nilai tipe int, dimana dengan menggunakan void maka akan menghasilkan pesan peringatan pada program. Jadi, pada dasarnya penggunaan void pada main adalah sesuatu yang sifatnya tidak aman atau tidak direkomendasikan. Pada bahasa C Standar atau ANSI dijelaskan bahwa terdapat dua cara untuk melaukan proses deklarasi main, yaitu:
int main(void) dan int main(int argv, char argv1,...)
Ketika kode program int main() mendeklarasikan fungsi utama yang mengembalikan bilangan bulat, maka hal ini pada dasarnya sudah bersifat umum pada program C/C++ karena nomor yang dikembalikan tersebut juga berasal dari fungsi utama, yang dikenal sebagai kode output, yang digunakan ketika proses debug, yang biasa mengembalikan nilai 0, yang mengindikasikan bahwa program telah selesai dijalankan, sedangkan jika nilai yang dikembalikan bukan 0 maka hal tersebut mengindikasikan bahwa program sedang terjadi masalah.
Pada bahasa C, void main tidak memiliki definisi kegunaan apapun, dan terkadang hanya dibuang ke bagian
garbage results atau
error. Namun demikian, main() digunakan untuk proses denotasi dari fungsi main yang akan mengambil bukan nilai argumen apapun dan akan mengembalikan nilai berupa data tipe
integer.
Definisi tersebut tidak pernah digunakan pada bahasa C++, ataupun pada bahasa C. Perhatikan pada standar ISO C++ 3.6.1[2] atau Standar ISO C 5.1.2.2.1.
Contoh:void main(){
// Body
}
Implementasi berikut menerima format yang diberikan:int main(){
// Body
}
danint main(int argc, char* argv[]){
// Body
}
Implementasi sebelumnya mungkin menyediakan lebih banyak versi dari main(), tetapi harus memiliki tipe
return int. Tipe return oleh main() merupakan cara sebuah program untuk mengembalikan sebuah nilai ke sistem yang memanggilnya. Pada sistem yang tidak menyediakan fasilitas untuk mengembalikan nilai, maka nilai tersebut akan diabaikan, tetapi tidak membuat "void main()" menjadi legal pada C++ ataupun pada C.
Catatan: meskipun kompilator menerima void main(), penolakan atau pengabaikan tetap dipertimbangkan pada bahasa C dan C++. Pada bahasa C, main() tidak dibutuhkan untuk mengandung statement return secara eksplisit, dimana pada kondisi ini nilai return adalah 0, yang akan memberikan makna proses eksekusi program berjalan secara sukses atau berhasil.
Contoh:// Program C++ untuk
// mendemonstrasikan fungsi
// main() dengan tipe return.
#include <iostream>
using namespace std;
// Driver Code
int main()
{
cout << "This program return the integer value 0";
}
Output:This program returns the integer value 0Catatan: Baik ISO C++, ataupun C99, kedua memperbolehkan untuk keluar dari tipe atau bentuk deklari yang telah dicontohkan sebelumnya, dimana hal ini sedikit kontras terhadap standar C89 dan ARM C++, dimana int tidak diamsumsikan jika tipe data hilang dari proses deklarasi.
Contoh:#include <iostream>
using namespace std;
// tipe return default dari
// main pada c++ dengan tipe
// int
main()
{
// Bagian Body
cout << "Mengembalikan nilai return integer.";
return 0;
}
Output:
ErrorJika dibuat fungsi
error-free main() tanpa menggunakan
statement return pada bagian akhirnya, maka kompilator secara totomatis akan menambahkan sebuah
statement return dengan tipe data yang telah ditentukan pada bagian akhirnya.
Catatan: bukan merupakan suatu hal yang bijak untuk menggunakan void main() atau main() yang tidak sesuai dengan standar penulisan bahasa pemrograman C++ atau bahasa C, karena dapat menimbulkan pesan
error ketika program dikompilasi atau dijalankan.
Artikel ini didedikasikan kepada: Agusta Leoni Elfrida Purwasih, Aldi Febriyanto, Alfonsus Dhimas Arai Bimasakti, Aliza Shamita, dan Amalia Lutfiana.
Apa yang dimaksud dengan void main() pada C++?
BalasHapusVoid main() pada C++ menunjukkan bahwa fungsi main() tidak akan mengembalikan nilai apapung pada program, sebaliknya int main() menunjukkan bahwa main() dapat mengembalikan data tertentu dengan tipe data bilangan bulat atau tipe data integer.
HapusKenapa harus menggunaan void main pada C++?
BalasHapusTipe data void pada fungsi main dapat digunakan ketika tidak ingin mengembalikan nilai apapun ke fungsi pemanggil. Selain itu, void yang digunakan dengan fungsi main() bertujuan untuk tidak mengembalikan nilai apapun dan dapat digunakan dengan fungsi yang ditentukan pengguna yang telah ditentukan nilainya pada bahasa pemrograman C.
HapusApa yang dilakukan void main pada C++?
BalasHapusVoid main merupakan fungsi yang tidak mengembalikan nilai apapun, atau dalam bentuk sederhanyanya adalah nilai null sehingga dapat mengembalikan tipe data apa saja. Jika ingin menggunakan void main maka dibutuhkan pengembalikan nilai 0 atau nilai apapun sebagai bentuk aturan tertentu. Ketika tidak terdapat nilai apapun yang dikembalikan dari fungsi main, maka bentuk penulisannya adalah void main() karena tipe data void akan diambil sebagai nilai NULL.
Hapus