Friday 13 December 2013

Visual Basic for Applications (VBA) for the Microsoft 2007 Office System Language Reference

1. Microsoft forms Reference --> Helps on Userform and controls and how to program with them using Visual Basic

2. Visual Basic Conceptual Topics --> Helps you to understand Visual Basic Programming

3. Visual Basic Definition --> it is a glossary definition to help you understand concepts presented in this documentation

4. Visual Basic How-To Topics --> To look for useful common procedure, for example, how to use the Object Browser or how to set Visual Basic Environment options

5. Visual Basic Language Reference: The language: all its methods, properties, statements, functions, operators, and objects

6. Visual Basic Add-in model
If you want to customize the Visual Basic Editor, see this language reference for Help on the object model that allows you to extend the environment.

7. Visual Basic User Interface help
Look here for help on interface elements of the Visual Basic Editor, such as commands, dialog boxes, windows, and toolbars

 

How to: Reference Cells and Ranges

How to: Reference Cells and Ranges

A common task when using Visual Basic is to specify a cell or range of cells and then do something with it, such as enter a formula or change the format. You can usually do this in one statement that identifies the range and also changes a property or applies a method.
A Range object in Visual Basic can be either a single cell or a range of cells. The following topics show the most common ways to identify and work with Range objects.

Some ways to reference cells

How to: Refer to All the Cells on the Worksheet
How to: Refer to Cells and Ranges by Using A1 Notation
How to: Refer to Rows and Columns
How to: Refer to Cells by Using Index Numbers
How to: Refer to Cells by Using Shortcut Notation
How to: Refer to Cells Relative to Other Cells
How to: Refer to Cells by Using a Range Object
How to: Refer to Named Ranges
How to: Refer to Multiple Ranges
How to Reference Cells and Ranges

Thursday 12 December 2013

How to: Add a Table of Contents to a Workbook

How to: Add a Table of Contents to a Workbook


MVP iconThe following code example was provided by MVP Bill Jelen. Bill is the author of 24 books on Microsoft Office Excel. He is a regular guest on TechTV with Leo Laporte and the host of MrExcel.com, which includes more than 300,000 questions and answers about Excel.
The following code example verifies that a sheet named "TOC" already exists. If it exists, the example updates the table of contents. Otherwise, the example creates a new TOC sheet at the beginning of the workbook. The name of each worksheet, along with the corresponding printed page numbers, is listed in the table of contents. To retrieve the page numbers the example opens the Print Preview dialog box. You must close the dialog box and then the table of contents is created.
Sub CreateTableOfContents()
    ' Determine if there is already a Table of Contents
    ' Assume it is there, and if it is not, it will raise an error
    ' if the Err system variable is > 0, you know the sheet is not there
    Dim WST As Worksheet
    On Error Resume Next
    Set WST = Worksheets("Table of Contents")
    If Not Err = 0 Then
        ' The Table of contents doesn't exist. Add it
        Set WST = Worksheets.Add(Before:=Worksheets(1))
        WST.Name = "TOC"
    End If
    On Error GoTo 0
    
    ' Set up the table of contents page
    WST.[A2] = "Table of Contents"
    With WST.[A6]
        .CurrentRegion.Clear
        .Value = "Subject"
    End With
    WST.[B6] = "Page(s)"
    WST.Range("A1:B1").ColumnWidth = Array(36, 12)
    TOCRow = 7
    PageCount = 0

    ' Do a print preview on all sheets so Excel calcs page breaks
    ' The user must manually close the PrintPreview window
    Msg = "Excel needs to do a print preview to calculate the number of pages. "
    Msg = Msg & "Please dismiss the print preview by clicking close."
    MsgBox Msg
    ActiveWindow.SelectedSheets.PrintPreview

    ' Loop through each sheet, collecting TOC information
    For Each S In Worksheets
        If S.Visible = -1 Then
            S.Select
            ThisName = ActiveSheet.Name
            HPages = ActiveSheet.HPageBreaks.Count + 1
            VPages = ActiveSheet.VPageBreaks.Count + 1
            ThisPages = HPages * VPages

            ' Enter info about this sheet on TOC
            Sheets("TOC").Select
            Range("A" & TOCRow).Value = ThisName
            Range("B" & TOCRow).NumberFormat = "@"
            If ThisPages = 1 Then
                Range("B" & TOCRow).Value = PageCount + 1 & " "
            Else
                Range("B" & TOCRow).Value = PageCount + 1 & " - " & PageCount + ThisPages
            End If
        PageCount = PageCount + ThisPages
        TOCRow = TOCRow + 1
        End If
    Next S
End Sub

Saving Documents as Web Pages

Saving Documents as Web Pages

In Microsoft Excel, you can save a workbook, worksheet, chart, range, query table, PivotTable report, print area, or AutoFilter range to a Web page. You can also edit HTML files directly in Excel.

Saving a Document as a Web Page

Saving a document as a Web page is the process of creating and saving an HTML file and any supporting files. To do this, use the SaveAs method, as shown in the following example, which saves the active workbook as C:\Reports\myfile.htm.
ActiveWorkbook.SaveAs _
    Filename:="C:\Reports\myfile.htm", _
    FileFormat:=xlHTML

Customizing the Web Page

You can customize the appearance, content, browser support, editing support, graphics formats, screen resolution, file organization, and encoding of the HTML document by setting properties of the DefaultWebOptions object and the WebOptions object. The DefaultWebOptions object contains application-level properties. These settings are overridden by any workbook-level property settings that have the same names (these are contained in the WebOptions object).
After setting the attributes, you can use the Publish method to save the workbook, worksheet, chart, range, query table, PivotTable report, print area, or AutoFilter range to a Web page. The following example sets various application-level properties and then sets the AllowPNG property of the active workbook, overriding the application-level default setting. Finally, the example saves the range as "C:\Reports\1998_Q1.htm."
With Application.DefaultWebOptions
    .RelyonVML = True
    .AllowPNG = True
    .PixelsPerInch = 96
End With
With ActiveWorkbook
    .WebOptions.AllowPNG = False
    With .PublishObjects(1)
        .FileName = "C:\Reports\1998_Q1.htm"
        .Publish
    End With
End With
You can also save the files directly to a Web server. The following example saves a range to a Web server, giving the Web page the URL address http://example.homepage.com/annualreport.htm.
With ActiveWorkbook
    With .WebOptions
        .RelyonVML = True
        .PixelsPerInch = 96
    End With
    With .PublishObjects(1)
        .FileName = _
        "http://example.homepage.com/annualreport.htm"
        .Publish
    End With
End With

Opening an HTML Document in Microsoft Excel

To edit an HTML document in Excel, first open the document by using the Open method. The following example opens the file "C:\Reports\1997_Q4.htm" for editing.
Workbooks.Open Filename:="C:\Reports\1997_Q4.htm"
After opening the file, you can customize the appearance, content, browser support, editing support, graphics formats, screen resolution, file organization, and encoding of the HTML document by setting properties of the DefaultWebOptions and WebOptions objects.

Controlling One Microsoft Office Application from Another

Controlling One Microsoft Office Application from Another

If you want to run code in one Microsoft Office application that works with the objects in another application, follow these steps.
  1. Set a reference to the other application's type library in the References dialog box (Tools menu). After you have done this, the objects, properties, and methods will show up in the Object Browser and the syntax will be checked at compile time. You can also get context-sensitive Help on them.
  2. Declare object variables that will refer to the objects in the other application as specific types. Make sure you qualify each type with the name of the application that is supplying the object. For example, the following statement declares a variable that points to a Microsoft Word document and another that refers to a Microsoft Excel workbook:
    Dim appWD As Word.Application, wbXL As Excel.Workbook
      Note
    You must follow the preceding steps if you want your code to be early bound.
  3. Use the CreateObject function with the OLE Programmatic Identifiers of the object you want to work with in the other application, as shown in the following example. If you want to see the session of the other application, set the Visible property to True.
    Dim appWD As Word.Application
    
    Set appWD = CreateObject("Word.Application")
    appWd.Visible = True
  4. Apply properties and methods to the object contained in the variable. For example, the following instruction creates a new Word document.
    Dim appWD As Word.Application
    
    Set appWD = CreateObject("Word.Application")
    appWD.Documents.Add
  5. When you are done working with the other application, use the Quit method to close it, as shown in the following example.
    appWd.Quit

Microsoft Excel 2007 help's table of content

Accessibility
Activating Excel
Add-ins
Automation and programmability
Charts
Collaboration
Customizing
Excel and the web
Excel demos
Exchanging data with other programs
File conversion and compatibility
Filtering, sorting and conditionally formating
Forms
Formula and name basics
Function reference
Getting help
Glossary
Importing data
Installing
Macros
PivotTable reports and PivotCharts reports
Publishing to SharePoint server excel services
Saving and printing
Security and privacy
Summarizing, consolidating, and outlining data
Trainning
Validating data
What-if analysis
What's new
Workbook management
Working in different language
Working with XML
Worksheet and Excel table basic

Concepts
Functions
Workbooks and Worksheets
Cells and Ranges
Controls, Dialog boxes and Forms
Events, Worksheet Functions, and Shapes
Working with Other Applications
 

Wednesday 11 December 2013

Electronic Workbench 5.12

1. Sources
1.1 Ground
1.2 Battery
1.3 DC Current Source
1.4 AC Voltage Source
1.5 AC Current Source
1.6 Voltage-Controlled Voltage Source
1.7 Voltage-Controlled Current Source
1.8 Current-Controlled Voltage Source
1.9 Current-Controlled Current Source
1.10 +Vcc Voltage Source
1.11 +Vdd Voltage Source
1.12 Clock
1.13 AM Source
1.14 FM Source
1.15 Voltage-Controlled Sine Wave Oscillator
1.16 Voltage-Controlled Triangle Wave Oscillator
1.17 Voltage-Controlled Square Wave Oscillator
1.18 Controlled One-Shot
1.19 Piecewise Linear Source
1.20 Voltage-Controlled Piecewise Linear Source
1.21 Frequency-Shift-Keying Source
1.22 Polynomial Source
1.23 Nonlinear Dependent Source

2. Basic
2.1 Connector
2.2 Resistor
2.3 Capacitor
2.4 Inductor
2.5 Transformer
2.6 Relay
2.7 Switch
2.8 Time-delay switch
2.9 Voltage-Controlled switch
2.10 Current-Controlled switch
2.11 Pull-up resistor
2.12 Potentiometer
2.13 Resistor pack
2.14 Voltage-controlled switch
2.15 Polarized Capacitor
2.16 Variable Capacitor
2.17 Variable Inductor
2.18 Coreless Coil
2.19 Magnetic Core
2.20 Nonlinear Transformer

3. Diodes
3.1 Diode
3.2 Zener Diode
3.3 LED
3.4 Full-Wave Bridge Rectifier
3.5 Shockley Diode
3.6 Silicon-Controlled Rectifier
3.7 Diac
3.8 Triac

4. Transistors
4.1 NPN Transistor
4.2 N-Channel JFET
4.3 P-Channel JFET
4.4 3-Terminal Depletion N-MOSFET
4.5 3-Terminal Depletion P-MOSFET
4.6 4-Terminal Depletion N-MOSFET
4.7 4-Terminal Depletion P-MOSFET
4.8 3-Terminal Enhancement N-MOSFET
4.9 3-Terminal Enhancement P-MOSFET
4.10 4-Terminal Enhancement N-MOSFET
4.11 4-Terminal Enhancement P-MOSFET
4.12 N-Channel GaAsFET
4.13 P-Channel GaAsFET

5. Analog ICs
5.1 3-Terminal Opamp
5.2 5-Terminal Opamp
5.3 7-Terminal Opamp
5.4 9-Terminal Opamp
5.5 Comparator
5.6 Phase Locked-Loop


6. Mixed ICs
6.1 Analog-to-digital converter
6.2 Digital-to-analog converter (I)
6.3 Digital-to-analog converter (V)
6.4 Monostable Multivibrator
6.5 555 Timer

7. Digital ICs
7.1 74XX templates
7.2 741XX Template
7.3 742XX Templates
7.4 743XX Templates
7.5 744XX Templates
7.6 4XXX Templates

8. Logic Gates
8.1 2-Input AND gate
8.2 2-Input OR gate
8.3 NOT gate
8.4 2-Input NOR gate
8.5 2-Input NAND gate
8.6 2-Input XOR gate
8.7 2-Input XNOR gate
8.8 Tristate buffer
8.9 Buffer
8.10 Schmitt-triggered buffer
8.11 AND
8.12 OR
8.13 NAND
8.14 NOR
8.15 NOT
8.16 XOR
8.17 XNOR
8.18 BUFFERS

9. Digital
9.1 Half Adder
9.2 Full Adder
9.3 RS Flip-flop
9.4 JK Flip-flop with  Active High Asynch Inputs
9.5 JK Flip-flop with Active Low Asynch Inputs
9.6 D Flip-flop
9.7 D Flip-flop with Active Low Asynch Inputs
9.8 Multiplexer (MUX)
9.9 Demultiplexer
9.10 Encoder
9.11 Arithmetic
9.12 Counters
9.13 Shift Registers
9.14 Flip-flops

10. Indicators
10.1 Voltemeter
10.2 Ammeter
10.3 Bulb
10.4 Red Probe
10.5 Seven-Segment Display
10.6 Decoded Seven-Segment Display
10.7 Buzzer
10.8 Bargraph Display
10.9 Decoded Bargraph Display

11. Controls
11.1 Voltage Differentiator
11.2 Voltage Integrator
11.3 Voltage Gain Block
11.4 Transfer Function Block
11.5 Multiplier
11.6 Divider
11.7 Three-way voltage summer
11.8 Voltage Limiter
11.9 Voltage-controlled limiter
11.10 Current-limiter block
11.11 Voltage hysteresis block
11.12 Voltage slew rate block

12. Miscellaneous
12.1 Fuse
12.2 Write Data
12.3 Netlist component
12.4 Lossy Transmission Line
12.5 Lossless Transmission Line
12.6 Crystal
12.7 DC Motor
12.8 Triode Vacuum Tube
12.9 Boost (Step-up) Converter
12.10 Buck (Step-down) Converter
12.11 Buck-boost converter
12.12 Textbox
12.13 Title Block

13. Instruments
13.1. Multimeter
13.2. Function Generator
13.3. Oscilloscope
13.4. Bode Potter
13.5. Word Generator
13.6. Logic Analyzer
13.7. Logic Converter


Link untuk download Electronic Workbench 5.12 : Disini

List Lagu

1. Seurieus Band - B.D.G. 19 Oktober
2. Afgan - Bukan Cinta Biasa
3. Ari Lasso - Jalanku tak panjang
4.

Tuesday 10 December 2013

Materi pelajaran Kimia

1. Analisis bahan secara gravimeter
2. Analisis kation dan anion
3. Asam Basa
4. Cara menata alat dan bahan di laboratorium kimia
5. Faktor yang mempengaruhi kinetika reaksi
6. Hidrokarbon dan minyak bumi
7. Ikatan kimia
8. Kesetimbangan kimia
9. Kimia lingkungan
10. Kimia unsur 2
11. Kinetika kimia
12. Konsep mol
13. Laju reaksi
14. Lambang unsur dan persamaan reaksi
15. Larutan 2
16. Larutan asam dan larutan basa
17. Materi dan perubahannya
18. Memahami tentang kimia
19. Penataan alat dan bahan
20. Pencemaran lingkungan
21. Pengolahan unsur
22. Polimer
23. Reaksi kesetimbangan
24. Reaksi oksidasi dan reduksi
25. Reaksi reduksi dan oksidasi
26. Redoks dan elektrokimia
27. Senyawa karbon
28. Termodinamika
29. Termokimia
30. Titrasi

Key to master Chemistry is mastering Periodic Table?

Materi Pelajaran Fisika SMU Kelas 1 - 3

1. Besaran dan satuan
2. Gerak Lurus
3. Hukum Newton
4. Memadu Gerak
5. Gerak Melingkar
6. Gravitasi
7. Usaha dan Energi
8. Momentum
9. Elastisitas
10. Fluida
11. Gelombang dan bunyi
12. Suhu dan Kalor
13. Listrik statis
14. Listrik dinamis
15. Medan magnet
16. Imbas elektromagnetik
17. Optika Geometri
18. Alat optik
19. Arus bolak-balik
20. Perkembangan teori atom
21. Radioaktif
22. Kesetimbangan benda tegar
23. Titik berat benda
24. Teori kinetik gas
25. Hukum termodinamika
26. Gelombang elektromagnetik
27. Optik fisis
28. Relativitas
29. Dualisme gelombang partikel


Windows Administrative tools

Component services
Computer management
Data sources (ODBC)
Event viewer
Internet Information Service (IIS) Manager
iSCSI initiator
Local Security Policy
Microsoft .NET Framework 2.0 Configuration
Performance Monitor
Print Management
Services
System Configuration
Task Scheduler
Windows Firewall with Advanced Security
Windows Memory Diagnostic
Windows PowerShell Modules

Rebol Lesson: Importing code modules

Pelajaran ini pada dasarnya menunjukkan bagaimana melakukan import skrip kode yang ada atau yang sudah tersimpan dari skrip kode yang lain. Jadi, pada praktikum ini kita membutuhkan dua buah skrip sederhana: skrip controller dan skrip penyimpan.

Skrip controller pada dasarnya memanggil / invoke skrip lainnya yaitu pada hal ini kita sebut skrip pencatat.

Pada akhir lesson ini kamu boleh berpendapat bahwa mengimpor code adalah mengimpor fungsi, variabel yang terkandung di dalam code yang diimport tersebut. Cukup menyenangkan yah?


rebol[ title: skrip-1, database]
database: copy []

rebol[title: controller]
do
append database 1

Direktori default sound windows adalah di: C:\Windows\Media
Rebol's default working directory: c:\program files\rebol\view

