Sunday, June 15, 2008

A Gift of Sight: Visual Perception Treatment for Autistic Children

Autism effects every child differently, so it is difficult to find the exact treatments your child needs to cope with his or her symptoms. One thing that effects some autistic children (though, not all) is problems with visual perception. By using some standardized methods to help improve visual perception, you can give your child the ability to see the world more clearly, making learning and comprehension easier and possibly curbing some behavior problems as well.

Autistic children mainly have problems with sensory overload and distortion. These are some of the same problems many people not suffering from the disorder develop, and so many treatment options have become available. Individuals with autism often find, however, that the sensory overload of the world due to light, colors, contrast, shapes, and patterns, is too much to handle, causing them to act out or shut down in general. This is sometimes a genetic condition that is simply enhanced by the autism, so if the child's parents have trouble with reading or have been otherwise treated for visual perceptive problems, there is a good chance that the child needs help as well.

The Irene Method is one effective way to treat visual perception disorders. This method uses color to create a more harmonized world. You may have heard of these methods if anyone has ever suggested using a color filter over the page when reading to be able to read better and more quickly. This method is proven to work, and if your autistic child is at the maturity level of reading, you may want to try these color filters to see if there is a difference in speed and comprehension. However, it is more likely that your autistic child will benefit from color filters during the entire day, not just when reading. Special glasses have been made using colored lenses to conquer this problem. Not every child responds the same way to every color, so it is a process of trial and error to find out which color is the one blocking the harmful light. You can also choose to use colored light bulbs in your home to help autistic individuals with their visual perception problems.

This method mainly helps children in 4 areas: depth perception, social interaction, learning, and physical well being. The colors help the child determine how far he or she is from an object, and the world becomes more three-dimensional, helping depth perception. Social interaction also improves because the child feels as though he or she is in a calmer world and can more clearly see and interpret facial expressions. The colors make it possible to learn, especially when reading, and overall, the child will feel better, because it helps reduce headaches and dizziness. By testing this technique and others to help visual perception problems, you can help your child better cope with the world and his or her autism.

Friday, May 9, 2008

Installation Trend Micro OfficeScan Server

How-To: Install Trend Micro Office scan Server

