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

Artikel Lainnya

  1. Tutorial Batch Programming I Waaaah…sekarang dah bisa tenang soalx UAS udah selesai jd disempetin buat nulis artikel. Buat yang masih UAS semangat coy..kl pengen jawaban smsin-aq aja, ntar aq blsin jawabannya..::: Ok, Pemirsa ketemu...
  2. Pesan Di Awal Start Up Tambahkan tulisan berikut pada file autoexec.bat: Echo off Cls Echo Komputer ini milik Rossi Echo. Echo Jadi jangan diobok-obok ya... Echo. For %%C in(A B C D E F G...
  3. Mengirim Pesan dengan Net Send Net Send merupakan service yang terdapat pada Windows XP. Dengan menggunakan Net Send kita dapat mengirim pesan ke sesama pengguna komputer dalam satu jaringan. Syntax: net send {name | *...





Artikel Menarik Lainnya:


33 Responses to “Secret of B# (Batch Programming) – Operasi Matematika”

  • kriptonhaz says:

    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

  • Fen_Li says:

    @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….
    ,*)

  • bionk says:

    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?

  • Rochman says:

    ok tuch….. ak tunggu volume 2 nya…. bis bhs di CMD itu membuat orang menjadi semangat………..
    AKU NATIKAN VOL 2 NYA…

  • CyberOrca says:

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

  • freyza says:

    good….good…good…….
    teruskan buat vol 2nya

  • Fen_Li says:

    @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..:)

  • bionk says:

    operasu matematika sistem penanggalan contohnya spt
    31/12007 + 1 hari = 1/2/2007
    31/1/2007 – 1 minggu = 24/1/2007 dst..dst …. (“,)

  • Fen_Li says:

    @bionk
    oo..spt itu .. :D
    truz, mengaplikasikannya bgmn ?
    ada contoh softwarenya gak ?? (dlm bhs lain : VB,Delphi or C++)
    mungkin bs gw buatin versi batchfile-nya..

  • Chaos says:

    thank you for your information, I really need this information, once again thank you very much

  • Si Gaptek says:

    CMD itu apaan?

  • meong:p says:

    klo bikin pesan tp yg muncul setiap bbrp detik ato menit misalkan, itu gimana caranya ya… :D terima kasih.

    jd gini.. aku mo taruh tuh file batch di startup, buat pesan ke pengguna komputer
    tp biar muncul selang bbrp menit

  • aldy says:

    saya suka dengan artikel ini
    tilonh di perbanyak artikel nya
    yang lebih menarik lagi

    terrimakasih

  • the anjal says:

    maaf kalo bisa yg nangkap pesan dari net send dalam jaringan lokal bisakah..??

  • bionk says:

    @bionk
    oo..spt itu .. :D
    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

  • nocturno.net says:

    # 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… :D 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….

  • Bayu says:

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

  • rhozapermana says:

    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 :D :-*

  • jon says:

    kirimin datasbase nya

  • si bodoh says:

    ngetiknya di mana

  • Fen_Li says:

    @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

  • adul says:

    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

  • kangdjiman says:

    weeeeeeeeeeeeeeeeh semua baiiikkkkk toook ga da yang jelek, baik tuk jiwa dan raga IT Indo QT Dw
    salam gabung dari kakangdjiman

  • Fen_Li says:

    @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..

  • franky says:

    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.

  • Roy Martin Manik says:

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

  • krisnanda says:

    izin copas boleh kan ???

  • Fen_Li says:

    @krisnanda
    monggoo..

  • AnDi says:

    Ada yang tau nggak gmn syntax untu manggil file atau program lain dari batch.

    Thanx

  • glaydenty says:

    keren banget, udah lama aku cari2 ttg batch eh nyasar disini.
    btw kasi tau dunk bahasa untuk ngebuat file atau copy file gmn tuh.? n_n

  • Tosa Dilaksana Wisnu says:

    Wah numpang nanya niy, kalo punya aplikasi contoh notepad yang kebuka di windows xp, truss untuk buat macro nya dari bat file sehingga nanti bisa di schedulin gimana yah ??? contohnya bikin macro untuk notepad yang jalan di PID 1234 kemudian pengen kita pilih dan kita lakukan find & replace untuk karakter A misalnya ???

    regards

    Tosa D WIsnu

  • noskill says:

    Kalo mau bikin (ceritanya) masukkan password, misalnya 12345, tapi yg keliatan di command prompt jadi *****. Gmn ya?

  • Leave a Reply:

    Name (required):
    Mail (will not be published) (required):
    Website:
    Comment (required):
    XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

    Please copy the string PryLJ1 to the field below: