Selasa, 19 Agustus 2008

Secret of B# (Batch Programming) - Operasi Matematika

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 ……

# Bonus : Membuat Program seperti Kalkulator
::———————————————————————
@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
::———————————————————————



getchar();
end;
source file

0 Komentar:

Posting Komentar

Berlangganan Posting Komentar [Atom]

<< Beranda