Installing or Upgrading Office Scan Server

  1. Open the folder that contains the setup files and double click Setup (setup.exe). the windows screen appears
  2. Click Next. The Office Scan Software Licensee Agreement screen appears.
  3. Read the agreement carefully, and then click Yes to agree to akk the terms. The Cisco NAC License Agreement screen appears.
  4. Read the agreement carefully, and then click Yes to agree to all terms. If you do not agree at the time, you can't deploy Cisco NAC Police Servers. You can choose not to agree ata the time and latter agree to this license of the Office Scan server Web console. The Choose Destination screen appears.
  5. Choose where to install or upgrade to this version of Office Scan by clicking one of the following :
  • I will install/upgrade Offices can Server on this Computer
  • I will install/upgrade Office Scan Server on a remote computer or on multiple computer

    If you selected to install on the computer you are currently using, the Web
    Server screen appears.

    If you selected to install on remote computer on or multiple computer, the Install Destination screen appears. Do following:

  1. Type the computer name or click Browse and select computer on your network.
  2. Click Add. The computer name appears in the text box. Continue adding as many computers as necessary.

    If have list of computer names saved as a text (.txt) file, click Import list and select the file.

    To delete an entry in the list, select it and then click Remove.

  3. Click Next.

    Note :     If you are upgrading remotely, Office Scan preserves the original settings from the previous installation , including the server name, proxy server information, and port number, you can't modify these setting during upgrading. Use the Office Scan Web console to modify these setting.

  1. Choose the Web server for the Office Scan server:
  • IIS server: click Install Office Scan server on the IIS server to install Office Scan on an existing IIS installation.
  • Apache 2.0: click Install Office Scan server on Apache Web server 2.0 to install Apache 2.0x on an existing installation. If an Apache Web server version 2.0 or later installation is not found, Apache will be installed automatically.


        Before installing the Apache Web server, refer to the Apache Web Server version site for the latest information on upgrade, patches, and security issue:

    Note: Office Scan will run on an Apache Web Server only on Windows 2000/XP/Server 2003 machines.

  1. Click Next. The Server Information screen appears.
  2. Configurations the following information:
  • Server information: click one of the following:
    • Domain Name: verify the target server domain name. you can also use the server's fully qualified domain name (FQDN) if the client has access to the DNS server, which can resolve the FQDN with the client's IP address.
    • IP address: verify that the target server 's IP address is correct. Choose IP address is not recommended if the OfficeScan obtains IP address from a DHCP.

      Tip: Clicking IP address is not recommended if the Office Scan obtains an IP address from a DHCP server

      If the server has multiple network interface cards (NICs), Trend Micro recommends using one of the IP address, instead of the domain name or FQDN.

  • If you selected to install OfficeScan on an IIS server, select one of the following in the IIS Website section:
    • IIS default Web Site - click to install as an IIS default Web site ( in the IIS default Web site folder)
    • IIS virtual web site – click to install as asn IIS virtual Web site (in the IIS virual web site folder)
  • Under Port Name, type a port to use as the server listening port. The Office Scan server's address will be the following:

    http://(officeScan_server_name):(port number)/Officescan

  • You also have the option of enabling Secure Socket Layer (SSL) security.

    Select the Enable SSL check box. Type the number of year to keep the SSL certificate valid ( the default is 3 years) and type an SSL port number. If youenable SSL, this port number will serve as server's listening port. The OfficeScan server's address will be as follows:

    https://(officeScan_server_name):(port number)/Officescan

    Tip: Trend Micro highly recommends enabling SSL to enhance security between the web console and server.

  • To change the target directory location to install Officescan server, click Browse and select or create a new folder.
  1. Click Next. A confirmation windows appears. Verify that the port number is correct. Officescan uses the same TCP port number that your HTTP server is using. Setup automatically retrieves this port number and displays it om this screen. Make sure your HTTP port number and port are the same. This will be the port number on the server through which the administrator connects to the Web console.
  2. Click Yes to continue
  • If installing Office Scan on the current computer (if you selected I will install/upgrade OfficeScan Server on this computer on the Choose Destination screen), the Target Server Analysis screen appear. Do the following:
  1. Click Analysis. The installer check the computer to find out if it requieris a new OfficeScan server program installation or an upgrade. You may need to type the administrator user name and password for that computer. If so, click Ok after typing the information. The result appears under Status on the Target Server Analysis screen.

    Note: if the installer cannot determine this information for any computer you selected, failed appears under Status, and the installer will not install Officescan server on the selected computer. At least one computer must pass the analysis before the installation can continue.

  2. To cave the list of computer you selected, click Export in the Target
    Server Analysis screen. The list is saved as a text file(.txt)
  1. If your organization uses a proxy server, type the required information such as the proxy address, port, and your user name and password for proxy server authentication. If your organization uses SOSKS 4, select the Use SOCKS 4 check boxes.

    Verify that the information you provided on the screens correct. The offices can server will use this information to connect to the Trend Micro update server and download update components, such as pattern files and scan engines.

    Click Next. The Component Selection screen appears.

  2. Create Office Scan administration passwords for access to the web console and for clients to unload/uninstall the client program. Confirm the password in the text boxes. This helps prevent unauthorized users from accessing the Web console and modifying your setting or removing the clients.
  3. Click Next. The Component Selection screen appears.
  4. Select the check boxes next to the component to install or enable:
  • Install client protection to target OfficeScan server: install the OfficeScan client program on the same machine you are installing the OfficeScan Server.

    Note: The Install client protection to target OfficeScaan server check box appears only if no installation of OfficeScan client exists on the machine. If an OfficeScan installation exists, the installer upgrades it automatically.

    You cannot install the Office Scan client program on machine running Trend Micro Server ProtectTM for windows N.T Uninstall Server Protect before installing OfficeScan client to the OfficeScan server machine.

  • Install Control Manager agent: install the control Manager agent to allow Control Manager to manager the OfficeScan server (see the Administrator's Guide and the OfficeScan online help for more information)
  • Enable Agent Deployment for Cisco NAC: automatically deploy the Cisco Trust Agent at later time thought the Web console (see the Administration's Guide and the OfficeScan online help for more information)

    Note: Install for Control Manager agent and policy Server for Cisco NAC continue after OfficeScan server installation (see Step 35).

  1. Click Next. The World Virus Tracking Program screen appears
  1. Read the statement and click Yes to enroll in the World Virus Tracking Program or click No to decline to participated.
    1. Click Next. The Server Setting Finished screen appears.
    2. Click Next. The Product Activation screen appears.
  2. If you have Activation code for OfficeScan click Next. The Product Activation screen appears.

    If you don't have activation code, click Register Online. Your Web browser opens to the Trend Micro registration Web Site.

    1. Type the Activation Codes for following:
  • Standard Antivirus: to install officescan
  • Damage Cleanup Services: to install Damage Cleanup Services (optional)
  1. Click Next. the Product Registration Setting Finished screen appears.
  2. Conform that the correct item will be installed.

    Note: Where you install Office Scan server, Enterprise Client Firewall is also installed. If you do not want to install Enterprise Client Firewall, clear the install Enterprise Client Firewall check box.

  3. Click Next. The Client Installation Path screen appears.
  4. Do the following to set an installing path.
  • Type an installation path.
  • Click Enable network scan for mapped drives and shared folders to have Officescan client include mapped drive and ahared folder during scanning.
  • Modify the trusted port number so that it does not conflict with any another port used in your internal network. This is randomly generated port number
  1. Click Next. A confirmation screen appears
  2. Verify the port number and click Ok to continue. The Client Alert Massage screen appears.
  3. Modify the default alert message that appear on client machines if Officescan detect virus, spyware or gray ware application , a fire wall violation, and/or a network virus.
  4. Click Next. The Client Security Level sceen appears.
  5. Click one of the following:
  • Normal: assigns the access privileges already configuration for the client Program Files and registry files to OfficeScan client files and Office Scan client registries.
  • High: restricts access privileges to Office Scan client files and Office Scan client registries.

    Note :    If you select High, the access permissions settings of the office scan folders, files, and registries are inherited from the WINNT file (for client machines running Windows NT) of from the program files folder (for client machines running Windows 2000/XP/Server2003)

  1. Select Enable Spyware/Grayware Scan/Clean to enable OfficeScan to scan for spyware and other types of gray ware and attempt to clien gray ware files.
    1. .Click Next. The Client Setting Finished screen appears.
    2. Click Next. The Select Program Folder screen appear
  1. The Master Installation adds program icons to the folder listed under Program Folder. Modify if necessary.
  2. Click Next. The OfficeScan installation process commences. After installation completes, the Shared Folder screen appears.

    If you Sellected I will install/upgrade Office Scan Server on a remote computer or on multiple computers on the Choose Destination screen, a confirmation screen appears. Click OK to complete the installation.

    1. Click Next. If you selected to install Control Manager agent or Policy Server for Cisco NAC, the installation commences (see the Administrator's
      Guide and the Office Scan online help for more information)
    2. Click Next. The Setup Complete screen appears.

      You have to complete installation your Office Scan Server. Open the Web console or view the readme file by selecting the corresponding check box.

    3. Click Finish

      Note: You can configure the Office Scan setting using the Web console immediately after completing the installation and before deploying the clients. To star configuring basic Office Scan setting, see Completing Phase 3: Performing Post-Installation Configuration on page 3-2.


Friday, May 2, 2008

Otak kanan dan otak kiri

Just sharing aja neh
Menurut penilian perbedaan otak orang indonesia dengan otak  bangsa lain adalah cara penggunaannya.
Kita kebanyakan menggunakan otak kiri dan oran lain kebanyakan menggunakan otak kanan.
Mari kita telaah hal-hal yang dicerna oleh kedua otak ini.
Dimana fungsi kedua otak ini sangatlah berperan dalam membentuk hidup seseorang.
Dimana otak kiri bekerjanya selalu principle, banyak perhitungan,  banyak pertimbangan, emosional, memprediksi kehal-hal yang lebih sering ke negative thinking. 
Otak kanan bersifat memicu, memberikan motivasi, dan mengeluarkan ide-ide yang cemerlang, kebanyakan memberikan masukan kepada hal yang positif thinking.

Contoh :

Kita mau membuka suatu usaha, umpama nya jualan ikan, lalu sebelum mulai kita perhitungkaan segala macamnya, modal dasarnya diperhitungkan, untung ruginya. Coba kita pahami ke dalam diri kita.

Kalau kita pergunakan otak kiri kita, hal tersebut diatas atau membuat suatu usaha tentulah tidak akan sampai terjadi, karena belum apa-apa selalu diperhitungkan, ketakutan, menghitung terus tanpa pernah berjalan.

Tetapi kalau menggunakan otak kanan tentu langkah pertama adalah munculnya satu ide kemudian dijalankan dengan bersamaan ide itu, dan dia akan berusaha menambah atau mengurangi segala kekurangan sambil berjalan.

Contoh kecil apakah setiap kita mau buang air besar/kecil selalu memperhitungkan sebelumnya, saya kira terjadi begitu aja, kecuali dipengaruhi oleh otak kiri tadi, pasti akan dipikir hal-hal yang menakutkan, was-was padahal semua yang diperkirakan itu belum tentu terjadi seperti yang dipikirkan.

Atau barang kali saya katakana: jika kita memohon kepada Tuhan, mohon lah tapi kita jangan ikut mendikte Tuhan, menyaingi Tuhan. Cukup kita punya impian dan ikuti impian itu mulai dari A dan biarkan Tuhan menentukan B,C,D dan selanjutnya.

To be continue

Wednesday, April 30, 2008



IP Addressing and Subnetting version 4

Anda sekalian pasti sudah tidak asing lagi dengan istilah IP,
karena IP inilah yang memungkinkan kita untuk berkomunikasi
dengan orang orang dari seluruh penjuru dunia yang terhubung
ke internet. IP adalah singkatan dari Internet Protocol.
Protokol disini saya analogi kan sebagai suatu bahasa
penghantar yang digunakan oleh internet untuk dapat
berkomunikasi satu dengan yang lainnya. Jika bahasa yang
digunakan ini berbeda, maka komunikasi pun tidak dapat
dilakukan. Layaknya seorang dari kampung A bertemu dengan
seorang dari kampung B yang mempunyai bahasa berbeda, dapat
dipastikan terjadi jaka sembung bawa golok, alias tidak

Berawal dari konsep itulah, maka kita mengenal istilah TCP/IP
yang digunakan untuk menyeragamkan semua protokol yang kita
gunakan untuk dapat berkomunikasi dengen seluruh penjuru
dunia yang terhubung dengan internet.

Mungkin anda bertanya-tanya, "jika saya terhubung di dalam suatu
Local Area Network atau Wide Area Network, apakah saya
memerlukan suatu alamat tertentu?", jawabannya adalah "Ya,
jelas sekali". Contoh konkritnya, anda dapat mengetik
winipcfg dari menu run*jika anda menggunakan o/s win95/98*,
atau ipconfig dari dos prompt *jika anda menggunakan winNT*
atau dapat juga mengetik ifconfig -a *jika anda mengunakan

Saya asumsikan anda sekalian menggunakan windows 95/98. Disini
terlihat dengan jelas, bahwa sebuah PC mempunyai IP Address
tertentu, misalnya dengan subnet mask kemudian diikuti oleh Default Gateway **default gateway adalah: semua traffic pada
client / host tersebut untuk dapat berhubungan dengan
network yang lain, harus melalui suatu address atau
interface tertentu**

Format IP Address pun terlihat dengan jelas x.x.x.x dimana
jumlah bit secara keseluruhan adalah 32 bit. Bearti di
setiap segment mempunyai 8 bit. Bisa kita tuliskan
seperti ini:

11111111.11111111.11111111.11111111 =

Dari angka tersebut, dapat kita ambil kesimpulan, bahwa kita
mempunyai range IP Address dari alamat sampai dengan, dan bisa kita hitung jumlah ip address yang
tersedia adalah 256 * 256 * 256 * 256 = 4294967296
(hitungnya pake kalkulator, jgn pake tangan yah :)). Mungkin
anda sekalian bertanya tanya, darimana muncul angka 256?.
Kita ingat, bahwa setiap segment dari IP Address mempunyai 8
bit, dan kita bisa menggunakan formula ini: 2n, sehingga
hasil perhitungan dari 28 adalah 256.

Dari jumlah address yang sebanyak itu, maka lahirlah
pengelompokan-pengelompokan untuk lebih memudahkan kita
memanage dan mengenal suatu IP Address. Kita mengenal
beberapa lembaga atau badan usaha yang mengatur pengalamatan
di internet ini, seperti misalnya InterNIC, ApNIC, atau di
indonesia dikenal dengan ID-NIC. Adapun pengelompokan IP
Address yang lazim dan dikenal adalah sebagai berikut:

Class A: s/d
Class B: s/d
Class C: s/d
Class D: s/d
Class E: s/d

Class D dan Class E digunakan untuk Multicast dan Experiment
purpose. Multicast disini adalah pengalamatan untuk
keperluan streaming, misalnya audio streaming dan
sebagainya, dan dikenal dengan istilah IP MultiCasting.

Kemudian anda mungkin bertanya-tanya, dimakah IP Address, pertanyaan yang bagus. IP Address ini
sudah di reserved untuk keperluan localhost, artinya, secara
default, PC kita mempunyai ip address default, yaitu

Dan kita juga mengenal adanya istilah Public IP Address dan
Private IP Address. Public IP Address adalah ip address yang
dikenal oleh internet / jaringan di luar dari local area
network, sedangkan private ip address adalah alamat ip yang
hanya digunakan untuk keperluan local area network dan tidak
dikenal oleh internet.
Sehingga untuk dapat berkomunikasi, kita dapat melakukan
suatu proses yang dikenal dengan Network Address
Translation, yaitu dimana private ip address ini dapat
berkomunikasi dengan dunia luar.
Adapun range untuk private ip address dari setiap class
adalah sebagai berikut:

Private IP Address untuk Class A:
Private IP Address untuk Class B: s/d
Private IP Address untuk Class C:

Mungkin anda bertanya lagi, mengapa harus ada private ip
address? Karena kita tidak perlu meminta secara khusus untuk
private ip address. Kita dapat memakainya tanpa perlu ijin
dari suatu lembaga tertentu misalnya internet ataupun id-nic.
Contoh konkrit adalah untuk ABC Local Area Network yang
mempunyai 3 Network:,, dan yang

Semoga sampai bagian ini, anda sekalian telah mendapatkan
gambaran tentang IP Address, karena kita akan memasuki dunia
yang lebih gelap lagi dari mahluk yang menamakan dirinya IP

Sebelum kita memulai bahasan selanjutnya, perlu diingat juga,
bahwa format ip address seperti yang terlihat diatas,
terdiri dari 2 bagian utama, yaitu Network dan Host. Istilah
Network disini dapat kita analogikan seperti nomor jaringan
dan Host dapat kita analogikan sebagai PC anda. Masih jelas
dalam ingatan anda pengelompokan dari IP Address, dimana
dibedakan menjadi beberapa class, dimana di setiap kelas
tersebut, mempunyai porsi network dan host sebagai berikut:

Class A: Network.Host.Host.Host
Class B: Network.Network.Host.Host
Class C: Network.Network.Network.Host

untuk Class A, dapat kita simpulkan terdiri dari 8 bit Network
Address, dan 24 Bit Host Address
untuk Class B, dapat kita simpulkan terdiri dari 16 bit
Network Address, dan 16 Bit Host Address
untuk Class C, dapat kita simpulkan terdiri dari 24 bit
Network Address, dan 8 Bit Host Address

kita ambil contoh untuk ip address class A, terlihat dengan
jelas, bahwa available host yang tersedia adalah
256 * 256 * 256 = 16777216. Suatu angka yang sangat besar.

Apakah mungkin di dalam suatu perusahaan yang besar sekalipun,
mempunyai PC atau Client atau Host sebanyak 16 juta? Rasanya
belum ada di dunia ini sebuah perusahaan yang mempunyai
jumlah host sebanyak itu. Nah...jika kita mempunyai satu
network class A, katakanlah, dan jumlah client yang
ada hanya 100, bearti kita telah membuang sekitar 15 jt
lebih ip address. Suatu pemborosan yang sangat tidak
manusiawi..:), dan perlu diingat juga, bahwa ip address ini
haruslah unique, artinya, dalam suatu jaringan tidak
diperbolehkan mempunyai dua ip address yang sama. Oleh sebab
itu lahir-lah teknik untuk memecah mecah suatu network
address menjadi lebih kecil lagi.