REBOL Indonesia part 2

Word/variable assignment, I/O files, Built-in Data types and Native protocols


Apa itu word/variabel assignment?

Word atau variabel assignment adalah pemberian nilai suatu word atau variabel.

Bagaimana cara melakukan word/variabel assignment?

Cara melakukan word/variabel assignment adalah dengan menggunakan tanda colon (:). Contoh:
Person: "John"

Pada contoh diatas variable Person diberi nilai "John". Dalam hal ini nilai John adalah string.

Selanjutnya variabel Person itu bisa digunakan dimana saja. Contoh:
alert rejoin ["Nama orang adalah " person]

Tunggu, apakah REBOL tidak sensitif terhadap huruf, maksud saya, apakah Person sama dengan person sama dengan PERSON?

Ya, Person sama dengan person sama dengan PERSON. REBOL tidak case sensitive.

Kamu tahu bahwa variabel REBOL bisa di-assign ke berbagai nilai?
angka(numbers), text strings, data biner (binary data), arrays, lists, hash tables, functions, dan bahkan executable block of code?

Apakah kamu tahu jika kamu memberi nilai e-mail ke dalam suatu variabel, maka datatype variabel itu akan mengikuti/menyesuaikan jenis nilai yang dimasukkan ke dalamnya?

Apakah kamu tahu fungsi Print adalah cara sederhana untuk menampilkan data teks pada command line interpreter?

Well, sejauh ini kita belum pernah membahas fungsi print. Fungsi print menampilkan data teks pada command line interpreter. Wait, command line interpreter? Ya, paket installer REBOL menyediakan command line interpreter dan text editor juga. Baik yah? You can say these two as built-in command line interpreter and built-in text editor.

Print juga bisa digunakan untuk multiline text. Contoh:

