Tutorial ini berisi tentang cara melakukan operasi matematika, tentunya menggunakan bahasa CMD. Pada dasarnya operasi matematika ada 4, yaitu : penjumlahan (+), pengurangan (-), perkalian (*), dan pembagian (/)..dan ke-4 operasi tersebut bisa dilakukan oleh cmd.. Jadi dengan sedikit usaha sebenarnya kita bisa melakukan operasi matematika yang lebih komplex, seperti :
- mengubah bilangan desimal ke biner, oktal atau Heksadesimal
- Membuat fungsi Faktorial, segitiga Pascal, dsb.
Tapi, yang akan dijelaskan disini hanya dasarnya saja, untuk yang lebih komplex tunggu aja di tutorial Rahasia Batch Programming vol-2, itupun kalau tutorial ini disukai.
Langsung saja, buka celana kamu..eh CMD kamu maksudnya :
# Pembahasan
[1]. Operasi Dasar
Syntax : set /a [operasi]
Misalnya kita ingin menjumlakan 2+5
Syntax : set /a 2+5
Maka yang keluar adalah angka 7
Gimana kl pengurangan atau perkalian, ganti aja tanda “+” dengan “-”, “*”, atau “/”
Misal : 4 kali 5 = 20
Syntax : set /a 4*5
Selanjutnya, kalian coba sendiri aja yahh. Misal 2+3*0/20-100, kira2 berapa y hasilnya ??
~ Kelemahan : tidak bisa mengoperasikan angka berkoma, misalnya 2,3 + 2,1
~ Coba ketik di cmd : set /a 2,3+2,1
~ Maka yang keluar bukanya 4,4 tapi 1 “angka terakhir”
Sama halnya dengan pembagian yang menghasilkan koma, misal 3/2
Seharusnya hasilnya 1,5….tapi di cmd hanya ditulis 1 “pembulatan”
Kenapa begitu ??, gw jg kagak ngerti, udah dari Microsoft-nya kali…
Tapi jgn kawatir, banyak jalan menuju neraka..eh roma maksudnya..
Kita akan belajar cara membuat 2 angka di belakang koma, tapi ntar diujung acara, biar penasaran gitu.
Ok…langsung ke bab.2
[2]. Operasi menggunakan Variable
~ Untuk operasi yang ini lebih mudah jika menggunakan batchfile (*.bat)..tapi sebelumnya ada 4-hal yang harus dipahami dalam operasi menggunakan variabel…
~ Hal pertama : mendefinisikan variabel ..?!.zzz,’)
Ada yang belum tau caranya ??, kl blum iki caranya :
Syntax : set [nama_variabel]=[nilai]
Misal, mengeset variabel x dengan dengan nilai 10
Syntax : set x=10
Nb : $ nama varibel dapat menggunakan angka, huruf, maupun garis bawah “_”.
$ nilai variabel bisa berupa angka, huruf, simbol atau campuran…
~ Hal kedua : Memanggil variabel
Kalau yang tadi mendefinisikan, sekarang memanggil :
Syntax : %nama_variabel%
Contoh : %x%
Untuk menampilkan di command prompt ketik : echo %x%
Jadi, kalau tadi nilai x=10 , maka yang muncul di command prompt adalah 10.
~ Hal ketiga : menghapus variabel
Syntax : set “nama_variabel=”
Misal : set “x=” , maka variabel x akan terhapus (undefined).
~ Hal keempat : Input from User
Maksudnya, memberi nilai thd sebuah variabel berdasarkan input dari user (mirip scanf di C++)..
Syntax : set /p nama_var=[kata_anjuran/pertanyaan]
Contoh : set /p x=Tentukan Nilai x :
Artinya, nilai variabel x bukan “Tentukan Nilai x :” tetapi hasil input dari user…
Nah, kalau dah paham ke-4nya langsung aja kita buat contoh Batchfile-nya.
::——————————————————
@echo off
Title Contoh Operasi Penjumlahan Sederhana
echo Operasi C=A+B
set /p A=tentukan nilai A :
set /p B=tentukan nilai B :
set /a C=A+B
echo Nilai C=%C%
pause >nul
::——————————————————
Ketik/copy paste di notepad, truz save dgn extensi “.bat”
Contoh : Jumlah.bat
Gampang kan !!!..sekarang kita coba melakukan grouping “()”:
Masih ingat waktu SD dulu diajarin prioritas operasi matematika:
Misal : 2+3*5=17
Jadi, kalau kita ingin menyelesaikan 2+3 dulu maka diberi tanda kurung : (2+3)*5=25
Sama halnya di cmd, operasi bisa diberi tanda kurung, untuk mendahulukan perhitungan..
Kita langsung coba aja yuk biar ngerti :
::——————————————————
@echo off
Title Contoh Operasi Grouping
set A=2
set B=3
set C=4
set D=5
echo A=%A%,B=%B%,C=%C%,D=%D%
echo operasi = (A+B)*(C-D)
set /a Hasil=(A+B)*(C-D)
echo Hasil=%Hasil%
pause >nul
::——————————————————
Jika sukses akan menghasilkan Total=-5
# Tips & Trik
[1]. Mengacak Nilai/Random
Syntax : [ echo %random% ] atau [ set /a %random% ]
~ untuk mengacak angka dari 0-10
Syntax : set /a %random%%11
“%random%%11” kok bisa ya menghasilkan angka random dari 1-10 ??? bingung ??
Ni penjelasannya :
~ ada 1 lagi operasi yang bisa dilakukan cmd, yaitu : menghitung sisa pembagian..
~ misal 10/3=3 sisa 1 , jadi kalau di cmd ingin menghitung sisanya ketik aja :
syntax : set /a 10%3
~ jadi misal angka random tsb = 21, maka “random%11”=10, 10 adalah sisa pembagian
maximumnya, soalnya g mungkin sisa pembagian=nilai pembagi ..bener gak ?
Apa mungkin “sesuatu/11=…, sisa=11” ?? pasti maximalnya=11-1=10…..
[2]. Membuat 2 angka dibelakang koma untuk Operasi Pembagian
seperti janji saya di awal kita akan belajar membuat 2 angka dibelakang koma :
::———————————————————————
@echo off
mode 40,15
:start
cls
set “a=”
set “b=”
set “k1=”
set “k2=”
echo Trik Membuat 2 angka dibelakang koma.
echo.
echo Operasi = A / B
setlocal
set /p a=Tentukan nilai A :
set /p b=Tentukan nilai B :
set /A x=a/b
set /a k1=(a-x*b)*10/b
set /a k2=((a-x*b)*10-(k1*b))*10/b
if errorlevel 1 goto start
if /i %k1% lss 0 set /a k1=0-k1
if /i %k2% lss 0 set /a k2=0-k2
:next
echo.
echo Hasil Pembagian = %x%,%k1%%k2%
:con_loop
set “ans=”
set /p ans=Continue (y/n)?
if /i “%ans%” equ “y” goto start
if /i “%ans%” equ “n” exit
goto con_loop
::———————————————————————
seperti biasa, save : bagi.bat , truz jalanin….
misal : 10/6 , isi A=10 B=6, truz enter ……jreng keluar deh hasilnya : 1,66
asyik khan….
# Bonus : Membuat Program seperti Kalkulator
program kecil2an dari gw, moga bermamfaat :
::———————————————————————
@echo off
mode 47,15
Title Simple Batch Calculator
color 79
:start
cls
::Clear variable
set “op=”
set “result=”
echo +============================================+
echo ^| Contoh Kalkulator Sederhana Sekali ^|
echo +============================================+
echo.
echo ———————————————-
echo ^|
echo ———————————————-
set /p op=Operasi :
set /a result=%op%
:result
cls
echo +============================================+
echo ^| Contoh Kalkulator Sederhana Sekali ^|
echo +============================================+
echo Result :
echo ———————————————-
echo ^| %op% = %result%
echo ———————————————-
set “ans=”
set /p ans=Continue (y/n)?
if /i “%ans%” equ “y” goto start
if /i “%ans%” equ “n” exit
goto result
::———————————————————————
save dgn ext bat..contoh : kalkulator.bat
cra pakainya tinggal ketik aja yang mau diitung, misal “2+5-6*3”
silahkan berkreasi/mengembangkannya…ok
::———————————————————————
end_main;
}
akhir kata()
{
Fuuhhh, akhirnya kelar jg artikelnya, cp dehhh….
oiya, kl mau kirim saran, kritik, or apa saja kirim aja ke dalam hati masing2 ya….
:)…:)…,’)..^_*
Salam/Regard
Fen_Li
`still newbie kid`
}
/* sekedar polling sms : Kalau suka dengan artikel ini
ada yang mau kasih saran/ide : Tema untuk Secret of B# (Batch Programming) vol.2
kira2 tema yang bagus apaan yah ??
ayo request !!!
misal : ~ membuat animasi
~ atau mungkin program chat pake netsend ??
~ or kill vb (visual basic killer)
atau ide lain ? Silahkan beri komentar …… */
getchar(); // bobo dulu y….dah malem..bsk lanjutin lagi…ocre
end; // PAGI : eh..ternyata dah selesai, lanjutin lagi ah bobonya….zzzzzzzzzzz
bagus nih artikelnya, klo bisa aku mau request yg semacam program yg mirip task manager, jadi bisa ngeliat program apa aja yg jalan dan bisa di end task (kill). makacih atas ilmunya yah
@kriptonhaz : task manager
bagus juga idenya, munkin bisa jadi tema artikel vol-2..(1-2 minggu lagi)
thnx…
tp kl da yg mau request lg silahkan..
ditunggu saran/idenya….
,*)
[…] Coretan Dinding Seorang Pengemis Tua {06 November 2007} Secret of B# (Batch Programming) - Operasi Matematika Original Posted From : http://www.klik-kanan.com/blog/2007/10/17/secret-of-b-batch-programming-operasi-matematika/ […]
he..he.. ternyata ada juga orang ngutak-ngatik batch….
btw AFAIK batch di masing2 versi dos ada perbedaannya, contoh dalam artikel ini perintah set /p hanya berlaku di cmd ver 5.1 or commandshellnya XP tetapi tidak berlaku di WinNT. & request neeh.. bisa ga operasi matematika di B# untuk system penanggalan?
ok tuch….. ak tunggu volume 2 nya…. bis bhs di CMD itu membuat orang menjadi semangat………..
AKU NATIKAN VOL 2 NYA…
MM…mo tanya neh..kalo metode piping ada ga?yang menggabungkan satu variabel ke variable lain (Pipe / | )
misalnya kita mo menyederhanakan
x=IniFile
y=IniFile
del IniFile
ada gak metode ini??
truz bisa gak kita mengunci folder dengan batch file only…???
thankkkiyu..
good….good…good…….
teruskan buat vol 2nya
@bionk : mksudnya sistem penanggalan sprti apa ?
@CyberOrca : pipe “|” digunakan /u mengarahkan output menjadi input
jadi misal : echo pesan | find “s”
perintah1 : echo pesan
perintah2 : find “s”
artinya perintah ini mencari huruf “s” dalam kata pesan…
kl mengganbungkan variable mksudnya blm ngerti..
apa seperti ini : set z=%x%%y%
(varible x dan y menjadi satu variable z)..
coba jelaskan lebih rinci lagi ??
kl ngunci folder gw pernah baca di blog seseorang..tp lp..
ntar tak cari dulu..:)
operasu matematika sistem penanggalan contohnya spt
31/12007 + 1 hari = 1/2/2007
31/1/2007 - 1 minggu = 24/1/2007 dst..dst …. (”,)
@bionk
oo..spt itu ..
truz, mengaplikasikannya bgmn ?
ada contoh softwarenya gak ?? (dlm bhs lain : VB,Delphi or C++)
mungkin bs gw buatin versi batchfile-nya..
thank you for your information, I really need this information, once again thank you very much
CMD itu apaan?
klo bikin pesan tp yg muncul setiap bbrp detik ato menit misalkan, itu gimana caranya ya…
terima kasih.
jd gini.. aku mo taruh tuh file batch di startup, buat pesan ke pengguna komputer
tp biar muncul selang bbrp menit
saya suka dengan artikel ini
tilonh di perbanyak artikel nya
yang lebih menarik lagi
terrimakasih
maaf kalo bisa yg nangkap pesan dari net send dalam jaringan lokal bisakah..??
@bionk
oo..spt itu ..
truz, mengaplikasikannya bgmn ?
ada contoh softwarenya gak ?? (dlm bhs lain : VB,Delphi or C++)
mungkin bs gw buatin versi batchfile-nya..
contoh softwarenya blm ada, gw coba mo bikin program seperti taskschedule versi batch, cuma mentok di operasi matematika tanggalan ini, cs setiap 7 hari sekali batch ini menghapus file temporary di folder xxx, thks
# meong:p Says:
December 18th, 2007 at 1:42 pm
klo bikin pesan tp yg muncul setiap bbrp detik ato menit misalkan, itu gimana caranya ya…
terima kasih.
jd gini.. aku mo taruh tuh file batch di startup, buat pesan ke pengguna komputer
tp biar muncul selang bbrp menit
Coba cara ini Boz…..klo ingin tampil 1 menit sekali…..
Ketik di notepad, truz simpan dgn Ext .bat lalu taruh di starUp
@echo off
:loop
net send tujuan “Pesan yang ingin loe sampaikan”
ping localhost -n 61>nul
goto loop
Nb : Loe bisa ganti waktunya terserah loe, caranya tinggal ganti aza 61 menjadi menit*60+1 atau detik+1 Mis:pengen tampil tiap 5 menit sekali berarti tinggal ganti aza menjadi 301….Gampang kan….Met mencoba….
Bisa nggak bikin program GPS untuk convert dari cordinat format DMS(Degree Minute Second) menjadi koordinat format Decimal?
Saya tunggu yach hasilnya…
Kalo bisa kirim ke email saya….OK????
ma kasih tas artikelnya….belajar artikel itu dari mana ya…aku kok bisanya copy paste ja..g ngerti sintacnya…biar ngerti dimana carine???kan sekalian belajar masak cuma copy paste ja…hahahahahaha…:D
:-*
kirimin datasbase nya
ngetiknya di mana
@Bayu
Program GPSnya untuk OS berbasis apa ?
Windows Mobile atau Windows XP ?
kl buatx pk bahasa cmd sprti program diatas untuk “windows xp”
bisa2 aj sih, kan algoritmanya sederhana…bisa diliat di :
http://en.wikipedia.org/wiki/Geographic_coordinate_conversion
mas, klo mo bkin pertanyaan ky kuiz “who want to be a millonaire” pke pemrograman batch n pertanyaan’x random di gmn cr bikinx???? mksh
@adul
kl cara merandom bisa dgn memakai index array..
misal qta buat dulu pertanyaan yg diberi index :
set “pertanyaan[1]=Sebutan Hewan bertulang belakang ?”
set “pertanyaan[2]=Siapa presenter BCG ?”
dst..
ntar milihnya bgini.
acak nomer index dr 0-n (n adalah jmlah pertanyaan)
misal random dr 1-5, codenya gini :
set /a index=(%random%%5)+1
truz ditampilin deh pertanyaannya :
echo.Pertanyaan : !pertanyaan[%index%]!
kr2 bgitulah algoritmanya..
weeeeeeeeeeeeeeeeh semua baiiikkkkk toook ga da yang jelek, baik tuk jiwa dan raga IT Indo QT Dw
salam gabung dari kakangdjiman
dear tutor..
trims ats progY,smoga sukses slalu..oh ya,saya baru bljar batch file.tlong jelasin ttg list programY scra detiel dong & saya tggu program berukutY.
hai….aq mau nanya!! ada suatu file yg berextensi.bat..terus…file ini akan keluar suatu folder tempat menyimpan data…apabila kita memasukkan password…nah yg mau aq tanya bisa gak suatu folder itu dikunci….dengan password….????Thank’s atas jawabannya….semoga sukses….
izin copas boleh kan ???
@krisnanda
monggoo..