Akan saya berikan contohya sebagai berikut:

Sebuah perusahaan medium yang mempunyai PC atau Client atau Host
sebanyak 50 buah. Anda sebagai seorang network / system
engineer diminta untuk mendesain atau mengalokasikan
sejumlah ip address untuk keperluan customer tersebut. Jika
kita lihat disini, untuk jumlah host yang paling kecil dan
memenuhi syarat adalah jika kita menggunakan ip address dari
class c, karena jumlah maksium host dari class c adalah 254
(anda mungkin bertanya kenapa bukan 256?, karena dalam
konsep IP, 2 ip address tidak bisa kita pakai, yang pertama
digunakan untuk network address, dan yang kedua digunakan
untuk broadcast address, formulanya adalah 2n -2). Itulah
sebabnya, pada contoh kasus ini, kita hanya memerlukan satu
network yang bisa meng-cover jumlah host yang sedikit itu.
Okei, kita sepakat mengambil satu ip address dari class c,

dan kita akan memulai perhitungan ini dengan mengunakan bilangan
biner, jika anda melihat kembali diatas, bahwa ip address
untuk Class C terdiri dari N.N.N.H, dimana N adalah Network
dan H adalah Host, untuk sementara ini, kita abaikan dulu
network addressnya, kita fokuskan pada host addressnya.

host address pada class c yang akan kita pecah akan terlihat
seperti ini: N.N.N.-- N.H *karena kita akan miminjam
beberapa bit dari host yang kita jadikan sebagai network

host address pada class c yang terdiri dari
8 bit: 1 1 1 1 1 1 1 1 = 255

kita juga perlu mengingat hitungan 2n yang akan kita lakukan
pada setiap perhitungan ip address:
27 + 26 + 25 + 24 + 23 + 22 + 21 + 20

hasil dari bilangan pangkat diatas adalah berturut turut:
128 + 64 + 32 + 16 + 8 + 4 + 2 + 1 = 255

ingat, jumlah host yang diminta hanya 50, jika anda lihat, jika
kita menjumlahkan dari angka 16 + 8 + 4 + 2 + 1, maka
hasilnya adalah 31, sedangkan jumlah host yang diperlukan
adalah 50. Kalau begitu kita harus menjumlahkan lagi dari
angka 32 + 16 + 8 + 4 + 2 +1, maka hasilnya adalah 63, dan
kita telah memenuhi syarat karena jumlah host yang
diperlukan hanya 50.

bearti: kita meminjam 2 bit dari 8 bit yang ada untuk dijadikan
sebagai network
address. 2 bit itu adalah angka 128, dan 64. jika kita
jumlahkan, akan menghasilkan 192

maka: subnet address untuk network ini adalah
atau kita bisa
menuliskan **untuk ip address tanpa
subnetting adalah /24 atau, karena kita meminjam 2 bit, tinggal kita
tambahkan saja, sehingga menjadi /26 atau**

kemudian: kita tentukan network address untuk subnet mask
tersebut, caranya, anda
tinggal mengurangkan saja dari total bit **cara ini mungkin
berbeda dengan yang lain, karena yang akan saya perlihatkan
adalah perhitungan menggunakan method saya sendiri**

anda lakukan pengurangan ini: 256 - 192 = 64 (angka 256 adalah
total keseluruhan bit, dan 192 adalah subnet address)

sehingga: network address pertama adalah: / 26
network address kedua adalah: / 26
network address ketiga adalah: / 26 ...dst....

hasilnya adalah: Network address =
Subnet mask =
ip address pertama adalah: / 26
ip address terakhir adalah:
broadcast address adalah:

untuk mendapatkan broadcast address, and tinggal mengurangkan
satu dari network address yang kedua, dalam hal ini 128 - 1 = 127

Selesai lah sudah proses perhitungan kita yang pasti membuat
anda anda sekalian menjadi tambah pusing..:)...

saya kasih contoh satu lagi biar tambah pusing..:) :

Tentukan Subnet Address / Network Address, Broadcast Address, IP
Pertama dari subnet tersebut, IP terakhir dari subnet
tersebut jika anda diberikan IP Address: dengan Subnet Mask:

jawab: dengan memakai cara diatas, kita langsung bisa
mendapatkan sebagai berikut:
yang pertama kali anda lakukan adalah: 256 - 252 = 4
anda tambahkan 4 + 4 + 4...dst, sampai mendekati angak 50,
jika anda tidak salah hitung, maka angka yang terdekat
adalah: 48
sehingga, subnet address / network address dari ip address
diatas adalah:
dengan, broadcast address adalah: (subnet
kedua dikurang satu)
dan ip address pertama adalah:
ip address terakhir adalah:

Tentukan Subnet Address, Broadcast Address, 1st IP Address dan
Last IP Address, dari IP berikut:,,

--------THE END-------



Oleh : Hendra, ST.


Modul 1



Bahasa BASIC dibuat oleh John G.Kemmeny dan Thomas E.Kurtz lebih

dari 20 tahun yang lalu dan merupakan bahasa tingkat tinggi yang

relatif mudah dipelajari dan dimengerti.


Dalam perkembangannya , Bahasa BASIC dikembangkan dalam dua

jenis, yaitu interpreter dan compiler. Interpreter seperti GW-

BASIC pada sistem operasi MS-DOS, maupun BASICA pada sistem

operasi PC-DOS, sedangkan salah satu compilernya yang terkenal

adalah Quick BASIC yang dilengkapi dengan sistem pemrograman

yang terstruktur, Quick Library, on-line help yang terpadu,

editor yang efisien (bisa merapikan teks serta memberitahukan

kesalahan syntax penulisan suatu perintah)





Untuk mengaktifkan Quick BASIC diperlukan sistem Quick BASIC yang

minimal terdiri dari file QB.EXE/QBasic.EXE. Jika kita telah

memiliki file tersebut tinggal diberi perintah QB pada Dos





A>QB <Enter>




A>QBasic <Enter>


Setelah pemberian perintah tersebut, pemakai akan dihadapkan

kepada suatu editor sebagai tempat pengetikan program yang akan

dikembangkan. Dibagian atas editor terdapat perintah menu yang

dapat diaktifkan dengan Tombol Alt disertai huruf depan dari

masing-masing pilihan.




| New Program | memulai program baru

| Open Program... | memuat program dari diskette ke RAM

| Save | menyimpan program ke diskette (file *.BAS)

| Save As... | menyimpan program ke nama yang lain


| Print... | mencetak program ke printer


| Exit | keluar ke Dos permanen





| Undo Alt+Backspace | membatalkan perubahan terakhir

| Cut Shift+Del | memotong tulisan Blok ke ClipBoard

| Copy Ctrl+Ins | menduplikasi tulisan Blok ke ClipBoard

| Paste Shift+Ins | menyisip ClipBoard ke posisi Kursor

| Clear Del | menghapus tulisan yang di Blok


| New SUB... |

| New FUNCTION... |





| Display... | mengatur tampilan layar

| Help Set Path | mengatur default Dos Path

| Syntax Checking | mengatur keaktifan pemeriksaan Syntax





| Start Shift+F5 | menjalankan program yang aktif

| Restart | mereset memory program

| Continue F5 | melanjutkan program yang terhenti





Apa yang dimaksud dengan pemrogram komputer ?


Pemrograman komputer berarti anda memberitahukan kepada komputer

ada yang anda ingin dia lakukan. Untuk memberitahukan komputer

apa yang harus dia lakukan, anda membutuhkan kata-kata khusus

(special words). Kata-kata ini disebut sebagai kata-kata kunci

(key words). Ketika anda menempatkan kata-kata kunci ini dalam

program anda sehingga kelihatan seperti kode khusus (special

code) yang disebut sebagai CODE dan pekerjaan menulis program

disebut CODING.



KATA, DATA, PERINTAH, dan FUNGSI BANTU merupakan komponen utama

suatu program yang saling berinteraksi. Pembuatan program dalam

Quick BASIC tidak terlepas dari keempat komponen di atas dalam

baris-baris perintah yang berkapasitas maksimum 256 character

yang mencakup identitas baris, perintah, dan kata-kata(Remark).

Identitas baris bisa berupa nomor baris (0-65529) [menjaga

kompatibilitas dengan GWBASIC maupun BASICA], dan bisa berupa

label dengan ketentuan :


- Maksimum 40 character, dimulai dengan huruf A..Z, diakhiri

dengan tanda :

- huruf besar/kecil sama, tidak sama dengan reserved word, dan

tidak pakai spasi


Setiap proses yang berhubungan dengan pengolahan data biasanya

memerlukan tempat penampung sementara dalam memory yang disebut

variabel dan dalam pengolahannya diperlukan operator dan fungsi



Jenis Type Variabel pada Quick Basic :


|Data Type |Suffix|Maximum |Minimum | Size|


| | | |

|Strings | $ | 32,767 chars. | 0 chars. | |

|Integers | % | 32,767 |-32,768 | 2 |

|Long Integers | & | 2,147,483,647 |-2,147,483,648 | 4 |

|Single (7-digit) precision | ! |+3.402823 E+38 |+1.401298 E-45 | 4 |

_ _

|Double (15-digit) precision| # |+1.7976931 D+308|+4.940656 D-324 | 8 |

_ _

|User-Defined Data Types |----------------------------------------------/



Nama variabel juga memiliki ketentuan antara lain :

- Maksimum 40 character, diawali dengan huruf A..Z, diakhiri

dengan $, %, &, !, # untuk menunjukan type

- Tidak boleh sama dengan reserved word, tidak boleh pakai spasi

dan spesial character.


Operator pada Quick BASIC dibagi atas 5 jenis, antara lain :


1. Arithmetic operators : melakukan tugas perhitungan

/--------------------\ /----------------------------\

|Operator|Kegunaan | |Operator|Kegunaan |

|--------------------| |----------------------------|

| |

| ^ | Pangkat | | \ | Pembagian integer |

| - | Negatif | | MOD | Sisa bagi |

| * | Perkalian | | + | Penjumlahan |

| / | Pembagian | | - | Pengurangan |

\--------------------/ \----------------------------/


2. Relational operators : membandingkan strings dan nilai numerik


|Operator|Kegunaan |


| = | Sama dengan |

| <> | Tidak sama dengan |

| < | Lebih kecil |

| > | Lebih besar |

| <= | Lebih besar atau sama dengan|

| >= | Lebih kecil atau sama dengan|



Relational operators akan menghasilkan dua kemungkinan nilai

yaitu -1 jika benar dan 0 jika salah.


3. Logical operators : test kondisi dan manipulasi bits


|Expresi1|Expresi2| NOT | AND | OR | XOR | EQV | IMP |


| | | | | | |

| T | T | F | T | T | F | T | T |

| T | F | F | F | T | T | F | F |

| F | T | T | F | T | T | F | T |

| F | F | T | F | F | F | T | T |



Functional operators : operator pelengkap

String operators : mengabung (+), dan membandingkan String




Komputer hanya melaksanakan apa yang diperintahkan pemrogram.

Jadi, dalam membuat program untuk menyelesaikan suatu masalah,

kita harus tahu cara penyelesaiannya. Untuk itu diperlukan tahap-

tahap dalam menyelesaikan masalah tersebut.


INPUT dan OUTPUT merupakan awal dan akhir pengolahan suatu

data. Tanpa proses INPUT, kita tidak dapat memperoleh data untuk

diolah dan data-data yang telah selesai diolah tidak akan berarti

tanpa proses OUTPUT.


Syntax :

INPUT [;]["Prompt"{,|;}], Var list

PRINT [expresion list {,|;}]


Contoh 1 :

REM Program mencari Isi Bujursangkar


ISI = S * S




Contoh 2 :

REM Program Isi Data











Catatan :

Untuk memberi keterangan pada program dapat digunakan REM atau '




1. Aktifkan QBasic.EXE, dan anda akan dihadapkan pada suatu

WELCOME dialog box, tekan Esc untuk mengabaikannya. Selanjutnya

anda akan melihat lingkungan kerja QBasic yang terbagi atas dua

bagian : Bagian atas adalah "Jendela Editor" dan Bagian bawah

adalah "Jendela Immedietly".


2. Perhatikan letak kursor sekarang (pada Jendela Editor), tekan

function key (F6) untuk mengaktifkan Jendela Immedietly, dan (F6)

sekali lagi untuk sebaliknya.


3. Ketiklah ekspresi berikut pada jendela immedietly dengan

diawali perintah print (?).


Contoh :




diketik sebagai


? 1 + 2


Ekspresi : Hasilnya ?


1 + 2 _____ Penjumlahan

2 - 1 _____ Pengurangan

2 * 3 _____ Perkalian

5 / 2 _____ Pembagian

5 \ 2 _____ mengapa ? ____________ Pembagian bulat

5 Mod 2 _____ mengapa ? ____________ Sisa bagi

3^2 _____ Pangkat

1+2*6^2/4-1 _____ Urutan operasi

(1+2)*6^2/4-1 _____ Prioritas operasi


Tuliskan kesimpulan anda tentang :

1. Pembagian bulat ____________________________________________

2. Sisa bagi __________________________________________________

3. Urutan operasi _____________________________________________

4. Prioritas operasi __________________________________________


1 > 2 _____ lebih besar

1 < 1 _____ lebih kecil

2 = 2 _____ sama dengan

2 >= 2 _____ lebih besar atau sama

1 <= 2 _____ lebih kecil atau sama

3 <> 3 _____ tidak sama dengan


Mengapa True (-1) dan False (0) ?


(1 > 2) and (2 = 2) _____ Operasi And

(1 > 2) and (1 < 2) _____ Operasi And

(1 < 2) and (2 = 2) _____ Operasi And

(3 <> 2) and (1 > 2) _____ Operasi And


(1 > 2) and (2 = 2) _____ Operasi Or

(1 > 2) and (1 < 2) _____ Operasi Or

(1 < 2) and (2 = 2) _____ Operasi Or

(3 <> 2) and (1 > 2) _____ Operasi Or


(1 > 2) Xor (2 = 2) _____ Operasi Xor

(1 > 2) Xor (1 < 2) _____ Operasi Xor

(1 < 2) Xor (2 = 2) _____ Operasi Xor

(3 <> 2) Xor (1 > 2) _____ Operasi Xor


(1 > 2) Eqv (2 = 2) _____ Operasi Eqv

(1 > 2) Eqv (1 < 2) _____ Operasi Eqv

(1 < 2) Eqv (2 = 2) _____ Operasi Eqv

(3 <> 2) Eqv (1 > 2) _____ Operasi Eqv


(1 > 2) Imp (2 = 2) _____ Operasi Imp

(1 > 2) Imp (1 < 2) _____ Operasi Imp

(1 < 2) Imp (2 = 2) _____ Operasi Imp

(3 <> 2) Imp (1 > 2) _____ Operasi Imp


Not (1 > 2) _____ Operasi Imp

Not (2 > 2) _____ Operasi Imp


Not (1 > 2) Or (2 = 2) And (3 < 2) ______ Urutan operasi


Tuliskan kesimpulan anda tentang urutan operasi pada operator



4. Ketiklah ekspresi berikut pada jendela immedietly :


A = 123

B = 1234567890

C% = 32767

D% = 100000 Overflow, mengapa ?

D& = 100000

E$ = "Indoprog"

F$ = 123 Type mismatch, mengapa ?

G = "hendra" Type mismatch, mengapa ?

H_1 = 123 expected : end-of-statement, mengapa ?

nilai ujian = 90 Syntax error, mengapa ?

next = 5 expected : variable or end-of-statement ?

cls = 6 expected : variable or end-of-statement ?


A% = 1.2 Berapa nilai A% ?

A% = 1.5 Berapa nilai A% ?


Tuliskan kesimpulan anda tentang variabel dan nama variabel


5. Ketiklah ekspresi berikut pada jendela immedietly dengan

diawali perintah print (?).


1 + 1 ______

1 + "100" Type mismatch, mengapa ?

"A" + "B" ______


Tuliskan kesimpulan anda operator pada type data.


6. Ketiklah statement berikut pada jendela immedietly


Print "Untuk kemajuan Indonesia"


Hasilnya : __________________________________



Print "Untuk","kemajuan","Indonesia"


Hasilnya : __________________________________



Print "Untuk";"kemajuan";Indonesia"


Hasilnya : __________________________________



Print "Untuk"

Print "Kemajuan"

Print "Indonesia"

Hasilnya : _____________




Print "Untuk";

Print "Kemajuan";

Print "Indonesia"


Hasilnya : __________________________________



Print 1,2,3


Hasilnya : __________________________________, mengapa ?



Print 1;2;3


Hasilnya : __________________________________, mengapa ?



Print tab(10),"Hendra";tab(30);"Wijaya"


Hasilnya : __________________________________, mengapa ?




Input nama$

print nama$


Hasilnya :? Hendra




Input "Masukkan nama :", nama$

print nama$


Hasilnya :Masukkan nama : Hendra




Input "Masukkan nama "; nama$

print nama$


Hasilnya :Masukkan nama ? Hendra





Input "Masukkan nama "; nama

print nama


Hasilnya : Masukkan nama ? Hendra

Redo from start, mengapa ?


6. Program anda yang pertama.


Aktifkan ke jendela Editor

Ketiklah CODE berikut :


REM Program saya yang pertama


PRINT "Hello semua"



Simpan CODE diatas ke file Bab1F.Bas (gunakan menu File Save)


Jalankan program diatas (gunakan menu Run Start atau tekan F5)


7. Program dengan proses input/output


Gunakan menu File New untuk memulai program baru

Ketiklah CODE berikut :


REM Program menghitung luas persegi panjang


INPUT "Masukkan sisi panjang :", panjang

INPUT "Masukkan sisi lebar :", lebar

LUAS = panjang * lebar

PRINT "Luas persegi panjang :", LUAS



Simpan CODE diatas ke file Bab1G.Bas


8. Buatlah program menghitung luas lingkaran.


9. Buatlah program konversi suhu Celcius ke Farenheit, Kelvin,



10. Beberapa perintah pengaturan INPUT OUTPUT


Pada tulisan ini tidak diberikan contoh untuk memancing

pertanyaan pada forum diskusi :).



Membersihkan layar dengan warna latar belakang


COLOR textcolor[,textbackground[,border]]

Mengatur warna tulisan, warna latar belakang, dan

warna border layar. Adapun nomor warna yang disediakan :

/----------------\ /----------------\ /----------------\ /------------------\

| # | Warna | | # | Warna | | # | Warna | | # | Warna |

|----------------| |----------------| |----------------| |------------------|

| | | |

| 0 | Hitam | | 4 | Merah | | 8 | Abu-abu | | 12 | Merah muda |

| 1 | Biru | | 5 | Magenta | | 9 | Biru muda | | 13 | Magenta muda|

| 2 | Hijau | | 6 | Brown | | 10 | Hijau muda| | 14 | Kuning |

| 3 | Cyan | | 7 | Putih | | 11 | Cyan muda | | 15 | Putih terang|

\----------------/ \----------------/ \----------------/ \------------------/

Warna tulisan dapat dibuat berkedip dengan menambahkan 16 pada

nomor warna

Warna latar belakang hanya dapat dipilih nomor 0 s/d 7

Warna border dapat dipilih 0 s/d 15


PRINT USING formatstring; expressionlist[{,|;}]

Mencetak text dan variabel dengan format tertentu

formatstring, ekspresi string yang mengatur format pencetakkan

dengan picture sebagai berikut :

/------------Characters Picture untuk mengatur format data numerik ------------\

| # Menentukan posisi digit | - Diletakan sesudah posisi digit |

| . Menentukan posisi Desimal | mencetak tanda untuk negatif |

| , Memunculkan pemisah ribuan,jutaan | $$ Mencetak $ pada posisi kosong |

| + Menentukan posisi tanda numerik | ** Mencetak * pada posisi kosong |

|^^^^ Mencetak dalam bentuk eksponensial| **$ Combinasi $ dan ** |

|-------------------Characters Picture untuk mengatur format data string-------|

| & Mencetak seluruh string | \ \ Mencetak n+2 character, dimana|

| ! Mencetak huruf pertama dari String | n adalah jumlah spasi \ \ |



WIDTH kolom,baris

Mengatur lebar text layar 40 atau 80 kolom dan pada monitor EGA

atau VGA mengatur jumlah baris layar 25,43,50 atau 60 (tergantung

pada jenis monitor)


LOCATE [row] [,[col] [,[cursor] [,start [,stop]]]]

Memindahkan kursor pada layar ke posisi baris dan kolom tertentu.

cursor, nilai 0 cursor off, nilai 1 cursor on

start, baris awal kursor 0 s/d 31

stop, baris akhir kursor 0 s/d 31



Meloncat sejumlah n spasi pada saat pencetakan dengan perintah




Mencetak output ke kolom n yang ditentukan.


VIEW PRINT baris_teratas To baris_terbawah

Membatasi baris teratas dan terbawah layar untuk memunculkan




Oleh : Hendra, ST.


Modul 2



Struktur Kendali memegang peranan yang sangat penting dalam

pembuatan program dengan komputer, tanpa adanya struktur kendali

kita hanya dapat membuat program yang sederhana dimana prosesnya

hanya dijalankan dari baris pertama sampai selesai. Pada kasus-

kasus tertentu, ada kalanya baris tertentu tidak boleh

dilaksanakan apabila kondisi tidak dipenuhi, ataupun baris-baris

tertentu harus diulang sampai suatu kondisi terpenuhi.




Dengan perintah test pilihan seorang programer dapat menentukan

jalur-jalur proses yang harus dikerjakan oleh komputer

berdasarkan logika tertentu.


1. Pilih Tambahan


If ekspresi logika Then



End If


Berfungsi menentukan apakah kondisi (ekspresi logika) memenuhi

syarat untuk melaksanakan Statement-Statement yang di samping IF

Then ataupun berada dalam Block IF Then-End If.


Contoh :


PTKP = 240000


If Nikah$ = "Y" Then

PTKP = PTKP + 120000

End If


Keterangan : Jika status nikah adalah "Y" (Ya), maka PTKP

(Penghasilan Tidak Kena Pajak) ditambah 120000



2. Pilih Antara Dua


IF ekspresi logika Then






End If


Berfungsi menentukan Block Statement mana yang akan dilaksanakan

komputer, jika ekspresi logika menghasilkan nilai Benar maka

Statement1 akan dilaksanakan dan sebaliknya dengan Statement2.


Contoh :


If JlhAnak > 3 Then

PTKP = PTKP + (3 * 120000)


PTKP = PTKP + (JlhAnak * 120000)

End If


Keterangan : Jika Jumlah Anak diatas 3 Orang, maka PTKP ditambah

360000, sebaliknya adalah JlhAnak dikali 120000.


3. Pilih Antara Banyak


IF ekspresi logika 1 Then



ElseIF ekspresi logika 2 Then






Berfungsi menentukan Block statement yang mana akan dijalankan

oleh komputer sesuai dengan ekspresi logika yang menghasilkan

nilai benar.


Contoh :


PKP = Penghasilan - PTKP ' Penghasilan Kena Pajak 1 Bulan

PKPT = PKP * 12 ' Penghasilan Kena Pajak 1 Tahun


If PKPT <= Then

PPH = 0

ElseIF PKPT <= 25000000 Then

PPH = PKP * 0.05

ElseIF PKPT <= 50000000 Then

PPH = 1250000 + (PKPT-25000000)* 0.1

ElseIF PKPT <= 100000000 Then

PPH = 1250000 + 2500000 + (PKPT-50000000)*0.25

ElseIF PTKP <= 200000000 Then

PPH = 1250000 + 2500000 + 7500000 + (PKPT-100000000)*0.25


