Copy Link
Add to Bookmark
Report

Echo Magazine Issue 21 Phile 0x004

eZine's profile picture
Published in 
Echo Magazine
 · 21 Aug 2020

  

.:: .:
.:: .:::.:: .:: .:::: .:: .:: .:: .::
.: .:: .:: .: .: .:: .:: .:: .:: .:: .:: .: .::
.::::: .::.:: .:: .::.:: .:: .:: .:: .:: .::.::::: .::
.: .:: .: .:: .:: .:: .:: .:: .:: .::.:
.:::: .:::.:: .:: .:: .::::::::.::.::: .:: .::::

ECHO MAGAZINE VOLUME VII, ISSUE XXI, PHILE 0x004.TXT

NEWCOMER SERIES: Parameter argc dan argv[]
Ditulis oleh: rey, enreina@gmail.com


===// Pendahuluan \\===

Dalam pemrograman C++ (dan bahasa pemrograman lain), biasanya
dianjurkan untuk memasukan parameter argc dan argv dalam function main,
seperti ini:

--------\\mulai kode

int main(int argc, char* argv[]) {
//kode dalam function main
}

--------//akhir kode

Sebenarnya apa kegunaan parameter argc dan argv ini?

===// Kegunaan argc dan argv \\===

Paramater argc dan argv digunakan oleh program berbasis command line (yang
biasanya dijalankan di terminal / command prompt) sebagai argumen program
tersebut. Contoh :

cd /home/User

Dalam command cd (change directory) di atas, '/home/User' adalah argumen
untuk command cd.

===// Implementasi \\===

Sebuah contoh program klasik "Hello World" yang ditambahkan penggunaan
argc dan argv :

--------\\mulai kode (helloworld.cpp)
#include <iostream>

int main(int argc, char** argv) {

if (argc == 1) {
std::cout << "Halo, orang tak dikenal\n";
}
else if (argc == 2) {
std::cout << "Halo, " << argv[1] << "\n";
}
else {
std::cout << "Jalankan program dengan command '" << argv[0] << "' atau '" << argv[0] << " [nama]' \n";
}

return 0;
}
--------//akhir kode--

===// Penjelasan Kode \\==

Pada contoh kode di atas, terlihat argc (Argument Count) yang bertipe
data integer adalah parameter yang memberitahukan function main jumlah
argumen yang digunakan. Jumlah ini pasti berjumlah 1 atau lebih, yaitu
nama program itu sendiri ditambah dengan argumen yang
diberikan user.

Jika dicompile, dan dijalankan dengan command "helloworld" saja, maka
argc = 1, dan program hanya akan memberi output seperti percabangan
pertama yaitu "Halo, orang tak dikenal".

Lalu, argv (Argument Vector) menyimpan argumen-argumen yang diberikan
user dalam array. Nama program disimpan dalam argv[0] (ingat, indeks
array selalu dimulai dari 0). Sehingga, jika user memberikan 1 argumen,
misalnya "helloworld echo", maka argc = 2, dan program akan menampilkan
output seperti percabangan kedua yaitu "Halo, echo".

Sedangkan pada percabangan terakhir, jika jumlah argc melebihi 2 (user
memberikan 2 argumen), maka program akan menginformasikan user penggunaan
program helloworld tersebut.

===// Pada Bahasa Pemrograman Lain \\===

Dalam Java, argumen command line diberitahukan ke fungsi main menggunakan
parameter args (berupa array string), dan tidak seperti argv di C dan C++,
args di Java tidak menyimpan nama program itu sendiri.

Sedangkan dalam Pascal, argument count (jumlah argumen) tersimpan di
ParamCount dan bisa diakses sebagai string melalui ParamStr.

(Selengkapnya lihat referensi [1])

===// Catatan Tambahan \\===

Untuk mengcompile source code dengan terminal, cd ke direktori tempat
disimpannya source code lalu :

g++ helloworld.cpp -o helloworld

Untuk menjalankan program:

./helloworld nama

===// Referensi \\===

[1] http://en.wikipedia.org/wiki/Main_function_(programming)
[2] http://www.java-samples.com/showtutorial.php?tutorialid=460
[3] http://www.cprogramming.com/tutorial/lesson14.html

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT