Skrip Batch - Fungsi
Hai sana, para pemrogram yang sedang belajar! Hari ini, kita akan melihat dunia yang menarik dari fungsi dalam skrip Batch. Seperti guru komputer yang ramah di lingkungan sekitar Anda, saya sangat gembira untuk mengantar Anda dalam perjalanan ini. Jadi, ambil secangkir minuman kesukaan Anda, dan mari kita mulai!
Apa Itu Fungsi?
Sebelum kita masuk ke hal yang mendalam, mari kita mengerti apa itu fungsi. Berpikir tentang fungsi sebagai pembantu kecil dalam skrip Anda. Mereka seperti program mini dalam program utama Anda yang melakukan tugas-tugas khusus. Seperti halnya Anda meminta teman untuk membantu Anda melakukan tugas tertentu, Anda dapat memanggil fungsi ini untuk melakukan pekerjaan khusus dalam skrip Anda.
Definisi Fungsi
Sekarang, mari kita belajar bagaimana membuat teman kecil ini. Dalam skrip Batch, kita mendefinisikan fungsi menggunakan label. Ini adalah struktur dasar:
:functionName
REM Kode fungsi Anda disini
REM ...
REM ...
goto :eof
mari kitauraikan ini:
-
:functionName
adalah label yang menandai awal fungsi Anda. - Baris-baris setelah label berisi kode sebenarnya dari fungsi Anda.
-
goto :eof
memberitahu skrip untuk melompat ke akhir file, secara efektif mengakhiri fungsi.
Ini adalah contoh sederhana:
:sayHello
echo Hello, World!
goto :eof
Fungsi ini, ketika dipanggil, hanya akan mencetak "Hello, World!" ke konsol.
Memanggil Fungsi
Sekarang kita telah membuat fungsi, bagaimana kita menggunakannya? Kita menggunakan perintah call
. Ini adalah cara:
@echo off
call :sayHello
pause
:sayHello
echo Hello, World!
goto :eof
Ketika Anda menjalankan skrip ini, ia akan mengeluarkan:
Hello, World!
Tekan tombol apa saja untuk melanjutkan . . .
Perintah call
memberitahu skrip untuk menjalankan fungsi sayHello
.
Fungsi Dengan Parameter
Fungsi menjadi lebih kuat saat kita dapat memberikan informasi kepadanya. Informasi ini disebut parameter. Mari kita modifikasi fungsi sayHello
untuk menyapa orang tertentu:
@echo off
call :sayHello John
pause
:sayHello
echo Hello, %~1!
goto :eof
Output:
Hello, John!
Tekan tombol apa saja untuk melanjutkan . . .
Dalam contoh ini, %~1
mewakili parameter pertama yang diberikan ke fungsi. Ketika kita memanggil sayHello John
, "John" menjadi parameter pertama.
Fungsi Dengan Banyak Parameter
Kita dapat memberikan banyak parameter ke fungsi. Mari kita buat fungsi yang menambahkan dua bilangan:
@echo off
call :addNumbers 5 3
pause
:addNumbers
set /a result=%~1 + %~2
echo The sum of %~1 and %~2 is %result%
goto :eof
Output:
The sum of 5 and 3 is 8
Tekan tombol apa saja untuk melanjutkan . . .
Di sini, %~1
mewakili parameter pertama (5), dan %~2
mewakili parameter kedua (3).
Mengembalikan Nilai Dari Fungsi
Dalam skrip Batch, fungsi tidak mengembalikan nilai dalam arti tradisional. Namun, kita dapat menggunakan variabel lingkungan untuk mensimulasikan perilaku ini:
@echo off
call :multiply 6 7
echo The result is %result%
pause
:multiply
set /a result=%~1 * %~2
goto :eof
Output:
The result is 42
Tekan tombol apa saja untuk melanjutkan . . .
Dalam contoh ini, fungsi multiply
mengatur variabel result
, yang kita dapat gunakan dalam skrip utama.
Variabel Lokal Dalam Fungsi
Ketika bekerja dengan fungsi, seringkali baik untuk menggunakan variabel lokal agar tidak mengganggu variabel di skrip utama. Kita dapat melakukan ini menggunakan perintah setlocal
dan endlocal
:
@echo off
set globalVar=I'm global
call :localVarDemo
echo After function call: %globalVar%
pause
:localVarDemo
setlocal
set globalVar=I'm local
echo Inside function: %globalVar%
endlocal
goto :eof
Output:
Inside function: I'm local
After function call: I'm global
Tekan tombol apa saja untuk melanjutkan . . .
Perintah setlocal
membuat lingkungan baru untuk fungsi, dan endlocal
menghapusnya saat fungsi berakhir, menjaga nilai asli globalVar
.
Pustaka Fungsi
Saat skrip Anda menjadi lebih kompleks, Anda mungkin menemukan bahwa Anda menggunaan fungsi yang sama dalam banyak skrip. Daripada menyalin dan menempelkan fungsi ini ke setiap skrip, Anda dapat membuat pustaka fungsi:
- Buat file baru, mari kita sebutnya
myFunctions.bat
- Tempatkan fungsi yang umum digunakan Anda di dalam file ini
- Di dalam skrip utama Anda, gunakan perintah
call
untuk menjalankan file ini sebelum menggunakan fungsi-fungsi ini
myFunctions.bat:
:sayHello
echo Hello, %~1!
goto :eof
:addNumbers
set /a result=%~1 + %~2
goto :eof
mainScript.bat:
@echo off
call myFunctions.bat
call :sayHello World
call :addNumbers 10 20
echo The sum is %result%
pause
Pendekatan ini membantu mengorganisir dan memakai kode Anda kembali.
Metode Umum Fungsi
Berikut adalah tabel metode umum yang berkaitan dengan fungsi dalam skrip Batch:
Metode | Deskripsi |
---|---|
call | Memanggil fungsi |
goto :eof | Mengakhiri fungsi |
%~1, %~2, dll. | Mengakses parameter fungsi |
setlocal | Membuat lingkungan variabel lokal |
endlocal | Mengakhiri lingkungan lokal |
Ingat, latihan membuat sempurna! Jangan khawatir untuk mencoba konsep ini. Buat fungsi Anda sendiri, mainkan dengan parameter, dan lihat apa yang Anda bisa bangun. Sebelum Anda tahu, Anda akan menulis skrip Batch kompleks dengan mudah!
Selamat coding, para pemrogram masa depan!
Credits: Image by storyset