PPH = 1250000 + 2500000 + 7500000 + 25000000 + (PKPT-


End If


PPHB = PPH / 12 ' Pajak Penghasilan Bulan Tersebut


Keterangan : PPH dihitung berdasarkan PKPT




Select Case Variabel

Case ekspresi 1



Case ekspresi 2




Case Else


End Select


Contoh :


Select Case PKPT

Case <= 0

PPH = 0

Case <= 25000000

PPH = PKP * 0.05

Case <= 50000000

PPH = 1250000 + (PKPT-25000000)* 0.1

Case <= 100000000

PPH = 1250000 + 2500000 + (PKPT-50000000)*0.15

Case <= 200000000

PPH = 1250000 + 2500000 + 7500000 + (PKPT-100000000)*0.25


PPH = 1250000 + 2500000 + 7500000 + 25000000 + (PKPT-


End Select


Contoh Lain :


Input "Masukkan Hari (1-7)", Hari


Select Case Hari

Case 1

Print "Senin"

Case 2

Print "Selasa"

Case 3

Print "Rabu"

Case 4

Print "Kamis"

Case 5

Print "Jumat"

Case 6

Print "Sabtu"

Case 7

Print "Minggu"

Case Else

Print "Tidak ada"

End Select




1. Buatlah program perhitungan Pajak Penghasilan Perorangan

untuk penghasilan bulanan !



oleh : Hendra, ST.


Modul 3





Salah satu kelebihan komputer daripada manusia adalah ia tidak

pernah bosan terhadap tugas-tugas rutin. Inilah yang menyebabkan

komputerisasi selalu diterapkan terhadap tugas-tugas yang rutin.


1 Looping Counter


Digunakan untuk proses berulang yang jumlah perulangannya

ditentukan berdasarkan perhitungan (sistem counter).


FOR counter = mulai TO selesai [STEP selisih]



NEXT [counter]


Contoh :


Mencetak nilai faktorial 7, dimana 7!=1x2x3x4x5x6x7


Fak = 1

For I = 2 To 7 Step 1

Fak = Fak * I ' Fak menjadi Fak * I

Next I

Print "Nilai faktorial 7 :", Fak



Mencetak 10 suku bilangan fibonanci yang pertama, dimana :

fibo(1) = 1

fibo(2) = 1

fibo(n) = fibo(n-1) + fibo(n-2)

sehingga hasilnya : 1,1,2,3,5,8,13,21,34,55


For I = 1 To 10 Step 1 ' Looping 10 kali

If I = 1 Then ' Jika suku ke 1

fKurangSatu = 1

Print 1

ElseIF I = 2 Then ' Jika suku ke 2

fKurangDua = 1

Print 1

Else ' Untuk suku ke n

fibo = fKurangSatu+fKurangDua

Print fibo

fKurangSatu = fKurangDua

fKurangDua = fibo

End IF

Next I



2 Looping Trapping


Perulangan jenis ini ditentukan berdasarkan kondisi tertentu.


Pemeriksaan diawal


DO [{WHILE | UNTIL} ekspresi logika]





Contoh :


Mencari KPK dari dua bilangan


Input "Bilangan pertama :", pertama

Input "Bilangan kedua :", kedua


If pertama > kedua Then 'Jika bilangan pertama lebih besar

Lipat = pertama

Bagi = kedua


Lipat = kedua

Bagi = pertama

End IF


N = 1


Do While ((Lipat*N) Mod Bagi) <> 0 'Kelipatan dinaikan jika

N = N + 1 'sisa bagi belum nol



Print "KPK kedua bilangan adalah :", (Lipat*N)



NB : operator matematika MOD adalah untuk sisa bagi



Pemeriksaan diakhir




LOOP [{WHILE | UNTIL} ekspresi logika]


Contoh :


Program password, program akan terus menanyakan password sampai

jawabannya benar.


password$ = "INDOPROG"


Color 7,0

Print "Password";

Color 0,0

Input pass$


LOOP until pass$ = password$

Print "Selamat bergabung !"



Perintah EXIT DO dapat digunakan untuk meninggalkan proses DO -



Contoh :


N = 1

password$ = "INDOPROG"


Color 7,0

If N > 3 Then


End IF

Print "Password";

Color 0,0

Input pass$

N = N + 1

LOOP until pass$ = password$

If N > 3 Then

Print "Akses ditolak !"


Print "Selamat bergabung !"

End IF





1. Buatlah program menentukan bilangan yang dimasukkan merupakan

bilangan PRIMA atau tidak.


2. Buatlah program mencetak tabel pertumbuhan simpanan anda di



Jumlah simpanan ?

Suku bunga bank/tahun ?

Lama simpanan ?


Tabel pertumbuhan



Tahun Awal Tahun Bunga/tahun Pajak Akhir Tahun







Awal Tahun 1 = Jumlah simpanan

Bunga/tahun = Awal Tahun * Suku bunga bank/100

Pajak dihitung berdasarkan :

Jika Awal Tahun + Bunga/tahun > 7500000

Pajak = 20% dari Bunga/tahun

Jika tidak

Pajak = 0

Akhir Tahun = Awal Tahun + Bunga/tahun - Pajak

Awal Tahun ke n = Akhir Tahun n – 1



Oleh : Hendra, ST.





Array adalah sekumpulan data yang menggunakan nama variabel yang

sama. Tiap-tiap nilai dari array disebut sebagai elemen dan memiliki

index. Setiap elemen array adalah sebuah variabel juga.



Menciptakan Variabel Array


Untuk menciptakan variabel array dapat menggunakan perintah :


DIM variable[(subscripts)] [AS type]


Contoh :


DIM A(20) As Integer


Akan menciptakan variabel array yang bernama A yang memiliki 20

elemen (mulai dari index 0 s/d 19), yang masing-masing dapat

menampung data integer, dan memiliki nilai awal 0 (nol).



Menggunakan Variabel Array


Penggunakan Variabel Array sama saja dengan variabel biasa, cuma

kita perlu menyebutkan nomor index elemen yang diinginkan.


Contoh :


A(0) = 100

A(1) = 200

A(2) = 300


Akan mengisi nilai 100 ke elemen pertama, 200 ke elemen kedua,

dan 300 ke elemen ketiga.


Catatan : Elemen pertama dari array dimulai dengan nomor index 0


Contoh lain :


For I = 0 To 19 Step 1

Input "Masukkan Nilai :",A(I)

Next I


Akan menanyakan kepada pemakai untuk mengisi elemen pertama s/d

elemen keduapuluh.


Contoh lain :


Total = 0

For I = 0 To 19 Step 1

Total = Total + A(I) 'A(0), A(1), ..., A(19)

Next I

Print "Total :",Total


Akan menjumlahkan nilai elemen pertama s/d elemen keduapuluh ke

variabel total.


Dalam Quick Basic, kita mengenal dua jenis variabel array, yakni

dynamic array dan static array. Static array dapat kita bentuk

tanpa perintah khusus, tetapi terbatas sampai nomor index ke 10

saja tanpa dipengaruhi jumlah dimensi.


Contoh :


For I = 0 To 10 Step 1

Input "Masukkan Nilai :",B(I)

Next I

Total = 0

For I = 0 To 10 Step 1

Total = Total + B(I)

Next I

Print "Total :",Total


Program diatas dapat dijalankan tanpa kesalahan walaupun variabel

array B tidak dideklarasikan sebagai variabel array. Hal ini

karena kita menggunakan Static array yang otomatis disediakan

oleh Quick Basic, tetapi hanya terbatas sampai nomor index ke 10



Pada defaultnya index awal dari variabel array adalah dimulai

dari 0, tetapi hal ini bisa diubah dengan perintah OPTION BASE 1.


Contoh :



DIM A(30)


For I = 1 To 30

Input "Masukkan Nilai :",A(I)

Next I


Index awal dari variabel array dapat juga ditentukan pada saat



Contoh :


DIM C(5 To 15)


For I = 5 To 15 Step 1

Input "Masukkan Nilai :",A(I)

Next I


Akan menghasilkan variabel array C, dengan elemen pertama

memiliki nomor index 5, dan elemen terakhir memiliki nomor index



Anda dapat juga menggunakan fungsi LBound dan UBound untuk

mendapatkan index awal dan index akhir dari suatu array.


Contoh :


DIM C(5 To 15)


For I = LBound(C) To UBound(C) Step 1

Input "Masukkan Nilai :",A(I)

Next I



Static Array dan Dynamic Array


Pada QBasic, semua array yang dideklarasikan dengan numerik

adalah Static Array, dan array yang dideklarasikan dengan

variabel adalah Dynamic Array.


Contoh :


DIM D(30)


D adalah variabel Static Array


E = 30



F adalah variabel Dynamic Array, karena jumlah elemennya

ditentukan dengan menggunakan variabel E, dalam hal ini 30.


Perbedaan Static Array dan Dynamic Array :

1. Memory Static Array dialokasikan oleh QBasic pada awal

eksekusi program dimulai, sedangkan Memory Dynamic Array

dialokasikan secara dinamis pada saat eksekusi program


2. Static Array tidak dapat dideklarasi ulang, sedangkan Dynamic

Array dapat dideklarasikan ulang dengan perintah REDIM


Contoh :


DIM A(10)



Akan terjadi kesalahan, karena variabel A adalah Static Array.


B = 10




Tidak terjadi kesalahan.


Catatan : REDIM akan menghapus isi array, dan mendimensi ulang

jumlah elemennya.



3. Static Array tidak dapat dihapus dari memory, sedangkan

Dynamic Array dapat dihapus dari memory dengan perintah ERASE.




DIM A(3)

A(1) = 1

A(2) = 2

A(3) = 3




Print A(1) ' akan tercetak 0

Print A(2) ' akan tercetak 0

Print A(3) ' akan tercetak 0


Karena perintah Erase hanya mereset isi variabel Static Array ke

0 (jenis numeric) atau "" (Null) (jenis string), sedangkan

Variabel dan dimensinya tetap dipertahankan.


Contoh Lain :



B = 3


C(1) = 1

C(2) = 2

C(3) = 3




Print C(1) ' terjadi kesalahan subscript out of range


Karena variabel array C telah dihapus dari memory.


Variabel Array Multi Dimensi

Anda dapat membentuk variabel array 2 atau 3 dimensi dengan

perintah dim.

Contoh :

DIM A(10,10)

Akan membentuk array 11 baris (0 s/d 10), 11 kolom (0 s/d 10)

(121 elemen)

Cara pemakaian array Multi Dimensi sama saja dengan array 1

dimensi yaitu perlu disebutkan nomor indexnya masing-masing.


Contoh :

A(2,2) = 5

Akan mengisi nilai 5 ke elemen baris 3 kolom 3 dari Array dua

dimensi A. (ingat index dimulai dari 0, kecuali dengan pernyataan


Bahan Latihan

1. Susun sebuah program dengan ketentuan berikut :

- program menanyakan jumlah data

- program menerima data sesuai dengan jumlah data satu persatu

- program mengurut data tersebut secara ascending

- program menghitung :

1. data terbesar

2. data terkecil

3. rata-rata

4. median

2. Buatlah program faktur sederhana dengan ketentuan :

- program menanyakan Tanggal dan Penjual

- program menanyakan

1. Jumlah

2. Satuan

3. Nama barang

secara berulang sampai jumlah yang dimasukkan 0 (nol)

- hasil menghasilkan tampilan faktur berikut :


Tanggal : 01-Jan-1995

Penjual : Budianto


No. Jlh Satuan Nama Barang Harga @ Jumlah


1. 30 Kotak Diskette 3M 15,000.00 450,000.00

2. 10 Buah Pita printer 7,000.00 70,000.00


Total : 520,000.00




Oleh : Hendra, ST.


Modul 5



Fungsi bantu adalah fasilitas yang disediakan untuk membantu

programmer dalam mengembangkan program. Dengan adanya fungsi

bantu bawaan programmer tidak perlu mengembangkan program untuk

melakukan hal yang sama.


Contoh :

Pada Qbasic telah tersedia fungsi bantu Sinus yang dapat

digunakan untuk mendapatkan nilai sinus dari suatu sudut dalam



Dim B As Double

B = Sin(30 * 3.14/180)


Akan mengisi nilai sinus sudut 30 derajat ke variabel B


Tanpa mengunakan fungsi bantu Sinus, programmer dapat

mengembangkan program sendiri untuk melakukan hal yang sama,

tetapi hal ini tentu saja menuntut pengetahuan yang lebih



Contoh :

Dengan menggunakan Ekspansi Trigonometris, suatu nilai Sinus

dapat diturunkan.




S = 30 * 3.14 / 180 ' Sudut 30 derajat dalam radian

F = 1

Tanda = 1

Sinus = S

FOR I = 2 TO 11

F = F * I ' Menghitung nilai faktorial

IF I MOD 2 = 1 THEN ' Suku 3, 5, 7, 9, 11

Tanda = -Tanda ' Tanda -1, 1, -1, 1, dst

Sinus = Sinus + (S ^ I / F * Tanda)



B = Sinus


Potongan program diatas akan menghasilkan nilai Sinus 30 derajat

ke variabel B.


Dengan menggunakan fungsi bantu bawaan yang telah tersedia

pekerjaan programmer akan lebih terfokus pada program yang akan






LEFT$ (stringexpression,n)

Mengembalikan sejumlah karakter string dari suatu data string

dari sebelah kiri.


Contoh :

Print Left$("IndoProg",4) ' Akan mencetak Indo



RIGHT$ (stringexpression,n)

Mengembalikan sejumlah karakter string dari suatu data string

dari sebelah kanan.


Contoh :

Print Right$("IndoProg",4) ' Akan mencetak Prog




Mengembalikan sejumlah karakter string dari suatu string mulai

posisi tertentu.


Contoh :

Print Mid$("1234567890",3,4) ' Akan mencetak 3456

Print Mid$("1234567890",3) ' Akan mencetak 34567890




Mengembalikan string dengan menghilangkan spasi sebelah kiri.


Contoh :

A$ = " 100"

B$ = LTRIM$(A$)

Print A$ 'Akan mencetak 100

Print B$ 'Akan mencetak 100




Mengembalikan string dengan menghilangkan spasi sebelah kanan.



Mencari posisi suatu string pada string lain (0 jika tidak



Contoh :

Print INSTR("ABCD","B") 'Akan mencetak 2

Print INSTR(4,"ABCDABCD","A") 'Akan mencetak 5

Print INSTR("ABCD","a") 'Akan mencetak 0




Mengembalikan suatu string yang telah diubah ke huruf kecil.


Contoh :

Print LCase$("IndoProg") 'Akan mencetak indoprog




Mengembalikan string yang telah dibuat huruf besar.


Contoh :

Print UCase$("IndoProg") 'Akan mencetak INDOPROG




Mengembalikan string yang berisi sejumlah spasi.


Contoh :

Print Space$(30), "IndoProg"



STRING$(m,n) atau STRING$(m,stringexpression)

Mengembalikan string yang mengandung sejumlah character yang



Contoh :

Print String$(10,65) ' Akan mencetak AAAAAAAAAA

Print String$(10,"A") ' Akan mencetak AAAAAAAAAA




Mengembalikan jumlah huruf suatu data string.


Contoh :

Print Len("Indonesia Programmer") ' Akan mencetak 20






Mengembalikan string dari suatu expresi numeric


Contoh :

A = 100

B$ = Str$(A) 'B berisi "100"



Mengembalikan numeric dari suatu expresi string


Contoh :

B$ = "100"

A = Val(B) 'A berisi 100

C = "IndoProg"

D = Val(C) 'D berisi 0



Mengembalikan nilai ASCII dari suatu character.


Contoh :

Print Asc("A") 'Akan mencetak 65



Mengembalikan character ASCII n.


Contoh :

Print Chr$(65) 'Akan mencetak "A"









Mengembalikan nilai trigonometri.

numeric-expression dinyatakan dalam radian (sudut*3.14/180).


Cukup jelas




Mengembalikan nilai exponential.


Cukup jelas




Mengembalikan nilai logaritma natural.


Cukup jelas




Mengembalikan nilai akar pangkat dua.


Contoh :

Print Sqr(9) 'Akan mencetak 3



Mengembalikan nilai bulat dari suatu desimal.


Contoh :

Print Int(3.5) 'Akan mencetak 3





RANDOMIZE [integer-expression]


Memberikan bibit kepada nilai random.



Mengembalikan nilai pseudo random antara 0 s/d < 1


Contoh :

Randomize Timer

Print Int(RND*100) 'Akan mencetak suatu bilangan

'random 0 s/d 99





Mengembalikan tanggal system dalam string dengan format mm-dd-



Mengembalikan waktu komputer dalam string dengan format hh:mm:ss.


Mengembalikan jumlah detik sejak pukul 00:00:00

TIMER dapat digunakan pada perintah RANDOMIZE TIMER.

Contoh :




N = 0


N = N + 1







Latihan :

1. Bandingkan hasil Sinus dengan fungsi bantu Sin dan Ekspansi


2. Buatlah program putar String "Indonesia Programmer" dari kiri

ke kanan.

3. Bagaimana kalau putar dari kanan ke kiri.

4. Cobalah program tebak angka, berapa kali anda mampu

selesai menebaknya?

Monday, April 28, 2008

10 Tip Menghadapi Patah Hati

Waktu baca-baca inbox milis yg menumpuk tiba2 menemukan sebuah email yang cukup menarik (kenapa email ini nggak datang sejak dulu ya .. he he he). Jadi kepingin posting isi email-nya. Berikut kutipan isi email tersebut :


Apakah patah hati dapat diatasi? Tentu. Para psikolog berpendapat bahwa bagi penderita patah hati agar tetap percaya diri dan yakin bahwa masalah yang dihadapinya akan bisa diatasi oleh orang yang bersangkutan. Orang yang patah hati tersebut harus terus-menurus meyakinkan dirinya bahwa ia bisa mengatasi patah hatinya.

Pada gilirannya, ia pun diharapkan bisa menerima kenyataan yang telah terjadi. Namun melalui masa-masa yang menyakitkan itu memang memerlukan waktu, yang rentangnya bisa tidak sama pada masing-masing orang. Rentang waktu itu bergantung pada seberapa keras usaha orang yang sedang patah hati untuk mengatasi masalah yang mengungkung dirinya. Beberapa ahli menyarankan beberapa tindakan-tindakan yang sebaiknya dilakukan bagi orang yang menagalami patah hati.

1. Lupakan segala sesuatu terhadap mantan kekasih Anda, putuskan kontak, dan jangan biarkan ia hinggap dalam pikiran Anda. Walau demikian, Anda tidak perlu membencinya, artinya, persahabatan dan silaturahim harus tetap diupayakan, bila suatu saat bertemu tidak sengaja, Anda tidak perlu menghindar. Dan Anda tidak perlu menelponnya kalau tidak perlu sekali.

2. Bila Anda dan mantan kekasih Anda pernah saling memberi barang, kembalikan saja barang-barang pemberiannya, atau berikan kepada yang membutuhkan, misal yayasan yatim piatu, atau boleh juga singkirkan sementara untuk menghapus kenangan terhadap dia.

3. Perbanyak kesibukan-kesibukan sosial, kesibukan yang dapat membantu dan meringankan beban orang lain. Penelitian membuktikan,bahwa menolong orang lain mendatangkan perasaan nyaman bagi pelakunya. Banyak cara untuk melakukan hal itu, misal menjadi sukarelawan bakti sosial, panitia keagamaan, atau kegiatan lainnya yang berguna.

4. Anda harus mengevaluasi kegagalan hubungan Anda dan pelajari sebab-sebab kegagalan hubungan tersebut. Tumpahkan isi hati dan uneg-uneg Anda ke dalam catatan atau diary. Jangan ragu kalau Anda ingin memakai kata atau kalimat makian. Menumpahkan semua pikiran yang ada di kepala ke dalam suatu tulisan dapat meringankan beban Anda. Cara yang paling sederhana menumpahkan isi hati dan pikiran adalah dengan menulis, bila tidak, seperti sebuah saluran, ia akan tersumbat dan suatu saat meledak. Hal ini juga perlu, bila suatu saat nanti ketika Anda membuka kembali catatan Anda, jangan kaget, jika Anda kemudian menemukan jalan ke hal-hal yang baru dan dapat lebih memahami kecenderungan yang ada pada diri Anda sendiri. Sehingga di kemudian hari Anda sudah punya gambaran seperti apa hubungan yang Anda inginkan.

5. Bila perasaan kesepian menghampiri Anda, kunjungilah sahabat atau keluarga terdekat Anda dan lakukan hal-hal yang menyenangkan, seperti bermain kartu atau berceritalah hal-hal yang ringan dan lucu, seperti masa kecil Anda atau ketika Anda bersekolah dulu.

6. Sediakan waktu Anda untuk memanjakan diri sendiri. Datanglah ke tempat-tempat yang dapat membuat Anda rileks dan santai, seperti salon, spa, pijat refleksi, sauna, lulur atau bahkan menonton film. Bisa juga Anda datang ke sebuah pesta yang sudah Anda ketahui sebelumnya hanya akan dihadiri oleh sedikit orang.

7. Bila rasa sakit sudah begitu meluap, carilah saluran yang positif, seperti berolah raga, bermain video game, atau melakukan meditasi.

8. Tekuni kembali hobi lama Anda atau carilah kegemaran baru, misal melalui kursus atau pelatihan. Pada kesempatan ini, mungkin Anda masih menutup diri terhadap kemungkinan berkenalan dengan orang- orang baru. Tidak ada yang terlalu cepat untuk bertemu berkenalan dengan orang-orang baru meskipun hubungan Anda dengan kekasih baru berakhir beberapa hari.

9. Bacalah buku, majalah atau putarlah film yang dapat menggugah inspirasi Anda.

10. Binatang piaraan adalah sesuatu hal yang menarik. Binatang piaraan akan memberikan cinta tak terbatas kepada Anda.

Memang, tak ada jaminan yang pasti patah hati Anda akan terobati jika mengikuti saran-saran tersebut. Tapi, setidaknya langkah-langkah itu dapat menjadi sedikit pemantik untuk menyalakan semangat, sehingga Anda kembali siap menjalin hubungan asmara yang baru.

Orang yang telah berhasil menyembuhkan sakit hatinya seringkali tidak menyangka sebelumnya kalau bisa bangkit lagi. Padahal asal mau, pasti mereka bisa membuka hati dan jatuh cinta lagi.