>> print {hello
{    we are rebolers!
{    Good to see you!}
hello
we are rebolers!
Good to see you!

Teks multiline itu harus diapit dengan tanda kurung kurawal ({}).

Selain fungsi print ada fungsi prin juga loh?

Apa bedanya? Print itu consecutive line. Prin itu mencetak ke command line interpreter data-data teks right next to each other.

Lets see the differences:

>> print "hello world!" print "nice to see you.."
hello world!
nice to see you..
>> prin "hello world!" prin "nice to see you.."
hello world!nice to see you..

Have you see the differences between print function and prin function?

How about some carriage return?

Kapan kita menggunakan carriage return? Ketika kamu ingin membuat selang suatu teks dengan teks yang lain.

Biar gampang bayangkan kamu sedang membuat sebuah artikel. Pertama kamu beri judul kemudian tekan enter dua kali paragraf baru mu dimulai.

Let see, agak panjang dibawah ini:

>> print "MEMAHAMI CARRIAGE PADA REBOL^/^/" print "REBOL adalah salah satu bahasa pemrograman yang cukup mudah digunakan dan unik. Sangking uniknya kita harus belajar lagi cara menggunakan fungsi-fungsi built-in nya dan bagaimana membuat fungsi-fungsi itu cascade satu sama lain untuk menyelesaikan suatu consecutive task."
MEMAHAMI CARRIAGE PADA REBOL


REBOL adalah salah satu bahasa pemrograman yang cukup mudah digunakan dan unik. Sangking uniknya kita harus belajar lagi cara menggunakan fungsi-fungsi built-in nya dan bagaimana membuat fungsi-fungsi itu cascade satu sama lain untuk menyelesaikan suatu consecutive task.

Carriage return bisa menggunakan keyword ^/ atau menggunakan keyword newline.

Fungsi write nih....

Fungsi write menyimpan data ke suatu file. Fungsi write membutuhkan dua argumen, sebuah nama file, dan data untuk dituliskan kedalam file itu.

write %/C/YOURNAME.txt "Hello world!"

Well, thats all? Write hanya digunakan untuk menuliskan data kedalam sebuah file? Not just that. Write can also be used to write data to a website! Atau protocol yang terhubung lainnya.

Fungsi read dongs...


REBOL Indonesia

1. Built-in function

Kita butuh mempelajari built-in function yang tersedia sebagai bawaan REBOL. Built-in function penggunaannya adalah sebagai berikut: <function> <parameter/argument>

Parameter/argumen itu digunakan sebagai input bagi suatu fungsi.

Inilah konsep dasar penggunaan fungsi. Kamu harus tahu data apa yang dibutuhkan suatu fungsi (input) dan apa yang akan dikeluarkannya (return/output).


Contoh penggunaan-penggunaan built-in function REBOL:
1. Fungsi Alert
Alert "Teks yang diapit oleh tanda petik ini data parameter bagi fungsi alert"

Fungsi Alert adalah cara sederhana untuk menampilkan sesuatu data teks kepada user menggunakan jendela pop-up.

2. Fungsi Request
request "kamu lihat bahwa fungsi request juga membutuhkan argumen/parameter?"

Fungsi Request adalah cara sederhana untuk menangkap teks data dari user menggunakan jendela pop-up.

3. Fungsi browse
browse http://rebol.com

http://rebol.com diperlakukan sebagai argumen bagi fungsi browse.

fungsi browse adalah cara sederhana membuka tab baru di internet browsermu.


Beberapa fungsi tidak membutuhkan parameter, tapi tanpa adanya parameter mereka menghasilkan nilai return.

Contoh beberapa fungsi yang tidak membutuhkan parameter tapi menghasilkan nilai return:
request-text
request-date
request-color
request-date

Nilai Return dari fungsi-fungsi diatas bisa digunakan sebagai argumen untuk fungsi yang lain.

Contoh:
alert request-text

Pada contoh diatas nilai return dari fungsi request-text digunakan sebagai inputan bagi fungsi alert. Terlalu sulit dipahami? Kita coba contoh padanan fungsi yang lain, seperti:

........

Beberapa built-in function juga memiliki refinement. Refinement-refinement ini diikuti tanda /.

Contoh:
request-pass
request-pass/only
request-pass/user "Perjuangan9"
request-pass/title "Judulnya adalah..."
request-pass/offset/title 10x100 "'offset' repositions the requester"

Amati perbedaan kelima syntax diatas. Contoh-contoh diatas itu mencontohkan penggunaan refinement /only, /user, /title, /offset yang ada pada built-in function request-pass.






Beberapa fungsi mendukung parameter lebih satu. Contoh, fungsi rejoin dibawah ini didesain untuk menampung beberapa parameter sekaligus.
rejoin ["Hello " "there" "!"]

1.1 Pemahaman tentang return values dan orde evaluasi
Di dalam REBOL, kamu bisa meletakkan/menggandeng fungsi sebanyak yang kamu mau di dalam satu baris sekaligus dan mereka semua di evaluasi/diperiksa secara pasti dari kiri ke kanan.

Penulis melihat bahwa cara seperti ini adalah cara yang cerdas. Tapi untuk memungkinkan cara ini berlangsung, Interpreter REBOL harus pintar memilah kata yang mana yang fungsi dan kata yang mana yang sebagai parameter.

Ini adalah salah satu kelebihan yang cukup jelas antara REBOL dan bahasa pemrograman lainnya. Oleh karena ini, para pengguna REBOL sering disebut 'one-liners'. Karena mereka biasanya memanfaatkan fitur ini (menulis sintax dalam satu baris).

Contoh:
alert "Aloha!" alert "Rebolers Indonesia!"
request-pass/offset/title 10x100 "title" alert "Processing"

Tapi, perhatikan hal berikut ini, di dalam REBOL, operasi matematika tidak mengenal precedence, tidak seperti bahasa pemrograman C. Dengan kata lain, REBOL tidak mengenal bahwa perkalian (*) harus didahulukan dari penambahan (+) misalnya. Jadi untuk operasi matematika kamu perlu menuntun REBOL untuk menentukan operasi mana yang duluan. Hal ini dilakukan dengan menggunakan tanda buka kurung dan tutup kurung.

Kesimpulan

1. Jadi kamu sudah mengenal beberapa fungsi built-in REBOL seperti alert, request, request-text dan cara menggunakannya.
2. Jadi kamu sudah tahu cara mengumpan hasil/return dari suatu fungsi ke fungsi lain.
3. Kamu sudah tahu tentang apa itu refinement.
4. 


SEO (Search Engine Optimation)

Search Engine Optimization adalah serangkaian proses yang dilakukan secara sistematis yang bertujuan untuk meningkatkan volume dan kualitas trafik kunjungan melalui mesin pencari menuju situs web tertentu dengan memanfaatkan mekanisme kerja atau algoritma mesin pencari tersebut.

Sejalan dengan makin berkembangnya pemanfaatan jaringan internet sebagai media bisnis, kebutuhan atas SEO juga semakin meningkat.

Berada pada posisi teratas hasil pencarian akan meningkatkan peluang sebuah perusahaan pemasaran berbasis web untuk mendapatkan pelanggan baru.

Versi awal algoritma pencarian didasarkan sepenuhnya pada informasi yang disediakan webmaster melalui meta tag pada kode html situs web mereka. Meta tag ini menyediakan informasi tentang konten yang terkandung pada suatu halaman web dengan serangkaian kata kunci (keyword).

Sebagian webmaster (pengelola website) melakukan manipulasi dengan cara menuliskan katakunci yang tidak sesuai dengan konten situs yang sesungguhnya, sehingga mesin pencari salah menempatkan dan memeringkat situs tersebut. Hal ini menyebabkan hasil pencarian menjadi tidak akurat dan menimbulkan kerugian baik bagi mesin pencari maupun bagi pengguna internet yang mengharapkan informasi yang relevan dan berkualitas.

Pagerank adalah algoritma pengurutan website yang dibuat oleh  Larry Page dan Sergey Bin, dua mahasiswa doktoral ilmu komputer Universitas Stanford.

Pagerank secara umum bisa dikatakan bahwa halaman web yang memperoleh peringkat tinggi adalah halaman web yang banyak di-link oleh halaman web lain.

Nilai pagerank juga akan semakin tinggi apabila halaman web yang banyak di-link oleh website yang berkelas lainnya, contoh: Yahoo, Google, dan sebagainya.


Monday 9 December 2013

Silabus Matematika kelas 1, 2 dan 3

1. Logika matematika

2. Bentuk akar
3. Sistem persamaan
4. Statistika
5. Teori Peluang
6. Gradien dan Garis lurus
7. Program linear
8. Persamaan Kuadrat
9. Fungsi Kuadrat
10. Matriks
11. Fungsi Komposisi dan Fungsi Invers
12. Trigonometri
13. Pertidaksamaan
14. Eksponen
15. Logaritma
16. Barisan dan deret
17. Turunan Fungsi
18. Limit Fungsi
19. Transformasi Geometri
20. Lingkaran
21. Suku Banyak
22. Vektor
23. Integral
24. Bangun Ruang

1. Logika matematika
Math logic is subfield of mathematics exploring the applications of formal logic to mathematics.

2.

8. Persamaan Kuadrat
Persamaan kuadrat adalah suatu persamaan polinomial berorde dua. Bentuk umum dari persamaan kuadrat adalah:
y = ax^2 + bx + c \,\!
dengan




a \ne 0 \,\!
Bentuk Huruf-huruf a, b, dan c disebut sebagai koefisien: koefisien kuadrat a adalah koefisien dari x^2, koefisien linear b adalah koefisien dari x, dan c adalah koefisien konstan atau disebut juga suku bebas.


Solving
Ada dua cara untuk menyelesaikan masalah persamaan kuadrat:
1. 

Rebol LAB Zero to perfect #1

Try #1:

rebol[]

visitor: [2 4 6 4 2 4 6]
view: ask ["when?"]
visitor.int: to-integer view
print visitor/visitor.int
halt


Error:
when?1
** Script Error: Invalid path value: visitor.int
** Near: print visitor/visitor.int
halt



Try #2:
rebol[]

visitor: [1 2 3 2 1 2 3]
view: ask ["when?"]
visitor.int: to-integer view
print visitor/:visitor.int
halt

Error #1 (still have error when view = words):
when?as
** Script Error: Invalid argument: as
** Where: to-integer
** Near: to integer! :value

Pefect!
rebol[]

visitor: [2 4 6 4 2 4 6]
view: ask ["when?"]
either visitor.int: attempt [to-integer view] [print visitor/:visitor.int][print "Gak terima huruf bro!"]
halt

Software engineering

Software engineering adalah bagaimana menggunakan komponen-komponen software untuk membuat software.

1. Matriks/list
pengunjung = [1 2 3 2 1 2 3]
artinya:
pengunjung hari 1 = 2
pengunjung hari 2 = 2
pengunjung hari 3 = 3
pengunjung hari 4 = 2
pengunjung hari 5 = 1
dan seterusnya

artinya variabel pengunjung menggunakan hari sebagai index nya.

2. Conditional


3. Looping



4. Regresion linear sederhana


5. GUI

Wednesday 4 December 2013

System

System

System is a set of interacting component or a set of interdependent components forming an integrated whole.

Example of real-life system:

Following are considered as example of real-life system that near you:

1. Traffic system
2. Telecommunication system
3. Information system

Common characteristic between those systems:
  • A system has a structure, it contain elements/parts/components that are directly or indirectly related to each other;
  • A system has a behavior, it contain process that transform inputs into outputs (material, energy or data);
  • A system has interconnectivity

Examples of the elements of Information systems:


Following are considered as the elements of a system in terms of Information systems: –
  1. Inputs and outputs
  2. Processor
  3. Control
  4. Environment/surroundings
  5. Feedback
  6. Boundaries and interface
  7. Relationship

Tuesday 3 December 2013

Electrical Engineering

1. Power Engineering
Power engineering deals with the generation, transmission, and distribution of electricity as well as the design of a range of related devices

Devices: transformer, electric generator, electric motors, high voltage engineering, and power electronics.

2. Control Engineering
Control engineering focuses on the modelling of a diverse range of dynamic systems and the design of controllers that will cause these systems to behave in the desired manner.

Device: electrical circuit, digital signal processors, microcontroller, and PLC (Programmable Logic Controllers)

3. Electronics Engineering
Electronics Engineering involves the design and testing of electronic circuits that use property of components such as resistors, capacitors, inductors, diodes, and transistors to achieve particular functionality.

Example of electronic circuit: tuned circuit, circuit that allow a user to tune to a radio station.

4. Microelectronics Engineering
Microelectronics engineering deals with the design and microfabrication of very small electronic components and circuit for use in an integrated circuit (IC) or sometimes for use on their own as a general electronic component.

5. Signal processing
Signal process deals with the analysis and manipulation of signals (digital and analog signal).

6. Telecommunication
Focuses on the transmission of information across a channel such as coax cable, optical fiber or free space.

7. Instrumentation
Instrumentation engineering deals with the design of devices to measure physical quantities.
That physical quantities are: pressure, flow, and temperature. The design of such instrumentation often requires a good understanding of physics that often extends beyond electromagnetic theory.

8. Computer engineering 
Deals with the design of computers and computer systems (systems that contain more than one computers).

9. Mechantronics
Mechantronics is an engineering dicipline which deals with the convergence of electrical and mechanics system.

10. Biomedical Engineering
Biomedical Engineering concerned with the design of medical equipment. This includes fixed equipments such as ventilators, MRI scanners and electrocardiograph monitors, as well as mobile equipment (cochlear implants, artificial pacemakers and artificial hearts).


Server types

Server types:
1. Proxy server
to filter request, improve performance, and share connections

2. Mail server
move and store mail over corporate networks.

3. Server platform
engine that drives servers.

4. Web server
 serves static content to web browser by loading a file from a disk and serving it across the network to a user's web browser.

5. Application server

6. Real-time Communication server
Formerly known as chat server or IRC server.

7. FTP server
server that makes it possible to move one or more files securely between computer while providing file security and organization as well as transfer protocol.

8. Collaboration server

9. List server

10. Telnet server
enables user to log on to a host computer and perform tasks as if they are working on the remote computer itself.

11. Open source server

12. Virtual server
From hypervisor (Windows)

Sunday 1 December 2013

Cookbook of Assembly

1. Kita akan modifikasi register berikut ini: AX, DS, CS, IP  menggunakan perintah register, assemble, dump, enter, trace command.

register: to display the content of our CPU register
assemble: to entering code to our code segment
dump: to display the content of our data segment
enter: to fill/change the content of our data segment
trace: to execute a code one at a time.




2. Semua angka yang dimasukkan kedalam debugger adalah hexadecimal.

3. Segment register = DS, ES, SS, CS

DS= data segment
ES = extra segment
SS =
CS = Code segment (place of code)

Flags: NV, VP, EI, PL, NZ, NA, PO, NC


Langkah 1: melihat isi register untuk pertama kali
How?
-r
What you see?
AX, BX, CX, DX, ......
AX= Acummulator register (Arithmetic and logic)
DX = Data register (DH + DL)

Int 21: print character to screen
Int 20: terminate program

-h
contoh: 
-n name

Langkah 2: mengisi register AX dengan nilai 1234
How?
- r ax
:1234

Langkah 3: Melihat (dump) isi register DS (untuk pertama kali)
How?
-d ds:0000
ds:0000
0B3C:0000

What you see?
Isi dari memory dari 0B3C:0000 sampai 0B3C:0070 dan printable ASCII character-nya
. --> unprintable ASCII character

Langkah 4: Memasukkan(enter)/mengubah data di data segment
How?
-e ds:0000


Langkah 5: Melihat kembali hasil perubahan yang tlah dilakukan
How?
-d ds:0000

Langkah 6: Put some code to the machine
How?
-a cs
Watch IP address (next instruction to be fetched)
so
-a cs:100
mov [0], ax

Langkah 7: trace
-t
what?
IP pointer from 0100 to 0103 is change


Langkah 8: Periksa isi konten register ds
-d ds:0000

What you see?
isi dari register ds:0000 berubah menjadi Langkah 4

Langkah 9: Assemble another code
- a cs:0000
mov ax, [0]

Langkah 10: Ubah register IP (Instruction Pointer)
-r IP



1. Ketik a
2. Setelah tanda - muncul, ketik baris berikut ini satu baris per satu baris:
mov ax,B800
mov ds,ax
mov byte[0F9E],24
int 20
3. Ketik return/enter dua kali, untuk keluar dari editor
4. Ketik g untuk menjalankan program

Keterangan:

Wednesday 27 November 2013



Calling sub procedure and function procedures

Bagaimana cara memanggil suatu sub procedure dari sub procedure yang lain?

Untuk memanggil suatu Sub procedure dari Sub procedure yang lain, ketik nama dari procedure yang kamu inginkan untuk dipanggil dan ikut sertakan argument-argumen yang dibutuhkan Sub procedure yang akan dipanggil itu.
Panggil namanya, sertakan argumen-argumen yang dibutuhkannya
Kamu bisa menggunakan Sub procedure untuk mengatur prosedur-prosedur yang lain supaya mudah dimengerti dan di-debug

Contoh dibawah ini, sub procedure Main memanggil sub procedure Multibeep, serta menyertakan value 56 sebagai argumennya. Setelah sub procedure Multibeep berjalan sampai selesai, pengendalian dikembalikan ke sub procedure Main, dan yang dilakukan sub procedure Main selanjutnya adalah memanggil Sub procedure Message, sub procedure Message bertugas menampilkan sebuah kotak pesan; ketika user menekan OK, pengendalian dikembalikan ke Main, dan Main selesai.

Sub Main()
    Multibeep 56
    Message
End sub

Sub Multibeep(numbeeps)
    For counter = 1 to numbeeps
        Beep
    Next counter
End sub

Sub Message()
    Msgbox "Time to take a break!"
End sub



Memanggil sub precedure yang memiliki lebih dari satu argumen

Pada dasarnya untuk memanggil sub procedure terdapat dua cara:
1. Menggunakan keyword Call
2. Tidak menggunakan keyword Call

Dengan menggunakan keyword call butuh parentheses atau tanda kurung.
Tidak menggunakan keyword call, tidak membutuhkan parentheses atau tanda kurung.

Sementara, untuk memasukkan lebih dari satu argument tambahkan tanda koma (argumen1 koma argumen2).

Dibawah ini adalah contoh bagaimana sub procedure housecalc dipanggil dari dalam sub procedure main.

Statement housecalc 99800, 43100 menyertakan 2 buah argumen dan tidak menggunakan keyword Call.

Statement  Call housecalc(380950, 49500) menyertakan 2 buah argumen dan menggunakan keyword Call dan mengapit kedua argumen itu didalam tanda kurung.


Sub main()
    housecalc 99800, 43100
    Call housecalc(380950, 49500)
End Sub

Sub housecalc(price As Single, wage As Single)
    If 2.5 * wage <= 0.8 * price Then
        MsgBox "You cannot afford this house"
    Else
        MsgBox "This house is affordable."
    End If
End Sub

Memanggil Prosedur Function

Dari tadi kita hanya membahas cara memanggil sub procedure. Dengan menggunakan keyword Call atau dengan tidak menggunakan keyword Call.

Bagaimana dengan cara memanggil prosedur function?

Untuk memanggil function dan memanfaatkan hasil return nya, assign function itu sebuah variabel, bungkus argumennya dengan tanda kurung.
Contoh statement:
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
     

Untuk memanggil function dan tidak memanfaatkan hasil return nya, tidak perlu assign function itu ke sebuah variabel dan tidak perlu bungkus argumennya dengan tanda kurung.
Contoh statement:
MsgBox "Task Completed!", 0, "Task Box"



Melepas named argument

Komponen Named argument terdiri dari: {nama argumen, tanda ( =: )dan nilai yang diberi}

Urutan named-named argument bebas siapa yang duluan. Pada Contoh 1 dan 2 dibawah ini named argumen Title yang lebih dulu dari named argumen Prompt.

Contoh 1:
msgbox Title=:"Task Box", Prompt :="Task completed!"
Contoh 2:
answer3 = msgbox(title :="Question3", _
prompt:="Are you happy with your salary?", buttons:=4)

Msgbox arguments


Calling sub procedure and function procedures

Bagaimana cara memanggil suatu sub procedure dari sub procedure yang lain?

Untuk memanggil suatu Sub procedure dari Sub procedure yang lain, ketik nama dari procedure yang kamu inginkan untuk dipanggil dan ikut sertakan argument-argumen yang dibutuhkan Sub procedure yang akan dipanggil itu.
Panggil namanya, sertakan argumen-argumen yang dibutuhkannya
Kamu bisa menggunakan Sub procedure untuk mengatur prosedur-prosedur yang lain supaya mudah dimengerti dan di-debug

Contoh dibawah ini, sub procedure Main memanggil sub procedure Multibeep, serta menyertakan value 56 sebagai argumennya. Setelah sub procedure Multibeep berjalan sampai selesai, pengendalian dikembalikan ke sub procedure Main, dan yang dilakukan sub procedure Main selanjutnya adalah memanggil Sub procedure Message, sub procedure Message bertugas menampilkan sebuah kotak pesan; ketika user menekan OK, pengendalian dikembalikan ke Main, dan Main selesai.

Sub Main()
    Multibeep 56
    Message
End sub

Sub Multibeep(numbeeps)
    For counter = 1 to numbeeps
        Beep
    Next counter
End sub

Sub Message()
    Msgbox "Time to take a break!"
End sub



Memanggil sub precedure yang memiliki lebih dari satu argumen

Pada dasarnya untuk memanggil sub procedure terdapat dua cara:
1. Menggunakan keyword Call
2. Tidak menggunakan keyword Call

Dengan menggunakan keyword call butuh parentheses atau tanda kurung.
Tidak menggunakan keyword call, tidak membutuhkan parentheses atau tanda kurung.

Sementara, untuk memasukkan lebih dari satu argument tambahkan tanda koma (argumen1 koma argumen2).

Dibawah ini adalah contoh bagaimana sub procedure housecalc dipanggil dari dalam sub procedure main.

Statement housecalc 99800, 43100 menyertakan 2 buah argumen dan tidak menggunakan keyword Call.

Statement  Call housecalc(380950, 49500) menyertakan 2 buah argumen dan menggunakan keyword Call dan mengapit kedua argumen itu didalam tanda kurung.


Sub main()
    housecalc 99800, 43100
    Call housecalc(380950, 49500)
End Sub

Sub housecalc(price As Single, wage As Single)
    If 2.5 * wage <= 0.8 * price Then
        MsgBox "You cannot afford this house"
    Else
        MsgBox "This house is affordable."
    End If
End Sub

Memanggil Prosedur Function

Dari tadi kita hanya membahas cara memanggil sub procedure. Dengan menggunakan keyword Call atau dengan tidak menggunakan keyword Call.

Bagaimana dengan cara memanggil prosedur function?

Untuk memanggil function dan memanfaatkan hasil return nya, assign function itu sebuah variabel, bungkus argumennya dengan tanda kurung.
Contoh statement:
Answer3 = MsgBox("Are you happy with your salary?", 4, "Question 3")
     

Untuk memanggil function dan tidak memanfaatkan hasil return nya, tidak perlu assign function itu ke sebuah variabel dan tidak perlu bungkus argumennya dengan tanda kurung.
Contoh statement:
MsgBox "Task Completed!", 0, "Task Box"



Melepas named argument

Komponen Named argument terdiri dari: {nama argumen, tanda ( =: )dan nilai yang diberi}

Urutan named-named argument bebas siapa yang duluan. Pada Contoh 1 dan 2 dibawah ini named argumen Title yang lebih dulu dari named argumen Prompt.

Contoh 1:
msgbox Title=:"Task Box", Prompt :="Task completed!"
Contoh 2:
answer3 = msgbox(title :="Question3", _
prompt:="Are you happy with your salary?", buttons:=4)

Msgbox arguments

Tuesday 26 November 2013

COMPARE: REBOL, C, JAVASCRIPT, PYTHON, VBA

NOTES about below scripts:
1. Python's should be written in its CLI
2. REBOL's should be written in its CLI
3. JAVASCRIPT should be written in a windows 7 notepad, inside <script> and </script> tags
4. VBA should be written on Visual Basic Editor on Microsoft Excel
5. C should be written on .....

VARIABLE DECLARATION
On REBOL:
No need

On Python:
No need

On C:

On Javascript:


Conditional statement(IF)
: Make decision
General task:
- define the condition to be evaluated
- define one or more statements to run

Looping Statment / Control structures
: Repeat actions (for how long, until what)
 
FOR
On REBOL



On VBA
For  i = 0 to 10
    

USER DEFINED FUNCTION

 Via REBOL

>> cetak: func [kata][print kata]
>> cetak ("yoss....")
yoss...

*** Rebol tidak perlu mendefinisikan var printer atau kata terlebih dahulu***
***use func keyword***

Via Javascript

var printer: function(kata){
alert kata
}

Via PYTHON


>>> def cetak(kata):
    print kata
    return
>>> cetak('yuyu hakuso')
yuyu hakuso
>>> cetak('aloha')
aloha

*** Sama seperti REBOL, Python tidak perlu mendefinisikan variabel printer atau variabel kata terlebih dahulu***

Via VBA (Microsoft Excel)

Writing editor on  Visual Basic Editor (tekan ALT+F11):
1. Insert new module
2. Insert below code
Function cetak()
    cetak = "Aloha"
End Function


Monday 25 November 2013

Tombol HTML trus dikasih script

Cara membuat tombol html dan kasih script

<html>
<head>
</head>
<body>
<button onclick=greeting()>tombol</button>
<script>

var greeting = function () {
alert ('hello world!')
}

</script>
</body>

apa itu alert? cuma nampilan pop-up browser dengan tulisan hello world!
apa itu var greeting = function() ?


My work: Javascript trial and error

Watch how the code grows.
All codes are executable (error free)


<html>
<head> <title> Hello </title> </head>
<body>
<script>

var name = ['Totardo', 'Andriani', 'Jonathan']

var greeting = function (person)
{
return 'Halo untuk kamu dari ' + person
}

alert (greeting(name[0]))

</script>
</body>

</html>



<html>
<head> <title> Hello </title> </head>
<body>
<script>

var name = ['Totardo', 'Andriani', 'Jonathan']

var greeting = function (person)
{
return 'Halo untuk kamu dari ' + person
}

for (var i = 0; i < name.length; i ++)
{
alert (greeting(name[i]))
}

</script>
</body>

</html>

Notice that:  alert (greeting(name[0])) changed to alert (greeting(name[i]))


Welcome network security guy

Your tools is : extended access-list
Your job is:
- watch newly born network application
- block bad guy

My notes: Javascript

Source referensi: http://www.htmldog.com/guides/javascript/

Kemampuan javascript:
1.  Making stuff hapen => cara menggunakan javascript dan konsol
2. Variable dan data => gimana cara membuat variabel dan bagaimana menggunakannya
3. Doing math => menggunakan variabel untuk menyimpan dan menggunakan angka-angka
4. Logic => bener atau salah
5. Conditional =>
6. Looping =>
7. Functions =>
8. Objects => Properti, method. Menginspeksi obyek-obyek.
9. Array => Mengambil elemen, meletakkan elemen itu kembali. Berapa panjang sebuah potongan string?


 2. Variabel and data (declaring, initialization and assignment)
var surname; (declaring only)
surname = "perjuangan9"; (initialization (giving variable first value))
var apples = 5, pears = 1 (declaring ,init, and assignment)
surname = "perjuangan9"
var jumlahBuah = apples + pears

3. Doing math
Math operator: x, /, +, -

4. Logic
Logic operator:

=== Equality
!== not Equal
> Greater than
< Less than
>=  Combined operations
<= Combined operations

Contoh:
123 === 123
True

123 < 231
True

5. Conditional
5.1 If
if (1 > 2) {alert ('Hello!!!!')}
Hello!!!!

5.2 if-else
if (1 < 2) {alert ('Hello!!!!')}
else {alert ('Boo....')}
 Boo....

6. Looping
6.1 While
var i = 0
while (i <9) { alert (i); i = i + 1; }

Usage: while (final expression) {execution}

6.2 For
for (i = 0; i = 9; i = i + 1;) {alert (i);} 

Usage: for (initialization; condition; final expression) {execution}

7. Function
keyword: function and return

var tambah = function (a, b){
return a + b;
};
alert(tambah(1,2))



8. Objects
Please introduce jedi:

Jedi's name = yoda
jedi's age = 899
jedi's talk = alert ("another sky walk...")

var jedi = { name: 'yoda, age: 899, talk: alert ("another sky walk....")}

8.1 Nested objects


9. Array
Array adalah kumpulan data









Wednesday 20 November 2013

My note: HTML Basic Tag

Materi:
  1. HTML Link
  2. HTML Table
  3. HTML List
  4. HTML Form
HTML Link Apa itu HTML Link? Menandai (mark-up) teks sebagai hyperlink. Kamu klik teks tersebut, kamu terbawa ke halaman situs yang lain. Bagimana menggunakan HTML Link Pada teks yang kamu inginkan ketik:
HTML Table Apa itu HTML table?
HTML List Apa itu HTML list?

Sunday 17 November 2013

My notes: REBOL language programming

Situs youtube:
http://musiclessonz.com/rebol_video_links.html

Rebol 3:
http://www.rebol.com/r3/docs/

Kemampuan Rebol
Rebol mampu untuk:
1. GUI
2. Baca dan tulis file
3. Bekerja dengan database
4. Memproses text
5. Transfer data accross network


Komponen Rebol:
1. Block
Singkatnya: Placeholder multi-value
Contoh-contoh blok:
1. x: [1 2 3] ; x adalah block
2. belanja: ["gula" "kopi" "susu"] ; belanja adalah block
3. prosedur1: [alert "Hello" request-text/title: "Siapa namamu?"]

1 adalah blok berisi angka sebagai datanya, 2 adalah blok berisi string sebagai datanya, 3 adalah blok yang berisi instruksi dalam perkenalan: mengucapkan salam (halo) dan bertanya siapa namamu.

Perbandingan: di PYTHON block disebut LIST. Block tidak bisa diisi instruksi. Berikut contohnya:

>>> a = [print "halo", print "siapa namamu?"]
SyntaxError: invalid syntax


Sekarang kamu sudah mengerti cara membuat block dalam REBOL. Selanjutnya, fungsi apa saja yang bisa diberlakukan pada block:

1. Fungsi sortir (sort x)
Fungsi sortir mengurutkan elemen-elemen dari blok berdasarkan alfabet huruf pertama.
Contoh: a = sort x
Setara python: x.sort

2. Fungsi Sequence
Kalimat kunci yang bisa kamu pakai: "item yang mana sequence berapa"
Contoh fungsi sequence dengan keyword first, second and third:
>> print first x
1
>> print second x
2
>> print third x
3

Contoh fungsi sequence dengan slash:
>> belanja/1
== "gula"
>> belanja/2
== "kopi"
>> belanja/3
== "susu"

3. Fungsi Find
Rebol mengembalikan (Return) item yg kamu cari dan semua item-item lainnya setelah/dibelakang item yang kamu cari itu.  Jadi Rebol tidak hanya mengembalikan item yang kamu cari tetapi juga item-item dibelakangnya. Memang REBOL alaminya seperti ini jadi jangan bingung.

Contoh:
>> belanja: ["gula" "kopi" "susu"]
>> find belanja "gula"
== ["gula" "kopi" "susu"] ; Rebol return bukan hanya "gula" tetapi juga "kopi" dan "susu".
>> find belanja "kopi"
== ["kopi" "susu"]
>> find belanja "susu"
== ["susu"]

 4. Fungsi Write
Kita akan menyalin isi dari blok ke dalam file text dan meletakkannya di dalam drive komputer.
Contoh:
>> belanja: ["kopi" "gula" "susu"]
>> write %/c/belanja.txt belanja
Sekarang, buka drive C kamu dan lihat file belanja.txt sudah ada disana. Isi blok belanja telah tersalin ke dalam file belanja.txt itu dengan tidak ada spasi dan tidak tanda kutip.

Dari keterangan diatas, kamu selanjutnya tahu bagaimana menyikapi hasil dari save-an syntax write diatas. Bagaimana jika kamu ingin menyimpan berspasi atau berkoma (seperti file CSV (comma seperated)?

5. Fungsi length
Menghitung jumlah item/elemen yang ada didalam suatu block.
Contoh:
>> belanja: ["gula" "kopi" "susu"]
== ["gula" "kopi" "susu"]
>> length? belanja
== 3

Contoh didalam PYTHON:
 >>> belanja = ['gula', 'kopi', 'susu']
>>> len(belanja)
3

2. Fungsi-fungsi
1. Do dan does
2. Func
3. Alert
4. join = concatenate strings
example:



3.  Conditional
3.1 If
If bisa digunakan untuk pemetaan 2 atau lebih variabel.

Misalnya kamu mempunyai usaha katring, kamu membutuhkan jadwal, hari dan jenis makanan. Jadwal terdiri dari perkawinan hari-hari yang ada dalam satu minggu dengan jenis makanan yang kamu mampu buat.

variabel hari memiliki nilai-nilai:
hari = {senin, selasa, rabu. kamis, jumat, sabtu, minggu}
jenis makanan = {nasi goreng, nasi kuning, nasi pecal, nasi rawon, nasi merah, nasi soto, nasi rames}

Jenis makanan (nasi goreng, ..., nasi rames) terpilih berdasarkan kondisi hari (senin, selasa, ..., minggu).

Jika hari senin, jenis masakan nasi goreng.
Jika hari selasa, jenis masakan nasi kuning.
Jika hari rabu, jenis masakan nasi pecal
Jika hari kamis, jenis masakan nasi liwet
Jika hari jumat, jenis masakan nasi rawon
Jika hari sabtu, jenis masakan nasi soto
Jika hari minggu, jenis masakan nasi rames.

Berikut salah satu contoh conditional-nya:
if [hari == senin] [print nasi goreng]
if [hari == selasa] [print nasi kuning]
if [hari == rabu] [print nasi pecal]
if [hari == kamis] [print nasi liwet]
if [hari == jumat] [print nasi rawon]
if [hari == sabtu] [print nasi soto]
if [hari == minggu][print nasi rames]

atau dengan tabel berikut hasil pemetaan antara hari dan jenis makanan:

Hari Jenis makanan
Senin nasi goreng
Selasa nasi kuning
Rabu nasi pecal
Kamis nasi liwet
Jumat nasi rawon
Sabtu nasi soto
Minggu nasi rames

3.2 Either
Either hanya digunakan untuk pemetaan variabel-variabel yang maksimum memiliki 2 buah nilai.

Variabel sendiri bisa diartikan sesuatu yang mempunyai lebih dari satu nilai.
 
Jadi kita cari contoh kasus dengan 2 variasi output. Sekeping mata uang logam memiliki 2 buah variasi, depan dan belakang.
Jika sisi mata uang yang keluar depan, tim yang kick-off duluan adalah Indonesia.
Jika sisi mata uang yang keluar belakang, tim yang kick-off duluan adalah Brazil.

Berikut pentabelan kondisi-kondisi diatas:
Sisi Mata Uang Tim yang kick-off
Depan Indonesia
Belakang Brazil

Berikut source code kondisi diatas menggunakan either:

rebol[ ]

sisi: request-text/title "tentukan sisi mata uang: "
either sisi == "depan"
[print "Tim yang kick off duluan adalah Indonesia" halt]
[print "Tim yang kick off duluan adalah Brazil" halt]


Berikut source code kondisi diatas munggunakan if:

rebol[]

sisi: request-text/title "tentukan sisi mata uang: "
if sisi = "depan" [print "Tim yang kick-off duluan adalah Indonesia" halt]
if sisi = "belakang" [print "Tim yang kick-off duluan adalah Brazil" halt]

Jika menggunakan either, kita menghemat beberapa baris instruksi program.

3.3 Switch
Berikut contoh kondisi contoh katring menggunakan conditional switch:

rebol [ ]

hari: request-text/title "Hari apa sekarang?"

switch/default hari [
"senin" [alert "Nasi Goreng"]
"selasa" [alert "Nasi Kuning"]
"rabu" [alert "Nasi Pecal"]
"kamis" [alert "Nasi Liwet"]
"jumat" [alert "Nasi Rawon"]
"sabtu" [alert "Nasi Soto"]
"minggu" [alert "Nasi Ramas"]
] [alert "nama hari yang kamu masukkan salah"]


Contoh kasus sepakbola dengan menggunakan switch:

Rebol [ ]

sisi: request-text

switch/default sisi [
"depan" [alert "Indonesia first kick-off"]
"belakang" [alert "Brazil first kick-off"]]
[alert "anda salah masukkan sisi"]


Python tidak mempunyai switch statement.

3.4 Case
Contoh kasus katring dengan menggunakan switch:

rebol [ ]

hari: request-text/title "Hari apa sekarang?"

case [
hari == "senin" [alert "Nasi Goreng"]
hari == "selasa" [alert "Nasi Kuning"]
hari == "rabu" [alert "Nasi Pecal"]
hari == "kamis" [alert "Nasi Liwet"]
hari == "jumat" [alert "Nasi Rawon"]
hari == "sabtu" [alert "Nasi Soto"]
hari == "minggu" [alert "Nasi Ramas"]
]

Contoh kasus sepakbola dengan menggunakan case:

rebol[]

sisi: request-text

case [
sisi == "depan" [alert "Indonesia first kick-off"]
sisi == "belakang" [alert "Brazil first kick-off"]
]

Python juga tidak mendukung case statement.

4. Converter/Parser
4.1 to-file


4.2 to-email


4.3 to-time

4.4 to-integer
USAGE:
    TO-INTEGER value
ARGUMENTS:
     value -- (Type: any)

5. Requester
Rebol menyediakan built-in GUI dialog dibawah ini untuk mempermudah pemasukan data pada saat program mu dijalankan.

Built-in dialog ini muncul pop-up di komputer kamu ketika kamu menjalankan program yang kamu buat.

Berikut pilihan-pilihan dialog yang telah tersedia pada REBOL:
5.1 request-dir 
Rebol meminta masukan alamat direktori.





5.2 request-download 

Rebol meminta masukan alamat situs yang hendak di-download

5.3 request-color 
Rebol meminta masukan warna
Data yang dimasukkan disimpan sebagai Tuple!


5.4 request-pass
Rebol meminta masukan kata kunci (password).

5.5 request-text 
Rebol meminta masukan text.
Data yang dimasukan disimpan sebagai data bertipe string (string!).

Text yang dimasukkan bisa dikonversikan ke tipe lain menggunakan perintah, seperti: to-file, to-email, to-time.


Refinement request-text yang sering digunakan:
1. /title
2. /

5.6 request-list 
Rebol meminta masukan daftar.


5.7 request-date
 Rebol meminta masukan tanggal.

5.8 request-file
Rebol meminta nama file yang akan diolah.

5.9 request-download
5.10 request-list


6. Loops
6.1 For
>> for angka 1 10 1 [print angka]
1
2
3
4
5
6
7
8
9
10

6.2 Forever
Mengevaluasi suatu blok terus menerus (endlessly).
General syntax: forever body
Contoh:

Excel Programming Concept

http://msdn.microsoft.com/en-us/library/office/bb687921.aspx

Saturday 16 November 2013

My work: Membuat program sederhana konversi bilangan ke kalimat

Cara mengerjakan manual:



Source code (Python 2.7):

u = input ('Masukkan angka (Contoh: 132) : ')
a = u / 100
b = u - 100 * a
c = b / 10
d = b - c * 10

x = ['seratus','dua ratus', 'tiga ratus', 'empat ratus', 'lima ratus', 'enam ratus', 'tujuh ratus', 'delapan ratus', 'sembilan ratus']
y = ['sepuluh', 'dua puluh', 'tiga puluh', 'empat puluh', 'lima puluh', 'enam puluh', 'tujuh puluh', 'delapan puluh', 'sembilan puluh']
z = ['satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan','sembilan']

p = x[a-1]
q = y[c-1]
r = z[d-1]

print p + " " + q + " " + r




Rev.1 :
u = input ('Masukkan angka (Contoh: 104) : ')
a = u / 100
# misal u = 104
# a = 104 / 100
# a = 1

b = u - 100 * a
# b = 4

c = b / 10
# c = 4 / 10
# c = 0

d = b - c * 10
# d = 4 - 0 * 10

e = a
f = c
g = d

x = ['seratus','dua ratus', 'tiga ratus', 'empat ratus', 'lima ratus', 'enam ratus', 'tujuh ratus', 'delapan ratus', 'sembilan ratus']
y = ['sepuluh', 'dua puluh', 'tiga puluh', 'empat puluh', 'lima puluh', 'enam puluh', 'tujuh puluh', 'delapan puluh', 'sembilan puluh']
z = ['satu', 'dua', 'tiga', 'empat', 'lima', 'enam', 'tujuh', 'delapan','sembilan']

p = x[e-1]
q = y[f-1]
r = z[g-1]

if e == 0:
    if f == 0:
        if g == 0:
            r = 'nol'
            print r
        if g != 0:
            print r
    if f != 0:
        if g == 0 :
            print q
        if g !=0 :
            print q, r
if e != 0:
    if f == 0 :
        if g == 0 :
            print p
        if g !=0:
            print p, r

    if f != 0:
        if g == 0:
            print p, q
        if g != 0:
            print p, q, r
         


Thursday 14 November 2013

Jenis-jenis perangkat lunak (software)

Jenis-jenis perangkat lunak (software) antara lain:
1. Sistem software

Sistem software mempunyai/memiliki kontrol dan akses langsung ke perangkat keras (hardware) komputer dan lokasi-lokasi memori.

Teruntuk memori, sistem software mampu melakukan proses masuk keluar data (input output) I/O ke bermacam lokasi memori.

Contoh:

2. Application software (perangkat lunak aplikasi)

Tidak memiliki akses langsung ke perangkat keras (hardware).
Dijembatani oleh sistem software untuk pengambilan data dari hardware.
Perangkat lunak aplikasi biasanya melaksanakan fungsi/tugas spesifik/tertentu. Contoh: pengolah kata, pengolah gambar.

Contoh:

3. Programming software
Merupakan perangkat lunak untuk melakukan pemrograman kedua jenis software diatas: aplication software dan sistem software.

Contoh:

Sumber referensi: http://en.wikipedia.org/wiki/List_of_software_categories

My work: Membuat pendaftaran IP address per segmen menggunakan Python

Demo program:


Cara mengerjakan manual:



Source code (Python 2.7):

x = raw_input ('Masukkan nomor IP (Cth. 192.168.1.1) :')
y = raw_input ('Masukkan subnet mask (Cth. 255.255.255.192) :')

a = x.split('.')
b = y.split('.')

c = []
d = []

# c = IP address (x) ter-list
for i in a:
    c.append(int(i))

# d adalah subnetmask (y) ter-list
for i in b:
    d.append(int(i))

# e adalah hasil proses AND antara IP address ter-list dan subnetmask ter-list
# e akan digunakan untuk "membersihkan" IP address
e = []
for i in range (0,4):
    e.append(c[i]&d[i])

# g adalah hasil pengurangan antara subnetmask all 1 dan subnetmask ter-list
# g digunakan untuk increment IP address
f = [255, 255, 255, 255]
g = []
for i in range (0,4):
    g.append(f[i]-d[i])

# h adalah hasil pengurangan antara
h = []
for i in range (0,4):
    h.append(abs(e[i]-g[i]))

for i in range (e[0],h[0]+1):
    for j in range (e[1],h[1]+1):
        for k in range (e[2],h[2]+1):
            for l in range (e[3],h[3]+1):
                print str(i) +"."+str(j)+"."+str(k)+"."+str(l)

Tuesday 17 September 2013

Pemilihan tata kalimat yang tepat

Kalimat 1: Bunga menambahkan sesuatu kepada kita berdasarkan besar uang kita

Kalimat 2: Bunga menambahkan sesuatu ke tabungan kita berdasarkan jumlah uang di tabungan kita

Kalimat 3: Bunga menambahkan uang kepada tabungan kita berdasarkan besar uang kita

Kalimat 4: Sesuatu yang ditambahkan kepada uang milik kita berdasarkan

Kalimat 5: Bunga adalah sesuatu yang ditambahkan kepada uang di tabungan kita berdasarkan besar uang kita.

Kalimat 6: Bunga adalah pertambahan uang sebagai jasa bank bagi tabungan

Berkreasi persamaan sederhana matematika

Pendahuluan
Berikut ini adalah salah satu cara iseng membuat/berkreasi persamaan matematika dari yang sederhana sampai yang ribet.

Sepanjang artikel ini nama-nama variabel yang digunakan adalah a dan b.

Untuk membenarkan semua persamaan dibawah ini, nilai variabel a harus sama dengan nilai b (a = b). Karena seluruh persamaan ini dikreasikan dari a = b.

Daftar hasil kreasi persamaan
1. a = b
a x a = b x a ... isi dari lajur kiri (a) diambil kemudian dikalikan kepada kedua lajur (lajur kiri dan kanan)
a ^ 2 = b x a ... sebagai bibit bagi persamaan 9

2. a = b
a x b = b x b ... isi dari lajur kanan (b) diambil kemudian dikalikan kepada kedua lajur (lajur kiri dan kanan)
a x b = b ^2 ... sebagai bibit bagi persamaan 10

3. a = b
a/ a = b/a ... isi dari lajur kiri(a) diambil kemudian dibagikan kepada kedua lajur (lajur kiri dan kanan)
1 = b/a

4. a = b
a / b = b / b ... isi dari lajur kanan (b) diambil kemudian dibagikan kepada kedua lajur (lajur kiri dan kanan)
a / b = 1

5. a = b
a - a = b - a ... isi dari lajur kiri (a) diambil u/ dikurangkan kepada kedua lajur (lajur kiri dan kanan)
0 = b - a

6. a = b
a - b = b - b ... isi dari lajur kanan (b) diambil kemudian dikurangkan kepada kedua lajur (lajur kiri dan kanan)
a - b = 0

7. a = b
a + a = b + a ... isi dari lajur kiri (a) diambil kemudian ditambahkan kepada kedua lajur (lajur kiri dan kanan)
2a = b + a

8. a = b
a + b = b + b ... isi dari lajur kanan (b) diambil kemudian ditambahkan kepada kedua lajur (lajur kiri dan kanan)
a + b = 2b

9. a ^ 2 = b x a ... bibit dari persamaan 1
(a^2) x (b x a) = (b x a) x (b x a)
a^2b x a^3 = b^2 x ab x ab x a^2 = b^2 x ab^2 x a^2 ... Persamaannya udah mulai ribet ea?

10. a x b = b ^2 ... bibit dari persamaan 2 dan saya sudah malas nerusinnya

11 - 100000... = lanjutkan lah ya

Behind the scene
Tanya: Darimanakah didapatkan persamaan 1 - 9 diatas?
Jawab: Persamaan 1 - 9 diatas dibuat dengan secara iseng mengalikan isi dari lajur kiri/kanan ke semua lajur, membagikan isi dari lajur kiri/kanan kepada semua lajur, mengurangkan dan menambahkan.




Thursday 29 August 2013

Pengertian relativitas menurut gw

Cerita#1

Pada mulanya a sama dengan b (a = b). Kemudian a tidak lagi sama dengan b (a != b). 
Karena a lebih giat bekerja dari b.  Sekarang a lebih kaya dari b (a > b) dan b lebih miskin dari a (a < b). (Bercerita tentang a>b)

Arti kalimat diatas bisa diartikan:
"Mereka tidak lagi sama karna orang yang satu satu sudah lebih kaya dari orang yang satunya lagi"

Cerita #2
Dulu a dan b sama kayanya. Namun sekarang, a bertambah kaya dan b segitu saja. Dengan demikian b kelihatan lebih miskin dari a walaupun sebenarnya tidak demikian; b tidak lah miskin, dia masih lebih kaya dari c. (Bercerita tentang a > b > c)

Jadi perkenalkanlah 3 orang aktor: a, b dan c dan berikutlah problematikanya:

 (i) a > b > c
(ii) a > b < c
(iii) a < b > c
(iv) a < b < c

List problem dalam kata-kata

a lebih kaya dari b dan b lebih kaya dari c, apakah a lebih kaya dari c? Tentu.
a lebih kaya dari b dan b lebih miskin dari c, apakah a lebih kaya dari c?
a lebih miskin dari b dan b lebih kaya dari c, apakah a lebih kaya dari c?
a lebih miskin dari b dan b lebih miskin dari c, apakah a lebih misikin dari c? Tentu

Petuah iseng-iseng berhadiah dari saya:
Jadi jika kamu merasa sekarang lebih miskin dari orang yang kamu pandang sekarang lebih kaya cobalah lihat kebawah, siapa tahu bukan kamu yang bertambah miskin tapi orang lain itu yang bertambah kaya. Dan kamu, ternyata masih lebih kaya dari orang lain. Dan janganlah kamu iri hati.



Thursday 15 August 2013

Router

Dear router function:
1. Routing
2. Built-in firewall
3. Intrusion detection
4. Encryption
5. Authentication
6. VPN

Monday 12 August 2013

Cara menentukan alamat IP terakhir

Cukup sulit menjelaskan mater ini, terutama kemampuan saya juga masih kurang :)

Bahan-bahan yang diperlukan untuk menentukan alamat IP terakhir:
1. Oktet Interesting octet itu oktet keberapa?
2. Subnet long-up nya berapa

Pertanyaan pembuka:
Bagaimana 

Apakah interesting octet itu? 
Interesting octet adalah oktet dimana bit subnet mask diambil atau dipancangkan (ibaratkan lidi atau pagar kayu dipancangkan).
Contoh: 255.248.0.0
Interesting octet = oktet ke dua

Contoh : 255.255.248.0
Interesting octet = octet ketiga

Contoh : 255.255.255.248
Interesting octet = octet keempat

Apakah subnet long-up itu?
Subnet long-up adalah subnet mask pada oktet bit terakhir yang di konversikan ke biner.
Menentukan subnet long-up ada 2 cara:

Cara 1: Oktet terakhir dari subnet mask di konversi kan ke desimal
Contoh: 255.248.0.0
248 = 1 1 1 1 1 0 0 0 = 128 + 64 + 32 + 16 + 8 + 0 + 0 + 0 + 0
Subnet long-up = 8

Contoh : 255.255.248.0
248 = 1 1 1 1 1 0 0 0 = 128 + 64 + 32 + 16 + 8 + 0 + 0 + 0 + 0
Subnet long-up = 8

Contoh : 255.255.255.248
248 = 1 1 1 1 1 0 0 0 = 128 + 64 + 32 + 16 + 8 + 0 + 0 + 0 + 0
Subnet long-up nya tetap = 8

Cara 2: Nilai Last octet dikurang 256
Contoh:
Diberikan subnet mask: 255.248.0.0
Nilai last octet = 248
256 - 248 = 8
Subnet long-up = 8

Contoh:
Diberikan subnet mask:
255.255.248.0
Nilai last octet = 248
256 - 248 = 8
Subnet long-up = 8

Contoh :
Diberikan subnet mask: 255.255.255.248
Nilai last octet = 248
256 - 248 = 8
Subnet long-up = 8


Untuk daftar subnet long-up bisa dilihat di tabel bawah ini: